{"version":3,"sources":["webpack:///./node_modules/@emotion/sheet/dist/emotion-sheet.browser.esm.js","webpack:///./node_modules/stylis/dist/stylis.mjs","webpack:///./node_modules/@emotion/cache/dist/emotion-cache.browser.esm.js","webpack:///./node_modules/use-sidecar/dist/es2015/medium.js","webpack:///./node_modules/react-remove-scroll-bar/dist/es2015/constants.js","webpack:///./node_modules/gatsby-link/index.js","webpack:///./node_modules/core-js/internals/to-indexed-object.js","webpack:///./node_modules/core-js/internals/use-symbol-as-uid.js","webpack:///./node_modules/gatsby-react-router-scroll/session-storage.js","webpack:///./node_modules/@paypalcorp/pp-react-menu/dist/@paypalcorp/pp-react-menu.esm.js","webpack:///./node_modules/core-js/internals/hidden-keys.js","webpack:///./node_modules/core-js/internals/fails.js","webpack:///./node_modules/core-js/internals/get-built-in.js","webpack:///./node_modules/aria-hidden/dist/es2015/index.js","webpack:///./node_modules/core-js/internals/object-property-is-enumerable.js","webpack:///./node_modules/@babel/runtime/helpers/interopRequireWildcard.js","webpack:///./node_modules/core-js/internals/is-symbol.js","webpack:///./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","webpack:///./node_modules/core-js/internals/global.js","webpack:///./.cache/normalize-page-path.js","webpack:///./.cache/find-path.js","webpack:///./node_modules/core-js/internals/get-method.js","webpack:///./node_modules/gatsby-react-router-scroll/use-scroll-restoration.js","webpack:///./node_modules/core-js/internals/function-uncurry-this.js","webpack:///./node_modules/react-focus-lock/dist/es2015/Lock.js","webpack:///./.cache/emitter.js","webpack:///./node_modules/mitt/dist/mitt.es.js","webpack:///./node_modules/core-js/internals/copy-constructor-properties.js","webpack:///./node_modules/@paypalcorp/pp-react-animator/dist/@paypalcorp/pp-react-animator.esm.js","webpack:///./node_modules/gatsby-react-router-scroll/index.js","webpack:///./node_modules/@mdx-js/react/dist/esm.js","webpack:///./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","webpack:///./node_modules/@babel/runtime/helpers/esm/createClass.js","webpack:///./node_modules/@paypalcorp/pp-react-utils/dist/@paypalcorp/pp-react-utils.esm.js","webpack:///./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack:///./node_modules/core-js/internals/shared-key.js","webpack:///./.cache/react-lifecycles-compat.js","webpack:///./node_modules/@reach/router/es/lib/history.js","webpack:///./node_modules/core-js/internals/classof.js","webpack:///./node_modules/core-js/internals/to-string-tag-support.js","webpack:///./node_modules/@emotion/react/dist/emotion-react.browser.esm.js","webpack:///./node_modules/core-js/internals/length-of-array-like.js","webpack:///./node_modules/gatsby-plugin-catch-links/gatsby-browser.js","webpack:///./node_modules/core-js/internals/symbol-constructor-detection.js","webpack:///./node_modules/gatsby-plugin-mdx/context.js","webpack:///./node_modules/@paypalcorp/pp-react-text/dist/@paypalcorp/pp-react-text.esm.js","webpack:///./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack:///./node_modules/use-callback-ref/dist/es2015/useMergeRef.js","webpack:///./node_modules/use-callback-ref/dist/es2015/useRef.js","webpack:///./node_modules/use-callback-ref/dist/es2015/assignRef.js","webpack:///./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack:///./node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.production.min.js","webpack:///./node_modules/@emotion/react/dist/emotion-element-c39617d8.browser.esm.js","webpack:///./node_modules/react-remove-scroll/dist/es2015/medium.js","webpack:///./node_modules/core-js/internals/get-substitution.js","webpack:///./node_modules/core-js/internals/ie8-dom-define.js","webpack:///./node_modules/core-js/internals/try-to-string.js","webpack:///./node_modules/get-nonce/dist/es2015/index.js","webpack:///./node_modules/react-style-singleton/dist/es2015/singleton.js","webpack:///./node_modules/react-style-singleton/dist/es2015/component.js","webpack:///./node_modules/react-style-singleton/dist/es2015/hook.js","webpack:///./node_modules/core-js/internals/make-built-in.js","webpack:///./node_modules/react-ga/dist/esm/utils/console/warn.js","webpack:///./node_modules/react-ga/dist/esm/components/OutboundLink.js","webpack:///./node_modules/react-ga/dist/esm/utils/redactEmail.js","webpack:///./node_modules/react-ga/dist/esm/utils/mightBeEmail.js","webpack:///./node_modules/react-ga/dist/esm/utils/trim.js","webpack:///./node_modules/react-ga/dist/esm/utils/toTitleCase.js","webpack:///./node_modules/react-ga/dist/esm/utils/loadGA.js","webpack:///./node_modules/react-ga/dist/esm/utils/console/log.js","webpack:///./node_modules/react-ga/dist/esm/utils/testModeAPI.js","webpack:///./node_modules/react-ga/dist/esm/core.js","webpack:///./node_modules/react-ga/dist/esm/utils/format.js","webpack:///./node_modules/react-ga/dist/esm/utils/removeLeadingSlash.js","webpack:///./node_modules/react-ga/dist/esm/index.js","webpack:///./src/components/layout/CookieBanner/index.js","webpack:///./src/providerConfig.ts","webpack:///./src/provider.tsx","webpack:///./src/templates/useApi.js","webpack:///./src/react-utils/miscellaneous/index.ts","webpack:///./node_modules/gatsby-react-router-scroll/scroll-handler.js","webpack:///./src/react-utils/dom/index.ts","webpack:///./node_modules/@emotion/unitless/dist/emotion-unitless.esm.js","webpack:///./node_modules/@emotion/serialize/dist/emotion-serialize.browser.esm.js","webpack:///./node_modules/@emotion/hash/dist/emotion-hash.esm.js","webpack:///./node_modules/@paypalcorp/pp-react-loading-spinner/dist/@paypalcorp/pp-react-loading-spinner.esm.js","webpack:///./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","webpack:///./node_modules/core-js/internals/is-callable.js","webpack:///./node_modules/react-focus-lock/dist/es2015/UI.js","webpack:///./gatsby-browser.js","webpack:///./node_modules/core-js/internals/has-own-property.js","webpack:///./node_modules/core-js/internals/require-object-coercible.js","webpack:///./node_modules/core-js/internals/export.js","webpack:///./node_modules/core-js/internals/to-absolute-index.js","webpack:///./.cache/page-renderer.js","webpack:///./node_modules/core-js/internals/object-get-own-property-names.js","webpack:///./.cache/caches/gatsby-plugin-mdx/mdx-scopes-dir/e92f8988d65cf25c087d226e6c0ef06f.js","webpack:///./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack:///./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack:///./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack:///./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack:///./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack:///./node_modules/core-js/internals/engine-v8-version.js","webpack:///./node_modules/@reach/router/es/lib/utils.js","webpack:///./.cache/api-runner-browser-plugins.js","webpack:///./node_modules/@mikaelkristiansson/domready/ready.js","webpack:///./node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteralLoose.js","webpack:///./node_modules/core-js/internals/engine-user-agent.js","webpack:///./.cache/register-service-worker.js","webpack:///./.cache/_this_is_virtual_fs_path_/$virtual/async-requires.js","webpack:///./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack:///./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack:///./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack:///./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack:///./node_modules/core-js/internals/object-is-prototype-of.js","webpack:///./node_modules/@emotion/weak-memoize/dist/emotion-weak-memoize.esm.js","webpack:///./node_modules/@babel/runtime/helpers/assertThisInitialized.js","webpack:///./src/utils/scriptLoader.js","webpack:///./node_modules/invariant/browser.js","webpack:///./node_modules/core-js/internals/function-bind-native.js","webpack:///./node_modules/core-js/internals/indexed-object.js","webpack:///./node_modules/core-js/internals/is-regexp.js","webpack:///./node_modules/gatsby-plugin-catch-links/node_modules/escape-string-regexp/index.js","webpack:///./node_modules/core-js/internals/ordinary-to-primitive.js","webpack:///./node_modules/react-clientside-effect/lib/index.es.js","webpack:///./node_modules/focus-lock/dist/es2015/utils/array.js","webpack:///./node_modules/focus-lock/dist/es2015/utils/is.js","webpack:///./node_modules/focus-lock/dist/es2015/utils/tabOrder.js","webpack:///./node_modules/focus-lock/dist/es2015/utils/tabUtils.js","webpack:///./node_modules/focus-lock/dist/es2015/utils/tabbables.js","webpack:///./node_modules/focus-lock/dist/es2015/utils/DOMutils.js","webpack:///./node_modules/focus-lock/dist/es2015/utils/getActiveElement.js","webpack:///./node_modules/focus-lock/dist/es2015/utils/safe.js","webpack:///./node_modules/focus-lock/dist/es2015/utils/all-affected.js","webpack:///./node_modules/focus-lock/dist/es2015/focusInside.js","webpack:///./node_modules/focus-lock/dist/es2015/utils/correctFocus.js","webpack:///./node_modules/focus-lock/dist/es2015/utils/firstFocus.js","webpack:///./node_modules/focus-lock/dist/es2015/solver.js","webpack:///./node_modules/focus-lock/dist/es2015/utils/auto-focus.js","webpack:///./node_modules/focus-lock/dist/es2015/utils/parenting.js","webpack:///./node_modules/focus-lock/dist/es2015/focusMerge.js","webpack:///./node_modules/focus-lock/dist/es2015/setFocus.js","webpack:///./node_modules/focus-lock/dist/es2015/index.js","webpack:///./node_modules/focus-lock/dist/es2015/focusables.js","webpack:///./node_modules/react-focus-lock/dist/es2015/Trap.js","webpack:///./node_modules/focus-lock/dist/es2015/focusIsHidden.js","webpack:///./node_modules/@babel/runtime/helpers/setPrototypeOf.js","webpack:///./node_modules/core-js/internals/array-includes.js","webpack:///./node_modules/@babel/runtime/helpers/interopRequireDefault.js","webpack:///./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack:///./node_modules/core-js/internals/to-length.js","webpack:///./node_modules/@paypalcorp/pp-react-grid/dist/@paypalcorp/pp-react-grid.esm.js","webpack:///./.cache/route-announcer-props.js","webpack:///./.cache/navigation.js","webpack:///./node_modules/shallow-compare/es/index.js","webpack:///./.cache/ensure-resources.js","webpack:///./.cache/production-app.js","webpack:///./node_modules/core-js/internals/to-string.js","webpack:///./node_modules/@babel/runtime/helpers/inheritsLoose.js","webpack:///./node_modules/core-js/internals/shared.js","webpack:///./node_modules/core-js/internals/own-keys.js","webpack:///./node_modules/core-js/modules/es.string.replace-all.js","webpack:///./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack:///./node_modules/@paypalcorp/pp-react-modal/dist/@paypalcorp/pp-react-modal.esm.js","webpack:///./node_modules/core-js/internals/to-integer-or-infinity.js","webpack:///./.cache/gatsby-browser-entry.js","webpack:///./node_modules/core-js/internals/a-callable.js","webpack:///./node_modules/core-js/internals/create-property-descriptor.js","webpack:///./node_modules/core-js/internals/function-name.js","webpack:///./node_modules/@paypalcorp/pp-react-buttons/dist/@paypalcorp/pp-react-buttons.esm.js","webpack:///./node_modules/core-js/internals/define-global-property.js","webpack:///./node_modules/gatsby/dist/internal-plugins/bundle-optimisations/polyfills/object-assign.js","webpack:///./.cache/caches/gatsby-plugin-mdx/mdx-scopes-dir/584f24ac4adddfc6ac7c16f600c64850.js","webpack:///./node_modules/@reach/router/es/index.js","webpack:///./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack:///./node_modules/react-focus-lock/dist/es2015/FocusGuard.js","webpack:///./node_modules/core-js/internals/internal-state.js","webpack:///./node_modules/@babel/runtime/helpers/typeof.js","webpack:///./.cache/strip-prefix.js","webpack:///./node_modules/core-js/internals/is-null-or-undefined.js","webpack:///./node_modules/gatsby-link/parse-path.js","webpack:///./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack:///./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack:///./node_modules/core-js/internals/enum-bug-keys.js","webpack:///./node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js","webpack:///./.cache/prefetch.js","webpack:///./.cache/loader.js","webpack:///./node_modules/core-js/internals/to-object.js","webpack:///./node_modules/@emotion/memoize/dist/emotion-memoize.esm.js","webpack:///./node_modules/gatsby-plugin-mdx/loaders/mdx-scopes.js","webpack:///./node_modules/gatsby-plugin-mdx/wrap-root-element.js","webpack:///./node_modules/gatsby-plugin-mdx/gatsby-browser.js","webpack:///./node_modules/react-focus-on/dist/es2015/medium.js","webpack:///./node_modules/react-focus-on/dist/es2015/UI.js","webpack:///./node_modules/react-focus-lock/dist/es2015/sidecar.js","webpack:///./node_modules/react-focus-on/dist/es2015/InteractivityDisabler.js","webpack:///./node_modules/react-focus-on/dist/es2015/Effect.js","webpack:///./node_modules/react-focus-on/dist/es2015/sidecar.js","webpack:///./node_modules/react-focus-on/dist/es2015/Combination.js","webpack:///./node_modules/@babel/runtime/helpers/regeneratorRuntime.js","webpack:///./node_modules/core-js/internals/descriptors.js","webpack:///./node_modules/gatsby-plugin-mdx/loaders/mdx-components.js","webpack:///./node_modules/core-js/internals/an-object.js","webpack:///./node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteral.js","webpack:///./node_modules/gatsby-react-router-scroll/scroll-container.js","webpack:///./node_modules/core-js/internals/is-object.js","webpack:///./node_modules/gatsby-plugin-catch-links/catch-links.js","webpack:///./node_modules/@emotion/react/_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js","webpack:///./node_modules/core-js/internals/inspect-source.js","webpack:///./node_modules/gatsby-plugin-canonical-urls/gatsby-browser.js","webpack:///./node_modules/@paypalcorp/pp-react-icon-button/dist/@paypalcorp/pp-react-icon-button.esm.js","webpack:///./node_modules/react-focus-lock/dist/es2015/util.js","webpack:///./node_modules/core-js/internals/document-all.js","webpack:///./node_modules/core-js/internals/regexp-get-flags.js","webpack:///./node_modules/core-js/internals/uid.js","webpack:///./node_modules/core-js/internals/create-non-enumerable-property.js","webpack:///./node_modules/core-js/internals/is-forced.js","webpack:///./.cache/public-page-renderer.js","webpack:///./node_modules/core-js/internals/object-define-property.js","webpack:///./node_modules/tslib/tslib.es6.js","webpack:///./.cache/create-react-context.js","webpack:///./node_modules/@babel/runtime/regenerator/index.js","webpack:///./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack:///./node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack:///./node_modules/core-js/internals/to-property-key.js","webpack:///./node_modules/react-remove-scroll-bar/dist/es2015/utils.js","webpack:///./node_modules/react-remove-scroll-bar/dist/es2015/component.js","webpack:///./node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.js","webpack:///./node_modules/react-remove-scroll/dist/es2015/handleScroll.js","webpack:///./node_modules/react-remove-scroll/dist/es2015/SideEffect.js","webpack:///./node_modules/react-remove-scroll/dist/es2015/sidecar.js","webpack:///./node_modules/js-cookie/src/js.cookie.js","webpack:///./node_modules/@babel/runtime/helpers/extends.js","webpack:///./node_modules/hoist-non-react-statics/node_modules/react-is/index.js","webpack:///./node_modules/core-js/internals/regexp-flags.js","webpack:///./node_modules/core-js/modules/esnext.string.replace-all.js","webpack:///./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack:///./node_modules/core-js/internals/v8-prototype-define-bug.js","webpack:///./.cache/public-page-renderer-prod.js","webpack:///./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack:///./node_modules/react-remove-scroll/dist/es2015/UI.js","webpack:///./node_modules/@paypalcorp/pp-react-accordion/dist/@paypalcorp/pp-react-accordion.esm.js","webpack:///./node_modules/@paypalcorp/pp-react-intl/dist/@paypalcorp/pp-react-intl.esm.js","webpack:///./node_modules/@paypalcorp/pp-react-text-input/dist/@paypalcorp/pp-react-text-input.esm.js","webpack:///./node_modules/@paypalcorp/pp-react-combobox/dist/@paypalcorp/pp-react-combobox.esm.js","webpack:///./node_modules/@paypalcorp/pp-react-contextual-alert/dist/@paypalcorp/pp-react-contextual-alert.esm.js","webpack:///./node_modules/@paypalcorp/pp-react-auto-suggest/dist/@paypalcorp/pp-react-auto-suggest.esm.js","webpack:///./node_modules/@paypalcorp/pp-react-address-input/dist/@paypalcorp/pp-react-address-input.esm.js","webpack:///./node_modules/@paypalcorp/pp-react-alert/dist/@paypalcorp/pp-react-alert.esm.js","webpack:///./node_modules/@paypalcorp/pp-react-avatar/dist/@paypalcorp/pp-react-avatar.esm.js","webpack:///./node_modules/@paypalcorp/pp-react-badge/dist/@paypalcorp/pp-react-badge.esm.js","webpack:///./node_modules/@paypalcorp/pp-react-banner/dist/@paypalcorp/pp-react-banner.esm.js","webpack:///./node_modules/@paypalcorp/pp-react-links/dist/@paypalcorp/pp-react-links.esm.js","webpack:///./node_modules/@paypalcorp/pp-react-checkbox/dist/@paypalcorp/pp-react-checkbox.esm.js","webpack:///./node_modules/@paypalcorp/pp-react-coach-tip/dist/@paypalcorp/pp-react-coach-tip.esm.js","webpack:///./node_modules/@paypalcorp/pp-react-code-input/dist/@paypalcorp/pp-react-code-input.esm.js","webpack:///./node_modules/@paypalcorp/pp-react-flag/dist/@paypalcorp/pp-react-flag.esm.js","webpack:///./node_modules/@paypalcorp/pp-react/node_modules/@paypalcorp/pp-react-country-input/dist/@paypalcorp/pp-react-country-input.esm.js","webpack:///./node_modules/@paypalcorp/pp-react-masked-text-input/dist/@paypalcorp/pp-react-masked-text-input.esm.js","webpack:///./node_modules/@paypalcorp/pp-react-tooltip/dist/@paypalcorp/pp-react-tooltip.esm.js","webpack:///./node_modules/@paypalcorp/pp-react-credit-card-input/dist/@paypalcorp/pp-react-credit-card-input.esm.js","webpack:///./node_modules/@paypalcorp/pp-react-table/dist/@paypalcorp/pp-react-table.esm.js","webpack:///./node_modules/@paypalcorp/pp-react-currency-input/dist/@paypalcorp/pp-react-currency-input.esm.js","webpack:///./node_modules/@paypalcorp/pp-react-data-table/dist/@paypalcorp/pp-react-data-table.esm.js","webpack:///./node_modules/@paypalcorp/pp-react-date-input/dist/@paypalcorp/pp-react-date-input.esm.js","webpack:///./node_modules/@paypalcorp/pp-react-divider/dist/@paypalcorp/pp-react-divider.esm.js","webpack:///./node_modules/@paypalcorp/pp-react-dropdown-menu/dist/@paypalcorp/pp-react-dropdown-menu.esm.js","webpack:///./node_modules/@paypalcorp/pp-react-focus-flow/dist/@paypalcorp/pp-react-focus-flow.esm.js","webpack:///./node_modules/@paypalcorp/pp-react-hero-currency/dist/@paypalcorp/pp-react-hero-currency.esm.js","webpack:///./node_modules/@paypalcorp/pp-react-horizontal-scroll/dist/@paypalcorp/pp-react-horizontal-scroll.esm.js","webpack:///./node_modules/@paypalcorp/pp-react-overflow-menu/dist/@paypalcorp/pp-react-overflow-menu.esm.js","webpack:///./node_modules/react-transition-group/esm/TransitionGroupContext.js","webpack:///./node_modules/react-transition-group/esm/utils/ChildMapping.js","webpack:///./node_modules/react-transition-group/esm/TransitionGroup.js","webpack:///./node_modules/react-transition-group/esm/config.js","webpack:///./node_modules/react-transition-group/esm/Transition.js","webpack:///./node_modules/react-transition-group/esm/utils/reflow.js","webpack:///./node_modules/@paypalcorp/pp-react-panel-slider/dist/@paypalcorp/pp-react-panel-slider.esm.js","webpack:///./node_modules/@paypalcorp/pp-react-phone-input/dist/@paypalcorp/pp-react-phone-input.esm.js","webpack:///./node_modules/@paypalcorp/pp-react-password-input/dist/@paypalcorp/pp-react-password-input.esm.js","webpack:///./node_modules/@paypalcorp/pp-react-pill/dist/@paypalcorp/pp-react-pill.esm.js","webpack:///./node_modules/@paypalcorp/pp-react-progress-meter/dist/@paypalcorp/pp-react-progress-meter.esm.js","webpack:///./node_modules/@paypalcorp/pp-react-progress-stepper/dist/@paypalcorp/pp-react-progress-stepper.esm.js","webpack:///./node_modules/@paypalcorp/pp-react-radio/dist/@paypalcorp/pp-react-radio.esm.js","webpack:///./node_modules/@paypalcorp/pp-react-search-input/dist/@paypalcorp/pp-react-search-input.esm.js","webpack:///./node_modules/@paypalcorp/pp-react-segmented-controller/dist/@paypalcorp/pp-react-segmented-controller.esm.js","webpack:///./node_modules/@paypalcorp/pp-react-selection-group/dist/@paypalcorp/pp-react-selection-group.esm.js","webpack:///./node_modules/@paypalcorp/pp-react-switch/dist/@paypalcorp/pp-react-switch.esm.js","webpack:///./node_modules/@paypalcorp/pp-react-tabs/dist/@paypalcorp/pp-react-tabs.esm.js","webpack:///./node_modules/@paypalcorp/pp-react-theme/dist/@paypalcorp/pp-react-theme.esm.js","webpack:///./node_modules/@paypalcorp/pp-react-card/dist/@paypalcorp/pp-react-card.esm.js","webpack:///./node_modules/@paypalcorp/pp-react-toast/dist/@paypalcorp/pp-react-toast.esm.js","webpack:///./node_modules/core-js/internals/math-trunc.js","webpack:///./node_modules/core-js/internals/well-known-symbol.js","webpack:///./node_modules/use-sidecar/dist/es2015/exports.js","webpack:///./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack:///./node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","webpack:///./node_modules/@babel/runtime/helpers/esm/construct.js","webpack:///./node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","webpack:///./node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","webpack:///./node_modules/polished/dist/polished.esm.js","webpack:///./node_modules/core-js/internals/to-primitive.js","webpack:///./node_modules/@babel/runtime/helpers/esm/extends.js","webpack:///./node_modules/react-focus-lock/dist/es2015/AutoFocusInside.js","webpack:///./node_modules/focus-lock/dist/es2015/constants.js","webpack:///./node_modules/core-js/internals/is-pure.js","webpack:///./node_modules/@emotion/use-insertion-effect-with-fallbacks/dist/emotion-use-insertion-effect-with-fallbacks.browser.esm.js","webpack:///./node_modules/core-js/internals/function-call.js","webpack:///./node_modules/core-js/internals/classof-raw.js","webpack:///./node_modules/core-js/internals/shared-store.js","webpack:///./.cache/api-runner-browser.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/react-focus-lock/dist/es2015/medium.js","webpack:///./node_modules/core-js/internals/object-keys-internal.js","webpack:///./node_modules/core-js/internals/define-built-in.js","webpack:///./node_modules/core-js/internals/document-create-element.js","webpack:///./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack:///./node_modules/core-js/internals/weak-map-basic-detection.js"],"names":["StyleSheet","options","_this","this","_insertTag","tag","before","tags","length","insertionPoint","nextSibling","prepend","container","firstChild","insertBefore","push","isSpeedy","undefined","speedy","ctr","nonce","key","_proto","prototype","hydrate","nodes","forEach","insert","rule","document","createElement","setAttribute","appendChild","createTextNode","createStyleElement","sheet","i","styleSheets","ownerNode","sheetForTag","insertRule","cssRules","e","flush","parentNode","removeChild","r","a","n","c","s","h","g","Math","abs","k","String","fromCharCode","m","Object","assign","x","O","y","trim","j","exec","z","replace","C","indexOf","charCodeAt","A","slice","M","S","q","B","map","join","D","E","F","G","H","I","J","t","value","root","parent","type","props","children","line","column","return","K","P","Q","R","T","U","V","W","X","re","Z","ee","ae","ne","ce","se","u","f","o","l","v","p","b","w","d","$","ue","ie","te","oe","le","pe","begin","points","index","previous","character","parsed","fixedElements","WeakMap","compat","element","isImplicitRule","get","set","rules","parentRules","removeLabel","defaultStylisPlugins","callback","prefix","ssrStyles","querySelectorAll","Array","call","node","getAttribute","head","stylisPlugins","_insert","inserted","nodesToHydrate","attrib","split","omnipresentPlugins","currentSheet","finalizingPlugins","serializer","concat","selector","serialized","shouldCache","styles","cache","name","registered","ItoI","innerCreateMedium","defaults","middleware","buffer","assigned","read","Error","useMedium","data","item","filter","assignSyncMedium","cb","cbs","assignMedium","pendingQueue","executeQueue","cycle","Promise","resolve","then","createMedium","createSidecarMedium","medium","async","ssr","zeroRightClassName","fullWidthClassName","noScrollbarsClassName","removedBarSizeVariable","_interopRequireDefault","exports","__esModule","withPrefix","withAssetPrefix","path","getGlobalPathPrefix","navigateTo","navigate","default","_objectWithoutPropertiesLoose2","_assertThisInitialized2","_inheritsLoose2","_extends2","_propTypes","_react","_router","_utils","_parsePath","parsePath","isAbsolutePath","startsWith","_ref","_prefix","getGlobalBasePrefix","isLocalLink","base","endsWith","rewriteLinkPath","relativeTo","current","absolutify","NavLinkPropTypes","activeClassName","string","activeStyle","object","partiallyActive","bool","GatsbyLinkLocationWrapper","Location","_ref2","location","GatsbyLink","_location","_React$Component","defaultGetProps","_ref3","isPartiallyCurrent","isCurrent","className","Boolean","style","IOSupported","window","IntersectionObserver","state","handleRef","bind","_prefetch","currentPath","pathname","rewrittenPath","to","newPathName","___loader","enqueue","componentDidUpdate","prevProps","prevState","componentDidMount","componentWillUnmount","io","_this$io","instance","el","unobserve","disconnect","ref","_this2","innerRef","hasOwnProperty","entries","entry","target","isIntersecting","intersectionRatio","observe","render","_this3","_this$props","_this$props$getProps","getProps","_onClick","onClick","_onMouseEnter","onMouseEnter","rest","prefixedTo","Link","hovering","button","defaultPrevented","metaKey","altKey","ctrlKey","shiftKey","preventDefault","shouldReplace","encodeURI","___navigate","href","Component","propTypes","func","isRequired","showDeprecationWarning","functionName","altFunctionName","version","console","warn","_default","forwardRef","___push","___replace","IndexedObject","requireObjectCoercible","module","it","NATIVE_SYMBOL","Symbol","sham","iterator","SessionStorage","stateKey","getStateKey","sessionStorage","getItem","JSON","parse","save","storedValue","stringify","setItem","stateKeyBase","_templateObject","_templateObject2","_templateObject3","_templateObject4","_templateObject5","_templateObject6","_templateObject7","_templateObject8","_templateObject$1","_templateObject2$1","_templateObject3$1","_templateObject4$1","_templateObject5$1","_templateObject6$1","menuListStyles","tokens","keys","sysColorBackgroundSurface","sysColorBackgroundSurfaceHover","sysColorBackgroundSurfaceActive","sysColorBackgroundMediumContrast","sysBorderRadiusSm","sysBorderRadiusLg","sysSpaceXs","sysSpaceSm","sysSpaceMd","sysSpaceLg","sysBorderThicknessNormal","sysBorderThicknessFocusOutline","sysSizeMediaMd","_utilStyles","elevationStyles","focusStyles","_textStyles","textBody","body","textCaption","caption","menuContainer","args","arguments","_args$borderRadius","borderRadius","_args$backgroundColor","backgroundColor","_args$marginTop","marginTop","_args$maxHeight","maxHeight","_args$minWidth","minWidth","_args$outline","outline","level3","menuList","_args$paddingBottom","paddingBottom","_args$paddingTop","paddingTop","_args$desktopPaddingB","desktopPaddingBottom","_args$desktopPaddingT","desktopPaddingTop","menuListItem","_args$paddingTop2","_args$paddingRight","paddingRight","_args$paddingBottom2","_args$paddingLeft","paddingLeft","_args$desktopPaddingB2","_args$desktopPaddingT2","_args$hoverBgColor","hoverBgColor","_args$activeBgColor","activeBgColor","menuItemThumbnail","_args$marginRightLeft","marginRightLeft","menuItemText","menuSecondaryText","_args$paddingTop3","color","menuLoadingContainer","menuKeyboardActive","_args$horizontalOffse","horizontalOffset","_args$radius","radius","offsetFocusAfter","verticalOffset","menuListWidthMin","menuListWidthMax","sysSizeCircleSm","sysSizeIconSm","_menuListStyles","sMenuItemTextSelectedSpacing","selectionMenuList","selectionMenuItemText","selectedIcon","itemThumbnailImage","itemHilite","unselectable","_excluded","_excluded2","SelectionMenuOption","menuName","primaryText","primaryTextLineClamp","secondaryText","secondaryTextLineClamp","decoration","optionId","id","isFocused","isHilite","isSelected","onItemClick","isMobile","isLoadingOptions","keyboardActive","optionRef","itemId","_styles","itemCssVal","scrollIntoSelection","option","_option$parentElement","parentElement","boundingBox","getBoundingClientRect","optionBox","bottom","top","scrollIntoView","block","behavior","focus","setTimeout","thumbnail","css","role","tabIndex","strong","as","clampAtLine","size","SelectionMenu","_styles$menuListStyle","typeToFindTimer","initialValue","_React$useState","_React$useState2","setState","reference","currentValue","defaultValue","_ref2$name","containerClassName","itemClassName","mobileHeaderClassName","sheetClassName","sheetWrapperClassName","_ref2$id","_ref2$initialItemFocu","initialItemFocus","isOpen","ignoreKeyboard","mobileTitle","mobileHeaderContents","outsideClickCheck","onOpen","onClose","onSelection","_ref2$returnFocusToTr","returnFocusToTrigger","_ref2$selectedIndex","selectedIndex","_ref2$activeItem","activeItem","triggerElementId","triggerElementRef","_ref2$rtl","rtl","_ref2$isLoadingOption","_ref2$searchEnabled","searchEnabled","mobileFixedHeight","wrapperRef","menuRef","loaderRef","searchText","validateOptions","_useReferredState","useState","useRef","_useReferredState2","focusedIndexRef","setFocusedIndex","_useState","_useState2","setKeyboardActive","MIN_WIDTH","MAX_WIDTH","MEDIUM_BREAKPOINT","innerWidth","parseInt","getRefCurrent","TRIGGER_ELEMENT","getElementById","setFocus","newIndex","moveFocus","offset","nextIndex","min","max","handleClickOutside","evt","wrapperCurrent","isTriggerClicked","contains","handleClick","optionsList","findIndex","findValue","dataset","handleKeyDown","focusedIndex","KeyCode","keyCode","IS_ARROW_UP","IS_ARROW_DOWN","IS_ENTER","IS_TAB","IS_ESC","_closedBy","NAME_TAB","NAME_ESC","clearTimeout","firstMatchedItemIndex","list","typedText","toLowerCase","getFirstPrefixPosition","handleKey","selectedValue","optionList","idx","optionValue","src","renderImg","imgSrc","addEventListener","triggerWidth","width","menu","menuWidth","calculateWidth","removeEventListener","direction","contentList","dir","loadingSpinner","screenReaderText","content","isFixedHeight","onCloseComplete","title","headerClassName","headerContents","noPadding","noCloseButton","wrapperClassName","_excluded$1","ActionMenu","_ref$id","_ref$initialItemFocus","_ref$isLoadingOptions","triggerRef","theme","containerRef","setSelectedIndex","_useState3","_useState4","_listItems","len","curIndex","itemStyles","optionIndex","itemLeft","event","onKeyDown","triggerEl","listItems","error","global","isCallable","aFunction","argument","namespace","method","getDefaultParent","originalTarget","isArray","ownerDocument","counterMap","uncontrolledNodes","markerMap","lockCount","unwrapHost","host","applyAttributeToOthers","markerName","controlAttribute","targets","correctedTarget","correctTargets","markerCounter","hiddenNodes","elementsToKeep","Set","elementsToStop","keep","has","add","deep","attr","alreadyHidden","counterValue","markerValue","clear","removeAttribute","delete","hideOthers","from","activeParentNode","apply","$propertyIsEnumerable","propertyIsEnumerable","getOwnPropertyDescriptor","NASHORN_BUG","1","descriptor","enumerable","_typeof","_getRequireWildcardCache","nodeInterop","cacheBabelInterop","cacheNodeInterop","obj","newObj","hasPropertyDescriptor","defineProperty","desc","getBuiltIn","isPrototypeOf","USE_SYMBOL_AS_UID","$Object","$Symbol","reactIs","REACT_STATICS","childContextTypes","contextType","contextTypes","defaultProps","displayName","getDefaultProps","getDerivedStateFromError","getDerivedStateFromProps","mixins","KNOWN_STATICS","caller","callee","arity","MEMO_STATICS","compare","TYPE_STATICS","getStatics","component","isMemo","ForwardRef","Memo","getOwnPropertyNames","getOwnPropertySymbols","getPrototypeOf","objectPrototype","hoistNonReactStatics","targetComponent","sourceComponent","blacklist","inheritedComponent","targetStatics","sourceStatics","check","globalThis","self","Function","charAt","pathCache","Map","matchPaths","trimPathname","rawPathname","decodeURIComponent","stripPrefix","__BASE_PATH__","URL","setMatchPaths","findMatchPath","trimmedPathname","cleanPath","pickPaths","matchPath","originalPath","pick","normalizePagePath","route","grabMatchParams","params","findPath","foundPath","aCallable","isNullOrUndefined","useScrollRestoration","identifier","useLocation","useContext","_scrollHandler","ScrollContext","useLayoutEffect","position","scrollTo","onScroll","scrollTop","NATIVE_BIND","FunctionPrototype","uncurryThisWithBind","fn","emptyArray","FocusLock","parentRef","realObserved","setObserved","observed","isActive","originalFocusedElement","disabled","noFocusGuards","persistentFocus","crossFrame","autoFocus","group","allowTextSelection","whiteList","hasPositiveIndices","_props$shards","shards","_props$as","Container","_props$lockProps","lockProps","containerProps","SideCar","sideCar","shouldReturnFocus","returnFocus","focusOptions","onActivationCallback","onActivation","onDeactivationCallback","onDeactivation","activeElement","allowDefer","returnFocusTo","howToReturnFocus","returnFocusOptions","onFocus","onBlur","setObserveNode","newObserved","hasLeadingGuards","hasTailingGuards","mergedRef","emitter","all","create","on","handler","off","splice","emit","mitt","hasOwn","ownKeys","getOwnPropertyDescriptorModule","definePropertyModule","source","exceptions","enumerableOnly","symbols","sym","Animator","_ref$shouldHide","shouldHide","_ref$onCloseComplete","_ref$phaseProps","phaseProps","initial","isHidden","showing","hiding","currentPhase","setCurrentPhase","closeEvent","closeMethod","animatee","timer","onAnimationEnd","_event","stopPropagation","nativeEvent","stopImmediatePropagation","childProps","getOwnPropertyDescriptors","defineProperties","_objectSpread","requestClose","closedBy","onTransitionEnd","ScrollContainer","ScrollHandler","_scrollContainer","_useScrollRestoration","_defineProperty","configurable","writable","_extends","_objectSpread2","_objectWithoutProperties","excluded","sourceKeys","_objectWithoutPropertiesLoose","sourceSymbolKeys","MDXContext","createContext","withMDXComponents","allComponents","useMDXComponents","components","contextComponents","MDXProvider","Provider","DEFAULTS","inlineCode","wrapper","Fragment","MDXCreateElement","propComponents","mdxType","originalType","parentName","etc","argsLength","createElementArgArray","newProps","_defineProperties","toPropertyKey","_templateObject$2","_templateObject2$2","_templateObject3$2","_templateObject9","_templateObject$3","_templateObject2$3","_templateObject3$3","_templateObject4$2","_templateObject7$1","_templateObject8$1","AnimateDirection","sysColorStructureShimmer","sysColorStructureShimmerInverse","sysColorStructureSheen","sysMotionDurationRepeat","animation","inverse","_args$width","_args$height","height","sysColorStructureShadow","sysElevationHorizontalOffsetRatio","sysElevationOpacity","sysElevationVerticalOffsetRatio","sysElevationBlurCurve","sysElevationBlurSlope","sysElevationBlurBase","sysElevationBrightenFactor","getOffsetX","level","getOffsetY","getBlur","curveAndSlopValue","backgroundImage","shadowProps","elevation","level1","level2","filterLevel1","filterLevel2","filterLevel3","level1Horizontal","level3Above","_templateObject$4","_templateObject2$4","_templateObject3$4","_templateObject4$3","_templateObject5$2","_templateObject6$2","ZINDEX_DROPDOWN","ZINDEX_TOOLTIP","ZINDEX_COACHTIP","ZINDEX_MODAL","ZINDEX_TOAST","svgBasePath","cdnHost","assetPath","VARIABLE_PATTERN","tokenTemplate","template","tokenMap","_match","_tokenMap$name","variables","sysMotionTimingX1","sysMotionTimingY1","sysMotionTimingX2","sysMotionTimingY2","ppuiEaseInOut","styles$1","sysColorStructureFocus","sysColorStructureFocusOutline","sysColorErrorMain","sysColorStructureErrorOutline","sysBorderThicknessEmphasis","stateFocusBorderColorInner","stateFocusBorderWidthInner","stateFocusBorderColorOuter","stateFocusBorderWidthOuter","stateErrorFocusBorderColorInner","stateErrorFocusBorderColorOuter","focusAfter","_args$border","border","_args$top","_args$left","left","_args$right","right","_args$boxShadowColor","boxShadowColor","_args$radius2","_args$width2","_args$height2","_args$verticalOffset","_args$borderColor","borderColor","_args$boxShadowColor2","widthOffset","heightOffset","focusInline","_args$radius3","_args$colorInner","colorInner","_args$colorOuter","colorOuter","borderWidth","shimmerStyles","motionTimings","animationTiming","transitionTiming","caretStyles","caretSideLength","positionBottom","caretVerticalOffset","positionTop","positionCenter","caretWidth","positionShiftLeft","caretSpaceHorizontal","positionShiftRight","positionLeft","positionRight","mediaQuery","queriedCss","styleStr","screenReader","ellipsis","slideTo","RIGHT","startPosition","firstParam","ScreenReaderContent","_ref$as","Shimmer","_styles$defaults","isInverse","_ref$hasStyleDefaults","hasStyleDefaults","cssVal","getColor","fallback","_object$name","_len","_key","mainSuffixes","Main","Surface","Alt","Hover","Active","PARSER","getColorFamily","_name$","word","match","toUpperCase","_parsed","original","_parsed$","_parsed$2","suffix","contrastName","complement","backgroundName","foregroundName","altName","contrastHover","contrastActive","hoverName","activeName","contrast","main","alt","hover","active","ColorContext","getColorValue","containerTokens","componentColor","colorType","_containerTokens$acti","_containerTokens$hove","_containerTokens$main","UNIT_PARSER","splitValue","str","defaultUnit","unit","parts","parseFloat","getMs","_splitValue","hasWindow","hasNavigator","navigator","hasDocument","isTouchDevice","_navigator$maxTouchPo","maxTouchPoints","msMaxTouchPoints","isActiveElementIn","elementNames","includes","tagName","isDocumentRTL","getComputedStyle","ppuiUniqueIdCounter","uniqueId","KeyboardCode","code","Constructor","TypeError","_classCallCheck","protoProps","staticProps","NAME_ARROW_LEFT","CODE_ARROW_LEFT","NAME_ARROW_RIGHT","CODE_ARROW_RIGHT","NAME_ARROW_UP","CODE_ARROW_UP","NAME_ARROW_DOWN","CODE_ARROW_DOWN","NAME_ENTER","CODE_ENTER","NAME_SPACE","CODE_SPACE","CODE_TAB","CODE_ESC","NAME_HOME","CODE_HOME","NAME_END","CODE_END","NAME_BACKSPACE","CODE_BACKSPACE","NAME_DELETE","CODE_DELETE","IS_ARROW_LEFT","IS_ARROW_RIGHT","IS_END","IS_HOME","devWarning","warningText","shared","uid","polyfill","getLocation","_source$location","search","hash","origin","protocol","hostname","port","canUseDOM","decodeURI","history","createHistory","listeners","transitioning","resolveTransition","_onTransitionComplete","listen","listener","popstateListener","action","_ref$replace","go","Date","now","replaceState","pushState","transition","res","createMemorySource","initialPath","searchIndex","initialLocation","substr","stack","states","_","uri","_uri$split","_uri$split$","_uri$split2","_uri$split2$","globalHistory","TO_STRING_TAG_SUPPORT","classofRaw","TO_STRING_TAG","wellKnownSymbol","CORRECT_ARGUMENTS","result","tryGet","test","jsx","Global","serializedNames","serializedStyles","next","dangerouslySetInnerHTML","__html","sheetRef","constructor","rehydrating","querySelector","sheetRefCurrent","nextElementSibling","keyframes","insertable","anim","toString","classnames","cls","arg","toAdd","merge","registeredStyles","rawClassName","Insertion","serializedArr","ClassNames","cx","_len2","_key2","ele","toLength","require","_gatsby","_catchLinks","onClientEntry","pluginOptions","V8_VERSION","fails","$String","symbol","GatsbyMDXScopeContext","useMDXScope","scope","contextScope","MDXScopeProvider","__mdxScope","React","colorTokens","sysColorBackgroundHighContrast","sysTypographyDisplayFamily","sysTypographyDisplaySize","sysTypographyDisplayWeight","sysTypographyDisplayLineHeight","sysTypographyDisplayMaxScaleFactor","sysTypographyHeadingLgFamily","sysTypographyHeadingLgSize","sysTypographyHeadingLgWeight","sysTypographyHeadingLgLineHeight","sysTypographyHeadingLgMaxScaleFactor","sysTypographyHeadingSmFamily","sysTypographyHeadingSmSize","sysTypographyHeadingSmWeight","sysTypographyHeadingSmLineHeight","sysTypographyHeadingSmMaxScaleFactor","sysTypographyTitleStrongFamily","sysTypographyTitleStrongSize","sysTypographyTitleStrongWeight","sysTypographyTitleStrongLineHeight","sysTypographyTitleStrongMaxScaleFactor","sysTypographyTitleFamily","sysTypographyTitleSize","sysTypographyTitleWeight","sysTypographyTitleLineHeight","sysTypographyTitleMaxScaleFactor","sysTypographyBodyStrongFamily","sysTypographyBodyStrongSize","sysTypographyBodyStrongWeight","sysTypographyBodyStrongLineHeight","sysTypographyBodyStrongMaxScaleFactor","sysTypographyBodyFamily","sysTypographyBodySize","sysTypographyBodyWeight","sysTypographyBodyLineHeight","sysTypographyBodyMaxScaleFactor","sysTypographyCaptionFamily","sysTypographyCaptionSize","sysTypographyCaptionWeight","sysTypographyCaptionLineHeight","sysTypographyCaptionMaxScaleFactor","sysTypographyCaptionStrongFamily","sysTypographyCaptionStrongSize","sysTypographyCaptionStrongWeight","sysTypographyCaptionStrongLineHeight","sysTypographyCaptionStrongMaxScaleFactor","sysTypographyButtonLgFamily","sysTypographyButtonLgSize","sysTypographyButtonLgWeight","sysTypographyButtonLgLineHeight","sysTypographyButtonLgMaxScaleFactor","sysTypographyButtonSmFamily","sysTypographyButtonSmSize","sysTypographyButtonSmWeight","sysTypographyButtonSmLineHeight","sysTypographyButtonSmMaxScaleFactor","sysTypographyFieldLabelLgFamily","sysTypographyFieldLabelLgSize","sysTypographyFieldLabelLgWeight","sysTypographyFieldLabelLgLineHeight","sysTypographyFieldLabelLgMaxScaleFactor","sysTypographyFieldLabelSmFamily","sysTypographyFieldLabelSmSize","sysTypographyFieldLabelSmWeight","sysTypographyFieldLabelSmLineHeight","sysTypographyFieldLabelSmMaxScaleFactor","sysTypographyFieldValueXlFamily","sysTypographyFieldValueXlSize","sysTypographyFieldValueXlWeight","sysTypographyFieldValueXlLineHeight","sysTypographyFieldValueXlMaxScaleFactor","sysTypographyFieldValueLgFamily","sysTypographyFieldValueLgSize","sysTypographyFieldValueLgWeight","sysTypographyFieldValueLgLineHeight","sysTypographyFieldValueLgMaxScaleFactor","sysTypographyFieldValueSmFamily","sysTypographyFieldValueSmSize","sysTypographyFieldValueSmWeight","sysTypographyFieldValueSmLineHeight","sysTypographyFieldValueSmMaxScaleFactor","maxSizeInMWeb","scaleFactor","maxSize","maxSizeInPx","font","label","family","lineHeight","fontWeight","fontFamily","mediaMdInPx","_args$lineHeight","_args$color","bodyStrong","_args$lineHeight2","_args$color2","_args$lineHeight3","_args$color3","captionStrong","_args$lineHeight4","_args$color4","headingSm","_args$lineHeight7","_args$color7","headingLg","_args$lineHeight8","_args$color8","display","_args$lineHeight9","_args$color9","_args$lineHeight5","_args$color5","titleStrong","_args$lineHeight6","_args$color6","_args$label","buttonLg","_args$lineHeight11","_args$color11","buttonSm","_args$lineHeight10","_args$color10","fieldLabelSm","_args$lineHeight12","_args$color12","fieldLabelLg","_args$lineHeight13","_args$color13","fieldValueSm","_args$lineHeight14","_args$color14","fieldValueLg","_args$lineHeight15","_args$color15","fieldValueXl","_args$lineHeight16","_args$color16","lineClamping","clampLine","shimmer","shimmerDisplay","shimmerHeadingLg","shimmerHeadingSm","shimmerBody","shimmerCaption","shimmerTitle","HeadingText","isLoading","headingSize","chooseSize","stylesMap","hero","sm","lg","shimmerStylesMap","BodyText","_styles$lineClamping","_excluded$2","CaptionText","DESCRIPTORS","propertyIsEnumerableModule","createPropertyDescriptor","toIndexedObject","IE8_DOM_DEFINE","$getOwnPropertyDescriptor","useMergeRefs","refs","newValue","assignRef","facade","last","_unsupportedIterableToArray","minLen","for","$$typeof","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","Element","Lazy","Portal","Profiler","StrictMode","Suspense","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isElement","isForwardRef","isFragment","isLazy","isPortal","isProfiler","isStrictMode","isSuspense","isValidElementType","typeOf","isBrowser","EmotionCacheContext","HTMLElement","withEmotionCache","ThemeContext","useTheme","createCacheWithTheme","outerTheme","getTheme","ThemeProvider","typePropName","createEmotionProps","isStringTag","Emotion$1","cssProp","WrappedComponent","effectCar","uncurryThis","toObject","floor","stringSlice","SUBSTITUTION_SYMBOLS","SUBSTITUTION_SYMBOLS_NO_NAMED","matched","captures","namedCaptures","replacement","tailPos","ch","capture","currentNonce","makeStyleTag","stylesheetSingleton","counter","stylesheet","styleSheet","cssText","getElementsByTagName","insertStyleTag","remove","styleSingleton","useStyle","isDynamic","_a","dynamic","CONFIGURABLE_FUNCTION_NAME","CONFIGURABLE","inspectSource","InternalStateModule","enforceInternalState","enforce","getInternalState","CONFIGURABLE_LENGTH","TEMPLATE","makeBuiltIn","getter","setter","_setPrototypeOf","setPrototypeOf","__proto__","_createSuper","Derived","hasNativeReflectConstruct","Reflect","construct","Proxy","valueOf","_isNativeReflectConstruct","Super","_getPrototypeOf","NewTarget","_possibleConstructorReturn","_assertThisInitialized","ReferenceError","_Component","subClass","superClass","_inherits","OutboundLink","_super","eventLabel","trackerNames","eventMeta","sameTarget","normalClick","trackLink","_this$props2","rel","redactEmail","smallWords","toTitleCase","isLoaded","log","info","gaCalls","calls","ga","resetCalls","_toConsumableArray","arr","_arrayLikeToArray","_arrayWithoutHoles","iter","_iterableToArray","_nonIterableSpread","arr2","_isNotBrowser","_debug","_titleCase","_testMode","_alwaysSendToDefaultTracker","_redactEmail","_window","_format","titleCase","redactingEmail","_str","format","_gaCommand","command","_initialize","gaTrackingID","debug","useExistingGa","gaOptions","addTrackers","configsOrTrackingId","config","trackingId","initialize","testMode","standardImplementation","gaAddress","onerror","loadGA","alwaysSendToDefaultTracker","fieldsObject","send","fieldObject","pageview","rawPath","extraFields","hitType","page","extraLog","modalview","rawModalName","modalName","substring","timing","category","variable","timingCategory","timingVar","timingValue","timingLabel","nonInteraction","transport","eventCategory","eventAction","eventValue","exception","description","fatal","exDescription","exFatal","rawName","trackerName","requireString","execute","pluginName","payload","actionType","_len3","_key3","outboundLink","hitCallback","safetyCallbackCalled","plugin","testModeAPI","origTrackLink","CookieBanner","cookieBannerInfo","html","js","cookieBanner","useEffect","regexMatch","nonceCalculated","jscript","scriptElement","innerHTML","append","enabled","message","appName","stock","exp","ApplicationContext","useApplicationContext","user","setUser","isScriptLoaded","setScriptLoaded","isPPSDKLoaded","setPPSDKLoaded","countrySelection","setCountrySelection","paymentSelection","setPaymentSelection","setCookieBanner","experiments","setExperiments","notificationBanner","setNotificationBanner","rightNav","_setRightNav","setNonce","elmoData","endpoint","setData","fetch","json","dataRes","catch","success","useApi","bannerInfo","link","text","docsBannerInfo","isInternalUser","treatmentIds","uiramp","signupramp","integrationBuilder","integrationBuilderKBYC","aiSearch","ai_search","reboot","codespaces","app","loadScript","err","_serverData$unifiedCo","serverData","__INITIALDATA__","attrs","bannerStr","unifiedConfig","defaultBannerInfo","_serverData$unifiedCo2","notificationBannerDocs","_serverData$unifiedCo3","ReactGA","encryptedAccountNumber","accountType","fpti","cust","acnt","setUserMetaData","_window2","_data","_data2","_data3","accountNumber","confidenceScore","identificationType","_data4","_data5","_data6","updateCountrySelection","country","updatePaymentSelection","payment","Cookies","setRightNav","nav","trackEvent","gaData","trackRecord","ProviderComponent","_ref4","PAYPAL_THEME","_interopRequireWildcard","_sessionStorage","_stateStorage","scrollListener","scrollY","windowScroll","shouldUpdateScroll","scrollToHash","prevRouterProps","routerProps","scrollPosition","_this$props$location","_this$props$location2","dataAttr","condition","unitlessKeys","animationIterationCount","aspectRatio","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","msGridRow","msGridRowSpan","msGridColumn","msGridColumnSpan","opacity","order","orphans","tabSize","widows","zIndex","zoom","WebkitLineClamp","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","hyphenateRegex","animationRegex","isCustomProperty","property","isProcessableValue","processStyleName","styleName","p1","p2","cursor","handleInterpolation","mergedProps","interpolation","__emotion_styles","interpolated","_i","createStringFromObject","previousCursor","cached","labelPattern","stringMode","strings","raw","lastIndex","identifierName","LoadingSpinner","sysColorPrimaryMain","sysColorPrimaryContrast","sysSizeCircleXs","sysSizeCircleMd","sysSizeCircleXl","borderSpinner","sizeXs","sizeMd","sizeLg","sizeXl","sizesStyleMap","xs","md","xl","$documentAll","documentAll","IS_HTMLDDA","onRouteUpdate","hashId","wrapRootElement","$TypeError","createNonEnumerableProperty","defineBuiltIn","defineGlobalProperty","copyConstructorProperties","isForced","targetProperty","sourceProperty","TARGET","GLOBAL","STATIC","stat","dontCallGetSet","forced","toIntegerOrInfinity","integer","PageRenderer","_inheritsLoose","pageResources","pageContext","__params","pathContext","replacementElement","apiRunner","loader","publicLoader","pageElement","pop","internalObjectKeys","hiddenKeys","arrayLikeToArray","unsupportedIterableToArray","userAgent","process","Deno","versions","v8","routes","default_","uriPathname","uriSegments","segmentize","isRootUri","ranked","rankRoutes","missed","routeSegments","routeSegment","uriSegment","isSplat","dynamicMatch","paramRe","reservedNames","_to$split","toPathname","toQuery","basePathname","toSegments","baseSegments","addQuery","allSegments","segments","segment","insertParams","_path$split","pathBase","_path$split$","query","constructedPath","_params$location","_params$location$sear","searchSplit","validateRedirect","sort","rankRoute","score","reduce","isRootSegment","SEGMENT_POINTS","shallowCompare","obj1","obj2","obj1Keys","every","ie10","appVersion","fns","doc","hack","documentElement","doScroll","loaded","readyState","shift","definition","_taggedTemplateLiteralLoose","serviceWorker","register","reg","installingWorker","installing","controller","___swUpdated","___failedResources","reload","component---src-pages-404-js","component---src-pages-banner-js","component---src-pages-build-better-js","component---src-pages-classic-home-js","component---src-pages-docs-template-js","component---src-pages-home-js","component---src-pages-index-js","component---src-pages-integration-builder-index-tsx","component---src-pages-integration-builder-sections-build-tsx","component---src-pages-integration-builder-sections-card-generator-tsx","component---src-pages-integration-builder-sections-code-tsx","component---src-pages-integration-builder-sections-configure-tsx","component---src-pages-integration-builder-sections-demo-tsx","component---src-pages-integration-builder-sections-help-modal-tsx","component---src-pages-integration-builder-sections-know-before-you-code-tsx","component---src-pages-integration-builder-sections-preview-tsx","component---src-pages-integration-builder-sections-take-live-tsx","component---src-pages-internal-js","component---src-pages-layout-js","component---src-pages-signup-js","component---src-pages-signupauto-js","component---src-pages-support-js","component---src-pages-thankyou-js","component---src-pages-unsubscribe-js","component---src-pages-video-collection-tsx","component---src-pages-video-home-tsx","component---src-pages-video-watch-tsx","component---src-templates-template-layout-js","_slicedToArray","_s","_e","_x","_r","_arr","_n","_d","done","weakMemoize","ret","reject","script","defer","argIndex","framesToPop","classof","isObject","MATCH","isRegExp","matchOperatorsRe","input","pref","val","reducePropsToState","handleStateChangeOnClient","mountedInstances","emitChange","SideEffect","_PureComponent","peek","getDisplayName","toArray","asArray","getFirst","getParentNode","nodeType","Node","DOCUMENT_FRAGMENT_NODE","isTopNode","DOCUMENT_NODE","isVisibleUncached","checkParent","ELEMENT_NODE","computedStyle","getPropertyValue","isElementHidden","isVisibleCached","visibilityCache","isAutoFocusAllowedCached","isAutoFocusAllowed","isAutoFocusAllowedUncached","getDataset","isHTMLInputElement","isRadioElement","attribute","isGuard","focusGuard","isNotAGuard","isDefined","tabSort","tabDiff","indexDiff","orderByTabIndex","filterNegative","keepGuards","queryTabbables","queryGuardTabbables","getFocusablesWithShadowDom","withGuards","shadowRoot","acc","child","matches","getFocusables","parents","focusableWithShadowDom","focusableWithIframes","HTMLIFrameElement","contentDocument","getFocusablesWithIFrame","filterFocusable","isHTMLButtonElement","notHiddenInput","filterAutoFocusable","getTabbableNodes","topNodes","getAllTabbableNodes","parentAutofocusables","topNode","parentFocus","some","iframeBody","getActiveElement","inDocument","safeProbe","contentWindow","getTopParent","getAllAffectedNodes","currentNode","contained","compareDocumentPosition","DOCUMENT_POSITION_CONTAINED_BY","DOCUMENT_POSITION_CONTAINS","filterNested","focusInside","frame","focusInFrame","focusInsideIframe","correctNode","checked","findSelectedRadio","pickFirstFocus","pickFocusable","newFocus","innerNodes","outerNodes","lastNode","cnt","firstFocus","lastFocus","isOnGuard","resultSet","activeIndex","lastNodeInside","firstNodeIndex","lastNodeIndex","correctedNodes","correctedIndexDiff","returnFirstNode","returnLastNode","pickAutofocus","nodesIndexes","orderedNodes","groups","autoFocusables","autoFocusable","autofocus","getParents","getCommonParent","nodeA","nodeB","parentsA","parentsB","currentParent","getTopCommonParent","baseActiveElement","leftEntry","rightEntries","activeElements","leftEntries","topCommon","subEntry","common","getFocusMerge","commonParent","anyFocusable","innerElements","srcNodes","dstNodes","remap","orderedInnerElements","entity","newId","focusNode","allParentAutofocusables","guardCount","lockDisabled","focusable","getFocusabledIn","lockItem","guard","focusIsHidden","lastActiveTrap","lastActiveFocus","lastPortaledElement","focusWasOutsideWindow","defaultWhitelist","autoGuard","startIndex","end","step","allNodes","lastGuard","focusAutoGuard","extractRef","_lastActiveTrap","workingNode","portaledElement","workingArea","focusWhitelisted","area","checkInHost","boundary","withinHost","blur","newActiveElement","onTrap","currentTarget","observerNode","moveFocusInside","propsList","_ref5","traps","trap","lastTrap","sameTrap","_ref6","toAbsoluteIndex","lengthOfArrayLike","createMethod","IS_INCLUDES","$this","fromIndex","_templateObject10","_templateObject11","_templateObject12","_templateObject13","_templateObject14","_templateObject15","_templateObject16","_templateObject17","_templateObject18","_templateObject19","_templateObject20","_templateObject21","_templateObject22","_templateObject23","_templateObject24","_templateObject25","_templateObject26","_templateObject27","_templateObject28","_templateObject29","_templateObject30","_templateObject31","_templateObject32","_templateObject33","_templateObject34","_templateObject35","_templateObject36","_templateObject37","_templateObject38","_templateObject39","_templateObject40","_templateObject41","_templateObject42","_templateObject43","_templateObject44","_templateObject45","_templateObject46","_templateObject47","_templateObject48","_templateObject49","_templateObject50","_templateObject51","_templateObject52","sysSpaceXl","sysSpaceJumbo","sysSizeMediaSm","sysSizeMediaLg","sysSizeMediaXl","sysSizeMediaXxl","breakpointMap","xxl","commonColumn","commonColumnForm","colGridCalculator","breakpoint","space","labelStr","num","_display","layoutContainer","row","containerForm","containerFluid","noGutter","col","colAuto","colFormVspace","colFormFull","colFormHalf","colForm3qtr","colForm1qtr","colFormAuto","orderFirst","orderLast","colSm","colSmAuto","colMd","colMdAuto","colLg","colLgAuto","colXl","colXlAuto","colXxl","colXxlAuto","orderSmFirst","orderSmLast","orderMdFirst","orderMdLast","orderLgFirst","orderLgLast","orderXlFirst","orderXlLast","orderXxlFirst","orderXxlLast","justifyContentStart","justifyContentEnd","justifyContentCenter","justifyContentBetween","justifyContentAround","firstLtrUprCase","dynamicCol","colGridBreakpoint","dynamicOrder","orderBreakpoint","dynamicOffset","offsetBreakpoint","dynamicDisplay","displayBreakpoint","getClass","fluid","form","_ref$fluid","_ref$form","_ref$xxl","sizes","columnClasses","spans","classes","_styles$firstLtrUprCa","formUprCase","span","propValue","_styles$firstLtrUprCa2","infix","infixLwrCse","spanVal","_styles$dynamicCol","_styles$firstLtrUprCa3","_styles$dynamicOrder","_styles$dynamicOffset","_styles$dynamicDispla","Col","Row","_ref$noGutters","noGutters","_ref$align","align","alignUprCase","RouteAnnouncerProps","padding","overflow","clip","whiteSpace","redirectMap","redirectIgnoreCaseMap","maybeRedirect","redirect","toPath","redirects","ignoreCase","fromPath","onPreRouteUpdate","prevLocation","timeoutId","loadPage","status","PageResourceStatus","webpackCompilationHash","___webpackCompilationHash","postMessage","gatsbyApi","reachNavigate","results","getSavedScrollPosition","oldPathname","RouteAnnouncer","announcementRef","createRef","nextProps","requestAnimationFrame","pageName","pageHeadings","textContent","newAnnouncement","innerText","compareLocationProps","nextLocation","_prevLocation$state","_nextLocation$state","RouteUpdates","_React$Component2","_proto2","shouldComponentUpdate","shallowDiffers","EnsureResources","loadPageSync","loadResources","nextState","ProdLoader","asyncRequires","setLoader","setApiRunner","___emitter","apiRunnerAsync","RouteHandler","BaseContext","baseuri","basepath","DataContext","GatsbyRoot","staticQueryResults","getStaticQueryResults","StaticQueryContext","LocationHandler","Consumer","Router","pagePath","browserLoc","SiteRoot","App","renderer","ReactDOM","domReady","IS_PURE","store","mode","copyright","license","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","anObject","getMethod","getRegExpFlags","getSubstitution","REPLACE","stringIndexOf","searchValue","proto","replaceAll","replaceValue","IS_REG_EXP","flags","replacer","searchString","functionalReplace","searchLength","advanceBy","endOfLastMatch","asyncGeneratorStep","gen","_next","_throw","sysSizeIconLg","sysSizeTapTargetDefault","sysMotionDurationDepart","sysMotionDurationArrive","sysSizeIconMd","sysColorOverlayMainHover","sysSizeIndicatorMd","sysSizeIconXl","lightboxMinHeight","modalHeaderMinHeight","modalHeaderZoneMinWidth","dialogMaxWidth","mdMarginDelta","smMarginDelta","sheetHeaderHeightMobile","sheetHeaderHeightDesktop","sheetButtonSize","containerCenter","valign","containerMiddle","containerBottom","modalNoContainer","modalDialog","modalSheet","modalSheetShow","modalBackdrop","modalBackdropShow","modalBackdropShowDialog","scrim","scrimShow","modalContents","modalContentWithHeader","modalContentsSheet","modalContentsDialog","modalContentsNoPadding","modalContentDialogPadding","modalContentsCenter","modalHeader","modalHeaderSheet","modalHeaderSheetAction","modalHeaderScrolled","modalHeaderAction","modalHeaderTitle","modalHeaderClose","modalHeaderWorkArea","modalHeaderLogo","modalHeaderLogoImage","modalContentsClose","modalFooter","modalFooterScrolled","modalFooterAlignCenter","modalFooterAlignRight","modalSheetHeight90","justifyRight","containerRightWidth","commonContainerStyles","containerRight","containerLeft","drawerContainer","modalSheetHeight50","closeSheet","SheetComponent","startX","startY","_ref$onBeforeClose","onBeforeClose","center","_ref$closeButtonLabel","closeButtonLabel","_ref$closeButtonProps","closeButtonProps","hideTitle","showLogo","footerContents","footerAlign","_ref$returnFocusToTri","contentContainerRef","footerClassName","skipFormFocus","_ref$contentScrollTop","contentScrollTop","onContentScroll","_ref$showDrawer","showDrawer","headerScroll","setHeaderScroll","footerScroll","setFooterScroll","_useState5","_useState6","dynamicHeight","setDynamicHeight","closeButtonRef","actionZoneRef","refContent","contentRef","headerContentRef","isRtl","isDynamicHeight","headerLogo","idBase","showHeader","scrollCheck","contents","newHeaderScroll","newFooterScroll","offsetHeight","scrollHeight","setFixedHeight","sheetEl","height90Percent","innerHeight","increaseHeight","mark","_callee","wrap","_context","prev","stop","focused","formElement","focusableEls","focusableActionEl","closeButtonCurrent","wrapperCss","containerCss","contentCss","ariaHidden","handleClose","closeButtonTag","svgIconComponent","buttonType","mobileTouchEnd","endTouch","changedTouches","endX","pageX","endY","pageY","xDiff","yDiff","handleTouchMove","handleTouchStart","firstTouch","titleId","ariaProps","emptyCloseButtonZone","emptyActionZone","closeButtonZone","actionZone","titleContentCss","titleContentZone","headerContentZone","header","onTouchStart","onTouchMove","onTouchEnd","footer","onEscapeKey","onClickOutside","Sheet","componentProps","isMounted","setIsMounted","containerElm","createPortal","closeDialog","DialogComponent","isFullView","showInverseCloseButton","_ref$hideTitle","closeOnBackgroundClick","ceil","closeButton","titleElement","closeButtonContainerCss","AutoFocusInside","_excluded$3","Dialog","trunc","number","prefetchPathname","StaticQueryDataRenderer","staticQueryData","finalData","StaticQuery","useStaticQuery","_context$query","context","isNaN","Number","graphql","tryToString","bitmap","getDescriptor","EXISTS","PROPER","sysMotionDurationAction","sysColorPrimaryMainHover","sysColorPrimaryMainActive","sysColorPrimaryContrastHover","sysColorPrimaryContrastActive","sysColorFeaturedMain","sysColorFeaturedMainHover","sysColorFeaturedMainActive","sysColorFeaturedContrast","sysColorSecondaryMain","sysColorSuccessMain","sysMotionDurationHover","buttonFocusBorderOffset","secondary","secondaryInverse","branded","tertiary","icon","affordance","menuWrapper","sizeSm","successState","processingState","fadeIn","overlay","successStateOverlay","successStateIcon","successStateIconSm","buttonGroup","buttonGroupSolo","btnFullWidth","btnGroupFullWidth","AffordanceIcon","isMenu","isSmall","Icon","Button","_ref2$btnState","btnState","iconComponent","_ref2$fullWidthOnMobi","fullWidthOnMobile","buttonStyles","loadingSpinnerProps","srText","successIconSize","successIconCSSVal","buttonCheckmarkIcon","iconMarkup","svgIconSize","overlayCSSVal","stateOverlay","assistiveText","ButtonGroup","_ref$fullWidthOnMobil","childArray","breakPointValue","computedChildren","reverse","hasButtonCountOne","buttonGroupCSSVal","Badge","ClockIcon","createNamedContext","Ctx","LocationContext","LocationProvider","_temp","getContext","unlisten","_props$history","componentDidCatch","isRedirect","_navigate","unmounted","ServerLocation","url","baseContext","locationContext","RouterImpl","_React$PureComponent","_props","_navigate2","primary","_props$component","domProps","Children","array","createRoute","clone","cloneElement","FocusWrapper","FocusHandler","wrapperProps","PureComponent","FocusContext","requestFocus","FocusHandlerImpl","initialRender","focusHandlerCount","_temp2","_this4","shouldFocus","myURIChanged","navigatedUpToMe","_this5","_props2","_props2$component","Comp","_props$getProps","anchorProps","encodedHref","shouldNavigate","_location$state","restState","RedirectRequest","redirectTo","RedirectImpl","_React$Component3","_props3","_props3$replace","noThrow","resolvedTo","_props4","Redirect","_ref7","Match","_ref8","_ref9","_ref10","resolvedPath","useNavigate","useParams","useMatch","stripSlashes","elementPath","hiddenGuard","InFocusGuard","NATIVE_WEAK_MAP","sharedKey","metadata","STATE","getterFor","TYPE","hashIndex","getRegisteredStyles","classNames","registerStyles","insertStyles","supportedPrefetchStrategy","feature","fakeLink","relList","supports","support","onload","getElementsByName","req","XMLHttpRequest","open","preFetched","prefetch","Success","preferDefault","createPageDataUrl","__PATH_PREFIX__","doFetch","onreadystatechange","toPageResources","pageData","componentChunkName","staticQueryHashes","BaseLoader","loadComponent","inFlightNetworkRequests","pageDb","inFlightDb","staticQueryDb","pageDataDb","prefetchTriggered","prefetchCompleted","memoizedGet","inFlightPromise","response","prefetchDisabled","fetchPageDataJson","loadObj","retries","responseText","jsonPayload","notFound","loadPageDataJson","loadAppData","allData","finalResult","componentChunkPromise","createdAt","staticQueryBatchPromise","staticQueryHash","staticQueryResultsMap","shouldPrefetch","doesConnectionSupportPrefetch","connection","effectiveType","saveData","realPath","doPrefetch","pageDataUrl","prefetchHelper","crossOrigin","getResourceURLsForPathname","createComponentUrls","isPageNotFound","appData","___chunkMapping","chunk","_BaseLoader","chunkName","componentUrls","_loader","getResourcesForPathname","getResourcesForPathnameSync","memoize","scope_0","scope_1","componentsAndGuards","componentFromGuards","find","mdxPlugins","guards","componentName","MDXConsumer","componentsFromContext","scopeContexts","PREVENT_SCROLL","preventScroll","FocusOn","setLockProps","_b","_c","scrollLock","focusLock","inert","allowPinchZoom","shouldIgnore","preventScrollOnFocus","gapMode","restProps","appliedLockProps","Style","InteractivityDisabler","noIsolation","activeNode","setActiveNode","lastEventTarget","mouseTouches","onMouseDown","MouseEvent","touches","_undo","RequireSideCar","_regeneratorRuntime","Op","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","Context","makeInvokeMethod","tryCatch","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","NativeIteratorPrototype","values","Gp","defineIteratorMethods","_invoke","AsyncIterator","PromiseImpl","previousPromise","callInvokeWithMethodAndArg","invoke","record","__await","unwrapped","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","methodName","resultName","nextLoc","pushTryEntry","locs","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","iterable","iteratorMethod","isGeneratorFunction","genFun","ctor","awrap","skipTempReset","rootRecord","rval","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","thrown","delegateYield","plugins","_taggedTemplateLiteral","freeze","_reactDom","scrollKey","ScrollContainerImplementation","findDOMNode","clickHandler","routeThroughBrowserOrApp","hashShouldBeFollowed","pathIsNotHandledByApp","urlsAreOnSameOrigin","authorIsForcingNavigation","anchorsTargetIsEquivalentToSelf","findClosestAnchor","navigationWasHandledElsewhere","slashedPathname","userIsForcingNavigation","_escapeStringRegexp","nodeName","anchor","hasAttribute","defaultView","destination","pathStartRegEx","hrefHandler","clickedAnchor","SVGAnimatedString","animVal","RegExp","excludePattern","destinationPathname","functionToString","stripQueryString","domElem","existingValue","baseProtocol","baseHost","IconButton","iconName","iconClassName","_props$buttonType","_props$btnState","sysSizeTapTargetXs","sysSizeTapTargetSm","sysSizeCircleLg","sysBorderRadiusInteractive","sysColorOverlayMain","sysColorOverlayContrast","sysColorOverlayMainActive","sysColorTertiaryMain","sysColorTertiaryContrast","sysColorTertiaryMainHover","sysColorTertiaryMainActive","sysColorSuccessContrast","sysIconbuttonPositionTapTargetOffset","iconButtonSize","processingContainer","successContainer","tertiaryInverse","shimmerSizeSm","shimmerSizeXl","shimmerSizesStyleMap","shimmerCSSVal","iconSize","withLabelCssVal","WrapperComponent","renderIconComponent","iconButtonComponent","iconProps","buttonStateComponent","deferAction","inlineProp","regExpFlags","RegExpPrototype","postfix","random","detection","normalize","POLYFILL","NATIVE","V8_PROTOTYPE_DEFINE_BUG","$defineProperty","Attributes","extendStatics","__extends","__","__assign","__rest","__read","ar","__spreadArrays","il","jl","__spreadArray","pack","SuppressedError","runtime","regeneratorRuntime","accidentalStrictMode","_toPropertyKey","hint","prim","toPrimitive","isSymbol","zeroGap","gap","getGapWidth","offsets","cs","getOffset","documentWidth","clientWidth","windowWidth","getStyles","allowRelative","important","RemoveScrollBar","noRelative","noImportant","passiveSupported","nonPassive","passive","elementCanBeScrolled","overflowY","overflowX","alwaysContainsScroll","locationCouldBeScrolled","axis","ShadowRoot","elementCouldBeScrolled","getScrollVariables","elementCouldBeVScrolled","elementCouldBeHScrolled","clientHeight","scrollLeft","scrollWidth","getHScrollVariables","getTouchXY","clientX","clientY","getDeltaXY","deltaX","deltaY","generateStyle","idCounter","lockStack","shouldPreventQueue","touchStartRef","activeAxis","lastProps","classList","allow_1","lockRef","shouldCancelEvent","currentAxis","touch","touchStart","moveDirection","canBeScrolledInMainDirection","cancelingAxis","endTarget","sourceDelta","noOverscroll","directionFactor","getDirectionFactor","delta","targetInLock","shouldCancelScroll","isDeltaPositive","availableScroll","availableScrollTop","elementScroll","handleScroll","shouldPrevent","sourceEvent","should","cancelable","shardNodes","shouldCancel","scrollTouchStart","scrollWheel","scrollTouchMove","setCallbacks","onScrollCapture","onWheelCapture","onTouchMoveCapture","inst","removeScrollBar","factory","OldCookies","api","noConflict","extend","attributes","decode","init","converter","expires","toUTCString","write","encodeURIComponent","escape","stringifiedAttributes","attributeName","cookie","jar","cookies","getJSON","withConverter","that","hasIndices","multiline","dotAll","unicode","unicodeSets","sticky","ProdPageRenderer","InternalPageRenderer","nothing","RemoveScroll","callbacks","forwardProps","only","fullWidth","zeroRight","headerPaddingRight","bodyClose","bodyOpen","getHeaderFont","svgIcon","Accordion","_ref$name","headerSize","accordionRows","accordionName","rowNumber","AccordionRow","_ref$heading","heading","contentClassName","_ref$isOpen","_ref$headerSize","show","setShowState","bodyCSSVal","svgIconCSSVal","rowId","contentId","IntlContext","ownKeys$1","_objectSpread$1","_templateObject53","_templateObject54","_templateObject55","_templateObject56","_templateObject57","getCurrencyMaskOptions","intlContext","maskOptions","currencyType","currencyFormatter","currencyFormat","currency","_getIntlCurrencyPatte","currencyPartsArr","intlMaskOptions","mask","intlCurrencyPrefix","intlCurrencySuffix","thousandsSeparator","scale","radix","getIntlCurrencyPattern","formatToParts","resolvedOptions","maximumFractionDigits","padFractionalZeros","currencyMaskOptions","sysSpaceTiny","sysColorStructureBorderHighContrast","sysSizeFieldLg","backgroundSpaceTop","backgroundSpaceBottom","backgroundSpaceBottomEntered","ppuiV2CurrencyInputMinHeight","textInputFocus","textInputErrorFocus","fieldIcon","labelWhenPlaceholderShownAndInputNotFocused","labelWithScreenreader","helperText","iconRight","iconLeft","control","nolabelControl","errorControl","controlErrorWithIconRight","controlErrorWithIconLeft","controlErrorWithIconLeftAndRight","noLabelControlError","controlWithIconRight","controlWithIconLeft","controlWithIconLeftAndRight","labelWithIconRight","labelWithIconLeft","errorText","errorIcon","successIcon","multiLineError","prefixWrapper","prefixWrapperError","prefixWrapperFocusError","prefixSuffix","PrefixWrapperControl","noLabelSuffixOrPrefix","prefixWrapperControlWithPrefix","prefixWrapperControlWithSuffix","prefixWrapperControlWithPrefixSuffix","prefixWrapperFocus","textAreaControl","textAreaControlError","textAreaControlLabel","textAreaControlErrorLabel","textAreaCounterWrapper","textAreaCounterWrapperFocus","textAreaCounterText","textAreaErrorCounterWrapper","textAreaErrorCounterWrapperFocus","textAreaErrorCounterText","ppuiTextInputDisplayRightIconSpaceRight","ppuiTextInputDisplayValueSpaceTop","textDisplayNoLabelControl","textDisplayControl","textDisplayLabel","textDisplayIconRight","textDisplaylabelIconRight","textDisplayControlIconRight","placemat","noLabelPlacemat","FormMessage","messageId","errorIconAriaLabel","successText","successIconAriaLabel","_errorIcon","processText","msg","errorProps","successProps","helperTextCssVal","renderIcon","side","customIconCSS","TextInputWrapper","inputClassName","labelClassName","_ref2$successIconAria","_ref2$error","_ref2$errorIconAriaLa","isLabelHidden","_ref2$placeholder","placeholder","_ref2$leftIcon","leftIcon","_ref2$rightIcon","rightIcon","onChange","renderContent","removeBorderRadiusLeft","removeBorderRadiusRight","removeBorderRadiusBoth","leftIconCSS","rightIconCSS","mainCSS","msgId","valueProps","otherProps","hasError","inputTag","Placemat","_ref$value","_ref$isLabelHidden","combinedText","vLen","mLen","overlayValue","normalizePlaceholder","normalized","TextInputContent","inputRef","isLabelHiddenFinal","inputTagCSS","labelCSS","elem","htmlFor","TextInputContentWithPrefixSuffix","prefixClassName","suffixClassName","_ref$onBlur","_ref$onFocus","textInputRef","textInputHasFocus","setTextInputFocus","prefixClass","suffixClass","prefixWrapperClass","labelId","prefixEleId","suffixEleId","ariaLabelledByIds","TextInput","internalRef","_excluded$4","_excluded2$1","TextArea","_ref$minRows","minRows","_ref$maxRows","maxRows","_ref$showCharacterCou","showCharacterCounter","maxCharacters","counterStatusText","_ref$onChange","textLineHeight","maxAllowedRows","minAllowedRows","charCount","setCharCount","isRTL","setRTL","textAreaHasFocus","setTextAreaFocus","textAreaRef","bordersOffset","minHeight","textAreaElm","lineHeightValue","paddingBottomValue","paddingTopValue","newHeight","computeHeight","handleCounterWrapperClick","textInputContent","maxCharsText","counterText","counterStatusMessage","defaultMessage","messageFormatter","getFormattedMessage","wrapperCSS","counterTextCSS","defaultGetMenuOptions","userText","comparand","getOptionValue","_option$value","ideate","mappedOption","optionLegend","mapOptions","srcList","legend","dest","Combobox","_ref3$name","_ref3$value","onTextChange","_ref3$onFocus","_ref3$getMenuOptions","getMenuOptions","_ref3$emptyMessage","emptyMessage","_ref3$mobileTitle","autoComplete","showMenu","setShowMenu","setActiveIndex","setPlacemat","_useState7","_useState8","filteredList","setFilteredList","_useState9","_useState10","setActiveItem","_useState11","_useState12","textFocus","setTextFocus","sheetInputRef","getInitialText","currentText","selectedOption","initialText","_useState13","_useState14","textValue","setTextValue","_useState15","_useState16","sheetTextValue","setSheetTextValue","comboId","textInputId","menuId","updateFilteredList","filterText","updatedList","doSetShowMenu","isShown","openMenu","select","handleSheetTyping","handleItemSelection","getActiveId","updateActiveItem","sheetTextPlaceholder","sheetTextInputName","getSheetTextInput","inputDir","comboStyles","affordanceTrigger","sheetInput","inputProps","menuProps","warning","ContextualAlert","_ref$type","_ref$typeIconAriaLabe","typeIconAriaLabel","sysSizeIconXs","statusIcon","iconCssVal","StatusIcon","suggestionListContainer","elevatedSuggestionListContainer","centeredContent","suggestionSublist","suggestionList","highlightedSuggesiton","suggestion","errorMessage","suggestionDecoration","AutoSuggestUtils","highlightMatch","escapedMatch","regex","defaultRenderSuggestion","highlightedValue","secondaryElm","decorationElm","SuggestionList","_ref2$suggestions","suggestions","renderSuggestion","onHighlight","onSelect","listItemClassName","_ref2$enableKeyboardI","enableKeyboardInteraction","hasSections","highlightedIndex","setHighlightedIndex","highlightedIndexRef","listRef","_suggestions","section","sectionIndex","suggestionIndex","normalizeSuggestions","handleHighlight","highlightedElm","handleSelect","currentHighlightedIndex","currentNormalizedIndex","renderSuggestionList","items","normalizedIndex","suggestionContent","_props$id","_props$debounceTimeou","debounceTimeout","_props$fetchSuggestio","fetchSuggestions","_props$suggestionList","isSuggestionListInline","isLoadingSuggestions","onClear","_props$triggerCompone","triggerComponent","suggestionListFooter","suggestionListContainerClassName","suggestionListFooterClassName","suggestionListChangeMessage","_props$suggestionList2","suggestionListLoadingMessage","suggestionListErrorMessage","onSuggestionListClose","timerRef","suggestionListContainerRef","areSuggestionsVisible","setSuggestionsVisible","highlightedSuggestionId","setHighlightedSuggestionId","isTriggerFocused","setTriggerFocus","suggestionsLength","handleOutsideClick","inputElm","callSuggestionListClose","suggestionListId","suggestionsElm","loadingElm","errorElm","suggestionListContainerCssVal","suggestionContainerElm","_suggestListChangeMessage","icons","Alert","_styles$alertType","_styles$alertIcon","closeBtnEl","sysSizeFieldSm","sysColorSystemMain","sysColorSystemMainActive","sysColorSelectedContrast","sysColorInfoMain","sysColorInfoContrast","sysColorWarningMain","sysColorWarningContrast","sysColorErrorContrast","alertPaddingRightSpacing","alertPaddingRight","alertPaddingLeft","alertPaddingTop","alertPaddingBottom","alertPaddingRightWithoutClose","alertIconSpaceLeft","sysAlertCloseBtnSpaceTop","sysAlertCloseBtnSpaceRight","sysAlertIconSvgSpaceTop","closeBtn","alertColor","closeBtnStyle","focusColor","iconColor","noCloseBtn","alertType","colorMap","alertCloseBtn","closeBtnMap","classLabel","alertIcon","iconMap","AlertStatusIcon","alertCSSVal","_styles$alertCloseBtn","alertCloseBtnCSSVal","alertSvgCSSVal","_ref$label","styles$2","avatar","useStyles","sysBorderRadiusMd","sysColorSpecialtyMain","sysColorSpecialtyContrast","sysColorBackgroundMain","sysColorWarningAlt","badgeColor","iconBadge","iconVerticalSpacing","badgeType","critical","neutral","authorized","inProgress","onHold","favorite","numeric","_styles$badgeType","leftIconLabel","badgeCssVal","badgeIcon","Banner","_styles$getBanner","_styles$getTextColor","_styles$getTextColor2","_styles$fullWidth","titleClassName","subTitleClassName","_ref$title","specialtyIcon","subText","sysColorErrorMainActive","sysColorWarningMainActive","sysColorSpecialtyMainActive","textTitle","getColorMap","bgColor","textColor","getBanner","_getColorMap","getTextColor","leftSideIcon","rightSideIcon","bannerCssVal","titleCssVal","subTextCssVal","subTextContent","titleRef","setRtl","titleElm","specialty","ClickIcon","bannerContent","commonProps","componentTypeProps","IS_SPACEBAR","_styles$getCaptionSty","primaryAlt","sysColorLinkAlt","sysColorLinkAltHover","sysColorLinkAltActive","sysColorLinkContrast","sysColorLinkContrastActive","sysColorLinkContrastHover","sysColorLinkMain","sysColorLinkMainActive","sysColorLinkMainHover","sysBorderRadiusXs","getFocusInlineStyles","getCaptionStyles","useSecondaryStyles","useInverseStyles","variantName","leftIconElement","isSecondaryStyles","linkStyles","sysColorSelectedMain","checkboxItemTextSpacing","checkboxBase","checkboxGroup","groupBase","checkboxLabel","groupLabel","iconLabel","checkIcon","partialIcon","checkboxInput","checkboxErrorState","errorCheckIconContainer","checkboxMessageText","labelError","helper","groupHelper","checkboxItems","itemThumbnail","itemThumbnailDecoration","itemText","itemSecondaryText","groupBaseWithSecText","legalConsentLabel","legalConsentText","legalConsentSupportingTextWrapper","legalConsentSupportingTextWrapperWhenNoLabel","legalConsentLinksWrapper","legalConsentLinksWrapperWhenNoLabel","checkIconContainer","isDecoration","legalConsentGroupSpacing","Checkbox","_checkboxStyles$check","labelIconElm","checkboxCheckIcon","checkboxPartialIcon","helperTextElm","iconContainerCssVal","labelContainerCssVal","checkboxItemsIcon","checkboxItemsElm","ariaLabel","labelIcon","_ref$errorIconAriaLab","_ref$successIconAriaL","partial","inCheckboxGroup","checkboxStyles","checkboxId","checkboxErrorIcon","checkboxSuccessIcon","componentMarkup","_styles$checkIconCont","_ref$links","links","linkComponents","legalConsentSupportingTextWrapperCssVal","legalConsentLinksWrapperCssVal","Tag","CheckboxGroup","isError","isSuccess","helperCssVal","checkboxList","_ref$alphaCharCapital","alphaCharCapitalize","_ref$error","inputWrapperClassName","_ref$pinLength","pinLength","_ref$numberOnly","numberOnly","inputFieldRef","NUM_REGEX","keyEventsArry","setFocused","pinArray","valueArr","generateCode","pinArr","focusOnField","handleBlur","relatedTarget","handleFocus","codeInputTextInput","codeInputTextInputWithError","codeInputTextInputControl","inputWrapper","errorTextList","containerCSS","loadInputField","setRef","onInput","handleInput","IS_ARROW_KEY","IS_BACKSPACE","IS_DELETE","onPaste","clipboardValue","clipboardData","getData","pastedArr","minArr","handlePaste","pattern","flagData","Flag","_styles$flagSize","_styles$scale","_styles$flag","countryCode","_ref$size","_ref$noRoundCorners","noRoundCorners","sysColorStructureDivider","countries","sprites","sprite1x","sprite2x","flagSprite1XUrl","flagSprite2XUrl","flagSprite1XWidth","flagSprite1XHeight","flagSprite2XWidth","flagSprite2XHeight","flagWidth","countryScale","density","calculatedVal","flagSize","sizeLabel","flag","toLocaleLowerCase","backgroundPosition","flagLabel","containerCssVal","flagCssVal","CountryInput","_ref$countryList","countryList","filterProps","displayNamesObj","optionLabel","optionRest","getDisplayNamesObject","_createClass","_superPropBase","_get","receiver","_set","isStrict","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","ChangeDetails","details","rawInserted","skip","tailShift","isString","DIRECTION","forceDirection","escapeRegExp","normalizePrepare","prep","ActionDetails","cursorPos","oldValue","oldSelection","startChangePos","start","insertedCount","removedCount","ContinuousTailDetails","tail","masked","aggregate","_appendPlaceholder","beforePos","shiftChar","IMask","opts","InputMask","Masked","_value","_update","isInitialized","withValueRefresh","doCommit","doParse","doFormat","extractInput","isComplete","fromPos","toPos","appendTo","checkTail","consistentState","_normalizePrepare","doPrepare","_normalizePrepare2","_appendCharRaw","consistentTail","appended","doValidate","beforeTailState","overwrite","unshift","tailDetails","appendTail","_beforeTailState","ci","_appendChar","eager","_appendEager","_refreshing","rawInput","rawInputValue","_isolated","prepare","validate","commit","deleteCount","removeDirection","oldRawValue","extractTail","nearestInputPos","valLength","tval","typedValue","EMPTY_VALUES","maskedClass","MaskedRegExp","MaskedPattern","MaskedDate","MaskedNumber","MaskedDynamic","MaskedFunction","createMask","MaskedClass","DEFAULT_INPUT_DEFINITIONS","PatternInputDefinition","blockOpts","isFilled","isOptional","placeholderChar","unmaskedValue","lazy","_this$masked","_this$masked2","_this$masked3","minPos","maxPos","boundPos","_this$masked4","_this$parent","PatternFixedDefinition","isFixed","isUnmasking","_isRawInput","char","isResolved","ChunksTailDetails","chunks","tailChunk","lastChunk","extendLast","firstTailChunk","blockIndex","lastBlockIter","_mapPosToBlock","chunkBlock","_stops","_blocks","remainChars","cstate","chunkShiftPos","PatternCursor","pos","_log","ok","_blockStartPos","bindBlock","_this$block","_pushLeft","_pushRight","_this6","_Masked","definitions","_rebuildMask","defs","_maskedBlocks","unmaskingBlock","optionalBlock","blocks","bNames","bName","maskedBlock","isInput","STOP_CHAR","ESCAPE_CHAR","def","maskedState","bi","_this$_mapPosToBlock","startBlockIndex","blockIter","_flags$_beforeTailSta","_flags$_beforeTailSta2","_block","blockDetails","chunkTail","_forEachBlocksInRange","bFromPos","bToPos","blockChunk","_findStopBefore","stopBefore","si","toBlockIndex","startBlockIter","endBlockIndex","bDetails","accVal","_block2","blockStartPos","fromBlockIter","toBlockIter","isSameBlock","fromBlockStartPos","fromBlockEndPos","removeDetails","pushRightBeforeInput","popState","pushLeftBeforeInput","pushRightBeforeFilled","pushLeftBeforeRequired","pushLeftBeforeFilled","pushRightBeforeRequired","maskedBlocks","indices","gi","InputDefinition","FixedDefinition","MaskedRange","_MaskedPattern","maxLength","fromStr","padStart","toStr","sameCharsCount","repeat","minstr","maxstr","padEnd","autofix","nextVal","_this$boundaries","boundaries","_this$boundaries2","_get2","firstNonZero","_matchFrom","_this$boundaries3","_this$boundaries4","GET_DEFAULT_BLOCKS","Y","getFullYear","getMonth","getDate","bk","date","isDateExist","_str$split2","day","month","year","MaskElement","_unsafeSelectionStart","_unsafeSelectionEnd","selectionStart","selectionEnd","_unsafeSelect","handlers","HTMLMaskElement","_MaskElement","_handlers","_this$input$getRootNo","_this$input$getRootNo2","_this$input","getRootNode","rootElement","setSelectionRange","_toggleEventHandler","EVENTS_MAP","selectionChange","drop","click","HTMLContenteditableMaskElement","_HTMLMaskElement","selection","getSelection","anchorOffset","focusOffset","createRange","range","setStart","setEnd","lastChild","removeAllRanges","addRange","isContentEditable","_listeners","_unmaskedValue","_saveSelection","_onInput","_onChange","_onDrop","_onFocus","alignCursor","alignCursorFriendly","_bindEvents","updateValue","maskEquals","updateOptions","updateControl","typedValueEquals","bindEvents","unbindEvents","ev","_cursorChanging","_changingCursorPos","_selection","newUnmaskedValue","isChanged","_fireChangeEvents","restOpts","updateMask","updateOpts","objectIncludes","arrA","arrB","dateA","dateB","getTime","regexpA","regexpB","_delayUpdateCursor","_abortUpdateCursor","_fireEvent","_inputEvent","hIndex","removed","updateCursor","_unbindEvents","_updateRegExps","allowNegative","_numberRegExpInput","_numberRegExp","_mapToRadixRegExp","mapToRadix","_thousandsSeparatorRegExp","noSepCh","_removeThousandsSeparators","prepCh","extendOnSeparators","count","_separatorsCount","_this$_adjustRangeWit","_adjustRangeWithSeparators","_this$_adjustRangeWit2","prevBeforeTailValue","prevBeforeTailSeparatorsCount","_separatorsCountFromSlice","appendDetails","_insertThousandsSeparators","beforeTailValue","beforeTailSeparatorsCount","searchFrom","separatorPos","separatorAroundFromPos","_findSeparatorAround","separatorAroundToPos","_this$_adjustRangeWit3","_this$_adjustRangeWit4","valueBeforePos","valueAfterPos","separatorAtLeftPos","separatorAtLeftEndPos","separatorAtRightPos","valid","validnum","formatted","normalizeZeros","_normalizeZeros","_padFractionalZeros","sign","zeros","signed","tooltip","tooltipOrigin","MaskType","Range","MaskedTextInput","_ref$maskOptions","onAccept","onComplete","maskedRef","elm","_masked","destroy","Tooltip","tooltipWindow","containerPos","scrollX","originWidth","originHeight","originPos","maxWidth","iconSpacing","spacingOffset","tooltipIconSize","_ref$description","_ref$screenReaderText","verifiedIcon","windowId","windowRef","triggerClassName","tooltipClassName","imageElement","_ref$imagePosition","imagePosition","tooltipOriginRef","tooltipRef","sysSizePointerWidthLg","_iconStyles","iconBase","iconSizeXs","pointerHeight","imageAlignBottom","justifyImage","imageAlignTop","image","imageTopLeft","imageTopCenter","imageBottomLeft","imageBottomCenter","noop","currentEvent","getWrapperCurrent","setTooltipPosition","_containerPos","_containerPos2","offsetTop","offsetLeft","selfPosition","topCenterX","topCenterY","sideShift","offsetY","offsetX","setOpen","clearOpen","windowEl","positionTooltip","providedWindow","getTooltipBoundary","offsetWidth","pageXOffset","pageYOffset","rootFontSizePx","rootFontSize","tooltipMaxWidthPx","tooltipMaxWidth","winLeft","winRight","availableLeftSpace","availableRightSpace","halfMaxWidth","availableSpace","currentWidth","setWidth","buttonWidth","leftPosX","leftPosY","rightPosX","rightPosY","imagePositionStyleName","_first","second","third","imagePositionCSSVal","displayImage","tooltipNode","onMouseLeave","TooltipIcon","_templateObject58","_templateObject59","_templateObject60","_templateObject61","CurrencyInput","_ref$currencyType","_getCurrencyMaskOptio","inputMode","computedValue","_computedValue$split","_computedValue$split2","wholePart","fractionalPart","fractionValue","sysColorSelectedRangeMain","sysColorSelectedRangeContrast","responsiveTableBase","summaryWrapper","fixedFirstColumn","thead","tbody","tfoot","rowBase","rowSelected","rowResponsive","rowHeading","rowFooting","rowSummaryItem","rowSummaryAdjust","rowSummaryTotal","cellBase","cellResponsive","headRowCell","footerRowCell","dataHeaderCell","summaryHeaderCell","summaryFooterCell","stickyRowHeader","stickyRowFooter","stickyColHeading","cellHeading","legacyTh","tableBase","legacyTableBase","scrollContext","scrollContextTable","fixedFirstColumnTable","mobileGridZones","zone_hidden","zone_a1","zone_a2","zone_a3","zone_a12","zone_a23","zone_a123","zone_b1","zone_b2","zone_b3","zone_b12","zone_b23","zone_b123","zone_ab1","zone_ab2","zone_ab3","zone_ab12","zone_ab23","zone_ab123","columnRemaining","columnStart","columnEnd","columnCenter","getAlignment","mobileWidth","widthStr","mobileAlign","customWidth","normalCell","utilityCell","summaryHeadingCell","summaryItemCell","summaryAdjustCell","summaryTotalCell","DEFAULT_TABLE_CONTEXT","tableType","isResponsive","isSticky","PPTableContext","ResponsiveTable","_ref$fixedFirstColumn","isLegacy","tableStyles","tableCss","TableSection","tableContext","newTableContext","TableBody","TableHead","TableFoot","TableRow","rowCss","stickableFooters","TableCell","_context$section","_tableStyles$getAlign","_tableStyles$customWi","_tableStyles$mobileWi","_tableStyles$mobileAl","styleSet","headerContext","isFirst","mobile","claimsRemainingSpace","_props$span","isHeader","_props$align","sectionCss","cellCss","headerRow","stickyColHeader","footerRow","placement","cellProps","colSpan","TableHeadingCell","ownKeys$3","_objectSpread$3","Table","_ref$scroll","scroll","isFullWidth","_ref$isLegacy","renderTable","sysSizePictogramSm","sysColorStructureScrim","mdBreakpoint","flexContainer","settingsIcon","interactiveCellCheckbox","interactiveCellCheckboxDisabled","emptyTableLabel","infoBlock","infoBlockMessage","infoBlockAction","infoBlockDecoration","iconMessage","seeMoreBlock","headerButton","currentlySortedByIcon","tableLoading","spinnerBlock","spinnerOverlay","TableHeader$1","memo","checkboxElm","columnOrder","isInteractive","_ref$toggleAllLabel","toggleAllLabel","selectedRows","idPrefix","rows","interactiveCellContentClassName","onSort","sortInProgress","settings","rowIds","isUnselectable","checkboxElmCSSVal","isAnythingChecked","allChecked","renderColumnHeader","isLast","sortButtonLabel","sortDirection","isSortCurrent","SortIcon","hiddenLabel","_align","hasContent","cellContext","headerElms","TableBody$1","loadingProps","renderCells","columnName","cellAs","renderCellContent","_columns$columnName","renderInteractiveCellContent","rowElms","updatedSelection","cellElms","EmptyBlock","buttonLabel","buttonRef","buttonAction","processing","errorMsg","retryButtonLabel","onRetry","retryButtonRef","loadingText","emptyMsg","cols","deprecationCheck","deprecatedItems","propName","DataTable","_ref3$rows","_ref3$columns","_ref3$description","_ref3$isLoading","_ref3$loadingStateLab","loadingStateLabel","_ref3$isInteractive","_ref3$selectedRows","seeMoreProps","visibleCols","_cols$col","isVisible","spinnerElm","TableComponent","colCount","backToTopLabel","onBackToTopClick","errorRow","seeMoreButton","backToTopButton","table","closest","firstCell","getClientRects","firstRow","calendarContainerOffset","getDateDimensions","dateSize","calendarTrigger","calendarContainerStyle","calendarContainer","calendarContainerLeft","calendarContainerRight","calendarNav","calendarNavButtonPrev","calendarNavButtonNext","calendarNavButtonsNotFocusable","calendarNavButtonsHidden","tableFullWidth","calendarTable","calendarCellInRange","calendarCellRangeStart","calendarCellRangeEnd","calendarDate","calendarDateInRange","calendarDateNotCurrent","calendarDateDisabled","calendarDateToday","calendarDateSelected","calendarDueDate","calendarDueDateSelected","calendarDueDateIconContainer","calendarDueDateIcon","legendItem","legendKey","dueDateLegendKey","wrapperContainer","CalendarContainer","isCalendarVisible","calendarTriggerRef","wrapperContainerRef","onShowCalendar","_ref$calendarInSheet","calendarInSheet","setMobile","calendarPosition","setCalendarPosition","handleResize","_containerRef$current","_containerRef$current2","_isMobile","myref","calendarTriggerPos","calculatedSpace","fontSize","wrapperContainerPos","getCalendarBoundary","DEFAULT_MASK_OPTIONS","localTimeZone","Intl","DateTimeFormat","timeZone","defaultParseDate","defaultFormatDate","CalendarRange","calendar","selectedDate","parseDate","formatDate","_ref2$formatterSkelet","formatterSkeleton","sheetContainerRef","prevVal","_maskOptions","dateTimeFormatter","separator","getDateMaskOptions","_useMemo","_formatDate","_parseDate","getFormatters","handleComplete","handleAccept","svgElementRef","Divider","DropdownMenu","menuContainerClassName","menuListClassName","menuItemClassName","menuMobileHeaderClassName","menuButtonClassName","menuLabelClassName","_props$skipButtonFocu","skipButtonFocus","_props$label","_props$errorIconAriaL","_props$options","ariaLabelledby","renderButtonContent","showUnselect","textFieldLabelLg","textFieldValueSm","textFieldLabelSm","buttonActive","buttonErrorActive","buttonError","labelActive","affordanceIcon","selectBox","buttonId","selectId","btn","detail","handleItemClick","buttonCurrent","hasOptionsIndex","buttonText","buttonValue","AffordanceIconComponent","labelledBy","otherButtonAttr","buttonCssVal","labelCssVal","opt","hasNoModifiers","dropdownErrorIcon","_ref$onKeyDown","showEditIcon","cursorPosition","blinker","animateCursor","centerAlign","baseNoFocus","errorTextSpacing","view","viewCenter","textInput","focusedView","focusEntered","focusImplied","focusImpliedDefault","entered","impliedDefault","editIcon","setEntered","implied","setImplied","computedRef","currencyParts","handleChange","decimal","inputFocused","parseDisplay","currencySymbol","setInputFocus","viewCss","enteredCss","impliedCss","inputCss","computedUnmaskedValue","IS_SIDE_NAVIGATION","tabindex","sysSizeIndicatorLg","sysColorUnselectedMain","peekWidth","mobileItemMargin","itemMargin","itemList","buttonNavigation","buttonPrevious","buttonNext","itemListDesktop","pageContainer","dots","dot","dotSelected","getFlexBasisItems","isMobileBreakpoint","numOfVisibleItems","hasFixedSizeItems","getContainerWidth","pageWidth","renderItem","itemElements","_styles$getFlexBasisI","flexBasisStyles","getChildMapping","mapFn","mapper","getProp","prop","getNextChildMapping","prevChildMapping","onExited","nextChildMapping","getValueForKey","nextKeysPending","pendingKeys","prevKey","childMapping","nextKey","pendingNextKey","mergeChildMappings","hasPrev","hasNext","prevChild","isLeaving","in","exit","enter","TransitionGroup","handleExited","contextValue","isMounting","firstRender","mounted","appear","currentChildMapping","childFactory","TransitionGroupContext","Transition","initialStatus","appearStatus","unmountOnExit","mountOnEnter","nextCallback","updateStatus","nextStatus","cancelNextCallback","getTimeouts","timeout","mounting","nodeRef","forceReflow","performEnter","performExit","appearing","maybeNode","maybeAppearing","timeouts","enterTimeout","safeSetState","onEntered","onEnter","onEntering","onExit","onExiting","cancel","setNextCallback","doesNotHaveTimeoutOrListener","addEndListener","maybeNextCallback","UNMOUNTED","EXITED","ENTERING","ENTERED","EXITING","_props$isHidden","hideToggleLabel","onToggleHide","typeProp","iconButtonLabel","sysSizeMediaXs","telephoneInputRtlStyles","combined","menuButton","menuButtonContent","VAR_LENGTH_COUNTRIES_FIXED_LINE","VAR_LENGTH_COUNTRIES_MOBILE","DEFAULT_PATTERN","getPhoneFormat","phoneRegion","formatType","providedCountryCode","providedPhoneFormat","isPhoneMetaDataLoaded","phoneFormatter","phoneType","phoneExampleGenerator","exampleGenerator","region","exampleNumberObj","generate","nationalNumber","phoneNumberFormat","formattedNumber","phoneNumber","varLengthCountries","patternLength","optionalDigits","PhoneCodeDropdown","countryOptions","flagId","codeId","countryPhoneCode","countryName","_ref$countryOptions","_ref$inputLabel","inputLabel","_ref$menuLabel","menuLabel","menuClassName","_ref$mobile","onPhoneCodeChange","phoneCode","_ref$showUnselect","_ref$unselectLabel","unselectLabel","optionText","optionCode","optionPattern","optionCountryRegion","optionCountryName","menuOptions","locale","hasFocus","phoneFormat","phoneParts","countryRegion","constructOptionProps","currentMask","selectedCountry","selectedPhoneCode","_evt$target","_evt$target$value","generatedFlagId","generatedCodeId","phoneDropdownMenuCSS","dropdownEl","inputEl","combinedInputCSS","_ref$formatType","codePrefix","codeSuffix","Color","Size","blue","Accent1","magenta","Accent2","green","Accent3","purple","Accent4","sysColorAccent1Contrast","sysColorAccent1Main","sysColorAccent2Contrast","sysColorAccent2Main","sysColorAccent3Contrast","sysColorAccent3Main","sysColorAccent4Contrast","sysColorAccent4Main","sysColorBackgroundAlt","sysColorSystemContrast","sysSizeIndicatorSm","sysSizeIndicatorXs","textCaptionStrong","circleProgressMeterSize","circleProgressMeterBorderSize","circleProgressMeterSmSize","circleProgressMeterSmBorderSize","circleProgressMeterPadding","progressIndicatorCircleStrokeWidth","progressIndicatorCircleSmStrokeWidth","colorMapContrast","colorMapAccent","getProgressMeterHeightStyles","getColorStyles","isSizeSmall","SMALL","getProgressMeterColorStyles","meterColor","getStrokeColorStyles","inverseLabel","inverseLabelSteps","inverseLabelTitle","steps","labelSteps","labelTitle","sizeSmLabel","sizeSmLabelSteps","sizeSmLabelTitle","sizeSmInverseLabelSteps","sizeSmInverseLabelTitle","circleBase","circleInner","circleInnerImage","linear","circle","inner","progressIndicator","toFixed","progressIndicatorSizeSm","innerImage","circleRadiusSvg","getCircleRadius","getDashOffsetStyles","maxDashOffset","dashOffset","getIconWrapStyles","sizeValue","util","CircleProgressMeter","_styles$util","_styles$util$isSizeSm","_styles$circle","_styles$circle$getCir","_styles$circle2","_styles$circle3","_styles$circle4","_styles$circle5","_styles$circle6","_styles$circle7","_styles$circle7$getDa","_styles$circle8","_styles$util2","_styles$util2$getColo","_styles$circle9","_styles$circle10","_props$max","_props$value","PI","computedColor","baseStyles","iconStyles","circleInnerStyles","viewBox","xmlns","cy","_styles$util3","_styles$util3$isSizeS","_styles$circle11","_styles$circle11$getI","LARGE","_styles$circle12","imageSrc","radiobuttonItemTextSpacing","radioGroupBase","radioBase","radioGroupLabel","radioGroupLabelWithIcon","radioGroupLabelIcon","radioLabel","inputWithError","centeredLabelCheckIconContainer","centeredLabelInput","errorCenteredLabelInput","groupHelperText","RadioCheckIcon","checkIconCssVals","fill","Radio","inferValue","_ref$centeredLabel","centeredLabel","_ref$checked","helperTextCssVals","inputCssVals","checkIconContainerCssVals","FieldGroupLabel","FieldGroupMessage","radioErrorIcon","RadioButton","changeHandler","radioLabelClassName","_ref$options","radioId","fieldGroupLabelCssVal","listProps","checkedPropName","radioProps","SearchInput","keepClearButton","_props$clearButtonLab","clearButtonLabel","_props$clearButtonAri","clearButtonAriaLabel","cleared","setCleared","clearButtonProps","clearButton","sysElevationLevel1Yoffset","animateToDirection","tabWrapBaseStyles","tabStyles","tabTitleStyles","tabContentStyles","tabContentVisible","tabContentHidden","SegmentedControllerTab","_styles$animateToDire","tabIdx","segmentedControllerId","panelId","selected","animate","tabId","SegmentedControllerTabs","selectedTabIdx","_ref$tabs","tabs","tabClassName","tabsWrapperClassName","keepAlive","lazyLoad","containerEleRef","prevSelectedTabIdxRef","isTabsFocusedRef","focusedIdxRef","getSelectedTabIdx","offsetFocus","myRef","tabDomItems","selectedId","tabIdxClicked","tabItems","tabProps","keyIdentifier","animateDirection","LEFT","tabContent","_panel","hidden","visible","tabPanel","keyHandler","SegmentedControllerPanel","_ref$visible","hasRendered","panelContentStyles","sysBorderThicknessFocus","selectionGroupLabelPadding","selectionGroupErrorLabelPadding","selectionGroupErrorSelectedLabelPadding","verticalOrientation","buttons","buttonsResponsiveXs","buttonsResponsiveSm","buttonsResponsiveMd","verticalButtons","centerButtons","justifyButtons","primaryLabelWhenFocusedAndChecked","secondaryLabelVertical","verticalLabel","justifyLabel","secondaryLabelTwo","errorLabel","errorLabelWhenChecked","errorLabelWhenFocus","SingleSelectionGroup","hideLabel","_ref2$value","responsive","_ref2$options","_ref2$alignContent","alignContent","buttonBarCSS","inputValue","secondaryLabel","onMouseOver","defaultChecked","otherInputAttr","renderSingleButtons","IfNotEmpty","help","inline","required","sysColorSelectedMainHover","sysColorUnselectedMainHover","switchBorderRadius","switchTranslateWidth","inlineLabel","inlineHelperText","containerCSSVal","textBodyStrong","tabPaddingLeft","noDisplay","blockDisplay","tabWrapperBase","tabsWrapper","tabsCenter","tabsBtn","tabsSelectedBtn","tabsScrollBtn","tabsScrollBtnLeft","tabsScrollBtnRight","tabsScrollBtnVisible","tabsArrowIcon","tabContentFocus","hideBtn","navBackground","Tab","tabGroupId","isRunningOnIEorEdge","Tabs","_ref$scrollLeftLabel","scrollLeftLabel","_ref$scrollRightLabel","scrollRightLabel","addBackgroundColor","navEleRef","overflowDir","setOverflowDir","determineOverflow","_scroll","navRight","tabsRight","navLeft","tabsLeft","Event","dispatchEvent","handleFocusOut","newFocusedItem","resizeObserver","scrollButtons","ResizeObserver","btnHeight","tabContentItem","scrollAmount","slideTimer","setInterval","clearInterval","leftScrollCssVal","rightScrollCssVal","tab","otherTabProps","otherIconButtonAttr","isScrolling","prevFocusedItem","TabPanel","hasMouseClickFocus","mouseFocus","updateMouseFocus","hasClickFocus","sysColorStructureBorderLowContrast","textHeadingSm","clickable","sizeXsLong","_excluded4","Card","cardStyles","sizeStyleMap","Header","Content","Footer","Toast","_ref$message","_ref$isSuccess","_ref$duration","duration","verticalExitPosition","fadeOut","hide","showState","toastRef","autoHideTimer","toast","toastCSSVal","WellKnownSymbolsStore","createWellKnownSymbol","withoutSetter","Target","exportSidecar","exported","isSideCarExport","Parent","Class","_cache","Wrapper","defaultSymbolMap","notation","precedence","rightToLeft","argCount","regSymbol","of","_Error","PolishedError","unitRegExp","operators","op","calculate","expression","additionalSymbols","symbolMap","mergeSymbolMaps","afterValue","token","bad","notNumber","notNewValue","notAfterValue","curr","reverseString","math","formula","reversedFormula","formulaMatch","cssRegex$1","stripUnit","pixelsto","pxval","newPxval","newBase","cssRegex","getValueAndUnit","matchedValue","rem$1","convertBase","deconstructedValue","remToPx","getBaseFromDoc","colorToInt","round","convertToInt","red","hslToRgb","hue","saturation","lightness","convert","huePrime","chroma","secondComponent","lightnessModification","namedColorMap","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blueviolet","brown","burlywood","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","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","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","rebeccapurple","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","hexRegex","hexRgbaRegex","reducedHexRegex","reducedRgbaHexRegex","rgbRegex","rgbaRegex","hslRegex","hslaRegex","parseToRgb","normalizedColor","normalizedColorName","nameToHex","alpha","_alpha","rgbMatched","rgbaMatched","hslMatched","rgbColorString","hslRgbMatched","hslaMatched","_rgbColorString","_hslRgbMatched","reduceHexValue$1","numberToHex","hex","rgb","rgba","firstValue","secondValue","thirdValue","fourthValue","rgbValue","ordinaryToPrimitive","TO_PRIMITIVE","exoticToPrim","_ref$disabled","_ref$className","FOCUS_GROUP","FOCUS_DISABLED","FOCUS_ALLOW","FOCUS_AUTO","FOCUS_NO_AUTOFOCUS","useInsertionEffect","useInsertionEffectAlwaysWithSyncFallback","useInsertionEffectWithLayoutFallback","defaultReturn","argTransform","mediumFocus","mediumBlur","mediumEffect","mediumSidecar","names","simple","unsafe","nonConfigurable","nonWritable"],"mappings":";iIAgDA,IAAIA,EAA0B,WAE5B,SAASA,EAAWC,GAClB,IAAIC,EAAQC,KACZA,KAAKC,WAAa,SAAUC,GAC1B,IAAIC,EAGAA,EAFsB,IAAtBJ,EAAMK,KAAKC,OACTN,EAAMO,eACCP,EAAMO,eAAeC,YACrBR,EAAMS,QACNT,EAAMU,UAAUC,WAEhBX,EAAMI,OAGRJ,EAAMK,KAAKL,EAAMK,KAAKC,OAAS,GAAGE,YAE7CR,EAAMU,UAAUE,aAAaT,EAAKC,GAClCJ,EAAMK,KAAKQ,KAAKV,IAElBF,KAAKa,cAA8BC,IAAnBhB,EAAQiB,QAA+DjB,EAAQiB,OAC/Ff,KAAKI,KAAO,GACZJ,KAAKgB,IAAM,EACXhB,KAAKiB,MAAQnB,EAAQmB,MAErBjB,KAAKkB,IAAMpB,EAAQoB,IACnBlB,KAAKS,UAAYX,EAAQW,UACzBT,KAAKQ,QAAUV,EAAQU,QACvBR,KAAKM,eAAiBR,EAAQQ,eAC9BN,KAAKG,OAAS,KAEhB,IAAIgB,EAAStB,EAAWuB,UAiDxB,OAhDAD,EAAOE,QAAU,SAAiBC,GAChCA,EAAMC,QAAQvB,KAAKC,aAErBkB,EAAOK,OAAS,SAAgBC,GAI1BzB,KAAKgB,KAAOhB,KAAKa,SAAW,KAAQ,IAAO,GAC7Cb,KAAKC,WAlDX,SAA4BH,GAC1B,IAAII,EAAMwB,SAASC,cAAc,SAOjC,OANAzB,EAAI0B,aAAa,eAAgB9B,EAAQoB,UACnBJ,IAAlBhB,EAAQmB,OACVf,EAAI0B,aAAa,QAAS9B,EAAQmB,OAEpCf,EAAI2B,YAAYH,SAASI,eAAe,KACxC5B,EAAI0B,aAAa,SAAU,IACpB1B,EA0Ca6B,CAAmB/B,OAErC,IAAIE,EAAMF,KAAKI,KAAKJ,KAAKI,KAAKC,OAAS,GAWvC,GAAIL,KAAKa,SAAU,CACjB,IAAImB,EA/EV,SAAqB9B,GACnB,GAAIA,EAAI8B,MAEN,OAAO9B,EAAI8B,MAKb,IAAK,IAAIC,EAAI,EAAGA,EAAIP,SAASQ,YAAY7B,OAAQ4B,IAC/C,GAAIP,SAASQ,YAAYD,GAAGE,YAAcjC,EAExC,OAAOwB,SAASQ,YAAYD,GAoEhBG,CAAYlC,GACxB,IAGE8B,EAAMK,WAAWZ,EAAMO,EAAMM,SAASjC,QACtC,MAAOkC,GACH,QAKNrC,EAAI2B,YAAYH,SAASI,eAAeL,IAE1CzB,KAAKgB,OAEPG,EAAOqB,MAAQ,WAEbxC,KAAKI,KAAKmB,SAAQ,SAAUrB,GAC1B,OAAOA,EAAIuC,YAAcvC,EAAIuC,WAAWC,YAAYxC,MAEtDF,KAAKI,KAAO,GACZJ,KAAKgB,IAAM,GAKNnB,EAhFqB,GChD1B0C,EAAI,OACJI,EAAI,QACJC,EAAI,WACJC,EAAI,OACJC,EAAI,OACJC,EAAI,OASJC,EAAI,aAKJC,EAAIC,KAAKC,IACTC,EAAIC,OAAOC,aACXC,EAAIC,OAAOC,OACf,SAASC,EAAEnB,EAAGI,GACZ,OAAiB,GAAVgB,EAAEpB,EAAG,MAAaI,GAAK,EAAIgB,EAAEpB,EAAG,KAAO,EAAIoB,EAAEpB,EAAG,KAAO,EAAIoB,EAAEpB,EAAG,KAAO,EAAIoB,EAAEpB,EAAG,GAAK,EAE9F,SAASqB,EAAErB,GACT,OAAOA,EAAEsB,OAEX,SAASC,EAAEvB,EAAGI,GACZ,OAAQJ,EAAII,EAAEoB,KAAKxB,IAAMA,EAAE,GAAKA,EAElC,SAASyB,EAAEzB,EAAGI,EAAGC,GACf,OAAOL,EAAE0B,QAAQtB,EAAGC,GAEtB,SAASsB,EAAE3B,EAAGI,GACZ,OAAOJ,EAAE4B,QAAQxB,GAEnB,SAASgB,EAAEpB,EAAGI,GACZ,OAAyB,EAAlBJ,EAAE6B,WAAWzB,GAEtB,SAAS0B,EAAE9B,EAAGI,EAAGC,GACf,OAAOL,EAAE+B,MAAM3B,EAAGC,GAEpB,SAAS2B,EAAEhC,GACT,OAAOA,EAAElC,OAEX,SAASmE,EAAEjC,GACT,OAAOA,EAAElC,OAEX,SAASoE,EAAElC,EAAGI,GACZ,OAAOA,EAAE/B,KAAK2B,GAAIA,EAEpB,SAASmC,EAAEnC,EAAGI,GACZ,OAAOJ,EAAEoC,IAAIhC,GAAGiC,KAAK,IAEvB,IAAIC,EAAI,EACJC,EAAI,EACJC,EAAI,EACJC,EAAI,EACJC,EAAI,EACJC,EAAI,GACR,SAASC,EAAE5C,EAAGI,EAAGC,EAAGC,EAAGC,EAAGC,EAAGqC,GAC3B,MAAO,CACLC,MAAO9C,EACP+C,KAAM3C,EACN4C,OAAQ3C,EACR4C,KAAM3C,EACN4C,MAAO3C,EACP4C,SAAU3C,EACV4C,KAAMd,EACNe,OAAQd,EACRzE,OAAQ+E,EACRS,OAAQ,IAGZ,SAASC,EAAEvD,EAAGI,GACZ,OAAOY,EAAE4B,EAAE,GAAI,KAAM,KAAM,GAAI,KAAM,KAAM,GAAI5C,EAAG,CAChDlC,QAASkC,EAAElC,QACVsC,GAUL,SAASoD,IAGP,OAFAd,EAAID,EAAID,EAAIpB,EAAEuB,EAAGF,KAAO,EACpBF,IAAW,KAANG,IAAUH,EAAI,EAAGD,KACnBI,EAET,SAASe,IACP,OAAOrC,EAAEuB,EAAGF,GAEd,SAASiB,IACP,OAAOjB,EAET,SAASkB,EAAE3D,EAAGI,GACZ,OAAO0B,EAAEa,EAAG3C,EAAGI,GAEjB,SAASwD,EAAE5D,GACT,OAAQA,GACN,KAAK,EACL,KAAK,EACL,KAAK,GACL,KAAK,GACL,KAAK,GACH,OAAO,EACT,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,IACL,KAAK,GACL,KAAK,IACL,KAAK,IACH,OAAO,EACT,KAAK,GACH,OAAO,EACT,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACH,OAAO,EACT,KAAK,GACL,KAAK,GACH,OAAO,EAEX,OAAO,EAET,SAAS6D,EAAE7D,GACT,OAAOsC,EAAIC,EAAI,EAAGC,EAAIR,EAAEW,EAAI3C,GAAIyC,EAAI,EAAG,GAEzC,SAASqB,EAAE9D,GACT,OAAO2C,EAAI,GAAI3C,EAEjB,SAAS+D,EAAE/D,GACT,OAAOqB,EAAEsC,EAAElB,EAAI,EA0BjB,SAASuB,EAAGhE,GACV,KAAOwD,KAAK,OAAQd,GAClB,KAAK1C,EACH,OAAOyC,EACT,KAAK,GACL,KAAK,GACO,KAANzC,GAAkB,KAANA,GAAUgE,EAAGtB,GAC7B,MACF,KAAK,GACO,KAAN1C,GAAUgE,EAAGhE,GACjB,MACF,KAAK,GACHwD,IAGJ,OAAOf,EAzCWuB,CAAS,KAANhE,EAAWA,EAAI,EAAU,KAANA,EAAWA,EAAI,EAAIA,KAK7D,SAASiE,EAAEjE,GACT,MAAO0C,EAAIe,MAASf,EAAI,IAAIc,IAC5B,OAAOI,EAAE5D,GAAK,GAAK4D,EAAElB,GAAK,EAAI,GAAK,IAerC,SAASwB,EAAGlE,EAAGI,GACb,OAASA,GAAKoD,OAASd,EAAI,IAAMA,EAAI,KAAOA,EAAI,IAAMA,EAAI,IAAMA,EAAI,IAAMA,EAAI,MAC9E,OAAOiB,EAAE3D,EAAG0D,KAAOtD,EAAI,GAAY,IAAPqD,KAAoB,IAAPD,MAmB3C,SAASW,EAAGnE,EAAGI,GACb,KAAOoD,KAASxD,EAAI0C,IAAM,KAAwB1C,EAAI0C,IAAM,IAAmB,KAARe,OACvE,MAAO,KAAOE,EAAEvD,EAAGqC,EAAI,GAAK,IAAM5B,EAAQ,KAANb,EAAWA,EAAIwD,KAErD,SAASY,EAAGpE,GACV,MAAQ4D,EAAEH,MAAMD,IAChB,OAAOG,EAAE3D,EAAGyC,GAEd,SAAS4B,EAAGrE,GACV,OAAO8D,EAET,SAASQ,EAAGtE,EAAGI,EAAGC,EAAGC,EAAGC,EAAGC,EAAGqC,EAAG0B,EAAG7E,GAClC,IAAI8E,EAAI,EACJC,EAAI,EACJC,EAAI7B,EACJ8B,EAAI,EACJC,EAAI,EACJnE,EAAI,EACJoE,EAAI,EACJC,EAAI,EACJC,EAAI,EACJC,EAAI,EACJtE,EAAI,GACJM,EAAIT,EACJY,EAAIX,EACJa,EAAIf,EACJiB,EAAIb,EACR,KAAOoE,GAAG,OAAQrE,EAAIuE,EAAGA,EAAIxB,KAC3B,KAAK,GACH,GAAS,KAAL/C,GAA2B,IAAfW,EAAEG,EAAGmD,EAAI,GAAU,EACU,GAAvC/C,EAAEJ,GAAKE,EAAEsC,EAAEiB,GAAI,IAAK,OAAQ,SAAcD,GAAK,GACnD,MAEJ,KAAK,GACL,KAAK,GACL,KAAK,GACHxD,GAAKwC,EAAEiB,GACP,MACF,KAAK,EACL,KAAK,GACL,KAAK,GACL,KAAK,GACHzD,GAAK0C,EAAExD,GACP,MACF,KAAK,GACHc,GAAK2C,EAAGR,IAAM,EAAG,GACjB,SACF,KAAK,GACH,OAAQD,KACN,KAAK,GACL,KAAK,GACHvB,EAAE+C,EAAGd,EAAGX,IAAKE,KAAMtD,EAAGC,GAAIX,GAC1B,MACF,QACE6B,GAAK,IAET,MACF,KAAK,IAAMsD,EACTN,EAAEC,KAAOxC,EAAET,GAAKwD,EAClB,KAAK,IAAMF,EACX,KAAK,GACL,KAAK,EACH,OAAQG,GACN,KAAK,EACL,KAAK,IACHF,EAAI,EACN,KAAK,GAAKL,GACE,GAANM,IAASxD,EAAIE,EAAEF,EAAG,MAAO,KACzBqD,EAAI,GAAK5C,EAAET,GAAKmD,GAAGxC,EAAE0C,EAAI,GAAKM,EAAG3D,EAAI,IAAKjB,EAAGD,EAAGqE,EAAI,GAAKQ,EAAGzD,EAAEF,EAAG,IAAK,IAAM,IAAKjB,EAAGD,EAAGqE,EAAI,GAAIhF,GACnG,MACF,KAAK,GACH6B,GAAK,IACP,QAEE,GADAW,EAAEb,EAAI8D,EAAG5D,EAAGnB,EAAGC,EAAGmE,EAAGC,EAAGlE,EAAGgE,EAAG7D,EAAGM,EAAI,GAAIG,EAAI,GAAIuD,GAAIlE,GAC3C,MAANwE,EAAW,GAAU,IAANP,EAASH,EAAG/C,EAAGnB,EAAGiB,EAAGA,EAAGL,EAAGR,EAAGkE,EAAGH,EAAGpD,QAAQ,OAAc,KAANwD,GAAwB,MAAZvD,EAAEG,EAAG,GAAa,IAAMoD,GACzG,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACHL,EAAGtE,EAAGqB,EAAGA,EAAGf,GAAK4B,EAAEiD,EAAGnF,EAAGqB,EAAGA,EAAG,EAAG,EAAGd,EAAGgE,EAAG7D,EAAGH,EAAGS,EAAI,GAAI0D,GAAIvD,GAAIZ,EAAGY,EAAGuD,EAAGH,EAAGjE,EAAIU,EAAIG,GACrF,MACF,QACEmD,EAAG/C,EAAGF,EAAGA,EAAGA,EAAG,CAAC,IAAKF,EAAG,EAAGoD,EAAGpD,IAGtCqD,EAAIC,EAAIG,EAAI,EAAGC,EAAIE,EAAI,EAAGrE,EAAIa,EAAI,GAAImD,EAAI7B,EAC1C,MACF,KAAK,GACH6B,EAAI,EAAI1C,EAAET,GAAIqD,EAAInE,EACpB,QACE,GAAIoE,EAAI,EAAG,GAAS,KAALG,IAAYH,OAAO,GAAS,KAALG,GAAmB,GAAPH,KAAmB,MA9LzEnC,EAAID,EAAI,EAAIrB,EAAEuB,IAAKF,GAAK,EACpBF,IAAW,KAANG,IAAUH,EAAI,EAAGD,KACnBI,GA4LuE,SAC1E,OAAQnB,GAAKV,EAAEmE,GAAIA,EAAIH,GACrB,KAAK,GACHE,EAAIN,EAAI,EAAI,GAAKlD,GAAK,MAAO,GAC7B,MACF,KAAK,GACHgD,EAAEC,MAAQxC,EAAET,GAAK,GAAKwD,EAAGA,EAAI,EAC7B,MACF,KAAK,GACS,KAARtB,MAAYlC,GAAKwC,EAAEP,MACvBmB,EAAIlB,IAAKgB,EAAIC,EAAI1C,EAAEtB,EAAIa,GAAK6C,EAAGV,MAAOsB,IACtC,MACF,KAAK,GACO,KAANvE,GAAoB,GAARuB,EAAET,KAASsD,EAAI,IAGvC,OAAOrE,EAjGE8D,CAAG,GAAI,KAAM,KAAM,KAAM,CAAC,IAAKtE,EAAI6D,EAAE7D,GAAI,EAAG,CAAC,GAAIA,IAmG5D,SAASmF,EAAGnF,EAAGI,EAAGC,EAAGC,EAAGE,EAAGqC,EAAG0B,EAAG7E,EAAG8E,EAAGC,EAAGC,GAIxC,IAHA,IAAIC,EAAInE,EAAI,EACRoE,EAAU,IAANpE,EAAUqC,EAAI,CAAC,IACnBpC,EAAIwB,EAAE2C,GACDC,EAAI,EAAGC,EAAI,EAAGC,EAAI,EAAGF,EAAIvE,IAAKuE,EAAG,IAAK,IAAIG,EAAI,EAAGnE,EAAIiB,EAAE9B,EAAG2E,EAAI,EAAGA,EAAIjE,EAAEoE,EAAIP,EAAEM,KAAM7D,EAAIhB,EAAGgF,EAAIvE,IAAKuE,GAAOhE,EAAIK,EAAEyD,EAAI,EAAIF,EAAEI,GAAK,IAAMnE,EAAIY,EAAEZ,EAAG,OAAQ+D,EAAEI,QAAMR,EAAEO,KAAO/D,GAChL,OAAO4B,EAAE5C,EAAGI,EAAGC,EAAS,IAANG,EAAUD,EAAIb,EAAG8E,EAAGC,EAAGC,GAE3C,SAASO,EAAGjF,EAAGI,EAAGC,GAChB,OAAOuC,EAAE5C,EAAGI,EAAGC,EAAGC,EAAGO,EA3Nd6B,GA2NsBZ,EAAE9B,EAAG,GAAI,GAAI,GAE5C,SAASkF,EAAGlF,EAAGI,EAAGC,EAAGC,GACnB,OAAOsC,EAAE5C,EAAGI,EAAGC,EAAGG,EAAGsB,EAAE9B,EAAG,EAAGM,GAAIwB,EAAE9B,EAAGM,EAAI,GAAI,GAAIA,GAkJpD,SAAS8E,EAAGpF,EAAGI,GAGb,IAFA,IAAIC,EAAI,GACJC,EAAI2B,EAAEjC,GACDO,EAAI,EAAGA,EAAID,EAAGC,IAAKF,GAAKD,EAAEJ,EAAEO,GAAIA,EAAGP,EAAGI,IAAM,GACrD,OAAOC,EAET,SAASgF,EAAGrF,EAAGI,EAAGC,EAAGwC,GACnB,OAAQ7C,EAAEiD,MACR,IAvbI,SAwbF,GAAIjD,EAAEmD,SAASrF,OAAQ,MACzB,IAncI,UAocJ,KAAK0C,EACH,OAAOR,EAAEsD,OAAStD,EAAEsD,QAAUtD,EAAE8C,MAClC,KAAKxC,EACH,MAAO,GACT,KAAKG,EACH,OAAOT,EAAEsD,OAAStD,EAAE8C,MAAQ,IAAMsC,EAAGpF,EAAEmD,SAAUN,GAAK,IACxD,KAAKtC,EACHP,EAAE8C,MAAQ9C,EAAEkD,MAAMb,KAAK,KAE3B,OAAOL,EAAE3B,EAAI+E,EAAGpF,EAAEmD,SAAUN,IAAM7C,EAAEsD,OAAStD,EAAE8C,MAAQ,IAAMzC,EAAI,IAAM,GAUzE,SAASiF,EAAGtF,GACV,OAAO,SAAUI,GACVA,EAAE2C,OAAU3C,EAAIA,EAAEkD,SAAQtD,EAAEI,I,wBC7djC,EAA8B,SAAqCmF,EAAOC,EAAQC,GAGpF,IAFA,IAAIC,EAAW,EACXC,EAAY,EAEdD,EAAWC,EACXA,EAAY,IAEK,KAAbD,GAAiC,KAAdC,IACrBH,EAAOC,GAAS,IAEd,EAAME,IAGV,IAEF,OAAO,EAAMJ,EAAO,IAuClB,EAAW,SAAkBzC,EAAO0C,GACtC,OAAO,EAtCK,SAAiBI,EAAQJ,GAErC,IAAIC,GAAS,EACTE,EAAY,GAChB,GACE,OAAQ,EAAMA,IACZ,KAAK,EAEe,KAAdA,GAA+B,KAAX,MAKtBH,EAAOC,GAAS,GAElBG,EAAOH,IAAU,EAA4B,EAAW,EAAGD,EAAQC,GACnE,MACF,KAAK,EACHG,EAAOH,IAAU,EAAQE,GACzB,MACF,KAAK,EAEH,GAAkB,KAAdA,EAAkB,CAEpBC,IAASH,GAAoB,KAAX,IAAgB,MAAQ,GAC1CD,EAAOC,GAASG,EAAOH,GAAO3H,OAC9B,MAKJ,QACE8H,EAAOH,IAAU,EAAKE,UAEnBA,EAAY,KACrB,OAAOC,EAGQ,CAAQ,EAAM9C,GAAQ0C,KAGnCK,GAA+B,IAAIC,QACnCC,GAAS,SAAgBC,GAC3B,GAAqB,SAAjBA,EAAQ/C,MAAoB+C,EAAQhD,UAGxCgD,EAAQlI,OAAS,GAHjB,CASA,IAHA,IAAIgF,EAAQkD,EAAQlD,MAClBE,EAASgD,EAAQhD,OACfiD,EAAiBD,EAAQ3C,SAAWL,EAAOK,QAAU2C,EAAQ5C,OAASJ,EAAOI,KAC1D,SAAhBJ,EAAOC,MAEZ,KADAD,EAASA,EAAOA,QACH,OAGf,IAA6B,IAAzBgD,EAAQ9C,MAAMpF,QAAwC,KAAxBgF,EAAMjB,WAAW,IACnCgE,GAAcK,IAAIlD,MAK9BiD,EAAJ,CAGAJ,GAAcM,IAAIH,GAAS,GAI3B,IAHA,IAAIR,EAAS,GACTY,EAAQ,EAAStD,EAAO0C,GACxBa,EAAcrD,EAAOE,MAChBxD,EAAI,EAAGmB,EAAI,EAAGnB,EAAI0G,EAAMtI,OAAQ4B,IACvC,IAAK,IAAI6B,EAAI,EAAGA,EAAI8E,EAAYvI,OAAQyD,IAAKV,IAC3CmF,EAAQ9C,MAAMrC,GAAK2E,EAAO9F,GAAK0G,EAAM1G,GAAGgC,QAAQ,OAAQ2E,EAAY9E,IAAM8E,EAAY9E,GAAK,IAAM6E,EAAM1G,MAIzG4G,GAAc,SAAqBN,GACrC,GAAqB,SAAjBA,EAAQ/C,KAAiB,CAC3B,IAAIH,EAAQkD,EAAQlD,MAGI,MAAxBA,EAAMjB,WAAW,IAEO,KAAxBiB,EAAMjB,WAAW,KAEfmE,EAAgB,OAAI,GACpBA,EAAQlD,MAAQ,MA+QtB,IAiCIyD,GAAuB,CAjCZ,SAAkBP,EAASP,EAAOtC,EAAUqD,GACzD,GAAIR,EAAQlI,QAAU,IAAQkI,EAAgB,OAAG,OAAQA,EAAQ/C,MAC/D,KAAK,EACH+C,EAAgB,OA5KtB,SAASS,EAAO3D,EAAOhF,GACrB,OAAQ,EAAKgF,EAAOhF,IAElB,KAAK,KACH,OAAO,EAAS,SAAWgF,EAAQA,EAGrC,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KAEL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KAEL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KAEL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACH,OAAO,EAASA,EAAQA,EAG1B,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACH,OAAO,EAASA,EAAQ,EAAMA,EAAQ,EAAKA,EAAQA,EAGrD,KAAK,KACL,KAAK,KACH,OAAO,EAASA,EAAQ,EAAKA,EAAQA,EAGvC,KAAK,KACH,OAAO,EAASA,EAAQ,EAAK,QAAUA,EAAQA,EAGjD,KAAK,KACH,OAAO,EAASA,EAAQ,EAAQA,EAAO,iBAAkB,EAAS,WAAa,EAAK,aAAeA,EAGrG,KAAK,KACH,OAAO,EAASA,EAAQ,EAAK,aAAe,EAAQA,EAAO,cAAe,IAAMA,EAGlF,KAAK,KACH,OAAO,EAASA,EAAQ,EAAK,iBAAmB,EAAQA,EAAO,4BAA6B,IAAMA,EAGpG,KAAK,KACH,OAAO,EAASA,EAAQ,EAAK,EAAQA,EAAO,SAAU,YAAcA,EAGtE,KAAK,KACH,OAAO,EAASA,EAAQ,EAAK,EAAQA,EAAO,QAAS,kBAAoBA,EAG3E,KAAK,KACH,OAAO,EAAS,OAAS,EAAQA,EAAO,QAAS,IAAM,EAASA,EAAQ,EAAK,EAAQA,EAAO,OAAQ,YAAcA,EAGpH,KAAK,KACH,OAAO,EAAS,EAAQA,EAAO,qBAAsB,KAAO,EAAS,MAAQA,EAG/E,KAAK,KACH,OAAO,EAAQ,EAAQ,EAAQA,EAAO,eAAgB,EAAS,MAAO,cAAe,EAAS,MAAOA,EAAO,IAAMA,EAGpH,KAAK,KACL,KAAK,KACH,OAAO,EAAQA,EAAO,oBAAqB,YAG7C,KAAK,KACH,OAAO,EAAQ,EAAQA,EAAO,oBAAqB,EAAS,cAAgB,EAAK,gBAAiB,aAAc,WAAa,EAASA,EAAQA,EAGhJ,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACH,OAAO,EAAQA,EAAO,kBAAmB,EAAS,QAAUA,EAG9D,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KAEH,GAAI,EAAOA,GAAS,EAAIhF,EAAS,EAAG,OAAQ,EAAOgF,EAAOhF,EAAS,IAEjE,KAAK,IAEH,GAAkC,KAA9B,EAAOgF,EAAOhF,EAAS,GAAW,MAGxC,KAAK,IACH,OAAO,EAAQgF,EAAO,mBAAoB,KAAO,EAAP,UAAiC,GAAoC,KAA7B,EAAOA,EAAOhF,EAAS,GAAY,KAAO,UAAYgF,EAG1I,KAAK,IACH,OAAQ,EAAQA,EAAO,WAAa2D,EAAO,EAAQ3D,EAAO,UAAW,kBAAmBhF,GAAUgF,EAAQA,EAE9G,MAGF,KAAK,KAEH,GAAkC,MAA9B,EAAOA,EAAOhF,EAAS,GAAY,MAGzC,KAAK,KACH,OAAQ,EAAOgF,EAAO,EAAOA,GAAS,IAAM,EAAQA,EAAO,eAAiB,MAE1E,KAAK,IACH,OAAO,EAAQA,EAAO,IAAK,IAAM,GAAUA,EAG7C,KAAK,IACH,OAAO,EAAQA,EAAO,wBAAyB,KAAO,GAAgC,KAAtB,EAAOA,EAAO,IAAa,UAAY,IAAxD,UAA+E,EAA/E,SAAwG,EAAK,WAAaA,EAE7K,MAGF,KAAK,KACH,OAAQ,EAAOA,EAAOhF,EAAS,KAE7B,KAAK,IACH,OAAO,EAASgF,EAAQ,EAAK,EAAQA,EAAO,qBAAsB,MAAQA,EAG5E,KAAK,IACH,OAAO,EAASA,EAAQ,EAAK,EAAQA,EAAO,qBAAsB,SAAWA,EAG/E,KAAK,GACH,OAAO,EAASA,EAAQ,EAAK,EAAQA,EAAO,qBAAsB,MAAQA,EAE9E,OAAO,EAASA,EAAQ,EAAKA,EAAQA,EAEzC,OAAOA,EAKiB2D,CAAOT,EAAQlD,MAAOkD,EAAQlI,QAClD,MACF,KAAK,EACH,OAAO,EAAU,CAAC,EAAKkI,EAAS,CAC9BlD,MAAO,EAAQkD,EAAQlD,MAAO,IAAK,IAAM,MACtC0D,GACP,KAAK,EACH,GAAIR,EAAQlI,OAAQ,OAAO,EAAQkI,EAAQ9C,OAAO,SAAUJ,GAC1D,OAAQ,EAAMA,EAAO,0BAEnB,IAAK,aACL,IAAK,cACH,OAAO,EAAU,CAAC,EAAKkD,EAAS,CAC9B9C,MAAO,CAAC,EAAQJ,EAAO,cAAe,gBACnC0D,GAGP,IAAK,gBACH,OAAO,EAAU,CAAC,EAAKR,EAAS,CAC9B9C,MAAO,CAAC,EAAQJ,EAAO,aAAc,IAAM,EAAS,eAClD,EAAKkD,EAAS,CAChB9C,MAAO,CAAC,EAAQJ,EAAO,aAAc,eACnC,EAAKkD,EAAS,CAChB9C,MAAO,CAAC,EAAQJ,EAAO,aAAc,EAAK,gBACvC0D,GAET,MAAO,SAKX,GAAc,SAAqBjJ,GACrC,IAAIoB,EAAMpB,EAAQoB,IAIlB,GAAY,QAARA,EAAe,CACjB,IAAI+H,EAAYvH,SAASwH,iBAAiB,qCAK1CC,MAAM/H,UAAUG,QAAQ6H,KAAKH,GAAW,SAAUI,IAQL,IADhBA,EAAKC,aAAa,gBACpBnF,QAAQ,OAGjCzC,SAAS6H,KAAK1H,YAAYwH,GAC1BA,EAAKzH,aAAa,SAAU,QAGhC,IAAI4H,EAAgB1J,EAAQ0J,eAAiBV,GAO7C,IACIrI,EAgBAgJ,EAjBAC,EAAW,GAEXC,EAAiB,GAEnBlJ,EAAYX,EAAQW,WAAaiB,SAAS6H,KAC1CJ,MAAM/H,UAAUG,QAAQ6H,KAGxB1H,SAASwH,iBAAiB,wBAA2BhI,EAAM,QAAS,SAAUmI,GAG5E,IAFA,IAAIO,EAASP,EAAKC,aAAa,gBAAgBO,MAAM,KAE5C5H,EAAI,EAAGA,EAAI2H,EAAOvJ,OAAQ4B,IACjCyH,EAASE,EAAO3H,KAAM,EAExB0H,EAAe/I,KAAKyI,MAIxB,IAAIS,EAAqB,CAACxB,GAAQO,IAShC,IAAIkB,EACAC,EAAoB,CAAC,EAUrB,GAAU,SAAUvI,GACtBsI,EAAavI,OAAOC,OAElBwI,EDfR,SAAY1H,GACV,IAAII,EAAI6B,EAAEjC,GACV,OAAO,SAAUK,EAAGC,EAAGC,EAAGC,GAExB,IADA,IAAIqC,EAAI,GACC0B,EAAI,EAAGA,EAAInE,EAAGmE,IAAK1B,GAAK7C,EAAEuE,GAAGlE,EAAGC,EAAGC,EAAGC,IAAM,GACrD,OAAOqC,GCUU,CAAW0E,EAAmBI,OAAOV,EAAeQ,IAIrEP,EAAU,SAAgBU,EAAUC,EAAYpI,EAAOqI,GACrDN,EAAe/H,EAHR,EAAU,EAWVmI,EAAWA,EAAW,IAAMC,EAAWE,OAAS,IAAMF,EAAWE,QAXtCL,GAY9BI,IACFE,EAAMb,SAASU,EAAWI,OAAQ,IAIxC,IAAID,EAAQ,CACVrJ,IAAKA,EACLc,MAAO,IAAInC,EAAW,CACpBqB,IAAKA,EACLT,UAAWA,EACXQ,MAAOnB,EAAQmB,MACfF,OAAQjB,EAAQiB,OAChBP,QAASV,EAAQU,QACjBF,eAAgBR,EAAQQ,iBAE1BW,MAAOnB,EAAQmB,MACfyI,SAAUA,EACVe,WAAY,GACZjJ,OAAQiI,GAGV,OADAc,EAAMvI,MAAMX,QAAQsI,GACbY,I,oCCzgBT,oFACA,SAASG,EAAK9H,GACZ,OAAOA,EAET,SAAS+H,EAAkBC,EAAUC,QAChB,IAAfA,IACFA,EAAaH,GAEf,IAAII,EAAS,GACTC,GAAW,EAkEf,MAjEa,CACXC,KAAM,WACJ,GAAID,EACF,MAAM,IAAIE,MAAM,oGAElB,OAAIH,EAAOzK,OACFyK,EAAOA,EAAOzK,OAAS,GAEzBuK,GAETM,UAAW,SAAUC,GACnB,IAAIC,EAAOP,EAAWM,EAAMJ,GAE5B,OADAD,EAAOlK,KAAKwK,GACL,WACLN,EAASA,EAAOO,QAAO,SAAU3H,GAC/B,OAAOA,IAAM0H,OAInBE,iBAAkB,SAAUC,GAE1B,IADAR,GAAW,EACJD,EAAOzK,QAAQ,CACpB,IAAImL,EAAMV,EACVA,EAAS,GACTU,EAAIjK,QAAQgK,GAEdT,EAAS,CACPlK,KAAM,SAAU8C,GACd,OAAO6H,EAAG7H,IAEZ2H,OAAQ,WACN,OAAOP,KAIbW,aAAc,SAAUF,GACtBR,GAAW,EACX,IAAIW,EAAe,GACnB,GAAIZ,EAAOzK,OAAQ,CACjB,IAAImL,EAAMV,EACVA,EAAS,GACTU,EAAIjK,QAAQgK,GACZG,EAAeZ,EAEjB,IAAIa,EAAe,WACjB,IAAIH,EAAME,EACVA,EAAe,GACfF,EAAIjK,QAAQgK,IAEVK,EAAQ,WACV,OAAOC,QAAQC,UAAUC,KAAKJ,IAEhCC,IACAd,EAAS,CACPlK,KAAM,SAAU8C,GACdgI,EAAa9K,KAAK8C,GAClBkI,KAEFP,OAAQ,SAAUA,GAEhB,OADAK,EAAeA,EAAaL,OAAOA,GAC5BP,MAOV,SAASkB,EAAapB,EAAUC,GAIrC,YAHmB,IAAfA,IACFA,EAAaH,GAERC,EAAkBC,EAAUC,GAG9B,SAASoB,EAAoBnM,QAClB,IAAZA,IACFA,EAAU,IAEZ,IAAIoM,EAASvB,EAAkB,MAK/B,OAJAuB,EAAOpM,QAAU,YAAS,CACxBqM,OAAO,EACPC,KAAK,GACJtM,GACIoM,I,oCC7FT,wIAAO,IAAIG,EAAqB,4BACrBC,EAAqB,0BACrBC,EAAwB,0BAKxBC,EAAyB,kC,oCCLpC,IAAIC,EAAyB,EAAQ,QAErCC,EAAQC,YAAa,EACrBD,EAAQE,WAAaA,EACrBF,EAAQG,gBA4DR,SAAyBC,GACvB,OAAOF,EAAWE,EAAMC,MA5D1BL,EAAQM,WAAaN,EAAQzI,QAAUyI,EAAQ9L,KAAO8L,EAAQO,SAAWP,EAAQQ,aAAU,EAE3F,IAAIC,EAAiCV,EAAuB,EAAQ,SAEhEW,EAA0BX,EAAuB,EAAQ,SAEzDY,EAAkBZ,EAAuB,EAAQ,SAEjDa,EAAYb,EAAuB,EAAQ,SAE3Cc,EAAad,EAAuB,EAAQ,SAE5Ce,EAASf,EAAuB,EAAQ,SAExCgB,EAAU,EAAQ,QAElBC,EAAS,EAAQ,QAEjBC,EAAa,EAAQ,QAEzBjB,EAAQkB,UAAYD,EAAWC,UAE/B,IAAIC,EAAiB,SAAwBf,GAC3C,OAAOA,aAAmC,EAASA,EAAKgB,WAAW,MAGrE,SAASlB,EAAWE,EAAM9D,GACxB,IAAI+E,EAAMC,EAMV,QAJe,IAAXhF,IACFA,EAASiF,MAGNC,EAAYpB,GACf,OAAOA,EAGT,GAAIA,EAAKgB,WAAW,OAAShB,EAAKgB,WAAW,OAC3C,OAAOhB,EAGT,IAAIqB,EAAwG,QAAhGJ,EAA8B,QAAtBC,EAAUhF,SAAgC,IAAZgF,EAAqBA,EAAUjB,WAA4C,IAATgB,EAAkBA,EAAO,IAC7I,MAAO,KAAOI,aAAmC,EAASA,EAAKC,SAAS,MAAQD,EAAK7J,MAAM,GAAI,GAAK6J,IAASrB,EAAKgB,WAAW,KAAOhB,EAAO,IAAMA,GAKnJ,IAAIC,EAAsB,WACxB,MAAsH,mDAGpHkB,EAAsB,WACxB,MAAkH,IAGhHC,EAAc,SAAqBpB,GACrC,OAAOA,IAASA,EAAKgB,WAAW,aAAehB,EAAKgB,WAAW,cAAgBhB,EAAKgB,WAAW,OAgBjG,IAAIO,EAAkB,SAAyBvB,EAAMwB,GACnD,MAAoB,iBAATxB,EACFA,EAGJoB,EAAYpB,GAIVe,EAAef,GAAQF,EAAWE,GAlB3C,SAAoBA,EAAMyB,GAExB,OAAIV,EAAef,GACVA,GAGF,EAAIY,EAAO5B,SAASgB,EAAMyB,GAYgBC,CAAW1B,EAAMwB,GAHzDxB,GAMP2B,EAAmB,CACrBC,gBAAiBnB,EAAWL,QAAQyB,OACpCC,YAAarB,EAAWL,QAAQ2B,OAChCC,gBAAiBvB,EAAWL,QAAQ6B,MAyBtC,SAASC,EAA0BvJ,GACjC,OAAoB+H,EAAON,QAAQvL,cAAc8L,EAAQwB,SAAU,MAAM,SAAUC,GACjF,IAAIC,EAAWD,EAAMC,SACrB,OAAoB3B,EAAON,QAAQvL,cAAcyN,GAAY,EAAI9B,EAAUJ,SAAS,GAAIzH,EAAO,CAC7F4J,UAAWF,QAKjB,IAAIC,EAA0B,SAAUE,GAGtC,SAASF,EAAW3J,GAClB,IAAI1F,GAEJA,EAAQuP,EAAiBlG,KAAKpJ,KAAMyF,IAAUzF,MAExCuP,gBAAkB,SAAUC,GAChC,IAAIC,EAAqBD,EAAMC,mBAC3BC,EAAYF,EAAME,UAEtB,OAAI3P,EAAM0F,MAAMqJ,gBAAkBW,EAAqBC,GAC9C,CACLC,UAAW,CAAC5P,EAAM0F,MAAMkK,UAAW5P,EAAM0F,MAAMiJ,iBAAiBrD,OAAOuE,SAAShL,KAAK,KACrFiL,OAAO,EAAIvC,EAAUJ,SAAS,GAAInN,EAAM0F,MAAMoK,MAAO9P,EAAM0F,MAAMmJ,cAI9D,MAGT,IAAIkB,GAAc,EAUlB,MARsB,oBAAXC,QAA0BA,OAAOC,uBAC1CF,GAAc,GAGhB/P,EAAMkQ,MAAQ,CACZH,YAAaA,GAEf/P,EAAMmQ,UAAYnQ,EAAMmQ,UAAUC,MAAK,EAAI/C,EAAwBF,SAASnN,IACrEA,GA/BT,EAAIsN,EAAgBH,SAASkC,EAAYE,GAkCzC,IAAInO,EAASiO,EAAWhO,UAuIxB,OArIAD,EAAOiP,UAAY,WACjB,IAAIC,EAAcN,OAAOZ,SAASmB,SAE9BtQ,KAAKyF,MAAM4J,WAAarP,KAAKyF,MAAM4J,UAAUiB,WAC/CD,EAAcrQ,KAAKyF,MAAM4J,UAAUiB,UAGrC,IAAIC,EAAgBlC,EAAgBrO,KAAKyF,MAAM+K,GAAIH,GAC/CI,GAAc,EAAI9C,EAAWC,WAAW2C,GAAeD,SAGvDD,IAAgBI,GAClBC,UAAUC,QAAQF,IAItBtP,EAAOyP,mBAAqB,SAA4BC,EAAWC,GAE7D9Q,KAAKyF,MAAM+K,KAAOK,EAAUL,IAAOxQ,KAAKiQ,MAAMH,aAChD9P,KAAKoQ,aAITjP,EAAO4P,kBAAoB,WAEpB/Q,KAAKiQ,MAAMH,aACd9P,KAAKoQ,aAITjP,EAAO6P,qBAAuB,WAC5B,GAAKhR,KAAKiR,GAAV,CAIA,IAAIC,EAAWlR,KAAKiR,GAChBE,EAAWD,EAASC,SACpBC,EAAKF,EAASE,GAClBD,EAASE,UAAUD,GACnBD,EAASG,eAGXnQ,EAAO+O,UAAY,SAAmBqB,GACpC,IA/GiEH,EAAI7F,EACnE0F,EA8GEO,EAASxR,KAETA,KAAKyF,MAAMgM,UAAYzR,KAAKyF,MAAMgM,SAASC,eAAe,WAC5D1R,KAAKyF,MAAMgM,SAASlD,QAAUgD,EACrBvR,KAAKyF,MAAMgM,UACpBzR,KAAKyF,MAAMgM,SAASF,GAGlBvR,KAAKiQ,MAAMH,aAAeyB,IAE5BvR,KAAKiR,IAzH0DG,EAyH1BG,EAzH8BhG,EAyHzB,WACxCiG,EAAOpB,cAzHTa,EAAK,IAAIlB,OAAOC,sBAAqB,SAAU2B,GACjDA,EAAQpQ,SAAQ,SAAUqQ,GACpBR,IAAOQ,EAAMC,SAGXD,EAAME,gBAAkBF,EAAMG,kBAAoB,KACpDd,EAAGI,UAAUD,GACbH,EAAGK,aACH/F,YAMLyG,QAAQZ,GACJ,CACLD,SAAUF,EACVG,GAAIA,MA6GNjQ,EAAO8Q,OAAS,WACd,IAAIC,EAASlS,KAETmS,EAAcnS,KAAKyF,MACnB+K,EAAK2B,EAAY3B,GACjB4B,EAAuBD,EAAYE,SACnCA,OAAoC,IAAzBD,EAAkCpS,KAAKuP,gBAAkB6C,EACpEE,EAAWH,EAAYI,QACvBC,EAAgBL,EAAYM,aAK5BxC,GAJmBkC,EAAYzD,gBAChByD,EAAYvD,YACfuD,EAAYV,SACNU,EAAYrD,gBACtBqD,EAAYlC,OACpBhM,EAAUkO,EAAYlO,QACtBoL,EAAY8C,EAAY9C,UACxBqD,GAAO,EAAIvF,EAA+BD,SAASiF,EAAa,CAAC,KAAM,WAAY,UAAW,eAAgB,kBAAmB,cAAe,WAAY,kBAAmB,QAAS,UAAW,cAMvM,IAAIQ,EAAatE,EAAgBmC,EAAInB,EAAUiB,UAE/C,OAAKpC,EAAYyE,GAMGnF,EAAON,QAAQvL,cAAc8L,EAAQmF,MAAM,EAAItF,EAAUJ,SAAS,CACpFsD,GAAImC,EACJ1C,MAAOA,EACPoC,SAAUA,EACVZ,SAAUzR,KAAKkQ,UACfuC,aAAc,SAAsBlQ,GAC9BiQ,GACFA,EAAcjQ,GAGhBmO,UAAUmC,UAAS,EAAIlF,EAAWC,WAAW+E,GAAYrC,WAE3DiC,QAAS,SAAiBhQ,GAKxB,GAJI+P,GACFA,EAAS/P,KAGM,IAAbA,EAAEuQ,QACLZ,EAAOzM,MAAMoM,QACbtP,EAAEwQ,kBACFxQ,EAAEyQ,SACFzQ,EAAE0Q,QAAW1Q,EAAE2Q,SAAY3Q,EAAE4Q,UAAU,CACtC5Q,EAAE6Q,iBACF,IAAIC,EAAgBpP,EAEhByL,EAAY4D,UAAUX,KAAgBtD,EAAUiB,SAE7B,kBAAZrM,GAAyByL,IAClC2D,GAAgB,GAKlBtD,OAAOwD,YAAYZ,EAAY,CAC7B1C,MAAOA,EACPhM,QAASoP,IAIb,OAAO,IAERX,IA9CmBlF,EAAON,QAAQvL,cAAc,KAAK,EAAI2L,EAAUJ,SAAS,CAC3EsG,KAAMb,GACLD,KA+CAtD,EA1KqB,CA2K5B5B,EAAON,QAAQuG,WAEjBrE,EAAWsE,WAAY,EAAIpG,EAAUJ,SAAS,GAAIuB,EAAkB,CAClE8D,QAAShF,EAAWL,QAAQyG,KAC5BnD,GAAIjD,EAAWL,QAAQyB,OAAOiF,WAC9B3P,QAASsJ,EAAWL,QAAQ6B,KAC5BkB,MAAO1C,EAAWL,QAAQ2B,SAG5B,IAAIgF,EAAyB,SAAgCC,EAAcC,EAAiBC,GAC1F,OAAOC,QAAQC,KAAK,QAAWJ,EAAe,6DAAgEE,EAAU,iBAAoBD,EAAkB,eAG5JI,EAAwB3G,EAAON,QAAQkH,YAAW,SAAU3O,EAAO8L,GACrE,OAAoB/D,EAAON,QAAQvL,cAAcqN,GAA2B,EAAI1B,EAAUJ,SAAS,CACjGuE,SAAUF,GACT9L,OAGLiH,EAAQQ,QAAUiH,EAMlBzH,EAAQO,SAJO,SAAkBuD,EAAI1Q,GACnCiQ,OAAOwD,YAAYlF,EAAgBmC,EAAIT,OAAOZ,SAASmB,UAAWxQ,IAKpE,IAAIc,EAAO,SAAc4P,GACvBqD,EAAuB,OAAQ,WAAY,GAE3C9D,OAAOsE,QAAQhG,EAAgBmC,EAAIT,OAAOZ,SAASmB,YAGrD5D,EAAQ9L,KAAOA,EASf8L,EAAQzI,QAPM,SAAiBuM,GAC7BqD,EAAuB,UAAW,WAAY,GAE9C9D,OAAOuE,WAAWjG,EAAgBmC,EAAIT,OAAOZ,SAASmB,YAWxD5D,EAAQM,WALS,SAAoBwD,GAEnC,OADAqD,EAAuB,aAAc,WAAY,GAC1CjT,EAAK4P,K,oCCvVd,IAAI+D,EAAgB,EAAQ,QACxBC,EAAyB,EAAQ,QAErCC,EAAO/H,QAAU,SAAUgI,GACzB,OAAOH,EAAcC,EAAuBE,M,oCCJ9C,IAAIC,EAAgB,EAAQ,QAE5BF,EAAO/H,QAAUiI,IACXC,OAAOC,MACkB,iBAAnBD,OAAOE,U,oCCJnBpI,EAAQC,YAAa,EACrBD,EAAQqI,oBAAiB,EACzB,IAGIA,EAA8B,WAChC,SAASA,KAET,IAAI5T,EAAS4T,EAAe3T,UA8C5B,OA5CAD,EAAO6J,KAAO,SAAcmE,EAAUjO,GACpC,IAAI8T,EAAWhV,KAAKiV,YAAY9F,EAAUjO,GAE1C,IACE,IAAImE,EAAQ0K,OAAOmF,eAAeC,QAAQH,GAC1C,OAAO3P,EAAQ+P,KAAKC,MAAMhQ,GAAS,EACnC,MAAO9C,GAKP,OAAIwN,QAAUA,OAAiC,+BAAKA,OAAiC,8BAAEiF,GAC9EjF,OAAiC,8BAAEiF,GAGrC,IAIX7T,EAAOmU,KAAO,SAAcnG,EAAUjO,EAAKmE,GACzC,IAAI2P,EAAWhV,KAAKiV,YAAY9F,EAAUjO,GACtCqU,EAAcH,KAAKI,UAAUnQ,GAEjC,IACE0K,OAAOmF,eAAeO,QAAQT,EAAUO,GACxC,MAAOhT,GACHwN,QAAUA,OAAiC,gCAG7CA,OAAiC,8BAAI,IAFrCA,OAAiC,8BAAEiF,GAAYI,KAAKC,MAAME,KAYhEpU,EAAO8T,YAAc,SAAqB9F,EAAUjO,GAClD,IAAIwU,EAhDe,YAgDwBvG,EAASmB,SACpD,OAAOpP,QAA6CwU,EAAeA,EAAe,IAAMxU,GAGnF6T,EAjDyB,GAoDlCrI,EAAQqI,eAAiBA,G,oCC3DzB,wEAYIY,EAAiBC,EAAkBC,EAAkBC,EAAkBC,EAAkBC,EAAkBC,EAAkBC,EA2H7HC,EAAmBC,EAAoBC,EAAoBC,EAAoBC,EAAoBC,EAvIvG,qKAaA,SAASC,EAAeC,GAEtB,IAAKlT,OAAOmT,KAAKD,GAAQrW,OAEvB,OADA4T,QAAQC,KAAK,qGACN,GAET,IAAI0C,EAA4BF,EAAOE,0BACrCC,EAAiCH,EAAOG,+BACxCC,EAAkCJ,EAAOI,gCACzCC,EAAmCL,EAAOK,iCAC1CC,EAAoBN,EAAOM,kBAC3BC,EAAoBP,EAAOO,kBAC3BC,EAAaR,EAAOQ,WACpBC,EAAaT,EAAOS,WACpBC,EAAaV,EAAOU,WACpBC,EAAaX,EAAOW,WACpBC,EAA2BZ,EAAOY,yBAClCC,EAAiCb,EAAOa,+BACxCC,EAAiBd,EAAOc,eACtBC,EAAc,YAAWf,GAC3BgB,EAAkBD,EAAYC,gBAC9BC,EAAcF,EAAYE,YACxBC,EAAc,YAAWlB,GAC3BmB,EAAWD,EAAYE,KACvBC,EAAcH,EAAYI,QAqF5B,MAAO,CACLC,cAjFF,WACE,IAAIC,EAAOC,UAAU9X,OAAS,QAAsBS,IAAjBqX,UAAU,GAAmBA,UAAU,GAAK,GAC3EC,EAAqBF,EAAKG,aAC5BA,OAAsC,IAAvBD,EAAgCnB,EAAoBmB,EACnEE,EAAwBJ,EAAKK,gBAC7BA,OAA4C,IAA1BD,EAAmC1B,EAA4B0B,EACjFE,EAAkBN,EAAKO,UACvBA,OAAgC,IAApBD,EAA6BtB,EAAasB,EACtDE,EAAkBR,EAAKS,UACvBA,OAAgC,IAApBD,EAA6B,QAAUA,EACnDE,EAAiBV,EAAKW,SACtBA,OAA8B,IAAnBD,EAdQ,OAcuCA,EAC1DE,EAAgBZ,EAAKa,QACrBA,OAA4B,IAAlBD,EAA2BxB,EAA2BwB,EAClE,OAAO,YAAInD,IAAoBA,EAAkB,YAAuB,CAAC,wDAAyD,uBAAwB,wBAAyB,uGAAwG,YAAa,8BAA+B,qBAAsB,uDAAwD,aAAc0C,EAAcQ,EAAUF,EAAWF,EAAWf,EAAgBsB,OAAQT,EAAiBQ,EAAS,MAoEngBE,SAlEF,WACE,IAAIf,EAAOC,UAAU9X,OAAS,QAAsBS,IAAjBqX,UAAU,GAAmBA,UAAU,GAAK,GAC3Ee,EAAsBhB,EAAKiB,cAC7BA,OAAwC,IAAxBD,EAAiC,WAAaA,EAC9DE,EAAmBlB,EAAKmB,WACxBA,OAAkC,IAArBD,EAA8BjC,EAAaiC,EACxDE,EAAwBpB,EAAKqB,qBAC7BA,OAAiD,IAA1BD,EAAmCnC,EAAamC,EACvEE,EAAwBtB,EAAKuB,kBAC7BA,OAA8C,IAA1BD,EAAmCrC,EAAaqC,EACtE,OAAO,YAAI5D,IAAqBA,EAAmB,YAAuB,CAAC,mFAAoF,MAAO,uEAAwE,gCAAiC,2BAA4B,sBAAuByD,EAAYF,EAAe3B,EAAgB+B,EAAsBE,IAyDnYC,aAvDF,WACE,IAAIxB,EAAOC,UAAU9X,OAAS,QAAsBS,IAAjBqX,UAAU,GAAmBA,UAAU,GAAK,GAC3EwB,EAAoBzB,EAAKmB,WAC3BA,OAAmC,IAAtBM,EAA+BvC,EAAauC,EACzDC,EAAqB1B,EAAK2B,aAC1BA,OAAsC,IAAvBD,EAAgCvC,EAAauC,EAC5DE,EAAuB5B,EAAKiB,cAC5BA,OAAyC,IAAzBW,EAAkC1C,EAAa0C,EAC/DC,EAAoB7B,EAAK8B,YACzBA,OAAoC,IAAtBD,EAA+B1C,EAAa0C,EAC1DE,EAAyB/B,EAAKqB,qBAC9BA,OAAkD,IAA3BU,EAAoC9C,EAAa8C,EACxEC,EAAyBhC,EAAKuB,kBAC9BA,OAA+C,IAA3BS,EAAoC/C,EAAa+C,EACrEC,EAAqBjC,EAAKkC,aAC1BA,OAAsC,IAAvBD,EAAgCtD,EAAiCsD,EAChFE,EAAsBnC,EAAKoC,cAC3BA,OAAwC,IAAxBD,EAAiCvD,EAAkCuD,EACrF,OAAO,YAAIxE,IAAqBA,EAAmB,YAAuB,CAAC,6CAA8C,IAAK,IAAK,IAAK,4JAA6J,gCAAiC,2BAA4B,4DAA6D,6DAA8D,sBAAuBwD,EAAYQ,EAAcV,EAAea,EAAaxC,EAAgB+B,EAAsBE,EAAmBW,EAAcE,IAsCjnBC,kBApCF,WACE,IAAIrC,EAAOC,UAAU9X,OAAS,QAAsBS,IAAjBqX,UAAU,GAAmBA,UAAU,GAAK,GAC3EqC,EAAwBtC,EAAKuC,gBAC/BA,OAA4C,IAA1BD,EAAmCpD,EAAaoD,EACpE,OAAO,YAAI1E,IAAqBA,EAAmB,YAAuB,CAAC,oGAAqG,qGAAsG,mDAAoD2E,EAAiBA,IAiC3VC,aA/BF,WACE,OAAO,YAAI3E,IAAqBA,EAAmB,YAAuB,CAAC,kHAAmH,aAAc8B,MA+B5M8C,kBA7BF,WACE,IAAIzC,EAAOC,UAAU9X,OAAS,QAAsBS,IAAjBqX,UAAU,GAAmBA,UAAU,GAAK,GAC3EyC,EAAoB1C,EAAKmB,WAC3BA,OAAmC,IAAtBuB,EAA+B1D,EAAa0D,EAC3D,OAAO,YAAI5E,IAAqBA,EAAmB,YAAuB,CAAC,mFAAoF,yCAA0C,aAAcqD,EAAYtB,EAAY,CAC7O8C,MAAO9D,MAyBT+D,qBAtBF,WACE,OAAO,YAAI7E,IAAqBA,EAAmB,YAAuB,CAAC,sJAsB3E8E,mBApBF,WACE,IAAI7C,EAAOC,UAAU9X,OAAS,QAAsBS,IAAjBqX,UAAU,GAAmBA,UAAU,GAAK,GAC3E6C,EAAwB9C,EAAK+C,iBAC/BA,OAA6C,IAA1BD,EAAmCzD,EAAiCyD,EACvFE,EAAehD,EAAKiD,OACpBA,OAA0B,IAAjBD,EAA0BlE,EAAoBkE,EACzD,OAAO,YAAIhF,IAAqBA,EAAmB,YAAuB,CAAC,kFAAmF,kGAAmGyB,EAAYyD,iBAAiB,CAC5RH,iBAAkBA,EAClBE,OAAQA,EACRE,eAAgB,WAYlBC,iBA5FqB,OA6FrBC,iBAAkB,WAItB,SAASjR,EAAOoM,GAEd,IAAKlT,OAAOmT,KAAKD,GAAQrW,OAEvB,OADA4T,QAAQC,KAAK,qGACN,GAET,IAAIiD,EAAaT,EAAOS,WACtBE,EAAaX,EAAOW,WACpBmE,EAAkB9E,EAAO8E,gBACzBC,EAAgB/E,EAAO+E,cACvB5E,EAAiCH,EAAOG,+BACtC6E,EAAkBjF,EAAeC,GACnCuB,EAAgByD,EAAgBzD,cAChCgB,EAAWyC,EAAgBzC,SAC3BS,EAAegC,EAAgBhC,aAC/Ba,EAAoBmB,EAAgBnB,kBACpCG,EAAegB,EAAgBhB,aAC/BC,EAAoBe,EAAgBf,kBACpCG,EAAuBY,EAAgBZ,qBACvCC,EAAqBW,EAAgBX,mBACnCY,EAA+B,YAAK,GAAGzR,OAAOuR,EAAe,OAAOvR,OAAOiN,IAE3EyE,EAAoB,YAAIzF,IAAsBA,EAAoB,YAAuB,CAAC,SAAU,WAAY8C,EAAS,CAC3HI,WAAY,KAGVwC,EAAwB,YAAIzF,IAAuBA,EAAqB,YAAuB,CAAC,SAAU,wBAAyB,wEAAyE,kBAAmBsE,IAAgBiB,EAA8BA,GAKjR,MAAO,CACL1D,cAAeA,EACfgB,SAAUA,EACVS,aAAcA,EACdgB,aAAcA,EACdC,kBAAmBA,EACnBJ,kBAAmBA,EACnBO,qBAAsBA,EACtBC,mBAAoBA,EACpBa,kBAAmBA,EACnBC,sBAAuBA,EACvBC,aAfiB,YAAIzF,IAAuBA,EAAqB,YAAuB,CAAC,mFAAoF,2EAA4E,sCAAuCgB,EAAYA,GAgB5S0E,mBAfuB,YAAIzF,IAAuBA,EAAqB,YAAuB,CAAC,6CAA8C,WAAYkF,GAgBzJQ,WAfe,YAAIzF,IAAuBA,EAAqB,YAAuB,CAAC,+CAAgD,WAAYM,GAgBnJoF,aAfiB,YAAIzF,IAAuBA,EAAqB,YAAuB,CAAC,gEAgBzFC,eAAgBA,GAGpB,IAAIyF,EAAY,CAAC,WAAY,cAAe,uBAAwB,gBAAiB,yBAA0B,aAAc,KAAM,QAAS,YAAa,WAAY,aAAc,cAAe,YAAa,eAAgB,mBAAoB,WAAY,kBAC7PC,EAAa,CAAC,OAAQ,QAAS,YAAa,qBAAsB,gBAAiB,wBAAyB,iBAAkB,wBAAyB,KAAM,mBAAoB,SAAU,iBAAkB,cAAe,uBAAwB,oBAAqB,SAAU,UAAW,cAAe,UAAW,uBAAwB,gBAAiB,aAAc,mBAAoB,oBAAqB,MAAO,mBAAoB,gBAAiB,qBAKlcC,EAAsB,SAAUrO,GAClC,IAAIsO,EAAWtO,EAAKsO,SAClBC,EAAcvO,EAAKuO,YACnBC,EAAuBxO,EAAKwO,qBAC5BC,EAAgBzO,EAAKyO,cACrBC,EAAyB1O,EAAK0O,uBAC9BC,EAAa3O,EAAK2O,WAClBC,EAAW5O,EAAK6O,GAChBvX,EAAQ0I,EAAK1I,MACbwX,EAAY9O,EAAK8O,UACjBC,EAAW/O,EAAK+O,SAChBC,EAAahP,EAAKgP,WAClBC,EAAcjP,EAAKiP,YACnBrN,EAAY5B,EAAK4B,UACjBsM,EAAelO,EAAKkO,aAEpBgB,GADmBlP,EAAKmP,iBACbnP,EAAKkP,UAChBE,EAAiBpP,EAAKoP,eACtBzK,EAAO,YAAyB3E,EAAMmO,GACpCkB,EAAY,iBAAO,MACnBC,EAASV,GAAY,GAAGzS,OAAOmS,EAAU,UAAUnS,OAAO7E,GAC1DqR,EAAS,cACT4G,EAAU,mBAAQ,WACpB,OAAOhT,EAAOoM,KACb,CAACA,IACA6G,EAAa,CAACD,EAAQ5D,aAAcyD,GAAkBG,EAAQvC,mBAAoBkB,GAAgBqB,EAAQrB,aAAca,GAAYQ,EAAQtB,YAG5IwB,EAAsB,SAAUC,GAClC,IAAIC,EACAjd,EAAYgd,SAAmG,QAAlDC,EAAwBD,EAAOE,qBAAqD,IAA1BD,OAApE,EAAgHA,EAAsBC,cAC7L,GAAIld,EAAW,CACb,IAAImd,EAAcnd,EAAUod,wBACxBC,EAAYL,EAAOI,yBACnBC,EAAUC,OAASH,EAAYG,QAAUD,EAAUE,IAAMJ,EAAYI,MACvEP,EAAOQ,eAAe,CACpBC,MAAO,UACPC,SAAU,aAOlB,qBAAU,WACR,GAAIf,GAAaA,EAAU7O,QAAS,CAClC,IAAIkP,EAASL,EAAU7O,QACnBsO,GACFY,EAAOW,SAELvB,GAAaC,GAAYC,IAC3BS,EAAoBC,MAGvB,CAACX,EAAUD,EAAWE,IAGzB,qBAAU,WACRsB,YAAW,WACT,GAAIjB,GAAaA,EAAU7O,SAAW0O,GAAYF,EAAY,CAC5D,IAAIU,EAASL,EAAU7O,SACnBsO,GAAaE,IACfS,EAAoBC,MAlER,OAsEjB,IAEH,IAAIa,EAAY5B,GAAc,YAAI,MAAO,CACvC6B,IAAKjB,EAAQ/C,kBACb,YAAa,QACZmC,GACH,OAAO,YAAI,KAAM,YAAS,CACxB6B,IAAKhB,EACL5N,UAAWA,EACXiN,GAAIS,EACJmB,KAAM,SACN,gBAAiBzB,EACjB0B,UAAW,EACX,aAAcpZ,EACdkM,IAAK6L,EACL7K,QAASyK,GACRtK,EAAM,CACP,YAAa,SACX4L,EAAW,YAAI,IAAK,CACtBC,IAAKjB,EAAQzB,sBACb,YAAa,QACZ,YAAI,IAAU,CACf6C,OAAQ3B,EACR4B,GAAI,OACJC,YAAarC,EACb,YAAa,QACZD,GAAcE,GAAiB,YAAI,IAAa,CACjD+B,IAAKjB,EAAQ3C,kBACbgE,GAAI,OACJC,YAAanC,EACb,YAAa,QACZD,GAAgBO,GAAc,YAAI,IAAe,CAClD8B,KAAM,KACNN,IAAKjB,EAAQxB,aACbjB,MAAO,eACP,YAAa,YA6BjB,IAAIiE,EAAgB,SAAU5P,GAC5B,IAAI6P,EA2CAC,EAxDoBC,EACpBC,EACFC,EACAlP,EACAmP,EACEC,EA2M0CC,EAAcC,EAlMxDC,EAAatQ,EAAM1E,KACrBA,OAAsB,IAAfgV,EAAwB,QAAUA,EACzCna,EAAQ6J,EAAM7J,MACdsK,EAAYT,EAAMS,UAClB8P,EAAqBvQ,EAAMuQ,mBAC3BC,EAAgBxQ,EAAMwQ,cACtBC,EAAwBzQ,EAAMyQ,sBAC9BC,EAAiB1Q,EAAM0Q,eACvBC,EAAwB3Q,EAAM2Q,sBAC9BC,EAAW5Q,EAAM0N,GACjBA,OAAkB,IAAbkD,EAAsB,YAAS,kBAAoBA,EACxDC,EAAwB7Q,EAAM8Q,iBAC9BA,OAA6C,IAA1BD,GAA0CA,EAC7DE,EAAS/Q,EAAM+Q,OACfC,EAAiBhR,EAAMgR,eACvBC,EAAcjR,EAAMiR,YACpBC,EAAuBlR,EAAMkR,qBAC7BC,EAAoBnR,EAAMmR,kBAC1BC,EAASpR,EAAMoR,OACfC,EAAUrR,EAAMqR,QAChBC,EAActR,EAAMsR,YACpB1gB,EAAUoP,EAAMpP,QAChB2gB,EAAwBvR,EAAMwR,qBAC9BA,OAAiD,IAA1BD,GAA0CA,EACjEE,EAAsBzR,EAAM0R,cAC5BA,OAAwC,IAAxBD,EAAiC,EAAIA,EACrDE,EAAmB3R,EAAM4R,WACzBA,OAAkC,IAArBD,GAA+B,EAAIA,EAChDE,EAAmB7R,EAAM6R,iBACzBC,GAAoB9R,EAAM8R,kBAC1BC,GAAY/R,EAAMgS,IAClBA,QAAoB,IAAdD,IAA+BA,GACrCE,GAAwBjS,EAAMgO,iBAC9BA,QAA6C,IAA1BiE,IAA2CA,GAC9DC,GAAsBlS,EAAMmS,cAC5BA,QAAwC,IAAxBD,IAAyCA,GACzDE,GAAoBpS,EAAMoS,kBAC1B5O,GAAO,YAAyBxD,EAAOiN,GACrCoF,GAAa,mBACbC,GAAU,mBACVC,GAAY,mBACZC,GAAa,iBAAO,IAEpBC,GAAkB7hB,GAAWA,EAAQO,OACrCuhB,IA1DoB3C,EA0DiBe,EAAmBY,GAAiB,EAzDzE1B,EAAkB,IAAM2C,SAAS5C,GACnCE,EAAmB,YAAeD,EAAiB,GACnDjP,EAAQkP,EAAiB,GACzBC,EAAWD,EAAiB,GAEvB,CADHE,EAAY,IAAMyC,OAAO7R,GACV,SAA0B5K,GAC3Cga,EAAU9Q,QAAUlJ,EACpB+Z,EAAS/Z,MAmDT0c,GAAqB,YAAeH,GAAmB,GACvDI,GAAkBD,GAAmB,GACrCE,GAAkBF,GAAmB,GACnCG,GAAY,oBAAS,GACvBC,GAAa,YAAeD,GAAW,GACvC/E,GAAiBgF,GAAW,GAC5BC,GAAoBD,GAAW,GAC7BzL,GAAS,cACT4G,GAAU,mBAAQ,WACpB,OAAOhT,EAAOoM,MACb,CAACA,KAGAlH,IAA8D,QAApDuP,EAAwBzB,GAAQ7G,sBAAsD,IAA1BsI,OAAmC,EAASA,EAAsB3V,KAAKkU,GAAS5G,MAAY,GACpK4E,GAAmB9L,GAAM8L,iBACzBC,GAAmB/L,GAAM+L,iBACvB/D,GAAiBd,GAAOc,eAExB6K,GAAY,YAAU,YAAQ/G,GAAkB,SAChDgH,GAAY,YAAU,YAAQ/G,GAAkB,SAChDgH,GAAoB,GAAGrY,OAAO,YAAU,YAAQsN,GAAgB,UAGhEyF,KAAW,eAAclN,OAAOyS,WAAaC,SAASF,GAAmB,IACzEG,GAAgB,SAAUnR,GAC5B,OACEA,GAAOA,EAAIhD,QAAUgD,EAAIhD,QAAU,MAOnCoU,GACmBD,GAAc1B,MAO/BD,GAAoB,cACfrf,SAASkhB,eAAe7B,GAE1B,MAmBL8B,GAAW,SAAUC,GACvBb,GAAgBa,IAEdC,GAAY,SAAUC,GACxB,IAAIC,EAAY/f,KAAKggB,IAAIhgB,KAAKigB,IAAInB,GAAgBzT,QAAUyU,EAAQ,GAAIljB,EAAQO,OAAS,GACzFwiB,GAASI,IAEPG,GAAqB,SAAUC,GACjC,IAAIC,EAAiBZ,GAAcnB,IAE/BgC,EAAmBZ,cAAyD,EAASA,GAAgBa,SAASH,EAAIxR,QAEhHwO,IAAqBA,EAAkBgD,IAAUE,GACjDD,IAAmBA,EAAeE,SAASH,EAAIxR,SACjD0O,EAAQ8C,EAAK,kBAIfI,GAAc,SAAUJ,GAC1B,IAAIxR,EAASwR,EAAIxR,OACb7J,EA5JQ,SAAU0b,EAAare,GACrC,OAAOqe,EAAYC,WAAU,SAAUlG,GACrC,OAAOpY,IAAUoY,EAAOpY,OAASA,IAAUoY,EAAOnB,eA0JtCsH,CAAU9jB,EAAS+R,EAAOgS,QAAQxe,OAC9Cwd,GAAS7a,GACTwY,EAAYxY,IAwDV8b,GAAgB,SAAUT,IA3Cd,SAAUA,GACxBA,EAAIjQ,iBACJ,IAAI2Q,EAAe/B,GAAgBzT,QAG/ByV,EAAU,IAAI,IAAaX,EAAIniB,KAAOmiB,EAAIY,SAC9C,GAAID,EAAQE,YACV9B,IAAkB,GAClBW,IAAW,QACN,GAAIiB,EAAQG,cACjB/B,IAAkB,GAClBW,GAAU,QACL,GAAIiB,EAAQI,SACjB5D,EAAYuD,QACP,GAAIC,EAAQK,QAAUL,EAAQM,OAAQ,CAC3C,IAAIC,EAAYP,EAAQK,OAAS,IAAaG,SAAW,IAAaC,SAI/C,mBAAZlE,GAA2BtD,IACpCsD,EAAQ8C,EAAKkB,GAGf5B,UAAkEA,GAAgBvE,aAC7E,GAAIiD,IAAoC,IAAnBgC,EAAIniB,IAAIb,OAAc,CAGhDqkB,aAAa1F,GACb0C,GAAWnT,QAAUmT,GAAWnT,QAAU8U,EAAIniB,IAG9C8d,EAAkBX,YAAW,WAC3BqD,GAAWnT,QAAU,KACpB,KACH,IAAIoW,EA3CqB,WAC3B,IAAIC,EAAOzM,UAAU9X,OAAS,QAAsBS,IAAjBqX,UAAU,GAAmBA,UAAU,GAAK,GAC3E0M,EAAY1M,UAAU9X,OAAS,QAAsBS,IAAjBqX,UAAU,GAAmBA,UAAU,GAAK,GACpF,OAAOyM,EAAKjB,WAAU,SAAUlG,GAC9B,OAAOA,EAAOnB,YAAYwI,cAAchX,WAAW+W,EAAUC,kBAuCjCC,CAAuBjlB,EAAS4hB,GAAWnT,SACnEoW,GAAyB,IAC3BvC,IAAkB,GAClBS,GAAS8B,KAObK,CAAU3B,IAOR4B,QACmBnkB,KADuBwe,EAW5Cja,GATSia,OAGaxe,IAAlB8f,GAA+BA,GAAiB,GAC9C9gB,GAAWA,EAAQ8gB,SAAmD9f,IAAjChB,EAAQ8gB,GAAevb,MACvDvF,EAAQ8gB,GAAevb,MAG3Bka,EAULwE,GAAe7D,GAAkB,EAAI8B,GAAgBzT,QACrD2W,GAAajF,GAAU0B,IAAmB7hB,EAAQ6E,KAAI,SAAU8Y,EAAQ0H,GAE1E,IAAIC,EAAc3H,EAAO/L,eAAe,SAAW+L,EAAOpY,MAAQoY,EAAOnB,YAErES,GAAcU,EAAOxB,oBAAmCnb,IAAlBmkB,GAA8BrE,IAAkBuE,EAAMC,IAAgBH,IAC5GvI,EAdU,SAAUA,GACxB,OAAOA,GAAoC,iBAAfA,EAA0B,YAAI,MAAO,CAC/D6B,IAAKjB,GAAQvB,mBACbsJ,IAAK3I,EACL8B,KAAM,OACN,YAAa,SACV9B,EAQY4I,CAAU7H,EAAOf,YAAce,EAAO8H,QACvD,OAAO,YAAInJ,EAAqB,YAAS,CACvCC,SAAU7R,GACTiT,EAAQ,CACTpY,MAAO+f,EACPrI,WAAYA,EACZF,UAAWkH,KAAiBoB,EAC5BrI,SAAUgE,IAAeqE,EACzBxV,UAAW+P,EACXhD,WAAYA,EACZxb,IAAK,SAASgJ,OAAOib,GACrBlI,SAAUA,GACVE,eAAgBA,GAChBH,YAAayG,GACb,YAAa,aAGjB,2BAAgB,WAuBd,OAtBIxD,IAGFve,SAAS8jB,iBAAiB,QAASpC,IAC9BlD,GACHxe,SAASoW,KAAK0N,iBAAiB,UAAW1B,IAEvC7G,GASHmF,IAAkB,KAnKH,WACnB,IAAIqD,EAAe9C,cAAyD,EAASA,GAAgB9E,wBAAwB6H,MAC7H,GAAIxI,GAAkB,CACPwF,GAAcjB,IAGpB5R,MAAM6V,MAAuB,GAAGxb,OAAlBub,GAAyDnD,GAAlB,UACvD,CACL,IAAIqD,EAAOjD,GAAclB,IACrBoE,EAAYD,GAAQA,EAAK9H,wBAAwB6H,MAGjDD,EAAepD,IAAaoD,EAAeG,IAC7CD,EAAK9V,MAAM6V,MAAQ,GAAGxb,OAAOub,EAAc,QA8I3CI,GACAzD,GAAkBpC,GAEd+D,GAAe,GACjBlB,GAAS,IAMS,mBAAXvC,GACTA,EAAOrD,KAGJ,WAELvb,SAASokB,oBAAoB,QAAS1C,IACjClD,GACHxe,SAASoW,KAAKgO,oBAAoB,UAAWhC,IAE/C1B,IAAkB,MAEnB,CAACnC,EAAQ/C,KAKZ,IAAI6I,GAAY7E,GAAM,MAAQ,KAC1B8E,GAAc,YAAI,KAAM,YAAS,CACnCzH,IAAKjB,GAAQ1B,kBACbjM,UAAWA,EACXiN,GAAIA,EACJ6B,SAAU,EACVD,KAAM,UACN,eAAgByB,EAChB1O,IAAKiQ,GACLyE,IAAKF,IACJrT,GAAM,CACP,YAAa,SACXwS,IACAgB,GAAiB,YAAI,MAAO,CAC9B3U,IAAKkQ,GACLlD,IAAKjB,GAAQxC,qBACb,YAAa,QACZ,YAAI,IAAgB,CACrBqL,iBAAkB,UAClBtH,KAAM,KACN,YAAa,UAEXuH,GAAUlJ,GAAmBgJ,GAAiBF,GAClD,OAAO,WACL,GAAI/I,GAAU,CAEZ,IAAIoJ,EAAgBjG,EAAuB,UAAOtf,EAClD,OAAO,YAAI,IAAO,CAChBmf,OAAQA,EACRqG,gBAAiB/F,EACjBgG,MAAOpG,EACPqG,gBAAiB7G,EACjB8G,eAAgBrG,EAChBsG,WAAW,EACXC,eAAe,EACfrF,kBAAmBA,IAAqB+E,EACxC1W,UAAWiQ,EACXgH,iBAAkB/G,EAClBa,qBAAsBA,EACtB,YAAa,QACZ0F,IAEL,OAAOnG,GAAU,YAAI,MAAO,CAC1B1O,IAAKgQ,GACLhD,IAAKjB,GAAQrF,cACbtI,UAAW8P,EACX,iBAAkB,wBACjB2G,IAxBE,IA2BLS,EAAc,CAAC,YAAa,qBAAsB,gBAAiB,KAAM,mBAAoB,SAAU,cAAe,mBAAoB,UAAW,UAAW,cAAe,aAAc,QAAS,qBACtMnE,EAAgB,SAAUnR,GAC5B,OACEA,GAAOA,EAAIhD,QAAUgD,EAAIhD,QAAU,MAGnCuY,EAAa,SAAU/Y,GACzB,IAAI4B,EAAY5B,EAAK4B,UACnB8P,EAAqB1R,EAAK0R,mBAC1BC,EAAgB3R,EAAK2R,cACrBqH,EAAUhZ,EAAK6O,GACfA,OAAiB,IAAZmK,EAAqB,YAAS,eAAiBA,EACpDC,EAAwBjZ,EAAKiS,iBAC7BA,OAA6C,IAA1BgH,GAA0CA,EAC7D/G,EAASlS,EAAKkS,OACdE,EAAcpS,EAAKoS,YACnB8G,EAAwBlZ,EAAKmP,iBAC7BA,OAA6C,IAA1B+J,GAA2CA,EAC9DnnB,EAAUiO,EAAKjO,QACfygB,EAAUxS,EAAKwS,QACfC,EAAczS,EAAKyS,YACnB0G,EAAanZ,EAAKmZ,WAElB5F,GADQvT,EAAKoZ,MACOpZ,EAAKuT,mBACzB5O,EAAO,YAAyB3E,EAAM8Y,GACpCnQ,EAAS,cACT4G,EAAU,mBAAQ,WACpB,OAAOhT,EAAOoM,KACb,CAACA,IACAc,EAAiBd,EAAOc,eACxB+K,EAAoB,GAAGrY,OAAO,YAAU,YAAQsN,EAAgB,UAChE4P,EAAe,mBACf5F,EAAU,mBACVG,EAAkB7hB,GAAWA,EAAQO,OACrC6hB,EAAY,mBAAS,GACvBC,EAAa,YAAeD,EAAW,GACvCtB,EAAgBuB,EAAW,GAC3BkF,EAAmBlF,EAAW,GAC5BmF,EAAa,oBAAS,GACxBC,EAAa,YAAeD,EAAY,GACxCnK,EAAiBoK,EAAW,GAC5BnF,EAAoBmF,EAAW,GAG7BtK,IAAW,eAAclN,OAAOyS,WAAaC,SAASF,EAAmB,IACzEM,EAAW,SAAUG,GACvB,IAAIzU,EAAUmU,EAAclB,GAG5B,GAAIjT,EAAS,CACX,IAAIiZ,EAAajZ,EAAQrF,iBAAiB,qBAC1C,GAAIse,EAAWnnB,OAAQ,CACrB,IAAIonB,EAAMD,EAAWnnB,OACjB4iB,EAAYrC,EAAgBoC,EAC5B0E,EAAWzE,GAAa,GAAKA,GAAawE,EAAM,EAAIxE,EAAY,EACpEuE,EAAWE,GAAUtJ,QACrBiJ,EAAiBK,MAInBtE,EAAqB,SAAUC,GACjC,IAAIC,EAAiBZ,EAAc0E,GAE/B9D,IAAmBA,EAAeE,SAASH,EAAIxR,SAAWqV,IAAeA,EAAW3Y,QAAQiV,SAASH,EAAIxR,QAC3G0O,EAAQ8C,GACE6D,IAAc5D,GAAmBA,EAAeE,SAASH,EAAIxR,SACvE0O,EAAQ8C,IA+BRsE,EAAa,CAACrK,EAAQ5D,aAAcyD,GAAkBG,EAAQvC,oBAC9DmK,EAAavD,EAAkB7hB,EAAQ6E,KAAI,SAAUuK,EAAO0Y,GAC9D,IAAIC,EAAW3Y,EAAM2Y,SACnBtB,EAAQrX,EAAMqX,MAChB,OAAO,YAAI,KAAM,CACfhI,IAAKoJ,EACLhY,UAAW+P,EACXlB,KAAM,WACNjM,QAAS,SAAiBuV,GACxB,OArCY,SAAU9f,EAAO8f,GACjCtH,EAAYxY,EAAO8f,GAoCRrE,CAAYmE,EAAaE,IAElC5mB,IAAK,SAASgJ,OAAO0d,GACrBnJ,UAAW,EACXsJ,UAAW,SAAmB1E,GAC5B,OArCU,SAAUA,GACxBA,EAAIjQ,iBAGJ,IAAI4Q,EAAU,IAAI,IAAaX,EAAIniB,KAAOmiB,EAAIY,SAC1C+D,EAAYtF,EAAcwE,GAC1BlD,EAAQE,aACV9B,GAAkB,GAClBS,GAAU,IACDmB,EAAQG,eACjB/B,GAAkB,GAClBS,EAAS,IACAmB,EAAQI,SACjB5D,EAAYI,EAAeyC,IAClBW,EAAQK,QAAUL,EAAQM,SACnC/D,EAAQ8C,IAELW,EAAQK,QAAUL,EAAQM,QAAUN,EAAQI,WAAa4D,GAC5DA,EAAU5J,QAmBD4G,CAAU3B,IAEnB,YAAa,QACZwE,GAAY,YAAI,OAAQ,CACzBtJ,IAAKjB,EAAQ/C,kBACb,YAAa,QACZsN,GAAW,YAAI,IAAK,CACrBtJ,IAAKjB,EAAQ5C,aACb,YAAa,QACZ6L,OACA,KACL,qBAAU,WAaR,OAXItG,GACGhD,IACH4F,EAAS,GACTT,EAAkBpC,IAEpBte,SAAS8jB,iBAAiB,QAASpC,GACnCrT,OAAOyV,iBAAiB,SAAUjF,KAElC7e,SAASokB,oBAAoB,QAAS1C,GACtCrT,OAAO+V,oBAAoB,SAAUvF,IAEhC,WACL8G,EAAiB,GACjBjF,GAAkB,GAClB1gB,SAASokB,oBAAoB,QAAS1C,GACtCrT,OAAO+V,oBAAoB,SAAUvF,MAEtC,CAACN,EAAQngB,IACZ,IAAImoB,EAAY/K,EAAmB,YAAI,MAAO,CAC5CqB,IAAKjB,EAAQxC,qBACb,YAAa,QACZ,YAAI,IAAgB,CACrBqL,iBAAkB,UAClBtH,KAAM,KACN,YAAa,UACT,YAAI,KAAM,YAAS,CACvBN,IAAKjB,EAAQrE,SACbtJ,UAAWA,EACXiN,GAAIA,EACJ4B,KAAM,OACN,eAAgByB,EAChB1O,IAAKiQ,GACJ9O,EAAM,CACP,YAAa,SACXwS,GACAzkB,EAAYwc,EAAW,YAAI,IAAO,CACpCsJ,MAAOpG,EACPF,OAAQA,EACRqG,gBAAiB/F,EACjBmG,WAAW,EACXpF,kBAAmBA,EACnB,YAAa,QACZ2G,GAAa,YAAI,MAAO,CACzB1J,IAAKjB,EAAQrF,cACbtI,UAAW8P,EACXlO,IAAK6V,EACL,iBAAkB,qBACjBa,GACH,OAAOhI,GAAUxf,I,oCCjzBnBgU,EAAO/H,QAAU,I,oCCAjB+H,EAAO/H,QAAU,SAAU3I,GACzB,IACE,QAASA,IACT,MAAOmkB,GACP,OAAO,K,oCCJX,IAAIC,EAAS,EAAQ,QACjBC,EAAa,EAAQ,QAErBC,EAAY,SAAUC,GACxB,OAAOF,EAAWE,GAAYA,OAAWxnB,GAG3C2T,EAAO/H,QAAU,SAAU6b,EAAWC,GACpC,OAAOrQ,UAAU9X,OAAS,EAAIgoB,EAAUF,EAAOI,IAAcJ,EAAOI,IAAcJ,EAAOI,GAAWC,K,oCCTtG,sCAAIC,EAAmB,SAAUC,GAC/B,MAAwB,oBAAbhnB,SACF,MAEUyH,MAAMwf,QAAQD,GAAkBA,EAAe,GAAKA,GACnDE,cAAc9Q,MAEhC+Q,EAAa,IAAIxgB,QACjBygB,EAAoB,IAAIzgB,QACxB0gB,EAAY,GACZC,EAAY,EACZC,EAAa,SAAU5f,GACzB,OAAOA,IAASA,EAAK6f,MAAQD,EAAW5f,EAAK5G,cAyB3C0mB,EAAyB,SAAUT,EAAgBjmB,EAAY2mB,EAAYC,GAC7E,IAAIC,EAxBe,SAAU/jB,EAAQ+jB,GACrC,OAAOA,EAAQ3kB,KAAI,SAAUkN,GAC3B,GAAItM,EAAOie,SAAS3R,GAClB,OAAOA,EAET,IAAI0X,EAAkBN,EAAWpX,GACjC,OAAI0X,GAAmBhkB,EAAOie,SAAS+F,GAC9BA,GAETtV,QAAQiU,MAAM,cAAerW,EAAQ,0BAA2BtM,EAAQ,mBACjE,SACN8F,QAAO,SAAU3H,GAClB,OAAOkM,QAAQlM,MAYH8lB,CAAe/mB,EAAY0G,MAAMwf,QAAQD,GAAkBA,EAAiB,CAACA,IACtFK,EAAUK,KACbL,EAAUK,GAAc,IAAI/gB,SAE9B,IAAIohB,EAAgBV,EAAUK,GAC1BM,EAAc,GACdC,EAAiB,IAAIC,IACrBC,EAAiB,IAAID,IAAIN,GACzBQ,EAAO,SAAU1Y,GACdA,IAAMuY,EAAeI,IAAI3Y,KAG9BuY,EAAeK,IAAI5Y,GACnB0Y,EAAK1Y,EAAG3O,cAEV6mB,EAAQ/nB,QAAQuoB,GAChB,IAAIG,EAAO,SAAU1kB,GACdA,IAAUskB,EAAeE,IAAIxkB,IAGlC4D,MAAM/H,UAAUG,QAAQ6H,KAAK7D,EAAOG,UAAU,SAAU2D,GACtD,GAAIsgB,EAAeI,IAAI1gB,GACrB4gB,EAAK5gB,OACA,CACL,IAAI6gB,EAAO7gB,EAAKC,aAAa+f,GACzBc,EAAyB,OAATD,GAA0B,UAATA,EACjCE,GAAgBvB,EAAWpgB,IAAIY,IAAS,GAAK,EAC7CghB,GAAeZ,EAAchhB,IAAIY,IAAS,GAAK,EACnDwf,EAAWngB,IAAIW,EAAM+gB,GACrBX,EAAc/gB,IAAIW,EAAMghB,GACxBX,EAAY9oB,KAAKyI,GACI,IAAjB+gB,GAAsBD,GACxBrB,EAAkBpgB,IAAIW,GAAM,GAEV,IAAhBghB,GACFhhB,EAAKzH,aAAawnB,EAAY,QAE3Be,GACH9gB,EAAKzH,aAAaynB,EAAkB,aAQ5C,OAHAY,EAAKxnB,GACLknB,EAAeW,QACftB,IACO,WACLU,EAAYnoB,SAAQ,SAAU8H,GAC5B,IAAI+gB,EAAevB,EAAWpgB,IAAIY,GAAQ,EACtCghB,EAAcZ,EAAchhB,IAAIY,GAAQ,EAC5Cwf,EAAWngB,IAAIW,EAAM+gB,GACrBX,EAAc/gB,IAAIW,EAAMghB,GACnBD,IACEtB,EAAkBiB,IAAI1gB,IACzBA,EAAKkhB,gBAAgBlB,GAEvBP,EAAkB0B,OAAOnhB,IAEtBghB,GACHhhB,EAAKkhB,gBAAgBnB,QAGzBJ,IAGEH,EAAa,IAAIxgB,QACjBwgB,EAAa,IAAIxgB,QACjBygB,EAAoB,IAAIzgB,QACxB0gB,EAAY,MAWP0B,EAAa,SAAU/B,EAAgBjmB,EAAY2mB,QACzC,IAAfA,IACFA,EAAa,oBAEf,IAAIE,EAAUngB,MAAMuhB,KAAKvhB,MAAMwf,QAAQD,GAAkBA,EAAiB,CAACA,IACvEiC,EAAmBloB,GAAcgmB,EAAiBC,GACtD,OAAKiC,GAMLrB,EAAQ1oB,KAAKgqB,MAAMtB,EAASngB,MAAMuhB,KAAKC,EAAiBzhB,iBAAiB,iBAClEigB,EAAuBG,EAASqB,EAAkBvB,EAAY,gBAN5D,WACL,OAAO,Q,oCC5Hb,IAAIyB,EAAwB,GAAGC,qBAE3BC,EAA2BvnB,OAAOunB,yBAGlCC,EAAcD,IAA6BF,EAAsBzhB,KAAK,CAAE6hB,EAAG,GAAK,GAIpFve,EAAQ3F,EAAIikB,EAAc,SAA8B5kB,GACtD,IAAI8kB,EAAaH,EAAyB/qB,KAAMoG,GAChD,QAAS8kB,GAAcA,EAAWC,YAChCN,G,uBCbJ,IAAIO,EAAU,EAAQ,QAAwB,QAC9C,SAASC,EAAyBC,GAChC,GAAuB,mBAAZjjB,QAAwB,OAAO,KAC1C,IAAIkjB,EAAoB,IAAIljB,QACxBmjB,EAAmB,IAAInjB,QAC3B,OAAQgjB,EAA2B,SAAkCC,GACnE,OAAOA,EAAcE,EAAmBD,IACvCD,GAiCL7W,EAAO/H,QA/BP,SAAiC+e,EAAKH,GACpC,IAAKA,GAAeG,GAAOA,EAAI9e,WAC7B,OAAO8e,EAET,GAAY,OAARA,GAAiC,WAAjBL,EAAQK,IAAoC,mBAARA,EACtD,MAAO,CACL,QAAWA,GAGf,IAAIlhB,EAAQ8gB,EAAyBC,GACrC,GAAI/gB,GAASA,EAAMwf,IAAI0B,GACrB,OAAOlhB,EAAM9B,IAAIgjB,GAEnB,IAAIC,EAAS,GACTC,EAAwBnoB,OAAOooB,gBAAkBpoB,OAAOunB,yBAC5D,IAAK,IAAI7pB,KAAOuqB,EACd,GAAY,YAARvqB,GAAqBsC,OAAOpC,UAAUsQ,eAAetI,KAAKqiB,EAAKvqB,GAAM,CACvE,IAAI2qB,EAAOF,EAAwBnoB,OAAOunB,yBAAyBU,EAAKvqB,GAAO,KAC3E2qB,IAASA,EAAKpjB,KAAOojB,EAAKnjB,KAC5BlF,OAAOooB,eAAeF,EAAQxqB,EAAK2qB,GAEnCH,EAAOxqB,GAAOuqB,EAAIvqB,GAQxB,OAJAwqB,EAAgB,QAAID,EAChBlhB,GACFA,EAAM7B,IAAI+iB,EAAKC,GAEVA,GAEiCjX,EAAO/H,QAAQC,YAAa,EAAM8H,EAAO/H,QAAiB,QAAI+H,EAAO/H,S,oCCvC/G,IAAIof,EAAa,EAAQ,QACrB1D,EAAa,EAAQ,QACrB2D,EAAgB,EAAQ,QACxBC,EAAoB,EAAQ,QAE5BC,EAAUzoB,OAEdiR,EAAO/H,QAAUsf,EAAoB,SAAUtX,GAC7C,MAAoB,iBAANA,GACZ,SAAUA,GACZ,IAAIwX,EAAUJ,EAAW,UACzB,OAAO1D,EAAW8D,IAAYH,EAAcG,EAAQ9qB,UAAW6qB,EAAQvX,M,oCCVzE,IAAIyX,EAAU,EAAQ,QAMlBC,EAAgB,CAClBC,mBAAmB,EACnBC,aAAa,EACbC,cAAc,EACdC,cAAc,EACdC,aAAa,EACbC,iBAAiB,EACjBC,0BAA0B,EAC1BC,0BAA0B,EAC1BC,QAAQ,EACRnZ,WAAW,EACXlO,MAAM,GAEJsnB,EAAgB,CAClBtiB,MAAM,EACNnK,QAAQ,EACRe,WAAW,EACX2rB,QAAQ,EACRC,QAAQ,EACR7U,WAAW,EACX8U,OAAO,GASLC,EAAe,CACjB,UAAY,EACZC,SAAS,EACTX,cAAc,EACdC,aAAa,EACb/Y,WAAW,EACXlO,MAAM,GAEJ4nB,EAAe,GAGnB,SAASC,EAAWC,GAElB,OAAInB,EAAQoB,OAAOD,GACVJ,EAGFE,EAAaE,EAAoB,WAAMlB,EARhDgB,EAAajB,EAAQqB,YAhBK,CACxB,UAAY,EACZvb,QAAQ,EACRua,cAAc,EACdC,aAAa,EACb/Y,WAAW,GAYb0Z,EAAajB,EAAQsB,MAAQP,EAS7B,IAAItB,EAAiBpoB,OAAOooB,eACxB8B,EAAsBlqB,OAAOkqB,oBAC7BC,EAAwBnqB,OAAOmqB,sBAC/B5C,EAA2BvnB,OAAOunB,yBAClC6C,EAAiBpqB,OAAOoqB,eACxBC,EAAkBrqB,OAAOpC,UA6B7BqT,EAAO/H,QA5BP,SAASohB,EAAqBC,EAAiBC,EAAiBC,GAC9D,GAA+B,iBAApBD,EAA8B,CAEvC,GAAIH,EAAiB,CACnB,IAAIK,EAAqBN,EAAeI,GACpCE,GAAsBA,IAAuBL,GAC/CC,EAAqBC,EAAiBG,EAAoBD,GAG9D,IAAItX,EAAO+W,EAAoBM,GAC3BL,IACFhX,EAAOA,EAAKzM,OAAOyjB,EAAsBK,KAI3C,IAFA,IAAIG,EAAgBd,EAAWU,GAC3BK,EAAgBf,EAAWW,GACtB/rB,EAAI,EAAGA,EAAI0U,EAAKtW,SAAU4B,EAAG,CACpC,IAAIf,EAAMyV,EAAK1U,GACf,KAAK6qB,EAAc5rB,IAAU+sB,GAAaA,EAAU/sB,IAAWktB,GAAiBA,EAAcltB,IAAWitB,GAAiBA,EAAcjtB,IAAO,CAC7I,IAAIgqB,EAAaH,EAAyBiD,EAAiB9sB,GAC3D,IAEE0qB,EAAemC,EAAiB7sB,EAAKgqB,GACrC,MAAO3oB,OAIf,OAAOwrB,I,qCCxFT,YACA,IAAIM,EAAQ,SAAU3Z,GACpB,OAAOA,GAAMA,EAAGxR,OAASA,MAAQwR,GAInCD,EAAO/H,QAEL2hB,EAA2B,iBAAdC,YAA0BA,aACvCD,EAAuB,iBAAVte,QAAsBA,SAEnCse,EAAqB,iBAARE,MAAoBA,OACjCF,EAAuB,iBAAVlG,GAAsBA,IAEnC,WAAe,OAAOnoB,KAAtB,IAAoCA,MAAQwuB,SAAS,cAATA,K,8NCd/B1hB,UACAhM,IAATgM,EACKA,EAED,MAAJA,EACI,IAEwB,MAA5BA,EAAK2hB,OAAO3hB,EAAKzM,OAAS,GACrByM,EAAKxI,MAAM,GAAI,GAEjBwI,ECNT,MAAM4hB,EAAY,IAAIC,IACtB,IAAIC,EAAa,GAEjB,MAAMC,EAAeC,IACnB,MAAMxe,EAAWye,mBAAmBD,GAQpC,OANwBE,YAAY1e,EAAU2e,IAE3CplB,MAAM,KAAK,GAEXA,MAAM,KAAK,IAKhB,SAAS2E,EAAW1B,GAElB,OACEA,EAAKgB,WAAW,MAChBhB,EAAKgB,WAAW,aAChBhB,EAAKgB,WAAW,WAEThB,EAIF,IAAIoiB,IACTpiB,EACAiD,OAAOZ,SAASqE,MAAQzD,OAAOZ,SAASqE,KAAKpF,SAAS,KAAI,SAC1DkC,SAQG,MAAM6e,EAAgB9pB,IAC3BupB,EAAavpB,GAWF+pB,EAAgBN,IAC3B,MAAMO,EAAkBC,EAAUR,GAE5BS,EAAYX,EAAWjqB,IAAIoJ,IAA0B,IAAzB,KAAEjB,EAAI,UAAE0iB,GAAWzhB,EACnD,MAAO,CACLjB,KAAM0iB,EACNC,aAAc3iB,KAIZA,EAAO4iB,eAAKH,EAAWF,GAE7B,OAAIviB,EACK6iB,EAAkB7iB,EAAK8iB,MAAMH,cAG/B,MAYII,EAAkBf,IAC7B,MAAMO,EAAkBC,EAAUR,GAE5BS,EAAYX,EAAWjqB,IAAIuK,IAA0B,IAAzB,KAAEpC,EAAI,UAAE0iB,GAAWtgB,EACnD,MAAO,CACLpC,KAAM0iB,EACNC,aAAc3iB,KAIZA,EAAO4iB,eAAKH,EAAWF,GAE7B,OAAIviB,EACKA,EAAKgjB,OAGP,IAWIC,EAAWjB,IACtB,MAAMO,EAAkBR,EAAargB,EAAWsgB,IAChD,GAAIJ,EAAU3E,IAAIsF,GAChB,OAAOX,EAAUjmB,IAAI4mB,GAGvB,IAAIW,EAAYZ,EAAcC,GAQ9B,OANKW,IACHA,EAAYV,EAAUR,IAGxBJ,EAAUhmB,IAAI2mB,EAAiBW,GAExBA,GAUIV,EAAYR,IAGvB,IAAIkB,EAFoBnB,EAAargB,EAAWsgB,IAShD,MANa,gBAATkB,IACFA,EAAS,KAGXA,EAAYL,EAAkBK,GAEvBA,I,oCC7IT,IAAIC,EAAY,EAAQ,QACpBC,EAAoB,EAAQ,QAIhCzb,EAAO/H,QAAU,SAAUtG,EAAGL,GAC5B,IAAI4N,EAAOvN,EAAEL,GACb,OAAOmqB,EAAkBvc,QAAQ7S,EAAYmvB,EAAUtc,K,oCCNzDjH,EAAQC,YAAa,EACrBD,EAAQyjB,qBAQR,SAA8BC,GAC5B,IAAIjhB,GAAW,EAAI1B,EAAQ4iB,eACvBpgB,GAAQ,EAAIzC,EAAO8iB,YAAYC,EAAeC,eAC9Cjf,GAAM,EAAI/D,EAAOsU,UAOrB,OANA,EAAItU,EAAOijB,kBAAiB,WAC1B,GAAIlf,EAAIhD,QAAS,CACf,IAAImiB,EAAWzgB,EAAMjF,KAAKmE,EAAUihB,GACpC7e,EAAIhD,QAAQoiB,SAAS,EAAGD,GAAY,MAErC,IACI,CACLnf,IAAKA,EACLqf,SAAU,WACJrf,EAAIhD,SACN0B,EAAMqF,KAAKnG,EAAUihB,EAAY7e,EAAIhD,QAAQsiB,cApBrD,IAAIN,EAAiB,EAAQ,QAEzB/iB,EAAS,EAAQ,QAEjBC,EAAU,EAAQ,S,oCCRtB,IAAIqjB,EAAc,EAAQ,QAEtBC,EAAoBvC,SAASptB,UAC7BgI,EAAO2nB,EAAkB3nB,KACzB4nB,EAAsBF,GAAeC,EAAkB5gB,KAAKA,KAAK/G,EAAMA,GAE3EqL,EAAO/H,QAAUokB,EAAcE,EAAsB,SAAUC,GAC7D,OAAO,WACL,OAAO7nB,EAAKwhB,MAAMqG,EAAI9Y,c,oCCT1B,4EAOI+Y,EAAa,GACbC,EAAyB,cAAiB,SAAqB1rB,EAAO2rB,GACxE,IAAI9jB,EACA4R,EAAkB,aACpBmS,EAAenS,EAAgB,GAC/BoS,EAAcpS,EAAgB,GAC5BqS,EAAW,WACXC,EAAW,UAAa,GACxBC,EAAyB,SAAa,MACtC/rB,EAAWD,EAAMC,SACnBgsB,EAAWjsB,EAAMisB,SACjBC,EAAgBlsB,EAAMksB,cACtBC,EAAkBnsB,EAAMmsB,gBACxBC,EAAapsB,EAAMosB,WACnBC,EAAYrsB,EAAMqsB,UAElBC,GADqBtsB,EAAMusB,mBACnBvsB,EAAMssB,OACdpiB,EAAYlK,EAAMkK,UAClBsiB,EAAYxsB,EAAMwsB,UAClBC,EAAqBzsB,EAAMysB,mBAC3BC,EAAgB1sB,EAAM2sB,OACtBA,OAA2B,IAAlBD,EAA2BjB,EAAaiB,EACjDE,EAAY5sB,EAAMkZ,GAClB2T,OAA0B,IAAdD,EAAuB,MAAQA,EAC3CE,EAAmB9sB,EAAM+sB,UACzBC,OAAsC,IAArBF,EAA8B,GAAKA,EACpDG,EAAUjtB,EAAMktB,QAChBC,EAAoBntB,EAAMotB,YAC1BC,EAAertB,EAAMqtB,aACrBC,EAAuBttB,EAAMutB,aAC7BC,EAAyBxtB,EAAMytB,eAE/BtW,EADqB,WAAe,IACd,GAEpBoW,EAAe,eAAkB,WACnCvB,EAAuBljB,QAAUkjB,EAAuBljB,SAAW7M,UAAYA,SAASyxB,cACpF5B,EAAShjB,SAAWwkB,GACtBA,EAAqBxB,EAAShjB,SAEhCijB,EAASjjB,SAAU,IAClB,CAACwkB,IACAG,EAAiB,eAAkB,WACrC1B,EAASjjB,SAAU,EACf0kB,GACFA,EAAuB1B,EAAShjB,WAEjC,CAAC0kB,IACJ,qBAAU,WACHvB,IAGHD,EAAuBljB,QAAU,QAElC,IACH,IAAIskB,EAAc,eAAkB,SAAUO,GAC5C,IAAIC,EAAgB5B,EAAuBljB,QAC3C,GAAI8kB,GAAiBA,EAAcjV,MAAO,CACxC,IAAIkV,EAAgD,mBAAtBV,EAAmCA,EAAkBS,GAAiBT,EACpG,GAAIU,EAAkB,CACpB,IAAIC,EAAiD,iBAArBD,EAAgCA,OAAmBxyB,EACnF2wB,EAAuBljB,QAAU,KAC7B6kB,EAGFvnB,QAAQC,UAAUC,MAAK,WACrB,OAAOsnB,EAAcjV,MAAMmV,MAG7BF,EAAcjV,MAAMmV,OAIzB,CAACX,IAEAY,EAAU,eAAkB,SAAU1L,GACpC0J,EAASjjB,SACX,IAAYrD,UAAU4c,KAEvB,IACC2L,EAAS,IAAWvoB,UAGpBwoB,EAAiB,eAAkB,SAAUC,GAC3CpC,EAAShjB,UAAYolB,IACvBpC,EAAShjB,QAAUolB,EACnBrC,EAAYqC,MAEb,IAcH,IAAInB,EAAY,cAAUllB,EAAY,IAAc,KAA4BokB,GAAY,WAAYpkB,EAAU,KAAyBykB,EAAOzkB,GAAYmlB,GAC1JmB,GAAqC,IAAlBjC,EACnBkC,EAAmBD,GAAsC,SAAlBjC,EACvCmC,EAAY,YAAa,CAAC1C,EAAWsC,IACzC,OAAoB,gBAAoB,WAAgB,KAAME,GAAoB,CAElF,gBAAoB,MAAO,CACzB1yB,IAAK,cACL,oBAAoB,EACpBud,SAAUiT,GAAY,EAAI,EAC1B7hB,MAAO,MAGTqiB,EAAkC,gBAAoB,MAAO,CAC3DhxB,IAAK,gBACL,oBAAoB,EACpBud,SAAUiT,GAAY,EAAI,EAC1B7hB,MAAO,MACJ,OAAQ6hB,GAAyB,gBAAoBgB,EAAS,CACjE9V,GAAIA,EACJ+V,QAAS,IACTpB,SAAUF,EACVK,SAAUA,EACVE,gBAAiBA,EACjBC,WAAYA,EACZC,UAAWA,EACXG,UAAWA,EACXG,OAAQA,EACRY,aAAcA,EACdE,eAAgBA,EAChBL,YAAaA,EACbC,aAAcA,IACC,gBAAoBR,EAAW,YAAS,CACvD/gB,IAAKuiB,GACJtB,EAAW,CACZ7iB,UAAWA,EACX8jB,OAAQA,EACRD,QAASA,IACP9tB,GAAWmuB,GAAiC,gBAAoB,MAAO,CACzE,oBAAoB,EACpBpV,SAAUiT,GAAY,EAAI,EAC1B7hB,MAAO,UAGXshB,EAAU3E,aAAe,CACvB9mB,cAAU5E,EACV4wB,UAAU,EACVmB,aAAa,EACbC,kBAAchyB,EACd6wB,eAAe,EACfG,WAAW,EACXF,iBAAiB,EACjBC,YAAY,EACZK,wBAAoBpxB,EACpBkxB,wBAAoBlxB,EACpBixB,WAAOjxB,EACP6O,eAAW7O,EACXmxB,eAAWnxB,EACXsxB,YAAQtxB,EACR6d,GAAI,MACJ6T,UAAW,GACXQ,kBAAclyB,EACdoyB,oBAAgBpyB,GAEH,O,oCC1Kf,MAAMizB,ECiBN,SAAcC,GAGb,OAFAA,EAAMA,GAAOxwB,OAAOywB,OAAO,MAEpB,CAQNC,GAAI,SAAY1uB,EAAc2uB,IAC5BH,EAAIxuB,KAAUwuB,EAAIxuB,GAAQ,KAAK5E,KAAKuzB,IAUtCC,IAAK,SAAa5uB,EAAc2uB,GAC3BH,EAAIxuB,IACPwuB,EAAIxuB,GAAM6uB,OAAOL,EAAIxuB,GAAMrB,QAAQgwB,KAAa,EAAG,IAYrDG,KAAM,SAAc9uB,EAAc6d,IAChC2Q,EAAIxuB,IAAS,IAAIlB,QAAQK,KAAI,SAAUwvB,GAAWA,EAAQ9Q,OAC1D2Q,EAAI,MAAQ,IAAI1vB,QAAQK,KAAI,SAAUwvB,GAAWA,EAAQ3uB,EAAM6d,QDvDnDkR,GACDR,O,oCEFf,IAAIS,EAAS,EAAQ,QACjBC,EAAU,EAAQ,QAClBC,EAAiC,EAAQ,QACzCC,EAAuB,EAAQ,QAEnClgB,EAAO/H,QAAU,SAAUmF,EAAQ+iB,EAAQC,GAIzC,IAHA,IAAIle,EAAO8d,EAAQG,GACfhJ,EAAiB+I,EAAqB5tB,EACtCgkB,EAA2B2J,EAA+B3tB,EACrD9E,EAAI,EAAGA,EAAI0U,EAAKtW,OAAQ4B,IAAK,CACpC,IAAIf,EAAMyV,EAAK1U,GACVuyB,EAAO3iB,EAAQ3Q,IAAU2zB,GAAcL,EAAOK,EAAY3zB,IAC7D0qB,EAAe/Z,EAAQ3Q,EAAK6pB,EAAyB6J,EAAQ1zB,O,oCCbnE,+FAIA,SAASuzB,EAAQ5lB,EAAQimB,GACvB,IAAIne,EAAOnT,OAAOmT,KAAK9H,GACvB,GAAIrL,OAAOmqB,sBAAuB,CAChC,IAAIoH,EAAUvxB,OAAOmqB,sBAAsB9e,GAC3CimB,IAAmBC,EAAUA,EAAQ1pB,QAAO,SAAU2pB,GACpD,OAAOxxB,OAAOunB,yBAAyBlc,EAAQmmB,GAAK7J,eACjDxU,EAAK/V,KAAKgqB,MAAMjU,EAAMoe,GAE7B,OAAOpe,EAaT,IAAIse,EAAW,SAAUlnB,GACvB,IAAIgZ,EAAUhZ,EAAK6O,GACjBA,OAAiB,IAAZmK,EAAqB,YAAS,aAAeA,EAClDmO,EAAkBnnB,EAAKonB,WACvBA,OAAiC,IAApBD,GAAqCA,EAClD5U,EAASvS,EAAKuS,OACdC,EAAUxS,EAAKwS,QACf6U,EAAuBrnB,EAAKuY,gBAC5BA,OAA2C,IAAzB8O,EAAkC7U,EAAU6U,EAC9DC,EAAkBtnB,EAAKunB,WACvBA,OAAiC,IAApBD,EAA6B,CACxCE,QAAS,CACPC,UAAU,GAEZC,QAAS,CACPD,UAAU,GAEZE,OAAQ,CACNF,UAAU,IAEVH,EACJ3vB,EAAWqI,EAAKrI,SACdwc,EAAY,mBAAS,WACvBC,EAAa,YAAeD,EAAW,GACvCyT,EAAexT,EAAW,GAC1ByT,EAAkBzT,EAAW,GAC3B0T,EAAa,iBAAO,CACtB/N,MAAO,KACPgO,YAAa,KAEXC,EAAW,iBAAOnZ,GACtB,qBAAU,WAEJ,KAON,qBAAU,WACR,IAAIoZ,EAcJ,OAbKb,GAA+B,YAAjBQ,IAKjBK,EAAQ3X,YAAW,WACjB,OAAOuX,EAAgB,aACtB,KAEDT,GAA+B,YAAjBQ,IAChBE,EAAWtnB,QAAQunB,YAAc,SACjCF,EAAgB,WAEX,WACDI,GACFtR,aAAasR,MAGhB,CAACb,IACJ,IAAIc,EAAiB,SAAU5S,GAE7B,GAAIA,EAAIxR,OAAOgS,QAAQkS,WAAaA,EAASxnB,QAAS,CACpD,GAAqB,WAAjBonB,EAA2B,CAG7B,IAAIzmB,EAAQ2mB,EAAWtnB,SAAW,GAChC2nB,EAAShnB,EAAM4Y,MACfgO,EAAc5mB,EAAM4mB,YAES,mBAApBxP,GACTA,EAAgB4P,EAAQJ,GAE1BF,EAAgB,eACW,mBAAXtV,GAChBA,EAAO+C,GAGTA,EAAI8S,kBACJ9S,EAAI+S,YAAYC,6BAGpB,GAAIlB,GAA+B,YAAjBQ,EAChB,OAAO,KAET,IAAIW,EAjGN,SAAuBzkB,GACrB,IAAK,IAAI5P,EAAI,EAAGA,EAAIkW,UAAU9X,OAAQ4B,IAAK,CACzC,IAAI2yB,EAAS,MAAQzc,UAAUlW,GAAKkW,UAAUlW,GAAK,GACnDA,EAAI,EAAIwyB,EAAQjxB,OAAOoxB,IAAS,GAAIrzB,SAAQ,SAAUL,GACpD,YAAgB2Q,EAAQ3Q,EAAK0zB,EAAO1zB,OACjCsC,OAAO+yB,0BAA4B/yB,OAAOgzB,iBAAiB3kB,EAAQrO,OAAO+yB,0BAA0B3B,IAAWH,EAAQjxB,OAAOoxB,IAASrzB,SAAQ,SAAUL,GAC5JsC,OAAOooB,eAAe/Z,EAAQ3Q,EAAKsC,OAAOunB,yBAAyB6J,EAAQ1zB,OAG/E,OAAO2Q,EAwFU4kB,CAAc,CAC7BC,aAAc,SAAsBrT,EAAKsT,GACvCd,EAAWtnB,QAAQuZ,MAAQzE,EAC3BwS,EAAWtnB,QAAQunB,YAAca,EACjCf,EAAgB,WAElB,gBAAiBG,EAASxnB,SACzB+mB,EAAWK,IACd,OAAoB,IAAMh0B,cAAc,MAAO,CAC7C,cAAe,WACfi1B,gBAAiBX,EACjBA,eAAgBA,EAChB,YAAa,QACZvwB,EAAS4wB,M,oCC1Hd5pB,EAAQC,YAAa,EACrBD,EAAQyjB,qBAAuBzjB,EAAQmqB,gBAAkBnqB,EAAQ8jB,mBAAgB,EAEjF,IAAID,EAAiB,EAAQ,QAE7B7jB,EAAQ8jB,cAAgBD,EAAeuG,cAEvC,IAAIC,EAAmB,EAAQ,QAE/BrqB,EAAQmqB,gBAAkBE,EAAiBF,gBAE3C,IAAIG,EAAwB,EAAQ,QAEpCtqB,EAAQyjB,qBAAuB6G,EAAsB7G,sB,oCCfrD,8PACA,SAAS8G,EAAgBxL,EAAKvqB,EAAKmE,GAWjC,OAVInE,KAAOuqB,EACTjoB,OAAOooB,eAAeH,EAAKvqB,EAAK,CAC9BmE,MAAOA,EACP8lB,YAAY,EACZ+L,cAAc,EACdC,UAAU,IAGZ1L,EAAIvqB,GAAOmE,EAENomB,EAET,SAAS2L,IAYP,OAXAA,EAAW5zB,OAAOC,QAAU,SAAUoO,GACpC,IAAK,IAAI5P,EAAI,EAAGA,EAAIkW,UAAU9X,OAAQ4B,IAAK,CACzC,IAAI2yB,EAASzc,UAAUlW,GACvB,IAAK,IAAIf,KAAO0zB,EACVpxB,OAAOpC,UAAUsQ,eAAetI,KAAKwrB,EAAQ1zB,KAC/C2Q,EAAO3Q,GAAO0zB,EAAO1zB,IAI3B,OAAO2Q,IAEO+Y,MAAM5qB,KAAMmY,WAE9B,SAASsc,EAAQ5lB,EAAQimB,GACvB,IAAIne,EAAOnT,OAAOmT,KAAK9H,GACvB,GAAIrL,OAAOmqB,sBAAuB,CAChC,IAAIoH,EAAUvxB,OAAOmqB,sBAAsB9e,GACvCimB,IAAgBC,EAAUA,EAAQ1pB,QAAO,SAAU2pB,GACrD,OAAOxxB,OAAOunB,yBAAyBlc,EAAQmmB,GAAK7J,eAEtDxU,EAAK/V,KAAKgqB,MAAMjU,EAAMoe,GAExB,OAAOpe,EAET,SAAS0gB,EAAexlB,GACtB,IAAK,IAAI5P,EAAI,EAAGA,EAAIkW,UAAU9X,OAAQ4B,IAAK,CACzC,IAAI2yB,EAAyB,MAAhBzc,UAAUlW,GAAakW,UAAUlW,GAAK,GAC/CA,EAAI,EACNwyB,EAAQjxB,OAAOoxB,IAAS,GAAMrzB,SAAQ,SAAUL,GAC9C+1B,EAAgBplB,EAAQ3Q,EAAK0zB,EAAO1zB,OAE7BsC,OAAO+yB,0BAChB/yB,OAAOgzB,iBAAiB3kB,EAAQrO,OAAO+yB,0BAA0B3B,IAEjEH,EAAQjxB,OAAOoxB,IAASrzB,SAAQ,SAAUL,GACxCsC,OAAOooB,eAAe/Z,EAAQ3Q,EAAKsC,OAAOunB,yBAAyB6J,EAAQ1zB,OAIjF,OAAO2Q,EAcT,SAASylB,EAAyB1C,EAAQ2C,GACxC,GAAc,MAAV3C,EAAgB,MAAO,GAC3B,IACI1zB,EAAKe,EADL4P,EAdN,SAAuC+iB,EAAQ2C,GAC7C,GAAc,MAAV3C,EAAgB,MAAO,GAC3B,IAEI1zB,EAAKe,EAFL4P,EAAS,GACT2lB,EAAah0B,OAAOmT,KAAKie,GAE7B,IAAK3yB,EAAI,EAAGA,EAAIu1B,EAAWn3B,OAAQ4B,IACjCf,EAAMs2B,EAAWv1B,GACbs1B,EAASpzB,QAAQjD,IAAQ,IAC7B2Q,EAAO3Q,GAAO0zB,EAAO1zB,IAEvB,OAAO2Q,EAIM4lB,CAA8B7C,EAAQ2C,GAEnD,GAAI/zB,OAAOmqB,sBAAuB,CAChC,IAAI+J,EAAmBl0B,OAAOmqB,sBAAsBiH,GACpD,IAAK3yB,EAAI,EAAGA,EAAIy1B,EAAiBr3B,OAAQ4B,IACvCf,EAAMw2B,EAAiBz1B,GACnBs1B,EAASpzB,QAAQjD,IAAQ,GACxBsC,OAAOpC,UAAU0pB,qBAAqB1hB,KAAKwrB,EAAQ1zB,KACxD2Q,EAAO3Q,GAAO0zB,EAAO1zB,IAGzB,OAAO2Q,EAET,IAGI8lB,EAA0B,IAAMC,cAAc,IAC9CC,EAAoB,SAA2BpkB,GACjD,OAAO,SAAUhO,GACf,IAAIqyB,EAAgBC,EAAiBtyB,EAAMuyB,YAC3C,OAAoB,IAAMr2B,cAAc8R,EAAW2jB,EAAS,GAAI3xB,EAAO,CACrEuyB,WAAYF,OAIdC,EAAmB,SAA0BC,GAC/C,IAAIC,EAAoB,IAAM3H,WAAWqH,GACrCG,EAAgBG,EAIpB,OAHID,IACFF,EAfoB,mBAeOE,EAAcA,EAAWC,GAAqBZ,EAAeA,EAAe,GAAIY,GAAoBD,IAE1HF,GAELI,EAAc,SAAqBzyB,GACrC,IAAIqyB,EAAgBC,EAAiBtyB,EAAMuyB,YAC3C,OAAoB,IAAMr2B,cAAcg2B,EAAWQ,SAAU,CAC3D9yB,MAAOyyB,GACNryB,EAAMC,WAGP0yB,EAAW,CACbC,WAAY,OACZC,QAAS,SAAiBvqB,GACxB,IAAIrI,EAAWqI,EAAKrI,SACpB,OAAoB,IAAM/D,cAAc,IAAM42B,SAAU,GAAI7yB,KAG5D8yB,EAAgC,IAAMpkB,YAAW,SAAU3O,EAAO8L,GACpE,IAAIknB,EAAiBhzB,EAAMuyB,WACzBU,EAAUjzB,EAAMizB,QAChBC,EAAelzB,EAAMkzB,aACrBC,EAAanzB,EAAMmzB,WACnBC,EAAMvB,EAAyB7xB,EAAO,CAAC,aAAc,UAAW,eAAgB,eAC9EuyB,EAAaD,EAAiBU,GAC9BjzB,EAAOkzB,EACPjlB,EAAYukB,EAAW,GAAG9tB,OAAO0uB,EAAY,KAAK1uB,OAAO1E,KAAUwyB,EAAWxyB,IAAS4yB,EAAS5yB,IAASmzB,EAC7G,OAAIF,EACkB,IAAM92B,cAAc8R,EAAW4jB,EAAeA,EAAe,CAC/E9lB,IAAKA,GACJsnB,GAAM,GAAI,CACXb,WAAYS,KAGI,IAAM92B,cAAc8R,EAAW4jB,EAAe,CAChE9lB,IAAKA,GACJsnB,OAGL,SAASl3B,EAAc6D,EAAMC,GAC3B,IAAIyS,EAAOC,UACPugB,EAAUjzB,GAASA,EAAMizB,QAC7B,GAAoB,iBAATlzB,GAAqBkzB,EAAS,CACvC,IAAII,EAAa5gB,EAAK7X,OAClB04B,EAAwB,IAAI5vB,MAAM2vB,GACtCC,EAAsB,GAAKP,EAC3B,IAAIQ,EAAW,GACf,IAAK,IAAI93B,KAAOuE,EACViM,eAAetI,KAAK3D,EAAOvE,KAC7B83B,EAAS93B,GAAOuE,EAAMvE,IAG1B83B,EAASL,aAAenzB,EACxBwzB,EAAuB,QAAoB,iBAATxzB,EAAoBA,EAAOkzB,EAC7DK,EAAsB,GAAKC,EAC3B,IAAK,IAAI/2B,EAAI,EAAGA,EAAI62B,EAAY72B,IAC9B82B,EAAsB92B,GAAKiW,EAAKjW,GAElC,OAAO,IAAMN,cAAcipB,MAAM,KAAMmO,GAEzC,OAAO,IAAMp3B,cAAcipB,MAAM,KAAM1S,GAtBzCsgB,EAAiB/L,YAAc,oB,qBC7H/BhY,EAAO/H,QAZP,SAAuCkoB,EAAQ2C,GAC7C,GAAc,MAAV3C,EAAgB,MAAO,GAC3B,IAEI1zB,EAAKe,EAFL4P,EAAS,GACT2lB,EAAah0B,OAAOmT,KAAKie,GAE7B,IAAK3yB,EAAI,EAAGA,EAAIu1B,EAAWn3B,OAAQ4B,IACjCf,EAAMs2B,EAAWv1B,GACbs1B,EAASpzB,QAAQjD,IAAQ,IAC7B2Q,EAAO3Q,GAAO0zB,EAAO1zB,IAEvB,OAAO2Q,GAEuC4C,EAAO/H,QAAQC,YAAa,EAAM8H,EAAO/H,QAAiB,QAAI+H,EAAO/H,S,k+BCXrH,SAASusB,EAAkBpnB,EAAQpM,GACjC,IAAK,IAAIxD,EAAI,EAAGA,EAAIwD,EAAMpF,OAAQ4B,IAAK,CACrC,IAAIipB,EAAazlB,EAAMxD,GACvBipB,EAAWC,WAAaD,EAAWC,aAAc,EACjDD,EAAWgM,cAAe,EACtB,UAAWhM,IAAYA,EAAWiM,UAAW,GACjD3zB,OAAOooB,eAAe/Z,EAAQ,OAAAqnB,EAAA,GAAchO,EAAWhqB,KAAMgqB,I,ICG7DvV,EAAiBC,EAAkBC,EAgFnCM,EAAmBC,EAAoBC,EAAoBP,EAgC3DqjB,EAAmBC,EAAoBC,EAAoB/iB,EAAoBP,EAAkBC,EAAkBC,EAAkBC,EAAkBojB,EAyDvJC,EAAmBC,EAAoBC,EAAoBC,EAAoBnjB,EAAoBC,EAAoBmjB,EAAoBC,EA6C3IC,E,YArIJ,SAASvvB,EAAOoM,GAEd,IAAKlT,OAAOmT,KAAKD,GAAQrW,OAEvB,OADA4T,QAAQC,KAAK,qGACN,GAET,IAAIoD,EAA2BZ,EAAOY,yBACpCL,EAAoBP,EAAOO,kBAC3B6iB,EAA2BpjB,EAAOojB,yBAClCC,EAAkCrjB,EAAOqjB,gCACzCC,EAAyBtjB,EAAOsjB,uBAChCC,EAA0BvjB,EAAOujB,wBAC/BC,EAAY,YAAU/jB,IAAsBA,EAAoB,YAAuB,CAAC,sJAa5F,MAAO,CACLhI,KAbS,YAAIiI,IAAuBA,EAAqB,YAAuB,CAAC,qDAAsD,kBAAmB,uFAAwF,eAAgB,gBAAiB,+FAAgG,IAAK,gCAAiC0jB,EAA0BxiB,EAA0BwiB,EAA0BE,EAAwBF,EAA0BI,EAAWD,GAcpiBE,QAbY,YAAI9jB,IAAuBA,EAAqB,YAAuB,CAAC,gDAAiD,qEAAsE,eAAgB,gBAAiB,uBAAwB0jB,EAAiCA,EAAiCC,EAAwBD,GAc9VnvB,SAbF,WACE,IAAIsN,EAAOC,UAAU9X,OAAS,QAAsBS,IAAjBqX,UAAU,GAAmBA,UAAU,GAAK,GAC3EC,EAAqBF,EAAKG,aAC5BA,OAAsC,IAAvBD,EAAgCnB,EAAoBmB,EACnEgiB,EAAcliB,EAAKwN,MACnBA,OAAwB,IAAhB0U,EAAyB,OAASA,EAC1CC,EAAeniB,EAAKoiB,OACpBA,OAA0B,IAAjBD,EAA0B,OAASA,EAC9C,OAAO,YAAIvkB,IAAqBA,EAAmB,YAAuB,CAAC,iDAAkD,mBAAoB,oBAAqB,aAAcuC,EAAcqN,EAAO4U,KAS7M,SAAS5iB,EAAgBhB,GAEvB,IAAKlT,OAAOmT,KAAKD,GAAQrW,OAEvB,OADA4T,QAAQC,KAAK,qGACN,GAET,IAAIqmB,EAA0B7jB,EAAO6jB,wBACnC3jB,EAA4BF,EAAOE,0BACnC4jB,EAAoC9jB,EAAO8jB,kCAC3CC,EAAsB/jB,EAAO+jB,oBAC7BC,EAAkChkB,EAAOgkB,gCACzCC,EAAwBjkB,EAAOikB,sBAC/BC,EAAwBlkB,EAAOkkB,sBAC/BC,EAAuBnkB,EAAOmkB,qBAC9BC,EAA6BpkB,EAAOokB,2BACtC,SAASC,EAAWC,GAClB,OAAO,YAAIR,EAAoCQ,GAEjD,SAASC,EAAWD,GAClB,OAAO,YAAIN,EAAkCM,EAAQ,GAEvD,SAASE,EAAQF,GACf,IAAIG,EAAoB,YAAIH,EAAQA,EAAQL,EAAwBK,EAAQJ,GAC5E,OAAO,YAAK,GAAG1wB,OAAOixB,EAAmB,OAAOjxB,OAAO2wB,IAEzD,IAAIhgB,EAAQ,YAAK0f,EAAyBE,GACtCW,EAAkB,SAAUJ,GAC9B,MAAO,qCAAqC9wB,OAAO,YAAK0M,EAA2BokB,EAAQF,GAA6B,MAAM5wB,OAAO,YAAK0M,EAA2BokB,EAAQF,GAA6B,MAExMO,EAAc,SAAUL,GAC1B,MAAO,GAAG9wB,OAAO6wB,EAAWC,GAAQ,KAAK9wB,OAAO+wB,EAAWD,GAAQ,KAAK9wB,OAAOgxB,EAAQF,GAAQ,KAAK9wB,OAAO2Q,IAEzGygB,EAAY,SAAUN,GACxB,OAAO,YAAI7B,IAAsBA,EAAoB,YAAuB,CAAC,qBAAsB,UAAW,WAAYkC,EAAYL,GAAQI,EAAgBJ,KAE5JO,EAAS,YAAInC,IAAuBA,EAAqB,YAAuB,CAAC,uCAAwC,UAAWkC,EAAU,IAC9IE,EAAS,YAAInC,IAAuBA,EAAqB,YAAuB,CAAC,uCAAwC,UAAWiC,EAAU,IAC9ItiB,EAAS,YAAI1C,IAAuBA,EAAqB,YAAuB,CAAC,uCAAwC,UAAWglB,EAAU,IAC9IG,EAAe,YAAI1lB,IAAqBA,EAAmB,YAAuB,CAAC,uDAAwD,YAAaslB,EAAY,IACpKK,EAAe,YAAI1lB,IAAqBA,EAAmB,YAAuB,CAAC,uDAAwD,YAAaqlB,EAAY,IACpKM,EAAe,YAAI1lB,IAAqBA,EAAmB,YAAuB,CAAC,uDAAwD,YAAaolB,EAAY,IAKxK,MAAO,CACLE,OAAQA,EACRC,OAAQA,EACRxiB,OAAQA,EACR4iB,iBAPqB,YAAI1lB,IAAqBA,EAAmB,YAAuB,CAAC,sDAAuD,IAAK,WAAYglB,EAAQ,KAAOrgB,GAQhLghB,YANgB,YAAIvC,IAAqBA,EAAmB,YAAuB,CAAC,yDAA0D,KAAM,IAAK,IAAK,UAAW,0CAA2CyB,EAAW,GAAIE,EAAW,GAAIC,EAAQ,GAAIrgB,EAAOugB,EAAgB,IAOrRK,aAAcA,EACdC,aAAcA,EACdC,aAAcA,IAiDlB,SAAW9B,GACTA,EAAuB,KAAI,OAC3BA,EAAwB,MAAI,QAF9B,CAGGA,IAAqBA,EAAmB,KAC3C,IAqCIiC,EAAmBC,EAAoBC,EAAoBC,EAAoBC,EAAoBC,EArCnGC,EAAkB,KAClBC,EAAiB,KACjBC,EAAkB,KAClBC,EAAe,KAEfC,EAAe,KAKfC,EAAc,WAChB,IAAIC,EAAUvkB,UAAU9X,OAAS,QAAsBS,IAAjBqX,UAAU,GAAmBA,UAAU,GAJzD,wBAKhBwkB,EAAYxkB,UAAU9X,OAAS,QAAsBS,IAAjBqX,UAAU,GAAmBA,UAAU,GAJzD,WAKtB,MAAO,WAAWjO,OAAOwyB,EAAS,eAAexyB,OAAOyyB,EAAW,SAiBjEC,GAAmB,aACnBC,GAAgB,SAAUC,EAAUC,GACtC,OAAOD,EAAS74B,QAAQ24B,IAAkB,SAAUI,EAAQxyB,GAC1D,IAAIyyB,EACJ,OAA6C,QAArCA,EAAiBF,EAASvyB,UAAsC,IAAnByyB,EAA4BA,EAAiB,KAAK/yB,OAAOM,EAAM,SAIxH,SAAS0yB,GAAUxmB,GAEjB,IAAKlT,OAAOmT,KAAKD,GAAQrW,OAEvB,OADA4T,QAAQC,KAAK,qGACN,GAET,IAAIipB,EAAoBzmB,EAAOymB,kBAC7BC,EAAoB1mB,EAAO0mB,kBAC3BC,EAAoB3mB,EAAO2mB,kBAC3BC,EAAoB5mB,EAAO4mB,kBAC7B,MAAO,CACLC,cAAe,wBAAwBrzB,OAAOizB,EAAmB,aAAajzB,OAAOkzB,EAAmB,aAAalzB,OAAOmzB,EAAmB,aAAanzB,OAAOozB,EAAmB,YAkB1L,SAASE,GAAS9mB,GAEhB,IAAKlT,OAAOmT,KAAKD,GAAQrW,OAEvB,OADA4T,QAAQC,KAAK,qGACN,GA6BT,MAAO,CACLgpB,UA5BeA,GAAUxmB,GA6BzBiB,YAhUJ,SAAqBjB,GAEnB,IAAKlT,OAAOmT,KAAKD,GAAQrW,OAEvB,OADA4T,QAAQC,KAAK,qGACN,GAET,IAAIupB,EAAyB/mB,EAAO+mB,uBAClCC,EAAgChnB,EAAOgnB,8BACvCC,EAAoBjnB,EAAOinB,kBAC3BC,EAAgClnB,EAAOknB,8BACvCtmB,EAA2BZ,EAAOY,yBAClCumB,EAA6BnnB,EAAOmnB,2BAClCC,EAA6BL,EAC7BM,EAA6B,YAAK,GAAG7zB,OAAOoN,EAA0B,OAAOpN,OAAO2zB,IACpFG,EAA6BN,EAC7BO,EAA6B,YAAK,OAAO/zB,OAAO6zB,IAoDpD,MAAO,CACLC,2BAA4BA,EAC5BC,2BAA4BA,EAC5BH,2BAA4BA,EAC5BC,2BAA4BA,EAC5BG,gCAAiCP,EACjCQ,gCAAiCP,EACjCQ,WA1DF,WACE,IAAIlmB,EAAOC,UAAU9X,OAAS,QAAsBS,IAAjBqX,UAAU,GAAmBA,UAAU,GAAK,GAC3E+C,EAAehD,EAAKiD,OACtBA,OAA0B,IAAjBD,EAA0B,UAAYA,EAC/Ckf,EAAcliB,EAAKwN,MACnBA,OAAwB,IAAhB0U,EAAyB,OAASA,EAC1CC,EAAeniB,EAAKoiB,OACpBA,OAA0B,IAAjBD,EAA0B,OAASA,EAC5CgE,EAAenmB,EAAKomB,OACpBA,OAA0B,IAAjBD,EAA0B,OAASA,EAC5CE,EAAYrmB,EAAK8F,IACjBA,OAAoB,IAAdugB,EAAuB,IAAMA,EACnCC,EAAatmB,EAAKumB,KAClBA,OAAsB,IAAfD,EAAwB,IAAMA,EACrCE,EAAcxmB,EAAKymB,MACnBA,OAAwB,IAAhBD,EAAyB,IAAMA,EACvCE,EAAuB1mB,EAAK2mB,eAC5BA,OAA0C,IAAzBD,EAAkCZ,EAA6BY,EAClF,OAAO,YAAIjpB,IAAoBA,EAAkB,YAAuB,CAAC,+DAAgE,kBAAmB,mBAAoB,oBAAqB,8BAA+B,IAAK,2BAA4B,mBAAoB,oBAAqB,0CAA2CqI,EAAKygB,EAAME,EAAOL,EAAQL,EAA4BY,EAAgB1jB,EAAQuK,EAAO4U,IAyC9alf,iBAvCF,WACE,IAAIlD,EAAOC,UAAU9X,OAAS,QAAsBS,IAAjBqX,UAAU,GAAmBA,UAAU,GAAK,GAC3E2mB,EAAgB5mB,EAAKiD,OACvBA,OAA2B,IAAlB2jB,EAA2B,UAAYA,EAChDC,EAAe7mB,EAAKwN,MACpBA,OAAyB,IAAjBqZ,EAA0B,OAASA,EAC3CC,EAAgB9mB,EAAKoiB,OACrBA,OAA2B,IAAlB0E,EAA2B,OAASA,EAC7ChkB,EAAwB9C,EAAK+C,iBAC7BA,OAA6C,IAA1BD,EAAmC1D,EAA2B0D,EACjFikB,EAAuB/mB,EAAKmD,eAC5BA,OAA0C,IAAzB4jB,EAAkC3nB,EAA2B2nB,EAC9EC,EAAoBhnB,EAAKinB,YACzBA,OAAoC,IAAtBD,EAA+BpB,EAA6BoB,EAC1EE,EAAwBlnB,EAAK2mB,eAC7BA,OAA2C,IAA1BO,EAAmCpB,EAA6BoB,EAC/EC,EAAc,YAAK,GAAGn1B,OAAO+Q,EAAkB,SAC/CqkB,EAAe,YAAK,GAAGp1B,OAAOmR,EAAgB,SAClD,OAAO,YAAIzF,IAAqBA,EAAmB,YAAuB,CAAC,+DAAgE,kBAAmB,oBAAqB,UAAW,8BAA+B,IAAK,2BAA4B,yBAA0B,wBAAyB,MAAO,0BAA2B,MAAO,2CAA4CyF,EAAgBJ,EAAkB8iB,EAA4BoB,EAAalB,EAA4BY,EAAgB1jB,EAAQF,EAAkByK,EAAO2Z,EAAa/E,EAAQgF,IAsBnjBC,YApBF,WACE,IAAIrnB,EAAOC,UAAU9X,OAAS,QAAsBS,IAAjBqX,UAAU,GAAmBA,UAAU,GAAK,GAC3EqnB,EAAgBtnB,EAAKiD,OACvBA,OAA2B,IAAlBqkB,EAA2B,UAAYA,EAChDC,EAAmBvnB,EAAKwnB,WACxBA,OAAkC,IAArBD,EAA8B3B,EAA6B2B,EACxEE,EAAmBznB,EAAK0nB,WACxBA,OAAkC,IAArBD,EAA8B3B,EAA6B2B,EACtEE,EAAc,YAAK,GAAG31B,OAAO6zB,EAA4B,OAAO7zB,OAAO+zB,IAC3E,OAAO,YAAIpoB,IAAqBA,EAAmB,YAAuB,CAAC,6BAA8B,IAAK,oBAAqB,IAAK,qBAAsB,6CAA8C,aAAckoB,EAA4B2B,EAAYG,EAAaD,EAAY7B,EAA4B5iB,KAmOtSxD,CAAYjB,GA6B7BopB,cA5BmBx1B,EAAOoM,GA6B1BqpB,cApDJ,SAAuBrpB,GAErB,IAAKlT,OAAOmT,KAAKD,GAAQrW,OAEvB,OADA4T,QAAQC,KAAK,qGACN,GAET,IACEqpB,EADgBL,GAAUxmB,GACE6mB,cAG9B,MAAO,CACLyC,gBAHoB,YAAIlE,IAAsBA,EAAoB,YAAuB,CAAC,kEAAmE,WAAYyB,GAIzK0C,iBAHqB,YAAIlE,IAAuBA,EAAqB,YAAuB,CAAC,oEAAqE,WAAYwB,IAe3JwC,CAAcrpB,GA6BjCgB,gBA5BqBA,EAAgBhB,GA6BrCwpB,YA3JJ,SAAqBxpB,GAEnB,IAAKlT,OAAOmT,KAAKD,GAAQrW,OAEvB,OADA4T,QAAQC,KAAK,qGACN,GAET,IAAIiD,EAAaT,EAAOS,WACtBC,EAAaV,EAAOU,WACpBC,EAAaX,EAAOW,WAyBtB,MAAO,CACLlJ,KAzBS,SAAUgyB,GACnB,OAAO,YAAI5G,IAAsBA,EAAoB,YAAuB,CAAC,mHAAoH,oBAAqB,8TAA+T,kBAAmB4G,EAAiBA,EAAiB9oB,IAyB1kB+oB,eAvBmB,SAAUC,GAC7B,OAAO,YAAI7G,IAAuBA,EAAqB,YAAuB,CAAC,sDAAuD,4EAA6E6G,IAuBnNC,YArBgB,SAAUD,GAC1B,OAAO,YAAI5G,IAAuBA,EAAqB,YAAuB,CAAC,iCAAkC,iGAAkG4G,IAqBnNE,eAnBmB,SAAUC,GAC7B,OAAO,YAAI9G,IAAuBA,EAAqB,YAAuB,CAAC,4CAA6C,uHAAwH8G,IAmBpPC,kBAjBsB,SAAUC,GAChC,OAAO,YAAInqB,IAAuBA,EAAqB,YAAuB,CAAC,iCAAkC,4DAA6D,sCAAuCmqB,EAAsBvpB,IAiB3OwpB,mBAfuB,SAAUD,GACjC,OAAO,YAAIlqB,IAAuBA,EAAqB,YAAuB,CAAC,qDAAsD,4DAA6D,kBAAmBkqB,EAAsBvpB,IAe3OypB,aAbiB,SAAUP,GAC3B,OAAO,YAAI1G,IAAuBA,EAAqB,YAAuB,CAAC,2CAA4C,yCAA0C,uGAAwG,yCAA0C,sCAAuC0G,EAAqBA,EAAqBA,EAAqBjpB,IAa7ZypB,cAXkB,SAAUR,GAC5B,OAAO,YAAIzG,IAAuBA,EAAqB,YAAuB,CAAC,2CAA4C,6DAA8D,mFAAoF,6DAA8D,kBAAmByG,EAAqBA,EAAqBA,EAAqBjpB,KAgG5Y8oB,CAAYxpB,GA6B7BoqB,WA1Be,SAAUC,GACzB,IAAIliB,EAAO1G,UAAU9X,OAAS,QAAsBS,IAAjBqX,UAAU,GAAmBA,UAAU,GAAKzB,EAAOc,eAClFwpB,EAAiC,iBAAfD,EAA0BA,EAAaA,EAAWz2B,OACxE,OAAO,YAAI4xB,IAAuBA,EAAqB,YAAuB,CAAC,yCAA0C,gBAAiB,qBAAsBrd,EAAMge,GAAcmE,EAAUtqB,KAwB9LuqB,aA7BiB,YAAIjF,IAAuBA,EAAqB,YAAuB,CAAC,8LA8BzFkF,SA7Ba,YAAIjF,IAAuBA,EAAqB,YAAuB,CAAC,0FA8BrFkF,QAfY,WACZ,IAAIpb,EAAY5N,UAAU9X,OAAS,QAAsBS,IAAjBqX,UAAU,GAAmBA,UAAU,GAAK0hB,EAAiBuH,MACjGC,EAAgBtb,IAAc8T,EAAiBuH,MAAQ,QAAU,OACrE,OAAO,YAAUjF,IAAuBA,EAAqB,YAAuB,CAAC,mDAAoD,6FAA8FkF,KAe3O,IA/FsB1tB,GAAM2tB,GA+FxBplB,GAAY,CAAC,KAAM,YAAa,YAChCqlB,GAAsB,SAAUxzB,GAClC,IAAIyzB,EAAUzzB,EAAK4Q,GACjBA,OAAiB,IAAZ6iB,EAAqB,MAAQA,EAClC7xB,EAAY5B,EAAK4B,UACjBjK,EAAWqI,EAAKrI,SAChBgN,EAAO,YAAyB3E,EAAMmO,IACpCxF,EAAS,cAIXuqB,EAHa,mBAAQ,WACnB,OAAOzD,GAAS9mB,KACf,CAACA,IACoBuqB,aAC1B,OAAO,YAAItiB,EAAI,YAAS,CACtBJ,IAAK0iB,EACLtxB,UAAWA,GACV+C,GAAOhN,IAERmhB,GAAc,CAAC,KAAM,YAAa,YAAa,mBAAoB,YACnE4a,GAAU,SAAU1zB,GACtB,IAAI2zB,EACAF,EAAUzzB,EAAK4Q,GACjBA,OAAiB,IAAZ6iB,EAAqB,MAAQA,EAClCG,EAAY5zB,EAAK4zB,UACjBhyB,EAAY5B,EAAK4B,UACjBiyB,EAAwB7zB,EAAK8zB,iBAC7BA,OAA6C,IAA1BD,GAA0CA,EAC7Dl8B,EAAWqI,EAAKrI,SAChBgN,EAAO,YAAyB3E,EAAM8Y,IACpCnQ,EAAS,cACT4G,EAAU,mBAAQ,WACpB,OAAOhT,EAAOoM,KACb,CAACA,IACAorB,EAAS,CAACxkB,EAAQnP,KAAMwzB,GAAarkB,EAAQ6c,QAAS0H,IAA+D,QAAzCH,EAAmBpkB,EAAQ1S,gBAA2C,IAArB82B,OAA8B,EAASA,EAAiBt4B,KAAKkU,KAC9L,OAAO,YAAIqB,EAAI,YAAS,CACtBJ,IAAKujB,EACLnyB,UAAWA,GACV+C,GAAO,YAAI6uB,GAAqB,CACjC5iB,GAAI,QACHjZ,KAGDq8B,IAxIkBpuB,GAQK,SAAU3K,EAAQwB,EAAMqE,EAAQmzB,GACzD,IAAIj0B,EAAMk0B,EACV,OAA8I,QAAtIl0B,EAAyC,QAAjCk0B,EAAepzB,EAAOrE,UAAoC,IAAjBy3B,EAA0BA,EAAepzB,EAAO,GAAG3E,OAAOlB,GAAQkB,OAAOM,WAA6B,IAATuD,EAAkBA,EAA2B,mBAAbi0B,EAA0BA,EAASh5B,EAAQwB,EAAMqE,GAAUmzB,GAVvNV,GAuIT,WAtIV,WACL,IAAK,IAAIY,EAAO/pB,UAAU9X,OAAQyvB,EAAS,IAAI3mB,MAAM+4B,GAAOC,EAAO,EAAGA,EAAOD,EAAMC,IACjFrS,EAAOqS,GAAQhqB,UAAUgqB,GAE3B,OAAOxuB,GAAKiX,WAAM,EAAQ,CAAC0W,IAAYp3B,OAAO4lB,MAoI9CsS,GAAe,CACjBC,KAAM,EACNC,QAAS,EACTC,IAAK,EACLC,MAAO,EACPC,OAAQ,GAENC,GAAS,sGACTC,GAAiB,SAAUn4B,EAAMkM,GACnC,IAAIksB,EArJqBC,EAsJrB16B,EAASqC,EAAKs4B,MAAMJ,IACxB,GAAe,OAAXv6B,IAA2C,QAAtBy6B,EAASp4B,EAAK,UAA2B,IAAXo4B,OAAoB,EAASA,EAAOG,iBAAmBv4B,EAAK,GACjH,OAAOm4B,IAxJgBE,EAwJUr4B,IAvJX,KAATq4B,EAAcA,EAAK,GAAGE,cAAgBF,EAAKv+B,MAAM,GAAKu+B,EAuJ3BnsB,GAE1C,IAAIssB,EAAU,YAAe76B,EAAQ,GACnC86B,EAAWD,EAAQ,GACnBE,EAAWF,EAAQ,GACnBh6B,OAAsB,IAAbk6B,EAAsB,WAAaA,EAC5C/0B,EAAO60B,EAAQ,GACfG,EAAYH,EAAQ,GACpBI,OAAuB,IAAdD,EAAuB,OAASA,EACvCE,EAAwB,eAATl1B,EAAwB,iBAAmB,WAC1Dm1B,EAAalB,GAAa1wB,eAAe0xB,GAAUC,EAAe,OAEzD,UAATl1B,IAAkBA,EAAO,WAAWjE,OAAOiE,IAC/C,IAAIo1B,EAAiB,GAAGr5B,OAAOlB,GAAQkB,OAAOiE,GAAMjE,OAAOk5B,GACvDI,EAAiB,GAAGt5B,OAAOlB,GAAQkB,OAAOiE,GAAMjE,OAAOo5B,GACvDG,EAAU,GAAGv5B,OAAOlB,GAAQkB,OAAOiE,EAAM,OACzCu1B,EAAgB,GAAGx5B,OAAOs5B,EAAgB,SAC1CG,EAAiB,GAAGz5B,OAAOs5B,EAAgB,UAC3CI,EAAY,GAAG15B,OAAOlB,GAAQkB,OAAOiE,GAAMjE,OAAOk5B,EAAQ,SAC1DS,EAAa,GAAG35B,OAAOlB,GAAQkB,OAAOiE,GAAMjE,OAAOk5B,EAAQ,UAC/D,MAAO,CACLU,SAAUptB,EAAO8sB,GACjBO,KAAMrtB,EAAO6sB,GACbS,IAAKttB,EAAO+sB,GACZQ,MAAOvtB,EAAOktB,GACdM,OAAQxtB,EAAOmtB,GACfH,cAAehtB,EAAOgtB,GACtBC,eAAgBjtB,EAAOitB,GACvBx7B,OAAQ,CACN86B,SAAUA,EACV90B,KAAMA,EACNi1B,OAAQA,EACRp6B,OAAQA,EACRs6B,WAAYA,EACZM,UAAWA,EACXC,WAAYA,KAIdM,GAAe,IAAMvM,cAAc,MAUnCwM,GAAgB,SAAUC,EAAiBC,EAAgBC,GAC7D,IAAIC,EAAuBC,EAAuBC,EAClD,OAAQH,GACN,IAAK,WACH,OAAQF,aAAyD,EAASA,EAAgBP,UAAYO,EAAgBP,SAAWQ,EACnI,IAAK,SACH,OAA8H,QAAtHE,EAAwBH,aAAyD,EAASA,EAAgBH,cAA8C,IAA1BM,EAAmCA,EAAwBF,EACnM,IAAK,QACH,OAA6H,QAArHG,EAAwBJ,aAAyD,EAASA,EAAgBJ,aAA6C,IAA1BQ,EAAmCA,EAAwBH,EAClM,IAAK,OACH,OAA4H,QAApHI,EAAwBL,aAAyD,EAASA,EAAgBN,YAA4C,IAA1BW,EAAmCA,EAAwBJ,EACjM,QACE,OAAOA,IA2Cb,IAcIK,GAAc,6BACdC,GAAa,SAAUC,EAAKC,GAC9B,IAAI/2B,EACJ,GAAmB,iBAAR82B,EACT,MAAO,CACLE,KAAMD,EACNz/B,MAAOw/B,GAGX,IAAIG,EAAQH,EAAI/B,MAAM6B,IAEtB,MAAO,CACLt/B,MAFU4/B,WAAWJ,GAGrBE,KAAqC,QAA9Bh3B,EAAOi3B,GAASA,EAAM,UAAyB,IAATj3B,EAAkBA,EAAO+2B,IAGtEI,GAAQ,SAAUL,GACpB,IAAIM,EAAcP,GAAWC,EAAK,MAChCE,EAAOI,EAAYJ,KACnB1/B,EAAQ8/B,EAAY9/B,MACtB,MAAgB,MAAT0/B,EAAuB,IAAR1/B,EAAeA,GAqBnC+/B,GAAY,WACd,MAAyB,oBAAXr1B,QASZs1B,GAAe,WACjB,MAA4B,oBAAdC,WASZC,GAAc,WAChB,MAA2B,oBAAb7jC,UASZ8jC,GAAgB,WAClB,IAAIC,EACJ,SAAIL,QAAe,iBAAkBr1B,aAG3Bs1B,QAA0E,QAAtDI,EAAwBH,UAAUI,sBAAsD,IAA1BD,EAAmCA,EAAwBH,UAAUK,oBAU/JC,GAAoB,SAAUC,GAChC,IAAKN,KACH,OAAO,EAET,IAAIpS,EAAgBzxB,SAASyxB,cAC7B,OAAOA,GAAiB0S,EAAaC,SAAS3S,EAAc4S,UAS1DC,GAAgB,WAClB,QAAOZ,MAA4D,QAA9Ca,iBAAiBvkC,SAASoW,MAAMiO,WAiBvD,IAyBImgB,GAAsB,GAS1B,SAASC,KACP,IAAIn9B,EAASmP,UAAU9X,OAAS,QAAsBS,IAAjBqX,UAAU,GAAmBA,UAAU,GAXzD,OAYd+tB,GAAoBl9B,KACvBk9B,GAAoBl9B,GAAU,GAEhC,IAAI4T,IAAOspB,GAAoBl9B,GAC/B,MAhBmB,SAgBZA,EAA4B,GAAGkB,OAAO0S,GAAM,GAAG1S,OAAOlB,GAAQkB,OAAO0S,GAE9E,IAAI,GAA4B,WAC9B,SAASwpB,EAAaC,ICnqBT,SAAyBl1B,EAAUm1B,GAChD,KAAMn1B,aAAoBm1B,GACxB,MAAM,IAAIC,UAAU,qCDkqBpBC,CAAgBxmC,KAAMomC,GACtB,YAAgBpmC,KAAM,WAAO,GAC7BA,KAAKkB,IAAMmlC,ED5pBA,IAAsBC,EAAaG,EAAYC,ECquB5D,ODruBmCJ,EC8pBtBF,GD9pBmCK,EC8pBrB,CAAC,CAC1BvlC,IAAK,gBACLuH,IAAK,WACH,MAAO,CAAC,YAAa29B,EAAaO,gBAAiBP,EAAaQ,iBAAiBd,SAAS9lC,KAAKkB,OAEhG,CACDA,IAAK,iBACLuH,IAAK,WACH,MAAO,CAAC,aAAc29B,EAAaS,iBAAkBT,EAAaU,kBAAkBhB,SAAS9lC,KAAKkB,OAEnG,CACDA,IAAK,cACLuH,IAAK,WACH,MAAO,CAAC,UAAW29B,EAAaW,cAAeX,EAAaY,eAAelB,SAAS9lC,KAAKkB,OAE1F,CACDA,IAAK,gBACLuH,IAAK,WACH,MAAO,CAAC,YAAa29B,EAAaa,gBAAiBb,EAAac,iBAAiBpB,SAAS9lC,KAAKkB,OAEhG,CACDA,IAAK,WACLuH,IAAK,WACH,MAAO,CAAC29B,EAAae,WAAYf,EAAagB,YAAYtB,SAAS9lC,KAAKkB,OAEzE,CACDA,IAAK,cACLuH,IAAK,WACH,MAAO,CAAC29B,EAAaiB,WAAYjB,EAAakB,YAAYxB,SAAS9lC,KAAKkB,OAEzE,CACDA,IAAK,SACLuH,IAAK,WACH,MAAO,CAAC29B,EAAa5hB,SAAU4hB,EAAamB,UAAUzB,SAAS9lC,KAAKkB,OAErE,CACDA,IAAK,SACLuH,IAAK,WACH,MAAO,CAAC,SAAU29B,EAAa3hB,SAAU2hB,EAAaoB,UAAU1B,SAAS9lC,KAAKkB,OAE/E,CACDA,IAAK,UACLuH,IAAK,WACH,MAAO,CAAC29B,EAAaqB,UAAWrB,EAAasB,WAAW5B,SAAS9lC,KAAKkB,OAEvE,CACDA,IAAK,SACLuH,IAAK,WACH,MAAO,CAAC29B,EAAauB,SAAUvB,EAAawB,UAAU9B,SAAS9lC,KAAKkB,OAErE,CACDA,IAAK,eACLuH,IAAK,WACH,MAAO,CAAC29B,EAAayB,eAAgBzB,EAAa0B,gBAAgBhC,SAAS9lC,KAAKkB,OAEjF,CACDA,IAAK,YACLuH,IAAK,WACH,MAAO,CAAC29B,EAAa2B,YAAa3B,EAAa4B,aAAalC,SAAS9lC,KAAKkB,OAE3E,CACDA,IAAK,qBACLuH,IAAK,WACH,OAAOzI,KAAKioC,eAAiBjoC,KAAKkoC,gBAAkBloC,KAAKmoC,QAAUnoC,KAAKooC,UAEzE,CACDlnC,IAAK,eACLuH,IAAK,WACH,OAAOzI,KAAKioC,eAAiBjoC,KAAKkoC,gBAAkBloC,KAAKkkB,aAAelkB,KAAKmkB,mBDjuBjE8U,EAAkBqN,EAAYllC,UAAWqlC,GACrDC,GAAazN,EAAkBqN,EAAaI,GAChDljC,OAAOooB,eAAe0a,EAAa,YAAa,CAC9CnP,UAAU,ICiuBLiP,EA7EuB,GA+EhC,YAAgB,GAAc,gBAAiB,IAC/C,YAAgB,GAAc,kBAAmB,IACjD,YAAgB,GAAc,kBAAmB,IACjD,YAAgB,GAAc,mBAAoB,IAClD,YAAgB,GAAc,aAAc,IAC5C,YAAgB,GAAc,aAAc,IAC5C,YAAgB,GAAc,WAAY,IAC1C,YAAgB,GAAc,WAAY,GAC1C,YAAgB,GAAc,iBAAkB,IAChD,YAAgB,GAAc,YAAa,IAC3C,YAAgB,GAAc,WAAY,IAC1C,YAAgB,GAAc,iBAAkB,GAChD,YAAgB,GAAc,cAAe,IAC7C,YAAgB,GAAc,gBAAiB,MAC/C,YAAgB,GAAc,kBAAmB,QACjD,YAAgB,GAAc,kBAAmB,QACjD,YAAgB,GAAc,mBAAoB,SAClD,YAAgB,GAAc,aAAc,SAC5C,YAAgB,GAAc,aAAc,KAC5C,YAAgB,GAAc,WAAY,OAC1C,YAAgB,GAAc,WAAY,OAC1C,YAAgB,GAAc,YAAa,QAC3C,YAAgB,GAAc,WAAY,OAC1C,YAAgB,GAAc,iBAAkB,aAChD,YAAgB,GAAc,cAAe,UAC7C,IAAIiC,GAAa,SAAUC,GACrB,I,oCE1wBN,IAAIC,EAAS,EAAQ,QACjBC,EAAM,EAAQ,QAEd7xB,EAAO4xB,EAAO,QAElB9zB,EAAO/H,QAAU,SAAUxL,GACzB,OAAOyV,EAAKzV,KAASyV,EAAKzV,GAAOsnC,EAAItnC,M,qBCPvCwL,EAAQ+7B,SAAWh1B,GAAaA,G,oCCAhC,4IAAI2jB,EAAW5zB,OAAOC,QAAU,SAAUoO,GAAU,IAAK,IAAI5P,EAAI,EAAGA,EAAIkW,UAAU9X,OAAQ4B,IAAK,CAAE,IAAI2yB,EAASzc,UAAUlW,GAAI,IAAK,IAAIf,KAAO0zB,EAAcpxB,OAAOpC,UAAUsQ,eAAetI,KAAKwrB,EAAQ1zB,KAAQ2Q,EAAO3Q,GAAO0zB,EAAO1zB,IAAY,OAAO2Q,GAEnP62B,EAAc,SAAqB9T,GACrC,IAAI+T,EAAmB/T,EAAOzlB,SAC1By5B,EAASD,EAAiBC,OAC1BC,EAAOF,EAAiBE,KACxBr1B,EAAOm1B,EAAiBn1B,KACxBs1B,EAASH,EAAiBG,OAC1BC,EAAWJ,EAAiBI,SAC5B7f,EAAOyf,EAAiBzf,KACxB8f,EAAWL,EAAiBK,SAC5BC,EAAON,EAAiBM,KACxB34B,EAAWskB,EAAOzlB,SAASmB,UAG1BA,GAAYkD,GAAQ01B,IAEvB54B,EADU,IAAI4e,IAAI1b,GACHlD,UAGjB,MAAO,CACLA,SAAUgD,UAAU61B,UAAU74B,IAC9Bs4B,OAAQA,EACRC,KAAMA,EACNr1B,KAAMA,EACNs1B,OAAQA,EACRC,SAAUA,EACV7f,KAAMA,EACN8f,SAAUA,EACVC,KAAMA,EACNh5B,MAAO2kB,EAAOwU,QAAQn5B,MACtB/O,IAAK0zB,EAAOwU,QAAQn5B,OAAS2kB,EAAOwU,QAAQn5B,MAAM/O,KAAO,YAIzDmoC,EAAgB,SAAuBzU,EAAQ90B,GACjD,IAAIwpC,EAAY,GACZn6B,EAAWu5B,EAAY9T,GACvB2U,GAAgB,EAChBC,EAAoB,aAExB,MAAO,CACL,eACE,OAAOr6B,GAGT,oBACE,OAAOo6B,GAGTE,sBAAuB,WACrBF,GAAgB,EAChBC,KAEFE,OAAQ,SAAgBC,GACtBL,EAAU1oC,KAAK+oC,GAEf,IAAIC,EAAmB,WACrBz6B,EAAWu5B,EAAY9T,GACvB+U,EAAS,CAAEx6B,SAAUA,EAAU06B,OAAQ,SAKzC,OAFAjV,EAAOpP,iBAAiB,WAAYokB,GAE7B,WACLhV,EAAO9O,oBAAoB,WAAY8jB,GACvCN,EAAYA,EAAUj+B,QAAO,SAAU4lB,GACrC,OAAOA,IAAO0Y,OAIpB18B,SAAU,SAAkBuD,GAC1B,IAAIzC,EAAOoK,UAAU9X,OAAS,QAAsBS,IAAjBqX,UAAU,GAAmBA,UAAU,GAAK,GAC3ElI,EAAQlC,EAAKkC,MACb65B,EAAe/7B,EAAK9J,QACpBA,OAA2BnD,IAAjBgpC,GAAqCA,EAEnD,GAAkB,iBAAPt5B,EACTokB,EAAOwU,QAAQW,GAAGv5B,OACb,CACLP,EAAQmnB,EAAS,GAAInnB,EAAO,CAAE/O,IAAK8oC,KAAKC,MAAQ,KAEhD,IACMV,GAAiBtlC,EACnB2wB,EAAOwU,QAAQc,aAAaj6B,EAAO,KAAMO,GAEzCokB,EAAOwU,QAAQe,UAAUl6B,EAAO,KAAMO,GAExC,MAAOjO,GACPqyB,EAAOzlB,SAASlL,EAAU,UAAY,UAAUuM,IAIpDrB,EAAWu5B,EAAY9T,GACvB2U,GAAgB,EAChB,IAAIa,EAAa,IAAIv+B,SAAQ,SAAUw+B,GACrC,OAAOb,EAAoBa,KAK7B,OAHAf,EAAU/nC,SAAQ,SAAUooC,GAC1B,OAAOA,EAAS,CAAEx6B,SAAUA,EAAU06B,OAAQ,YAEzCO,KAOTE,EAAqB,WACvB,IAAIC,EAAcpyB,UAAU9X,OAAS,QAAsBS,IAAjBqX,UAAU,GAAmBA,UAAU,GAAK,IAElFqyB,EAAcD,EAAYpmC,QAAQ,KAClCsmC,EAAkB,CACpBn6B,SAAUk6B,GAAe,EAAID,EAAYG,OAAO,EAAGF,GAAeD,EAClE3B,OAAQ4B,GAAe,EAAID,EAAYG,OAAOF,GAAe,IAE3DxiC,EAAQ,EACR2iC,EAAQ,CAACF,GACTG,EAAS,CAAC,MAEd,MAAO,CACL,eACE,OAAOD,EAAM3iC,IAEfwd,iBAAkB,SAA0Bhb,EAAMymB,KAClDnL,oBAAqB,SAA6Btb,EAAMymB,KAExDmY,QAAS,CACP,cACE,OAAOuB,GAET,YACE,OAAO3iC,GAET,YACE,OAAO4iC,EAAO5iC,IAEhBmiC,UAAW,SAAmBl6B,EAAO46B,EAAGC,GACtC,IAAIC,EAAaD,EAAIjhC,MAAM,KACvByG,EAAWy6B,EAAW,GACtBC,EAAcD,EAAW,GACzBnC,OAAyB9nC,IAAhBkqC,EAA4B,GAAKA,EAE9ChjC,IACA2iC,EAAM/pC,KAAK,CAAE0P,SAAUA,EAAUs4B,OAAQA,EAAOvoC,OAAS,IAAMuoC,EAASA,IACxEgC,EAAOhqC,KAAKqP,IAEdi6B,aAAc,SAAsBj6B,EAAO46B,EAAGC,GAC5C,IAAIG,EAAcH,EAAIjhC,MAAM,KACxByG,EAAW26B,EAAY,GACvBC,EAAeD,EAAY,GAC3BrC,OAA0B9nC,IAAjBoqC,EAA6B,GAAKA,EAE/CP,EAAM3iC,GAAS,CAAEsI,SAAUA,EAAUs4B,OAAQA,GAC7CgC,EAAO5iC,GAASiI,GAElB85B,GAAI,SAAYv5B,GACd,IAAIsS,EAAW9a,EAAQwI,EAEnBsS,EAAW,GAAKA,EAAW8nB,EAAOvqC,OAAS,IAI/C2H,EAAQ8a,OASZomB,IAAiC,oBAAXn5B,SAA0BA,OAAOrO,WAAYqO,OAAOrO,SAASC,eAKnFwpC,EAAgB9B,EAHXH,EAAYn5B,OAASu6B,KAI1Br9B,EAAWk+B,EAAcl+B,U,oCCjL7B,IAAIm+B,EAAwB,EAAQ,QAChChjB,EAAa,EAAQ,QACrBijB,EAAa,EAAQ,QAGrBC,EAFkB,EAAQ,OAEVC,CAAgB,eAChCtf,EAAUzoB,OAGVgoC,EAAwE,cAApDH,EAAW,WAAc,OAAOlzB,UAArB,IAUnC1D,EAAO/H,QAAU0+B,EAAwBC,EAAa,SAAU32B,GAC9D,IAAI/Q,EAAGzD,EAAKurC,EACZ,YAAc3qC,IAAP4T,EAAmB,YAAqB,OAAPA,EAAc,OAEO,iBAAjDxU,EAXD,SAAUwU,EAAIxT,GACzB,IACE,OAAOwT,EAAGxT,GACV,MAAOgnB,KAQSwjB,CAAO/nC,EAAIsoB,EAAQvX,GAAK42B,IAA8BprC,EAEpEsrC,EAAoBH,EAAW1nC,GAEF,YAA5B8nC,EAASJ,EAAW1nC,KAAoBykB,EAAWzkB,EAAEqpB,QAAU,YAAcye,I,oCC3BpF,IAGIE,EAAO,GAEXA,EALsB,EAAQ,OAEVJ,CAAgB,gBAGd,IAEtB92B,EAAO/H,QAA2B,eAAjBrJ,OAAOsoC,I,kCCRxB,0OA8HIC,GA9HJ,wCA8HU,SAAapmC,EAAMC,GAC3B,IAAIyS,EAAOC,UACX,GAAa,MAAT1S,IAAkB,IAAe2D,KAAK3D,EAAO,OAE/C,OAAO,gBAAoBmlB,WAAM9pB,EAAWoX,GAE9C,IAAI4gB,EAAa5gB,EAAK7X,OAClB04B,EAAwB,IAAI5vB,MAAM2vB,GACtCC,EAAsB,GAAK,IAC3BA,EAAsB,GAAK,YAAmBvzB,EAAMC,GACpD,IAAK,IAAIxD,EAAI,EAAGA,EAAI62B,EAAY72B,IAC9B82B,EAAsB92B,GAAKiW,EAAKjW,GAGlC,OAAO,gBAAoB2oB,MAAM,KAAMmO,KAMrC8S,EAAwB,aAAiB,SAAUpmC,EAAO8E,GAU5D,IAAID,EAAS7E,EAAM6E,OACfF,EAAa,YAAgB,CAACE,QAASxJ,EAAW,aAAiB,MACvE,IAAK,IAAa,CAKhB,IAJA,IAAIiN,EACA+9B,EAAkB1hC,EAAWI,KAC7BuhC,EAAmB3hC,EAAWE,OAC9B0hC,EAAO5hC,EAAW4hC,UACNlrC,IAATkrC,GACLF,GAAmB,IAAME,EAAKxhC,KAC9BuhC,GAAoBC,EAAK1hC,OACzB0hC,EAAOA,EAAKA,KAEd,IAAI3hC,GAA+B,IAAjBE,EAAMjC,OACpBK,EAAQ4B,EAAM/I,OAAO,GAAI,CAC3BgJ,KAAMshC,EACNxhC,OAAQyhC,GACPxhC,EAAMvI,MAAOqI,GAChB,OAAIA,EACK,KAEW,gBAAoB,UAAU0D,EAAO,IAAS,gBAAkBxD,EAAMrJ,IAAM,WAAa4qC,EAAiB/9B,EAAKk+B,wBAA0B,CAC3JC,OAAQvjC,GACPoF,EAAK9M,MAAQsJ,EAAMvI,MAAMf,MAAO8M,IAMrC,IAAIo+B,EAAW,WA+Cf,OA9CA,aAAqC,WACnC,IAAIjrC,EAAMqJ,EAAMrJ,IAAM,UAElBc,EAAQ,IAAIuI,EAAMvI,MAAMoqC,YAAY,CACtClrC,IAAKA,EACLD,MAAOsJ,EAAMvI,MAAMf,MACnBR,UAAW8J,EAAMvI,MAAMvB,UACvBM,OAAQwJ,EAAMvI,MAAMnB,WAElBwrC,GAAc,EAEdhjC,EAAO3H,SAAS4qC,cAAc,uBAA0BprC,EAAM,IAAMkJ,EAAWI,KAAO,MAW1F,OAVID,EAAMvI,MAAM5B,KAAKC,SACnB2B,EAAM7B,OAASoK,EAAMvI,MAAM5B,KAAK,IAErB,OAATiJ,IACFgjC,GAAc,EAEdhjC,EAAKzH,aAAa,eAAgBV,GAClCc,EAAMX,QAAQ,CAACgI,KAEjB8iC,EAAS59B,QAAU,CAACvM,EAAOqqC,GACpB,WACLrqC,EAAMQ,WAEP,CAAC+H,IACJ,aAAqC,WACnC,IAAIgiC,EAAkBJ,EAAS59B,QAC3BvM,EAAQuqC,EAAgB,GAE5B,GADgBA,EAAgB,GAE9BA,EAAgB,IAAK,MADvB,CAQA,QAJwBzrC,IAApBsJ,EAAW4hC,MAEb,YAAazhC,EAAOH,EAAW4hC,MAAM,GAEnChqC,EAAM5B,KAAKC,OAAQ,CAErB,IAAIkI,EAAUvG,EAAM5B,KAAK4B,EAAM5B,KAAKC,OAAS,GAAGmsC,mBAChDxqC,EAAM7B,OAASoI,EACfvG,EAAMQ,QAER+H,EAAM/I,OAAO,GAAI4I,EAAYpI,GAAO,MACnC,CAACuI,EAAOH,EAAWI,OACf,QAKT,SAAS+T,IACP,IAAK,IAAI2jB,EAAO/pB,UAAU9X,OAAQ6X,EAAO,IAAI/O,MAAM+4B,GAAOC,EAAO,EAAGA,EAAOD,EAAMC,IAC/EjqB,EAAKiqB,GAAQhqB,UAAUgqB,GAEzB,OAAO,YAAgBjqB,GAEzB,IAAIu0B,EAAY,WACd,IAAIC,EAAanuB,EAAIqM,WAAM,EAAQzS,WAC/B3N,EAAO,aAAekiC,EAAWliC,KAErC,MAAO,CACLA,KAAMA,EACNF,OAAQ,cAAgBE,EAAO,IAAMkiC,EAAWpiC,OAAS,IACzDqiC,KAAM,EACNC,SAAU,WACR,MAAO,QAAU5sC,KAAKwK,KAAO,IAAMxK,KAAKsK,OAAS,WAInDuiC,EAAa,SAASA,EAAW30B,GAInC,IAHA,IAAIuP,EAAMvP,EAAK7X,OACX4B,EAAI,EACJ6qC,EAAM,GACH7qC,EAAIwlB,EAAKxlB,IAAK,CACnB,IAAI8qC,EAAM70B,EAAKjW,GACf,GAAW,MAAP8qC,EAAJ,CACA,IAAIC,OAAQ,EACZ,cAAeD,GACb,IAAK,UACH,MACF,IAAK,SAED,GAAI5jC,MAAMwf,QAAQokB,GAChBC,EAAQH,EAAWE,QAMnB,IAAK,IAAI3pC,KADT4pC,EAAQ,GACMD,EACRA,EAAI3pC,IAAMA,IACZ4pC,IAAUA,GAAS,KACnBA,GAAS5pC,GAIf,MAEJ,QAEI4pC,EAAQD,EAGVC,IACFF,IAAQA,GAAO,KACfA,GAAOE,IAGX,OAAOF,GAET,SAASG,EAAMxiC,EAAY8T,EAAK5O,GAC9B,IAAIu9B,EAAmB,GACnBC,EAAe,YAAoB1iC,EAAYyiC,EAAkBv9B,GACrE,OAAIu9B,EAAiB7sC,OAAS,EACrBsP,EAEFw9B,EAAe5uB,EAAI2uB,GAE5B,IAAIE,EAAY,SAAmBr/B,GACjC,IAAIxD,EAAQwD,EAAKxD,MACf8iC,EAAgBt/B,EAAKs/B,cAMvB,OALA,aAAyC,WACvC,IAAK,IAAIprC,EAAI,EAAGA,EAAIorC,EAAchtC,OAAQ4B,IACxC,YAAasI,EAAO8iC,EAAcprC,IAAI,MAGnC,MAELqrC,EAA4B,aAAiB,SAAU7nC,EAAO8E,GAChE,IACI8iC,EAAgB,GAChB9uB,EAAM,WAIR,IAAK,IAAI2jB,EAAO/pB,UAAU9X,OAAQ6X,EAAO,IAAI/O,MAAM+4B,GAAOC,EAAO,EAAGA,EAAOD,EAAMC,IAC/EjqB,EAAKiqB,GAAQhqB,UAAUgqB,GAEzB,IAAI/3B,EAAa,YAAgB8N,EAAM3N,EAAME,YAI7C,OAHA4iC,EAAczsC,KAAKwJ,GAEnB,YAAeG,EAAOH,GAAY,GAC3BG,EAAMrJ,IAAM,IAAMkJ,EAAWI,MAWlC4b,EAAU,CACZ7H,IAAKA,EACLgvB,GAXO,WAIP,IAAK,IAAIC,EAAQr1B,UAAU9X,OAAQ6X,EAAO,IAAI/O,MAAMqkC,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IACpFv1B,EAAKu1B,GAASt1B,UAAUs1B,GAE1B,OAAOR,EAAM1iC,EAAME,WAAY8T,EAAKsuB,EAAW30B,KAK/CiP,MAAO,aAAiB,MAEtBumB,EAAMjoC,EAAMC,SAAS0gB,GAEzB,OADc,EACM,gBAAoB,WAAgB,KAAmB,gBAAoBgnB,EAAW,CACxG7iC,MAAOA,EACP8iC,cAAeA,IACbK,O,oCC5VN,IAAIC,EAAW,EAAQ,QAIvBl5B,EAAO/H,QAAU,SAAU+e,GACzB,OAAOkiB,EAASliB,EAAIprB,U,kCCJtB,IAAIoM,EAAyBmhC,EAAQ,QAEjCC,EAAUD,EAAQ,QAElBE,EAAcrhC,EAAuBmhC,EAAQ,SAEjDlhC,EAAQqhC,cAAgB,SAAUlD,EAAGmD,QACb,IAAlBA,IACFA,EAAgB,KAGlB,EAAIF,EAAY5gC,SAAS6C,OAAQi+B,GAAe,SAAUx6B,IACxD,EAAIq6B,EAAQ5gC,UAAUuG,Q,kCCZ1B,IAAIy6B,EAAa,EAAQ,QACrBC,EAAQ,EAAQ,QAGhBC,EAFS,EAAQ,QAEA9qC,OAGrBoR,EAAO/H,UAAYlJ,OAAOmqB,wBAA0BugB,GAAM,WACxD,IAAIE,EAASx5B,OAAO,oBAKpB,OAAQu5B,EAAQC,MAAa5qC,OAAO4qC,aAAmBx5B,UAEpDA,OAAOC,MAAQo5B,GAAcA,EAAa,O,kCCjB/C,6HAEA,MAAMI,EAAwBzW,wBAAc,IAE/B0W,EAAcC,IACzB,MAAMC,EAAele,qBAAW+d,GAChC,OAAOE,GAASC,GAGLC,EAAmB,QAAC,WAAEC,EAAU,SAAEhpC,GAAU,SACvDipC,IAAMhtC,cACJ0sC,EAAsBlW,SACtB,CAAE9yB,MAAOqpC,GACThpC,K,kCCbJ,4IAOIiQ,EAAiBC,EAAkBC,EAAkBC,EAAkBC,EAAkBC,EAAkBC,EAAkBC,EAAkBojB,EAPnJ,yGAQA,SAAShvB,EAAOoM,EAAQk4B,GAEtB,IAAKprC,OAAOmT,KAAKD,GAAQrW,OAEvB,OADA4T,QAAQC,KAAK,qGACN,GAET,IAAI26B,EAAiCn4B,EAAOm4B,+BAC1C93B,EAAmCL,EAAOK,iCAC1C+3B,EAA6Bp4B,EAAOo4B,2BACpCC,EAA2Br4B,EAAOq4B,yBAClCC,EAA6Bt4B,EAAOs4B,2BACpCC,EAAiCv4B,EAAOu4B,+BACxCC,EAAqCx4B,EAAOw4B,mCAC5CC,EAA+Bz4B,EAAOy4B,6BACtCC,EAA6B14B,EAAO04B,2BACpCC,EAA+B34B,EAAO24B,6BACtCC,EAAmC54B,EAAO44B,iCAC1CC,EAAuC74B,EAAO64B,qCAC9CC,EAA+B94B,EAAO84B,6BACtCC,EAA6B/4B,EAAO+4B,2BACpCC,EAA+Bh5B,EAAOg5B,6BACtCC,EAAmCj5B,EAAOi5B,iCAC1CC,EAAuCl5B,EAAOk5B,qCAC9CC,EAAiCn5B,EAAOm5B,+BACxCC,EAA+Bp5B,EAAOo5B,6BACtCC,EAAiCr5B,EAAOq5B,+BACxCC,EAAqCt5B,EAAOs5B,mCAC5CC,EAAyCv5B,EAAOu5B,uCAChDC,EAA2Bx5B,EAAOw5B,yBAClCC,EAAyBz5B,EAAOy5B,uBAChCC,EAA2B15B,EAAO05B,yBAClCC,EAA+B35B,EAAO25B,6BACtCC,EAAmC55B,EAAO45B,iCAC1CC,EAAgC75B,EAAO65B,8BACvCC,EAA8B95B,EAAO85B,4BACrCC,EAAgC/5B,EAAO+5B,8BACvCC,EAAoCh6B,EAAOg6B,kCAC3CC,EAAwCj6B,EAAOi6B,sCAC/CC,EAA0Bl6B,EAAOk6B,wBACjCC,EAAwBn6B,EAAOm6B,sBAC/BC,EAA0Bp6B,EAAOo6B,wBACjCC,EAA8Br6B,EAAOq6B,4BACrCC,EAAkCt6B,EAAOs6B,gCACzCC,EAA6Bv6B,EAAOu6B,2BACpCC,EAA2Bx6B,EAAOw6B,yBAClCC,GAA6Bz6B,EAAOy6B,2BACpCC,GAAiC16B,EAAO06B,+BACxCC,GAAqC36B,EAAO26B,mCAC5CC,GAAmC56B,EAAO46B,iCAC1CC,GAAiC76B,EAAO66B,+BACxCC,GAAmC96B,EAAO86B,iCAC1CC,GAAuC/6B,EAAO+6B,qCAC9CC,GAA2Ch7B,EAAOg7B,yCAClDC,GAA8Bj7B,EAAOi7B,4BACrCC,GAA4Bl7B,EAAOk7B,0BACnCC,GAA8Bn7B,EAAOm7B,4BACrCC,GAAkCp7B,EAAOo7B,gCACzCC,GAAsCr7B,EAAOq7B,oCAC7CC,GAA8Bt7B,EAAOs7B,4BACrCC,GAA4Bv7B,EAAOu7B,0BACnCC,GAA8Bx7B,EAAOw7B,4BACrCC,GAAkCz7B,EAAOy7B,gCACzCC,GAAsC17B,EAAO07B,oCAC7CC,GAAkC37B,EAAO27B,gCACzCC,GAAgC57B,EAAO47B,8BACvCC,GAAkC77B,EAAO67B,gCACzCC,GAAsC97B,EAAO87B,oCAC7CC,GAA0C/7B,EAAO+7B,wCACjDC,GAAkCh8B,EAAOg8B,gCACzCC,GAAgCj8B,EAAOi8B,8BACvCC,GAAkCl8B,EAAOk8B,gCACzCC,GAAsCn8B,EAAOm8B,oCAC7CC,GAA0Cp8B,EAAOo8B,wCACjDC,GAAkCr8B,EAAOq8B,gCACzCC,GAAgCt8B,EAAOs8B,8BACvCC,GAAkCv8B,EAAOu8B,gCACzCC,GAAsCx8B,EAAOw8B,oCAC7CC,GAA0Cz8B,EAAOy8B,wCACjDC,GAAkC18B,EAAO08B,gCACzCC,GAAgC38B,EAAO28B,8BACvCC,GAAkC58B,EAAO48B,gCACzCC,GAAsC78B,EAAO68B,oCAC7CC,GAA0C98B,EAAO88B,wCACjDC,GAAkC/8B,EAAO+8B,gCACzCC,GAAgCh9B,EAAOg9B,8BACvCC,GAAkCj9B,EAAOi9B,gCACzCC,GAAsCl9B,EAAOk9B,oCAC7CC,GAA0Cn9B,EAAOm9B,wCACjDr8B,GAAiBd,EAAOc,eAExBsoB,GADgB,YAAWppB,GACCopB,cAE9B,SAASgU,GAAcj1B,EAAMk1B,GAC3B,IAAIC,EAAU,YAAK,GAAG9pC,OAAO2U,EAAM,KAAK3U,OAAO6pC,IAC3CE,EAAc,YAAQD,EAHV,QAIhB,MAAO,OAAO9pC,OAAO2U,EAAM,MAAM3U,OAAO+pC,EAAa,KAEvD,SAASC,GAAKC,EAAOt5B,EAAOu5B,EAAQv1B,EAAMk1B,EAAaM,EAAYC,GACjE,IAAIC,EAAa,GAAGrqC,OAAOkqC,EAAQ,yCAE/BI,EAAc,YAAQh9B,GATV,QAUhB,OAAO,YAAI7B,IAAoBA,EAAkB,YAAuB,CAAC,kBAAmB,mBAAoB,yBAA0B,uBAAwB,yBAA0B,yBAA0B,4CAA6C,2BAA4B,2BAA4B,sBAAuBw+B,EAAO,YAAcvF,EAAa/zB,EAAO,YAAa05B,EAAY11B,EAAMw1B,EAAYC,EAAYE,EAAaV,GAAcj1B,EAAMk1B,GAAcD,GAAcO,EAAYN,IAc7f,MAAO,CACLj8B,KAAM,WACJ,IAAII,EAAOC,UAAU9X,OAAS,QAAsBS,IAAjBqX,UAAU,GAAmBA,UAAU,GAAK,GAC3Es8B,EAAmBv8B,EAAKm8B,WAC1BA,OAAkC,IAArBI,EAA8B1D,EAA8B0D,EACzEC,EAAcx8B,EAAK2C,MACnBA,OAAwB,IAAhB65B,EAAyB7F,EAAiC6F,EACpE,OAAOR,GAAK,YAAar5B,EAAO+1B,EAAyBC,EAAuBG,EAAiCqD,EAAYvD,IAE/H6D,WAAY,WACV,IAAIz8B,EAAOC,UAAU9X,OAAS,QAAsBS,IAAjBqX,UAAU,GAAmBA,UAAU,GAAK,GAC3Ey8B,EAAoB18B,EAAKm8B,WAC3BA,OAAmC,IAAtBO,EAA+BlE,EAAoCkE,EAChFC,EAAe38B,EAAK2C,MACpBA,OAAyB,IAAjBg6B,EAA0BhG,EAAiCgG,EACrE,OAAOX,GAAK,mBAAoBr5B,EAAO01B,EAA+BC,EAA6BG,EAAuC0D,EAAY5D,IAExJz4B,QAAS,WACP,IAAIE,EAAOC,UAAU9X,OAAS,QAAsBS,IAAjBqX,UAAU,GAAmBA,UAAU,GAAK,GAC3E28B,EAAoB58B,EAAKm8B,WAC3BA,OAAmC,IAAtBS,EAA+B1D,GAAiC0D,EAC7EC,EAAe78B,EAAK2C,MACpBA,OAAyB,IAAjBk6B,EAA0BlG,EAAiCkG,EACrE,OAAOb,GAAK,eAAgBr5B,EAAOo2B,EAA4BC,EAA0BG,GAAoCgD,EAAYlD,KAE3I6D,cAAe,WACb,IAAI98B,EAAOC,UAAU9X,OAAS,QAAsBS,IAAjBqX,UAAU,GAAmBA,UAAU,GAAK,GAC3E88B,EAAoB/8B,EAAKm8B,WAC3BA,OAAmC,IAAtBY,EAA+BxD,GAAuCwD,EACnFC,EAAeh9B,EAAK2C,MACpBA,OAAyB,IAAjBq6B,EAA0BrG,EAAiCqG,EACrE,OAAOhB,GAAK,sBAAuBr5B,EAAOy2B,GAAkCC,GAAgCG,GAA0C2C,EAAY7C,KAEpK2D,UAAW,WACT,IAAIj9B,EAAOC,UAAU9X,OAAS,QAAsBS,IAAjBqX,UAAU,GAAmBA,UAAU,GAAK,GAC3Ei9B,EAAoBl9B,EAAKm8B,WAC3BA,OAAmC,IAAtBe,EAA+BzF,EAAmCyF,EAC/EC,EAAen9B,EAAK2C,MACpBA,OAAyB,IAAjBw6B,EAA0BxG,EAAiCwG,EACrE,OAAOnB,GAAK,kBAAmBr5B,EAAO20B,EAA8BC,EAA4BG,EAAsCyE,EAAY3E,IAEpJ4F,UAAW,WACT,IAAIp9B,EAAOC,UAAU9X,OAAS,QAAsBS,IAAjBqX,UAAU,GAAmBA,UAAU,GAAK,GAC3Eo9B,EAAoBr9B,EAAKm8B,WAC3BA,OAAmC,IAAtBkB,EAA+BjG,EAAmCiG,EAC/EC,EAAet9B,EAAK2C,MACpBA,OAAyB,IAAjB26B,EAA0B3G,EAAiC2G,EACrE,OAAOtB,GAAK,kBAAmBr5B,EAAOs0B,EAA8BC,EAA4BG,EAAsC8E,EAAYhF,IAEpJoG,QAAS,WACP,IAAIv9B,EAAOC,UAAU9X,OAAS,QAAsBS,IAAjBqX,UAAU,GAAmBA,UAAU,GAAK,GAC3Eu9B,EAAoBx9B,EAAKm8B,WAC3BA,OAAmC,IAAtBqB,EAA+BzG,EAAiCyG,EAC7EC,EAAez9B,EAAK2C,MACpBA,OAAyB,IAAjB86B,EAA0B9G,EAAiC8G,EACrE,OAAOzB,GAAK,eAAgBr5B,EAAOi0B,EAA4BC,EAA0BG,EAAoCmF,EAAYrF,IAE3IzoB,MAAO,WACL,IAAIrO,EAAOC,UAAU9X,OAAS,QAAsBS,IAAjBqX,UAAU,GAAmBA,UAAU,GAAK,GAC3Ey9B,EAAoB19B,EAAKm8B,WAC3BA,OAAmC,IAAtBuB,EAA+BvF,EAA+BuF,EAC3EC,EAAe39B,EAAK2C,MACpBA,OAAyB,IAAjBg7B,EAA0BhH,EAAiCgH,EACrE,OAAO3B,GAAK,aAAcr5B,EAAOq1B,EAA0BC,EAAwBG,EAAkC+D,EAAYjE,IAEnI0F,YAAa,WACX,IAAI59B,EAAOC,UAAU9X,OAAS,QAAsBS,IAAjBqX,UAAU,GAAmBA,UAAU,GAAK,GAC3E49B,EAAoB79B,EAAKm8B,WAC3BA,OAAmC,IAAtB0B,EAA+B/F,EAAqC+F,EACjFC,EAAe99B,EAAK2C,MACpBA,OAAyB,IAAjBm7B,EAA0BnH,EAAiCmH,EACnEC,EAAc/9B,EAAKi8B,MACnBA,OAAwB,IAAhB8B,EAAyB,oBAAsBA,EACzD,OAAO/B,GAAKC,EAAOt5B,EAAOg1B,EAAgCC,EAA8BG,EAAwCoE,EAAYtE,IAE9ImG,SAAU,WACR,IAAIh+B,EAAOC,UAAU9X,OAAS,QAAsBS,IAAjBqX,UAAU,GAAmBA,UAAU,GAAK,GAC3Eg+B,EAAqBj+B,EAAKm8B,WAC5BA,OAAoC,IAAvB8B,EAAgCrE,GAAkCqE,EAC/EC,EAAgBl+B,EAAK2C,MACrBA,OAA0B,IAAlBu7B,EAA2BvH,EAAiCuH,EACtE,OAAOlC,GAAK,iBAAkBr5B,EAAO82B,GAA6BC,GAA2BG,GAAqCsC,EAAYxC,KAEhJwE,SAAU,WACR,IAAIn+B,EAAOC,UAAU9X,OAAS,QAAsBS,IAAjBqX,UAAU,GAAmBA,UAAU,GAAK,GAC3Em+B,EAAqBp+B,EAAKm8B,WAC5BA,OAAoC,IAAvBiC,EAAgCnE,GAAkCmE,EAC/EC,EAAgBr+B,EAAK2C,MACrBA,OAA0B,IAAlB07B,EAA2B1H,EAAiC0H,EACtE,OAAOrC,GAAK,iBAAkBr5B,EAAOm3B,GAA6BC,GAA2BG,GAAqCiC,EAAYnC,KAEhJsE,aAAc,WACZ,IAAIt+B,EAAOC,UAAU9X,OAAS,QAAsBS,IAAjBqX,UAAU,GAAmBA,UAAU,GAAK,GAC3Es+B,EAAqBv+B,EAAKm8B,WAC5BA,OAAoC,IAAvBoC,EAAgC5D,GAAsC4D,EACnFC,EAAgBx+B,EAAK2C,MACrBA,OAA0B,IAAlB67B,EAA2B3/B,EAAmC2/B,EACxE,OAAOxC,GAAK,sBAAuBr5B,EAAO63B,GAAiCC,GAA+BG,GAAyCuB,EAAYzB,KAEjK+D,aAAc,WACZ,IAAIz+B,EAAOC,UAAU9X,OAAS,QAAsBS,IAAjBqX,UAAU,GAAmBA,UAAU,GAAK,GAC3Ey+B,EAAqB1+B,EAAKm8B,WAC5BA,OAAoC,IAAvBuC,EAAgCpE,GAAsCoE,EACnFC,EAAgB3+B,EAAK2C,MACrBA,OAA0B,IAAlBg8B,EAA2B9/B,EAAmC8/B,EACxE,OAAO3C,GAAK,sBAAuBr5B,EAAOw3B,GAAiCC,GAA+BG,GAAyC4B,EAAY9B,KAEjKuE,aAAc,WACZ,IAAI5+B,EAAOC,UAAU9X,OAAS,QAAsBS,IAAjBqX,UAAU,GAAmBA,UAAU,GAAK,GAC3E4+B,EAAqB7+B,EAAKm8B,WAC5BA,OAAoC,IAAvB0C,EAAgCnD,GAAsCmD,EACnFC,EAAgB9+B,EAAK2C,MACrBA,OAA0B,IAAlBm8B,EAA2BnI,EAAiCmI,EACtE,OAAO9C,GAAK,sBAAuBr5B,EAAO44B,GAAiCC,GAA+BG,GAAyCQ,EAAYV,KAEjKsD,aAAc,WACZ,IAAI/+B,EAAOC,UAAU9X,OAAS,QAAsBS,IAAjBqX,UAAU,GAAmBA,UAAU,GAAK,GAC3E++B,EAAqBh/B,EAAKm8B,WAC5BA,OAAoC,IAAvB6C,EAAgC3D,GAAsC2D,EACnFC,EAAgBj/B,EAAK2C,MACrBA,OAA0B,IAAlBs8B,EAA2BtI,EAAiCsI,EACtE,OAAOjD,GAAK,sBAAuBr5B,EAAOu4B,GAAiCC,GAA+BG,GAAyCa,EAAYf,KAEjK8D,aAAc,WACZ,IAAIl/B,EAAOC,UAAU9X,OAAS,QAAsBS,IAAjBqX,UAAU,GAAmBA,UAAU,GAAK,GAC3Ek/B,EAAqBn/B,EAAKm8B,WAC5BA,OAAoC,IAAvBgD,EAAgCnE,GAAsCmE,EACnFC,EAAgBp/B,EAAK2C,MACrBA,OAA0B,IAAlBy8B,EAA2BzI,EAAiCyI,EACtE,OAAOpD,GAAK,sBAAuBr5B,EAAOk4B,GAAiCC,GAA+BG,GAAyCkB,EAAYpB,KAEjKsE,aA/IF,SAAsBC,GACpB,IAAI54B,EAAc44B,EAAY,EAAI,EAAIA,EAEtC,OAAO,YAAI5hC,IAAqBA,EAAmB,YAAuB,CAAC,kBAAmB,2HAA4H,aAAc,cAAc1L,OAAO0U,GAAcA,IA6I3Q64B,QA3IY,YAAI5hC,IAAqBA,EAAmB,YAAuB,CAAC,mCAAoC,UAAWiqB,GAAcl1B,YA4I7I8sC,eA3ImB,YAAI5hC,IAAqBA,EAAmB,YAAuB,CAAC,sCAAuC,WAAYm5B,GA4I1I0I,iBA3IqB,YAAI5hC,IAAqBA,EAAmB,YAAuB,CAAC,yCAA0C,WAAYu5B,GA4I/IsI,iBA3IqB,YAAI5hC,IAAqBA,EAAmB,YAAuB,CAAC,yCAA0C,WAAY25B,GA4I/IkI,YA3IgB,YAAI5hC,IAAqBA,EAAmB,YAAuB,CAAC,mCAAoC,WAAY86B,GA4IpI+G,eA3ImB,YAAI5hC,IAAqBA,EAAmB,YAAuB,CAAC,sCAAuC,WAAYk7B,IA4I1I2G,aA3IiB,YAAIze,IAAqBA,EAAmB,YAAuB,CAAC,oCAAqC,WAAY+W,IA8I1I,IAAIn0B,EAAY,CAAC,QAAS,KAAM,OAAQ,YAAa,YAAa,YAAa,YAgB3E87B,EAAc,SAAUjqC,GAC1B,IAAIitB,EAAQjtB,EAAKitB,MACfwG,EAAUzzB,EAAK4Q,GACfA,OAAiB,IAAZ6iB,EAAqBxG,EAAQ,IAAI9wB,OAAO8wB,GAAS,MAAQwG,EAC9D3iB,EAAO9Q,EAAK8Q,KACZlP,EAAY5B,EAAK4B,UACjBsoC,EAAYlqC,EAAKkqC,UACjBtW,EAAY5zB,EAAK4zB,UACjBj8B,EAAWqI,EAAKrI,SAChBgN,EAAO,YAAyB3E,EAAMmO,GACpCxF,EAAS,cACTk4B,EAAc,IAAMte,WAAW,KAC/BhT,EAAU,mBAAQ,WACpB,OAAOhT,EAAOoM,EAAQk4B,KACrB,CAACl4B,EAAQk4B,IACRsJ,EA9BW,SAAUld,EAAOnc,GAChC,GAAIA,EACF,OAAOA,EAET,OAAQmc,GACN,KAAK,EACH,MAAO,KACT,KAAK,EACH,MAAO,KACT,KAAK,EACH,MAAO,QACT,QACE,MAAO,MAkBOmd,CAAWnd,EAAOnc,GAChCu5B,EAAY,CACd3C,QAASn4B,EAAQm4B,QACjB4C,KAAM/6B,EAAQm4B,QACd6C,GAAIh7B,EAAQ63B,UACZoD,GAAIj7B,EAAQg4B,UACZ/uB,MAAOjJ,EAAQiJ,OAEbiyB,EAAmB,CACrB/C,QAASn4B,EAAQo6B,eACjBW,KAAM/6B,EAAQo6B,eACdY,GAAIh7B,EAAQs6B,iBACZW,GAAIj7B,EAAQq6B,iBACZpxB,MAAOjJ,EAAQy6B,cAEjB,OAAIE,EACK,YAAI,IAAS,YAAS,CAC3B15B,IAAK,CAACjB,EAAQm6B,QAASe,EAAiBN,IACxCvoC,UAAWA,EACXkyB,kBAAkB,EAClBF,UAAWA,GACVjvB,EAAM,CACP,YAAa,SACXhN,GAEC,YAAIiZ,EAAI,YAAS,CACtBJ,IAAK65B,EAAUF,GACfvoC,UAAWA,EACX,iBAAkB,sBACjB+C,GAAOhN,IAERmhB,EAAc,CAAC,KAAM,SAAU,YAAa,YAAa,YAAa,cAAe,YACrF4xB,EAAW,SAAU1qC,GACvB,IAAI2qC,EACAlX,EAAUzzB,EAAK4Q,GACjBA,OAAiB,IAAZ6iB,EAAqB,MAAQA,EAClC9iB,EAAS3Q,EAAK2Q,OACd/O,EAAY5B,EAAK4B,UACjBsoC,EAAYlqC,EAAKkqC,UACjBtW,EAAY5zB,EAAK4zB,UACjB/iB,EAAc7Q,EAAK6Q,YACnBlZ,EAAWqI,EAAKrI,SAChBgN,EAAO,YAAyB3E,EAAM8Y,GACpCnQ,EAAS,cACTk4B,EAAc,IAAMte,WAAW,KAC/BhT,EAAU,mBAAQ,WACpB,OAAOhT,EAAOoM,EAAQk4B,KACrB,CAACl4B,EAAQk4B,IACZ,GAAIqJ,EACF,OAAO,YAAI,IAAS,YAAS,CAC3B15B,IAAK,CAACjB,EAAQm6B,QAASn6B,EAAQu6B,aAC/BloC,UAAWA,EACXkyB,kBAAkB,EAClBF,UAAWA,GACVjvB,EAAM,CACP,YAAa,SACXhN,GAEN,IAAIo8B,EAAS,EAAEpjB,GAAUpB,EAAQxF,KAAM4G,GAAUpB,EAAQq3B,WAAY/1B,IAAkE,QAAjD85B,EAAuBp7B,EAAQi6B,oBAAmD,IAAzBmB,OAAkC,EAASA,EAAqBtvC,KAAKkU,EAASsB,KAC7N,OAAO,YAAID,EAAI,YAAS,CACtBJ,IAAKujB,EACLnyB,UAAWA,EACX,iBAAkB,mBACjB+C,GAAOhN,IAERizC,EAAc,CAAC,KAAM,SAAU,cAAe,YAAa,YAAa,YAAa,YACrFC,EAAc,SAAU7qC,GAC1B,IAAI2qC,EACAlX,EAAUzzB,EAAK4Q,GACjBA,OAAiB,IAAZ6iB,EAAqB,MAAQA,EAClC9iB,EAAS3Q,EAAK2Q,OACdE,EAAc7Q,EAAK6Q,YACnBjP,EAAY5B,EAAK4B,UACjBsoC,EAAYlqC,EAAKkqC,UACjBtW,EAAY5zB,EAAK4zB,UACjBj8B,EAAWqI,EAAKrI,SAChBgN,EAAO,YAAyB3E,EAAM4qC,GACpCjiC,EAAS,cACTk4B,EAAc,IAAMte,WAAW,KAC/BhT,EAAU,mBAAQ,WACpB,OAAOhT,EAAOoM,EAAQk4B,KACrB,CAACl4B,EAAQk4B,IACZ,GAAIqJ,EACF,OAAO,YAAI,IAAS,YAAS,CAC3B15B,IAAK,CAACjB,EAAQm6B,QAASn6B,EAAQw6B,gBAC/BnoC,UAAWA,EACXkyB,kBAAkB,EAClBF,UAAWA,GACVjvB,EAAM,CACP,YAAa,SACXhN,GAEN,IAAIo8B,EAAS,EAAEpjB,GAAUpB,EAAQtF,QAAS0G,GAAUpB,EAAQ03B,cAAep2B,IAAkE,QAAjD85B,EAAuBp7B,EAAQi6B,oBAAmD,IAAzBmB,OAAkC,EAASA,EAAqBtvC,KAAKkU,EAASsB,KACnO,OAAO,YAAID,EAAI,YAAS,CACtBJ,IAAKujB,EACLnyB,UAAWA,EACX,iBAAkB,sBACjB+C,GAAOhN,K,kCCvYZ,IAAImzC,EAAc,EAAQ,QACtBzvC,EAAO,EAAQ,QACf0vC,EAA6B,EAAQ,QACrCC,EAA2B,EAAQ,QACnCC,EAAkB,EAAQ,QAC1B9f,EAAgB,EAAQ,QACxB1E,EAAS,EAAQ,QACjBykB,EAAiB,EAAQ,QAGzBC,EAA4B11C,OAAOunB,yBAIvCre,EAAQ3F,EAAI8xC,EAAcK,EAA4B,SAAkCv1C,EAAGoC,GAGzF,GAFApC,EAAIq1C,EAAgBr1C,GACpBoC,EAAImzB,EAAcnzB,GACdkzC,EAAgB,IAClB,OAAOC,EAA0Bv1C,EAAGoC,GACpC,MAAOmiB,IACT,GAAIsM,EAAO7wB,EAAGoC,GAAI,OAAOgzC,GAA0B3vC,EAAK0vC,EAA2B/xC,EAAGpD,EAAGoC,GAAIpC,EAAEoC,M,oFCL1F,SAASozC,EAAaC,EAAM75B,GACjC,OCF6BN,EDEPM,GAAgB,KCFKxW,EDEC,SAAUswC,GACpD,OAAOD,EAAK73C,SAAQ,SAAUgQ,GAC5B,OENC,SAAmBA,EAAKlM,GAM7B,MALmB,mBAARkM,EACTA,EAAIlM,GACKkM,IACTA,EAAIhD,QAAUlJ,GAETkM,EFAI+nC,CAAU/nC,EAAK8nC,QCHtB9nC,EAAM,oBAAS,WACjB,MAAO,CAELlM,MAAO4Z,EAEPlW,SAAUA,EAEVwwC,OAAQ,CACN,cACE,OAAOhoC,EAAIlM,OAEb,YAAYA,GACV,IAAIm0C,EAAOjoC,EAAIlM,MACXm0C,IAASn0C,IACXkM,EAAIlM,MAAQA,EACZkM,EAAIxI,SAAS1D,EAAOm0C,UAK3B,IAECzwC,SAAWA,EACRwI,EAAIgoC,OAxBN,IAAwBt6B,EAAclW,EACvCwI,I,kCEhBN,kDACe,SAASkoC,EAA4BzyC,EAAG0yC,GACrD,GAAK1yC,EAAL,CACA,GAAiB,iBAANA,EAAgB,OAAO,YAAiBA,EAAG0yC,GACtD,IAAI72C,EAAIW,OAAOpC,UAAUwrC,SAASxjC,KAAKpC,GAAG1C,MAAM,GAAI,GAEpD,MADU,WAANzB,GAAkBmE,EAAEolC,cAAavpC,EAAImE,EAAEolC,YAAY5hC,MAC7C,QAAN3H,GAAqB,QAANA,EAAoBsG,MAAMuhB,KAAK1jB,GACxC,cAANnE,GAAqB,2CAA2C8oC,KAAK9oC,GAAW,YAAiBmE,EAAG0yC,QAAxG,K,kCCIF,IAAItyC,EAAI,mBAAsBwN,QAAUA,OAAO+kC,IAC7C72C,EAAIsE,EAAIwN,OAAO+kC,IAAI,iBAAmB,MACtCryC,EAAIF,EAAIwN,OAAO+kC,IAAI,gBAAkB,MACrCp3C,EAAI6E,EAAIwN,OAAO+kC,IAAI,kBAAoB,MACvC5yC,EAAIK,EAAIwN,OAAO+kC,IAAI,qBAAuB,MAC1C12C,EAAImE,EAAIwN,OAAO+kC,IAAI,kBAAoB,MACvC32C,EAAIoE,EAAIwN,OAAO+kC,IAAI,kBAAoB,MACvCv2C,EAAIgE,EAAIwN,OAAO+kC,IAAI,iBAAmB,MACtC1yC,EAAIG,EAAIwN,OAAO+kC,IAAI,oBAAsB,MACzCp2C,EAAI6D,EAAIwN,OAAO+kC,IAAI,yBAA2B,MAC9C92C,EAAIuE,EAAIwN,OAAO+kC,IAAI,qBAAuB,MAC1CxyC,EAAIC,EAAIwN,OAAO+kC,IAAI,kBAAoB,MACvCl1C,EAAI2C,EAAIwN,OAAO+kC,IAAI,uBAAyB,MAC5Ch3C,EAAIyE,EAAIwN,OAAO+kC,IAAI,cAAgB,MACnCv0C,EAAIgC,EAAIwN,OAAO+kC,IAAI,cAAgB,MACnCzyC,EAAIE,EAAIwN,OAAO+kC,IAAI,eAAiB,MACpCtyC,EAAID,EAAIwN,OAAO+kC,IAAI,qBAAuB,MAC1Cj2C,EAAI0D,EAAIwN,OAAO+kC,IAAI,mBAAqB,MACxC/1C,EAAIwD,EAAIwN,OAAO+kC,IAAI,eAAiB,MACtC,SAAS31C,EAAEpB,GACT,GAAI,iBAAoBA,GAAK,OAASA,EAAG,CACvC,IAAIkE,EAAIlE,EAAEg3C,SACV,OAAQ9yC,GACN,KAAKhE,EACH,OAAQF,EAAIA,EAAE4C,MACZ,KAAKyB,EACL,KAAK1D,EACL,KAAKhB,EACL,KAAKU,EACL,KAAK8D,EACL,KAAKI,EACH,OAAOvE,EACT,QACE,OAAQA,EAAIA,GAAKA,EAAEg3C,UACjB,KAAKx2C,EACL,KAAKP,EACL,KAAKuC,EACL,KAAKzC,EACL,KAAKK,EACH,OAAOJ,EACT,QACE,OAAOkE,GAGjB,KAAKQ,EACH,OAAOR,IAIf,SAASzC,EAAEzB,GACT,OAAOoB,EAAEpB,KAAOW,EAElBmJ,EAAQmtC,UAAY5yC,EACpByF,EAAQotC,eAAiBv2C,EACzBmJ,EAAQqtC,gBAAkB32C,EAC1BsJ,EAAQstC,gBAAkBh3C,EAC1B0J,EAAQutC,QAAUn3C,EAClB4J,EAAQ8gB,WAAa3qB,EACrB6J,EAAQ6rB,SAAWh2B,EACnBmK,EAAQwtC,KAAO90C,EACfsH,EAAQ+gB,KAAO9qB,EACf+J,EAAQytC,OAAS7yC,EACjBoF,EAAQ0tC,SAAWn3C,EACnByJ,EAAQ2tC,WAAatzC,EACrB2F,EAAQ4tC,SAAWnzC,EACnBuF,EAAQ6tC,YAAc,SAAU33C,GAC9B,OAAOyB,EAAEzB,IAAMoB,EAAEpB,KAAOqE,GAE1ByF,EAAQ8tC,iBAAmBn2C,EAC3BqI,EAAQ+tC,kBAAoB,SAAU73C,GACpC,OAAOoB,EAAEpB,KAAOQ,GAElBsJ,EAAQguC,kBAAoB,SAAU93C,GACpC,OAAOoB,EAAEpB,KAAOI,GAElB0J,EAAQiuC,UAAY,SAAU/3C,GAC5B,MAAO,iBAAoBA,GAAK,OAASA,GAAKA,EAAEg3C,WAAa92C,GAE/D4J,EAAQkuC,aAAe,SAAUh4C,GAC/B,OAAOoB,EAAEpB,KAAOC,GAElB6J,EAAQmuC,WAAa,SAAUj4C,GAC7B,OAAOoB,EAAEpB,KAAOL,GAElBmK,EAAQouC,OAAS,SAAUl4C,GACzB,OAAOoB,EAAEpB,KAAOwC,GAElBsH,EAAQ6gB,OAAS,SAAU3qB,GACzB,OAAOoB,EAAEpB,KAAOD,GAElB+J,EAAQquC,SAAW,SAAUn4C,GAC3B,OAAOoB,EAAEpB,KAAO0E,GAElBoF,EAAQsuC,WAAa,SAAUp4C,GAC7B,OAAOoB,EAAEpB,KAAOK,GAElByJ,EAAQuuC,aAAe,SAAUr4C,GAC/B,OAAOoB,EAAEpB,KAAOmE,GAElB2F,EAAQwuC,WAAa,SAAUt4C,GAC7B,OAAOoB,EAAEpB,KAAOuE,GAElBuF,EAAQyuC,mBAAqB,SAAUv4C,GACrC,MAAO,iBAAoBA,GAAK,mBAAsBA,GAAKA,IAAML,GAAKK,IAAMW,GAAKX,IAAMK,GAAKL,IAAMmE,GAAKnE,IAAMuE,GAAKvE,IAAM6B,GAAK,iBAAoB7B,GAAK,OAASA,IAAMA,EAAEg3C,WAAax0C,GAAKxC,EAAEg3C,WAAaj3C,GAAKC,EAAEg3C,WAAa52C,GAAKJ,EAAEg3C,WAAax2C,GAAKR,EAAEg3C,WAAa/2C,GAAKD,EAAEg3C,WAAavyC,GAAKzE,EAAEg3C,WAAal2C,GAAKd,EAAEg3C,WAAah2C,GAAKhB,EAAEg3C,WAAa1yC,IAEtVwF,EAAQ0uC,OAASp3C,G,kCCpHjB,oXASIq3C,GAAY,EACZ3pC,EAAiB,GAAGA,eACpB4pC,EAAqC,gBAOlB,oBAAhBC,YAA6C,YAAY,CAC9Dr6C,IAAK,QACF,MAIeo6C,EAAoBnjB,SAAxC,IAIIqjB,EAAmB,SAA0B7nC,GAE/C,OAAoB,sBAAW,SAAUlO,EAAO8L,GAE9C,IAAIhH,EAAQ,qBAAW+wC,GACvB,OAAO3nC,EAAKlO,EAAO8E,EAAOgH,OAGzB8pC,IACHG,EAAmB,SAA0B7nC,GAC3C,OAAO,SAAUlO,GACf,IAAI8E,EAAQ,qBAAW+wC,GACvB,OAAc,OAAV/wC,GAMFA,EAAQ,YAAY,CAClBrJ,IAAK,QAEa,gBAAoBo6C,EAAoBnjB,SAAU,CACpE9yB,MAAOkF,GACNoJ,EAAKlO,EAAO8E,KAERoJ,EAAKlO,EAAO8E,MAK3B,IAAIkxC,EAA8B,gBAAoB,IAItD,IAAIC,EAAW,WACb,OAAO,aAAiBD,IAetBE,EAAsC,aAAY,SAAUC,GAC9D,OAAO,aAAY,SAAUz0B,GAC3B,OAfW,SAAkBy0B,EAAYz0B,GAC3C,MAAqB,mBAAVA,EACSA,EAAMy0B,GASnB,YAAS,GAAIA,EAAYz0B,GAIvB00B,CAASD,EAAYz0B,SAG5B20B,EAAgB,SAAuBr2C,GACzC,IAAI0hB,EAAQ,aAAiBs0B,GAI7B,OAHIh2C,EAAM0hB,QAAUA,IAClBA,EAAQw0B,EAAqBx0B,EAArBw0B,CAA4Bl2C,EAAM0hB,QAExB,gBAAoBs0B,EAAatjB,SAAU,CAC7D9yB,MAAO8hB,GACN1hB,EAAMC,WAgBX,IAqCIq2C,EAAe,qCAEfC,EAAqB,SAA4Bx2C,EAAMC,GAMzD,IAAIuzB,EAAW,GACf,IAAK,IAAI93B,KAAOuE,EACViM,EAAetI,KAAK3D,EAAOvE,KAC7B83B,EAAS93B,GAAOuE,EAAMvE,IAU1B,OAPA83B,EAAS+iB,GAAgBv2C,EAOlBwzB,GAELoU,EAAY,SAAmBr/B,GACjC,IAAIxD,EAAQwD,EAAKxD,MACfH,EAAa2D,EAAK3D,WAClB6xC,EAAcluC,EAAKkuC,YAKrB,OAJA,YAAe1xC,EAAOH,EAAY6xC,GAClC,aAAyC,WACvC,OAAO,YAAa1xC,EAAOH,EAAY6xC,MAElC,MA2CT,IAAIC,EAzCyBV,GAAiB,SAAU/1C,EAAO8E,EAAOgH,GACpE,IAAI4qC,EAAU12C,EAAM8Y,IAIG,iBAAZ49B,QAAsDr7C,IAA9ByJ,EAAME,WAAW0xC,KAClDA,EAAU5xC,EAAME,WAAW0xC,IAE7B,IAAIC,EAAmB32C,EAAMs2C,GACzB7O,EAAmB,CAACiP,GACpBxsC,EAAY,GACe,iBAApBlK,EAAMkK,UACfA,EAAY,YAAoBpF,EAAME,WAAYyiC,EAAkBznC,EAAMkK,WAC9C,MAAnBlK,EAAMkK,YACfA,EAAYlK,EAAMkK,UAAY,KAEhC,IAAIvF,EAAa,YAAgB8iC,OAAkBpsC,EAAW,aAAiB26C,IAO/E9rC,GAAapF,EAAMrJ,IAAM,IAAMkJ,EAAWI,KAC1C,IAAIwuB,EAAW,GACf,IAAK,IAAI93B,KAAOuE,EACViM,EAAetI,KAAK3D,EAAOvE,IAAgB,QAARA,GAAiBA,IAAQ66C,IAC9D/iB,EAAS93B,GAAOuE,EAAMvE,IAK1B,OAFA83B,EAASznB,IAAMA,EACfynB,EAASrpB,UAAYA,EACD,gBAAoB,WAAgB,KAAmB,gBAAoBy9B,EAAW,CACxG7iC,MAAOA,EACPH,WAAYA,EACZ6xC,YAAyC,iBAArBG,IACL,gBAAoBA,EAAkBpjB,Q,kCCpNzD,kDACWqjB,EAAY,e,kCCAvB,IAAIC,EAAc,EAAQ,QACtBC,EAAW,EAAQ,QAEnBC,EAAQt5C,KAAKs5C,MACb/tB,EAAS6tB,EAAY,GAAG7tB,QACxBxqB,EAAUq4C,EAAY,GAAGr4C,SACzBw4C,EAAcH,EAAY,GAAGh4C,OAE7Bo4C,EAAuB,8BACvBC,EAAgC,sBAIpCloC,EAAO/H,QAAU,SAAUkwC,EAAS/X,EAAKnU,EAAUmsB,EAAUC,EAAeC,GAC1E,IAAIC,EAAUtsB,EAAWksB,EAAQv8C,OAC7BkD,EAAIs5C,EAASx8C,OACb00B,EAAU4nB,EAKd,YAJsB77C,IAAlBg8C,IACFA,EAAgBP,EAASO,GACzB/nB,EAAU2nB,GAELz4C,EAAQ84C,EAAahoB,GAAS,SAAU+N,EAAOma,GACpD,IAAIC,EACJ,OAAQzuB,EAAOwuB,EAAI,IACjB,IAAK,IAAK,MAAO,IACjB,IAAK,IAAK,OAAOL,EACjB,IAAK,IAAK,OAAOH,EAAY5X,EAAK,EAAGnU,GACrC,IAAK,IAAK,OAAO+rB,EAAY5X,EAAKmY,GAClC,IAAK,IACHE,EAAUJ,EAAcL,EAAYQ,EAAI,GAAI,IAC5C,MACF,QACE,IAAIp6C,GAAKo6C,EACT,GAAU,IAANp6C,EAAS,OAAOigC,EACpB,GAAIjgC,EAAIU,EAAG,CACT,IAAIwD,EAAIy1C,EAAM35C,EAAI,IAClB,OAAU,IAANkE,EAAgB+7B,EAChB/7B,GAAKxD,OAA8BzC,IAApB+7C,EAAS91C,EAAI,GAAmB0nB,EAAOwuB,EAAI,GAAKJ,EAAS91C,EAAI,GAAK0nB,EAAOwuB,EAAI,GACzFna,EAEToa,EAAUL,EAASh6C,EAAI,GAE3B,YAAmB/B,IAAZo8C,EAAwB,GAAKA,O,kCC1CxC,IAAIrE,EAAc,EAAQ,QACtB3K,EAAQ,EAAQ,QAChBvsC,EAAgB,EAAQ,QAG5B8S,EAAO/H,SAAWmsC,IAAgB3K,GAAM,WAEtC,OAES,IAFF1qC,OAAOooB,eAAejqB,EAAc,OAAQ,IAAK,CACtD8G,IAAK,WAAc,OAAO,KACzB7F,M,kCCTL,IAAIurC,EAAU9qC,OAEdoR,EAAO/H,QAAU,SAAU4b,GACzB,IACE,OAAO6lB,EAAQ7lB,GACf,MAAOJ,GACP,MAAO,Y,wECPPi1B,E,YCCJ,SAASC,IACP,IAAK17C,SAAU,OAAO,KACtB,IAAIxB,EAAMwB,SAASC,cAAc,SACjCzB,EAAIsF,KAAO,WACX,IAAIvE,EDAAk8C,GAIK,KCAT,OAHIl8C,GACFf,EAAI0B,aAAa,QAASX,GAErBf,EAeF,IAAIm9C,EAAsB,WAC/B,IAAIC,EAAU,EACVC,EAAa,KACjB,MAAO,CACLvzB,IAAK,SAAUna,GAjBnB,IAAsB3P,EAAKqe,EAkBN,GAAX++B,IACEC,EAAaH,OAnBE7+B,EAoBQ1O,GApBb3P,EAoBCq9C,GAlBbC,WAENt9C,EAAIs9C,WAAWC,QAAUl/B,EAEzBre,EAAI2B,YAAYH,SAASI,eAAeyc,IAG5C,SAAwBre,IACXwB,SAAS6H,MAAQ7H,SAASg8C,qBAAqB,QAAQ,IAC7D77C,YAAY3B,GAUTy9C,CAAeJ,IAGnBD,KAEFM,OAAQ,cACNN,GACgBC,IACdA,EAAW96C,YAAc86C,EAAW96C,WAAWC,YAAY66C,GAC3DA,EAAa,SClCVM,EAAiB,WAC1B,ICII77C,EDJA87C,GCIA97C,EAAQq7C,IACL,SAAU/yC,EAAQyzC,GACvB,aAAgB,WAEd,OADA/7C,EAAMgoB,IAAI1f,GACH,WACLtI,EAAM47C,YAEP,CAACtzC,GAAUyzC,MDJhB,OANY,SAAUC,GACpB,IAAI1zC,EAAS0zC,EAAG1zC,OACd2zC,EAAUD,EAAGC,QAEf,OADAH,EAASxzC,EAAQ2zC,GACV,Q,kCEZX,IAAI3B,EAAc,EAAQ,QACtBpO,EAAQ,EAAQ,QAChB9lB,EAAa,EAAQ,QACrBoM,EAAS,EAAQ,QACjBqkB,EAAc,EAAQ,QACtBqF,EAA6B,EAAQ,QAA8BC,aACnEC,EAAgB,EAAQ,QACxBC,EAAsB,EAAQ,QAE9BC,EAAuBD,EAAoBE,QAC3CC,EAAmBH,EAAoB51C,IACvC0lC,EAAU9qC,OAEVuoB,EAAiBpoB,OAAOooB,eACxB6wB,EAAcH,EAAY,GAAGh4C,OAC7BL,EAAUq4C,EAAY,GAAGr4C,SACzBW,EAAO03C,EAAY,GAAG13C,MAEtB65C,EAAsB5F,IAAgB3K,GAAM,WAC9C,OAAsF,IAA/EtiB,GAAe,cAA6B,SAAU,CAAEvmB,MAAO,IAAKhF,UAGzEq+C,EAAWr7C,OAAOA,QAAQwG,MAAM,UAEhC80C,EAAclqC,EAAO/H,QAAU,SAAUrH,EAAOmF,EAAM1K,GACf,YAArC28C,EAAYtO,EAAQ3jC,GAAO,EAAG,KAChCA,EAAO,IAAMvG,EAAQkqC,EAAQ3jC,GAAO,qBAAsB,MAAQ,KAEhE1K,GAAWA,EAAQ8+C,SAAQp0C,EAAO,OAASA,GAC3C1K,GAAWA,EAAQ++C,SAAQr0C,EAAO,OAASA,KAC1CgqB,EAAOnvB,EAAO,SAAY64C,GAA8B74C,EAAMmF,OAASA,KACtEquC,EAAajtB,EAAevmB,EAAO,OAAQ,CAAEA,MAAOmF,EAAM0sB,cAAc,IACvE7xB,EAAMmF,KAAOA,GAEhBi0C,GAAuB3+C,GAAW00B,EAAO10B,EAAS,UAAYuF,EAAMhF,SAAWP,EAAQmtB,OACzFrB,EAAevmB,EAAO,SAAU,CAAEA,MAAOvF,EAAQmtB,QAEnD,IACMntB,GAAW00B,EAAO10B,EAAS,gBAAkBA,EAAQssC,YACnDyM,GAAajtB,EAAevmB,EAAO,YAAa,CAAE8xB,UAAU,IAEvD9xB,EAAMjE,YAAWiE,EAAMjE,eAAYN,GAC9C,MAAOonB,IACT,IAAIjY,EAAQquC,EAAqBj5C,GAG/B,OAFGmvB,EAAOvkB,EAAO,YACjBA,EAAM2kB,OAAShwB,EAAK85C,EAAyB,iBAARl0C,EAAmBA,EAAO,KACxDnF,GAKXmpB,SAASptB,UAAUwrC,SAAW+R,GAAY,WACxC,OAAOv2B,EAAWpoB,OAASw+C,EAAiBx+C,MAAM40B,QAAUwpB,EAAcp+C,QACzE,a,yqBCtDY,SAASkU,EAAKnR,GAC3BkR,QAAQC,KAAK,aAAcnR,GCD7B,SAASqoB,EAAQK,GAGf,OAAOL,EAAU,mBAAqBxW,QAAU,iBAAmBA,OAAOE,SAAW,SAAU2W,GAC7F,cAAcA,GACZ,SAAUA,GACZ,OAAOA,GAAO,mBAAqB7W,QAAU6W,EAAI2gB,cAAgBx3B,QAAU6W,IAAQ7W,OAAOxT,UAAY,gBAAkBqqB,IAC/GA,GAEb,IAAIvP,EAAY,CAAC,KAAM,UACvB,SAASuY,EAAQ5lB,EAAQimB,GACvB,IAAIne,EAAOnT,OAAOmT,KAAK9H,GACvB,GAAIrL,OAAOmqB,sBAAuB,CAChC,IAAIoH,EAAUvxB,OAAOmqB,sBAAsB9e,GAC3CimB,IAAmBC,EAAUA,EAAQ1pB,QAAO,SAAU2pB,GACpD,OAAOxxB,OAAOunB,yBAAyBlc,EAAQmmB,GAAK7J,eACjDxU,EAAK/V,KAAKgqB,MAAMjU,EAAMoe,GAE7B,OAAOpe,EAET,SAAS8f,EAAc5kB,GACrB,IAAK,IAAI5P,EAAI,EAAGA,EAAIkW,UAAU9X,OAAQ4B,IAAK,CACzC,IAAI2yB,EAAS,MAAQzc,UAAUlW,GAAKkW,UAAUlW,GAAK,GACnDA,EAAI,EAAIwyB,EAAQjxB,OAAOoxB,IAAS,GAAIrzB,SAAQ,SAAUL,GACpD+1B,EAAgBplB,EAAQ3Q,EAAK0zB,EAAO1zB,OACjCsC,OAAO+yB,0BAA4B/yB,OAAOgzB,iBAAiB3kB,EAAQrO,OAAO+yB,0BAA0B3B,IAAWH,EAAQjxB,OAAOoxB,IAASrzB,SAAQ,SAAUL,GAC5JsC,OAAOooB,eAAe/Z,EAAQ3Q,EAAKsC,OAAOunB,yBAAyB6J,EAAQ1zB,OAG/E,OAAO2Q,EAET,SAASylB,EAAyB1C,EAAQ2C,GACxC,GAAc,MAAV3C,EAAgB,MAAO,GAC3B,IACI1zB,EAAKe,EADL4P,EAaN,SAAuC+iB,EAAQ2C,GAC7C,GAAc,MAAV3C,EAAgB,MAAO,GAC3B,IAEI1zB,EAAKe,EAFL4P,EAAS,GACT2lB,EAAah0B,OAAOmT,KAAKie,GAE7B,IAAK3yB,EAAI,EAAGA,EAAIu1B,EAAWn3B,OAAQ4B,IACjCf,EAAMs2B,EAAWv1B,GACbs1B,EAASpzB,QAAQjD,IAAQ,IAC7B2Q,EAAO3Q,GAAO0zB,EAAO1zB,IAEvB,OAAO2Q,EAvBM4lB,CAA8B7C,EAAQ2C,GAEnD,GAAI/zB,OAAOmqB,sBAAuB,CAChC,IAAI+J,EAAmBl0B,OAAOmqB,sBAAsBiH,GACpD,IAAK3yB,EAAI,EAAGA,EAAIy1B,EAAiBr3B,OAAQ4B,IACvCf,EAAMw2B,EAAiBz1B,GACnBs1B,EAASpzB,QAAQjD,IAAQ,GACxBsC,OAAOpC,UAAU0pB,qBAAqB1hB,KAAKwrB,EAAQ1zB,KACxD2Q,EAAO3Q,GAAO0zB,EAAO1zB,IAGzB,OAAO2Q,EAcT,SAAS20B,EAAgBr1B,EAAUm1B,GACjC,KAAMn1B,aAAoBm1B,GACxB,MAAM,IAAIC,UAAU,qCAGxB,SAAStN,EAAkBpnB,EAAQpM,GACjC,IAAK,IAAIxD,EAAI,EAAGA,EAAIwD,EAAMpF,OAAQ4B,IAAK,CACrC,IAAIipB,EAAazlB,EAAMxD,GACvBipB,EAAWC,WAAaD,EAAWC,aAAc,EACjDD,EAAWgM,cAAe,EACtB,UAAWhM,IAAYA,EAAWiM,UAAW,GACjD3zB,OAAOooB,eAAe/Z,EAAQqZ,EAAWhqB,IAAKgqB,IA2BlD,SAAS4zB,EAAgB93C,EAAGG,GAK1B,OAJA23C,EAAkBt7C,OAAOu7C,eAAiBv7C,OAAOu7C,eAAe5uC,OAAS,SAAyBnJ,EAAGG,GAEnG,OADAH,EAAEg4C,UAAY73C,EACPH,IAEcA,EAAGG,GAE5B,SAAS83C,EAAaC,GACpB,IAAIC,EA2BN,WACE,GAAuB,oBAAZC,UAA4BA,QAAQC,UAAW,OAAO,EACjE,GAAID,QAAQC,UAAUxqC,KAAM,OAAO,EACnC,GAAqB,mBAAVyqC,MAAsB,OAAO,EACxC,IAEE,OADA1vC,QAAQxO,UAAUm+C,QAAQn2C,KAAKg2C,QAAQC,UAAUzvC,QAAS,IAAI,iBACvD,EACP,MAAOrN,GACP,OAAO,GAnCuBi9C,GAChC,OAAO,WACL,IACE/T,EADEgU,EAAQC,EAAgBR,GAE5B,GAAIC,EAA2B,CAC7B,IAAIQ,EAAYD,EAAgB1/C,MAAMosC,YACtCX,EAAS2T,QAAQC,UAAUI,EAAOtnC,UAAWwnC,QAE7ClU,EAASgU,EAAM70B,MAAM5qB,KAAMmY,WAE7B,OAAOynC,EAA2B5/C,KAAMyrC,IAG5C,SAASmU,EAA2BrxB,EAAMnlB,GACxC,GAAIA,IAA2B,WAAlBgiB,EAAQhiB,IAAsC,mBAATA,GAChD,OAAOA,EACF,QAAa,IAATA,EACT,MAAM,IAAIm9B,UAAU,4DAEtB,OAAOsZ,EAAuBtxB,GAEhC,SAASsxB,EAAuBtxB,GAC9B,QAAa,IAATA,EACF,MAAM,IAAIuxB,eAAe,6DAE3B,OAAOvxB,EAaT,SAASmxB,EAAgB14C,GAIvB,OAHA04C,EAAkBl8C,OAAOu7C,eAAiBv7C,OAAOoqB,eAAezd,OAAS,SAAyBnJ,GAChG,OAAOA,EAAEg4C,WAAax7C,OAAOoqB,eAAe5mB,KAEvBA,GAEzB,SAASiwB,EAAgBxL,EAAKvqB,EAAKmE,GAWjC,OAVInE,KAAOuqB,EACTjoB,OAAOooB,eAAeH,EAAKvqB,EAAK,CAC9BmE,MAAOA,EACP8lB,YAAY,EACZ+L,cAAc,EACdC,UAAU,IAGZ1L,EAAIvqB,GAAOmE,EAENomB,EAIT,IAEI,EAA4B,SAAUs0B,IArF1C,SAAmBC,EAAUC,GAC3B,GAA0B,mBAAfA,GAA4C,OAAfA,EACtC,MAAM,IAAI1Z,UAAU,sDAEtByZ,EAAS5+C,UAAYoC,OAAOywB,OAAOgsB,GAAcA,EAAW7+C,UAAW,CACrEgrC,YAAa,CACX/mC,MAAO26C,EACP7oB,UAAU,EACVD,cAAc,KAGlB1zB,OAAOooB,eAAeo0B,EAAU,YAAa,CAC3C7oB,UAAU,IAER8oB,GAAYnB,EAAgBkB,EAAUC,GAwE1CC,CAAUC,EAAcJ,GACxB,IA/FoBzZ,EAAaG,EAAYC,EA+FzC0Z,EAASnB,EAAakB,GAC1B,SAASA,IACP,IAAIpgD,EACJymC,EAAgBxmC,KAAMmgD,GACtB,IAAK,IAAIje,EAAO/pB,UAAU9X,OAAQ6X,EAAO,IAAI/O,MAAM+4B,GAAOC,EAAO,EAAGA,EAAOD,EAAMC,IAC/EjqB,EAAKiqB,GAAQhqB,UAAUgqB,GA2BzB,OAxBAlL,EAAgB4oB,EADhB9/C,EAAQqgD,EAAOh3C,KAAKwhB,MAAMw1B,EAAQ,CAACpgD,MAAMkK,OAAOgO,KACD,eAAe,SAAU4P,GACtE,IAAI3V,EAAcpS,EAAM0F,MACtBoM,EAASM,EAAYN,OACrBwuC,EAAaluC,EAAYkuC,WACzB7vC,EAAK2B,EAAY3B,GACjB+B,EAAUJ,EAAYI,QACtB+tC,EAAenuC,EAAYmuC,aACzBC,EAAY,CACdpM,MAAOkM,GAELG,EAtBG,WAsBU3uC,EACb4uC,IAAgB34B,EAAM5U,SAAW4U,EAAM3U,UAAY2U,EAAM9U,SAtBjD,IAsB4D8U,EAAMhV,QAC1E0tC,GAAcC,GAChB34B,EAAM1U,iBACN+sC,EAAaO,UAAUH,GAAW,WAChCxwC,OAAOZ,SAASqE,KAAOhD,IACtB8vC,IAEHH,EAAaO,UAAUH,GAAW,cAAgBD,GAEhD/tC,GACFA,EAAQuV,MAGL/nB,EAsBT,OArJoBumC,EAiIP6Z,GAjIoB1Z,EAiIN,CAAC,CAC1BvlC,IAAK,SACLmE,MAAO,WACL,IAAIs7C,EAAe3gD,KAAKyF,MACtB+N,EAAOmtC,EAAanwC,GACpBqB,EAAS8uC,EAAa9uC,OAEpBpM,EAAQgxB,EAAcA,EAAc,GAD3Ba,EAAyBqpB,EAAczkC,IACG,GAAI,CACzDrK,OAAQA,EACR2B,KAAMA,EACNjB,QAASvS,KAAKyjB,cAOhB,MAvDO,WAkDH5R,IACFpM,EAAMm7C,IAAM,GAAG12C,OAAOzE,EAAMm7C,IAAMn7C,EAAMm7C,IAAM,GAAI,wBAAwB/8C,eAErE4B,EAAM46C,kBACN56C,EAAM66C,aACO,IAAM3+C,cAAc,IAAK8D,QAjJjCwzB,EAAkBqN,EAAYllC,UAAWqlC,GACrDC,GAAazN,EAAkBqN,EAAaI,GAChDljC,OAAOooB,eAAe0a,EAAa,YAAa,CAC9CnP,UAAU,IAiJLgpB,EAxDuB,CAyD9B,aACFlpB,EAAgB,EAAc,aAAa,WACzC/iB,EAAK,8BAGP,EAAasY,aAAe,CAC1B3a,OAAQ,KACRrB,GAAI,KACJ+B,QAAS,KACT+tC,aAAc,MCpOD,SAASO,EAAYlyC,GAClC,MCAoB,iBAFe5L,EDElB4L,KCAmC,IAApB5L,EAAEoB,QAAQ,MDCxC+P,EAAK,oDAHM,sCAMNvF,ECNM,IAAsB5L,ECAtB,SAASc,EAAKd,GAC3B,OAAOA,GAAKA,EAAE6pC,WAAW3oC,QAAQ,aAAc,ICGjD,IAAI68C,EAAa,6EAEF,SAASC,EAAYpyC,GAClC,OAAO9K,EAAK8K,GAAQ1K,QAAQ,qCAAqC,SAAU6+B,EAAO96B,EAAOue,GACvF,OAAIve,EAAQ,GAAKA,EAAQ86B,EAAMziC,SAAWkmB,EAAMlmB,QAAUyiC,EAAM8F,OAAOkY,IAAe,GAAiC,MAA5Bv6B,EAAMkI,OAAOzmB,EAAQ,KAAsD,MAAvCue,EAAMkI,OAAOzmB,EAAQ86B,EAAMziC,SAA+C,MAA5BkmB,EAAMkI,OAAOzmB,EAAQ,KAAeue,EAAMkI,OAAOzmB,EAAQ,GAAG4gC,OAAO,UAAY,EACnP9F,EAAMhe,cAEXge,EAAM4H,OAAO,GAAG9B,OAAO,cAAgB,EAClC9F,EAEFA,EAAMrU,OAAO,GAAGsU,cAAgBD,EAAM4H,OAAO,MChBxD,IAAIsW,GAAW,ECAA,SAASC,EAAIl+C,GAC1BkR,QAAQitC,KAAK,aAAcn+C,GCDtB,IAAIo+C,EAAU,GACN,GACbC,MAAOD,EACPE,GAAI,WACF,IAAK,IAAInf,EAAO/pB,UAAU9X,OAAQ6X,EAAO,IAAI/O,MAAM+4B,GAAOC,EAAO,EAAGA,EAAOD,EAAMC,IAC/EjqB,EAAKiqB,GAAQhqB,UAAUgqB,GAEzBgf,EAAQvgD,KAAK,GAAGsJ,OAAOgO,KAEzBopC,WAAY,WACVH,EAAQ9gD,OAAS,ICVjB,EAAY,CAAC,WAAY,SAAU,QAAS,QAAS,iBAAkB,aAC3E,SAAS,EAAyBu0B,EAAQ2C,GACxC,GAAc,MAAV3C,EAAgB,MAAO,GAC3B,IACI1zB,EAAKe,EADL4P,EAaN,SAAuC+iB,EAAQ2C,GAC7C,GAAc,MAAV3C,EAAgB,MAAO,GAC3B,IAEI1zB,EAAKe,EAFL4P,EAAS,GACT2lB,EAAah0B,OAAOmT,KAAKie,GAE7B,IAAK3yB,EAAI,EAAGA,EAAIu1B,EAAWn3B,OAAQ4B,IACjCf,EAAMs2B,EAAWv1B,GACbs1B,EAASpzB,QAAQjD,IAAQ,IAC7B2Q,EAAO3Q,GAAO0zB,EAAO1zB,IAEvB,OAAO2Q,EAvBM,CAA8B+iB,EAAQ2C,GAEnD,GAAI/zB,OAAOmqB,sBAAuB,CAChC,IAAI+J,EAAmBl0B,OAAOmqB,sBAAsBiH,GACpD,IAAK3yB,EAAI,EAAGA,EAAIy1B,EAAiBr3B,OAAQ4B,IACvCf,EAAMw2B,EAAiBz1B,GACnBs1B,EAASpzB,QAAQjD,IAAQ,GACxBsC,OAAOpC,UAAU0pB,qBAAqB1hB,KAAKwrB,EAAQ1zB,KACxD2Q,EAAO3Q,GAAO0zB,EAAO1zB,IAGzB,OAAO2Q,EAcT,SAAS,EAAQhD,EAAQimB,GACvB,IAAIne,EAAOnT,OAAOmT,KAAK9H,GACvB,GAAIrL,OAAOmqB,sBAAuB,CAChC,IAAIoH,EAAUvxB,OAAOmqB,sBAAsB9e,GAC3CimB,IAAmBC,EAAUA,EAAQ1pB,QAAO,SAAU2pB,GACpD,OAAOxxB,OAAOunB,yBAAyBlc,EAAQmmB,GAAK7J,eACjDxU,EAAK/V,KAAKgqB,MAAMjU,EAAMoe,GAE7B,OAAOpe,EAaT,SAAS,EAAgB8U,EAAKvqB,EAAKmE,GAWjC,OAVInE,KAAOuqB,EACTjoB,OAAOooB,eAAeH,EAAKvqB,EAAK,CAC9BmE,MAAOA,EACP8lB,YAAY,EACZ+L,cAAc,EACdC,UAAU,IAGZ1L,EAAIvqB,GAAOmE,EAENomB,EAET,SAAS,EAAQA,GAGf,OAAO,EAAU,mBAAqB7W,QAAU,iBAAmBA,OAAOE,SAAW,SAAU2W,GAC7F,cAAcA,GACZ,SAAUA,GACZ,OAAOA,GAAO,mBAAqB7W,QAAU6W,EAAI2gB,cAAgBx3B,QAAU6W,IAAQ7W,OAAOxT,UAAY,gBAAkBqqB,IAC/GA,GAEb,SAAS81B,EAAmBC,GAC1B,OAgBF,SAA4BA,GAC1B,GAAIr4C,MAAMwf,QAAQ64B,GAAM,OAAOC,EAAkBD,GAjB1CE,CAAmBF,IAa5B,SAA0BG,GACxB,GAAsB,oBAAX/sC,QAAmD,MAAzB+sC,EAAK/sC,OAAOE,WAA2C,MAAtB6sC,EAAK,cAAuB,OAAOx4C,MAAMuhB,KAAKi3B,GAdlFC,CAAiBJ,IAKrD,SAAqCx6C,EAAG0yC,GACtC,IAAK1yC,EAAG,OACR,GAAiB,iBAANA,EAAgB,OAAOy6C,EAAkBz6C,EAAG0yC,GACvD,IAAI72C,EAAIW,OAAOpC,UAAUwrC,SAASxjC,KAAKpC,GAAG1C,MAAM,GAAI,GAC1C,WAANzB,GAAkBmE,EAAEolC,cAAavpC,EAAImE,EAAEolC,YAAY5hC,MACvD,GAAU,QAAN3H,GAAqB,QAANA,EAAa,OAAOsG,MAAMuhB,KAAK1jB,GAClD,GAAU,cAANnE,GAAqB,2CAA2C8oC,KAAK9oC,GAAI,OAAO4+C,EAAkBz6C,EAAG0yC,GAX9CD,CAA4B+H,IAEzF,WACE,MAAM,IAAIjb,UAAU,wIAH2Esb,GAmBjG,SAASJ,EAAkBD,EAAK/5B,IACnB,MAAPA,GAAeA,EAAM+5B,EAAInhD,UAAQonB,EAAM+5B,EAAInhD,QAC/C,IAAK,IAAI4B,EAAI,EAAG6/C,EAAO,IAAI34C,MAAMse,GAAMxlB,EAAIwlB,EAAKxlB,IAC9C6/C,EAAK7/C,GAAKu/C,EAAIv/C,GAEhB,OAAO6/C,EAqBT,IAAIC,EAAkC,oBAAXhyC,QAA8C,oBAAbrO,SACxDsgD,GAAS,EACTC,GAAa,EACbC,GAAY,EACZC,GAA8B,EAC9BC,GAAe,EACf,EAAa,WACf,IAAIC,EACJ,OAAIH,EAAkB,EAAYb,GAAGz2B,MAAM,EAAazS,YACpD4pC,IACChyC,OAAOsxC,IACJgB,EAAUtyC,QAAQsxC,GAAGz2B,MAAMy3B,EAASlqC,WADrBjE,EAAK,0FAG9B,SAASouC,EAAQv/C,GACf,OCjIa,WACb,IAAIA,EAAIoV,UAAU9X,OAAS,QAAsBS,IAAjBqX,UAAU,GAAmBA,UAAU,GAAK,GACxEoqC,EAAYpqC,UAAU9X,OAAS,QAAsBS,IAAjBqX,UAAU,IAAmBA,UAAU,GAC3EqqC,IAAiBrqC,UAAU9X,OAAS,QAAsBS,IAAjBqX,UAAU,KAAmBA,UAAU,GAChFsqC,EAAO1/C,GAAK,GAOhB,OANIw/C,IACFE,EAAO1B,EAAYh+C,IAEjBy/C,IACFC,EAAO5B,EAAY4B,IAEdA,EDsHAC,CAAO3/C,EAAGk/C,EAAYG,GAE/B,SAASO,EAAWrC,GAClB,IAAK,IAAIpe,EAAO/pB,UAAU9X,OAAQ6X,EAAO,IAAI/O,MAAM+4B,EAAO,EAAIA,EAAO,EAAI,GAAIC,EAAO,EAAGA,EAAOD,EAAMC,IAClGjqB,EAAKiqB,EAAO,GAAKhqB,UAAUgqB,GAE7B,IAAIygB,EAAU1qC,EAAK,GAEM,iBAAZ0qC,IAIPT,GAAgCh5C,MAAMwf,QAAQ23B,IAAe,EAAW11B,WAAM,EAAQ1S,GACtF/O,MAAMwf,QAAQ23B,IAChBA,EAAa/+C,SAAQ,SAAUiJ,GAC7B,EAAWogB,WAAM,EAAQ22B,EAAmB,CAAC,GAAGr3C,OAAOM,EAAM,KAAKN,OAAO04C,IAAU14C,OAAOgO,EAAK5T,MAAM,UANvG4P,EAAK,+BAWX,SAAS2uC,EAAYC,EAAchjD,GAC5BgjD,EAIDhjD,IACEA,EAAQijD,QAA2B,IAAlBjjD,EAAQijD,QAC3Bf,GAAS,IAEe,IAAtBliD,EAAQyiD,YACVN,GAAa,IAEa,IAAxBniD,EAAQ+gD,cACVuB,GAAe,GAEbtiD,EAAQkjD,iBAIVljD,GAAWA,EAAQmjD,UACrB,EAAW,SAAUH,EAAchjD,EAAQmjD,WAE3C,EAAW,SAAUH,EAAc,SApBnC5uC,EAAK,4CAuBF,SAASgvC,EAAYC,EAAqBrjD,GAY/C,OAXIqJ,MAAMwf,QAAQw6B,GAChBA,EAAoB5hD,SAAQ,SAAU6hD,GACZ,WAApB,EAAQA,GAIZP,EAAYO,EAAOC,WAAYD,GAH7BlvC,EAAK,oCAMT2uC,EAAYM,EAAqBrjD,IAE5B,EAEF,SAASwjD,EAAWH,EAAqBrjD,GAC9C,GAAIA,IAAgC,IAArBA,EAAQyjD,SACrBrB,GAAY,MACP,CACL,GAAIH,EACF,OAEGjiD,IAA8C,IAAnCA,EAAQ0jD,wBHpMb,YACb,IAAIxC,EAAJ,CACAA,GAAW,EACX,IAAIyC,EAAY,gDACZ3jD,GAAWA,EAAQ2jD,UACrBA,EAAY3jD,EAAQ2jD,UACX3jD,GAAWA,EAAQijD,QAC5BU,EAAY,uDAEd,IAIWxhD,EAAGc,EAAGiE,EAAG/D,EAAGN,EAAGC,EAAGW,EAJzBmgD,EAAU5jD,GAAWA,EAAQ4jD,QAItBzhD,EAUR8N,OAVWhN,EAUHrB,SAVMsF,EAUI,SAVD/D,EAUWwgD,EAVR9gD,EAUmB,KATxCV,EAAyB,sBAAIU,EAC7BV,EAAG,GAAIA,EAAG,IAAK,YACZA,EAAG,GAAEwC,EAAIxC,EAAG,GAAEwC,GAAK,IAAI7D,KAAKuX,YAC5BlW,EAAG,GAAEgF,EAAI,EAAI,IAAI+iC,KACpBpnC,EAAIG,EAAEpB,cAAcqF,GAAIzD,EAAIR,EAAE26C,qBAAqB12C,GAAG,GACtDpE,EAAEuJ,MAAQ,EACVvJ,EAAEyiB,IAAMpiB,EACRL,EAAE8gD,QAAUA,EACZngD,EAAEd,WAAW9B,aAAaiC,EAAGW,IG8K4BogD,CAAO7jD,GAElEqiD,GAA8BriD,GAAyD,kBAAvCA,EAAQ8jD,4BAA2C9jD,EAAQ8jD,2BAC3GV,EAAYC,EAAqBrjD,GAO5B,SAAS,IACd,IAAK,IAAI0tC,EAAQr1B,UAAU9X,OAAQ6X,EAAO,IAAI/O,MAAMqkC,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IACpFv1B,EAAKu1B,GAASt1B,UAAUs1B,GAS1B,OAPIv1B,EAAK7X,OAAS,IAChB,EAAWuqB,WAAM,EAAQ1S,GACrB8pC,IACFf,EAAI,2BACJA,EAAI,mBAAmB/2C,OAAOkL,KAAKI,UAAU0C,OAG1CnI,OAAOsxC,GAST,SAAS34C,EAAIm7C,EAAcvD,GAC3BuD,EAIyB,WAA1B,EAAQA,IAI6B,IAArCrgD,OAAOmT,KAAKktC,GAAcxjD,QAC5B6T,EAAK,wCAEPyuC,EAAWrC,EAAc,MAAOuD,GAC5B7B,IACFf,EAAI,mCACJA,EAAI,sBAAsB/2C,OAAOkL,KAAKI,UAAUquC,OAThD3vC,EAAK,+CAJLA,EAAK,wCAyBF,SAAS4vC,EAAKC,EAAazD,GAChCqC,EAAWrC,EAAc,OAAQyD,GAC7B/B,IACFf,EAAI,mCACJA,EAAI,qBAAqB/2C,OAAOkL,KAAKI,UAAUuuC,KAC/C9C,EAAI,kBAAkB/2C,OAAOkL,KAAKI,UAAU8qC,MAWzC,SAAS0D,EAASC,EAAS3D,EAAc/5B,GAC9C,GAAK09B,EAAL,CAIA,IAAIn3C,EAAOjJ,EAAKogD,GAChB,GAAa,KAATn3C,EAAJ,CAIA,IAAIo3C,EAAc,GAShB,GARE39B,IACF29B,EAAY39B,MAAQA,GAGpBo8B,EAAWrC,EAAc,OAvP7B,SAAuBzuC,GACrB,IAAK,IAAI5P,EAAI,EAAGA,EAAIkW,UAAU9X,OAAQ4B,IAAK,CACzC,IAAI2yB,EAAS,MAAQzc,UAAUlW,GAAKkW,UAAUlW,GAAK,GACnDA,EAAI,EAAI,EAAQuB,OAAOoxB,IAAS,GAAIrzB,SAAQ,SAAUL,GACpD,EAAgB2Q,EAAQ3Q,EAAK0zB,EAAO1zB,OACjCsC,OAAO+yB,0BAA4B/yB,OAAOgzB,iBAAiB3kB,EAAQrO,OAAO+yB,0BAA0B3B,IAAW,EAAQpxB,OAAOoxB,IAASrzB,SAAQ,SAAUL,GAC5JsC,OAAOooB,eAAe/Z,EAAQ3Q,EAAKsC,OAAOunB,yBAAyB6J,EAAQ1zB,OAG/E,OAAO2Q,EA8O4B,CAAc,CAC7CsyC,QAAS,WACTC,KAAMt3C,GACLo3C,IACClC,EAAQ,CACVf,EAAI,wCACJ,IAAIoD,EAAW,GACX99B,IACF89B,EAAW,eAAen6C,OAAOqc,IAEnC06B,EAAI,cAAc/2C,OAAO4C,GAAM5C,OAAOm6C,UAlBxCnwC,EAAK,sDALLA,EAAK,mCAmCF,SAASowC,EAAUC,EAAcjE,GACtC,GAAKiE,EAAL,CAIA,IExTyC51C,EFwTrC61C,EEvT2B,OADU71C,EFwTN9K,EAAK0gD,IEvT7BE,UAAU,EAAG,GACf91C,EAAO81C,UAAU,GAEnB91C,EFqTP,GAAkB,KAAd61C,EAAJ,CAKE,IAAI13C,EAAO,UAAU5C,OAAOs6C,GAC5B7B,EAAWrC,EAAc,OAAQ,WAAYxzC,GACzCk1C,IACFf,EAAI,wCACJA,EAAI,cAAc/2C,OAAO4C,UAR3BoH,EAAK,0EALLA,EAAK,kDA2BF,SAASwwC,IACd,IAAI32C,EAAOoK,UAAU9X,OAAS,QAAsBS,IAAjBqX,UAAU,GAAmBA,UAAU,GAAK,GAC7EwsC,EAAW52C,EAAK42C,SAChBC,EAAW72C,EAAK62C,SAChBv/C,EAAQ0I,EAAK1I,MACb8uC,EAAQpmC,EAAKomC,MACXmM,EAAenoC,UAAU9X,OAAS,QAAsBS,IAAjBqX,UAAU,GAAmBA,UAAU,QAAKrX,EAErF,GAAK6jD,GAAaC,GAA6B,iBAAVv/C,EAArC,CAKA,IAAI0+C,EAAc,CAChBI,QAAS,SACTU,eAAgBvC,EAAQqC,GACxBG,UAAWxC,EAAQsC,GACnBG,YAAa1/C,GAEX8uC,IACF4P,EAAYiB,YAAc1C,EAAQnO,IAEpC2P,EAAKC,EAAazD,QAbhBpsC,EAAK,0GA4BJ,SAAS,KACd,IAAIhF,EAAQiJ,UAAU9X,OAAS,QAAsBS,IAAjBqX,UAAU,GAAmBA,UAAU,GAAK,GAC9EwsC,EAAWz1C,EAAMy1C,SACjB9a,EAAS36B,EAAM26B,OACfsK,EAAQjlC,EAAMilC,MACd9uC,EAAQ6J,EAAM7J,MACd4/C,EAAiB/1C,EAAM+1C,eACvBC,EAAYh2C,EAAMg2C,UAClBhtC,EAAO,EAAyBhJ,EAAO,GACrCoxC,EAAenoC,UAAU9X,OAAS,QAAsBS,IAAjBqX,UAAU,GAAmBA,UAAU,QAAKrX,EAGrF,GAAK6jD,GAAa9a,EAAlB,CAKA,IAAIka,EAAc,CAChBI,QAAS,QACTgB,cAAe7C,EAAQqC,GACvBS,YAAa9C,EAAQzY,IAGnBsK,IACF4P,EAAY1D,WAAaiC,EAAQnO,SAEd,IAAV9uC,IACY,iBAAVA,EACT6O,EAAK,6CAEL6vC,EAAYsB,WAAahgD,QAGC,IAAnB4/C,IACqB,kBAAnBA,EACT/wC,EAAK,4CAEL6vC,EAAYkB,eAAiBA,QAGR,IAAdC,IACgB,iBAAdA,EACThxC,EAAK,wCAEkD,IAAnD,CAAC,SAAU,MAAO,SAAS/P,QAAQ+gD,IACrChxC,EAAK,mFAEP6vC,EAAYmB,UAAYA,IAG5B1hD,OAAOmT,KAAKuB,GAAM7M,QAAO,SAAUnK,GACjC,MAA6C,cAAtCA,EAAIwpC,OAAO,EAAG,YAAYrqC,WAChCkB,SAAQ,SAAUL,GACnB6iD,EAAY7iD,GAAOgX,EAAKhX,MAE1BsC,OAAOmT,KAAKuB,GAAM7M,QAAO,SAAUnK,GACjC,MAA0C,WAAnCA,EAAIwpC,OAAO,EAAG,SAASrqC,WAC7BkB,SAAQ,SAAUL,GACnB6iD,EAAY7iD,GAAOgX,EAAKhX,MAG1B4iD,EAAKC,EAAazD,QAhDhBpsC,EAAK,yDA2DJ,SAASoxC,GAAU91C,EAAO8wC,GAC/B,IAAIiF,EAAc/1C,EAAM+1C,YACtBC,EAAQh2C,EAAMg2C,MAGVzB,EAAc,CAChBI,QAAS,aAGPoB,IACFxB,EAAY0B,cAAgBnD,EAAQiD,SAEjB,IAAVC,IACY,kBAAVA,EACTtxC,EAAK,mCAEL6vC,EAAY2B,QAAUF,GAI1B1B,EAAKC,EAAazD,GAGf,IAAI,GAAS,CAQlB1S,QAAS,SAAiB+X,EAAS7lD,EAAS8lD,GAGxC,GAAKD,EAAL,CAIA,IAAIn7C,EAAO3G,EAAK8hD,GAChB,GAAa,KAATn7C,EAAJ,CAIA,IAAIq7C,EAAgBD,EAAc,GAAG17C,OAAO07C,EAAa,YAAc,UAEvE,GAAI9lD,EAAS,CACX,GAAyB,WAArB,EAAQA,GAEV,YADAoU,EAAK,0CAG6B,IAAhC1Q,OAAOmT,KAAK7W,GAASO,QACvB6T,EAAK,uCAEP,EAAG2xC,EAAer7C,EAAM1K,GACpBkiD,GACFf,EAAI,yBAAyB/2C,OAAOM,EAAM,OAAON,OAAOkL,KAAKI,UAAU1V,UAGzE,EAAG+lD,EAAer7C,GACdw3C,GACFf,EAAI,yBAAyB/2C,OAAOM,EAAM,aApB5C0J,EAAK,uDALLA,EAAK,qCAuCX4xC,QAAS,SAAiBC,EAAYlc,GAGpC,IAFA,IAAImc,EACAC,EACKC,EAAQ/tC,UAAU9X,OAAQ6X,EAAO,IAAI/O,MAAM+8C,EAAQ,EAAIA,EAAQ,EAAI,GAAIC,EAAQ,EAAGA,EAAQD,EAAOC,IACxGjuC,EAAKiuC,EAAQ,GAAKhuC,UAAUguC,GAS5B,GAPkB,IAAhBjuC,EAAK7X,OACP2lD,EAAU9tC,EAAK,IAEf+tC,EAAa/tC,EAAK,GAClB8tC,EAAU9tC,EAAK,IAGW,iBAAf6tC,EACT7xC,EAAK,kDACA,GAAsB,iBAAX21B,EAChB31B,EAAK,6CACA,CACL,IAAI0uC,EAAU,GAAG14C,OAAO67C,EAAY,KAAK77C,OAAO2/B,GAChDmc,EAAUA,GAAW,KACjBC,GAAcD,GAChB,EAAGpD,EAASqD,EAAYD,GACpBhE,IACFf,EAAI,cAAc/2C,OAAO04C,EAAS,QAClC3B,EAAI,gBAAiB/2C,OAAO+7C,EAAY,oBAAqB/7C,OAAOkL,KAAKI,UAAUwwC,OAE5EA,GACT,EAAGpD,EAASoD,GACRhE,IACFf,EAAI,cAAc/2C,OAAO04C,EAAS,QAClC3B,EAAI,iBAAiB/2C,OAAOkL,KAAKI,UAAUwwC,QAG7C,EAAGpD,GACCZ,GACFf,EAAI,cAAc/2C,OAAO04C,EAAS,YAcvC,SAASwD,GAAaluC,EAAMmuC,EAAa/F,GAC9C,GAA2B,mBAAhB+F,EAMT,GAAKnuC,GAASA,EAAKi8B,MAAnB,CAKA,IAAI4P,EAAc,CAChBI,QAAS,QACTgB,cAAe,WACfC,YAAa,QACb/E,WAAYiC,EAAQpqC,EAAKi8B,QAEvBmS,GAAuB,EAWvBlhD,EAAIiZ,YAVa,WAGnBioC,GAAuB,EACvBD,MAMiC,KAOnCtC,EAAYsC,YANiB,WAC3B3hC,aAAatf,GACRkhD,GACHD,KAKJvC,EAAKC,EAAazD,QA9BhBpsC,EAAK,iDANPA,EAAK,oCA2CF,IAAI,GAAc,EACV,IACbovC,WAAYA,EACZjC,GAAI,EACJ34C,IAAKA,EACLo7C,KAAMA,EACNE,SAAUA,EACVM,UAAWA,EACXI,OAAQA,EACR58B,MAAO,GACPw9B,UAAWA,GACXiB,OAAQ,GACRH,aAAcA,GACdI,YAAa,GGlnBf,SAAS,GAAQ33C,EAAQimB,GACvB,IAAIne,EAAOnT,OAAOmT,KAAK9H,GACvB,GAAIrL,OAAOmqB,sBAAuB,CAChC,IAAIoH,EAAUvxB,OAAOmqB,sBAAsB9e,GAC3CimB,IAAmBC,EAAUA,EAAQ1pB,QAAO,SAAU2pB,GACpD,OAAOxxB,OAAOunB,yBAAyBlc,EAAQmmB,GAAK7J,eACjDxU,EAAK/V,KAAKgqB,MAAMjU,EAAMoe,GAE7B,OAAOpe,EAET,SAAS,GAAc9E,GACrB,IAAK,IAAI5P,EAAI,EAAGA,EAAIkW,UAAU9X,OAAQ4B,IAAK,CACzC,IAAI2yB,EAAS,MAAQzc,UAAUlW,GAAKkW,UAAUlW,GAAK,GACnDA,EAAI,EAAI,GAAQuB,OAAOoxB,IAAS,GAAIrzB,SAAQ,SAAUL,GACpD,GAAgB2Q,EAAQ3Q,EAAK0zB,EAAO1zB,OACjCsC,OAAO+yB,0BAA4B/yB,OAAOgzB,iBAAiB3kB,EAAQrO,OAAO+yB,0BAA0B3B,IAAW,GAAQpxB,OAAOoxB,IAASrzB,SAAQ,SAAUL,GAC5JsC,OAAOooB,eAAe/Z,EAAQ3Q,EAAKsC,OAAOunB,yBAAyB6J,EAAQ1zB,OAG/E,OAAO2Q,EAET,SAAS,GAAgB4Z,EAAKvqB,EAAKmE,GAWjC,OAVInE,KAAOuqB,EACTjoB,OAAOooB,eAAeH,EAAKvqB,EAAK,CAC9BmE,MAAOA,EACP8lB,YAAY,EACZ+L,cAAc,EACdC,UAAU,IAGZ1L,EAAIvqB,GAAOmE,EAENomB,EA8BT,EAAoBg7B,cAAgB,EAAoB/F,UACxD,EAAoBA,UAAY,GACzB,IAAI,GAAe,EACX,MAAc,GAAc,GAAI,GAAW,GAAI,CAC5DP,aAAc,K,wBCnCDuG,OA7BM34C,IAAgC,IAA/B,iBAAE44C,EAAmB,IAAI54C,EAC7C,MAAM,KAAE64C,EAAO,GAAE,GAAEC,EAAK,GAAE,IAAEtoC,EAAM,IAAOooC,EACnCG,EAAe/3B,mBAAmB,GAAG63B,EAAOroC,GAkBlD,OAjBAwoC,oBAAU,KAER,MAAMC,EADqBj4B,mBAAmB,GAAG83B,GACT/jB,MACtC,iCAEImkB,EAAkBD,GAAcA,EAAW3mD,OAAS,GAAK2mD,EAAW,GACpEE,EAAUF,GAAcA,EAAW3mD,OAAS,GAAK2mD,EAAW,GAC5DG,EAAgBzlD,SAASC,cAAc,UAK7C,OAJAwlD,EAAclmD,MAAQgmD,EACtBE,EAAcC,UAAYF,EAC1BxlD,SAASoW,KAAKuvC,OAAOF,GAEd,KACLzlD,SAASoW,KAAKpV,YAAYykD,MAK5BxY,IAAAhtC,cAAA,OACEsqC,wBAAyB,CACvBC,OAAQ4a,M,wDCzBT,MAAM1D,GACK,CACdkE,SAAS,EACTC,QAAS,8CAHAnE,GAKmB,CAC5BkE,SAAS,EACTC,QACE,0VAROnE,GAUM,CACfoE,QAAS,sBACTC,MAAO,gBACPC,IAAK,iBCqCIC,GAAqB/vB,wBAAc,IAEzC,SAASgwB,KACd,OAAOt3B,qBAAWq3B,IAGpB,MAAMxvB,GAAWpqB,IAAiC,IAAhC,SAAErI,GAAyBqI,EAC3C,MAAM,EAAC85C,EAAI,EAAEC,GAAWjmC,mBAAS,KAC3B,EAACkmC,EAAc,EAAEC,GAAmBnmC,oBAAS,IAC7C,EAAComC,EAAa,EAAEC,GAAkBrmC,oBAAS,IAC3C,EAACsmC,EAAgB,EAAEC,GAAuBvmC,mBAAS,OACnD,EAACwmC,EAAgB,EAAEC,GACvBzmC,mBAAoC,WAChC,EAACilC,EAAY,EAAEyB,GAAmB1mC,mBAAS,KAC3C,EAAC2mC,EAAW,EAAEC,GAAkB5mC,mBAAS,KACzC,EAAC6mC,EAAkB,EAAEC,GAAyB9mC,mBAAS,KACvD,EAAC+mC,EAAQ,EAAEC,GAAgBhnC,mBAAS,KACpC,EAAC5gB,EAAK,EAAE6nD,GAAYjnC,mBAAS,KAC7B,SAAEknC,GClEK,SAAgBC,GAC7B,MAAM,EAAC79C,EAAK,EAAC89C,GAAWpnC,mBAAS,IAcjC,OAbAklC,oBAAU,KACRmC,MAAMF,GACHj9C,KAAMs+B,GAAQA,EAAI8e,QAClBp9C,KAAMq9C,IACLH,EAAQG,KAGTC,MAAM,KACLJ,EAAQ,CACNK,SAAS,OAGd,CAACN,IACG79C,EDmDco+C,CAAO,mBACtB,SAAEj5C,GAAa+qC,MAActrC,OAAOZ,SAMpCq6C,EAAa,CACjBlC,SAAS,EACTC,QACE,iKACFkC,KAAM,CACJj2C,KAAM,8CACN+S,MAAO,0BACPq6B,IAAK,aACL/uC,OAAQ,SACR63C,KAAM,eAiBJC,EAAiBvG,GA+KvB,OA5GA2D,oBAAU,MACP,iBACKgC,GACFN,EAAe,CACbmB,iBAAgBb,EAASa,eACzBC,aAAcz0C,KAAKC,MAAM0zC,EAASc,cAAgB,MAClDC,OAAQf,EAASe,OACjBC,WAAYhB,EAASgB,WACrBC,mBAAoBjB,EAASiB,mBAC7BC,uBAAwBlB,EAASkB,uBACjCC,SAAUnB,EAASoB,UACnBC,OAAQrB,EAASqB,OACjBC,WAAYtB,EAASsB,aAQrBt6C,QAAUA,OAAOu6C,IACnBtC,GAAgB,GAEhBj4C,OAAOyV,iBAAiB,aAAcrZ,UACpC67C,GAAgB,KAGpB,IACOC,UACGsC,aAAW,CAAEllC,IApLV,+CAqLT6iC,GAAe,IAEjB,MAAOsC,GAEPv2C,QAAQgtC,IAAI,8BAjCf,IAqCA,CAAC8H,IAEJhC,oBAAU,KAAM,IAAA0D,EAEd,MAAMC,EAAcrP,MAAatrC,OAAO46C,iBAAoB,GAG5D,GADApC,EAAgBmC,EAAW/D,kBACvB+D,EAAWE,MAAO,CACpB,MAAMA,EAAQx1C,KAAKC,MAAMq1C,EAAWE,OACpC9B,EAAS8B,EAAM3pD,OAGjB,GAAIypD,EAAWE,MAAO,CACpB,MAAMA,EAAQx1C,KAAKC,MAAMq1C,EAAWE,OACpC9B,EAAS8B,EAAM3pD,OAGjB,MAAM4pD,EAAoC,QAA3BJ,EAAGC,EAAWI,qBAAa,IAAAL,OAAA,EAAxBA,EAA0B/B,mBAC5C,IACEC,EAAsBkC,EAAYz1C,KAAKC,MAAMw1C,GAAarB,GAC1D,MAAOthC,GACPjU,QAAQiU,MAAM,wBAAyB2iC,GAEzCpC,EAAe,CACbmB,iBAAgBc,EAAWd,eAC3BC,aAAcz0C,KAAKC,MAAMq1C,EAAWb,cAAgB,MACpDC,OAAQY,EAAWZ,OACnBC,WAAYW,EAAWX,WACvBC,mBAAoBU,EAAWV,mBAC/BC,uBAAwBS,EAAWT,uBACnCG,OAAQM,EAAWN,OACnBF,SAAUQ,EAAWP,UACrBE,WAAYK,EAAWL,cAExB,IAEHtD,oBAAU,KAER,MAAM2D,EAAcrP,MAAatrC,OAAO46C,iBAAoB,GAE5D,IAAIE,EACAE,EAEiD,IAAAC,EAArD,GAAI16C,EAASnM,QAAQ,2BAA6B,EAChD0mD,EAAoC,QAA3BG,EAAGN,EAAWI,qBAAa,IAAAE,OAAA,EAAxBA,EAA0BC,uBACtCF,EAAoBpB,OACf,GAAIr5C,EAASw1B,SAAS,4BAC3BilB,EAAoB3H,QACf,GAAiB,UAAb9yC,GAAqC,WAAbA,EAAuB,KAAA46C,EACxDL,EAAoC,QAA3BK,EAAGR,EAAWI,qBAAa,IAAAI,OAAA,EAAxBA,EAA0BxC,mBACtCqC,EAAoBvB,OAEpBqB,EAAY,GACZE,EAAoB,CAClBzD,SAAS,GAIb,IACEqB,EACEkC,EAAYz1C,KAAKC,MAAMw1C,GAAaE,GAEtC,MAAO7iC,GACPjU,QAAQiU,MAAM,wBAAyB2iC,KAExC,CAACv6C,IAEJ66C,GAAQ7H,WAAWF,GAAuBqE,OAIxC9Y,IAAAhtC,cAACgmD,GAAmBxvB,SAAQ,CAC1B9yB,MAAO,CACLwiD,OACAC,QA5Ka,SAAC38C,GAAc,IAAAk3C,OAAV,IAAJl3C,MAAO,IAGzB28C,EAAQ38C,GAKR,MAAM,uBAAEigD,EAAsB,YAAEC,GAAgBlgD,EAM5CigD,GAAgC,QAAV/I,EAAItyC,cAAM,IAAAsyC,GAANA,EAAQiJ,MAEpCv7C,OAAOu7C,KAAKC,KAAOH,EACnBr7C,OAAOu7C,KAAKE,KAAOH,GAKVD,GACTr7C,OAAOyV,iBAAiB,WAAYrZ,UAElC4D,OAAOu7C,KAAKC,KAAOH,EACnBr7C,OAAOu7C,KAAKE,KAAOH,KAmJnBI,gBAtIqB,SAACtgD,GAAc,IAAAugD,EAEdC,EAAAC,EAAAC,QAFI,IAAJ1gD,MAAO,IAE7BA,GAAc,QAAVugD,EAAI37C,cAAM,IAAA27C,GAANA,EAAQJ,OAElBv7C,OAAOu7C,KAAKQ,cAAoB,QAAPH,EAAGxgD,SAAI,IAAAwgD,OAAA,EAAJA,EAAMG,cAElC/7C,OAAOu7C,KAAKS,gBAAsB,QAAPH,EAAGzgD,SAAI,IAAAygD,OAAA,EAAJA,EAAMG,gBAEpCh8C,OAAOu7C,KAAKU,mBAAyB,QAAPH,EAAG1gD,SAAI,IAAA0gD,OAAA,EAAJA,EAAMG,oBAC9B7gD,GACT4E,OAAOyV,iBAAiB,WAAYrZ,UAAY,IAAA8/C,EAAAC,EAAAC,EAE9Cp8C,OAAOu7C,KAAKQ,cAAoB,QAAPG,EAAG9gD,SAAI,IAAA8gD,OAAA,EAAJA,EAAMH,cAElC/7C,OAAOu7C,KAAKS,gBAAsB,QAAPG,EAAG/gD,SAAI,IAAA+gD,OAAA,EAAJA,EAAMH,gBAEpCh8C,OAAOu7C,KAAKU,mBAAyB,QAAPG,EAAGhhD,SAAI,IAAAghD,OAAA,EAAJA,EAAMH,sBAuHvCjE,iBACAE,gBACAC,iBACAC,mBACAiE,uBAnJ0BC,IAC9BjE,EAAoBiE,IAmJhBhE,mBACAiE,uBAjJ0BC,IAC9BjE,EAAoBiE,IAiJhBxD,WACAyD,aACA5D,WACA6D,YA7NeC,IACnB7D,EAAa6D,IA6NTC,WA7Maz9C,IAAqB,IAApB,OAAE09C,GAAa19C,EACxBi8C,GAAQ9J,IACjBA,CAAG,OAAQ,WAAYuL,IA4MnBC,YArMcr9C,IAAqB,IAApB,OAAEo9C,GAAap9C,EAClC27C,GAAQrjC,MAAM8kC,IAqMVpE,cACAE,qBACAznD,UAGDyE,EACDipC,IAAAhtC,cAAC+kD,GAAY,CAACC,iBAAkBG,MAWvBgG,IANWC,IAAA,IAAC,QAAExkD,GAAcwkD,EAAA,OACzCpe,IAAAhtC,cAACm6C,KAAa,CAAC30B,MAAO6lC,MACpBre,IAAAhtC,cAACw2B,GAAQ,KAAE5vB,M,kCEpTR,SAAS2gC,IACd,QACoB,oBAAXn5B,SACPA,OAAOrO,WACPqO,OAAOrO,SAASC,eAJpB,mC,kCCEA,IAAIsrD,EAA0B,EAAQ,QAElCxgD,EAAyB,EAAQ,QAErCC,EAAQC,YAAa,EACrBD,EAAQoqB,cAAgBpqB,EAAQ8jB,mBAAgB,EAEhD,IAAIpjB,EAA0BX,EAAuB,EAAQ,SAEzDY,EAAkBZ,EAAuB,EAAQ,SAEjDkiC,EAAQse,EAAwB,EAAQ,SAExC1/C,EAAad,EAAuB,EAAQ,SAE5CygD,EAAkB,EAAQ,QAE1B18B,EAA6Bme,EAAM/W,cAAc,IAAIs1B,EAAgBn4C,gBACzErI,EAAQ8jB,cAAgBA,EACxBA,EAAc/D,YAAc,sBAE5B,IAAIqK,EAA6B,SAAUxnB,GAGzC,SAASwnB,IAGP,IAFA,IAAI/2B,EAEKmiC,EAAO/pB,UAAU9X,OAAQ6X,EAAO,IAAI/O,MAAM+4B,GAAOC,EAAO,EAAGA,EAAOD,EAAMC,IAC/EjqB,EAAKiqB,GAAQhqB,UAAUgqB,GAuCzB,OApCApiC,EAAQuP,EAAiBlG,KAAKwhB,MAAMtb,EAAkB,CAACtP,MAAMkK,OAAOgO,KAAUlY,MACxEmtD,cAAgB,IAAID,EAAgBn4C,eAE1ChV,EAAMqtD,eAAiB,WACrB,IAAIlsD,EAAMnB,EAAM0F,MAAM0J,SAASjO,IAE3BA,GACFnB,EAAMotD,cAAc73C,KAAKvV,EAAM0F,MAAM0J,SAAUjO,EAAK6O,OAAOs9C,UAI/DttD,EAAMutD,aAAe,SAAU58B,EAAU7f,GACnC9Q,EAAMwtD,mBAAmB18C,EAAW9Q,EAAM0F,QAC5CsK,OAAO4gB,SAAS,EAAGD,IAIvB3wB,EAAMytD,aAAe,SAAU3kB,EAAMh4B,GACnC,IAAIxH,EAAO3H,SAASkhB,eAAeimB,EAAK4b,UAAU,IAE9Cp7C,GAAQtJ,EAAMwtD,mBAAmB18C,EAAW9Q,EAAM0F,QACpD4D,EAAK4U,kBAITle,EAAMwtD,mBAAqB,SAAUE,EAAiBC,GACpD,IAAIH,EAAqBxtD,EAAM0F,MAAM8nD,mBAErC,OAAKA,GAKEA,EAAmBnkD,MAAK,EAAIgE,EAAwBF,SAASnN,GAAQ0tD,EAAiBC,IAGxF3tD,GA7CT,EAAIsN,EAAgBH,SAAS4pB,EAAexnB,GAgD5C,IAAInO,EAAS21B,EAAc11B,UAwD3B,OAtDAD,EAAO4P,kBAAoB,WAEzB,IAAI48C,EADJ59C,OAAOyV,iBAAiB,SAAUxlB,KAAKotD,gBAEvC,IAAIQ,EAAuB5tD,KAAKyF,MAAM0J,SAClCjO,EAAM0sD,EAAqB1sD,IAC3B2nC,EAAO+kB,EAAqB/kB,KAE5B3nC,IACFysD,EAAiB3tD,KAAKmtD,cAAcniD,KAAKhL,KAAKyF,MAAM0J,SAAUjO,IAG5DysD,EACF3tD,KAAKstD,aAAaK,OAAgB7sD,GACzB+nC,GACT7oC,KAAKwtD,aAAarkB,UAAUN,QAAO/nC,IAIvCK,EAAO6P,qBAAuB,WAC5BjB,OAAO+V,oBAAoB,SAAU9lB,KAAKotD,iBAG5CjsD,EAAOyP,mBAAqB,SAA4BC,GACtD,IAGI88C,EAHAE,EAAwB7tD,KAAKyF,MAAM0J,SACnC05B,EAAOglB,EAAsBhlB,KAC7B3nC,EAAM2sD,EAAsB3sD,IAG5BA,IACFysD,EAAiB3tD,KAAKmtD,cAAcniD,KAAKhL,KAAKyF,MAAM0J,SAAUjO,IAY5D2nC,EACF7oC,KAAKwtD,aAAarkB,UAAUN,GAAOh4B,GAEnC7Q,KAAKstD,aAAaK,EAAgB98C,IAItC1P,EAAO8Q,OAAS,WACd,OAAoB08B,EAAMhtC,cAAc6uB,EAAc2H,SAAU,CAC9D9yB,MAAOrF,KAAKmtD,eACXntD,KAAKyF,MAAMC,WAGToxB,EAzGwB,CA0G/B6X,EAAMl7B,WAER/G,EAAQoqB,cAAgBA,EACxBA,EAAcpjB,UAAY,CACxB65C,mBAAoBhgD,EAAWL,QAAQyG,KACvCjO,SAAU6H,EAAWL,QAAQ3E,QAAQqL,WACrCzE,SAAU5B,EAAWL,QAAQ2B,OAAO+E,a,kCCvItC,oFAmCO,MAAMynC,EAAYnS,cAEZ4kB,EAAYC,GACtBA,EAAY,QAAKjtD,G,oECtCpB,IAAIktD,EAAe,CACjBC,wBAAyB,EACzBC,YAAa,EACbC,kBAAmB,EACnBC,iBAAkB,EAClBC,iBAAkB,EAClBC,QAAS,EACTC,aAAc,EACdC,gBAAiB,EACjBC,YAAa,EACbC,QAAS,EACTC,KAAM,EACNC,SAAU,EACVC,aAAc,EACdC,WAAY,EACZC,aAAc,EACdC,UAAW,EACXC,QAAS,EACTC,WAAY,EACZC,YAAa,EACbC,aAAc,EACdC,WAAY,EACZC,cAAe,EACfC,eAAgB,EAChBC,gBAAiB,EACjBC,UAAW,EACXC,cAAe,EACfC,aAAc,EACdC,iBAAkB,EAClBtb,WAAY,EACZD,WAAY,EACZwb,QAAS,EACTC,MAAO,EACPC,QAAS,EACTC,QAAS,EACTC,OAAQ,EACRC,OAAQ,EACRC,KAAM,EACNC,gBAAiB,EAEjBC,YAAa,EACbC,aAAc,EACdC,YAAa,EACbC,gBAAiB,EACjBC,iBAAkB,EAClBC,iBAAkB,EAClBC,cAAe,EACfC,YAAa,G,YC1CXC,EAAiB,aACjBC,EAAiB,8BACjBC,EAAmB,SAA0BC,GAC/C,OAAkC,KAA3BA,EAAS5sD,WAAW,IAEzB6sD,EAAqB,SAA4B5rD,GACnD,OAAgB,MAATA,GAAkC,kBAAVA,GAE7B6rD,EAAkC,aAAQ,SAAUC,GACtD,OAAOJ,EAAiBI,GAAaA,EAAYA,EAAUltD,QAAQ4sD,EAAgB,OAAO/rC,iBAExF,EAAoB,SAA2B5jB,EAAKmE,GACtD,OAAQnE,GACN,IAAK,YACL,IAAK,gBAED,GAAqB,iBAAVmE,EACT,OAAOA,EAAMpB,QAAQ6sD,GAAgB,SAAUhuB,EAAOsuB,EAAIC,GAMxD,OALAC,EAAS,CACP9mD,KAAM4mD,EACN9mD,OAAQ+mD,EACRrlB,KAAMslB,GAEDF,KAKjB,OAAsB,IAAlB,EAASlwD,IAAe6vD,EAAiB7vD,IAAyB,iBAAVmE,GAAgC,IAAVA,EAG3EA,EAFEA,EAAQ,MA4BnB,SAASksD,EAAoBC,EAAa/mD,EAAYgnD,GACpD,GAAqB,MAAjBA,EACF,MAAO,GAET,QAAuC3wD,IAAnC2wD,EAAcC,iBAIhB,OAAOD,EAET,cAAeA,GACb,IAAK,UAED,MAAO,GAEX,IAAK,SAED,GAA2B,IAAvBA,EAAc9kB,KAMhB,OALA2kB,EAAS,CACP9mD,KAAMinD,EAAcjnD,KACpBF,OAAQmnD,EAAcnnD,OACtB0hC,KAAMslB,GAEDG,EAAcjnD,KAEvB,QAA6B1J,IAAzB2wD,EAAcnnD,OAAsB,CACtC,IAAI0hC,EAAOylB,EAAczlB,KACzB,QAAalrC,IAATkrC,EAGF,UAAgBlrC,IAATkrC,GACLslB,EAAS,CACP9mD,KAAMwhC,EAAKxhC,KACXF,OAAQ0hC,EAAK1hC,OACb0hC,KAAMslB,GAERtlB,EAAOA,EAAKA,KAOhB,OAJaylB,EAAcnnD,OAAS,IAMtC,OAmCR,SAAgCknD,EAAa/mD,EAAYghB,GACvD,IAAI9c,EAAS,GACb,GAAIxF,MAAMwf,QAAQ8C,GAChB,IAAK,IAAIxpB,EAAI,EAAGA,EAAIwpB,EAAIprB,OAAQ4B,IAC9B0M,GAAU4iD,EAAoBC,EAAa/mD,EAAYghB,EAAIxpB,IAAM,SAGnE,IAAK,IAAIkgC,KAAQ1W,EAAK,CACpB,IAAIpmB,EAAQomB,EAAI0W,GAChB,GAAqB,iBAAV98B,EACS,MAAdoF,QAA4C3J,IAAtB2J,EAAWpF,GACnCsJ,GAAUwzB,EAAO,IAAM13B,EAAWpF,GAAS,IAClC4rD,EAAmB5rD,KAC5BsJ,GAAUuiD,EAAiB/uB,GAAQ,IAAM,EAAkBA,EAAM98B,GAAS,UAM5E,IAAI8D,MAAMwf,QAAQtjB,IAA8B,iBAAbA,EAAM,IAAkC,MAAdoF,QAA+C3J,IAAzB2J,EAAWpF,EAAM,IAM7F,CACL,IAAIssD,EAAeJ,EAAoBC,EAAa/mD,EAAYpF,GAChE,OAAQ88B,GACN,IAAK,YACL,IAAK,gBAEDxzB,GAAUuiD,EAAiB/uB,GAAQ,IAAMwvB,EAAe,IACxD,MAEJ,QAKIhjD,GAAUwzB,EAAO,IAAMwvB,EAAe,UAnB5C,IAAK,IAAIC,EAAK,EAAGA,EAAKvsD,EAAMhF,OAAQuxD,IAC9BX,EAAmB5rD,EAAMusD,MAC3BjjD,GAAUuiD,EAAiB/uB,GAAQ,IAAM,EAAkBA,EAAM98B,EAAMusD,IAAO,KAwB1F,OAAOjjD,EAjFMkjD,CAAuBL,EAAa/mD,EAAYgnD,GAE3D,IAAK,WAED,QAAoB3wD,IAAhB0wD,EAA2B,CAC7B,IAAIM,EAAiBR,EACjB7lB,EAASgmB,EAAcD,GAE3B,OADAF,EAASQ,EACFP,EAAoBC,EAAa/mD,EAAYghC,GAItD,MAEJ,IAAK,UAeP,GAAkB,MAAdhhC,EACF,OAAOgnD,EAET,IAAIM,EAAStnD,EAAWgnD,GACxB,YAAkB3wD,IAAXixD,EAAuBA,EAASN,EAkDzC,IAOIH,EAPAU,EAAe,iCAQnB,IAAI,EAAkB,SAAyB95C,EAAMzN,EAAY+mD,GAC/D,GAAoB,IAAhBt5C,EAAK7X,QAAmC,iBAAZ6X,EAAK,IAA+B,OAAZA,EAAK,SAAkCpX,IAAnBoX,EAAK,GAAG5N,OAClF,OAAO4N,EAAK,GAEd,IAAI+5C,GAAa,EACb3nD,EAAS,GACbgnD,OAASxwD,EACT,IAAIoxD,EAAUh6C,EAAK,GACJ,MAAXg6C,QAAmCpxD,IAAhBoxD,EAAQC,KAC7BF,GAAa,EACb3nD,GAAUinD,EAAoBC,EAAa/mD,EAAYynD,IAKvD5nD,GAAU4nD,EAAQ,GAGpB,IAAK,IAAIjwD,EAAI,EAAGA,EAAIiW,EAAK7X,OAAQ4B,IAC/BqI,GAAUinD,EAAoBC,EAAa/mD,EAAYyN,EAAKjW,IACxDgwD,IAIF3nD,GAAU4nD,EAAQjwD,IAWtB+vD,EAAaI,UAAY,EAIzB,IAHA,IACItvB,EADAuvB,EAAiB,GAG0B,QAAvCvvB,EAAQkvB,EAAajuD,KAAKuG,KAChC+nD,GAAkB,IAElBvvB,EAAM,GAeR,MAAO,CACLt4B,KC7PJ,SAAiBq6B,GAWf,IALA,IAEIzhC,EAFAJ,EAAI,EAGNf,EAAI,EACJwlB,EAAMod,EAAIxkC,OACLonB,GAAO,IAAKxlB,EAAGwlB,GAAO,EAE3BrkB,EACe,YAAV,OAFLA,EAAwB,IAApByhC,EAAIzgC,WAAWnC,IAAmC,IAAtB4iC,EAAIzgC,aAAanC,KAAc,GAA2B,IAAtB4iC,EAAIzgC,aAAanC,KAAc,IAA4B,IAAtB4iC,EAAIzgC,aAAanC,KAAc,MAE9F,OAAZmB,IAAM,KAAgB,IAGpDJ,EACe,YAAV,OAHLI,GACAA,IAAM,MAEoC,OAAZA,IAAM,KAAgB,IACrC,YAAV,MAAJJ,IAAyC,OAAZA,IAAM,KAAgB,IAGtD,OAAQykB,GACN,KAAK,EACHzkB,IAA8B,IAAxB6hC,EAAIzgC,WAAWnC,EAAI,KAAc,GACzC,KAAK,EACHe,IAA8B,IAAxB6hC,EAAIzgC,WAAWnC,EAAI,KAAc,EACzC,KAAK,EAEHe,EACe,YAAV,OAFLA,GAAyB,IAApB6hC,EAAIzgC,WAAWnC,MAEsB,OAAZe,IAAM,KAAgB,IAOxD,SAFAA,EACe,YAAV,OAFLA,GAAKA,IAAM,MAE+B,OAAZA,IAAM,KAAgB,KACvCA,IAAM,MAAQ,GAAG4pC,SAAS,ID0M5B,CAAWtiC,GAAU+nD,EAe9B/nD,OAAQA,EACR0hC,KAAMslB,K,kCElQV,sCAMI37C,EAAiBC,EAAkBC,EAAkBC,EAAkBC,EAAkBC,EAAkBC,EAN/G,oFA4CA,IAAIiG,EAAY,CAAC,KAAM,YAAa,UAAW,OAAQ,oBACnDo2C,EAAiB,SAAUvkD,GAC7B,IAAIyzB,EAAUzzB,EAAK4Q,GACjBA,OAAiB,IAAZ6iB,EAAqB,IAAMA,EAChC7xB,EAAY5B,EAAK4B,UACjBwqB,EAAUpsB,EAAKosB,QACftb,EAAO9Q,EAAK8Q,KACZsH,EAAmBpY,EAAKoY,iBACxBzT,EAAO,YAAyB3E,EAAMmO,GACpCxF,EAAS,cACT4G,EAAU,mBAAQ,WACpB,OAhDJ,SAAgB5G,GAEd,IAAKlT,OAAOmT,KAAKD,GAAQrW,OAEvB,OADA4T,QAAQC,KAAK,qGACN,GAET,IAAIq+C,EAAsB77C,EAAO67C,oBAC/BC,EAA0B97C,EAAO87C,wBACjCC,EAAkB/7C,EAAO+7C,gBACzBj3C,EAAkB9E,EAAO8E,gBACzBk3C,EAAkBh8C,EAAOg8C,gBACzBC,EAAkBj8C,EAAOi8C,gBACzB90B,EAA6BnnB,EAAOmnB,2BAClC+0B,EAAgB,YAAUj9C,IAAoBA,EAAkB,YAAuB,CAAC,8DAE1FsrB,EADgB,YAAWvqB,GACAuqB,aAY7B,MAAO,CACL9yB,KAZS,YAAIyH,IAAqBA,EAAmB,YAAuB,CAAC,kDAAmD,kBAAmB,iBAAkB,qBAAsB,qCAAsC,mIAAoI68C,EAAiBA,EAAiBF,EAAqBK,EAAe/0B,GAa3ag1B,OAXW,YAAIh9C,IAAqBA,EAAmB,YAAuB,CAAC,qCAAsC,kBAAmB,WAAY48C,EAAiBA,GAYrKK,OAVW,YAAIh9C,IAAqBA,EAAmB,YAAuB,CAAC,qCAAsC,kBAAmB,WAAY0F,EAAiBA,GAWrKu3C,OATW,YAAIh9C,IAAqBA,EAAmB,YAAuB,CAAC,qCAAsC,kBAAmB,WAAY28C,EAAiBA,GAUrKM,OARW,YAAIh9C,IAAqBA,EAAmB,YAAuB,CAAC,qCAAsC,kBAAmB,WAAY28C,EAAiBA,GASrKx4B,QAPY,YAAIlkB,IAAqBA,EAAmB,YAAuB,CAAC,qCAAsC,WAAYu8C,GAQlIvxB,aAAcA,GAcP32B,CAAOoM,KACb,CAACA,IACAu8C,EAAgB,CAClBC,GAAI51C,EAAQu1C,OAEZva,GAAI,GACJ6a,GAAI71C,EAAQw1C,OACZva,GAAIj7B,EAAQy1C,OACZK,GAAI91C,EAAQ01C,QAEVlxB,EAAS,CAACxkB,EAAQnP,KAAMgsB,GAAW7c,EAAQ6c,QAAS84B,EAAcp0C,IACtE,OAAO,YAAIF,EAAI,YAAS,CACtBJ,IAAKujB,EACLnyB,UAAWA,EACX,iBAAkB,0BACjB+C,EAAM,CACP8L,KAAM,UACJ,YAAI,OAAQ,CACdD,IAAKjB,EAAQ2jB,aACb,YAAa,QACZ9a,M,kCC3EL,kDACe,SAASmR,EAAyB1C,EAAQ2C,GACvD,GAAc,MAAV3C,EAAgB,MAAO,GAC3B,IACI1zB,EAAKe,EADL4P,EAAS,YAA6B+iB,EAAQ2C,GAElD,GAAI/zB,OAAOmqB,sBAAuB,CAChC,IAAI+J,EAAmBl0B,OAAOmqB,sBAAsBiH,GACpD,IAAK3yB,EAAI,EAAGA,EAAIy1B,EAAiBr3B,OAAQ4B,IACvCf,EAAMw2B,EAAiBz1B,GACnBs1B,EAASpzB,QAAQjD,IAAQ,GACxBsC,OAAOpC,UAAU0pB,qBAAqB1hB,KAAKwrB,EAAQ1zB,KACxD2Q,EAAO3Q,GAAO0zB,EAAO1zB,IAGzB,OAAO2Q,I,kCCbT,IAAIwhD,EAAe,EAAQ,QAEvBC,EAAcD,EAAar/B,IAI/Bvf,EAAO/H,QAAU2mD,EAAaE,WAAa,SAAUjrC,GACnD,MAA0B,mBAAZA,GAA0BA,IAAagrC,GACnD,SAAUhrC,GACZ,MAA0B,mBAAZA,I,kCCVhB,gBAMe,MAAW,G,kCCN1B,qHAEO,MAAMkrC,EAAiB/nC,IAC5B,IAAIgoC,EAAS/xD,SAASkhB,eAAe,qBACjC6wC,GACFA,EAAO7xD,aAAa,WAAY6pB,EAAItc,SAASmB,WAIpCojD,EAAkBv7B,K,kCCR/B,IAAImkB,EAAc,EAAQ,QACtBC,EAAW,EAAQ,QAEnB7qC,EAAiB4qC,EAAY,GAAG5qC,gBAKpC+C,EAAO/H,QAAUlJ,OAAOgxB,QAAU,SAAgB9f,EAAIxT,GACpD,OAAOwQ,EAAe6qC,EAAS7nC,GAAKxT,K,kCCTtC,IAAIgvB,EAAoB,EAAQ,QAE5ByjC,EAAaptB,UAIjB9xB,EAAO/H,QAAU,SAAUgI,GACzB,GAAIwb,EAAkBxb,GAAK,MAAMi/C,EAAW,wBAA0Bj/C,GACtE,OAAOA,I,oCCRT,IAAIyT,EAAS,EAAQ,QACjB4C,EAA2B,EAAQ,QAAmDhkB,EACtF6sD,EAA8B,EAAQ,QACtCC,EAAgB,EAAQ,QACxBC,EAAuB,EAAQ,QAC/BC,EAA4B,EAAQ,QACpCC,EAAW,EAAQ,QAiBvBv/C,EAAO/H,QAAU,SAAU5M,EAAS80B,GAClC,IAGY/iB,EAAQ3Q,EAAK+yD,EAAgBC,EAAgBhpC,EAHrDipC,EAASr0D,EAAQ+R,OACjBuiD,EAASt0D,EAAQqoB,OACjBksC,EAASv0D,EAAQw0D,KASrB,GANEziD,EADEuiD,EACOjsC,EACAksC,EACAlsC,EAAOgsC,IAAWL,EAAqBK,EAAQ,KAE9ChsC,EAAOgsC,IAAW,IAAI/yD,UAEtB,IAAKF,KAAO0zB,EAAQ,CAQ9B,GAPAs/B,EAAiBt/B,EAAO1zB,GAGtB+yD,EAFEn0D,EAAQy0D,gBACVrpC,EAAaH,EAAyBlZ,EAAQ3Q,KACfgqB,EAAW7lB,MACpBwM,EAAO3Q,IACtB8yD,EAASI,EAASlzD,EAAMizD,GAAUE,EAAS,IAAM,KAAOnzD,EAAKpB,EAAQ00D,cAE5C1zD,IAAnBmzD,EAA8B,CAC3C,UAAWC,UAAyBD,EAAgB,SACpDF,EAA0BG,EAAgBD,IAGxCn0D,EAAQ+U,MAASo/C,GAAkBA,EAAep/C,OACpD++C,EAA4BM,EAAgB,QAAQ,GAEtDL,EAAchiD,EAAQ3Q,EAAKgzD,EAAgBp0D,M,kCCnD/C,IAAI20D,EAAsB,EAAQ,QAE9BtxC,EAAMjgB,KAAKigB,IACXD,EAAMhgB,KAAKggB,IAKfzO,EAAO/H,QAAU,SAAU1E,EAAO3H,GAChC,IAAIq0D,EAAUD,EAAoBzsD,GAClC,OAAO0sD,EAAU,EAAIvxC,EAAIuxC,EAAUr0D,EAAQ,GAAK6iB,EAAIwxC,EAASr0D,K,gsBCL/D,IACMs0D,EAAY,SAAArlD,GAAA,SAAAqlD,IAAA,OAAArlD,EAAAsb,MAAA,KAAAzS,YAAA,KAiCf,OAjCey8C,YAAAD,EAAArlD,GAAAqlD,EAAAvzD,UAChB6Q,OAAA,WACE,MAAMxM,EAAKgxB,IAAA,GACNz2B,KAAKyF,OAAK,IACbqqB,OAAM2G,IAAA,GACD5G,YAAgB7vB,KAAKyF,MAAM0J,SAASmB,WACpCtQ,KAAKyF,MAAMovD,cAAc1L,KAAK2L,YAAYC,UAE/CC,YAAah1D,KAAKyF,MAAMqvD,eAGnBG,GAAsBC,oBAAU,2BAA4B,CACjEzvD,MAAOzF,KAAKyF,MACZ0vD,OAAQC,iBAGJC,EACJJ,GACAtzD,wBAAc3B,KAAKyF,MAAMovD,cAAcvnC,UAASmJ,IAAA,GAC3ChxB,GAAK,IACRvE,IAAKlB,KAAKyF,MAAMqH,MAAQ9M,KAAKyF,MAAMovD,cAAczQ,KAAKt3C,QAY1D,OAToBooD,oBAAU,kBAE5B,CAAE3sD,QAAS8sD,EAAa5vD,SACxB4vD,EACAtnD,IAAiB,IAAhB,OAAE09B,GAAQ19B,EACT,MAAO,CAAExF,QAASkjC,EAAQhmC,WAE5B6vD,OAGHX,EAjCe,CAAShmB,IAAMl7B,WA2ClBkhD,O,kCCjDf,IAAIY,EAAqB,EAAQ,QAG7BC,EAFc,EAAQ,QAEGtrD,OAAO,SAAU,aAK9CwC,EAAQ3F,EAAIvD,OAAOkqB,qBAAuB,SAA6B/pB,GACrE,OAAO4xD,EAAmB5xD,EAAG6xD,K,kCCV/B,uBACe,WACb7mB,U,kCCFa,SAASkR,EAAuBtxB,GAC7C,QAAa,IAATA,EACF,MAAM,IAAIuxB,eAAe,6DAE3B,OAAOvxB,EAJT,mC,gMCIe,SAASgzB,EAAmBC,GACzC,OCJa,SAA4BA,GACzC,GAAIr4C,MAAMwf,QAAQ64B,GAAM,OAAO,OAAAiU,EAAA,GAAiBjU,GDGzC,CAAkBA,IELZ,SAA0BG,GACvC,GAAsB,oBAAX/sC,QAAmD,MAAzB+sC,EAAK/sC,OAAOE,WAA2C,MAAtB6sC,EAAK,cAAuB,OAAOx4C,MAAMuhB,KAAKi3B,GFInF,CAAgBH,IAAQ,OAAAkU,EAAA,GAA2BlU,IGLvE,WACb,MAAM,IAAIjb,UAAU,wIHIwE,K,kCIJ9F,IAOIzD,EAAO9uB,EAPPmU,EAAS,EAAQ,QACjBwtC,EAAY,EAAQ,QAEpBC,EAAUztC,EAAOytC,QACjBC,EAAO1tC,EAAO0tC,KACdC,EAAWF,GAAWA,EAAQE,UAAYD,GAAQA,EAAK7hD,QACvD+hD,EAAKD,GAAYA,EAASC,GAG1BA,IAIF/hD,GAHA8uB,EAAQizB,EAAGlsD,MAAM,MAGD,GAAK,GAAKi5B,EAAM,GAAK,EAAI,IAAMA,EAAM,GAAKA,EAAM,MAK7D9uB,GAAW2hD,MACd7yB,EAAQ6yB,EAAU7yB,MAAM,iBACVA,EAAM,IAAM,MACxBA,EAAQ6yB,EAAU7yB,MAAM,oBACb9uB,GAAW8uB,EAAM,IAIhCruB,EAAO/H,QAAUsH,G,kCC3BjB,2UAIIlG,EAAa,SAAoBa,EAAQi6B,GAC3C,OAAOj6B,EAAO+7B,OAAO,EAAG9B,EAAOvoC,UAAYuoC,GAwBzClZ,EAAO,SAAcsmC,EAAQlrB,GAW/B,IAVA,IAAIhI,OAAQ,EACRmzB,OAAW,EAGXC,EADaprB,EAAIjhC,MAAM,KACE,GAEzBssD,EAAcC,EAAWF,GACzBG,EAA+B,KAAnBF,EAAY,GACxBG,EAASC,EAAWP,GAEf/zD,EAAI,EAAGgF,EAAIqvD,EAAOj2D,OAAQ4B,EAAIgF,EAAGhF,IAAK,CAC7C,IAAIu0D,GAAS,EACT5mC,EAAQ0mC,EAAOr0D,GAAG2tB,MAEtB,GAAIA,EAAM1iB,QACR+oD,EAAW,CACTrmC,MAAOA,EACPE,OAAQ,GACRgb,IAAKA,OAJT,CAcA,IALA,IAAI2rB,EAAgBL,EAAWxmC,EAAM9iB,MACjCgjB,EAAS,GACT3M,EAAMjgB,KAAKigB,IAAIgzC,EAAY91D,OAAQo2D,EAAcp2D,QACjD2H,EAAQ,EAELA,EAAQmb,EAAKnb,IAAS,CAC3B,IAAI0uD,EAAeD,EAAczuD,GAC7B2uD,EAAaR,EAAYnuD,GAE7B,GAAI4uD,EAAQF,GAAe,CAKzB5mC,EADY4mC,EAAapyD,MAAM,IAAM,KACrB6xD,EAAY7xD,MAAM0D,GAAOrD,IAAIoqB,oBAAoBnqB,KAAK,KACtE,MAGF,QAAmB9D,IAAf61D,EAA0B,CAI5BH,GAAS,EACT,MAGF,IAAIK,EAAeC,EAAQ/yD,KAAK2yD,GAEhC,GAAIG,IAAiBR,EAAW,EACuC,IAA5CU,EAAc5yD,QAAQ0yD,EAAa,KAC6J,KAAU,GACnO,IAAIxxD,EAAQ0pB,mBAAmB4nC,GAC/B7mC,EAAO+mC,EAAa,IAAMxxD,OACrB,GAAIqxD,IAAiBC,EAAY,CAItCH,GAAS,EACT,OAIJ,IAAKA,EAAQ,CACX1zB,EAAQ,CACNlT,MAAOA,EACPE,OAAQA,EACRgb,IAAK,IAAMqrB,EAAY7xD,MAAM,EAAG0D,GAAOpD,KAAK,MAE9C,QAIJ,OAAOk+B,GAASmzB,GAAY,MAK1BnzB,EAAQ,SAAeh2B,EAAMg+B,GAC/B,OAAOpb,EAAK,CAAC,CAAE5iB,KAAMA,IAASg+B,IA6B5Bh/B,EAAU,SAAiB0E,EAAIrC,GAEjC,GAAIL,EAAW0C,EAAI,KACjB,OAAOA,EAGT,IAAIwmD,EAAYxmD,EAAG3G,MAAM,KACrBotD,EAAaD,EAAU,GACvBE,EAAUF,EAAU,GAGpBG,EADchpD,EAAKtE,MAAM,KACE,GAE3ButD,EAAahB,EAAWa,GACxBI,EAAejB,EAAWe,GAG9B,GAAsB,KAAlBC,EAAW,GACb,OAAOE,EAASH,EAAcD,GAIhC,IAAKppD,EAAWspD,EAAW,GAAI,KAAM,CACnC,IAAI9mD,EAAW+mD,EAAantD,OAAOktD,GAAYxyD,KAAK,KACpD,OAAO0yD,GAA2B,MAAjBH,EAAuB,GAAK,KAAO7mD,EAAU4mD,GAUhE,IAFA,IAAIK,EAAcF,EAAantD,OAAOktD,GAClCI,EAAW,GACNv1D,EAAI,EAAGgF,EAAIswD,EAAYl3D,OAAQ4B,EAAIgF,EAAGhF,IAAK,CAClD,IAAIw1D,EAAUF,EAAYt1D,GACV,OAAZw1D,EAAkBD,EAASlC,MAA2B,MAAZmC,GAAiBD,EAAS52D,KAAK62D,GAG/E,OAAOH,EAAS,IAAME,EAAS5yD,KAAK,KAAMsyD,IAMxCQ,EAAe,SAAsB5qD,EAAMgjB,GAC7C,IAAI6nC,EAAc7qD,EAAKjD,MAAM,KACzB+tD,EAAWD,EAAY,GACvBE,EAAeF,EAAY,GAC3BG,OAAyBh3D,IAAjB+2D,EAA6B,GAAKA,EAG1CE,EAAkB,IADP3B,EAAWwB,GACWjzD,KAAI,SAAU8yD,GACjD,IAAI30B,EAAQg0B,EAAQ/yD,KAAK0zD,GACzB,OAAO30B,EAAQhT,EAAOgT,EAAM,IAAM20B,KACjC7yD,KAAK,KACJozD,EAAmBloC,EAAO3gB,SAE1B8oD,GADJD,OAAwCl3D,IAArBk3D,EAAiC,GAAKA,GACZpvB,OAGzCsvB,QAFmCp3D,IAA1Bm3D,EAAsC,GAAKA,GAE/BpuD,MAAM,KAAK,IAAM,GAE1C,OADAkuD,EAAkBT,EAASS,EAAiBD,EAAOI,IAIjDC,EAAmB,SAA0BztC,EAAMla,GACrD,IAAInF,EAAS,SAAgBosD,GAC3B,OAAO1Z,EAAU0Z,IAInB,OAFiBrB,EAAW1rC,GAAMrf,OAAOA,GAAQ+sD,OAAOxzD,KAAK,OAC9CwxD,EAAW5lD,GAAInF,OAAOA,GAAQ+sD,OAAOxzD,KAAK,MAMvDkyD,EAAU,SAWV/Y,EAAY,SAAmB0Z,GACjC,OAAOX,EAAQnrB,KAAK8rB,IAElBb,EAAU,SAAiBa,GAC7B,OAAOA,GAA0B,MAAfA,EAAQ,IAGxBY,EAAY,SAAmBzoC,EAAO5nB,GAMxC,MAAO,CAAE4nB,MAAOA,EAAO0oC,MALX1oC,EAAM1iB,QAAU,EAAIkpD,EAAWxmC,EAAM9iB,MAAMyrD,QAAO,SAAUD,EAAOb,GAG7E,OAFAa,GAlBiB,GAMD,SAAuBb,GACzC,MAAmB,KAAZA,EAYDe,CAAcf,GAAwC1Z,EAAU0Z,GAAUa,GAjB7D,EAiB8F1B,EAAQa,GAAUa,GAASG,EAAoCH,GAlB9J,EAkBYA,GAfd,EAgBPA,IACN,GACkCtwD,MAAOA,IAG1CuuD,EAAa,SAAoBP,GACnC,OAAOA,EAAOrxD,IAAI0zD,GAAWD,MAAK,SAAUx1D,EAAGwE,GAC7C,OAAOxE,EAAE01D,MAAQlxD,EAAEkxD,MAAQ,EAAI11D,EAAE01D,MAAQlxD,EAAEkxD,OAAS,EAAI11D,EAAEoF,MAAQZ,EAAEY,UAIpEouD,EAAa,SAAoBtrB,GACnC,OAAOA,EAEN7mC,QAAQ,eAAgB,IAAI4F,MAAM,MAGjCytD,EAAW,SAAkBhnD,GAC/B,IAAK,IAAI4xB,EAAO/pB,UAAU9X,OAAQy3D,EAAQ3uD,MAAM+4B,EAAO,EAAIA,EAAO,EAAI,GAAIC,EAAO,EAAGA,EAAOD,EAAMC,IAC/F21B,EAAM31B,EAAO,GAAKhqB,UAAUgqB,GAM9B,OAAO7xB,IAHPwnD,EAAQA,EAAMzsD,QAAO,SAAU5G,GAC7B,OAAOA,GAAKA,EAAEpE,OAAS,OAEGy3D,EAAMz3D,OAAS,EAAI,IAAMy3D,EAAMlzD,KAAK,KAAO,KAGrEmyD,EAAgB,CAAC,MAAO,QAOxB2B,EAAiB,SAAwBC,EAAMC,GACjD,IAAIC,EAAWr1D,OAAOmT,KAAKgiD,GAC3B,OAAOE,EAASx4D,SAAWmD,OAAOmT,KAAKiiD,GAAMv4D,QAAUw4D,EAASC,OAAM,SAAU53D,GAC9E,OAAO03D,EAAKlnD,eAAexQ,IAAQy3D,EAAKz3D,KAAS03D,EAAK13D,Q,qBCrR1DuT,EAAO/H,QAAU,CAAC,CACZ65C,OAAQ3Y,EAAQ,QAChB9tC,QAAS,CAAC,QAAU,GAAG,WAAa,CAAC,MAAM,QAAQ,oBAAsB,CAAC,CAAC,QAAU,oCAAoC,QAAU,CAAC,UAAY,kEAAkE,CAAC,QAAU,qGAAqG,CAAC,QAAU,2GAA2G,eAAiB,GAAG,WAAY,EAAM,cAAgB,GAAG,cAAgB,GAAG,WAAa,CAAC,gBAAgB,mBAAmB,KAAO,2DAA2D,qBAAsB,EAAM,QAAU,KAC7pB,CACAymD,OAAQ3Y,EAAQ,QAChB9tC,QAAS,CAAC,QAAU,GAAG,eAAiB,sBACxC,CACAymD,OAAQ3Y,EAAQ,QAChB9tC,QAAS,CAAC,QAAU,GAAG,QAAU,iCACjC,CACAymD,OAAQ3Y,EAAQ,QAChB9tC,QAAS,CAAC,QAAU,O,qBCNU2U,EAAO/H,QAI5B,WACb,IAAIqsD,GAAO,GACsC,IAA7CzzB,UAAU0zB,WAAW70D,QAAQ,aAC/B40D,GAAO,GAGT,IACEpvB,EADEsvB,EAAM,GAERC,EAA0B,iBAAbx3D,UAAyBA,SACtCy3D,EAAOJ,EACHG,EAAIE,gBAAgBC,SAAS,QAC7BH,EAAIE,gBAAgBC,SAExBC,EACEJ,IAAQC,EAAO,aAAe,iBAAiBxtB,KAAKutB,EAAIK,YAY5D,OAVKD,GAAUJ,GACbA,EAAI1zC,iBALe,mBAOhBmkB,EAAW,WAGV,IAFAuvB,EAAIpzC,oBARW,mBAQ2B6jB,GAC1C2vB,EAAS,EACD3vB,EAAWsvB,EAAIO,SAAU7vB,MAIhC,SAAS1Y,GACdqoC,EAASj7C,WAAW4S,EAAI,GAAKgoC,EAAIr4D,KAAKqwB,IA/BWwoC,I,kCCLtC,SAASC,EAA4BxH,EAASC,GAK3D,OAJKA,IACHA,EAAMD,EAAQ5tD,MAAM,IAEtB4tD,EAAQC,IAAMA,EACPD,EALT,mC,oCCCAz9C,EAAO/H,QAA8B,oBAAb44B,WAA4BjiC,OAAOiiC,UAAUqwB,YAAc,I,kCCDnF,uBAG0B,WAAxB5lD,OAAOZ,SAAS45B,UACQ,cAAxBh5B,OAAOZ,SAAS65B,SAEhB/0B,QAAQiU,MAAM,gFAGL,kBAAmBod,WAC5BA,UAAUq0B,cACPC,SAAyB,UACzB7tD,MAAK,SAAU8tD,GACdA,EAAIr0C,iBAAiB,cAAe,KAClC0vC,oBAAU,6BAA8B,CAAEyE,cAAeE,IAGzD,MAAMC,EAAmBD,EAAIE,WAC7B9lD,QAAQgtC,IAAI,mBAAoB6Y,GAChCA,EAAiBt0C,iBAAiB,cAAe,KAC/C,OAAQs0C,EAAiB7pD,OACvB,IAAI,YACEq1B,UAAUq0B,cAAcK,YAK1BjqD,OAAOkqD,cAAe,EAEtB/E,oBAAU,6BAA8B,CAAEyE,cAAeE,IAGrD9pD,OAAOmqD,qBACTjmD,QAAQgtC,IAAI,4CACZlxC,OAAOZ,SAASgrD,YAKlBlmD,QAAQgtC,IAAI,qCAKZiU,oBAAU,2BAA4B,CAAEyE,cAAeE,KAEzD,MAEF,IAAI,YACF5lD,QAAQiU,MAAM,mDACdgtC,oBAAU,2BAA4B,CAAEyE,cAAeE,IACvD,MAEF,IAAI,YACF3E,oBAAU,wBAAyB,CAAEyE,cAAeE,YAM7DxQ,OAAM,SAAU9mD,GACf0R,QAAQiU,MAAM,4CAA6C3lB,O,qBC1DjEmK,EAAQsrB,WAAa,CACnB,+BAAgCoiC,IAAM,yGACtC,kCAAmCC,IAAM,gEACzC,wCAAyCC,IAAM,yGAC/C,wCAAyCC,IAAM,yGAC/C,yCAA0CC,IAAM,+JAChD,gCAAiCC,IAAM,uHACvC,iCAAkCC,IAAM,wDACxC,sDAAuDC,IAAM,uIAC7D,+DAAgEC,IAAM,8EACtE,wEAAyEC,IAAM,+DAC/E,8DAA+DC,IAAM,2FACrE,mEAAoEC,IAAM,sEAC1E,8DAA+DC,IAAM,sEACrE,oEAAqEC,IAAM,wDAC3E,8EAA+EC,IAAM,6EACrF,iEAAkEC,IAAM,sEACxE,mEAAoEC,IAAM,+DAC1E,oCAAqCC,IAAM,yGAC3C,kCAAmCC,IAAM,iGACzC,kCAAmCC,IAAM,yGACzC,sCAAuCC,IAAM,yGAC7C,mCAAoCC,IAAM,yGAC1C,oCAAqCC,IAAM,yGAC3C,uCAAwCC,IAAM,yGAC9C,6CAA8CC,IAAM,iIACpD,uCAAwCC,IAAM,iHAC9C,wCAAyCC,IAAM,uIAC/C,+CAAgDC,IAAM,2G,oFC3BzC,SAASC,EAAexa,EAAKv/C,GAC1C,OCLa,SAAyBu/C,GACtC,GAAIr4C,MAAMwf,QAAQ64B,GAAM,OAAOA,EDIxB,CAAeA,IELT,SAA+BA,EAAKv/C,GACjD,IAAI2vD,EAAK,MAAQpQ,EAAM,KAAO,oBAAsB5sC,QAAU4sC,EAAI5sC,OAAOE,WAAa0sC,EAAI,cAC1F,GAAI,MAAQoQ,EAAI,CACd,IAAIqK,EACFC,EACAC,EACAC,EACAC,EAAO,GACPC,GAAK,EACLC,GAAK,EACP,IACE,GAAIJ,GAAMvK,EAAKA,EAAGxoD,KAAKo4C,IAAMxV,KAAM,IAAM/pC,EAAG,CAC1C,GAAIuB,OAAOouD,KAAQA,EAAI,OACvB0K,GAAK,OACA,OAASA,GAAML,EAAKE,EAAG/yD,KAAKwoD,IAAK4K,QAAUH,EAAKz7D,KAAKq7D,EAAG52D,OAAQg3D,EAAKh8D,SAAW4B,GAAIq6D,GAAK,IAChG,MAAO9R,GACP+R,GAAK,EAAIL,EAAK1R,EACd,QACA,IACE,IAAK8R,GAAM,MAAQ1K,EAAW,SAAMwK,EAAKxK,EAAW,SAAKpuD,OAAO44D,KAAQA,GAAK,OAC7E,QACA,GAAIG,EAAI,MAAML,GAGlB,OAAOG,GFnBqB,CAAqB7a,EAAKv/C,IAAM,OAAAyzD,EAAA,GAA2BlU,EAAKv/C,IGLjF,WACb,MAAM,IAAIskC,UAAU,6IHIgF,K,kCIJtG,IAAI+V,EAAc,EAAQ,QAE1B7nC,EAAO/H,QAAU4vC,EAAY,GAAGvwB,gB,kCCHhC,sCAAI0wC,EAAc,SAAqB9oD,GAErC,IAAIpJ,EAAQ,IAAIlC,QAChB,OAAO,SAAU0kC,GACf,GAAIxiC,EAAMwf,IAAIgjB,GAEZ,OAAOxiC,EAAM9B,IAAIskC,GAEnB,IAAI2vB,EAAM/oD,EAAKo5B,GAEf,OADAxiC,EAAM7B,IAAIqkC,EAAK2vB,GACRA,K,mBCJXjoD,EAAO/H,QANP,SAAgC6hB,GAC9B,QAAa,IAATA,EACF,MAAM,IAAIuxB,eAAe,6DAE3B,OAAOvxB,GAEgC9Z,EAAO/H,QAAQC,YAAa,EAAM8H,EAAO/H,QAAiB,QAAI+H,EAAO/H,S,kCCN9G,kCAIA,MAAM69C,EAAax8C,IAAA,IAAC,IAAEsX,EAAG,MAAEpkB,EAAQ,IAAI8M,EAAA,OACrC,IAAIlC,QAAQ,CAACC,EAAS6wD,KACpB,MAAMC,EAASl7D,SAASC,cAAc,UACtCi7D,EAAOv3C,IAAMA,EACTpkB,GACF27D,EAAOh7D,aAAa,iBAAkBX,GAExC27D,EAAOC,OAAQ,EACfD,EAAOp3C,iBAAiB,OAAQ1Z,GAChC8wD,EAAOp3C,iBAAiB,QAASm3C,GACjCj7D,SAASoW,KAAKjW,YAAY+6D,O,kCCkC9BnoD,EAAO/H,QA5BS,SAASqhD,EAAWrL,EAAQ9/C,EAAGwE,EAAGtE,EAAGwE,EAAG/E,EAAGwE,GAOzD,IAAKgnD,EAAW,CACd,IAAI7lC,EACJ,QAAepnB,IAAX4hD,EACFx6B,EAAQ,IAAIjd,MACV,qIAGG,CACL,IAAIiN,EAAO,CAACtV,EAAGwE,EAAGtE,EAAGwE,EAAG/E,EAAGwE,GACvB+1D,EAAW,GACf50C,EAAQ,IAAIjd,MACVy3C,EAAOz+C,QAAQ,OAAO,WAAa,OAAOiU,EAAK4kD,UAE3CtyD,KAAO,sBAIf,MADA0d,EAAM60C,YAAc,EACd70C,K,kCC3CV,IAAIgmB,EAAQ,EAAQ,QAEpBz5B,EAAO/H,SAAWwhC,GAAM,WAEtB,IAAIvC,EAAO,aAA8Bx7B,OAEzC,MAAsB,mBAARw7B,GAAsBA,EAAKj6B,eAAe,iB,kCCN1D,IAAI4qC,EAAc,EAAQ,QACtBpO,EAAQ,EAAQ,QAChB8uB,EAAU,EAAQ,QAElB/wC,EAAUzoB,OACVqG,EAAQyyC,EAAY,GAAGzyC,OAG3B4K,EAAO/H,QAAUwhC,GAAM,WAGrB,OAAQjiB,EAAQ,KAAKnB,qBAAqB,MACvC,SAAUpW,GACb,MAAuB,WAAhBsoD,EAAQtoD,GAAmB7K,EAAM6K,EAAI,IAAMuX,EAAQvX,IACxDuX,G,kCCdJ,IAAIgxC,EAAW,EAAQ,QACnBD,EAAU,EAAQ,QAGlBE,EAFkB,EAAQ,OAElB3xB,CAAgB,SAI5B92B,EAAO/H,QAAU,SAAUgI,GACzB,IAAIyoD,EACJ,OAAOF,EAASvoD,UAAmC5T,KAA1Bq8D,EAAWzoD,EAAGwoD,MAA0BC,EAA2B,WAAhBH,EAAQtoD,M,kCCTtF,IAAI0oD,EAAmB,sBAEvB3oD,EAAO/H,QAAU,SAAUm4B,GAC1B,GAAmB,iBAARA,EACV,MAAM,IAAI0B,UAAU,qBAGrB,OAAO1B,EAAI5gC,QAAQm5D,EAAkB,U,kCCRtC,IAAIh0D,EAAO,EAAQ,QACfgf,EAAa,EAAQ,QACrB60C,EAAW,EAAQ,QAEnBtJ,EAAaptB,UAIjB9xB,EAAO/H,QAAU,SAAU2wD,EAAOC,GAChC,IAAIrsC,EAAIssC,EACR,GAAa,WAATD,GAAqBl1C,EAAW6I,EAAKosC,EAAMzwB,YAAcqwB,EAASM,EAAMn0D,EAAK6nB,EAAIosC,IAAS,OAAOE,EACrG,GAAIn1C,EAAW6I,EAAKosC,EAAM9d,WAAa0d,EAASM,EAAMn0D,EAAK6nB,EAAIosC,IAAS,OAAOE,EAC/E,GAAa,WAATD,GAAqBl1C,EAAW6I,EAAKosC,EAAMzwB,YAAcqwB,EAASM,EAAMn0D,EAAK6nB,EAAIosC,IAAS,OAAOE,EACrG,MAAM5J,EAAW,6C,mFC+CJ,MA1Df,SAAwB6J,EAAoBC,GAY1C,OAAO,SAAcrhB,GAMnB,IACInsC,EADAytD,EAAmB,GAEvB,SAASC,IACP1tD,EAAQutD,EAAmBE,EAAiB/4D,KAAI,SAAUwM,GACxD,OAAOA,EAAS1L,UAElBg4D,EAA0BxtD,GAE5B,IAAI2tD,EAA0B,SAAUC,GAEtC,SAASD,IACP,OAAOC,EAAejzC,MAAM5qB,KAAMmY,YAAcnY,KAFlD,YAAe49D,EAAYC,GAM3BD,EAAWE,KAAO,WAChB,OAAO7tD,GAET,IAAI9O,EAASy8D,EAAWx8D,UAgBxB,OAfAD,EAAO4P,kBAAoB,WACzB2sD,EAAiB98D,KAAKZ,MACtB29D,KAEFx8D,EAAOyP,mBAAqB,WAC1B+sD,KAEFx8D,EAAO6P,qBAAuB,WAC5B,IAAIhJ,EAAQ01D,EAAiBv5D,QAAQnE,MACrC09D,EAAiBrpC,OAAOrsB,EAAO,GAC/B21D,KAEFx8D,EAAO8Q,OAAS,WACd,OAAoB,IAAMtQ,cAAcy6C,EAAkBp8C,KAAKyF,QAE1Dm4D,EA1BqB,CA2B5B,iBAEF,OADA,YAAgBA,EAAY,cAAe,cA7C7C,SAAwBxhB,GACtB,OAAOA,EAAiB3vB,aAAe2vB,EAAiB5xC,MAAQ,YA4CLuzD,CAAe3hB,GAAoB,KACvFwhB,I,YCvDAI,EAAU,SAAUp7D,GAE7B,IADA,IAAI85D,EAAMvzD,MAAMvG,EAAEvC,QACT4B,EAAI,EAAGA,EAAIW,EAAEvC,SAAU4B,EAC9By6D,EAAIz6D,GAAKW,EAAEX,GAEb,OAAOy6D,GAEEuB,EAAU,SAAUr7D,GAC7B,OAAOuG,MAAMwf,QAAQ/lB,GAAKA,EAAI,CAACA,IAEtBs7D,EAAW,SAAUt7D,GAC9B,OAAOuG,MAAMwf,QAAQ/lB,GAAKA,EAAE,GAAKA,GCD/Bu7D,EAAgB,SAAU90D,GAE5B,OAAOA,EAAK5G,YAAc4G,EAAK5G,WAAW27D,WAAaC,KAAKC,uBAE5Dj1D,EAAK5G,WAAWymB,KAAO7f,EAAK5G,YAE1B87D,EAAY,SAAUl1D,GAExB,OAAOA,IAAS3H,UAAY2H,GAAQA,EAAK+0D,WAAaC,KAAKG,eAEzDC,EAAoB,SAAUp1D,EAAMq1D,GACtC,OAAQr1D,GAAQk1D,EAAUl1D,KAvBN,SAAUA,GAG9B,GAAIA,EAAK+0D,WAAaC,KAAKM,aACzB,OAAO,EAET,IAAIC,EAAgB7uD,OAAOk2B,iBAAiB58B,EAAM,MAClD,SAAKu1D,IAAkBA,EAAcC,oBAGgB,SAA9CD,EAAcC,iBAAiB,YAA0E,WAAjDD,EAAcC,iBAAiB,eAa1DC,CAAgBz1D,IAASq1D,EAAYP,EAAc90D,KAE9E01D,EAAkB,SAAUC,EAAiB31D,GACtD,IAAI0oD,EAASiN,EAAgBv2D,IAAIY,GACjC,QAAevI,IAAXixD,EACF,OAAOA,EAET,IAAItmB,EAASgzB,EAAkBp1D,EAAM01D,EAAgB5uD,UAAKrP,EAAWk+D,IAErE,OADAA,EAAgBt2D,IAAIW,EAAMoiC,GACnBA,GAKEwzB,EAA2B,SAAU10D,EAAOlB,GACrD,IAAI0oD,EAASxnD,EAAM9B,IAAIY,GACvB,QAAevI,IAAXixD,EACF,OAAOA,EAET,IAAItmB,EAR2B,SAAUpiC,EAAMq1D,GAC/C,QAAOr1D,IAASk1D,EAAUl1D,OAAQ61D,EAAmB71D,IAAQq1D,EAAYP,EAAc90D,IAO1E81D,CAA2B91D,EAAM41D,EAAyB9uD,UAAKrP,EAAWyJ,IAEvF,OADAA,EAAM7B,IAAIW,EAAMoiC,GACTA,GAEE2zB,EAAa,SAAU/1D,GAEhC,OAAOA,EAAKwa,SAKHw7C,EAAqB,SAAUh2D,GACxC,MAAwB,UAAjBA,EAAK08B,SAEHu5B,EAAiB,SAAUj2D,GACpC,OAAOg2D,EAAmBh2D,IAAuB,UAAdA,EAAK7D,MAK/B05D,EAAqB,SAAU71D,GACxC,IAAIk2D,EAAYl2D,EAAKC,aAAa,KAClC,OAAQ,EAAC,EAAM,OAAQ,IAAIw8B,SAASy5B,IAE3BC,EAAU,SAAUn2D,GAC7B,IAAI20C,EACJ,OAAOpuC,QAAQvG,IAAqC,QAA3B20C,EAAKohB,EAAW/1D,UAA0B,IAAP20C,OAAgB,EAASA,EAAGyhB,cAE/EC,EAAc,SAAUr2D,GACjC,OAAQm2D,EAAQn2D,IAEPs2D,EAAY,SAAUj8D,GAC/B,OAAOkM,QAAQlM,IC1ENk8D,EAAU,SAAUh9D,EAAGwE,GAChC,IAAIy4D,EAAUj9D,EAAE6b,SAAWrX,EAAEqX,SACzBqhD,EAAYl9D,EAAEoF,MAAQZ,EAAEY,MAC5B,GAAI63D,EAAS,CACX,IAAKj9D,EAAE6b,SACL,OAAO,EAET,IAAKrX,EAAEqX,SACL,OAAQ,EAGZ,OAAOohD,GAAWC,GAETC,EAAkB,SAAUz+D,EAAO0+D,EAAgBC,GAC5D,OAAOjC,EAAQ18D,GAAOqD,KAAI,SAAU0E,EAAMrB,GACxC,MAAO,CACLqB,KAAMA,EACNrB,MAAOA,EACPyW,SAAUwhD,IAAiC,IAAnB52D,EAAKoV,UAAmBpV,EAAKwa,SAAW,IAAI47C,WAAa,GAAK,EAAIp2D,EAAKoV,aAEhGpT,QAAO,SAAUF,GAClB,OAAQ60D,GAAkB70D,EAAKsT,UAAY,KAC1C25C,KAAKwH,ICpBNM,ECAmB,CAAC,iBAAkB,iBAAkB,mBAAoB,gBAGhF,UAAW,aAAc,UAAW,SAAU,SAAU,QAAS,kBAAmB,kBAAmB,aAAc,oBAAqB,eDH3Gt7D,KAAK,KAChCu7D,EAAsB,GAAGj2D,OAAOg2D,EAAgB,wBAChDE,EAA6B,SAAU76D,EAAQ86D,GACjD,OAAOrC,GAASz4D,EAAO+6D,YAAc/6D,GAAQG,UAAU6yD,QAAO,SAAUgI,EAAKC,GAC3E,OAAOD,EAAIr2D,OAAOs2D,EAAMC,QAAQJ,EAAaF,EAAsBD,GAAkB,CAACM,GAAS,GAAIJ,EAA2BI,MAC7H,KAUME,EAAgB,SAAUC,EAASN,GAC5C,OAAOM,EAAQpI,QAAO,SAAUgI,EAAKh7D,GACnC,IAAIy4C,EACA4iB,EAAyBR,EAA2B76D,EAAQ86D,GAC5DQ,GAAwB7iB,EAAK,IAAI9zC,OAAO0gB,MAAMozB,EAAI4iB,EAAuBj8D,KAAI,SAAU0E,GACzF,OAbwB,SAAU9D,EAAQ86D,GAC9C,IAAIriB,EAEJ,OAAIz4C,aAAkBu7D,oBAAwD,QAAjC9iB,EAAKz4C,EAAOw7D,uBAAoC,IAAP/iB,OAAgB,EAASA,EAAGlmC,MACzG4oD,EAAc,CAACn7D,EAAOw7D,gBAAgBjpD,MAAOuoD,GAE/C,CAAC96D,GAOGy7D,CAAwB33D,EAAMg3D,OAEvC,OAAOE,EAAIr2D,OAEX22D,EAEAt7D,EAAO9C,WAAau7D,EAAQz4D,EAAO9C,WAAWyG,iBAAiBg3D,IAAiB70D,QAAO,SAAUhC,GAC/F,OAAOA,IAAS9D,KACb,MACJ,KEvBM07D,EAAkB,SAAU3/D,EAAO09D,GAC5C,OAAOhB,EAAQ18D,GAAO+J,QAAO,SAAUhC,GACrC,OAAO01D,EAAgBC,EAAiB31D,MACvCgC,QAAO,SAAUhC,GAClB,OJ+CwB,SAAUA,GACpC,SAAUg2D,EAAmBh2D,IAVE,SAAUA,GACzC,MAAwB,WAAjBA,EAAK08B,QAS0Bm7B,CAAoB73D,MAAyB,WAAdA,EAAK7D,MAAqB6D,EAAKqoB,WIhD3FyvC,CAAe93D,OAGf+3D,EAAsB,SAAU9/D,EAAOiJ,GAIhD,YAHc,IAAVA,IACFA,EAAQ,IAAIokB,KAEPqvC,EAAQ18D,GAAO+J,QAAO,SAAUhC,GACrC,OAAO41D,EAAyB10D,EAAOlB,OAOhCg4D,EAAmB,SAAUC,EAAUtC,EAAiBqB,GACjE,OAAON,EAAgBkB,EAAgBP,EAAcY,EAAUjB,GAAarB,IAAkB,EAAMqB,IAM3FkB,EAAsB,SAAUD,EAAUtC,GACnD,OAAOe,EAAgBkB,EAAgBP,EAAcY,GAAWtC,IAAkB,IAOzEwC,EAAuB,SAAUC,EAASzC,GACnD,OAAOiC,GFLHS,EEK2CD,EFLtBv4D,iBAAiB,IAAIgB,OAAO,IAAY,MAC1D8zD,EAAQ0D,GAAa/8D,KAAI,SAAU0E,GACxC,OAAOq3D,EAAc,CAACr3D,OACrBkvD,QAAO,SAAUgI,EAAKj/D,GACvB,OAAOi/D,EAAIr2D,OAAO5I,KACjB,KEAsD09D,GFNtB,IAC/B0C,GEUKl+C,EAAW,SAAU+qB,EAAOhmC,GACrC,OAAIgmC,EAAM+xB,WACD98C,EAAS+qB,EAAM+xB,WAAY/3D,UAEYzH,IAA1C0C,OAAOoqB,eAAe2gB,GAAO/qB,WAA0BhgB,OAAOoqB,eAAe2gB,GAAO/qB,SAASpa,KAAKmlC,EAAOhmC,KAGtGy1D,EAAQzvB,EAAM7oC,UAAUi8D,MAAK,SAAUnB,GAC5C,IAAIxiB,EACJ,GAAIwiB,aAAiBM,kBAAmB,CACtC,IAAIc,EAA8C,QAAhC5jB,EAAKwiB,EAAMO,uBAAoC,IAAP/iB,OAAgB,EAASA,EAAGlmC,KACtF,QAAI8pD,GACKp+C,EAASo+C,EAAYr5D,GAIhC,OAAOib,EAASg9C,EAAOj4D,OC7DlBs5D,EAAmB,SAAUC,GAItC,QAHmB,IAAfA,IACFA,EAAapgE,UAEVogE,GAAeA,EAAW3uC,cAA/B,CAGA,IAAIA,EAAgB2uC,EAAW3uC,cAC/B,OAAOA,EAAcmtC,WAAauB,EAAiB1uC,EAAcmtC,YAAcntC,aAAyB2tC,mBCZnF,SAAUv1D,GAC/B,IACE,OAAOA,IACP,MAAOhJ,GACP,QDQ2Hw/D,EAAU,WACrI,OAAO5uC,EAAc6uC,cAActgE,YAChCmgE,EAAiB1uC,EAAc6uC,cAActgE,UAAYyxB,IEqB5D8uC,EAAe,SAAU54D,GAC3B,OAAOA,EAAK5G,WAAaw/D,EAAa54D,EAAK5G,YAAc4G,GAOhD64D,EAAsB,SAAU74D,GAEzC,OADY40D,EAAQ50D,GACPgC,OAAOuE,SAAS2oD,QAAO,SAAUgI,EAAK4B,GACjD,IAAIpwC,EAAQowC,EAAY74D,aAAa,KAErC,OADAi3D,EAAI3/D,KAAKgqB,MAAM21C,EAAKxuC,EAtCL,SAAUzwB,GAG3B,IAFA,IAAI8gE,EAAY,IAAIx4C,IAChB3iB,EAAI3F,EAAMjB,OACL4B,EAAI,EAAGA,EAAIgF,EAAGhF,GAAK,EAC1B,IAAK,IAAI6B,EAAI7B,EAAI,EAAG6B,EAAImD,EAAGnD,GAAK,EAAG,CACjC,IAAI4sB,EAAWpvB,EAAMW,GAAGogE,wBAAwB/gE,EAAMwC,KAEjD4sB,EAAW2tC,KAAKiE,gCAAkC,GACrDF,EAAUp4C,IAAIlmB,IAEX4sB,EAAW2tC,KAAKkE,4BAA8B,GACjDH,EAAUp4C,IAAI/nB,GAMpB,OAAOX,EAAM+J,QAAO,SAAUw/B,EAAG7iC,GAC/B,OAAQo6D,EAAUr4C,IAAI/hB,MAoBMw6D,CAAaxE,EAAQiE,EAAaE,GAAaj5D,iBAAiB,IAAIgB,OAAO,IAAa,MAAOA,OAAO6nB,EAAO,YAAa7nB,OAAO,IAAgB,oBAAwB,CAACi4D,IAC/L5B,IACN,KClCMkC,EAAc,SAAUhB,EAAStuC,GAK1C,YAHsB,IAAlBA,IACFA,EAAgB0uC,EAAiB3D,EAASuD,GAAS74C,mBAEhDuK,GAAiBA,EAActP,SAAWsP,EAActP,QAAQ47C,aAG9DyC,EAAoBT,GAASE,MAAK,SAAUt4D,GACjD,OAAOma,EAASna,EAAM8pB,IAjBF,SAAUsuC,EAAStuC,GACzC,OAAOvjB,QAAQouD,EAAQyD,EAAQv4D,iBAAiB,WAAWy4D,MAAK,SAAUt4D,GACxE,OALe,SAAUq5D,EAAOvvC,GAClC,OAAOuvC,IAAUvvC,EAIRwvC,CAAat5D,EAAM8pB,OAecyvC,CAAkBv5D,EAAM8pB,OChBzD0vC,EAAc,SAAUx5D,EAAM/H,GACvC,OAAIg+D,EAAej2D,IAASA,EAAKmB,KARX,SAAUnB,EAAM/H,GACtC,OAAOA,EAAM+J,OAAOi0D,GAAgBj0D,QAAO,SAAU+F,GACnD,OAAOA,EAAG5G,OAASnB,EAAKmB,QACvBa,QAAO,SAAU+F,GAClB,OAAOA,EAAG0xD,WACT,IAAMz5D,EAIA05D,CAAkB15D,EAAM/H,GAE1B+H,GCXE25D,EAAiB,SAAU1hE,GACpC,OAAIA,EAAM,IAAMA,EAAMjB,OAAS,EACtBwiE,EAAYvhE,EAAM,GAAIA,GAExBA,EAAM,IAEJ2hE,EAAgB,SAAU3hE,EAAO0G,GAC1C,OAAI1G,EAAMjB,OAAS,EACViB,EAAM6C,QAAQ0+D,EAAYvhE,EAAM0G,GAAQ1G,IAE1C0G,GCCEk7D,EAAW,SAAUC,EAAYC,EAAYjwC,EAAekwC,GACrE,IAAIC,EAAMH,EAAW9iE,OACjBkjE,EAAaJ,EAAW,GACxBK,EAAYL,EAAWG,EAAM,GAC7BG,EAAYjE,EAAQrsC,GAExB,KAAIA,GAAiBgwC,EAAWh/D,QAAQgvB,IAAkB,GAA1D,CAGA,IFHkC7xB,EAE9BoiE,EECAC,OAAgC7iE,IAAlBqyB,EAA8BiwC,EAAWj/D,QAAQgvB,IAAkB,EACjFi/B,EAAYiR,EAAWD,EAAWj/D,QAAQk/D,GAAYM,EACtDC,EAAiBP,EAAWF,EAAWh/D,QAAQk/D,IAAa,EAC5DvD,EAAY6D,EAAcvR,EAC1ByR,EAAiBT,EAAWj/D,QAAQo/D,GACpCO,EAAgBV,EAAWj/D,QAAQq/D,GACnCO,GFT8BziE,EESA8hE,EFP9BM,EAAY,IAAI95C,IACpBtoB,EAAMC,SAAQ,SAAU8H,GACtB,OAAOq6D,EAAU15C,IAAI64C,EAAYx5D,EAAM/H,OAGlCA,EAAM+J,QAAO,SAAUhC,GAC5B,OAAOq6D,EAAU35C,IAAI1gB,OEGnB26D,QADmCljE,IAAlBqyB,EAA8B4wC,EAAe5/D,QAAQgvB,IAAkB,IACjDkwC,EAAWU,EAAe5/D,QAAQk/D,GAAYM,GACrFM,EAAkBhB,EAAcE,EAAY,GAC5Ce,EAAiBjB,EAAcE,EAAYG,EAAM,GAErD,OAAqB,IAAjBK,IAA0C,IAApBC,EA9BL,aAkChB9D,GAAa8D,GAAkB,EAC3BA,EAGLD,GAAeE,GAAkBJ,GAAavgE,KAAKC,IAAI28D,GAAa,EAC/DoE,EAGLP,GAAeG,GAAiBL,GAAavgE,KAAKC,IAAI28D,GAAa,EAC9DmE,EAGLnE,GAAa58D,KAAKC,IAAI6gE,GAAsB,EACvCJ,EAGLD,GAAeE,EACVK,EAGLP,EAAcG,EACTG,EAGLnE,EACE58D,KAAKC,IAAI28D,GAAa,EACjB8D,GAEDN,EAAMM,EAAiB9D,GAAawD,OAJ9C,IC5CSa,EAAgB,SAAUC,EAAcC,EAAcC,GAC/D,IAf8BC,EAe1BjjE,EAAQ8iE,EAAaz/D,KAAI,SAAUq5C,GAErC,OADWA,EAAG30C,QAGZm7D,EAAgBpD,EAAoB9/D,EAAM+J,QAnBhBk5D,EAmBuCD,EAlB9D,SAAUj7D,GACf,IAAI20C,EACAymB,EAAwC,QAA3BzmB,EAAKohB,EAAW/1D,UAA0B,IAAP20C,OAAgB,EAASA,EAAGymB,UAChF,OAEEp7D,EAAKo7D,gBAES3jE,IAAd2jE,GAAyC,UAAdA,GAE3BF,EAAepgE,QAAQkF,IAAS,MAUpC,OAAIm7D,GAAiBA,EAAcnkE,OAC1B2iE,EAAewB,GAEjBxB,EAAe5B,EAAoBiD,KCvBxCK,EAAa,SAAUr7D,EAAMs3D,GAQ/B,YAPgB,IAAZA,IACFA,EAAU,IAEZA,EAAQ//D,KAAKyI,GACTA,EAAK5G,YACPiiE,EAAWr7D,EAAK5G,WAAWymB,MAAQ7f,EAAK5G,WAAYk+D,GAE/CA,GAQEgE,EAAkB,SAAUC,EAAOC,GAI5C,IAHA,IAAIC,EAAWJ,EAAWE,GACtBG,EAAWL,EAAWG,GAEjB5iE,EAAI,EAAGA,EAAI6iE,EAASzkE,OAAQ4B,GAAK,EAAG,CAC3C,IAAI+iE,EAAgBF,EAAS7iE,GAC7B,GAAI8iE,EAAS5gE,QAAQ6gE,IAAkB,EACrC,OAAOA,EAGX,OAAO,GAEEC,EAAqB,SAAUC,EAAmBC,EAAWC,GACtE,IAAIC,EAAiBpH,EAAQiH,GACzBI,EAAcrH,EAAQkH,GACtBhyC,EAAgBkyC,EAAe,GAC/BE,GAAY,EAehB,OAdAD,EAAYj6D,OAAOuE,SAASrO,SAAQ,SAAUqQ,GAC5C2zD,EAAYZ,EAAgBY,GAAa3zD,EAAOA,IAAU2zD,EAC1DH,EAAa/5D,OAAOuE,SAASrO,SAAQ,SAAUikE,GAC7C,IAAIC,EAASd,EAAgBxxC,EAAeqyC,GACxCC,IAEAF,GADGA,GAAa/hD,EAASiiD,EAAQF,GACrBE,EAEAd,EAAgBc,EAAQF,UAMrCA,GC1BEG,EAAgB,SAAUjE,EAAS4B,GAC5C,IAAIlwC,EAAgB0uC,EAAiB5D,EAAQwD,GAASphE,OAAS,EAAIqB,SAAWw8D,EAASuD,GAAS74C,eAC5FjX,EAAUuwD,EAAoBT,GAASp2D,OAAOq0D,GAC9CiG,EAAeV,EAAmB9xC,GAAiBsuC,EAASA,EAAS9vD,GACrEqtD,EAAkB,IAAIrwC,IACtBi3C,EAAerE,EAAoB5vD,EAASqtD,GAC5C6G,EAAgBxE,EAAiB1vD,EAASqtD,GAAiB3zD,QAAO,SAAU2yC,GAC9E,IAAI30C,EAAO20C,EAAG30C,KACd,OAAOq2D,EAAYr2D,MAErB,GAAKw8D,EAAc,KACjBA,EAAgBD,GACG,GAFrB,CAMA,IAhC2BE,EAAUC,EACjCC,EA+BA5C,EAAa7B,EAAoB,CAACoE,GAAe3G,GAAiBr6D,KAAI,SAAUq5C,GAElF,OADWA,EAAG30C,QAGZ48D,GApCuBH,EAoCa1C,EApCH2C,EAoCeF,EAnChDG,EAAQ,IAAIr3C,IAEhBo3C,EAASxkE,SAAQ,SAAU2kE,GACzB,OAAOF,EAAMt9D,IAAIw9D,EAAO78D,KAAM68D,MAGzBJ,EAASnhE,KAAI,SAAU0E,GAC5B,OAAO28D,EAAMv9D,IAAIY,MAChBgC,OAAOs0D,IA4BNwD,EAAa8C,EAAqBthE,KAAI,SAAUq5C,GAElD,OADWA,EAAG30C,QAGZ88D,EAAQjD,EAASC,EAAYC,EAAYjwC,EAAekwC,GAC5D,GH/CqB,cG+CjB8C,EAAqB,CACvB,IAAIC,EAAYjC,EAAcyB,EAAczC,EDMX,SAAUxxD,EAASqtD,GACtD,OAAOrtD,EAAQ4mD,QAAO,SAAUgI,EAAKl3D,GACnC,OAAOk3D,EAAIr2D,OAAOs3D,EAAqBn4D,EAAM21D,MAC5C,ICTuDqH,CAAwB10D,EAASqtD,IACzF,OAAIoH,EACK,CACL/8D,KAAM+8D,QAGRnyD,QAAQC,KAAK,uDAIjB,YAAcpT,IAAVqlE,EACKA,EAEFF,EAAqBE,KCvD1BG,EAAa,EACbC,GAAe,ECCJ,EDOO,SAAU9E,EAAS4B,EAAUvjE,QACjC,IAAZA,IACFA,EAAU,IAEZ,IArB6B+R,EAAQihB,EAqBjC0zC,EAAYd,EAAcjE,EAAS4B,GACvC,IAAIkD,GAGAC,EAAW,CACb,GAAIF,EAAa,EAOf,OALAryD,QAAQiU,MAAM,qJACdq+C,GAAe,OACfloD,YAAW,WACTkoD,GAAe,IACd,GAGLD,IAnC2Bz0D,EAoCnB20D,EAAUn9D,KApCiBypB,EAoCXhzB,EAAQgzB,aAnC9B,UAAWjhB,GACbA,EAAOuM,MAAM0U,GAEX,kBAAmBjhB,GAAUA,EAAOmwD,eACtCnwD,EAAOmwD,cAAc5jD,QAgCrBkoD,ME9BOG,EAAkB,SAAUhF,GACrC,IAAI9vD,EAAUuwD,EAAoBT,GAASp2D,OAAOq0D,GAC9CiG,EAAeV,EAAmBxD,EAASA,EAAS9vD,GACpDqtD,EAAkB,IAAIrwC,IACtBy0C,EAAa/B,EAAiB,CAACsE,GAAe3G,GAAiB,GAC/D6G,EAAgBxE,EAAiB1vD,EAASqtD,GAAiB3zD,QAAO,SAAU2yC,GAC9E,IAAI30C,EAAO20C,EAAG30C,KACd,OAAOq2D,EAAYr2D,MAClB1E,KAAI,SAAUq5C,GAEf,OADWA,EAAG30C,QAGhB,OAAO+5D,EAAWz+D,KAAI,SAAUq5C,GAC9B,IAAI30C,EAAO20C,EAAG30C,KAEd,MAAO,CACLA,KAAMA,EACNrB,MAHQg2C,EAAGh2C,MAIX0+D,SAAUb,EAAc1hE,QAAQkF,IAAS,EACzCs9D,MAAOnH,EAAQn2D,Q,yBClBjB,GAAc,WAChB,OAHO3H,UAAYA,SAASyxB,gBAAkBzxB,SAASoW,MCE9B,SAAUgqD,QAChB,IAAfA,IACFA,EAAapgE,UAEf,IAAIyxB,EAAgB0uC,EAAiBC,GACrC,QAAK3uC,GAIE6qC,EAAQ8D,EAAW54D,iBAAiB,IAAIgB,OAAO,IAAa,OAAOy3D,MAAK,SAAUt4D,GACvF,OAAOma,EAASna,EAAM8pB,MDTAyzC,IAEtBC,GAAiB,KACjBC,GAAkB,KAClBC,GAAsB,KACtBC,IAAwB,EACxBC,GAAmB,WACrB,OAAO,GAcT,SAASC,GAAUC,EAAYC,EAAKC,EAAMC,GACxC,IAAIC,EAAY,KACZtlE,EAAIklE,EACR,EAAG,CACD,IAAI/7D,EAAOk8D,EAASrlE,GACpB,GAAImJ,EAAKu7D,MACHv7D,EAAK/B,KAAKwa,QAAQ2jD,iBACpBD,EAAYn8D,OAET,KAAIA,EAAKs7D,SAOd,MANA,GAAIzkE,IAAMklE,EAER,OAEFI,EAAY,aAINtlE,GAAKolE,KAAUD,GACrBG,IACFA,EAAUl+D,KAAKoV,SAAW,GAG9B,IAAIgpD,GAAa,SAAoBl2D,GACnC,OAAOA,GAAO,YAAaA,EAAMA,EAAIhD,QAAUgD,GAqB7C,GAAe,WACjB,IAjDqDhJ,EAiDjDkjC,GAAS,EACb,GAAIo7B,GAAgB,CAClB,IAAIa,EAAkBb,GACpBt1C,EAAWm2C,EAAgBn2C,SAC3BK,EAAkB81C,EAAgB91C,gBAClCE,EAAY41C,EAAgB51C,UAC5BM,EAASs1C,EAAgBt1C,OACzBP,EAAa61C,EAAgB71C,WAC7BiB,EAAe40C,EAAgB50C,aAC7B60C,EAAcp2C,GAAYw1C,IAAuBA,GAAoBa,gBACrEz0C,EAAgBzxB,UAAYA,SAASyxB,cACzC,GAAIw0C,EAAa,CACf,IAAIE,EAAc,CAACF,GAAaz9D,OAAOkoB,EAAOztB,IAAI8iE,IAAYp8D,OAAOuE,UAyBrE,GAxBKujB,IAvEY,SAA0BA,GAC/C,OAAQ0zC,GAAe50C,WAAag1C,IAAkB9zC,GAsE5B20C,CAAiB30C,KACjCvB,IAAmCC,EA/BpCjiB,QAAQo3D,IAGgB,cAA1BA,MA4BsD,OAAkBF,IAAmBh1C,KACtF61C,KAEJlF,EAAYoF,IAEZ10C,GAzBO,SAAoBA,EAAe00C,GAClD,OAAOA,EAAYlG,MAAK,SAAUoG,GAChC,OARc,SAASC,EAAY35C,EAAOjd,EAAI62D,GAChD,OAAO72D,IAEPA,EAAG8X,OAASmF,KAAWjd,EAAG+hB,eAAiB80C,EAASzkD,SAASpS,EAAG+hB,iBAC7D/hB,EAAG3O,YAAculE,EAAY35C,EAAOjd,EAAG3O,WAAYwlE,IAI7CD,CAAY70C,EAAe40C,EAAMA,MAuBjBG,CAAW/0C,EAAe00C,KApEEt/D,EAoEkC4qB,EAnEhF4zC,IAAuBA,GAAoBa,kBAAoBr/D,MAoExD7G,WAAaolE,IAAmB3zC,IAAkBrB,GAEhDqB,EAAcg1C,MAChBh1C,EAAcg1C,OAEhBzmE,SAASoW,KAAKsG,UAEdqtB,EAAS,EAAgBo8B,EAAaf,GAAiB,CACrDh0C,aAAcA,IAEhBi0C,GAAsB,KAG1BC,IAAwB,EACxBF,GAAkBplE,UAAYA,SAASyxB,eAGvCzxB,SAAU,CACZ,IAAI0mE,EAAmB1mE,UAAYA,SAASyxB,cACxCm0C,EAAWb,EAAgBoB,GAC3B9jD,EAAeujD,EAAS3iE,KAAI,SAAUoJ,GAExC,OADWA,EAAK1E,QAEflF,QAAQikE,GACPrkD,GAAgB,IAElBujD,EAASj8D,QAAO,SAAU6D,GACxB,IAAIy3D,EAAQz3D,EAAMy3D,MAChBt9D,EAAO6F,EAAM7F,KACf,OAAOs9D,GAASt9D,EAAKwa,QAAQ2jD,kBAC5BjmE,SAAQ,SAAUiO,GAEnB,OADWA,EAAMnG,KACLkhB,gBAAgB,eAE9B28C,GAAUnjD,EAAcujD,EAASjnE,OAAQ,EAAIinE,GAC7CJ,GAAUnjD,GAAe,GAAI,EAAGujD,MAKxC,OAAO77B,GAEL48B,GAAS,SAAgBvgD,GACvB,MAAkBA,IAEpBA,EAAMqO,kBACNrO,EAAM1U,mBAGN,GAAS,WACX,OAAO,YAAY,KAEjBogB,GAAU,SAAiB1L,GAE7B,IAAI8M,EAAS9M,EAAMjW,OACfswD,EAAcr6C,EAAMwgD,cACnBnG,EAAY3+C,SAASoR,KAlI1BmyC,GAAsB,CACpBwB,aAkIapG,EAjIbyF,gBAiI0BhzC,KAa1B,GAAe,WACjBoyC,GAAwB,OAExB,aAAY,WACVA,GAAwB,gBAmD5B96D,GAAA,EAAYZ,iBAAiBkoB,IAC7BtnB,GAAA,EAAWT,aAAa,IACxBS,GAAA,EAAaT,cAAa,SAAUF,GAClC,OAAOA,EAAG,CACRi9D,gBAAiB,EACjB/F,YAAaA,OAGF,OA9Cf,SAA4BgG,GAC1B,OAAOA,EAAUp9D,QAAO,SAAUq9D,GAEhC,OADeA,EAAMh3C,eAIzB,SAAmCi3C,GACjC,IAAIC,EAAOD,EAAMrkE,OAAO,GAAG,GACvBskE,IAAS/B,KAjBbnlE,SAAS8jB,iBAAiB,UAAW6iD,IACrC3mE,SAAS8jB,iBAAiB,WAAY,IACtCzV,OAAOyV,iBAAiB,OAAQ,KAkBhC,IAAIqjD,EAAWhC,GACXiC,EAAWD,GAAYD,GAAQA,EAAKhsD,KAAOisD,EAASjsD,GACxDiqD,GAAiB+B,EACbC,IAAaC,IACfD,EAAS31C,iBAEJy1C,EAAMt9D,QAAO,SAAU09D,GAE1B,OADSA,EAAMnsD,KACDisD,EAASjsD,MACtBvc,QAEDwoE,EAASh2C,aAAa+1C,IAGtBA,GACF9B,GAAkB,KACbgC,GAAYD,EAASt3C,WAAaq3C,EAAKr3C,UAC1Cq3C,EAAK51C,eAEP,KACA,YAAY,MAnCdtxB,SAASokB,oBAAoB,UAAWuiD,IACxC3mE,SAASokB,oBAAoB,WAAY,IACzC/V,OAAO+V,oBAAoB,OAAQ,IAoCjCghD,GAAkB,QAYP,EAzEI,WACjB,OAAO,S,mBE9JT,SAAShoB,EAAgB93C,EAAGG,GAK1B,OAJAsN,EAAO/H,QAAUoyC,EAAkBt7C,OAAOu7C,eAAiBv7C,OAAOu7C,eAAe5uC,OAAS,SAAyBnJ,EAAGG,GAEpH,OADAH,EAAEg4C,UAAY73C,EACPH,GACNyN,EAAO/H,QAAQC,YAAa,EAAM8H,EAAO/H,QAAiB,QAAI+H,EAAO/H,QACjEoyC,EAAgB93C,EAAGG,GAE5BsN,EAAO/H,QAAUoyC,EAAiBrqC,EAAO/H,QAAQC,YAAa,EAAM8H,EAAO/H,QAAiB,QAAI+H,EAAO/H,S,kCCNvG,IAAIssC,EAAkB,EAAQ,QAC1BgwB,EAAkB,EAAQ,QAC1BC,EAAoB,EAAQ,QAG5BC,EAAe,SAAUC,GAC3B,OAAO,SAAUC,EAAOh4D,EAAIi4D,GAC1B,IAGIhkE,EAHA1B,EAAIq1C,EAAgBowB,GACpB/oE,EAAS4oE,EAAkBtlE,GAC3BqE,EAAQghE,EAAgBK,EAAWhpE,GAIvC,GAAI8oE,GAAe/3D,GAAOA,GAAI,KAAO/Q,EAAS2H,GAG5C,IAFA3C,EAAQ1B,EAAEqE,OAEI3C,EAAO,OAAO,OAEvB,KAAMhF,EAAS2H,EAAOA,IAC3B,IAAKmhE,GAAenhE,KAASrE,IAAMA,EAAEqE,KAAWoJ,EAAI,OAAO+3D,GAAenhE,GAAS,EACnF,OAAQmhE,IAAgB,IAI9B10D,EAAO/H,QAAU,CAGfo5B,SAAUojC,GAAa,GAGvB/kE,QAAS+kE,GAAa,K,mBC1BxBz0D,EAAO/H,QALP,SAAgC+e,GAC9B,OAAOA,GAAOA,EAAI9e,WAAa8e,EAAM,CACnC,QAAWA,IAG0BhX,EAAO/H,QAAQC,YAAa,EAAM8H,EAAO/H,QAAiB,QAAI+H,EAAO/H,S,kCCL/F,SAAS0e,EAAQK,GAG9B,OAAOL,EAAU,mBAAqBxW,QAAU,iBAAmBA,OAAOE,SAAW,SAAU2W,GAC7F,cAAcA,GACZ,SAAUA,GACZ,OAAOA,GAAO,mBAAqB7W,QAAU6W,EAAI2gB,cAAgBx3B,QAAU6W,IAAQ7W,OAAOxT,UAAY,gBAAkBqqB,IAC/GA,GAPb,mC,kCCCA,IAAIgpC,EAAsB,EAAQ,QAE9BvxC,EAAMhgB,KAAKggB,IAIfzO,EAAO/H,QAAU,SAAU4b,GACzB,OAAOA,EAAW,EAAIpF,EAAIuxC,EAAoBnsC,GAAW,kBAAoB,I,kCCR/E,6GAMI3S,EAAiBC,EAAkBC,EAAkBC,EAAkBC,EAAkBC,EAAkBC,EAAkBC,EAAkBojB,EAAkBgwC,EAAmBC,EAAmBC,EAAmBC,EAAmBC,EAAmBC,EAAmBC,EAAmBC,EAAmBC,EAAmBC,EAAmBC,EAAmBC,EAAmBC,EAAmBC,EAAmBC,EAAmBC,EAAmBC,EAAmBC,EAAmBC,EAAmBC,EAAmBC,EAAmBC,EAAmBC,EAAmBC,EAAmBC,EAAmBC,EAAmBC,EAAmBC,EAAmBC,EAAmBC,EAAmBC,EAAmBC,EAAmBC,EAAmBC,EAAmBC,EAAmBC,EAAmBC,EAAmBC,EAAmBC,EAAmBC,EAAmBC,EAAmBC,EAAmBC,GANn8B,2FAOA,SAAS1hE,GAAOoM,GAEd,IAAKlT,OAAOmT,KAAKD,GAAQrW,OAEvB,OADA4T,QAAQC,KAAK,qGACN,GAET,IAAIiD,EAAaT,EAAOS,WACtBC,EAAaV,EAAOU,WACpB60D,GAAav1D,EAAOu1D,WACpBC,GAAgBx1D,EAAOw1D,cACvBC,GAAiBz1D,EAAOy1D,eACxB30D,GAAiBd,EAAOc,eACxB40D,GAAiB11D,EAAO01D,eACxBC,GAAiB31D,EAAO21D,eACxBC,GAAkB51D,EAAO41D,gBAGvBC,GAAgB,CAClBj0B,GAAI6zB,GACJhZ,GAAI37C,GACJ+gC,GAAI6zB,GACJhZ,GAAIiZ,GACJG,IAAKF,IAEHG,GAAe,aAAI92D,IAAoBA,EAAkB,aAAuB,CAAC,yFAA0F,wBAAyB,WAAYyB,EAAYA,GAC5Ns1D,GAAmB,WACrB,OAAO,aAAI92D,IAAqBA,EAAmB,aAAuB,CAAC,sBAAuB,0BAA2B,WAAYuB,EAAYA,IAEnJw1D,GAAoB,SAAU9pE,EAAG+pE,GACnC,IAAIC,EAAQhqE,EAAI,GAAK,IACjBiqE,EAAW,MAAM5iE,OAAO0iE,EAAa,IAAMA,EAAa,GAAI,KAAK1iE,OAAOrH,GAC5E,OAAO,aAAIgT,IAAqBA,EAAmB,aAAuB,CAAC,kBAAmB,0BAA2B,uBAAwB,wBAAyB,cAAei3D,EAAUD,EAAOA,EAAOA,IAU/M/c,GAAQ,SAAUid,EAAKH,GACzB,IAAIE,EAAW,QAAQ5iE,OAAO0iE,EAAa,IAAMA,EAAa,GAAI,KAAK1iE,OAAO6iE,GAC9E,OAAO,aAAIh3D,IAAqBA,EAAmB,aAAuB,CAAC,kBAAmB,4BAA6B,mBAAoB,aAAc+2D,EAAUC,EAAKA,IAQ1K/pD,GAAS,SAAU+pD,EAAKH,GAC1B,IAAIE,EAAW,SAAS5iE,OAAO0iE,EAAa,IAAMA,EAAa,GAAI,KAAK1iE,OAAO6iE,GAC/E,OAAO,aAAI92D,IAAqBA,EAAmB,aAAuB,CAAC,kBAAmB,yBAA0B,cAAe62D,EAAUC,EAAM,GAAK,MAqB1Jt3B,GAAU,SAAUu3B,EAAUJ,GAChC,IAAIE,EAAW,UAAU5iE,OAAO0iE,EAAa,IAAMA,EAAa,GAAI,KAAK1iE,OAAO8iE,GAChF,OAAO,aAAI1D,IAAsBA,EAAoB,aAAuB,CAAC,kBAAmB,qBAAsB,aAAcwD,EAAUE,IAK5IvsE,GAAY,aAAI+oE,IAAsBA,EAAoB,aAAuB,CAAC,sEAAuE,wBAAyB,gFAAiF,6BAA8B,0BAA2B,uBAAwB,sCAAuC,6BAA8B,0BAA2B,uBAAwB,sCAAuC,6BAA8B,0BAA2B,uBAAwB,sCAAuC,6BAA8B,0BAA2B,uBAAwB,kBAAmBpyD,EAAYA,EAAY+0D,GAAgBF,GAAYA,GAAYE,GAAgB30D,GAlExwB,oBAkEo0BA,GAAgB40D,GAlEp1B,oBAkEg5BA,GAAgBC,GAlEh6B,oBAkE49BA,IACn/BY,GAAkB,aAAIxD,IAAsBA,EAAoB,aAAuB,CAAC,wEAAyE,wBAAyB,sEAAuE,+BAAgC,6BAA8B,0BAA2B,uBAAwB,sCAAuC,6BAA8B,0BAA2B,uBAAwB,kBAnEnd,oBAmEkhB6C,GAAiB90D,GAAgB00D,GAAeA,GAAeI,GAAiBA,GAlE3mB,cAkEspBA,IACpqBY,GAAM,aAAIxD,IAAsBA,EAAoB,aAAuB,CAAC,wIAAyI,wBAAyB,WAAYtyD,EAAYA,GACtQ+1D,GAAgB,aAAIxD,IAAsBA,EAAoB,aAAuB,CAAC,uJACtFyD,GAAiB,aAAIxD,IAAsBA,EAAoB,aAAuB,CAAC,uEAAwE,wBAAyB,4DAA6DxyD,EAAYA,GACjQi2D,GAAW,aAAIxD,IAAsBA,EAAoB,aAAuB,CAAC,yLACjFyD,GAAM,aAAIxD,IAAsBA,EAAoB,aAAuB,CAAC,0BAA2B,oIAAqI2C,IAC5Oc,GAAU,aAAIxD,IAAsBA,EAAoB,aAAuB,CAAC,+BAAgC,iGAAkG0C,IAClNe,GAAgB,aAAIxD,IAAsBA,EAAoB,aAAuB,CAAC,sCAAuC,UAAW0C,MACxIe,GAAc,aAAIxD,IAAsBA,EAAoB,aAAuB,CAAC,oCAAqC,UAAW,4BAA6B,8FAA+FwC,GAAcC,KAAoBP,IAClSuB,GAAc,aAAIxD,IAAsBA,EAAoB,aAAuB,CAAC,oCAAqC,UAAW,4BAA6B,2FAA4FuC,GAAcC,KAAoBP,IAC/RwB,GAAc,aAAIxD,IAAsBA,EAAoB,aAAuB,CAAC,qCAAsC,UAAW,4BAA6B,2FAA4FsC,GAAcC,KAAoBP,IAChSyB,GAAc,aAAIxD,IAAsBA,EAAoB,aAAuB,CAAC,qCAAsC,UAAW,4BAA6B,2FAA4FqC,GAAcC,KAAoBP,IAChS0B,GAAc,aAAIxD,IAAsBA,EAAoB,aAAuB,CAAC,oCAAqC,UAAW,gGAAiGoC,GAAcC,MACnPoB,GAAa,aAAIxD,IAAsBA,EAAoB,aAAuB,CAAC,6EACnFyD,GAAY,aAAIxD,IAAsBA,EAAoB,aAAuB,CAAC,4EAClFyD,GAAQ,aAAIxD,IAAsBA,EAAoB,aAAuB,CAAC,6BAA8B,6BAA8B,uJAAwJiC,GAAcN,IAChT8B,GAAY,aAAIxD,IAAsBA,EAAoB,aAAuB,CAAC,kCAAmC,6BAA8B,kHAAmHgC,GAAcN,IACpR+B,GAAQ,aAAIxD,IAAsBA,EAAoB,aAAuB,CAAC,gDAAiD,cAAe,qJAAsJlzD,GAAgBi1D,IACpT0B,GAAY,aAAIxD,IAAsBA,EAAoB,aAAuB,CAAC,kCAAmC,6BAA8B,kHAAmH8B,GAAcj1D,IACpR42D,GAAQ,aAAIxD,IAAsBA,EAAoB,aAAuB,CAAC,6BAA8B,6BAA8B,uJAAwJ6B,GAAcL,IAChTiC,GAAY,aAAIxD,IAAsBA,EAAoB,aAAuB,CAAC,kCAAmC,6BAA8B,kHAAmH4B,GAAcL,IACpRkC,GAAQ,aAAIxD,IAAsBA,EAAoB,aAAuB,CAAC,6BAA8B,6BAA8B,uJAAwJ2B,GAAcJ,IAChTkC,GAAY,aAAIxD,IAAsBA,EAAoB,aAAuB,CAAC,kCAAmC,6BAA8B,kHAAmH0B,GAAcJ,IACpRmC,GAAS,aAAIxD,IAAsBA,EAAoB,aAAuB,CAAC,8BAA+B,6BAA8B,uJAAwJyB,GAAcH,IAClTmC,GAAa,aAAIxD,IAAsBA,EAAoB,aAAuB,CAAC,mCAAoC,6BAA8B,kHAAmHwB,GAAcH,IACtRoC,GAAe,aAAIxD,IAAsBA,EAAoB,aAAuB,CAAC,wDAAyD,iEAAkEiB,IAChNwC,GAAc,aAAIxD,IAAsBA,EAAoB,aAAuB,CAAC,uDAAwD,iEAAkEgB,IAC9MyC,GAAe,aAAIxD,IAAsBA,EAAoB,aAAuB,CAAC,wDAAyD,iEAAkE5zD,IAChNq3D,GAAc,aAAIxD,IAAsBA,EAAoB,aAAuB,CAAC,uDAAwD,iEAAkE7zD,IAC9Ms3D,GAAe,aAAIxD,IAAsBA,EAAoB,aAAuB,CAAC,wDAAyD,iEAAkEc,IAChN2C,GAAc,aAAIxD,IAAsBA,EAAoB,aAAuB,CAAC,uDAAwD,iEAAkEa,IAC9M4C,GAAe,aAAIxD,IAAsBA,EAAoB,aAAuB,CAAC,wDAAyD,iEAAkEa,IAChN4C,GAAc,aAAIxD,IAAsBA,EAAoB,aAAuB,CAAC,uDAAwD,iEAAkEY,IAC9M6C,GAAgB,aAAIxD,IAAsBA,EAAoB,aAAuB,CAAC,yDAA0D,iEAAkEY,IAClN6C,GAAe,aAAIxD,IAAsBA,EAAoB,aAAuB,CAAC,wDAAyD,iEAAkEW,IAChN8C,GAAsB,aAAIxD,IAAsBA,EAAoB,aAAuB,CAAC,iIAC5FyD,GAAoB,aAAIxD,IAAsBA,EAAoB,aAAuB,CAAC,2HAC1FyD,GAAuB,aAAIxD,IAAsBA,EAAoB,aAAuB,CAAC,+HAC7FyD,GAAwB,aAAIxD,IAAsBA,EAAoB,aAAuB,CAAC,wIAC9FyD,GAAuB,aAAIxD,KAAsBA,GAAoB,aAAuB,CAAC,yIACjG,MAAO,CACLyD,gBAAiB,SAAyB5qC,GACxC,OAAOA,GAAsB,iBAARA,EAAmBA,EAAIpW,OAAO,GAAGsU,cAAgB8B,EAAIvgC,MAAM,GAAKugC,GAEvFpkC,UAAWA,GACXwsE,gBAAiBA,GACjBC,IAAKA,GACLC,cAAeA,GACfC,eAAgBA,GAChBC,SAAUA,GACVZ,aAAcA,GACda,IAAKA,GACLC,QAASA,GACTC,cAAeA,GACfC,YAAaA,GACbC,YAAaA,GACbC,YAAaA,GACbC,YAAaA,GACbC,YAAaA,GACb6B,WA7Ee,SAAU9C,EAAY/pE,GACrC,OAAI+pE,GAAc/pE,EA9BI,SAAUA,GAChC,IAAI+pE,EAAaz0D,UAAU9X,OAAS,QAAsBS,IAAjBqX,UAAU,GAAmBA,UAAU,GAAK,KACrF,OAAO,aAAIrC,IAAqBA,EAAmB,aAAuB,CAAC,WAAY,+BAAgC,gBAAiB,qBAAsB22D,GAAcF,GAAcK,GAAaD,GAAkB9pE,EAAG+pE,IA6BnN+C,CAAkB9sE,EAAG+pE,IACnB/pE,QAAqB/B,IAAf8rE,GAA2C,KAAfA,EAGtC,GAFE,aAAItzC,IAAqBA,EAAmB,aAAuB,CAAC,aAAc,cAAe,cAAemzC,GAAcE,GAAkB9pE,KA0EzJ+sE,aAAc,SAAsBhD,EAAY/pE,GAC9C,OAAI+pE,GAAc/pE,EAhGA,SAAUA,GAC9B,IAAI+pE,EAAaz0D,UAAU9X,OAAS,QAAsBS,IAAjBqX,UAAU,GAAmBA,UAAU,GAAK,KACrF,OAAO,aAAInC,IAAqBA,EAAmB,aAAuB,CAAC,8BAA+B,gBAAiB,qBAAsBu2D,GAAcK,GAAa9c,GAAMjtD,EAAG+pE,IA+F1KiD,CAAgBhtE,EAAG+pE,GAErB9c,GAAMjtD,IAEfitE,cAAe,SAAuBlD,EAAY/pE,GAChD,OAAI+pE,GAAc/pE,EA5FC,SAAUA,GAC/B,IAAI+pE,EAAaz0D,UAAU9X,OAAS,QAAsBS,IAAjBqX,UAAU,GAAmBA,UAAU,GAAK,KACrF,OAAO,aAAIjC,IAAqBA,EAAmB,aAAuB,CAAC,8BAA+B,gBAAiB,sBAAuBq2D,GAAcK,GAAa5pD,GAAOngB,EAAG+pE,IA2F5KmD,CAAiBltE,EAAG+pE,GAEtB5pD,GAAOngB,IAEhBmtE,eAAgB,SAAwBpD,EAAYI,GAClD,OAAIJ,GAAcI,EA7EE,SAAUJ,EAAYI,GAC5C,OAAO,aAAIzD,IAAsBA,EAAoB,aAAuB,CAAC,8BAA+B,gBAAiB,qBAAsBgD,GAAcK,GAAan3B,GAAQu3B,EAAUJ,IA4E3JqD,CAAkBrD,EAAYI,GAC1Dv3B,GAAQu3B,IAEjBc,WAAYA,GACZC,UAAWA,GACXC,MAAOA,GACPC,UAAWA,GACXC,MAAOA,GACPC,UAAWA,GACXC,MAAOA,GACPC,UAAWA,GACXC,MAAOA,GACPC,UAAWA,GACXC,OAAQA,GACRC,WAAYA,GACZC,aAAcA,GACdC,YAAaA,GACbC,aAAcA,GACdC,YAAaA,GACbC,aAAcA,GACdC,YAAaA,GACbC,aAAcA,GACdC,YAAaA,GACbC,cAAeA,GACfC,aAAcA,GACdC,oBAAqBA,GACrBC,kBAAmBA,GACnBC,qBAAsBA,GACtBC,sBAAuBA,GACvBC,qBAAsBA,IAG1B,IAAItzD,GAAY,CAAC,KAAM,QAAS,OAAQ,MAAO,aAC3Cg0D,GAAW,SAAUC,EAAOC,EAAM5D,EAAKlvD,GACzC,OAAI8yD,EACK9yD,EAAQ6vD,cAEbgD,EACK7yD,EAAQ8vD,eAEbZ,EACKlvD,EAAQ2vD,gBAEV3vD,EAAQ7c,WAEb6xB,GAAY,SAAUvkB,GACxB,IAAIyzB,EAAUzzB,EAAK4Q,GACjBA,OAAiB,IAAZ6iB,EAAqB,MAAQA,EAClC6uC,EAAatiE,EAAKoiE,MAClBA,OAAuB,IAAfE,GAAgCA,EACxCC,EAAYviE,EAAKqiE,KACjBA,OAAqB,IAAdE,GAA+BA,EACtCC,EAAWxiE,EAAKy+D,IAChBA,OAAmB,IAAb+D,GAA8BA,EACpC5gE,EAAY5B,EAAK4B,UACjBlK,EAAQ,aAAyBsI,EAAMmO,IACrCxF,EAAS,eACT4G,EAAU,oBAAQ,WACpB,OAAOhT,GAAOoM,KACb,CAACA,IACJ,OAAO,aAAIiI,EAAI,aAAS,CACtBJ,IAAK2xD,GAASC,EAAOC,EAAM5D,EAAKlvD,GAChC3N,UAAWA,EACX,iBAAkB,cACjBlK,KAEDohB,GAAc,CAAC,KAAM,YAAa,QAClC2pD,GAAQ,CAAC,KAAM,KAAM,KAAM,KAAM,KAAM,OAEvCC,GAAgB,SAAUL,EAAM3qE,EAAO6X,GACzC,IAAIozD,EAAQ,GACRC,EAAU,GACd,GAAIP,EAAM,CACR,IAAIQ,EACAC,EAAoE,QAArDD,EAAwBtzD,EAAQmyD,uBAAuD,IAA1BmB,OAAmC,EAASA,EAAsBxnE,KAAKkU,EAAS8yD,GAChKO,EAAQ/vE,KAAK0c,EAAQ,UAAUpT,OAAO2mE,KA2DxC,OAxDAL,GAAMjvE,SAAQ,SAAUqrE,GACtB,IAEIkE,EAAM9tD,EAAQ8sC,EAAOra,EAFrBs7B,EAAYtrE,EAAMmnE,UACfnnE,EAAMmnE,GAGc,WAAvB,aAAQmE,IACVD,EAAOC,EAAUD,OAAQ,EACzB9tD,EAAS+tD,EAAU/tD,OACnB8sC,EAAQihB,EAAUjhB,MAClBra,EAAUs7B,EAAUt7B,UAEpBq7B,EAAOC,EACkB,kBAAdA,IACTt7B,EAAUs7B,EAAY,QAAU,SAGpC,IAGMC,EAHFC,EAAQ,GACVC,EAAc,GACG,OAAftE,IAEFqE,EAA+D,QAAtDD,EAAyB1zD,EAAQmyD,uBAAwD,IAA3BuB,OAAoC,EAASA,EAAuB5nE,KAAKkU,EAASsvD,GACzJsE,EAActE,GAIhB,IAA2BuE,EACrBC,EAAoBC,EAYpBC,EAKAC,EAKAC,QAfc,IAATV,GACTJ,EAAM9vE,MAPU,KAFSuwE,EASHL,GANbxzD,EAAQ,GAAGpT,OAtCT,OAsC4BA,OAAO+mE,IAEpB,iBAAZE,EAAqE,QAA7CC,EAAqB9zD,EAAQoyD,kBAA+C,IAAvB0B,OAAgC,EAASA,EAAmBhoE,KAAKkU,EAAS4zD,EAAaC,GAAW7zD,EAAQ,GAAGpT,OAxC7L,OAwCgNA,OAAO+mE,GAAO/mE,OAA8D,QAAtDmnE,EAAyB/zD,EAAQmyD,uBAAwD,IAA3B4B,OAAoC,EAASA,EAAuBjoE,KAAKkU,EAAS6zD,WAO9W,IAAVrhB,IAET6gB,EAAQ/vE,KAAuD,QAAjD0wE,EAAuBh0D,EAAQsyD,oBAAmD,IAAzB0B,OAAkC,EAASA,EAAqBloE,KAAKkU,EAAS4zD,EAAaphB,SAG9I,IAAX9sC,GAET2tD,EAAQ/vE,KAAyD,QAAnD2wE,EAAwBj0D,EAAQwyD,qBAAqD,IAA1ByB,OAAmC,EAASA,EAAsBnoE,KAAKkU,EAAS4zD,EAAaluD,SAGjJ,IAAZyyB,GAETk7B,EAAQ/vE,KAA0D,QAApD4wE,EAAwBl0D,EAAQ0yD,sBAAsD,IAA1BwB,OAAmC,EAASA,EAAsBpoE,KAAKkU,EAAS4zD,EAAaz7B,OAItKi7B,EAAMrwE,QAAW+vE,GACpBM,EAAM9vE,KAAK0c,EAAQ,GAAGpT,OAhET,SAkER,GAAGA,OAAOwmE,EAAOC,IAEtBc,GAAM,SAAU1jE,GAClB,IAAIyzB,EAAUzzB,EAAK4Q,GACjBA,OAAiB,IAAZ6iB,EAAqB,MAAQA,EAClC7xB,EAAY5B,EAAK4B,UACjBygE,EAAOriE,EAAKqiE,KACZ3qE,EAAQ,aAAyBsI,EAAM8Y,IACrCnQ,EAAS,eACT4G,EAAU,oBAAQ,WACpB,OAAOhT,GAAOoM,KACb,CAACA,IACJ,OAAO,aAAIiI,EAAI,aAAS,CACtBJ,IAAKkyD,GAAcL,EAAM3qE,EAAO6X,GAChC3N,UAAWA,GACVlK,EAAO,CACR,YAAa,WAGbkzC,GAAc,CAAC,KAAM,YAAa,YAAa,SAC/C+4B,GAAM,SAAU3jE,GAClB,IAAI6iE,EACApvC,EAAUzzB,EAAK4Q,GACjBA,OAAiB,IAAZ6iB,EAAqB,MAAQA,EAClC7xB,EAAY5B,EAAK4B,UACjBgiE,EAAiB5jE,EAAK6jE,UACtBA,OAA+B,IAAnBD,GAAoCA,EAChDE,EAAa9jE,EAAK+jE,MAClBA,OAAuB,IAAfD,EAAwB,KAAOA,EACvCpsE,EAAQ,aAAyBsI,EAAM4qC,IACrCjiC,EAAS,eACT4G,EAAU,oBAAQ,WACpB,OAAOhT,GAAOoM,KACb,CAACA,IAGAq7D,EAAeD,GAA0B,iBAAVA,EAA2E,QAArDlB,EAAwBtzD,EAAQmyD,uBAAuD,IAA1BmB,OAAmC,EAASA,EAAsBxnE,KAAKkU,EAASw0D,GAASA,EAC3MhwC,EAAS,CAACxkB,EAAQ4vD,IAAK0E,GAAat0D,EAAQ+vD,SAAUyE,GAASx0D,EAAQ,iBAAiBpT,OAAO6nE,KACnG,OAAO,aAAIpzD,EAAI,aAAS,CACtBJ,IAAKujB,EACLnyB,UAAWA,EACX,iBAAkB,cACjBlK,M,4MChVE,MAAMusE,EAAsB,CACjCp1D,GAAG,mBACH/M,MAAO,CACL6gB,SAAS,WACT1S,IAAK,EACL0H,MAAO,EACP4U,OAAQ,EACR23C,QAAS,EACTC,SAAS,SACTC,KAAK,mBACLC,WAAW,SACX9zC,OAAQ,GAEV,YAAY,YACZ,cAAc,Q,4BCHhB,MAAM+zC,EAAc,IAAI1jD,IAClB2jD,EAAwB,IAAI3jD,IAUlC,SAAS4jD,EAAcjiE,GACrB,IAAIkiE,EAAWH,EAAY5pE,IAAI6H,GAK/B,OAJKkiE,IACHA,EAAWF,EAAsB7pE,IAAI6H,EAASwU,gBAGhC,MAAZ0tD,IASFziE,OAAOuE,WAAWk+D,EAASC,SACpB,GAxBXC,EAAUnxE,QAAQixE,IACZA,EAASG,WACXL,EAAsB5pE,IAAI8pE,EAASI,SAAUJ,GAE7CH,EAAY3pE,IAAI8pE,EAASI,SAAUJ,KA0BvC,MAAMK,EAAmBA,CAAC1jE,EAAU2jE,KAC7BP,EAAcpjE,EAASmB,WAC1B4kD,oBAAU,mBAAoB,CAAE/lD,WAAU2jE,kBAIxCtf,EAAgBA,CAACrkD,EAAU2jE,KAC1BP,EAAcpjE,EAASmB,WAC1B4kD,oBAAU,gBAAiB,CAAE/lD,WAAU2jE,kBAUrC7lE,EAAW,SAACuD,EAAI1Q,GAIpB,QAJ2B,IAAPA,MAAU,IAIjB,iBAAF0Q,EAET,YADA26B,IAAcl+B,SAASuD,GAIzB,IAAI,SAAEF,GAAa1C,oBAAU4C,GACzBgiE,EAAWH,EAAY5pE,IAAI6H,GAc/B,GAbKkiE,IACHA,EAAWF,EAAsB7pE,IAAI6H,EAASwU,gBAK5C0tD,IACFhiE,EAAKgiE,EAASC,OACdniE,EAAW1C,oBAAU4C,GAAIF,UAKvBP,OAAOkqD,aAET,YADAlqD,OAAOZ,SAAWmB,GAMpB,MAAMyiE,EAAY10D,WAAW,KAC3B0V,IAAQO,KAAK,6BAA8B,CAAEhkB,aAC7C4kD,oBAAU,uBAAwB,CAChC/lD,SAAUY,OAAOZ,YAElB,KAEHgmD,UAAO6d,SAAS1iE,GAAUvE,KAAK8oD,IAO7B,IAAKA,GAAiBA,EAAcoe,SAAWC,qBAAmBjoE,MAIhE,OAHA8E,OAAOq5B,QAAQc,aAAa,GAAG,GAAK/6B,SAASqE,MAC7CzD,OAAOZ,SAAWmB,OAClBoU,aAAaquD,GAM8Ble,GAEzCA,EAAczQ,KAAK+uB,yBACnBpjE,OAAOqjE,4BAIL,kBAAmB9tC,WACoB,OAAvCA,UAAUq0B,cAAcK,YACgB,cAAxC10B,UAAUq0B,cAAcK,WAAW/pD,OAEnCq1B,UAAUq0B,cAAcK,WAAWqZ,YAAY,CAC7CC,UAAU,uBAIdvjE,OAAOZ,SAAWmB,GAGtBijE,mBAAc/iE,EAAI1Q,GAClB4kB,aAAaquD,MAIjB,SAASxlB,EAAmBE,EAAe1/C,GAAiB,IAAf,SAAEoB,GAAUpB,EACvD,MAAM,SAAEuC,EAAQ,KAAEu4B,GAAS15B,EACrBqkE,EAAUte,oBAAU,qBAAsB,CAC9CzH,kBAEAn9C,WACAo9C,YAAa,CAAEv+C,YACfskE,uBAAwBv7D,GAAQ,CAC9B,EACAlY,KAAKmtD,cAAcniD,KAAKkN,EAAMA,EAAKhX,QAGvC,GAAIsyE,EAAQnzE,OAAS,EAGnB,OAAOmzE,EAAQA,EAAQnzE,OAAS,GAGlC,GAAIotD,EAAiB,CACnB,MACEt+C,UAAYmB,SAAUojE,IACpBjmB,EACJ,GAAIimB,IAAgBpjE,EAGlB,OAAOu4B,EAAOM,UAAUN,EAAKvkC,MAAM,IAAM,CAAC,EAAG,GAGjD,OAAO,EAgBR,IAEKqvE,EAAc,SAAArkE,GAClB,SAAAqkE,EAAYluE,GAAQ,IAAD1F,EAEuB,OADxCA,EAAAuP,EAAAlG,KAAA,KAAM3D,IAAM,MACPmuE,gBAAkBjlC,IAAMklC,YAAW9zE,EAHxB60D,YAAA+e,EAAArkE,GAIjB,IAAAnO,EAAAwyE,EAAAvyE,UAwBA,OAxBAD,EAEDyP,mBAAA,SAAmBC,EAAWijE,GAC5BC,sBAAsB,KACpB,IAAIC,EAAQ,eAAkBh0E,KAAKyF,MAAM0J,SAASmB,SAC9C5O,SAAS6kB,QACXytD,EAAWtyE,SAAS6kB,OAEtB,MAAM0tD,EAAevyE,SAASwH,iBAAiB,4BAC3C+qE,GAAgBA,EAAa5zE,SAC/B2zE,EAAWC,EAAa,GAAGC,aAE7B,MAAMC,EAAe,gBAAmBH,EACxC,GAAIh0E,KAAK4zE,gBAAgBrlE,QAAS,CACRvO,KAAK4zE,gBAAgBrlE,QAAQ6lE,YAC7BD,IACtBn0E,KAAK4zE,gBAAgBrlE,QAAQ6lE,UAAYD,OAIhDhzE,EAED8Q,OAAA,WACE,OAAO08B,IAAAhtC,cAAA,MAAA6B,OAAAC,OAAA,GAASuuE,EAAmB,CAAEzgE,IAAKvR,KAAK4zE,oBAChDD,EA5BiB,CAAShlC,IAAMl7B,WA+BnC,MAAM4gE,EAAuBA,CAACvB,EAAcwB,KAAkB,IAADC,EAAAC,EAC3D,OAAI1B,EAAat/D,OAAS8gE,EAAa9gE,OAInCs/D,SAAmB,QAAPyB,EAAZzB,EAAc7iE,aAAK,IAAAskE,OAAP,EAAZA,EAAqBrzE,QAAQozE,SAAmB,QAAPE,EAAZF,EAAcrkE,aAAK,IAAAukE,OAAP,EAAZA,EAAqBtzE,MAOxD,IACMuzE,EAAY,SAAAC,GAChB,SAAAD,EAAYhvE,GAAQ,IAAD+L,EAEqB,OADtCA,EAAAkjE,EAAAtrE,KAAA,KAAM3D,IAAM,KACZotE,EAAiBptE,EAAM0J,SAAU,MAAKqC,EAHxBojD,YAAA6f,EAAAC,GAIf,IAAAC,EAAAF,EAAArzE,UA2BA,OA3BAuzE,EAED5jE,kBAAA,WACEyiD,EAAcxzD,KAAKyF,MAAM0J,SAAU,OACpCwlE,EAEDC,sBAAA,SAAsB/jE,GACpB,QAAIwjE,EAAqBxjE,EAAU1B,SAAUnP,KAAKyF,MAAM0J,YACtD0jE,EAAiB7yE,KAAKyF,MAAM0J,SAAU0B,EAAU1B,WACzC,IAGVwlE,EAED/jE,mBAAA,SAAmBC,GACbwjE,EAAqBxjE,EAAU1B,SAAUnP,KAAKyF,MAAM0J,WACtDqkD,EAAcxzD,KAAKyF,MAAM0J,SAAU0B,EAAU1B,WAEhDwlE,EAED1iE,OAAA,WACE,OACE08B,IAAAhtC,cAACgtC,IAAMpW,SAAQ,KACZv4B,KAAKyF,MAAMC,SACZipC,IAAAhtC,cAACgyE,EAAc,CAACxkE,SAAUA,aAG/BslE,EA/Be,CAAS9lC,IAAMl7B,W,iDCtOjC,SAASohE,EAAejyE,EAAGwE,GACzB,IAAK,IAAInF,KAAKW,EACZ,KAAMX,KAAKmF,GAAI,OAAO,EACvB,IAAK,IAAIwqD,KAAMxqD,EACd,GAAIxE,EAAEgvD,KAAQxqD,EAAEwqD,GAAK,OAAO,EAC7B,OAAO,E,ykBCyFKkjB,MA5FM,SAAAxlE,GACnB,SAAAwlE,EAAYrvE,GAAQ,IAAD1F,EACjBA,EAAAuP,EAAAlG,KAAA,OAAO,KACP,MAAM,SAAE+F,EAAQ,cAAE0lD,GAAkBpvD,EAInC,OAHD1F,EAAKkQ,MAAQ,CACXd,SAAQsnB,EAAA,GAAOtnB,GACf0lD,cAAeA,GAAiBM,UAAO4f,aAAa5lE,EAASmB,WAC9DvQ,EAPgB60D,YAAAkgB,EAAAxlE,GAQlBwlE,EAEMloD,yBAAP,SAAA7e,EAA8C+C,GAAY,IAA1B,SAAE3B,GAAUpB,EAC1C,GAAI+C,EAAU3B,SAASqE,OAASrE,EAASqE,KAAM,CAE7C,MAAO,CACLqhD,cAFoBM,UAAO4f,aAAa5lE,EAASmB,UAGjDnB,SAAQsnB,EAAA,GAAOtnB,IAInB,MAAO,CACLA,SAAQsnB,EAAA,GAAOtnB,KAElB,IAAAhO,EAAA2zE,EAAA1zE,UAmEA,OAnEAD,EAED6zE,cAAA,SAAc/wB,GACZkR,UAAO6d,SAAS/uB,GAASl4C,KAAK8oD,IACxBA,GAAiBA,EAAcoe,SAAWC,qBAAmBjoE,MAC/DjL,KAAKof,SAAS,CACZjQ,SAAQsnB,EAAA,GAAO1mB,OAAOZ,UACtB0lD,mBAGF9kD,OAAOq5B,QAAQc,aAAa,GAAG,GAAK/6B,SAASqE,MAC7CzD,OAAOZ,SAAW80C,MAGvB9iD,EAEDyzE,sBAAA,SAAsBd,EAAWmB,GAE/B,OAAKA,EAAUpgB,cAcX70D,KAAKiQ,MAAM4kD,gBAAkBogB,EAAUpgB,gBAIzC70D,KAAKiQ,MAAM4kD,cAAcvnC,YAAc2nD,EAAUpgB,cAAcvnC,YAK7DttB,KAAKiQ,MAAM4kD,cAAc1L,OAAS8rB,EAAUpgB,cAAc1L,SAM5DnpD,KAAKiQ,MAAMd,SAASjO,MAAQ+zE,EAAU9lE,SAASjO,MAC/C+zE,EAAUpgB,cAAczQ,OACvB6wB,EAAUpgB,cAAczQ,KAAK50B,YAC5BylD,EAAUpgB,cAAczQ,KAAKt3C,ODlErB,gBACd,OAAO+nE,EAAe1jE,EAAS1L,MAAOquE,IAAce,EAAe1jE,EAASlB,MAAOglE,GCqE1Evc,CAAe14D,KAAM8zE,EAAWmB,OAnCrCj1E,KAAKg1E,cAAclB,EAAU3kE,SAASmB,WAC/B,IAmCVnP,EAED8Q,OAAA,WASE,OAAOjS,KAAKyF,MAAMC,SAAS1F,KAAKiQ,QACjC6kE,EAzFkB,CAASnmC,IAAMl7B,W,wBCwBpC,MAAM0hD,EAAS,IAAI+f,aAAWC,IAAevmD,GAC7CwmD,oBAAUjgB,GACVA,EAAOkgB,aAAangB,aAEpBnlD,OAAOolE,cAAgBA,IACvBplE,OAAOulE,WAAavhD,IACpBhkB,OAAOW,UAAY0kD,eH8IjBjqB,IAAczB,OAAOxxB,IACnBA,EAAK/I,SAAS06B,OAAS3xB,EAAK2xB,SAG9B95B,OAAOsE,QAAU7D,GAAMvD,EAASuD,EAAI,CAAEvM,SAAS,IAC/C8L,OAAOuE,WAAa9D,GAAMvD,EAASuD,EAAI,CAAEvM,SAAS,IAClD8L,OAAOwD,YAAc,CAAC/C,EAAI1Q,IAAYmN,EAASuD,EAAI1Q,GAGnDyyE,EAAcxiE,OAAOZ,SAASmB,UGnJhCilE,yBAAe,iBAAiBxpE,KAAK,KAG/BmpD,oBAAU,yBAAyB70D,OAAS,GAC9CutC,EAAQ,QAWV,MAAM4nC,EAAe/vE,GACnBkpC,IAAAhtC,cAAC8zE,cAAYt9C,SAAQ,CACnB9yB,MAAO,CACLqwE,QAAQ,IACRC,SAAS,MAGXhnC,IAAAhtC,cAACgzD,IAAiBlvD,IAIhBmwE,EAAcjnC,IAAM/W,cAAc,IAAG,IAErCi+C,EAAU,SAAAvmE,GAAA,SAAAumE,IAAA,OAAAvmE,EAAAsb,MAAA,KAAAzS,YAAA,KAqBb,OArBay8C,YAAAihB,EAAAvmE,GAAAumE,EAAAz0E,UACd6Q,OAAA,WACE,MAAM,SAAEvM,GAAa1F,KAAKyF,MAC1B,OACEkpC,IAAAhtC,cAACsN,WAAQ,KACNlB,IAAA,IAAC,SAAEoB,GAAUpB,EAAA,OACZ4gC,IAAAhtC,cAACmzE,EAAe,CAAC3lE,SAAUA,GACxBD,IAAkC,IAAjC,cAAE2lD,EAAa,SAAE1lD,GAAUD,EAC3B,MAAM4mE,EAAqBC,kCAC3B,OACEpnC,IAAAhtC,cAACq0E,qBAAmB79C,SAAQ,CAAC9yB,MAAOywE,GAClCnnC,IAAAhtC,cAACi0E,EAAYz9C,SAAQ,CAAC9yB,MAAO,CAAEwvD,gBAAe1lD,aAC3CzJ,SASlBmwE,EArBa,CAASlnC,IAAMl7B,WAwBzBwiE,EAAe,SAAAvB,GAAA,SAAAuB,IAAA,OAAAvB,EAAA9pD,MAAA,KAAAzS,YAAA,KAmClB,OAnCkBy8C,YAAAqhB,EAAAvB,GAAAuB,EAAA70E,UACnB6Q,OAAA,WACE,OACE08B,IAAAhtC,cAACi0E,EAAYM,SAAQ,KAClB1mE,IAAA,IAAC,cAAEqlD,EAAa,SAAE1lD,GAAUK,EAAA,OAC3Bm/B,IAAAhtC,cAAC8yE,EAAY,CAACtlE,SAAUA,GACtBw/B,IAAAhtC,cAAC6uB,gBAAa,CACZrhB,SAAUA,EACVo+C,mBAAoBA,GAEpB5e,IAAAhtC,cAACw0E,SAAM,CACLR,SAAU1mD,GACV9f,SAAUA,EACVyN,GAAG,wBAEH+xB,IAAAhtC,cAAC6zE,EAAYhyE,OAAAC,OAAA,CACXqJ,KACyB,cAAvB+nD,EAAczQ,KAAKt3C,KACfkiB,YAAY7f,EAASmB,SAAU2e,IAC/B3b,UACEuhD,EAAczQ,KAAK50B,WACjBqlC,EAAczQ,KAAKt3C,OAGzB9M,KAAKyF,MAAK,CACd0J,SAAUA,EACV0lD,cAAeA,GACXA,EAAc1L,aAQjC8sB,EAnCkB,CAAStnC,IAAMl7B,WAsCpC,MAAM,SAAE2iE,EAAUjnE,SAAUknE,GAAetmE,OAUzCqmE,GACAnnD,GAAgBmnD,IAAaC,EAAW/lE,YAEtC6kD,EAAO/lC,cAAcJ,YAAYqnD,EAAW/lE,SAAU2e,MAC9C,cAARmnD,GACAA,EAAStzC,MAAM,eACfszC,EAAStzC,MAAM,8CAGjB71B,mBAASgiB,GAAgBmnD,EAAWC,EAAWztC,OAASytC,EAAWxtC,KAAM,CACvE5kC,SAAS,IAIbmxD,eAAa4d,SAASqD,EAAW/lE,UAAUvE,KAAKq4C,IAC9C,IAAKA,GAAQA,EAAK6uB,SAAWC,qBAAmBjoE,MAC9C,MAAM,IAAIA,MAAM,sBACQorE,EAAW/lE,SAAQ,mCAI7CP,OAAOqjE,0BAA4BhvB,EAAKA,KAAK+uB,uBAE7C,MAAMmD,EAAWphB,oBAAU,kBAEzB,CAAE3sD,QAASomC,IAAAhtC,cAACs0E,EAAe,OAC3BtnC,IAAAhtC,cAACs0E,EAAe,MAChBlpB,IAAiB,IAAhB,OAAEthB,GAAQshB,EACT,MAAO,CAAExkD,QAASkjC,KAEpB6pB,MAEIihB,EAAMA,IAAM5nC,IAAAhtC,cAACk0E,EAAU,KAAES,GAEzBE,EAAWthB,oBAAU,8BAEzBp0D,EACA21E,IAASp1E,SACT,GAEFq1E,IAAS,KACPF,EACE7nC,IAAAhtC,cAAC40E,EAAG,MACS,oBAANxmE,OACHrO,SAASkhB,eAAe,kBACxB,EACJ,KACEsyC,oBAAU,kC,kCCxLpB,IAAI8H,EAAU,EAAQ,QAElB7uB,EAAU9qC,OAEdoR,EAAO/H,QAAU,SAAU4b,GACzB,GAA0B,WAAtB00C,EAAQ10C,GAAwB,MAAMie,UAAU,6CACpD,OAAO4H,EAAQ7lB,K,qBCPjB,IAAIy2B,EAAiB,EAAQ,QAM7BtqC,EAAO/H,QALP,SAAwBszC,EAAUC,GAChCD,EAAS5+C,UAAYoC,OAAOywB,OAAOgsB,EAAW7+C,WAC9C4+C,EAAS5+C,UAAUgrC,YAAc4T,EACjCjB,EAAeiB,EAAUC,IAEMxrC,EAAO/H,QAAQC,YAAa,EAAM8H,EAAO/H,QAAiB,QAAI+H,EAAO/H,S,kCCLtG,IAAIiqE,EAAU,EAAQ,QAClBC,EAAQ,EAAQ,SAEnBniE,EAAO/H,QAAU,SAAUxL,EAAKmE,GAC/B,OAAOuxE,EAAM11E,KAAS01E,EAAM11E,QAAiBJ,IAAVuE,EAAsBA,EAAQ,MAChE,WAAY,IAAIzE,KAAK,CACtBoT,QAAS,SACT6iE,KAAMF,EAAU,OAAS,SACzBG,UAAW,4CACXC,QAAS,2DACTniD,OAAQ,yC,kCCVV,IAAI9I,EAAa,EAAQ,QACrBwwB,EAAc,EAAQ,QACtB06B,EAA4B,EAAQ,QACpCC,EAA8B,EAAQ,QACtCC,EAAW,EAAQ,QAEnBhtE,EAASoyC,EAAY,GAAGpyC,QAG5BuK,EAAO/H,QAAUof,EAAW,UAAW,YAAc,SAAiBpX,GACpE,IAAIiC,EAAOqgE,EAA0BjwE,EAAEmwE,EAASxiE,IAC5CiZ,EAAwBspD,EAA4BlwE,EACxD,OAAO4mB,EAAwBzjB,EAAOyM,EAAMgX,EAAsBjZ,IAAOiC,I,kCCZ3E,IAAIpP,EAAI,EAAQ,QACZ6B,EAAO,EAAQ,QACfkzC,EAAc,EAAQ,QACtB9nC,EAAyB,EAAQ,QACjC4T,EAAa,EAAQ,QACrB8H,EAAoB,EAAQ,QAC5BitC,EAAW,EAAQ,QACnBvwB,EAAW,EAAQ,QACnBuqC,EAAY,EAAQ,QACpBC,EAAiB,EAAQ,QACzBC,EAAkB,EAAQ,QAC1B9rC,EAAkB,EAAQ,QAC1BorC,EAAU,EAAQ,QAElBW,EAAU/rC,EAAgB,WAC1BooB,EAAaptB,UACbpiC,EAAUm4C,EAAY,GAAGn4C,SACzBF,EAAUq4C,EAAY,GAAGr4C,SACzBw4C,EAAcH,EAAY,GAAGh4C,OAC7B6e,EAAMjgB,KAAKigB,IAEXo0D,EAAgB,SAAU5oE,EAAQ6oE,EAAanO,GACjD,OAAIA,EAAY16D,EAAOtO,QAAgB,EACnB,KAAhBm3E,EAA2BnO,EACxBllE,EAAQwK,EAAQ6oE,EAAanO,IAKtC9hE,EAAE,CAAEsK,OAAQ,SAAU4lE,OAAO,GAAQ,CACnCC,WAAY,SAAoBF,EAAaG,GAC3C,IACIC,EAAYC,EAAOC,EAAUnpE,EAAQopE,EAAcC,EAAmBC,EAAcC,EAAWn7B,EAD/Fp5C,EAAI6Q,EAAuBxU,MAE3B0wB,EAAW,EACXynD,EAAiB,EACjB1sC,EAAS,GACb,IAAKvb,EAAkBsnD,GAAc,CAEnC,IADAI,EAAaza,EAASqa,MAEpBK,EAAQjrC,EAASp4B,EAAuB4iE,EAAeI,OACjDrzE,EAAQ0zE,EAAO,MAAM,MAAMlkB,EAAW,mDAG9C,GADAmkB,EAAWX,EAAUK,EAAaF,GAEhC,OAAOluE,EAAK0uE,EAAUN,EAAa7zE,EAAGg0E,GACjC,GAAIhB,GAAWiB,EACpB,OAAO3zE,EAAQ2oC,EAASjpC,GAAI6zE,EAAaG,GAU7C,IAPAhpE,EAASi+B,EAASjpC,GAClBo0E,EAAenrC,EAAS4qC,IACxBQ,EAAoB5vD,EAAWuvD,MACPA,EAAe/qC,EAAS+qC,IAChDM,EAAeF,EAAa13E,OAC5B63E,EAAY/0D,EAAI,EAAG80D,GACnBvnD,EAAW6mD,EAAc5oE,EAAQopE,EAAc,IAC1B,IAAdrnD,GACLqsB,EAAci7B,EACVprC,EAAS+qC,EAAaI,EAAcrnD,EAAU/hB,IAC9C0oE,EAAgBU,EAAcppE,EAAQ+hB,EAAU,QAAI5vB,EAAW62E,GACnElsC,GAAUgR,EAAY9tC,EAAQwpE,EAAgBznD,GAAYqsB,EAC1Do7B,EAAiBznD,EAAWunD,EAC5BvnD,EAAW6mD,EAAc5oE,EAAQopE,EAAcrnD,EAAWwnD,GAK5D,OAHIC,EAAiBxpE,EAAOtO,SAC1BorC,GAAUgR,EAAY9tC,EAAQwpE,IAEzB1sC,M,mSCpEX,SAAS2sC,EAAmBC,EAAKvsE,EAAS6wD,EAAQ2b,EAAOC,EAAQr3E,EAAK6rC,GACpE,IACE,IAAImU,EAAOm3B,EAAIn3E,GAAK6rC,GAChB1nC,EAAQ67C,EAAK77C,MACjB,MAAO6iB,GAEP,YADAy0C,EAAOz0C,GAGLg5B,EAAKsb,KACP1wD,EAAQzG,GAERwG,QAAQC,QAAQzG,GAAO0G,KAAKusE,EAAOC,G,ICKnC5iE,EAAiBC,EAAkBC,EAAkBC,EAAkBC,EAAkBC,EAAkBC,EAAkBC,EAAkBojB,EAAkBgwC,EAAmBC,EAAmBC,EAAmBC,EAAmBC,EAAmBC,EAAmBC,EAAmBC,EAAmBC,EAAmBC,EAAmBC,EAAmBC,EAAmBC,EAAmBC,EAAmBC,EAAmBC,EAAmBC,EAAmBC,EAAmBC,EAAmBC,EAAmBC,EAAmBC,EAAmBC,EAAmBC,EAAmBC,EAAmBC,GAAmBC,GAAmBC,GAAmBC,GAAmBC,GAAmBC,GAAmBC,GAAmBC,GAAmBC,G,oDACxxB,SAASjhE,GAAOoM,GAEd,IAAKlT,OAAOmT,KAAKD,GAAQrW,OAEvB,OADA4T,QAAQC,KAAK,qGACN,GAET,IAAImD,EAAaX,EAAOW,WACtB03B,EAA2Br4B,EAAOq4B,yBAClCypC,EAAgB9hE,EAAO8hE,cACvBC,EAA0B/hE,EAAO+hE,wBACjCxM,EAAav1D,EAAOu1D,WACpB90D,EAAaT,EAAOS,WACpBK,EAAiBd,EAAOc,eACxB20D,EAAiBz1D,EAAOy1D,eACxBv1D,EAA4BF,EAAOE,0BACnCw1D,EAAiB11D,EAAO01D,eACxBsM,EAA0BhiE,EAAOgiE,wBACjCzhE,EAAoBP,EAAOO,kBAC3BG,EAAaV,EAAOU,WACpBF,EAAaR,EAAOQ,WACpByhE,GAA0BjiE,EAAOiiE,wBACjCl9D,GAAgB/E,EAAO+E,cACvBm9D,GAAgBliE,EAAOkiE,cACvBC,GAA2BniE,EAAOmiE,yBAClCC,GAAqBpiE,EAAOoiE,mBAC5BC,GAAgBriE,EAAOqiE,cACvB7M,GAAgBx1D,EAAOw1D,cACvBG,GAAiB31D,EAAO21D,eACtB50D,GAAc,YAAWf,GAC3BgB,GAAkBD,GAAYC,gBAC9BwlB,GAAYzlB,GAAYylB,UACxB+D,GAAexpB,GAAYwpB,aACzB1D,GAAgBL,GAAUK,cAE5B1lB,GADgB,YAAWnB,GACJoB,KACrBkhE,GAAoB,YAAK,OAAO9uE,OAAOmN,IACvC4hE,GAAuBlqC,EACvBmqC,GAA0BV,EAG1BW,GAAiB,YAAK,GAAGjvE,OAAOmiE,GAAgB,YAEhD+M,GAAgB,YAAK,GAAGlvE,OAAO+hE,EAAY,SAC3CoN,GAAgB,YAAK,GAAGnvE,OAAOmN,EAAY,SAC3CiiE,GAA0B,YAAK,GAAGpvE,OAAOsuE,EAAe,YAAYtuE,OAAOgN,EAAY,MACvFqiE,GAA2B,YAAK,GAAGrvE,OAAO6uE,GAAe,YAAY7uE,OAAOgN,EAAY,MAExFsiE,GAAkB/9D,GAA6B,EAAbrE,EAClCqiE,GAAkB,WACpB,IAAIC,EAASvhE,UAAU9X,OAAS,QAAsBS,IAAjBqX,UAAU,GAAmBA,UAAU,GAAK,SACjF,OAAO,YAAIxC,IAAoBA,EAAkB,YAAuB,CAAC,wEAAyE,+CAAgD+jE,IAEhMC,GAAkB,YAAI/jE,IAAqBA,EAAmB,YAAuB,CAAC,uCAAwC,iBAAkB,qBAAsB,0CAA2C,iCAAkC,kDAAmD,iCAAkC,mBAAoB6jE,KAd9U,MAc8WN,GAAgB3hE,EAAgB4hE,GAAejN,EAAgBkN,IAC3bO,GAAkB,YAAI/jE,IAAqBA,EAAmB,YAAuB,CAAC,uCAAwC,iBAAkB,0CAA2C,qBAAsB,+CAAgD,qBAAsB,kBAAmB4jE,GAAgB,YAAajiE,EAAgB40D,EAAgBD,EAAgB30D,EAPxW,SAQfrJ,GAAO,YAAI2H,IAAqBA,EAAmB,YAAuB,CAAC,6CAA8C,uHAAwHc,GACjPijE,GAAmB,YAAI9jE,IAAqBA,EAAmB,YAAuB,CAAC,gDAAiD,qBAAsB,WAjBhJ,MAiByKojE,IACvLW,GAAc,YAAI9jE,IAAqBA,EAAmB,YAAuB,CAAC,+CAAgD,yBAA0B,sBAAuB,UAAW,0EAA2E,IAAK,WAAYgjE,GAAmB/hE,EAAmB,OAAQS,GAAgBsB,OAAQ0/D,EAAyBn7C,IACzXw8C,GAAa,YAAI9jE,IAAqBA,EAAmB,YAAuB,CAAC,wEAAyE,6DAA8D,IAAK,mBAAoB,IAAK,0FAA2F,qBAAsB,6CAA8C,wBAAyB,oJAAqJ,qCAAsC,kBAAmByB,GAAgBsB,OAAQ0/D,EAAyBn7C,GAAem7C,EAAyBn7C,GAAe/lB,EAXrtB,QAWmvBihE,EAAyB,OAAQxhE,EAAmBA,GACtzB+iE,GAAiB,YAAI9jE,IAAqBA,EAAmB,YAAuB,CAAC,sFACrF+jE,GAAgB,YAAI3gD,IAAqBA,EAAmB,YAAuB,CAAC,8HAA+H,mGAAoG,mCAAoC,IAAK,4BAA6B,UAAW,wFAAyF,uEAAwE,kBAAmB,IAAco/C,EAAyBA,EAAyBA,EAAyBG,GAA0BY,GAAgB,UAAWd,GAAyBA,IACnuBuB,GAAoB,YAAI5Q,IAAsBA,EAAoB,YAAuB,CAAC,yGAA0G,uBAAwBoP,GAC5NyB,GAA0B,YAAI5Q,IAAsBA,EAAoB,YAAuB,CAAC,sFAAuF,uBAAwB,WAAYmP,EAAyBA,GACpP0B,GAAQ,YAAI5Q,IAAsBA,EAAoB,YAAuB,CAAC,qHAAsH,0DAA2D,IAAK,UAAW,qNAAsN,0CAA2C,kBAAmB,IAAckP,EAAyBA,EAAyBe,GAAgB,YAAaf,EAAyBG,IACzpBwB,GAAY,YAAI5Q,IAAsBA,EAAoB,YAAuB,CAAC,sMAAuM,kBAAmBkP,IAC5S2B,GAAgB,YAAI5Q,IAAsBA,EAAoB,YAAuB,CAAC,uIAAwI,0CAA2C,yBAA0B,IAAK,kBAAmB7xD,KAAYL,EAAgBy0D,EAAYA,GACnWsO,GAAyB,YAAI5Q,IAAsBA,EAAoB,YAAuB,CAAC,8EAA+E,6CAA8CnyD,GAC5NgjE,GAAqB,YAAI5Q,IAAsBA,EAAoB,YAAuB,CAAC,qDAAsD,0CAA2C,yBAA0B,+CAAgD,yBAA0B,IAAK,kBAAmB,SAAUwC,EAAgB,OAAQ50D,EAAgBH,EAAYA,GACtXojE,GAAsB,YAAI5Q,IAAsBA,EAAoB,YAAuB,CAAC,uDAAwD,qBAAsB,WAAY,OAAQqC,IAC9LwO,GAAyB,YAAI5Q,IAAsBA,EAAoB,YAAuB,CAAC,8FAA+F,uCAAwCsC,GACtOuO,GAA4B,YAAI5Q,IAAsBA,EAAoB,YAAuB,CAAC,oFAAqF,yBAA0B,IAAK,kBAAmBoC,EAAgB90D,EAAY40D,GACrQ2O,GAAsB,YAAI5Q,IAAsBA,EAAoB,YAAuB,CAAC,sEAC5F6Q,GAAc,YAAI5Q,IAAsBA,EAAoB,YAAuB,CAAC,uNAAwN,mBAAoB,WAAYgP,GAAsB7hE,GAClW0jE,GAAmB,YAAI5Q,IAAsBA,EAAoB,YAAuB,CAAC,qDAAsD,0CAA2C,0BAA2B,kBAAmBqP,GAA0B/hE,EAAgB8hE,IAClRyB,GAAyB,YAAI5Q,IAAsBA,EAAoB,YAAuB,CAAC,4DAA6D,mBAAoB,0DAA2D,0BAA2B,qBAAsB,oCAAqCoP,GAA0BniE,EAAYI,EAAgB8hE,GAAyBniE,GAChZ6jE,GAAsB,YAAI5Q,IAAsBA,EAAoB,YAAuB,CAAC,4CAA6C,UAAW1yD,GAAgBsB,QACpKiiE,GAAoB,YAAI5Q,IAAsBA,EAAoB,YAAuB,CAAC,oDAAqD,sBAAuB,WAAY6O,GAAyBM,IAC3M0B,GAAmB,YAAI5Q,IAAsBA,EAAoB,YAAuB,CAAC,sEAAuE,mCAAoC,WAAYnzD,EAAYU,MAC5NsjE,GAAmB,YAAI5Q,IAAsBA,EAAoB,YAAuB,CAAC,mDAAoD,8CAA+C,WAAY2O,GAAyBM,IACjO4B,GAAsB,YAAI5Q,IAAsBA,EAAoB,YAAuB,CAAC,2EAA4E,IAAK,WAAYrzD,EAAYE,GACrMgkE,GAAkB,YAAI5Q,IAAsBA,EAAoB,YAAuB,CAAC,2HAA4H,WAAYtzD,GAChOmkE,GAAuB,YAAI5Q,IAAsBA,EAAoB,YAAuB,CAAC,qDAAsD,kBAAmB,WAAYkO,GAAeA,IACjM2C,GAAqB,YAAI5Q,IAAsBA,EAAoB,YAAuB,CAAC,0EAA2E,eAAgB,0DAA2D,gEAAiE,sBAAuB,0DAA2D,qBAAsB,iBAAkB,kBAAmBzzD,EAAYA,EAAYA,EAAYM,EAAgBshE,GAAoBthE,EAAgBshE,GAAoB1hE,GAC3iBokE,GAAc,YAAI5Q,IAAsBA,EAAoB,YAAuB,CAAC,+CAAgD,mBAAoB,yDAA0DqO,GAAsB5hE,GACxOokE,GAAsB,YAAI5Q,IAAsBA,EAAoB,YAAuB,CAAC,4CAA6C,6FAA8FnzD,GAAgBmkB,aACvP6/C,GAAyB,YAAI5Q,IAAsBA,EAAoB,YAAuB,CAAC,2EAC/F6Q,GAAwB,YAAI5Q,KAAsBA,GAAoB,YAAuB,CAAC,yEAC9F6Q,GAAqB,YAAI5Q,KAAsBA,GAAoB,YAAuB,CAAC,0EAA2E,uKAAwK,qCAAsC,kBAAmBxzD,EAAgBP,EAAmBA,GAC1a4kE,GAAe,YAAI5Q,KAAsBA,GAAoB,YAAuB,CAAC,qEAAsE,sDAAuDzzD,GAClNskE,GAAsB,YAAI5Q,KAAsBA,GAAoB,YAAuB,CAAC,uCAAwC,qBAAsB,kBAAmB1zD,EAAgB,WAC7LukE,GAAwB,YAAI5Q,KAAsBA,GAAoB,YAAuB,CAAC,8DAA+D,mEAAoE,sIAAuI3zD,EAAgBkhE,GACxXsD,GAAiB,YAAI5Q,KAAsBA,GAAoB,YAAuB,CAAC,sCAAuC,uCAAwC,sEAAuE2Q,GAAuBvkE,GACpQykE,GAAgB,YAAI5Q,KAAsBA,GAAoB,YAAuB,CAAC,qCAAsC,uCAAwC,uEAAwE0Q,GAAuBvkE,GACnQ0kE,GAAkB,YAAI5Q,KAAsBA,GAAoB,YAAuB,CAAC,qEAAsE,4BAA6B,2BAA4B,kBAAmB9zD,EAAgB,YAAK,GAAGtN,OAAO+hE,EAAY,SAAU,YAAK,GAAG/hE,OAAO+hE,EAAY,UAE9T,MAAO,CACL99D,KAAMA,GACNmsE,cAAeA,GACfM,oBAAqBA,GACrBF,uBAAwBA,GACxBG,YAAaA,GACbG,oBAAqBA,GACrBG,iBAAkBA,GAClBF,kBAAmBA,GACnBC,iBAAkBA,GAClBG,gBAAiBA,GACjBC,qBAAsBA,GACtBE,YAAaA,GACbC,oBAAqBA,GACrBC,uBAAwBA,GACxBC,sBAAuBA,GACvB16C,aAAcA,GAEd64C,YAAaA,GACbG,cAAeA,GACfC,kBAAmBA,GACnBC,wBAAyBA,GACzBoB,mBAAoBA,GACpBd,oBAAqBA,GACrBd,gBAAiBA,GACjBgB,0BAA2BA,GAE3BZ,WAAYA,GACZC,eAAgBA,GAChB4B,mBAAoBA,GACpBO,mBA/BuB,YAAI5Q,KAAsBA,GAAoB,YAAuB,CAAC,0EAA2E,uKAAwK,qCAAsC,kBAAmB/zD,EAAgBP,EAAmBA,GAgC5a4iE,iBAAkBA,GAClBiB,iBAAkBA,GAClBC,uBAAwBA,GACxBK,oBAAqBA,GACrBZ,mBAAoBA,GACpBD,uBAAwBA,GACxBH,MAAOA,GACPC,UAAWA,GACXT,gBAAiBA,GACjBiC,aAAcA,GACdC,oBAAqBA,GACrBE,eAAgBA,GAChBC,cAAeA,GACfC,gBAAiBA,IAGrB,IAAIhgE,GAAY,CAAC,eAAgB,gBAAiB,YAAa,WAAY,SAAU,YAAa,mBAAoB,gBAAiB,mBAAoB,YAAa,WAAY,oBAAqB,QAAS,KAAM,SAAU,iBAAkB,iBAAkB,cAAe,WAAY,uBAAwB,kBAAmB,qBAAsB,sBAAuB,mBAAoB,kBAAmB,gBAAiB,mBAAoB,kBAAmB,cACpdkgE,GAAa,WACf,OAAO,GAGLC,GAAiB,SAAUtuE,GAC7B,IAuDIuuE,EACAC,EAxDA7lD,EAAe3oB,EAAK2oB,aACtB8lD,EAAqBzuE,EAAK0uE,cAC1BA,OAAuC,IAAvBD,EAAgCJ,GAAaI,EAC7D7sE,EAAY5B,EAAK4B,UACjB6lB,EAAWznB,EAAKynB,SAChBknD,EAAS3uE,EAAK2uE,OACdh2D,EAAY3Y,EAAK2Y,UACjBi2D,EAAwB5uE,EAAK6uE,iBAC7BA,OAA6C,IAA1BD,EAAmC,cAAgBA,EACtEh2D,EAAgB5Y,EAAK4Y,cACrBk2D,EAAwB9uE,EAAK+uE,iBAC7BA,OAA6C,IAA1BD,EAAmC,GAAKA,EAC3DE,EAAYhvE,EAAKgvE,UACjBC,EAAWjvE,EAAKivE,SAChB17D,EAAoBvT,EAAKuT,kBACzBiF,EAAQxY,EAAKwY,MACb3J,EAAK7O,EAAK6O,GACVitB,EAAS97B,EAAK87B,OACdpjB,EAAiB1Y,EAAK0Y,eACtBw2D,EAAiBlvE,EAAKkvE,eACtBC,EAAcnvE,EAAKmvE,YACnBx3E,EAAWqI,EAAKrI,SAChBy3E,EAAwBpvE,EAAK2S,qBAC7BA,OAAiD,IAA1By8D,GAA0CA,EACjE32D,EAAkBzY,EAAKyY,gBACvB/G,EAAqB1R,EAAK0R,mBAC1B29D,EAAsBrvE,EAAKqvE,oBAC3Bx2D,EAAmB7Y,EAAK6Y,iBACxBy2D,EAAkBtvE,EAAKsvE,gBACvBC,EAAgBvvE,EAAKuvE,cACrBC,EAAwBxvE,EAAKyvE,iBAC7BA,OAA6C,IAA1BD,EAAmC,EAAIA,EAC1DE,EAAkB1vE,EAAK0vE,gBACvBC,EAAkB3vE,EAAK4vE,WACvBA,OAAiC,IAApBD,GAAqCA,EAClDhrE,EAAO,YAAyB3E,EAAMmO,IACpCgG,EAAY,oBAAS,GACvBC,EAAa,YAAeD,EAAW,GACvC07D,EAAez7D,EAAW,GAC1B07D,EAAkB17D,EAAW,GAC3BmF,EAAa,oBAAS,GACxBC,GAAa,YAAeD,EAAY,GACxCw2D,GAAev2D,GAAW,GAC1Bw2D,GAAkBx2D,GAAW,GAC3By2D,GAAa,mBAAS,IACxBC,GAAa,YAAeD,GAAY,GACxCE,GAAgBD,GAAW,GAC3BE,GAAmBF,GAAW,GAC5B9xC,GAAW,mBACXiyC,GAAiB,mBACjBC,GAAgB,mBAChBC,GAAa,mBACbC,GAAanB,GAAuBkB,GACpCE,GAAmB,mBACnBC,GAAQ,cAGRC,GAAwC,YAAtBp9D,EAElB5K,GAAS,cACT4G,GAAU,mBAAQ,WACpB,OAAOhT,GAAOoM,MACb,CAACA,KACAc,GAAiBd,GAAOc,eACxB+K,GAAoB,YAAU,YAAQ/K,GAAgB,SAGtDyF,KAAW,gBAAclN,QAAUA,OAAOyS,WAAaD,IACvDo8D,GAAa3B,IAAa//D,GAC1B2hE,GAAShiE,QAA+BA,EAAK,cAC7CiiE,KAAeh1C,IAAWljB,IAAkBo2D,KAAet2D,GAAkBk4D,GAI7EG,GAAc,WAChB,GAAIP,IAAcA,GAAWhwE,QAAS,CACpC,IAAIwwE,EAAWR,GAAWhwE,QACtBywE,EAAyC,IAAvBD,EAASluD,UAK/B,GAJImuD,IAAoBpB,GACtBC,EAAgBmB,GAGd/B,EAAgB,CAElB,IAAIgC,EAAkBF,EAASluD,UAAYkuD,EAASG,eAAiBH,EAASI,aAC1EF,IAAoBnB,IACtBC,GAAgBkB,MAOpBG,GAAiB,WACnB,IAAIC,EAAUlzC,GAAS59B,QACvB,GAAI8wE,EAAS,CACX,IAAIC,EAAuC,GAArBvvE,OAAOwvE,YACH,OAAtBj+D,EACF+9D,EAAQxvE,MAAMyqB,OAAS,GAAGpwB,OAAOo1E,EAAiB,MACnB,OAAtBh+D,EACT+9D,EAAQxvE,MAAMyqB,OAAS,GAAGpwB,OAA4B,GAArB6F,OAAOwvE,YAAmB,MAE3DF,EAAQxvE,MAAM8I,UAAY,GAAGzO,OAAOo1E,EAAiB,QAevDE,GAA8B,WAChC,ID5QsCvuD,EC4QlC/hB,GD5QkC+hB,EC4QM,IAAoBwuD,MAAK,SAASC,IAC5E,OAAO,IAAoBC,MAAK,SAAUC,GACxC,OACE,OAAQA,EAASC,KAAOD,EAAS5zC,MAC/B,KAAK,EACHmyC,GAAiB,IACnB,KAAK,EACL,IAAK,MACH,OAAOyB,EAASE,UAGrBJ,MDtRA,WACL,IAAInxD,EAAOvuB,KACTkY,EAAOC,UACT,OAAO,IAAItM,SAAQ,SAAUC,EAAS6wD,GACpC,IAAI0b,EAAMpnD,EAAGrG,MAAM2D,EAAMrW,GACzB,SAASogE,EAAMjzE,GACb+yE,EAAmBC,EAAKvsE,EAAS6wD,EAAQ2b,EAAOC,EAAQ,OAAQlzE,GAElE,SAASkzE,EAAO/tB,GACd4tB,EAAmBC,EAAKvsE,EAAS6wD,EAAQ2b,EAAOC,EAAQ,QAAS/tB,GAEnE8tB,OAAMx3E,QC6QR,OAAO,WACL,OAAOoO,EAAM0b,MAAM5qB,KAAMmY,YAfK,GAkClC,qBAAU,WAEN,IAAIkqC,EAVFj8B,EAlCAi5D,EA2CC7pD,IAEHspD,KAKuB,QAAtBz8B,EAAUtyC,cAAgC,IAAZsyC,GAA8BA,EAAQhkC,YAAW,WAO9E,IAAI0hE,GAAU,EAEd,GAAIvB,IAAoBA,GAAiBjwE,QAAS,CAEhD,IAAIyxE,EAAcxB,GAAiBjwE,QAAQ+9B,cAAc,SACrD0zC,IACFA,EAAY5hE,QACZ2hE,GAAU,GAId,IAAKA,IAAYzC,GAAiBiB,IAAcA,GAAWhwE,QAAS,CAElE,IAAI0xE,EAAe1B,GAAWhwE,QAAQrF,iBAAiB,sCACnD+2E,EAAa5/E,OAAS,IACxB4/E,EAAa,GAAG7hE,QAChB2hE,GAAU,GAId,IAAKA,GAAWlB,GACd,GAAIh1C,GAAUw0C,IAAiBA,GAAc9vE,QAAS,CAEpD,IAAI2xE,EAAoB7B,GAAc9vE,QAAQrF,iBAAiB,qBAC3Dg3E,EAAkB7/E,OAAS,GAC7B6/E,EAAkB,GAAG9hE,YAElB,CACL,IAAI+hE,EAAqB/B,GAAe7vE,QACpC4xE,GAEFA,EAAmB/hE,WAIxB,KAGC,eAAmBrO,OAAOwvE,cAC5BxvE,OAAOyV,iBAAiB,SAAU45D,IAAgB,GAC9CV,KAjGJW,EAAUlzC,GAAS59B,WAErB8wE,EAAQxvE,MAAMyqB,OAAS,GAAGpwB,OAAO6F,OAAOwvE,YAAcrB,GAAe,MACrEmB,EAAQxvE,MAAM8I,UAAY,eA+BxByN,EAAUm4D,IAAcA,GAAWhwE,QACjB,KAAlB2vE,KACF93D,EAAQvW,MAAMqiE,SAAW,UAEL,KAAlBgM,KACF93D,EAAQvW,MAAMqiE,SAAW,WA8DrBkN,OAIN,OAAO,WACLrvE,OAAO+V,oBAAoB,SAAUs5D,IAAgB,MAEtD,CAAC5pD,EAAU0oD,KACd,qBAAU,YACH1oD,GAAY+oD,GAAWhwE,UACXgwE,GAAWhwE,QACjBsiB,UAAY2sD,KAEtB,CAACA,EAAkBhoD,IACtB,IAAI4qD,GAAa,CAAC9iE,GAAQ88D,OAAQ5kD,GAAYlY,GAAQ+8D,UAAWsD,GAAcrgE,GAAQu+D,cACnFwE,GAAe,CAAC/iE,GAAQnP,KAAMmP,GAAQu8D,iBAAkBv8D,GAAQy8D,WAAkC,OAAtBz4D,GAA8BhE,GAAQs+D,mBAA0C,OAAtBt6D,GAA8BhE,GAAQ6+D,mBAAoBuC,IAAmBphE,GAAQ6+D,oBAAqB3mD,GAAYlY,GAAQ08D,eAAgB2D,IAAec,IAASnhE,GAAQ0+D,eAAgB2B,GAAcc,IAASnhE,GAAQ2+D,eACnWqE,GAAa,CAAChjE,GAAQg9D,cAAeh9D,GAAQk9D,mBAAoBkC,GAAUp/D,GAAQs9D,oBAAqBl0D,GAAapJ,GAAQo9D,uBAAwBmE,IAAcvhE,GAAQi9D,uBAAwBoD,GAAcrgE,GAAQ4+D,iBACzNqE,GAAa/qD,EAAW,OAAS,QACjCgrD,GAAc,SAAUn9D,EAAKsT,GACf8lD,EAAc9lD,KAE5BD,EAAarT,EAAKsT,GAClB2lD,EAAS,KACTC,EAAS,OAGTkE,GAAiB95D,EAAgB,KAAO,YAAI,KAAY,YAAS,CACnE+5D,iBAAkB,KAClBnuE,QAAS,SAAiB8Q,GACxBm9D,GAAYn9D,EAAK,gBAEnB9R,IAAK6sE,GACLuC,WAAY,YACX7D,EAAkB,CACnB,YAAa,SACXF,GAGAgE,GAAiB,SAAUv9D,EAAK+C,GAClC,IAAIy6D,EAAWx9D,EAAIy9D,eAAe,GAC9BC,EAAOF,EAASG,MAChBC,EAAOJ,EAASK,MAChBC,EAAQ7E,EAASyE,EACjBK,EAAQ7E,EAAS0E,EAEjB/9E,KAAKC,IAAIi+E,GAASl+E,KAAKC,IAAIg+E,KAEzBC,EAAQ,KAAMh7D,GAAgC,IAAtBA,EAAQyK,aAC9B6tD,IAxHRP,GAAiB,KA0HPiD,GAAS,KAAyB,KAAlBlD,KAClBsC,GAAYn9D,EAAK,cAGnBm9D,GAAYn9D,EAAK,cAIjB+9D,EAAQ,GAAK1C,IACfc,MAGJlD,EAAS,KACTC,EAAS,MAIP8E,GAAkB,SAAUh+D,GAE9BA,EAAIjQ,kBAIFkuE,GAAmB,SAAUj+D,GAE/B,IAAKk5D,IAAWD,EAAQ,CACtB,IAAIiF,EAAal+D,EAAIy9D,eAAe,GACpCvE,EAASgF,EAAWL,MACpB5E,EAASiF,EAAWP,QAKpBQ,GAAU,UAAUt3E,OAAO00E,IAC3B6C,GAAY,CACdjjE,KAAM,SACN7O,UAAWiX,EACX,aAAc,OACd,cAAe25D,IAEb5B,IAAc5B,EAChB0E,GAAU,cAAgBl7D,EAE1Bk7D,GAAU,mBAAqBD,GAKjC,IAAIE,GAAuB73C,EAAS,YAAI,MAAO,CAC7CtrB,IAAK,CAACjB,GAAQ69D,kBACd,YAAa,SACV,KACDwG,GAAkBlB,GAAiB,YAAI,MAAO,CAChDliE,IAAK,CAACjB,GAAQ29D,mBACd,YAAa,SACV,KAED2G,GAAkBnB,GAAiB,YAAI,MAAO,CAChDliE,IAAK,CAACjB,GAAQ69D,kBACd,YAAa,QACZsF,IAAkBiB,GACjBG,GAAah4C,EAAS,YAAI,MAAO,CACnCtrB,IAAK,CAACjB,GAAQ29D,mBACd1pE,IAAK8sE,GACL,YAAa,QACZx0C,GAAU83C,GACTG,GAAkB,CAACnD,GAAarhE,GAAQ+9D,gBAAkB/9D,GAAQ49D,kBAClE6G,GAAmB,YAAI,MAAO,CAChCxjE,IAAKujE,GACLllE,GAAI4kE,GACJ,YAAa,QAET7C,GACK,YAAI,MAAO,CAChBt5D,IAAK,0EACL2e,IAAK,cACLzlB,IAAKjB,GAAQg+D,qBACb,YAAa,SAGVyB,EAAY,KAAOx2D,GAExBy7D,GAAoBv7D,EAAiB,YAAI,MAAO,CAClDlI,IAAKjB,GAAQ89D,oBACb7pE,IAAKitE,GACL,YAAa,QACZ/3D,GAAkB,KACjBw7D,GAASpD,GAAa,YAAI,SAAU,CACtClvE,UAAW6W,EACXjI,IAAK,CAACjB,GAAQu9D,YAAav9D,GAAQw9D,iBAAkB8C,GAAgBtgE,GAAQ09D,oBAAqB6G,IAAcvkE,GAAQy9D,wBACxHmH,aAAcZ,GACda,YAAad,GACbe,WAAY,SAAwB/+D,GAClCu9D,GAAev9D,EAAK,OAEtB,YAAa,QACZw+D,GAAYE,GAAkBH,GAAiBI,IAAqB,KACnEK,GAASpF,EAAiB,YAAI,SAAU,CAC1CttE,UAAW0tE,EACX9+D,IAAK,CAACjB,GAAQk+D,YACdsC,IAAgBxgE,GAAQm+D,oBAAqC,WAAhByB,GAA4B5/D,GAAQo+D,uBAAwC,UAAhBwB,GAA2B5/D,GAAQq+D,uBAC5I,YAAa,QACZsB,GAAkB,KACrB,OAAO,YAAI,MAAO,YAAS,GAAIwE,GAAW,CACxCljE,IAAK6hE,GACL,iBAAkB,gBAChB,YAAI,KAAS,CACf94B,SAAU9xB,EAGV8sD,YAAa,SAAsBj/D,GACjCA,EAAIjQ,iBACJotE,GAAYn9D,EAAK,QAEnBk/D,eAAgB,SAA6Bl/D,GAC3Cm9D,GAAYn9D,EAAK,kBAEnBwP,YAAanS,EACbnC,IAAK,CAACjB,GAAQs8D,gBAAiB+D,GAAcrgE,GAAQw+D,qBACrD,YAAa,QACZ,YAAI,UAAW,YAAS,CACzBv9D,IAAK8hE,GACL1wE,UAAW8P,GACV/M,EAAM,CACPnB,IAAK46B,GACL,cAAeo0C,GACf,YAAa,SACX0B,GAAQ,YAAI,UAAW,CACzB1jE,IAAK+hE,GACL3wE,UAAWA,EACXihB,SAAU,WAER,GAAI2tD,IAAcA,GAAWhwE,QAAS,CACpC,IAAIwwE,EAAWR,GAAWhwE,QAGtBkvE,GACFA,EAAgBsB,EAASluD,WAG7BiuD,MAEFvtE,IAAKgtE,GACL2D,aAAcZ,GACda,YAAad,GACbe,WAAY,SAA+B/+D,GACzC,IAAI+C,EAAUm4D,IAAcA,GAAWhwE,QACnCmwE,IACFkC,GAAev9D,EAAK+C,IAGxB,YAAa,QACZ1gB,GAAW28E,OAEZx7D,GAAc,CAAC,SAAU,SAAU,UAAW,kBAAmB,gBACjE27D,GAAQ,SAAUz0E,GACpB,IAAIkS,EAASlS,EAAKkS,OAChBK,EAASvS,EAAKuS,OACdC,EAAUxS,EAAKwS,QACf6U,EAAuBrnB,EAAKuY,gBAC5BA,OAA2C,IAAzB8O,EAAkC7U,EAAU6U,EAC9DhO,EAAerZ,EAAKqZ,aACpBq7D,EAAiB,YAAyB10E,EAAM8Y,IAC9C3E,EAAY,oBAAS,GACvBC,EAAa,YAAeD,EAAW,GACvCwgE,EAAYvgE,EAAW,GACvBwgE,EAAexgE,EAAW,GAC5B,qBAAU,WACRwgE,GAAa,KACZ,IACH,IAAI5D,EAAwB,IAAMp9E,cAAc,IAAU,CACxDwzB,YAAalV,EACbK,OAAQA,EACRgG,gBAAiBA,EACjB,YAAa,SACZ,SAAkB7gB,GACnB,OAAoB,IAAM9D,cAAc06E,GAAgB,YAAS,GAAI52E,EAAOg9E,EAAgB,CAC1F,YAAa,aAGbG,EAAex7D,GAAgBA,EAAa7Y,QAEhD,OAAOm0E,GAAa,IAASG,aAAa9D,EAAU6D,GAAgBlhF,SAASoW,OAE3E6gC,GAAc,CAAC,aAAc,yBAA0B,eAAgB,YAAa,kBAAmB,kBAAmB,qBAAsB,WAAY,SAAU,YAAa,mBAAoB,mBAAoB,yBAA0B,gBAAiB,sBAAuB,QAAS,KAAM,SAAU,iBAAkB,cAAe,WAAY,iBACnWmqC,GAAc,WAChB,OAAO,GAELC,GAAkB,SAAUh1E,GAC9B,IAAIi1E,EAAaj1E,EAAKi1E,WACpBC,EAAyBl1E,EAAKk1E,uBAC9BvsD,EAAe3oB,EAAK2oB,aACpB/mB,EAAY5B,EAAK4B,UACjB6W,EAAkBzY,EAAKyY,gBACvB62D,EAAkBtvE,EAAKsvE,gBACvB59D,EAAqB1R,EAAK0R,mBAC1B+V,EAAWznB,EAAKynB,SAChBknD,EAAS3uE,EAAK2uE,OACdwG,EAAiBn1E,EAAKgvE,UACtBA,OAA+B,IAAnBmG,EAA4BF,EAAaE,EACrDvG,EAAwB5uE,EAAK6uE,iBAC7BA,OAA6C,IAA1BD,EAAmC,eAAiBA,EACvEE,EAAwB9uE,EAAK+uE,iBAC7BA,OAA6C,IAA1BD,EAAmC,GAAKA,EAC3DsG,EAAyBp1E,EAAKo1E,uBAC9B3G,EAAqBzuE,EAAK0uE,cAC1BA,OAAuC,IAAvBD,EAAgCsG,GAActG,EAC9DY,EAAsBrvE,EAAKqvE,oBAC3B72D,EAAQxY,EAAKwY,MACb3J,EAAK7O,EAAK6O,GACVitB,EAAS97B,EAAK87B,OACdozC,EAAiBlvE,EAAKkvE,eACtBC,EAAcnvE,EAAKmvE,YACnBx3E,EAAWqI,EAAKrI,SAChB43E,EAAgBvvE,EAAKuvE,cACrB5qE,EAAO,YAAyB3E,EAAM4qC,IACpCz2B,EAAY,oBAAS,GACvBC,EAAa,YAAeD,EAAW,GACvC07D,EAAez7D,EAAW,GAC1B07D,EAAkB17D,EAAW,GAC3BmF,EAAa,oBAAS,GACxBC,EAAa,YAAeD,EAAY,GACxCw2D,EAAev2D,EAAW,GAC1Bw2D,EAAkBx2D,EAAW,GAC3B+2D,EAAa,mBACbC,EAAanB,GAAuBkB,EACpCF,EAAiB,mBACjBC,EAAgB,mBAChBO,EAAShiE,GAAM,cAIfkiE,EAAc,WAChB,GAAIP,GAAcA,EAAWhwE,QAAS,CACpC,IAAIwwE,EAAWR,EAAWhwE,QACtBywE,EAAyC,IAAvBD,EAASluD,UAK/B,GAJImuD,IAAoBpB,GACtBC,EAAgBmB,GAGd/B,EAAgB,CAElB,IAAIgC,EAAkB/7E,KAAKkgF,KAAKrE,EAASluD,UAAYkuD,EAASlhE,wBAAwByc,QAAUykD,EAASI,aACrGF,IAAoBnB,GACtBC,EAAgBkB,MAKxB,qBAAU,WACHzpD,IACHspD,IAEI/uE,QAAUA,OAAOsO,YAEnBtO,OAAOsO,YAAW,WAMhB,IAAI0hE,GAAU,EAEd,IAAKA,IAAYzC,GAAiBiB,GAAcA,EAAWhwE,QAAS,CAElE,IAAI0xE,EAAe1B,EAAWhwE,QAAQrF,iBAAiB,sCACnD+2E,EAAa5/E,OAAS,IACxB4/E,EAAa,GAAG7hE,QAChB2hE,GAAU,GAId,IAAKA,IAAcl2C,IAAWkzC,GAC5B,GAAIlzC,GAAUw0C,GAAiBA,EAAc9vE,QAAS,CAEpD,IAAI2xE,EAAoB7B,EAAc9vE,QAAQrF,iBAAiB,qBAC3Dg3E,EAAkB7/E,OAAS,GAC7B6/E,EAAkB,GAAG9hE,YAElB,CACL,IAAIilE,EAAcjF,EAAe7vE,QAC7B80E,GAEFA,EAAYjlE,WAIjB,QAGN,CAACoX,IAIJ,IAAI9e,EAAS,cACT4G,EAAU,mBAAQ,WACpB,OAAOhT,GAAOoM,KACb,CAACA,IACA0pE,EAAa,CAAC9iE,EAAQ28D,eAAgBzkD,GAAYlY,EAAQ48D,mBAC1DoG,EAAa,CAAChjE,EAAQg9D,cAAeh9D,EAAQm9D,oBAAqBiC,GAAUp/D,EAAQs9D,oBAAqBoI,GAAc1lE,EAAQo9D,wBAAyBsI,GAAc1lE,EAAQq9D,2BAC9K6F,EAAc,SAAUn9D,EAAKsT,GACf8lD,EAAc9lD,IAI5BD,EAAarT,EAAKsT,IAGlB6qD,GAAU,UAAUt3E,OAAO00E,GAC3B0E,GAAe,KACf7B,GAAY,CACdjjE,KAAM,SACN,aAAc,OACd,cAAegX,EAAW,OAAS,SAEjCunD,EACF0E,GAAU,cAAgBl7D,GAE1Bk7D,GAAU,mBAAqBD,GAC/B8B,GAAe,YAAI,KAAM,CACvB1mE,GAAI4kE,GACJ,YAAa,QACZj7D,IAEL,IAAIg9D,GAA0BP,EAAa1lE,EAAQi+D,mBAAqBj+D,EAAQ69D,iBAC5EsF,GAAiB,YAAI,MAAO,CAC9BliE,IAAKglE,GACL,YAAa,QACZ,YAAI,KAAY,YAAS,CAC1B5C,WAAY,WACZD,iBAAkB,KAClBvmD,QAAS8oD,EACT1xE,IAAK6sE,EACL7rE,QAAS,SAAgC8Q,GACvCm9D,EAAYn9D,EAAK,iBAElBy5D,EAAkB,CACnB,YAAa,SACXF,IACAyF,GAASpF,EAAiB,YAAI,SAAU,CAC1CttE,UAAW0tE,EACX9+D,IAAK,CAACjB,EAAQk+D,YACdsC,GAAgBxgE,EAAQm+D,oBAAqC,WAAhByB,GAA4B5/D,EAAQo+D,uBAAwC,UAAhBwB,GAA2B5/D,EAAQq+D,uBAC5I,YAAa,QACZsB,GAAkB,KACjBgF,GAAS,YAAI,SAAU,CACzBtyE,UAAW6W,EACXjI,IAAK,CAACjB,EAAQu9D,YACd+C,GAAgBtgE,EAAQ09D,qBACxB,YAAa,QACZ,YAAI,MAAO,CACZz8D,IAAKjB,EAAQ29D,kBACb1pE,IAAK8sE,EACL,YAAa,QACZx0C,GAAS,YAAI,MAAO,CACrBtrB,IAAKjB,EAAQ49D,iBACb,YAAa,SACXuF,IACJ,OAAO,YAAI,MAAO,YAAS,GAAIgB,GAAW,CACxCljE,IAAK6hE,EACL,iBAAkB,iBAChB,YAAI,KAAS,CACf94B,SAAU9xB,EAGV8sD,YAAa,SAAsBj/D,GACjCA,EAAIjQ,iBACJotE,EAAYn9D,EAAK,QAEnBk/D,eAAgB,SAA6Bl/D,GACvC8/D,GACF3C,EAAYn9D,EAAK,kBAGrB9E,IAAKjB,EAAQq8D,gBACb,YAAa,QACZ,YAAI,UAAW,YAAS,CACzBp7D,IAAK,CAACjB,EAAQnP,KAAMmP,EAAQw8D,aAActkD,GAAYlY,EAAQ68D,yBAC9DxqE,UAAW8P,GACV/M,EAAM,CACP,YAAa,SACXswE,EAAavC,GAAiBwB,GAAQ,YAAI,UAAW,CACvDtyE,UAAWA,EACX4O,IAAK+hE,EACL1vD,SAAU,WACR,OAAOkuD,KAETvtE,IAAKgtE,EACL,YAAa,QACZ,YAAIiF,GAAA,EAAiB,CACtB,YAAa,QACZF,GAAc59E,IAAY28E,OAE3BoB,GAAc,CAAC,SAAU,SAAU,UAAW,kBAAmB,gBACjEC,GAAS,SAAU31E,GACrB,IAAIkS,EAASlS,EAAKkS,OAChBK,EAASvS,EAAKuS,OACdC,EAAUxS,EAAKwS,QACf6U,EAAuBrnB,EAAKuY,gBAC5BA,OAA2C,IAAzB8O,EAAkC7U,EAAU6U,EAC9DhO,EAAerZ,EAAKqZ,aACpBq7D,EAAiB,YAAyB10E,EAAM01E,IAC9CvhE,EAAY,oBAAS,GACvBC,EAAa,YAAeD,EAAW,GACvCwgE,EAAYvgE,EAAW,GACvBwgE,EAAexgE,EAAW,GAC5B,qBAAU,WACRwgE,GAAa,KACZ,IACH,IAAI5D,EAAwB,IAAMp9E,cAAc,IAAU,CACxDwzB,YAAalV,EACbK,OAAQA,EACRgG,gBAAiBA,EACjB,YAAa,SACZ,SAAkB7gB,GACnB,OAAoB,IAAM9D,cAAcohF,GAAiB,YAAS,GAAIt9E,EAAOg9E,EAAgB,CAC3F,YAAa,aAGbG,EAAex7D,GAAgBA,EAAa7Y,QAEhD,OAAOm0E,GAAa,IAASG,aAAa9D,EAAU6D,GAAgBlhF,SAASoW,Q,kCC50B/E,IAAI6rE,EAAQ,EAAQ,QAIpBlvE,EAAO/H,QAAU,SAAU4b,GACzB,IAAIs7D,GAAUt7D,EAEd,OAAOs7D,GAAWA,GAAqB,IAAXA,EAAe,EAAID,EAAMC,K,kCCRvD,i1BAeA,MAAMC,EAfN,UAeyB1uB,QAAOxkD,QAE1BqlE,EAAqBrnC,IAAM/W,cAAc,IAE/C,SAASksD,EAAuB/1E,GAA4C,IAA3C,gBAAEg2E,EAAe,KAAE54E,EAAI,MAAE2sD,EAAK,OAAE7lD,GAAQlE,EACvE,MAAMi2E,EAAY74E,EACdA,EAAKA,KACL44E,EAAgBjsB,IAAUisB,EAAgBjsB,GAAO3sD,KAErD,OACEwjC,IAAAhtC,cAACgtC,IAAMpW,SAAQ,KACZyrD,GAAa/xE,EAAO+xE,IACnBA,GAAar1C,IAAAhtC,cAAA,WAAK,0BAK1B,MAAMsiF,EAAcx+E,IAClB,MAAM,KAAE0F,EAAI,MAAE2sD,EAAK,OAAE7lD,EAAM,SAAEvM,GAAaD,EAE1C,OACEkpC,IAAAhtC,cAACq0E,EAAmBE,SAAQ,KACzB6N,GACCp1C,IAAAhtC,cAACmiF,EAAuB,CACtB34E,KAAMA,EACN2sD,MAAOA,EACP7lD,OAAQA,GAAUvM,EAClBq+E,gBAAiBA,MAOrBG,EAAiBpsB,IAAU,IAADqsB,EAErBx1C,IAAMre,WAQf,MAAM8zD,EAAUz1C,IAAMre,WAAW0lD,GAKjC,GAAIqO,MAAMC,OAAOxsB,IACf,MAAM,IAAI7sD,MAAM,8KAIM6sD,EAAK,SAI7B,GAAkB,QAAlBqsB,EAAIC,EAAQtsB,UAAM,IAAAqsB,GAAdA,EAAgBh5E,KAClB,OAAOi5E,EAAQtsB,GAAO3sD,KAEtB,MAAM,IAAIF,MACR,yMAcN,SAASs5E,IACP,MAAM,IAAIt5E,MACR,gV,kCC5FJ,IAAImd,EAAa,EAAQ,QACrBo8D,EAAc,EAAQ,QAEtB7wB,EAAaptB,UAGjB9xB,EAAO/H,QAAU,SAAU4b,GACzB,GAAIF,EAAWE,GAAW,OAAOA,EACjC,MAAMqrC,EAAW6wB,EAAYl8D,GAAY,wB,kCCR3C7T,EAAO/H,QAAU,SAAU+3E,EAAQp/E,GACjC,MAAO,CACL8lB,aAAuB,EAATs5D,GACdvtD,eAAyB,EAATutD,GAChBttD,WAAqB,EAATstD,GACZp/E,MAAOA,K,kCCLX,IAAIwzC,EAAc,EAAQ,QACtBrkB,EAAS,EAAQ,QAEjBzD,EAAoBvC,SAASptB,UAE7BsjF,EAAgB7rC,GAAer1C,OAAOunB,yBAEtC45D,EAASnwD,EAAOzD,EAAmB,QAEnC6zD,EAASD,GAA0D,cAAhD,aAAuCn6E,KAC1D2zC,EAAewmC,KAAY9rC,GAAgBA,GAAe6rC,EAAc3zD,EAAmB,QAAQmG,cAEvGziB,EAAO/H,QAAU,CACfi4E,OAAQA,EACRC,OAAQA,EACRzmC,aAAcA,I,kCChBhB,wEAaIxoC,EAAiBC,EAAkBC,EAAkBC,EAAkBC,EAAkBC,EAAkBC,EAAkBC,EAAkBojB,EAAkBgwC,EAAmBC,EAAmBC,EAAmBC,EAAmBC,EAAmBC,EAAmBC,EAAmBC,EAAmBC,EAAmBC,EAAmBC,EAAmBC,EAbtX,6KAcA,SAAS3/D,EAAOoM,EAAQk4B,GAEtB,IAAKprC,OAAOmT,KAAKD,GAAQrW,OAEvB,OADA4T,QAAQC,KAAK,qGACN,GAET,IAAIiD,EAAaT,EAAOS,WACtBC,EAAaV,EAAOU,WACpBC,EAAaX,EAAOW,WACpB60D,EAAgBx1D,EAAOw1D,cACvBruC,EAA6BnnB,EAAOmnB,2BACpCvmB,EAA2BZ,EAAOY,yBAClCwhE,EAAqBpiE,EAAOoiE,mBAC5B+L,EAA0BnuE,EAAOmuE,wBACjCtyB,EAAsB77C,EAAO67C,oBAC7BC,EAA0B97C,EAAO87C,wBACjCsyB,EAA2BpuE,EAAOouE,yBAClCC,EAA4BruE,EAAOquE,0BACnCC,EAA+BtuE,EAAOsuE,6BACtCC,EAAgCvuE,EAAOuuE,8BACvCC,EAAuBxuE,EAAOwuE,qBAC9BC,EAA4BzuE,EAAOyuE,0BACnCC,EAA6B1uE,EAAO0uE,2BACpCC,EAA2B3uE,EAAO2uE,yBAClCC,EAAwB5uE,EAAO4uE,sBAC/BC,EAAsB7uE,EAAO6uE,oBAC7BC,EAAyB9uE,EAAO8uE,uBAChChuE,EAAiBd,EAAOc,eACxB20D,EAAiBz1D,EAAOy1D,eACtBsZ,EAA0B,IAAIv7E,OAAO2zB,GACrCpmB,EAAc,YAAWf,GAC3BuqB,EAAexpB,EAAYwpB,aAC3BtpB,GAAcF,EAAYE,YACxBC,GAAc,YAAWlB,GAC3Bw/B,GAAWt+B,GAAYs+B,SACvBG,GAAWz+B,GAAYy+B,SACrBj7B,GAAmBzD,GAAYyD,iBAE/BjN,GAAO,YAAIwH,IAAoBA,EAAkB,YAAuB,CAAC,8FAA+F,uEAAwE,iFAAkF,kCAAmC,8BAA+B,4BAA6B,uBAAwB,iBAAkB,UAAW,4BAA6B,mBAAoB,WAAY,mEAAoE,oFAAqF,0BAA2B,6EAA8E,0BAA2B,6EAA8E,qFAAsF,kBAAmB,YAAci5B,EAAa4jB,EAAyB,YAAa,OAAQqyB,EAAyBA,EAAyBA,EAAyBA,EAAyBhnD,EAA4B,YAAc+Q,EAAa2jB,EAAqB,QAASrc,GAAS,CACpvCr7B,MAAO,YAAc+zB,EAAa4jB,EAAyB,cACzD,YAAc5jB,EAAa2jB,EAAqB,QAAS,YAAK,GAAGroD,OAAOkN,EAAY,OAAOlN,OAAO2zB,IAA8B,YAAK,GAAG3zB,OAAOgiE,EAAe,OAAOhiE,OAAO2zB,IAA8B,YAAc+Q,EAAa4jB,EAAyB,YAAa,YAAc5jB,EAAak2C,EAA0B,SAAU,YAAcl2C,EAAak2C,EAA0B,SAAU,YAAcl2C,EAAam2C,EAA2B,UAAW,YAAcn2C,EAAam2C,EAA2B,UAAW3pE,GAAiB,CAC9hBH,iBAAkBwqE,EAClBpqE,eAAgBoqE,IACdA,GAEAtrD,GAAU,YAAIvkB,IAAqBA,EAAmB,YAAuB,CAAC,gDAAiD,wBAAyB,iBAAkB,mEAAoE,gDAAiD,0BAA2B,iDAAkD,0BAA2B,6EAA8E,kBAAmB,YAAcg5B,EAAa4jB,EAAyB,YAAa,YAAc5jB,EAAa4jB,EAAyB,YAAa,YAAc5jB,EAAa2jB,EAAqB,QAAS,YAAc3jB,EAAa2jB,EAAqB,QAAS,YAAc3jB,EAAao2C,EAA8B,SAAU,YAAcp2C,EAAao2C,EAA8B,SAAU,YAAcp2C,EAAaq2C,EAA+B,UAAW,YAAcr2C,EAAaq2C,EAA+B,UAAWQ,GAE5+BC,GAAY,YAAI7vE,IAAqBA,EAAmB,YAAuB,CAAC,4EAA6E,iBAAkB,4BAA6B,wDAAyD,2EAA4E,0BAA2B,qGAAsG,0BAA2B,2CAA4C,YAAc+4B,EAAa2jB,EAAqB,QAAS,YAAc3jB,EAAa2jB,EAAqB,QAASj7C,EAA0B,YAAcs3B,EAAa2jB,EAAqB,QAAS,YAAc3jB,EAAak2C,EAA0B,SAAU,YAAcl2C,EAAak2C,EAA0B,SAAU,YAAcl2C,EAAam2C,EAA2B,UAAW,YAAcn2C,EAAam2C,EAA2B,WAEn9BY,GAAmB,YAAI7vE,IAAqBA,EAAmB,YAAuB,CAAC,sDAAuD,iBAAkB,0EAA2E,gDAAiD,mBAAoB,0BAA2B,0EAA2E,mBAAoB,0BAA2B,2CAA4C,YAAc84B,EAAa4jB,EAAyB,YAAa,YAAc5jB,EAAa4jB,EAAyB,YAAa,YAAc5jB,EAAaq2C,EAA+B,YAAa,YAAcr2C,EAAa,cAAe,SAAU,YAAcA,EAAao2C,EAA8B,YAAa,YAAcp2C,EAAao2C,EAA8B,YAAa,YAAcp2C,EAAam2C,EAA2B,UAAW,YAAcn2C,EAAaq2C,EAA+B,YAAa,YAAcr2C,EAAaq2C,EAA+B,aAG5jCW,GAAU,YAAI7vE,IAAqBA,EAAmB,YAAuB,CAAC,0CAA2C,wBAAyB,iBAAkB,mEAAoE,gDAAiD,0BAA2B,iDAAkD,0BAA2B,kBAAmBmvE,EAAsBA,EAAsBG,EAA0BA,EAA0BF,EAA2BA,EAA2BC,EAA4BA,GAEtkBS,GAAW,YAAI7vE,IAAqBA,EAAmB,YAAuB,CAAC,2JAA4J,kBAAmB,IAAK,mDAAoD,iOAAkO,+BAAgC,0BAA2BkgC,GAAS,CAC/lBr7B,MAAO,YAAc+zB,EAAa02C,EAAuB,UACvDluE,EAAYD,EAAY,YAAcy3B,EAAa02C,EAAuB,QAAS,YAAc12C,EAAa02C,EAAuB,QAASlqE,GAAiB,CACjKD,OAAQ,UACRF,iBAAkB,OAClBI,eAAgB,UAGdyqE,GAAO,YAAI7vE,IAAqBA,EAAmB,YAAuB,CAAC,wEAAyE,wCAAyCkB,GAC7L4uE,GAAa,YAAI7vE,IAAqBA,EAAmB,YAAuB,CAAC,sDAAuD,oHAAqHiB,GAC7P6uE,GAAc,YAAI1sD,IAAqBA,EAAmB,YAAuB,CAAC,2DAElF2sD,GAAS,YAAI3c,IAAsBA,EAAoB,YAAuB,CAAC,8BAA+B,oBAAqB,mBAAoB,WAAY,WAAYjzB,GAAS,CAC1Lx7B,MAAO,YAAc+zB,EAAa4jB,EAAyB,cACzD,UAAW,YAAK,GAAGtoD,OAAO4uE,EAAoB,OAAO5uE,OAAO2zB,IAA8B,YAAK,GAAG3zB,OAAOmN,EAAY,OAAOnN,OAAO2zB,KAGnIqoD,GAAe,YAAI3c,IAAsBA,EAAoB,YAAuB,CAAC,kDAAmD,4BAA6B,sCAAuC,YAAc36B,EAAa22C,EAAqB,QAAS,YAAc32C,EAAa22C,EAAqB,SAErTY,GAAkB,YAAI3c,IAAsBA,EAAoB,YAAuB,CAAC,+KACxF4c,GAAS,YAAU3c,IAAsBA,EAAoB,YAAuB,CAAC,qFAUzF,MAAO,CACLt7D,KAAMA,GACNu3E,UAAWA,GACXvrD,QAASA,GACTwrD,iBAAkBA,GAClBC,QAASA,GACTC,SAAUA,GACVC,KAAMA,GACNC,WAAYA,GACZC,YAAaA,GACbC,OAAQA,GACRC,aAAcA,GACdC,gBAAiBA,GACjBllD,aAAcA,EACdolD,QAtBY,YAAI3c,IAAsBA,EAAoB,YAAuB,CAAC,mMAAoM,IAAK,+HAAgI0c,GAAQZ,GAuBnac,oBAtBwB,YAAI3c,IAAsBA,EAAoB,YAAuB,CAAC,8DAA+D,WAAY,YAAc/6B,EAAa22C,EAAqB,SAuBzNgB,iBAtBqB,YAAI3c,IAAsBA,EAAoB,YAAuB,CAAC,sDAAuD,iBAAkB,WAAY,EAAG,YAAch7B,EAAa4jB,EAAyB,aAuBvOg0B,mBAtBuB,YAAI3c,IAAsBA,EAAoB,YAAuB,CAAC,yDAA0D,WAAY,KAuBnK4c,YAtBgB,YAAI3c,IAAsBA,EAAoB,YAAuB,CAAC,wGAAyG,mBAAoB,IAAK,WAAYzyD,EAAYD,EAAYC,GAuB5PqvE,gBAtBoB,YAAI3c,IAAsBA,EAAoB,YAAuB,CAAC,8DAuB1F4c,aAtBiB,YAAI3c,IAAsBA,EAAoB,YAAuB,CAAC,wDAAyD,wCAAyCxyD,GAuBzLovE,kBAtBsB,YAAI3c,IAAsBA,EAAoB,YAAuB,CAAC,8DAA+D,4EAA6EkC,IAyB5O,IAAIjwD,EAAY,CAAC,SAAU,SAAU,WACnCC,EAAa,CAAC,OAAQ,UAAW,YAAa,UAAW,WAAY,SAAU,SAAU,WAAY,mBAAoB,YAAa,WAAY,KAAM,gBAAiB,qBAC3K,SAASsY,EAAQ5lB,EAAQimB,GACvB,IAAIne,EAAOnT,OAAOmT,KAAK9H,GACvB,GAAIrL,OAAOmqB,sBAAuB,CAChC,IAAIoH,EAAUvxB,OAAOmqB,sBAAsB9e,GAC3CimB,IAAmBC,EAAUA,EAAQ1pB,QAAO,SAAU2pB,GACpD,OAAOxxB,OAAOunB,yBAAyBlc,EAAQmmB,GAAK7J,eACjDxU,EAAK/V,KAAKgqB,MAAMjU,EAAMoe,GAE7B,OAAOpe,EAaT,IAAIkwE,EAAiB,SAAU94E,GAC7B,IAAI+4E,EAAS/4E,EAAK+4E,OAChB7mE,EAASlS,EAAKkS,OACd8mE,EAAUh5E,EAAKg5E,QACfr0E,EAAO,YAAyB3E,EAAMmO,GACxC,IAAK4qE,EACH,OAAO,KAET,IAAIE,EAAO/mE,EAAS,IAAgB,IAEpC,OAAO,YAAI+mE,EAAM,YAAS,GAAIt0E,EAAM,CAClCmM,KAAMkoE,EAAU,KAAO,KACvB,YAAa,WAKbE,EAAS,sBAAW,SAAU/3E,EAAOqC,GACvC,IAkCIuwB,EAlCAjjB,EAAO3P,EAAM2P,KACfsb,EAAUjrB,EAAMirB,QAChBurD,EAAYx2E,EAAMw2E,UAClBE,EAAU12E,EAAM02E,QAChBC,EAAW32E,EAAM22E,SACjBiB,EAAS53E,EAAM43E,OACf7mE,EAAS/Q,EAAM+Q,OACfinE,EAAiBh4E,EAAMi4E,SACvBA,OAA8B,IAAnBD,EAA4B,UAAYA,EACnD/gE,EAAmBjX,EAAMiX,iBACzBxW,EAAYT,EAAMS,UAClBjK,EAAWwJ,EAAMxJ,SACjBiZ,EAAKzP,EAAMyP,GACXyoE,EAAgBl4E,EAAMk4E,cACtBC,EAAwBn4E,EAAMo4E,kBAC9BA,OAA8C,IAA1BD,GAA0CA,EAC9D30E,EAAO,YAAyBxD,EAAOiN,GAGrCzF,EAAS,cACTk4B,EAAc,IAAMte,WAAW,KAC/Bi3D,EAAe,mBAAQ,WACzB,OAAOj9E,EAAOoM,EAAQk4B,KACrB,CAACl4B,IACA8wE,EAAsB,GACT,eAAbL,IACFK,EAAoB7oE,GAAK,OACZ,OAATE,IACF2oE,EAAoB3oE,KAAO,OAEzB6mE,GAAavrD,IAAYurD,IAAcvrD,KACzCqtD,EAAoBrtD,SAAU,IAKhC2H,EADE8jD,EACO,CAAC2B,EAAap5E,KAAMo5E,EAAa3B,SACjCC,EACA,CAAC0B,EAAa1B,UAGd,CAAC0B,EAAap5E,KAAMm5E,GAAqBC,EAAaZ,aAAuB,OAAT9nE,GAAiB0oE,EAAatB,OAAQ9rD,GAAWotD,EAAaptD,QAASurD,GAAa6B,EAAa7B,UAAWA,GAAavrD,GAAWotD,EAAa5B,iBAA+B,YAAbwB,GAA0BI,EAAarB,aAA2B,eAAbiB,GAA6BI,EAAapB,iBAEjV,IAAI1D,EAxEN,SAAuB5wE,GACrB,IAAK,IAAI5P,EAAI,EAAGA,EAAIkW,UAAU9X,OAAQ4B,IAAK,CACzC,IAAI2yB,EAAS,MAAQzc,UAAUlW,GAAKkW,UAAUlW,GAAK,GACnDA,EAAI,EAAIwyB,EAAQjxB,OAAOoxB,IAAS,GAAIrzB,SAAQ,SAAUL,GACpD,YAAgB2Q,EAAQ3Q,EAAK0zB,EAAO1zB,OACjCsC,OAAO+yB,0BAA4B/yB,OAAOgzB,iBAAiB3kB,EAAQrO,OAAO+yB,0BAA0B3B,IAAWH,EAAQjxB,OAAOoxB,IAASrzB,SAAQ,SAAUL,GAC5JsC,OAAOooB,eAAe/Z,EAAQ3Q,EAAKsC,OAAOunB,yBAAyB6J,EAAQ1zB,OAG/E,OAAO2Q,EA+Dc4kB,CAAc,GAAI/jB,GAIvC,YAHe5R,IAAXmf,IACFwiE,EAAe,iBAAmBxiE,GAE7B,YAAItB,GAAM,SAAU,YAAS,CAClCJ,IAAKujB,EACLnyB,UAAWA,EACX+hB,SAAUy1D,GAAyB,YAAbA,EACtB51E,IAAKA,EACL,iBAAkB,iBACjBkxE,GAAiB,WAClB,IAAIgF,EACa,YAAbN,IACFM,EAASthE,GAAoBghE,GAE/B,IAAIO,EAA2B,OAAT7oE,EAAgB,KAAO,KACzC8oE,EAAoB,CAACJ,EAAahB,iBAA2B,OAAT1nE,GAAiB0oE,EAAaf,oBAClFoB,EAAsB,YAAI,IAAe,CAC3CrpE,IAAKopE,EACL9oE,KAAM6oE,EACN,YAAa,SAEXG,EAAa,KACjB,GAAIT,EAAe,CACjB,IAAIU,EAAuB,OAATjpE,EAAgB,KAAO,KACzCgpE,EAAa,YAAIT,EAAe,CAC9B7oE,IAAKgpE,EAAazB,KAClBjnE,KAAMipE,EACN,YAAa,SAGjB,IAAIC,EAAgB,CAACR,EAAalB,QAAsB,YAAbc,GAA0BI,EAAajB,qBAC9E0B,EAA4B,YAAbb,EAAyB,YAAI,OAAQ,CACtD5oE,IAAKwpE,EACL,YAAa,QACC,YAAbZ,GAA0BS,EAAkC,eAAbT,GAA6B,YAAI,IAAgB,YAAS,GAAIK,EAAqB,CACnI,YAAa,WACR,KACHS,EAAgBR,EAAS,YAAI,OAAQ,CACvCjpE,KAAM,SACND,IAAKgpE,EAAatmD,aAClB,YAAa,QACZv7B,EAAU,IAAK+hF,GAAU,KAC5B,OAAO,YAAI,IAAMlvD,SAAU,KAAMsvD,EAAYniF,EAAU,YAAImhF,EAAgB,CACzEC,OAAQA,EACR7mE,OAAQA,EACR8mE,QAAkB,OAATloE,EACTN,IAAKgpE,EAAaxB,WAClB,YAAa,SACXiC,EAAcC,GAvCA,OA0GlBC,EAAc,SAAUn6E,GAC1B,IAAI4B,EAAY5B,EAAK4B,UACnBw4E,EAAwBp6E,EAAKu5E,kBAC7BA,OAA8C,IAA1Ba,GAA0CA,EAC9DziF,EAAWqI,EAAKrI,SAEdgR,EAAS,cACT4G,EAAU,mBAAQ,WACpB,OAAOhT,EAAOoM,KACb,CAACA,IACA0xE,EAAa,WAASpqB,QAAQt4D,GAE9B2iF,EAAkB,GAAGn+E,OAAO,YAAU,YAAQwM,EAAOy1D,kBACrD3pD,EAAa,eAAezS,OAAOyS,WACnC8lE,EAAmB5iF,EACnB2iF,GAAmB7lE,EAAaC,SAAS4lE,EAAiB,MAC5DC,EAAmBF,EAAWG,WAEhC,IAAIC,EAA0C,IAAtBJ,EAAW/nF,OAC/BooF,EAAoB,CAACnrE,EAAQmpE,YAAa+B,GAAqBlrE,EAAQopE,gBAAiBY,GAAqBhqE,EAAQspE,mBACzH,OAAO,YAAI,MAAO,CAChBroE,IAAKkqE,EACL94E,UAAWA,EACX,YAAa,QACZ24E,K,kCCzVL,IAAIngE,EAAS,EAAQ,QAGjByD,EAAiBpoB,OAAOooB,eAE5BnX,EAAO/H,QAAU,SAAUxL,EAAKmE,GAC9B,IACEumB,EAAezD,EAAQjnB,EAAK,CAAEmE,MAAOA,EAAO6xB,cAAc,EAAMC,UAAU,IAC1E,MAAOjP,GACPC,EAAOjnB,GAAOmE,EACd,OAAOA,I,iFCTXoP,EAAO/H,QAAUlJ,OAAOC,Q,kCCFxB,mCAEe,WACbilF,UACAC,cACAh6C,U,kCCLF,u7BAAIvX,EAAW5zB,OAAOC,QAAU,SAAUoO,GAAU,IAAK,IAAI5P,EAAI,EAAGA,EAAIkW,UAAU9X,OAAQ4B,IAAK,CAAE,IAAI2yB,EAASzc,UAAUlW,GAAI,IAAK,IAAIf,KAAO0zB,EAAcpxB,OAAOpC,UAAUsQ,eAAetI,KAAKwrB,EAAQ1zB,KAAQ2Q,EAAO3Q,GAAO0zB,EAAO1zB,IAAY,OAAO2Q,GAEvP,SAASylB,EAAyB7L,EAAK9U,GAAQ,IAAI9E,EAAS,GAAI,IAAK,IAAI5P,KAAKwpB,EAAW9U,EAAKxS,QAAQlC,IAAM,GAAkBuB,OAAOpC,UAAUsQ,eAAetI,KAAKqiB,EAAKxpB,KAAc4P,EAAO5P,GAAKwpB,EAAIxpB,IAAM,OAAO4P,EAEnN,SAAS20B,EAAgBr1B,EAAUm1B,GAAe,KAAMn1B,aAAoBm1B,GAAgB,MAAM,IAAIC,UAAU,qCAEhH,SAASqZ,EAA2BrxB,EAAMnlB,GAAQ,IAAKmlB,EAAQ,MAAM,IAAIuxB,eAAe,6DAAgE,OAAO12C,GAAyB,iBAATA,GAAqC,mBAATA,EAA8BmlB,EAAPnlB,EAElO,SAAS82C,EAAUF,EAAUC,GAAc,GAA0B,mBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI1Z,UAAU,kEAAoE0Z,GAAeD,EAAS5+C,UAAYoC,OAAOywB,OAAOgsB,GAAcA,EAAW7+C,UAAW,CAAEgrC,YAAa,CAAE/mC,MAAO26C,EAAU70B,YAAY,EAAOgM,UAAU,EAAMD,cAAc,KAAe+oB,IAAYz8C,OAAOu7C,eAAiBv7C,OAAOu7C,eAAeiB,EAAUC,GAAcD,EAAShB,UAAYiB,GAaje,IAAI2oC,EAAqB,SAA4Bp+E,EAAM+U,GACzD,IAAIspE,EAAM,IAActpE,GAExB,OADAspE,EAAIp8D,YAAcjiB,EACXq+E,GAKLC,EAAkBF,EAAmB,YAIrC35E,EAAW,SAAkBlB,GAC/B,IAAIrI,EAAWqI,EAAKrI,SACpB,OAAO,IAAM/D,cACXmnF,EAAgB5S,SAChB,MACA,SAAUkO,GACR,OAAOA,EAAU1+E,EAAS0+E,GAAW,IAAMziF,cACzConF,EACA,KACArjF,OAMJqjF,EAAmB,SAAUz5E,GAG/B,SAASy5E,IACP,IAAIC,EAAOjpF,EAEXymC,EAAgBxmC,KAAM+oF,GAEtB,IAAK,IAAI7mD,EAAO/pB,UAAU9X,OAAQ6X,EAAO/O,MAAM+4B,GAAOC,EAAO,EAAGA,EAAOD,EAAMC,IAC3EjqB,EAAKiqB,GAAQhqB,UAAUgqB,GAGzB,OAAe6mD,EAASjpF,EAAQ6/C,EAA2B5/C,KAAMsP,EAAiBlG,KAAKwhB,MAAMtb,EAAkB,CAACtP,MAAMkK,OAAOgO,KAAiBnY,EAAMkQ,MAAQ,CAC1Jm0E,QAASrkF,EAAMkpF,aACf7vC,KAAM,CAAE8vC,SAAU,OACTtpC,EAA2B7/C,EAAnCipF,GAkEL,OAhFA9oC,EAAU6oC,EAAkBz5E,GAiB5By5E,EAAiB3nF,UAAU6nF,WAAa,WACtC,IAAIE,EAAiBnpF,KAAKyF,MAAM2jC,QAIhC,MAAO,CAAEn8B,SAHMk8E,EAAel8E,SAGDkC,SAFdg6E,EAAeh6E,WAKhC45E,EAAiB3nF,UAAUgoF,kBAAoB,SAA2BlhE,EAAOg5B,GAC/E,IAAImoC,EAAWnhE,GAKb,MAAMA,GAFNohE,EAFgBtpF,KAAKyF,MAAM2jC,QAAQn8B,UAEzBib,EAAM4iB,IAAK,CAAE7mC,SAAS,KAMpC8kF,EAAiB3nF,UAAUwP,mBAAqB,SAA4BC,EAAWC,GACjFA,EAAUszE,QAAQj1E,WAAanP,KAAKiQ,MAAMm0E,QAAQj1E,UACpDnP,KAAKyF,MAAM2jC,QAAQK,yBAIvBs/C,EAAiB3nF,UAAU2P,kBAAoB,WAC7C,IAAIS,EAASxR,KAETo5C,EAAOp5C,KAAKiQ,MAAMmpC,KAClBhQ,EAAUppC,KAAKyF,MAAM2jC,QAEzBA,EAAQK,wBACR2P,EAAK8vC,SAAW9/C,EAAQM,QAAO,WAC7B79B,QAAQC,UAAUC,MAAK,WAErBgoE,uBAAsB,WACfviE,EAAO+3E,WACV/3E,EAAO4N,UAAS,WACd,MAAO,CAAEglE,QAAS5yE,EAAOy3E,2BAQrCF,EAAiB3nF,UAAU4P,qBAAuB,WAChD,IAAIooC,EAAOp5C,KAAKiQ,MAAMmpC,KAEtBp5C,KAAKupF,WAAY,EACjBnwC,EAAK8vC,YAGPH,EAAiB3nF,UAAU6Q,OAAS,WAClC,IAAImyE,EAAUpkF,KAAKiQ,MAAMm0E,QACrB1+E,EAAW1F,KAAKyF,MAAMC,SAE1B,OAAO,IAAM/D,cACXmnF,EAAgB3wD,SAChB,CAAE9yB,MAAO++E,GACW,mBAAb1+E,EAA0BA,EAAS0+E,GAAW1+E,GAAY,OAI9DqjF,EAjFc,CAkFrB,IAAMt1E,WAKRs1E,EAAiBv8D,aAAe,CAC9B4c,QAAS,KAKX,IAAIogD,EAAiB,SAAwBt6E,GAC3C,IAAIu6E,EAAMv6E,EAAMu6E,IACZ/jF,EAAWwJ,EAAMxJ,SAEjB8kC,EAAci/C,EAAItlF,QAAQ,KAE1BmM,OAAW,EACXs4B,EAAS,GAUb,OAZmB4B,GAAe,GAMhCl6B,EAAWm5E,EAAIhlC,UAAU,EAAGja,GAC5B5B,EAAS6gD,EAAIhlC,UAAUja,IAEvBl6B,EAAWm5E,EAGN,IAAM9nF,cACXmnF,EAAgB3wD,SAChB,CACE9yB,MAAO,CACL8J,SAAU,CACRmB,SAAUA,EACVs4B,OAAQA,EACRC,KAhBG,IAkBL57B,SAAU,WACR,MAAM,IAAIhC,MAAM,6CAItBvF,IAKA+vE,EAAcmT,EAAmB,OAAQ,CAAElT,QAAS,IAAKC,SAAU,MAInEQ,EAAS,SAAgB1wE,GAC3B,OAAO,IAAM9D,cACX8zE,EAAYS,SACZ,MACA,SAAUwT,GACR,OAAO,IAAM/nF,cACXsN,EACA,MACA,SAAU06E,GACR,OAAO,IAAMhoF,cAAcioF,EAAYxyD,EAAS,GAAIsyD,EAAaC,EAAiBlkF,WAOxFmkF,EAAa,SAAUC,GAGzB,SAASD,IAGP,OAFApjD,EAAgBxmC,KAAM4pF,GAEfhqC,EAA2B5/C,KAAM6pF,EAAqBj/D,MAAM5qB,KAAMmY,YAgF3E,OArFA+nC,EAAU0pC,EAAYC,GAQtBD,EAAWxoF,UAAU6Q,OAAS,WAC5B,IAAI63E,EAAS9pF,KAAKyF,MACd0J,EAAW26E,EAAO36E,SAClB46E,EAAaD,EAAO78E,SACpB0oE,EAAWmU,EAAOnU,SAClBqU,EAAUF,EAAOE,QACjBtkF,EAAWokF,EAAOpkF,SAElBukF,GADUH,EAAOpU,QACEoU,EAAOx8D,WAC1BA,OAAiCxsB,IAArBmpF,EAAiC,MAAQA,EACrDC,EAAW5yD,EAAyBwyD,EAAQ,CAAC,WAAY,WAAY,WAAY,UAAW,WAAY,UAAW,cAEnH9zB,EAAS,IAAMm0B,SAASnsB,QAAQt4D,GAAU6yD,QAAO,SAAU6xB,EAAO5pB,GACpE,IAAIxK,EAASq0B,EAAY1U,EAAZ0U,CAAsB7pB,GACnC,OAAO4pB,EAAMlgF,OAAO8rD,KACnB,IACC1lD,EAAWnB,EAASmB,SAGpBwyB,EAAQ,eAAKkzB,EAAQ1lD,GAEzB,GAAIwyB,EAAO,CACT,IAAIhT,EAASgT,EAAMhT,OACfgb,EAAMhI,EAAMgI,IACZlb,EAAQkT,EAAMlT,MACdrnB,EAAUu6B,EAAMlT,MAAMvqB,MAI1BswE,EAAW/lD,EAAM1iB,QAAUyoE,EAAW/lD,EAAM9iB,KAAK7I,QAAQ,MAAO,IAEhE,IAAIwB,EAAQ2xB,EAAS,GAAItH,EAAQ,CAC/Bgb,IAAKA,EACL37B,SAAUA,EACVlC,SAAU,SAAkBuD,EAAI1Q,GAC9B,OAAOiqF,EAAW,kBAAQv5E,EAAIs6B,GAAMhrC,MAIpCwqF,EAAQ,IAAMC,aAAahiF,EAAS9C,EAAO8C,EAAQ9C,MAAMC,SAAW,IAAM/D,cAC5Ew0E,EACA,CAAEhnE,SAAUA,EAAU66E,QAASA,GAC/BzhF,EAAQ9C,MAAMC,eACZ5E,GAGA0pF,EAAeR,EAAUS,EAAen9D,EAExCo9D,EAAeV,EAAU5yD,EAAS,CAAE0T,IAAKA,EAAK37B,SAAUA,EAAUme,UAAWA,GAAa48D,GAAYA,EAE1G,OAAO,IAAMvoF,cACX8zE,EAAYt9C,SACZ,CAAE9yB,MAAO,CAAEqwE,QAAS5qC,EAAK6qC,SAAUA,IACnC,IAAMh0E,cACJ6oF,EACAE,EACAJ,IAiBJ,OAAO,MAIJV,EAtFQ,CAuFf,IAAMe,eAERf,EAAWp9D,aAAe,CACxBw9D,SAAS,GAIX,IAAIY,EAAehC,EAAmB,SAElC6B,EAAe,SAAsBj7E,GACvC,IAAIs7B,EAAMt7B,EAAMs7B,IACZ37B,EAAWK,EAAML,SACjBme,EAAY9d,EAAM8d,UAClB48D,EAAW5yD,EAAyB9nB,EAAO,CAAC,MAAO,WAAY,cAEnE,OAAO,IAAM7N,cACXipF,EAAa1U,SACb,MACA,SAAU2U,GACR,OAAO,IAAMlpF,cAAcmpF,EAAkB1zD,EAAS,GAAI8yD,EAAU,CAClE58D,UAAWA,EACXu9D,aAAcA,EACd//C,IAAKA,EACL37B,SAAUA,SAOd47E,GAAgB,EAChBC,EAAoB,EAEpBF,EAAmB,SAAUpW,GAG/B,SAASoW,IACP,IAAIG,EAAQC,EAEZ1kD,EAAgBxmC,KAAM8qF,GAEtB,IAAK,IAAIt9C,EAAQr1B,UAAU9X,OAAQ6X,EAAO/O,MAAMqkC,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IAChFv1B,EAAKu1B,GAASt1B,UAAUs1B,GAG1B,OAAgBw9C,EAAUC,EAAStrC,EAA2B5/C,KAAM00E,EAAkBtrE,KAAKwhB,MAAM8pD,EAAmB,CAAC10E,MAAMkK,OAAOgO,KAAkBgzE,EAAOj7E,MAAQ,GAAIi7E,EAAOL,aAAe,SAAUxhF,IAChM6hF,EAAOj7E,MAAMk7E,aAAe9hF,GAC/BA,EAAK+U,SAEGwhC,EAA2BsrC,EAApCD,GA4FL,OA3GA/qC,EAAU4qC,EAAkBpW,GAkB5BoW,EAAiBl+D,yBAA2B,SAAkCknD,EAAWhjE,GAEvF,GAD+B,MAAjBA,EAAUg6B,IAEtB,OAAO1T,EAAS,CACd+zD,aAAa,GACZrX,GAEH,IAAIsX,EAAetX,EAAUhpC,MAAQh6B,EAAUg6B,IAC3CugD,EAAkBv6E,EAAU3B,SAASmB,WAAawjE,EAAU3kE,SAASmB,UAAYwjE,EAAU3kE,SAASmB,WAAawjE,EAAUhpC,IAC/H,OAAO1T,EAAS,CACd+zD,YAAaC,GAAgBC,GAC5BvX,IAIPgX,EAAiB1pF,UAAU2P,kBAAoB,WAC7Ci6E,IACAhrF,KAAKoe,SAGP0sE,EAAiB1pF,UAAU4P,qBAAuB,WAEtB,MAD1Bg6E,IAEED,GAAgB,IAIpBD,EAAiB1pF,UAAUwP,mBAAqB,SAA4BC,EAAWC,GACjFD,EAAU1B,WAAanP,KAAKyF,MAAM0J,UAAYnP,KAAKiQ,MAAMk7E,aAC3DnrF,KAAKoe,SAIT0sE,EAAiB1pF,UAAUgd,MAAQ,WAQjC,IAAIysE,EAAe7qF,KAAKyF,MAAMolF,aAG1BA,EACFA,EAAa7qF,KAAKqJ,MAEd0hF,EACFA,GAAgB,EACP/qF,KAAKqJ,OAGTrJ,KAAKqJ,KAAKma,SAAS9hB,SAASyxB,gBAC/BnzB,KAAKqJ,KAAK+U,UAMlB0sE,EAAiB1pF,UAAU6Q,OAAS,WAClC,IAAIq5E,EAAStrF,KAETurF,EAAUvrF,KAAKyF,MAEfoK,GADW07E,EAAQ7lF,SACX6lF,EAAQ17E,OAEhB27E,GADeD,EAAQV,aACHU,EAAQj+D,WAC5Bm+D,OAA6B3qF,IAAtB0qF,EAAkC,MAAQA,EAGjDtB,GAFMqB,EAAQzgD,IACHygD,EAAQp8E,SACRmoB,EAAyBi0D,EAAS,CAAC,WAAY,QAAS,eAAgB,YAAa,MAAO,cAE3G,OAAO,IAAM5pF,cACX8pF,EACAr0D,EAAS,CACPvnB,MAAOunB,EAAS,CAAEre,QAAS,QAAUlJ,GACrC4O,SAAU,KACVlN,IAAK,SAAa1O,GAChB,OAAOyoF,EAAOjiF,KAAOxG,IAEtBqnF,GACH,IAAMvoF,cACJipF,EAAazyD,SACb,CAAE9yB,MAAOrF,KAAK6qF,cACd7qF,KAAKyF,MAAMC,YAKVolF,EA5Gc,CA6GrB,IAAMr3E,WAER,mBAASq3E,GAET,IAAI1nF,EAAI,aAGJgR,EAAa,IAAMA,gBAEG,IAAfA,IACTA,EAAa,SAAoBlQ,GAC/B,OAAOA,IAIX,IAAI0O,EAAOwB,GAAW,SAAU24C,EAAOx7C,GACrC,IAAIE,EAAWs7C,EAAMt7C,SACjBhM,EAAQ6xB,EAAyBy1B,EAAO,CAAC,aAE7C,OAAO,IAAMprD,cACX8zE,EAAYS,SACZ,MACA,SAAUxN,GACOA,EAAMiN,SAArB,IACID,EAAUhN,EAAMgN,QACpB,OAAO,IAAM/zE,cACXsN,EACA,MACA,SAAU85D,GACR,IAAI55D,EAAW45D,EAAM55D,SACjBlC,EAAW87D,EAAM97D,SAEjBuD,EAAK/K,EAAM+K,GACXP,EAAQxK,EAAMwK,MACdhM,EAAUwB,EAAMxB,QAChBynF,EAAkBjmF,EAAM4M,SACxBA,OAA+BvR,IAApB4qF,EAAgCtoF,EAAIsoF,EAC/CC,EAAcr0D,EAAyB7xB,EAAO,CAAC,KAAM,QAAS,UAAW,aAEzE+N,EAAO,kBAAQhD,EAAIklE,GACnBkW,EAAct4E,UAAUE,GACxB9D,EAAYP,EAASmB,WAAas7E,EAClCn8E,EAAqB,qBAAWN,EAASmB,SAAUs7E,GAEvD,OAAO,IAAMjqF,cAAc,IAAKy1B,EAAS,CACvC7lB,IAAKA,GAAOE,EACZ,eAAgB/B,EAAY,YAAS5O,GACpC6qF,EAAat5E,EAAS,CAAE3C,UAAWA,EAAWD,mBAAoBA,EAAoB+D,KAAMA,EAAMrE,SAAUA,IAAa,CAC1HqE,KAAMA,EACNjB,QAAS,SAAiBuV,GAExB,GADI6jE,EAAYp5E,SAASo5E,EAAYp5E,QAAQuV,GACzC+jE,EAAe/jE,GAAQ,CACzBA,EAAM1U,iBACN,IAAIC,EAAgBpP,EACpB,GAAuB,kBAAZA,GAAyByL,EAAW,CAC7C,IAAIo8E,EAAkB10D,EAAS,GAAIjoB,EAASc,OAExC87E,GADMD,EAAgB5qF,IACVo2B,EAAyBw0D,EAAiB,CAAC,SAE3Dz4E,EAAgB,yBAAe+jB,EAAS,GAAInnB,GAAQ87E,GAEtD9+E,EAASuG,EAAM,CACbvD,MAAOA,EACPhM,QAASoP,kBAkB3B,SAAS24E,EAAgBlhD,GACvB9qC,KAAK8qC,IAAMA,EARbl4B,EAAK6Z,YAAc,OAWnB,IAAI48D,EAAa,SAAoBriF,GACnC,OAAOA,aAAaglF,GAGlBC,EAAa,SAAoBz7E,GACnC,MAAM,IAAIw7E,EAAgBx7E,IAGxB07E,EAAe,SAAUC,GAG3B,SAASD,IAGP,OAFA1lD,EAAgBxmC,KAAMksF,GAEftsC,EAA2B5/C,KAAMmsF,EAAkBvhE,MAAM5qB,KAAMmY,YAsCxE,OA3CA+nC,EAAUgsC,EAAcC,GASxBD,EAAa9qF,UAAU2P,kBAAoB,WACzC,IAAIq7E,EAAUpsF,KAAKyF,MACfwH,EAAWm/E,EAAQn/E,SACnBuD,EAAK47E,EAAQ57E,GAEb67E,GADOD,EAAQ1hE,KACG0hE,EAAQnoF,SAC1BA,OAA8BnD,IAApBurF,GAAuCA,EACjDp8E,EAAQm8E,EAAQn8E,MAEhBylE,GADU0W,EAAQE,QACRF,EAAQ1W,SAClBjwE,EAAQ6xB,EAAyB80D,EAAS,CAAC,WAAY,KAAM,OAAQ,UAAW,QAAS,UAAW,YAExGvgF,QAAQC,UAAUC,MAAK,WACrB,IAAIwgF,EAAa,kBAAQ/7E,EAAIklE,GAC7BzoE,EAAS,uBAAas/E,EAAY9mF,GAAQ,CAAExB,QAASA,EAASgM,MAAOA,QAIzEi8E,EAAa9qF,UAAU6Q,OAAS,WAC9B,IAAIu6E,EAAUxsF,KAAKyF,MAEf+K,GADWg8E,EAAQv/E,SACdu/E,EAAQh8E,IAIb87E,GAHOE,EAAQ9hE,KACL8hE,EAAQvoF,QACVuoF,EAAQv8E,MACNu8E,EAAQF,SAClB5W,EAAU8W,EAAQ9W,QAClBjwE,EAAQ6xB,EAAyBk1D,EAAS,CAAC,WAAY,KAAM,OAAQ,UAAW,QAAS,UAAW,YAEpGD,EAAa,kBAAQ/7E,EAAIklE,GAE7B,OADK4W,GAASL,EAAW,uBAAaM,EAAY9mF,IAC3C,MAGFymF,EA5CU,CA6CjB,IAAMz4E,WAEJg5E,EAAW,SAAkBhnF,GAC/B,OAAO,IAAM9D,cACX8zE,EAAYS,SACZ,MACA,SAAUwW,GACR,IAAIhX,EAAUgX,EAAMhX,QACpB,OAAO,IAAM/zE,cACXsN,EACA,MACA,SAAU06E,GACR,OAAO,IAAMhoF,cAAcuqF,EAAc90D,EAAS,GAAIuyD,EAAiB,CAAEjU,QAASA,GAAWjwE,WAanGknF,EAAQ,SAAeC,GACzB,IAAI9/E,EAAO8/E,EAAM9/E,KACbpH,EAAWknF,EAAMlnF,SACrB,OAAO,IAAM/D,cACX8zE,EAAYS,SACZ,MACA,SAAU2W,GACR,IAAInX,EAAUmX,EAAMnX,QACpB,OAAO,IAAM/zE,cACXsN,EACA,MACA,SAAU69E,GACR,IAAI7/E,EAAW6/E,EAAO7/E,SAClBkC,EAAW29E,EAAO39E,SAElB49E,EAAe,kBAAQjgF,EAAM4oE,GAC7BjqC,EAAS,gBAAMshD,EAAc59E,EAASmB,UAC1C,OAAO5K,EAAS,CACduH,SAAUA,EACVkC,SAAUA,EACV2zB,MAAO2I,EAASrU,EAAS,GAAIqU,EAAO3b,OAAQ,CAC1Cgb,IAAKW,EAAOX,IACZh+B,KAAMA,IACH,cAWbujB,EAAc,WAChB,IAAI+zD,EAAU,qBAAW0E,GAEzB,IAAK1E,EACH,MAAM,IAAIn5E,MAAM,8JAGlB,OAAOm5E,EAAQj1E,UAGb69E,EAAc,WAChB,IAAI5I,EAAU,qBAAW0E,GAEzB,IAAK1E,EACH,MAAM,IAAIn5E,MAAM,8JAGlB,OAAOm5E,EAAQn3E,UAGbggF,EAAY,WACd,IAAI7I,EAAU,qBAAW3O,GAEzB,IAAK2O,EACH,MAAM,IAAIn5E,MAAM,4JAGlB,IAAIkE,EAAWkhB,IAEXmjD,EAAU,gBAAM4Q,EAAQzO,SAAUxmE,EAASmB,UAE/C,OAAOkjE,EAAUA,EAAQ1jD,OAAS,MAGhCo9D,EAAW,SAAkBpgF,GAC/B,IAAKA,EACH,MAAM,IAAI7B,MAAM,4EAElB,IAAIm5E,EAAU,qBAAW3O,GAEzB,IAAK2O,EACH,MAAM,IAAIn5E,MAAM,2JAGlB,IAAIkE,EAAWkhB,IAEX08D,EAAe,kBAAQjgF,EAAMs3E,EAAQ1O,SACrCjqC,EAAS,gBAAMshD,EAAc59E,EAASmB,UAC1C,OAAOm7B,EAASrU,EAAS,GAAIqU,EAAO3b,OAAQ,CAC1Cgb,IAAKW,EAAOX,IACZh+B,KAAMA,IACH,MAKHqgF,EAAe,SAAsBtoD,GACvC,OAAOA,EAAI5gC,QAAQ,eAAgB,KAGjComF,EAAc,SAASA,EAAY1U,GACrC,OAAO,SAAUptE,GACf,IAAKA,EACH,OAAO,KAGT,GAAIA,EAAQ/C,OAAS,IAAM+yB,UAAYhwB,EAAQ9C,MAAMC,SACnD,OAAO,IAAMykF,SAASxlF,IAAI4D,EAAQ9C,MAAMC,SAAU2kF,EAAY1U,IAQhE,GANEptE,EAAQ9C,MAAMqH,MAAQvE,EAAQ9C,MAAMyH,SAAW3E,EAAQ/C,OAASinF,GAAuN,KAAU,GAEhSlkF,EAAQ/C,OAASinF,GAAclkF,EAAQ9C,MAAMilB,MAASniB,EAAQ9C,MAAM+K,IAAqN,KAAU,GAEnSjI,EAAQ/C,OAASinF,GAAa,2BAAiBlkF,EAAQ9C,MAAMilB,KAAMniB,EAAQ9C,MAAM+K,KAA4O,KAAU,GAEtUjI,EAAQ9C,MAAMyH,QAChB,MAAO,CAAE7H,MAAOkD,EAAS2E,SAAS,GAGpC,IAAIkgF,EAAc7kF,EAAQ/C,OAASinF,EAAWlkF,EAAQ9C,MAAMilB,KAAOniB,EAAQ9C,MAAMqH,KAE7EA,EAAuB,MAAhBsgF,EAAsBzX,EAAWwX,EAAaxX,GAAY,IAAMwX,EAAaC,GAExF,MAAO,CACL/nF,MAAOkD,EACP2E,QAAS3E,EAAQ9C,MAAMyH,QACvBJ,KAAMvE,EAAQ9C,MAAMC,SAAWynF,EAAargF,GAAQ,KAAOA,KAK7D++E,EAAiB,SAAwB/jE,GAC3C,OAAQA,EAAM/U,kBAAqC,IAAjB+U,EAAMhV,UAAkBgV,EAAM9U,SAAW8U,EAAM7U,QAAU6U,EAAM5U,SAAW4U,EAAM3U,Y,kCC3sBrG,SAASsuC,EAAkBD,EAAK/5B,IAClC,MAAPA,GAAeA,EAAM+5B,EAAInhD,UAAQonB,EAAM+5B,EAAInhD,QAC/C,IAAK,IAAI4B,EAAI,EAAG6/C,EAAO,IAAI34C,MAAMse,GAAMxlB,EAAIwlB,EAAKxlB,IAAK6/C,EAAK7/C,GAAKu/C,EAAIv/C,GACnE,OAAO6/C,EAHT,mC,kCCAA,kDACWurC,EAAc,CACvB3nE,MAAO,MACP4U,OAAQ,MACR23C,QAAS,EACTC,SAAU,SACVxhD,SAAU,QACV1S,IAAK,MACLygB,KAAM,OAEJ6uD,EAAe,SAAsBv/E,GACvC,IAAIrI,EAAWqI,EAAKrI,SACpB,OAAoB,gBAAoB,WAAgB,KAAmB,gBAAoB,MAAO,CACpGxE,IAAK,cACL,oBAAoB,EACpB,yBAAyB,EACzB2O,MAAOw9E,IACL3nF,EAAUA,GAAyB,gBAAoB,MAAO,CAChExE,IAAK,aACL,oBAAoB,EACpB,yBAAyB,EACzB2O,MAAOw9E,MAGXC,EAAa9gE,aAAe,CAC1B9mB,SAAU,O,kCCxBZ,IAYIgD,EAAKD,EAAKshB,EAZVwjE,EAAkB,EAAQ,QAC1BplE,EAAS,EAAQ,QACjB80C,EAAW,EAAQ,QACnBrJ,EAA8B,EAAQ,QACtCp/B,EAAS,EAAQ,QACjB+T,EAAS,EAAQ,QACjBilD,EAAY,EAAQ,QACpBh4B,EAAa,EAAQ,QAGrBjvB,EAAYpe,EAAOoe,UACnBl+B,EAAU8f,EAAO9f,QAgBrB,GAAIklF,GAAmBhlD,EAAOt4B,MAAO,CACnC,IAAI2mE,EAAQruC,EAAOt4B,QAAUs4B,EAAOt4B,MAAQ,IAAI5H,GAEhDuuE,EAAMnuE,IAAMmuE,EAAMnuE,IAClBmuE,EAAM7sD,IAAM6sD,EAAM7sD,IAClB6sD,EAAMluE,IAAMkuE,EAAMluE,IAElBA,EAAM,SAAUgM,EAAI+4E,GAClB,GAAI7W,EAAM7sD,IAAIrV,GAAK,MAAM6xB,EA1BI,8BA6B7B,OAFAknD,EAASl0C,OAAS7kC,EAClBkiE,EAAMluE,IAAIgM,EAAI+4E,GACPA,GAEThlF,EAAM,SAAUiM,GACd,OAAOkiE,EAAMnuE,IAAIiM,IAAO,IAE1BqV,EAAM,SAAUrV,GACd,OAAOkiE,EAAM7sD,IAAIrV,QAEd,CACL,IAAIg5E,EAAQF,EAAU,SACtBh4B,EAAWk4B,IAAS,EACpBhlF,EAAM,SAAUgM,EAAI+4E,GAClB,GAAIj5D,EAAO9f,EAAIg5E,GAAQ,MAAMnnD,EAzCA,8BA4C7B,OAFAknD,EAASl0C,OAAS7kC,EAClBk/C,EAA4Bl/C,EAAIg5E,EAAOD,GAChCA,GAEThlF,EAAM,SAAUiM,GACd,OAAO8f,EAAO9f,EAAIg5E,GAASh5E,EAAGg5E,GAAS,IAEzC3jE,EAAM,SAAUrV,GACd,OAAO8f,EAAO9f,EAAIg5E,IAItBj5E,EAAO/H,QAAU,CACfhE,IAAKA,EACLD,IAAKA,EACLshB,IAAKA,EACLw0B,QArDY,SAAU7pC,GACtB,OAAOqV,EAAIrV,GAAMjM,EAAIiM,GAAMhM,EAAIgM,EAAI,KAqDnCi5E,UAlDc,SAAUC,GACxB,OAAO,SAAUl5E,GACf,IAAIzE,EACJ,IAAKgtD,EAASvoD,KAAQzE,EAAQxH,EAAIiM,IAAKlP,OAASooF,EAC9C,MAAMrnD,EAAU,0BAA4BqnD,EAAO,aACnD,OAAO39E,M,mBCxBb,SAASmb,EAAQK,GAGf,OAAQhX,EAAO/H,QAAU0e,EAAU,mBAAqBxW,QAAU,iBAAmBA,OAAOE,SAAW,SAAU2W,GAC/G,cAAcA,GACZ,SAAUA,GACZ,OAAOA,GAAO,mBAAqB7W,QAAU6W,EAAI2gB,cAAgBx3B,QAAU6W,IAAQ7W,OAAOxT,UAAY,gBAAkBqqB,GACvHhX,EAAO/H,QAAQC,YAAa,EAAM8H,EAAO/H,QAAiB,QAAI+H,EAAO/H,QAAU0e,EAAQK,GAE5FhX,EAAO/H,QAAU0e,EAAS3W,EAAO/H,QAAQC,YAAa,EAAM8H,EAAO/H,QAAiB,QAAI+H,EAAO/H,S,kCCJhF,SAASsiB,EAAY6V,EAAK77B,GACvC,YAD6C,IAANA,MAAM,IACxCA,EAID67B,IAAQ77B,EACJ,IAGJ67B,EAAI/2B,WAAc9E,EAAM,KACnB67B,EAAIvgC,MAAM0E,EAAO3I,QAGnBwkC,EAXEA,EAPX,mC,kCCGApwB,EAAO/H,QAAU,SAAUgI,GACzB,OAAOA,U,kCCFThI,EAAQC,YAAa,EACrBD,EAAQkB,UAER,SAAmBd,GACjB,IAAIwD,EAAWxD,GAAQ,IACnB87B,EAAS,GACTC,EAAO,GACPglD,EAAYv9E,EAASnM,QAAQ,MAEd,IAAf0pF,IACFhlD,EAAOv4B,EAASo6B,OAAOmjD,GACvBv9E,EAAWA,EAASo6B,OAAO,EAAGmjD,IAGhC,IAAIrjD,EAAcl6B,EAASnM,QAAQ,MAEd,IAAjBqmC,IACF5B,EAASt4B,EAASo6B,OAAOF,GACzBl6B,EAAWA,EAASo6B,OAAO,EAAGF,IAGhC,MAAO,CACLl6B,SAAUA,EACVs4B,OAAmB,MAAXA,EAAiB,GAAKA,EAC9BC,KAAe,MAATA,EAAe,GAAKA,K,oCCxB9Bn8B,EAAQ3F,EAAIvD,OAAOmqB,uB,kCCFnB,kDACe,SAASinC,EAAe5U,EAAUC,GAC/CD,EAAS5+C,UAAYoC,OAAOywB,OAAOgsB,EAAW7+C,WAC9C4+C,EAAS5+C,UAAUgrC,YAAc4T,EACjC,YAAeA,EAAUC,K,oCCF3BxrC,EAAO/H,QAAU,CACf,cACA,iBACA,gBACA,uBACA,iBACA,WACA,Y,kCCTF,sGACA,SAASohF,EAAoBrjF,EAAYyiC,EAAkB6gD,GACzD,IAAI5gD,EAAe,GAQnB,OAPA4gD,EAAWlkF,MAAM,KAAKtI,SAAQ,SAAUoO,QACR7O,IAA1B2J,EAAWkF,GACbu9B,EAAiBtsC,KAAK6J,EAAWkF,GAAa,KAE9Cw9B,GAAgBx9B,EAAY,OAGzBw9B,EAET,IAAI6gD,EAAiB,SAAwBzjF,EAAOH,EAAY6xC,GAC9D,IAAItsC,EAAYpF,EAAMrJ,IAAM,IAAMkJ,EAAWI,MAO5B,IAAhByxC,QAKuDn7C,IAAhCyJ,EAAME,WAAWkF,KACvCpF,EAAME,WAAWkF,GAAavF,EAAWE,SAGzC2jF,EAAe,SAAsB1jF,EAAOH,EAAY6xC,GAC1D+xC,EAAezjF,EAAOH,EAAY6xC,GAClC,IAAItsC,EAAYpF,EAAMrJ,IAAM,IAAMkJ,EAAWI,KAC7C,QAAwC1J,IAApCyJ,EAAMb,SAASU,EAAWI,MAAqB,CACjD,IAAI+D,EAAUnE,EACd,GACEG,EAAM/I,OAAO4I,IAAemE,EAAU,IAAMoB,EAAY,GAAIpB,EAAShE,EAAMvI,OAAO,GAClFuM,EAAUA,EAAQy9B,gBACClrC,IAAZyN,M,uWCrCb,MAyDM2/E,EAzDU,SAAUC,GACxB,GAAmB,oBAARzsF,SACT,OAAO,EAET,MAAM0sF,EAAW1sF,SAASC,cAAc,QACxC,IACE,GAAIysF,EAASC,SAA2C,mBAAzBD,EAASC,QAAQC,SAC9C,OAAOF,EAASC,QAAQC,SAASH,GAEnC,MAAO3jC,GACP,OAAO,EAET,OAAO,EA6CyB+jC,CAAQ,YA1Cb,SAAU9E,EAAK3pF,GAC1C,OAAO,IAAI+L,QAAQ,CAACC,EAAS6wD,KAC3B,GAAmB,oBAARj7D,SAET,YADAi7D,IAIF,MAAMlT,EAAO/nD,SAASC,cAAc,QACpC8nD,EAAK7nD,aAAa,MAAD,YACjB6nD,EAAK7nD,aAAa,OAAQ6nF,GAE1BjmF,OAAOmT,KAAK7W,GAASyB,QAAQL,IAC3BuoD,EAAK7nD,aAAaV,EAAKpB,EAAQoB,MAGjCuoD,EAAK+kC,OAAS1iF,EACd29C,EAAK/F,QAAUiZ,GAGbj7D,SAASg8C,qBAAqB,QAAQ,IACtCh8C,SAAS+sF,kBAAkB,UAAU,GAAGhsF,YAC5BZ,YAAY4nD,MAIF,SAAUggC,GACpC,OAAO,IAAI59E,QAAQ,CAACC,EAAS6wD,KAC3B,MAAM+xB,EAAM,IAAIC,eAChBD,EAAIE,KAAK,MAAOnF,GAAK,GAErBiF,EAAIF,OAAS,KACQ,MAAfE,EAAIzb,OACNnnE,IAEA6wD,KAIJ+xB,EAAI5qC,KAAK,SAQP+qC,EAAa,GAkBJC,MAhBE,SAAUrF,EAAK3pF,GAC9B,OAAO,IAAI+L,QAAQC,IACb+iF,EAAWpF,GACb39E,IAIFoiF,EAA0BzE,EAAK3pF,GAC5BiM,KAAK,KACJD,IACA+iF,EAAWpF,IAAO,IAEnBpgC,MAAM,W,imBCpEN,MAAM6pB,EAAqB,CAIhCjoE,MAAM,QAIN8jF,QAAQ,WAGJC,EAAgBzrF,GAAMA,GAAKA,EAAE2J,SAAY3J,EAQzC0rF,EAAoBniF,IANM/J,MAQ9B,MAAUmsF,8DADY,MAAJpiF,EAAY,QAL9B/J,GADAA,EAAQ,OADsBA,EAOqC+J,GAN7D,GAAa/J,EAAEuB,MAAM,GAAKvB,GAC1BqL,SAAS,KAAOrL,EAAEuB,MAAM,GAAI,GAAKvB,GAMS,mBAGlD,SAASosF,EAAQ1F,EAAKjhE,GACpB,YAD0B,IAANA,MAAM,OACnB,IAAI3c,QAAQ,CAACC,EAAS6wD,KAC3B,MAAM+xB,EAAM,IAAIC,eAChBD,EAAIE,KAAKpmE,EAAQihE,GAAK,GACtBiF,EAAIU,mBAAqB,KACD,GAAlBV,EAAIn1B,YACNztD,EAAQ4iF,IAGZA,EAAI5qC,KAAK,QAIb,MAeMurC,EAAkB,SAACC,EAAUhiE,QAAS,IAATA,MAAY,MAC7C,MAAM82B,EAAO,CACXmrC,mBAAoBD,EAASC,mBAC7BziF,KAAMwiF,EAASxiF,KACfqmE,uBAAwBmc,EAASnc,uBACjC3jD,UAAW8/D,EAAS9/D,UACpBggE,kBAAmBF,EAASE,mBAG9B,MAAO,CACLliE,YACA67B,KAAMmmC,EAAS7jD,OACf2Y,SAIG,IAAMqrC,EAAU,WACrB,SAAAA,EAAYC,EAAe9gE,GAAa,KA0BxC+gE,wBAA0B,IAAIhhE,IAV5B3uB,KAAK4vF,OAAS,IAAIjhE,IAClB3uB,KAAK6vF,WAAa,IAAIlhE,IACtB3uB,KAAK8vF,cAAgB,GACrB9vF,KAAK+vF,WAAa,IAAIphE,IACtB3uB,KAAKgwF,kBAAoB,IAAIpmE,IAC7B5pB,KAAKiwF,kBAAoB,IAAIrmE,IAC7B5pB,KAAK0vF,cAAgBA,EACrBvgE,YAAcP,GACf,IAAAztB,EAAAsuF,EAAAruF,UAqVA,OArVAD,EAID+uF,YAAA,SAAYzG,GACV,IAAI0G,EAAkBnwF,KAAK2vF,wBAAwBlnF,IAAIghF,GAQvD,OANK0G,IACHA,EAAkBhB,EAAQ1F,EAAI,OAC9BzpF,KAAK2vF,wBAAwBjnF,IAAI+gF,EAAK0G,IAIjCA,EACJpkF,KAAKqkF,IACJpwF,KAAK2vF,wBAAwBnlE,OAAOi/D,GAC7B2G,IAER/mC,MAAMmB,IAEL,MADAxqD,KAAK2vF,wBAAwBnlE,OAAOi/D,GAC9Bj/B,KAEXrpD,EAEDk0E,aAAA,SAAangB,GACXl1D,KAAKk1D,UAAYA,EACjBl1D,KAAKqwF,iBAAmBn7B,EAAU,0BAA0ByM,KAAK/+D,GAAKA,IACvEzB,EAEDmvF,kBAAA,SAAkBC,GAChB,MAAM,SAAEna,EAAQ,QAAEoa,EAAU,GAAMD,EAC5B9G,EAAMwF,EAAkB7Y,GAC9B,OAAOp2E,KAAKkwF,YAAYzG,GAAK19E,KAAK2iF,IAChC,MAAM,OAAEzb,EAAM,aAAEwd,GAAiB/B,EAGjC,GAAe,MAAXzb,EACF,IACE,MAAMyd,EAAct7E,KAAKC,MAAMo7E,GAC/B,QAAyB3vF,IAArB4vF,EAAY5jF,KACd,MAAM,IAAI7B,MAAM,iCAGlB,OAAOzH,OAAOC,OAAO8sF,EAAS,CAC5Btd,OAAQC,EAAmB6b,QAC3B/oC,QAAS0qC,IAEX,MAAOlmC,IAMX,OAAe,MAAXyoB,GAA6B,MAAXA,EAER,cAARmD,EACK5yE,OAAOC,OAAO8sF,EAAS,CAC5Btd,OAAQC,EAAmBjoE,QAMxBjL,KAAKswF,kBACV9sF,OAAOC,OAAO8sF,EAAS,CAAEna,SAAS,YAAcua,UAAU,KAK/C,MAAX1d,EACKzvE,OAAOC,OAAO8sF,EAAS,CAC5Btd,OAAQC,EAAmBjoE,QAK3BulF,EAAU,EACLxwF,KAAKswF,kBACV9sF,OAAOC,OAAO8sF,EAAS,CAAEC,QAASA,EAAU,KAKzChtF,OAAOC,OAAO8sF,EAAS,CAC5Btd,OAAQC,EAAmBjoE,WAGhC9J,EAEDyvF,iBAAA,SAAiB3sC,GACf,MAAMmyB,EAAWrmD,YAASk0B,GAC1B,GAAIjkD,KAAK+vF,WAAWhmE,IAAIqsD,GAAW,CACjC,MAAMkZ,EAAWtvF,KAAK+vF,WAAWtnF,IAAI2tE,GAEnC,OAAOvqE,QAAQC,QAAQwjF,GAI3B,OAAOtvF,KAAKswF,kBAAkB,CAAEla,aAAYrqE,KAAKujF,IAC/CtvF,KAAK+vF,WAAWrnF,IAAI0tE,EAAUkZ,GAEvBA,KAEVnuF,EAEDiuB,cAAA,SAAc60B,GACZ,OAAO70B,YAAc60B,IAGvB9iD,EACA6xE,SAAA,SAAS/uB,GACP,MAAMmyB,EAAWrmD,YAASk0B,GAC1B,GAAIjkD,KAAK4vF,OAAO7lE,IAAIqsD,GAAW,CAC7B,MAAMhyB,EAAOpkD,KAAK4vF,OAAOnnF,IAAI2tE,GAE3B,OAAOvqE,QAAQC,QAAQs4C,EAAK4B,SAIhC,GAAIhmD,KAAK6vF,WAAW9lE,IAAIqsD,GACtB,OAAOp2E,KAAK6vF,WAAWpnF,IAAI2tE,GAG7B,MAAM+Z,EAAkBtkF,QAAQmoB,IAAI,CAClCh0B,KAAK6wF,cACL7wF,KAAK4wF,iBAAiBxa,KACrBrqE,KAAK+kF,IACN,MAAMrlD,EAASqlD,EAAQ,GACvB,GAAIrlD,EAAOwnC,SAAWC,EAAmBjoE,MACvC,MAAO,CACLgoE,OAAQC,EAAmBjoE,OAI/B,IAAIqkF,EAAW7jD,EAAOua,QACtB,MAAM,mBAAEupC,EAAkB,kBAAEC,EAAoB,IAAOF,EAEjDyB,EAAc,GAEdC,EAAwBhxF,KAAK0vF,cAAcH,GAAoBxjF,KACnEuhB,IAEE,IAAIunC,EAgBJ,OAjBAk8B,EAAYE,UAAY,IAAIjnD,KAEvB1c,GAGHyjE,EAAY9d,OAASC,EAAmB6b,SAChB,IAApBtjD,EAAOklD,WACTI,EAAYJ,UAAW,GAEzBrB,EAAW9rF,OAAOC,OAAO6rF,EAAU,CACjCnc,uBAAwB2d,EAAQ,GAC5BA,EAAQ,GAAG3d,uBAAsB,KAGvCte,EAAgBw6B,EAAgBC,EAAUhiE,IAX1CyjE,EAAY9d,OAASC,EAAmBjoE,MAcnC4pD,IAILq8B,EAA0BrlF,QAAQmoB,IACtCw7D,EAAkB7qF,IAAIwsF,IAEpB,GAAInxF,KAAK8vF,cAAcqB,GAAkB,CACvC,MAAMT,EAAc1wF,KAAK8vF,cAAcqB,GACvC,MAAO,CAAEA,kBAAiBT,eAG5B,OAAO1wF,KAAKkwF,YACPhB,kEAAkCiC,EAAe,SACpDplF,KAAK2iF,IACL,MAAMgC,EAAct7E,KAAKC,MAAMq5E,EAAI+B,cACnC,MAAO,CAAEU,kBAAiBT,oBAG9B3kF,KAAK+pE,IACL,MAAMsb,EAAwB,GAO9B,OALAtb,EAAmBv0E,QAAQwM,IAAuC,IAAtC,gBAAEojF,EAAe,YAAET,GAAa3iF,EAC1DqjF,EAAsBD,GAAmBT,EACzC1wF,KAAK8vF,cAAcqB,GAAmBT,IAGjCU,IAGT,OAAOvlF,QAAQmoB,IAAI,CAACg9D,EAAuBE,IAA0BnlF,KACnEmD,IAA0C,IACpC82C,GADJ6O,EAAeihB,GAAmB5mE,EAalC,OAXI2lD,IACF7O,EAAOvvB,IAAA,GAAQo+B,GAAa,IAAEihB,uBAC9Bib,EAAY/qC,QAAUA,EACtBjyB,IAAQO,KAAK,0BAA2B,CACtC8vB,KAAM4B,EACN6O,cAAe7O,KAInBhmD,KAAK4vF,OAAOlnF,IAAI0tE,EAAU2a,GAEnB/qC,MAgBb,OAXAmqC,EACGpkF,KAAKqkF,IACJpwF,KAAK6vF,WAAWrlE,OAAO4rD,KAExB/sB,MAAMnhC,IAEL,MADAloB,KAAK6vF,WAAWrlE,OAAO4rD,GACjBluD,IAGVloB,KAAK6vF,WAAWnnF,IAAI0tE,EAAU+Z,GAEvBA,GAGThvF,EACA4zE,aAAA,SAAa9wB,GACX,MAAMmyB,EAAWrmD,YAASk0B,GAC1B,GAAIjkD,KAAK4vF,OAAO7lE,IAAIqsD,GAAW,CAE7B,OADiBp2E,KAAK4vF,OAAOnnF,IAAI2tE,GAAUpwB,UAI9C7kD,EAEDkwF,eAAA,SAAejb,GAEb,QAjSkCkb,MACpC,GACE,eAAgBhsD,gBACW,IAApBA,UAAUisD,WACjB,CACA,IAAKjsD,UAAUisD,WAAWC,eAAa,IAAQ1rD,SAAS,MACtD,OAAO,EAET,GAAIR,UAAUisD,WAAWE,SACvB,OAAO,EAGX,OAAO,GAqRAH,KAKDtxF,KAAK4vF,OAAO7lE,IAAIqsD,IAKrBj1E,EAED2tF,SAAA,SAAS1Y,GACP,IAAKp2E,KAAKqxF,eAAejb,GACvB,OAAO,EAWT,GANKp2E,KAAKgwF,kBAAkBjmE,IAAIqsD,KAC9Bp2E,KAAKk1D,UAAU,qBAAsB,CAAE5kD,SAAU8lE,IACjDp2E,KAAKgwF,kBAAkBhmE,IAAIosD,IAIzBp2E,KAAKqwF,iBACP,OAAO,EAGT,MAAMqB,EAAW3hE,YAASqmD,GAU1B,OAPAp2E,KAAK2xF,WAAWD,GAAU3lF,KAAK,KACxB/L,KAAKiwF,kBAAkBlmE,IAAIqsD,KAC9Bp2E,KAAKk1D,UAAU,yBAA0B,CAAE5kD,SAAU8lE,IACrDp2E,KAAKiwF,kBAAkBjmE,IAAIosD,OAIxB,GACRj1E,EAEDwwF,WAAA,SAAWvb,GACT,MAAMwb,EAAc3C,EAAkB7Y,GACtC,OAAOyb,EAAeD,EAAa,CACjCE,YAAY,YACZnzE,GAAG,UACF5S,KAAK,IAGN/L,KAAK4wF,iBAAiBxa,KAEzBj1E,EAED0R,SAAA,SAASoxC,GACPjkD,KAAKgzE,SAAS/uB,IACf9iD,EAED4wF,2BAAA,SAA2B9tC,GACzB,MAAMmyB,EAAWrmD,YAASk0B,GACpBG,EAAOpkD,KAAK+vF,WAAWtnF,IAAI2tE,GACjC,GAAIhyB,EAAM,CACR,MAAMyQ,EAAgBw6B,EAAgBjrC,EAAK4B,SAE3C,MAAM,GAAN97C,OAAAq3C,YACKywC,EAAoBn9B,EAAczQ,KAAKmrC,qBAAmB,CAC7DN,EAAkB7Y,KAGpB,OAAO,MAEVj1E,EAED8wF,eAAA,SAAehuC,GACb,MAAMmyB,EAAWrmD,YAASk0B,GACpBG,EAAOpkD,KAAK4vF,OAAOnnF,IAAI2tE,GAC7B,OAAQhyB,GAAQA,EAAKusC,UACtBxvF,EAED0vF,YAAA,SAAYL,GACV,YADiB,IAAPA,MAAU,GACbxwF,KAAKkwF,YAAehB,2EAA2CnjF,KACpE2iF,IACE,MAAM,OAAEzb,EAAM,aAAEwd,GAAiB/B,EAEjC,IAAIwD,EAEJ,GAAe,MAAXjf,GAAkBud,EAAU,EAE9B,OAAOxwF,KAAK6wF,YAAYL,EAAU,GAIpC,GAAe,MAAXvd,EACF,IACE,MAAMyd,EAAct7E,KAAKC,MAAMo7E,GAC/B,QAA2C3vF,IAAvC4vF,EAAYvd,uBACd,MAAM,IAAIloE,MAAM,iCAGlBinF,EAAUxB,EACV,MAAOlmC,IAKX,OAAO0nC,KAGZzC,EA9WoB,GAiXvB,MAAMuC,EAAsBzC,IACzBx/E,OAAOoiF,gBAAgB5C,IAAuB,IAAI5qF,IACjDytF,GAASlD,kDAAkBkD,GAGxB,IAkDHjhF,EAlDS+jE,EAAU,SAAAmd,GACrB,SAAAnd,EAAYC,EAAevmD,GAOF,OAEvByjE,EAAAjpF,KAAA,KARsBkpF,GACpBnd,EAAcn9C,WAAWs6D,GACrBnd,EAAcn9C,WAAWs6D,KACtBvmF,KAAKijF,GAEL3lC,MAAM,IAAM,MACfx9C,QAAQC,UAEO8iB,IAAW,KAVbgmC,YAAAsgB,EAAAmd,GAWpB,IAAA1d,EAAAO,EAAA9zE,UAoCA,OApCAuzE,EAEDgd,WAAA,SAAWvb,GACT,OAAOic,EAAAjxF,UAAMuwF,WAAUvoF,KAAC,KAAAgtE,GAAUrqE,KAAK0/B,IACrC,GAAIA,EAAOwnC,SAAWC,EAAmB6b,QACvC,OAAOljF,QAAQC,UAEjB,MAAMwjF,EAAW7jD,EAAOua,QAClBssC,EAAYhD,EAASC,mBACrBgD,EAAgBP,EAAoBM,GAC1C,OAAOzmF,QAAQmoB,IAAIu+D,EAAc5tF,IAAIktF,IAAiB9lF,KAAK,IAAMujF,MAEpE3a,EAEDic,iBAAA,SAAiB3sC,GACf,OAAOouC,EAAAjxF,UAAMwvF,iBAAgBxnF,KAAC,KAAA66C,GAASl4C,KAAKZ,GACtCA,EAAKwlF,SAGAxB,EAAQlrC,EAAQ,QAASl4C,KAAK2iF,GAChB,MAAfA,EAAIzb,OAIC,CACLA,OAAQC,EAAmBjoE,OAMxBE,GAGJA,IAEV+pE,EA/CoB,CAASua,GAoDzB,MAAMra,EAAYod,IACvBrhF,EAAWqhF,GAGAp9B,EAAe,CAI1Bq9B,wBAAyBxuC,IACvBhwC,QAAQC,KAAK,wEAGN/C,EAASlP,EAAE+wE,SAAS/uB,IAE7ByuC,4BAA6BzuC,IAC3BhwC,QAAQC,KAAK,gFAGN/C,EAASlP,EAAE8yE,aAAa9wB,IAEjCtzC,QAASszC,GAAW9yC,EAAS29E,SAAS7qC,GAGtC8tC,2BAA4B9tC,GAC1B9yC,EAAS4gF,2BAA2B9tC,GACtC+uB,SAAU/uB,GAAW9yC,EAAS6hE,SAAS/uB,GACvC8wB,aAAc9wB,GAAW9yC,EAAS4jE,aAAa9wB,GAC/C6qC,SAAU7qC,GAAW9yC,EAAS29E,SAAS7qC,GACvCguC,eAAgBhuC,GAAW9yC,EAAS8gF,eAAehuC,GACnDpxC,SAAUoxC,GAAW9yC,EAAS0B,SAASoxC,GACvC4sC,YAAaA,IAAM1/E,EAAS0/E,eAGfz7B,YAER,SAAS2gB,IACd,OAAI5kE,EACKA,EAAS2+E,cAET,K,kCC3hBX,IAAIt7E,EAAyB,EAAQ,QAEjCyX,EAAUzoB,OAIdiR,EAAO/H,QAAU,SAAU4b,GACzB,OAAO2D,EAAQzX,EAAuB8T,M,kCCRxC,SAASqqE,EAAQ1hE,GACf,IAAI1mB,EAAQ/G,OAAOywB,OAAO,MAC1B,OAAO,SAAU8Y,GAEf,YADmBjsC,IAAfyJ,EAAMwiC,KAAoBxiC,EAAMwiC,GAAO9b,EAAG8b,IACvCxiC,EAAMwiC,IAJjB,mC,oKCAI6lD,EAAUhlD,EAAQ,QAA+I1gC,QACjK2lF,EAAUjlD,EAAQ,QAA+I1gC,QAC7J1J,SAAOC,OAAO,GAAImvF,EAC1BC,G,ykBCyBA,MAAMC,EAAsB,GAEtBC,EAAsBvxC,GAC1B,SAAkC/7C,GAChC,MAAM,UAAEgO,GAAc+tC,EAAIwxC,KAAK,QAAC,MAAErsB,GAAO,SAAMA,GAAQA,EAAMlhE,KAC7D,OAAOkpC,kBAACl7B,EAAchO,IAG1BwtF,UAAW1xF,QAAQ2N,IAAkC,IAAjC,OAAEgkF,EAAS,GAAE,WAAEl7D,GAAY,EAC7Cx0B,OAAOmO,QAAQqmB,GAAYz2B,QAAQiO,IAAiC,IAA/B2jF,EAAe1/E,GAAU,EACxDq/E,EAAoBK,GACtBL,EAAoBlyF,KAAK,CAAE+lE,MAAOusB,EAAOC,GAAgB1/E,cAEzDq/E,EAAoBK,GAAiB,CACnC,CAAExsB,MAAOusB,EAAOC,GAAgB1/E,kBAMxC,MAAMukB,EAAax0B,OAAOmO,QAAQmhF,GAC/BnuF,IAAIooD,IAAkB,IAAhBviD,EAAMg3C,GAAI,EACf,MAAO,CACL,CAACh3C,GAAOuoF,EACNvxC,EAAIt3C,OAAO,CAAEy8D,WAAO7lE,EAAW2S,UAAWjJ,QAI/C+tD,OAAO,CAACgI,EAAK90C,IACL,EAAP,KAAY80C,GAAQ90C,GACnB,IAGC2nE,EAAcv7D,4BAClB,QAAGG,WAAYq7D,EAAqB,SAAE3tF,GAAU,SAC9CipC,kBAACF,mBAAgB,CAACC,WAAY4kD,GAC5B3kD,kBAACzW,cAAW,CAACF,WAAU,OAAOq7D,GAA0Br7D,IACrDtyB,MChEF,MAAMguD,EDsEW,QAAC,QAAEnrD,GAAS,SAAKomC,kBAACykD,EAAW,KAAE7qF,K,oIEtE5C8zC,EAAY,cCInBk3C,EAAiB,CACnBC,eAAe,GAENC,EAAU,cAAiB,SAAUhuF,EAAO2rB,GACrD,IAAI4sB,EAAK,YAAe,GACtBxrB,EAAYwrB,EAAG,GACf01C,EAAe11C,EAAG,GAChBt4C,EAAWD,EAAMC,SACnBosB,EAAYrsB,EAAMqsB,UAClBM,EAAS3sB,EAAM2sB,OACfP,EAAapsB,EAAMosB,WACnB8hE,EAAKluF,EAAM6hD,QACXA,OAAiB,IAAPqsC,GAAuBA,EACjCC,EAAKnuF,EAAMouF,WACXA,OAAoB,IAAPD,GAAuBA,EACpCr3B,EAAK92D,EAAMquF,UACXA,OAAmB,IAAPv3B,GAAuBA,EACnCL,EAAKz2D,EAAMotB,YACXA,OAAqB,IAAPqpC,GAAuBA,EACrC63B,EAAQtuF,EAAMsuF,MACdC,EAAiBvuF,EAAMuuF,eACvBrhE,EAAUltB,EAAMktB,QAChBhjB,EAAYlK,EAAMkK,UAClBskF,EAAexuF,EAAMwuF,aACrBC,EAAuBzuF,EAAMyuF,qBAC7BrkF,EAAQpK,EAAMoK,MACd8O,EAAKlZ,EAAMkZ,GACXw1E,EAAU1uF,EAAM0uF,QAChBzhF,EAAO,YAAOjN,EAAO,CAAC,WAAY,YAAa,SAAU,aAAc,UAAW,aAAc,YAAa,cAAe,QAAS,iBAAkB,UAAW,YAAa,eAAgB,uBAAwB,QAAS,KAAM,YACpOitB,EAAUC,EACVK,EAAeR,EAAUQ,aAC3BE,EAAiBV,EAAUU,eAC3BkhE,EAAY,YAAO5hE,EAAW,CAAC,eAAgB,mBAC7C6hE,EAAmB,YAAS,YAAS,GAAID,GAAY,CACvDz1E,GAAIA,EACJ9O,MAAOA,EACP8iB,QAASA,EACTP,OAAQA,EACR4hE,eAAgBA,EAChBG,QAASA,EACTJ,MAAOA,EACPzsC,QAASA,GAAWusC,IAEtB,OAAO,gBAAoB,WAAgB,KAAM,gBAAoB,IAAgB,CACnFtiF,IAAK6f,EACLuB,QAASA,EACTjB,WAAYc,GAAa80B,GAAWwsC,GACpCjhE,YAAaA,EACbf,UAAWA,EACXM,OAAQA,EACRP,WAAYA,EACZmB,aAAcA,EACdE,eAAgBA,EAChBvjB,UAAWA,EACXsiB,UAAWgiE,EACXzhE,UAAW6hE,EACXvhE,aAAcohE,EAAuBX,OAAiBzyF,EACtD6d,GAAI,KACHjZ,GAAW4hD,GAAW,gBAAoB50B,EAAS,YAAS,GAAIhgB,EAAM,CACvEigB,QAAS0pB,EACTq3C,aAAcA,EACdthE,OAAQA,S,uCC/DG,YAAc,IAAe,K,iCCAxCkiE,EAAQ,cAEDC,EAAwB,WACjC,OAAO,gBAAoBD,EAAO,CAChChqF,OAHS,4ECETm9D,EAAa,SAAUl2D,GACzB,MAAO,YAAaA,EAAMA,EAAIhD,QAAUgD,GCF3B,kBAAc8qC,GDItB,SAAgB2B,GACrB,IAAI01C,EAAe11C,EAAG01C,aACpBpR,EAActkC,EAAGskC,YACjBC,EAAiBvkC,EAAGukC,eACpBnwD,EAAS4rB,EAAG5rB,OACZY,EAAegrB,EAAGhrB,aAClBE,EAAiB8qB,EAAG9qB,eACpBshE,EAAcx2C,EAAGw2C,YACfb,EAAK,wBAAS7yF,GAChB2zF,EAAad,EAAG,GAChBe,EAAgBf,EAAG,GACjBgB,EAAkB,iBAAO,MACzBC,EAAe,iBAAO,GAwF1B,OAvFA,aAAgB,WACd,IAAI7sE,EAAY,SAAUD,GACnBA,EAAM/U,kBACW,WAAf+U,EAAMue,MAAmC,WAAdve,EAAM5mB,KAAsC,KAAlB4mB,EAAM7D,UAAmBq+D,GACjFA,EAAYx6D,IAId+sE,EAAc,SAAU/sE,GACtBA,EAAM/U,kBAAoB+U,EAAMjW,SAAW8iF,EAAgBpmF,SAAWuZ,aAAiBgtE,YAA+B,IAAjBhtE,EAAMhV,QAG3Gsf,GAAUA,EAAOztB,IAAI8iE,GAAY9F,MAAK,SAAUt4D,GAClD,OAAOA,GAAQA,EAAKma,SAASsE,EAAMjW,SAAWxI,IAASye,EAAMjW,WAI3D0wE,GACFA,EAAez6D,IAGfo6D,EAAe,SAAUp6D,GAC3B+sE,EAAY/sE,GACZ8sE,EAAarmF,QAAUuZ,EAAMitE,QAAQ10F,QAEnC+hF,EAAa,SAAUt6D,GACzB8sE,EAAarmF,QAAUuZ,EAAMitE,QAAQ10F,QAEvC,GAAIo0F,EAKF,OAJA/yF,SAAS8jB,iBAAiB,UAAWuC,GACrCrmB,SAAS8jB,iBAAiB,YAAaqvE,GACvCnzF,SAAS8jB,iBAAiB,aAAc08D,GACxCxgF,SAAS8jB,iBAAiB,WAAY48D,GAC/B,WACL1gF,SAASokB,oBAAoB,UAAWiC,GACxCrmB,SAASokB,oBAAoB,YAAa+uE,GAC1CnzF,SAASokB,oBAAoB,aAAco8D,GAC3CxgF,SAASokB,oBAAoB,WAAYs8D,MAG5C,CAACqS,EAAYlS,EAAgBD,IAChC,qBAAU,WACR,GAAImS,EAIF,OAHIzhE,GACFA,EAAayhE,GAER,WACDvhE,GACFA,OAIL,GAAGuhE,IACN,qBAAU,WACR,IAAIO,EAAQ,WACV,OAAO,MAELzL,GAAY,EAyBhB,OAVAmK,EAAa,CACXmB,YAAa,SAAUtyF,GACrBoyF,EAAgBpmF,QAAUhM,EAAEsP,QAE9BqwE,aAAc,SAAU3/E,GACtBoyF,EAAgBpmF,QAAUhM,EAAEsP,QAE9BmhB,aArBqB,SAAU3pB,GAC1BmrF,IACHQ,EAAQ,YAAW,YAAe,CAAC3rF,IAAQ+oB,GAAU,IAAIztB,IAAI8iE,IAAc/lE,SAASoW,KJhF7D,yBIkFzB48E,GAAc,WACZ,OAAOrrF,MAiBT6pB,eAduB,WACvB8hE,IACKzL,GACHmL,EAAc,SAaX,WACLnL,GAAY,EACZmK,GAAa,MAEd,IACI,gBAAoBa,EAAuB,SEzGhDU,EAAiB,SAAUxvF,GAC7B,OAAO,gBAAoB,EAAS,YAAS,GAAIA,KAExC,EAAU,cAAiB,SAAUA,EAAO8L,GACrD,OAAO,gBAAoB,EAAc,YAAS,GAAI9L,EAAO,CAC3D8L,IAAKA,EACLohB,QAASsiE,S,qBCVb,IAAI7pE,EAAU,EAAQ,QAAwB,QAC9C,SAAS8pE,IACP,aACAzgF,EAAO/H,QAAUwoF,EAAsB,WACrC,OAAOxoF,GACN+H,EAAO/H,QAAQC,YAAa,EAAM8H,EAAO/H,QAAiB,QAAI+H,EAAO/H,QACxE,IAAIA,EAAU,GACZyoF,EAAK3xF,OAAOpC,UACZozB,EAAS2gE,EAAGzjF,eACZka,EAAiBpoB,OAAOooB,gBAAkB,SAAUH,EAAKvqB,EAAK2qB,GAC5DJ,EAAIvqB,GAAO2qB,EAAKxmB,OAElB6mB,EAAU,mBAAqBtX,OAASA,OAAS,GACjDwgF,EAAiBlpE,EAAQpX,UAAY,aACrCugF,EAAsBnpE,EAAQopE,eAAiB,kBAC/CC,EAAoBrpE,EAAQspE,aAAe,gBAC7C,SAASC,EAAOhqE,EAAKvqB,EAAKmE,GACxB,OAAO7B,OAAOooB,eAAeH,EAAKvqB,EAAK,CACrCmE,MAAOA,EACP8lB,YAAY,EACZ+L,cAAc,EACdC,UAAU,IACR1L,EAAIvqB,GAEV,IACEu0F,EAAO,GAAI,IACX,MAAOjrC,GACPirC,EAAS,SAAgBhqE,EAAKvqB,EAAKmE,GACjC,OAAOomB,EAAIvqB,GAAOmE,GAGtB,SAASs6E,EAAK+V,EAASC,EAASpnE,EAAMqnE,GACpC,IAAIC,EAAiBF,GAAWA,EAAQv0F,qBAAqB00F,EAAYH,EAAUG,EACjFC,EAAYvyF,OAAOywB,OAAO4hE,EAAez0F,WACzCgjF,EAAU,IAAI4R,EAAQJ,GAAe,IACvC,OAAOhqE,EAAemqE,EAAW,UAAW,CAC1C1wF,MAAO4wF,EAAiBP,EAASnnE,EAAM61D,KACrC2R,EAEN,SAASG,EAASjlE,EAAIxF,EAAKshB,GACzB,IACE,MAAO,CACLvnC,KAAM,SACNunC,IAAK9b,EAAG7nB,KAAKqiB,EAAKshB,IAEpB,MAAOyd,GACP,MAAO,CACLhlD,KAAM,QACNunC,IAAKyd,IAIX99C,EAAQizE,KAAOA,EACf,IAAIwW,EAAmB,GACvB,SAASL,KACT,SAASM,KACT,SAASC,KACT,IAAIC,EAAoB,GACxBb,EAAOa,EAAmBlB,GAAgB,WACxC,OAAOp1F,QAET,IAAIu2F,EAAW/yF,OAAOoqB,eACpB4oE,EAA0BD,GAAYA,EAASA,EAASE,EAAO,MACjED,GAA2BA,IAA4BrB,GAAM3gE,EAAOprB,KAAKotF,EAAyBpB,KAAoBkB,EAAoBE,GAC1I,IAAIE,EAAKL,EAA2Bj1F,UAAY00F,EAAU10F,UAAYoC,OAAOywB,OAAOqiE,GACpF,SAASK,EAAsBv1F,GAC7B,CAAC,OAAQ,QAAS,UAAUG,SAAQ,SAAUinB,GAC5CitE,EAAOr0F,EAAWonB,GAAQ,SAAUukB,GAClC,OAAO/sC,KAAK42F,QAAQpuE,EAAQukB,SAIlC,SAAS8pD,EAAcd,EAAWe,GAkBhC,IAAIC,EACJnrE,EAAe5rB,KAAM,UAAW,CAC9BqF,MAAO,SAAemjB,EAAQukB,GAC5B,SAASiqD,IACP,OAAO,IAAIF,GAAY,SAAUhrF,EAAS6wD,IArBhD,SAASs6B,EAAOzuE,EAAQukB,EAAKjhC,EAAS6wD,GACpC,IAAIu6B,EAAShB,EAASH,EAAUvtE,GAASutE,EAAWhpD,GACpD,GAAI,UAAYmqD,EAAO1xF,KAAM,CAC3B,IAAIimC,EAASyrD,EAAOnqD,IAClB1nC,EAAQomC,EAAOpmC,MACjB,OAAOA,GAAS,UAAY+lB,EAAQ/lB,IAAUmvB,EAAOprB,KAAK/D,EAAO,WAAayxF,EAAYhrF,QAAQzG,EAAM8xF,SAASprF,MAAK,SAAU1G,GAC9H4xF,EAAO,OAAQ5xF,EAAOyG,EAAS6wD,MAC9B,SAAUnS,GACXysC,EAAO,QAASzsC,EAAK1+C,EAAS6wD,MAC3Bm6B,EAAYhrF,QAAQzG,GAAO0G,MAAK,SAAUqrF,GAC7C3rD,EAAOpmC,MAAQ+xF,EAAWtrF,EAAQ2/B,MACjC,SAAUvjB,GACX,OAAO+uE,EAAO,QAAS/uE,EAAOpc,EAAS6wD,MAG3CA,EAAOu6B,EAAOnqD,KAORkqD,CAAOzuE,EAAQukB,EAAKjhC,EAAS6wD,MAGjC,OAAOo6B,EAAkBA,EAAkBA,EAAgBhrF,KAAKirF,EAA4BA,GAA8BA,OAIhI,SAASf,EAAiBP,EAASnnE,EAAM61D,GACvC,IAAIn0E,EAAQ,iBACZ,OAAO,SAAUuY,EAAQukB,GACvB,GAAI,cAAgB98B,EAAO,MAAM,IAAIhF,MAAM,gCAC3C,GAAI,cAAgBgF,EAAO,CACzB,GAAI,UAAYuY,EAAQ,MAAMukB,EAC9B,MAAO,CACL1nC,WAAO,EACPm3D,MAAM,GAGV,IAAK4nB,EAAQ57D,OAASA,EAAQ47D,EAAQr3C,IAAMA,IAAO,CACjD,IAAIsqD,EAAWjT,EAAQiT,SACvB,GAAIA,EAAU,CACZ,IAAIC,EAAiBC,EAAoBF,EAAUjT,GACnD,GAAIkT,EAAgB,CAClB,GAAIA,IAAmBnB,EAAkB,SACzC,OAAOmB,GAGX,GAAI,SAAWlT,EAAQ57D,OAAQ47D,EAAQoT,KAAOpT,EAAQqT,MAAQrT,EAAQr3C,SAAS,GAAI,UAAYq3C,EAAQ57D,OAAQ,CAC7G,GAAI,mBAAqBvY,EAAO,MAAMA,EAAQ,YAAam0E,EAAQr3C,IACnEq3C,EAAQsT,kBAAkBtT,EAAQr3C,SAC7B,WAAaq3C,EAAQ57D,QAAU47D,EAAQuT,OAAO,SAAUvT,EAAQr3C,KACvE98B,EAAQ,YACR,IAAIinF,EAAShB,EAASR,EAASnnE,EAAM61D,GACrC,GAAI,WAAa8S,EAAO1xF,KAAM,CAC5B,GAAIyK,EAAQm0E,EAAQ5nB,KAAO,YAAc,iBAAkB06B,EAAOnqD,MAAQopD,EAAkB,SAC5F,MAAO,CACL9wF,MAAO6xF,EAAOnqD,IACdyvB,KAAM4nB,EAAQ5nB,MAGlB,UAAY06B,EAAO1xF,OAASyK,EAAQ,YAAam0E,EAAQ57D,OAAS,QAAS47D,EAAQr3C,IAAMmqD,EAAOnqD,OAItG,SAASwqD,EAAoBF,EAAUjT,GACrC,IAAIwT,EAAaxT,EAAQ57D,OACvBA,EAAS6uE,EAASviF,SAAS8iF,GAC7B,QAAI92F,IAAc0nB,EAAQ,OAAO47D,EAAQiT,SAAW,KAAM,UAAYO,GAAcP,EAASviF,SAAiB,SAAMsvE,EAAQ57D,OAAS,SAAU47D,EAAQr3C,SAAMjsC,EAAWy2F,EAAoBF,EAAUjT,GAAU,UAAYA,EAAQ57D,SAAW,WAAaovE,IAAexT,EAAQ57D,OAAS,QAAS47D,EAAQr3C,IAAM,IAAIxG,UAAU,oCAAsCqxD,EAAa,aAAczB,EAClY,IAAIe,EAAShB,EAAS1tE,EAAQ6uE,EAASviF,SAAUsvE,EAAQr3C,KACzD,GAAI,UAAYmqD,EAAO1xF,KAAM,OAAO4+E,EAAQ57D,OAAS,QAAS47D,EAAQr3C,IAAMmqD,EAAOnqD,IAAKq3C,EAAQiT,SAAW,KAAMlB,EACjH,IAAIj1C,EAAOg2C,EAAOnqD,IAClB,OAAOmU,EAAOA,EAAKsb,MAAQ4nB,EAAQiT,EAASQ,YAAc32C,EAAK77C,MAAO++E,EAAQp4C,KAAOqrD,EAASS,QAAS,WAAa1T,EAAQ57D,SAAW47D,EAAQ57D,OAAS,OAAQ47D,EAAQr3C,SAAMjsC,GAAYsjF,EAAQiT,SAAW,KAAMlB,GAAoBj1C,GAAQkjC,EAAQ57D,OAAS,QAAS47D,EAAQr3C,IAAM,IAAIxG,UAAU,oCAAqC69C,EAAQiT,SAAW,KAAMlB,GAErW,SAAS4B,EAAaC,GACpB,IAAIpmF,EAAQ,CACVqmF,OAAQD,EAAK,IAEf,KAAKA,IAASpmF,EAAMsmF,SAAWF,EAAK,IAAK,KAAKA,IAASpmF,EAAMumF,WAAaH,EAAK,GAAIpmF,EAAMwmF,SAAWJ,EAAK,IAAKh4F,KAAKq4F,WAAWz3F,KAAKgR,GAErI,SAAS0mF,EAAc1mF,GACrB,IAAIslF,EAAStlF,EAAM2mF,YAAc,GACjCrB,EAAO1xF,KAAO,gBAAiB0xF,EAAOnqD,IAAKn7B,EAAM2mF,WAAarB,EAEhE,SAASlB,EAAQJ,GACf51F,KAAKq4F,WAAa,CAAC,CACjBJ,OAAQ,SACNrC,EAAYr0F,QAAQw2F,EAAc/3F,MAAOA,KAAKw4F,OAAM,GAE1D,SAAS/B,EAAOgC,GACd,GAAIA,GAAY,KAAOA,EAAU,CAC/B,IAAIC,EAAiBD,EAASrD,GAC9B,GAAIsD,EAAgB,OAAOA,EAAetvF,KAAKqvF,GAC/C,GAAI,mBAAqBA,EAASzsD,KAAM,OAAOysD,EAC/C,IAAKpU,MAAMoU,EAASp4F,QAAS,CAC3B,IAAI4B,GAAK,EACP+pC,EAAO,SAASA,IACd,OAAS/pC,EAAIw2F,EAASp4F,QAAS,GAAIm0B,EAAOprB,KAAKqvF,EAAUx2F,GAAI,OAAO+pC,EAAK3mC,MAAQozF,EAASx2F,GAAI+pC,EAAKwwB,MAAO,EAAIxwB,EAC9G,OAAOA,EAAK3mC,WAAQvE,EAAWkrC,EAAKwwB,MAAO,EAAIxwB,GAEnD,OAAOA,EAAKA,KAAOA,GAGvB,MAAM,IAAIzF,UAAUnb,EAAQqtE,GAAY,oBAE1C,OAAOrC,EAAkBh1F,UAAYi1F,EAA4BzqE,EAAe8qE,EAAI,cAAe,CACjGrxF,MAAOgxF,EACPn/D,cAAc,IACZtL,EAAeyqE,EAA4B,cAAe,CAC5DhxF,MAAO+wF,EACPl/D,cAAc,IACZk/D,EAAkB3pE,YAAcgpE,EAAOY,EAA4Bd,EAAmB,qBAAsB7oF,EAAQisF,oBAAsB,SAAUC,GACtJ,IAAIC,EAAO,mBAAqBD,GAAUA,EAAOxsD,YACjD,QAASysD,IAASA,IAASzC,GAAqB,uBAAyByC,EAAKpsE,aAAeosE,EAAKruF,QACjGkC,EAAQ+yE,KAAO,SAAUmZ,GAC1B,OAAOp1F,OAAOu7C,eAAiBv7C,OAAOu7C,eAAe65C,EAAQvC,IAA+BuC,EAAO55C,UAAYq3C,EAA4BZ,EAAOmD,EAAQrD,EAAmB,sBAAuBqD,EAAOx3F,UAAYoC,OAAOywB,OAAOyiE,GAAKkC,GACzOlsF,EAAQosF,MAAQ,SAAU/rD,GAC3B,MAAO,CACLoqD,QAASpqD,IAEV4pD,EAAsBE,EAAcz1F,WAAYq0F,EAAOoB,EAAcz1F,UAAWi0F,GAAqB,WACtG,OAAOr1F,QACL0M,EAAQmqF,cAAgBA,EAAenqF,EAAQP,MAAQ,SAAUupF,EAASC,EAASpnE,EAAMqnE,EAAakB,QACxG,IAAWA,IAAgBA,EAAcjrF,SACzC,IAAI81C,EAAO,IAAIk1C,EAAclX,EAAK+V,EAASC,EAASpnE,EAAMqnE,GAAckB,GACxE,OAAOpqF,EAAQisF,oBAAoBhD,GAAWh0C,EAAOA,EAAK3V,OAAOjgC,MAAK,SAAU0/B,GAC9E,OAAOA,EAAO+wB,KAAO/wB,EAAOpmC,MAAQs8C,EAAK3V,WAE1C2qD,EAAsBD,GAAKjB,EAAOiB,EAAInB,EAAmB,aAAcE,EAAOiB,EAAItB,GAAgB,WACnG,OAAOp1F,QACLy1F,EAAOiB,EAAI,YAAY,WACzB,MAAO,wBACLhqF,EAAQiK,KAAO,SAAU4mD,GAC3B,IAAI1uD,EAASrL,OAAO+5D,GAClB5mD,EAAO,GACT,IAAK,IAAIzV,KAAO2N,EAAQ8H,EAAK/V,KAAKM,GAClC,OAAOyV,EAAK4xE,UAAW,SAASv8C,IAC9B,KAAOr1B,EAAKtW,QAAS,CACnB,IAAIa,EAAMyV,EAAK2+C,MACf,GAAIp0D,KAAO2N,EAAQ,OAAOm9B,EAAK3mC,MAAQnE,EAAK8qC,EAAKwwB,MAAO,EAAIxwB,EAE9D,OAAOA,EAAKwwB,MAAO,EAAIxwB,IAExBt/B,EAAQ+pF,OAASA,EAAQT,EAAQ50F,UAAY,CAC9CgrC,YAAa4pD,EACbwC,MAAO,SAAeO,GACpB,GAAI/4F,KAAK6/E,KAAO,EAAG7/E,KAAKgsC,KAAO,EAAGhsC,KAAKw3F,KAAOx3F,KAAKy3F,WAAQ32F,EAAWd,KAAKw8D,MAAO,EAAIx8D,KAAKq3F,SAAW,KAAMr3F,KAAKwoB,OAAS,OAAQxoB,KAAK+sC,SAAMjsC,EAAWd,KAAKq4F,WAAW92F,QAAQ+2F,IAAiBS,EAAe,IAAK,IAAIvuF,KAAQxK,KAAM,MAAQwK,EAAKikB,OAAO,IAAM+F,EAAOprB,KAAKpJ,KAAMwK,KAAU65E,OAAO75E,EAAKlG,MAAM,MAAQtE,KAAKwK,QAAQ1J,IAEtUg/E,KAAM,WACJ9/E,KAAKw8D,MAAO,EACZ,IAAIw8B,EAAah5F,KAAKq4F,WAAW,GAAGE,WACpC,GAAI,UAAYS,EAAWxzF,KAAM,MAAMwzF,EAAWjsD,IAClD,OAAO/sC,KAAKi5F,MAEdvB,kBAAmB,SAA2BpyC,GAC5C,GAAItlD,KAAKw8D,KAAM,MAAMlX,EACrB,IAAI8+B,EAAUpkF,KACd,SAASk5F,EAAOC,EAAKC,GACnB,OAAOlC,EAAO1xF,KAAO,QAAS0xF,EAAOnqD,IAAMuY,EAAW8+B,EAAQp4C,KAAOmtD,EAAKC,IAAWhV,EAAQ57D,OAAS,OAAQ47D,EAAQr3C,SAAMjsC,KAAcs4F,EAE5I,IAAK,IAAIn3F,EAAIjC,KAAKq4F,WAAWh4F,OAAS,EAAG4B,GAAK,IAAKA,EAAG,CACpD,IAAI2P,EAAQ5R,KAAKq4F,WAAWp2F,GAC1Bi1F,EAAStlF,EAAM2mF,WACjB,GAAI,SAAW3mF,EAAMqmF,OAAQ,OAAOiB,EAAO,OAC3C,GAAItnF,EAAMqmF,QAAUj4F,KAAK6/E,KAAM,CAC7B,IAAIwZ,EAAW7kE,EAAOprB,KAAKwI,EAAO,YAChC0nF,EAAa9kE,EAAOprB,KAAKwI,EAAO,cAClC,GAAIynF,GAAYC,EAAY,CAC1B,GAAIt5F,KAAK6/E,KAAOjuE,EAAMsmF,SAAU,OAAOgB,EAAOtnF,EAAMsmF,UAAU,GAC9D,GAAIl4F,KAAK6/E,KAAOjuE,EAAMumF,WAAY,OAAOe,EAAOtnF,EAAMumF,iBACjD,GAAIkB,GACT,GAAIr5F,KAAK6/E,KAAOjuE,EAAMsmF,SAAU,OAAOgB,EAAOtnF,EAAMsmF,UAAU,OACzD,CACL,IAAKoB,EAAY,MAAM,IAAIruF,MAAM,0CACjC,GAAIjL,KAAK6/E,KAAOjuE,EAAMumF,WAAY,OAAOe,EAAOtnF,EAAMumF,gBAK9DR,OAAQ,SAAgBnyF,EAAMunC,GAC5B,IAAK,IAAI9qC,EAAIjC,KAAKq4F,WAAWh4F,OAAS,EAAG4B,GAAK,IAAKA,EAAG,CACpD,IAAI2P,EAAQ5R,KAAKq4F,WAAWp2F,GAC5B,GAAI2P,EAAMqmF,QAAUj4F,KAAK6/E,MAAQrrD,EAAOprB,KAAKwI,EAAO,eAAiB5R,KAAK6/E,KAAOjuE,EAAMumF,WAAY,CACjG,IAAIoB,EAAe3nF,EACnB,OAGJ2nF,IAAiB,UAAY/zF,GAAQ,aAAeA,IAAS+zF,EAAatB,QAAUlrD,GAAOA,GAAOwsD,EAAapB,aAAeoB,EAAe,MAC7I,IAAIrC,EAASqC,EAAeA,EAAahB,WAAa,GACtD,OAAOrB,EAAO1xF,KAAOA,EAAM0xF,EAAOnqD,IAAMA,EAAKwsD,GAAgBv5F,KAAKwoB,OAAS,OAAQxoB,KAAKgsC,KAAOutD,EAAapB,WAAYhC,GAAoBn2F,KAAKw5F,SAAStC,IAE5JsC,SAAU,SAAkBtC,EAAQkB,GAClC,GAAI,UAAYlB,EAAO1xF,KAAM,MAAM0xF,EAAOnqD,IAC1C,MAAO,UAAYmqD,EAAO1xF,MAAQ,aAAe0xF,EAAO1xF,KAAOxF,KAAKgsC,KAAOkrD,EAAOnqD,IAAM,WAAamqD,EAAO1xF,MAAQxF,KAAKi5F,KAAOj5F,KAAK+sC,IAAMmqD,EAAOnqD,IAAK/sC,KAAKwoB,OAAS,SAAUxoB,KAAKgsC,KAAO,OAAS,WAAakrD,EAAO1xF,MAAQ4yF,IAAap4F,KAAKgsC,KAAOosD,GAAWjC,GAEtQsD,OAAQ,SAAgBtB,GACtB,IAAK,IAAIl2F,EAAIjC,KAAKq4F,WAAWh4F,OAAS,EAAG4B,GAAK,IAAKA,EAAG,CACpD,IAAI2P,EAAQ5R,KAAKq4F,WAAWp2F,GAC5B,GAAI2P,EAAMumF,aAAeA,EAAY,OAAOn4F,KAAKw5F,SAAS5nF,EAAM2mF,WAAY3mF,EAAMwmF,UAAWE,EAAc1mF,GAAQukF,IAGvH,MAAS,SAAgB8B,GACvB,IAAK,IAAIh2F,EAAIjC,KAAKq4F,WAAWh4F,OAAS,EAAG4B,GAAK,IAAKA,EAAG,CACpD,IAAI2P,EAAQ5R,KAAKq4F,WAAWp2F,GAC5B,GAAI2P,EAAMqmF,SAAWA,EAAQ,CAC3B,IAAIf,EAAStlF,EAAM2mF,WACnB,GAAI,UAAYrB,EAAO1xF,KAAM,CAC3B,IAAIk0F,EAASxC,EAAOnqD,IACpBurD,EAAc1mF,GAEhB,OAAO8nF,GAGX,MAAM,IAAIzuF,MAAM,0BAElB0uF,cAAe,SAAuBlB,EAAUZ,EAAYC,GAC1D,OAAO93F,KAAKq3F,SAAW,CACrBviF,SAAU2hF,EAAOgC,GACjBZ,WAAYA,EACZC,QAASA,GACR,SAAW93F,KAAKwoB,SAAWxoB,KAAK+sC,SAAMjsC,GAAYq1F,IAEtDzpF,EAEL+H,EAAO/H,QAAUwoF,EAAqBzgF,EAAO/H,QAAQC,YAAa,EAAM8H,EAAO/H,QAAiB,QAAI+H,EAAO/H,S,oCCzS3G,IAAIwhC,EAAQ,EAAQ,QAGpBz5B,EAAO/H,SAAWwhC,GAAM,WAEtB,OAA+E,IAAxE1qC,OAAOooB,eAAe,GAAI,EAAG,CAAEnjB,IAAK,WAAc,OAAO,KAAQ,O,mBCN1EgM,EAAO/H,QAAU,CAACktF,QAAS,K,kCCC3B,IAAI38B,EAAW,EAAQ,QAEnB9uB,EAAU9qC,OACVswD,EAAaptB,UAGjB9xB,EAAO/H,QAAU,SAAU4b,GACzB,GAAI20C,EAAS30C,GAAW,OAAOA,EAC/B,MAAMqrC,EAAWxlB,EAAQ7lB,GAAY,uB,kCCTxB,SAASuxE,EAAuB3nC,EAASC,GAItD,OAHKA,IACHA,EAAMD,EAAQ5tD,MAAM,IAEfd,OAAOs2F,OAAOt2F,OAAOgzB,iBAAiB07B,EAAS,CACpDC,IAAK,CACH9sD,MAAO7B,OAAOs2F,OAAO3nC,OAN3B,mC,kCCEA,IAAIlF,EAA0B,EAAQ,QAElCxgD,EAAyB,EAAQ,QAErCC,EAAQC,YAAa,EACrBD,EAAQmqB,qBAAkB,EAE1B,IAAIvpB,EAAYb,EAAuB,EAAQ,SAE3CY,EAAkBZ,EAAuB,EAAQ,SAEjDkiC,EAAQse,EAAwB,EAAQ,SAExC8sC,EAAYttF,EAAuB,EAAQ,SAE3Cc,EAAad,EAAuB,EAAQ,SAE5C8jB,EAAiB,EAAQ,QAEzB9iB,EAAU,EAAQ,QAIlBiG,EAAY,CACdsmF,UAAWzsF,EAAWL,QAAQyB,OAAOiF,WACrC25C,mBAAoBhgD,EAAWL,QAAQyG,KACvCjO,SAAU6H,EAAWL,QAAQ3E,QAAQqL,YAInCqmF,EAA6C,SAAU3qF,GAGzD,SAAS2qF,EAA8Bx0F,GAUrC,OAPQ6J,EAAiBlG,KAAKpJ,KAAMyF,IAAUzF,MALhD,EAAIqN,EAAgBH,SAAS+sF,EAA+B3qF,GAe5D,IAAInO,EAAS84F,EAA8B74F,UAuB3C,OArBAD,EAAO4P,kBAAoB,WACzB,IAAIS,EAASxR,KAGTqJ,EAAO0wF,EAAU7sF,QAAQgtF,YAAYl6F,MAErCmS,EAAcnS,KAAKyF,MACnB0J,EAAWgD,EAAYhD,SACvB6qF,EAAY7nF,EAAY6nF,UAC5B,GAAK3wF,EAAL,CACAA,EAAKmc,iBAAiB,UAAU,WAC9BhU,EAAO/L,MAAM2+E,QAAQ9uE,KAAKnG,EAAU6qF,EAAW3wF,EAAKwnB,cAEtD,IAAIH,EAAW1wB,KAAKyF,MAAM2+E,QAAQp5E,KAAKmE,EAAU6qF,GACjD3wF,EAAKsnB,SAAS,EAAGD,GAAY,KAG/BvvB,EAAO8Q,OAAS,WACd,OAAOjS,KAAKyF,MAAMC,UAGbu0F,EAvCwC,CAwC/CtrD,EAAMl7B,WAEJojB,EAAkB,SAAyBpxB,GAC7C,OAAoBkpC,EAAMhtC,cAAc8L,EAAQwB,SAAU,MAAM,SAAUlB,GACxE,IAAIoB,EAAWpB,EAAKoB,SACpB,OAAoBw/B,EAAMhtC,cAAc4uB,EAAeC,cAAc0lD,SAAU,MAAM,SAAUkO,GAC7F,OAAoBz1C,EAAMhtC,cAAcs4F,GAA+B,EAAI3sF,EAAUJ,SAAS,GAAIzH,EAAO,CACvG2+E,QAASA,EACTj1E,SAAUA,YAMlBzC,EAAQmqB,gBAAkBA,EAC1BA,EAAgBnjB,UAAYA,G,kCCtF5B,IAAI0U,EAAa,EAAQ,QACrBirC,EAAe,EAAQ,QAEvBC,EAAcD,EAAar/B,IAE/Bvf,EAAO/H,QAAU2mD,EAAaE,WAAa,SAAU7+C,GACnD,MAAoB,iBAANA,EAAwB,OAAPA,EAAc0T,EAAW1T,IAAOA,IAAO4+C,GACpE,SAAU5+C,GACZ,MAAoB,iBAANA,EAAwB,OAAPA,EAAc0T,EAAW1T,K,kCCP1D,IAAIjI,EAAyBmhC,EAAQ,QAErClhC,EAAQC,YAAa,EACrBD,EAAQQ,QAyLR,SAAkB5H,EAAM0oC,EAAeziC,GACrC,IAAI4uF,EAAeC,EAAyB7uF,EAAIyiC,GAEhD,OADA1oC,EAAKkgB,iBAAiB,QAAS20E,GACxB,WACL,OAAO70F,EAAKwgB,oBAAoB,QAASq0E,KA5L7CztF,EAAQ0tF,yBAA2B1tF,EAAQ2tF,qBAAuB3tF,EAAQ4tF,sBAAwB5tF,EAAQ6tF,oBAAsB7tF,EAAQ8tF,0BAA4B9tF,EAAQ+tF,gCAAkC/tF,EAAQguF,kBAAoBhuF,EAAQiuF,8BAAgCjuF,EAAQkuF,gBAAkBluF,EAAQmuF,6BAA0B,EAE9U,IAAIC,EAAsBruF,EAAuBmhC,EAAQ,SAErDC,EAAUD,EAAQ,QAElBitD,EAA0B,SAAiC/yE,GAC7D,OAAwB,IAAjBA,EAAMhV,QAAgBgV,EAAM7U,QAAU6U,EAAM5U,SAAW4U,EAAM9U,SAAW8U,EAAM3U,UAIvFzG,EAAQmuF,wBAA0BA,EAElC,IAAID,EAAkB,SAAyBtqF,GAC7C,MAAuB,MAAhBA,EAAS,GAAaA,EAAW,IAAMA,GAGhD5D,EAAQkuF,gBAAkBA,EAE1B,IAAID,EAAgC,SAAuC7yE,GACzE,OAAOA,EAAM/U,kBAGfrG,EAAQiuF,8BAAgCA,EAExC,IAAID,EAAoB,SAA2BrxF,GACjD,KAAOA,EAAK5G,WAAY4G,EAAOA,EAAK5G,WAClC,GAAoC,MAAhC4G,EAAK0xF,SAASj2E,cAChB,OAAOzb,EAIX,OAAO,MAGTqD,EAAQguF,kBAAoBA,EAE5B,IAAID,EAAkC,SAAyCO,GAC7E,OAEoC,IAAlCA,EAAOC,aAAa,WAUH,MAAjBD,EAAOnpF,QAKP,CAAC,QAAS,IAAIi0B,SAASk1D,EAAOnpF,SAIZ,YAAlBmpF,EAAOnpF,UAA0BmpF,EAAOpyE,cAAcsyE,YAAY31F,QAClEy1F,EAAOpyE,cAAcsyE,YAAY31F,SAAWy1F,EAAOpyE,cAAcsyE,cAAkC,SAAlBF,EAAOnpF,UAAuBmpF,EAAOpyE,cAAcsyE,YAAYl9E,KAChJg9E,EAAOpyE,cAAcsyE,YAAYl9E,MAAQg9E,EAAOpyE,cAAcsyE,cAIlExuF,EAAQ+tF,gCAAkCA,EAE1C,IAAID,EAA4B,SAAmCQ,GACjE,OAKsC,IAApCA,EAAOC,aAAa,cAKwB,IAA5CR,EAAgCO,IAKpCtuF,EAAQ8tF,0BAA4BA,EAEpC,IAAID,EAAsB,SAA6BzxD,EAAQqyD,GAC7D,OAAOryD,EAAOC,WAAaoyD,EAAYpyD,UAEvCD,EAAO5f,OAASiyE,EAAYjyE,MAG9Bxc,EAAQ6tF,oBAAsBA,EAE9B,IAAID,EAAwB,SAA+Ba,EAAaC,GAEtE,OAWiE,IAA/DA,EAAezvD,KAAKivD,EAAgBO,EAAY7qF,aAKS,IAAzD6qF,EAAY7qF,SAASs4B,OAjBM,kCAqB/Bl8B,EAAQ4tF,sBAAwBA,EAEhC,IAAID,EAAuB,SAA8BvxD,EAAQqyD,GAC/D,MAA4B,KAArBA,EAAYtyD,OAKM,KAAzBsyD,EAAY7qF,UAEZ6qF,EAAY7qF,WAAaw4B,EAAOx4B,WAGlC5D,EAAQ2tF,qBAAuBA,EAE/B,IAAID,EAA2B,SAAkCiB,EAAartD,GAC5E,OAAO,SAAUlmB,GACf,GAAI/X,OAAOmqD,mBAAoB,OAAO,EACtC,GAAI2gC,EAAwB/yE,GAAQ,OAAO,EAC3C,GAAI6yE,EAA8B7yE,GAAQ,OAAO,EACjD,IAAIwzE,EAAgBZ,EAAkB5yE,EAAMjW,QAC5C,GAAqB,MAAjBypF,EAAuB,OAAO,EAClC,GAAId,EAA0Bc,GAAgB,OAAO,EAGrD,IAAIH,EAAcz5F,SAASC,cAAc,KAGd,KAAvB25F,EAAc9nF,OAChB2nF,EAAY3nF,KAAO8nF,EAAc9nF,MAG/B,sBAAuBzD,QAAUurF,EAAc9nF,gBAAgB+nF,oBACjEJ,EAAY3nF,KAAO8nF,EAAc9nF,KAAKgoF,SASxC,IAAI1yD,EAASpnC,SAASC,cAAc,KAEpC,GADAmnC,EAAOt1B,KAAOzD,OAAOZ,SAASqE,MACmB,IAA7C+mF,EAAoBzxD,EAAQqyD,GAAwB,OAAO,EAE/D,IAAIC,EAAiB,IAAIK,OAAO,KAAM,EAAIX,EAAoB5tF,UAAS,EAAI2gC,EAAQjhC,YAAY,OAC/F,GAAI0tF,EAAsBa,EAAaC,GAAiB,OAAO,EAC/D,GAAIf,EAAqBvxD,EAAQqyD,GAAc,OAAO,EAEtD,GAAIntD,EAAc0tD,gBACG,IAAID,OAAOztD,EAAc0tD,gBAE3B/vD,KAAKwvD,EAAY7qF,UAChC,OAAO,EAIXwX,EAAM1U,iBAGN,IAAIuoF,EAAsBf,EAAgBO,EAAY7qF,UAAUrM,QAAQm3F,EAAgB,KAExF,OADAC,EAAY,GAAKM,EAAsBR,EAAYvyD,OAASuyD,EAAYtyD,OACjE,IAIXn8B,EAAQ0tF,yBAA2BA,G,kCC5LnC,2DAMItsE,EAAuB,SAAUC,EAAiBC,GACpD,OAAO,IAAuBD,EAAiBC,K,kCCNjD,IAAIsuB,EAAc,EAAQ,QACtBl0B,EAAa,EAAQ,QACrBwuD,EAAQ,EAAQ,QAEhBglB,EAAmBt/C,EAAY9tB,SAASoe,UAGvCxkB,EAAWwuD,EAAMx4B,iBACpBw4B,EAAMx4B,cAAgB,SAAU1pC,GAC9B,OAAOknF,EAAiBlnF,KAI5BD,EAAO/H,QAAUkqE,EAAMx4B,e,kCCZvB1xC,EAAQ8mD,cAAgB,SAAUzlD,EAAMigC,GACtC,IAAI7+B,EAAWpB,EAAKoB,cAEE,IAAlB6+B,IACFA,EAAgB,CACd6tD,kBAAkB,IAItB,IAAIC,EAAUp6F,SAAS4qC,cAAc,yBACjCyvD,EAAgBD,EAAQxyF,aAAa,QACrC0yF,EAAeF,EAAQxyF,aAAa,qBACpC2yF,EAAWH,EAAQxyF,aAAa,iBAEpC,GAAIyyF,GAAiBC,GAAgBC,EAAU,CAC7C,IAAI52F,EAAQ22F,EAAe,KAAOC,EAAW9sF,EAASmB,SACjC09B,EACiB6tD,mBAGpCx2F,GAAS8J,EAASy5B,QAGpBvjC,GAAS8J,EAAS05B,KAClBizD,EAAQl6F,aAAa,OAAQ,GAAKyD,M,kCC1BtC,sCAWIsQ,EAAiBC,EAAkBC,EAAkBC,EAAkBC,EAAkBC,EAAkBC,EAAkBC,EAAkBojB,EAAkBgwC,EAAmBC,EAAmBC,EAAmBC,EAAmBC,EAAmBC,EAAmBC,EAAmBC,EAAmBC,EAAmBC,EAAmBC,EAXnW,yJAmHA,IAAI9tD,EAAY,CAAC,KAAM,WAAY,mBAAoB,YAAa,QAAS,gBAAiB,WAAY,aAAc,WAAY,mBAAoB,UAAW,OAAQ,aAC3K,SAASuY,EAAQ5lB,EAAQimB,GACvB,IAAIne,EAAOnT,OAAOmT,KAAK9H,GACvB,GAAIrL,OAAOmqB,sBAAuB,CAChC,IAAIoH,EAAUvxB,OAAOmqB,sBAAsB9e,GAC3CimB,IAAmBC,EAAUA,EAAQ1pB,QAAO,SAAU2pB,GACpD,OAAOxxB,OAAOunB,yBAAyBlc,EAAQmmB,GAAK7J,eACjDxU,EAAK/V,KAAKgqB,MAAMjU,EAAMoe,GAE7B,OAAOpe,EAET,SAAS8f,EAAc5kB,GACrB,IAAK,IAAI5P,EAAI,EAAGA,EAAIkW,UAAU9X,OAAQ4B,IAAK,CACzC,IAAI2yB,EAAS,MAAQzc,UAAUlW,GAAKkW,UAAUlW,GAAK,GACnDA,EAAI,EAAIwyB,EAAQjxB,OAAOoxB,IAAS,GAAIrzB,SAAQ,SAAUL,GACpD,YAAgB2Q,EAAQ3Q,EAAK0zB,EAAO1zB,OACjCsC,OAAO+yB,0BAA4B/yB,OAAOgzB,iBAAiB3kB,EAAQrO,OAAO+yB,0BAA0B3B,IAAWH,EAAQjxB,OAAOoxB,IAASrzB,SAAQ,SAAUL,GAC5JsC,OAAOooB,eAAe/Z,EAAQ3Q,EAAKsC,OAAOunB,yBAAyB6J,EAAQ1zB,OAG/E,OAAO2Q,EAIT,IAAIqqF,EAAa,sBAAW,SAAUz2F,EAAO8L,GAC3C,IAAIoN,EAAKlZ,EAAMkZ,GACbw9E,EAAW12F,EAAM02F,SACjBzb,EAAmBj7E,EAAMi7E,iBACzB/wE,EAAYlK,EAAMkK,UAClBwkC,EAAQ1uC,EAAM0uC,MACdioD,EAAgB32F,EAAM22F,cACtB12F,EAAWD,EAAMC,SACjB22F,EAAoB52F,EAAMk7E,WAC1BA,OAAmC,IAAtB0b,EAA+B,UAAYA,EACxDC,EAAkB72F,EAAM0hF,SACxBA,OAA+B,IAApBmV,EAA6B,UAAYA,EACpDn2E,EAAmB1gB,EAAM0gB,iBACzBgU,EAAU10B,EAAM00B,QAChBtb,EAAOpZ,EAAMoZ,KACbo5B,EAAYxyC,EAAMwyC,UAClBvlC,EAAO,YAAyBjN,EAAOyW,GAErCxF,EAAS,cACTk4B,EAAc,IAAMte,WAAW,KAC/BhT,GAAU,mBAAQ,WACpB,OApJJ,SAAgB5G,EAAQk4B,GAEtB,IAAKprC,OAAOmT,KAAKD,GAAQrW,OAEvB,OADA4T,QAAQC,KAAK,qGACN,GAET,IAAIiD,EAAaT,EAAOS,WACtBE,EAAaX,EAAOW,WACpBD,EAAaV,EAAOU,WACpBqE,EAAgB/E,EAAO+E,cACvB8gF,EAAqB7lF,EAAO6lF,mBAC5BC,EAAqB9lF,EAAO8lF,mBAC5BC,EAAkB/lF,EAAO+lF,gBACzBzlF,EAAoBN,EAAOM,kBAC3B0lF,EAA6BhmF,EAAOgmF,2BACpCC,EAAsBjmF,EAAOimF,oBAC7BC,EAA0BlmF,EAAOkmF,wBACjC/jB,EAA2BniE,EAAOmiE,yBAClCgkB,EAA4BnmF,EAAOmmF,0BACnCtqC,EAAsB77C,EAAO67C,oBAC7BC,EAA0B97C,EAAO87C,wBACjCsyB,EAA2BpuE,EAAOouE,yBAClCC,EAA4BruE,EAAOquE,0BACnCE,EAAgCvuE,EAAOuuE,8BACvCD,EAA+BtuE,EAAOsuE,6BACtC8X,EAAuBpmF,EAAOomF,qBAC9BC,EAA2BrmF,EAAOqmF,yBAClCC,EAA4BtmF,EAAOsmF,0BACnCC,EAA6BvmF,EAAOumF,2BACpClmF,EAAmCL,EAAOK,iCAC1C83B,EAAiCn4B,EAAOm4B,+BACxC/3B,EAAkCJ,EAAOI,gCACzCD,EAAiCH,EAAOG,+BACxC0uE,GAAsB7uE,EAAO6uE,oBAC7B2X,GAA0BxmF,EAAOwmF,wBAC/BzlF,GAAc,YAAWf,GAC3BuqB,GAAexpB,GAAYwpB,aAC3BtpB,GAAcF,GAAYE,YAC1BmoB,GAAgBroB,GAAYqoB,cAE5B9nB,GADgB,YAAWtB,GACLsB,QACpBoD,GAAmBzD,GAAYyD,iBAC/BxQ,GAAWk1B,GAAcl1B,SAGzBuyF,GAAuC,YAAK,GAAGjzF,OAAOsyF,EAAoB,OAAOtyF,OAAOqyF,IACxFa,GAAiB,YAAK,GAAGlzF,OAAOuR,EAAe,cAAcvR,OAAOkN,IACpEjJ,GAAO,YAAIwH,IAAoBA,EAAkB,YAAuB,CAAC,qGAAsG,mBAAoB,kLAAmL,2BAA4B+mF,EAA4BtlF,EAAYgE,GAAiB,CAC7cD,OAAQuhF,EACRzhF,iBAAkB,OAClBI,eAAgB,UAEd5a,GAAY,YAAImV,IAAqBA,EAAmB,YAAuB,CAAC,yJAA0J,mBAAoB,sCAAuC,oJAAqJ,6EAA8E,6KAA8K,kBAAmBwB,EAAY,OAAQY,GAAQ,CACvuB6C,MAAO,YAAc+zB,EAAaC,EAAgC,cAChE,eAAgBzzB,GAAiB,CACnCD,OAAQnE,IACNgmF,GACAK,GAAsB,YAAIxnF,IAAqBA,EAAmB,YAAuB,CAAC,2FAC1FynF,GAAmB,YAAIxnF,IAAqBA,EAAmB,YAAuB,CAAC,6IAA8I,kBAAmB,YAAc84B,EAAa22C,GAAqB,SACxSyE,GAAU,YAAIj0E,IAAqBA,EAAmB,YAAuB,CAAC,qCAAsC,sBAAuB,uCAAwC,+CAAgD,kBAAmB,YAAc64B,EAAa4jB,EAAyB,YAAa,YAAc5jB,EAAa2jB,EAAqB,QAAS,YAAc3jB,EAAak2C,EAA0B,SAAU,YAAcl2C,EAAam2C,EAA2B,WACre5qD,GAAU,YAAInkB,IAAqBA,EAAmB,YAAuB,CAAC,qCAAsC,WAAY,YAAc44B,EAAa4jB,EAAyB,aACpLyzB,GAAS,YAAIhwE,IAAqBA,EAAmB,YAAuB,CAAC,uCAAwC,0FAA2F,kBAAmB,oBAAqB,qBAAsB,mBAAoB,kBAAmBkB,EAAYulF,EAA4B,YAAK,GAAGxyF,OAAOizF,GAAsC,SAAU,YAAK,GAAGjzF,OAAOizF,GAAsC,SAAU,YAAK,GAAGjzF,OAAOizF,GAAsC,SAAU,YAAK,GAAGjzF,OAAOizF,GAAsC,UAkBnlB,MAAO,CACLhvF,KAAMA,GACN1N,UAAWA,GACX68F,iBAAkBA,GAClBD,oBAAqBA,GACrBrT,QAASA,GACT7vD,QAASA,GACT8rD,OAAQA,GACRjzB,OAzBW,YAAI98C,IAAqBA,EAAmB,YAAuB,CAAC,8BAA+B,kBAAmB,WAAY+vE,GAAQ5uE,GA0BrJquE,UAzBc,YAAIpsD,IAAqBA,EAAmB,YAAuB,CAAC,uCAAwC,sBAAuB,wCAAyC,8CAA+C,kBAAmB,YAAcsV,EAAamuD,EAA0B,YAAa,YAAcnuD,EAAakuD,EAAsB,QAAS,YAAcluD,EAAaquD,EAA4B,UAAW,YAAcruD,EAAaouD,EAA2B,UA0BhfrX,iBAzBqB,YAAIrc,IAAsBA,EAAoB,YAAuB,CAAC,oDAAqD,iBAAkB,uCAAwC,+CAAgD,kBAAmB,YAAc16B,EAAa4jB,EAAyB,YAAa,YAAc5jB,EAAa2jB,EAAqB,QAAS,YAAc3jB,EAAao2C,EAA8B,SAAU,YAAcp2C,EAAaq2C,EAA+B,WA0BpgBY,SAzBa,YAAItc,IAAsBA,EAAoB,YAAuB,CAAC,sCAAuC,uCAAwC,+CAAgD,kBAAmB,YAAc36B,EAAa73B,EAAkC,YAAa,YAAc63B,EAAa/3B,EAAgC,SAAU,YAAc+3B,EAAa93B,EAAiC,WA0BhbymF,gBAzBoB,YAAI/zB,IAAsBA,EAAoB,YAAuB,CAAC,8CAA+C,sBAAuB,uCAAwC,+CAAgD,kBAAmB,YAAc56B,EAAaguD,EAAyB,YAAa,YAAchuD,EAAa+tD,EAAqB,QAAS,YAAc/tD,EAAaiqC,EAA0B,SAAU,YAAcjqC,EAAaiuD,EAA2B,WA0B1f57D,aAAcA,GACd6kD,KA1BS,YAAIrc,IAAsBA,EAAoB,YAAuB,CAAC,wDA2B/EhyB,QA1BY,YAAIiyB,IAAsBA,EAAoB,YAAuB,CAAC,8BAA+B,UAAW9+D,GAAS,CACrIyN,aAAcqkF,EACdh3E,MAAO03E,GACP9iE,OAAQ8iE,MAwBRI,cAtBkB,YAAI7zB,IAAsBA,EAAoB,YAAuB,CAAC,6CAA8C,kBAAmB,oGAAqG4yB,EAAoBA,GAuBlRkB,cAtBkB,YAAI7zB,IAAsBA,EAAoB,YAAuB,CAAC,6CAA8C,kBAAmB,oGAAqG6yB,EAAiBA,GAuB/Qv2E,eAtBmB,YAAI2jD,IAAsBA,EAAoB,YAAuB,CAAC,wDAuBzFsc,gBAtBoB,YAAIrc,IAAsBA,EAAoB,YAAuB,CAAC,oEAuB1Foc,aAtBiB,YAAInc,IAAsBA,EAAoB,YAAuB,CAAC,iFAAkF,iBAAkB,uCAAwC,uEAAwE,kBAAmB,YAAcn7B,EAAa22C,GAAqB,QAAS,YAAc32C,EAAasuD,GAAyB,YAAa,YAActuD,EAAa22C,GAAqB,QAAS,YAAc32C,EAAa22C,GAAqB,SAuBjiBpxC,MAtBU,YAAI61B,IAAsBA,EAAoB,YAAuB,CAAC,+FAAgG,IAAK,MAAO,iJAAkJ7yD,EAAYA,EAAYA,IAsE/V7M,CAAOoM,EAAQk4B,KACrB,CAACl4B,EAAQk4B,IACZ,GAAIqJ,EAAW,CACb,IAAIylD,GAAuB,CACzBplD,GAAIh7B,GAAQkgF,cACZpqC,GAAI91C,GAAQmgF,eAEVE,GAAgB,CAACrgF,GAAQm6B,QAASimD,GAAqB7+E,IAC3D,OAAO,YAAI,IAAS,YAAS,CAC3BN,IAAKo/E,GACLhuF,UAAWA,EACXgyB,UAAWxH,EACX0H,kBAAkB,GACjBnvB,EAAM,CACP,YAAa,SACXhN,GAIN,IAAIk4F,GAAoB,OAAT/+E,EAAgB,KAAO,KAClCo0C,GAAgB,CAClB3a,GAAIh7B,GAAQ2oE,OACZ7yB,GAAI91C,GAAQ01C,QAEVlxB,GAAS,CAACxkB,GAAQnP,KAAM8kD,GAAcp0C,GAAsB,YAAf8hE,GAA4BrjE,GAAQ0sE,QAAwB,cAAfrJ,GAA8BrjE,GAAQooE,UAA0B,aAAf/E,GAA6BrjE,GAAQuoE,SAAU1rD,GAAW7c,GAAQ6c,QAAwB,cAAfwmD,GAA8BxmD,GAAW7c,GAAQqoE,iBAAiC,aAAfhF,GAA6BxmD,GAAW7c,GAAQigF,gBAA8B,YAAbpW,GAA0B7pE,GAAQ4oE,aAA2B,eAAbiB,GAA6B7pE,GAAQ6oE,iBAC/a0X,GAAkB,CAACvgF,GAAQnP,KAAe,OAAT0Q,EAAgB,GAAKo0C,GAAcp0C,GAAOvB,GAAQooE,UAAwB,YAAbyB,GAA0B7pE,GAAQ4oE,aAA2B,eAAbiB,GAA6B7pE,GAAQ6oE,iBACnL1yE,GAAYkL,GAAM,SAClBw1B,IACF1gC,GAAY,OAGd,IAsDMqqF,GAtDFt4F,GAAqB,WAAdiO,GAAyB,SAAW,KAC3CsqF,GAAsBrd,EAAmB,YAAIA,EAAkB,CACjEniE,IAAKjB,GAAQwoE,KACbn2E,UAAWysF,EACX5xF,KAAM2xF,EACNt9E,KAAM++E,GACN,cAAe,OACf,YAAa,SACV,KAEDxJ,GAAajgD,EAAkC,GAA1B1d,EAAc,GAAI/jB,GACvC+vE,GAAiBhsD,EAAc,CACjC9mB,UAAWA,EACX4O,IAAK41B,EAAQ0pD,GAAkB/7D,GAC/BvwB,IAAKA,EACL/L,KAAMA,GACNksB,SAAUy1D,GAAyB,YAAbA,GACrBiN,IACC4J,GAAsB,YAAIvqF,GAAW,YAAS,CAChD,iBAAkB,qBACjBgvE,IAA8B,YAAb0E,EAAyB,WAC3C,IAAI8W,EAAY,CACd1/E,IAAKjB,GAAQwoE,MAEXoY,EAAuB,YAAI,IAAe,YAAS,CACrDr/E,KAAM++E,IACLK,EAAW,CACZ,YAAa,UAEf,GAAiB,eAAb9W,EAA2B,CAE7B,IAAIK,EAAsB,CACxBjpE,IAAK,CAACjB,GAAQwoE,KAAMxoE,GAAQ4I,gBAC5BiU,SAASga,IAA+B,YAAfwsC,GAA2C,aAAfA,GAA6BxmD,IAEpF+jE,EAAuB,YAAI,IAAgB,YAAS,CAClDr/E,KAAM++E,IACLpW,EAAqB,CACtB,YAAa,UAGjB,OAAO,YAAI,IAAMjvD,SAAU,KAAM2lE,EAAsB,YAAI,OAAQ,CACjE3/E,IAAKjB,GAAQ2jB,aACbziB,KAAM,SACN,YAAa,QACZ2H,GAAoBghE,IAzBoB,GA0BvC,YAAI,IAAM5uD,SAAU,KAAMwlE,IAAsB5pD,GAAS,YAAI,OAAQ,CACzE51B,IAAKjB,GAAQ2jB,aACb,YAAa,QACZv7B,KACH,OAAKyuC,EAGE,YAAI,IAAM5b,SAAU,MACrBulE,GAAmBn/E,QAA+BA,EAAK,SACpD,YAAIm/E,GAAkB,YAAS,CACpCv/E,IAAK,CAACjB,GAAQ7c,UAAwB,YAAb0mF,GAA0B7pE,GAAQggF,iBAA+B,eAAbnW,GAA6B7pE,GAAQ+/E,qBAClH1tF,UAAWA,EACX8O,SAAU,GACT/L,EAAM,CACP,YAAa,SACXsrF,GAAqB,YAAI,OAAQ,CACnCz/E,IAAKjB,GAAQ62B,MACb,YAAa,QACZA,MAbI,YAAI,IAAM5b,SAAU,KAAMylE,Q,kCClP9B,SAASG,EAAYt0D,GAC1BxrB,WAAWwrB,EAAQ,GADrB,oEAGO,IAAIu0D,EAAa,SAAoB5zF,EAAMnF,GAChD,IAAIomB,EAAM,GAEV,OADAA,EAAIjhB,GAAQnF,EACLomB,I,kCCLT,IAAI6nC,EAAiC,iBAAZ5xD,UAAwBA,SAASsyB,IAItDu/B,OAAmC,IAAfD,QAA8CxyD,IAAhBwyD,EAEtD7+C,EAAO/H,QAAU,CACfsnB,IAAKs/B,EACLC,WAAYA,I,kCCRd,IAAInqD,EAAO,EAAQ,QACforB,EAAS,EAAQ,QACjBzI,EAAgB,EAAQ,QACxBsyE,EAAc,EAAQ,QAEtBC,EAAkB7C,OAAOr6F,UAE7BqT,EAAO/H,QAAU,SAAUzG,GACzB,IAAI4xE,EAAQ5xE,EAAE4xE,MACd,YAAiB/2E,IAAV+2E,GAAyB,UAAWymB,GAAqB9pE,EAAOvuB,EAAG,WAAY8lB,EAAcuyE,EAAiBr4F,GAC1F4xE,EAAvBzuE,EAAKi1F,EAAap4F,K,kCCVxB,IAAIq2C,EAAc,EAAQ,QAEtB1/B,EAAK,EACL2hF,EAAUr7F,KAAKs7F,SACf5xD,EAAW0P,EAAY,GAAI1P,UAE/Bn4B,EAAO/H,QAAU,SAAUxL,GACzB,MAAO,gBAAqBJ,IAARI,EAAoB,GAAKA,GAAO,KAAO0rC,IAAWhwB,EAAK2hF,EAAS,M,kCCPtF,IAAI1lD,EAAc,EAAQ,QACtBlkB,EAAuB,EAAQ,QAC/BokB,EAA2B,EAAQ,QAEvCtkC,EAAO/H,QAAUmsC,EAAc,SAAUhqC,EAAQ3N,EAAKmE,GACpD,OAAOsvB,EAAqB5tB,EAAE8H,EAAQ3N,EAAK63C,EAAyB,EAAG1zC,KACrE,SAAUwJ,EAAQ3N,EAAKmE,GAEzB,OADAwJ,EAAO3N,GAAOmE,EACPwJ,I,kCCRT,IAAIq/B,EAAQ,EAAQ,QAChB9lB,EAAa,EAAQ,QAErB20B,EAAc,kBAEdiX,EAAW,SAAUm6B,EAASsQ,GAChC,IAAIp5F,EAAQ8F,EAAKuzF,EAAUvQ,IAC3B,OAAO9oF,IAAUs5F,GACbt5F,IAAUu5F,IACVx2E,EAAWq2E,GAAavwD,EAAMuwD,KAC5BA,IAGJC,EAAY1qC,EAAS0qC,UAAY,SAAU/vF,GAC7C,OAAOtL,OAAOsL,GAAQ1K,QAAQ84C,EAAa,KAAKj4B,eAG9C3Z,EAAO6oD,EAAS7oD,KAAO,GACvByzF,EAAS5qC,EAAS4qC,OAAS,IAC3BD,EAAW3qC,EAAS2qC,SAAW,IAEnClqF,EAAO/H,QAAUsnD,G,qBCtBKzwD,MAKpBkR,EAAO/H,SALanJ,EAKWqqC,EAAQ,UALRrqC,EAAE2J,SAAY3J,G,oCCC/C,IAAIs1C,EAAc,EAAQ,QACtBI,EAAiB,EAAQ,QACzB4lD,EAA0B,EAAQ,QAClC3nB,EAAW,EAAQ,QACnBh+C,EAAgB,EAAQ,QAExBy6B,EAAaptB,UAEbu4D,EAAkBt7F,OAAOooB,eAEzBstB,EAA4B11C,OAAOunB,yBAOvCre,EAAQ3F,EAAI8xC,EAAcgmD,EAA0B,SAAwBl7F,EAAGoC,EAAGg5F,GAIhF,GAHA7nB,EAASvzE,GACToC,EAAImzB,EAAcnzB,GAClBmxE,EAAS6nB,GACQ,mBAANp7F,GAA0B,cAANoC,GAAqB,UAAWg5F,GARlD,aAQ4EA,IAAeA,EAAmB,SAAG,CAC5H,IAAIxwF,EAAU2qC,EAA0Bv1C,EAAGoC,GACvCwI,GAAWA,EAAgB,WAC7B5K,EAAEoC,GAAKg5F,EAAW15F,MAClB05F,EAAa,CACX7nE,aAdW,iBAcmB6nE,EAAaA,EAAuB,aAAIxwF,EAAoB,aAC1F4c,WAhBS,eAgBiB4zE,EAAaA,EAAqB,WAAIxwF,EAAkB,WAClF4oB,UAAU,IAGd,OAAO2nE,EAAgBn7F,EAAGoC,EAAGg5F,IAC7BD,EAAkB,SAAwBn7F,EAAGoC,EAAGg5F,GAIlD,GAHA7nB,EAASvzE,GACToC,EAAImzB,EAAcnzB,GAClBmxE,EAAS6nB,GACL9lD,EAAgB,IAClB,OAAO6lD,EAAgBn7F,EAAGoC,EAAGg5F,GAC7B,MAAO72E,IACT,GAAI,QAAS62E,GAAc,QAASA,EAAY,MAAMprC,EAAW,2BAEjE,MADI,UAAWorC,IAAYp7F,EAAEoC,GAAKg5F,EAAW15F,OACtC1B,I,kCC1CT,4MAgBA,IAAIq7F,EAAgB,SAAU13F,EAAGF,GAQ/B,OAPA43F,EAAgBx7F,OAAOu7C,gBAAkB,CACvCC,UAAW,cACA71C,OAAS,SAAU7B,EAAGF,GACjCE,EAAE03C,UAAY53C,IACX,SAAUE,EAAGF,GAChB,IAAK,IAAID,KAAKC,EAAO5D,OAAOpC,UAAUsQ,eAAetI,KAAKhC,EAAGD,KAAIG,EAAEH,GAAKC,EAAED,MAEvDG,EAAGF,IAEnB,SAAS63F,EAAU33F,EAAGF,GAC3B,GAAiB,mBAANA,GAA0B,OAANA,EAAY,MAAM,IAAIm/B,UAAU,uBAAyBljC,OAAO+D,GAAK,iCAEpG,SAAS83F,IACPl/F,KAAKosC,YAAc9kC,EAFrB03F,EAAc13F,EAAGF,GAIjBE,EAAElG,UAAkB,OAANgG,EAAa5D,OAAOywB,OAAO7sB,IAAM83F,EAAG99F,UAAYgG,EAAEhG,UAAW,IAAI89F,GAE1E,IAAIC,EAAW,WAQpB,OAPAA,EAAW37F,OAAOC,QAAU,SAAkB2B,GAC5C,IAAK,IAAIrC,EAAGd,EAAI,EAAGY,EAAIsV,UAAU9X,OAAQ4B,EAAIY,EAAGZ,IAE9C,IAAK,IAAIkF,KADTpE,EAAIoV,UAAUlW,GACOuB,OAAOpC,UAAUsQ,eAAetI,KAAKrG,EAAGoE,KAAI/B,EAAE+B,GAAKpE,EAAEoE,IAE5E,OAAO/B,IAEOwlB,MAAM5qB,KAAMmY,YAEvB,SAASinF,EAAOr8F,EAAGR,GACxB,IAAI6C,EAAI,GACR,IAAK,IAAI+B,KAAKpE,EAAOS,OAAOpC,UAAUsQ,eAAetI,KAAKrG,EAAGoE,IAAM5E,EAAE4B,QAAQgD,GAAK,IAAG/B,EAAE+B,GAAKpE,EAAEoE,IAC9F,GAAS,MAALpE,GAAqD,mBAAjCS,OAAOmqB,sBAA2C,KAAI1rB,EAAI,EAAb,IAAgBkF,EAAI3D,OAAOmqB,sBAAsB5qB,GAAId,EAAIkF,EAAE9G,OAAQ4B,IAClIM,EAAE4B,QAAQgD,EAAElF,IAAM,GAAKuB,OAAOpC,UAAU0pB,qBAAqB1hB,KAAKrG,EAAGoE,EAAElF,MAAKmD,EAAE+B,EAAElF,IAAMc,EAAEoE,EAAElF,KAEhG,OAAOmD,EA6LoB5B,OAAOywB,OAmC7B,SAASorE,EAAOr4F,EAAGnE,GACxB,IAAIU,EAAsB,mBAAXqR,QAAyB5N,EAAE4N,OAAOE,UACjD,IAAKvR,EAAG,OAAOyD,EACf,IACErE,EAEAJ,EAHEN,EAAIsB,EAAE6F,KAAKpC,GAEbs4F,EAAK,GAEP,IACE,WAAc,IAANz8F,GAAgBA,KAAM,MAAQF,EAAIV,EAAE+pC,QAAQwwB,MAAM8iC,EAAG1+F,KAAK+B,EAAE0C,OACpE,MAAO6iB,GACP3lB,EAAI,CACF2lB,MAAOA,GAET,QACA,IACMvlB,IAAMA,EAAE65D,OAASj5D,EAAItB,EAAU,SAAIsB,EAAE6F,KAAKnH,GAC9C,QACA,GAAIM,EAAG,MAAMA,EAAE2lB,OAGnB,OAAOo3E,EAUF,SAASC,IACd,IAAK,IAAIx8F,EAAI,EAAGd,EAAI,EAAGu9F,EAAKrnF,UAAU9X,OAAQ4B,EAAIu9F,EAAIv9F,IAAKc,GAAKoV,UAAUlW,GAAG5B,OACxE,IAAIsC,EAAIwG,MAAMpG,GAAIK,EAAI,EAA3B,IAA8BnB,EAAI,EAAGA,EAAIu9F,EAAIv9F,IAAK,IAAK,IAAIW,EAAIuV,UAAUlW,GAAI6B,EAAI,EAAG27F,EAAK78F,EAAEvC,OAAQyD,EAAI27F,EAAI37F,IAAKV,IAAKT,EAAES,GAAKR,EAAEkB,GAC9H,OAAOnB,EAEF,SAAS+8F,EAAclvF,EAAIka,EAAMi1E,GACtC,GAAIA,GAA6B,IAArBxnF,UAAU9X,OAAc,IAAK,IAA4Bi/F,EAAxBr9F,EAAI,EAAGgF,EAAIyjB,EAAKrqB,OAAY4B,EAAIgF,EAAGhF,KAC1Eq9F,GAAQr9F,KAAKyoB,IACV40E,IAAIA,EAAKn2F,MAAM/H,UAAUkD,MAAM8E,KAAKshB,EAAM,EAAGzoB,IAClDq9F,EAAGr9F,GAAKyoB,EAAKzoB,IAGjB,OAAOuO,EAAGtG,OAAOo1F,GAAMn2F,MAAM/H,UAAUkD,MAAM8E,KAAKshB,IA0F3BlnB,OAAOywB,OA4DkB,mBAApB2rE,iBAAiCA,iB,qBC5b/D,MAAM,cAAEhoE,GAAkBgW,EAAQ,QAElCn5B,EAAO/H,QAAUkrB,EACjBnjB,EAAO/H,QAAQQ,QAAU0qB,G,qBCvBzB,IAAIioE,EAAU,EAAQ,OAAR,GACdprF,EAAO/H,QAAUmzF,EAGjB,IACEC,mBAAqBD,EACrB,MAAOE,GACmB,iBAAfzxE,WACTA,WAAWwxE,mBAAqBD,EAEhCrxE,SAAS,IAAK,yBAAdA,CAAwCqxE,K,oFCV7B,SAASG,EAAejzD,GACrC,IAAI7rC,ECFS,SAAsBm8D,EAAO4iC,GAC1C,GAAuB,WAAnB,YAAQ5iC,IAAiC,OAAVA,EAAgB,OAAOA,EAC1D,IAAI6iC,EAAO7iC,EAAMzoD,OAAOurF,aACxB,QAAar/F,IAATo/F,EAAoB,CACtB,IAAI71D,EAAM61D,EAAK92F,KAAKi0D,EAAO4iC,GAAQ,WACnC,GAAqB,WAAjB,YAAQ51D,GAAmB,OAAOA,EACtC,MAAM,IAAI9D,UAAU,gDAEtB,OAAiB,WAAT05D,EAAoB58F,OAASihF,QAAQjnB,GDNnC,CAAYtwB,EAAK,UAC3B,MAAwB,WAAjB,YAAQ7rC,GAAoBA,EAAMmC,OAAOnC,K,kCEHlD,IAAIi/F,EAAc,EAAQ,QACtBC,EAAW,EAAQ,QAIvB3rF,EAAO/H,QAAU,SAAU4b,GACzB,IAAIpnB,EAAMi/F,EAAY73E,EAAU,UAChC,OAAO83E,EAASl/F,GAAOA,EAAMA,EAAM,K,kGCR1Bm/F,EAAU,CACnB5hE,KAAM,EACNzgB,IAAK,EACL2gB,MAAO,EACP2hE,IAAK,GAEHjrF,EAAQ,SAAU3R,GACpB,OAAO+e,SAAS/e,GAAK,GAAI,KAAO,GASvB68F,EAAc,SAAUpM,GAIjC,QAHgB,IAAZA,IACFA,EAAU,UAEU,oBAAXpkF,OACT,OAAOswF,EAET,IAAIG,EAdU,SAAUrM,GACxB,IAAIsM,EAAK1wF,OAAOk2B,iBAAiBvkC,SAASoW,MACtC2mB,EAAOgiE,EAAe,YAAZtM,EAAwB,cAAgB,cAClDn2E,EAAMyiF,EAAe,YAAZtM,EAAwB,aAAe,aAChDx1D,EAAQ8hE,EAAe,YAAZtM,EAAwB,eAAiB,eACxD,MAAO,CAAC9+E,EAAMopB,GAAOppB,EAAM2I,GAAM3I,EAAMspB,IASzB+hE,CAAUvM,GACpBwM,EAAgBj/F,SAAS03D,gBAAgBwnC,YACzCC,EAAc9wF,OAAOyS,WACzB,MAAO,CACLic,KAAM+hE,EAAQ,GACdxiF,IAAKwiF,EAAQ,GACb7hE,MAAO6hE,EAAQ,GACfF,IAAKp9F,KAAKigB,IAAI,EAAG09E,EAAcF,EAAgBH,EAAQ,GAAKA,EAAQ,MC1BpE,EAAQ,cAIRM,EAAY,SAAU9iD,EAAI+iD,EAAe5M,EAAS6M,GACpD,IAAIviE,EAAOuf,EAAGvf,KACZzgB,EAAMggC,EAAGhgC,IACT2gB,EAAQqf,EAAGrf,MACX2hE,EAAMtiD,EAAGsiD,IAIX,YAHgB,IAAZnM,IACFA,EAAU,UAEL,QAAQjqF,OAAO,IAAuB,4BAA4BA,OAAO82F,EAAW,yBAAyB92F,OAAOo2F,EAAK,OAAOp2F,OAAO82F,EAAW,2CAA2C92F,OAAO82F,EAAW,8CAA8C92F,OAAO,CAAC62F,GAAiB,sBAAsB72F,OAAO82F,EAAW,KAAkB,WAAZ7M,GAAwB,uBAAuBjqF,OAAOu0B,EAAM,0BAA0Bv0B,OAAO8T,EAAK,4BAA4B9T,OAAOy0B,EAAO,kEAAkEz0B,OAAOo2F,EAAK,OAAOp2F,OAAO82F,EAAW,WAAwB,YAAZ7M,GAAyB,kBAAkBjqF,OAAOo2F,EAAK,OAAOp2F,OAAO82F,EAAW,MAAM31F,OAAOuE,SAAShL,KAAK,IAAK,kBAAkBsF,OAAO,IAAoB,mBAAmBA,OAAOo2F,EAAK,OAAOp2F,OAAO82F,EAAW,mBAAmB92F,OAAO,IAAoB,0BAA0BA,OAAOo2F,EAAK,OAAOp2F,OAAO82F,EAAW,mBAAmB92F,OAAO,IAAoB,MAAMA,OAAO,IAAoB,qBAAqBA,OAAO82F,EAAW,mBAAmB92F,OAAO,IAAoB,MAAMA,OAAO,IAAoB,4BAA4BA,OAAO82F,EAAW,8BAA8B92F,OAAO,IAAwB,MAAMA,OAAOo2F,EAAK,eAKrsCW,EAAkB,SAAUx7F,GACrC,IAAIy7F,EAAaz7F,EAAMy7F,WACrBC,EAAc17F,EAAM07F,YACpBnjD,EAAKv4C,EAAM0uF,QACXA,OAAiB,IAAPn2C,EAAgB,SAAWA,EAMnCsiD,EAAM,WAAc,WACtB,OAAOC,EAAYpM,KAClB,CAACA,IACJ,OAAO,gBAAoB,EAAO,CAChC7pF,OAAQw2F,EAAUR,GAAMY,EAAY/M,EAAUgN,EAA6B,GAAf,iBCnC5DC,GAAmB,EACvB,GAAsB,oBAAXrxF,OACT,IACE,IAAIjQ,EAAU0D,OAAOooB,eAAe,GAAI,UAAW,CACjDnjB,IAAK,WAEH,OADA24F,GAAmB,GACZ,KAIXrxF,OAAOyV,iBAAiB,OAAQ1lB,EAASA,GAEzCiQ,OAAO+V,oBAAoB,OAAQhmB,EAASA,GAC5C,MAAO0qD,GACP42C,GAAmB,EAGhB,IAAIC,IAAaD,GAAmB,CACzCE,SAAS,GCdPC,EAAuB,SAAUl4F,EAAM6oE,GACzC,IAAI5nE,EAASyF,OAAOk2B,iBAAiB58B,GACrC,MAEuB,WAArBiB,EAAO4nE,MAEL5nE,EAAOk3F,YAAcl3F,EAAOm3F,YAVP,SAAUp4F,GAEnC,MAAwB,aAAjBA,EAAK08B,QAQkC27D,CAAqBr4F,IAA8B,YAArBiB,EAAO4nE,KAS1EyvB,EAA0B,SAAUC,EAAMv4F,GACnD,IAAIuf,EAAgBvf,EAAKuf,cACrBra,EAAUlF,EACd,EAAG,CAMD,GAJ0B,oBAAfw4F,YAA8BtzF,aAAmBszF,aAC1DtzF,EAAUA,EAAQ2a,MAED44E,EAAuBF,EAAMrzF,GAC9B,CAChB,IAAIyvC,EAAK+jD,EAAmBH,EAAMrzF,GAGlC,GAFMyvC,EAAG,GACHA,EAAG,GAEP,OAAO,EAGXzvC,EAAUA,EAAQ9L,iBACX8L,GAAWA,IAAYqa,EAAc9Q,MAC9C,OAAO,GAcLgqF,EAAyB,SAAUF,EAAMv4F,GAC3C,MAAgB,MAATu4F,EAxCqB,SAAUv4F,GACtC,OAAOk4F,EAAqBl4F,EAAM,aAuCZ24F,CAAwB34F,GArClB,SAAUA,GACtC,OAAOk4F,EAAqBl4F,EAAM,aAoCoB44F,CAAwB54F,IAE5E04F,EAAqB,SAAUH,EAAMv4F,GACvC,MAAgB,MAATu4F,EAZA,EAJ2B5jD,EAgBQ30C,GAfvBwnB,UACFmtB,EAAGmhC,aACHnhC,EAAGkkD,cAGI,SAAUlkD,GAIlC,MAAO,CAHUA,EAAGmkD,WACJnkD,EAAGokD,YACHpkD,EAAG4iD,aAO+ByB,CAAoBh5F,GAhB9C,IAAU20C,GClCzBskD,EAAa,SAAUx6E,GAChC,MAAO,mBAAoBA,EAAQ,CAACA,EAAMg5D,eAAe,GAAGyhB,QAASz6E,EAAMg5D,eAAe,GAAG0hB,SAAW,CAAC,EAAG,IAEnGC,EAAa,SAAU36E,GAChC,MAAO,CAACA,EAAM46E,OAAQ56E,EAAM66E,SAE1Bl7B,EAAa,SAAUl2D,GACzB,OAAOA,GAAO,YAAaA,EAAMA,EAAIhD,QAAUgD,GAK7CqxF,EAAgB,SAAUhmF,GAC5B,MAAO,4BAA4B1S,OAAO0S,EAAI,qDAAqD1S,OAAO0S,EAAI,8BAE5GimF,EAAY,EACZC,EAAY,G,gBCnBD,gBAAc,KDoBtB,SAA6Br9F,GAClC,IAAIs9F,EAAqB,SAAa,IAClCC,EAAgB,SAAa,CAAC,EAAG,IACjCC,EAAa,WACbrmF,EAAK,WAAeimF,KAAa,GACjCvO,EAAQ,WAAe,KAAgB,GACvC4O,EAAY,SAAaz9F,GAC7B,aAAgB,WACdy9F,EAAU30F,QAAU9I,IACnB,CAACA,IACJ,aAAgB,WACd,GAAIA,EAAMsuF,MAAO,CACfryF,SAASoW,KAAKqrF,UAAUn5E,IAAI,uBAAuB9f,OAAO0S,IAC1D,IAAIwmF,EAAU,YAAc,CAAC39F,EAAM49F,QAAQ90F,UAAW9I,EAAM2sB,QAAU,IAAIztB,IAAI8iE,IAAa,GAAMp8D,OAAOuE,SAIxG,OAHAwzF,EAAQ7hG,SAAQ,SAAU6P,GACxB,OAAOA,EAAG+xF,UAAUn5E,IAAI,uBAAuB9f,OAAO0S,OAEjD,WACLlb,SAASoW,KAAKqrF,UAAUvlD,OAAO,uBAAuB1zC,OAAO0S,IAC7DwmF,EAAQ7hG,SAAQ,SAAU6P,GACxB,OAAOA,EAAG+xF,UAAUvlD,OAAO,uBAAuB1zC,OAAO0S,WAK9D,CAACnX,EAAMsuF,MAAOtuF,EAAM49F,QAAQ90F,QAAS9I,EAAM2sB,SAC9C,IAAIkxE,EAAoB,eAAkB,SAAUx7E,EAAOviB,GACzD,GAAI,YAAauiB,GAAkC,IAAzBA,EAAMitE,QAAQ10F,OACtC,OAAQ6iG,EAAU30F,QAAQylF,eAE5B,IAIIuP,EAJAC,EAAQlB,EAAWx6E,GACnB27E,EAAaT,EAAcz0F,QAC3Bm0F,EAAS,WAAY56E,EAAQA,EAAM46E,OAASe,EAAW,GAAKD,EAAM,GAClEb,EAAS,WAAY76E,EAAQA,EAAM66E,OAASc,EAAW,GAAKD,EAAM,GAElE3xF,EAASiW,EAAMjW,OACf6xF,EAAgBxgG,KAAKC,IAAIu/F,GAAUx/F,KAAKC,IAAIw/F,GAAU,IAAM,IAEhE,GAAI,YAAa76E,GAA2B,MAAlB47E,GAAyC,UAAhB7xF,EAAOrM,KACxD,OAAO,EAET,IAAIm+F,EAA+BhC,EAAwB+B,EAAe7xF,GAC1E,IAAK8xF,EACH,OAAO,EAUT,GARIA,EACFJ,EAAcG,GAEdH,EAAgC,MAAlBG,EAAwB,IAAM,IAC5CC,EAA+BhC,EAAwB+B,EAAe7xF,KAInE8xF,EACH,OAAO,EAKT,IAHKV,EAAW10F,SAAW,mBAAoBuZ,IAAU46E,GAAUC,KACjEM,EAAW10F,QAAUg1F,IAElBA,EACH,OAAO,EAET,IAAIK,EAAgBX,EAAW10F,SAAWg1F,EAC1C,ODpBsB,SAAU3B,EAAMiC,EAAW/7E,EAAOg8E,EAAaC,GACvE,IAAIC,EATmB,SAAUpC,EAAM77E,GAMvC,MAAgB,MAAT67E,GAA8B,QAAd77E,GAAuB,EAAI,EAG5Bk+E,CAAmBrC,EAAM7xF,OAAOk2B,iBAAiB49D,GAAW99E,WAC9Em+E,EAAQF,EAAkBF,EAE1BjyF,EAASiW,EAAMjW,OACfsyF,EAAeN,EAAUrgF,SAAS3R,GAClCuyF,GAAqB,EACrBC,EAAkBH,EAAQ,EAC1BI,EAAkB,EAClBC,EAAqB,EACzB,EAAG,CACD,IAAIvmD,EAAK+jD,EAAmBH,EAAM/vF,GAChC6e,EAAWstB,EAAG,GAGZwmD,EAFSxmD,EAAG,GACHA,EAAG,GAC0BgmD,EAAkBtzE,GACxDA,GAAY8zE,IACV1C,EAAuBF,EAAM/vF,KAC/ByyF,GAAmBE,EACnBD,GAAsB7zE,GAG1B7e,EAASA,EAAOpP,kBAGjB0hG,GAAgBtyF,IAAWnQ,SAASoW,MAErCqsF,IAAiBN,EAAUrgF,SAAS3R,IAAWgyF,IAAchyF,IAM7D,OALIwyF,IAAoBN,GAAoC,IAApBO,IAA0BP,GAAgBG,EAAQI,KAE9ED,IAAoBN,GAAuC,IAAvBQ,IAA6BR,IAAiBG,EAAQK,MADpGH,GAAqB,GAIhBA,ECbEK,CAAab,EAAer+F,EAAQuiB,EAAyB,MAAlB87E,EAAwBlB,EAASC,GAAQ,KAC1F,IACC+B,EAAgB,eAAkB,SAAUxuE,GAC9C,IAAIpO,EAAQoO,EACZ,GAAK4sE,EAAUziG,QAAUyiG,EAAUA,EAAUziG,OAAS,KAAOi0F,EAA7D,CAIA,IAAI4P,EAAQ,WAAYp8E,EAAQ26E,EAAW36E,GAASw6E,EAAWx6E,GAC3D68E,EAAc5B,EAAmBx0F,QAAQlD,QAAO,SAAU9I,GAC5D,OAAOA,EAAEiI,OAASsd,EAAMtiB,MAAQjD,EAAEsP,SAAWiW,EAAMjW,SAjF5BnO,EAiFmDnB,EAAE2hG,MAjFlDtgG,EAiFyDsgG,EAhFhFxgG,EAAE,KAAOE,EAAE,IAAMF,EAAE,KAAOE,EAAE,IADlB,IAAUF,EAAGE,KAkFzB,GAEH,GAAI+gG,GAAeA,EAAYC,OACzB98E,EAAM+8E,YACR/8E,EAAM1U,sBAKV,IAAKuxF,EAAa,CAChB,IAAIG,GAAc5B,EAAU30F,QAAQ6jB,QAAU,IAAIztB,IAAI8iE,GAAYp8D,OAAOuE,SAASvE,QAAO,SAAUhC,GACjG,OAAOA,EAAKma,SAASsE,EAAMjW,YAEZizF,EAAWzkG,OAAS,EAAIijG,EAAkBx7E,EAAOg9E,EAAW,KAAO5B,EAAU30F,QAAQimF,cAEhG1sE,EAAM+8E,YACR/8E,EAAM1U,qBAIX,IACC2xF,EAAe,eAAkB,SAAUv6F,EAAM05F,EAAOryF,EAAQ+yF,GAClE,IAAI98E,EAAQ,CACVtd,KAAMA,EACN05F,MAAOA,EACPryF,OAAQA,EACR+yF,OAAQA,GAEV7B,EAAmBx0F,QAAQ3N,KAAKknB,GAChCzJ,YAAW,WACT0kF,EAAmBx0F,QAAUw0F,EAAmBx0F,QAAQlD,QAAO,SAAU9I,GACvE,OAAOA,IAAMulB,OAEd,KACF,IACCk9E,EAAmB,eAAkB,SAAUl9E,GACjDk7E,EAAcz0F,QAAU+zF,EAAWx6E,GACnCm7E,EAAW10F,aAAUzN,IACpB,IACCmkG,EAAc,eAAkB,SAAUn9E,GAC5Ci9E,EAAaj9E,EAAMtiB,KAAMi9F,EAAW36E,GAAQA,EAAMjW,OAAQyxF,EAAkBx7E,EAAOriB,EAAM49F,QAAQ90F,YAChG,IACC22F,EAAkB,eAAkB,SAAUp9E,GAChDi9E,EAAaj9E,EAAMtiB,KAAM88F,EAAWx6E,GAAQA,EAAMjW,OAAQyxF,EAAkBx7E,EAAOriB,EAAM49F,QAAQ90F,YAChG,IACH,aAAgB,WAUd,OATAu0F,EAAUliG,KAAK0zF,GACf7uF,EAAM0/F,aAAa,CACjBC,gBAAiBH,EACjBI,eAAgBJ,EAChBK,mBAAoBJ,IAEtBxjG,SAAS8jB,iBAAiB,QAASk/E,EAAerD,GAClD3/F,SAAS8jB,iBAAiB,YAAak/E,EAAerD,GACtD3/F,SAAS8jB,iBAAiB,aAAcw/E,EAAkB3D,GACnD,WACLyB,EAAYA,EAAUz3F,QAAO,SAAUk6F,GACrC,OAAOA,IAASjR,KAElB5yF,SAASokB,oBAAoB,QAAS4+E,EAAerD,GACrD3/F,SAASokB,oBAAoB,YAAa4+E,EAAerD,GACzD3/F,SAASokB,oBAAoB,aAAck/E,EAAkB3D,MAE9D,IACH,IAAImE,EAAkB//F,EAAM+/F,gBAC1BzR,EAAQtuF,EAAMsuF,MAChB,OAAO,gBAAoB,WAAgB,KAAMA,EAAQ,gBAAoBO,EAAO,CAClFhqF,OAAQs4F,EAAchmF,KACnB,KAAM4oF,EAAkB,gBAAoBvE,EAAiB,CAChE9M,QAAS1uF,EAAM0uF,UACZ,U,qBEvKP,SAQA,SAAWsR,GAUT,QAPgB,0BAAd,KAAc,mCACa,EAG3BhxF,EAAO/H,QAAU+4F,MACU,EAEE,CAC7B,IAAIC,EAAa31F,OAAOy8C,QACpBm5C,EAAM51F,OAAOy8C,QAAUi5C,IAC3BE,EAAIC,WAAa,WAEf,OADA71F,OAAOy8C,QAAUk5C,EACVC,IAfb,EAkBG,WACD,SAASE,IAGP,IAFA,IAAI5jG,EAAI,EACJwpC,EAAS,GACNxpC,EAAIkW,UAAU9X,OAAQ4B,IAAK,CAChC,IAAI6jG,EAAa3tF,UAAUlW,GAC3B,IAAK,IAAIf,KAAO4kG,EACdr6D,EAAOvqC,GAAO4kG,EAAW5kG,GAG7B,OAAOuqC,EAET,SAASs6D,EAAOhjG,GACd,OAAOA,EAAEkB,QAAQ,mBAAoB8qB,oBA+FvC,OA7FA,SAASi3E,EAAKC,GACZ,SAASN,KACT,SAASj9F,EAAIxH,EAAKmE,EAAOygG,GACvB,GAAwB,oBAAbpkG,SAAX,CAMkC,iBAHlCokG,EAAaD,EAAO,CAClB/4F,KAAM,KACL64F,EAAI/6F,SAAUk7F,IACKI,UACpBJ,EAAWI,QAAU,IAAIl8D,KAAkB,EAAb,IAAIA,KAAkC,MAArB87D,EAAWI,UAI5DJ,EAAWI,QAAUJ,EAAWI,QAAUJ,EAAWI,QAAQC,cAAgB,GAC7E,IACE,IAAI16D,EAASr2B,KAAKI,UAAUnQ,GACxB,UAAUsmC,KAAKF,KACjBpmC,EAAQomC,GAEV,MAAOlpC,IACT8C,EAAQ4gG,EAAUG,MAAQH,EAAUG,MAAM/gG,EAAOnE,GAAOmlG,mBAAmBhjG,OAAOgC,IAAQpB,QAAQ,4DAA6D8qB,oBAC/J7tB,EAAMmlG,mBAAmBhjG,OAAOnC,IAAM+C,QAAQ,2BAA4B8qB,oBAAoB9qB,QAAQ,UAAWqiG,QACjH,IAAIC,EAAwB,GAC5B,IAAK,IAAIC,KAAiBV,EACnBA,EAAWU,KAGhBD,GAAyB,KAAOC,GACE,IAA9BV,EAAWU,KAWfD,GAAyB,IAAMT,EAAWU,GAAe38F,MAAM,KAAK,KAEtE,OAAOnI,SAAS+kG,OAASvlG,EAAM,IAAMmE,EAAQkhG,GAE/C,SAAS99F,EAAIvH,EAAKioD,GAChB,GAAwB,oBAAbznD,SAAX,CAQA,IALA,IAAIglG,EAAM,GAGNC,EAAUjlG,SAAS+kG,OAAS/kG,SAAS+kG,OAAO58F,MAAM,MAAQ,GAC1D5H,EAAI,EACDA,EAAI0kG,EAAQtmG,OAAQ4B,IAAK,CAC9B,IAAI+iC,EAAQ2hE,EAAQ1kG,GAAG4H,MAAM,KACzB48F,EAASzhE,EAAM1gC,MAAM,GAAGM,KAAK,KAC5BukD,GAA6B,MAArBs9C,EAAOh4E,OAAO,KACzBg4E,EAASA,EAAOniG,MAAM,GAAI,IAE5B,IACE,IAAIkG,EAAOu7F,EAAO/gE,EAAM,IAExB,GADAyhE,GAAUR,EAAUj7F,MAAQi7F,GAAWQ,EAAQj8F,IAASu7F,EAAOU,GAC3Dt9C,EACF,IACEs9C,EAASrxF,KAAKC,MAAMoxF,GACpB,MAAOlkG,IAGX,GADAmkG,EAAIl8F,GAAQi8F,EACRvlG,IAAQsJ,EACV,MAEF,MAAOjI,KAEX,OAAOrB,EAAMwlG,EAAIxlG,GAAOwlG,GAkB1B,OAhBAf,EAAIj9F,IAAMA,EACVi9F,EAAIl9F,IAAM,SAAUvH,GAClB,OAAOuH,EAAIvH,GAAK,IAGlBykG,EAAIiB,QAAU,SAAU1lG,GACtB,OAAOuH,EAAIvH,GAAK,IAGlBykG,EAAI/nD,OAAS,SAAU18C,EAAK4kG,GAC1Bp9F,EAAIxH,EAAK,GAAI2kG,EAAOC,EAAY,CAC9BI,SAAU,MAGdP,EAAI/6F,SAAW,GACf+6F,EAAIkB,cAAgBb,EACbL,EAEFK,EAAK,mB,mBCtId,SAAS5uE,IAYP,OAXA3iB,EAAO/H,QAAU0qB,EAAW5zB,OAAOC,OAASD,OAAOC,OAAO0M,OAAS,SAAU0B,GAC3E,IAAK,IAAI5P,EAAI,EAAGA,EAAIkW,UAAU9X,OAAQ4B,IAAK,CACzC,IAAI2yB,EAASzc,UAAUlW,GACvB,IAAK,IAAIf,KAAO0zB,EACVpxB,OAAOpC,UAAUsQ,eAAetI,KAAKwrB,EAAQ1zB,KAC/C2Q,EAAO3Q,GAAO0zB,EAAO1zB,IAI3B,OAAO2Q,GACN4C,EAAO/H,QAAQC,YAAa,EAAM8H,EAAO/H,QAAiB,QAAI+H,EAAO/H,QACjE0qB,EAASxM,MAAM5qB,KAAMmY,WAE9B1D,EAAO/H,QAAU0qB,EAAU3iB,EAAO/H,QAAQC,YAAa,EAAM8H,EAAO/H,QAAiB,QAAI+H,EAAO/H,S,kCCX9F+H,EAAO/H,QAAU,EAAQ,S,kCCF3B,IAAIwqE,EAAW,EAAQ,QAIvBziE,EAAO/H,QAAU,WACf,IAAIo6F,EAAO5vB,EAASl3E,MAChByrC,EAAS,GASb,OARIq7D,EAAKC,aAAYt7D,GAAU,KAC3Bq7D,EAAK3+E,SAAQsjB,GAAU,KACvBq7D,EAAKn0B,aAAYlnC,GAAU,KAC3Bq7D,EAAKE,YAAWv7D,GAAU,KAC1Bq7D,EAAKG,SAAQx7D,GAAU,KACvBq7D,EAAKI,UAASz7D,GAAU,KACxBq7D,EAAKK,cAAa17D,GAAU,KAC5Bq7D,EAAKM,SAAQ37D,GAAU,KACpBA,I,kCCdT,EAAQ,S,kCCFR,kDACe,SAASxU,EAAgBxL,EAAKvqB,EAAKmE,GAYhD,OAXAnE,EAAM,YAAcA,MACTuqB,EACTjoB,OAAOooB,eAAeH,EAAKvqB,EAAK,CAC9BmE,MAAOA,EACP8lB,YAAY,EACZ+L,cAAc,EACdC,UAAU,IAGZ1L,EAAIvqB,GAAOmE,EAENomB,I,kCCZT,IAAIotB,EAAc,EAAQ,QACtB3K,EAAQ,EAAQ,QAIpBz5B,EAAO/H,QAAUmsC,GAAe3K,GAAM,WAEpC,OAGiB,KAHV1qC,OAAOooB,gBAAe,cAA6B,YAAa,CACrEvmB,MAAO,GACP8xB,UAAU,IACT/1B,c,oUCaUimG,UAlBUt5F,IAAmB,IAAlB,SAAEoB,GAAUpB,EACpC,MAAM8mD,EAAgBM,UAAO4f,aAAa5lE,EAASmB,UACnD,OAAKukD,EAGElmB,IAAMhtC,cAAc2lG,I,yWAAoB7wE,CAAA,CAC7CtnB,WACA0lD,iBACGA,EAAc1L,OALV,O,kCCTI,SAASrK,EAAgB93C,EAAGG,GAKzC,OAJA23C,EAAkBt7C,OAAOu7C,eAAiBv7C,OAAOu7C,eAAe5uC,OAAS,SAAyBnJ,EAAGG,GAEnG,OADAH,EAAEg4C,UAAY73C,EACPH,IAEcA,EAAGG,GAL5B,mC,kCCAA,kGAKIogG,EAAU,aAMVC,EAAe,cAAiB,SAAU/hG,EAAO2rB,GACnD,IAAI7f,EAAM,SAAa,MACnBysC,EAAK,WAAe,CACpBonD,gBAAiBmC,EACjBlC,eAAgBkC,EAChBjC,mBAAoBiC,IAEtBE,EAAYzpD,EAAG,GACfmnD,EAAennD,EAAG,GAChB0pD,EAAejiG,EAAMiiG,aACvBhiG,EAAWD,EAAMC,SACjBiK,EAAYlK,EAAMkK,UAClB61F,EAAkB//F,EAAM+/F,gBACxBl+C,EAAU7hD,EAAM6hD,QAChBl1B,EAAS3sB,EAAM2sB,OACfO,EAAUltB,EAAMktB,QAChB6hE,EAAc/uF,EAAM+uF,YACpBT,EAAQtuF,EAAMsuF,MACdC,EAAiBvuF,EAAMuuF,eACvBL,EAAKluF,EAAMkZ,GACX2T,OAAmB,IAAPqhE,EAAgB,MAAQA,EACpCQ,EAAU1uF,EAAM0uF,QAChBzhF,EAAO,YAAOjN,EAAO,CAAC,eAAgB,WAAY,YAAa,kBAAmB,UAAW,SAAU,UAAW,cAAe,QAAS,iBAAkB,KAAM,YAChKitB,EAAUC,EACVvL,EAAe,YAAa,CAAC7V,EAAK6f,IAClCqB,EAAiB,YAAS,YAAS,GAAI/f,GAAO+0F,GAClD,OAAO,gBAAoB,WAAgB,KAAMngD,GAAW,gBAAoB50B,EAAS,CACvFC,QAAS,IACT6yE,gBAAiBA,EACjBpzE,OAAQA,EACRoiE,YAAaA,EACbT,MAAOA,EACPoR,aAAcA,EACdnR,iBAAkBA,EAClBqP,QAAS9xF,EACT4iF,QAASA,IACPuT,EAAe,eAAmB,WAAeC,KAAKjiG,GAAW,YAAS,YAAS,GAAI+sB,GAAiB,CAC1GlhB,IAAK6V,KACD,gBAAoBkL,EAAW,YAAS,GAAIG,EAAgB,CAChE9iB,UAAWA,EACX4B,IAAK6V,IACH1hB,OAEN8hG,EAAah7E,aAAe,CAC1B86B,SAAS,EACTk+C,iBAAiB,EACjBzR,OAAO,GAETyT,EAAazZ,WAAa,CACxB6Z,UAAW,IACXC,UAAW,M,26DCnDTlyF,EAAiBC,EAAkBC,EAAkBC,EAAkBC,EAAkBC,EAAkBC,EAAkBC,EAAkBojB,E,6IACnJ,SAAS,EAAO5iB,GAEd,IAAKlT,OAAOmT,KAAKD,GAAQrW,OAEvB,OADA4T,QAAQC,KAAK,qGACN,GAET,IAAIgD,EAAaR,EAAOQ,WACtBG,EAAaX,EAAOW,WACpBN,EAAmCL,EAAOK,iCAC1C83B,EAAiCn4B,EAAOm4B,+BAExCl3B,EADgB,YAAWjB,GACDiB,YACxBC,EAAc,YAAWlB,GAC3BmB,EAAWD,EAAYE,KACvBq9B,EAAYv9B,EAAYu9B,UACxB5uB,EAAQ3O,EAAY2O,MAClBnL,EAAmBzD,EAAYyD,iBAC/B0sF,EAAqB,YAAK,GAAG59F,OAAOmN,EAAY,YAChDlJ,EAAO,YAAIwH,IAAoBA,EAAkB,YAAuB,CAAC,yFACzEu3D,EAAM,YAAIt3D,IAAqBA,EAAmB,YAAuB,CAAC,+CAC1EkC,EAAO,YAAIjC,IAAqBA,EAAmB,YAAuB,CAAC,0DAA2D,IAAK,uBAAwB,iCAAkC,qGAAsGwB,EAAYA,EAAYH,EAAYW,EAAS,CAC1VgD,MAAOg0B,KAELk5D,EAAY,YAAIjyF,IAAqBA,EAAmB,YAAuB,CAAC,uDAChFkyF,EAAW,YAAIjyF,IAAqBA,EAAmB,YAAuB,CAAC,uDAiBnF,MAAO,CACL5H,KAAMA,EACN++D,IAAKA,EACLp1D,KAAMA,EACNkwF,SAAUA,EACVD,UAAWA,EACX9lB,OAdW,SAAUpjE,GACrB,OAAO,YAAI3I,IAAqBA,EAAmB,YAAuB,CAAC,yFAA0F,IAAK,IAAK,IAAK,qKAAsK,sEAAuE,mKAAoK,IAAK,IAAK,IAAK,4CAA6CmB,EAAYywF,EAAoBzwF,EAAYA,EAT3pB,SAAUwH,GAC5B,MAAa,UAATA,EAAyB,YAAI7I,IAAqBA,EAAmB,YAAuB,CAAC,aAAc,cAAeuQ,EAAM,CAClI1L,MAAOg0B,KAEF,YAAI54B,IAAqBA,EAAmB,YAAuB,CAAC,WAAY,YAAak/B,EAAU,CAC5Gt6B,MAAOg0B,KAIgrBo5D,CAAcppF,GAAOzD,EAAiB,CAC7tBD,OAAQjE,EACR+D,iBAAkB,OAClBI,eAAgB,SACdhE,EAAYA,EAAYA,EAAYywF,IAUxCI,QARY,YAAI5uE,IAAqBA,EAAmB,YAAuB,CAAC,sCAAuC,0CAA2C,yCAA0C,sCAAuCviB,EAAkCM,EAAYA,IAWrS,IAAI6E,EAAY,CAAC,OAAQ,YAAa,WAAY,cAC9CisF,EAAY,SAAUp6F,GACxB,IAAIq6F,EAAYr6F,EAAKvD,KACnBA,OAAqB,IAAd49F,EAAuB,YAAcA,EAC5Cz4F,EAAY5B,EAAK4B,UACjBjK,EAAWqI,EAAKrI,SAChB2iG,EAAat6F,EAAKs6F,WAClB31F,EAAO,YAAyB3E,EAAMmO,GACpCosF,EAAgB,IAAMne,SAASxlF,IAAIe,GAAU,SAAU86D,EAAOx4D,GAChE,OAAO,IAAMuiF,aAAa/pB,EAAO,CAC/B+nC,cAAe/9F,EACfg+F,UAAWxgG,EAAQ,EACnBqgG,WAAYA,OAGZ3xF,EAAS,cACT4G,EAAU,mBAAQ,WACpB,OAAO,EAAO5G,KACb,CAACA,IACJ,OAAO,YAAI,MAAO,YAAS,CACzB6H,IAAKjB,EAAQnP,KACbwB,UAAWA,EACX,iBAAkB,mBACjB+C,GAAO41F,IAERzhF,EAAc,CAAC,gBAAiB,UAAW,YAAa,YAAa,kBAAmB,mBAAoB,gBAAiB,SAAU,UAAW,WAAY,cAC9J4hF,EAAe,SAAU16F,GAC3B,IAAIw6F,EAAgBx6F,EAAKw6F,cACvBG,EAAe36F,EAAK46F,QACpBA,OAA2B,IAAjBD,EAA0B,UAAYA,EAChDF,EAAYz6F,EAAKy6F,UACjB74F,EAAY5B,EAAK4B,UACjB6W,EAAkBzY,EAAKyY,gBACvBoiF,EAAmB76F,EAAK66F,iBACxBxM,EAAgBruF,EAAKquF,cACrByM,EAAc96F,EAAKkS,OACnBA,OAAyB,IAAhB4oF,GAAiCA,EAC1Ct2F,EAAUxE,EAAKwE,QACf7M,EAAWqI,EAAKrI,SAChBojG,EAAkB/6F,EAAKs6F,WACvBA,OAAiC,IAApBS,EAA6B,QAAUA,EACpDp2F,EAAO,YAAyB3E,EAAM8Y,GACpC3E,EAAY,mBAASjC,GACvBkC,EAAa,YAAeD,EAAW,GACvC6mF,EAAO5mF,EAAW,GAClB6mF,EAAe7mF,EAAW,GAO5B,qBAAU,WACR6mF,EAAa/oF,KACZ,CAACA,IAEJ,IAAIvJ,EAAS,cACT4G,EAAU,mBAAQ,WACpB,OAAO,EAAO5G,KACb,CAACA,IACAuyF,EAAa,CAAC3rF,EAAQxF,KAAMixF,GAAQzrF,EAAQ0qF,UAC5CkB,EAAgB,CAAC5rF,EAAQ4qF,SACzBiB,EAAQ,GAAGj/F,OAAOq+F,EAAe,QAAQr+F,OAAOs+F,GAChDY,EAAY,GAAGl/F,OAAOq+F,EAAe,YAAYr+F,OAAOs+F,GAC5D,OAAO,YAAI,MAAO,CAChBjqF,IAAKjB,EAAQ4vD,IACbv9D,UAAWA,EACX,YAAa,QACZ,YAAI,SAAU,YAAS,CACxBnK,KAAM,SACNoX,GAAIusF,EACJ5qF,IAAKjB,EAAQ2kE,OAAOomB,GACpB14F,UAAW6W,EACX,WAAYgiF,EACZ,gBAAiBO,EACjB,gBAAiBK,EACjB72F,QAAS,SAAUhQ,GACjB,OA/BwBulB,EA+BLvlB,EA9BjBgQ,GACFA,EAAQuV,EAAOrF,SAAS+lF,EAAW,KAAMO,QAE3CC,GAAcD,GAJE,IAAUjhF,IAiCzBpV,EAAM,CACP,YAAa,SACXi2F,EAASI,EAAO,YAAI,IAAe,CACrClqF,KAAM,KACNN,IAAK2qF,EACLv5F,UAAWysF,EACX,cAAe,OACf,YAAa,SACV,YAAI,IAAiB,CACxBv9E,KAAM,KACNN,IAAK2qF,EACLv5F,UAAWysF,EACX,cAAe,OACf,YAAa,UACV,YAAI,MAAO,CACdx/E,GAAIwsF,EACJ7qF,IAAK0qF,EACL,kBAAmBE,EACnB3qF,KAAM,SACN7O,UAAWi5F,EACX,YAAa,QACZljG,K,YCzIL,IAAI2jG,EAAc,IAAMzxE,cAAc,MAyBtC,SAAS0xE,EAAUz6F,EAAQimB,GACzB,IAAIne,EAAOnT,OAAOmT,KAAK9H,GACvB,GAAIrL,OAAOmqB,sBAAuB,CAChC,IAAIoH,EAAUvxB,OAAOmqB,sBAAsB9e,GAC3CimB,IAAmBC,EAAUA,EAAQ1pB,QAAO,SAAU2pB,GACpD,OAAOxxB,OAAOunB,yBAAyBlc,EAAQmmB,GAAK7J,eACjDxU,EAAK/V,KAAKgqB,MAAMjU,EAAMoe,GAE7B,OAAOpe,EAET,SAAS4yF,EAAgB13F,GACvB,IAAK,IAAI5P,EAAI,EAAGA,EAAIkW,UAAU9X,OAAQ4B,IAAK,CACzC,IAAI2yB,EAAS,MAAQzc,UAAUlW,GAAKkW,UAAUlW,GAAK,GACnDA,EAAI,EAAIqnG,EAAU9lG,OAAOoxB,IAAS,GAAIrzB,SAAQ,SAAUL,GACtD,YAAgB2Q,EAAQ3Q,EAAK0zB,EAAO1zB,OACjCsC,OAAO+yB,0BAA4B/yB,OAAOgzB,iBAAiB3kB,EAAQrO,OAAO+yB,0BAA0B3B,IAAW00E,EAAU9lG,OAAOoxB,IAASrzB,SAAQ,SAAUL,GAC9JsC,OAAOooB,eAAe/Z,EAAQ3Q,EAAKsC,OAAOunB,yBAAyB6J,EAAQ1zB,OAG/E,OAAO2Q,EAET,IC3DI,EAAiB,EAAkB,EAAkB,EAAkB,EAAkB,EAAkB,EAAkB,EAAkB,EAAkBy3D,EAAmBC,EAAmBC,EAAmBC,EAAmBC,EAAmBC,EAAmBC,EAAmBC,EAAmBC,EAAmBC,EAAmBC,EAAmBC,EAAmBC,GAAmBC,GAAmBC,GAAmBC,GAAmBC,GAAmBC,GAAmBC,GAAmBC,GAAmBC,GAAmBC,GAAmBC,GAAmBC,GAAmBC,GAAmBC,GAAmBC,GAAmBC,GAAmBC,GAAmBC,GAAmBC,GAAmBC,GAAmBC,GAAmBC,GAAmBC,GAAmBC,GAAmBC,GAAmBC,GAAmBC,GAAmBC,GAAmBC,GAAmBC,GAAmBC,GAAmBw9B,GAAmBC,GAAmBC,GAAmBC,GAAmBC,GDsE9hCC,GAAyB,SAAUC,EAAaC,EAAaC,GAC/D,GAAIF,GAAeA,EAAYG,kBAAmB,CAChD,IAAIC,EAAiBJ,EAAYG,kBAAkB,CACjDE,SAAUH,IAGRI,EAsBR,SAAgCC,GAC9B,IAAIC,EAAkB,CACpBC,KAAMjmB,QAEJkmB,EAAqB,GACrBC,EAAqB,GA8BzB,OA7BAJ,EAAiB9oG,SAAQ,SAAUwM,EAAMoX,GACvC,IAAI3f,EAAOuI,EAAKvI,KACdH,EAAQ0I,EAAK1I,MACf,OAAQG,GACN,IAAK,iBAOL,IAAK,WACS,IAAR2f,EACFqlF,EAAqBnlG,EAErBolG,EAAqBplG,EAEvB,MACF,IAAK,QACHilG,EAAgBI,mBAAqBrlG,EACrC,MACF,IAAK,WACHilG,EAAgBK,MAAQtlG,EAAMhF,OAC9B,MACF,IAAK,UACHiqG,EAAgBM,MAAQvlG,MAIvB,CACLilG,gBAAiBA,EACjBE,mBAAoBA,EACpBC,mBAAoBA,GA5DQI,CADLX,EAAeY,cAAc,MAElDR,EAAkBF,EAAsBE,gBACxCE,EAAqBJ,EAAsBI,mBAC3CC,EAAqBL,EAAsBK,mBAO7C,OAJoD,IADxBP,EAAea,kBACjBC,wBACxBV,EAAgBW,oBAAqB,EACrCX,EAAgBK,MAAQ,GAEnB,CACLO,oBAAqB3B,EAAgBA,EAAgB,CACnD0B,oBAAoB,GACnBX,GAAkBP,GACrBS,mBAAoBA,EACpBC,mBAAoBA,GAGxB,MAAO,CACLS,oBAAqBnB,IC9FzB,SAAS,GAAOrzF,GAEd,IAAKlT,OAAOmT,KAAKD,GAAQrW,OAEvB,OADA4T,QAAQC,KAAK,qGACN,GAET,IAAIoD,EAA2BZ,EAAOY,yBACpCumB,EAA6BnnB,EAAOmnB,2BACpC7mB,EAAoBN,EAAOM,kBAC3BJ,EAA4BF,EAAOE,0BACnCG,EAAmCL,EAAOK,iCAC1Co0F,EAAez0F,EAAOy0F,aACtBj0F,EAAaR,EAAOQ,WACpBC,EAAaT,EAAOS,WACpBC,EAAaV,EAAOU,WACpB60D,EAAav1D,EAAOu1D,WACpBuZ,EAAyB9uE,EAAO8uE,uBAChC/M,EAA0B/hE,EAAO+hE,wBACjC2yB,EAAsC10F,EAAO00F,oCAC7CztE,EAAoBjnB,EAAOinB,kBAC3B4nD,EAAsB7uE,EAAO6uE,oBAC7Bx0C,EAA8Br6B,EAAOq6B,4BACrCK,EAAiC16B,EAAO06B,+BACxCvC,EAAiCn4B,EAAOm4B,+BACxCw8D,EAAiB30F,EAAO20F,eACtBC,EAAqB,YAAK,IAAIphG,OAAOmhG,EAAgB,OAAOnhG,OAAO6mC,EAA6B,UAChGw6D,EAAwB,YAAK,IAAIrhG,OAAOmhG,EAAgB,OAAOnhG,OAAO6mC,EAA6B,UAEnGy6D,EAA+B,YAAK,GAAGthG,OAAOmhG,EAAgB,OAAOnhG,OAAOiN,EAAY,OAAOjN,OAAOknC,EAAgC,OAAOlnC,OAAOihG,EAAc,OAAOjhG,OAAO6mC,IAChL06D,EAA+B,YAAK,mBAEpCh0F,EAAc,YAAWf,GAC3BiB,EAAcF,EAAYE,YAC1BupB,EAAWzpB,EAAYypB,SACvBD,EAAexpB,EAAYwpB,aACzBrpB,GAAc,YAAWlB,GAC3BsB,GAAUJ,GAAYI,QACtBF,GAAOF,GAAYE,KACnB0+B,GAAe5+B,GAAY4+B,aACzB1Y,GAA6BnmB,EAAYmmB,2BAC3CC,GAA6BpmB,EAAYomB,2BACzCC,GAA6BrmB,EAAYqmB,2BACzCC,GAA6BtmB,EAAYsmB,2BACzCE,GAAkCxmB,EAAYwmB,gCAC9CD,GAAkCvmB,EAAYumB,gCAChD,SAASwtE,KACP,OAAO,YAAI,IAAoB,EAAkB,YAAuB,CAAC,yBAA0B,yCAA0C,eAAgB,0BAA2B,IAAK,aAAc5tE,GAA4B,YAAK,GAAG5zB,OAAO6zB,GAA4B,OAAO7zB,OAAOoN,IAA4BwmB,GAA4BG,GAA4BD,IAEtX,SAAS2tE,KACP,OAAO,YAAI,IAAqB,EAAmB,YAAuB,CAAC,yBAA0B,0BAA2B,yCAA0C,eAAgB,0BAA2B,IAAK,aAAc9tE,EAA4BK,GAAiC,YAAK,GAAGh0B,OAAO6zB,GAA4B,OAAO7zB,OAAO2zB,IAA8BK,GAAiCD,GAA4BE,IAE3b,SAAS+iB,KACP,OAAO,YAAI,IAAqB,EAAmB,YAAuB,CAAC,WAAY,0CAA2C,iBAAkBlpC,GAAQ,CAC1J6C,MAAO9D,IACLG,GAEN,SAAS00F,KACP,OAAO,YAAI,IAAqB,EAAmB,YAAuB,CAAC,sEAE7E,IAAIz3D,GAAQ,YAAI,IAAqB,EAAmB,YAAuB,CAAC,4BAA6B,SAAU,mEAAoE,gCAAiC,4BAA6B,8CAA+C,wBAAyB,gBAAiB,8CAA+CqC,GAAa,CAC5Y37B,MAAO9D,IACLmqB,EAAU/pB,EAAYquE,EAAwBA,EAAwBA,EAAwBpuE,EAAYA,GAC1Gy0F,GAA8C,YAAI,IAAqB,EAAmB,YAAuB,CAAC,8GAA+G,iBAAkB,iFAAkF/zF,GAAK,CAC5U+C,MAAO9D,IACLu0F,GACAQ,GAAwB,YAAI,IAAqB,EAAmB,YAAuB,CAAC,yCAA0C,UAAW7qE,GACjJ8qE,GAAa,YAAI,IAAqB,EAAmB,YAAuB,CAAC,kCAAmC,uGAAwG7qD,MAC5N/yC,GAAO,YAAI,IAAqB,EAAmB,YAAuB,CAAC,sCAAuC,kIAAmI2J,MACrPk0F,GAAY,YAAI1iC,IAAsBA,EAAoB,YAAuB,CAAC,iCAAkC,gBAAiB,kBAAmB,2FAA4F,iBAAkB,wDAAyD,sCAAuCsiC,KAAanzB,EAAyBA,EAAyBthE,EAAYA,EAAYA,GAC7b80F,GAAW,YAAI1iC,IAAsBA,EAAoB,YAAuB,CAAC,4EAA6E,gBAAiB,SAAU,IAAK,iBAAkB,wCAAyC,IAAK,IAAK,uBAAwBqiC,KAAaN,EAAoBA,EAAoBl0F,EAAYL,EAAkCu0F,EAAoBl0F,EAAYk0F,GAC9ZY,GAAU,YAAI1iC,IAAsBA,EAAoB,YAAuB,CAAC,kDAAmD,WAAY,WAAY,WAAY,UAAW,+FAAgG,iBAAkB,yBAA0B,4BAA6B,yCAA0C,4HAA6H,+HAAgI,gEAAiE,kKAAmK,4FAA6F,wEAAyE,uEAAwE,mDAAoD,8BAA+B,YAAK,GAAGt/D,OAAOohG,EAAoB,OAAOphG,OAAOiN,IAAc,YAAK,GAAGjN,OAAOkN,EAAY,OAAOlN,OAAOoN,IAA4Bk0F,EAA8B,YAAK,GAAGthG,OAAOkN,EAAY,OAAOlN,OAAOoN,IAA4BQ,KAAQszF,EAAqC9zF,EAA0BN,EAAmBJ,EAA2BG,EAAkCyuE,EAAwBA,EAAwBz0C,EAA6B26D,KAAkBL,EAAgBt0F,EAAkCA,EAAkCyuE,GACxtD2mB,GAAiB,YAAI1iC,IAAsBA,EAAoB,YAAuB,CAAC,2DAA4D,WAAY,WAAY,WAAY,yFAA0F,YAAK,GAAGv/D,OAAOohG,EAAoB,OAAOphG,OAAOoN,IAA4B,YAAK,GAAGpN,OAAOkN,EAAY,OAAOlN,OAAOoN,IAA4B,YAAK,GAAGpN,OAAOqhG,EAAuB,OAAOrhG,OAAOoN,IAA4B,YAAK,GAAGpN,OAAOkN,EAAY,OAAOlN,OAAOoN,KAC5hB80F,GAAe,YAAI1iC,IAAsBA,EAAoB,YAAuB,CAAC,uDAAwD,UAAW,mBAAoB,WAAY,WAAY,WAAY,6BAA8B,kBAAmB7rC,EAA4BF,EAAmB,YAAK,GAAGzzB,OAAOohG,EAAoB,OAAOphG,OAAOiN,EAAY,OAAOjN,OAAO2zB,EAA4B,SAAU,YAAK,GAAG3zB,OAAOkN,EAAY,OAAOlN,OAAO2zB,IAA8B,YAAK,GAAG3zB,OAAOshG,EAA8B,OAAOthG,OAAO2zB,EAA4B,SAAU,YAAK,GAAG3zB,OAAOkN,EAAY,OAAOlN,OAAO2zB,IAA8B8tE,MAChpBU,GAA4B,YAAI1iC,IAAsBA,EAAoB,YAAuB,CAAC,8EAA+E,wBAAyB,+CAAgD,2BAA4B,kBAAmB,YAAK,GAAGz/D,OAAOkN,EAAY,cAAclN,OAAOuuE,EAAyB,OAAOvuE,OAAO2zB,IAA8B,YAAK,GAAG3zB,OAAOkN,EAAY,cAAclN,OAAO2zB,IAA8B,YAAK,GAAG3zB,OAAOkN,EAAY,kBAAkBlN,OAAOuuE,EAAyB,OAAOvuE,OAAO2zB,IAA8B,YAAK,GAAG3zB,OAAOkN,EAAY,gBAAgBlN,OAAO2zB,KACvpByuE,GAA2B,YAAI1iC,IAAsBA,EAAoB,YAAuB,CAAC,4EAA6E,yBAA0B,gDAAiD,0BAA2B,kBAAmB,YAAK,OAAO1/D,OAAOkN,EAAY,OAAOlN,OAAO+hE,EAAY,cAAc/hE,OAAO2zB,IAA8B,YAAK,GAAG3zB,OAAOkN,EAAY,cAAclN,OAAO2zB,IAA8B,YAAK,OAAO3zB,OAAOkN,EAAY,OAAOlN,OAAO+hE,EAAY,kBAAkB/hE,OAAO2zB,IAA8B,YAAK,GAAG3zB,OAAOkN,EAAY,kBAAkBlN,OAAO2zB,KACroB0uE,GAAmC,YAAI1iC,IAAsBA,EAAoB,YAAuB,CAAC,uFAAwF,wBAAyB,gDAAiD,0BAA2B,kBAAmB,YAAK,GAAG3/D,OAAOkN,EAAY,cAAclN,OAAOuuE,EAAyB,OAAOvuE,OAAO2zB,IAA8B,YAAK,OAAO3zB,OAAOkN,EAAY,OAAOlN,OAAO+hE,EAAY,cAAc/hE,OAAO2zB,IAA8B,YAAK,OAAO3zB,OAAOkN,EAAY,OAAOlN,OAAO+hE,EAAY,kBAAkB/hE,OAAO2zB,IAA8B,YAAK,GAAG3zB,OAAOkN,EAAY,kBAAkBlN,OAAOuuE,EAAyB,OAAOvuE,OAAO2zB,KACruB2uE,GAAsB,YAAI1iC,IAAsBA,EAAoB,YAAuB,CAAC,iEAAkE,WAAY,WAAY,WAAY,WAAY,YAAK,GAAG5/D,OAAOohG,EAAoB,OAAOphG,OAAO2zB,IAA8B,YAAK,GAAG3zB,OAAOkN,EAAY,OAAOlN,OAAO2zB,IAA8B,YAAK,GAAG3zB,OAAOqhG,EAAuB,OAAOrhG,OAAO2zB,IAA8B,YAAK,GAAG3zB,OAAOkN,EAAY,OAAOlN,OAAO2zB,KAC/d4uE,GAAuB,YAAI1iC,IAAsBA,EAAoB,YAAuB,CAAC,wEAAyE,wBAAyB,+CAAgD,2BAA4B,kBAAmB,YAAK,GAAG7/D,OAAOkN,EAAY,OAAOlN,OAAOiN,EAAY,OAAOjN,OAAOuuE,EAAyB,OAAOvuE,OAAOoN,IAA4B,YAAK,GAAGpN,OAAOkN,EAAY,OAAOlN,OAAOoN,IAA4B,YAAK,GAAGpN,OAAOkN,EAAY,OAAOlN,OAAOiN,EAAY,OAAOjN,OAAOuuE,EAAyB,OAAOvuE,OAAOoN,IAA4B,YAAK,GAAGpN,OAAOkN,EAAY,OAAOlN,OAAOoN,KACxpBo1F,GAAsB,YAAI1iC,IAAsBA,EAAoB,YAAuB,CAAC,sEAAuE,yBAA0B,gDAAiD,0BAA2B,kBAAmB,YAAK,OAAO9/D,OAAOkN,EAAY,OAAOlN,OAAO+hE,EAAY,cAAc/hE,OAAOoN,IAA4B,YAAK,GAAGpN,OAAOkN,EAAY,cAAclN,OAAOoN,IAA4B,YAAK,OAAOpN,OAAOkN,EAAY,OAAOlN,OAAO+hE,EAAY,gBAAgB/hE,OAAOoN,IAA4B,YAAK,GAAGpN,OAAOkN,EAAY,gBAAgBlN,OAAOoN,KAChnBq1F,GAA8B,YAAI1iC,IAAsBA,EAAoB,YAAuB,CAAC,gFAAiF,yBAA0B,gDAAiD,0BAA2B,kBAAmB,YAAK,OAAO//D,OAAOkN,EAAY,OAAOlN,OAAO+hE,EAAY,gBAAgB/hE,OAAOoN,IAA4B,YAAK,GAAGpN,OAAOkN,EAAY,gBAAgBlN,OAAOuuE,EAAyB,OAAOvuE,OAAOoN,IAA4B,YAAK,OAAOpN,OAAOkN,EAAY,OAAOlN,OAAO+hE,EAAY,gBAAgB/hE,OAAOoN,IAA4B,YAAK,GAAGpN,OAAOkN,EAAY,kBAAkBlN,OAAOuuE,EAAyB,OAAOvuE,OAAOoN,KACttBs1F,GAAqB,YAAI1iC,KAAsBA,GAAoB,YAAuB,CAAC,kDAAmD,iBAAkB,uCAAwC,mBAAoB,kBAAmB9yD,EAAY,YAAK,GAAGlN,OAAOkN,EAAY,gBAAgBlN,OAAOuuE,IAA2B,YAAK,GAAGvuE,OAAOkN,EAAY,OAAOlN,OAAOuuE,IAA2BrhE,GAC5Yy1F,GAAoB,YAAI1iC,KAAsBA,GAAoB,YAAuB,CAAC,iDAAkD,iBAAkB,wCAAyC,kBAAmB,kBAAmB,YAAK,OAAOjgE,OAAOkN,EAAY,OAAOlN,OAAO+hE,IAAc70D,EAAY,YAAK,OAAOlN,OAAOkN,EAAY,OAAOlN,OAAO+hE,IAAc70D,GAC/W01F,GAAY,YAAI1iC,KAAsBA,GAAoB,YAAuB,CAAC,iCAAkC,oCAAqClpB,MACzJ6rD,GAAY,YAAI1iC,KAAsBA,GAAoB,YAAuB,CAAC,wCAAyC,wBAAyB,gGAAiG,0CAA2C1sC,EAAmBzmB,EAAYA,GAC/T81F,GAAc,YAAI1iC,KAAsBA,GAAoB,YAAuB,CAAC,0CAA2C,wBAAyB,sGAAuG,0CAA2Cib,EAAqBruE,EAAYA,GAC3U+1F,GAAiB,YAAI1iC,KAAsBA,GAAoB,YAAuB,CAAC,iGACvF2iC,GAAgB,YAAI1iC,KAAsBA,GAAoB,YAAuB,CAAC,oGAAqG,2JAA4J,mBAAoB,2BAA4B,uDAAwD,WAAY5zD,EAA2BU,EAA0B8zF,EAAqCp0F,EAAmBM,GACxjB61F,GAAqB,YAAI1iC,KAAsBA,GAAoB,YAAuB,CAAC,oEAAqE,UAAW,0BAA2B,IAAK,WAAY5sC,EAA4BF,EAAmBrmB,EAA0BumB,GAChSuvE,GAA0B,YAAI1iC,KAAsBA,GAAoB,YAAuB,CAAC,kEAAmE,iBAAkBihC,MACrL0B,GAAe,YAAI1iC,KAAsBA,GAAoB,YAAuB,CAAC,qEAAsE,mBAAoB,IAAK,WAAY,IAAK,WAAY97B,EAAgC,YAAK,GAAG3kC,OAAOohG,EAAoB,OAAOphG,OAAOiN,IAAcg0F,EAAcK,EAA8BL,GAC5VmC,GAAuB,YAAI1iC,KAAsBA,GAAoB,YAAuB,CAAC,4EAA6E,4KAA6K6gC,GACvVziG,GAAS,YAAI6hE,KAAsBA,GAAoB,YAAuB,CAAC,6CAA8C,uBAAwB,iCAAkC,0BAA2B,kBAAmBwiC,GAAcj2F,EAAYi2F,GAAcj2F,GAC7QgsB,GAAS,YAAI0nC,KAAsBA,GAAoB,YAAuB,CAAC,6BAA8B,wBAAyB,iCAAkC,yBAA0B,kBAAmBuiC,GAAcj2F,EAAYi2F,GAAcj2F,GAC7Pm2F,GAAwB,YAAIxiC,KAAsBA,GAAoB,YAAuB,CAAC,6DAA8D,0BAA2B,8CAA+C,4BAA6B,kBAAmB,YAAK,GAAG7gE,OAAOohG,EAAoB,OAAOphG,OAAOoN,IAA4B,YAAK,GAAGpN,OAAOqhG,EAAuB,OAAOrhG,OAAOoN,IAA4B,YAAK,GAAGpN,OAAOohG,EAAoB,OAAOphG,OAAOoN,IAA4B,YAAK,GAAGpN,OAAOqhG,EAAuB,OAAOrhG,OAAOoN,KACpjBk2F,GAAiC,YAAIxiC,KAAsBA,GAAoB,YAAuB,CAAC,6IAA8I,kBAAmB5zD,GACxQq2F,GAAiC,YAAIxiC,KAAsBA,GAAoB,YAAuB,CAAC,8IAA+I,kBAAmB7zD,GACzQs2F,GAAuC,YAAIxiC,KAAsBA,GAAoB,YAAuB,CAAC,4LAC7GyiC,GAAqB,YAAIxiC,KAAsBA,GAAoB,YAAuB,CAAC,4DAA6D,iBAAkBugC,MAG1KkC,GAAkB,YAAIxiC,KAAsBA,GAAoB,YAAuB,CAAC,6EAA8E,8OAA+O,6CAA8C,2BAA4Bx0D,EAA2B,YAAK,GAAG1M,OAAO6zB,GAA4B,oBAAoB7zB,OAAOoN,IAA4B,YAAK,GAAGpN,OAAOiN,EAAY,oBAAoBjN,OAAO6zB,MAClpB8vE,GAAuB,YAAIxiC,KAAsBA,GAAoB,YAAuB,CAAC,8FAA+F,6CAA8C,YAAK,GAAGnhE,OAAO6zB,GAA4B,kBAAkB7zB,OAAO2zB,KAC9SiwE,GAAuB,YAAIxiC,KAAsBA,GAAoB,YAAuB,CAAC,gEAAiE,eAAgB,uBAAwB,WAAY10D,EAA2BU,EAA0B,YAAK,GAAGpN,OAAOiN,EAAY,gBAAgBjN,OAAOoN,KACzTy2F,GAA4B,YAAIxiC,KAAsBA,GAAoB,YAAuB,CAAC,yDAA0D,uBAAwB,WAAY1tC,EAA4B,YAAK,GAAG3zB,OAAOiN,EAAY,cAAcjN,OAAO2zB,KAC5QmwE,GAAyB,YAAIxiC,KAAsBA,GAAoB,YAAuB,CAAC,qGAAsG,2JAA4J,mBAAoB,2BAA4B,2KAA4Kl0D,EAA0BA,EAA0B8zF,EAAqCp0F,GACtpBi3F,GAA8B,YAAIxiC,KAAsBA,GAAoB,YAAuB,CAAC,uEAAwE,iBAAkBigC,MAC9LwC,GAAsB,YAAIxiC,KAAsBA,GAAoB,YAAuB,CAAC,6CAA8C,kBAAmB,WAAY,WAAY,WAAY,oDAAqD,gEAAiE1zD,GAAQ,CACjU6C,MAAO9D,IACLI,EAAY,YAAK,GAAGjN,OAAOkN,EAAY,OAAOlN,OAAOoN,IAA4B,YAAK,GAAGpN,OAAOiN,EAAY,OAAOjN,OAAOoN,IAA4B,YAAK,GAAGpN,OAAOkN,EAAY,OAAOlN,OAAOoN,IAA4BV,GAC3Nu3F,GAA8B,YAAIxiC,KAAsBA,GAAoB,YAAuB,CAAC,oEAAqE,yBAA0B,qCAAsC,UAAW,kBAAmB9tC,EAA4BA,EAA4BA,EAA4BF,GAC3VywE,GAAmC,YAAIxiC,KAAsBA,GAAoB,YAAuB,CAAC,6EAA8E,iBAAkB+/B,MACzM0C,GAA2B,YAAIxiC,KAAsBA,GAAoB,YAAuB,CAAC,0DAA2D,wBAAyB,yBAA0B,WAAYluC,EAAmB,YAAK,GAAGzzB,OAAOkN,EAAY,gBAAgBlN,OAAO2zB,IAA8B,YAAK,GAAG3zB,OAAOkN,EAAY,gBAAgBlN,OAAO2zB,KAGhXywE,GAA0C,YAAK,GAAGpkG,OAAOuuE,EAAyB,OAAOvuE,OAAOkN,IAEhGm3F,GAAoC,YAAK,GAAGrkG,OAAOknC,EAAgC,OAAOlnC,OAAOihG,IAGjGqD,GAA4B,YAAI1iC,KAAsBA,GAAoB,YAAuB,CAAC,iEAAkE,0BAA2B,qEAAsE,kBAAmB10D,EAAYA,EAAYk3F,IAChTG,GAAqB,YAAI1iC,KAAsBA,GAAoB,YAAuB,CAAC,8FAA+F,8CAA+C,yJAA0JwiC,GAAmC,YACtaG,GAAmB,YAAI1iC,KAAsBA,GAAoB,YAAuB,CAAC,iGAAkG,mCAAoCsiC,IAC/NK,GAAuB,YAAInF,KAAsBA,GAAoB,YAAuB,CAAC,6DAC7FoF,GAA4B,YAAInF,KAAsBA,GAAoB,YAAuB,CAAC,2DAA4D,WAAY6E,IAC1KO,GAA8B,YAAInF,KAAsBA,GAAoB,YAAuB,CAAC,qEAAsE,iDAAkD,kBAAmB,YAAK,GAAGx/F,OAAOokG,GAAyC,OAAOpkG,OAAOoN,IAA4B,YAAK,GAAGpN,OAAOokG,GAAyC,OAAOpkG,OAAOoN,KAK3Z,MAAO,CACL68B,MAAOA,GACP23D,sBAAuBA,GACvBC,WAAYA,GACZ59F,KAAMA,GACN69F,UAAWA,GACXC,SAAUA,GACVC,QAASA,GACTC,eAAgBA,GAChBC,aAAcA,GACde,mBAAoBA,GACpBC,wBAAyBA,GACzBf,0BAA2BA,GAC3BC,yBAA0BA,GAC1BC,iCAAkCA,GAClCC,oBAAqBA,GACrBsC,SApBa,YAAInF,KAAsBA,GAAoB,YAAuB,CAAC,+BAAgC,qFAAsF,WAAY,WAAY,WAAY,4BAA6B,sJAAuJ,mBAAoB7xF,GAAK,CAC1b+C,MAAO9D,IACL,YAAK,GAAG7M,OAAOohG,EAAoB,OAAOphG,OAAOiN,EAAY,OAAOjN,OAAOoN,IAA4BF,EAAY,YAAK,GAAGlN,OAAOshG,EAA8B,OAAOthG,OAAOoN,IAA4BF,EAAYR,EAA2BU,GAmBnPy3F,gBAlBoB,YAAInF,KAAsBA,GAAoB,YAAuB,CAAC,qDAAsD,WAAY0B,GAmB5JmB,qBAAsBA,GACtBC,oBAAqBA,GACrBC,4BAA6BA,GAC7BC,mBAAoBA,GACpBC,kBAAmBA,GACnBC,UAAWA,GACXC,UAAWA,GACXC,YAAaA,GACbC,eAAgBA,GAChBC,cAAeA,GACfG,aAAcA,GACdC,qBAAsBA,GACtBtkG,OAAQA,GACRo6B,OAAQA,GACRmqE,sBAAuBA,GACvBC,+BAAgCA,GAChCC,+BAAgCA,GAChCC,qCAAsCA,GACtCC,mBAAoBA,GACpB9B,4CAA6CA,GAC7C+B,gBAAiBA,GACjBC,qBAAsBA,GACtBC,qBAAsBA,GACtBC,0BAA2BA,GAC3BC,uBAAwBA,GACxBC,4BAA6BA,GAC7BC,oBAAqBA,GACrBC,4BAA6BA,GAC7BC,iCAAkCA,GAClCC,yBAA0BA,GAC1BG,0BAA2BA,GAC3BC,mBAAoBA,GACpBC,iBAAkBA,GAClBC,qBAAsBA,GACtBC,0BAA2BA,GAC3BC,4BAA6BA,IAGjC,IAAI,GAAY,CAAC,WAAY,YAAa,iBAAkB,iBAAkB,cAAe,uBAAwB,YAAa,QAAS,qBAAsB,aAAc,QAAS,OAAQ,KAAM,QAAS,gBAAiB,cAAe,WAAY,WAAY,YAAa,WAAY,WAAY,gBAAiB,yBAA0B,0BAA2B,yBAA0B,MAAO,cAAe,gBACla,SAAS,GAAQhgG,EAAQimB,GACvB,IAAIne,EAAOnT,OAAOmT,KAAK9H,GACvB,GAAIrL,OAAOmqB,sBAAuB,CAChC,IAAIoH,EAAUvxB,OAAOmqB,sBAAsB9e,GAC3CimB,IAAmBC,EAAUA,EAAQ1pB,QAAO,SAAU2pB,GACpD,OAAOxxB,OAAOunB,yBAAyBlc,EAAQmmB,GAAK7J,eACjDxU,EAAK/V,KAAKgqB,MAAMjU,EAAMoe,GAE7B,OAAOpe,EAET,SAAS,GAAc9E,GACrB,IAAK,IAAI5P,EAAI,EAAGA,EAAIkW,UAAU9X,OAAQ4B,IAAK,CACzC,IAAI2yB,EAAS,MAAQzc,UAAUlW,GAAKkW,UAAUlW,GAAK,GACnDA,EAAI,EAAI,GAAQuB,OAAOoxB,IAAS,GAAIrzB,SAAQ,SAAUL,GACpD,YAAgB2Q,EAAQ3Q,EAAK0zB,EAAO1zB,OACjCsC,OAAO+yB,0BAA4B/yB,OAAOgzB,iBAAiB3kB,EAAQrO,OAAO+yB,0BAA0B3B,IAAW,GAAQpxB,OAAOoxB,IAASrzB,SAAQ,SAAUL,GAC5JsC,OAAOooB,eAAe/Z,EAAQ3Q,EAAKsC,OAAOunB,yBAAyB6J,EAAQ1zB,OAG/E,OAAO2Q,EAET,ICjNI,GAAiB,GAAkB,GDiNnCm9F,GAAc,SAAUjhG,GAC1B,IAAIkhG,EAAYlhG,EAAKkhG,UACnBlD,EAAah+F,EAAKg+F,WAClBe,EAAY/+F,EAAK++F,UACjBoC,EAAqBnhG,EAAKmhG,mBAC1BC,EAAcphG,EAAKohG,YACnBC,EAAuBrhG,EAAKqhG,qBAC1B14F,EAAS,cAET4G,EAAU,mBAAQ,WACpB,OAAO,GAAO5G,KACb,CAACA,IAEJ,GAAIo2F,GAAaqC,EAAa,CAC5B,IAAIE,EAWAtC,EAAWC,EAVXtjD,EAAOojD,GAAwBqC,EAC/BG,EAAcnmG,MAAMwf,QAAQ+gC,GAAQ,YAAI,KAAM,CAChDnrC,IAAKjB,EAAQ2vF,eACb,YAAa,QACZvjD,EAAK/kD,KAAI,SAAU4qG,EAAKvnG,GACzB,OAAO,YAAI,KAAM,CACf9G,IAAK,MAAMgJ,OAAO+kG,EAAW,KAAK/kG,OAAOlC,GACzC,YAAa,QACZunG,OACC7lD,EAEN,GAAIojD,EAAW,CACb,IAAI0C,EAAa,CACfjxF,IAAKjB,EAAQyvF,UACbvuF,KAAM,MACN,aAAc0wF,GAEhBnC,EAAY,YAAI,IAAc,YAAS,CACrCluF,KAAM,MACL2wF,EAAY,CACb,YAAa,UAGjB,IAAK1C,EAAW,CACd,IAAI2C,EAAe,CACjBlxF,IAAKjB,EAAQ0vF,YACbxuF,KAAM,MACN,aAAc4wF,GAEhBpC,EAAc,YAAI,IAAyB,YAAS,CAClDnuF,KAAM,MACL4wF,EAAc,CACf,YAAa,UAGjB,OAAO,YAAI,MAAO,CAChBlxF,IAAKjB,EAAQwvF,UACblwF,GAAIqyF,EACJzwF,KAAM,QACN,YAAa,QACiB,QAA5B6wF,EAAatC,SAAsC,IAAfsC,EAAwBA,EAAarC,EAAasC,GAE5F,GAAIvD,EAAY,CACd,IAAI2D,EAAmB,CAACpyF,EAAQyuF,YAehC,OAdmB5iG,MAAMwf,QAAQojF,GAAc,YAAI,KAAM,CACvDxtF,IAAKmxF,EACL9yF,GAAIqyF,EACJ,YAAa,QACZlD,EAAWpnG,KAAI,SAAU4qG,EAAKvnG,GAC/B,OAAO,YAAI,KAAM,CACf9G,IAAK,MAAMgJ,OAAO+kG,EAAW,KAAK/kG,OAAOlC,GACzC,YAAa,QACZunG,OACC,YAAI,MAAO,CACfhxF,IAAKmxF,EACL9yF,GAAIqyF,EACJ,YAAa,QACZlD,GAGL,OAAO,MAEL4D,GAAa,SAAU7pB,EAAM8pB,EAAMC,EAAevyF,GACpD,OAAOwoE,EAAO,YAAI,MAAO,CACvBvnE,IAAK,CAAU,SAATqxF,GAAmBtyF,EAAQ2uF,SAAmB,UAAT2D,GAAoBtyF,EAAQ0uF,UAAW6D,GAClF3uG,IAAK,QAAQgJ,OAAO0lG,GACpB,YAAa,QACZ9pB,GAAQ,MAETgqB,GAAmB,SAAU5gG,GAC/B,IAAI2T,EAAW3T,EAAM2T,SACnBlT,EAAYT,EAAMS,UAClBogG,EAAiB7gG,EAAM6gG,eACvBC,EAAiB9gG,EAAM8gG,eACvBb,EAAcjgG,EAAMigG,YACpBc,EAAwB/gG,EAAMkgG,qBAC9BA,OAAiD,IAA1Ba,EAAmC,UAAYA,EACtEnD,EAAY59F,EAAM49F,UAClBoD,EAAchhG,EAAMgZ,MACpBA,OAAwB,IAAhBgoF,IAA2BpD,EAAYoD,EAC/CC,EAAwBjhG,EAAMggG,mBAC9BA,OAA+C,IAA1BiB,EAAmC,QAAUA,EAClEpE,EAAa78F,EAAM68F,WACnB1mG,EAAQ6J,EAAM7J,MACdmF,EAAO0E,EAAM1E,KACbsV,EAAW5Q,EAAM0N,GACjBA,OAAkB,IAAbkD,EAAsB,cAAc5V,OAAOM,GAAQsV,EACxDq0B,EAAQjlC,EAAMilC,MACdi8D,EAAgBlhG,EAAMkhG,cACtBC,EAAoBnhG,EAAMohG,YAC1BA,OAAoC,IAAtBD,EAA+B,IAAMA,EACnDvB,EAAW5/F,EAAM4/F,SACjByB,EAAiBrhG,EAAMshG,SACvBA,OAA8B,IAAnBD,EAA4B,KAAOA,EAC9CE,EAAkBvhG,EAAMwhG,UACxBA,OAAgC,IAApBD,EAA6B,KAAOA,EAChDE,EAAWzhG,EAAMyhG,SAEjBC,GADW1hG,EAAMxJ,SACDwJ,EAAM0hG,eAItB3qF,GAHyB/W,EAAM2hG,uBACL3hG,EAAM4hG,wBACP5hG,EAAM6hG,uBACzB7hG,EAAM+W,KACZ+qF,EAAc9hG,EAAM8hG,YACpBC,EAAe/hG,EAAM+hG,aACrBv+F,EAAO,YAAyBxD,EAAO,IACrCwH,EAAS,cAET4G,EAAU,mBAAQ,WACpB,OAAO,GAAO5G,KACb,CAACA,IACAw6F,EAAU,CAAC5zF,EAAQnP,MACnBgjG,EAAQ,WAAWjnG,OAAO0S,GAC1Bw0F,EAAaT,EAAW,CAC1BA,SAAUA,EACVtrG,MAAOA,GACL,CACFka,aAAcla,GAKZgsG,EAAa,GAAc,GAAc,GAAc,GAHjCtF,GAAce,EAAY,CAClD,mBAAoBqE,GAClB,IACiFC,GAAa1+F,GAClG,OAAO,YAAI,MAAO,CAChB/C,UAAWA,EACX4O,IAAK2yF,EACLjrF,IAAKA,EACL,iBAAkB,qBACjB0pF,GAAWa,EAAU,OAAQQ,EAAa1zF,GAAUszF,EAAc,GAAc,CACjFb,eAAgBA,EAChBvlG,KAAMA,EACNoS,GAAIA,EACJiG,SAAUA,EACVyuF,SAAUppF,EACVooF,YAAaA,EACbxB,SAAUA,EACV36D,MAAOA,EACP67D,eAAgBA,EAChBI,cAAeA,EACfmB,SAAU,QACVf,SAAUA,EACVE,UAAWA,GACVW,IAAc,YAAIrC,GAAa,CAChClC,UAAWA,EACXoC,mBAAoBA,EACpBC,YAAaA,EACbC,qBAAsBA,EACtBrD,WAAYA,EACZkD,UAAWkC,EACX,YAAa,SACXxB,GAAWe,EAAW,QAASO,EAAc3zF,KAE/C,GAAc,CAAC,iBAAkB,WAAY,OAAQ,KAAM,WAAY,WAAY,WAAY,cAAe,WAAY,QAAS,iBAAkB,gBAAiB,YAAa,WAAY,SAAU,UAWzMk0F,GAAW,SAAUzjG,GACvB,IAAIuiG,EAAcviG,EAAKuiG,YACrBmB,EAAa1jG,EAAK1I,MAClBA,OAAuB,IAAfosG,EAAwB,GAAKA,EACrCC,EAAqB3jG,EAAKqiG,cAC1BA,OAAuC,IAAvBsB,GAAwCA,EACxDp0F,EAAUvP,EAAKzD,OACbqnG,EAjBa,WACjB,IAAItsG,EAAQ8S,UAAU9X,OAAS,QAAsBS,IAAjBqX,UAAU,GAAmBA,UAAU,GAAK,GAC5EoyF,EAAOpyF,UAAU9X,OAAS,EAAI8X,UAAU,QAAKrX,EAC7C8wG,EAAOvsG,EAAMhF,OACbwxG,EAAOtH,EAAKlqG,OAChB,OAAIuxG,GAAQC,EACHxsG,EAEFA,EAAM6E,OAAOqgG,EAAK9lD,UAAUmtD,IAShBE,CAAazsG,EAAOirG,GACnCxuE,EAAS,CAACxkB,EAAQwxF,SAAUsB,GAAiB9yF,EAAQyxF,iBACzD,OAAO,YAAI,MAAO,CAChBxwF,IAAKujB,EACL,YAAa,QACZ6vE,IAEDI,GAAuB,SAAUzB,GACnC,IAAI0B,EAAa1B,QAAiDA,EAAc,IAChF,MAAsB,KAAf0B,EAAoB,IAAMA,GAG/BC,GAAmB,SAAU/iG,GAC/B,IAAI6gG,EAAiB7gG,EAAM6gG,eACzBwB,EAAWriG,EAAMqiG,SACjB/mG,EAAO0E,EAAM1E,KACboS,EAAK1N,EAAM0N,GACXiG,EAAW3T,EAAM2T,SACjBqvF,EAAWhjG,EAAMgjG,SACjBZ,EAAWpiG,EAAMoiG,SACjBhB,EAAcphG,EAAMohG,YACpBxB,EAAW5/F,EAAM4/F,SACjB36D,EAAQjlC,EAAMilC,MACd67D,EAAiB9gG,EAAM8gG,eACvBI,EAAgBlhG,EAAMkhG,cACtBM,EAAYxhG,EAAMwhG,UAClBF,EAAWthG,EAAMshG,SACjBxnG,EAASkG,EAAMlG,OACfo6B,EAASl0B,EAAMk0B,OACf1wB,EAAO,YAAyBxD,EAAO,IACrCwH,EAAS,cAET4G,EAAU,mBAAQ,WACpB,OAAO,GAAO5G,KACb,CAACA,IACAy7F,GAAsBh+D,GAAmB,KAAVA,GAAgBi8D,EAE/CgC,EAAc,CAAC90F,EAAQ4uF,QAASiG,GAAsB70F,EAAQ6uF,eAAgBuE,GAAapzF,EAAQmvF,qBAAsB+D,GAAYlzF,EAAQovF,oBAAqBgE,GAAaF,GAAYlzF,EAAQqvF,4BAA6BrvF,EAAQuuF,4CAA6CyF,GAAYh0F,EAAQ8uF,aAAckF,GAAYa,GAAsB70F,EAAQkvF,oBAAqB8E,GAAYZ,GAAapzF,EAAQ+uF,0BAA2BiF,GAAYd,GAAYlzF,EAAQgvF,yBAA0BgF,GAAYd,GAAYE,GAAapzF,EAAQivF,iCAAkCvjG,GAAUo6B,EAAS9lB,EAAQgwF,qBAAuB,KAAMgE,GAAYa,IAAuBnpG,GAAUo6B,GAAU9lB,EAAQkvF,oBAAsB,KAAMxjG,GAAUsU,EAAQkwF,+BAAgCpqE,GAAU9lB,EAAQmwF,+BAAgCzkG,GAAUo6B,GAAU9lB,EAAQowF,sCAC90B2E,EAAW,CAAC/0F,EAAQ62B,MAAOu8D,GAAapzF,EAAQsvF,mBAAoB4D,GAAYlzF,EAAQuvF,kBAAmBsF,GAAsB70F,EAAQwuF,uBAEzIzmG,EAAQqN,EAAKrN,MAOjB,OANA,qBAAU,WACR,IAAIitG,EAAOJ,EAAS3jG,QAChBsU,GAAYyvF,GACdA,EAAKl0F,UAEN,CAACyE,IACG,YAAI,IAAM0V,SAAU,OAAQu2E,GAAY,YAAI0C,GAAU,CAC3DlB,YAAaxB,EACbzpG,MAAOA,EACP+qG,cAAe+B,EACf7nG,OAAQgT,EACR,YAAa,SACX,YAAIi0F,EAAU,YAAS,CACzB5hG,UAAWogG,EACXxxF,IAAK6zF,EACL5nG,KAAMA,EACNoS,GAAIA,EACJrL,IAAK2gG,EACL,eAAgBZ,EAChBhB,YAAayB,GAAqBzB,IACjC59F,EAAM,CACP,YAAa,UACVyhC,GAAS,YAAI,QAAS,CACzBo+D,QAAS31F,EACTA,GAAI,GAAG1S,OAAO0S,EAAI,UAClBjN,UAAWqgG,EACXzxF,IAAK8zF,EACL,YAAa,QACZl+D,KAEDwE,GAAc,CAAC,QAAS,KAAM,SAAU,SAAU,kBAAmB,kBAAmB,iBAAkB,WAAY,SAAU,UAAW,WAAY,iBACvJ65D,GAAmC,SAAUzkG,GAC/C,IAAIomC,EAAQpmC,EAAKomC,MACfv3B,EAAK7O,EAAK6O,GACV5T,EAAS+E,EAAK/E,OACdo6B,EAASr1B,EAAKq1B,OACdqvE,EAAkB1kG,EAAK0kG,gBACvBC,EAAkB3kG,EAAK2kG,gBACvB3C,EAAiBhiG,EAAKgiG,eACtBmC,EAAWnkG,EAAKmkG,SAChBS,EAAc5kG,EAAK0lB,OACnBA,OAAyB,IAAhBk/E,EAAyB,KAAOA,EACzCC,EAAe7kG,EAAKylB,QACpBA,OAA2B,IAAjBo/E,EAA0B,KAAOA,EAC3CtB,EAAWvjG,EAAKujG,SAChBlB,EAAgBriG,EAAKqiG,cACrB19F,EAAO,YAAyB3E,EAAM4qC,IACpCjiC,EAAS,cAET4G,EAAU,mBAAQ,WACpB,OAAO,GAAO5G,KACb,CAACA,IACAm8F,EAAeX,EACfhwF,EAAY,oBAAS,GACvBC,EAAa,YAAeD,EAAW,GACvC4wF,EAAoB3wF,EAAW,GAC/B4wF,EAAoB5wF,EAAW,GAC7BgwF,GAAsBh+D,GAAmB,KAAVA,GAAgBi8D,EAC/C4C,EAAc,CAAC11F,EAAQtU,OAAQmpG,GAAsB70F,EAAQiwF,uBAC7D0F,EAAc,CAAC31F,EAAQ8lB,OAAQ+uE,GAAsB70F,EAAQiwF,uBAC7D2F,EAAqB,CAAC51F,EAAQ4vF,cAAe4F,GAAqBx1F,EAAQqwF,mBAAoB2D,GAAYh0F,EAAQ6vF,mBAAoBmE,GAAYwB,GAAqBx1F,EAAQ8vF,yBAC/K+F,EAAUh/D,EAAQ,GAAGjqC,OAAO0S,EAAI,WAAa,GAC7Cw2F,EAAcpqG,EAAS,GAAGkB,OAAO0S,EAAI,YAAc,GACnDy2F,EAAcjwE,EAAS,GAAGl5B,OAAO0S,EAAI,WAAa,GAClD02F,EAAoB,GAAGppG,OAAOipG,GAASjpG,OAAOkpG,GAAalpG,OAAOmpG,GACtE,OAAO,YAAI,MAAO,CAChB90F,IAAK20F,EACL3gG,QAAS,WAEHsgG,EAAatkG,SACIskG,EAAatkG,QACnB6P,SAGjB,YAAa,QACZ,YAAI6zF,GAAkB,YAAS,CAChC99D,MAAOA,EACPv3B,GAAIA,EACJ5T,OAAQA,EACRo6B,OAAQA,EACR2sE,eAAgBA,EAChBmC,SAAUA,EACV1+E,QAAS,SAAqB1L,GAC5BirF,GAAkB,GAGdv/E,GACFA,EAAQ1L,IAGZ2L,OAAQ,SAAoB3L,GAC1BirF,GAAkB,GAGdt/E,GACFA,EAAO3L,IAGX,kBAAmBwrF,EAAkBzvG,OACrCytG,SAAUA,EACVlB,cAAe+B,GACdz/F,EAAM,CACP,YAAa,UACV1J,GAAU,YAAI,MAAO,CACxB4T,GAAIw2F,EAAYvvG,OAChB0a,IAAKy0F,EACLrjG,UAAW8iG,EACX,YAAa,QACZzpG,GAASo6B,GAAU,YAAI,MAAO,CAC/BxmB,GAAIy2F,EAAYxvG,OAChB0a,IAAK00F,EACLtjG,UAAW+iG,EACX,YAAa,QACZtvE,KAEDqgD,GAAc,CAAC,SAAU,SAAU,kBAAmB,mBACxDtnE,GAAa,CAAC,iBAAkB,OAAQ,KAAM,WAAY,WAAY,cAAe,WAAY,QAAS,iBAAkB,YAC1Ho3F,GAAY,sBAAW,SAAUxlG,EAAMwD,GACzC,IAAIvI,EAAS+E,EAAK/E,OAChBo6B,EAASr1B,EAAKq1B,OACdqvE,EAAkB1kG,EAAK0kG,gBACvBC,EAAkB3kG,EAAK2kG,gBACvBjtG,EAAQ,YAAyBsI,EAAM01E,IACrC+vB,EAAc,mBACdX,EAAethG,GAAOiiG,EAC1B,OAAoB,IAAM7xG,cAAcmuG,GAAkB,YAAS,CACjEc,cAAe,SAAuB1hG,GACpC,IAAI6gG,EAAiB7gG,EAAM6gG,eACzBvlG,EAAO0E,EAAM1E,KACboS,EAAK1N,EAAM0N,GACXiG,EAAW3T,EAAM2T,SACjByuF,EAAWpiG,EAAMoiG,SACjBhB,EAAcphG,EAAMohG,YACpBxB,EAAW5/F,EAAM4/F,SACjB36D,EAAQjlC,EAAMilC,MACd67D,EAAiB9gG,EAAM8gG,eACvBuB,EAAWriG,EAAMqiG,SACjBF,EAAa,YAAyBniG,EAAOiN,IAC/C,OAAInT,GAAUo6B,EACQ,IAAMzhC,cAAc6wG,GAAkC,YAAS,CACjFzC,eAAgBA,EAChBwB,SAAUA,EACV/mG,KAAMA,EACNoS,GAAIA,EACJiG,SAAUA,EACVqvF,SAAUW,EACVvB,SAAUA,EACVhB,YAAaA,EAGbn8D,MAAOA,EACP67D,eAAgBA,EAChBhnG,OAAQA,EACRo6B,OAAQA,EACRqvE,gBAAiBA,EACjBC,gBAAiBA,GAChBrB,EAAY,CACb,YAAa,UAGG,IAAM1vG,cAAcswG,GAAkB,YAAS,CACjElC,eAAgBA,EAChBwB,SAAUA,EACV/mG,KAAMA,EACNoS,GAAIA,EACJiG,SAAUA,EACVqvF,SAAUW,EACVvB,SAAUA,EACVhB,YAAaA,EACbxB,SAAUA,EACV36D,MAAOA,EACP67D,eAAgBA,GACfqB,EAAY,CACb,YAAa,YAGhB5rG,EAAO,CACR,YAAa,aAGbguG,GAAc,CAAC,YAAa,UAAW,UAAW,uBAAwB,gBAAiB,oBAAqB,WAAY,SAAU,UAAW,QAAS,YAAa,eACzKC,GAAe,CAAC,iBAAkB,OAAQ,KAAM,WAAY,WAAY,cAAe,QAAS,iBAAkB,WAAY,YAG5HC,GAAW,sBAAW,SAAU5lG,EAAMwD,GACxC,IAAI5B,EAAY5B,EAAK4B,UACnBikG,EAAe7lG,EAAK8lG,QACpBA,OAA2B,IAAjBD,EALC,EAKoCA,EAC/CE,EAAe/lG,EAAKgmG,QACpBA,OAA2B,IAAjBD,EANC,EAMoCA,EAC/CE,EAAwBjmG,EAAKkmG,qBAC7BA,OAAiD,IAA1BD,GAA2CA,EAClEE,EAAgBnmG,EAAKmmG,cACrBC,EAAoBpmG,EAAKomG,kBACzBC,EAAgBrmG,EAAK4iG,SACrBA,OAA6B,IAAlByD,EAA2B,KAAOA,EAC7CzB,EAAc5kG,EAAK0lB,OACnBA,OAAyB,IAAhBk/E,EAAyB,KAAOA,EACzCC,EAAe7kG,EAAKylB,QACpBA,OAA2B,IAAjBo/E,EAA0B,KAAOA,EAC3CvtG,EAAQ0I,EAAK1I,MACbynG,EAAY/+F,EAAK++F,UACjBqC,EAAcphG,EAAKohG,YACnBz8F,EAAO,YAAyB3E,EAAM0lG,IACpC/8F,EAAS,cAET4G,EAAU,mBAAQ,WACpB,OAAO,GAAO5G,KACb,CAACA,IACA29F,EAAiB,YAErB39F,EAAO87B,qCAAqC3oC,MAAM,MAAM,GACpDyqG,EAAiBP,EAAU7wG,KAAKggB,IAAI6wF,EA7B3B,KA8BTQ,EAAiBV,EAAU3wG,KAAKigB,IAAI0wF,EA/B3B,KAgCT3xF,EAAY,mBAAS7c,EAAQA,EAAMhF,OAAS,GAC9C8hB,EAAa,YAAeD,EAAW,GACvCsyF,EAAYryF,EAAW,GACvBsyF,EAAetyF,EAAW,GACxBmF,EAAa,oBAAS,GACxBC,EAAa,YAAeD,EAAY,GACxCotF,EAAQntF,EAAW,GACnBotF,EAASptF,EAAW,GAClBy2D,EAAa,oBAAS,GACxBC,EAAa,YAAeD,EAAY,GACxC42B,EAAmB32B,EAAW,GAC9B42B,EAAmB52B,EAAW,GAC5Bu1B,EAAc,mBACdsB,EAAcvjG,GAAOiiG,EACrB1J,EAAc,qBAAWT,GACzB0L,EAAgB,iBAAO,GACvBp8F,EAAY,iBAAO07F,EAAiBC,GACpCU,EAAY,iBAAOX,EAAiBE,GAgBxC,qBAAU,WAER,GAAIO,EAAYvmG,QAAS,CACvB,IAAI0mG,EAAcH,EAAYvmG,QAC1B2wE,EAAe+1B,EAAY/1B,aAC7BgjB,EAAe+S,EAAY/S,aACzBtjC,EAAgB7uD,OAAOk2B,iBAAiBgvE,GACxCC,EAAkB5wB,OAAO1lB,EAAcC,iBAAiB,eAAeh1D,MAAM,MAAM,IACnFsrG,EAAqB7wB,OAAO1lB,EAAcC,iBAAiB,kBAAkBh1D,MAAM,MAAM,IACzFurG,EAAkB9wB,OAAO1lB,EAAcC,iBAAiB,eAAeh1D,MAAM,MAAM,IACnFwqC,EAAaiwC,OAAOD,MAAM6wB,GAAmBb,EAAiBa,EAC9D/7F,EAAgBmrE,OAAOD,MAAM8wB,GAAsB,EAAIA,EACvD97F,EAAairE,OAAOD,MAAM+wB,GAAmB,EAAIA,EACrDL,EAAcxmG,QAAU2wE,EAAegjB,EACvCvpF,EAAUpK,QAAUwmG,EAAcxmG,QAAU8K,EAAaF,EAAgBk7B,EAAaigE,EACtFU,EAAUzmG,QAAUwmG,EAAcxmG,QAAU8K,EAAaF,EAAgBk7B,EAAakgE,EA9BtE,WAClB,IAAIU,EAAcH,EAAYvmG,QAE9B0mG,EAAYplG,MAAMyqB,OAAS,OAC3B,IAAI+6E,EAAYJ,EAAY91B,aAAe41B,EAAcxmG,QAGrD8mG,EAAY18F,EAAUpK,QACxB0mG,EAAYplG,MAAMyqB,OAAS,GAAGpwB,OAAOyO,EAAUpK,QAAS,MAC/C8mG,EAAYL,EAAUzmG,QAC/B0mG,EAAYplG,MAAMyqB,OAAS,GAAGpwB,OAAOmrG,EAAW,MAEhDJ,EAAYplG,MAAMyqB,OAAS,GAAGpwB,OAAO8qG,EAAUzmG,QAAS,MAmBxD+mG,GACAX,EAAmC,QAA5B/1C,EAAc74C,cAEtB,CAACwuF,EAAgBD,EAAgBjvG,IACpC,IAAIkwG,EAA4B,WAE1BT,EAAYvmG,SACIumG,EAAYvmG,QAClB6P,SAGhB,OAAO,YAAI0xF,GAAkB,YAAS,CACpCngG,UAAWA,EACXtK,MAAOA,EACPsrG,SAAU,SAAsB7oF,GAC9B,IAAImtF,EAAcntF,EAAMjW,OACxB4iG,EAAaQ,EAAY5vG,MAAMhF,QAG3BswG,GACFA,EAAS7oF,IAGb0L,QAAS,SAAqB1L,GAC5B+sF,GAAiB,GAGbrhF,GACFA,EAAQ1L,IAGZ2L,OAAQ,SAAoB3L,GAC1B+sF,GAAiB,GAGbphF,GACFA,EAAO3L,IAGX8oF,cAAe,SAAuB1hG,GACpC,IAAI6gG,EAAiB7gG,EAAM6gG,eACzBvlG,EAAO0E,EAAM1E,KACboS,EAAK1N,EAAM0N,GACXiG,EAAW3T,EAAM2T,SACjByuF,EAAWpiG,EAAMoiG,SACjBhB,EAAcphG,EAAMohG,YACpBn8D,EAAQjlC,EAAMilC,MACd67D,EAAiB9gG,EAAM8gG,eAGvBqB,GAFWniG,EAAMqiG,SACNriG,EAAM4/F,SACJ,YAAyB5/F,EAAOwkG,KAC3C8B,EAAmB,YAAI,IAAY,CACrC,YAAa,SACZ,SAAUhmG,GACX,IAAI+O,EAAM/O,EAAM+O,IACdgvB,EAAK/9B,EAAM+9B,GACb,OAAO,YAAI0kE,GAAkB,YAAS,CACpClC,eAAgBxiE,EAAGwiE,EAAgB,YAAgB,GAAIxxF,EAAIjB,EAAQswF,kBAAkB,GAAO,YAAgB,GAAIrvF,EAAIjB,EAAQuwF,sBAAuByD,IACnJC,SAAU,WACV/mG,KAAMA,EACNoS,GAAIA,EACJiG,SAAUA,EACVqvF,SAAU4C,EACVxD,SAAUA,EACVhB,YAAaA,EACbn8D,MAAOA,EACP67D,eAAgBziE,EAAGyiE,EAAgB,YAAgB,GAAIzxF,EAAIjB,EAAQwwF,uBAAuB,GAAO,YAAgB,GAAIvvF,EAAIjB,EAAQywF,2BAA4BuD,KAC5JD,EAAY,CACb,YAAa,aAGjB,GAAI4C,EAAsB,CACxB,IAAIwB,EAAe,GACfvB,IACFuB,EAAef,EAAQ,GAAGxqG,OAAOgqG,EAAe,KAAO,IAAIhqG,OAAOgqG,IAEpE,IAAIwB,EAAchB,EAAQ,GAAGxqG,OAAOurG,GAAcvrG,OAAOsqG,GAAa,GAAGtqG,OAAOsqG,GAAWtqG,OAAOurG,GAC9FE,ED3sBc,SAAU7L,EAAa8L,EAAgBh5F,EAAIsgB,GACnE,OAAKtgB,EAGCktF,GAAeA,EAAY+L,iBAG1B/L,EAAY+L,iBAAiB,CAClCj5F,GAAIA,IACH8lC,OAAOxlB,GAJDtgB,EAHAg5F,ECysBwBE,CAAoBhM,EAAa,GAAG5/F,OAAOsqG,EAAW,YAAYtqG,OAAOgqG,EAAe,oBAAqBC,EAAmB,CACzJK,UAAWA,EACXN,cAAeA,IAEb6B,EAAa,CAACz4F,EAAQ0wF,uBAAwB4G,GAAoBt3F,EAAQ2wF,4BAA6BqD,GAAYh0F,EAAQ6wF,4BAA6BmD,GAAYsD,GAAoBt3F,EAAQ8wF,kCAChM4H,EAAiB,CAAC14F,EAAQ4wF,oBAAqBoD,GAAYh0F,EAAQ+wF,0BACvE,OAAO,YAAI,MAAO,CAChB9vF,IAAKw3F,EACLxjG,QAASgjG,EACT,YAAa,QACZC,EAAkB,YAAI,MAAO,CAC9Bj3F,IAAKy3F,EACLx3F,KAAM,SACN,YAAa,SACb,cAAe,OACf,aAAcm3F,EACd,YAAa,QACZD,IAEL,OAAOF,GAET1I,UAAWA,EACXqC,YAAaA,EACb,iBAAkB,oBACjBz8F,O,aC9wBL,IAAI,GAAY,CAAC,OAAQ,UAAW,QAAS,OAAQ,KAAM,MAAO,QAAS,SAAU,WAAY,SAAU,eAAgB,UAAW,iBAAkB,cAAe,mBAAoB,eAAgB,cAAe,wBAAyB,gBACnP,SAAS,GAAQ7D,EAAQimB,GACvB,IAAIne,EAAOnT,OAAOmT,KAAK9H,GACvB,GAAIrL,OAAOmqB,sBAAuB,CAChC,IAAIoH,EAAUvxB,OAAOmqB,sBAAsB9e,GAC3CimB,IAAmBC,EAAUA,EAAQ1pB,QAAO,SAAU2pB,GACpD,OAAOxxB,OAAOunB,yBAAyBlc,EAAQmmB,GAAK7J,eACjDxU,EAAK/V,KAAKgqB,MAAMjU,EAAMoe,GAE7B,OAAOpe,EAeT,IC7CI,GAAiB,GD6CjBs/F,GAAwB,SAAU/wF,EAAYgxF,GAChD,OAAKA,EAIEhxF,EAAW7Z,QAAO,SAAUoS,GAEjC,IAAI04F,GAAa14F,EAAO02B,OAAS,IAAIrvB,cACjC9b,EAASktG,EAASpxF,cACtB,OAAOqxF,EAAU1xD,UAAU,EAAGz7C,EAAO3I,UAAY2I,KAN1Ckc,GASPkxF,GAAiB,SAAU34F,GAC7B,IAAI44F,EACJ,OAA0C,QAAlCA,EAAgB54F,EAAOpY,aAAqC,IAAlBgxG,EAA2BA,EAAgB54F,EAAO02B,OAGlGmiE,GAAS,SAAUpxF,EAAY1a,GAEjC,OAAO0a,EAAWqzC,QAAO,SAAU9sB,EAAQhuB,GACzC,IAAI84F,EAjCR,SAAuB1kG,GACrB,IAAK,IAAI5P,EAAI,EAAGA,EAAIkW,UAAU9X,OAAQ4B,IAAK,CACzC,IAAI2yB,EAAS,MAAQzc,UAAUlW,GAAKkW,UAAUlW,GAAK,GACnDA,EAAI,EAAI,GAAQuB,OAAOoxB,IAAS,GAAIrzB,SAAQ,SAAUL,GACpD,YAAgB2Q,EAAQ3Q,EAAK0zB,EAAO1zB,OACjCsC,OAAO+yB,0BAA4B/yB,OAAOgzB,iBAAiB3kB,EAAQrO,OAAO+yB,0BAA0B3B,IAAW,GAAQpxB,OAAOoxB,IAASrzB,SAAQ,SAAUL,GAC5JsC,OAAOooB,eAAe/Z,EAAQ3Q,EAAKsC,OAAOunB,yBAAyB6J,EAAQ1zB,OAG/E,OAAO2Q,EAwBc,CAAc,GAAI4L,GAKrC,OAJK84F,EAAa7kG,eAAe,QAC/B6kG,EAAa35F,GAAK,GAAG1S,OAAOM,EAAM,MAAMN,OAAOksG,GAAe34F,KAEhEguB,EAAO7qC,KAAK21G,GACL9qE,IACN,KAGD+qE,GAAe,CACjBriE,MAAO,eAaLsiE,GAAa,SAAUC,GACzB,OAAOA,EAAUA,EAAQ/xG,KAAI,SAAU8Y,GAKrC,OAHAA,EAAOo3E,YAAc,SAAUxxE,GAC7B,OAAOA,EAAIjQ,kBAfMiS,EAiBL5H,EAjBUk5F,EAiBFH,GAhBjBhzG,OAAOmO,QAAQ0T,GAAKkzC,QAAO,SAAUq+C,EAAM7oG,GAChD,IAAImB,EAAQ,YAAenB,EAAM,GAC/B7M,EAAMgO,EAAM,GACZ7J,EAAQ6J,EAAM,GAGhB,OADA0nG,EADaD,EAAOjlG,eAAexQ,GAAOy1G,EAAOz1G,GAAOA,GACzCmE,EACRuxG,IACN,IARQ,IAAUvxF,EAAKsxF,KAkBrB,IAGHE,GAAW,SAAUrnG,GACvB,IAAIsnG,EAAatnG,EAAMhF,KACrBA,OAAsB,IAAfssG,EAAwB,UAAYA,EAC3Ch3G,EAAU0P,EAAM1P,QAChBi3G,EAAcvnG,EAAMnK,MACpBA,OAAwB,IAAhB0xG,EAAyB,GAAKA,EACtCrtD,EAAOl6C,EAAMk6C,KACb9sC,EAAKpN,EAAMoN,GACXqJ,EAAMzW,EAAMyW,IACZkuB,EAAQ3kC,EAAM2kC,MACd7zB,EAAS9Q,EAAM8Q,OACfqwF,EAAWnhG,EAAMmhG,SACjBl9E,EAASjkB,EAAMikB,OACfujF,EAAexnG,EAAMwnG,aACrBC,EAAgBznG,EAAMgkB,QACtBA,OAA4B,IAAlByjF,EAA2B,KAAOA,EAC5CC,EAAuB1nG,EAAM2nG,eAC7BA,OAA0C,IAAzBD,EAAkCjB,GAAwBiB,EAC3E5G,EAAc9gG,EAAM8gG,YACpBpzF,EAAmB1N,EAAM0N,iBACzBk6F,EAAqB5nG,EAAM6nG,aAC3BA,OAAsC,IAAvBD,EA9CO,sDA8C+CA,EACrEE,EAAoB9nG,EAAM2Q,YAC1BA,OAAoC,IAAtBm3F,EAA+BnjE,EAAQmjE,EACrDz3F,EAAwBrQ,EAAMqQ,sBAC9B03F,EAAe/nG,EAAM+nG,aACrB7kG,EAAO,YAAyBlD,EAAO,IACrC0S,EAAY,oBAAS,GACvBC,EAAa,YAAeD,EAAW,GACvCs1F,EAAWr1F,EAAW,GACtBs1F,EAAct1F,EAAW,GACvBmF,EAAa,oBAAU,GACzBC,EAAa,YAAeD,EAAY,GACxCq8C,EAAcp8C,EAAW,GACzBmwF,EAAiBnwF,EAAW,GAC1By2D,EAAa,mBAAS,IACxBC,EAAa,YAAeD,EAAY,GACxC8wB,EAAW7wB,EAAW,GACtB05B,EAAc15B,EAAW,GACvB25B,EAAa,mBAAS93G,GACxB+3G,EAAa,YAAeD,EAAY,GACxCE,EAAeD,EAAW,GAC1BE,EAAkBF,EAAW,GAC3BG,EAAa,mBAAS3yG,GACxB4yG,EAAc,YAAeD,EAAY,GACzCl3F,GAAam3F,EAAY,GACzBC,GAAgBD,EAAY,GAC1BE,GAAc,oBAAS,GACzBC,GAAc,YAAeD,GAAa,GAC1CE,GAAYD,GAAY,GACxBE,GAAeF,GAAY,GACzBG,GAAgB,mBAChB1F,GAAe,mBACf2F,GAAiB,SAAUvzF,EAAewzF,GAC5C,KAAoB,KAAhBA,GAAwBxzF,GAAkBnlB,GAC5C,OAAO24G,EAET,IAAIC,EAAiB54G,aAAyC,EAASA,EAAQkzF,MAAK,SAAUv1E,GAC5F,OAAOwH,IAAkBmxF,GAAe34F,MAE1C,OAAOi7F,EAAiBA,EAAevkE,MAAQlvB,GAE7C0zF,GAAcH,GAAenzG,EAAOqkD,GACpCkvD,GAAc,mBAASD,IAAe,IACxCE,GAAc,YAAeD,GAAa,GAC1CE,GAAYD,GAAY,GACxBE,GAAeF,GAAY,GACzBG,GAAc,mBAAS,IACzBC,GAAc,YAAeD,GAAa,GAC1CE,GAAiBD,GAAY,GAC7BE,GAAoBF,GAAY,GAC9BG,GAAUx8F,QAA+BA,EAAK,YAAS,aACvDy8F,GAAc,aAAanvG,OAAOkvG,IAClCE,GAAS,cAAcpvG,OAAOkvG,IAK9BG,GAAqB,SAAUC,GACjC,IAAIC,EAAcnD,GAAOa,EAAer3G,EAAS05G,GAAahvG,GACzDivG,GAAsC,IAAvBA,EAAYp5G,SAC9Bo5G,EAAc,CAAC,CACbtlE,MAAOkjE,EACPp7F,cAAc,KAGlB87F,EAAgB0B,GAXhB/B,GAAgB,GAChBC,EAAY,KAyBV+B,GAAgB,SAAUC,GAC5BlC,EAAYkC,GACZrB,GAAaqB,IAEXC,GAAW,WACR18F,IACHq8F,GAAmB,IACnBJ,GAAkB,KAEpBO,IAAc,GAEV7G,GAAatkG,SACfskG,GAAatkG,QAAQsrG,UAGrBC,GAAoB,SAAUz2F,GAEJ,mBAAjB2zF,GACTA,EAAa3zF,GAEf81F,GAAkB91F,EAAIxR,OAAOxM,OAC7B0zG,GAAa11F,EAAIxR,OAAOxM,OACxBk0G,GAAmBl2F,EAAIxR,OAAOxM,OAC9B6yG,GAAc,KAEZ13B,GAAc,WAChBk5B,IAAc,GACd/B,EAAY,KAGVt3F,GAAoB,SAAUgD,GAEhC,OADaA,EAAIxR,OACH+K,KAAOy8F,IAEnBU,GAAsB,SAAU/xG,GAClC,IA9C6BqxC,EA8CzBq/D,EAAiBZ,EAAa9vG,GAE9B0wG,IAAmBA,EAAez8F,eACpC88F,GAAaL,EAAevkE,OAC5B+jE,GAAc9B,GAAesC,IAC7BS,GAAkBT,EAAevkE,OAnDNkF,EAoDZ+8D,GAAesC,GAlDR,mBAAb/H,GACTA,EAAS,CACP9+F,OAAQ,CACNrH,KAAMA,EACNnF,MAAOg0C,KA+CXqgE,IAAc,KASdM,GAAc,WAChB,OAAOr2C,EAAc,EAAI,GAAKm0C,EAAan0C,GAAa/mD,IAEtDq9F,GAAmB,SAAUj3F,GAC/B,IAAIC,EAAY/f,KAAKggB,IAAIhgB,KAAKigB,IAAIwgD,EAAc3gD,EAAQ,GAAI80F,EAAaz3G,OAAS,GAClF,GAAI4iB,IAAc0gD,EAAa,CAC7B,IAAI+0C,EAAiBZ,EAAa70F,GAC7By1F,EAAez8F,eAClBy7F,EAAez0F,GAMXy1F,IAhBa,KAAdI,IAAoBhB,EAAaz3G,OAASP,EAAQO,SAiBnDs3G,EAAYe,EAAevkE,UAM/BnvB,GAAY,SAAU3B,GAExB,IAAIniB,EAAMmiB,EAAIniB,KAAOmiB,EAAIY,QAGrBD,EAAU,IAAI,IAAa9iB,GAC3B8iB,EAAQE,YACV+1F,IAAkB,GACTj2F,EAAQG,cACZqzF,EAGHyC,GAAiB,GAFjBL,KAIO51F,EAAQI,UAAoB,iBAARljB,GAE7BmiB,EAAIjQ,iBACCokG,EAGHuC,GAAoBp2C,GAFpBi2C,OAIO51F,EAAQK,QAAUL,EAAQM,SACnCk8D,MAGA05B,GAAuBpL,EAAW,KAAOwB,EACzC6J,GAAqB,WAAWjwG,OAAOM,GACvC4vG,GAAoB,WACtB,IAAIC,EAAWliG,UAAU9X,OAAS,QAAsBS,IAAjBqX,UAAU,GAAmBA,UAAU,GAAK,MACnF,OAAO,YAAI,MAAO,CAChB8N,IAAKo0F,EACL,YAAa,QACZ,YAAI9G,GAAW,CAChB/oG,KAAM2vG,GACN5oG,IAAKgnG,GACLpkE,MAAOA,EACP9uC,MAAO6zG,GACP5I,YAAa4J,GACbpL,SAAUA,EACV6B,SAAUmJ,GACV/xF,UAAW,SAAmB1E,GAC5B,OAAO2B,GAAU3B,IAEnBk0F,aAAc,MACd/4F,KAAM,WACN,gBAAiB86F,GACjB,wBAAyBU,KACzBtoF,SAAUxU,EACV,YAAa,WAGbxG,GAAS,cACT4jG,GAAc,mBAAQ,WACxB,OAhUJ,SAAgB5jG,GAEd,IAAKlT,OAAOmT,KAAKD,GAAQrW,OAEvB,OADA4T,QAAQC,KAAK,qGACN,GAET,IAAIm3F,EAAiB30F,EAAO20F,eAI5B,MAAO,CACLl9F,KAJS,YAAI,KAAoB,GAAkB,YAAuB,CAAC,oCAK3EwX,KAJS,YAAI,KAAqB,GAAmB,YAAuB,CAAC,cAAe,WAAY0lF,GAKxGkP,kBAJsB,YAAI,KAAqB,GAAmB,YAAuB,CAAC,kEAuTnF,CAAO7jG,MACb,CAACA,KACAmwE,GAAiB2wB,EAAW,IAAgB,IAC5CzxB,GAAa,YAAIc,GAAgB,CACnCt0E,QAAS,SAAoB8Q,GAC3BA,EAAI8S,kBACAqhF,EACFkC,IAAc,IAEdpB,IAAa,GACbsB,OAGJ/6F,KAAM,KACN,cAAe,OACf,cAAe,mBACfhE,MAAO,2BACP0D,IAAK+7F,GAAYC,kBACjB,YAAa,SAEf,qBAAU,WACRrC,GAAc7yG,GACd0zG,GAAaP,GAAenzG,EAAO,OAClC,CAACA,IACJ,qBAAU,WAEJqkD,SACFqvD,GAAarvD,KAEd,CAACA,IACJ,IAAIhnC,GAAgB,SAAUnR,GAC5B,OACEA,GAAOA,EAAIhD,QAAUgD,EAAIhD,QAAU,MAGvC,qBAAU,WACR,IAAK2O,GAAoBs6F,EAAU,CACjC,IAAIgD,EAAa93F,GAAc61F,IAG3BiC,GACFA,EAAWp8F,aAEJte,GAAWA,EAAQO,SAC5B03G,EAAgBj4G,GAChBi5G,GAAaP,GAAenzG,EAAOyzG,QAEpC,CAAC57F,EAAkBpd,IACtB,IAAI26G,GAAa,CACfj8F,KAAM,WACN+4F,aAAcA,QAAmDA,EAAe,eAChF,gBAAiBC,EACjB,iBAAiB,EACjB,gBAAiB8B,GACjB,wBAAyBU,KACzB30G,MAAOyzG,GACPxI,YAAaxB,EAAW,IAAMwB,EAC9BxB,SAAUA,EACVoD,SAAUW,IAER6H,GAAY,CACdx9F,iBAAkBA,GAGpB,OAAO,YAAI,MAAO,CAChB+I,IAAKA,EACL1H,IAAK+7F,GAAYnsG,KACjB,iBAAkB,kBACjB,YAAIolG,GAAW,YAAS,CACzB/oG,KAAM,WAAWN,OAAOM,GACxB2pC,MAAOA,EACPv3B,GAAIy8F,GACJ3I,UAAW3qB,GACXljE,SAAUw1F,IACT3lG,EAAM+nG,GAAY,CACnB9J,SAAU,SAAsBttF,GACF,mBAAjB2zF,GACTA,EAAa3zF,GAEf01F,GAAa11F,EAAIxR,OAAOxM,OACxBk0G,GAAmBl2F,EAAIxR,OAAOxM,OAC9B6yG,GAAc,IACTV,GACHkC,IAAc,IAGlBnnG,QAAS,WACFilG,GACHoC,MAGJ7xF,UAAW/C,GACXwO,QAAS,SAAqBnQ,GAC5B,IAAIm3F,EAAa93F,GAAc61F,IAC3B/kF,IAAYgnF,GACdhnF,EAAQnQ,IAGZoQ,OAAQ,WAEF8kF,GAAchqG,SAIdklB,GACFA,EAAO,CACL5hB,OAAQ,CACNrH,KAAMA,EACNsuG,UAAWA,GACXzzG,MAAOyb,OAKf,mBAAmB,EACnB,YAAa,UACV,YAAI,IAAY,CACnB,YAAa,SACZ,SAAUisC,GACX,IAAIxuC,EAAMwuC,EAAMxuC,IAChB,OAAO,YAAI,KAAe,YAAS,CACjC/T,KAAM,WAAWN,OAAOM,GACxBnF,MAAOyb,GACPlE,GAAI08F,IACHoB,GAAW,CACZ16F,kBAAkB,EAClBE,gBAAgB,EAChBD,OAAQu3F,EACRr3F,YAAaA,EACbC,qBAAsBg6F,GAAkBn0F,GACxC5F,kBAAmBA,GACnBC,OAAQA,EACRC,QAASigE,GACThgE,YAAau5F,GACbj5F,WAAY6iD,EACZ3iD,kBAAmB6xF,GACnB/yG,QAAS22G,GAAWqB,GACpBr4F,mBAAoBlB,EAAI+7F,GAAY30F,MACpC9F,sBAAuBA,EACvB,YAAa,e,0BC7bnB,ICdI,GAAiB,GAAkB,GAAkB,GAAkB,GAAkB,GAAkB,GAAkB,GAAkB,GAAkB,GAAmB,GDcpL,GAAY,CAAC,YAAa,OAAQ,oBAAqB,YACvD,GAAU,CACZqhC,KAAM,IACNoI,QAAS,IACTqxD,QAAS,IACTzyF,MAAO,KAEL0yF,GAAkB,SAAU7sG,GAC9B,IAAI4B,EAAY5B,EAAK4B,UACnBkrG,EAAY9sG,EAAKvI,KACjBA,OAAqB,IAAdq1G,EAAuB,OAASA,EACvCC,EAAwB/sG,EAAKgtG,kBAC7BA,OAA8C,IAA1BD,EAAmCt1G,EAAOs1G,EAC9Dp1G,EAAWqI,EAAKrI,SAChBgN,EAAO,YAAyB3E,EAAM,IACpC2I,EAAS,cACT4G,EAAU,mBAAQ,WACpB,OAnCJ,SAAgB5G,GAEd,IAAKlT,OAAOmT,KAAKD,GAAQrW,OAEvB,OADA4T,QAAQC,KAAK,qGACN,GAET,IAAIiD,EAAaT,EAAOS,WACtBE,EAAaX,EAAOW,WACpB2jG,EAAgBtkG,EAAOskG,cAEvBjjG,EADgB,YAAWrB,GACDsB,QAG5B,MAAO,CACL7J,KAHS,YAAI,KAAoB,GAAkB,YAAuB,CAAC,yEAA0E,YAAa,UAAWkJ,EAAYU,KAIzLkjG,WAHe,YAAI,KAAqB,GAAmB,YAAuB,CAAC,8CAA+C,wBAAyB,kBAAmB,gDAAiD,0CAA2C,YAAa9jG,EAAY6jG,EAAe7jG,IAuB3S,CAAOT,KACb,CAACA,IACAwkG,EAAa59F,EAAQ29F,WACrBE,EAAa,GAAQ31G,GACzB,OAAO,YAAI,MAAO,YAAS,CACzBgZ,KAAM,QACND,IAAKjB,EAAQnP,KACbwB,UAAWA,EACX,iBAAkB,2BACjB+C,GAAO,YAAIyoG,EAAY,CACxB58F,IAAK28F,EACLr8F,KAAM,KACNhE,MAAO,CACLqmC,KAAM,uBACNoI,QAAS,sBACTqxD,QAAS,qBACTzyF,MAAO,qBACP1iB,GACFgZ,KAAM,MACN,aAAcu8F,EACd,YAAa,SACXr1G,ICnDN,SAAS,GAAOgR,GAEd,IAAKlT,OAAOmT,KAAKD,GAAQrW,OAEvB,OADA4T,QAAQC,KAAK,qGACN,GAET,IAAI+C,EAAoBP,EAAOO,kBAC7BK,EAA2BZ,EAAOY,yBAClCV,EAA4BF,EAAOE,0BACnCC,EAAiCH,EAAOG,+BACxCs1D,EAAiBz1D,EAAOy1D,eACxB30D,EAAiBd,EAAOc,eACxB40D,EAAiB11D,EAAO01D,eACxB/0D,EAAaX,EAAOW,WACpBD,EAAaV,EAAOU,WACpBD,EAAaT,EAAOS,WACpBk0F,EAAiB30F,EAAO20F,eACxBF,EAAez0F,EAAOy0F,aACtBj0F,EAAaR,EAAOQ,WAEpBQ,EADgB,YAAWhB,GACGgB,gBAC5BvJ,EAAO,YAAI,KAAoB,GAAkB,YAAuB,CAAC,mEACzEitG,EAA0B,YAAI,KAAqB,GAAmB,YAAuB,CAAC,2DAA4D,qBAAsB,sBAAuB,mBAAoB,wDAAyD,YAAK,OAAOlxG,OAAOmhG,IAAkBj/B,EAAgB,YAAK,GAAGliE,OAAOgN,EAAY,OAAOhN,OAAOihG,IAAgBh0F,GAClYkkG,EAAkC,YAAI,KAAqB,GAAmB,YAAuB,CAAC,yDAA0D,SAAU,0BAA2B,4BAA6B,mBAAoB,mBAAoB,iCAAkC,oCAAqCD,EAAyB1jG,EAAgBsB,OAAQ/B,EAAmBL,EAA2B,IAAiBU,EAA0B+zF,GAC3djlF,EAAU,YAAI,KAAqB,GAAmB,YAAuB,CAAC,uCAAwC,IAAK,WAAYhP,EAAYC,GACnJikG,EAAkB,YAAI,KAAqB,GAAmB,YAAuB,CAAC,2FACtFC,EAAoB,YAAI,KAAqB,GAAmB,YAAuB,CAAC,wGACxFC,EAAiB,YAAI,KAAqB,GAAmB,YAAuB,CAAC,sCAAuC,4CAA6C,+BAAgC,0BAA2B,kBAAmBD,EAAmBpvC,EAAgB30D,EAAgB,YAAK,GAAGtN,OAAOiiE,EAAgB,UACzUsvC,EAAwB,YAAI,KAAqB,GAAmB,YAAuB,CAAC,+DAAgE,WAAY5kG,GAI5K,MAAO,CACL1I,KAAMA,EACNitG,wBAAyBA,EACzBC,gCAAiCA,EACjCj1F,QAASA,EACTk1F,gBAAiBA,EACjBC,kBAAmBA,EACnBC,eAAgBA,EAChBC,sBAAuBA,EACvBC,WAZe,YAAI,KAAqB,GAAmB,YAAuB,CAAC,iCAAkC,gGAAiG,iBAAkBt1F,EAASq1F,GAajPE,aAZiB,YAAI,KAAsB,GAAoB,YAAuB,CAAC,8CAA+C,WAAYtkG,GAalJukG,qBAZyB,YAAI,KAAsB,GAAoB,YAAuB,CAAC,0DAA2D,wEAAyE,kBAAmBxkG,EAAYA,IA6BtQ,IAAIykG,GAAmB,CACrBC,eATF,SAAwBz2F,EAAKyd,GAC3B,GAAIA,EAAO,CACT,IAAIi5E,EAAej5E,EAAM7+B,QAAQ,yBAA0B,QACvD+3G,EAAQ,IAAIvgB,OAAOsgB,EAAc,MACrC,OAAO12F,EAAIphB,QAAQ+3G,EAAO,uBAE5B,OAAO32F,IAKL,GAAY,CAAC,cAAe,mBAAoB,cAAe,WAAY,YAAa,oBAAqB,QAAS,4BAA6B,eACnJ42F,GAA0B,SAAUluG,EAAM+pD,EAAOx6C,GACnD,IAAIjY,EAAQ0I,EAAK1I,MACfiX,EAAcvO,EAAKuO,YACnBE,EAAgBzO,EAAKyO,cACrBE,EAAa3O,EAAK2O,WAChBw/F,EAAmBL,GAAiBC,eAAex/F,GAAejX,EAAOyyD,GACzEqkD,EAAe3/F,EAAgB,YAAI,IAAa,CAClD,YAAa,QACZA,GAAiB,KAChB4/F,EAAgB1/F,EAAa,YAAI,MAAO,CAC1C6B,IAAKjB,EAAQs+F,qBACb,YAAa,QACZl/F,GAAc,KACjB,OAAO,YAAI,IAAM6b,SAAU,KAAM6jF,EAAe,YAAI,MAAO,CACzD,YAAa,QACZ,YAAI,IAAU,CACfnwE,wBAAyB,CACvBC,OAAQgwE,GAEV,YAAa,SACXC,KA4BFE,GAAiB,SAAUntG,GAC7B,IAAIotG,EAAoBptG,EAAMqtG,YAC5BA,OAAoC,IAAtBD,EAA+B,GAAKA,EAClDE,EAAmBttG,EAAMstG,iBACzBC,EAAcvtG,EAAMutG,YACpBC,EAAWxtG,EAAMwtG,SACjB/sG,EAAYT,EAAMS,UAClBgtG,EAAoBztG,EAAMytG,kBAC1B7kD,EAAQ5oD,EAAM4oD,MACd8kD,EAAwB1tG,EAAM2tG,0BAC9BA,OAAsD,IAA1BD,GAA0CA,EACtEE,EAAc5tG,EAAM4tG,YACpBpqG,EAAO,YAAyBxD,EAAO,IACrCwH,EAAS,cACT4G,EAAU,mBAAQ,WACpB,OAAO,GAAO5G,KACb,CAACA,IACAwL,EAAY,oBAAU,GACxBC,EAAa,YAAeD,EAAW,GACvC66F,EAAmB56F,EAAW,GAC9B66F,EAAsB76F,EAAW,GAC/B86F,EAAsB,kBAAQ,GAC9BC,EAAU,iBAAO,IACjBC,EA/CqB,SAAUZ,EAAaO,GAChD,OAAKA,EASEP,EAAYhkD,QAAO,SAAUgI,EAAK68C,EAASC,GAWhD,OAVID,EAAQb,aACVa,EAAQb,YAAYh7G,SAAQ,SAAUm6G,EAAY4B,GAChD/8C,EAAI3/D,KAAK,CACPyE,MAAOq2G,EACP0B,QAASA,EACTE,gBAAiBA,EACjBD,aAAcA,OAIb98C,IACN,IApBMg8C,EAAYhkD,QAAO,SAAUgI,EAAKm7C,EAAY1zG,GAKnD,OAJAu4D,EAAI3/D,KAAK,CACPyE,MAAOq2G,EACP4B,gBAAiBt1G,IAEZu4D,IACN,IAuCcg9C,CAAqBhB,EAAaO,GACjDU,EAAkB,SAAUn6F,EAAKrb,GAKnC,GAJAg1G,EAAoBh1G,GACpBi1G,EAAoB1uG,QAAUvG,GAGf,IAAXA,EAAc,CAChB,IAAI4U,EAAKugG,EAAan1G,GAAOo1G,QAAU,GAAGlzG,OAAOizG,EAAan1G,GAAOo1G,QAAQxgG,GAAI,KAAK1S,OAAOizG,EAAan1G,GAAO3C,MAAMuX,IAAMugG,EAAan1G,GAAO3C,MAAMuX,GACnJ6gG,EAAiBP,EAAQ3uG,QAAQqO,GACjC6gG,GAAkBA,EAAex/F,gBACnCw/F,EAAex/F,eAAe,CAC5BE,SAAU,SACVD,MAAO,YAMTu+F,GACFA,EAAYp5F,EAAK85F,EAAan1G,GAAO3C,MAAO83G,EAAan1G,GAAOo1G,UAGhEM,EAAe,SAAUr6F,EAAKrb,GAE5B00G,GACFA,EAASr5F,EAAK85F,EAAan1G,GAAO3C,MAAO83G,EAAan1G,GAAOo1G,UAK7Dt5F,EAAgB,SAAUT,GAC5B,GAAK85F,EAAa98G,OAAlB,CAGA,IAAIs9G,EAA0BV,EAAoB1uG,QAG9CyV,EAAU,IAAI,IAAaX,EAAIniB,KAAOmiB,EAAIY,SAC1CD,EAAQE,aACVb,EAAIjQ,iBACAuqG,EAA0B,EAC5BH,EAAgBn6F,EAAKs6F,EAA0B,GACV,IAA5BA,GACTH,EAAgBn6F,EAAK85F,EAAa98G,OAAS,IAEpC2jB,EAAQG,eACjBd,EAAIjQ,iBACAuqG,EAA0BR,EAAa98G,OAAS,EAClDm9G,EAAgBn6F,EAAKs6F,EAA0B,GACtCA,IAA4BR,EAAa98G,OAAS,GAC3Dm9G,EAAgBn6F,EAAK,IAEdW,EAAQI,WACjBf,EAAIjQ,iBACAuqG,GAA2B,GAC7BD,EAAar6F,EAAKs6F,MAIxB,qBAAU,WAMR,OALAX,GAAqB,GACrBC,EAAoB1uG,SAAW,EAC3BguG,EAAYl8G,QAAUw8G,GACxBn7G,SAAS8jB,iBAAiB,UAAW1B,GAEhC,WACLpiB,SAASokB,oBAAoB,UAAWhC,MAEzC,CAACy4F,EAAaM,IACjB,IA6BMe,EA7BFC,EAAuB,SAAUC,EAAOV,GAC1C,IAAIW,EAAkB5lG,UAAU9X,OAAS,QAAsBS,IAAjBqX,UAAU,GAAmBA,UAAU,GAAK,EAC1F,OAAO2lG,EAAMn5G,KAAI,SAAU+2G,EAAY1zG,GACrC,IAAI85B,EAAS,CAACxkB,EAAQo+F,WAAYqB,GAAoB,GAAKrB,IAAeyB,EAAaJ,GAAkB13G,OAASiY,EAAQm+F,uBACtH7+F,EAAKwgG,EAAU,GAAGlzG,OAAOkzG,EAAQxgG,GAAI,KAAK1S,OAAOwxG,EAAW9+F,IAAM8+F,EAAW9+F,GAC7EohG,EAAoBxB,EAAmBA,EAAiBd,EAAY5jD,EAAOslD,GAAWnB,GAAwBP,EAAY5jD,EAAOx6C,GACrI,OAAO,YAAI,KAAM,YAAS,CACxBkB,KAAM,UACL4+F,EAAU,CACX,mBAAoBA,EAAQxgG,IAC1B,KAAM,CACR1b,IAAK0b,EACLA,GAAIA,EACJrL,IAAK,SAAaH,GAChB,OAAO8rG,EAAQ3uG,QAAQqO,GAAMxL,GAE/BmN,IAAKujB,EACLnyB,UAAWgtG,EACX9nB,YAAa,SAAqBxxE,GAChC,OAAOA,EAAIjQ,kBAEbb,QAAS,SAAiB8Q,GACxBq6F,EAAar6F,EAAK06F,EAAkB/1G,IAEtC,YAAa,SACXg2G,OAGJ/1F,EAAY60F,GACVc,EAAyB,EACtBrB,EAAYhkD,QAAO,SAAUgI,EAAK68C,GAqBvC,OApBIA,EAAQb,aAAea,EAAQb,YAAYl8G,SAC7CkgE,EAAI3/D,KAAK,YAAI,KAAM,CACjB4d,KAAM,eACNtd,IAAKk8G,EAAQxgG,GACb,YAAa,QACZ,YAAI,MAAO,CACZ2B,IAAKjB,EAAQ8I,QACbxJ,GAAIwgG,EAAQxgG,GACZ,cAAe,OACf,YAAa,QACZ,YAAI,IAAa,CAClB,YAAa,QACZwgG,EAAQ72F,QAAS,YAAI,KAAM,CAC5B/H,KAAM,UACND,IAAKjB,EAAQi+F,kBACb,kBAAmB6B,EAAQxgG,GAC3B,YAAa,QACZihG,EAAqBT,EAAQb,YAAaa,EAASQ,MACtDA,GAA0BR,EAAQb,YAAYl8G,QAEzCkgE,IACN,KACCs9C,EAAqBtB,GAC3B,OAAIY,EAAa98G,OACR,YAAI,KAAM,YAAS,CACxBme,KAAM,UACND,IAAKjB,EAAQk+F,eACb7rG,UAAWA,GACV+C,EAAM,CACP,YAAa,SACXuV,GAEC,MAEL,GAAc,CAAC,KAAM,QAAS,kBAAmB,mBAAoB,iBAAkB,yBAA0B,uBAAwB,WAAY,UAAW,YAAa,SAAU,UAAW,YAAa,mBAAoB,cAAe,uBAAwB,mCAAoC,gCAAiC,8BAA+B,+BAAgC,6BAA8B,yBAiB9Z,sBAAW,SAAUxiB,EAAO8L,GAC5C,IAd4CgrG,EAcxC0B,EAAYx4G,EAAMmX,GACpBA,OAAmB,IAAdqhG,EAAuB,UAAYA,EACxC54G,EAAQI,EAAMJ,MACd64G,EAAwBz4G,EAAM04G,gBAC9BA,OAA4C,IAA1BD,EArBC,IAqBqDA,EACxEE,EAAwB34G,EAAM44G,iBAC9BA,OAA6C,IAA1BD,EAAmC,WACpD,OAAOnqG,QAAQC,KAAK,gDAClBkqG,EACJE,EAAwB74G,EAAM+1G,eAC9BA,OAA2C,IAA1B8C,EAAmC,YAAIjC,GAAgB,CACtEE,YAAa,GACb,YAAa,SACV+B,EACLC,EAAyB94G,EAAM84G,uBAC/BC,EAAuB/4G,EAAM+4G,qBAC7B7N,EAAWlrG,EAAMkrG,SACjBn9E,EAAU/tB,EAAM+tB,QAChBzL,EAAYtiB,EAAMsiB,UAClB0L,EAAShuB,EAAMguB,OACfgrF,EAAUh5G,EAAMg5G,QAChB9uG,EAAYlK,EAAMkK,UAClB+uG,EAAwBj5G,EAAMk5G,iBAC9BA,OAA6C,IAA1BD,EAAmCnL,GAAYmL,EAElEE,GADqBn5G,EAAM82G,YACJ92G,EAAMm5G,sBAC7BC,EAAmCp5G,EAAMo5G,iCACzCC,EAAgCr5G,EAAMq5G,8BACtCC,EAA8Bt5G,EAAMs5G,4BACpCC,EAAyBv5G,EAAMw5G,6BAC/BA,OAA0D,IAA3BD,EAAoC,sBAAwBA,EAC3FE,EAA6Bz5G,EAAMy5G,2BACnCC,EAAwB15G,EAAM05G,sBAC9BzsG,EAAO,YAAyBjN,EAAO,IACrCiR,EAAS,cACT4G,EAAU,mBAAQ,WACpB,OAAO,GAAO5G,KACb,CAACA,IACA0oG,EAAW,mBACX5L,EAAc,mBACd6L,EAA6B,mBAC7Bn9F,EAAY,oBAAS,GACvBC,EAAa,YAAeD,EAAW,GACvCo9F,EAAwBn9F,EAAW,GACnCo9F,EAAwBp9F,EAAW,GACjCmF,EAAa,mBAAS,IACxBC,EAAa,YAAeD,EAAY,GACxCk4F,EAA0Bj4F,EAAW,GACrCk4F,EAA6Bl4F,EAAW,GACtCy2D,EAAa,oBAAS,GACxBC,EAAa,YAAeD,EAAY,GACxC0hC,GAAmBzhC,EAAW,GAC9B0hC,GAAkB1hC,EAAW,GAC3Bi0B,GAAW3gG,GAAOiiG,EAClBoM,IApEwCrD,EAoEUf,EAAe/1G,MAAM82G,aAAe,GAAIf,EAAe/1G,MAAMq3G,YAhE5GP,EAAYhkD,QAAO,SAAUgI,EAAK68C,GAIvC,OAHIA,EAAQb,cACVh8C,GAAO68C,EAAQb,YAAYl8G,QAEtBkgE,IACN,GAPMg8C,EAAYl8G,QAmEjBw/G,GAAqB,SAAUx8F,GACjC,IAAIy8F,EAAW5N,GAAS3jG,QACpB6sG,EAA0BiE,EAA2B9wG,QAGrD8U,EAAIxR,SAAWiuG,GAAY1E,GAA2BA,EAAwB53F,SAASH,EAAIxR,SAK/F0tG,GAAsB,IAExB,qBAAU,WACR,OAAO,WACDH,EAAS7wG,SACXmW,aAAa06F,EAAS7wG,YAGzB,IACH,qBAAU,WAIR,OAHI+wG,IAA0Bf,GAC5B78G,SAAS8jB,iBAAiB,QAASq6F,IAE9B,WACLn+G,SAASokB,oBAAoB,QAAS+5F,OAEvC,CAACP,EAAuBf,IAC3B,IAAIwB,GAA0B,SAAU18F,GAClC87F,GAAyBS,IAC3BT,EAAsB97F,IAGtB28F,GAAmB,GAAG91G,OAAO0S,EAAI,mBACjCylE,GAASu8B,EAAuB,YAAI,MAAO,CAC7CrgG,IAAKjB,EAAQ8I,QACbzW,UAAWmvG,EACX,YAAa,QACZF,GAAwB,KACvBqB,IAAkBzB,GAAwBoB,GAAoB,GAAK,YAAI,IAAMrnF,SAAU,KAAM,IAAMgyD,aAAaixB,EAAgB,CAClI5+F,GAAIojG,GACJ,kBAAmB,GAAG91G,OAAO0S,EAAI,UACjC6/F,YAAa,SAAyBp5F,EAAKq4F,EAAY0B,GACrDqC,EAA2BrC,EAAU,GAAGlzG,OAAOkzG,EAAQxgG,GAAI,KAAK1S,OAAOwxG,EAAW9+F,IAAM8+F,EAAW9+F,IAG/F4+F,EAAe/1G,MAAMg3G,aACvBjB,EAAe/1G,MAAMg3G,YAAYp5F,EAAKq4F,EAAY0B,IAGtDV,SAAU,SAAsBr5F,EAAKq4F,EAAY0B,GAE3C5B,EAAe/1G,MAAMi3G,UACvBlB,EAAe/1G,MAAMi3G,SAASr5F,EAAKq4F,EAAY0B,GAE5CmB,GACHgB,GAAsB,IAG1B1C,0BAA2B6C,KACzBr9B,IACA69B,GAAa1B,EAAuB,YAAI,MAAO,CACjDjgG,IAAKjB,EAAQg+F,gBACb,YAAa,QACZ,YAAI,KAAgB,CACrBn1F,iBAAkB84F,EAClBpgG,KAAM,KACN,YAAa,UACT,KACFshG,IAAWjB,GAA+BU,IAAsBpB,EAInC,KAJ0D,YAAI5D,GAAiB,CAC9Gr8F,IAAKjB,EAAQq+F,aACbn2G,KAAM,UACN,YAAa,QACZ05G,GACCkB,GAAgC7B,EAAyBjhG,EAAQ89F,wBAA0B99F,EAAQ+9F,gCACnGgF,GAAyBh7G,GAASi6G,IAA0BW,IAAkBC,IAAcC,IAAY,YAAI,MAAO,CACrH5hG,IAAK6hG,GACLzwG,UAAWkvG,EACXttG,IAAK8tG,EACL,YAAa,QACZY,GAAgBC,GAAYC,IAAY,KACvCG,GAA4BvB,GAA+B,GAAG70G,OAAO01G,GAAmB,0BACxFvO,GAAasN,IAAqBpL,GAAY,CAChDkL,QAAS,SAAqBp7F,GAC5B08F,GAAwB18F,GACpBo7F,GACFA,EAAQp7F,KAGV,GACJ,OAAO,YAAI,MAAO,CAChB9E,IAAKjB,EAAQnP,KACbwB,UAAWA,EACX,iBAAkB,sBACjB,YAAIgvG,EAAkB,YAAS,GAAIjsG,EAAM,CAC1CkK,GAAIA,EACJvX,MAAOA,EACPkM,IAAK2gG,GACLvB,SAAU,SAAsBttF,GAC9B,IAAIg2B,EAAWh2B,EAAIxR,OAAOxM,MACtB+5G,EAAS7wG,SACXmW,aAAa06F,EAAS7wG,SAIxB6wG,EAAS7wG,QAAU8P,YAAW,WAC5BggG,EAAiBhlE,KAChB8kE,GACHoB,GAAsB,GACtB5O,EAASttF,IAEXmQ,QAAS,SAAqBnQ,GACxBu8F,IACFL,GAAsB,GAExBlB,EAAiBh5G,GACjBs6G,IAAgB,GAGZnsF,GACFA,EAAQnQ,IAGZ0E,UAAW,SAAmB1E,GAE5B,IAAIW,EAAU,IAAI,IAAaX,EAAIniB,KAAOmiB,EAAIY,UAC1CD,EAAQM,QAAUN,EAAQK,UACvBk6F,GACHgB,GAAsB,GAIpBv7F,EAAQM,QAAUm6F,GACpBA,EAAQp7F,IAKR0E,GACFA,EAAU1E,IAGdoQ,OAAQ,SAAoBpQ,GAG1B08F,GAAwB18F,GACxBs8F,IAAgB,GAChBJ,GAAsB,GAGlB9rF,GACFA,EAAOpQ,IAGX,wBAAyBm8F,EACzB,oBAAqB,OACrBhhG,KAAM,WACN,gBAAiBohG,GAAoB,GAAKN,EAC1C,YAAaU,GACb,gBAAiB,WAChB3O,GAAY,CACb,YAAa,UACVgP,GAAwB,YAAI,IAAqB,CACpD7hG,KAAM,SACN,YAAa,QACZ8hG,QCsJL,IClpBI,GAAiB,GAAkB,GAAkB,GAAkB,GAAkB,GAAkB,GAAkB,GAAkB,GAAkB,G,aA+FrK,IAAI,GAAY,CAAC,YAAa,OAAQ,oBAAqB,cAAe,mBAAoB,YAC1FC,GAAQ,CACVr/D,KAAM,IACNoI,QAAS,IACTqxD,QAAS,IACTzyF,MAAO,KAELs4F,GAAQ,SAAUzyG,GACpB,IAAI0yG,EAAmBC,EAiBnBC,EAhBAhxG,EAAY5B,EAAK4B,UACnBkrG,EAAY9sG,EAAKvI,KACjBA,OAAqB,IAAdq1G,EAAuB,OAASA,EACvCC,EAAwB/sG,EAAKgtG,kBAC7BA,OAA8C,IAA1BD,EAAmCt1G,EAAOs1G,EAC9Dz3B,EAAct1E,EAAKs1E,YACnB1G,EAAwB5uE,EAAK6uE,iBAC7BA,OAA6C,IAA1BD,EAAmC,cAAgBA,EACtEj3E,EAAWqI,EAAKrI,SAChBgN,EAAO,YAAyB3E,EAAM,IACpC2I,EAAS,cACT4G,EAAU,mBAAQ,WACpB,OAnHJ,SAAgB5G,GAEd,IAAKlT,OAAOmT,KAAKD,GAAQrW,OAEvB,OADA4T,QAAQC,KAAK,qGACN,GAET,IAAIgD,EAAaR,EAAOQ,WACtBC,EAAaT,EAAOS,WACpBC,EAAaV,EAAOU,WACpBC,EAAaX,EAAOW,WACpBupG,EAAiBlqG,EAAOkqG,eACxBnlG,EAAgB/E,EAAO+E,cACvBo1B,EAAwBn6B,EAAOm6B,sBAC/Bv5B,EAA2BZ,EAAOY,yBAClCL,EAAoBP,EAAOO,kBAC3B4pG,EAAqBnqG,EAAOmqG,mBAC5BC,EAA2BpqG,EAAOoqG,yBAClCC,EAA2BrqG,EAAOqqG,yBAClCtjF,EAAyB/mB,EAAO+mB,uBAChCujF,EAAmBtqG,EAAOsqG,iBAC1BC,EAAuBvqG,EAAOuqG,qBAC9B17B,EAAsB7uE,EAAO6uE,oBAC7B2X,EAA0BxmF,EAAOwmF,wBACjCgkB,EAAsBxqG,EAAOwqG,oBAC7BC,EAA0BzqG,EAAOyqG,wBACjCxjF,EAAoBjnB,EAAOinB,kBAC3ByjF,EAAwB1qG,EAAO0qG,sBAE/BvpG,EADgB,YAAWnB,GACJoB,KACrBupG,EAA2B,YAAK,GAAGn3G,OAAOgN,EAAY,SACtDoqG,EAAoB,YAAK,IAAIp3G,OAAOm3G,EAA0B,OAAOn3G,OAAO02G,IAC5EW,EAAmB,YAAK,GAAGr3G,OAAOmN,EAAY,OAAOnN,OAAO2mC,EAAuB,OAAO3mC,OAAOkN,IACjGoqG,EAAkB,YAAK,GAAGt3G,OAAOmN,EAAY,OAAOnN,OAAOoN,IAC3DmqG,EAAqB,YAAK,GAAGv3G,OAAOmN,EAAY,OAAOnN,OAAOoN,IAC9DoqG,EAAgC,YAAK,GAAGx3G,OAAOmN,EAAY,OAAOnN,OAAOoN,IACzEqqG,EAAqB,YAAK,GAAGz3G,OAAOmN,EAAY,MAAMnN,OAAOoN,IAC7DsqG,EAA2B,YAAK,GAAG13G,OAAOiN,EAAY,OAAOjN,OAAOoN,IACpEuqG,EAA6B,YAAK,GAAG33G,OAAOiN,EAAY,OAAOjN,OAAOoN,IACtEwqG,EAA0B,YAAK,GAAG53G,OAAOmN,EAAY,MAAMnN,OAAOoN,IAClEnJ,EAAO,YAAI,KAAoB,GAAkB,YAAuB,CAAC,uEAAwE,IAAK,IAAK,WAAY,wBAAyB,mDAAoD,6DAA8D,iDAAkD,2BAA4B,8DAA+D,2BAA4BqzG,EAAiBF,EAAmBG,EAAoBF,EAAkBjqG,EAA0BL,EAAmBY,EAAS,CAC7lBgD,MAAOgmG,IACLS,EAAmBC,EAAkBI,GACrCzZ,EAAU,YAAI,KAAqB,GAAmB,YAAuB,CAAC,0FAA2F,0CAA2C,uBAAwB,qBAAsB,eAAgB,0FAA2F,kBAAmByZ,EAAoBb,EAA0BrlG,EAAeA,EAAeqmG,EAAyBH,GACreI,EAAW,YAAI,KAAqB,GAAmB,YAAuB,CAAC,8DAA+D,iBAAkB,iBAAkB,+CAAgD,6CAA8C,+DAAgE,gDAAiD,sCAAuCH,EAA0BC,EAA4BZ,EAAsBF,EAA0BtjF,EAAwBsjF,EAA0Bc,GAChkBG,EAAa,SAAUzpG,EAAiBsC,GAC1C,OAAO,YAAI,KAAqB,GAAmB,YAAuB,CAAC,kDAAmD,mBAAoB,aAActC,EAAiBsC,IAW/KonG,EAAgB,SAAUpnG,GAC5B,IAAIqnG,EAAa/pG,UAAU9X,OAAS,QAAsBS,IAAjBqX,UAAU,GAAmBA,UAAU,GAAK0oG,EACjFhxG,EAAQ,YAAI,KAAqB,GAAmB,YAAuB,CAAC,kBAAmB,sDAAuD,sBAAuBgL,EAAOqnG,GACxL,OAAOryG,GAWLsyG,EAAY,SAAUtnG,GACxB,OAAO,YAAI,KAAqB,GAAmB,YAAuB,CAAC,kBAAmB,aAAcA,IAa9G,MAAO,CACL1M,KAAMA,EACN+5F,QAASA,EACT6Z,SAAUA,EACVK,WALe,YAAI,KAAsB,GAAoB,YAAuB,CAAC,kDAAmD,+CAAgD,2BAA4B,kBAAmBV,EAA+BA,EAA+BH,GAMrSc,UA1Cc,SAAU78G,GACxB,IAAI88G,EAAW,CACbphE,KAAM8gE,EAAWhB,EAAkBC,GACnCtG,QAASqH,EAAWd,EAAqBC,GACzC73D,QAAS04D,EAAWz8B,EAAqB2X,GACzCh1E,MAAO85F,EAAWrkF,EAAmByjF,IAEvC,OAAO,YAAI,KAAqB,GAAmB,YAAuB,CAAC,kBAAmB,YAAa,aAAc57G,EAAM88G,EAAS98G,KAoCxI+8G,cA7BkB,SAAU/8G,GAC5B,IAAIg9G,EAAc,CAChBl5D,QAAS24D,EAAc/kB,GACvBh1E,MAAO+5F,EAAcb,GACrBzG,QAASsH,EAAcd,IAErBsB,EAAa,GAAGv4G,OAAO1E,EAAM,cACjC,OAAO,YAAI,KAAqB,GAAmB,YAAuB,CAAC,kBAAmB,YAAa,aAAci9G,EAAYD,EAAYh9G,KAuBjJk9G,UAlBc,SAAUl9G,GACxB,IAAIm9G,EAAU,CACZzhE,KAAMihE,EAAUlB,GAChBtG,QAASwH,EAAUhB,GACnB73D,QAAS64D,EAAUjlB,GACnBh1E,MAAOi6F,EAAUf,IAEfqB,EAAa,GAAGv4G,OAAO1E,EAAM,SACjC,OAAO,YAAI,KAAqB,GAAmB,YAAuB,CAAC,kBAAmB,YAAa,aAAci9G,EAAYE,EAAQn9G,MAkCtI,CAAOkR,KACb,CAACA,IACAksG,EAAkBrC,GAAM/6G,GACxBq9G,EAAc,CAACvlG,EAAQnP,KAAkD,QAA3CsyG,EAAoBnjG,EAAQ+kG,iBAA6C,IAAtB5B,OAA+B,EAASA,EAAkBr3G,KAAKkU,EAAS9X,IAAQ69E,GAAe/lE,EAAQ8kG,YAE5L,GAAI/+B,EAAa,CACf,IAAIy/B,EACAzR,EAAa,YAAS,GAAIhuB,GAC1B0/B,EAAsB,CAACzlG,EAAQykG,SAA8D,QAAnDe,EAAwBxlG,EAAQilG,qBAAqD,IAA1BO,OAAmC,EAASA,EAAsB15G,KAAKkU,EAAS9X,IACzLm7G,EAAat9B,GAAe,YAAI,OAAQ,CACtC,YAAa,QACZ,YAAI,KAAY,YAAS,CAC1B9kE,IAAKwkG,EACLpiC,WAAY,WACZ9hE,KAAM,KACN6hE,iBAAkB,KACjB2wB,EAAY,CACb,YAAa,SACXz0B,IAEN,IAAIomC,EAAiB,CAAC1lG,EAAQ4qF,QAAqD,QAA3CwY,EAAoBpjG,EAAQolG,iBAA6C,IAAtBhC,OAA+B,EAASA,EAAkBt3G,KAAKkU,EAAS9X,IACnK,OAAO,YAAI,MAAO,YAAS,CACzBgZ,KAAM,QACND,IAAKskG,EACLlzG,UAAWA,EACX,iBAAkB,gBACjB+C,GAAO,YAAIkwG,EAAiB,CAC7B/jG,KAAM,KACNN,IAAKykG,EACLxkG,KAAM,MACN,aAAcu8F,EACd,YAAa,SACXr1G,EAAUi7G,I,UCwHhB,IAiDIxnF,GAAmBC,GA4BvB,IC3VI,GAAiB,GAAkB,GAAkB,GAAkB,GAAkB,GAAkB,GAAkB,GAAkB,GAAkB,GAAmB,GD2VpL,GAAc,CAAC,YAAa,QAAS,WAAY,MAClC,sBAAW,SAAUrrB,EAAMwD,GAC5C,IAAI5B,EAAY5B,EAAK4B,UACnBszG,EAAal1G,EAAKomC,MAClBA,OAAuB,IAAf8uE,EAAwB,UAAYA,EAC5Cv9G,EAAWqI,EAAKrI,SAChBiZ,EAAK5Q,EAAK4Q,GACVjM,EAAO,YAAyB3E,EAAM,IACpC2I,EAAS,cAET4G,EAAU,mBAAQ,WACpB,OAtCJ,SAAkB5G,GAEhB,IAAKlT,OAAOmT,KAAKD,GAAQrW,OAGvB,OADA4T,QAAQC,KAAK,qGACN,GAET,IAAIkD,EAAaV,EAAOU,WACtBD,EAAaT,EAAOS,WACpBH,EAAoBN,EAAOM,kBAC3B63B,EAAiCn4B,EAAOm4B,+BAExC72B,EADgB,YAAWtB,GACLsB,QAGpBoD,EAFc,YAAW1E,GACDiB,YACOyD,iBAOnC,MAAO,CACLjN,KAPS,YAAIgrB,KAAsBA,GAAoB,YAAuB,CAAC,sJAAuJ,wBAAyB,iBAAkB,gFAAiF,wKAAyK,6EAA8E,2HAA4H/hB,EAAY,UAAW,OAAQY,EAAQ,CAC5vB6C,MAAOg0B,IACL,eAAgBzzB,EAAiB,CACnCD,OAAQnE,KAKRm9B,MAHU,YAAI/a,KAAuBA,GAAqB,YAAuB,CAAC,4EAA6E,IAAK,MAAO,iJAAkJjiB,EAAYA,EAAYA,IAiB9U+rG,CAASxsG,KACf,CAACA,IAEAysG,EAAS,IAAM54B,aAAa7kF,EAAU,CACxCmZ,KAAM,KACN,cAAe,SAEjB,OAAO,YAAIF,GAAM,SAAU,YAAS,CAClCH,KAAM,SACND,IAAKjB,EAAQnP,KACbwB,UAAWA,EACX8O,SAAU,EACVlN,IAAKA,GACJmB,EAAM,CACP,YAAa,SACXywG,EAAQ,YAAI,OAAQ,CACtB5kG,IAAKjB,EAAQ62B,MACb,YAAa,QACZA,OC7SL,IAAI,GAAY,CAAC,OAAQ,SAAU,YAAa,WAAY,gBAAiB,YAE7E,SAASivE,KACP,IAAI1sG,EAAS,cAIb,OAHc,mBAAQ,WACpB,OA/EJ,SAAgBA,GAEd,IAAKlT,OAAOmT,KAAKD,GAAQrW,OAEvB,OADA4T,QAAQC,KAAK,qGACN,GAET,IAAIgD,EAAaR,EAAOQ,WACtBC,EAAaT,EAAOS,WACpB6jG,EAAgBtkG,EAAOskG,cACvB7P,EAAez0F,EAAOy0F,aACtBkY,EAAoB3sG,EAAO2sG,kBAC3BxlF,EAA6BnnB,EAAOmnB,2BACpCvmB,EAA2BZ,EAAOY,yBAClCm7C,EAAkB/7C,EAAO+7C,gBACzB90B,EAAoBjnB,EAAOinB,kBAC3ByjF,EAAwB1qG,EAAO0qG,sBAC/BF,EAAsBxqG,EAAOwqG,oBAC7BC,EAA0BzqG,EAAOyqG,wBACjC57B,EAAsB7uE,EAAO6uE,oBAC7B2X,EAA0BxmF,EAAOwmF,wBACjC8jB,EAAmBtqG,EAAOsqG,iBAC1BC,EAAuBvqG,EAAOuqG,qBAC9BqC,EAAwB5sG,EAAO4sG,sBAC/BC,EAA4B7sG,EAAO6sG,0BACnCC,EAAyB9sG,EAAO8sG,uBAChC5sG,EAA4BF,EAAOE,0BACnC6sG,EAAqB/sG,EAAO+sG,mBAE5B1rG,EADgB,YAAWrB,GACDsB,QAE1BipB,EADgB,YAAWvqB,GACAuqB,aAGzB9yB,EAAO,YAAI,KAAoB,GAAkB,YAAuB,CAAC,iCAAkC,oBAAqB,sNAAuN,IAAK,yBAA0B,iEAAkE4J,IAAe,QAASozF,EAAch0F,EAAYksG,GAC1eK,EAAa,SAAUnrG,EAAiBsC,GAC1C,OAAO,YAAI,KAAqB,GAAmB,YAAuB,CAAC,kBAAmB,8BAA+B,aAAcA,EAAOtC,IAEhJorG,EAAY,SAAU9oG,GACxB,OAAO,YAAI,KAAqB,GAAmB,YAAuB,CAAC,kBAAmB,mBAAoB,oBAAqB,qBAAsB,8BAA+B,oBAAqB,UAAW,wCAAyCA,EAAO43C,EAAiBA,EAAiBn7C,EAA0BksG,EAAwB3lF,EAA4BjnB,IAa1XoD,EAAc,YAAK,GAAG9P,OAAOiN,EAAY,OAAOjN,OAAO8wG,EAAe,OAAO9wG,OAAOihG,IACpFqF,EAAW,YAAI,KAAqB,GAAmB,YAAuB,CAAC,+EAAgF,WAAYx2F,GAE3K4pG,EAAsB,YAAK,GAAG15G,OAAOihG,EAAc,OAAOjhG,OAAOoN,IAOrE,MAAO,CACLnJ,KAAMA,EACN01G,UAvBc,WACd,IAAIr+G,EAAO2S,UAAU9X,OAAS,QAAsBS,IAAjBqX,UAAU,GAAmBA,UAAU,GAAK,UAC3EmqG,EAAW,CACbn0B,QAASu1B,EAAWJ,EAAuBC,GAC3Cj6D,QAASo6D,EAAWn+B,EAAqB2X,GACzCyd,QAAS+I,EAAWxC,EAAqBC,GACzC2C,SAAUJ,EAAW/lF,EAAmByjF,GACxC2C,QAASL,EAAW1C,EAAkBC,IAExC,OAAO,YAAI,KAAqB,GAAmB,YAAuB,CAAC,kBAAmB,YAAa,aAAcz7G,EAAM88G,EAAS98G,KAexIgrG,SAAUA,EACV1qB,KAVS,YAAI,KAAqB,GAAmB,YAAuB,CAAC,iEAAkE,wBAAyB,gBAAiB89B,EAAqBzsG,GAW9M8pB,aAAcA,EACd+iF,WAXe,YAAI,KAAqB,GAAmB,YAAuB,CAAC,iCAAkC,WAAYL,EAAUp+B,IAY3I0+B,WAXe,YAAI,KAAqB,GAAmB,YAAuB,CAAC,kCAAmC,WAAYN,EAAUF,IAY5IS,OAXW,YAAI,KAAqB,GAAmB,YAAuB,CAAC,8BAA+B,WAAYP,EAAUhmF,IAYpIwmF,SAXa,YAAI,KAAsB,GAAoB,YAAuB,CAAC,+BAAgC,WAAYR,EAAUL,IAYzIc,QAXY,YAAI,KAAsB,GAAoB,YAAuB,CAAC,qCAAsC,4BAA6B,qBAAsB,kBAAmB,qBAAsB,kBAAmB,UAAW,yBAA0B,2FAA4FhD,EAAuBzjF,EAAmBzmB,EAAYu7C,EAAiBA,EAAiB50B,EAA4BjnB,EAA2B,YAAK,GAAG1M,OAAOuoD,EAAiB,SAmBhhB,CAAO/7C,KACb,CAACA,IAGN,IClFI,GAAiB,GAAkB,GAAkB,GAAkB,GAAkB,GAAkB,GAAkB,GDkF7HgyE,GAAQ,SAAU36E,GACpB,IAAIs2G,EACA7+G,EAAOuI,EAAKvI,KAEdmK,GADS5B,EAAKklE,OACFllE,EAAK4B,WACjB6gG,EAAWziG,EAAKyiG,SAChB8T,EAAgBv2G,EAAKu2G,cACrB5+G,EAAWqI,EAAKrI,SAChBgN,EAAO,YAAyB3E,EAAM,IACpCuP,EAAU8lG,KACVmB,EAAc,CAACjnG,EAAQnP,KAAkD,QAA3Ck2G,EAAoB/mG,EAAQumG,iBAA6C,IAAtBQ,OAA+B,EAASA,EAAkBj7G,KAAKkU,EAAS9X,IAAQgrG,GAAY8T,IAAkBhnG,EAAQkzF,UAEvM/uB,EAAY,CACd,eAAe,GAEb+iC,GAAahU,GAAY8T,IAAkB,YAAI,OAAQ,CACzD/lG,IAAKjB,EAAQwoE,KACb,YAAa,QACZ,aAAI,WAEL,MAAa,aAATtgF,EACK,YAAI,IAAc,YAAS,CAChCqZ,KAAM,MACL4iE,EAAW,CACZ,YAAa,UAGV,YAAI+uB,EAAU,YAAS,CAC5B3xF,KAAM,MACL4iE,EAAW,CACZ,YAAa,YAEd,CACD,YAAa,SACX,YAAI,OAAQ,CACdljE,IAAKjB,EAAQ2jB,aACb,YAAa,QACZqjF,IAEH,OAAO,YAAI,OAAQ,YAAS,CAC1B/lG,IAAKgmG,EACL50G,UAAWA,EACX,iBAAkB,gBACjB+C,GAAO8xG,EAAW9+G,ICnBvB,IAAI,GAAY,CAAC,KAAM,YAAa,iBAAkB,oBAAqB,QAAS,OAAQ,gBAAiB,UAAW,OAAQ,YAAa,UAAW,YACxJ,SAAS,GAAQmJ,EAAQimB,GACvB,IAAIne,EAAOnT,OAAOmT,KAAK9H,GACvB,GAAIrL,OAAOmqB,sBAAuB,CAChC,IAAIoH,EAAUvxB,OAAOmqB,sBAAsB9e,GAC3CimB,IAAmBC,EAAUA,EAAQ1pB,QAAO,SAAU2pB,GACpD,OAAOxxB,OAAOunB,yBAAyBlc,EAAQmmB,GAAK7J,eACjDxU,EAAK/V,KAAKgqB,MAAMjU,EAAMoe,GAE7B,OAAOpe,EAET,SAAS,GAAc9E,GACrB,IAAK,IAAI5P,EAAI,EAAGA,EAAIkW,UAAU9X,OAAQ4B,IAAK,CACzC,IAAI2yB,EAAS,MAAQzc,UAAUlW,GAAKkW,UAAUlW,GAAK,GACnDA,EAAI,EAAI,GAAQuB,OAAOoxB,IAAS,GAAIrzB,SAAQ,SAAUL,GACpD,YAAgB2Q,EAAQ3Q,EAAK0zB,EAAO1zB,OACjCsC,OAAO+yB,0BAA4B/yB,OAAOgzB,iBAAiB3kB,EAAQrO,OAAO+yB,0BAA0B3B,IAAW,GAAQpxB,OAAOoxB,IAASrzB,SAAQ,SAAUL,GAC5JsC,OAAOooB,eAAe/Z,EAAQ3Q,EAAKsC,OAAOunB,yBAAyB6J,EAAQ1zB,OAG/E,OAAO2Q,EAET,ICpII,GAAiB,GAAkB,GAAkB,GAAkB,GAAkB,GDoIzF4yG,GAAS,SAAU12G,GACrB,IAAI22G,EAAmBC,EAAsBC,EAAuBC,EAChE99F,EAAUhZ,EAAK6O,GACjBA,OAAiB,IAAZmK,EAAqB,YAAS,WAAaA,EAChDpX,EAAY5B,EAAK4B,UACjBm1G,EAAiB/2G,EAAK+2G,eACtBC,EAAoBh3G,EAAKg3G,kBACzBC,EAAaj3G,EAAKwY,MAClBA,OAAuB,IAAfy+F,EAAwB,UAAYA,EAC5CnK,EAAY9sG,EAAKvI,KACjBA,OAAqB,IAAdq1G,EAAuB,WAAaA,EAC3CoK,EAAgBl3G,EAAKk3G,cACrBC,EAAUn3G,EAAKm3G,QACf1xG,EAAOzF,EAAKyF,KACZo0F,EAAY75F,EAAK65F,UACjBr1F,EAAUxE,EAAKwE,QAEfG,GADW3E,EAAKrI,SACT,YAAyBqI,EAAM,KACpC2I,EAAS,cACT4G,EAAU,mBAAQ,WACpB,OAnJJ,SAAgB5G,GAEd,IAAKlT,OAAOmT,KAAKD,GAAQrW,OAEvB,OADA4T,QAAQC,KAAK,qGACN,GAET,IAAIoD,EAA2BZ,EAAOY,yBACpC6zF,EAAez0F,EAAOy0F,aACtBh0F,EAAaT,EAAOS,WACpBwmB,EAAoBjnB,EAAOinB,kBAC3ByjF,EAAwB1qG,EAAO0qG,sBAC/B+D,EAA0BzuG,EAAOyuG,wBACjCjE,EAAsBxqG,EAAOwqG,oBAC7BkE,EAA4B1uG,EAAO0uG,0BACnCjE,EAA0BzqG,EAAOyqG,wBACjCmC,EAAwB5sG,EAAO4sG,sBAC/B+B,EAA8B3uG,EAAO2uG,4BACrC9B,EAA4B7sG,EAAO6sG,0BACnChsG,EAAiCb,EAAOa,+BACxCF,EAAaX,EAAOW,WACpB60D,EAAgBx1D,EAAOw1D,cACvB90D,EAAaV,EAAOU,WAEpBO,EADgB,YAAWjB,GACDiB,YACxBC,EAAc,YAAWlB,GAC3BmB,EAAWD,EAAYE,KACvBwtG,EAAY1tG,EAAY2O,MACtBnL,EAAmBzD,EAAYyD,iBAQ/BmqG,EAAc,SAAU//G,GAC1B,IAAIggH,EAAUlC,EACVhpG,EAAgB+qG,EAChBI,EAAYlC,EAUhB,MATa,aAAT/9G,GACFggH,EAAU7nF,EACVrjB,EAAgB6qG,EAChBM,EAAYrE,GACM,YAAT57G,IACTggH,EAAUtE,EACV5mG,EAAgB8qG,EAChBK,EAAYtE,GAEP,CACLqE,QAASA,EACTlrG,cAAeA,EACfmrG,UAAWA,IA2Cf,MAAO,CACLC,UAlCc,SAAUlgH,GACxB,IAAImgH,EAAeJ,EAAY//G,GAC7BggH,EAAUG,EAAaH,QACvBlrG,EAAgBqrG,EAAarrG,cAC/B,OAAO,YAAI,KAAoB,GAAkB,YAAuB,CAAC,kBAAmB,8BAA+B,kDAAmD,sBAAuB9U,EAAMggH,EAASlrG,IA+BpNsrG,aAtBiB,SAAUpgH,GAC3B,IACEigH,EADkBF,EAAY//G,GACJigH,UACxBtxE,EAAQ,QAAQjqC,OAAO1E,GAC3B,OAAO,YAAI,KAAqB,GAAmB,YAAuB,CAAC,kBAAmB,mBAAoB,aAAc2uC,EAAOsxE,IAmBvIt3G,KAhBS,YAAI,KAAqB,GAAmB,YAAuB,CAAC,wEAAyE,IAAK,wBAAyB,qIAAsI,gEAAiE,0BAA2BiJ,EAAYC,EAAYC,EAA0BA,EAA0B8D,EAAiB,CACnfH,iBAAkB1D,EAClB8D,eAAgB9D,KAehBqwF,UAbc,SAAUpiG,GACxB,IACEggH,EADkBD,EAAY//G,GACNggH,QAC1B,OAAO,YAAI,KAAqB,GAAmB,YAAuB,CAAC,gKAAiK,uEAAwEA,IAWpTj/F,MATU,YAAI,KAAqB,GAAmB,YAAuB,CAAC,mCAAoC,oJAAqJ++F,KAUvQO,aATiB,YAAI,KAAqB,GAAmB,YAAuB,CAAC,8CAA+C,sBAAuB,8CAA+C,0CAA2C1uG,EAAYg0F,EAAch0F,GAU/Q2uG,cATkB,YAAI,KAAqB,GAAmB,YAAuB,CAAC,2FAA4F,yFAA0F3a,GAU5Q+Z,QATY,YAAI,KAAqB,GAAmB,YAAuB,CAAC,8BAA+B,wCAAyC,gHAAiHrtG,IAAYq0D,IAsD9Q,CAAOx1D,KACb,CAACA,IACAqvG,EAAe,CAACzoG,EAAQnP,KAAM3I,IAAqD,QAA3Ck/G,EAAoBpnG,EAAQooG,iBAA6C,IAAtBhB,OAA+B,EAASA,EAAkBt7G,KAAKkU,EAAS9X,KACnKwgH,EAAc,CAAC1oG,EAAQiJ,MAAO/gB,IAA2D,QAAjDm/G,EAAuBrnG,EAAQsoG,oBAAmD,IAAzBjB,OAAkC,EAASA,EAAqBv7G,KAAKkU,EAAS9X,KAC/KygH,EAAgB,CAAC3oG,EAAQ4nG,QAAS1/G,IAA4D,QAAlDo/G,EAAwBtnG,EAAQsoG,oBAAoD,IAA1BhB,OAAmC,EAASA,EAAsBx7G,KAAKkU,EAAS9X,KACtL0gH,EAAiBhB,GAAW,YAAI,MAAO,CACzC3mG,IAAK0nG,EACLt2G,UAAWo1G,EACX,YAAa,QACZ,IAAKG,GACJiB,EAAW,iBAAO,MAClBjkG,EAAY,oBAAS,GACvBC,EAAa,YAAeD,EAAW,GACvChB,EAAMiB,EAAW,GACjBikG,EAASjkG,EAAW,GACtB,qBAAU,WACR,IAAIkkG,EAAWF,EAAS53G,QACpBqwD,EAAgB7uD,OAAOk2B,iBAAiBogF,GAC5CD,EAAOxnD,GAA6C,QAA5BA,EAAc74C,aACrC,IACH,IAAIo1F,EAAa,CACf2I,SAAU,IACVnJ,QAAS,IACT2L,UAAWrB,GAAiB,KAC5Bz/G,GAGE+gH,EAAYrlG,EAAM,IAAgB,IAClCslG,EAAgB,YAAI,KAAK,CAC3B,YAAa,QACZ,YAAI,KAAK,CACVjuE,GAAI,GACJ,YAAa,QACZ,YAAI,MAAO,CACZh6B,IAAKynG,EACLr2G,UAAWm1G,EACXvzG,IAAK40G,EACL,YAAa,QACZ,YAAIhL,EAAY,CACjB58F,IAAKjB,EAAQuoG,aACbhnG,KAAM,KACN,YAAa,SACX0H,EAAO,YAAIggG,EAAW,CACxBhoG,IAAKjB,EAAQwoG,cACbjnG,KAAM,KACN,YAAa,UACVqnG,IACDO,EAAc,CAChB92G,UAAWA,EACX4O,IAAKwnG,EACL,iBAAkB,IAEhBW,EAAqB,GAAc,CACrC9pG,GAAIA,EACJ6B,SAAU,EACVD,KAAM,SACNjM,QAASA,EACTwV,UAAW,SAAoBD,GAE7B,IAAI9D,EAAU,IAAI,IAAa8D,EAAM5mB,KAAO4mB,EAAM7D,UAC9CD,EAAQI,UAAYJ,EAAQ2iG,eAC9B7+F,EAAM1U,iBACNb,EAAQuV,MAGX2+F,GACCjzG,IACFkzG,EAAqB,GAAc,CACjC/nG,GAAI,IACJnL,KAAMA,GACLizG,IAEL,IAAI7jC,EAAe,YAAI,KAAW,YAAS,GAAI8jC,EAAoBh0G,EAAM,CACvE,YAAa,SACX8zG,GACJ,OAAO5e,EAAY,YAAI,MAAO,CAC5BrpF,IAAiD,QAA3CsmG,EAAoBvnG,EAAQsqF,iBAA6C,IAAtBid,OAA+B,EAASA,EAAkBz7G,KAAKkU,EAAS9X,GACjI,YAAa,QACZo9E,GAAgBA,G,aCxJrB,IC1EI,GAAiB,GAAkB,GAAkB,GAAkB,GAAkB,GAAkB,GAAkB,GAAkB,GAAkB,GAAmB,GAAmB,GAAmB,GAAmB,GAAmB,GAAmB,GAAmB,GAAmB,GAAmB,GAAmB,GAAmB,GAAmB,GAAmB,GAAmB,GAAmB,GAAmB,GAAmB,GAAmB,GAAmB,GAAmB,GAAmB,GAAmB,GD0EnkB,GAAY,CAAC,UAAW,YAAa,OAAQ,aAAc,YAAa,WAAY,WAAY,KAAM,aACtGhwE,GAAO,sBAAW,SAAU7E,EAAMwD,GACpC,IAAIq1G,EACAzsF,EAAUpsB,EAAKosB,QACjBurD,EAAY33E,EAAK23E,UACjB7mE,EAAO9Q,EAAK8Q,KACZgoG,EAAa94G,EAAK84G,WAClBl3G,EAAY5B,EAAK4B,UACjB6gG,EAAWziG,EAAKyiG,SAChB9qG,EAAWqI,EAAKrI,SAChB87B,EAAUzzB,EAAK4Q,GACfA,OAAiB,IAAZ6iB,EAAqB,IAAMA,EAChCyW,EAAYlqC,EAAKkqC,UACjBvlC,EAAO,YAAyB3E,EAAM,IACpC6gC,EAAc,IAAMte,WAAW,KAC/B5Z,EAAS,cAET4G,EAAU,mBAAQ,WACpB,OA/FJ,SAAgB5G,EAAQk4B,GAEtB,IAAKprC,OAAOmT,KAAKD,GAAQrW,OAEvB,OADA4T,QAAQC,KAAK,qGACN,GAET,IAAI8C,EAAoBN,EAAOM,kBAC7B8vG,EAAkBpwG,EAAOowG,gBACzBC,EAAuBrwG,EAAOqwG,qBAC9BC,EAAwBtwG,EAAOswG,sBAC/BC,EAAuBvwG,EAAOuwG,qBAC9BC,EAA6BxwG,EAAOwwG,2BACpCC,EAA4BzwG,EAAOywG,0BACnCC,EAAmB1wG,EAAO0wG,iBAC1BC,EAAyB3wG,EAAO2wG,uBAChCC,EAAwB5wG,EAAO4wG,sBAC/B5pF,EAAgChnB,EAAOgnB,8BACvCuuC,EAAav1D,EAAOu1D,WACpBs7C,EAAoB7wG,EAAO6wG,kBACzB9vG,EAAc,YAAWf,GAC3BiB,EAAcF,EAAYE,YAC1BmoB,EAAgBroB,EAAYqoB,cAC1BloB,EAAc,YAAWlB,GAC3Bi+B,EAAa/8B,EAAY+8B,WACzBK,EAAgBp9B,EAAYo9B,cAC1BzV,EAAc5nB,EAAY4nB,YAC1BioF,EAAuB,WACzB,OAAOjoF,EAAY,CACjBpkB,OAAQnE,EACR0oB,WAAY0nF,EACZxnF,WAAYlC,KAsChB,MAAO,CACLvvB,KApCS,YAAI,KAAoB,GAAkB,YAAuB,CAAC,6DAA8D,iCAAkC,YAAa,2IAA4I,8BAA+B,2BAA4B,4CAA6C,8BAA+B,2BAA4B,kBAAmBwmC,EAAW,CACrgB95B,MAAO,YAAc+zB,EAAaw4E,EAAkB,cAClD,YAAcx4E,EAAaw4E,EAAkB,YAAaI,IAAwB,YAAc54E,EAAa04E,EAAuB,YAAa,YAAc14E,EAAa,KAAM,SAAU24E,EAAmB,YAAc34E,EAAay4E,EAAwB,YAAa,YAAcz4E,EAAa,KAAM,UAAW24E,GAmC7T7hC,UAlCc,YAAI,KAAqB,GAAmB,YAAuB,CAAC,iEAAkE,oCAAqC,uFAAwF,qDAAsD/wC,EAAW,CAClV95B,MAAO,YAAc+zB,EAAak4E,EAAiB,cACjD,YAAcl4E,EAAao4E,EAAuB,YAAa,YAAcp4E,EAAam4E,EAAsB,aAiClHtvE,QAhCY,YAAI,KAAqB,GAAmB,YAAuB,CAAC,8BAA+B,UAAW3X,EAAcl1B,SAAS,CACjJ0vB,OAAQ2xC,KAgCR9xC,QA9BY,YAAI,KAAqB,GAAmB,YAAuB,CAAC,qCAAsC,qFAAsF,oCAAqC,0CAA2C,4CAA6C,qDAAsD,YAAcyU,EAAaq4E,EAAsB,YAAa,YAAcr4E,EAAaq4E,EAAsB,YAAaO,IAAwB,YAAc54E,EAAau4E,EAA2B,YAAa,YAAcv4E,EAAas4E,EAA4B,aA+B7oB1W,SA9Ba,YAAI,KAAqB,GAAmB,YAAuB,CAAC,yMA+BjFiX,iBAvBqB,WACrB,IAAIC,EAAqBvvG,UAAU9X,OAAS,QAAsBS,IAAjBqX,UAAU,IAAmBA,UAAU,GACpFwvG,EAAmBxvG,UAAU9X,OAAS,QAAsBS,IAAjBqX,UAAU,IAAmBA,UAAU,GAClF0C,EAAQ,YAAc+zB,EAAaw4E,EAAkB,YACrDQ,EAAc,kBASlB,OARID,IACFC,EAAc,kBACd/sG,EAAQ,YAAc+zB,EAAaq4E,EAAsB,aAEvDS,IACFE,EAAc,oBACd/sG,EAAQ,YAAc+zB,EAAak4E,EAAiB,aAE/C,YAAI,KAAqB,GAAmB,YAAuB,CAAC,kBAAmB,YAAa,YAAac,EAAa5yE,EAAc,CACjJn6B,MAAOA,OA8BF,CAAOnE,EAAQk4B,KACrB,CAACl4B,EAAQk4B,IACZ,GAAIqJ,EACF,OAAO,YAAI,IAAS,YAAS,CAC3B15B,IAAKjB,EAAQm6B,QACb9nC,UAAWA,EACXkyB,kBAAkB,EAClBF,UAAWxH,GACVznB,EAAM,CACP,YAAa,SACXhN,GAEK,MAAPiZ,GAA8B,WAAhBjM,EAAKb,SAChBa,EAAKkuC,KAGH,cAAcjV,KAAKj5B,EAAKkuC,OAC3BluC,EAAKkuC,IAAM,GAAG12C,OAAOwI,EAAKkuC,IAAK,gBAE5B,YAAYjV,KAAKj5B,EAAKkuC,OACzBluC,EAAKkuC,IAAM,GAAG12C,OAAOwI,EAAKkuC,IAAK,eANjCluC,EAAKkuC,IAAM,uBAUf,IAAIinE,EAAkB,YAAI,OAAQ,CAChCtpG,IAAKjB,EAAQkzF,SACb,YAAa,QACZA,GACCsX,EAAoBjB,GAAcnhC,EAClCqiC,EAAa,CAACzqG,EAAQnP,KAAMgsB,GAAW7c,EAAQ6c,QAAS2tF,GAAqBxqG,EAAQooE,UAAoB,OAAT7mE,IAAyE,QAAtD+nG,EAAwBtpG,EAAQmqG,wBAAwD,IAA1Bb,OAAmC,EAASA,EAAsBx9G,KAAKkU,EAASwqG,EAAmB3tF,KACxR,OAAO,YAAIxb,EAAI,YAAS,CACtBJ,IAAKwpG,EACLp4G,UAAWA,EACX4B,IAAKA,EACL,iBAAkB,eACjBmB,GAAO89F,GAAYqX,EAAiBniH,MC9HzC,SAAS,GAAOgR,GACd,IACEuqB,EADgB,YAAWvqB,GACAuqB,aAG7B,IAAKz9B,OAAOmT,KAAKD,GAAQrW,OAGvB,OADA4T,QAAQC,KAAK,qGACN,GAET,IAAI8C,EAAoBN,EAAOM,kBAC7BM,EAA2BZ,EAAOY,yBAClCm7C,EAAkB/7C,EAAO+7C,gBACzB77C,EAA4BF,EAAOE,0BACnCmqG,EAA2BrqG,EAAOqqG,yBAClCljF,EAA6BnnB,EAAOmnB,2BACpCutE,EAAsC10F,EAAO00F,oCAC7C4c,EAAuBtxG,EAAOsxG,qBAC9BrqF,EAAoBjnB,EAAOinB,kBAC3B4nD,EAAsB7uE,EAAO6uE,oBAC7BxuE,EAAmCL,EAAOK,iCAC1CG,EAAaR,EAAOQ,WACpBE,EAAaV,EAAOU,WACpB+zF,EAAez0F,EAAOy0F,aACtB6P,EAAgBtkG,EAAOskG,cACvBxiC,EAAgB9hE,EAAO8hE,cACvBrhE,EAAaT,EAAOS,WACpBowG,EAAoB7wG,EAAO6wG,kBAC3Bt7C,EAAav1D,EAAOu1D,WAClBg8C,EAA0B,YAAK,GAAG/9G,OAAOuoD,EAAiB,OAAOvoD,OAAOkN,EAAY,OAAOlN,OAAOihG,IAElGvzF,EAAc,YAAWlB,GAC3BmB,EAAWD,EAAYE,KACvBC,EAAcH,EAAYI,QAE1BL,EADiB,YAAWjB,GACDiB,YACzBymB,EAAazmB,EAAYymB,WAC3BD,EAAkCxmB,EAAYwmB,gCAC9CL,EAA6BnmB,EAAYmmB,2BACzCC,EAA6BpmB,EAAYomB,2BACzCG,EAAkCvmB,EAAYumB,gCAK5CgqF,EAAe,YAAI,KAAqB,GAAmB,YAAuB,CAAC,8GAEnFC,EAAgB,YAAI,KAAqB,GAAmB,YAAuB,CAAC,oKAEpFC,EAAY,YAAI,KAAqB,GAAmB,YAAuB,CAAC,0CAA2C,aAAchxG,GAEzIixG,EAAgB,YAAI,KAAqB,GAAmB,YAAuB,CAAC,sIAAuI,UAAW,yKAA0KJ,EAAyBpwG,KACzaywG,EAAa,YAAI,KAAqB,GAAmB,YAAuB,CAAC,kCAAmC,sBAAuB,2BAA4B,mCAAoCzwG,EAAS,CACtNgD,MAAO9D,IACLK,EAAYF,GAEZqxG,EAAY,YAAI,KAAqB,GAAmB,YAAuB,CAAC,2FAA4F,WAAYnxG,GAKxLoxG,EAAY,YAAI,KAAqB,GAAmB,YAAuB,CAAC,gEAAiE,WAAYxN,GAC7JyN,EAAc,YAAI,KAAsB,GAAoB,YAAuB,CAAC,2CAA4C,iBAAkB,4BAA6B,yBAA0B,WAAYtd,EAAc,WAAY4V,EAA0BwG,GACzQmB,EAAgB,YAAI,KAAsB,GAAoB,YAAuB,CAAC,4JAA6J,0IAA2I,8DAA+D,2BArBxb,YAAI,KAAoB,GAAkB,YAAuB,CAAC,yBAA0B,8BAA+B,mBAAoB,2BAA4B,aAAcV,EAAsBA,EAAsBjH,EAA0B/pG,GAqB2OonB,EAAW,CAC5fjjB,OAAQnE,EACR0O,MAAO+sC,EACPn4B,OAAQm4B,EACRz0C,IAAK,IAAI9T,OAAOoN,GAChBmnB,KAAM,IAAIv0B,OAAOoN,GACjBgnB,OAAQ,GAAGp0B,OAAO2zB,EAA4B,WAAW3zB,OAAO4zB,KAC9DxmB,GAEAqxG,EAAqB,YAAI,KAAsB,GAAoB,YAAuB,CAAC,iGAAkG,0BAA2B,4EAA6E,+DAAgE,2BAA4B9qF,EAA4BF,EAAmBS,EAAW,CAC7bjjB,OAAQnE,EACR0O,MAAO+sC,EACPn4B,OAAQm4B,EACRn0B,OAAQ,GAAGp0B,OAAO6zB,EAA4B,0BAA0B7zB,OAAOg0B,GAC/EW,eAAgBV,EAChBngB,IAAK,IAAI9T,OAAO2zB,GAChBY,KAAM,IAAIv0B,OAAO2zB,KACfA,GACA+qF,EAA0B,YAAI,KAAsB,GAAoB,YAAuB,CAAC,mDAAoD,wBAAyB,uBAAwB,WAAY/qF,EAA4BF,EAAmB,KAChQkrF,EAAsB,YAAI,KAAsB,GAAoB,YAAuB,CAAC,iCAAkC,wEAAyE9wG,EAAY,CACrN8C,MAAO9D,KAELg2F,EAAY,YAAI,KAAsB,GAAoB,YAAuB,CAAC,wCAAyC,6BAA8B,WAAYpvE,EAAmBzmB,GACxL81F,EAAc,YAAI,KAAsB,GAAoB,YAAuB,CAAC,0CAA2C,6BAA8B,WAAYznB,EAAqBruE,GAC9L4xG,EAAa,YAAI,KAAsB,GAAoB,YAAuB,CAAC,yBAA0B,WAAY1xG,GACzH2xG,EAAS,YAAI,KAAsB,GAAoB,YAAuB,CAAC,kCAAmC,iBAAkB,eAAgBhxG,EAAY,CAClK8C,MAAO9D,IACLG,GACA8xG,EAAc,YAAI,KAAsB,GAAoB,YAAuB,CAAC,0DACpFC,EAAgB,YAAI,KAAsB,GAAoB,YAAuB,CAAC,+FAAgG,2BAA4B,UAClNC,GAAgB,YAAI,KAAsB,GAAoB,YAAuB,CAAC,iGAAkG,6DAA8D/xG,GACtPgyG,GAA0B,YAAI,KAAsB,GAAoB,YAAuB,CAAC,kDAAmD,kBAAmB,WAAY3wC,EAAeA,GACjM4wC,GAAW,YAAI,KAAsB,GAAoB,YAAuB,CAAC,4GACjFC,GAAoB,YAAI,KAAsB,GAAoB,YAAuB,CAAC,4EAA6E,qCAAsC,WAAYnyG,EAAYa,EAAY,CACnP8C,MAAO9D,KAELuyG,GAAuB,YAAI,KAAsB,GAAoB,YAAuB,CAAC,wDAAyD,aAAcnyG,GACpKoyG,GAAoB,YAAI,KAAsB,GAAoB,YAAuB,CAAC,yDAA0D,oEAAqEnyG,GACzNoyG,GAAmB,YAAI,KAAsB,GAAoB,YAAuB,CAAC,yCAA0C,WAAYzxG,EAAY,CAC7J8C,MAAO9D,KAEL0yG,GAAoC,YAAI,KAAsB,GAAoB,YAAuB,CAAC,kFAAmF,UAAW,2BAA4BxB,EAAyBlwG,EAAY,CAC3Q8C,MAAO9D,KAEL2yG,GAA+C,YAAI,KAAsB,GAAoB,YAAuB,CAAC,0GACrHC,GAA2B,YAAI,KAAsB,GAAoB,YAAuB,CAAC,2DAA4D,6DAA8DvyG,GAC3NwyG,GAAsC,YAAI,KAAsB,GAAoB,YAAuB,CAAC,uFAEhH,MAAO,CACL1B,aAAcA,EACdC,cAAeA,EACfC,UAAWA,EACXC,cAAeA,EACfC,WAAYA,EACZC,UAAWA,EACXsB,mBA5DuB,SAAUC,GACjC,OAAO,YAAI,KAAqB,GAAmB,YAAuB,CAAC,yDAA0D,kBAAmB,iBAAkB,+CAAgD,sDAAuD,iBAAkB,uBAAwB,qDAAsD,uFAAwF9yG,EAAmBM,EAA0B8zF,EAAqC34C,EAAiBq3D,EAAe,OAAS,EAAGr3D,EAAiB,IAAK77C,IA4D7lB4xG,UAAWA,EACXE,cAAeA,EACfC,mBAAoBA,EACpBC,wBAAyBA,EACzBC,oBAAqBA,EACrB9b,UAAWA,EACX0b,YAAaA,EACbzb,YAAaA,EACb8b,WAAYA,EACZC,OAAQA,EACRC,YAAaA,EACbC,cAAeA,EACfC,cAAeA,GACfC,wBAAyBA,GACzBC,SAAUA,GACVC,kBAAmBA,GACnBC,qBAAsBA,GACtBroF,aAAcA,EACdsoF,kBAAmBA,GACnBC,iBAAkBA,GAClBC,kCAAmCA,GACnCC,6CAA8CA,GAC9CC,yBAA0BA,GAC1BI,yBAhC6B,YAAI,KAAsB,GAAoB,YAAuB,CAAC,4GAA6G,yCAA0C99C,GAiC1P29C,oCAAqCA,IAGzC,IAAI,GAAY,CAAC,KAAM,QAAS,aAAc,aAAc,gBAAiB,YAAa,aAAc,YAAa,qBAAsB,QAAS,cAAe,uBAAwB,UAAW,OAAQ,MAAO,YAAa,WAAY,mBAC1OI,GAAW,sBAAW,SAAUj8G,EAAMwD,GACxC,IAwEIg2C,EAyCE0iE,EArFA3rG,EAYA8qG,EA0EAc,EAIAC,EAKAC,EAIAC,EAIAC,EACAC,EACAC,EACAC,EAtIF7tG,EAAK7O,EAAK6O,GACZu3B,EAAQpmC,EAAKomC,MACbu2E,EAAY38G,EAAK,cACjB2O,EAAa3O,EAAK2O,WAClBF,EAAgBzO,EAAKyO,cACrBmuG,EAAY58G,EAAK48G,UACjB5e,EAAah+F,EAAKg+F,WAClBe,EAAY/+F,EAAK++F,UACjB8d,EAAwB78G,EAAKmhG,mBAC7BA,OAA+C,IAA1B0b,EAAmC,QAAUA,EAClE1iG,EAAQna,EAAKma,MACbinF,EAAcphG,EAAKohG,YACnB0b,EAAwB98G,EAAKqhG,qBAC7BA,OAAiD,IAA1Byb,EAAmC,UAAYA,EACtEC,EAAU/8G,EAAK+8G,QACf1iB,EAAYr6F,EAAKvD,KACjBA,OAAqB,IAAd49F,EAAuB,UAAYA,EAC1CniF,EAAMlY,EAAKkY,IACXtW,EAAY5B,EAAK4B,UACjBghG,EAAW5iG,EAAK4iG,SAChBoa,EAAkBh9G,EAAKg9G,gBACvBr4G,EAAO,YAAyB3E,EAAM,IACpC2I,EAAS,cACTs0G,EAAiB,mBAAQ,WAC3B,OAAO,GAAOt0G,KACb,CAACA,IACAorB,EAAS,CAACkpF,EAAe9C,aAAchgG,GAAS8iG,EAAerC,mBAAoBoC,GAAmBC,EAAe5C,UAAW2C,GAAmBvuG,GAAiBwuG,EAAe1B,sBA+BnL2B,EAAaruG,QAA+BA,EAAK,YAAS,aAC1DsuG,EAAoB,YAAI,IAAc,CACxC3sG,IAAKysG,EAAeje,UACpBluF,KAAM,KACNL,KAAM,MACN,aAAc0wF,EACd,YAAa,SAEXic,EAAsB,YAAI,IAAyB,CACrD5sG,IAAKysG,EAAehe,YACpBnuF,KAAM,KACNL,KAAM,MACN,aAAc4wF,EACd,YAAa,SAgBf,OAbIlnF,IAAUinF,EACZ5nD,EAAUulD,GAAa,YAAI,IAAK,CAC9BvuF,IAAKysG,EAAenC,oBACpBjsG,GAAIpS,EACJ,YAAa,QACZ0gH,EAAmBpe,GACbqC,IAAgBjnF,IACzBq/B,EAAU4nD,GAAe,YAAI,IAAK,CAChC5wF,IAAKysG,EAAenC,oBACpBjsG,GAAIpS,EACJ,YAAa,QACZ2gH,EAAqBhc,IAEnB,YAAI,MAAO,CAChB5wF,IAAKujB,EACLnyB,UAAWA,EACX,UAAW,WACXsW,IAAKA,EACL,iBAAkB,kBACjB,YAAI,QAAS,YAAS,CACvB1H,IAAK,CAACysG,EAAetC,cAAexgG,GAAS8iG,EAAerC,oBAC5DnjH,KAAM,WACNoX,GAAIquG,EACJzgH,KAAMA,EACN+G,IAAKA,EACLo/F,SAAU,SAAsBttF,GAI1BstF,IACFttF,EAAI8S,kBACJw6E,EAASttF,MAGZ3Q,EAAMwV,GAAS4kF,GAAa,CAC7B,mBAAoBtiG,EACpB,gBAAgB,GACf,CACD,YAAa,WAGT0/G,EAAeS,GAAa,YAAI,OAAQ,CAC1CpsG,IAAKysG,EAAezC,UACpB,YAAa,QACZoC,GACCR,EAAoB,YAAI,IAAiB,CAC3C5rG,IAAKysG,EAAexC,UACpB3pG,KAAM,KACN,YAAa,SAEXurG,EAAsB,YAAI,OAAQ,CACpC7rG,IAAKysG,EAAevC,YACpB,YAAa,SAEX4B,GAAiBniG,IAAUinF,GAAepD,GAAc,YAAI,IAAK,CACnExtF,IAAKysG,EAAejC,OACpB,YAAa,QACZhd,GACCue,EAAsB,CAAiE,QAA/DL,EAAwBe,EAAenB,0BAA0D,IAA1BI,OAAmC,EAASA,EAAsB7gH,KAAK4hH,IAAkBtuG,GAAawL,GAAS8iG,EAAepC,yBAC7N2B,EAAuB,CAACS,EAAe3C,eAAgBngG,GAASinF,KAAiB4b,GAAmBC,EAAelC,YACnH0B,EAAoBM,EAAUV,EAAsBD,EACpDM,EAAmB,YAAI,OAAQ,CACjClsG,IAAKysG,EAAe/B,cACpB,YAAa,QACZ,YAAI,OAAQ,CACb1qG,IAAK+rG,EACL,YAAa,QACZE,IAhHClsG,EAAY5B,GAAc,YAAI,OAAQ,CACxC6B,IAAKysG,EAAe9B,cACpB,YAAa,QACZ,YAAI,IAAY,CACjB,YAAa,SACZ,SAAUh6G,GACX,IAAIqP,EAAMrP,EAAMqP,IACdgvB,EAAKr+B,EAAMq+B,GACb,OAAO,IAAMg9C,aAAa7tE,EAAY,CACpC/M,UAAW49B,EAAG7wB,EAAWjX,MAAMkK,UAAW4O,EAAIysG,EAAe7B,gCAG7DC,EAAW,YAAI,OAAQ,CACzB7qG,IAAKysG,EAAe5B,SACpB,YAAa,QACZ,YAAI,IAAU,CACfzqG,GAAI,OACJJ,IAAK,EAAE41B,GAAS62E,EAAe/pF,cAC/B,YAAa,QACZkT,QAAqCA,EAAQu2E,GAAYluG,GAAiB,YAAI,IAAa,CAC5F+B,IAAKysG,EAAe3B,kBACpB1qG,GAAI,OACJ,YAAa,QACZnC,IACI,YAAI,OAAQ,CACjB+B,IAAKysG,EAAe/B,cACpB,YAAa,QACZ3qG,EAAW8qG,KAsFP,YAAI,QAAS,CAClB7qG,IAAKgsG,EACLhY,QAAS0Y,EACT,YAAa,QACZR,EAAkBP,EAAcG,IAChC9iE,MAEH,GAAc,CAAC,KAAM,OAAQ,QAAS,QAAS,WAAY,YAAa,qBAAsB,YAAa,YAC/G,SAAS,GAAQ14C,EAAQimB,GACvB,IAAIne,EAAOnT,OAAOmT,KAAK9H,GACvB,GAAIrL,OAAOmqB,sBAAuB,CAChC,IAAIoH,EAAUvxB,OAAOmqB,sBAAsB9e,GAC3CimB,IAAmBC,EAAUA,EAAQ1pB,QAAO,SAAU2pB,GACpD,OAAOxxB,OAAOunB,yBAAyBlc,EAAQmmB,GAAK7J,eACjDxU,EAAK/V,KAAKgqB,MAAMjU,EAAMoe,GAE7B,OAAOpe,EAET,SAAS,GAAc9E,GACrB,IAAK,IAAI5P,EAAI,EAAGA,EAAIkW,UAAU9X,OAAQ4B,IAAK,CACzC,IAAI2yB,EAAS,MAAQzc,UAAUlW,GAAKkW,UAAUlW,GAAK,GACnDA,EAAI,EAAI,GAAQuB,OAAOoxB,IAAS,GAAIrzB,SAAQ,SAAUL,GACpD,YAAgB2Q,EAAQ3Q,EAAK0zB,EAAO1zB,OACjCsC,OAAO+yB,0BAA4B/yB,OAAOgzB,iBAAiB3kB,EAAQrO,OAAO+yB,0BAA0B3B,IAAW,GAAQpxB,OAAOoxB,IAASrzB,SAAQ,SAAUL,GAC5JsC,OAAOooB,eAAe/Z,EAAQ3Q,EAAKsC,OAAOunB,yBAAyB6J,EAAQ1zB,OAG/E,OAAO2Q,EAEU,sBAAW,SAAU9D,EAAMwD,GAC5C,IA6BI65G,EAoCEC,EACAf,EACAG,EAcAF,EAjFF3tG,EAAK7O,EAAK6O,GACZpS,EAAOuD,EAAKvD,KACZ2pC,EAAQpmC,EAAKomC,MACbm3E,EAAav9G,EAAKw9G,MAClBA,OAAuB,IAAfD,EAAwB,GAAKA,EACrC3a,EAAW5iG,EAAK4iG,SAChB7D,EAAY/+F,EAAK++F,UACjB8d,EAAwB78G,EAAKmhG,mBAC7BA,OAA+C,IAA1B0b,EAAmC,QAAUA,EAClEj7G,EAAY5B,EAAK4B,UACjBjK,EAAWqI,EAAKrI,SAChBgN,EAAO,YAAyB3E,EAAM,IACpC2I,EAAS,cACT4G,EAAU,mBAAQ,WACpB,OAAO,GAAO5G,KACb,CAACA,IACA80G,EAAiBD,EAAM5mH,KAAI,SAAUc,EAAOuC,GAC9C,IAAIyhD,EAAO,IAAM9nD,cAAciR,GAAM,GAAc,GAAc,GAAInN,GAAQ,GAAI,CAC/EoZ,KAAM,QAER,OAAO,YAAI,KAAM,CACf3d,IAAK8G,EACL,YAAa,QACZyhD,MAEDwhE,EAAaruG,QAA+BA,EAAK,YAAS,iBAC1DklB,EAAS,CAACxkB,EAAQ4qG,aAAcpb,GAAaxvF,EAAQqrG,oBACrD8C,EAA0C,CAACnuG,EAAQmsG,kCAAmCt1E,GAAS24D,GAAaxvF,EAAQwrG,aAAc30E,aAAqC,EAASA,EAAM9zC,SAAWid,EAAQosG,8CACzMgC,EAAiC,CAACpuG,EAAQysG,yBAA0BzsG,EAAQqsG,2BAA4Bx1E,aAAqC,EAASA,EAAM9zC,SAAWid,EAAQssG,qCAE/K+B,EAAM,IAUV,OATIH,EAAenrH,QACjB+qH,EAAkB,YAAI,KAAM,CAC1B7sG,IAAKmtG,EACL,YAAa,QACZF,GACHG,EAAM,OAENP,EAAkB1lH,EAEb,YAAI,MAAO,CAChB6Y,IAAKujB,EACLnyB,UAAWA,EACX,iBAAkB,kBACjBwkC,GAAS,YAAI,IAAM5b,SAAU,KAAM,YAAI,QAAS,YAAS,CAC1Dha,IAAK,CAACjB,EAAQorG,cAAe5b,GAAaxvF,EAAQqrG,oBAClDnjH,KAAM,WACNoX,GAAIquG,EACJzgH,KAAMA,EACN+G,IAAKA,EACLo/F,SAAU,SAAsBttF,GAI1BstF,IACFttF,EAAI8S,kBACJw6E,EAASttF,MAGZ3Q,EAAMo6F,GAAa,CACpB,mBAAoBtiG,EACpB,gBAAgB,GACf,CACD,YAAa,WAGT8/G,EAAsB,CAA0D,QAAxDe,EAAwB/tG,EAAQusG,0BAA0D,IAA1BwB,OAAmC,EAASA,EAAsBjiH,KAAKkU,GAAS,GAAQwvF,GAAaxvF,EAAQsrG,yBACrM6B,EAAmB,YAAI,OAAQ,CACjC,YAAa,QACZ,YAAI,OAAQ,CACblsG,IAAK+rG,EACL,YAAa,QACZ,YAAI,IAAiB,CACtB/rG,IAAKjB,EAAQkrG,UACb3pG,KAAM,KACN,YAAa,UACV,YAAI,IAAa,CACpBN,IAAKjB,EAAQksG,iBACb7qG,GAAI,OACJ,YAAa,QACZw1B,IACCo2E,EAAuB,CAACjtG,EAAQ+qG,cAAe/qG,EAAQ2rG,cAAe3rG,EAAQisG,mBAC3E,YAAI,QAAS,CAClBhrG,IAAKgsG,EACLhY,QAAS0Y,EACT,YAAa,QACZR,KACC,YAAIkB,EAAK,CACbptG,IAAKktG,EACL,YAAa,QACZL,GAAkBj3E,GAAS24D,GAAa,YAAI,IAAK,CAClDvuF,IAAKjB,EAAQurG,oBACbjsG,GAAIpS,EACJ,YAAa,QACZ,YAAI,IAAc,CACnB+T,IAAKjB,EAAQyvF,UACbluF,KAAM,KACNL,KAAM,MACN,aAAc0wF,EACd,YAAa,SACXpC,OArGN,IAuHI,GAAc,CAAC,QAAS,YAAa,aAAc,YAAa,QAAS,cAAe,YAAa,YAGrG8e,GAAgB,SAAU79G,GAC5B,IAAIomC,EAAQpmC,EAAKomC,MACfw2E,EAAY58G,EAAK48G,UACjB5e,EAAah+F,EAAKg+F,WAClBe,EAAY/+F,EAAK++F,UACjB5kF,EAAQna,EAAKma,MACbinF,EAAcphG,EAAKohG,YACnBx/F,EAAY5B,EAAK4B,UACjBjK,EAAWqI,EAAKrI,SAChBgN,EAAO,YAAyB3E,EAAM,IACpC2I,EAAS,cACT4G,EAAU,mBAAQ,WACpB,OAAO,GAAO5G,KACb,CAACA,IACAm1G,EAAU3jG,IAAUinF,EACpB2c,EAAY3c,IAAgBjnF,EAC5BgjG,EAAoB,YAAI,IAAc,CACxC3sG,IAAKjB,EAAQyvF,UACbluF,KAAM,KACN,YAAa,SAEXssG,EAAsB,YAAI,IAAyB,CACrD5sG,IAAKjB,EAAQ0vF,YACbnuF,KAAM,KACN,YAAa,SAEXktG,EAAe,EAAE7jG,GAAS5K,EAAQyrG,QAAS8C,GAAWC,IAAcxuG,EAAQurG,oBAAqBvrG,EAAQ0rG,aACzGzhE,GAAWulD,GAAaf,GAAcoD,IAAgB,YAAI,IAAK,CACjE5wF,IAAKwtG,EACL,YAAa,QACZF,GAAWX,EAAmBY,GAAaX,EAAqBU,GAAW/e,EAAWgf,GAAa3c,GAAc0c,IAAYC,GAAa/f,GACzIme,EAAeS,GAAa,YAAI,OAAQ,CAC1CpsG,IAAKjB,EAAQirG,UACb,YAAa,QACZoC,GACCr0F,EAAa,CACfpO,MAAOA,EACP6iG,iBAAiB,GAEfiB,EAAe,IAAM7hC,SAASnsB,QAAQt4D,GAAUf,KAAI,SAAU67D,GAChE,OAAO,IAAM+pB,aAAa/pB,EAAOlqC,MAEnC,OAAO,YAAI,WAAY,YAAS,CAC9B/X,IAAK,CAACjB,EAAQ6qG,cAAejgG,GAAS5K,EAAQqrG,oBAC9Ch5G,UAAWA,EACX,iBAAkB,kBACjB+C,GAAO,YAAI,SAAU,CACtB6L,IAAKjB,EAAQgrG,WACb,YAAa,QACZn0E,EAAO+1E,GAAe8B,EAAczkE,I,wBCvZzC,ICnFI,GAAiB,GAAkB,GAAkB,GAAkB,GAAkB,GAAkB,GAAkB,GAAkB,G,aAwCnJ,IAAI,GAAY,CAAC,sBAAuB,YAAa,YAAa,QAAS,OAAQ,KAAM,iBAAkB,wBAAyB,WAAY,YAAa,QAAS,YAAa,SAAU,UAAW,cACxL,IAAMnzC,YAAW,SAAUrG,EAAMwD,GAC/C,IAAI06G,EAAwBl+G,EAAKm+G,oBAC/BA,OAAgD,IAA1BD,GAA2CA,EACjEt8G,EAAY5B,EAAK4B,UACjBm9F,EAAY/+F,EAAK++F,UACjBqf,EAAap+G,EAAKma,MAClBA,OAAuB,IAAfikG,IAA0Brf,EAAYqf,EAC9C/jB,EAAYr6F,EAAKvD,KACjBA,OAAqB,IAAd49F,EAAuB,UAAYA,EAC1CrhF,EAAUhZ,EAAK6O,GACfA,OAAiB,IAAZmK,EAAqBvc,EAAOuc,EACjCgpF,EAAiBhiG,EAAKgiG,eACtBqc,EAAwBr+G,EAAKq+G,sBAC7BhY,EAAgBrmG,EAAK4iG,SACrBA,OAA6B,IAAlByD,EAA2BngG,QAAQC,KAAK,uCAAyCkgG,EAC5FiY,EAAiBt+G,EAAKu+G,UACtBA,OAA+B,IAAnBD,EAA4B,EAAIA,EAC5C5a,EAAa1jG,EAAK1I,MAClBA,OAAuB,IAAfosG,EAAwB,GAAKA,EACrC3/E,EAAY/jB,EAAK+jB,UACjB6gF,EAAc5kG,EAAK0lB,OACnBA,OAAyB,IAAhBk/E,EAAyB,KAAOA,EACzCC,EAAe7kG,EAAKylB,QACpBA,OAA2B,IAAjBo/E,EAA0B,KAAOA,EAC3C2Z,EAAkBx+G,EAAKy+G,WACvBA,OAAiC,IAApBD,GAAqCA,EAClD75G,EAAO,YAAyB3E,EAAM,IACpCylG,EAAc,iBAAO,IACrBiZ,EAAgBl7G,GAAOiiG,EAGvBkZ,EAAY,WACZC,EAAgB,CAAC,IAAa9kF,eAAgB,IAAaE,YAAa,IAAavjB,UACrFtF,EAAkB,IAAM2C,UAAS,GACnC1C,EAAmB,YAAeD,EAAiB,GACnD6gE,EAAU5gE,EAAiB,GAC3BytG,EAAaztG,EAAiB,GAE5B0tG,EAAWP,EAAY,GAAKA,GARlB,EAQyC,aAAmBnjH,MAR5D,GAQ2EwN,QAAU,aAAmBxN,MAAMmjH,GAAW31G,QAEnIm2G,EAAWznH,GAASA,EAAMwE,MAAM,IAAIlF,KAAI,SAAU44D,GACpD,MAAe,MAARA,EAAc,GAAKA,KAGxBwvD,EAAe,WAEjB,IAAIC,EAASP,EAAcl+G,QAAQ5J,KAAI,SAAU04D,GAC/C,MAAuB,KAAhBA,EAAMh4D,MAAe,IAAMg4D,EAAMh4D,SACvCT,KAAK,IAEJ+rG,GACFA,EAASqc,IAITC,EAAe,SAAU9nG,GAEvBsnG,GAAiBA,EAAcl+G,QAAQ4W,IACzCsnG,EAAcl+G,QAAQ4W,GAAK/G,SAkB/B,qBAAU,WACJ0T,GACFm7F,EAAa,KAEd,IAGH,IAkIM3d,EAlFF4d,EAAa,SAAUplG,GAErB2L,IAAWg5F,EAAcl+G,QAAQu3B,SAAShe,EAAMqlG,iBAClD15F,EAAO3L,GACP8kG,GAAW,KAGXQ,EAAc,SAAUtlG,GAEtB0L,IAAYusD,IACd6sC,GAAW,GACXp5F,EAAQ1L,KAoBRpR,GAAS,cAET4G,GAAU,mBAAQ,WACpB,OA7MJ,SAAgB5G,GAEd,IAAKlT,OAAOmT,KAAKD,GAAQrW,OAEvB,OADA4T,QAAQC,KAAK,qGACN,GAIT,IAAI6C,EAAmCL,EAAOK,iCAC5CI,EAAaT,EAAOS,WACpBo8B,EAAsC78B,EAAO68B,oCAC7Cr8B,EAAaR,EAAOQ,WACpBi1D,EAAiBz1D,EAAOy1D,eACxBy0C,EAAiBlqG,EAAOkqG,eACxBjjF,EAAoBjnB,EAAOinB,kBACzB/lB,EAAc,YAAWlB,GAC3By+B,EAAYv9B,EAAYu9B,UACxBn9B,EAAUJ,EAAYI,QAUxB,MAAO,CACL7J,KAVS,YAAI,KAAoB,GAAkB,YAAuB,CAAC,oEAW3Ek/G,mBAVuB,YAAI,KAAqB,GAAmB,YAAuB,CAAC,mDAAoD,wBAAyB,2DAA4D,4CAA6C,6BAA8B,qBAAsB,kBAAmBzM,EAAgBzpG,EAAYA,EAAYg+B,IAAag3B,EAAgB,UAW7ZmhD,4BAVgC,YAAI,KAAqB,GAAmB,YAAuB,CAAC,0EAWpGC,0BAV8B,YAAI,KAAqB,GAAmB,YAAuB,CAAC,oDAAqD,4xBAA6xB,kBAAmBp4E,IAAa5B,GAWp9Bi6E,aAViB,YAAI,KAAqB,GAAmB,YAAuB,CAAC,uEAAwE,yEAA0E,yKAA0Kr2G,EAAYA,GAW7Z+Q,MAVU,YAAI,KAAqB,GAAmB,YAAuB,CAAC,wCAAyC,yDAA0DhR,GAWjL41F,UAVc,YAAI,KAAqB,GAAmB,YAAuB,CAAC,iCAAkC,iBAAkB,6CAA8C90F,IAAWjB,GAW/Lg2F,UAVc,YAAI,KAAqB,GAAmB,YAAuB,CAAC,wCAAyC,wBAAyB,sEAAuE,kBAAmBpvE,EAAmBzmB,EAAYA,GAW7Qu2G,cAVkB,YAAI,KAAqB,GAAmB,YAAuB,CAAC,iGAmL/E,CAAO/2G,MACb,CAACA,KACAg3G,GAAepwG,GAAQnP,KACvBw/G,GAAiBd,EAASloH,KAAI,SAAUwgB,GAC1C,OAAO,YAAI,IAAY,CACrBjkB,IAAKikB,EACL,YAAa,SACZ,SAAU3V,GACX,IAAI+O,EAAM/O,EAAM+O,IACdgvB,EAAK/9B,EAAM+9B,GACb,OAAO,YAAIgmE,GAAW,YAAS,CAC7BryG,IAAKikB,EACLxV,UAAW49B,EAAGhvB,EAAI,CAACjB,GAAQ+vG,mBAAoBvgB,GAAaxvF,GAAQ4K,QAASkkG,GAC7Erc,eAAgBxiE,EAAGhvB,EAAI,CAACjB,GAAQiwG,0BAA2BzgB,GAAaxvF,GAAQgwG,8BAA+Bvd,GAC/G,aAAc,GAAG7lG,OAAOib,EAAM,EAAG,KAAKjb,OAAO2iH,EAASxsH,QACtDmK,KAAM,GAAGN,OAAOM,EAAM,KAAKN,OAAOib,GAClCvI,GAAI,MAAM1S,OAAO0S,EAAI,KAAK1S,OAAOib,GACjC5T,IAAK,SAAUH,GACb,OA1DK,SAAUA,EAAI+T,GACrB/T,IACFq7G,EAAcl+G,QAAQ4W,GAAO/T,EAC7Bq7G,EAAcl+G,QAAQ4W,GAAK9f,MAAQynH,EAAWA,EAAS3nG,GAAO,IAuDnDyoG,CAAOx8G,EAAI+T,IAEpB0oG,QAAS,SAAiBxqG,GACxB,OA7HU,SAAUA,EAAK8B,GAEN,KAArB9B,EAAIxR,OAAOxM,OACb4nH,EAAa9nG,EAAM,GAGjB+mG,IACF7oG,EAAIxR,OAAOxM,MAAQge,EAAIxR,OAAOxM,MAAM09B,eAGlC1f,EAAIxR,OAAOxM,MAAMhF,OAAS,IAC5BgjB,EAAIxR,OAAOxM,MAAQge,EAAIxR,OAAOxM,MAAMf,MAAM,EAAG,IAE/CyoH,IAgHae,CAAYzqG,EAAK8B,IAE1B4C,UAAW,SAAmB1E,GAC5B,OA1GY,SAAUA,EAAK8B,GAEjC,IAAIlB,EAAUZ,EAAIniB,KAAOmiB,EAAIY,QACzBD,EAAU,IAAI,IAAaC,IAC3BD,EAAQ2iG,aAAe3iG,EAAQokB,SAAWpkB,EAAQmkB,QAAUnkB,EAAQ+pG,eACtE1qG,EAAIjQ,iBAEF4Q,EAAQgqG,cAAgBhqG,EAAQiqG,UAET,KAArB5qG,EAAIxR,OAAOxM,OAAqC,MAArBge,EAAIxR,OAAOxM,MACxC4nH,EAAa9nG,EAAM,IAGnB9B,EAAIxR,OAAOxM,MAAQ,IAGnB0nH,KAEO/oG,EAAQikB,cACjBglF,EAAa9nG,EAAM,GACVnB,EAAQkkB,eACjB+kF,EAAa9nG,EAAM,GACVnB,EAAQokB,QACjB6kF,EAAa,GACJjpG,EAAQmkB,OACjB8kF,EAAaX,EAAY,GAEzBjpG,EAAIxR,OAAOgoG,UAGRx2F,EAAInQ,SAAWmQ,EAAIrQ,UAAwB,MAAZiR,GAI/BA,EAAQ6e,MAAM4pF,IAAeC,EAAc7mF,SAAS7hB,KAAYuoG,GACnEnpG,EAAIjQ,iBAuEO0Q,CAAcT,EAAK8B,IAE5B+oG,QAAS,SAAiB7qG,GACxB,OA9CU,SAAUA,GAC1B,IAAI8qG,EAAiB9qG,EAAI+qG,eAAiB/qG,EAAI+qG,cAAcC,QAAQ,QAGpE,GADAhrG,EAAIjQ,kBACA+6G,GAAmBA,EAAerrF,MAAM4pF,KAAcF,EAA1D,CAKA,IAFA,IAAI8B,EAAYH,GAAkBA,EAAelqH,QAAQ,MAAO,IAAI4F,MAAM,IACtE0kH,EAASrrH,KAAKggB,IAAIorG,GAAaA,EAAUjuH,OAAQosH,EAAcl+G,QAAQlO,QAClE4B,EAAI,EAAGA,EAAIssH,EAAQtsH,IAC1BwqH,EAAcl+G,QAAQtM,GAAGoD,MAAQ6mH,EAAsBoC,EAAUrsH,GAAG8gC,cAAgBurF,EAAUrsH,GAGhGgrH,EAAasB,IAAW9B,EAAcl+G,QAAQlO,OAASkuH,EAAS,EAAIA,GACpExB,KAgCayB,CAAYnrG,IAErBmQ,QAAS45F,EACT35F,OAAQy5F,EACR,mBAAoBhlG,EAAQ,WAAWhe,OAAOM,GAAQ,KACtD0d,MAAOA,KAAW4kF,EAClB2hB,QAASjC,EAAa,SAAW,IAChC95G,EAAM,CACP,YAAa,gBAInB,OAAO,YAAI,MAAO,CAChB6L,IAAKmvG,GACL/9G,UAAWA,EACXiN,GAAIA,EACJ,iBAAkB,qBACjB,YAAI,MAAO,CACZ2B,IAAKjB,GAAQkwG,aACb,YAAa,QACZG,IAAiB7gB,IACdwC,EAAcnmG,MAAMwf,QAAQmkF,GAAa,YAAI,KAAM,CACrDvuF,IAAKjB,GAAQmwG,cACb,YAAa,QACZ3gB,EAAUnoG,KAAI,SAAU+kD,EAAM1hD,GAC/B,OAAO,YAAI,KAAM,CACf9G,IAAK,SAASgJ,OAAOlC,GACrB,YAAa,QACZ0hD,OACCojD,EACC,YAAI,IAAY,CACrB,YAAa,SACZ,SAAU59F,GACX,IAAIqP,EAAMrP,EAAMqP,IAChB,OAAO,YAAI,MAAO,CAChBA,IAAKjB,GAAQ4K,MACbtL,GAAI,WAAW1S,OAAOM,GACtBgU,KAAM,QACN,YAAa,QACZ,YAAI,IACL,CACA7O,UAAW4O,EAAIjB,GAAQyvF,WACvBluF,KAAM,KACN,cAAe,OACf,YAAa,SACX,YAAI,OAAQ,CACdN,IAAKjB,GAAQwvF,UACb,YAAa,QACZwC,YC9RT,MAAMof,GACS,CACX,GAAM,QACN,GAAM,QACN,GAAM,QACN,GAAM,QACN,GAAM,QACN,GAAM,QACN,GAAM,QACN,GAAM,QACN,GAAM,QACN,GAAM,QACN,GAAM,QACN,GAAM,QACN,GAAM,QACN,GAAM,QACN,GAAM,QACN,GAAM,QACN,GAAM,QACN,GAAM,QACN,GAAM,QACN,GAAM,QACN,GAAM,QACN,GAAM,QACN,GAAM,QACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM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","file":"app-462dde9651bd8c7eab45.js","sourcesContent":["/*\n\nBased off glamor's StyleSheet, thanks Sunil ❤️\n\nhigh performance StyleSheet for css-in-js systems\n\n- uses multiple style tags behind the scenes for millions of rules\n- uses `insertRule` for appending in production for *much* faster performance\n\n// usage\n\nimport { StyleSheet } from '@emotion/sheet'\n\nlet styleSheet = new StyleSheet({ key: '', container: document.head })\n\nstyleSheet.insert('#box { border: 1px solid red; }')\n- appends a css rule into the stylesheet\n\nstyleSheet.flush()\n- empties the stylesheet of all its contents\n\n*/\n// $FlowFixMe\nfunction sheetForTag(tag) {\n if (tag.sheet) {\n // $FlowFixMe\n return tag.sheet;\n } // this weirdness brought to you by firefox\n\n /* istanbul ignore next */\n\n for (var i = 0; i < document.styleSheets.length; i++) {\n if (document.styleSheets[i].ownerNode === tag) {\n // $FlowFixMe\n return document.styleSheets[i];\n }\n }\n}\nfunction createStyleElement(options) {\n var tag = document.createElement('style');\n tag.setAttribute('data-emotion', options.key);\n if (options.nonce !== undefined) {\n tag.setAttribute('nonce', options.nonce);\n }\n tag.appendChild(document.createTextNode(''));\n tag.setAttribute('data-s', '');\n return tag;\n}\nvar StyleSheet = /*#__PURE__*/function () {\n // Using Node instead of HTMLElement since container may be a ShadowRoot\n function StyleSheet(options) {\n var _this = this;\n this._insertTag = function (tag) {\n var before;\n if (_this.tags.length === 0) {\n if (_this.insertionPoint) {\n before = _this.insertionPoint.nextSibling;\n } else if (_this.prepend) {\n before = _this.container.firstChild;\n } else {\n before = _this.before;\n }\n } else {\n before = _this.tags[_this.tags.length - 1].nextSibling;\n }\n _this.container.insertBefore(tag, before);\n _this.tags.push(tag);\n };\n this.isSpeedy = options.speedy === undefined ? process.env.NODE_ENV === 'production' : options.speedy;\n this.tags = [];\n this.ctr = 0;\n this.nonce = options.nonce; // key is the value of the data-emotion attribute, it's used to identify different sheets\n\n this.key = options.key;\n this.container = options.container;\n this.prepend = options.prepend;\n this.insertionPoint = options.insertionPoint;\n this.before = null;\n }\n var _proto = StyleSheet.prototype;\n _proto.hydrate = function hydrate(nodes) {\n nodes.forEach(this._insertTag);\n };\n _proto.insert = function insert(rule) {\n // the max length is how many rules we have per style tag, it's 65000 in speedy mode\n // it's 1 in dev because we insert source maps that map a single rule to a location\n // and you can only have one source map per style tag\n if (this.ctr % (this.isSpeedy ? 65000 : 1) === 0) {\n this._insertTag(createStyleElement(this));\n }\n var tag = this.tags[this.tags.length - 1];\n if (process.env.NODE_ENV !== 'production') {\n var isImportRule = rule.charCodeAt(0) === 64 && rule.charCodeAt(1) === 105;\n if (isImportRule && this._alreadyInsertedOrderInsensitiveRule) {\n // this would only cause problem in speedy mode\n // but we don't want enabling speedy to affect the observable behavior\n // so we report this error at all times\n console.error(\"You're attempting to insert the following rule:\\n\" + rule + '\\n\\n`@import` rules must be before all other types of rules in a stylesheet but other rules have already been inserted. Please ensure that `@import` rules are before all other rules.');\n }\n this._alreadyInsertedOrderInsensitiveRule = this._alreadyInsertedOrderInsensitiveRule || !isImportRule;\n }\n if (this.isSpeedy) {\n var sheet = sheetForTag(tag);\n try {\n // this is the ultrafast version, works across browsers\n // the big drawback is that the css won't be editable in devtools\n sheet.insertRule(rule, sheet.cssRules.length);\n } catch (e) {\n if (process.env.NODE_ENV !== 'production' && !/:(-moz-placeholder|-moz-focus-inner|-moz-focusring|-ms-input-placeholder|-moz-read-write|-moz-read-only|-ms-clear|-ms-expand|-ms-reveal){/.test(rule)) {\n console.error(\"There was a problem inserting the following rule: \\\"\" + rule + \"\\\"\", e);\n }\n }\n } else {\n tag.appendChild(document.createTextNode(rule));\n }\n this.ctr++;\n };\n _proto.flush = function flush() {\n // $FlowFixMe\n this.tags.forEach(function (tag) {\n return tag.parentNode && tag.parentNode.removeChild(tag);\n });\n this.tags = [];\n this.ctr = 0;\n if (process.env.NODE_ENV !== 'production') {\n this._alreadyInsertedOrderInsensitiveRule = false;\n }\n };\n return StyleSheet;\n}();\nexport { StyleSheet };","var e = \"-ms-\";\nvar r = \"-moz-\";\nvar a = \"-webkit-\";\nvar n = \"comm\";\nvar c = \"rule\";\nvar s = \"decl\";\nvar t = \"@page\";\nvar u = \"@media\";\nvar i = \"@import\";\nvar f = \"@charset\";\nvar o = \"@viewport\";\nvar l = \"@supports\";\nvar v = \"@document\";\nvar p = \"@namespace\";\nvar h = \"@keyframes\";\nvar b = \"@font-face\";\nvar w = \"@counter-style\";\nvar d = \"@font-feature-values\";\nvar $ = \"@layer\";\nvar g = Math.abs;\nvar k = String.fromCharCode;\nvar m = Object.assign;\nfunction x(e, r) {\n return O(e, 0) ^ 45 ? (((r << 2 ^ O(e, 0)) << 2 ^ O(e, 1)) << 2 ^ O(e, 2)) << 2 ^ O(e, 3) : 0;\n}\nfunction y(e) {\n return e.trim();\n}\nfunction j(e, r) {\n return (e = r.exec(e)) ? e[0] : e;\n}\nfunction z(e, r, a) {\n return e.replace(r, a);\n}\nfunction C(e, r) {\n return e.indexOf(r);\n}\nfunction O(e, r) {\n return e.charCodeAt(r) | 0;\n}\nfunction A(e, r, a) {\n return e.slice(r, a);\n}\nfunction M(e) {\n return e.length;\n}\nfunction S(e) {\n return e.length;\n}\nfunction q(e, r) {\n return r.push(e), e;\n}\nfunction B(e, r) {\n return e.map(r).join(\"\");\n}\nvar D = 1;\nvar E = 1;\nvar F = 0;\nvar G = 0;\nvar H = 0;\nvar I = \"\";\nfunction J(e, r, a, n, c, s, t) {\n return {\n value: e,\n root: r,\n parent: a,\n type: n,\n props: c,\n children: s,\n line: D,\n column: E,\n length: t,\n return: \"\"\n };\n}\nfunction K(e, r) {\n return m(J(\"\", null, null, \"\", null, null, 0), e, {\n length: -e.length\n }, r);\n}\nfunction L() {\n return H;\n}\nfunction N() {\n H = G > 0 ? O(I, --G) : 0;\n if (E--, H === 10) E = 1, D--;\n return H;\n}\nfunction P() {\n H = G < F ? O(I, G++) : 0;\n if (E++, H === 10) E = 1, D++;\n return H;\n}\nfunction Q() {\n return O(I, G);\n}\nfunction R() {\n return G;\n}\nfunction T(e, r) {\n return A(I, e, r);\n}\nfunction U(e) {\n switch (e) {\n case 0:\n case 9:\n case 10:\n case 13:\n case 32:\n return 5;\n case 33:\n case 43:\n case 44:\n case 47:\n case 62:\n case 64:\n case 126:\n case 59:\n case 123:\n case 125:\n return 4;\n case 58:\n return 3;\n case 34:\n case 39:\n case 40:\n case 91:\n return 2;\n case 41:\n case 93:\n return 1;\n }\n return 0;\n}\nfunction V(e) {\n return D = E = 1, F = M(I = e), G = 0, [];\n}\nfunction W(e) {\n return I = \"\", e;\n}\nfunction X(e) {\n return y(T(G - 1, re(e === 91 ? e + 2 : e === 40 ? e + 1 : e)));\n}\nfunction Y(e) {\n return W(_(V(e)));\n}\nfunction Z(e) {\n while (H = Q()) if (H < 33) P();else break;\n return U(e) > 2 || U(H) > 3 ? \"\" : \" \";\n}\nfunction _(e) {\n while (P()) switch (U(H)) {\n case 0:\n q(ne(G - 1), e);\n break;\n case 2:\n q(X(H), e);\n break;\n default:\n q(k(H), e);\n }\n return e;\n}\nfunction ee(e, r) {\n while (--r && P()) if (H < 48 || H > 102 || H > 57 && H < 65 || H > 70 && H < 97) break;\n return T(e, R() + (r < 6 && Q() == 32 && P() == 32));\n}\nfunction re(e) {\n while (P()) switch (H) {\n case e:\n return G;\n case 34:\n case 39:\n if (e !== 34 && e !== 39) re(H);\n break;\n case 40:\n if (e === 41) re(e);\n break;\n case 92:\n P();\n break;\n }\n return G;\n}\nfunction ae(e, r) {\n while (P()) if (e + H === 47 + 10) break;else if (e + H === 42 + 42 && Q() === 47) break;\n return \"/*\" + T(r, G - 1) + \"*\" + k(e === 47 ? e : P());\n}\nfunction ne(e) {\n while (!U(Q())) P();\n return T(e, G);\n}\nfunction ce(e) {\n return W(se(\"\", null, null, null, [\"\"], e = V(e), 0, [0], e));\n}\nfunction se(e, r, a, n, c, s, t, u, i) {\n var f = 0;\n var o = 0;\n var l = t;\n var v = 0;\n var p = 0;\n var h = 0;\n var b = 1;\n var w = 1;\n var d = 1;\n var $ = 0;\n var g = \"\";\n var m = c;\n var x = s;\n var y = n;\n var j = g;\n while (w) switch (h = $, $ = P()) {\n case 40:\n if (h != 108 && O(j, l - 1) == 58) {\n if (C(j += z(X($), \"&\", \"&\\f\"), \"&\\f\") != -1) d = -1;\n break;\n }\n case 34:\n case 39:\n case 91:\n j += X($);\n break;\n case 9:\n case 10:\n case 13:\n case 32:\n j += Z(h);\n break;\n case 92:\n j += ee(R() - 1, 7);\n continue;\n case 47:\n switch (Q()) {\n case 42:\n case 47:\n q(ue(ae(P(), R()), r, a), i);\n break;\n default:\n j += \"/\";\n }\n break;\n case 123 * b:\n u[f++] = M(j) * d;\n case 125 * b:\n case 59:\n case 0:\n switch ($) {\n case 0:\n case 125:\n w = 0;\n case 59 + o:\n if (d == -1) j = z(j, /\\f/g, \"\");\n if (p > 0 && M(j) - l) q(p > 32 ? ie(j + \";\", n, a, l - 1) : ie(z(j, \" \", \"\") + \";\", n, a, l - 2), i);\n break;\n case 59:\n j += \";\";\n default:\n q(y = te(j, r, a, f, o, c, u, g, m = [], x = [], l), s);\n if ($ === 123) if (o === 0) se(j, r, y, y, m, s, l, u, x);else switch (v === 99 && O(j, 3) === 110 ? 100 : v) {\n case 100:\n case 108:\n case 109:\n case 115:\n se(e, y, y, n && q(te(e, y, y, 0, 0, c, u, g, c, m = [], l), x), c, x, l, u, n ? m : x);\n break;\n default:\n se(j, y, y, y, [\"\"], x, 0, u, x);\n }\n }\n f = o = p = 0, b = d = 1, g = j = \"\", l = t;\n break;\n case 58:\n l = 1 + M(j), p = h;\n default:\n if (b < 1) if ($ == 123) --b;else if ($ == 125 && b++ == 0 && N() == 125) continue;\n switch (j += k($), $ * b) {\n case 38:\n d = o > 0 ? 1 : (j += \"\\f\", -1);\n break;\n case 44:\n u[f++] = (M(j) - 1) * d, d = 1;\n break;\n case 64:\n if (Q() === 45) j += X(P());\n v = Q(), o = l = M(g = j += ne(R())), $++;\n break;\n case 45:\n if (h === 45 && M(j) == 2) b = 0;\n }\n }\n return s;\n}\nfunction te(e, r, a, n, s, t, u, i, f, o, l) {\n var v = s - 1;\n var p = s === 0 ? t : [\"\"];\n var h = S(p);\n for (var b = 0, w = 0, d = 0; b < n; ++b) for (var $ = 0, k = A(e, v + 1, v = g(w = u[b])), m = e; $ < h; ++$) if (m = y(w > 0 ? p[$] + \" \" + k : z(k, /&\\f/g, p[$]))) f[d++] = m;\n return J(e, r, a, s === 0 ? c : i, f, o, l);\n}\nfunction ue(e, r, a) {\n return J(e, r, a, n, k(L()), A(e, 2, -2), 0);\n}\nfunction ie(e, r, a, n) {\n return J(e, r, a, s, A(e, 0, n), A(e, n + 1, -1), n);\n}\nfunction fe(n, c, s) {\n switch (x(n, c)) {\n case 5103:\n return a + \"print-\" + n + n;\n case 5737:\n case 4201:\n case 3177:\n case 3433:\n case 1641:\n case 4457:\n case 2921:\n case 5572:\n case 6356:\n case 5844:\n case 3191:\n case 6645:\n case 3005:\n case 6391:\n case 5879:\n case 5623:\n case 6135:\n case 4599:\n case 4855:\n case 4215:\n case 6389:\n case 5109:\n case 5365:\n case 5621:\n case 3829:\n return a + n + n;\n case 4789:\n return r + n + n;\n case 5349:\n case 4246:\n case 4810:\n case 6968:\n case 2756:\n return a + n + r + n + e + n + n;\n case 5936:\n switch (O(n, c + 11)) {\n case 114:\n return a + n + e + z(n, /[svh]\\w+-[tblr]{2}/, \"tb\") + n;\n case 108:\n return a + n + e + z(n, /[svh]\\w+-[tblr]{2}/, \"tb-rl\") + n;\n case 45:\n return a + n + e + z(n, /[svh]\\w+-[tblr]{2}/, \"lr\") + n;\n }\n case 6828:\n case 4268:\n case 2903:\n return a + n + e + n + n;\n case 6165:\n return a + n + e + \"flex-\" + n + n;\n case 5187:\n return a + n + z(n, /(\\w+).+(:[^]+)/, a + \"box-$1$2\" + e + \"flex-$1$2\") + n;\n case 5443:\n return a + n + e + \"flex-item-\" + z(n, /flex-|-self/g, \"\") + (!j(n, /flex-|baseline/) ? e + \"grid-row-\" + z(n, /flex-|-self/g, \"\") : \"\") + n;\n case 4675:\n return a + n + e + \"flex-line-pack\" + z(n, /align-content|flex-|-self/g, \"\") + n;\n case 5548:\n return a + n + e + z(n, \"shrink\", \"negative\") + n;\n case 5292:\n return a + n + e + z(n, \"basis\", \"preferred-size\") + n;\n case 6060:\n return a + \"box-\" + z(n, \"-grow\", \"\") + a + n + e + z(n, \"grow\", \"positive\") + n;\n case 4554:\n return a + z(n, /([^-])(transform)/g, \"$1\" + a + \"$2\") + n;\n case 6187:\n return z(z(z(n, /(zoom-|grab)/, a + \"$1\"), /(image-set)/, a + \"$1\"), n, \"\") + n;\n case 5495:\n case 3959:\n return z(n, /(image-set\\([^]*)/, a + \"$1\" + \"$`$1\");\n case 4968:\n return z(z(n, /(.+:)(flex-)?(.*)/, a + \"box-pack:$3\" + e + \"flex-pack:$3\"), /s.+-b[^;]+/, \"justify\") + a + n + n;\n case 4200:\n if (!j(n, /flex-|baseline/)) return e + \"grid-column-align\" + A(n, c) + n;\n break;\n case 2592:\n case 3360:\n return e + z(n, \"template-\", \"\") + n;\n case 4384:\n case 3616:\n if (s && s.some(function (e, r) {\n return c = r, j(e.props, /grid-\\w+-end/);\n })) {\n return ~C(n + (s = s[c].value), \"span\") ? n : e + z(n, \"-start\", \"\") + n + e + \"grid-row-span:\" + (~C(s, \"span\") ? j(s, /\\d+/) : +j(s, /\\d+/) - +j(n, /\\d+/)) + \";\";\n }\n return e + z(n, \"-start\", \"\") + n;\n case 4896:\n case 4128:\n return s && s.some(function (e) {\n return j(e.props, /grid-\\w+-start/);\n }) ? n : e + z(z(n, \"-end\", \"-span\"), \"span \", \"\") + n;\n case 4095:\n case 3583:\n case 4068:\n case 2532:\n return z(n, /(.+)-inline(.+)/, a + \"$1$2\") + n;\n case 8116:\n case 7059:\n case 5753:\n case 5535:\n case 5445:\n case 5701:\n case 4933:\n case 4677:\n case 5533:\n case 5789:\n case 5021:\n case 4765:\n if (M(n) - 1 - c > 6) switch (O(n, c + 1)) {\n case 109:\n if (O(n, c + 4) !== 45) break;\n case 102:\n return z(n, /(.+:)(.+)-([^]+)/, \"$1\" + a + \"$2-$3\" + \"$1\" + r + (O(n, c + 3) == 108 ? \"$3\" : \"$2-$3\")) + n;\n case 115:\n return ~C(n, \"stretch\") ? fe(z(n, \"stretch\", \"fill-available\"), c, s) + n : n;\n }\n break;\n case 5152:\n case 5920:\n return z(n, /(.+?):(\\d+)(\\s*\\/\\s*(span)?\\s*(\\d+))?(.*)/, function (r, a, c, s, t, u, i) {\n return e + a + \":\" + c + i + (s ? e + a + \"-span:\" + (t ? u : +u - +c) + i : \"\") + n;\n });\n case 4949:\n if (O(n, c + 6) === 121) return z(n, \":\", \":\" + a) + n;\n break;\n case 6444:\n switch (O(n, O(n, 14) === 45 ? 18 : 11)) {\n case 120:\n return z(n, /(.+:)([^;\\s!]+)(;|(\\s+)?!.+)?/, \"$1\" + a + (O(n, 14) === 45 ? \"inline-\" : \"\") + \"box$3\" + \"$1\" + a + \"$2$3\" + \"$1\" + e + \"$2box$3\") + n;\n case 100:\n return z(n, \":\", \":\" + e) + n;\n }\n break;\n case 5719:\n case 2647:\n case 2135:\n case 3927:\n case 2391:\n return z(n, \"scroll-\", \"scroll-snap-\") + n;\n }\n return n;\n}\nfunction oe(e, r) {\n var a = \"\";\n var n = S(e);\n for (var c = 0; c < n; c++) a += r(e[c], c, e, r) || \"\";\n return a;\n}\nfunction le(e, r, a, t) {\n switch (e.type) {\n case $:\n if (e.children.length) break;\n case i:\n case s:\n return e.return = e.return || e.value;\n case n:\n return \"\";\n case h:\n return e.return = e.value + \"{\" + oe(e.children, t) + \"}\";\n case c:\n e.value = e.props.join(\",\");\n }\n return M(a = oe(e.children, t)) ? e.return = e.value + \"{\" + a + \"}\" : \"\";\n}\nfunction ve(e) {\n var r = S(e);\n return function (a, n, c, s) {\n var t = \"\";\n for (var u = 0; u < r; u++) t += e[u](a, n, c, s) || \"\";\n return t;\n };\n}\nfunction pe(e) {\n return function (r) {\n if (!r.root) if (r = r.return) e(r);\n };\n}\nfunction he(n, t, u, i) {\n if (n.length > -1) if (!n.return) switch (n.type) {\n case s:\n n.return = fe(n.value, n.length, u);\n return;\n case h:\n return oe([K(n, {\n value: z(n.value, \"@\", \"@\" + a)\n })], i);\n case c:\n if (n.length) return B(n.props, function (c) {\n switch (j(c, /(::plac\\w+|:read-\\w+)/)) {\n case \":read-only\":\n case \":read-write\":\n return oe([K(n, {\n props: [z(c, /:(read-\\w+)/, \":\" + r + \"$1\")]\n })], i);\n case \"::placeholder\":\n return oe([K(n, {\n props: [z(c, /:(plac\\w+)/, \":\" + a + \"input-$1\")]\n }), K(n, {\n props: [z(c, /:(plac\\w+)/, \":\" + r + \"$1\")]\n }), K(n, {\n props: [z(c, /:(plac\\w+)/, e + \"input-$1\")]\n })], i);\n }\n return \"\";\n });\n }\n}\nfunction be(e) {\n switch (e.type) {\n case c:\n e.props = e.props.map(function (r) {\n return B(Y(r), function (r, a, n) {\n switch (O(r, 0)) {\n case 12:\n return A(r, 1, M(r));\n case 0:\n case 40:\n case 43:\n case 62:\n case 126:\n return r;\n case 58:\n if (n[++a] === \"global\") n[a] = \"\", n[++a] = \"\\f\" + A(n[a], a = 1, -1);\n case 32:\n return a === 1 ? \"\" : r;\n default:\n switch (a) {\n case 0:\n e = r;\n return S(n) > 1 ? \"\" : r;\n case a = S(n) - 1:\n case 2:\n return a === 2 ? r + e + e : r + e;\n default:\n return r;\n }\n }\n });\n });\n }\n}\nexport { f as CHARSET, n as COMMENT, w as COUNTER_STYLE, s as DECLARATION, v as DOCUMENT, b as FONT_FACE, d as FONT_FEATURE_VALUES, i as IMPORT, h as KEYFRAMES, $ as LAYER, u as MEDIA, r as MOZ, e as MS, p as NAMESPACE, t as PAGE, c as RULESET, l as SUPPORTS, o as VIEWPORT, a as WEBKIT, g as abs, V as alloc, q as append, m as assign, R as caret, L as char, H as character, I as characters, O as charat, E as column, B as combine, ue as comment, ae as commenter, ce as compile, K as copy, W as dealloc, ie as declaration, X as delimit, re as delimiter, ee as escaping, k as from, x as hash, ne as identifier, C as indexof, F as length, D as line, j as match, ve as middleware, be as namespace, P as next, J as node, se as parse, Q as peek, G as position, fe as prefix, he as prefixer, N as prev, z as replace, te as ruleset, pe as rulesheet, oe as serialize, S as sizeof, T as slice, le as stringify, M as strlen, A as substr, U as token, Y as tokenize, _ as tokenizer, y as trim, Z as whitespace };","import { StyleSheet } from '@emotion/sheet';\nimport { dealloc, alloc, next, token, from, peek, delimit, slice, position, RULESET, combine, match, serialize, copy, replace, WEBKIT, MOZ, MS, KEYFRAMES, DECLARATION, hash, charat, strlen, indexof, stringify, COMMENT, rulesheet, middleware, compile } from 'stylis';\nimport '@emotion/weak-memoize';\nimport '@emotion/memoize';\nvar identifierWithPointTracking = function identifierWithPointTracking(begin, points, index) {\n var previous = 0;\n var character = 0;\n while (true) {\n previous = character;\n character = peek(); // &\\f\n\n if (previous === 38 && character === 12) {\n points[index] = 1;\n }\n if (token(character)) {\n break;\n }\n next();\n }\n return slice(begin, position);\n};\nvar toRules = function toRules(parsed, points) {\n // pretend we've started with a comma\n var index = -1;\n var character = 44;\n do {\n switch (token(character)) {\n case 0:\n // &\\f\n if (character === 38 && peek() === 12) {\n // this is not 100% correct, we don't account for literal sequences here - like for example quoted strings\n // stylis inserts \\f after & to know when & where it should replace this sequence with the context selector\n // and when it should just concatenate the outer and inner selectors\n // it's very unlikely for this sequence to actually appear in a different context, so we just leverage this fact here\n points[index] = 1;\n }\n parsed[index] += identifierWithPointTracking(position - 1, points, index);\n break;\n case 2:\n parsed[index] += delimit(character);\n break;\n case 4:\n // comma\n if (character === 44) {\n // colon\n parsed[++index] = peek() === 58 ? '&\\f' : '';\n points[index] = parsed[index].length;\n break;\n }\n\n // fallthrough\n\n default:\n parsed[index] += from(character);\n }\n } while (character = next());\n return parsed;\n};\nvar getRules = function getRules(value, points) {\n return dealloc(toRules(alloc(value), points));\n}; // WeakSet would be more appropriate, but only WeakMap is supported in IE11\n\nvar fixedElements = /* #__PURE__ */new WeakMap();\nvar compat = function compat(element) {\n if (element.type !== 'rule' || !element.parent ||\n // positive .length indicates that this rule contains pseudo\n // negative .length indicates that this rule has been already prefixed\n element.length < 1) {\n return;\n }\n var value = element.value,\n parent = element.parent;\n var isImplicitRule = element.column === parent.column && element.line === parent.line;\n while (parent.type !== 'rule') {\n parent = parent.parent;\n if (!parent) return;\n } // short-circuit for the simplest case\n\n if (element.props.length === 1 && value.charCodeAt(0) !== 58\n /* colon */ && !fixedElements.get(parent)) {\n return;\n } // if this is an implicitly inserted rule (the one eagerly inserted at the each new nested level)\n // then the props has already been manipulated beforehand as they that array is shared between it and its \"rule parent\"\n\n if (isImplicitRule) {\n return;\n }\n fixedElements.set(element, true);\n var points = [];\n var rules = getRules(value, points);\n var parentRules = parent.props;\n for (var i = 0, k = 0; i < rules.length; i++) {\n for (var j = 0; j < parentRules.length; j++, k++) {\n element.props[k] = points[i] ? rules[i].replace(/&\\f/g, parentRules[j]) : parentRules[j] + \" \" + rules[i];\n }\n }\n};\nvar removeLabel = function removeLabel(element) {\n if (element.type === 'decl') {\n var value = element.value;\n if (\n // charcode for l\n value.charCodeAt(0) === 108 &&\n // charcode for b\n value.charCodeAt(2) === 98) {\n // this ignores label\n element[\"return\"] = '';\n element.value = '';\n }\n }\n};\nvar ignoreFlag = 'emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason';\nvar isIgnoringComment = function isIgnoringComment(element) {\n return element.type === 'comm' && element.children.indexOf(ignoreFlag) > -1;\n};\nvar createUnsafeSelectorsAlarm = function createUnsafeSelectorsAlarm(cache) {\n return function (element, index, children) {\n if (element.type !== 'rule' || cache.compat) return;\n var unsafePseudoClasses = element.value.match(/(:first|:nth|:nth-last)-child/g);\n if (unsafePseudoClasses) {\n var isNested = !!element.parent; // in nested rules comments become children of the \"auto-inserted\" rule and that's always the `element.parent`\n //\n // considering this input:\n // .a {\n // .b /* comm */ {}\n // color: hotpink;\n // }\n // we get output corresponding to this:\n // .a {\n // & {\n // /* comm */\n // color: hotpink;\n // }\n // .b {}\n // }\n\n var commentContainer = isNested ? element.parent.children :\n // global rule at the root level\n children;\n for (var i = commentContainer.length - 1; i >= 0; i--) {\n var node = commentContainer[i];\n if (node.line < element.line) {\n break;\n } // it is quite weird but comments are *usually* put at `column: element.column - 1`\n // so we seek *from the end* for the node that is earlier than the rule's `element` and check that\n // this will also match inputs like this:\n // .a {\n // /* comm */\n // .b {}\n // }\n //\n // but that is fine\n //\n // it would be the easiest to change the placement of the comment to be the first child of the rule:\n // .a {\n // .b { /* comm */ }\n // }\n // with such inputs we wouldn't have to search for the comment at all\n // TODO: consider changing this comment placement in the next major version\n\n if (node.column < element.column) {\n if (isIgnoringComment(node)) {\n return;\n }\n break;\n }\n }\n unsafePseudoClasses.forEach(function (unsafePseudoClass) {\n console.error(\"The pseudo class \\\"\" + unsafePseudoClass + \"\\\" is potentially unsafe when doing server-side rendering. Try changing it to \\\"\" + unsafePseudoClass.split('-child')[0] + \"-of-type\\\".\");\n });\n }\n };\n};\nvar isImportRule = function isImportRule(element) {\n return element.type.charCodeAt(1) === 105 && element.type.charCodeAt(0) === 64;\n};\nvar isPrependedWithRegularRules = function isPrependedWithRegularRules(index, children) {\n for (var i = index - 1; i >= 0; i--) {\n if (!isImportRule(children[i])) {\n return true;\n }\n }\n return false;\n}; // use this to remove incorrect elements from further processing\n// so they don't get handed to the `sheet` (or anything else)\n// as that could potentially lead to additional logs which in turn could be overhelming to the user\n\nvar nullifyElement = function nullifyElement(element) {\n element.type = '';\n element.value = '';\n element[\"return\"] = '';\n element.children = '';\n element.props = '';\n};\nvar incorrectImportAlarm = function incorrectImportAlarm(element, index, children) {\n if (!isImportRule(element)) {\n return;\n }\n if (element.parent) {\n console.error(\"`@import` rules can't be nested inside other rules. Please move it to the top level and put it before regular rules. Keep in mind that they can only be used within global styles.\");\n nullifyElement(element);\n } else if (isPrependedWithRegularRules(index, children)) {\n console.error(\"`@import` rules can't be after other rules. Please put your `@import` rules before your other rules.\");\n nullifyElement(element);\n }\n};\n\n/* eslint-disable no-fallthrough */\n\nfunction prefix(value, length) {\n switch (hash(value, length)) {\n // color-adjust\n case 5103:\n return WEBKIT + 'print-' + value + value;\n // animation, animation-(delay|direction|duration|fill-mode|iteration-count|name|play-state|timing-function)\n\n case 5737:\n case 4201:\n case 3177:\n case 3433:\n case 1641:\n case 4457:\n case 2921: // text-decoration, filter, clip-path, backface-visibility, column, box-decoration-break\n\n case 5572:\n case 6356:\n case 5844:\n case 3191:\n case 6645:\n case 3005: // mask, mask-image, mask-(mode|clip|size), mask-(repeat|origin), mask-position, mask-composite,\n\n case 6391:\n case 5879:\n case 5623:\n case 6135:\n case 4599:\n case 4855: // background-clip, columns, column-(count|fill|gap|rule|rule-color|rule-style|rule-width|span|width)\n\n case 4215:\n case 6389:\n case 5109:\n case 5365:\n case 5621:\n case 3829:\n return WEBKIT + value + value;\n // appearance, user-select, transform, hyphens, text-size-adjust\n\n case 5349:\n case 4246:\n case 4810:\n case 6968:\n case 2756:\n return WEBKIT + value + MOZ + value + MS + value + value;\n // flex, flex-direction\n\n case 6828:\n case 4268:\n return WEBKIT + value + MS + value + value;\n // order\n\n case 6165:\n return WEBKIT + value + MS + 'flex-' + value + value;\n // align-items\n\n case 5187:\n return WEBKIT + value + replace(value, /(\\w+).+(:[^]+)/, WEBKIT + 'box-$1$2' + MS + 'flex-$1$2') + value;\n // align-self\n\n case 5443:\n return WEBKIT + value + MS + 'flex-item-' + replace(value, /flex-|-self/, '') + value;\n // align-content\n\n case 4675:\n return WEBKIT + value + MS + 'flex-line-pack' + replace(value, /align-content|flex-|-self/, '') + value;\n // flex-shrink\n\n case 5548:\n return WEBKIT + value + MS + replace(value, 'shrink', 'negative') + value;\n // flex-basis\n\n case 5292:\n return WEBKIT + value + MS + replace(value, 'basis', 'preferred-size') + value;\n // flex-grow\n\n case 6060:\n return WEBKIT + 'box-' + replace(value, '-grow', '') + WEBKIT + value + MS + replace(value, 'grow', 'positive') + value;\n // transition\n\n case 4554:\n return WEBKIT + replace(value, /([^-])(transform)/g, '$1' + WEBKIT + '$2') + value;\n // cursor\n\n case 6187:\n return replace(replace(replace(value, /(zoom-|grab)/, WEBKIT + '$1'), /(image-set)/, WEBKIT + '$1'), value, '') + value;\n // background, background-image\n\n case 5495:\n case 3959:\n return replace(value, /(image-set\\([^]*)/, WEBKIT + '$1' + '$`$1');\n // justify-content\n\n case 4968:\n return replace(replace(value, /(.+:)(flex-)?(.*)/, WEBKIT + 'box-pack:$3' + MS + 'flex-pack:$3'), /s.+-b[^;]+/, 'justify') + WEBKIT + value + value;\n // (margin|padding)-inline-(start|end)\n\n case 4095:\n case 3583:\n case 4068:\n case 2532:\n return replace(value, /(.+)-inline(.+)/, WEBKIT + '$1$2') + value;\n // (min|max)?(width|height|inline-size|block-size)\n\n case 8116:\n case 7059:\n case 5753:\n case 5535:\n case 5445:\n case 5701:\n case 4933:\n case 4677:\n case 5533:\n case 5789:\n case 5021:\n case 4765:\n // stretch, max-content, min-content, fill-available\n if (strlen(value) - 1 - length > 6) switch (charat(value, length + 1)) {\n // (m)ax-content, (m)in-content\n case 109:\n // -\n if (charat(value, length + 4) !== 45) break;\n // (f)ill-available, (f)it-content\n\n case 102:\n return replace(value, /(.+:)(.+)-([^]+)/, '$1' + WEBKIT + '$2-$3' + '$1' + MOZ + (charat(value, length + 3) == 108 ? '$3' : '$2-$3')) + value;\n // (s)tretch\n\n case 115:\n return ~indexof(value, 'stretch') ? prefix(replace(value, 'stretch', 'fill-available'), length) + value : value;\n }\n break;\n // position: sticky\n\n case 4949:\n // (s)ticky?\n if (charat(value, length + 1) !== 115) break;\n // display: (flex|inline-flex)\n\n case 6444:\n switch (charat(value, strlen(value) - 3 - (~indexof(value, '!important') && 10))) {\n // stic(k)y\n case 107:\n return replace(value, ':', ':' + WEBKIT) + value;\n // (inline-)?fl(e)x\n\n case 101:\n return replace(value, /(.+:)([^;!]+)(;|!.+)?/, '$1' + WEBKIT + (charat(value, 14) === 45 ? 'inline-' : '') + 'box$3' + '$1' + WEBKIT + '$2$3' + '$1' + MS + '$2box$3') + value;\n }\n break;\n // writing-mode\n\n case 5936:\n switch (charat(value, length + 11)) {\n // vertical-l(r)\n case 114:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb') + value;\n // vertical-r(l)\n\n case 108:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb-rl') + value;\n // horizontal(-)tb\n\n case 45:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'lr') + value;\n }\n return WEBKIT + value + MS + value + value;\n }\n return value;\n}\nvar prefixer = function prefixer(element, index, children, callback) {\n if (element.length > -1) if (!element[\"return\"]) switch (element.type) {\n case DECLARATION:\n element[\"return\"] = prefix(element.value, element.length);\n break;\n case KEYFRAMES:\n return serialize([copy(element, {\n value: replace(element.value, '@', '@' + WEBKIT)\n })], callback);\n case RULESET:\n if (element.length) return combine(element.props, function (value) {\n switch (match(value, /(::plac\\w+|:read-\\w+)/)) {\n // :read-(only|write)\n case ':read-only':\n case ':read-write':\n return serialize([copy(element, {\n props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]\n })], callback);\n // :placeholder\n\n case '::placeholder':\n return serialize([copy(element, {\n props: [replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1')]\n }), copy(element, {\n props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]\n }), copy(element, {\n props: [replace(value, /:(plac\\w+)/, MS + 'input-$1')]\n })], callback);\n }\n return '';\n });\n }\n};\nvar defaultStylisPlugins = [prefixer];\nvar createCache = function createCache(options) {\n var key = options.key;\n if (process.env.NODE_ENV !== 'production' && !key) {\n throw new Error(\"You have to configure `key` for your cache. Please make sure it's unique (and not equal to 'css') as it's used for linking styles to your cache.\\n\" + \"If multiple caches share the same key they might \\\"fight\\\" for each other's style elements.\");\n }\n if (key === 'css') {\n var ssrStyles = document.querySelectorAll(\"style[data-emotion]:not([data-s])\"); // get SSRed styles out of the way of React's hydration\n // document.head is a safe place to move them to(though note document.head is not necessarily the last place they will be)\n // note this very very intentionally targets all style elements regardless of the key to ensure\n // that creating a cache works inside of render of a React component\n\n Array.prototype.forEach.call(ssrStyles, function (node) {\n // we want to only move elements which have a space in the data-emotion attribute value\n // because that indicates that it is an Emotion 11 server-side rendered style elements\n // while we will already ignore Emotion 11 client-side inserted styles because of the :not([data-s]) part in the selector\n // Emotion 10 client-side inserted styles did not have data-s (but importantly did not have a space in their data-emotion attributes)\n // so checking for the space ensures that loading Emotion 11 after Emotion 10 has inserted some styles\n // will not result in the Emotion 10 styles being destroyed\n var dataEmotionAttribute = node.getAttribute('data-emotion');\n if (dataEmotionAttribute.indexOf(' ') === -1) {\n return;\n }\n document.head.appendChild(node);\n node.setAttribute('data-s', '');\n });\n }\n var stylisPlugins = options.stylisPlugins || defaultStylisPlugins;\n if (process.env.NODE_ENV !== 'production') {\n // $FlowFixMe\n if (/[^a-z-]/.test(key)) {\n throw new Error(\"Emotion key must only contain lower case alphabetical characters and - but \\\"\" + key + \"\\\" was passed\");\n }\n }\n var inserted = {};\n var container;\n var nodesToHydrate = [];\n {\n container = options.container || document.head;\n Array.prototype.forEach.call(\n // this means we will ignore elements which don't have a space in them which\n // means that the style elements we're looking at are only Emotion 11 server-rendered style elements\n document.querySelectorAll(\"style[data-emotion^=\\\"\" + key + \" \\\"]\"), function (node) {\n var attrib = node.getAttribute(\"data-emotion\").split(' '); // $FlowFixMe\n\n for (var i = 1; i < attrib.length; i++) {\n inserted[attrib[i]] = true;\n }\n nodesToHydrate.push(node);\n });\n }\n var _insert;\n var omnipresentPlugins = [compat, removeLabel];\n if (process.env.NODE_ENV !== 'production') {\n omnipresentPlugins.push(createUnsafeSelectorsAlarm({\n get compat() {\n return cache.compat;\n }\n }), incorrectImportAlarm);\n }\n {\n var currentSheet;\n var finalizingPlugins = [stringify, process.env.NODE_ENV !== 'production' ? function (element) {\n if (!element.root) {\n if (element[\"return\"]) {\n currentSheet.insert(element[\"return\"]);\n } else if (element.value && element.type !== COMMENT) {\n // insert empty rule in non-production environments\n // so @emotion/jest can grab `key` from the (JS)DOM for caches without any rules inserted yet\n currentSheet.insert(element.value + \"{}\");\n }\n }\n } : rulesheet(function (rule) {\n currentSheet.insert(rule);\n })];\n var serializer = middleware(omnipresentPlugins.concat(stylisPlugins, finalizingPlugins));\n var stylis = function stylis(styles) {\n return serialize(compile(styles), serializer);\n };\n _insert = function insert(selector, serialized, sheet, shouldCache) {\n currentSheet = sheet;\n if (process.env.NODE_ENV !== 'production' && serialized.map !== undefined) {\n currentSheet = {\n insert: function insert(rule) {\n sheet.insert(rule + serialized.map);\n }\n };\n }\n stylis(selector ? selector + \"{\" + serialized.styles + \"}\" : serialized.styles);\n if (shouldCache) {\n cache.inserted[serialized.name] = true;\n }\n };\n }\n var cache = {\n key: key,\n sheet: new StyleSheet({\n key: key,\n container: container,\n nonce: options.nonce,\n speedy: options.speedy,\n prepend: options.prepend,\n insertionPoint: options.insertionPoint\n }),\n nonce: options.nonce,\n inserted: inserted,\n registered: {},\n insert: _insert\n };\n cache.sheet.hydrate(nodesToHydrate);\n return cache;\n};\nexport { createCache as default };","import { __assign } from \"tslib\";\nfunction ItoI(a) {\n return a;\n}\nfunction innerCreateMedium(defaults, middleware) {\n if (middleware === void 0) {\n middleware = ItoI;\n }\n var buffer = [];\n var assigned = false;\n var medium = {\n read: function () {\n if (assigned) {\n throw new Error('Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.');\n }\n if (buffer.length) {\n return buffer[buffer.length - 1];\n }\n return defaults;\n },\n useMedium: function (data) {\n var item = middleware(data, assigned);\n buffer.push(item);\n return function () {\n buffer = buffer.filter(function (x) {\n return x !== item;\n });\n };\n },\n assignSyncMedium: function (cb) {\n assigned = true;\n while (buffer.length) {\n var cbs = buffer;\n buffer = [];\n cbs.forEach(cb);\n }\n buffer = {\n push: function (x) {\n return cb(x);\n },\n filter: function () {\n return buffer;\n }\n };\n },\n assignMedium: function (cb) {\n assigned = true;\n var pendingQueue = [];\n if (buffer.length) {\n var cbs = buffer;\n buffer = [];\n cbs.forEach(cb);\n pendingQueue = buffer;\n }\n var executeQueue = function () {\n var cbs = pendingQueue;\n pendingQueue = [];\n cbs.forEach(cb);\n };\n var cycle = function () {\n return Promise.resolve().then(executeQueue);\n };\n cycle();\n buffer = {\n push: function (x) {\n pendingQueue.push(x);\n cycle();\n },\n filter: function (filter) {\n pendingQueue = pendingQueue.filter(filter);\n return buffer;\n }\n };\n }\n };\n return medium;\n}\nexport function createMedium(defaults, middleware) {\n if (middleware === void 0) {\n middleware = ItoI;\n }\n return innerCreateMedium(defaults, middleware);\n}\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport function createSidecarMedium(options) {\n if (options === void 0) {\n options = {};\n }\n var medium = innerCreateMedium(null);\n medium.options = __assign({\n async: true,\n ssr: false\n }, options);\n return medium;\n}","export var zeroRightClassName = 'right-scroll-bar-position';\nexport var fullWidthClassName = 'width-before-scroll-bar';\nexport var noScrollbarsClassName = 'with-scroll-bars-hidden';\n/**\n * Name of a CSS variable containing the amount of \"hidden\" scrollbar\n * ! might be undefined ! use will fallback!\n */\nexport var removedBarSizeVariable = '--removed-body-scroll-bar-size';","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.withPrefix = withPrefix;\nexports.withAssetPrefix = withAssetPrefix;\nexports.navigateTo = exports.replace = exports.push = exports.navigate = exports.default = void 0;\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutPropertiesLoose\"));\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _inheritsLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inheritsLoose\"));\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _router = require(\"@reach/router\");\n\nvar _utils = require(\"@reach/router/lib/utils\");\n\nvar _parsePath = require(\"./parse-path\");\n\nexports.parsePath = _parsePath.parsePath;\n\nvar isAbsolutePath = function isAbsolutePath(path) {\n return path === null || path === void 0 ? void 0 : path.startsWith(\"/\");\n};\n\nfunction withPrefix(path, prefix) {\n var _ref, _prefix;\n\n if (prefix === void 0) {\n prefix = getGlobalBasePrefix();\n }\n\n if (!isLocalLink(path)) {\n return path;\n }\n\n if (path.startsWith(\"./\") || path.startsWith(\"../\")) {\n return path;\n }\n\n var base = (_ref = (_prefix = prefix) !== null && _prefix !== void 0 ? _prefix : getGlobalPathPrefix()) !== null && _ref !== void 0 ? _ref : \"/\";\n return \"\" + ((base === null || base === void 0 ? void 0 : base.endsWith(\"/\")) ? base.slice(0, -1) : base) + (path.startsWith(\"/\") ? path : \"/\" + path);\n} // These global values are wrapped in typeof clauses to ensure the values exist.\n// This is especially problematic in unit testing of this component.\n\n\nvar getGlobalPathPrefix = function getGlobalPathPrefix() {\n return process.env.NODE_ENV !== \"production\" ? typeof __PATH_PREFIX__ !== \"undefined\" ? __PATH_PREFIX__ : undefined : __PATH_PREFIX__;\n};\n\nvar getGlobalBasePrefix = function getGlobalBasePrefix() {\n return process.env.NODE_ENV !== \"production\" ? typeof __BASE_PATH__ !== \"undefined\" ? __BASE_PATH__ : undefined : __BASE_PATH__;\n};\n\nvar isLocalLink = function isLocalLink(path) {\n return path && !path.startsWith(\"http://\") && !path.startsWith(\"https://\") && !path.startsWith(\"//\");\n};\n\nfunction withAssetPrefix(path) {\n return withPrefix(path, getGlobalPathPrefix());\n}\n\nfunction absolutify(path, current) {\n // If it's already absolute, return as-is\n if (isAbsolutePath(path)) {\n return path;\n }\n\n return (0, _utils.resolve)(path, current);\n}\n\nvar rewriteLinkPath = function rewriteLinkPath(path, relativeTo) {\n if (typeof path === \"number\") {\n return path;\n }\n\n if (!isLocalLink(path)) {\n return path;\n }\n\n return isAbsolutePath(path) ? withPrefix(path) : absolutify(path, relativeTo);\n};\n\nvar NavLinkPropTypes = {\n activeClassName: _propTypes.default.string,\n activeStyle: _propTypes.default.object,\n partiallyActive: _propTypes.default.bool\n}; // Set up IntersectionObserver\n\nvar createIntersectionObserver = function createIntersectionObserver(el, cb) {\n var io = new window.IntersectionObserver(function (entries) {\n entries.forEach(function (entry) {\n if (el === entry.target) {\n // Check if element is within viewport, remove listener, destroy observer, and run link callback.\n // MSEdge doesn't currently support isIntersecting, so also test for an intersectionRatio > 0\n if (entry.isIntersecting || entry.intersectionRatio > 0) {\n io.unobserve(el);\n io.disconnect();\n cb();\n }\n }\n });\n }); // Add element to the observer\n\n io.observe(el);\n return {\n instance: io,\n el: el\n };\n};\n\nfunction GatsbyLinkLocationWrapper(props) {\n return /*#__PURE__*/_react.default.createElement(_router.Location, null, function (_ref2) {\n var location = _ref2.location;\n return /*#__PURE__*/_react.default.createElement(GatsbyLink, (0, _extends2.default)({}, props, {\n _location: location\n }));\n });\n}\n\nvar GatsbyLink = /*#__PURE__*/function (_React$Component) {\n (0, _inheritsLoose2.default)(GatsbyLink, _React$Component);\n\n function GatsbyLink(props) {\n var _this;\n\n _this = _React$Component.call(this, props) || this; // Default to no support for IntersectionObserver\n\n _this.defaultGetProps = function (_ref3) {\n var isPartiallyCurrent = _ref3.isPartiallyCurrent,\n isCurrent = _ref3.isCurrent;\n\n if (_this.props.partiallyActive ? isPartiallyCurrent : isCurrent) {\n return {\n className: [_this.props.className, _this.props.activeClassName].filter(Boolean).join(\" \"),\n style: (0, _extends2.default)({}, _this.props.style, _this.props.activeStyle)\n };\n }\n\n return null;\n };\n\n var IOSupported = false;\n\n if (typeof window !== \"undefined\" && window.IntersectionObserver) {\n IOSupported = true;\n }\n\n _this.state = {\n IOSupported: IOSupported\n };\n _this.handleRef = _this.handleRef.bind((0, _assertThisInitialized2.default)(_this));\n return _this;\n }\n\n var _proto = GatsbyLink.prototype;\n\n _proto._prefetch = function _prefetch() {\n var currentPath = window.location.pathname; // reach router should have the correct state\n\n if (this.props._location && this.props._location.pathname) {\n currentPath = this.props._location.pathname;\n }\n\n var rewrittenPath = rewriteLinkPath(this.props.to, currentPath);\n var newPathName = (0, _parsePath.parsePath)(rewrittenPath).pathname; // Prefech is used to speed up next navigations. When you use it on the current navigation,\n // there could be a race-condition where Chrome uses the stale data instead of waiting for the network to complete\n\n if (currentPath !== newPathName) {\n ___loader.enqueue(newPathName);\n }\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {\n // Preserve non IO functionality if no support\n if (this.props.to !== prevProps.to && !this.state.IOSupported) {\n this._prefetch();\n }\n };\n\n _proto.componentDidMount = function componentDidMount() {\n // Preserve non IO functionality if no support\n if (!this.state.IOSupported) {\n this._prefetch();\n }\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n if (!this.io) {\n return;\n }\n\n var _this$io = this.io,\n instance = _this$io.instance,\n el = _this$io.el;\n instance.unobserve(el);\n instance.disconnect();\n };\n\n _proto.handleRef = function handleRef(ref) {\n var _this2 = this;\n\n if (this.props.innerRef && this.props.innerRef.hasOwnProperty(\"current\")) {\n this.props.innerRef.current = ref;\n } else if (this.props.innerRef) {\n this.props.innerRef(ref);\n }\n\n if (this.state.IOSupported && ref) {\n // If IO supported and element reference found, setup Observer functionality\n this.io = createIntersectionObserver(ref, function () {\n _this2._prefetch();\n });\n }\n };\n\n _proto.render = function render() {\n var _this3 = this;\n\n var _this$props = this.props,\n to = _this$props.to,\n _this$props$getProps = _this$props.getProps,\n getProps = _this$props$getProps === void 0 ? this.defaultGetProps : _this$props$getProps,\n _onClick = _this$props.onClick,\n _onMouseEnter = _this$props.onMouseEnter,\n $activeClassName = _this$props.activeClassName,\n $activeStyle = _this$props.activeStyle,\n $innerRef = _this$props.innerRef,\n partiallyActive = _this$props.partiallyActive,\n state = _this$props.state,\n replace = _this$props.replace,\n _location = _this$props._location,\n rest = (0, _objectWithoutPropertiesLoose2.default)(_this$props, [\"to\", \"getProps\", \"onClick\", \"onMouseEnter\", \"activeClassName\", \"activeStyle\", \"innerRef\", \"partiallyActive\", \"state\", \"replace\", \"_location\"]);\n\n if (process.env.NODE_ENV !== \"production\" && !isLocalLink(to)) {\n console.warn(\"External link \" + to + \" was detected in a Link component. Use the Link component only for internal links. See: https://gatsby.dev/internal-links\");\n }\n\n var prefixedTo = rewriteLinkPath(to, _location.pathname);\n\n if (!isLocalLink(prefixedTo)) {\n return /*#__PURE__*/_react.default.createElement(\"a\", (0, _extends2.default)({\n href: prefixedTo\n }, rest));\n }\n\n return /*#__PURE__*/_react.default.createElement(_router.Link, (0, _extends2.default)({\n to: prefixedTo,\n state: state,\n getProps: getProps,\n innerRef: this.handleRef,\n onMouseEnter: function onMouseEnter(e) {\n if (_onMouseEnter) {\n _onMouseEnter(e);\n }\n\n ___loader.hovering((0, _parsePath.parsePath)(prefixedTo).pathname);\n },\n onClick: function onClick(e) {\n if (_onClick) {\n _onClick(e);\n }\n\n if (e.button === 0 && // ignore right clicks\n !_this3.props.target && // let browser handle \"target=_blank\"\n !e.defaultPrevented && // onClick prevented default\n !e.metaKey && // ignore clicks with modifier keys...\n !e.altKey && !e.ctrlKey && !e.shiftKey) {\n e.preventDefault();\n var shouldReplace = replace;\n\n var isCurrent = encodeURI(prefixedTo) === _location.pathname;\n\n if (typeof replace !== \"boolean\" && isCurrent) {\n shouldReplace = true;\n } // Make sure the necessary scripts and data are\n // loaded before continuing.\n\n\n window.___navigate(prefixedTo, {\n state: state,\n replace: shouldReplace\n });\n }\n\n return true;\n }\n }, rest));\n };\n\n return GatsbyLink;\n}(_react.default.Component);\n\nGatsbyLink.propTypes = (0, _extends2.default)({}, NavLinkPropTypes, {\n onClick: _propTypes.default.func,\n to: _propTypes.default.string.isRequired,\n replace: _propTypes.default.bool,\n state: _propTypes.default.object\n});\n\nvar showDeprecationWarning = function showDeprecationWarning(functionName, altFunctionName, version) {\n return console.warn(\"The \\\"\" + functionName + \"\\\" method is now deprecated and will be removed in Gatsby v\" + version + \". Please use \\\"\" + altFunctionName + \"\\\" instead.\");\n};\n\nvar _default = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n return /*#__PURE__*/_react.default.createElement(GatsbyLinkLocationWrapper, (0, _extends2.default)({\n innerRef: ref\n }, props));\n});\n\nexports.default = _default;\n\nvar navigate = function navigate(to, options) {\n window.___navigate(rewriteLinkPath(to, window.location.pathname), options);\n};\n\nexports.navigate = navigate;\n\nvar push = function push(to) {\n showDeprecationWarning(\"push\", \"navigate\", 3);\n\n window.___push(rewriteLinkPath(to, window.location.pathname));\n};\n\nexports.push = push;\n\nvar replace = function replace(to) {\n showDeprecationWarning(\"replace\", \"navigate\", 3);\n\n window.___replace(rewriteLinkPath(to, window.location.pathname));\n}; // TODO: Remove navigateTo for Gatsby v3\n\n\nexports.replace = replace;\n\nvar navigateTo = function navigateTo(to) {\n showDeprecationWarning(\"navigateTo\", \"navigate\", 3);\n return push(to);\n};\n\nexports.navigateTo = navigateTo;","'use strict';\n// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","\"use strict\";\n\nexports.__esModule = true;\nexports.SessionStorage = void 0;\nvar STATE_KEY_PREFIX = \"@@scroll|\";\nvar GATSBY_ROUTER_SCROLL_STATE = \"___GATSBY_REACT_ROUTER_SCROLL\";\n\nvar SessionStorage = /*#__PURE__*/function () {\n function SessionStorage() {}\n\n var _proto = SessionStorage.prototype;\n\n _proto.read = function read(location, key) {\n var stateKey = this.getStateKey(location, key);\n\n try {\n var value = window.sessionStorage.getItem(stateKey);\n return value ? JSON.parse(value) : 0;\n } catch (e) {\n if (process.env.NODE_ENV !== \"production\") {\n console.warn(\"[gatsby-react-router-scroll] Unable to access sessionStorage; sessionStorage is not available.\");\n }\n\n if (window && window[GATSBY_ROUTER_SCROLL_STATE] && window[GATSBY_ROUTER_SCROLL_STATE][stateKey]) {\n return window[GATSBY_ROUTER_SCROLL_STATE][stateKey];\n }\n\n return 0;\n }\n };\n\n _proto.save = function save(location, key, value) {\n var stateKey = this.getStateKey(location, key);\n var storedValue = JSON.stringify(value);\n\n try {\n window.sessionStorage.setItem(stateKey, storedValue);\n } catch (e) {\n if (window && window[GATSBY_ROUTER_SCROLL_STATE]) {\n window[GATSBY_ROUTER_SCROLL_STATE][stateKey] = JSON.parse(storedValue);\n } else {\n window[GATSBY_ROUTER_SCROLL_STATE] = {};\n window[GATSBY_ROUTER_SCROLL_STATE][stateKey] = JSON.parse(storedValue);\n }\n\n if (process.env.NODE_ENV !== \"production\") {\n console.warn(\"[gatsby-react-router-scroll] Unable to save state in sessionStorage; sessionStorage is not available.\");\n }\n }\n };\n\n _proto.getStateKey = function getStateKey(location, key) {\n var stateKeyBase = \"\" + STATE_KEY_PREFIX + location.pathname;\n return key === null || typeof key === \"undefined\" ? stateKeyBase : stateKeyBase + \"|\" + key;\n };\n\n return SessionStorage;\n}();\n\nexports.SessionStorage = SessionStorage;","import _taggedTemplateLiteral from '@babel/runtime/helpers/esm/taggedTemplateLiteral';\nimport { css, useTheme, jsx } from '@emotion/react';\nimport { math, stripUnit, remToPx } from 'polished';\nimport { utilStyles, ZINDEX_DROPDOWN, uniqueId, hasWindow, hasDocument, KeyboardCode } from '@paypalcorp/pp-react-utils';\nimport { textStyles, BodyText, CaptionText } from '@paypalcorp/pp-react-text';\nimport _slicedToArray from '@babel/runtime/helpers/esm/slicedToArray';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';\nimport React, { useRef, useState, useMemo, useLayoutEffect, useEffect } from 'react';\nimport { CheckmarkIcon } from '@paypalcorp/pp-react-icons';\nimport { LoadingSpinner } from '@paypalcorp/pp-react-loading-spinner';\nimport { Sheet } from '@paypalcorp/pp-react-modal';\nvar _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8;\nfunction menuListStyles(tokens) {\n /* istanbul ignore next */\n if (!Object.keys(tokens).length) {\n console.warn('Missing Emotion theme. Use ThemeProvider from @emotion/react to pass a valid theme from pp-react.');\n return {};\n }\n var sysColorBackgroundSurface = tokens.sysColorBackgroundSurface,\n sysColorBackgroundSurfaceHover = tokens.sysColorBackgroundSurfaceHover,\n sysColorBackgroundSurfaceActive = tokens.sysColorBackgroundSurfaceActive,\n sysColorBackgroundMediumContrast = tokens.sysColorBackgroundMediumContrast,\n sysBorderRadiusSm = tokens.sysBorderRadiusSm,\n sysBorderRadiusLg = tokens.sysBorderRadiusLg,\n sysSpaceXs = tokens.sysSpaceXs,\n sysSpaceSm = tokens.sysSpaceSm,\n sysSpaceMd = tokens.sysSpaceMd,\n sysSpaceLg = tokens.sysSpaceLg,\n sysBorderThicknessNormal = tokens.sysBorderThicknessNormal,\n sysBorderThicknessFocusOutline = tokens.sysBorderThicknessFocusOutline,\n sysSizeMediaMd = tokens.sysSizeMediaMd;\n var _utilStyles = utilStyles(tokens),\n elevationStyles = _utilStyles.elevationStyles,\n focusStyles = _utilStyles.focusStyles;\n var _textStyles = textStyles(tokens),\n textBody = _textStyles.body,\n textCaption = _textStyles.caption; // component specific tokens\n\n var menuListWidthMin = '8rem';\n\n // 34px\n function menuContainer() {\n var args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _args$borderRadius = args.borderRadius,\n borderRadius = _args$borderRadius === void 0 ? sysBorderRadiusLg : _args$borderRadius,\n _args$backgroundColor = args.backgroundColor,\n backgroundColor = _args$backgroundColor === void 0 ? sysColorBackgroundSurface : _args$backgroundColor,\n _args$marginTop = args.marginTop,\n marginTop = _args$marginTop === void 0 ? sysSpaceXs : _args$marginTop,\n _args$maxHeight = args.maxHeight,\n maxHeight = _args$maxHeight === void 0 ? '30rem' : _args$maxHeight,\n _args$minWidth = args.minWidth,\n minWidth = _args$minWidth === void 0 ? menuListWidthMin : _args$minWidth,\n _args$outline = args.outline,\n outline = _args$outline === void 0 ? sysBorderThicknessNormal : _args$outline;\n return css(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n label: menu_container;\\n border-radius: \", \";\\n min-width: \", \";\\n max-height: \", \";\\n overflow-y: auto;\\n overflow-x: hidden;\\n position: absolute;\\n margin-top: \", \";\\n \", \";\\n background-color: \", \";\\n outline: \", \" solid transparent; // for HCM View\\n z-index: \", \";\\n \"])), borderRadius, minWidth, maxHeight, marginTop, elevationStyles.level3, backgroundColor, outline, ZINDEX_DROPDOWN);\n }\n function menuList() {\n var args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _args$paddingBottom = args.paddingBottom,\n paddingBottom = _args$paddingBottom === void 0 ? '2.125rem' : _args$paddingBottom,\n _args$paddingTop = args.paddingTop,\n paddingTop = _args$paddingTop === void 0 ? sysSpaceSm : _args$paddingTop,\n _args$desktopPaddingB = args.desktopPaddingBottom,\n desktopPaddingBottom = _args$desktopPaddingB === void 0 ? sysSpaceSm : _args$desktopPaddingB,\n _args$desktopPaddingT = args.desktopPaddingTop,\n desktopPaddingTop = _args$desktopPaddingT === void 0 ? sysSpaceSm : _args$desktopPaddingT;\n return css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral([\"\\n label: list;\\n list-style: none;\\n margin: 0;\\n padding: \", \" 0 \", \" 0;\\n background-color: transparent;\\n @media (min-width: \", \") {\\n padding-bottom: \", \";\\n padding-top: \", \";\\n }\\n \"])), paddingTop, paddingBottom, sysSizeMediaMd, desktopPaddingBottom, desktopPaddingTop);\n }\n function menuListItem() {\n var args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _args$paddingTop2 = args.paddingTop,\n paddingTop = _args$paddingTop2 === void 0 ? sysSpaceMd : _args$paddingTop2,\n _args$paddingRight = args.paddingRight,\n paddingRight = _args$paddingRight === void 0 ? sysSpaceLg : _args$paddingRight,\n _args$paddingBottom2 = args.paddingBottom,\n paddingBottom = _args$paddingBottom2 === void 0 ? sysSpaceMd : _args$paddingBottom2,\n _args$paddingLeft = args.paddingLeft,\n paddingLeft = _args$paddingLeft === void 0 ? sysSpaceLg : _args$paddingLeft,\n _args$desktopPaddingB2 = args.desktopPaddingBottom,\n desktopPaddingBottom = _args$desktopPaddingB2 === void 0 ? sysSpaceSm : _args$desktopPaddingB2,\n _args$desktopPaddingT2 = args.desktopPaddingTop,\n desktopPaddingTop = _args$desktopPaddingT2 === void 0 ? sysSpaceSm : _args$desktopPaddingT2,\n _args$hoverBgColor = args.hoverBgColor,\n hoverBgColor = _args$hoverBgColor === void 0 ? sysColorBackgroundSurfaceHover : _args$hoverBgColor,\n _args$activeBgColor = args.activeBgColor,\n activeBgColor = _args$activeBgColor === void 0 ? sysColorBackgroundSurfaceActive : _args$activeBgColor;\n return css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral([\"\\n label: list_item;\\n padding: \", \" \", \" \", \" \", \";\\n outline: none;\\n position: relative;\\n display: flex;\\n align-items: center;\\n cursor: pointer;\\n\\n @media (min-width: \", \") {\\n padding-bottom: \", \";\\n padding-top: \", \";\\n }\\n\\n &:hover {\\n background-color: \", \";\\n }\\n\\n &:active {\\n background-color: \", \";\\n }\\n \"])), paddingTop, paddingRight, paddingBottom, paddingLeft, sysSizeMediaMd, desktopPaddingBottom, desktopPaddingTop, hoverBgColor, activeBgColor);\n }\n function menuItemThumbnail() {\n var args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _args$marginRightLeft = args.marginRightLeft,\n marginRightLeft = _args$marginRightLeft === void 0 ? sysSpaceMd : _args$marginRightLeft;\n return css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral([\"\\n label: thumbnail;\\n display: flex;\\n align-items: center;\\n margin-right: \", \";\\n min-height: auto;\\n [dir='rtl'] & {\\n margin-right: 0;\\n margin-left: \", \";\\n }\\n pointer-events: none;\\n \"])), marginRightLeft, marginRightLeft);\n }\n function menuItemText() {\n return css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral([\"\\n label: item_text;\\n margin: 0; /* overwrite default margin */\\n pointer-events: none;\\n \", \";\\n \"])), textBody());\n }\n function menuSecondaryText() {\n var args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _args$paddingTop3 = args.paddingTop,\n paddingTop = _args$paddingTop3 === void 0 ? sysSpaceXs : _args$paddingTop3;\n return css(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral([\"\\n label: secondary_text;\\n display: -webkit-box;\\n padding-top: \", \";\\n pointer-events: none;\\n \", \";\\n \"])), paddingTop, textCaption({\n color: sysColorBackgroundMediumContrast\n }));\n }\n function menuLoadingContainer() {\n return css(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral([\"\\n label: loading_container;\\n display: flex;\\n height: 100%;\\n align-items: center;\\n justify-content: center;\\n \"])));\n }\n function menuKeyboardActive() {\n var args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _args$horizontalOffse = args.horizontalOffset,\n horizontalOffset = _args$horizontalOffse === void 0 ? sysBorderThicknessFocusOutline : _args$horizontalOffse,\n _args$radius = args.radius,\n radius = _args$radius === void 0 ? sysBorderRadiusSm : _args$radius;\n return css(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral([\"\\n label: keyboard_active;\\n &:focus {\\n &:after {\\n \", \"\\n z-index: 1; // to keep focus indicator on top of hover\\n }\\n }\\n \"])), focusStyles.offsetFocusAfter({\n horizontalOffset: horizontalOffset,\n radius: radius,\n verticalOffset: '0rem'\n }));\n }\n return {\n menuContainer: menuContainer,\n menuList: menuList,\n menuListItem: menuListItem,\n menuItemThumbnail: menuItemThumbnail,\n menuItemText: menuItemText,\n menuSecondaryText: menuSecondaryText,\n menuLoadingContainer: menuLoadingContainer,\n menuKeyboardActive: menuKeyboardActive,\n menuListWidthMin: menuListWidthMin,\n menuListWidthMax: '67.5rem'\n };\n}\nvar _templateObject$1, _templateObject2$1, _templateObject3$1, _templateObject4$1, _templateObject5$1, _templateObject6$1;\nfunction styles(tokens) {\n /* istanbul ignore next */\n if (!Object.keys(tokens).length) {\n console.warn('Missing Emotion theme. Use ThemeProvider from @emotion/react to pass a valid theme from pp-react.');\n return {};\n }\n var sysSpaceSm = tokens.sysSpaceSm,\n sysSpaceLg = tokens.sysSpaceLg,\n sysSizeCircleSm = tokens.sysSizeCircleSm,\n sysSizeIconSm = tokens.sysSizeIconSm,\n sysColorBackgroundSurfaceHover = tokens.sysColorBackgroundSurfaceHover;\n var _menuListStyles = menuListStyles(tokens),\n menuContainer = _menuListStyles.menuContainer,\n menuList = _menuListStyles.menuList,\n menuListItem = _menuListStyles.menuListItem,\n menuItemThumbnail = _menuListStyles.menuItemThumbnail,\n menuItemText = _menuListStyles.menuItemText,\n menuSecondaryText = _menuListStyles.menuSecondaryText,\n menuLoadingContainer = _menuListStyles.menuLoadingContainer,\n menuKeyboardActive = _menuListStyles.menuKeyboardActive;\n var sMenuItemTextSelectedSpacing = math(\"\".concat(sysSizeIconSm, \" + \").concat(sysSpaceSm)); // 24px + 8px\n\n var selectionMenuList = css(_templateObject$1 || (_templateObject$1 = _taggedTemplateLiteral([\"\\n \", \";\\n \"])), menuList({\n paddingTop: 0\n })); // selection menu\n\n var selectionMenuItemText = css(_templateObject2$1 || (_templateObject2$1 = _taggedTemplateLiteral([\"\\n \", \";\\n margin-right: \", \";\\n\\n [dir='rtl'] & {\\n margin-right: 0;\\n margin-left: \", \";\\n }\\n \"])), menuItemText(), sMenuItemTextSelectedSpacing, sMenuItemTextSelectedSpacing);\n var selectedIcon = css(_templateObject3$1 || (_templateObject3$1 = _taggedTemplateLiteral([\"\\n label: selected_icon;\\n position: absolute;\\n top: 50%;\\n right: \", \";\\n transform: translateY(-50%);\\n\\n [dir='rtl'] & {\\n left: \", \";\\n right: auto;\\n }\\n \"])), sysSpaceLg, sysSpaceLg);\n var itemThumbnailImage = css(_templateObject4$1 || (_templateObject4$1 = _taggedTemplateLiteral([\"\\n label: thumbnail_image;\\n width: \", \";\\n \"])), sysSizeCircleSm);\n var itemHilite = css(_templateObject5$1 || (_templateObject5$1 = _taggedTemplateLiteral([\"\\n label: hilite;\\n background-color: \", \";\\n \"])), sysColorBackgroundSurfaceHover);\n var unselectable = css(_templateObject6$1 || (_templateObject6$1 = _taggedTemplateLiteral([\"\\n label: unselectable;\\n pointer-events: none;\\n \"])));\n return {\n menuContainer: menuContainer,\n menuList: menuList,\n menuListItem: menuListItem,\n menuItemText: menuItemText,\n menuSecondaryText: menuSecondaryText,\n menuItemThumbnail: menuItemThumbnail,\n menuLoadingContainer: menuLoadingContainer,\n menuKeyboardActive: menuKeyboardActive,\n selectionMenuList: selectionMenuList,\n selectionMenuItemText: selectionMenuItemText,\n selectedIcon: selectedIcon,\n itemThumbnailImage: itemThumbnailImage,\n itemHilite: itemHilite,\n unselectable: unselectable,\n menuListStyles: menuListStyles\n };\n}\nvar _excluded = [\"menuName\", \"primaryText\", \"primaryTextLineClamp\", \"secondaryText\", \"secondaryTextLineClamp\", \"decoration\", \"id\", \"value\", \"isFocused\", \"isHilite\", \"isSelected\", \"onItemClick\", \"className\", \"unselectable\", \"isLoadingOptions\", \"isMobile\", \"keyboardActive\"],\n _excluded2 = [\"name\", \"value\", \"className\", \"containerClassName\", \"itemClassName\", \"mobileHeaderClassName\", \"sheetClassName\", \"sheetWrapperClassName\", \"id\", \"initialItemFocus\", \"isOpen\", \"ignoreKeyboard\", \"mobileTitle\", \"mobileHeaderContents\", \"outsideClickCheck\", \"onOpen\", \"onClose\", \"onSelection\", \"options\", \"returnFocusToTrigger\", \"selectedIndex\", \"activeItem\", \"triggerElementId\", \"triggerElementRef\", \"rtl\", \"isLoadingOptions\", \"searchEnabled\", \"mobileFixedHeight\"];\nvar ANIMATION_DELAY = 700; //increased ANIMATION_DELAY to 700, so the scroll event can trigger after the sheet-input focus event for the MWeb\n\n/* eslint-disable react/prop-types */\n\nvar SelectionMenuOption = function (_ref) {\n var menuName = _ref.menuName,\n primaryText = _ref.primaryText,\n primaryTextLineClamp = _ref.primaryTextLineClamp,\n secondaryText = _ref.secondaryText,\n secondaryTextLineClamp = _ref.secondaryTextLineClamp,\n decoration = _ref.decoration,\n optionId = _ref.id,\n value = _ref.value,\n isFocused = _ref.isFocused,\n isHilite = _ref.isHilite,\n isSelected = _ref.isSelected,\n onItemClick = _ref.onItemClick,\n className = _ref.className,\n unselectable = _ref.unselectable,\n isLoadingOptions = _ref.isLoadingOptions,\n isMobile = _ref.isMobile,\n keyboardActive = _ref.keyboardActive,\n rest = _objectWithoutProperties(_ref, _excluded);\n var optionRef = useRef(null);\n var itemId = optionId || \"\".concat(menuName, \"_item_\").concat(value);\n var tokens = useTheme();\n var _styles = useMemo(function () {\n return styles(tokens);\n }, [tokens]);\n var itemCssVal = [_styles.menuListItem, keyboardActive && _styles.menuKeyboardActive, unselectable && _styles.unselectable, isHilite && _styles.itemHilite];\n /* istanbul ignore next */\n\n var scrollIntoSelection = function (option) {\n var _option$parentElement;\n var container = option === null || option === void 0 ? void 0 : (_option$parentElement = option.parentElement) === null || _option$parentElement === void 0 ? void 0 : _option$parentElement.parentElement;\n if (container) {\n var boundingBox = container.getBoundingClientRect();\n var optionBox = option.getBoundingClientRect();\n if (optionBox.bottom > boundingBox.bottom || optionBox.top < boundingBox.top) {\n option.scrollIntoView({\n block: 'nearest',\n behavior: 'smooth'\n });\n }\n }\n };\n /* istanbul ignore next */\n\n useEffect(function () {\n if (optionRef && optionRef.current) {\n var option = optionRef.current;\n if (isFocused) {\n option.focus();\n }\n if (isFocused || isHilite || isSelected) {\n scrollIntoSelection(option);\n }\n }\n }, [isHilite, isFocused, isSelected]);\n /* istanbul ignore next */\n\n useEffect(function () {\n setTimeout(function () {\n if (optionRef && optionRef.current && isMobile && isSelected) {\n var option = optionRef.current;\n if (isFocused || isSelected) {\n scrollIntoSelection(option);\n }\n }\n }, ANIMATION_DELAY); // Animator component is delayed\n }, []); // This needs to only run first time\n\n var thumbnail = decoration && jsx(\"div\", {\n css: _styles.menuItemThumbnail,\n \"data-ppui\": \"true\"\n }, decoration);\n return jsx(\"li\", _extends({\n css: itemCssVal,\n className: className,\n id: itemId,\n role: \"option\",\n \"aria-selected\": isSelected,\n tabIndex: -1,\n \"data-value\": value,\n ref: optionRef,\n onClick: onItemClick\n }, rest, {\n \"data-ppui\": \"true\"\n }), thumbnail, jsx(\"p\", {\n css: _styles.selectionMenuItemText,\n \"data-ppui\": \"true\"\n }, jsx(BodyText, {\n strong: isSelected,\n as: \"span\",\n clampAtLine: primaryTextLineClamp,\n \"data-ppui\": \"true\"\n }, primaryText), secondaryText && jsx(CaptionText, {\n css: _styles.menuSecondaryText,\n as: \"span\",\n clampAtLine: secondaryTextLineClamp,\n \"data-ppui\": \"true\"\n }, secondaryText), isSelected && jsx(CheckmarkIcon, {\n size: \"sm\",\n css: _styles.selectedIcon,\n color: \"SelectedMain\",\n \"data-ppui\": \"true\"\n })));\n};\nvar findValue = function (optionsList, value) {\n return optionsList.findIndex(function (option) {\n return value === option.value || value === option.primaryText;\n });\n};\n/*\n * Sigh... We need this if you want to use useState() from a \"global\" event handler\n * Otherwise you will get the old value of state and it won't ever appear to change.\n * This stores the state (to get refresh) and also stashes it into a ref, which\n * will always be up-to-date\n *\n * Love, BCC\n */\n\nfunction useReferredState(initialValue) {\n var _React$useState = React.useState(initialValue),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n state = _React$useState2[0],\n setState = _React$useState2[1];\n var reference = React.useRef(state);\n return [reference, function setReferredState(value) {\n reference.current = value;\n setState(value);\n }];\n} // These are things a trigger should accept/require to pass along to a menu\n\nvar SelectionMenu = function (_ref2) {\n var _styles$menuListStyle;\n var _ref2$name = _ref2.name,\n name = _ref2$name === void 0 ? 'smenu' : _ref2$name,\n value = _ref2.value,\n className = _ref2.className,\n containerClassName = _ref2.containerClassName,\n itemClassName = _ref2.itemClassName,\n mobileHeaderClassName = _ref2.mobileHeaderClassName,\n sheetClassName = _ref2.sheetClassName,\n sheetWrapperClassName = _ref2.sheetWrapperClassName,\n _ref2$id = _ref2.id,\n id = _ref2$id === void 0 ? uniqueId('selectionMenu_') : _ref2$id,\n _ref2$initialItemFocu = _ref2.initialItemFocus,\n initialItemFocus = _ref2$initialItemFocu === void 0 ? true : _ref2$initialItemFocu,\n isOpen = _ref2.isOpen,\n ignoreKeyboard = _ref2.ignoreKeyboard,\n mobileTitle = _ref2.mobileTitle,\n mobileHeaderContents = _ref2.mobileHeaderContents,\n outsideClickCheck = _ref2.outsideClickCheck,\n onOpen = _ref2.onOpen,\n onClose = _ref2.onClose,\n onSelection = _ref2.onSelection,\n options = _ref2.options,\n _ref2$returnFocusToTr = _ref2.returnFocusToTrigger,\n returnFocusToTrigger = _ref2$returnFocusToTr === void 0 ? true : _ref2$returnFocusToTr,\n _ref2$selectedIndex = _ref2.selectedIndex,\n selectedIndex = _ref2$selectedIndex === void 0 ? 0 : _ref2$selectedIndex,\n _ref2$activeItem = _ref2.activeItem,\n activeItem = _ref2$activeItem === void 0 ? -1 : _ref2$activeItem,\n triggerElementId = _ref2.triggerElementId,\n triggerElementRef = _ref2.triggerElementRef,\n _ref2$rtl = _ref2.rtl,\n rtl = _ref2$rtl === void 0 ? false : _ref2$rtl,\n _ref2$isLoadingOption = _ref2.isLoadingOptions,\n isLoadingOptions = _ref2$isLoadingOption === void 0 ? false : _ref2$isLoadingOption,\n _ref2$searchEnabled = _ref2.searchEnabled,\n searchEnabled = _ref2$searchEnabled === void 0 ? false : _ref2$searchEnabled,\n mobileFixedHeight = _ref2.mobileFixedHeight,\n rest = _objectWithoutProperties(_ref2, _excluded2);\n var wrapperRef = useRef();\n var menuRef = useRef();\n var loaderRef = useRef();\n var searchText = useRef('');\n var typeToFindTimer;\n var validateOptions = options && options.length;\n var _useReferredState = useReferredState(initialItemFocus ? selectedIndex : -1),\n _useReferredState2 = _slicedToArray(_useReferredState, 2),\n focusedIndexRef = _useReferredState2[0],\n setFocusedIndex = _useReferredState2[1];\n var _useState = useState(true),\n _useState2 = _slicedToArray(_useState, 2),\n keyboardActive = _useState2[0],\n setKeyboardActive = _useState2[1];\n var tokens = useTheme();\n var _styles = useMemo(function () {\n return styles(tokens);\n }, [tokens]);\n /* istanbul ignore next */\n\n var _ref3 = ((_styles$menuListStyle = _styles.menuListStyles) === null || _styles$menuListStyle === void 0 ? void 0 : _styles$menuListStyle.call(_styles, tokens)) || {},\n menuListWidthMin = _ref3.menuListWidthMin,\n menuListWidthMax = _ref3.menuListWidthMax;\n var sysSizeMediaMd = tokens.sysSizeMediaMd; // min and max width for ul/li convert into PX\n\n var MIN_WIDTH = stripUnit(remToPx(menuListWidthMin, '16px'));\n var MAX_WIDTH = stripUnit(remToPx(menuListWidthMax, '16px'));\n var MEDIUM_BREAKPOINT = \"\".concat(stripUnit(remToPx(sysSizeMediaMd, '16px')));\n /* istanbul ignore next */\n\n var isMobile = hasWindow() ? window.innerWidth < parseInt(MEDIUM_BREAKPOINT, 10) : false;\n var getRefCurrent = function (ref) {\n return (/* istanbul ignore next */\n ref && ref.current ? ref.current : null\n );\n };\n /**\n * To enable support for `shadow-dom` get the trigger element from `ref` or by `id`\n */\n\n var TRIGGER_ELEMENT = function getTriggerElement() {\n var triggerElement = getRefCurrent(triggerElementRef);\n /* istanbul ignore next */\n\n if (triggerElement) {\n return triggerElement;\n } // need to check existence of document object for SSR\n\n if (triggerElementId && hasDocument()) {\n return document.getElementById(triggerElementId);\n }\n return null;\n }();\n var calculateWidth = function () {\n var triggerWidth = TRIGGER_ELEMENT === null || TRIGGER_ELEMENT === void 0 ? void 0 : TRIGGER_ELEMENT.getBoundingClientRect().width;\n if (isLoadingOptions) {\n var loader = getRefCurrent(loaderRef);\n /* istanbul ignore next */\n\n loader.style.width = triggerWidth ? \"\".concat(triggerWidth, \"px\") : \"\".concat(MAX_WIDTH, \"px\");\n } else {\n var menu = getRefCurrent(menuRef);\n var menuWidth = menu && menu.getBoundingClientRect().width;\n /* istanbul ignore next */\n\n if (triggerWidth > MIN_WIDTH && triggerWidth > menuWidth) {\n menu.style.width = \"\".concat(triggerWidth, \"px\");\n }\n }\n };\n var setFocus = function (newIndex) {\n setFocusedIndex(newIndex);\n };\n var moveFocus = function (offset) {\n var nextIndex = Math.min(Math.max(focusedIndexRef.current + offset, 0), options.length - 1);\n setFocus(nextIndex);\n };\n var handleClickOutside = function (evt) {\n var wrapperCurrent = getRefCurrent(wrapperRef); // Trigger click is also handled here in React 17\n\n var isTriggerClicked = TRIGGER_ELEMENT === null || TRIGGER_ELEMENT === void 0 ? void 0 : TRIGGER_ELEMENT.contains(evt.target); // istanbul ignore next\n\n if ((!outsideClickCheck || outsideClickCheck(evt)) && !isTriggerClicked) {\n if (wrapperCurrent && !wrapperCurrent.contains(evt.target)) {\n onClose(evt, 'backdropClick');\n }\n }\n };\n var handleClick = function (evt) {\n var target = evt.target;\n var index = findValue(options, target.dataset.value);\n setFocus(index);\n onSelection(index);\n };\n /* istanbul ignore next */\n\n var getFirstPrefixPosition = function () {\n var list = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var typedText = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n return list.findIndex(function (option) {\n return option.primaryText.toLowerCase().startsWith(typedText.toLowerCase());\n });\n };\n /* eslint-disable complexity */\n\n var handleKey = function (evt) {\n evt.preventDefault();\n var focusedIndex = focusedIndexRef.current;\n /* istanbul ignore next */\n\n var KeyCode = new KeyboardCode(evt.key || evt.keyCode);\n if (KeyCode.IS_ARROW_UP) {\n setKeyboardActive(true);\n moveFocus(-1);\n } else if (KeyCode.IS_ARROW_DOWN) {\n setKeyboardActive(true);\n moveFocus(1);\n } else if (KeyCode.IS_ENTER) {\n onSelection(focusedIndex);\n } else if (KeyCode.IS_TAB || KeyCode.IS_ESC) {\n var _closedBy = KeyCode.IS_TAB ? KeyboardCode.NAME_TAB : KeyboardCode.NAME_ESC; // We don't need to call onClose if we have a sheet -- it will do that for us!\n\n /* istanbul ignore next */\n\n if (typeof onClose === 'function' && !isMobile) {\n onClose(evt, _closedBy);\n } // eslint-disable-next-line no-unused-expressions\n\n TRIGGER_ELEMENT === null || TRIGGER_ELEMENT === void 0 ? void 0 : TRIGGER_ELEMENT.focus();\n } else if (searchEnabled && evt.key.length === 1) {\n // Since we're handling keydown event, we might get values like\n // 'Shift' or 'Alt'. We don't want to search unless it's a single character\n clearTimeout(typeToFindTimer);\n searchText.current = searchText.current + evt.key; // Clear the typeToFindText if user doesn't consecutively type keys between 700 milliseconds\n //istanbul ignore next\n\n typeToFindTimer = setTimeout(function () {\n searchText.current = '';\n }, 700);\n var firstMatchedItemIndex = getFirstPrefixPosition(options, searchText.current);\n if (firstMatchedItemIndex >= 0) {\n setKeyboardActive(true);\n setFocus(firstMatchedItemIndex);\n }\n }\n };\n /* eslint-enable complexity */\n\n var handleKeyDown = function (evt) {\n handleKey(evt);\n };\n /* We need this method because we're trying to support index-based and\n * value-based operation at the same time. If we revert to only using\n * value-based, this code can get much simpler\n */\n\n var selectedValue = function getSelectedValue(currentValue, defaultValue) {\n if (currentValue !== undefined) {\n return currentValue;\n } // istanbul ignore next\n\n if (selectedIndex !== undefined && selectedIndex >= 0) {\n if (options && options[selectedIndex] && options[selectedIndex].value !== undefined) {\n return options[selectedIndex].value;\n }\n }\n return defaultValue;\n }(value);\n var renderImg = function (decoration) {\n return decoration && typeof decoration === 'string' ? jsx(\"img\", {\n css: _styles.itemThumbnailImage,\n src: decoration,\n role: \"none\",\n \"data-ppui\": \"true\"\n }) : decoration;\n };\n var focusedIndex = ignoreKeyboard ? -1 : focusedIndexRef.current;\n var optionList = isOpen && validateOptions && options.map(function (option, idx) {\n // We have to test against false because non-existence means it's selectable\n var optionValue = option.hasOwnProperty('value') ? option.value : option.primaryText; // istanbul ignore next\n\n var isSelected = !option.unselectable && (selectedValue === undefined ? selectedIndex === idx : optionValue === selectedValue);\n var decoration = renderImg(option.decoration || option.imgSrc);\n return jsx(SelectionMenuOption, _extends({\n menuName: name\n }, option, {\n value: optionValue,\n isSelected: isSelected,\n isFocused: focusedIndex === idx,\n isHilite: activeItem === idx,\n className: itemClassName,\n decoration: decoration,\n key: \"smenu_\".concat(idx),\n isMobile: isMobile,\n keyboardActive: keyboardActive,\n onItemClick: handleClick,\n \"data-ppui\": \"true\"\n }));\n });\n useLayoutEffect(function () {\n if (isOpen) {\n // Bind the event listener\n // @ts-ignore\n document.addEventListener('click', handleClickOutside);\n if (!ignoreKeyboard) {\n document.body.addEventListener('keydown', handleKeyDown);\n }\n if (!isMobile) {\n calculateWidth();\n setKeyboardActive(initialItemFocus); // istanbul ignore next\n\n if (focusedIndex < 0) {\n setFocus(0);\n }\n } else {\n // set keyboard focus active to false, on mobile we don't show the focus indicator\n setKeyboardActive(false);\n }\n if (typeof onOpen === 'function') {\n onOpen(isMobile);\n }\n }\n return function () {\n // @ts-ignore\n document.removeEventListener('click', handleClickOutside);\n if (!ignoreKeyboard) {\n document.body.removeEventListener('keydown', handleKeyDown);\n }\n setKeyboardActive(false);\n };\n }, [isOpen, isLoadingOptions]); //pass dir manually to fix styles in sheet rtl\n //set to null in ltr so the attribute is not added\n\n /* istanbul ignore next */\n\n var direction = rtl ? 'rtl' : null;\n var contentList = jsx(\"ul\", _extends({\n css: _styles.selectionMenuList,\n className: className,\n id: id,\n tabIndex: 0,\n role: \"listbox\",\n \"aria-hidden\": !isOpen,\n ref: menuRef,\n dir: direction\n }, rest, {\n \"data-ppui\": \"true\"\n }), optionList);\n var loadingSpinner = jsx(\"div\", {\n ref: loaderRef,\n css: _styles.menuLoadingContainer,\n \"data-ppui\": \"true\"\n }, jsx(LoadingSpinner, {\n screenReaderText: \"loading\",\n size: \"md\",\n \"data-ppui\": \"true\"\n }));\n var content = isLoadingOptions ? loadingSpinner : contentList;\n return function bodyWrapper() {\n if (isMobile) {\n // istanbul ignore next\n var isFixedHeight = mobileHeaderContents ? '90' : undefined;\n return jsx(Sheet, {\n isOpen: isOpen,\n onCloseComplete: onClose,\n title: mobileTitle,\n headerClassName: mobileHeaderClassName,\n headerContents: mobileHeaderContents,\n noPadding: true,\n noCloseButton: false,\n mobileFixedHeight: mobileFixedHeight || isFixedHeight,\n className: sheetClassName,\n wrapperClassName: sheetWrapperClassName,\n returnFocusToTrigger: returnFocusToTrigger,\n \"data-ppui\": \"true\"\n }, content);\n }\n return isOpen && jsx(\"div\", {\n ref: wrapperRef,\n css: _styles.menuContainer,\n className: containerClassName,\n \"data-ppui-info\": \"selection-menu_3.8.3\"\n }, content);\n }();\n};\nvar _excluded$1 = [\"className\", \"containerClassName\", \"itemClassName\", \"id\", \"initialItemFocus\", \"isOpen\", \"mobileTitle\", \"isLoadingOptions\", \"options\", \"onClose\", \"onSelection\", \"triggerRef\", \"theme\", \"mobileFixedHeight\"];\nvar getRefCurrent = function (ref) {\n return (/* istanbul ignore next */\n ref && ref.current ? ref.current : null\n );\n};\nvar ActionMenu = function (_ref) {\n var className = _ref.className,\n containerClassName = _ref.containerClassName,\n itemClassName = _ref.itemClassName,\n _ref$id = _ref.id,\n id = _ref$id === void 0 ? uniqueId('actionMenu_') : _ref$id,\n _ref$initialItemFocus = _ref.initialItemFocus,\n initialItemFocus = _ref$initialItemFocus === void 0 ? true : _ref$initialItemFocus,\n isOpen = _ref.isOpen,\n mobileTitle = _ref.mobileTitle,\n _ref$isLoadingOptions = _ref.isLoadingOptions,\n isLoadingOptions = _ref$isLoadingOptions === void 0 ? false : _ref$isLoadingOptions,\n options = _ref.options,\n onClose = _ref.onClose,\n onSelection = _ref.onSelection,\n triggerRef = _ref.triggerRef,\n theme = _ref.theme,\n mobileFixedHeight = _ref.mobileFixedHeight,\n rest = _objectWithoutProperties(_ref, _excluded$1);\n var tokens = useTheme();\n var _styles = useMemo(function () {\n return styles(tokens);\n }, [tokens]);\n var sysSizeMediaMd = tokens.sysSizeMediaMd;\n var MEDIUM_BREAKPOINT = \"\".concat(stripUnit(remToPx(sysSizeMediaMd, '16px')));\n var containerRef = useRef();\n var menuRef = useRef();\n var validateOptions = options && options.length;\n var _useState = useState(0),\n _useState2 = _slicedToArray(_useState, 2),\n selectedIndex = _useState2[0],\n setSelectedIndex = _useState2[1];\n var _useState3 = useState(false),\n _useState4 = _slicedToArray(_useState3, 2),\n keyboardActive = _useState4[0],\n setKeyboardActive = _useState4[1];\n /* istanbul ignore next */\n\n var isMobile = hasWindow() ? window.innerWidth < parseInt(MEDIUM_BREAKPOINT, 10) : false;\n var setFocus = function (offset) {\n var current = getRefCurrent(menuRef);\n /* istanbul ignore next */\n\n if (current) {\n var _listItems = current.querySelectorAll('[role=\"menuitem\"]');\n if (_listItems.length) {\n var len = _listItems.length;\n var nextIndex = selectedIndex + offset;\n var curIndex = nextIndex >= 0 && nextIndex <= len - 1 ? nextIndex : 0;\n _listItems[curIndex].focus();\n setSelectedIndex(curIndex);\n }\n }\n };\n var handleClickOutside = function (evt) {\n var wrapperCurrent = getRefCurrent(containerRef); // triggerRef is required for React 17\n\n if (wrapperCurrent && !wrapperCurrent.contains(evt.target) && triggerRef && !triggerRef.current.contains(evt.target)) {\n onClose(evt);\n } else if (!triggerRef && wrapperCurrent && !wrapperCurrent.contains(evt.target)) {\n onClose(evt);\n }\n };\n var handleClick = function (index, event) {\n onSelection(index, event);\n };\n /* eslint-disable complexity */\n\n var handleKey = function (evt) {\n evt.preventDefault();\n /* istanbul ignore next */\n\n var KeyCode = new KeyboardCode(evt.key || evt.keyCode);\n var triggerEl = getRefCurrent(triggerRef);\n if (KeyCode.IS_ARROW_UP) {\n setKeyboardActive(true);\n setFocus(-1);\n } else if (KeyCode.IS_ARROW_DOWN) {\n setKeyboardActive(true);\n setFocus(1);\n } else if (KeyCode.IS_ENTER) {\n onSelection(selectedIndex, evt);\n } else if (KeyCode.IS_TAB || KeyCode.IS_ESC) {\n onClose(evt);\n }\n if ((KeyCode.IS_TAB || KeyCode.IS_ESC || KeyCode.IS_ENTER) && triggerEl) {\n triggerEl.focus();\n }\n };\n /* eslint-enable complexity */\n\n var itemStyles = [_styles.menuListItem, keyboardActive && _styles.menuKeyboardActive];\n var optionList = validateOptions ? options.map(function (_ref2, optionIndex) {\n var itemLeft = _ref2.itemLeft,\n title = _ref2.title;\n return jsx(\"li\", {\n css: itemStyles,\n className: itemClassName,\n role: \"menuitem\",\n onClick: function onClick(event) {\n return handleClick(optionIndex, event);\n },\n key: \"amenu_\".concat(optionIndex),\n tabIndex: -1,\n onKeyDown: function onKeyDown(evt) {\n return handleKey(evt);\n },\n \"data-ppui\": \"true\"\n }, itemLeft && jsx(\"span\", {\n css: _styles.menuItemThumbnail,\n \"data-ppui\": \"true\"\n }, itemLeft), jsx(\"p\", {\n css: _styles.menuItemText,\n \"data-ppui\": \"true\"\n }, title));\n }) : null;\n useEffect(function () {\n /* istanbul ignore next */\n if (isOpen) {\n if (!isMobile) {\n setFocus(0);\n setKeyboardActive(initialItemFocus);\n }\n document.addEventListener('click', handleClickOutside);\n window.addEventListener('resize', onClose);\n } else {\n document.removeEventListener('click', handleClickOutside);\n window.removeEventListener('resize', onClose);\n }\n return function () {\n setSelectedIndex(0);\n setKeyboardActive(false);\n document.removeEventListener('click', handleClickOutside);\n window.removeEventListener('resize', onClose);\n };\n }, [isOpen, options]);\n var listItems = isLoadingOptions ? jsx(\"div\", {\n css: _styles.menuLoadingContainer,\n \"data-ppui\": \"true\"\n }, jsx(LoadingSpinner, {\n screenReaderText: \"loading\",\n size: \"md\",\n \"data-ppui\": \"true\"\n })) : jsx(\"ul\", _extends({\n css: _styles.menuList,\n className: className,\n id: id,\n role: \"menu\",\n \"aria-hidden\": !isOpen,\n ref: menuRef\n }, rest, {\n \"data-ppui\": \"true\"\n }), optionList);\n var container = isMobile ? jsx(Sheet, {\n title: mobileTitle,\n isOpen: isOpen,\n onCloseComplete: onClose,\n noPadding: true,\n mobileFixedHeight: mobileFixedHeight,\n \"data-ppui\": \"true\"\n }, listItems) : jsx(\"nav\", {\n css: _styles.menuContainer,\n className: containerClassName,\n ref: containerRef,\n \"data-ppui-info\": \"action-menu_3.8.3\"\n }, listItems);\n return isOpen && container;\n};\nexport { ActionMenu, SelectionMenu, styles as menuStyles };","'use strict';\nmodule.exports = {};\n","'use strict';\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","'use strict';\nvar global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (argument) {\n return isCallable(argument) ? argument : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method];\n};\n","var getDefaultParent = function (originalTarget) {\n if (typeof document === 'undefined') {\n return null;\n }\n var sampleTarget = Array.isArray(originalTarget) ? originalTarget[0] : originalTarget;\n return sampleTarget.ownerDocument.body;\n};\nvar counterMap = new WeakMap();\nvar uncontrolledNodes = new WeakMap();\nvar markerMap = {};\nvar lockCount = 0;\nvar unwrapHost = function (node) {\n return node && (node.host || unwrapHost(node.parentNode));\n};\nvar correctTargets = function (parent, targets) {\n return targets.map(function (target) {\n if (parent.contains(target)) {\n return target;\n }\n var correctedTarget = unwrapHost(target);\n if (correctedTarget && parent.contains(correctedTarget)) {\n return correctedTarget;\n }\n console.error('aria-hidden', target, 'in not contained inside', parent, '. Doing nothing');\n return null;\n }).filter(function (x) {\n return Boolean(x);\n });\n};\n/**\n * Marks everything except given node(or nodes) as aria-hidden\n * @param {Element | Element[]} originalTarget - elements to keep on the page\n * @param [parentNode] - top element, defaults to document.body\n * @param {String} [markerName] - a special attribute to mark every node\n * @param {String} [controlAttribute] - html Attribute to control\n * @return {Undo} undo command\n */\nvar applyAttributeToOthers = function (originalTarget, parentNode, markerName, controlAttribute) {\n var targets = correctTargets(parentNode, Array.isArray(originalTarget) ? originalTarget : [originalTarget]);\n if (!markerMap[markerName]) {\n markerMap[markerName] = new WeakMap();\n }\n var markerCounter = markerMap[markerName];\n var hiddenNodes = [];\n var elementsToKeep = new Set();\n var elementsToStop = new Set(targets);\n var keep = function (el) {\n if (!el || elementsToKeep.has(el)) {\n return;\n }\n elementsToKeep.add(el);\n keep(el.parentNode);\n };\n targets.forEach(keep);\n var deep = function (parent) {\n if (!parent || elementsToStop.has(parent)) {\n return;\n }\n Array.prototype.forEach.call(parent.children, function (node) {\n if (elementsToKeep.has(node)) {\n deep(node);\n } else {\n var attr = node.getAttribute(controlAttribute);\n var alreadyHidden = attr !== null && attr !== 'false';\n var counterValue = (counterMap.get(node) || 0) + 1;\n var markerValue = (markerCounter.get(node) || 0) + 1;\n counterMap.set(node, counterValue);\n markerCounter.set(node, markerValue);\n hiddenNodes.push(node);\n if (counterValue === 1 && alreadyHidden) {\n uncontrolledNodes.set(node, true);\n }\n if (markerValue === 1) {\n node.setAttribute(markerName, 'true');\n }\n if (!alreadyHidden) {\n node.setAttribute(controlAttribute, 'true');\n }\n }\n });\n };\n deep(parentNode);\n elementsToKeep.clear();\n lockCount++;\n return function () {\n hiddenNodes.forEach(function (node) {\n var counterValue = counterMap.get(node) - 1;\n var markerValue = markerCounter.get(node) - 1;\n counterMap.set(node, counterValue);\n markerCounter.set(node, markerValue);\n if (!counterValue) {\n if (!uncontrolledNodes.has(node)) {\n node.removeAttribute(controlAttribute);\n }\n uncontrolledNodes.delete(node);\n }\n if (!markerValue) {\n node.removeAttribute(markerName);\n }\n });\n lockCount--;\n if (!lockCount) {\n // clear\n counterMap = new WeakMap();\n counterMap = new WeakMap();\n uncontrolledNodes = new WeakMap();\n markerMap = {};\n }\n };\n};\n/**\n * Marks everything except given node(or nodes) as aria-hidden\n * @param {Element | Element[]} originalTarget - elements to keep on the page\n * @param [parentNode] - top element, defaults to document.body\n * @param {String} [markerName] - a special attribute to mark every node\n * @return {Undo} undo command\n */\nexport var hideOthers = function (originalTarget, parentNode, markerName) {\n if (markerName === void 0) {\n markerName = 'data-aria-hidden';\n }\n var targets = Array.from(Array.isArray(originalTarget) ? originalTarget : [originalTarget]);\n var activeParentNode = parentNode || getDefaultParent(originalTarget);\n if (!activeParentNode) {\n return function () {\n return null;\n };\n }\n // we should not hide ariaLive elements - https://github.com/theKashey/aria-hidden/issues/10\n targets.push.apply(targets, Array.from(activeParentNode.querySelectorAll('[aria-live]')));\n return applyAttributeToOthers(targets, activeParentNode, markerName, 'aria-hidden');\n};\n/**\n * Marks everything except given node(or nodes) as inert\n * @param {Element | Element[]} originalTarget - elements to keep on the page\n * @param [parentNode] - top element, defaults to document.body\n * @param {String} [markerName] - a special attribute to mark every node\n * @return {Undo} undo command\n */\nexport var inertOthers = function (originalTarget, parentNode, markerName) {\n if (markerName === void 0) {\n markerName = 'data-inert-ed';\n }\n var activeParentNode = parentNode || getDefaultParent(originalTarget);\n if (!activeParentNode) {\n return function () {\n return null;\n };\n }\n return applyAttributeToOthers(originalTarget, activeParentNode, markerName, 'inert');\n};\n/**\n * @returns if current browser supports inert\n */\nexport var supportsInert = function () {\n return typeof HTMLElement !== 'undefined' && HTMLElement.prototype.hasOwnProperty('inert');\n};\n/**\n * Automatic function to \"suppress\" DOM elements - _hide_ or _inert_ in the best possible way\n * @param {Element | Element[]} originalTarget - elements to keep on the page\n * @param [parentNode] - top element, defaults to document.body\n * @param {String} [markerName] - a special attribute to mark every node\n * @return {Undo} undo command\n */\nexport var suppressOthers = function (originalTarget, parentNode, markerName) {\n if (markerName === void 0) {\n markerName = 'data-suppressed';\n }\n return (supportsInert() ? inertOthers : hideOthers)(originalTarget, parentNode, markerName);\n};","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _getRequireWildcardCache(nodeInterop) {\n if (typeof WeakMap !== \"function\") return null;\n var cacheBabelInterop = new WeakMap();\n var cacheNodeInterop = new WeakMap();\n return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) {\n return nodeInterop ? cacheNodeInterop : cacheBabelInterop;\n })(nodeInterop);\n}\nfunction _interopRequireWildcard(obj, nodeInterop) {\n if (!nodeInterop && obj && obj.__esModule) {\n return obj;\n }\n if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") {\n return {\n \"default\": obj\n };\n }\n var cache = _getRequireWildcardCache(nodeInterop);\n if (cache && cache.has(obj)) {\n return cache.get(obj);\n }\n var newObj = {};\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\n for (var key in obj) {\n if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) {\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\n if (desc && (desc.get || desc.set)) {\n Object.defineProperty(newObj, key, desc);\n } else {\n newObj[key] = obj[key];\n }\n }\n }\n newObj[\"default\"] = obj;\n if (cache) {\n cache.set(obj, newObj);\n }\n return newObj;\n}\nmodule.exports = _interopRequireWildcard, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar $Object = Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n};\n","'use strict';\n\nvar reactIs = require('react-is');\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\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;\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 return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\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;\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 if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n var keys = getOwnPropertyNames(sourceComponent);\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n return targetComponent;\n}\nmodule.exports = hoistNonReactStatics;","'use strict';\nvar check = function (it) {\n return it && it.Math === Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || this || Function('return this')();\n","export default path => {\n if (path === undefined) {\n return path\n }\n if (path === `/`) {\n return `/`\n }\n if (path.charAt(path.length - 1) === `/`) {\n return path.slice(0, -1)\n }\n return path\n}\n","import { pick } from \"@reach/router/lib/utils\"\nimport stripPrefix from \"./strip-prefix\"\nimport normalizePagePath from \"./normalize-page-path\"\n\nconst pathCache = new Map()\nlet matchPaths = []\n\nconst trimPathname = rawPathname => {\n const pathname = decodeURIComponent(rawPathname)\n // Remove the pathPrefix from the pathname.\n const trimmedPathname = stripPrefix(pathname, __BASE_PATH__)\n // Remove any hashfragment\n .split(`#`)[0]\n // Remove search query\n .split(`?`)[0]\n\n return trimmedPathname\n}\n\nfunction absolutify(path) {\n // If it's already absolute, return as-is\n if (\n path.startsWith(`/`) ||\n path.startsWith(`https://`) ||\n path.startsWith(`http://`)\n ) {\n return path\n }\n // Calculate path relative to current location, adding a trailing slash to\n // match behavior of @reach/router\n return new URL(\n path,\n window.location.href + (window.location.href.endsWith(`/`) ? `` : `/`)\n ).pathname\n}\n\n/**\n * Set list of matchPaths\n *\n * @param {Array<{path: string, matchPath: string}>} value collection of matchPaths\n */\nexport const setMatchPaths = value => {\n matchPaths = value\n}\n\n/**\n * Return a matchpath url\n * if `match-paths.json` contains `{ \"/foo*\": \"/page1\", ...}`, then\n * `/foo?bar=far` => `/page1`\n *\n * @param {string} rawPathname A raw pathname\n * @return {string|null}\n */\nexport const findMatchPath = rawPathname => {\n const trimmedPathname = cleanPath(rawPathname)\n\n const pickPaths = matchPaths.map(({ path, matchPath }) => {\n return {\n path: matchPath,\n originalPath: path,\n }\n })\n\n const path = pick(pickPaths, trimmedPathname)\n\n if (path) {\n return normalizePagePath(path.route.originalPath)\n }\n\n return null\n}\n\n/**\n * Return a matchpath params from reach/router rules\n * if `match-paths.json` contains `{ \":bar/*foo\" }`, and the path is /baz/zaz/zoo\n * then it returns\n * { bar: baz, foo: zaz/zoo }\n *\n * @param {string} rawPathname A raw pathname\n * @return {object}\n */\nexport const grabMatchParams = rawPathname => {\n const trimmedPathname = cleanPath(rawPathname)\n\n const pickPaths = matchPaths.map(({ path, matchPath }) => {\n return {\n path: matchPath,\n originalPath: path,\n }\n })\n\n const path = pick(pickPaths, trimmedPathname)\n\n if (path) {\n return path.params\n }\n\n return {}\n}\n\n// Given a raw URL path, returns the cleaned version of it (trim off\n// `#` and query params), or if it matches an entry in\n// `match-paths.json`, its matched path is returned\n//\n// E.g. `/foo?bar=far` => `/foo`\n//\n// Or if `match-paths.json` contains `{ \"/foo*\": \"/page1\", ...}`, then\n// `/foo?bar=far` => `/page1`\nexport const findPath = rawPathname => {\n const trimmedPathname = trimPathname(absolutify(rawPathname))\n if (pathCache.has(trimmedPathname)) {\n return pathCache.get(trimmedPathname)\n }\n\n let foundPath = findMatchPath(trimmedPathname)\n\n if (!foundPath) {\n foundPath = cleanPath(rawPathname)\n }\n\n pathCache.set(trimmedPathname, foundPath)\n\n return foundPath\n}\n\n/**\n * Clean a url and converts /index.html => /\n * E.g. `/foo?bar=far` => `/foo`\n *\n * @param {string} rawPathname A raw pathname\n * @return {string}\n */\nexport const cleanPath = rawPathname => {\n const trimmedPathname = trimPathname(absolutify(rawPathname))\n\n let foundPath = trimmedPathname\n if (foundPath === `/index.html`) {\n foundPath = `/`\n }\n\n foundPath = normalizePagePath(foundPath)\n\n return foundPath\n}\n","'use strict';\nvar aCallable = require('../internals/a-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return isNullOrUndefined(func) ? undefined : aCallable(func);\n};\n","\"use strict\";\n\nexports.__esModule = true;\nexports.useScrollRestoration = useScrollRestoration;\n\nvar _scrollHandler = require(\"./scroll-handler\");\n\nvar _react = require(\"react\");\n\nvar _router = require(\"@reach/router\");\n\nfunction useScrollRestoration(identifier) {\n var location = (0, _router.useLocation)();\n var state = (0, _react.useContext)(_scrollHandler.ScrollContext);\n var ref = (0, _react.useRef)();\n (0, _react.useLayoutEffect)(function () {\n if (ref.current) {\n var position = state.read(location, identifier);\n ref.current.scrollTo(0, position || 0);\n }\n }, []);\n return {\n ref: ref,\n onScroll: function onScroll() {\n if (ref.current) {\n state.save(location, identifier, ref.current.scrollTop);\n }\n }\n };\n}","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar call = FunctionPrototype.call;\nvar uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {\n return function () {\n return call.apply(fn, arguments);\n };\n};\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport * as constants from 'focus-lock/constants';\nimport { useMergeRefs } from 'use-callback-ref';\nimport { useEffect } from 'react';\nimport { hiddenGuard } from './FocusGuard';\nimport { mediumFocus, mediumBlur, mediumSidecar } from './medium';\nvar emptyArray = [];\nvar FocusLock = /*#__PURE__*/React.forwardRef(function FocusLockUI(props, parentRef) {\n var _extends2;\n var _React$useState = React.useState(),\n realObserved = _React$useState[0],\n setObserved = _React$useState[1];\n var observed = React.useRef();\n var isActive = React.useRef(false);\n var originalFocusedElement = React.useRef(null);\n var children = props.children,\n disabled = props.disabled,\n noFocusGuards = props.noFocusGuards,\n persistentFocus = props.persistentFocus,\n crossFrame = props.crossFrame,\n autoFocus = props.autoFocus,\n allowTextSelection = props.allowTextSelection,\n group = props.group,\n className = props.className,\n whiteList = props.whiteList,\n hasPositiveIndices = props.hasPositiveIndices,\n _props$shards = props.shards,\n shards = _props$shards === void 0 ? emptyArray : _props$shards,\n _props$as = props.as,\n Container = _props$as === void 0 ? 'div' : _props$as,\n _props$lockProps = props.lockProps,\n containerProps = _props$lockProps === void 0 ? {} : _props$lockProps,\n SideCar = props.sideCar,\n shouldReturnFocus = props.returnFocus,\n focusOptions = props.focusOptions,\n onActivationCallback = props.onActivation,\n onDeactivationCallback = props.onDeactivation;\n var _React$useState2 = React.useState({}),\n id = _React$useState2[0]; // SIDE EFFECT CALLBACKS\n\n var onActivation = React.useCallback(function () {\n originalFocusedElement.current = originalFocusedElement.current || document && document.activeElement;\n if (observed.current && onActivationCallback) {\n onActivationCallback(observed.current);\n }\n isActive.current = true;\n }, [onActivationCallback]);\n var onDeactivation = React.useCallback(function () {\n isActive.current = false;\n if (onDeactivationCallback) {\n onDeactivationCallback(observed.current);\n }\n }, [onDeactivationCallback]);\n useEffect(function () {\n if (!disabled) {\n // cleanup return focus on trap deactivation\n // sideEffect/returnFocus should happen by this time\n originalFocusedElement.current = null;\n }\n }, []);\n var returnFocus = React.useCallback(function (allowDefer) {\n var returnFocusTo = originalFocusedElement.current;\n if (returnFocusTo && returnFocusTo.focus) {\n var howToReturnFocus = typeof shouldReturnFocus === 'function' ? shouldReturnFocus(returnFocusTo) : shouldReturnFocus;\n if (howToReturnFocus) {\n var returnFocusOptions = typeof howToReturnFocus === 'object' ? howToReturnFocus : undefined;\n originalFocusedElement.current = null;\n if (allowDefer) {\n // React might return focus after update\n // it's safer to defer the action\n Promise.resolve().then(function () {\n return returnFocusTo.focus(returnFocusOptions);\n });\n } else {\n returnFocusTo.focus(returnFocusOptions);\n }\n }\n }\n }, [shouldReturnFocus]); // MEDIUM CALLBACKS\n\n var onFocus = React.useCallback(function (event) {\n if (isActive.current) {\n mediumFocus.useMedium(event);\n }\n }, []);\n var onBlur = mediumBlur.useMedium; // REF PROPAGATION\n // not using real refs due to race conditions\n\n var setObserveNode = React.useCallback(function (newObserved) {\n if (observed.current !== newObserved) {\n observed.current = newObserved;\n setObserved(newObserved);\n }\n }, []);\n if (process.env.NODE_ENV !== 'production') {\n if (typeof allowTextSelection !== 'undefined') {\n // eslint-disable-next-line no-console\n console.warn('React-Focus-Lock: allowTextSelection is deprecated and enabled by default');\n }\n React.useEffect(function () {\n // report incorrect integration - https://github.com/theKashey/react-focus-lock/issues/123\n if (!observed.current && typeof Container !== 'string') {\n // eslint-disable-next-line no-console\n console.error('FocusLock: could not obtain ref to internal node');\n }\n }, []);\n }\n var lockProps = _extends((_extends2 = {}, _extends2[constants.FOCUS_DISABLED] = disabled && 'disabled', _extends2[constants.FOCUS_GROUP] = group, _extends2), containerProps);\n var hasLeadingGuards = noFocusGuards !== true;\n var hasTailingGuards = hasLeadingGuards && noFocusGuards !== 'tail';\n var mergedRef = useMergeRefs([parentRef, setObserveNode]);\n return /*#__PURE__*/React.createElement(React.Fragment, null, hasLeadingGuards && [/*#__PURE__*/\n // nearest focus guard\n React.createElement(\"div\", {\n key: \"guard-first\",\n \"data-focus-guard\": true,\n tabIndex: disabled ? -1 : 0,\n style: hiddenGuard\n }),\n // first tabbed element guard\n hasPositiveIndices ? /*#__PURE__*/React.createElement(\"div\", {\n key: \"guard-nearest\",\n \"data-focus-guard\": true,\n tabIndex: disabled ? -1 : 1,\n style: hiddenGuard\n }) : null], !disabled && /*#__PURE__*/React.createElement(SideCar, {\n id: id,\n sideCar: mediumSidecar,\n observed: realObserved,\n disabled: disabled,\n persistentFocus: persistentFocus,\n crossFrame: crossFrame,\n autoFocus: autoFocus,\n whiteList: whiteList,\n shards: shards,\n onActivation: onActivation,\n onDeactivation: onDeactivation,\n returnFocus: returnFocus,\n focusOptions: focusOptions\n }), /*#__PURE__*/React.createElement(Container, _extends({\n ref: mergedRef\n }, lockProps, {\n className: className,\n onBlur: onBlur,\n onFocus: onFocus\n }), children), hasTailingGuards && /*#__PURE__*/React.createElement(\"div\", {\n \"data-focus-guard\": true,\n tabIndex: disabled ? -1 : 0,\n style: hiddenGuard\n }));\n});\nFocusLock.defaultProps = {\n children: undefined,\n disabled: false,\n returnFocus: false,\n focusOptions: undefined,\n noFocusGuards: false,\n autoFocus: true,\n persistentFocus: false,\n crossFrame: true,\n hasPositiveIndices: undefined,\n allowTextSelection: undefined,\n group: undefined,\n className: undefined,\n whiteList: undefined,\n shards: undefined,\n as: 'div',\n lockProps: {},\n onActivation: undefined,\n onDeactivation: undefined\n};\nexport default FocusLock;","import mitt from \"mitt\"\n\nconst emitter = mitt()\nexport default emitter\n","// \n// An event handler can take an optional event argument\n// and should not return a value\n \n \n\n// An array of all currently registered event handlers for a type\n \n \n// A map of event types and their corresponding event handlers.\n \n \n \n \n\n/** Mitt: Tiny (~200b) functional event emitter / pubsub.\n * @name mitt\n * @returns {Mitt}\n */\nfunction mitt(all ) {\n\tall = all || Object.create(null);\n\n\treturn {\n\t\t/**\n\t\t * Register an event handler for the given type.\n\t\t *\n\t\t * @param {String} type\tType of event to listen for, or `\"*\"` for all events\n\t\t * @param {Function} handler Function to call in response to given event\n\t\t * @memberOf mitt\n\t\t */\n\t\ton: function on(type , handler ) {\n\t\t\t(all[type] || (all[type] = [])).push(handler);\n\t\t},\n\n\t\t/**\n\t\t * Remove an event handler for the given type.\n\t\t *\n\t\t * @param {String} type\tType of event to unregister `handler` from, or `\"*\"`\n\t\t * @param {Function} handler Handler function to remove\n\t\t * @memberOf mitt\n\t\t */\n\t\toff: function off(type , handler ) {\n\t\t\tif (all[type]) {\n\t\t\t\tall[type].splice(all[type].indexOf(handler) >>> 0, 1);\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Invoke all handlers for the given type.\n\t\t * If present, `\"*\"` handlers are invoked after type-matched handlers.\n\t\t *\n\t\t * @param {String} type The event type to invoke\n\t\t * @param {Any} [evt] Any value (object is recommended and powerful), passed to each handler\n\t\t * @memberOf mitt\n\t\t */\n\t\temit: function emit(type , evt ) {\n\t\t\t(all[type] || []).slice().map(function (handler) { handler(evt); });\n\t\t\t(all['*'] || []).slice().map(function (handler) { handler(type, evt); });\n\t\t}\n\t};\n}\n\nexport default mitt;\n//# sourceMappingURL=mitt.es.js.map\n","'use strict';\nvar hasOwn = require('../internals/has-own-property');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source, exceptions) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {\n defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n }\n};\n","import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';\nimport _slicedToArray from '@babel/runtime/helpers/esm/slicedToArray';\nimport React, { useState, useRef, useEffect } from 'react';\nimport { uniqueId } from '@paypalcorp/pp-react-utils';\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}\nvar Animator = function (_ref) {\n var _ref$id = _ref.id,\n id = _ref$id === void 0 ? uniqueId('animatee#') : _ref$id,\n _ref$shouldHide = _ref.shouldHide,\n shouldHide = _ref$shouldHide === void 0 ? false : _ref$shouldHide,\n onOpen = _ref.onOpen,\n onClose = _ref.onClose,\n _ref$onCloseComplete = _ref.onCloseComplete,\n onCloseComplete = _ref$onCloseComplete === void 0 ? onClose : _ref$onCloseComplete,\n _ref$phaseProps = _ref.phaseProps,\n phaseProps = _ref$phaseProps === void 0 ? {\n initial: {\n isHidden: true\n },\n showing: {\n isHidden: false\n },\n hiding: {\n isHidden: true\n }\n } : _ref$phaseProps,\n children = _ref.children;\n var _useState = useState('initial'),\n _useState2 = _slicedToArray(_useState, 2),\n currentPhase = _useState2[0],\n setCurrentPhase = _useState2[1];\n var closeEvent = useRef({\n event: null,\n closeMethod: ''\n });\n var animatee = useRef(id);\n useEffect(function () {\n // istanbul ignore next\n if (process.env.NODE_ENV !== 'production') {\n if (onClose) {\n // eslint-disable-next-line no-console\n console.warn('onClose() has been renamed onCloseComplete(), please update your code');\n }\n }\n });\n useEffect(function () {\n var timer;\n if (!shouldHide && currentPhase === 'initial') {\n // A brief timeout is needed to let the animation begin.\n // Otherwise, react \"optimizes\" the state transitions\n // --love, BCC\n // istanbul ignorenext\n timer = setTimeout(function () {\n return setCurrentPhase('showing');\n }, 10);\n }\n if (shouldHide && currentPhase !== 'initial') {\n closeEvent.current.closeMethod = 'caller';\n setCurrentPhase('hiding');\n }\n return function () {\n if (timer) {\n clearTimeout(timer);\n }\n };\n }, [shouldHide]);\n var onAnimationEnd = function (evt) {\n /* istanbul ignore else */\n if (evt.target.dataset.animatee === animatee.current) {\n if (currentPhase === 'hiding') {\n // If we're done hiding, tell the app that it's safe to remove us from the DOM\n // istanbul ignore next\n var _ref2 = closeEvent.current || {},\n _event = _ref2.event,\n closeMethod = _ref2.closeMethod; // istanbul ignore next\n\n if (typeof onCloseComplete === 'function') {\n onCloseComplete(_event, closeMethod);\n }\n setCurrentPhase('initial');\n } else if (typeof onOpen === 'function') {\n onOpen(evt); // Let app know entrance is complete and we're ready for action\n }\n\n evt.stopPropagation();\n evt.nativeEvent.stopImmediatePropagation();\n }\n };\n if (shouldHide && currentPhase === 'initial') {\n return null;\n }\n var childProps = _objectSpread({\n requestClose: function requestClose(evt, closedBy) {\n closeEvent.current.event = evt;\n closeEvent.current.closeMethod = closedBy;\n setCurrentPhase('hiding');\n },\n 'data-animatee': animatee.current\n }, phaseProps[currentPhase]);\n return /*#__PURE__*/React.createElement(\"div\", {\n \"data-testid\": \"animator\",\n onTransitionEnd: onAnimationEnd,\n onAnimationEnd: onAnimationEnd,\n \"data-ppui\": \"true\"\n }, children(childProps));\n};\nexport { Animator };","\"use strict\";\n\nexports.__esModule = true;\nexports.useScrollRestoration = exports.ScrollContainer = exports.ScrollContext = void 0;\n\nvar _scrollHandler = require(\"./scroll-handler\");\n\nexports.ScrollContext = _scrollHandler.ScrollHandler;\n\nvar _scrollContainer = require(\"./scroll-container\");\n\nexports.ScrollContainer = _scrollContainer.ScrollContainer;\n\nvar _useScrollRestoration = require(\"./use-scroll-restoration\");\n\nexports.useScrollRestoration = _useScrollRestoration.useScrollRestoration;","import React from 'react';\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 return obj;\n}\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\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 return keys;\n}\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\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 return target;\n}\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\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 return target;\n}\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = _objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\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 return target;\n}\nvar isFunction = function isFunction(obj) {\n return typeof obj === 'function';\n};\nvar MDXContext = /*#__PURE__*/React.createContext({});\nvar withMDXComponents = function withMDXComponents(Component) {\n return function (props) {\n var allComponents = useMDXComponents(props.components);\n return /*#__PURE__*/React.createElement(Component, _extends({}, props, {\n components: allComponents\n }));\n };\n};\nvar useMDXComponents = function useMDXComponents(components) {\n var contextComponents = React.useContext(MDXContext);\n var allComponents = contextComponents;\n if (components) {\n allComponents = isFunction(components) ? components(contextComponents) : _objectSpread2(_objectSpread2({}, contextComponents), components);\n }\n return allComponents;\n};\nvar MDXProvider = function MDXProvider(props) {\n var allComponents = useMDXComponents(props.components);\n return /*#__PURE__*/React.createElement(MDXContext.Provider, {\n value: allComponents\n }, props.children);\n};\nvar TYPE_PROP_NAME = 'mdxType';\nvar DEFAULTS = {\n inlineCode: 'code',\n wrapper: function wrapper(_ref) {\n var children = _ref.children;\n return /*#__PURE__*/React.createElement(React.Fragment, {}, children);\n }\n};\nvar MDXCreateElement = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var propComponents = props.components,\n mdxType = props.mdxType,\n originalType = props.originalType,\n parentName = props.parentName,\n etc = _objectWithoutProperties(props, [\"components\", \"mdxType\", \"originalType\", \"parentName\"]);\n var components = useMDXComponents(propComponents);\n var type = mdxType;\n var Component = components[\"\".concat(parentName, \".\").concat(type)] || components[type] || DEFAULTS[type] || originalType;\n if (propComponents) {\n return /*#__PURE__*/React.createElement(Component, _objectSpread2(_objectSpread2({\n ref: ref\n }, etc), {}, {\n components: propComponents\n }));\n }\n return /*#__PURE__*/React.createElement(Component, _objectSpread2({\n ref: ref\n }, etc));\n});\nMDXCreateElement.displayName = 'MDXCreateElement';\nfunction createElement(type, props) {\n var args = arguments;\n var mdxType = props && props.mdxType;\n if (typeof type === 'string' || mdxType) {\n var argsLength = args.length;\n var createElementArgArray = new Array(argsLength);\n createElementArgArray[0] = MDXCreateElement;\n var newProps = {};\n for (var key in props) {\n if (hasOwnProperty.call(props, key)) {\n newProps[key] = props[key];\n }\n }\n newProps.originalType = type;\n newProps[TYPE_PROP_NAME] = typeof type === 'string' ? type : mdxType;\n createElementArgArray[1] = newProps;\n for (var i = 2; i < argsLength; i++) {\n createElementArgArray[i] = args[i];\n }\n return React.createElement.apply(null, createElementArgArray);\n }\n return React.createElement.apply(null, args);\n}\nexport { MDXContext, MDXProvider, createElement as mdx, useMDXComponents, withMDXComponents };","function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\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 return target;\n}\nmodule.exports = _objectWithoutPropertiesLoose, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","import toPropertyKey from \"./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}\nexport default function _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}","import _taggedTemplateLiteral from '@babel/runtime/helpers/esm/taggedTemplateLiteral';\nimport { css, keyframes, useTheme, jsx, Global } from '@emotion/react';\nimport { math, rgba, rem } from 'polished';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';\nimport React, { useMemo } from 'react';\nimport _slicedToArray from '@babel/runtime/helpers/esm/slicedToArray';\nimport _classCallCheck from '@babel/runtime/helpers/esm/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\nimport _defineProperty from '@babel/runtime/helpers/esm/defineProperty';\nvar _templateObject, _templateObject2, _templateObject3;\nfunction focusStyles(tokens) {\n /* istanbul ignore next */\n if (!Object.keys(tokens).length) {\n console.warn('Missing Emotion theme. Use ThemeProvider from @emotion/react to pass a valid theme from pp-react.');\n return {};\n }\n var sysColorStructureFocus = tokens.sysColorStructureFocus,\n sysColorStructureFocusOutline = tokens.sysColorStructureFocusOutline,\n sysColorErrorMain = tokens.sysColorErrorMain,\n sysColorStructureErrorOutline = tokens.sysColorStructureErrorOutline,\n sysBorderThicknessNormal = tokens.sysBorderThicknessNormal,\n sysBorderThicknessEmphasis = tokens.sysBorderThicknessEmphasis;\n var stateFocusBorderColorInner = sysColorStructureFocus;\n var stateFocusBorderWidthInner = math(\"\".concat(sysBorderThicknessNormal, \" + \").concat(sysBorderThicknessEmphasis));\n var stateFocusBorderColorOuter = sysColorStructureFocusOutline;\n var stateFocusBorderWidthOuter = math(\"2 * \".concat(stateFocusBorderWidthInner));\n function focusAfter() {\n var args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _args$radius = args.radius,\n radius = _args$radius === void 0 ? 'inherit' : _args$radius,\n _args$width = args.width,\n width = _args$width === void 0 ? '100%' : _args$width,\n _args$height = args.height,\n height = _args$height === void 0 ? '100%' : _args$height,\n _args$border = args.border,\n border = _args$border === void 0 ? 'none' : _args$border,\n _args$top = args.top,\n top = _args$top === void 0 ? '0' : _args$top,\n _args$left = args.left,\n left = _args$left === void 0 ? '0' : _args$left,\n _args$right = args.right,\n right = _args$right === void 0 ? '0' : _args$right,\n _args$boxShadowColor = args.boxShadowColor,\n boxShadowColor = _args$boxShadowColor === void 0 ? stateFocusBorderColorOuter : _args$boxShadowColor;\n return css(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n content: '';\\n position: absolute;\\n top: \", \";\\n left: \", \";\\n right: \", \";\\n border: \", \";\\n box-shadow: 0 0 0 \", \" \", \";\\n border-radius: \", \";\\n width: \", \";\\n height: \", \";\\n pointer-events: none;\\n \"])), top, left, right, border, stateFocusBorderWidthOuter, boxShadowColor, radius, width, height);\n }\n function offsetFocusAfter() {\n var args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _args$radius2 = args.radius,\n radius = _args$radius2 === void 0 ? 'inherit' : _args$radius2,\n _args$width2 = args.width,\n width = _args$width2 === void 0 ? '100%' : _args$width2,\n _args$height2 = args.height,\n height = _args$height2 === void 0 ? '100%' : _args$height2,\n _args$horizontalOffse = args.horizontalOffset,\n horizontalOffset = _args$horizontalOffse === void 0 ? sysBorderThicknessNormal : _args$horizontalOffse,\n _args$verticalOffset = args.verticalOffset,\n verticalOffset = _args$verticalOffset === void 0 ? sysBorderThicknessNormal : _args$verticalOffset,\n _args$borderColor = args.borderColor,\n borderColor = _args$borderColor === void 0 ? stateFocusBorderColorInner : _args$borderColor,\n _args$boxShadowColor2 = args.boxShadowColor,\n boxShadowColor = _args$boxShadowColor2 === void 0 ? stateFocusBorderColorOuter : _args$boxShadowColor2;\n var widthOffset = math(\"\".concat(horizontalOffset, \" * 2\"));\n var heightOffset = math(\"\".concat(verticalOffset, \" * 2\"));\n return css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral([\"\\n content: '';\\n position: absolute;\\n top: \", \";\\n left: \", \";\\n border: \", \" solid \", \";\\n box-shadow: 0 0 0 \", \" \", \";\\n border-radius: \", \";\\n text-indent: \", \";\\n width: calc(\", \" - \", \");\\n height: calc(\", \" - \", \");\\n pointer-events: none;\\n \"])), verticalOffset, horizontalOffset, stateFocusBorderWidthInner, borderColor, stateFocusBorderWidthOuter, boxShadowColor, radius, horizontalOffset, width, widthOffset, height, heightOffset);\n }\n function focusInline() {\n var args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _args$radius3 = args.radius,\n radius = _args$radius3 === void 0 ? 'inherit' : _args$radius3,\n _args$colorInner = args.colorInner,\n colorInner = _args$colorInner === void 0 ? stateFocusBorderColorInner : _args$colorInner,\n _args$colorOuter = args.colorOuter,\n colorOuter = _args$colorOuter === void 0 ? stateFocusBorderColorOuter : _args$colorOuter;\n var borderWidth = math(\"\".concat(stateFocusBorderWidthInner, \" + \").concat(stateFocusBorderWidthOuter));\n return css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral([\"\\n box-shadow: 0 0 0 \", \" \", \",\\n 0 0 0 \", \" \", \";\\n outline: \", \" solid transparent;\\n border-radius: \", \";\\n \"])), stateFocusBorderWidthInner, colorInner, borderWidth, colorOuter, stateFocusBorderWidthInner, radius);\n }\n return {\n stateFocusBorderColorOuter: stateFocusBorderColorOuter,\n stateFocusBorderWidthOuter: stateFocusBorderWidthOuter,\n stateFocusBorderColorInner: stateFocusBorderColorInner,\n stateFocusBorderWidthInner: stateFocusBorderWidthInner,\n stateErrorFocusBorderColorInner: sysColorErrorMain,\n stateErrorFocusBorderColorOuter: sysColorStructureErrorOutline,\n focusAfter: focusAfter,\n offsetFocusAfter: offsetFocusAfter,\n focusInline: focusInline\n };\n}\nvar _templateObject$1, _templateObject2$1, _templateObject3$1, _templateObject4;\nfunction styles(tokens) {\n /* istanbul ignore next */\n if (!Object.keys(tokens).length) {\n console.warn('Missing Emotion theme. Use ThemeProvider from @emotion/react to pass a valid theme from pp-react.');\n return {};\n }\n var sysBorderThicknessNormal = tokens.sysBorderThicknessNormal,\n sysBorderRadiusLg = tokens.sysBorderRadiusLg,\n sysColorStructureShimmer = tokens.sysColorStructureShimmer,\n sysColorStructureShimmerInverse = tokens.sysColorStructureShimmerInverse,\n sysColorStructureSheen = tokens.sysColorStructureSheen,\n sysMotionDurationRepeat = tokens.sysMotionDurationRepeat;\n var animation = keyframes(_templateObject$1 || (_templateObject$1 = _taggedTemplateLiteral([\"\\n from {\\n background-position: 100% 0;\\n }\\n to {\\n background-position: -100% 0;\\n }\\n \"])));\n var base = css(_templateObject2$1 || (_templateObject2$1 = _taggedTemplateLiteral([\"\\n label: shimmer_base;\\n background-color: \", \";\\n border: \", \" solid transparent;\\n background-image: linear-gradient(\\n to right,\\n \", \" 0%,\\n \", \" 50%,\\n \", \" 100%\\n );\\n background-position: 100% 0;\\n background-size: 200%;\\n animation: \", \" \", \" ease-in-out infinite;\\n \"])), sysColorStructureShimmer, sysBorderThicknessNormal, sysColorStructureShimmer, sysColorStructureSheen, sysColorStructureShimmer, animation, sysMotionDurationRepeat);\n var inverse = css(_templateObject3$1 || (_templateObject3$1 = _taggedTemplateLiteral([\"\\n label: inverse;\\n background-color: \", \";\\n background-image: linear-gradient(\\n to right,\\n \", \" 0%,\\n \", \" 50%,\\n \", \" 100%\\n );\\n \"])), sysColorStructureShimmerInverse, sysColorStructureShimmerInverse, sysColorStructureSheen, sysColorStructureShimmerInverse);\n function defaults() {\n var args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _args$borderRadius = args.borderRadius,\n borderRadius = _args$borderRadius === void 0 ? sysBorderRadiusLg : _args$borderRadius,\n _args$width = args.width,\n width = _args$width === void 0 ? '100%' : _args$width,\n _args$height = args.height,\n height = _args$height === void 0 ? '100%' : _args$height;\n return css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral([\"\\n label: default;\\n border-radius: \", \";\\n width: \", \";\\n height: \", \";\\n \"])), borderRadius, width, height);\n }\n return {\n base: base,\n inverse: inverse,\n defaults: defaults\n };\n}\nvar _templateObject$2, _templateObject2$2, _templateObject3$2, _templateObject4$1, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9;\nfunction elevationStyles(tokens) {\n /* istanbul ignore next */\n if (!Object.keys(tokens).length) {\n console.warn('Missing Emotion theme. Use ThemeProvider from @emotion/react to pass a valid theme from pp-react.');\n return {};\n }\n var sysColorStructureShadow = tokens.sysColorStructureShadow,\n sysColorBackgroundSurface = tokens.sysColorBackgroundSurface,\n sysElevationHorizontalOffsetRatio = tokens.sysElevationHorizontalOffsetRatio,\n sysElevationOpacity = tokens.sysElevationOpacity,\n sysElevationVerticalOffsetRatio = tokens.sysElevationVerticalOffsetRatio,\n sysElevationBlurCurve = tokens.sysElevationBlurCurve,\n sysElevationBlurSlope = tokens.sysElevationBlurSlope,\n sysElevationBlurBase = tokens.sysElevationBlurBase,\n sysElevationBrightenFactor = tokens.sysElevationBrightenFactor;\n function getOffsetX(level) {\n return rem(sysElevationHorizontalOffsetRatio * level);\n }\n function getOffsetY(level) {\n return rem(sysElevationVerticalOffsetRatio * level - 1);\n }\n function getBlur(level) {\n var curveAndSlopValue = rem(level * level * sysElevationBlurCurve + level * sysElevationBlurSlope);\n return math(\"\".concat(curveAndSlopValue, \" + \").concat(sysElevationBlurBase));\n }\n var color = rgba(sysColorStructureShadow, sysElevationOpacity);\n var backgroundImage = function (level) {\n return \"background-image: linear-gradient(\".concat(rgba(sysColorBackgroundSurface, level * sysElevationBrightenFactor), \", \").concat(rgba(sysColorBackgroundSurface, level * sysElevationBrightenFactor), \")\");\n };\n var shadowProps = function (level) {\n return \"\".concat(getOffsetX(level), \" \").concat(getOffsetY(level), \" \").concat(getBlur(level), \" \").concat(color);\n };\n var elevation = function (level) {\n return css(_templateObject$2 || (_templateObject$2 = _taggedTemplateLiteral([\"\\n box-shadow: \", \";\\n \", \";\\n \"])), shadowProps(level), backgroundImage(level));\n };\n var level1 = css(_templateObject2$2 || (_templateObject2$2 = _taggedTemplateLiteral([\"\\n label: elevation_level1;\\n \", \"\\n \"])), elevation(1));\n var level2 = css(_templateObject3$2 || (_templateObject3$2 = _taggedTemplateLiteral([\"\\n label: elevation_level2;\\n \", \"\\n \"])), elevation(2));\n var level3 = css(_templateObject4$1 || (_templateObject4$1 = _taggedTemplateLiteral([\"\\n label: elevation_level3;\\n \", \"\\n \"])), elevation(3));\n var filterLevel1 = css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral([\"\\n label: drop_shadow1;\\n filter: drop-shadow(\", \");\\n \"])), shadowProps(1));\n var filterLevel2 = css(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral([\"\\n label: drop_shadow2;\\n filter: drop-shadow(\", \");\\n \"])), shadowProps(2));\n var filterLevel3 = css(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral([\"\\n label: drop_shadow3;\\n filter: drop-shadow(\", \");\\n \"])), shadowProps(3)); // NOTE: Used for fixed columns in Tables\n\n var level1Horizontal = css(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral([\"\\n label: fixed_elevation;\\n box-shadow: 0 0 \", \" \", \";\\n \"])), getBlur(0.33), color); // NOTE: Elevation used in Modal\n\n var level3Above = css(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral([\"\\n label: elevation_level3_above;\\n box-shadow: \", \" -\", \" \", \" \", \";\\n \", \";\\n transform: translateZ(0);\\n \"])), getOffsetX(3), getOffsetY(3), getBlur(3), color, backgroundImage(3));\n return {\n level1: level1,\n level2: level2,\n level3: level3,\n level1Horizontal: level1Horizontal,\n level3Above: level3Above,\n filterLevel1: filterLevel1,\n filterLevel2: filterLevel2,\n filterLevel3: filterLevel3\n };\n}\nvar _templateObject$3, _templateObject2$3, _templateObject3$3, _templateObject4$2, _templateObject5$1, _templateObject6$1, _templateObject7$1, _templateObject8$1;\nfunction caretStyles(tokens) {\n /* istanbul ignore next */\n if (!Object.keys(tokens).length) {\n console.warn('Missing Emotion theme. Use ThemeProvider from @emotion/react to pass a valid theme from pp-react.');\n return {};\n }\n var sysSpaceSm = tokens.sysSpaceSm,\n sysSpaceMd = tokens.sysSpaceMd,\n sysSpaceLg = tokens.sysSpaceLg;\n var base = function (caretSideLength) {\n return css(_templateObject$3 || (_templateObject$3 = _taggedTemplateLiteral([\"\\n &:before {\\n content: '';\\n position: absolute;\\n background-color: inherit;\\n width: \", \";\\n height: \", \";\\n transform: scale(0.72) rotate(45deg);\\n box-shadow: inherit;\\n z-index: 0;\\n }\\n\\n //hack to cover top part of rotated skewed square and get triangle shape:\\n &:after {\\n content: '';\\n position: absolute;\\n background-color: inherit;\\n width: 2.5rem;\\n height: \", \";\\n }\\n \"])), caretSideLength, caretSideLength, sysSpaceLg);\n };\n var positionBottom = function (caretVerticalOffset) {\n return css(_templateObject2$3 || (_templateObject2$3 = _taggedTemplateLiteral([\"\\n &:before {\\n top: auto;\\n bottom: -\", \";\\n }\\n &:after {\\n top: auto;\\n bottom: 0;\\n }\\n \"])), caretVerticalOffset);\n };\n var positionTop = function (caretVerticalOffset) {\n return css(_templateObject3$3 || (_templateObject3$3 = _taggedTemplateLiteral([\"\\n &:before {\\n top: -\", \";\\n bottom: auto;\\n }\\n &:after {\\n top: 0;\\n bottom: auto;\\n }\\n \"])), caretVerticalOffset);\n };\n var positionCenter = function (caretWidth) {\n return css(_templateObject4$2 || (_templateObject4$2 = _taggedTemplateLiteral([\"\\n &:before {\\n left: calc(50% - \", \" / 2);\\n right: auto;\\n }\\n &:after {\\n left: calc(50% - 1.25rem);\\n right: auto;\\n }\\n \"])), caretWidth);\n };\n var positionShiftLeft = function (caretSpaceHorizontal) {\n return css(_templateObject5$1 || (_templateObject5$1 = _taggedTemplateLiteral([\"\\n &:before {\\n left: \", \";\\n right: auto;\\n }\\n &:after {\\n left: \", \";\\n right: auto;\\n }\\n \"])), caretSpaceHorizontal, sysSpaceSm);\n };\n var positionShiftRight = function (caretSpaceHorizontal) {\n return css(_templateObject6$1 || (_templateObject6$1 = _taggedTemplateLiteral([\"\\n &:before {\\n left: auto;\\n right: \", \";\\n }\\n &:after {\\n left: auto;\\n right: \", \";\\n }\\n \"])), caretSpaceHorizontal, sysSpaceSm);\n };\n var positionLeft = function (caretVerticalOffset) {\n return css(_templateObject7$1 || (_templateObject7$1 = _taggedTemplateLiteral([\"\\n &:before {\\n top: calc(50% - \", \");\\n bottom: auto;\\n left: -\", \";\\n right: auto;\\n }\\n &:after {\\n transform: rotate(90deg);\\n top: calc(50% - \", \");\\n bottom: auto;\\n left: -\", \";\\n right: auto;\\n }\\n \"])), caretVerticalOffset, caretVerticalOffset, caretVerticalOffset, sysSpaceMd);\n };\n var positionRight = function (caretVerticalOffset) {\n return css(_templateObject8$1 || (_templateObject8$1 = _taggedTemplateLiteral([\"\\n &:before {\\n top: calc(50% - \", \");\\n bottom: auto;\\n left: auto;\\n right: -\", \";\\n }\\n &:after {\\n transform: rotate(90deg);\\n top: calc(50% - \", \");\\n bottom: auto;\\n left: auto;\\n right: -\", \";\\n }\\n \"])), caretVerticalOffset, caretVerticalOffset, caretVerticalOffset, sysSpaceMd);\n };\n return {\n base: base,\n positionBottom: positionBottom,\n positionTop: positionTop,\n positionCenter: positionCenter,\n positionShiftLeft: positionShiftLeft,\n positionShiftRight: positionShiftRight,\n positionLeft: positionLeft,\n positionRight: positionRight\n };\n}\nvar AnimateDirection;\n(function (AnimateDirection) {\n AnimateDirection[\"LEFT\"] = \"left\";\n AnimateDirection[\"RIGHT\"] = \"right\";\n})(AnimateDirection || (AnimateDirection = {}));\nvar ZINDEX_DROPDOWN = 1060;\nvar ZINDEX_TOOLTIP = 1070;\nvar ZINDEX_COACHTIP = 1080;\nvar ZINDEX_MODAL = 1090; // cookiebanner z-index is 1051\n\nvar ZINDEX_TOAST = 1100; // can be on top of modal\n\nvar DEFAULT_CDNPATH = 'www.paypalobjects.com';\nvar DEFAULT_ASSETPATH = 'icons/v3'; // tomorrow it will be illustrations, ...\n\nvar svgBasePath = function () {\n var cdnHost = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : DEFAULT_CDNPATH;\n var assetPath = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DEFAULT_ASSETPATH;\n return \"https://\".concat(cdnHost, \"/paypal-ui/\").concat(assetPath, \"/svg\");\n};\nvar capitalize = function (word) {\n return word && word !== '' ? word[0].toUpperCase() + word.slice(1) : word;\n};\nvar curry = function (func, firstParam) {\n return function () {\n for (var _len = arguments.length, params = new Array(_len), _key = 0; _key < _len; _key++) {\n params[_key] = arguments[_key];\n }\n return func.apply(void 0, [firstParam].concat(params));\n };\n};\nvar getPrefixedAttribute = function (prefix, name, object, fallback) {\n var _ref, _object$name;\n return (_ref = (_object$name = object[name]) !== null && _object$name !== void 0 ? _object$name : object[\"\".concat(prefix).concat(name)]) !== null && _ref !== void 0 ? _ref : typeof fallback === 'function' ? fallback(prefix, name, object) : fallback;\n};\nvar VARIABLE_PATTERN = /\\${(\\w+)}/g;\nvar tokenTemplate = function (template, tokenMap) {\n return template.replace(VARIABLE_PATTERN, function (_match, name) {\n var _tokenMap$name;\n return (_tokenMap$name = tokenMap[name]) !== null && _tokenMap$name !== void 0 ? _tokenMap$name : \"${\".concat(name, \"}\");\n });\n};\nvar _templateObject$4, _templateObject2$4, _templateObject3$4, _templateObject4$3, _templateObject5$2, _templateObject6$2;\nfunction variables(tokens) {\n /* istanbul ignore next */\n if (!Object.keys(tokens).length) {\n console.warn('Missing Emotion theme. Use ThemeProvider from @emotion/react to pass a valid theme from pp-react.');\n return {};\n }\n var sysMotionTimingX1 = tokens.sysMotionTimingX1,\n sysMotionTimingY1 = tokens.sysMotionTimingY1,\n sysMotionTimingX2 = tokens.sysMotionTimingX2,\n sysMotionTimingY2 = tokens.sysMotionTimingY2;\n return {\n ppuiEaseInOut: \"cubic-bezier(\\n \".concat(sysMotionTimingX1, \",\\n \").concat(sysMotionTimingY1, \",\\n \").concat(sysMotionTimingX2, \",\\n \").concat(sysMotionTimingY2, \"\\n )\")\n };\n}\nfunction motionTimings(tokens) {\n /* istanbul ignore next */\n if (!Object.keys(tokens).length) {\n console.warn('Missing Emotion theme. Use ThemeProvider from @emotion/react to pass a valid theme from pp-react.');\n return {};\n }\n var _variables2 = variables(tokens),\n ppuiEaseInOut = _variables2.ppuiEaseInOut;\n var animationTiming = css(_templateObject$4 || (_templateObject$4 = _taggedTemplateLiteral([\"\\n label: motion_animation;\\n animation-timing-function: \", \";\\n \"])), ppuiEaseInOut);\n var transitionTiming = css(_templateObject2$4 || (_templateObject2$4 = _taggedTemplateLiteral([\"\\n label: motion_transition;\\n transition-timing-function: \", \";\\n \"])), ppuiEaseInOut);\n return {\n animationTiming: animationTiming,\n transitionTiming: transitionTiming\n };\n}\nfunction styles$1(tokens) {\n /* istanbul ignore next */\n if (!Object.keys(tokens).length) {\n console.warn('Missing Emotion theme. Use ThemeProvider from @emotion/react to pass a valid theme from pp-react.');\n return {};\n }\n var _variables = variables(tokens);\n var _focusStyles = focusStyles(tokens);\n var _shimmerStyles = styles(tokens);\n var _motionTimings = motionTimings(tokens);\n var _elevationStyles = elevationStyles(tokens);\n var _caretStyles = caretStyles(tokens);\n var screenReader = css(_templateObject3$4 || (_templateObject3$4 = _taggedTemplateLiteral([\"\\n label: screenReader;\\n position: absolute;\\n clip: rect(1px, 1px, 1px, 1px);\\n padding: 0;\\n border: 0;\\n width: 1px;\\n height: 1px;\\n overflow: hidden;\\n \"])));\n var ellipsis = css(_templateObject4$3 || (_templateObject4$3 = _taggedTemplateLiteral([\"\\n white-space: nowrap;\\n text-overflow: ellipsis;\\n overflow: hidden;\\n \"])));\n var mediaQuery = function (queriedCss) {\n var size = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : tokens.sysSizeMediaMd;\n var styleStr = typeof queriedCss === 'string' ? queriedCss : queriedCss.styles;\n return css(_templateObject5$2 || (_templateObject5$2 = _taggedTemplateLiteral([\"\\n @media screen and (max-width: \", \") {\\n \", \"\\n }\\n \"])), size, tokenTemplate(styleStr, tokens));\n };\n /**\n * Use direction to generate keyframes\n * @param direction AnimateDirection\n * @returns SerializedStyles\n */\n // This is tested, but coverage not registering it\n\n /* istanbul ignore next */\n\n var slideTo = function () {\n var direction = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : AnimateDirection.RIGHT;\n var startPosition = direction === AnimateDirection.RIGHT ? '-100%' : '100%';\n return keyframes(_templateObject6$2 || (_templateObject6$2 = _taggedTemplateLiteral([\"\\n 0% {\\n transform: translateX(\", \");\\n }\\n\\n 100% {\\n transform: translateX(0);\\n }\\n \"])), startPosition);\n };\n return {\n variables: _variables,\n focusStyles: _focusStyles,\n shimmerStyles: _shimmerStyles,\n motionTimings: _motionTimings,\n elevationStyles: _elevationStyles,\n caretStyles: _caretStyles,\n mediaQuery: mediaQuery,\n screenReader: screenReader,\n ellipsis: ellipsis,\n slideTo: slideTo\n };\n}\nvar _excluded = [\"as\", \"className\", \"children\"];\nvar ScreenReaderContent = function (_ref) {\n var _ref$as = _ref.as,\n as = _ref$as === void 0 ? 'div' : _ref$as,\n className = _ref.className,\n children = _ref.children,\n rest = _objectWithoutProperties(_ref, _excluded);\n var tokens = useTheme();\n var _useMemo = useMemo(function () {\n return styles$1(tokens);\n }, [tokens]),\n screenReader = _useMemo.screenReader;\n return jsx(as, _extends({\n css: screenReader,\n className: className\n }, rest), children);\n};\nvar _excluded$1 = [\"as\", \"isInverse\", \"className\", \"hasStyleDefaults\", \"children\"];\nvar Shimmer = function (_ref) {\n var _styles$defaults;\n var _ref$as = _ref.as,\n as = _ref$as === void 0 ? 'div' : _ref$as,\n isInverse = _ref.isInverse,\n className = _ref.className,\n _ref$hasStyleDefaults = _ref.hasStyleDefaults,\n hasStyleDefaults = _ref$hasStyleDefaults === void 0 ? true : _ref$hasStyleDefaults,\n children = _ref.children,\n rest = _objectWithoutProperties(_ref, _excluded$1);\n var tokens = useTheme();\n var _styles = useMemo(function () {\n return styles(tokens);\n }, [tokens]);\n var cssVal = [_styles.base, isInverse && _styles.inverse, hasStyleDefaults && ((_styles$defaults = _styles.defaults) === null || _styles$defaults === void 0 ? void 0 : _styles$defaults.call(_styles))];\n return jsx(as, _extends({\n css: cssVal,\n className: className\n }, rest), jsx(ScreenReaderContent, {\n as: \"span\"\n }, children));\n};\nvar COLOR_PREFIX = 'sysColor';\nvar getColor = curry(getPrefixedAttribute, COLOR_PREFIX);\nvar mainSuffixes = {\n Main: 1,\n Surface: 1,\n Alt: 1,\n Hover: 2,\n Active: 2\n};\nvar PARSER = /(sysColor)?([A-Z][a-z]+[0-9]?)(Main|Surface|Alt|Hover|Active|Contrast|HighContrast|MediumContrast)?/;\nvar getColorFamily = function (name, tokens) {\n var _name$;\n var parsed = name.match(PARSER);\n if (parsed === null && ((_name$ = name[0]) === null || _name$ === void 0 ? void 0 : _name$.toUpperCase()) !== name[0]) {\n return getColorFamily(capitalize(name), tokens);\n }\n var _parsed = _slicedToArray(parsed, 4),\n original = _parsed[0],\n _parsed$ = _parsed[1],\n prefix = _parsed$ === void 0 ? 'sysColor' : _parsed$,\n base = _parsed[2],\n _parsed$2 = _parsed[3],\n suffix = _parsed$2 === void 0 ? 'Main' : _parsed$2;\n var contrastName = base === 'Background' ? 'MediumContrast' : 'Contrast';\n var complement = mainSuffixes.hasOwnProperty(suffix) ? contrastName : 'Main'; // provide support for token sysColorRangeMainActive\n\n if (base === 'Range') base = \"Selected\".concat(base);\n var backgroundName = \"\".concat(prefix).concat(base).concat(suffix);\n var foregroundName = \"\".concat(prefix).concat(base).concat(complement);\n var altName = \"\".concat(prefix).concat(base, \"Alt\");\n var contrastHover = \"\".concat(foregroundName, \"Hover\");\n var contrastActive = \"\".concat(foregroundName, \"Active\");\n var hoverName = \"\".concat(prefix).concat(base).concat(suffix, \"Hover\");\n var activeName = \"\".concat(prefix).concat(base).concat(suffix, \"Active\");\n return {\n contrast: tokens[foregroundName],\n main: tokens[backgroundName],\n alt: tokens[altName],\n hover: tokens[hoverName],\n active: tokens[activeName],\n contrastHover: tokens[contrastHover],\n contrastActive: tokens[contrastActive],\n parsed: {\n original: original,\n base: base,\n suffix: suffix,\n prefix: prefix,\n complement: complement,\n hoverName: hoverName,\n activeName: activeName\n }\n };\n};\nvar ColorContext = React.createContext(null);\n/* istanbul ignore next */\n\nvar ColorProvider = function (props) {\n return /*#__PURE__*/React.createElement(ColorContext.Provider, {\n value: props.colorFamily\n }, props.children);\n};\n/* istanbul ignore next */\n\nvar getColorValue = function (containerTokens, componentColor, colorType) {\n var _containerTokens$acti, _containerTokens$hove, _containerTokens$main;\n switch (colorType) {\n case 'contrast':\n return (containerTokens === null || containerTokens === void 0 ? void 0 : containerTokens.contrast) ? containerTokens.contrast : componentColor;\n case 'active':\n return (_containerTokens$acti = containerTokens === null || containerTokens === void 0 ? void 0 : containerTokens.active) !== null && _containerTokens$acti !== void 0 ? _containerTokens$acti : componentColor;\n case 'hover':\n return (_containerTokens$hove = containerTokens === null || containerTokens === void 0 ? void 0 : containerTokens.hover) !== null && _containerTokens$hove !== void 0 ? _containerTokens$hove : componentColor;\n case 'main':\n return (_containerTokens$main = containerTokens === null || containerTokens === void 0 ? void 0 : containerTokens.main) !== null && _containerTokens$main !== void 0 ? _containerTokens$main : componentColor;\n default:\n return componentColor;\n }\n};\nvar _excluded$2 = [\"level\", \"className\", \"children\", \"theme\", \"isFilter\"];\nvar Elevation = function (_ref) {\n var level = _ref.level,\n className = _ref.className,\n children = _ref.children,\n theme = _ref.theme,\n _ref$isFilter = _ref.isFilter,\n isFilter = _ref$isFilter === void 0 ? false : _ref$isFilter,\n rest = _objectWithoutProperties(_ref, _excluded$2);\n var tokens = useTheme();\n var _styles = useMemo(function () {\n return elevationStyles(tokens);\n }, [tokens]);\n var levelStylesMap = {\n 1: _styles.level1,\n 2: _styles.level2,\n 3: _styles.level3\n };\n var filterStylesMap = {\n 1: _styles.filterLevel1,\n 2: _styles.filterLevel2,\n 3: _styles.filterLevel3\n };\n return jsx(\"div\", _extends({\n css: (isFilter ? filterStylesMap : levelStylesMap)[level],\n className: className\n }, rest), children);\n};\nvar _templateObject$5;\nfunction normalizeStyles(tokens) {\n /* istanbul ignore next */\n if (!Object.keys(tokens).length) {\n console.warn('Missing Emotion theme. Use ThemeProvider from @emotion/react to pass a valid theme from pp-react.');\n return {};\n }\n var sysColorBackgroundHighContrast = tokens.sysColorBackgroundHighContrast,\n sysTypographyBodyFamily = tokens.sysTypographyBodyFamily,\n sysTypographyBodyStrongFamily = tokens.sysTypographyBodyStrongFamily;\n return css(_templateObject$5 || (_templateObject$5 = _taggedTemplateLiteral([\"\\n @font-face {\\n font-family: \", \";\\n font-style: normal;\\n font-display: swap;\\n src: url('https://www.paypalobjects.com/paypal-ui/fonts/\", \".woff2')\\n format('woff2'),\\n url('https://www.paypalobjects.com/paypal-ui/fonts/\", \".woff')\\n format('woff');\\n }\\n\\n @font-face {\\n font-family: \", \";\\n font-style: normal;\\n font-display: swap;\\n src: url('https://www.paypalobjects.com/paypal-ui/fonts/\", \".woff2')\\n format('woff2'),\\n url('https://www.paypalobjects.com/paypal-ui/fonts/\", \".woff')\\n format('woff');\\n }\\n\\n html {\\n box-sizing: border-box;\\n }\\n\\n /* stylelint-disable selector-max-universal */\\n *,\\n *:before,\\n *:after {\\n box-sizing: inherit;\\n }\\n /* stylelint-enable selector-max-universal */\\n\\n /* Setting these elements to height of 100% ensures that\\n * .pp_react_foreground-container fully covers the whole viewport\\n */\\n html,\\n body {\\n height: 100%;\\n font-family: \", \", 'Helvetica Neue', Arial,\\n sans-serif;\\n color: \", \";\\n }\\n\\n /* End of core global style */\\n\\n /* normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\\n\\n /* Document\\n ========================================================================== */\\n\\n /**\\n * 1. Correct the line height in all browsers.\\n * 2. Prevent adjustments of font size after orientation changes in iOS.\\n */\\n\\n /* stylelint-disable no-duplicate-selectors */\\n html {\\n line-height: 1.15; /* 1 */\\n -webkit-text-size-adjust: 100%; /* 2 */\\n }\\n /* stylelint-enable no-duplicate-selectors */\\n\\n /* Sections\\n ========================================================================== */\\n\\n /**\\n * Remove the margin in all browsers.\\n */\\n\\n body {\\n margin: 0;\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale;\\n }\\n\\n /**\\n * Render the 'main' element consistently in IE.\\n */\\n\\n main {\\n display: block;\\n }\\n\\n /**\\n * Correct the font size and margin on 'h1' elements within 'section' and\\n * 'article' contexts in Chrome, Firefox, and Safari.\\n */\\n\\n h1 {\\n font-size: 2em;\\n margin: 0.67em 0;\\n }\\n\\n /* Grouping content\\n ========================================================================== */\\n\\n /**\\n * 1. Add the correct box sizing in Firefox.\\n * 2. Show the overflow in Edge and IE.\\n */\\n\\n hr {\\n box-sizing: content-box; /* 1 */\\n height: 0; /* 1 */\\n overflow: visible; /* 2 */\\n }\\n\\n /**\\n * 1. Correct the inheritance and scaling of font size in all browsers.\\n * 2. Correct the odd 'em' font sizing in all browsers.\\n */\\n\\n pre {\\n font-family: monospace; /* 1 */\\n font-size: 1em; /* 2 */\\n }\\n\\n /* Text-level semantics\\n ========================================================================== */\\n\\n /**\\n * Remove the gray background on active links in IE 10.\\n */\\n\\n a {\\n background-color: transparent;\\n }\\n\\n /**\\n * 1. Remove the bottom border in Chrome 57-\\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\\n */\\n\\n /* stylelint-disable selector-no-qualifying-type */\\n abbr[title] {\\n border-bottom: none; /* 1 */\\n text-decoration: underline; /* 2 */\\n text-decoration: underline dotted; /* 2 */\\n }\\n /* stylelint-enable selector-no-qualifying-type */\\n\\n /**\\n * Add the correct font weight in Chrome, Edge, and Safari.\\n */\\n\\n /* stylelint-disable font-weight-notation */\\n b,\\n strong {\\n font-weight: bolder;\\n }\\n /* stylelint-enable font-weight-notation */\\n\\n /**\\n * 1. Correct the inheritance and scaling of font size in all browsers.\\n * 2. Correct the odd 'em' font sizing in all browsers.\\n */\\n\\n code,\\n kbd,\\n samp {\\n font-family: monospace; /* 1 */\\n font-size: 1em; /* 2 */\\n }\\n\\n /**\\n * Add the correct font size in all browsers.\\n */\\n\\n small {\\n font-size: 80%;\\n }\\n\\n /**\\n * Prevent 'sub' and 'sup' elements from affecting the line height in\\n * all browsers.\\n */\\n\\n sub,\\n sup {\\n font-size: 75%;\\n line-height: 0;\\n position: relative;\\n vertical-align: baseline;\\n }\\n\\n sub {\\n bottom: -0.25em;\\n }\\n\\n sup {\\n top: -0.5em;\\n }\\n\\n /* Embedded content\\n ========================================================================== */\\n\\n /**\\n * Remove the border on images inside links in IE 10.\\n */\\n\\n img {\\n border-style: none;\\n }\\n\\n /* Forms\\n ========================================================================== */\\n\\n /**\\n * 1. Change the font styles in all browsers.\\n * 2. Remove the margin in Firefox and Safari.\\n */\\n\\n button,\\n input,\\n optgroup,\\n select,\\n textarea {\\n font-family: inherit; /* 1 */\\n font-size: 100%; /* 1 */\\n line-height: 1.15; /* 1 */\\n margin: 0; /* 2 */\\n }\\n\\n /**\\n * Show the overflow in IE.\\n * 1. Show the overflow in Edge.\\n */\\n\\n button,\\n input {\\n /* 1 */\\n overflow: visible;\\n }\\n\\n /**\\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\\n * 1. Remove the inheritance of text transform in Firefox.\\n */\\n\\n button,\\n select {\\n /* 1 */\\n text-transform: none;\\n }\\n\\n /**\\n * Correct the inability to style clickable types in iOS and Safari.\\n */\\n\\n button,\\n [type='button'],\\n [type='reset'],\\n [type='submit'] {\\n -webkit-appearance: button;\\n }\\n\\n /**\\n * Remove the inner border and padding in Firefox.\\n */\\n\\n button::-moz-focus-inner,\\n [type='button']::-moz-focus-inner,\\n [type='reset']::-moz-focus-inner,\\n [type='submit']::-moz-focus-inner {\\n border-style: none;\\n padding: 0;\\n }\\n\\n /**\\n * Restore the focus styles unset by the previous rule.\\n */\\n\\n button:-moz-focusring,\\n [type='button']:-moz-focusring,\\n [type='reset']:-moz-focusring,\\n [type='submit']:-moz-focusring {\\n outline: 1px dotted ButtonText;\\n }\\n\\n /**\\n * Correct the padding in Firefox.\\n */\\n\\n fieldset {\\n padding: 0.35em 0.75em 0.625em;\\n }\\n\\n /**\\n * 1. Correct the text wrapping in Edge and IE.\\n * 2. Correct the color inheritance from 'fieldset' elements in IE.\\n * 3. Remove the padding so developers are not caught out when they zero out\\n * 'fieldset' elements in all browsers.\\n */\\n\\n legend {\\n box-sizing: border-box; /* 1 */\\n color: inherit; /* 2 */\\n display: table; /* 1 */\\n max-width: 100%; /* 1 */\\n padding: 0; /* 3 */\\n white-space: normal; /* 1 */\\n }\\n\\n /**\\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\\n */\\n\\n progress {\\n vertical-align: baseline;\\n }\\n\\n /**\\n * Remove the default vertical scrollbar in IE 10+.\\n */\\n\\n textarea {\\n overflow: auto;\\n }\\n\\n /**\\n * 1. Add the correct box sizing in IE 10.\\n * 2. Remove the padding in IE 10.\\n */\\n\\n [type='checkbox'],\\n [type='radio'] {\\n box-sizing: border-box; /* 1 */\\n padding: 0; /* 2 */\\n }\\n\\n /**\\n * Correct the cursor style of increment and decrement buttons in Chrome.\\n */\\n\\n [type='number']::-webkit-inner-spin-button,\\n [type='number']::-webkit-outer-spin-button {\\n height: auto;\\n }\\n\\n /**\\n * 1. Correct the odd appearance in Chrome and Safari.\\n * 2. Correct the outline style in Safari.\\n */\\n\\n [type='search'] {\\n -webkit-appearance: textfield; /* 1 */\\n outline-offset: -2px; /* 2 */\\n }\\n\\n /**\\n * Remove the inner padding in Chrome and Safari on macOS.\\n */\\n\\n [type='search']::-webkit-search-decoration {\\n -webkit-appearance: none;\\n }\\n\\n /**\\n * 1. Correct the inability to style clickable types in iOS and Safari.\\n * 2. Change font properties to 'inherit' in Safari.\\n */\\n\\n ::-webkit-file-upload-button {\\n -webkit-appearance: button; /* 1 */\\n font: inherit; /* 2 */\\n }\\n\\n /* Interactive\\n ========================================================================== */\\n\\n /*\\n * Add the correct display in Edge, IE 10+, and Firefox.\\n */\\n\\n details {\\n display: block;\\n }\\n\\n /*\\n * Add the correct display in all browsers.\\n */\\n\\n summary {\\n display: list-item;\\n }\\n\\n /* Misc\\n ========================================================================== */\\n\\n /**\\n * Add the correct display in IE 10+.\\n */\\n\\n template {\\n display: none;\\n }\\n\\n /**\\n * Add the correct display in IE 10.\\n */\\n\\n [hidden] {\\n display: none;\\n }\\n\\n /* stylelint-enable property-no-vendor-prefix */\\n \"])), sysTypographyBodyFamily, sysTypographyBodyFamily, sysTypographyBodyFamily, sysTypographyBodyStrongFamily, sysTypographyBodyStrongFamily, sysTypographyBodyStrongFamily, sysTypographyBodyFamily, sysColorBackgroundHighContrast);\n}\nvar _excluded$3 = [\"as\", \"children\"];\nvar FontsAndNormalize = function (_ref) {\n var _ref$as = _ref.as,\n as = _ref$as === void 0 ? 'div' : _ref$as,\n children = _ref.children,\n rest = _objectWithoutProperties(_ref, _excluded$3);\n var tokens = useTheme();\n var _styles = useMemo(function () {\n return normalizeStyles(tokens);\n }, [tokens]);\n return jsx(as, rest, jsx(Global, {\n styles: _styles\n }), children);\n};\nvar UNIT_PARSER = /([+-]?\\d*\\.?\\d*)([a-z%]*)?/;\nvar splitValue = function (str, defaultUnit) {\n var _ref;\n if (typeof str === 'number') {\n return {\n unit: defaultUnit,\n value: str\n };\n }\n var parts = str.match(UNIT_PARSER);\n var value = parseFloat(str);\n return {\n value: value,\n unit: (_ref = parts && parts[2]) !== null && _ref !== void 0 ? _ref : defaultUnit\n };\n};\nvar getMs = function (str) {\n var _splitValue = splitValue(str, 'ms'),\n unit = _splitValue.unit,\n value = _splitValue.value;\n return unit === 's' ? value * 1000 : value;\n};\nvar getPx = function (str) {\n var remBase = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 16;\n var _splitValue2 = splitValue(str, 'px'),\n unit = _splitValue2.unit,\n value = _splitValue2.value;\n return unit === 'rem' ? value * remBase : value;\n};\nvar getRem = function (str) {\n var remBase = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 16;\n var _splitValue3 = splitValue(str, 'rem'),\n unit = _splitValue3.unit,\n value = _splitValue3.value;\n return unit === 'px' ? value / remBase : value;\n};\n\n/**\n * Check whether window object is present or not.\n * @returns boolean\n */\nvar hasWindow = function () {\n return typeof window !== 'undefined';\n};\n/**\n * Check whether navigator object is present or not.\n * @returns boolean\n */\n\n/* istanbul ignore next */\n\nvar hasNavigator = function () {\n return typeof navigator !== 'undefined';\n};\n/**\n * Check whether document object is present or not.\n * @returns boolean\n */\n\n/* istanbul ignore next */\n\nvar hasDocument = function () {\n return typeof document !== 'undefined';\n};\n/**\n * Check whether the browser is running in a touch device or not.\n * @returns boolean\n */\n\n/* istanbul ignore next */\n\nvar isTouchDevice = function () {\n var _navigator$maxTouchPo;\n if (hasWindow() && 'ontouchstart' in window) {\n return true;\n }\n return !!(hasNavigator() && ((_navigator$maxTouchPo = navigator.maxTouchPoints) !== null && _navigator$maxTouchPo !== void 0 ? _navigator$maxTouchPo : navigator.msMaxTouchPoints));\n};\n/**\n * Check whether the names passed as param is the active element or not.\n * @param elementName Names of the active element. For example `INPUT`, `TEXTAREA`, etc.\n * @returns boolean\n */\n\n/* istanbul ignore next */\n\nvar isActiveElementIn = function (elementNames) {\n if (!hasDocument()) {\n return false;\n }\n var activeElement = document.activeElement;\n return activeElement && elementNames.includes(activeElement.tagName);\n};\n/**\n * Check whether the browser document's direction attribute is `rtl` or not.\n * @returns boolean\n */\n\n/* istanbul ignore next */\n\nvar isDocumentRTL = function () {\n return hasWindow() ? getComputedStyle(document.body).direction === 'rtl' : false;\n};\nvar _excluded$4 = [\"className\"],\n _excluded2 = [\"className\"];\nfunction useMotionCSS() {\n var tokens = useTheme();\n var _useMemo = useMemo(function () {\n return styles$1(tokens);\n }, [tokens]),\n _useMemo$motionTiming = _useMemo.motionTimings,\n animationTiming = _useMemo$motionTiming.animationTiming,\n transitionTiming = _useMemo$motionTiming.transitionTiming;\n return {\n animationTiming: animationTiming,\n transitionTiming: transitionTiming\n };\n}\nvar withAnimation = function (WrappedComponent) {\n var WCAnimation = function (_ref) {\n var className = _ref.className,\n rest = _objectWithoutProperties(_ref, _excluded$4);\n return jsx(WrappedComponent, _extends({\n css: useMotionCSS().animationTiming,\n className: className\n }, rest));\n };\n WCAnimation.displayName = 'withAnimation';\n return WCAnimation;\n};\nvar withTransition = function (WrappedComponent) {\n var WCTransition = function (_ref2) {\n var className = _ref2.className,\n rest = _objectWithoutProperties(_ref2, _excluded2);\n return jsx(WrappedComponent, _extends({\n css: useMotionCSS().transitionTiming,\n className: className\n }, rest));\n };\n WCTransition.displayName = 'withTransition';\n return WCTransition;\n};\nvar PREFIX_DEFAULT = 'ppui';\nvar ppuiUniqueIdCounter = {};\n/**\n * Generates an unique ID.\n * If prefix is passed, the function prepends the prefix with the ID.\n *\n * @param {string} prefix The value to prefix with the ID.\n * @returns {string} The unique ID.\n */\n\nfunction uniqueId() {\n var prefix = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : PREFIX_DEFAULT;\n if (!ppuiUniqueIdCounter[prefix]) {\n ppuiUniqueIdCounter[prefix] = 0;\n }\n var id = ++ppuiUniqueIdCounter[prefix];\n return prefix === PREFIX_DEFAULT ? \"\".concat(id) : \"\".concat(prefix).concat(id);\n}\nvar KeyboardCode = /*#__PURE__*/function () {\n function KeyboardCode(code) {\n _classCallCheck(this, KeyboardCode);\n _defineProperty(this, \"key\", void 0);\n this.key = code;\n }\n _createClass(KeyboardCode, [{\n key: \"IS_ARROW_LEFT\",\n get: function get() {\n return ['ArrowLeft', KeyboardCode.NAME_ARROW_LEFT, KeyboardCode.CODE_ARROW_LEFT].includes(this.key);\n }\n }, {\n key: \"IS_ARROW_RIGHT\",\n get: function get() {\n return ['ArrowRight', KeyboardCode.NAME_ARROW_RIGHT, KeyboardCode.CODE_ARROW_RIGHT].includes(this.key);\n }\n }, {\n key: \"IS_ARROW_UP\",\n get: function get() {\n return ['ArrowUp', KeyboardCode.NAME_ARROW_UP, KeyboardCode.CODE_ARROW_UP].includes(this.key);\n }\n }, {\n key: \"IS_ARROW_DOWN\",\n get: function get() {\n return ['ArrowDown', KeyboardCode.NAME_ARROW_DOWN, KeyboardCode.CODE_ARROW_DOWN].includes(this.key);\n }\n }, {\n key: \"IS_ENTER\",\n get: function get() {\n return [KeyboardCode.NAME_ENTER, KeyboardCode.CODE_ENTER].includes(this.key);\n }\n }, {\n key: \"IS_SPACEBAR\",\n get: function get() {\n return [KeyboardCode.NAME_SPACE, KeyboardCode.CODE_SPACE].includes(this.key);\n }\n }, {\n key: \"IS_TAB\",\n get: function get() {\n return [KeyboardCode.NAME_TAB, KeyboardCode.CODE_TAB].includes(this.key);\n }\n }, {\n key: \"IS_ESC\",\n get: function get() {\n return ['Escape', KeyboardCode.NAME_ESC, KeyboardCode.CODE_ESC].includes(this.key);\n }\n }, {\n key: \"IS_HOME\",\n get: function get() {\n return [KeyboardCode.NAME_HOME, KeyboardCode.CODE_HOME].includes(this.key);\n }\n }, {\n key: \"IS_END\",\n get: function get() {\n return [KeyboardCode.NAME_END, KeyboardCode.CODE_END].includes(this.key);\n }\n }, {\n key: \"IS_BACKSPACE\",\n get: function get() {\n return [KeyboardCode.NAME_BACKSPACE, KeyboardCode.CODE_BACKSPACE].includes(this.key);\n }\n }, {\n key: \"IS_DELETE\",\n get: function get() {\n return [KeyboardCode.NAME_DELETE, KeyboardCode.CODE_DELETE].includes(this.key);\n }\n }, {\n key: \"IS_SIDE_NAVIGATION\",\n get: function get() {\n return this.IS_ARROW_LEFT || this.IS_ARROW_RIGHT || this.IS_END || this.IS_HOME;\n }\n }, {\n key: \"IS_ARROW_KEY\",\n get: function get() {\n return this.IS_ARROW_LEFT || this.IS_ARROW_RIGHT || this.IS_ARROW_UP || this.IS_ARROW_DOWN;\n }\n }]);\n return KeyboardCode;\n}();\n_defineProperty(KeyboardCode, \"CODE_ARROW_UP\", 38);\n_defineProperty(KeyboardCode, \"CODE_ARROW_DOWN\", 40);\n_defineProperty(KeyboardCode, \"CODE_ARROW_LEFT\", 37);\n_defineProperty(KeyboardCode, \"CODE_ARROW_RIGHT\", 39);\n_defineProperty(KeyboardCode, \"CODE_ENTER\", 13);\n_defineProperty(KeyboardCode, \"CODE_SPACE\", 32);\n_defineProperty(KeyboardCode, \"CODE_ESC\", 27);\n_defineProperty(KeyboardCode, \"CODE_TAB\", 9);\n_defineProperty(KeyboardCode, \"CODE_CAPS_LOCK\", 20);\n_defineProperty(KeyboardCode, \"CODE_HOME\", 36);\n_defineProperty(KeyboardCode, \"CODE_END\", 35);\n_defineProperty(KeyboardCode, \"CODE_BACKSPACE\", 8);\n_defineProperty(KeyboardCode, \"CODE_DELETE\", 46);\n_defineProperty(KeyboardCode, \"NAME_ARROW_UP\", 'Up');\n_defineProperty(KeyboardCode, \"NAME_ARROW_DOWN\", 'Down');\n_defineProperty(KeyboardCode, \"NAME_ARROW_LEFT\", 'Left');\n_defineProperty(KeyboardCode, \"NAME_ARROW_RIGHT\", 'Right');\n_defineProperty(KeyboardCode, \"NAME_ENTER\", 'Enter');\n_defineProperty(KeyboardCode, \"NAME_SPACE\", ' ');\n_defineProperty(KeyboardCode, \"NAME_ESC\", 'Esc');\n_defineProperty(KeyboardCode, \"NAME_TAB\", 'Tab');\n_defineProperty(KeyboardCode, \"NAME_HOME\", 'Home');\n_defineProperty(KeyboardCode, \"NAME_END\", 'End');\n_defineProperty(KeyboardCode, \"NAME_BACKSPACE\", 'Backspace');\n_defineProperty(KeyboardCode, \"NAME_DELETE\", 'Delete');\nvar devWarning = function (warningText) {\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line no-console\n console.warn(warningText);\n }\n};\nexport { AnimateDirection, COLOR_PREFIX, ColorContext, ColorProvider, DEFAULT_ASSETPATH, DEFAULT_CDNPATH, Elevation, FontsAndNormalize, KeyboardCode, ScreenReaderContent, Shimmer, ZINDEX_COACHTIP, ZINDEX_DROPDOWN, ZINDEX_MODAL, ZINDEX_TOAST, ZINDEX_TOOLTIP, capitalize, curry, devWarning, getColor, getColorFamily, getColorValue, getMs, getPrefixedAttribute, getPx, getRem, hasDocument, hasNavigator, hasWindow, isActiveElementIn, isDocumentRTL, isTouchDevice, splitValue, svgBasePath, tokenTemplate, uniqueId, styles$1 as utilStyles, withAnimation, withTransition };","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","'use strict';\nvar shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","exports.polyfill = Component => Component\n","var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar getLocation = function getLocation(source) {\n var _source$location = source.location,\n search = _source$location.search,\n hash = _source$location.hash,\n href = _source$location.href,\n origin = _source$location.origin,\n protocol = _source$location.protocol,\n host = _source$location.host,\n hostname = _source$location.hostname,\n port = _source$location.port;\n var pathname = source.location.pathname;\n\n\n if (!pathname && href && canUseDOM) {\n var url = new URL(href);\n pathname = url.pathname;\n }\n\n return {\n pathname: encodeURI(decodeURI(pathname)),\n search: search,\n hash: hash,\n href: href,\n origin: origin,\n protocol: protocol,\n host: host,\n hostname: hostname,\n port: port,\n state: source.history.state,\n key: source.history.state && source.history.state.key || \"initial\"\n };\n};\n\nvar createHistory = function createHistory(source, options) {\n var listeners = [];\n var location = getLocation(source);\n var transitioning = false;\n var resolveTransition = function resolveTransition() {};\n\n return {\n get location() {\n return location;\n },\n\n get transitioning() {\n return transitioning;\n },\n\n _onTransitionComplete: function _onTransitionComplete() {\n transitioning = false;\n resolveTransition();\n },\n listen: function listen(listener) {\n listeners.push(listener);\n\n var popstateListener = function popstateListener() {\n location = getLocation(source);\n listener({ location: location, action: \"POP\" });\n };\n\n source.addEventListener(\"popstate\", popstateListener);\n\n return function () {\n source.removeEventListener(\"popstate\", popstateListener);\n listeners = listeners.filter(function (fn) {\n return fn !== listener;\n });\n };\n },\n navigate: function navigate(to) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n state = _ref.state,\n _ref$replace = _ref.replace,\n replace = _ref$replace === undefined ? false : _ref$replace;\n\n if (typeof to === \"number\") {\n source.history.go(to);\n } else {\n state = _extends({}, state, { key: Date.now() + \"\" });\n // try...catch iOS Safari limits to 100 pushState calls\n try {\n if (transitioning || replace) {\n source.history.replaceState(state, null, to);\n } else {\n source.history.pushState(state, null, to);\n }\n } catch (e) {\n source.location[replace ? \"replace\" : \"assign\"](to);\n }\n }\n\n location = getLocation(source);\n transitioning = true;\n var transition = new Promise(function (res) {\n return resolveTransition = res;\n });\n listeners.forEach(function (listener) {\n return listener({ location: location, action: \"PUSH\" });\n });\n return transition;\n }\n };\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// Stores history entries in memory for testing or other platforms like Native\nvar createMemorySource = function createMemorySource() {\n var initialPath = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"/\";\n\n var searchIndex = initialPath.indexOf(\"?\");\n var initialLocation = {\n pathname: searchIndex > -1 ? initialPath.substr(0, searchIndex) : initialPath,\n search: searchIndex > -1 ? initialPath.substr(searchIndex) : \"\"\n };\n var index = 0;\n var stack = [initialLocation];\n var states = [null];\n\n return {\n get location() {\n return stack[index];\n },\n addEventListener: function addEventListener(name, fn) {},\n removeEventListener: function removeEventListener(name, fn) {},\n\n history: {\n get entries() {\n return stack;\n },\n get index() {\n return index;\n },\n get state() {\n return states[index];\n },\n pushState: function pushState(state, _, uri) {\n var _uri$split = uri.split(\"?\"),\n pathname = _uri$split[0],\n _uri$split$ = _uri$split[1],\n search = _uri$split$ === undefined ? \"\" : _uri$split$;\n\n index++;\n stack.push({ pathname: pathname, search: search.length ? \"?\" + search : search });\n states.push(state);\n },\n replaceState: function replaceState(state, _, uri) {\n var _uri$split2 = uri.split(\"?\"),\n pathname = _uri$split2[0],\n _uri$split2$ = _uri$split2[1],\n search = _uri$split2$ === undefined ? \"\" : _uri$split2$;\n\n stack[index] = { pathname: pathname, search: search };\n states[index] = state;\n },\n go: function go(to) {\n var newIndex = index + to;\n\n if (newIndex < 0 || newIndex > states.length - 1) {\n return;\n }\n\n index = newIndex;\n }\n }\n };\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// global history - uses window.history as the source if available, otherwise a\n// memory history\nvar canUseDOM = !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\nvar getSource = function getSource() {\n return canUseDOM ? window : createMemorySource();\n};\n\nvar globalHistory = createHistory(getSource());\nvar navigate = globalHistory.navigate;\n\n////////////////////////////////////////////////////////////////////////////////\n\nexport { globalHistory, navigate, createHistory, createMemorySource };","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar isCallable = require('../internals/is-callable');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar $Object = Object;\n\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) === 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) === 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","import { h as hasOwnProperty, E as Emotion, c as createEmotionProps, w as withEmotionCache, T as ThemeContext, i as isBrowser$1 } from './emotion-element-c39617d8.browser.esm.js';\nexport { C as CacheProvider, T as ThemeContext, a as ThemeProvider, _ as __unsafe_useEmotionCache, u as useTheme, w as withEmotionCache, b as withTheme } from './emotion-element-c39617d8.browser.esm.js';\nimport * as React from 'react';\nimport { insertStyles, registerStyles, getRegisteredStyles } from '@emotion/utils';\nimport { useInsertionEffectWithLayoutFallback, useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\nimport { serializeStyles } from '@emotion/serialize';\nimport '@emotion/cache';\nimport '@babel/runtime/helpers/extends';\nimport '@emotion/weak-memoize';\nimport '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport 'hoist-non-react-statics';\nvar pkg = {\n name: \"@emotion/react\",\n version: \"11.11.1\",\n main: \"dist/emotion-react.cjs.js\",\n module: \"dist/emotion-react.esm.js\",\n browser: {\n \"./dist/emotion-react.esm.js\": \"./dist/emotion-react.browser.esm.js\"\n },\n exports: {\n \".\": {\n module: {\n worker: \"./dist/emotion-react.worker.esm.js\",\n browser: \"./dist/emotion-react.browser.esm.js\",\n \"default\": \"./dist/emotion-react.esm.js\"\n },\n \"import\": \"./dist/emotion-react.cjs.mjs\",\n \"default\": \"./dist/emotion-react.cjs.js\"\n },\n \"./jsx-runtime\": {\n module: {\n worker: \"./jsx-runtime/dist/emotion-react-jsx-runtime.worker.esm.js\",\n browser: \"./jsx-runtime/dist/emotion-react-jsx-runtime.browser.esm.js\",\n \"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.esm.js\"\n },\n \"import\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.cjs.mjs\",\n \"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.cjs.js\"\n },\n \"./_isolated-hnrs\": {\n module: {\n worker: \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.worker.esm.js\",\n browser: \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js\",\n \"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.esm.js\"\n },\n \"import\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.cjs.mjs\",\n \"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.cjs.js\"\n },\n \"./jsx-dev-runtime\": {\n module: {\n worker: \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.worker.esm.js\",\n browser: \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.browser.esm.js\",\n \"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.esm.js\"\n },\n \"import\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.cjs.mjs\",\n \"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.cjs.js\"\n },\n \"./package.json\": \"./package.json\",\n \"./types/css-prop\": \"./types/css-prop.d.ts\",\n \"./macro\": {\n types: {\n \"import\": \"./macro.d.mts\",\n \"default\": \"./macro.d.ts\"\n },\n \"default\": \"./macro.js\"\n }\n },\n types: \"types/index.d.ts\",\n files: [\"src\", \"dist\", \"jsx-runtime\", \"jsx-dev-runtime\", \"_isolated-hnrs\", \"types/*.d.ts\", \"macro.*\"],\n sideEffects: false,\n author: \"Emotion Contributors\",\n license: \"MIT\",\n scripts: {\n \"test:typescript\": \"dtslint types\"\n },\n dependencies: {\n \"@babel/runtime\": \"^7.18.3\",\n \"@emotion/babel-plugin\": \"^11.11.0\",\n \"@emotion/cache\": \"^11.11.0\",\n \"@emotion/serialize\": \"^1.1.2\",\n \"@emotion/use-insertion-effect-with-fallbacks\": \"^1.0.1\",\n \"@emotion/utils\": \"^1.2.1\",\n \"@emotion/weak-memoize\": \"^0.3.1\",\n \"hoist-non-react-statics\": \"^3.3.1\"\n },\n peerDependencies: {\n react: \">=16.8.0\"\n },\n peerDependenciesMeta: {\n \"@types/react\": {\n optional: true\n }\n },\n devDependencies: {\n \"@definitelytyped/dtslint\": \"0.0.112\",\n \"@emotion/css\": \"11.11.0\",\n \"@emotion/css-prettifier\": \"1.1.3\",\n \"@emotion/server\": \"11.11.0\",\n \"@emotion/styled\": \"11.11.0\",\n \"html-tag-names\": \"^1.1.2\",\n react: \"16.14.0\",\n \"svg-tag-names\": \"^1.1.1\",\n typescript: \"^4.5.5\"\n },\n repository: \"https://github.com/emotion-js/emotion/tree/main/packages/react\",\n publishConfig: {\n access: \"public\"\n },\n \"umd:main\": \"dist/emotion-react.umd.min.js\",\n preconstruct: {\n entrypoints: [\"./index.js\", \"./jsx-runtime.js\", \"./jsx-dev-runtime.js\", \"./_isolated-hnrs.js\"],\n umdName: \"emotionReact\",\n exports: {\n envConditions: [\"browser\", \"worker\"],\n extra: {\n \"./types/css-prop\": \"./types/css-prop.d.ts\",\n \"./macro\": {\n types: {\n \"import\": \"./macro.d.mts\",\n \"default\": \"./macro.d.ts\"\n },\n \"default\": \"./macro.js\"\n }\n }\n }\n }\n};\nvar jsx = function jsx(type, props) {\n var args = arguments;\n if (props == null || !hasOwnProperty.call(props, 'css')) {\n // $FlowFixMe\n return React.createElement.apply(undefined, args);\n }\n var argsLength = args.length;\n var createElementArgArray = new Array(argsLength);\n createElementArgArray[0] = Emotion;\n createElementArgArray[1] = createEmotionProps(type, props);\n for (var i = 2; i < argsLength; i++) {\n createElementArgArray[i] = args[i];\n } // $FlowFixMe\n\n return React.createElement.apply(null, createElementArgArray);\n};\nvar warnedAboutCssPropForGlobal = false; // maintain place over rerenders.\n// initial render from browser, insertBefore context.sheet.tags[0] or if a style hasn't been inserted there yet, appendChild\n// initial client-side render from SSR, use place of hydrating tag\n\nvar Global = /* #__PURE__ */withEmotionCache(function (props, cache) {\n if (process.env.NODE_ENV !== 'production' && !warnedAboutCssPropForGlobal && (\n // check for className as well since the user is\n // probably using the custom createElement which\n // means it will be turned into a className prop\n // $FlowFixMe I don't really want to add it to the type since it shouldn't be used\n props.className || props.css)) {\n console.error(\"It looks like you're using the css prop on Global, did you mean to use the styles prop instead?\");\n warnedAboutCssPropForGlobal = true;\n }\n var styles = props.styles;\n var serialized = serializeStyles([styles], undefined, React.useContext(ThemeContext));\n if (!isBrowser$1) {\n var _ref;\n var serializedNames = serialized.name;\n var serializedStyles = serialized.styles;\n var next = serialized.next;\n while (next !== undefined) {\n serializedNames += ' ' + next.name;\n serializedStyles += next.styles;\n next = next.next;\n }\n var shouldCache = cache.compat === true;\n var rules = cache.insert(\"\", {\n name: serializedNames,\n styles: serializedStyles\n }, cache.sheet, shouldCache);\n if (shouldCache) {\n return null;\n }\n return /*#__PURE__*/React.createElement(\"style\", (_ref = {}, _ref[\"data-emotion\"] = cache.key + \"-global \" + serializedNames, _ref.dangerouslySetInnerHTML = {\n __html: rules\n }, _ref.nonce = cache.sheet.nonce, _ref));\n } // yes, i know these hooks are used conditionally\n // but it is based on a constant that will never change at runtime\n // it's effectively like having two implementations and switching them out\n // so it's not actually breaking anything\n\n var sheetRef = React.useRef();\n useInsertionEffectWithLayoutFallback(function () {\n var key = cache.key + \"-global\"; // use case of https://github.com/emotion-js/emotion/issues/2675\n\n var sheet = new cache.sheet.constructor({\n key: key,\n nonce: cache.sheet.nonce,\n container: cache.sheet.container,\n speedy: cache.sheet.isSpeedy\n });\n var rehydrating = false; // $FlowFixMe\n\n var node = document.querySelector(\"style[data-emotion=\\\"\" + key + \" \" + serialized.name + \"\\\"]\");\n if (cache.sheet.tags.length) {\n sheet.before = cache.sheet.tags[0];\n }\n if (node !== null) {\n rehydrating = true; // clear the hash so this node won't be recognizable as rehydratable by other s\n\n node.setAttribute('data-emotion', key);\n sheet.hydrate([node]);\n }\n sheetRef.current = [sheet, rehydrating];\n return function () {\n sheet.flush();\n };\n }, [cache]);\n useInsertionEffectWithLayoutFallback(function () {\n var sheetRefCurrent = sheetRef.current;\n var sheet = sheetRefCurrent[0],\n rehydrating = sheetRefCurrent[1];\n if (rehydrating) {\n sheetRefCurrent[1] = false;\n return;\n }\n if (serialized.next !== undefined) {\n // insert keyframes\n insertStyles(cache, serialized.next, true);\n }\n if (sheet.tags.length) {\n // if this doesn't exist then it will be null so the style element will be appended\n var element = sheet.tags[sheet.tags.length - 1].nextElementSibling;\n sheet.before = element;\n sheet.flush();\n }\n cache.insert(\"\", serialized, sheet, false);\n }, [cache, serialized.name]);\n return null;\n});\nif (process.env.NODE_ENV !== 'production') {\n Global.displayName = 'EmotionGlobal';\n}\nfunction css() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return serializeStyles(args);\n}\nvar keyframes = function keyframes() {\n var insertable = css.apply(void 0, arguments);\n var name = \"animation-\" + insertable.name; // $FlowFixMe\n\n return {\n name: name,\n styles: \"@keyframes \" + name + \"{\" + insertable.styles + \"}\",\n anim: 1,\n toString: function toString() {\n return \"_EMO_\" + this.name + \"_\" + this.styles + \"_EMO_\";\n }\n };\n};\nvar classnames = function classnames(args) {\n var len = args.length;\n var i = 0;\n var cls = '';\n for (; i < len; i++) {\n var arg = args[i];\n if (arg == null) continue;\n var toAdd = void 0;\n switch (typeof arg) {\n case 'boolean':\n break;\n case 'object':\n {\n if (Array.isArray(arg)) {\n toAdd = classnames(arg);\n } else {\n if (process.env.NODE_ENV !== 'production' && arg.styles !== undefined && arg.name !== undefined) {\n console.error('You have passed styles created with `css` from `@emotion/react` package to the `cx`.\\n' + '`cx` is meant to compose class names (strings) so you should convert those styles to a class name by passing them to the `css` received from component.');\n }\n toAdd = '';\n for (var k in arg) {\n if (arg[k] && k) {\n toAdd && (toAdd += ' ');\n toAdd += k;\n }\n }\n }\n break;\n }\n default:\n {\n toAdd = arg;\n }\n }\n if (toAdd) {\n cls && (cls += ' ');\n cls += toAdd;\n }\n }\n return cls;\n};\nfunction merge(registered, css, className) {\n var registeredStyles = [];\n var rawClassName = getRegisteredStyles(registered, registeredStyles, className);\n if (registeredStyles.length < 2) {\n return className;\n }\n return rawClassName + css(registeredStyles);\n}\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serializedArr = _ref.serializedArr;\n useInsertionEffectAlwaysWithSyncFallback(function () {\n for (var i = 0; i < serializedArr.length; i++) {\n insertStyles(cache, serializedArr[i], false);\n }\n });\n return null;\n};\nvar ClassNames = /* #__PURE__ */withEmotionCache(function (props, cache) {\n var hasRendered = false;\n var serializedArr = [];\n var css = function css() {\n if (hasRendered && process.env.NODE_ENV !== 'production') {\n throw new Error('css can only be used during render');\n }\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n var serialized = serializeStyles(args, cache.registered);\n serializedArr.push(serialized); // registration has to happen here as the result of this might get consumed by `cx`\n\n registerStyles(cache, serialized, false);\n return cache.key + \"-\" + serialized.name;\n };\n var cx = function cx() {\n if (hasRendered && process.env.NODE_ENV !== 'production') {\n throw new Error('cx can only be used during render');\n }\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n return merge(cache.registered, css, classnames(args));\n };\n var content = {\n css: css,\n cx: cx,\n theme: React.useContext(ThemeContext)\n };\n var ele = props.children(content);\n hasRendered = true;\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n cache: cache,\n serializedArr: serializedArr\n }), ele);\n});\nif (process.env.NODE_ENV !== 'production') {\n ClassNames.displayName = 'EmotionClassNames';\n}\nif (process.env.NODE_ENV !== 'production') {\n var isBrowser = \"object\" !== 'undefined'; // #1727, #2905 for some reason Jest and Vitest evaluate modules twice if some consuming module gets mocked\n\n var isTestEnv = typeof jest !== 'undefined' || typeof vi !== 'undefined';\n if (isBrowser && !isTestEnv) {\n // globalThis has wide browser support - https://caniuse.com/?search=globalThis, Node.js 12 and later\n var globalContext =\n // $FlowIgnore\n typeof globalThis !== 'undefined' ? globalThis // eslint-disable-line no-undef\n : isBrowser ? window : global;\n var globalKey = \"__EMOTION_REACT_\" + pkg.version.split('.')[0] + \"__\";\n if (globalContext[globalKey]) {\n console.warn('You are loading @emotion/react when it is already loaded. Running ' + 'multiple instances may cause problems. This can happen if multiple ' + 'versions are used, or if multiple builds of the same version are ' + 'used.');\n }\n globalContext[globalKey] = true;\n }\n}\nexport { ClassNames, Global, jsx as createElement, css, jsx, keyframes };","'use strict';\nvar toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _gatsby = require(\"gatsby\");\n\nvar _catchLinks = _interopRequireDefault(require(\"./catch-links\"));\n\nexports.onClientEntry = function (_, pluginOptions) {\n if (pluginOptions === void 0) {\n pluginOptions = {};\n }\n\n (0, _catchLinks.default)(window, pluginOptions, function (href) {\n (0, _gatsby.navigate)(href);\n });\n};","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\nvar global = require('../internals/global');\n\nvar $String = global.String;\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol('symbol detection');\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n // nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will,\n // of course, fail.\n return !$String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","import React, { createContext, useContext } from \"react\"\n\nconst GatsbyMDXScopeContext = createContext({})\n\nexport const useMDXScope = scope => {\n const contextScope = useContext(GatsbyMDXScopeContext)\n return scope || contextScope\n}\n\nexport const MDXScopeProvider = ({ __mdxScope, children }) =>\n React.createElement(\n GatsbyMDXScopeContext.Provider,\n { value: __mdxScope },\n children\n )\n","import _taggedTemplateLiteral from '@babel/runtime/helpers/esm/taggedTemplateLiteral';\nimport { css, useTheme, jsx } from '@emotion/react';\nimport { utilStyles, getColorValue, ColorContext, Shimmer } from '@paypalcorp/pp-react-utils';\nimport { math, remToPx } from 'polished';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';\nimport React, { useMemo } from 'react';\nvar _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9;\nfunction styles(tokens, colorTokens) {\n /* istanbul ignore next */\n if (!Object.keys(tokens).length) {\n console.warn('Missing Emotion theme. Use ThemeProvider from @emotion/react to pass a valid theme from pp-react.');\n return {};\n }\n var sysColorBackgroundHighContrast = tokens.sysColorBackgroundHighContrast,\n sysColorBackgroundMediumContrast = tokens.sysColorBackgroundMediumContrast,\n sysTypographyDisplayFamily = tokens.sysTypographyDisplayFamily,\n sysTypographyDisplaySize = tokens.sysTypographyDisplaySize,\n sysTypographyDisplayWeight = tokens.sysTypographyDisplayWeight,\n sysTypographyDisplayLineHeight = tokens.sysTypographyDisplayLineHeight,\n sysTypographyDisplayMaxScaleFactor = tokens.sysTypographyDisplayMaxScaleFactor,\n sysTypographyHeadingLgFamily = tokens.sysTypographyHeadingLgFamily,\n sysTypographyHeadingLgSize = tokens.sysTypographyHeadingLgSize,\n sysTypographyHeadingLgWeight = tokens.sysTypographyHeadingLgWeight,\n sysTypographyHeadingLgLineHeight = tokens.sysTypographyHeadingLgLineHeight,\n sysTypographyHeadingLgMaxScaleFactor = tokens.sysTypographyHeadingLgMaxScaleFactor,\n sysTypographyHeadingSmFamily = tokens.sysTypographyHeadingSmFamily,\n sysTypographyHeadingSmSize = tokens.sysTypographyHeadingSmSize,\n sysTypographyHeadingSmWeight = tokens.sysTypographyHeadingSmWeight,\n sysTypographyHeadingSmLineHeight = tokens.sysTypographyHeadingSmLineHeight,\n sysTypographyHeadingSmMaxScaleFactor = tokens.sysTypographyHeadingSmMaxScaleFactor,\n sysTypographyTitleStrongFamily = tokens.sysTypographyTitleStrongFamily,\n sysTypographyTitleStrongSize = tokens.sysTypographyTitleStrongSize,\n sysTypographyTitleStrongWeight = tokens.sysTypographyTitleStrongWeight,\n sysTypographyTitleStrongLineHeight = tokens.sysTypographyTitleStrongLineHeight,\n sysTypographyTitleStrongMaxScaleFactor = tokens.sysTypographyTitleStrongMaxScaleFactor,\n sysTypographyTitleFamily = tokens.sysTypographyTitleFamily,\n sysTypographyTitleSize = tokens.sysTypographyTitleSize,\n sysTypographyTitleWeight = tokens.sysTypographyTitleWeight,\n sysTypographyTitleLineHeight = tokens.sysTypographyTitleLineHeight,\n sysTypographyTitleMaxScaleFactor = tokens.sysTypographyTitleMaxScaleFactor,\n sysTypographyBodyStrongFamily = tokens.sysTypographyBodyStrongFamily,\n sysTypographyBodyStrongSize = tokens.sysTypographyBodyStrongSize,\n sysTypographyBodyStrongWeight = tokens.sysTypographyBodyStrongWeight,\n sysTypographyBodyStrongLineHeight = tokens.sysTypographyBodyStrongLineHeight,\n sysTypographyBodyStrongMaxScaleFactor = tokens.sysTypographyBodyStrongMaxScaleFactor,\n sysTypographyBodyFamily = tokens.sysTypographyBodyFamily,\n sysTypographyBodySize = tokens.sysTypographyBodySize,\n sysTypographyBodyWeight = tokens.sysTypographyBodyWeight,\n sysTypographyBodyLineHeight = tokens.sysTypographyBodyLineHeight,\n sysTypographyBodyMaxScaleFactor = tokens.sysTypographyBodyMaxScaleFactor,\n sysTypographyCaptionFamily = tokens.sysTypographyCaptionFamily,\n sysTypographyCaptionSize = tokens.sysTypographyCaptionSize,\n sysTypographyCaptionWeight = tokens.sysTypographyCaptionWeight,\n sysTypographyCaptionLineHeight = tokens.sysTypographyCaptionLineHeight,\n sysTypographyCaptionMaxScaleFactor = tokens.sysTypographyCaptionMaxScaleFactor,\n sysTypographyCaptionStrongFamily = tokens.sysTypographyCaptionStrongFamily,\n sysTypographyCaptionStrongSize = tokens.sysTypographyCaptionStrongSize,\n sysTypographyCaptionStrongWeight = tokens.sysTypographyCaptionStrongWeight,\n sysTypographyCaptionStrongLineHeight = tokens.sysTypographyCaptionStrongLineHeight,\n sysTypographyCaptionStrongMaxScaleFactor = tokens.sysTypographyCaptionStrongMaxScaleFactor,\n sysTypographyButtonLgFamily = tokens.sysTypographyButtonLgFamily,\n sysTypographyButtonLgSize = tokens.sysTypographyButtonLgSize,\n sysTypographyButtonLgWeight = tokens.sysTypographyButtonLgWeight,\n sysTypographyButtonLgLineHeight = tokens.sysTypographyButtonLgLineHeight,\n sysTypographyButtonLgMaxScaleFactor = tokens.sysTypographyButtonLgMaxScaleFactor,\n sysTypographyButtonSmFamily = tokens.sysTypographyButtonSmFamily,\n sysTypographyButtonSmSize = tokens.sysTypographyButtonSmSize,\n sysTypographyButtonSmWeight = tokens.sysTypographyButtonSmWeight,\n sysTypographyButtonSmLineHeight = tokens.sysTypographyButtonSmLineHeight,\n sysTypographyButtonSmMaxScaleFactor = tokens.sysTypographyButtonSmMaxScaleFactor,\n sysTypographyFieldLabelLgFamily = tokens.sysTypographyFieldLabelLgFamily,\n sysTypographyFieldLabelLgSize = tokens.sysTypographyFieldLabelLgSize,\n sysTypographyFieldLabelLgWeight = tokens.sysTypographyFieldLabelLgWeight,\n sysTypographyFieldLabelLgLineHeight = tokens.sysTypographyFieldLabelLgLineHeight,\n sysTypographyFieldLabelLgMaxScaleFactor = tokens.sysTypographyFieldLabelLgMaxScaleFactor,\n sysTypographyFieldLabelSmFamily = tokens.sysTypographyFieldLabelSmFamily,\n sysTypographyFieldLabelSmSize = tokens.sysTypographyFieldLabelSmSize,\n sysTypographyFieldLabelSmWeight = tokens.sysTypographyFieldLabelSmWeight,\n sysTypographyFieldLabelSmLineHeight = tokens.sysTypographyFieldLabelSmLineHeight,\n sysTypographyFieldLabelSmMaxScaleFactor = tokens.sysTypographyFieldLabelSmMaxScaleFactor,\n sysTypographyFieldValueXlFamily = tokens.sysTypographyFieldValueXlFamily,\n sysTypographyFieldValueXlSize = tokens.sysTypographyFieldValueXlSize,\n sysTypographyFieldValueXlWeight = tokens.sysTypographyFieldValueXlWeight,\n sysTypographyFieldValueXlLineHeight = tokens.sysTypographyFieldValueXlLineHeight,\n sysTypographyFieldValueXlMaxScaleFactor = tokens.sysTypographyFieldValueXlMaxScaleFactor,\n sysTypographyFieldValueLgFamily = tokens.sysTypographyFieldValueLgFamily,\n sysTypographyFieldValueLgSize = tokens.sysTypographyFieldValueLgSize,\n sysTypographyFieldValueLgWeight = tokens.sysTypographyFieldValueLgWeight,\n sysTypographyFieldValueLgLineHeight = tokens.sysTypographyFieldValueLgLineHeight,\n sysTypographyFieldValueLgMaxScaleFactor = tokens.sysTypographyFieldValueLgMaxScaleFactor,\n sysTypographyFieldValueSmFamily = tokens.sysTypographyFieldValueSmFamily,\n sysTypographyFieldValueSmSize = tokens.sysTypographyFieldValueSmSize,\n sysTypographyFieldValueSmWeight = tokens.sysTypographyFieldValueSmWeight,\n sysTypographyFieldValueSmLineHeight = tokens.sysTypographyFieldValueSmLineHeight,\n sysTypographyFieldValueSmMaxScaleFactor = tokens.sysTypographyFieldValueSmMaxScaleFactor,\n sysSizeMediaMd = tokens.sysSizeMediaMd;\n var _utilStyles = utilStyles(tokens),\n shimmerStyles = _utilStyles.shimmerStyles;\n var remToPxBase = '16px';\n function maxSizeInMWeb(size, scaleFactor) {\n var maxSize = math(\"\".concat(size, \"*\").concat(scaleFactor));\n var maxSizeInPx = remToPx(maxSize, remToPxBase);\n return \"min(\".concat(size, \", \").concat(maxSizeInPx, \")\");\n }\n function font(label, color, family, size, scaleFactor, lineHeight, fontWeight) {\n var fontFamily = \"\".concat(family, \", \\\"Helvetica Neue\\\", Arial, sans-serif\"); // calculate screen maxwidth in px\n\n var mediaMdInPx = remToPx(sysSizeMediaMd, remToPxBase);\n return css(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n label: \", \";\\n color: \", \";\\n font-family: \", \";\\n font-size: \", \";\\n line-height: \", \";\\n font-weight: \", \";\\n\\n @media screen and (max-width: \", \") {\\n font-size: \", \";\\n line-height: \", \";\\n }\\n \"])), label, getColorValue(colorTokens, color, 'contrast'), fontFamily, size, lineHeight, fontWeight, mediaMdInPx, maxSizeInMWeb(size, scaleFactor), maxSizeInMWeb(lineHeight, scaleFactor));\n }\n function lineClamping(clampLine) {\n var clampAtLine = clampLine > 4 ? 4 : clampLine; // max 4 lines\n\n return css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral([\"\\n label: \", \";\\n display: -webkit-box;\\n -webkit-box-orient: vertical;\\n overflow: hidden;\\n -webkit-line-clamp: \", \";\\n \"])), \"line_clamp_\".concat(clampAtLine), clampAtLine);\n }\n var shimmer = css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral([\"\\n label: text_shimmer;\\n \", \"\\n \"])), shimmerStyles.defaults());\n var shimmerDisplay = css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral([\"\\n label: display;\\n height: \", \";\\n \"])), sysTypographyDisplayLineHeight);\n var shimmerHeadingLg = css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral([\"\\n label: heading_lg;\\n height: \", \";\\n \"])), sysTypographyHeadingLgLineHeight);\n var shimmerHeadingSm = css(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral([\"\\n label: heading_sm;\\n height: \", \";\\n \"])), sysTypographyHeadingSmLineHeight);\n var shimmerBody = css(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral([\"\\n label: body;\\n height: \", \";\\n \"])), sysTypographyBodyLineHeight);\n var shimmerCaption = css(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral([\"\\n label: caption;\\n height: \", \";\\n \"])), sysTypographyCaptionLineHeight);\n var shimmerTitle = css(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral([\"\\n label: title;\\n height: \", \";\\n \"])), sysTypographyTitleLineHeight);\n return {\n body: function () {\n var args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _args$lineHeight = args.lineHeight,\n lineHeight = _args$lineHeight === void 0 ? sysTypographyBodyLineHeight : _args$lineHeight,\n _args$color = args.color,\n color = _args$color === void 0 ? sysColorBackgroundHighContrast : _args$color;\n return font('text_body', color, sysTypographyBodyFamily, sysTypographyBodySize, sysTypographyBodyMaxScaleFactor, lineHeight, sysTypographyBodyWeight);\n },\n bodyStrong: function () {\n var args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _args$lineHeight2 = args.lineHeight,\n lineHeight = _args$lineHeight2 === void 0 ? sysTypographyBodyStrongLineHeight : _args$lineHeight2,\n _args$color2 = args.color,\n color = _args$color2 === void 0 ? sysColorBackgroundHighContrast : _args$color2;\n return font('text_body_strong', color, sysTypographyBodyStrongFamily, sysTypographyBodyStrongSize, sysTypographyBodyStrongMaxScaleFactor, lineHeight, sysTypographyBodyStrongWeight);\n },\n caption: function () {\n var args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _args$lineHeight3 = args.lineHeight,\n lineHeight = _args$lineHeight3 === void 0 ? sysTypographyCaptionLineHeight : _args$lineHeight3,\n _args$color3 = args.color,\n color = _args$color3 === void 0 ? sysColorBackgroundHighContrast : _args$color3;\n return font('text_caption', color, sysTypographyCaptionFamily, sysTypographyCaptionSize, sysTypographyCaptionMaxScaleFactor, lineHeight, sysTypographyCaptionWeight);\n },\n captionStrong: function () {\n var args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _args$lineHeight4 = args.lineHeight,\n lineHeight = _args$lineHeight4 === void 0 ? sysTypographyCaptionStrongLineHeight : _args$lineHeight4,\n _args$color4 = args.color,\n color = _args$color4 === void 0 ? sysColorBackgroundHighContrast : _args$color4;\n return font('text_caption_strong', color, sysTypographyCaptionStrongFamily, sysTypographyCaptionStrongSize, sysTypographyCaptionStrongMaxScaleFactor, lineHeight, sysTypographyCaptionStrongWeight);\n },\n headingSm: function () {\n var args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _args$lineHeight7 = args.lineHeight,\n lineHeight = _args$lineHeight7 === void 0 ? sysTypographyHeadingSmLineHeight : _args$lineHeight7,\n _args$color7 = args.color,\n color = _args$color7 === void 0 ? sysColorBackgroundHighContrast : _args$color7;\n return font('text_heading_sm', color, sysTypographyHeadingSmFamily, sysTypographyHeadingSmSize, sysTypographyHeadingSmMaxScaleFactor, lineHeight, sysTypographyHeadingSmWeight);\n },\n headingLg: function () {\n var args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _args$lineHeight8 = args.lineHeight,\n lineHeight = _args$lineHeight8 === void 0 ? sysTypographyHeadingLgLineHeight : _args$lineHeight8,\n _args$color8 = args.color,\n color = _args$color8 === void 0 ? sysColorBackgroundHighContrast : _args$color8;\n return font('text_heading_lg', color, sysTypographyHeadingLgFamily, sysTypographyHeadingLgSize, sysTypographyHeadingLgMaxScaleFactor, lineHeight, sysTypographyHeadingLgWeight);\n },\n display: function () {\n var args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _args$lineHeight9 = args.lineHeight,\n lineHeight = _args$lineHeight9 === void 0 ? sysTypographyDisplayLineHeight : _args$lineHeight9,\n _args$color9 = args.color,\n color = _args$color9 === void 0 ? sysColorBackgroundHighContrast : _args$color9;\n return font('text_display', color, sysTypographyDisplayFamily, sysTypographyDisplaySize, sysTypographyDisplayMaxScaleFactor, lineHeight, sysTypographyDisplayWeight);\n },\n title: function () {\n var args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _args$lineHeight5 = args.lineHeight,\n lineHeight = _args$lineHeight5 === void 0 ? sysTypographyTitleLineHeight : _args$lineHeight5,\n _args$color5 = args.color,\n color = _args$color5 === void 0 ? sysColorBackgroundHighContrast : _args$color5;\n return font('text_title', color, sysTypographyTitleFamily, sysTypographyTitleSize, sysTypographyTitleMaxScaleFactor, lineHeight, sysTypographyTitleWeight);\n },\n titleStrong: function () {\n var args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _args$lineHeight6 = args.lineHeight,\n lineHeight = _args$lineHeight6 === void 0 ? sysTypographyTitleStrongLineHeight : _args$lineHeight6,\n _args$color6 = args.color,\n color = _args$color6 === void 0 ? sysColorBackgroundHighContrast : _args$color6,\n _args$label = args.label,\n label = _args$label === void 0 ? 'text_title_strong' : _args$label;\n return font(label, color, sysTypographyTitleStrongFamily, sysTypographyTitleStrongSize, sysTypographyTitleStrongMaxScaleFactor, lineHeight, sysTypographyTitleStrongWeight);\n },\n buttonLg: function () {\n var args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _args$lineHeight11 = args.lineHeight,\n lineHeight = _args$lineHeight11 === void 0 ? sysTypographyButtonLgLineHeight : _args$lineHeight11,\n _args$color11 = args.color,\n color = _args$color11 === void 0 ? sysColorBackgroundHighContrast : _args$color11;\n return font('text_button_lg', color, sysTypographyButtonLgFamily, sysTypographyButtonLgSize, sysTypographyButtonLgMaxScaleFactor, lineHeight, sysTypographyButtonLgWeight);\n },\n buttonSm: function () {\n var args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _args$lineHeight10 = args.lineHeight,\n lineHeight = _args$lineHeight10 === void 0 ? sysTypographyButtonSmLineHeight : _args$lineHeight10,\n _args$color10 = args.color,\n color = _args$color10 === void 0 ? sysColorBackgroundHighContrast : _args$color10;\n return font('text_button_sm', color, sysTypographyButtonSmFamily, sysTypographyButtonSmSize, sysTypographyButtonSmMaxScaleFactor, lineHeight, sysTypographyButtonSmWeight);\n },\n fieldLabelSm: function () {\n var args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _args$lineHeight12 = args.lineHeight,\n lineHeight = _args$lineHeight12 === void 0 ? sysTypographyFieldLabelSmLineHeight : _args$lineHeight12,\n _args$color12 = args.color,\n color = _args$color12 === void 0 ? sysColorBackgroundMediumContrast : _args$color12;\n return font('text_field_label_sm', color, sysTypographyFieldLabelSmFamily, sysTypographyFieldLabelSmSize, sysTypographyFieldLabelSmMaxScaleFactor, lineHeight, sysTypographyFieldLabelSmWeight);\n },\n fieldLabelLg: function () {\n var args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _args$lineHeight13 = args.lineHeight,\n lineHeight = _args$lineHeight13 === void 0 ? sysTypographyFieldLabelLgLineHeight : _args$lineHeight13,\n _args$color13 = args.color,\n color = _args$color13 === void 0 ? sysColorBackgroundMediumContrast : _args$color13;\n return font('text_field_label_lg', color, sysTypographyFieldLabelLgFamily, sysTypographyFieldLabelLgSize, sysTypographyFieldLabelLgMaxScaleFactor, lineHeight, sysTypographyFieldLabelLgWeight);\n },\n fieldValueSm: function () {\n var args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _args$lineHeight14 = args.lineHeight,\n lineHeight = _args$lineHeight14 === void 0 ? sysTypographyFieldValueSmLineHeight : _args$lineHeight14,\n _args$color14 = args.color,\n color = _args$color14 === void 0 ? sysColorBackgroundHighContrast : _args$color14;\n return font('text_field_value_sm', color, sysTypographyFieldValueSmFamily, sysTypographyFieldValueSmSize, sysTypographyFieldValueSmMaxScaleFactor, lineHeight, sysTypographyFieldValueSmWeight);\n },\n fieldValueLg: function () {\n var args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _args$lineHeight15 = args.lineHeight,\n lineHeight = _args$lineHeight15 === void 0 ? sysTypographyFieldValueLgLineHeight : _args$lineHeight15,\n _args$color15 = args.color,\n color = _args$color15 === void 0 ? sysColorBackgroundHighContrast : _args$color15;\n return font('text_field_value_lg', color, sysTypographyFieldValueLgFamily, sysTypographyFieldValueLgSize, sysTypographyFieldValueLgMaxScaleFactor, lineHeight, sysTypographyFieldValueLgWeight);\n },\n fieldValueXl: function () {\n var args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _args$lineHeight16 = args.lineHeight,\n lineHeight = _args$lineHeight16 === void 0 ? sysTypographyFieldValueXlLineHeight : _args$lineHeight16,\n _args$color16 = args.color,\n color = _args$color16 === void 0 ? sysColorBackgroundHighContrast : _args$color16;\n return font('text_field_value_xl', color, sysTypographyFieldValueXlFamily, sysTypographyFieldValueXlSize, sysTypographyFieldValueXlMaxScaleFactor, lineHeight, sysTypographyFieldValueXlWeight);\n },\n lineClamping: lineClamping,\n shimmer: shimmer,\n shimmerDisplay: shimmerDisplay,\n shimmerHeadingLg: shimmerHeadingLg,\n shimmerHeadingSm: shimmerHeadingSm,\n shimmerBody: shimmerBody,\n shimmerCaption: shimmerCaption,\n shimmerTitle: shimmerTitle\n };\n}\nvar _excluded = [\"level\", \"as\", \"size\", \"className\", \"isLoading\", \"isInverse\", \"children\"];\nvar chooseSize = function (level, size) {\n if (size) {\n return size;\n }\n switch (level) {\n case 1:\n return 'lg';\n case 2:\n return 'sm';\n case 3:\n return 'title';\n default:\n return 'lg';\n }\n};\nvar HeadingText = function (_ref) {\n var level = _ref.level,\n _ref$as = _ref.as,\n as = _ref$as === void 0 ? level ? \"h\".concat(level) : 'div' : _ref$as,\n size = _ref.size,\n className = _ref.className,\n isLoading = _ref.isLoading,\n isInverse = _ref.isInverse,\n children = _ref.children,\n rest = _objectWithoutProperties(_ref, _excluded);\n var tokens = useTheme();\n var colorTokens = React.useContext(ColorContext);\n var _styles = useMemo(function () {\n return styles(tokens, colorTokens);\n }, [tokens, colorTokens]);\n var headingSize = chooseSize(level, size);\n var stylesMap = {\n display: _styles.display,\n hero: _styles.display,\n sm: _styles.headingSm,\n lg: _styles.headingLg,\n title: _styles.title\n };\n var shimmerStylesMap = {\n display: _styles.shimmerDisplay,\n hero: _styles.shimmerDisplay,\n sm: _styles.shimmerHeadingSm,\n lg: _styles.shimmerHeadingLg,\n title: _styles.shimmerTitle\n };\n if (isLoading) {\n return jsx(Shimmer, _extends({\n css: [_styles.shimmer, shimmerStylesMap[headingSize]],\n className: className,\n hasStyleDefaults: false,\n isInverse: isInverse\n }, rest, {\n \"data-ppui\": \"true\"\n }), children);\n }\n return jsx(as, _extends({\n css: stylesMap[headingSize],\n className: className,\n \"data-ppui-info\": \"heading-text_6.5.4\"\n }, rest), children);\n};\nvar _excluded$1 = [\"as\", \"strong\", \"className\", \"isLoading\", \"isInverse\", \"clampAtLine\", \"children\"];\nvar BodyText = function (_ref) {\n var _styles$lineClamping;\n var _ref$as = _ref.as,\n as = _ref$as === void 0 ? 'div' : _ref$as,\n strong = _ref.strong,\n className = _ref.className,\n isLoading = _ref.isLoading,\n isInverse = _ref.isInverse,\n clampAtLine = _ref.clampAtLine,\n children = _ref.children,\n rest = _objectWithoutProperties(_ref, _excluded$1);\n var tokens = useTheme();\n var colorTokens = React.useContext(ColorContext);\n var _styles = useMemo(function () {\n return styles(tokens, colorTokens);\n }, [tokens, colorTokens]);\n if (isLoading) {\n return jsx(Shimmer, _extends({\n css: [_styles.shimmer, _styles.shimmerBody],\n className: className,\n hasStyleDefaults: false,\n isInverse: isInverse\n }, rest, {\n \"data-ppui\": \"true\"\n }), children);\n }\n var cssVal = [!strong && _styles.body, strong && _styles.bodyStrong, clampAtLine && ((_styles$lineClamping = _styles.lineClamping) === null || _styles$lineClamping === void 0 ? void 0 : _styles$lineClamping.call(_styles, clampAtLine))];\n return jsx(as, _extends({\n css: cssVal,\n className: className,\n \"data-ppui-info\": \"body-text_6.5.4\"\n }, rest), children);\n};\nvar _excluded$2 = [\"as\", \"strong\", \"clampAtLine\", \"className\", \"isLoading\", \"isInverse\", \"children\"];\nvar CaptionText = function (_ref) {\n var _styles$lineClamping;\n var _ref$as = _ref.as,\n as = _ref$as === void 0 ? 'div' : _ref$as,\n strong = _ref.strong,\n clampAtLine = _ref.clampAtLine,\n className = _ref.className,\n isLoading = _ref.isLoading,\n isInverse = _ref.isInverse,\n children = _ref.children,\n rest = _objectWithoutProperties(_ref, _excluded$2);\n var tokens = useTheme();\n var colorTokens = React.useContext(ColorContext);\n var _styles = useMemo(function () {\n return styles(tokens, colorTokens);\n }, [tokens, colorTokens]);\n if (isLoading) {\n return jsx(Shimmer, _extends({\n css: [_styles.shimmer, _styles.shimmerCaption],\n className: className,\n hasStyleDefaults: false,\n isInverse: isInverse\n }, rest, {\n \"data-ppui\": \"true\"\n }), children);\n }\n var cssVal = [!strong && _styles.caption, strong && _styles.captionStrong, clampAtLine && ((_styles$lineClamping = _styles.lineClamping) === null || _styles$lineClamping === void 0 ? void 0 : _styles$lineClamping.call(_styles, clampAtLine))];\n return jsx(as, _extends({\n css: cssVal,\n className: className,\n \"data-ppui-info\": \"caption-text_6.5.4\"\n }, rest), children);\n};\nexport { BodyText, CaptionText, HeadingText, styles as textStyles };","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","import { assignRef } from './assignRef';\nimport { useCallbackRef } from './useRef';\n/**\n * Merges two or more refs together providing a single interface to set their value\n * @param {RefObject|Ref} refs\n * @returns {MutableRefObject} - a new ref, which translates all changes to {refs}\n *\n * @see {@link mergeRefs} a version without buit-in memoization\n * @see https://github.com/theKashey/use-callback-ref#usemergerefs\n * @example\n * const Component = React.forwardRef((props, ref) => {\n * const ownRef = useRef();\n * const domRef = useMergeRefs([ref, ownRef]); // 👈 merge together\n * return
...
\n * }\n */\nexport function useMergeRefs(refs, defaultValue) {\n return useCallbackRef(defaultValue || null, function (newValue) {\n return refs.forEach(function (ref) {\n return assignRef(ref, newValue);\n });\n });\n}","import { useState } from 'react';\n/**\n * creates a MutableRef with ref change callback\n * @param initialValue - initial ref value\n * @param {Function} callback - a callback to run when value changes\n *\n * @example\n * const ref = useCallbackRef(0, (newValue, oldValue) => console.log(oldValue, '->', newValue);\n * ref.current = 1;\n * // prints 0 -> 1\n *\n * @see https://reactjs.org/docs/hooks-reference.html#useref\n * @see https://github.com/theKashey/use-callback-ref#usecallbackref---to-replace-reactuseref\n * @returns {MutableRefObject}\n */\nexport function useCallbackRef(initialValue, callback) {\n var ref = useState(function () {\n return {\n // value\n value: initialValue,\n // last callback\n callback: callback,\n // \"memoized\" public interface\n facade: {\n get current() {\n return ref.value;\n },\n set current(value) {\n var last = ref.value;\n if (last !== value) {\n ref.value = value;\n ref.callback(value, last);\n }\n }\n }\n };\n })[0];\n // update callback\n ref.callback = callback;\n return ref.facade;\n}","/**\n * Assigns a value for a given ref, no matter of the ref format\n * @param {RefObject} ref - a callback function or ref object\n * @param value - a new value\n *\n * @see https://github.com/theKashey/use-callback-ref#assignref\n * @example\n * const refObject = useRef();\n * const refFn = (ref) => {....}\n *\n * assignRef(refObject, \"refValue\");\n * assignRef(refFn, \"refValue\");\n */\nexport function assignRef(ref, value) {\n if (typeof ref === 'function') {\n ref(value);\n } else if (ref) {\n ref.current = value;\n }\n return ref;\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}","/** @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\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;\nfunction z(a) {\n if (\"object\" === typeof a && null !== a) {\n var u = a.$$typeof;\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 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 default:\n return u;\n }\n }\n case d:\n return u;\n }\n }\n}\nfunction A(a) {\n return z(a) === m;\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;\nexports.isAsyncMode = function (a) {\n return A(a) || z(a) === l;\n};\nexports.isConcurrentMode = A;\nexports.isContextConsumer = function (a) {\n return z(a) === k;\n};\nexports.isContextProvider = function (a) {\n return z(a) === h;\n};\nexports.isElement = function (a) {\n return \"object\" === typeof a && null !== a && a.$$typeof === c;\n};\nexports.isForwardRef = function (a) {\n return z(a) === n;\n};\nexports.isFragment = function (a) {\n return z(a) === e;\n};\nexports.isLazy = function (a) {\n return z(a) === t;\n};\nexports.isMemo = function (a) {\n return z(a) === r;\n};\nexports.isPortal = function (a) {\n return z(a) === d;\n};\nexports.isProfiler = function (a) {\n return z(a) === g;\n};\nexports.isStrictMode = function (a) {\n return z(a) === f;\n};\nexports.isSuspense = function (a) {\n return z(a) === p;\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};\nexports.typeOf = z;","import * as React from 'react';\nimport { useContext, forwardRef } from 'react';\nimport createCache from '@emotion/cache';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport weakMemoize from '@emotion/weak-memoize';\nimport hoistNonReactStatics from '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport { getRegisteredStyles, registerStyles, insertStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\nimport { useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\nvar isBrowser = \"object\" !== 'undefined';\nvar hasOwnProperty = {}.hasOwnProperty;\nvar EmotionCacheContext = /* #__PURE__ */React.createContext(\n// we're doing this to avoid preconstruct's dead code elimination in this one case\n// because this module is primarily intended for the browser and node\n// but it's also required in react native and similar environments sometimes\n// and we could have a special build just for that\n// but this is much easier and the native packages\n// might use a different theme context in the future anyway\ntypeof HTMLElement !== 'undefined' ? /* #__PURE__ */createCache({\n key: 'css'\n}) : null);\nif (process.env.NODE_ENV !== 'production') {\n EmotionCacheContext.displayName = 'EmotionCacheContext';\n}\nvar CacheProvider = EmotionCacheContext.Provider;\nvar __unsafe_useEmotionCache = function useEmotionCache() {\n return useContext(EmotionCacheContext);\n};\nvar withEmotionCache = function withEmotionCache(func) {\n // $FlowFixMe\n return /*#__PURE__*/forwardRef(function (props, ref) {\n // the cache will never be null in the browser\n var cache = useContext(EmotionCacheContext);\n return func(props, cache, ref);\n });\n};\nif (!isBrowser) {\n withEmotionCache = function withEmotionCache(func) {\n return function (props) {\n var cache = useContext(EmotionCacheContext);\n if (cache === null) {\n // yes, we're potentially creating this on every render\n // it doesn't actually matter though since it's only on the server\n // so there will only every be a single render\n // that could change in the future because of suspense and etc. but for now,\n // this works and i don't want to optimise for a future thing that we aren't sure about\n cache = createCache({\n key: 'css'\n });\n return /*#__PURE__*/React.createElement(EmotionCacheContext.Provider, {\n value: cache\n }, func(props, cache));\n } else {\n return func(props, cache);\n }\n };\n };\n}\nvar ThemeContext = /* #__PURE__ */React.createContext({});\nif (process.env.NODE_ENV !== 'production') {\n ThemeContext.displayName = 'EmotionThemeContext';\n}\nvar useTheme = function useTheme() {\n return React.useContext(ThemeContext);\n};\nvar getTheme = function getTheme(outerTheme, theme) {\n if (typeof theme === 'function') {\n var mergedTheme = theme(outerTheme);\n if (process.env.NODE_ENV !== 'production' && (mergedTheme == null || typeof mergedTheme !== 'object' || Array.isArray(mergedTheme))) {\n throw new Error('[ThemeProvider] Please return an object from your theme function, i.e. theme={() => ({})}!');\n }\n return mergedTheme;\n }\n if (process.env.NODE_ENV !== 'production' && (theme == null || typeof theme !== 'object' || Array.isArray(theme))) {\n throw new Error('[ThemeProvider] Please make your theme prop a plain object');\n }\n return _extends({}, outerTheme, theme);\n};\nvar createCacheWithTheme = /* #__PURE__ */weakMemoize(function (outerTheme) {\n return weakMemoize(function (theme) {\n return getTheme(outerTheme, theme);\n });\n});\nvar ThemeProvider = function ThemeProvider(props) {\n var theme = React.useContext(ThemeContext);\n if (props.theme !== theme) {\n theme = createCacheWithTheme(theme)(props.theme);\n }\n return /*#__PURE__*/React.createElement(ThemeContext.Provider, {\n value: theme\n }, props.children);\n};\nfunction withTheme(Component) {\n var componentName = Component.displayName || Component.name || 'Component';\n var render = function render(props, ref) {\n var theme = React.useContext(ThemeContext);\n return /*#__PURE__*/React.createElement(Component, _extends({\n theme: theme,\n ref: ref\n }, props));\n }; // $FlowFixMe\n\n var WithTheme = /*#__PURE__*/React.forwardRef(render);\n WithTheme.displayName = \"WithTheme(\" + componentName + \")\";\n return hoistNonReactStatics(WithTheme, Component);\n}\nvar getLastPart = function getLastPart(functionName) {\n // The match may be something like 'Object.createEmotionProps' or\n // 'Loader.prototype.render'\n var parts = functionName.split('.');\n return parts[parts.length - 1];\n};\nvar getFunctionNameFromStackTraceLine = function getFunctionNameFromStackTraceLine(line) {\n // V8\n var match = /^\\s+at\\s+([A-Za-z0-9$.]+)\\s/.exec(line);\n if (match) return getLastPart(match[1]); // Safari / Firefox\n\n match = /^([A-Za-z0-9$.]+)@/.exec(line);\n if (match) return getLastPart(match[1]);\n return undefined;\n};\nvar internalReactFunctionNames = /* #__PURE__ */new Set(['renderWithHooks', 'processChild', 'finishClassComponent', 'renderToString']); // These identifiers come from error stacks, so they have to be valid JS\n// identifiers, thus we only need to replace what is a valid character for JS,\n// but not for CSS.\n\nvar sanitizeIdentifier = function sanitizeIdentifier(identifier) {\n return identifier.replace(/\\$/g, '-');\n};\nvar getLabelFromStackTrace = function getLabelFromStackTrace(stackTrace) {\n if (!stackTrace) return undefined;\n var lines = stackTrace.split('\\n');\n for (var i = 0; i < lines.length; i++) {\n var functionName = getFunctionNameFromStackTraceLine(lines[i]); // The first line of V8 stack traces is just \"Error\"\n\n if (!functionName) continue; // If we reach one of these, we have gone too far and should quit\n\n if (internalReactFunctionNames.has(functionName)) break; // The component name is the first function in the stack that starts with an\n // uppercase letter\n\n if (/^[A-Z]/.test(functionName)) return sanitizeIdentifier(functionName);\n }\n return undefined;\n};\nvar typePropName = '__EMOTION_TYPE_PLEASE_DO_NOT_USE__';\nvar labelPropName = '__EMOTION_LABEL_PLEASE_DO_NOT_USE__';\nvar createEmotionProps = function createEmotionProps(type, props) {\n if (process.env.NODE_ENV !== 'production' && typeof props.css === 'string' &&\n // check if there is a css declaration\n props.css.indexOf(':') !== -1) {\n throw new Error(\"Strings are not allowed as css prop values, please wrap it in a css template literal from '@emotion/react' like this: css`\" + props.css + \"`\");\n }\n var newProps = {};\n for (var key in props) {\n if (hasOwnProperty.call(props, key)) {\n newProps[key] = props[key];\n }\n }\n newProps[typePropName] = type; // For performance, only call getLabelFromStackTrace in development and when\n // the label hasn't already been computed\n\n if (process.env.NODE_ENV !== 'production' && !!props.css && (typeof props.css !== 'object' || typeof props.css.name !== 'string' || props.css.name.indexOf('-') === -1)) {\n var label = getLabelFromStackTrace(new Error().stack);\n if (label) newProps[labelPropName] = label;\n }\n return newProps;\n};\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serialized = _ref.serialized,\n isStringTag = _ref.isStringTag;\n registerStyles(cache, serialized, isStringTag);\n useInsertionEffectAlwaysWithSyncFallback(function () {\n return insertStyles(cache, serialized, isStringTag);\n });\n return null;\n};\nvar Emotion = /* #__PURE__ */withEmotionCache(function (props, cache, ref) {\n var cssProp = props.css; // so that using `css` from `emotion` and passing the result to the css prop works\n // not passing the registered cache to serializeStyles because it would\n // make certain babel optimisations not possible\n\n if (typeof cssProp === 'string' && cache.registered[cssProp] !== undefined) {\n cssProp = cache.registered[cssProp];\n }\n var WrappedComponent = props[typePropName];\n var registeredStyles = [cssProp];\n var className = '';\n if (typeof props.className === 'string') {\n className = getRegisteredStyles(cache.registered, registeredStyles, props.className);\n } else if (props.className != null) {\n className = props.className + \" \";\n }\n var serialized = serializeStyles(registeredStyles, undefined, React.useContext(ThemeContext));\n if (process.env.NODE_ENV !== 'production' && serialized.name.indexOf('-') === -1) {\n var labelFromStack = props[labelPropName];\n if (labelFromStack) {\n serialized = serializeStyles([serialized, 'label:' + labelFromStack + ';']);\n }\n }\n className += cache.key + \"-\" + serialized.name;\n var newProps = {};\n for (var key in props) {\n if (hasOwnProperty.call(props, key) && key !== 'css' && key !== typePropName && (process.env.NODE_ENV === 'production' || key !== labelPropName)) {\n newProps[key] = props[key];\n }\n }\n newProps.ref = ref;\n newProps.className = className;\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n cache: cache,\n serialized: serialized,\n isStringTag: typeof WrappedComponent === 'string'\n }), /*#__PURE__*/React.createElement(WrappedComponent, newProps));\n});\nif (process.env.NODE_ENV !== 'production') {\n Emotion.displayName = 'EmotionCssPropInternal';\n}\nvar Emotion$1 = Emotion;\nexport { CacheProvider as C, Emotion$1 as E, ThemeContext as T, __unsafe_useEmotionCache as _, ThemeProvider as a, withTheme as b, createEmotionProps as c, hasOwnProperty as h, isBrowser as i, useTheme as u, withEmotionCache as w };","import { createSidecarMedium } from 'use-sidecar';\nexport var effectCar = createSidecarMedium();","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar floor = Math.floor;\nvar charAt = uncurryThis(''.charAt);\nvar replace = uncurryThis(''.replace);\nvar stringSlice = uncurryThis(''.slice);\n// eslint-disable-next-line redos/no-vulnerable -- safe\nvar SUBSTITUTION_SYMBOLS = /\\$([$&'`]|\\d{1,2}|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&'`]|\\d{1,2})/g;\n\n// `GetSubstitution` abstract operation\n// https://tc39.es/ecma262/#sec-getsubstitution\nmodule.exports = function (matched, str, position, captures, namedCaptures, replacement) {\n var tailPos = position + matched.length;\n var m = captures.length;\n var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n if (namedCaptures !== undefined) {\n namedCaptures = toObject(namedCaptures);\n symbols = SUBSTITUTION_SYMBOLS;\n }\n return replace(replacement, symbols, function (match, ch) {\n var capture;\n switch (charAt(ch, 0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return stringSlice(str, 0, position);\n case \"'\": return stringSlice(str, tailPos);\n case '<':\n capture = namedCaptures[stringSlice(ch, 1, -1)];\n break;\n default: // \\d\\d?\n var n = +ch;\n if (n === 0) return match;\n if (n > m) {\n var f = floor(n / 10);\n if (f === 0) return match;\n if (f <= m) return captures[f - 1] === undefined ? charAt(ch, 1) : captures[f - 1] + charAt(ch, 1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a !== 7;\n});\n","'use strict';\nvar $String = String;\n\nmodule.exports = function (argument) {\n try {\n return $String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","var currentNonce;\nexport var setNonce = function (nonce) {\n currentNonce = nonce;\n};\nexport var getNonce = function () {\n if (currentNonce) {\n return currentNonce;\n }\n if (typeof __webpack_nonce__ !== 'undefined') {\n return __webpack_nonce__;\n }\n return undefined;\n};","import { getNonce } from 'get-nonce';\nfunction makeStyleTag() {\n if (!document) return null;\n var tag = document.createElement('style');\n tag.type = 'text/css';\n var nonce = getNonce();\n if (nonce) {\n tag.setAttribute('nonce', nonce);\n }\n return tag;\n}\nfunction injectStyles(tag, css) {\n // @ts-ignore\n if (tag.styleSheet) {\n // @ts-ignore\n tag.styleSheet.cssText = css;\n } else {\n tag.appendChild(document.createTextNode(css));\n }\n}\nfunction insertStyleTag(tag) {\n var head = document.head || document.getElementsByTagName('head')[0];\n head.appendChild(tag);\n}\nexport var stylesheetSingleton = function () {\n var counter = 0;\n var stylesheet = null;\n return {\n add: function (style) {\n if (counter == 0) {\n if (stylesheet = makeStyleTag()) {\n injectStyles(stylesheet, style);\n insertStyleTag(stylesheet);\n }\n }\n counter++;\n },\n remove: function () {\n counter--;\n if (!counter && stylesheet) {\n stylesheet.parentNode && stylesheet.parentNode.removeChild(stylesheet);\n stylesheet = null;\n }\n }\n };\n};","import { styleHookSingleton } from './hook';\n/**\n * create a Component to add styles on demand\n * - styles are added when first instance is mounted\n * - styles are removed when the last instance is unmounted\n * - changing styles in runtime does nothing unless dynamic is set. But with multiple components that can lead to the undefined behavior\n */\nexport var styleSingleton = function () {\n var useStyle = styleHookSingleton();\n var Sheet = function (_a) {\n var styles = _a.styles,\n dynamic = _a.dynamic;\n useStyle(styles, dynamic);\n return null;\n };\n return Sheet;\n};","import * as React from 'react';\nimport { stylesheetSingleton } from './singleton';\n/**\n * creates a hook to control style singleton\n * @see {@link styleSingleton} for a safer component version\n * @example\n * ```tsx\n * const useStyle = styleHookSingleton();\n * ///\n * useStyle('body { overflow: hidden}');\n */\nexport var styleHookSingleton = function () {\n var sheet = stylesheetSingleton();\n return function (styles, isDynamic) {\n React.useEffect(function () {\n sheet.add(styles);\n return function () {\n sheet.remove();\n };\n }, [styles && isDynamic]);\n };\n};","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\nvar $String = String;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\nvar stringSlice = uncurryThis(''.slice);\nvar replace = uncurryThis(''.replace);\nvar join = uncurryThis([].join);\n\nvar CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () {\n return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;\n});\n\nvar TEMPLATE = String(String).split('String');\n\nvar makeBuiltIn = module.exports = function (value, name, options) {\n if (stringSlice($String(name), 0, 7) === 'Symbol(') {\n name = '[' + replace($String(name), /^Symbol\\(([^)]*)\\)/, '$1') + ']';\n }\n if (options && options.getter) name = 'get ' + name;\n if (options && options.setter) name = 'set ' + name;\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n if (DESCRIPTORS) defineProperty(value, 'name', { value: name, configurable: true });\n else value.name = name;\n }\n if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) {\n defineProperty(value, 'length', { value: options.arity });\n }\n try {\n if (options && hasOwn(options, 'constructor') && options.constructor) {\n if (DESCRIPTORS) defineProperty(value, 'prototype', { writable: false });\n // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable\n } else if (value.prototype) value.prototype = undefined;\n } catch (error) { /* empty */ }\n var state = enforceInternalState(value);\n if (!hasOwn(state, 'source')) {\n state.source = join(TEMPLATE, typeof name == 'string' ? name : '');\n } return value;\n};\n\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n// eslint-disable-next-line no-extend-native -- required\nFunction.prototype.toString = makeBuiltIn(function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n}, 'toString');\n","export default function warn(s) {\n console.warn('[react-ga]', s);\n}","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}\nvar _excluded = [\"to\", \"target\"];\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = _objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\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 return target;\n}\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\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 return target;\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nfunction _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}\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}\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 subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}\nfunction _createSuper(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct();\n return function _createSuperInternal() {\n var Super = _getPrototypeOf(Derived),\n result;\n if (hasNativeReflectConstruct) {\n var NewTarget = _getPrototypeOf(this).constructor;\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n return _possibleConstructorReturn(this, result);\n };\n}\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return _assertThisInitialized(self);\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 return self;\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 try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\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 return obj;\n}\nimport React, { Component } from 'react';\nimport warn from '../utils/console/warn';\nvar NEWTAB = '_blank';\nvar MIDDLECLICK = 1;\nvar OutboundLink = /*#__PURE__*/function (_Component) {\n _inherits(OutboundLink, _Component);\n var _super = _createSuper(OutboundLink);\n function OutboundLink() {\n var _this;\n _classCallCheck(this, OutboundLink);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"handleClick\", function (event) {\n var _this$props = _this.props,\n target = _this$props.target,\n eventLabel = _this$props.eventLabel,\n to = _this$props.to,\n onClick = _this$props.onClick,\n trackerNames = _this$props.trackerNames;\n var eventMeta = {\n label: eventLabel\n };\n var sameTarget = target !== NEWTAB;\n var normalClick = !(event.ctrlKey || event.shiftKey || event.metaKey || event.button === MIDDLECLICK);\n if (sameTarget && normalClick) {\n event.preventDefault();\n OutboundLink.trackLink(eventMeta, function () {\n window.location.href = to;\n }, trackerNames);\n } else {\n OutboundLink.trackLink(eventMeta, function () {}, trackerNames);\n }\n if (onClick) {\n onClick(event);\n }\n });\n return _this;\n }\n _createClass(OutboundLink, [{\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n href = _this$props2.to,\n target = _this$props2.target,\n oldProps = _objectWithoutProperties(_this$props2, _excluded);\n var props = _objectSpread(_objectSpread({}, oldProps), {}, {\n target: target,\n href: href,\n onClick: this.handleClick\n });\n if (target === NEWTAB) {\n props.rel = \"\".concat(props.rel ? props.rel : '', \" noopener noreferrer\").trim();\n }\n delete props.eventLabel;\n delete props.trackerNames;\n return /*#__PURE__*/React.createElement('a', props);\n }\n }]);\n return OutboundLink;\n}(Component);\n_defineProperty(OutboundLink, \"trackLink\", function () {\n warn('ga tracking not enabled');\n});\nexport { OutboundLink as default };\nOutboundLink.defaultProps = {\n target: null,\n to: null,\n onClick: null,\n trackerNames: null\n};","import warn from './console/warn';\nimport mightBeEmail from './mightBeEmail';\nvar redacted = 'REDACTED (Potential Email Address)';\nexport default function redactEmail(string) {\n if (mightBeEmail(string)) {\n warn('This arg looks like an email address, redacting.');\n return redacted;\n }\n return string;\n}","// See if s could be an email address. We don't want to send personal data like email.\n// https://support.google.com/analytics/answer/2795983?hl=en\nexport default function mightBeEmail(s) {\n // There's no point trying to validate rfc822 fully, just look for ...@...\n return typeof s === 'string' && s.indexOf('@') !== -1;\n}","// GA strings need to have leading/trailing whitespace trimmed, and not all\n// browsers have String.prototoype.trim().\nexport default function trim(s) {\n return s && s.toString().replace(/^\\s+|\\s+$/g, '');\n}","/**\n * To Title Case 2.1 - http://individed.com/code/to-title-case/\n * Copyright 2008-2013 David Gouch. Licensed under the MIT License.\n * https://github.com/gouch/to-title-case\n */\nimport trim from './trim';\nvar smallWords = /^(a|an|and|as|at|but|by|en|for|if|in|nor|of|on|or|per|the|to|vs?\\.?|via)$/i; // test\n\nexport default function toTitleCase(string) {\n return trim(string).replace(/[A-Za-z0-9\\u00C0-\\u00FF]+[^\\s-]*/g, function (match, index, title) {\n if (index > 0 && index + match.length !== title.length && match.search(smallWords) > -1 && title.charAt(index - 2) !== ':' && (title.charAt(index + match.length) !== '-' || title.charAt(index - 1) === '-') && title.charAt(index - 1).search(/[^\\s-]/) < 0) {\n return match.toLowerCase();\n }\n if (match.substr(1).search(/[A-Z]|\\../) > -1) {\n return match;\n }\n return match.charAt(0).toUpperCase() + match.substr(1);\n });\n}","var isLoaded = false;\nexport default function (options) {\n if (isLoaded) return;\n isLoaded = true;\n var gaAddress = 'https://www.google-analytics.com/analytics.js';\n if (options && options.gaAddress) {\n gaAddress = options.gaAddress;\n } else if (options && options.debug) {\n gaAddress = 'https://www.google-analytics.com/analytics_debug.js';\n }\n var onerror = options && options.onerror; // https://developers.google.com/analytics/devguides/collection/analyticsjs/\n\n /* eslint-disable */\n\n (function (i, s, o, g, r, a, m) {\n i['GoogleAnalyticsObject'] = r;\n i[r] = i[r] || function () {\n (i[r].q = i[r].q || []).push(arguments);\n }, i[r].l = 1 * new Date();\n a = s.createElement(o), m = s.getElementsByTagName(o)[0];\n a.async = 1;\n a.src = g;\n a.onerror = onerror;\n m.parentNode.insertBefore(a, m);\n })(window, document, 'script', gaAddress, 'ga');\n /* eslint-enable */\n}","export default function log(s) {\n console.info('[react-ga]', s);\n}","export var gaCalls = [];\nexport default {\n calls: gaCalls,\n ga: function ga() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n gaCalls.push([].concat(args));\n },\n resetCalls: function resetCalls() {\n gaCalls.length = 0;\n }\n};","var _excluded = [\"category\", \"action\", \"label\", \"value\", \"nonInteraction\", \"transport\"];\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = _objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\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 return target;\n}\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\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 return target;\n}\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\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 return obj;\n}\nfunction _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}\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();\n}\nfunction _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}\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}\nfunction _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return _arrayLikeToArray(arr);\n}\nfunction _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++) {\n arr2[i] = arr[i];\n }\n return arr2;\n}\n\n/**\n * React Google Analytics Module\n *\n * @package react-ga\n * @author Adam Lofting \n * Atul Varma \n */\n\n/**\n * Utilities\n */\nimport format from './utils/format';\nimport removeLeadingSlash from './utils/removeLeadingSlash';\nimport trim from './utils/trim';\nimport loadGA from './utils/loadGA';\nimport warn from './utils/console/warn';\nimport log from './utils/console/log';\nimport TestModeAPI from './utils/testModeAPI';\nvar _isNotBrowser = typeof window === 'undefined' || typeof document === 'undefined';\nvar _debug = false;\nvar _titleCase = true;\nvar _testMode = false;\nvar _alwaysSendToDefaultTracker = true;\nvar _redactEmail = true;\nvar internalGa = function internalGa() {\n var _window;\n if (_testMode) return TestModeAPI.ga.apply(TestModeAPI, arguments);\n if (_isNotBrowser) return false;\n if (!window.ga) return warn('ReactGA.initialize must be called first or GoogleAnalytics should be loaded manually');\n return (_window = window).ga.apply(_window, arguments);\n};\nfunction _format(s) {\n return format(s, _titleCase, _redactEmail);\n}\nfunction _gaCommand(trackerNames) {\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 var command = args[0];\n if (typeof internalGa === 'function') {\n if (typeof command !== 'string') {\n warn('ga command must be a string');\n return;\n }\n if (_alwaysSendToDefaultTracker || !Array.isArray(trackerNames)) internalGa.apply(void 0, args);\n if (Array.isArray(trackerNames)) {\n trackerNames.forEach(function (name) {\n internalGa.apply(void 0, _toConsumableArray([\"\".concat(name, \".\").concat(command)].concat(args.slice(1))));\n });\n }\n }\n}\nfunction _initialize(gaTrackingID, options) {\n if (!gaTrackingID) {\n warn('gaTrackingID is required in initialize()');\n return;\n }\n if (options) {\n if (options.debug && options.debug === true) {\n _debug = true;\n }\n if (options.titleCase === false) {\n _titleCase = false;\n }\n if (options.redactEmail === false) {\n _redactEmail = false;\n }\n if (options.useExistingGa) {\n return;\n }\n }\n if (options && options.gaOptions) {\n internalGa('create', gaTrackingID, options.gaOptions);\n } else {\n internalGa('create', gaTrackingID, 'auto');\n }\n}\nexport function addTrackers(configsOrTrackingId, options) {\n if (Array.isArray(configsOrTrackingId)) {\n configsOrTrackingId.forEach(function (config) {\n if (_typeof(config) !== 'object') {\n warn('All configs must be an object');\n return;\n }\n _initialize(config.trackingId, config);\n });\n } else {\n _initialize(configsOrTrackingId, options);\n }\n return true;\n}\nexport function initialize(configsOrTrackingId, options) {\n if (options && options.testMode === true) {\n _testMode = true;\n } else {\n if (_isNotBrowser) {\n return;\n }\n if (!options || options.standardImplementation !== true) loadGA(options);\n }\n _alwaysSendToDefaultTracker = options && typeof options.alwaysSendToDefaultTracker === 'boolean' ? options.alwaysSendToDefaultTracker : true;\n addTrackers(configsOrTrackingId, options);\n}\n/**\n * ga:\n * Returns the original GA object.\n */\n\nexport function ga() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n if (args.length > 0) {\n internalGa.apply(void 0, args);\n if (_debug) {\n log(\"called ga('arguments');\");\n log(\"with arguments: \".concat(JSON.stringify(args)));\n }\n }\n return window.ga;\n}\n/**\n * set:\n * GA tracker set method\n * @param {Object} fieldsObject - a field/value pair or a group of field/value pairs on the tracker\n * @param {Array} trackerNames - (optional) a list of extra trackers to run the command on\n */\n\nexport function set(fieldsObject, trackerNames) {\n if (!fieldsObject) {\n warn('`fieldsObject` is required in .set()');\n return;\n }\n if (_typeof(fieldsObject) !== 'object') {\n warn('Expected `fieldsObject` arg to be an Object');\n return;\n }\n if (Object.keys(fieldsObject).length === 0) {\n warn('empty `fieldsObject` given to .set()');\n }\n _gaCommand(trackerNames, 'set', fieldsObject);\n if (_debug) {\n log(\"called ga('set', fieldsObject);\");\n log(\"with fieldsObject: \".concat(JSON.stringify(fieldsObject)));\n }\n}\n/**\n * send:\n * Clone of the low level `ga.send` method\n * WARNING: No validations will be applied to this\n * @param {Object} fieldObject - field object for tracking different analytics\n * @param {Array} trackerNames - trackers to send the command to\n * @param {Array} trackerNames - (optional) a list of extra trackers to run the command on\n */\n\nexport function send(fieldObject, trackerNames) {\n _gaCommand(trackerNames, 'send', fieldObject);\n if (_debug) {\n log(\"called ga('send', fieldObject);\");\n log(\"with fieldObject: \".concat(JSON.stringify(fieldObject)));\n log(\"with trackers: \".concat(JSON.stringify(trackerNames)));\n }\n}\n/**\n * pageview:\n * Basic GA pageview tracking\n * @param {String} path - the current page page e.g. '/about'\n * @param {Array} trackerNames - (optional) a list of extra trackers to run the command on\n * @param {String} title - (optional) the page title e. g. 'My Website'\n */\n\nexport function pageview(rawPath, trackerNames, title) {\n if (!rawPath) {\n warn('path is required in .pageview()');\n return;\n }\n var path = trim(rawPath);\n if (path === '') {\n warn('path cannot be an empty string in .pageview()');\n return;\n }\n var extraFields = {};\n if (title) {\n extraFields.title = title;\n }\n if (typeof ga === 'function') {\n _gaCommand(trackerNames, 'send', _objectSpread({\n hitType: 'pageview',\n page: path\n }, extraFields));\n if (_debug) {\n log(\"called ga('send', 'pageview', path);\");\n var extraLog = '';\n if (title) {\n extraLog = \" and title: \".concat(title);\n }\n log(\"with path: \".concat(path).concat(extraLog));\n }\n }\n}\n/**\n * modalview:\n * a proxy to basic GA pageview tracking to consistently track\n * modal views that are an equivalent UX to a traditional pageview\n * @param {String} modalName e.g. 'add-or-edit-club'\n * @param {Array} trackerNames - (optional) a list of extra trackers to run the command on\n */\n\nexport function modalview(rawModalName, trackerNames) {\n if (!rawModalName) {\n warn('modalName is required in .modalview(modalName)');\n return;\n }\n var modalName = removeLeadingSlash(trim(rawModalName));\n if (modalName === '') {\n warn('modalName cannot be an empty string or a single / in .modalview()');\n return;\n }\n if (typeof ga === 'function') {\n var path = \"/modal/\".concat(modalName);\n _gaCommand(trackerNames, 'send', 'pageview', path);\n if (_debug) {\n log(\"called ga('send', 'pageview', path);\");\n log(\"with path: \".concat(path));\n }\n }\n}\n/**\n * timing:\n * GA timing\n * @param args.category {String} required\n * @param args.variable {String} required\n * @param args.value {Int} required\n * @param args.label {String} required\n * @param {Array} trackerNames - (optional) a list of extra trackers to run the command on\n */\n\nexport function timing() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n category = _ref.category,\n variable = _ref.variable,\n value = _ref.value,\n label = _ref.label;\n var trackerNames = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;\n if (typeof ga === 'function') {\n if (!category || !variable || typeof value !== 'number') {\n warn('args.category, args.variable ' + 'AND args.value are required in timing() ' + 'AND args.value has to be a number');\n return;\n } // Required Fields\n\n var fieldObject = {\n hitType: 'timing',\n timingCategory: _format(category),\n timingVar: _format(variable),\n timingValue: value\n };\n if (label) {\n fieldObject.timingLabel = _format(label);\n }\n send(fieldObject, trackerNames);\n }\n}\n/**\n * event:\n * GA event tracking\n * @param args.category {String} required\n * @param args.action {String} required\n * @param args.label {String} optional\n * @param args.value {Int} optional\n * @param args.nonInteraction {boolean} optional\n * @param args.transport {string} optional\n * @param {{action: string, category: string}} trackerNames - (optional) a list of extra trackers to run the command on\n */\n\nexport function event() {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n category = _ref2.category,\n action = _ref2.action,\n label = _ref2.label,\n value = _ref2.value,\n nonInteraction = _ref2.nonInteraction,\n transport = _ref2.transport,\n args = _objectWithoutProperties(_ref2, _excluded);\n var trackerNames = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;\n if (typeof ga === 'function') {\n // Simple Validation\n if (!category || !action) {\n warn('args.category AND args.action are required in event()');\n return;\n } // Required Fields\n\n var fieldObject = {\n hitType: 'event',\n eventCategory: _format(category),\n eventAction: _format(action)\n }; // Optional Fields\n\n if (label) {\n fieldObject.eventLabel = _format(label);\n }\n if (typeof value !== 'undefined') {\n if (typeof value !== 'number') {\n warn('Expected `args.value` arg to be a Number.');\n } else {\n fieldObject.eventValue = value;\n }\n }\n if (typeof nonInteraction !== 'undefined') {\n if (typeof nonInteraction !== 'boolean') {\n warn('`args.nonInteraction` must be a boolean.');\n } else {\n fieldObject.nonInteraction = nonInteraction;\n }\n }\n if (typeof transport !== 'undefined') {\n if (typeof transport !== 'string') {\n warn('`args.transport` must be a string.');\n } else {\n if (['beacon', 'xhr', 'image'].indexOf(transport) === -1) {\n warn('`args.transport` must be either one of these values: `beacon`, `xhr` or `image`');\n }\n fieldObject.transport = transport;\n }\n }\n Object.keys(args).filter(function (key) {\n return key.substr(0, 'dimension'.length) === 'dimension';\n }).forEach(function (key) {\n fieldObject[key] = args[key];\n });\n Object.keys(args).filter(function (key) {\n return key.substr(0, 'metric'.length) === 'metric';\n }).forEach(function (key) {\n fieldObject[key] = args[key];\n }); // Send to GA\n\n send(fieldObject, trackerNames);\n }\n}\n/**\n * exception:\n * GA exception tracking\n * @param args.description {String} optional\n * @param args.fatal {boolean} optional\n * @param {Array} trackerNames - (optional) a list of extra trackers to run the command on\n */\n\nexport function exception(_ref3, trackerNames) {\n var description = _ref3.description,\n fatal = _ref3.fatal;\n if (typeof ga === 'function') {\n // Required Fields\n var fieldObject = {\n hitType: 'exception'\n }; // Optional Fields\n\n if (description) {\n fieldObject.exDescription = _format(description);\n }\n if (typeof fatal !== 'undefined') {\n if (typeof fatal !== 'boolean') {\n warn('`args.fatal` must be a boolean.');\n } else {\n fieldObject.exFatal = fatal;\n }\n } // Send to GA\n\n send(fieldObject, trackerNames);\n }\n}\nexport var plugin = {\n /**\n * require:\n * GA requires a plugin\n * @param name {String} e.g. 'ecommerce' or 'myplugin'\n * @param options {Object} optional e.g {path: '/log', debug: true}\n * @param trackerName {String} optional e.g 'trackerName'\n */\n require: function require(rawName, options, trackerName) {\n if (typeof ga === 'function') {\n // Required Fields\n if (!rawName) {\n warn('`name` is required in .require()');\n return;\n }\n var name = trim(rawName);\n if (name === '') {\n warn('`name` cannot be an empty string in .require()');\n return;\n }\n var requireString = trackerName ? \"\".concat(trackerName, \".require\") : 'require'; // Optional Fields\n\n if (options) {\n if (_typeof(options) !== 'object') {\n warn('Expected `options` arg to be an Object');\n return;\n }\n if (Object.keys(options).length === 0) {\n warn('Empty `options` given to .require()');\n }\n ga(requireString, name, options);\n if (_debug) {\n log(\"called ga('require', '\".concat(name, \"', \").concat(JSON.stringify(options)));\n }\n } else {\n ga(requireString, name);\n if (_debug) {\n log(\"called ga('require', '\".concat(name, \"');\"));\n }\n }\n }\n },\n /**\n * execute:\n * GA execute action for plugin\n * Takes variable number of arguments\n * @param pluginName {String} e.g. 'ecommerce' or 'myplugin'\n * @param action {String} e.g. 'addItem' or 'myCustomAction'\n * @param actionType {String} optional e.g. 'detail'\n * @param payload {Object} optional e.g { id: '1x5e', name : 'My product to track' }\n */\n execute: function execute(pluginName, action) {\n var payload;\n var actionType;\n for (var _len3 = arguments.length, args = new Array(_len3 > 2 ? _len3 - 2 : 0), _key3 = 2; _key3 < _len3; _key3++) {\n args[_key3 - 2] = arguments[_key3];\n }\n if (args.length === 1) {\n payload = args[0];\n } else {\n actionType = args[0];\n payload = args[1];\n }\n if (typeof ga === 'function') {\n if (typeof pluginName !== 'string') {\n warn('Expected `pluginName` arg to be a String.');\n } else if (typeof action !== 'string') {\n warn('Expected `action` arg to be a String.');\n } else {\n var command = \"\".concat(pluginName, \":\").concat(action);\n payload = payload || null;\n if (actionType && payload) {\n ga(command, actionType, payload);\n if (_debug) {\n log(\"called ga('\".concat(command, \"');\"));\n log(\"actionType: \\\"\".concat(actionType, \"\\\" with payload: \").concat(JSON.stringify(payload)));\n }\n } else if (payload) {\n ga(command, payload);\n if (_debug) {\n log(\"called ga('\".concat(command, \"');\"));\n log(\"with payload: \".concat(JSON.stringify(payload)));\n }\n } else {\n ga(command);\n if (_debug) {\n log(\"called ga('\".concat(command, \"');\"));\n }\n }\n }\n }\n }\n};\n/**\n * outboundLink:\n * GA outboundLink tracking\n * @param args.label {String} e.g. url, or 'Create an Account'\n * @param {function} hitCallback - Called after processing a hit.\n */\n\nexport function outboundLink(args, hitCallback, trackerNames) {\n if (typeof hitCallback !== 'function') {\n warn('hitCallback function is required');\n return;\n }\n if (typeof ga === 'function') {\n // Simple Validation\n if (!args || !args.label) {\n warn('args.label is required in outboundLink()');\n return;\n } // Required Fields\n\n var fieldObject = {\n hitType: 'event',\n eventCategory: 'Outbound',\n eventAction: 'Click',\n eventLabel: _format(args.label)\n };\n var safetyCallbackCalled = false;\n var safetyCallback = function safetyCallback() {\n // This prevents a delayed response from GA\n // causing hitCallback from being fired twice\n safetyCallbackCalled = true;\n hitCallback();\n }; // Using a timeout to ensure the execution of critical application code\n // in the case when the GA server might be down\n // or an ad blocker prevents sending the data\n // register safety net timeout:\n\n var t = setTimeout(safetyCallback, 250);\n var clearableCallbackForGA = function clearableCallbackForGA() {\n clearTimeout(t);\n if (!safetyCallbackCalled) {\n hitCallback();\n }\n };\n fieldObject.hitCallback = clearableCallbackForGA; // Send to GA\n\n send(fieldObject, trackerNames);\n } else {\n // if ga is not defined, return the callback so the application\n // continues to work as expected\n setTimeout(hitCallback, 0);\n }\n}\nexport var testModeAPI = TestModeAPI;\nexport default {\n initialize: initialize,\n ga: ga,\n set: set,\n send: send,\n pageview: pageview,\n modalview: modalview,\n timing: timing,\n event: event,\n exception: exception,\n plugin: plugin,\n outboundLink: outboundLink,\n testModeAPI: TestModeAPI\n};","import redactEmail from './redactEmail';\nimport toTitleCase from './toTitleCase';\nexport default function format() {\n var s = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var titleCase = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var redactingEmail = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n var _str = s || '';\n if (titleCase) {\n _str = toTitleCase(s);\n }\n if (redactingEmail) {\n _str = redactEmail(_str);\n }\n return _str;\n}","export default function removeLeadingSlash(string) {\n if (string.substring(0, 1) === '/') {\n return string.substring(1);\n }\n return string;\n}","function ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\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 return obj;\n}\nimport UnboundOutboundLink from './components/OutboundLink';\nimport * as Defaults from './core';\nvar initialize = Defaults.initialize;\nexport { initialize };\nvar addTrackers = Defaults.addTrackers;\nexport { addTrackers };\nvar ga = Defaults.ga;\nexport { ga };\nvar set = Defaults.set;\nexport { set };\nvar send = Defaults.send;\nexport { send };\nvar pageview = Defaults.pageview;\nexport { pageview };\nvar modalview = Defaults.modalview;\nexport { modalview };\nvar timing = Defaults.timing;\nexport { timing };\nvar event = Defaults.event;\nexport { event };\nvar exception = Defaults.exception;\nexport { exception };\nvar plugin = Defaults.plugin;\nexport { plugin };\nvar outboundLink = Defaults.outboundLink;\nexport { outboundLink };\nvar testModeAPI = Defaults.testModeAPI;\nexport { testModeAPI };\nUnboundOutboundLink.origTrackLink = UnboundOutboundLink.trackLink;\nUnboundOutboundLink.trackLink = Defaults.outboundLink;\nexport var OutboundLink = UnboundOutboundLink;\nexport default _objectSpread(_objectSpread({}, Defaults), {}, {\n OutboundLink: OutboundLink\n});","import React, { useEffect } from 'react'\n\nconst CookieBanner = ({ cookieBannerInfo = {} }) => {\n const { html = '', js = '', css = '' } = cookieBannerInfo\n const cookieBanner = decodeURIComponent(`${html}${css}`)\n useEffect(() => {\n let jscriptWithScriptTag = decodeURIComponent(`${js}`)\n const regexMatch = jscriptWithScriptTag.match(\n /nonce=\"(.*?)\">(.*?)<\\/script>/,\n )\n const nonceCalculated = regexMatch && regexMatch.length > 1 && regexMatch[1]\n const jscript = regexMatch && regexMatch.length > 2 && regexMatch[2]\n const scriptElement = document.createElement('script')\n scriptElement.nonce = nonceCalculated\n scriptElement.innerHTML = jscript\n document.body.append(scriptElement)\n\n return () => {\n document.body.removeChild(scriptElement)\n }\n })\n\n return (\n \n )\n}\n\nexport default CookieBanner\n","export const config = {\n docsBannerInfo: {\n enabled: false,\n message: 'Available in the US, Canada, UK, and Italy',\n },\n docsMobileCheckoutBannerInfo: {\n enabled: true,\n message:\n 'This integration path is only active for existing Apps using a previous beta version. For any new Apps seeking the Native Checkout experience, please integrate via the PayPal Mobile SDK or Braintree SDK',\n },\n googleAnalytics: {\n appName: 'devdiscoverynodeweb',\n stock: 'UA-37159521-1',\n exp: 'UA-37159521-8',\n },\n}\n","import React, {\n useState,\n useEffect,\n useContext,\n ReactNode,\n createContext,\n} from 'react'\nimport ReactGA from 'react-ga' // eslint-disable-line\nimport Cookies, { CookieAttributes } from 'js-cookie'\nimport CookieBanner from './components/layout/CookieBanner'\nimport { loadScript } from './utils/scriptLoader'\nimport useApi from './templates/useApi'\nimport { isBrowser } from './react-utils/dom'\nimport { PAYPAL_THEME } from '@paypalcorp/pp-react'\nimport { ThemeProvider } from '@emotion/react'\nimport { config } from './providerConfig'\n\nconst PP_SDK_URL = 'https://www.paypal.com/sdk/js?client-id=sb'\n\ntype ProviderProps = {\n children: ReactNode\n}\n\nexport type PaymentSelection = {\n value: string\n primaryText: string\n}\n\ntype ApplicationContext = {\n user: any\n setUser: () => void\n isScriptLoaded: boolean\n isPPSDKLoaded: boolean\n setPPSDKLoaded: (value: boolean) => void\n countrySelection: string\n updateCountrySelection: (value: string) => void\n paymentSelection: PaymentSelection['value']\n updatePaymentSelection: (value: PaymentSelection['value']) => void\n elmoData: any\n Cookies: CookieAttributes\n rightNav: any\n setRightNav: (value: string) => void\n experiments: any\n notificationBanner: any\n nonce: string\n trackEvent: any\n trackRecord: any\n setUserMetaData: () => void\n}\n\nexport const ApplicationContext = createContext({} as ApplicationContext)\n\nexport function useApplicationContext() {\n return useContext(ApplicationContext)\n}\n\nconst Provider = ({ children }: ProviderProps) => {\n const [user, setUser] = useState({})\n const [isScriptLoaded, setScriptLoaded] = useState(false)\n const [isPPSDKLoaded, setPPSDKLoaded] = useState(false)\n const [countrySelection, setCountrySelection] = useState('US')\n const [paymentSelection, setPaymentSelection] =\n useState('paypal')\n const [cookieBanner, setCookieBanner] = useState({})\n const [experiments, setExperiments] = useState({})\n const [notificationBanner, setNotificationBanner] = useState({})\n const [rightNav, _setRightNav] = useState('')\n const [nonce, setNonce] = useState('')\n const { elmoData } = useApi('/apis/elmodata') as any\n const { pathname } = isBrowser && (window.location as any)\n\n const setRightNav = (nav: string) => {\n _setRightNav(nav)\n }\n\n const bannerInfo = {\n enabled: true,\n message:\n 'Ignite your developer spirit! Join us for inspiring meetups in Berlin, London, Paris and San Jose, CA. To learn more and register for the event in your city, ',\n link: {\n href: 'https://www.meetup.com/pro/paypaldeveloper/',\n title: 'info banner link STATIC',\n rel: 'noreferrer',\n target: '_blank',\n text: 'click here',\n },\n }\n\n const trackEvent = ({ gaData }: any) => {\n let ga = ReactGA.ga() // eslint-disable-line\n ga('send', 'pageview', gaData)\n }\n\n /***\n * ReactGA.event(args) - arg is an object with following properties:-\n * args = { category: string, action: string, label: string, value: int, nonInteraction: bool, transport: string }.\n */\n const trackRecord = ({ gaData }: any) => {\n ReactGA.event(gaData) // eslint-disable-line\n }\n\n const docsBannerInfo = config.docsBannerInfo\n\n // We had been just using setUser to update state whenever we fetched user\n // data from /apis/user, but we'd also like to update FPTI `cust` property\n // in addition to the user data stored in state. This `updateUser` function\n // allows us to both, and it's this function that we pass down to children\n // as setUser via the Provider value\n const updateUser = (data = {}) => {\n // Sets user data in state which can be consumed by children components who\n // wrap themselves with this \n setUser(data)\n\n // If the user is logged in, we will have their encrypted account number\n // TODO: Type safe for this guy.\n // @ts-ignore\n const { encryptedAccountNumber, accountType } = data\n\n // If we have an encrypted account number, and if pa.js (FPTI) has already\n // been loaded, then we can just set the `cust` so that it will be\n // populated for all subsequent FPTI events\n // @ts-ignore\n if (encryptedAccountNumber && window?.fpti) {\n // @ts-ignore\n window.fpti.cust = encryptedAccountNumber\n window.fpti.acnt = accountType\n\n // If pa.js/FPTI has not yet loaded, let's set an event listener, which\n // is set up to be fired when pa.js loads (in dx-analytics.js), and then\n // update the cust property then\n } else if (encryptedAccountNumber) {\n window.addEventListener('paLoaded', async () => {\n // @ts-ignore\n window.fpti.cust = encryptedAccountNumber\n window.fpti.acnt = accountType\n })\n }\n }\n\n const updateCountrySelection = (country: string) => {\n setCountrySelection(country)\n }\n\n const updatePaymentSelection = (payment: PaymentSelection['value']) => {\n setPaymentSelection(payment)\n }\n\n const updateUserMetaData = (data = {}) => {\n // @ts-ignore\n if (data && window?.fpti) {\n // @ts-ignore\n window.fpti.accountNumber = data?.accountNumber\n // @ts-ignore\n window.fpti.confidenceScore = data?.confidenceScore\n // @ts-ignore\n window.fpti.identificationType = data?.identificationType\n } else if (data) {\n window.addEventListener('paLoaded', async () => {\n // @ts-ignore\n window.fpti.accountNumber = data?.accountNumber\n // @ts-ignore\n window.fpti.confidenceScore = data?.confidenceScore\n // @ts-ignore\n window.fpti.identificationType = data?.identificationType\n })\n }\n }\n\n useEffect(() => {\n ;(async function () {\n if (elmoData) {\n setExperiments({\n isInternalUser: elmoData.isInternalUser ? true : false,\n treatmentIds: JSON.parse(elmoData.treatmentIds || '{}'),\n uiramp: elmoData.uiramp,\n signupramp: elmoData.signupramp,\n integrationBuilder: elmoData.integrationBuilder,\n integrationBuilderKBYC: elmoData.integrationBuilderKBYC,\n aiSearch: elmoData.ai_search,\n reboot: elmoData.reboot,\n codespaces: elmoData.codespaces,\n })\n }\n // TODO: we likely don't need to fetch user data here bc we're already\n // doing so in the component, which is rendered on every\n // page load. Also, this useEffect function is likely being called twice,\n // once on initial page load and once when `elmoData` loads/changes\n // @ts-ignore\n if (window && window.app) {\n setScriptLoaded(true)\n } else {\n window.addEventListener('scriptLoad', async () => {\n setScriptLoaded(true)\n })\n }\n try {\n if (!isPPSDKLoaded) {\n await loadScript({ src: PP_SDK_URL })\n setPPSDKLoaded(true)\n }\n } catch (err) {\n // eslint-disable-next-line no-console\n console.log('unable to load PayPal SDK')\n }\n })()\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [elmoData])\n\n useEffect(() => {\n //@ts-ignore\n const serverData = (isBrowser && window.__INITIALDATA__) || {}\n\n setCookieBanner(serverData.cookieBannerInfo)\n if (serverData.attrs) {\n const attrs = JSON.parse(serverData.attrs)\n setNonce(attrs.nonce)\n }\n\n if (serverData.attrs) {\n const attrs = JSON.parse(serverData.attrs)\n setNonce(attrs.nonce)\n }\n\n const bannerStr = serverData.unifiedConfig?.notificationBanner\n try {\n setNotificationBanner(bannerStr ? JSON.parse(bannerStr) : bannerInfo)\n } catch (error) {\n console.error('INVALID Banner String', bannerStr)\n }\n setExperiments({\n isInternalUser: serverData.isInternalUser ? true : false,\n treatmentIds: JSON.parse(serverData.treatmentIds || '{}'),\n uiramp: serverData.uiramp,\n signupramp: serverData.signupramp,\n integrationBuilder: serverData.integrationBuilder,\n integrationBuilderKBYC: serverData.integrationBuilderKBYC,\n reboot: serverData.reboot,\n aiSearch: serverData.ai_search,\n codespaces: serverData.codespaces,\n })\n }, [])\n\n useEffect(() => {\n //@ts-ignore\n const serverData = (isBrowser && window.__INITIALDATA__) || {}\n\n let bannerStr\n let defaultBannerInfo\n\n if (pathname.indexOf('/save-payment-methods/') > -1) {\n bannerStr = serverData.unifiedConfig?.notificationBannerDocs\n defaultBannerInfo = docsBannerInfo\n } else if (pathname.includes('/paypal-mobile-checkout/')) {\n defaultBannerInfo = config.docsMobileCheckoutBannerInfo\n } else if (pathname === '/home' || pathname === '/home/') {\n bannerStr = serverData.unifiedConfig?.notificationBanner\n defaultBannerInfo = bannerInfo\n } else {\n bannerStr = ''\n defaultBannerInfo = {\n enabled: false,\n }\n }\n\n try {\n setNotificationBanner(\n bannerStr ? JSON.parse(bannerStr) : defaultBannerInfo,\n )\n } catch (error) {\n console.error('INVALID Banner String', bannerStr)\n }\n }, [pathname])\n\n ReactGA.initialize(config.googleAnalytics.stock) // eslint-disable-line\n\n //add elmo data to pass on\n return (\n \n {children}\n \n \n )\n}\n\nconst ProviderComponent = ({ element }: any) => (\n \n {element}\n \n)\n\nexport default ProviderComponent\n","import { useState, useEffect } from 'react'\n\nexport default function useApi(endpoint) {\n const [data, setData] = useState({})\n useEffect(() => {\n fetch(endpoint)\n .then((res) => res.json())\n .then((dataRes) => {\n setData(dataRes)\n return\n })\n .catch(() => {\n setData({\n success: false,\n })\n })\n }, [endpoint])\n return data\n}\n","export function canUseDOM() {\n return !!(\n typeof window !== 'undefined' &&\n window.document &&\n window.document.createElement\n )\n}\n","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.ScrollHandler = exports.ScrollContext = void 0;\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _inheritsLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inheritsLoose\"));\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _sessionStorage = require(\"./session-storage\");\n\nvar ScrollContext = /*#__PURE__*/React.createContext(new _sessionStorage.SessionStorage());\nexports.ScrollContext = ScrollContext;\nScrollContext.displayName = \"GatsbyScrollContext\";\n\nvar ScrollHandler = /*#__PURE__*/function (_React$Component) {\n (0, _inheritsLoose2.default)(ScrollHandler, _React$Component);\n\n function ScrollHandler() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _this._stateStorage = new _sessionStorage.SessionStorage();\n\n _this.scrollListener = function () {\n var key = _this.props.location.key;\n\n if (key) {\n _this._stateStorage.save(_this.props.location, key, window.scrollY);\n }\n };\n\n _this.windowScroll = function (position, prevProps) {\n if (_this.shouldUpdateScroll(prevProps, _this.props)) {\n window.scrollTo(0, position);\n }\n };\n\n _this.scrollToHash = function (hash, prevProps) {\n var node = document.getElementById(hash.substring(1));\n\n if (node && _this.shouldUpdateScroll(prevProps, _this.props)) {\n node.scrollIntoView();\n }\n };\n\n _this.shouldUpdateScroll = function (prevRouterProps, routerProps) {\n var shouldUpdateScroll = _this.props.shouldUpdateScroll;\n\n if (!shouldUpdateScroll) {\n return true;\n } // Hack to allow accessing this._stateStorage.\n\n\n return shouldUpdateScroll.call((0, _assertThisInitialized2.default)(_this), prevRouterProps, routerProps);\n };\n\n return _this;\n }\n\n var _proto = ScrollHandler.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n window.addEventListener(\"scroll\", this.scrollListener);\n var scrollPosition;\n var _this$props$location = this.props.location,\n key = _this$props$location.key,\n hash = _this$props$location.hash;\n\n if (key) {\n scrollPosition = this._stateStorage.read(this.props.location, key);\n }\n\n if (scrollPosition) {\n this.windowScroll(scrollPosition, undefined);\n } else if (hash) {\n this.scrollToHash(decodeURI(hash), undefined);\n }\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n window.removeEventListener(\"scroll\", this.scrollListener);\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var _this$props$location2 = this.props.location,\n hash = _this$props$location2.hash,\n key = _this$props$location2.key;\n var scrollPosition;\n\n if (key) {\n scrollPosition = this._stateStorage.read(this.props.location, key);\n }\n /** There are two pieces of state: the browser url and\n * history state which keeps track of scroll position\n * Native behaviour prescribes that we ought to restore scroll position\n * when a user navigates back in their browser (this is the `POP` action)\n * Currently, reach router has a bug that prevents this at https://github.com/reach/router/issues/228\n * So we _always_ stick to the url as a source of truth — if the url\n * contains a hash, we scroll to it\n */\n\n\n if (hash) {\n this.scrollToHash(decodeURI(hash), prevProps);\n } else {\n this.windowScroll(scrollPosition, prevProps);\n }\n };\n\n _proto.render = function render() {\n return /*#__PURE__*/React.createElement(ScrollContext.Provider, {\n value: this._stateStorage\n }, this.props.children);\n };\n\n return ScrollHandler;\n}(React.Component);\n\nexports.ScrollHandler = ScrollHandler;\nScrollHandler.propTypes = {\n shouldUpdateScroll: _propTypes.default.func,\n children: _propTypes.default.element.isRequired,\n location: _propTypes.default.object.isRequired\n};","import { canUseDOM } from '../miscellaneous'\nimport { Booleanish, EventKeys } from '../types'\n\nexport function isElement(el: any): el is Element {\n return (\n el != null &&\n typeof el == 'object' &&\n 'nodeType' in el &&\n el.nodeType === Node.ELEMENT_NODE\n )\n}\n\nexport function isHTMLElement(el: any): el is HTMLElement {\n if (!isElement(el)) {\n return false\n }\n\n const win = el.ownerDocument.defaultView ?? window\n return el instanceof win.HTMLElement\n}\n\nexport function getOwnerWindow(node?: Element | null): typeof globalThis {\n return isElement(node)\n ? getOwnerDocument(node)?.defaultView ?? window\n : window\n}\n\nexport function getOwnerDocument(node?: Element | null): Document {\n return isElement(node) ? node.ownerDocument ?? document : document\n}\n\nexport function getEventWindow(event: Event): typeof globalThis {\n return ((event as UIEvent).view ?? window) as unknown as typeof globalThis\n}\n\nexport const isBrowser = canUseDOM()\n\nexport const dataAttr = (condition: boolean | undefined) =>\n (condition ? '' : undefined) as Booleanish\n\nexport const ariaAttr = (condition: boolean | undefined) =>\n condition ? true : undefined\n\nexport function getActiveElement(node?: HTMLElement) {\n const doc = getOwnerDocument(node)\n return doc?.activeElement as HTMLElement\n}\n\nexport function contains(parent: HTMLElement | null, child: HTMLElement) {\n if (!parent) return false\n return parent === child || parent.contains(child)\n}\n\nexport function addDomEvent(\n target: EventTarget,\n eventName: string,\n handler: EventListener,\n options?: AddEventListenerOptions,\n) {\n target.addEventListener(eventName, handler, options)\n return () => {\n target.removeEventListener(eventName, handler, options)\n }\n}\n\n/**\n * Get the normalized event key across all browsers\n * @param event keyboard event\n */\nexport function normalizeEventKey(\n event: Pick,\n) {\n const { key, keyCode } = event\n\n const isArrowKey =\n keyCode >= 37 && keyCode <= 40 && key.indexOf('Arrow') !== 0\n\n const eventKey = isArrowKey ? `Arrow${key}` : key\n\n return eventKey as EventKeys\n}\n\nexport function getRelatedTarget(\n event: Pick,\n) {\n const target = (event.target ?? event.currentTarget) as HTMLElement\n const activeElement = getActiveElement(target)\n return (event.relatedTarget ?? activeElement) as HTMLElement\n}\n\nexport function isRightClick(event: Pick): boolean {\n return event.button !== 0\n}\n","var unitlessKeys = {\n animationIterationCount: 1,\n aspectRatio: 1,\n borderImageOutset: 1,\n borderImageSlice: 1,\n borderImageWidth: 1,\n boxFlex: 1,\n boxFlexGroup: 1,\n boxOrdinalGroup: 1,\n columnCount: 1,\n columns: 1,\n flex: 1,\n flexGrow: 1,\n flexPositive: 1,\n flexShrink: 1,\n flexNegative: 1,\n flexOrder: 1,\n gridRow: 1,\n gridRowEnd: 1,\n gridRowSpan: 1,\n gridRowStart: 1,\n gridColumn: 1,\n gridColumnEnd: 1,\n gridColumnSpan: 1,\n gridColumnStart: 1,\n msGridRow: 1,\n msGridRowSpan: 1,\n msGridColumn: 1,\n msGridColumnSpan: 1,\n fontWeight: 1,\n lineHeight: 1,\n opacity: 1,\n order: 1,\n orphans: 1,\n tabSize: 1,\n widows: 1,\n zIndex: 1,\n zoom: 1,\n WebkitLineClamp: 1,\n // SVG-related properties\n fillOpacity: 1,\n floodOpacity: 1,\n stopOpacity: 1,\n strokeDasharray: 1,\n strokeDashoffset: 1,\n strokeMiterlimit: 1,\n strokeOpacity: 1,\n strokeWidth: 1\n};\nexport { unitlessKeys as default };","import hashString from '@emotion/hash';\nimport unitless from '@emotion/unitless';\nimport memoize from '@emotion/memoize';\nvar ILLEGAL_ESCAPE_SEQUENCE_ERROR = \"You have illegal escape sequence in your template literal, most likely inside content's property value.\\nBecause you write your CSS inside a JavaScript string you actually have to do double escaping, so for example \\\"content: '\\\\00d7';\\\" should become \\\"content: '\\\\\\\\00d7';\\\".\\nYou can read more about this here:\\nhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#ES2018_revision_of_illegal_escape_sequences\";\nvar UNDEFINED_AS_OBJECT_KEY_ERROR = \"You have passed in falsy value as style object's key (can happen when in example you pass unexported component as computed key).\";\nvar hyphenateRegex = /[A-Z]|^ms/g;\nvar animationRegex = /_EMO_([^_]+?)_([^]*?)_EMO_/g;\nvar isCustomProperty = function isCustomProperty(property) {\n return property.charCodeAt(1) === 45;\n};\nvar isProcessableValue = function isProcessableValue(value) {\n return value != null && typeof value !== 'boolean';\n};\nvar processStyleName = /* #__PURE__ */memoize(function (styleName) {\n return isCustomProperty(styleName) ? styleName : styleName.replace(hyphenateRegex, '-$&').toLowerCase();\n});\nvar processStyleValue = function processStyleValue(key, value) {\n switch (key) {\n case 'animation':\n case 'animationName':\n {\n if (typeof value === 'string') {\n return value.replace(animationRegex, function (match, p1, p2) {\n cursor = {\n name: p1,\n styles: p2,\n next: cursor\n };\n return p1;\n });\n }\n }\n }\n if (unitless[key] !== 1 && !isCustomProperty(key) && typeof value === 'number' && value !== 0) {\n return value + 'px';\n }\n return value;\n};\nif (process.env.NODE_ENV !== 'production') {\n var contentValuePattern = /(var|attr|counters?|url|element|(((repeating-)?(linear|radial))|conic)-gradient)\\(|(no-)?(open|close)-quote/;\n var contentValues = ['normal', 'none', 'initial', 'inherit', 'unset'];\n var oldProcessStyleValue = processStyleValue;\n var msPattern = /^-ms-/;\n var hyphenPattern = /-(.)/g;\n var hyphenatedCache = {};\n processStyleValue = function processStyleValue(key, value) {\n if (key === 'content') {\n if (typeof value !== 'string' || contentValues.indexOf(value) === -1 && !contentValuePattern.test(value) && (value.charAt(0) !== value.charAt(value.length - 1) || value.charAt(0) !== '\"' && value.charAt(0) !== \"'\")) {\n throw new Error(\"You seem to be using a value for 'content' without quotes, try replacing it with `content: '\\\"\" + value + \"\\\"'`\");\n }\n }\n var processed = oldProcessStyleValue(key, value);\n if (processed !== '' && !isCustomProperty(key) && key.indexOf('-') !== -1 && hyphenatedCache[key] === undefined) {\n hyphenatedCache[key] = true;\n console.error(\"Using kebab-case for css properties in objects is not supported. Did you mean \" + key.replace(msPattern, 'ms-').replace(hyphenPattern, function (str, _char) {\n return _char.toUpperCase();\n }) + \"?\");\n }\n return processed;\n };\n}\nvar noComponentSelectorMessage = 'Component selectors can only be used in conjunction with ' + '@emotion/babel-plugin, the swc Emotion plugin, or another Emotion-aware ' + 'compiler transform.';\nfunction handleInterpolation(mergedProps, registered, interpolation) {\n if (interpolation == null) {\n return '';\n }\n if (interpolation.__emotion_styles !== undefined) {\n if (process.env.NODE_ENV !== 'production' && interpolation.toString() === 'NO_COMPONENT_SELECTOR') {\n throw new Error(noComponentSelectorMessage);\n }\n return interpolation;\n }\n switch (typeof interpolation) {\n case 'boolean':\n {\n return '';\n }\n case 'object':\n {\n if (interpolation.anim === 1) {\n cursor = {\n name: interpolation.name,\n styles: interpolation.styles,\n next: cursor\n };\n return interpolation.name;\n }\n if (interpolation.styles !== undefined) {\n var next = interpolation.next;\n if (next !== undefined) {\n // not the most efficient thing ever but this is a pretty rare case\n // and there will be very few iterations of this generally\n while (next !== undefined) {\n cursor = {\n name: next.name,\n styles: next.styles,\n next: cursor\n };\n next = next.next;\n }\n }\n var styles = interpolation.styles + \";\";\n if (process.env.NODE_ENV !== 'production' && interpolation.map !== undefined) {\n styles += interpolation.map;\n }\n return styles;\n }\n return createStringFromObject(mergedProps, registered, interpolation);\n }\n case 'function':\n {\n if (mergedProps !== undefined) {\n var previousCursor = cursor;\n var result = interpolation(mergedProps);\n cursor = previousCursor;\n return handleInterpolation(mergedProps, registered, result);\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('Functions that are interpolated in css calls will be stringified.\\n' + 'If you want to have a css call based on props, create a function that returns a css call like this\\n' + 'let dynamicStyle = (props) => css`color: ${props.color}`\\n' + 'It can be called directly with props or interpolated in a styled call like this\\n' + \"let SomeComponent = styled('div')`${dynamicStyle}`\");\n }\n break;\n }\n case 'string':\n if (process.env.NODE_ENV !== 'production') {\n var matched = [];\n var replaced = interpolation.replace(animationRegex, function (match, p1, p2) {\n var fakeVarName = \"animation\" + matched.length;\n matched.push(\"const \" + fakeVarName + \" = keyframes`\" + p2.replace(/^@keyframes animation-\\w+/, '') + \"`\");\n return \"${\" + fakeVarName + \"}\";\n });\n if (matched.length) {\n console.error('`keyframes` output got interpolated into plain string, please wrap it with `css`.\\n\\n' + 'Instead of doing this:\\n\\n' + [].concat(matched, [\"`\" + replaced + \"`\"]).join('\\n') + '\\n\\nYou should wrap it with `css` like this:\\n\\n' + (\"css`\" + replaced + \"`\"));\n }\n }\n break;\n } // finalize string values (regular strings and functions interpolated into css calls)\n\n if (registered == null) {\n return interpolation;\n }\n var cached = registered[interpolation];\n return cached !== undefined ? cached : interpolation;\n}\nfunction createStringFromObject(mergedProps, registered, obj) {\n var string = '';\n if (Array.isArray(obj)) {\n for (var i = 0; i < obj.length; i++) {\n string += handleInterpolation(mergedProps, registered, obj[i]) + \";\";\n }\n } else {\n for (var _key in obj) {\n var value = obj[_key];\n if (typeof value !== 'object') {\n if (registered != null && registered[value] !== undefined) {\n string += _key + \"{\" + registered[value] + \"}\";\n } else if (isProcessableValue(value)) {\n string += processStyleName(_key) + \":\" + processStyleValue(_key, value) + \";\";\n }\n } else {\n if (_key === 'NO_COMPONENT_SELECTOR' && process.env.NODE_ENV !== 'production') {\n throw new Error(noComponentSelectorMessage);\n }\n if (Array.isArray(value) && typeof value[0] === 'string' && (registered == null || registered[value[0]] === undefined)) {\n for (var _i = 0; _i < value.length; _i++) {\n if (isProcessableValue(value[_i])) {\n string += processStyleName(_key) + \":\" + processStyleValue(_key, value[_i]) + \";\";\n }\n }\n } else {\n var interpolated = handleInterpolation(mergedProps, registered, value);\n switch (_key) {\n case 'animation':\n case 'animationName':\n {\n string += processStyleName(_key) + \":\" + interpolated + \";\";\n break;\n }\n default:\n {\n if (process.env.NODE_ENV !== 'production' && _key === 'undefined') {\n console.error(UNDEFINED_AS_OBJECT_KEY_ERROR);\n }\n string += _key + \"{\" + interpolated + \"}\";\n }\n }\n }\n }\n }\n }\n return string;\n}\nvar labelPattern = /label:\\s*([^\\s;\\n{]+)\\s*(;|$)/g;\nvar sourceMapPattern;\nif (process.env.NODE_ENV !== 'production') {\n sourceMapPattern = /\\/\\*#\\ssourceMappingURL=data:application\\/json;\\S+\\s+\\*\\//g;\n} // this is the cursor for keyframes\n// keyframes are stored on the SerializedStyles object as a linked list\n\nvar cursor;\nvar serializeStyles = function serializeStyles(args, registered, mergedProps) {\n if (args.length === 1 && typeof args[0] === 'object' && args[0] !== null && args[0].styles !== undefined) {\n return args[0];\n }\n var stringMode = true;\n var styles = '';\n cursor = undefined;\n var strings = args[0];\n if (strings == null || strings.raw === undefined) {\n stringMode = false;\n styles += handleInterpolation(mergedProps, registered, strings);\n } else {\n if (process.env.NODE_ENV !== 'production' && strings[0] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n styles += strings[0];\n } // we start at 1 since we've already handled the first arg\n\n for (var i = 1; i < args.length; i++) {\n styles += handleInterpolation(mergedProps, registered, args[i]);\n if (stringMode) {\n if (process.env.NODE_ENV !== 'production' && strings[i] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n styles += strings[i];\n }\n }\n var sourceMap;\n if (process.env.NODE_ENV !== 'production') {\n styles = styles.replace(sourceMapPattern, function (match) {\n sourceMap = match;\n return '';\n });\n } // using a global regex with .exec is stateful so lastIndex has to be reset each time\n\n labelPattern.lastIndex = 0;\n var identifierName = '';\n var match; // https://esbench.com/bench/5b809c2cf2949800a0f61fb5\n\n while ((match = labelPattern.exec(styles)) !== null) {\n identifierName += '-' +\n // $FlowFixMe we know it's not null\n match[1];\n }\n var name = hashString(styles) + identifierName;\n if (process.env.NODE_ENV !== 'production') {\n // $FlowFixMe SerializedStyles type doesn't have toString property (and we don't want to add it)\n return {\n name: name,\n styles: styles,\n map: sourceMap,\n next: cursor,\n toString: function toString() {\n return \"You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop).\";\n }\n };\n }\n return {\n name: name,\n styles: styles,\n next: cursor\n };\n};\nexport { serializeStyles };","/* eslint-disable */\n// Inspired by https://github.com/garycourt/murmurhash-js\n// Ported from https://github.com/aappleby/smhasher/blob/61a0530f28277f2e850bfc39600ce61d02b518de/src/MurmurHash2.cpp#L37-L86\nfunction murmur2(str) {\n // 'm' and 'r' are mixing constants generated offline.\n // They're not really 'magic', they just happen to work well.\n // const m = 0x5bd1e995;\n // const r = 24;\n // Initialize the hash\n var h = 0; // Mix 4 bytes at a time into the hash\n\n var k,\n i = 0,\n len = str.length;\n for (; len >= 4; ++i, len -= 4) {\n k = str.charCodeAt(i) & 0xff | (str.charCodeAt(++i) & 0xff) << 8 | (str.charCodeAt(++i) & 0xff) << 16 | (str.charCodeAt(++i) & 0xff) << 24;\n k = /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16);\n k ^= /* k >>> r: */\n k >>> 24;\n h = /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16) ^ /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Handle the last few bytes of the input array\n\n switch (len) {\n case 3:\n h ^= (str.charCodeAt(i + 2) & 0xff) << 16;\n case 2:\n h ^= (str.charCodeAt(i + 1) & 0xff) << 8;\n case 1:\n h ^= str.charCodeAt(i) & 0xff;\n h = /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Do a few final mixes of the hash to ensure the last few\n // bytes are well-incorporated.\n\n h ^= h >>> 13;\n h = /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n return ((h ^ h >>> 15) >>> 0).toString(36);\n}\nexport { murmur2 as default };","import _extends from '@babel/runtime/helpers/esm/extends';\nimport _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';\nimport { useMemo } from 'react';\nimport { keyframes, css, useTheme, jsx } from '@emotion/react';\nimport _taggedTemplateLiteral from '@babel/runtime/helpers/esm/taggedTemplateLiteral';\nimport { utilStyles } from '@paypalcorp/pp-react-utils';\nvar _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7;\nfunction styles(tokens) {\n /* istanbul ignore next */\n if (!Object.keys(tokens).length) {\n console.warn('Missing Emotion theme. Use ThemeProvider from @emotion/react to pass a valid theme from pp-react.');\n return {};\n }\n var sysColorPrimaryMain = tokens.sysColorPrimaryMain,\n sysColorPrimaryContrast = tokens.sysColorPrimaryContrast,\n sysSizeCircleXs = tokens.sysSizeCircleXs,\n sysSizeCircleSm = tokens.sysSizeCircleSm,\n sysSizeCircleMd = tokens.sysSizeCircleMd,\n sysSizeCircleXl = tokens.sysSizeCircleXl,\n sysBorderThicknessEmphasis = tokens.sysBorderThicknessEmphasis;\n var borderSpinner = keyframes(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n to {\\n transform: rotate(360deg);\\n }\\n \"])));\n var _utilStyles = utilStyles(tokens),\n screenReader = _utilStyles.screenReader;\n var base = css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral([\"\\n label: loading-spinner_base;\\n width: \", \";\\n height: \", \";\\n color: \", \";\\n animation: \", \" 1s linear infinite;\\n border: \", \" solid currentColor;\\n border-radius: 50%;\\n clip-path: polygon(50% 0%, 50% 50%, 100% 50%, 100% 100%, 0 100%, 0 0);\\n \"])), sysSizeCircleXs, sysSizeCircleXs, sysColorPrimaryMain, borderSpinner, sysBorderThicknessEmphasis); // Size Xs\n\n var sizeXs = css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral([\"\\n label: size_xs;\\n width: \", \";\\n height: \", \";\\n \"])), sysSizeCircleXs, sysSizeCircleXs); // Size md\n\n var sizeMd = css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral([\"\\n label: size_md;\\n width: \", \";\\n height: \", \";\\n \"])), sysSizeCircleSm, sysSizeCircleSm); // Size Lg\n\n var sizeLg = css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral([\"\\n label: size_lg;\\n width: \", \";\\n height: \", \";\\n \"])), sysSizeCircleMd, sysSizeCircleMd); // Size Xl\n\n var sizeXl = css(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral([\"\\n label: size_xl;\\n width: \", \";\\n height: \", \";\\n \"])), sysSizeCircleXl, sysSizeCircleXl); // Inverse\n\n var inverse = css(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral([\"\\n label: inverse;\\n color: \", \";\\n \"])), sysColorPrimaryContrast);\n return {\n base: base,\n sizeXs: sizeXs,\n sizeMd: sizeMd,\n sizeLg: sizeLg,\n sizeXl: sizeXl,\n inverse: inverse,\n screenReader: screenReader\n };\n}\nvar _excluded = [\"as\", \"className\", \"inverse\", \"size\", \"screenReaderText\"];\nvar LoadingSpinner = function (_ref) {\n var _ref$as = _ref.as,\n as = _ref$as === void 0 ? 'p' : _ref$as,\n className = _ref.className,\n inverse = _ref.inverse,\n size = _ref.size,\n screenReaderText = _ref.screenReaderText,\n rest = _objectWithoutProperties(_ref, _excluded);\n var tokens = useTheme();\n var _styles = useMemo(function () {\n return styles(tokens);\n }, [tokens]);\n var sizesStyleMap = {\n xs: _styles.sizeXs,\n // to be used for stateful buttons ONLY.\n sm: '',\n md: _styles.sizeMd,\n lg: _styles.sizeLg,\n xl: _styles.sizeXl\n };\n var cssVal = [_styles.base, inverse && _styles.inverse, sizesStyleMap[size]];\n return jsx(as, _extends({\n css: cssVal,\n className: className,\n \"data-ppui-info\": \"loading-spinner_3.1.16\"\n }, rest, {\n role: \"alert\"\n }), jsx(\"span\", {\n css: _styles.screenReader,\n \"data-ppui\": \"true\"\n }, screenReaderText));\n};\nexport { LoadingSpinner, styles as loadingSpinnerStyles };","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 if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\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 return target;\n}","'use strict';\nvar $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\n// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = $documentAll.IS_HTMLDDA ? function (argument) {\n return typeof argument == 'function' || argument === documentAll;\n} : function (argument) {\n return typeof argument == 'function';\n};\n","import FocusLockUI from './Lock';\nimport AutoFocusInside from './AutoFocusInside';\nimport MoveFocusInside, { useFocusInside } from './MoveFocusInside';\nimport FreeFocusInside from './FreeFocusInside';\nimport InFocusGuard from './FocusGuard';\nexport { AutoFocusInside, MoveFocusInside, FreeFocusInside, InFocusGuard, FocusLockUI, useFocusInside };\nexport default FocusLockUI;","import Provider from './src/provider'\n\nexport const onRouteUpdate = (obj) => {\n let hashId = document.getElementById('hashLinkContainer')\n if (hashId) {\n hashId.setAttribute('hashlink', obj.location.pathname)\n }\n}\n\nexport const wrapRootElement = Provider\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","'use strict';\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\nvar $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (isNullOrUndefined(it)) throw $TypeError(\"Can't call method on \" + it);\n return it;\n};\n","'use strict';\nvar global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.dontCallGetSet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || defineGlobalProperty(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.dontCallGetSet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty == typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n defineBuiltIn(target, key, sourceProperty, options);\n }\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","import React, { createElement } from \"react\"\nimport PropTypes from \"prop-types\"\nimport { publicLoader } from \"./loader\"\nimport { apiRunner } from \"./api-runner-browser\"\nimport { grabMatchParams } from \"./find-path\"\n\n// Renders page\nclass PageRenderer extends React.Component {\n render() {\n const props = {\n ...this.props,\n params: {\n ...grabMatchParams(this.props.location.pathname),\n ...this.props.pageResources.json.pageContext.__params,\n },\n pathContext: this.props.pageContext,\n }\n\n const [replacementElement] = apiRunner(`replaceComponentRenderer`, {\n props: this.props,\n loader: publicLoader,\n })\n\n const pageElement =\n replacementElement ||\n createElement(this.props.pageResources.component, {\n ...props,\n key: this.props.path || this.props.pageResources.page.path,\n })\n\n const wrappedPage = apiRunner(\n `wrapPageElement`,\n { element: pageElement, props },\n pageElement,\n ({ result }) => {\n return { element: result, props }\n }\n ).pop()\n\n return wrappedPage\n }\n}\n\nPageRenderer.propTypes = {\n location: PropTypes.object.isRequired,\n pageResources: PropTypes.object.isRequired,\n data: PropTypes.object,\n pageContext: PropTypes.object.isRequired,\n}\n\nexport default PageRenderer\n","'use strict';\nvar internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","import * as React from 'react';\nexport default {\n React\n};","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\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}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","'use strict';\nvar global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","import invariant from \"invariant\";\n\n////////////////////////////////////////////////////////////////////////////////\n// startsWith(string, search) - Check if `string` starts with `search`\nvar startsWith = function startsWith(string, search) {\n return string.substr(0, search.length) === search;\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// pick(routes, uri)\n//\n// Ranks and picks the best route to match. Each segment gets the highest\n// amount of points, then the type of segment gets an additional amount of\n// points where\n//\n// static > dynamic > splat > root\n//\n// This way we don't have to worry about the order of our routes, let the\n// computers do it.\n//\n// A route looks like this\n//\n// { path, default, value }\n//\n// And a returned match looks like:\n//\n// { route, params, uri }\n//\n// I know, I should use TypeScript not comments for these types.\nvar pick = function pick(routes, uri) {\n var match = void 0;\n var default_ = void 0;\n\n var _uri$split = uri.split(\"?\"),\n uriPathname = _uri$split[0];\n\n var uriSegments = segmentize(uriPathname);\n var isRootUri = uriSegments[0] === \"\";\n var ranked = rankRoutes(routes);\n\n for (var i = 0, l = ranked.length; i < l; i++) {\n var missed = false;\n var route = ranked[i].route;\n\n if (route.default) {\n default_ = {\n route: route,\n params: {},\n uri: uri\n };\n continue;\n }\n\n var routeSegments = segmentize(route.path);\n var params = {};\n var max = Math.max(uriSegments.length, routeSegments.length);\n var index = 0;\n\n for (; index < max; index++) {\n var routeSegment = routeSegments[index];\n var uriSegment = uriSegments[index];\n\n if (isSplat(routeSegment)) {\n // Hit a splat, just grab the rest, and return a match\n // uri: /files/documents/work\n // route: /files/*\n var param = routeSegment.slice(1) || \"*\";\n params[param] = uriSegments.slice(index).map(decodeURIComponent).join(\"/\");\n break;\n }\n\n if (uriSegment === undefined) {\n // URI is shorter than the route, no match\n // uri: /users\n // route: /users/:userId\n missed = true;\n break;\n }\n\n var dynamicMatch = paramRe.exec(routeSegment);\n\n if (dynamicMatch && !isRootUri) {\n var matchIsNotReserved = reservedNames.indexOf(dynamicMatch[1]) === -1;\n !matchIsNotReserved ? process.env.NODE_ENV !== \"production\" ? invariant(false, \" dynamic segment \\\"\" + dynamicMatch[1] + \"\\\" is a reserved name. Please use a different name in path \\\"\" + route.path + \"\\\".\") : invariant(false) : void 0;\n var value = decodeURIComponent(uriSegment);\n params[dynamicMatch[1]] = value;\n } else if (routeSegment !== uriSegment) {\n // Current segments don't match, not dynamic, not splat, so no match\n // uri: /users/123/settings\n // route: /users/:id/profile\n missed = true;\n break;\n }\n }\n\n if (!missed) {\n match = {\n route: route,\n params: params,\n uri: \"/\" + uriSegments.slice(0, index).join(\"/\")\n };\n break;\n }\n }\n\n return match || default_ || null;\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// match(path, uri) - Matches just one path to a uri, also lol\nvar match = function match(path, uri) {\n return pick([{ path: path }], uri);\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// resolve(to, basepath)\n//\n// Resolves URIs as though every path is a directory, no files. Relative URIs\n// in the browser can feel awkward because not only can you be \"in a directory\"\n// you can be \"at a file\", too. For example\n//\n// browserSpecResolve('foo', '/bar/') => /bar/foo\n// browserSpecResolve('foo', '/bar') => /foo\n//\n// But on the command line of a file system, it's not as complicated, you can't\n// `cd` from a file, only directories. This way, links have to know less about\n// their current path. To go deeper you can do this:\n//\n// \n// // instead of\n// \n//\n// Just like `cd`, if you want to go deeper from the command line, you do this:\n//\n// cd deeper\n// # not\n// cd $(pwd)/deeper\n//\n// By treating every path as a directory, linking to relative paths should\n// require less contextual information and (fingers crossed) be more intuitive.\nvar resolve = function resolve(to, base) {\n // /foo/bar, /baz/qux => /foo/bar\n if (startsWith(to, \"/\")) {\n return to;\n }\n\n var _to$split = to.split(\"?\"),\n toPathname = _to$split[0],\n toQuery = _to$split[1];\n\n var _base$split = base.split(\"?\"),\n basePathname = _base$split[0];\n\n var toSegments = segmentize(toPathname);\n var baseSegments = segmentize(basePathname);\n\n // ?a=b, /users?b=c => /users?a=b\n if (toSegments[0] === \"\") {\n return addQuery(basePathname, toQuery);\n }\n\n // profile, /users/789 => /users/789/profile\n if (!startsWith(toSegments[0], \".\")) {\n var pathname = baseSegments.concat(toSegments).join(\"/\");\n return addQuery((basePathname === \"/\" ? \"\" : \"/\") + pathname, toQuery);\n }\n\n // ./ /users/123 => /users/123\n // ../ /users/123 => /users\n // ../.. /users/123 => /\n // ../../one /a/b/c/d => /a/b/one\n // .././one /a/b/c/d => /a/b/c/one\n var allSegments = baseSegments.concat(toSegments);\n var segments = [];\n for (var i = 0, l = allSegments.length; i < l; i++) {\n var segment = allSegments[i];\n if (segment === \"..\") segments.pop();else if (segment !== \".\") segments.push(segment);\n }\n\n return addQuery(\"/\" + segments.join(\"/\"), toQuery);\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// insertParams(path, params)\n\nvar insertParams = function insertParams(path, params) {\n var _path$split = path.split(\"?\"),\n pathBase = _path$split[0],\n _path$split$ = _path$split[1],\n query = _path$split$ === undefined ? \"\" : _path$split$;\n\n var segments = segmentize(pathBase);\n var constructedPath = \"/\" + segments.map(function (segment) {\n var match = paramRe.exec(segment);\n return match ? params[match[1]] : segment;\n }).join(\"/\");\n var _params$location = params.location;\n _params$location = _params$location === undefined ? {} : _params$location;\n var _params$location$sear = _params$location.search,\n search = _params$location$sear === undefined ? \"\" : _params$location$sear;\n\n var searchSplit = search.split(\"?\")[1] || \"\";\n constructedPath = addQuery(constructedPath, query, searchSplit);\n return constructedPath;\n};\n\nvar validateRedirect = function validateRedirect(from, to) {\n var filter = function filter(segment) {\n return isDynamic(segment);\n };\n var fromString = segmentize(from).filter(filter).sort().join(\"/\");\n var toString = segmentize(to).filter(filter).sort().join(\"/\");\n return fromString === toString;\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// Junk\nvar paramRe = /^:(.+)/;\n\nvar SEGMENT_POINTS = 4;\nvar STATIC_POINTS = 3;\nvar DYNAMIC_POINTS = 2;\nvar SPLAT_PENALTY = 1;\nvar ROOT_POINTS = 1;\n\nvar isRootSegment = function isRootSegment(segment) {\n return segment === \"\";\n};\nvar isDynamic = function isDynamic(segment) {\n return paramRe.test(segment);\n};\nvar isSplat = function isSplat(segment) {\n return segment && segment[0] === \"*\";\n};\n\nvar rankRoute = function rankRoute(route, index) {\n var score = route.default ? 0 : segmentize(route.path).reduce(function (score, segment) {\n score += SEGMENT_POINTS;\n if (isRootSegment(segment)) score += ROOT_POINTS;else if (isDynamic(segment)) score += DYNAMIC_POINTS;else if (isSplat(segment)) score -= SEGMENT_POINTS + SPLAT_PENALTY;else score += STATIC_POINTS;\n return score;\n }, 0);\n return { route: route, score: score, index: index };\n};\n\nvar rankRoutes = function rankRoutes(routes) {\n return routes.map(rankRoute).sort(function (a, b) {\n return a.score < b.score ? 1 : a.score > b.score ? -1 : a.index - b.index;\n });\n};\n\nvar segmentize = function segmentize(uri) {\n return uri\n // strip starting/ending slashes\n .replace(/(^\\/+|\\/+$)/g, \"\").split(\"/\");\n};\n\nvar addQuery = function addQuery(pathname) {\n for (var _len = arguments.length, query = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n query[_key - 1] = arguments[_key];\n }\n\n query = query.filter(function (q) {\n return q && q.length > 0;\n });\n return pathname + (query && query.length > 0 ? \"?\" + query.join(\"&\") : \"\");\n};\n\nvar reservedNames = [\"uri\", \"path\"];\n\n/**\n * Shallow compares two objects.\n * @param {Object} obj1 The first object to compare.\n * @param {Object} obj2 The second object to compare.\n */\nvar shallowCompare = function shallowCompare(obj1, obj2) {\n var obj1Keys = Object.keys(obj1);\n return obj1Keys.length === Object.keys(obj2).length && obj1Keys.every(function (key) {\n return obj2.hasOwnProperty(key) && obj1[key] === obj2[key];\n });\n};\n\n////////////////////////////////////////////////////////////////////////////////\nexport { startsWith, pick, match, resolve, insertParams, validateRedirect, shallowCompare };","module.exports = [{\n plugin: require('../node_modules/gatsby-plugin-mdx/gatsby-browser.js'),\n options: {\"plugins\":[],\"extensions\":[\".md\",\".mdx\"],\"gatsbyRemarkPlugins\":[{\"resolve\":\"@paypalcorp/gatsby-remark-partial\",\"options\":{\"directory\":\"/home/jenkins/agent/workspace/PP Devdocs Release/release/src/\"}},{\"resolve\":\"/home/jenkins/agent/workspace/PP Devdocs Release/release/plugins/gatsby-remark-fix-links/index.js\"},{\"resolve\":\"/home/jenkins/agent/workspace/PP Devdocs Release/release/plugins/gatsby-remark-modify-headers/index.js\"}],\"defaultLayouts\":{},\"lessBabel\":false,\"remarkPlugins\":[],\"rehypePlugins\":[],\"mediaTypes\":[\"text/markdown\",\"text/x-markdown\"],\"root\":\"/home/jenkins/agent/workspace/PP Devdocs Release/release\",\"JSFrontmatterEngine\":false,\"engines\":{}},\n },{\n plugin: require('../node_modules/gatsby-plugin-catch-links/gatsby-browser.js'),\n options: {\"plugins\":[],\"excludePattern\":\"(demo\\\\/checkout)\"},\n },{\n plugin: require('../node_modules/gatsby-plugin-canonical-urls/gatsby-browser.js'),\n options: {\"plugins\":[],\"siteUrl\":\"https://developer.paypal.com\"},\n },{\n plugin: require('../gatsby-browser.js'),\n options: {\"plugins\":[]},\n }]\n","/*!\n * domready (c) Dustin Diaz 2014 - License MIT\n * ie10 fix - Mikael Kristiansson 2019\n */\n!(function(name, definition) {\n if (typeof module != \"undefined\") module.exports = definition();\n else if (typeof define == \"function\" && typeof define.amd == \"object\")\n define(definition);\n else this[name] = definition();\n})(\"domready\", function() {\n var ie10 = false;\n if (navigator.appVersion.indexOf(\"MSIE 10\") !== -1) {\n ie10 = true;\n }\n\n var fns = [],\n listener,\n doc = typeof document === \"object\" && document,\n hack = ie10\n ? doc.documentElement.doScroll(\"left\")\n : doc.documentElement.doScroll,\n domContentLoaded = \"DOMContentLoaded\",\n loaded =\n doc && (hack ? /^loaded|^c/ : /^loaded|^i|^c/).test(doc.readyState);\n\n if (!loaded && doc)\n doc.addEventListener(\n domContentLoaded,\n (listener = function() {\n doc.removeEventListener(domContentLoaded, listener);\n loaded = 1;\n while ((listener = fns.shift())) listener();\n })\n );\n\n return function(fn) {\n loaded ? setTimeout(fn, 0) : fns.push(fn);\n };\n});\n","export default function _taggedTemplateLiteralLoose(strings, raw) {\n if (!raw) {\n raw = strings.slice(0);\n }\n strings.raw = raw;\n return strings;\n}","'use strict';\nmodule.exports = typeof navigator != 'undefined' && String(navigator.userAgent) || '';\n","import { apiRunner } from \"./api-runner-browser\"\n\nif (\n window.location.protocol !== `https:` &&\n window.location.hostname !== `localhost`\n) {\n console.error(\n `Service workers can only be used over HTTPS, or on localhost for development`\n )\n} else if (`serviceWorker` in navigator) {\n navigator.serviceWorker\n .register(`${__BASE_PATH__}/sw.js`)\n .then(function (reg) {\n reg.addEventListener(`updatefound`, () => {\n apiRunner(`onServiceWorkerUpdateFound`, { serviceWorker: reg })\n // The updatefound event implies that reg.installing is set; see\n // https://w3c.github.io/ServiceWorker/#service-worker-registration-updatefound-event\n const installingWorker = reg.installing\n console.log(`installingWorker`, installingWorker)\n installingWorker.addEventListener(`statechange`, () => {\n switch (installingWorker.state) {\n case `installed`:\n if (navigator.serviceWorker.controller) {\n // At this point, the old content will have been purged and the fresh content will\n // have been added to the cache.\n\n // We set a flag so Gatsby Link knows to refresh the page on next navigation attempt\n window.___swUpdated = true\n // We call the onServiceWorkerUpdateReady API so users can show update prompts.\n apiRunner(`onServiceWorkerUpdateReady`, { serviceWorker: reg })\n\n // If resources failed for the current page, reload.\n if (window.___failedResources) {\n console.log(`resources failed, SW updated - reloading`)\n window.location.reload()\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a \"Content is cached for offline use.\" message.\n console.log(`Content is now available offline!`)\n\n // Post to service worker that install is complete.\n // Delay to allow time for the event listener to be added --\n // otherwise fetch is called too soon and resources aren't cached.\n apiRunner(`onServiceWorkerInstalled`, { serviceWorker: reg })\n }\n break\n\n case `redundant`:\n console.error(`The installing service worker became redundant.`)\n apiRunner(`onServiceWorkerRedundant`, { serviceWorker: reg })\n break\n\n case `activated`:\n apiRunner(`onServiceWorkerActive`, { serviceWorker: reg })\n break\n }\n })\n })\n })\n .catch(function (e) {\n console.error(`Error during service worker registration:`, e)\n })\n}\n","// prefer default export if available\nconst preferDefault = m => (m && m.default) || m\n\nexports.components = {\n \"component---src-pages-404-js\": () => import(\"./../../../src/pages/404.js\" /* webpackChunkName: \"component---src-pages-404-js\" */),\n \"component---src-pages-banner-js\": () => import(\"./../../../src/pages/banner.js\" /* webpackChunkName: \"component---src-pages-banner-js\" */),\n \"component---src-pages-build-better-js\": () => import(\"./../../../src/pages/build-better.js\" /* webpackChunkName: \"component---src-pages-build-better-js\" */),\n \"component---src-pages-classic-home-js\": () => import(\"./../../../src/pages/classic-home.js\" /* webpackChunkName: \"component---src-pages-classic-home-js\" */),\n \"component---src-pages-docs-template-js\": () => import(\"./../../../src/pages/docsTemplate.js\" /* webpackChunkName: \"component---src-pages-docs-template-js\" */),\n \"component---src-pages-home-js\": () => import(\"./../../../src/pages/home.js\" /* webpackChunkName: \"component---src-pages-home-js\" */),\n \"component---src-pages-index-js\": () => import(\"./../../../src/pages/index.js\" /* webpackChunkName: \"component---src-pages-index-js\" */),\n \"component---src-pages-integration-builder-index-tsx\": () => import(\"./../../../src/pages/integration-builder/index.tsx\" /* webpackChunkName: \"component---src-pages-integration-builder-index-tsx\" */),\n \"component---src-pages-integration-builder-sections-build-tsx\": () => import(\"./../../../src/pages/integration-builder/sections/Build.tsx\" /* webpackChunkName: \"component---src-pages-integration-builder-sections-build-tsx\" */),\n \"component---src-pages-integration-builder-sections-card-generator-tsx\": () => import(\"./../../../src/pages/integration-builder/sections/CardGenerator.tsx\" /* webpackChunkName: \"component---src-pages-integration-builder-sections-card-generator-tsx\" */),\n \"component---src-pages-integration-builder-sections-code-tsx\": () => import(\"./../../../src/pages/integration-builder/sections/Code.tsx\" /* webpackChunkName: \"component---src-pages-integration-builder-sections-code-tsx\" */),\n \"component---src-pages-integration-builder-sections-configure-tsx\": () => import(\"./../../../src/pages/integration-builder/sections/Configure.tsx\" /* webpackChunkName: \"component---src-pages-integration-builder-sections-configure-tsx\" */),\n \"component---src-pages-integration-builder-sections-demo-tsx\": () => import(\"./../../../src/pages/integration-builder/sections/Demo.tsx\" /* webpackChunkName: \"component---src-pages-integration-builder-sections-demo-tsx\" */),\n \"component---src-pages-integration-builder-sections-help-modal-tsx\": () => import(\"./../../../src/pages/integration-builder/sections/HelpModal.tsx\" /* webpackChunkName: \"component---src-pages-integration-builder-sections-help-modal-tsx\" */),\n \"component---src-pages-integration-builder-sections-know-before-you-code-tsx\": () => import(\"./../../../src/pages/integration-builder/sections/KnowBeforeYouCode.tsx\" /* webpackChunkName: \"component---src-pages-integration-builder-sections-know-before-you-code-tsx\" */),\n \"component---src-pages-integration-builder-sections-preview-tsx\": () => import(\"./../../../src/pages/integration-builder/sections/Preview.tsx\" /* webpackChunkName: \"component---src-pages-integration-builder-sections-preview-tsx\" */),\n \"component---src-pages-integration-builder-sections-take-live-tsx\": () => import(\"./../../../src/pages/integration-builder/sections/TakeLive.tsx\" /* webpackChunkName: \"component---src-pages-integration-builder-sections-take-live-tsx\" */),\n \"component---src-pages-internal-js\": () => import(\"./../../../src/pages/internal.js\" /* webpackChunkName: \"component---src-pages-internal-js\" */),\n \"component---src-pages-layout-js\": () => import(\"./../../../src/pages/layout.js\" /* webpackChunkName: \"component---src-pages-layout-js\" */),\n \"component---src-pages-signup-js\": () => import(\"./../../../src/pages/signup.js\" /* webpackChunkName: \"component---src-pages-signup-js\" */),\n \"component---src-pages-signupauto-js\": () => import(\"./../../../src/pages/signupauto.js\" /* webpackChunkName: \"component---src-pages-signupauto-js\" */),\n \"component---src-pages-support-js\": () => import(\"./../../../src/pages/support.js\" /* webpackChunkName: \"component---src-pages-support-js\" */),\n \"component---src-pages-thankyou-js\": () => import(\"./../../../src/pages/thankyou.js\" /* webpackChunkName: \"component---src-pages-thankyou-js\" */),\n \"component---src-pages-unsubscribe-js\": () => import(\"./../../../src/pages/unsubscribe.js\" /* webpackChunkName: \"component---src-pages-unsubscribe-js\" */),\n \"component---src-pages-video-collection-tsx\": () => import(\"./../../../src/pages/video/collection.tsx\" /* webpackChunkName: \"component---src-pages-video-collection-tsx\" */),\n \"component---src-pages-video-home-tsx\": () => import(\"./../../../src/pages/video/home.tsx\" /* webpackChunkName: \"component---src-pages-video-home-tsx\" */),\n \"component---src-pages-video-watch-tsx\": () => import(\"./../../../src/pages/video/watch.tsx\" /* webpackChunkName: \"component---src-pages-video-watch-tsx\" */),\n \"component---src-templates-template-layout-js\": () => import(\"./../../../src/templates/TemplateLayout.js\" /* webpackChunkName: \"component---src-templates-template-layout-js\" */)\n}\n\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 = 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}","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}","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","var weakMemoize = function weakMemoize(func) {\n // $FlowFixMe flow doesn't include all non-primitive types as allowed for weakmaps\n var cache = new WeakMap();\n return function (arg) {\n if (cache.has(arg)) {\n // $FlowFixMe\n return cache.get(arg);\n }\n var ret = func(arg);\n cache.set(arg, ret);\n return ret;\n };\n};\nexport { weakMemoize as 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 return self;\n}\nmodule.exports = _assertThisInitialized, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","/**\n *\n * Utility to load the scripts (internal / external) within the component\n */\nconst loadScript = ({ src, nonce = '' }) =>\n new Promise((resolve, reject) => {\n const script = document.createElement('script')\n script.src = src\n if (nonce) {\n script.setAttribute('data-csp-nonce', nonce)\n }\n script.defer = true\n script.addEventListener('load', resolve)\n script.addEventListener('error', reject)\n document.body.appendChild(script)\n })\n\nexport { loadScript }\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar invariant = function(condition, format, a, b, c, d, e, f) {\n if (process.env.NODE_ENV !== 'production') {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n }\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error(\n 'Minified exception occurred; use the non-minified dev environment ' +\n 'for the full error message and additional helpful warnings.'\n );\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(\n format.replace(/%s/g, function() { return args[argIndex++]; })\n );\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n};\n\nmodule.exports = invariant;\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-function-prototype-bind -- safe\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar $Object = Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !$Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) === 'String' ? split(it, '') : $Object(it);\n} : $Object;\n","'use strict';\nvar isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\n// `IsRegExp` abstract operation\n// https://tc39.es/ecma262/#sec-isregexp\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) === 'RegExp');\n};\n","'use strict';\n\nvar matchOperatorsRe = /[|\\\\{}()[\\]^$+*?.]/g;\n\nmodule.exports = function (str) {\n\tif (typeof str !== 'string') {\n\t\tthrow new TypeError('Expected a string');\n\t}\n\n\treturn str.replace(matchOperatorsRe, '\\\\$&');\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw $TypeError(\"Can't convert object to primitive value\");\n};\n","import _inheritsLoose from '@babel/runtime/helpers/esm/inheritsLoose';\nimport _defineProperty from '@babel/runtime/helpers/esm/defineProperty';\nimport React, { PureComponent } from 'react';\nfunction withSideEffect(reducePropsToState, handleStateChangeOnClient) {\n if (process.env.NODE_ENV !== \"production\") {\n if (typeof reducePropsToState !== 'function') {\n throw new Error('Expected reducePropsToState to be a function.');\n }\n if (typeof handleStateChangeOnClient !== 'function') {\n throw new Error('Expected handleStateChangeOnClient to be a function.');\n }\n }\n function getDisplayName(WrappedComponent) {\n return WrappedComponent.displayName || WrappedComponent.name || 'Component';\n }\n return function wrap(WrappedComponent) {\n if (process.env.NODE_ENV !== \"production\") {\n if (typeof WrappedComponent !== 'function') {\n throw new Error('Expected WrappedComponent to be a React component.');\n }\n }\n var mountedInstances = [];\n var state;\n function emitChange() {\n state = reducePropsToState(mountedInstances.map(function (instance) {\n return instance.props;\n }));\n handleStateChangeOnClient(state);\n }\n var SideEffect = /*#__PURE__*/function (_PureComponent) {\n _inheritsLoose(SideEffect, _PureComponent);\n function SideEffect() {\n return _PureComponent.apply(this, arguments) || this;\n }\n\n // Try to use displayName of wrapped component\n SideEffect.peek = function peek() {\n return state;\n };\n var _proto = SideEffect.prototype;\n _proto.componentDidMount = function componentDidMount() {\n mountedInstances.push(this);\n emitChange();\n };\n _proto.componentDidUpdate = function componentDidUpdate() {\n emitChange();\n };\n _proto.componentWillUnmount = function componentWillUnmount() {\n var index = mountedInstances.indexOf(this);\n mountedInstances.splice(index, 1);\n emitChange();\n };\n _proto.render = function render() {\n return /*#__PURE__*/React.createElement(WrappedComponent, this.props);\n };\n return SideEffect;\n }(PureComponent);\n _defineProperty(SideEffect, \"displayName\", \"SideEffect(\" + getDisplayName(WrappedComponent) + \")\");\n return SideEffect;\n };\n}\nexport default withSideEffect;","/*\nIE11 support\n */\nexport var toArray = function (a) {\n var ret = Array(a.length);\n for (var i = 0; i < a.length; ++i) {\n ret[i] = a[i];\n }\n return ret;\n};\nexport var asArray = function (a) {\n return Array.isArray(a) ? a : [a];\n};\nexport var getFirst = function (a) {\n return Array.isArray(a) ? a[0] : a;\n};","import { FOCUS_NO_AUTOFOCUS } from '../constants';\nvar isElementHidden = function (node) {\n // we can measure only \"elements\"\n // consider others as \"visible\"\n if (node.nodeType !== Node.ELEMENT_NODE) {\n return false;\n }\n var computedStyle = window.getComputedStyle(node, null);\n if (!computedStyle || !computedStyle.getPropertyValue) {\n return false;\n }\n return computedStyle.getPropertyValue('display') === 'none' || computedStyle.getPropertyValue('visibility') === 'hidden';\n};\nvar getParentNode = function (node) {\n // DOCUMENT_FRAGMENT_NODE can also point on ShadowRoot. In this case .host will point on the next node\n return node.parentNode && node.parentNode.nodeType === Node.DOCUMENT_FRAGMENT_NODE ?\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n node.parentNode.host : node.parentNode;\n};\nvar isTopNode = function (node) {\n // @ts-ignore\n return node === document || node && node.nodeType === Node.DOCUMENT_NODE;\n};\nvar isVisibleUncached = function (node, checkParent) {\n return !node || isTopNode(node) || !isElementHidden(node) && checkParent(getParentNode(node));\n};\nexport var isVisibleCached = function (visibilityCache, node) {\n var cached = visibilityCache.get(node);\n if (cached !== undefined) {\n return cached;\n }\n var result = isVisibleUncached(node, isVisibleCached.bind(undefined, visibilityCache));\n visibilityCache.set(node, result);\n return result;\n};\nvar isAutoFocusAllowedUncached = function (node, checkParent) {\n return node && !isTopNode(node) ? isAutoFocusAllowed(node) ? checkParent(getParentNode(node)) : false : true;\n};\nexport var isAutoFocusAllowedCached = function (cache, node) {\n var cached = cache.get(node);\n if (cached !== undefined) {\n return cached;\n }\n var result = isAutoFocusAllowedUncached(node, isAutoFocusAllowedCached.bind(undefined, cache));\n cache.set(node, result);\n return result;\n};\nexport var getDataset = function (node) {\n // @ts-ignore\n return node.dataset;\n};\nexport var isHTMLButtonElement = function (node) {\n return node.tagName === 'BUTTON';\n};\nexport var isHTMLInputElement = function (node) {\n return node.tagName === 'INPUT';\n};\nexport var isRadioElement = function (node) {\n return isHTMLInputElement(node) && node.type === 'radio';\n};\nexport var notHiddenInput = function (node) {\n return !((isHTMLInputElement(node) || isHTMLButtonElement(node)) && (node.type === 'hidden' || node.disabled));\n};\nexport var isAutoFocusAllowed = function (node) {\n var attribute = node.getAttribute(FOCUS_NO_AUTOFOCUS);\n return ![true, 'true', ''].includes(attribute);\n};\nexport var isGuard = function (node) {\n var _a;\n return Boolean(node && ((_a = getDataset(node)) === null || _a === void 0 ? void 0 : _a.focusGuard));\n};\nexport var isNotAGuard = function (node) {\n return !isGuard(node);\n};\nexport var isDefined = function (x) {\n return Boolean(x);\n};","import { toArray } from './array';\nexport var tabSort = function (a, b) {\n var tabDiff = a.tabIndex - b.tabIndex;\n var indexDiff = a.index - b.index;\n if (tabDiff) {\n if (!a.tabIndex) {\n return 1;\n }\n if (!b.tabIndex) {\n return -1;\n }\n }\n return tabDiff || indexDiff;\n};\nexport var orderByTabIndex = function (nodes, filterNegative, keepGuards) {\n return toArray(nodes).map(function (node, index) {\n return {\n node: node,\n index: index,\n tabIndex: keepGuards && node.tabIndex === -1 ? (node.dataset || {}).focusGuard ? 0 : -1 : node.tabIndex\n };\n }).filter(function (data) {\n return !filterNegative || data.tabIndex >= 0;\n }).sort(tabSort);\n};","import { FOCUS_AUTO } from '../constants';\nimport { toArray } from './array';\nimport { tabbables } from './tabbables';\nvar queryTabbables = tabbables.join(',');\nvar queryGuardTabbables = \"\".concat(queryTabbables, \", [data-focus-guard]\");\nvar getFocusablesWithShadowDom = function (parent, withGuards) {\n return toArray((parent.shadowRoot || parent).children).reduce(function (acc, child) {\n return acc.concat(child.matches(withGuards ? queryGuardTabbables : queryTabbables) ? [child] : [], getFocusablesWithShadowDom(child));\n }, []);\n};\nvar getFocusablesWithIFrame = function (parent, withGuards) {\n var _a;\n // contentDocument of iframe will be null if current origin cannot access it\n if (parent instanceof HTMLIFrameElement && ((_a = parent.contentDocument) === null || _a === void 0 ? void 0 : _a.body)) {\n return getFocusables([parent.contentDocument.body], withGuards);\n }\n return [parent];\n};\nexport var getFocusables = function (parents, withGuards) {\n return parents.reduce(function (acc, parent) {\n var _a;\n var focusableWithShadowDom = getFocusablesWithShadowDom(parent, withGuards);\n var focusableWithIframes = (_a = []).concat.apply(_a, focusableWithShadowDom.map(function (node) {\n return getFocusablesWithIFrame(node, withGuards);\n }));\n return acc.concat(\n // add all tabbables inside and within shadow DOMs in DOM order\n focusableWithIframes,\n // add if node is tabbable itself\n parent.parentNode ? toArray(parent.parentNode.querySelectorAll(queryTabbables)).filter(function (node) {\n return node === parent;\n }) : []);\n }, []);\n};\n/**\n * return a list of focusable nodes within an area marked as \"auto-focusable\"\n * @param parent\n */\nexport var getParentAutofocusables = function (parent) {\n var parentFocus = parent.querySelectorAll(\"[\".concat(FOCUS_AUTO, \"]\"));\n return toArray(parentFocus).map(function (node) {\n return getFocusables([node]);\n }).reduce(function (acc, nodes) {\n return acc.concat(nodes);\n }, []);\n};","/**\n * list of the object to be considered as focusable\n */\nexport var tabbables = ['button:enabled', 'select:enabled', 'textarea:enabled', 'input:enabled',\n// elements with explicit roles will also use explicit tabindex\n// '[role=\"button\"]',\n'a[href]', 'area[href]', 'summary', 'iframe', 'object', 'embed', 'audio[controls]', 'video[controls]', '[tabindex]', '[contenteditable]', '[autofocus]'];","import { toArray } from './array';\nimport { isAutoFocusAllowedCached, isVisibleCached, notHiddenInput } from './is';\nimport { orderByTabIndex } from './tabOrder';\nimport { getFocusables, getParentAutofocusables } from './tabUtils';\n/**\n * given list of focusable elements keeps the ones user can interact with\n * @param nodes\n * @param visibilityCache\n */\nexport var filterFocusable = function (nodes, visibilityCache) {\n return toArray(nodes).filter(function (node) {\n return isVisibleCached(visibilityCache, node);\n }).filter(function (node) {\n return notHiddenInput(node);\n });\n};\nexport var filterAutoFocusable = function (nodes, cache) {\n if (cache === void 0) {\n cache = new Map();\n }\n return toArray(nodes).filter(function (node) {\n return isAutoFocusAllowedCached(cache, node);\n });\n};\n/**\n * only tabbable ones\n * (but with guards which would be ignored)\n */\nexport var getTabbableNodes = function (topNodes, visibilityCache, withGuards) {\n return orderByTabIndex(filterFocusable(getFocusables(topNodes, withGuards), visibilityCache), true, withGuards);\n};\n/**\n * actually anything \"focusable\", not only tabbable\n * (without guards, as long as they are not expected to be focused)\n */\nexport var getAllTabbableNodes = function (topNodes, visibilityCache) {\n return orderByTabIndex(filterFocusable(getFocusables(topNodes), visibilityCache), false);\n};\n/**\n * return list of nodes which are expected to be auto-focused\n * @param topNode\n * @param visibilityCache\n */\nexport var parentAutofocusables = function (topNode, visibilityCache) {\n return filterFocusable(getParentAutofocusables(topNode), visibilityCache);\n};\n/*\n * Determines if element is contained in scope, including nested shadow DOMs\n */\nexport var contains = function (scope, element) {\n if (scope.shadowRoot) {\n return contains(scope.shadowRoot, element);\n } else {\n if (Object.getPrototypeOf(scope).contains !== undefined && Object.getPrototypeOf(scope).contains.call(scope, element)) {\n return true;\n }\n return toArray(scope.children).some(function (child) {\n var _a;\n if (child instanceof HTMLIFrameElement) {\n var iframeBody = (_a = child.contentDocument) === null || _a === void 0 ? void 0 : _a.body;\n if (iframeBody) {\n return contains(iframeBody, element);\n }\n return false;\n }\n return contains(child, element);\n });\n }\n};","/**\n * returns active element from document or from nested shadowdoms\n */\nimport { safeProbe } from './safe';\nexport var getActiveElement = function (inDocument) {\n if (inDocument === void 0) {\n inDocument = document;\n }\n if (!inDocument || !inDocument.activeElement) {\n return undefined;\n }\n var activeElement = inDocument.activeElement;\n return activeElement.shadowRoot ? getActiveElement(activeElement.shadowRoot) : activeElement instanceof HTMLIFrameElement && safeProbe(function () {\n return activeElement.contentWindow.document;\n }) ? getActiveElement(activeElement.contentWindow.document) : activeElement;\n};","export var safeProbe = function (cb) {\n try {\n return cb();\n } catch (e) {\n return undefined;\n }\n};","import { FOCUS_DISABLED, FOCUS_GROUP } from '../constants';\nimport { asArray, toArray } from './array';\n/**\n * in case of multiple nodes nested inside each other\n * keeps only top ones\n * this is O(nlogn)\n * @param nodes\n * @returns {*}\n */\nvar filterNested = function (nodes) {\n var contained = new Set();\n var l = nodes.length;\n for (var i = 0; i < l; i += 1) {\n for (var j = i + 1; j < l; j += 1) {\n var position = nodes[i].compareDocumentPosition(nodes[j]);\n /* eslint-disable no-bitwise */\n if ((position & Node.DOCUMENT_POSITION_CONTAINED_BY) > 0) {\n contained.add(j);\n }\n if ((position & Node.DOCUMENT_POSITION_CONTAINS) > 0) {\n contained.add(i);\n }\n /* eslint-enable */\n }\n }\n\n return nodes.filter(function (_, index) {\n return !contained.has(index);\n });\n};\n/**\n * finds top most parent for a node\n * @param node\n * @returns {*}\n */\nvar getTopParent = function (node) {\n return node.parentNode ? getTopParent(node.parentNode) : node;\n};\n/**\n * returns all \"focus containers\" inside a given node\n * @param node\n * @returns {T}\n */\nexport var getAllAffectedNodes = function (node) {\n var nodes = asArray(node);\n return nodes.filter(Boolean).reduce(function (acc, currentNode) {\n var group = currentNode.getAttribute(FOCUS_GROUP);\n acc.push.apply(acc, group ? filterNested(toArray(getTopParent(currentNode).querySelectorAll(\"[\".concat(FOCUS_GROUP, \"=\\\"\").concat(group, \"\\\"]:not([\").concat(FOCUS_DISABLED, \"=\\\"disabled\\\"])\")))) : [currentNode]);\n return acc;\n }, []);\n};","import { contains } from './utils/DOMutils';\nimport { getAllAffectedNodes } from './utils/all-affected';\nimport { getFirst, toArray } from './utils/array';\nimport { getActiveElement } from './utils/getActiveElement';\nvar focusInFrame = function (frame, activeElement) {\n return frame === activeElement;\n};\nvar focusInsideIframe = function (topNode, activeElement) {\n return Boolean(toArray(topNode.querySelectorAll('iframe')).some(function (node) {\n return focusInFrame(node, activeElement);\n }));\n};\n/**\n * @returns {Boolean} true, if the current focus is inside given node or nodes\n */\nexport var focusInside = function (topNode, activeElement) {\n // const activeElement = document && getActiveElement();\n if (activeElement === void 0) {\n activeElement = getActiveElement(getFirst(topNode).ownerDocument);\n }\n if (!activeElement || activeElement.dataset && activeElement.dataset.focusGuard) {\n return false;\n }\n return getAllAffectedNodes(topNode).some(function (node) {\n return contains(node, activeElement) || focusInsideIframe(node, activeElement);\n });\n};","import { isRadioElement } from './is';\nvar findSelectedRadio = function (node, nodes) {\n return nodes.filter(isRadioElement).filter(function (el) {\n return el.name === node.name;\n }).filter(function (el) {\n return el.checked;\n })[0] || node;\n};\nexport var correctNode = function (node, nodes) {\n if (isRadioElement(node) && node.name) {\n return findSelectedRadio(node, nodes);\n }\n return node;\n};\n/**\n * giving a set of radio inputs keeps only selected (tabbable) ones\n * @param nodes\n */\nexport var correctNodes = function (nodes) {\n // IE11 has no Set(array) constructor\n var resultSet = new Set();\n nodes.forEach(function (node) {\n return resultSet.add(correctNode(node, nodes));\n });\n // using filter to support IE11\n return nodes.filter(function (node) {\n return resultSet.has(node);\n });\n};","import { correctNode } from './correctFocus';\nexport var pickFirstFocus = function (nodes) {\n if (nodes[0] && nodes.length > 1) {\n return correctNode(nodes[0], nodes);\n }\n return nodes[0];\n};\nexport var pickFocusable = function (nodes, index) {\n if (nodes.length > 1) {\n return nodes.indexOf(correctNode(nodes[index], nodes));\n }\n return index;\n};","import { correctNodes } from './utils/correctFocus';\nimport { pickFocusable } from './utils/firstFocus';\nimport { isGuard } from './utils/is';\nexport var NEW_FOCUS = 'NEW_FOCUS';\n/**\n * Main solver for the \"find next focus\" question\n * @param innerNodes\n * @param outerNodes\n * @param activeElement\n * @param lastNode\n * @returns {number|string|undefined|*}\n */\nexport var newFocus = function (innerNodes, outerNodes, activeElement, lastNode) {\n var cnt = innerNodes.length;\n var firstFocus = innerNodes[0];\n var lastFocus = innerNodes[cnt - 1];\n var isOnGuard = isGuard(activeElement);\n // focus is inside\n if (activeElement && innerNodes.indexOf(activeElement) >= 0) {\n return undefined;\n }\n var activeIndex = activeElement !== undefined ? outerNodes.indexOf(activeElement) : -1;\n var lastIndex = lastNode ? outerNodes.indexOf(lastNode) : activeIndex;\n var lastNodeInside = lastNode ? innerNodes.indexOf(lastNode) : -1;\n var indexDiff = activeIndex - lastIndex;\n var firstNodeIndex = outerNodes.indexOf(firstFocus);\n var lastNodeIndex = outerNodes.indexOf(lastFocus);\n var correctedNodes = correctNodes(outerNodes);\n var correctedIndex = activeElement !== undefined ? correctedNodes.indexOf(activeElement) : -1;\n var correctedIndexDiff = correctedIndex - (lastNode ? correctedNodes.indexOf(lastNode) : activeIndex);\n var returnFirstNode = pickFocusable(innerNodes, 0);\n var returnLastNode = pickFocusable(innerNodes, cnt - 1);\n // new focus\n if (activeIndex === -1 || lastNodeInside === -1) {\n return NEW_FOCUS;\n }\n // old focus\n if (!indexDiff && lastNodeInside >= 0) {\n return lastNodeInside;\n }\n // first element\n if (activeIndex <= firstNodeIndex && isOnGuard && Math.abs(indexDiff) > 1) {\n return returnLastNode;\n }\n // last element\n if (activeIndex >= lastNodeIndex && isOnGuard && Math.abs(indexDiff) > 1) {\n return returnFirstNode;\n }\n // jump out, but not on the guard\n if (indexDiff && Math.abs(correctedIndexDiff) > 1) {\n return lastNodeInside;\n }\n // focus above lock\n if (activeIndex <= firstNodeIndex) {\n return returnLastNode;\n }\n // focus below lock\n if (activeIndex > lastNodeIndex) {\n return returnFirstNode;\n }\n // index is inside tab order, but outside Lock\n if (indexDiff) {\n if (Math.abs(indexDiff) > 1) {\n return lastNodeInside;\n }\n return (cnt + lastNodeInside + indexDiff) % cnt;\n }\n // do nothing\n return undefined;\n};","import { filterAutoFocusable } from './DOMutils';\nimport { pickFirstFocus } from './firstFocus';\nimport { getDataset } from './is';\nvar findAutoFocused = function (autoFocusables) {\n return function (node) {\n var _a;\n var autofocus = (_a = getDataset(node)) === null || _a === void 0 ? void 0 : _a.autofocus;\n return (\n // @ts-expect-error\n node.autofocus ||\n //\n autofocus !== undefined && autofocus !== 'false' ||\n //\n autoFocusables.indexOf(node) >= 0\n );\n };\n};\nexport var pickAutofocus = function (nodesIndexes, orderedNodes, groups) {\n var nodes = nodesIndexes.map(function (_a) {\n var node = _a.node;\n return node;\n });\n var autoFocusable = filterAutoFocusable(nodes.filter(findAutoFocused(groups)));\n if (autoFocusable && autoFocusable.length) {\n return pickFirstFocus(autoFocusable);\n }\n return pickFirstFocus(filterAutoFocusable(orderedNodes));\n};","import { parentAutofocusables } from './DOMutils';\nimport { contains } from './DOMutils';\nimport { asArray } from './array';\nvar getParents = function (node, parents) {\n if (parents === void 0) {\n parents = [];\n }\n parents.push(node);\n if (node.parentNode) {\n getParents(node.parentNode.host || node.parentNode, parents);\n }\n return parents;\n};\n/**\n * finds a parent for both nodeA and nodeB\n * @param nodeA\n * @param nodeB\n * @returns {boolean|*}\n */\nexport var getCommonParent = function (nodeA, nodeB) {\n var parentsA = getParents(nodeA);\n var parentsB = getParents(nodeB);\n // tslint:disable-next-line:prefer-for-of\n for (var i = 0; i < parentsA.length; i += 1) {\n var currentParent = parentsA[i];\n if (parentsB.indexOf(currentParent) >= 0) {\n return currentParent;\n }\n }\n return false;\n};\nexport var getTopCommonParent = function (baseActiveElement, leftEntry, rightEntries) {\n var activeElements = asArray(baseActiveElement);\n var leftEntries = asArray(leftEntry);\n var activeElement = activeElements[0];\n var topCommon = false;\n leftEntries.filter(Boolean).forEach(function (entry) {\n topCommon = getCommonParent(topCommon || entry, entry) || topCommon;\n rightEntries.filter(Boolean).forEach(function (subEntry) {\n var common = getCommonParent(activeElement, subEntry);\n if (common) {\n if (!topCommon || contains(common, topCommon)) {\n topCommon = common;\n } else {\n topCommon = getCommonParent(common, topCommon);\n }\n }\n });\n });\n // TODO: add assert here?\n return topCommon;\n};\n/**\n * return list of nodes which are expected to be autofocused inside a given top nodes\n * @param entries\n * @param visibilityCache\n */\nexport var allParentAutofocusables = function (entries, visibilityCache) {\n return entries.reduce(function (acc, node) {\n return acc.concat(parentAutofocusables(node, visibilityCache));\n }, []);\n};","import { NEW_FOCUS, newFocus } from './solver';\nimport { getAllTabbableNodes, getTabbableNodes } from './utils/DOMutils';\nimport { getAllAffectedNodes } from './utils/all-affected';\nimport { asArray, getFirst } from './utils/array';\nimport { pickAutofocus } from './utils/auto-focus';\nimport { getActiveElement } from './utils/getActiveElement';\nimport { isDefined, isNotAGuard } from './utils/is';\nimport { allParentAutofocusables, getTopCommonParent } from './utils/parenting';\nvar reorderNodes = function (srcNodes, dstNodes) {\n var remap = new Map();\n // no Set(dstNodes) for IE11 :(\n dstNodes.forEach(function (entity) {\n return remap.set(entity.node, entity);\n });\n // remap to dstNodes\n return srcNodes.map(function (node) {\n return remap.get(node);\n }).filter(isDefined);\n};\n/**\n * given top node(s) and the last active element return the element to be focused next\n * @param topNode\n * @param lastNode\n */\nexport var getFocusMerge = function (topNode, lastNode) {\n var activeElement = getActiveElement(asArray(topNode).length > 0 ? document : getFirst(topNode).ownerDocument);\n var entries = getAllAffectedNodes(topNode).filter(isNotAGuard);\n var commonParent = getTopCommonParent(activeElement || topNode, topNode, entries);\n var visibilityCache = new Map();\n var anyFocusable = getAllTabbableNodes(entries, visibilityCache);\n var innerElements = getTabbableNodes(entries, visibilityCache).filter(function (_a) {\n var node = _a.node;\n return isNotAGuard(node);\n });\n if (!innerElements[0]) {\n innerElements = anyFocusable;\n if (!innerElements[0]) {\n return undefined;\n }\n }\n var outerNodes = getAllTabbableNodes([commonParent], visibilityCache).map(function (_a) {\n var node = _a.node;\n return node;\n });\n var orderedInnerElements = reorderNodes(outerNodes, innerElements);\n var innerNodes = orderedInnerElements.map(function (_a) {\n var node = _a.node;\n return node;\n });\n var newId = newFocus(innerNodes, outerNodes, activeElement, lastNode);\n if (newId === NEW_FOCUS) {\n var focusNode = pickAutofocus(anyFocusable, innerNodes, allParentAutofocusables(entries, visibilityCache));\n if (focusNode) {\n return {\n node: focusNode\n };\n } else {\n console.warn('focus-lock: cannot find any node to move focus into');\n return undefined;\n }\n }\n if (newId === undefined) {\n return newId;\n }\n return orderedInnerElements[newId];\n};","import { getFocusMerge } from './focusMerge';\nexport var focusOn = function (target, focusOptions) {\n if ('focus' in target) {\n target.focus(focusOptions);\n }\n if ('contentWindow' in target && target.contentWindow) {\n target.contentWindow.focus();\n }\n};\nvar guardCount = 0;\nvar lockDisabled = false;\n/**\n * Sets focus at a given node. The last focused element will help to determine which element(first or last) should be focused.\n * HTML markers (see {@link import('./constants').FOCUS_AUTO} constants) can control autofocus\n * @param topNode\n * @param lastNode\n * @param options\n */\nexport var setFocus = function (topNode, lastNode, options) {\n if (options === void 0) {\n options = {};\n }\n var focusable = getFocusMerge(topNode, lastNode);\n if (lockDisabled) {\n return;\n }\n if (focusable) {\n if (guardCount > 2) {\n // tslint:disable-next-line:no-console\n console.error('FocusLock: focus-fighting detected. Only one focus management system could be active. ' + 'See https://github.com/theKashey/focus-lock/#focus-fighting');\n lockDisabled = true;\n setTimeout(function () {\n lockDisabled = false;\n }, 1);\n return;\n }\n guardCount++;\n focusOn(focusable.node, options.focusOptions);\n guardCount--;\n }\n};","import * as constants from './constants';\nimport { focusInside } from './focusInside';\nimport { focusIsHidden } from './focusIsHidden';\nimport { getFocusMerge as focusMerge } from './focusMerge';\nimport { getFocusabledIn, getFocusableIn } from './focusables';\nimport { setFocus } from './setFocus';\nimport { focusNextElement, focusPrevElement } from './sibling';\nimport tabHook from './tabHook';\nimport { getAllAffectedNodes } from './utils/all-affected';\nimport { getActiveElement } from './utils/getActiveElement';\nexport { tabHook, focusInside, focusIsHidden, focusMerge, getFocusableIn, getFocusabledIn, constants, getAllAffectedNodes, focusNextElement, focusPrevElement, getActiveElement };\nexport default setFocus;\n//","import { getTabbableNodes } from './utils/DOMutils';\nimport { getAllAffectedNodes } from './utils/all-affected';\nimport { isGuard, isNotAGuard } from './utils/is';\nimport { getTopCommonParent } from './utils/parenting';\n/**\n * return list of focusable elements inside a given top node\n * @deprecated use {@link getFocusableIn}. Yep, there is typo in the function name\n */\nexport var getFocusabledIn = function (topNode) {\n var entries = getAllAffectedNodes(topNode).filter(isNotAGuard);\n var commonParent = getTopCommonParent(topNode, topNode, entries);\n var visibilityCache = new Map();\n var outerNodes = getTabbableNodes([commonParent], visibilityCache, true);\n var innerElements = getTabbableNodes(entries, visibilityCache).filter(function (_a) {\n var node = _a.node;\n return isNotAGuard(node);\n }).map(function (_a) {\n var node = _a.node;\n return node;\n });\n return outerNodes.map(function (_a) {\n var node = _a.node,\n index = _a.index;\n return {\n node: node,\n index: index,\n lockItem: innerElements.indexOf(node) >= 0,\n guard: isGuard(node)\n };\n });\n};\n/**\n * return list of focusable elements inside a given top node\n */\nexport var getFocusableIn = getFocusabledIn;","/* eslint-disable no-mixed-operators */\nimport * as React from 'react';\nimport withSideEffect from 'react-clientside-effect';\nimport moveFocusInside, { focusInside, focusIsHidden, getFocusabledIn } from 'focus-lock';\nimport { deferAction } from './util';\nimport { mediumFocus, mediumBlur, mediumEffect } from './medium';\nvar focusOnBody = function focusOnBody() {\n return document && document.activeElement === document.body;\n};\nvar isFreeFocus = function isFreeFocus() {\n return focusOnBody() || focusIsHidden();\n};\nvar lastActiveTrap = null;\nvar lastActiveFocus = null;\nvar lastPortaledElement = null;\nvar focusWasOutsideWindow = false;\nvar defaultWhitelist = function defaultWhitelist() {\n return true;\n};\nvar focusWhitelisted = function focusWhitelisted(activeElement) {\n return (lastActiveTrap.whiteList || defaultWhitelist)(activeElement);\n};\nvar recordPortal = function recordPortal(observerNode, portaledElement) {\n lastPortaledElement = {\n observerNode: observerNode,\n portaledElement: portaledElement\n };\n};\nvar focusIsPortaledPair = function focusIsPortaledPair(element) {\n return lastPortaledElement && lastPortaledElement.portaledElement === element;\n};\nfunction autoGuard(startIndex, end, step, allNodes) {\n var lastGuard = null;\n var i = startIndex;\n do {\n var item = allNodes[i];\n if (item.guard) {\n if (item.node.dataset.focusAutoGuard) {\n lastGuard = item;\n }\n } else if (item.lockItem) {\n if (i !== startIndex) {\n // we will tab to the next element\n return;\n }\n lastGuard = null;\n } else {\n break;\n }\n } while ((i += step) !== end);\n if (lastGuard) {\n lastGuard.node.tabIndex = 0;\n }\n}\nvar extractRef = function extractRef(ref) {\n return ref && 'current' in ref ? ref.current : ref;\n};\nvar focusWasOutside = function focusWasOutside(crossFrameOption) {\n if (crossFrameOption) {\n // with cross frame return true for any value\n return Boolean(focusWasOutsideWindow);\n } // in other case return only of focus went a while aho\n\n return focusWasOutsideWindow === 'meanwhile';\n};\nvar checkInHost = function checkInHost(check, el, boundary) {\n return el && (\n // find host equal to active element and check nested active element\n el.host === check && (!el.activeElement || boundary.contains(el.activeElement)) // dive up\n || el.parentNode && checkInHost(check, el.parentNode, boundary));\n};\nvar withinHost = function withinHost(activeElement, workingArea) {\n return workingArea.some(function (area) {\n return checkInHost(activeElement, area, area);\n });\n};\nvar activateTrap = function activateTrap() {\n var result = false;\n if (lastActiveTrap) {\n var _lastActiveTrap = lastActiveTrap,\n observed = _lastActiveTrap.observed,\n persistentFocus = _lastActiveTrap.persistentFocus,\n autoFocus = _lastActiveTrap.autoFocus,\n shards = _lastActiveTrap.shards,\n crossFrame = _lastActiveTrap.crossFrame,\n focusOptions = _lastActiveTrap.focusOptions;\n var workingNode = observed || lastPortaledElement && lastPortaledElement.portaledElement;\n var activeElement = document && document.activeElement;\n if (workingNode) {\n var workingArea = [workingNode].concat(shards.map(extractRef).filter(Boolean));\n if (!activeElement || focusWhitelisted(activeElement)) {\n if (persistentFocus || focusWasOutside(crossFrame) || !isFreeFocus() || !lastActiveFocus && autoFocus) {\n if (workingNode && !(\n // active element is \"inside\" working area\n focusInside(workingArea) ||\n // check for shadow-dom contained elements\n activeElement && withinHost(activeElement, workingArea) || focusIsPortaledPair(activeElement, workingNode))) {\n if (document && !lastActiveFocus && activeElement && !autoFocus) {\n // Check if blur() exists, which is missing on certain elements on IE\n if (activeElement.blur) {\n activeElement.blur();\n }\n document.body.focus();\n } else {\n result = moveFocusInside(workingArea, lastActiveFocus, {\n focusOptions: focusOptions\n });\n lastPortaledElement = {};\n }\n }\n focusWasOutsideWindow = false;\n lastActiveFocus = document && document.activeElement;\n }\n }\n if (document) {\n var newActiveElement = document && document.activeElement;\n var allNodes = getFocusabledIn(workingArea);\n var focusedIndex = allNodes.map(function (_ref) {\n var node = _ref.node;\n return node;\n }).indexOf(newActiveElement);\n if (focusedIndex > -1) {\n // remove old focus\n allNodes.filter(function (_ref2) {\n var guard = _ref2.guard,\n node = _ref2.node;\n return guard && node.dataset.focusAutoGuard;\n }).forEach(function (_ref3) {\n var node = _ref3.node;\n return node.removeAttribute('tabIndex');\n });\n autoGuard(focusedIndex, allNodes.length, +1, allNodes);\n autoGuard(focusedIndex, -1, -1, allNodes);\n }\n }\n }\n }\n return result;\n};\nvar onTrap = function onTrap(event) {\n if (activateTrap() && event) {\n // prevent scroll jump\n event.stopPropagation();\n event.preventDefault();\n }\n};\nvar onBlur = function onBlur() {\n return deferAction(activateTrap);\n};\nvar onFocus = function onFocus(event) {\n // detect portal\n var source = event.target;\n var currentNode = event.currentTarget;\n if (!currentNode.contains(source)) {\n recordPortal(currentNode, source);\n }\n};\nvar FocusWatcher = function FocusWatcher() {\n return null;\n};\nvar FocusTrap = function FocusTrap(_ref4) {\n var children = _ref4.children;\n return /*#__PURE__*/React.createElement(\"div\", {\n onBlur: onBlur,\n onFocus: onFocus\n }, children);\n};\nvar onWindowBlur = function onWindowBlur() {\n focusWasOutsideWindow = 'just'; // using setTimeout to set this variable after React/sidecar reaction\n\n deferAction(function () {\n focusWasOutsideWindow = 'meanwhile';\n });\n};\nvar attachHandler = function attachHandler() {\n document.addEventListener('focusin', onTrap);\n document.addEventListener('focusout', onBlur);\n window.addEventListener('blur', onWindowBlur);\n};\nvar detachHandler = function detachHandler() {\n document.removeEventListener('focusin', onTrap);\n document.removeEventListener('focusout', onBlur);\n window.removeEventListener('blur', onWindowBlur);\n};\nfunction reducePropsToState(propsList) {\n return propsList.filter(function (_ref5) {\n var disabled = _ref5.disabled;\n return !disabled;\n });\n}\nfunction handleStateChangeOnClient(traps) {\n var trap = traps.slice(-1)[0];\n if (trap && !lastActiveTrap) {\n attachHandler();\n }\n var lastTrap = lastActiveTrap;\n var sameTrap = lastTrap && trap && trap.id === lastTrap.id;\n lastActiveTrap = trap;\n if (lastTrap && !sameTrap) {\n lastTrap.onDeactivation(); // return focus only of last trap was removed\n\n if (!traps.filter(function (_ref6) {\n var id = _ref6.id;\n return id === lastTrap.id;\n }).length) {\n // allow defer is no other trap is awaiting restore\n lastTrap.returnFocus(!trap);\n }\n }\n if (trap) {\n lastActiveFocus = null;\n if (!sameTrap || lastTrap.observed !== trap.observed) {\n trap.onActivation();\n }\n activateTrap(true);\n deferAction(activateTrap);\n } else {\n detachHandler();\n lastActiveFocus = null;\n }\n} // bind medium\n\nmediumFocus.assignSyncMedium(onFocus);\nmediumBlur.assignMedium(onBlur);\nmediumEffect.assignMedium(function (cb) {\n return cb({\n moveFocusInside: moveFocusInside,\n focusInside: focusInside\n });\n});\nexport default withSideEffect(reducePropsToState, handleStateChangeOnClient)(FocusWatcher);","import { FOCUS_ALLOW } from './constants';\nimport { contains } from './utils/DOMutils';\nimport { toArray } from './utils/array';\nimport { getActiveElement } from './utils/getActiveElement';\n/**\n * focus is hidden FROM the focus-lock\n * ie contained inside a node focus-lock shall ignore\n * @returns {boolean} focus is currently is in \"allow\" area\n */\nexport var focusIsHidden = function (inDocument) {\n if (inDocument === void 0) {\n inDocument = document;\n }\n var activeElement = getActiveElement(inDocument);\n if (!activeElement) {\n return false;\n }\n // this does not support setting FOCUS_ALLOW within shadow dom\n return toArray(inDocument.querySelectorAll(\"[\".concat(FOCUS_ALLOW, \"]\"))).some(function (node) {\n return contains(node, activeElement);\n });\n};","function _setPrototypeOf(o, p) {\n module.exports = _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _setPrototypeOf(o, p);\n}\nmodule.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = lengthOfArrayLike(O);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el !== el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value !== value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","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}","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","import _taggedTemplateLiteral from '@babel/runtime/helpers/esm/taggedTemplateLiteral';\nimport { css, useTheme, jsx } from '@emotion/react';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';\nimport { useMemo } from 'react';\nimport _typeof from '@babel/runtime/helpers/esm/typeof';\nvar _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17, _templateObject18, _templateObject19, _templateObject20, _templateObject21, _templateObject22, _templateObject23, _templateObject24, _templateObject25, _templateObject26, _templateObject27, _templateObject28, _templateObject29, _templateObject30, _templateObject31, _templateObject32, _templateObject33, _templateObject34, _templateObject35, _templateObject36, _templateObject37, _templateObject38, _templateObject39, _templateObject40, _templateObject41, _templateObject42, _templateObject43, _templateObject44, _templateObject45, _templateObject46, _templateObject47, _templateObject48, _templateObject49, _templateObject50, _templateObject51, _templateObject52;\nfunction styles(tokens) {\n /* istanbul ignore next */\n if (!Object.keys(tokens).length) {\n console.warn('Missing Emotion theme. Use ThemeProvider from @emotion/react to pass a valid theme from pp-react.');\n return {};\n }\n var sysSpaceSm = tokens.sysSpaceSm,\n sysSpaceMd = tokens.sysSpaceMd,\n sysSpaceXl = tokens.sysSpaceXl,\n sysSpaceJumbo = tokens.sysSpaceJumbo,\n sysSizeMediaSm = tokens.sysSizeMediaSm,\n sysSizeMediaMd = tokens.sysSizeMediaMd,\n sysSizeMediaLg = tokens.sysSizeMediaLg,\n sysSizeMediaXl = tokens.sysSizeMediaXl,\n sysSizeMediaXxl = tokens.sysSizeMediaXxl;\n var vxContainerPaddingMD = '2.25rem';\n var sysSpaceXl4 = '3rem';\n var breakpointMap = {\n sm: sysSizeMediaSm,\n md: sysSizeMediaMd,\n lg: sysSizeMediaLg,\n xl: sysSizeMediaXl,\n xxl: sysSizeMediaXxl\n };\n var commonColumn = css(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n position: relative;\\n width: 100%;\\n min-height: 1px;\\n padding-right: \", \";\\n padding-left: \", \";\\n \"])), sysSpaceMd, sysSpaceMd);\n var commonColumnForm = function () {\n return css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral([\"\\n padding-top: \", \";\\n padding-bottom: \", \";\\n \"])), sysSpaceSm, sysSpaceSm);\n };\n var colGridCalculator = function (n, breakpoint) {\n var space = n / 12 * 100;\n var labelStr = \"col\".concat(breakpoint ? '_' + breakpoint : '', \"_\").concat(n);\n return css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral([\"\\n label: \", \";\\n -ms-flex: 0 0 \", \"%;\\n flex: 0 0 \", \"%;\\n max-width: \", \"%;\\n \"])), labelStr, space, space, space);\n };\n /* istanbul ignore next */\n\n var colGridBreakpoint = function (n) {\n var breakpoint = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'sm';\n return css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral([\"\\n \", \";\\n @media (min-width: \", \") {\\n \", \"\\n }\\n \"])), commonColumn, breakpointMap[breakpoint], colGridCalculator(n, breakpoint));\n };\n /* istanbul ignore next */\n\n var order = function (num, breakpoint) {\n var labelStr = \"order\".concat(breakpoint ? '_' + breakpoint : '', \"_\").concat(num);\n return css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral([\"\\n label: \", \";\\n -ms-flex-order: \", \";\\n order: \", \";\\n \"])), labelStr, num, num);\n };\n /* istanbul ignore next */\n\n var orderBreakpoint = function (n) {\n var breakpoint = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'sm';\n return css(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral([\"\\n @media (min-width: \", \") {\\n \", \"\\n }\\n \"])), breakpointMap[breakpoint], order(n, breakpoint));\n };\n var offset = function (num, breakpoint) {\n var labelStr = \"offset\".concat(breakpoint ? '_' + breakpoint : '', \"_\").concat(num);\n return css(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral([\"\\n label: \", \";\\n margin-left: \", \"%;\\n \"])), labelStr, num / 12 * 100);\n };\n /* istanbul ignore next */\n\n var offsetBreakpoint = function (n) {\n var breakpoint = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'sm';\n return css(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral([\"\\n @media (min-width: \", \") {\\n \", \";\\n }\\n \"])), breakpointMap[breakpoint], offset(n, breakpoint));\n };\n /* istanbul ignore next */\n\n /* istanbul ignore next */\n var dynamicCol = function (breakpoint, n) {\n if (breakpoint && n) {\n return colGridBreakpoint(n, breakpoint);\n } else if (n && (breakpoint === undefined || breakpoint === '')) {\n return css(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral([\"\\n \", \";\\n \", \"\\n \"])), commonColumn, colGridCalculator(n));\n }\n return '';\n };\n /* istanbul ignore next */\n\n var display = function (_display, breakpoint) {\n var labelStr = \"display\".concat(breakpoint ? '_' + breakpoint : '', \"_\").concat(_display);\n return css(_templateObject10 || (_templateObject10 = _taggedTemplateLiteral([\"\\n label: \", \";\\n display: \", \";\\n \"])), labelStr, _display);\n };\n var displayBreakpoint = function (breakpoint, _display) {\n return css(_templateObject11 || (_templateObject11 = _taggedTemplateLiteral([\"\\n @media (min-width: \", \") {\\n \", \"\\n }\\n \"])), breakpointMap[breakpoint], display(_display, breakpoint));\n };\n var container = css(_templateObject12 || (_templateObject12 = _taggedTemplateLiteral([\"\\n label: grid_container;\\n width: 100%;\\n padding-right: \", \";\\n padding-left: \", \";\\n margin-right: auto;\\n margin-left: auto;\\n\\n @media (min-width: \", \") {\\n padding-right: \", \";\\n padding-left: \", \";\\n max-width: \", \";\\n }\\n\\n @media (min-width: \", \") {\\n padding-right: \", \";\\n padding-left: \", \";\\n max-width: \", \";\\n }\\n\\n @media (min-width: \", \") {\\n padding-right: \", \";\\n padding-left: \", \";\\n max-width: \", \";\\n }\\n\\n @media (min-width: \", \") {\\n padding-right: \", \";\\n padding-left: \", \";\\n max-width: \", \";\\n }\\n \"])), sysSpaceMd, sysSpaceMd, sysSizeMediaSm, sysSpaceXl, sysSpaceXl, sysSizeMediaSm, sysSizeMediaMd, vxContainerPaddingMD, vxContainerPaddingMD, sysSizeMediaMd, sysSizeMediaLg, vxContainerPaddingMD, vxContainerPaddingMD, sysSizeMediaLg, sysSizeMediaXl, vxContainerPaddingMD, vxContainerPaddingMD, sysSizeMediaXl);\n var layoutContainer = css(_templateObject13 || (_templateObject13 = _taggedTemplateLiteral([\"\\n label: layout_container;\\n width: 100%;\\n padding-right: \", \";\\n padding-left: \", \";\\n margin-right: auto;\\n margin-left: auto;\\n max-width: \", \";\\n\\n @media (min-width: \", \") {\\n padding-right: \", \";\\n padding-left: \", \";\\n max-width: \", \";\\n }\\n\\n @media (min-width: \", \") {\\n padding-right: \", \";\\n padding-left: \", \";\\n max-width: \", \";\\n }\\n \"])), vxContainerPaddingMD, vxContainerPaddingMD, sysSizeMediaXxl, sysSizeMediaMd, sysSpaceJumbo, sysSpaceJumbo, sysSizeMediaXxl, sysSizeMediaXxl, sysSpaceXl4, sysSpaceXl4, sysSizeMediaXxl);\n var row = css(_templateObject14 || (_templateObject14 = _taggedTemplateLiteral([\"\\n label: row;\\n display: -ms-flexbox;\\n display: flex;\\n -ms-flex-wrap: wrap;\\n flex-wrap: wrap;\\n margin-right: -\", \";\\n margin-left: -\", \";\\n \"])), sysSpaceMd, sysSpaceMd);\n var containerForm = css(_templateObject15 || (_templateObject15 = _taggedTemplateLiteral([\"\\n label: container_form;\\n width: 100%;\\n padding-right: 0;\\n padding-left: 0;\\n margin-right: auto;\\n margin-left: auto;\\n \"])));\n var containerFluid = css(_templateObject16 || (_templateObject16 = _taggedTemplateLiteral([\"\\n label: container_fluid;\\n width: 100%;\\n padding-right: \", \";\\n padding-left: \", \";\\n margin-right: auto;\\n margin-left: auto;\\n \"])), sysSpaceMd, sysSpaceMd);\n var noGutter = css(_templateObject17 || (_templateObject17 = _taggedTemplateLiteral([\"\\n label: no_gutter;\\n margin-right: 0;\\n margin-left: 0;\\n\\n > [class*='-col-'],\\n > [class*='-col'] {\\n padding-right: 0;\\n padding-left: 0;\\n }\\n \"])));\n var col = css(_templateObject18 || (_templateObject18 = _taggedTemplateLiteral([\"\\n label: col;\\n \", \";\\n -ms-flex-preferred-size: 0;\\n flex-basis: 0;\\n -ms-flex-positive: 1;\\n flex-grow: 1;\\n max-width: 100%;\\n \"])), commonColumn);\n var colAuto = css(_templateObject19 || (_templateObject19 = _taggedTemplateLiteral([\"\\n label: col_auto;\\n \", \";\\n -ms-flex: 0 0 auto;\\n flex: 0 0 auto;\\n width: auto;\\n max-width: none;\\n \"])), commonColumn);\n var colFormVspace = css(_templateObject20 || (_templateObject20 = _taggedTemplateLiteral([\"\\n label: col_form_vspace;\\n \", \"\\n \"])), commonColumnForm());\n var colFormFull = css(_templateObject21 || (_templateObject21 = _taggedTemplateLiteral([\"\\n label: col_form_full;\\n \", \";\\n \", \"\\n @media (min-width: \", \") {\\n -ms-flex: 0 0 100%;\\n flex: 0 0 100%;\\n max-width: 100%;\\n }\\n \"])), commonColumn, commonColumnForm(), sysSizeMediaSm);\n var colFormHalf = css(_templateObject22 || (_templateObject22 = _taggedTemplateLiteral([\"\\n label: col_form_half;\\n \", \";\\n \", \"\\n @media (min-width: \", \") {\\n -ms-flex: 0 0 50%;\\n flex: 0 0 50%;\\n max-width: 50%;\\n }\\n \"])), commonColumn, commonColumnForm(), sysSizeMediaSm);\n var colForm3qtr = css(_templateObject23 || (_templateObject23 = _taggedTemplateLiteral([\"\\n label: col_form_3_qtr;\\n \", \";\\n \", \"\\n @media (min-width: \", \") {\\n -ms-flex: 0 0 75%;\\n flex: 0 0 75%;\\n max-width: 75%;\\n }\\n \"])), commonColumn, commonColumnForm(), sysSizeMediaSm);\n var colForm1qtr = css(_templateObject24 || (_templateObject24 = _taggedTemplateLiteral([\"\\n label: col_form_1_qtr;\\n \", \";\\n \", \"\\n @media (min-width: \", \") {\\n -ms-flex: 0 0 25%;\\n flex: 0 0 25%;\\n max-width: 25%;\\n }\\n \"])), commonColumn, commonColumnForm(), sysSizeMediaSm);\n var colFormAuto = css(_templateObject25 || (_templateObject25 = _taggedTemplateLiteral([\"\\n label: col_form_auto;\\n \", \";\\n \", \"\\n -ms-flex: 0 0 auto;\\n flex: 0 0 auto;\\n width: auto;\\n max-width: none;\\n \"])), commonColumn, commonColumnForm());\n var orderFirst = css(_templateObject26 || (_templateObject26 = _taggedTemplateLiteral([\"\\n label: order_first;\\n -ms-flex-order: -1;\\n order: -1;\\n \"])));\n var orderLast = css(_templateObject27 || (_templateObject27 = _taggedTemplateLiteral([\"\\n label: order_last;\\n -ms-flex-order: 13;\\n order: 13;\\n \"])));\n var colSm = css(_templateObject28 || (_templateObject28 = _taggedTemplateLiteral([\"\\n label: col_sm;\\n \", \";\\n @media (min-width: \", \") {\\n -ms-flex-preferred-size: 0;\\n flex-basis: 0;\\n -ms-flex-positive: 1;\\n flex-grow: 1;\\n max-width: 100%;\\n }\\n \"])), commonColumn, sysSizeMediaSm);\n var colSmAuto = css(_templateObject29 || (_templateObject29 = _taggedTemplateLiteral([\"\\n label: col_sm_auto;\\n \", \";\\n @media (min-width: \", \") {\\n -ms-flex: 0 0 auto;\\n flex: 0 0 auto;\\n width: auto;\\n max-width: none;\\n }\\n \"])), commonColumn, sysSizeMediaSm);\n var colMd = css(_templateObject30 || (_templateObject30 = _taggedTemplateLiteral([\"\\n label: col_md;\\n @media (min-width: \", \") {\\n \", \";\\n -ms-flex-preferred-size: 0;\\n flex-basis: 0;\\n -ms-flex-positive: 1;\\n flex-grow: 1;\\n max-width: 100%;\\n }\\n \"])), sysSizeMediaMd, commonColumn);\n var colMdAuto = css(_templateObject31 || (_templateObject31 = _taggedTemplateLiteral([\"\\n label: col_md_auto;\\n \", \";\\n @media (min-width: \", \") {\\n -ms-flex: 0 0 auto;\\n flex: 0 0 auto;\\n width: auto;\\n max-width: none;\\n }\\n \"])), commonColumn, sysSizeMediaMd);\n var colLg = css(_templateObject32 || (_templateObject32 = _taggedTemplateLiteral([\"\\n label: col_lg;\\n \", \";\\n @media (min-width: \", \") {\\n -ms-flex-preferred-size: 0;\\n flex-basis: 0;\\n -ms-flex-positive: 1;\\n flex-grow: 1;\\n max-width: 100%;\\n }\\n \"])), commonColumn, sysSizeMediaLg);\n var colLgAuto = css(_templateObject33 || (_templateObject33 = _taggedTemplateLiteral([\"\\n label: col_lg_auto;\\n \", \";\\n @media (min-width: \", \") {\\n -ms-flex: 0 0 auto;\\n flex: 0 0 auto;\\n width: auto;\\n max-width: none;\\n }\\n \"])), commonColumn, sysSizeMediaLg);\n var colXl = css(_templateObject34 || (_templateObject34 = _taggedTemplateLiteral([\"\\n label: col_xl;\\n \", \";\\n @media (min-width: \", \") {\\n -ms-flex-preferred-size: 0;\\n flex-basis: 0;\\n -ms-flex-positive: 1;\\n flex-grow: 1;\\n max-width: 100%;\\n }\\n \"])), commonColumn, sysSizeMediaXl);\n var colXlAuto = css(_templateObject35 || (_templateObject35 = _taggedTemplateLiteral([\"\\n label: col_xl_auto;\\n \", \";\\n @media (min-width: \", \") {\\n -ms-flex: 0 0 auto;\\n flex: 0 0 auto;\\n width: auto;\\n max-width: none;\\n }\\n \"])), commonColumn, sysSizeMediaXl);\n var colXxl = css(_templateObject36 || (_templateObject36 = _taggedTemplateLiteral([\"\\n label: col_xxl;\\n \", \";\\n @media (min-width: \", \") {\\n -ms-flex-preferred-size: 0;\\n flex-basis: 0;\\n -ms-flex-positive: 1;\\n flex-grow: 1;\\n max-width: 100%;\\n }\\n \"])), commonColumn, sysSizeMediaXxl);\n var colXxlAuto = css(_templateObject37 || (_templateObject37 = _taggedTemplateLiteral([\"\\n label: col_xxl_auto;\\n \", \";\\n @media (min-width: \", \") {\\n -ms-flex: 0 0 auto;\\n flex: 0 0 auto;\\n width: auto;\\n max-width: none;\\n }\\n \"])), commonColumn, sysSizeMediaXxl);\n var orderSmFirst = css(_templateObject38 || (_templateObject38 = _taggedTemplateLiteral([\"\\n label: order_sm_first;\\n @media (min-width: \", \") {\\n -ms-flex-order: -1;\\n order: -1;\\n }\\n \"])), sysSizeMediaSm);\n var orderSmLast = css(_templateObject39 || (_templateObject39 = _taggedTemplateLiteral([\"\\n label: order_sm_last;\\n @media (min-width: \", \") {\\n -ms-flex-order: 13;\\n order: 13;\\n }\\n \"])), sysSizeMediaSm);\n var orderMdFirst = css(_templateObject40 || (_templateObject40 = _taggedTemplateLiteral([\"\\n label: order_md_first;\\n @media (min-width: \", \") {\\n -ms-flex-order: -1;\\n order: -1;\\n }\\n \"])), sysSizeMediaMd);\n var orderMdLast = css(_templateObject41 || (_templateObject41 = _taggedTemplateLiteral([\"\\n label: order_md_last;\\n @media (min-width: \", \") {\\n -ms-flex-order: 13;\\n order: 13;\\n }\\n \"])), sysSizeMediaMd);\n var orderLgFirst = css(_templateObject42 || (_templateObject42 = _taggedTemplateLiteral([\"\\n label: order_lg_first;\\n @media (min-width: \", \") {\\n -ms-flex-order: -1;\\n order: -1;\\n }\\n \"])), sysSizeMediaLg);\n var orderLgLast = css(_templateObject43 || (_templateObject43 = _taggedTemplateLiteral([\"\\n label: order_lg_last;\\n @media (min-width: \", \") {\\n -ms-flex-order: 13;\\n order: 13;\\n }\\n \"])), sysSizeMediaLg);\n var orderXlFirst = css(_templateObject44 || (_templateObject44 = _taggedTemplateLiteral([\"\\n label: order_xl_first;\\n @media (min-width: \", \") {\\n -ms-flex-order: -1;\\n order: -1;\\n }\\n \"])), sysSizeMediaXl);\n var orderXlLast = css(_templateObject45 || (_templateObject45 = _taggedTemplateLiteral([\"\\n label: order_xl_last;\\n @media (min-width: \", \") {\\n -ms-flex-order: 13;\\n order: 13;\\n }\\n \"])), sysSizeMediaXl);\n var orderXxlFirst = css(_templateObject46 || (_templateObject46 = _taggedTemplateLiteral([\"\\n label: order_xxl_first;\\n @media (min-width: \", \") {\\n -ms-flex-order: -1;\\n order: -1;\\n }\\n \"])), sysSizeMediaXxl);\n var orderXxlLast = css(_templateObject47 || (_templateObject47 = _taggedTemplateLiteral([\"\\n label: order_xxl_last;\\n @media (min-width: \", \") {\\n -ms-flex-order: 13;\\n order: 13;\\n }\\n \"])), sysSizeMediaXxl);\n var justifyContentStart = css(_templateObject48 || (_templateObject48 = _taggedTemplateLiteral([\"\\n label: justify_content_start;\\n -ms-flex-pack: start !important;\\n justify-content: flex-start !important;\\n \"])));\n var justifyContentEnd = css(_templateObject49 || (_templateObject49 = _taggedTemplateLiteral([\"\\n label: justify_content_end;\\n -ms-flex-pack: end !important;\\n justify-content: flex-end !important;\\n \"])));\n var justifyContentCenter = css(_templateObject50 || (_templateObject50 = _taggedTemplateLiteral([\"\\n label: justify_content_center;\\n -ms-flex-pack: center !important;\\n justify-content: center !important;\\n \"])));\n var justifyContentBetween = css(_templateObject51 || (_templateObject51 = _taggedTemplateLiteral([\"\\n label: justify_content_between;\\n -ms-flex-pack: justify !important;\\n justify-content: space-between !important;\\n \"])));\n var justifyContentAround = css(_templateObject52 || (_templateObject52 = _taggedTemplateLiteral([\"\\n label: justify_content_around;\\n -ms-flex-pack: distribute !important;\\n justify-content: space-around !important;\\n \"])));\n return {\n firstLtrUprCase: function firstLtrUprCase(str) {\n return str && typeof str === 'string' ? str.charAt(0).toUpperCase() + str.slice(1) : str;\n },\n container: container,\n layoutContainer: layoutContainer,\n row: row,\n containerForm: containerForm,\n containerFluid: containerFluid,\n noGutter: noGutter,\n commonColumn: commonColumn,\n col: col,\n colAuto: colAuto,\n colFormVspace: colFormVspace,\n colFormFull: colFormFull,\n colFormHalf: colFormHalf,\n colForm3qtr: colForm3qtr,\n colForm1qtr: colForm1qtr,\n colFormAuto: colFormAuto,\n dynamicCol: dynamicCol,\n dynamicOrder: function dynamicOrder(breakpoint, n) {\n if (breakpoint && n) {\n return orderBreakpoint(n, breakpoint);\n }\n return order(n);\n },\n dynamicOffset: function dynamicOffset(breakpoint, n) {\n if (breakpoint && n) {\n return offsetBreakpoint(n, breakpoint);\n }\n return offset(n);\n },\n dynamicDisplay: function dynamicDisplay(breakpoint, _display) {\n if (breakpoint && _display) return displayBreakpoint(breakpoint, _display);\n return display(_display);\n },\n orderFirst: orderFirst,\n orderLast: orderLast,\n colSm: colSm,\n colSmAuto: colSmAuto,\n colMd: colMd,\n colMdAuto: colMdAuto,\n colLg: colLg,\n colLgAuto: colLgAuto,\n colXl: colXl,\n colXlAuto: colXlAuto,\n colXxl: colXxl,\n colXxlAuto: colXxlAuto,\n orderSmFirst: orderSmFirst,\n orderSmLast: orderSmLast,\n orderMdFirst: orderMdFirst,\n orderMdLast: orderMdLast,\n orderLgFirst: orderLgFirst,\n orderLgLast: orderLgLast,\n orderXlFirst: orderXlFirst,\n orderXlLast: orderXlLast,\n orderXxlFirst: orderXxlFirst,\n orderXxlLast: orderXxlLast,\n justifyContentStart: justifyContentStart,\n justifyContentEnd: justifyContentEnd,\n justifyContentCenter: justifyContentCenter,\n justifyContentBetween: justifyContentBetween,\n justifyContentAround: justifyContentAround\n };\n}\nvar _excluded = [\"as\", \"fluid\", \"form\", \"xxl\", \"className\"];\nvar getClass = function (fluid, form, xxl, _styles) {\n if (form) {\n return _styles.containerForm;\n }\n if (fluid) {\n return _styles.containerFluid;\n }\n if (xxl) {\n return _styles.layoutContainer;\n }\n return _styles.container;\n};\nvar Container = function (_ref) {\n var _ref$as = _ref.as,\n as = _ref$as === void 0 ? 'div' : _ref$as,\n _ref$fluid = _ref.fluid,\n fluid = _ref$fluid === void 0 ? false : _ref$fluid,\n _ref$form = _ref.form,\n form = _ref$form === void 0 ? false : _ref$form,\n _ref$xxl = _ref.xxl,\n xxl = _ref$xxl === void 0 ? false : _ref$xxl,\n className = _ref.className,\n props = _objectWithoutProperties(_ref, _excluded);\n var tokens = useTheme();\n var _styles = useMemo(function () {\n return styles(tokens);\n }, [tokens]);\n return jsx(as, _extends({\n css: getClass(fluid, form, xxl, _styles),\n className: className,\n \"data-ppui-info\": \"grid_3.2.9\"\n }, props));\n};\nvar _excluded$1 = [\"as\", \"className\", \"form\"];\nvar sizes = ['xs', 'sm', 'md', 'lg', 'xl', 'xxl'];\nvar vxColClass = 'col';\nvar columnClasses = function (form, props, _styles) {\n var spans = [];\n var classes = [];\n if (form) {\n var _styles$firstLtrUprCa;\n var formUprCase = (_styles$firstLtrUprCa = _styles.firstLtrUprCase) === null || _styles$firstLtrUprCa === void 0 ? void 0 : _styles$firstLtrUprCa.call(_styles, form);\n classes.push(_styles[\"colForm\".concat(formUprCase)]);\n } // Iterate through breakpoint sizes, generate classes for configured breakpoints\n\n sizes.forEach(function (breakpoint) {\n var propValue = props[breakpoint];\n delete props[breakpoint];\n var span, offset, order, display; // Configuration is coming in as object notation\n\n if (_typeof(propValue) === 'object') {\n span = propValue.span || true;\n offset = propValue.offset;\n order = propValue.order;\n display = propValue.display;\n } else {\n span = propValue;\n if (typeof propValue === 'boolean') {\n display = propValue ? 'block' : 'none';\n }\n }\n var infix = '',\n infixLwrCse = '';\n if (breakpoint !== 'xs') {\n var _styles$firstLtrUprCa2;\n infix = (_styles$firstLtrUprCa2 = _styles.firstLtrUprCase) === null || _styles$firstLtrUprCa2 === void 0 ? void 0 : _styles$firstLtrUprCa2.call(_styles, breakpoint);\n infixLwrCse = breakpoint;\n }\n /* istanbul ignore next */\n\n var spanCssVal = function (spanVal) {\n var _styles$dynamicCol, _styles$firstLtrUprCa3;\n if (spanVal === true) {\n return _styles[\"\".concat(vxColClass).concat(infix)];\n }\n return typeof spanVal === 'number' ? (_styles$dynamicCol = _styles.dynamicCol) === null || _styles$dynamicCol === void 0 ? void 0 : _styles$dynamicCol.call(_styles, infixLwrCse, spanVal) : _styles[\"\".concat(vxColClass).concat(infix).concat((_styles$firstLtrUprCa3 = _styles.firstLtrUprCase) === null || _styles$firstLtrUprCa3 === void 0 ? void 0 : _styles$firstLtrUprCa3.call(_styles, spanVal))];\n }; // Append base col classess\n\n if (typeof span !== 'undefined') {\n spans.push(spanCssVal(span));\n } // Append order based classes\n\n if (typeof order !== 'undefined') {\n var _styles$dynamicOrder;\n classes.push((_styles$dynamicOrder = _styles.dynamicOrder) === null || _styles$dynamicOrder === void 0 ? void 0 : _styles$dynamicOrder.call(_styles, infixLwrCse, order));\n } // Append offset classes\n\n if (typeof offset !== 'undefined') {\n var _styles$dynamicOffset;\n classes.push((_styles$dynamicOffset = _styles.dynamicOffset) === null || _styles$dynamicOffset === void 0 ? void 0 : _styles$dynamicOffset.call(_styles, infixLwrCse, offset));\n } // Append display classes\n\n if (typeof display !== 'undefined') {\n var _styles$dynamicDispla;\n classes.push((_styles$dynamicDispla = _styles.dynamicDisplay) === null || _styles$dynamicDispla === void 0 ? void 0 : _styles$dynamicDispla.call(_styles, infixLwrCse, display));\n }\n }); // Add in the base col class if no spans were configured\n\n if (!spans.length && !form) {\n spans.push(_styles[\"\".concat(vxColClass)]);\n }\n return [].concat(spans, classes);\n};\nvar Col = function (_ref) {\n var _ref$as = _ref.as,\n as = _ref$as === void 0 ? 'div' : _ref$as,\n className = _ref.className,\n form = _ref.form,\n props = _objectWithoutProperties(_ref, _excluded$1);\n var tokens = useTheme();\n var _styles = useMemo(function () {\n return styles(tokens);\n }, [tokens]);\n return jsx(as, _extends({\n css: columnClasses(form, props, _styles),\n className: className\n }, props, {\n \"data-ppui\": \"true\"\n }));\n};\nvar _excluded$2 = [\"as\", \"className\", \"noGutters\", \"align\"];\nvar Row = function (_ref) {\n var _styles$firstLtrUprCa;\n var _ref$as = _ref.as,\n as = _ref$as === void 0 ? 'div' : _ref$as,\n className = _ref.className,\n _ref$noGutters = _ref.noGutters,\n noGutters = _ref$noGutters === void 0 ? false : _ref$noGutters,\n _ref$align = _ref.align,\n align = _ref$align === void 0 ? null : _ref$align,\n props = _objectWithoutProperties(_ref, _excluded$2);\n var tokens = useTheme();\n var _styles = useMemo(function () {\n return styles(tokens);\n }, [tokens]);\n\n /* istanbul ignore next */\n var alignUprCase = align && typeof align === 'string' ? (_styles$firstLtrUprCa = _styles.firstLtrUprCase) === null || _styles$firstLtrUprCa === void 0 ? void 0 : _styles$firstLtrUprCa.call(_styles, align) : align;\n var cssVal = [_styles.row, noGutters && _styles.noGutter, align && _styles[\"justifyContent\".concat(alignUprCase)]];\n return jsx(as, _extends({\n css: cssVal,\n className: className,\n \"data-ppui-info\": \"grid_3.2.9\"\n }, props));\n};\nexport { Col, Container, Row, styles as gridStyles };","// This is extracted to separate module because it's shared\n// between browser and SSR code\nexport const RouteAnnouncerProps = {\n id: `gatsby-announcer`,\n style: {\n position: `absolute`,\n top: 0,\n width: 1,\n height: 1,\n padding: 0,\n overflow: `hidden`,\n clip: `rect(0, 0, 0, 0)`,\n whiteSpace: `nowrap`,\n border: 0,\n },\n \"aria-live\": `assertive`,\n \"aria-atomic\": `true`,\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport loader, { PageResourceStatus } from \"./loader\"\nimport redirects from \"./redirects.json\"\nimport { apiRunner } from \"./api-runner-browser\"\nimport emitter from \"./emitter\"\nimport { RouteAnnouncerProps } from \"./route-announcer-props\"\nimport { navigate as reachNavigate } from \"@reach/router\"\nimport { globalHistory } from \"@reach/router/lib/history\"\nimport { parsePath } from \"gatsby-link\"\n\n// Convert to a map for faster lookup in maybeRedirect()\n\nconst redirectMap = new Map()\nconst redirectIgnoreCaseMap = new Map()\n\nredirects.forEach(redirect => {\n if (redirect.ignoreCase) {\n redirectIgnoreCaseMap.set(redirect.fromPath, redirect)\n } else {\n redirectMap.set(redirect.fromPath, redirect)\n }\n})\n\nfunction maybeRedirect(pathname) {\n let redirect = redirectMap.get(pathname)\n if (!redirect) {\n redirect = redirectIgnoreCaseMap.get(pathname.toLowerCase())\n }\n\n if (redirect != null) {\n if (process.env.NODE_ENV !== `production`) {\n if (!loader.isPageNotFound(pathname)) {\n console.error(\n `The route \"${pathname}\" matches both a page and a redirect; this is probably not intentional.`\n )\n }\n }\n\n window.___replace(redirect.toPath)\n return true\n } else {\n return false\n }\n}\n\nconst onPreRouteUpdate = (location, prevLocation) => {\n if (!maybeRedirect(location.pathname)) {\n apiRunner(`onPreRouteUpdate`, { location, prevLocation })\n }\n}\n\nconst onRouteUpdate = (location, prevLocation) => {\n if (!maybeRedirect(location.pathname)) {\n apiRunner(`onRouteUpdate`, { location, prevLocation })\n if (\n process.env.GATSBY_EXPERIMENTAL_QUERY_ON_DEMAND &&\n process.env.GATSBY_QUERY_ON_DEMAND_LOADING_INDICATOR === `true`\n ) {\n emitter.emit(`onRouteUpdate`, { location, prevLocation })\n }\n }\n}\n\nconst navigate = (to, options = {}) => {\n // Support forward/backward navigation with numbers\n // navigate(-2) (jumps back 2 history steps)\n // navigate(2) (jumps forward 2 history steps)\n if (typeof to === `number`) {\n globalHistory.navigate(to)\n return\n }\n\n let { pathname } = parsePath(to)\n let redirect = redirectMap.get(pathname)\n if (!redirect) {\n redirect = redirectIgnoreCaseMap.get(pathname.toLowerCase())\n }\n\n // If we're redirecting, just replace the passed in pathname\n // to the one we want to redirect to.\n if (redirect) {\n to = redirect.toPath\n pathname = parsePath(to).pathname\n }\n\n // If we had a service worker update, no matter the path, reload window and\n // reset the pathname whitelist\n if (window.___swUpdated) {\n window.location = pathname\n return\n }\n\n // Start a timer to wait for a second before transitioning and showing a\n // loader in case resources aren't around yet.\n const timeoutId = setTimeout(() => {\n emitter.emit(`onDelayedLoadPageResources`, { pathname })\n apiRunner(`onRouteUpdateDelayed`, {\n location: window.location,\n })\n }, 1000)\n\n loader.loadPage(pathname).then(pageResources => {\n // If no page resources, then refresh the page\n // Do this, rather than simply `window.location.reload()`, so that\n // pressing the back/forward buttons work - otherwise when pressing\n // back, the browser will just change the URL and expect JS to handle\n // the change, which won't always work since it might not be a Gatsby\n // page.\n if (!pageResources || pageResources.status === PageResourceStatus.Error) {\n window.history.replaceState({}, ``, location.href)\n window.location = pathname\n clearTimeout(timeoutId)\n return\n }\n\n // If the loaded page has a different compilation hash to the\n // window, then a rebuild has occurred on the server. Reload.\n if (process.env.NODE_ENV === `production` && pageResources) {\n if (\n pageResources.page.webpackCompilationHash !==\n window.___webpackCompilationHash\n ) {\n // Purge plugin-offline cache\n if (\n `serviceWorker` in navigator &&\n navigator.serviceWorker.controller !== null &&\n navigator.serviceWorker.controller.state === `activated`\n ) {\n navigator.serviceWorker.controller.postMessage({\n gatsbyApi: `clearPathResources`,\n })\n }\n\n window.location = pathname\n }\n }\n reachNavigate(to, options)\n clearTimeout(timeoutId)\n })\n}\n\nfunction shouldUpdateScroll(prevRouterProps, { location }) {\n const { pathname, hash } = location\n const results = apiRunner(`shouldUpdateScroll`, {\n prevRouterProps,\n // `pathname` for backwards compatibility\n pathname,\n routerProps: { location },\n getSavedScrollPosition: args => [\n 0,\n this._stateStorage.read(args, args.key),\n ],\n })\n if (results.length > 0) {\n // Use the latest registered shouldUpdateScroll result, this allows users to override plugin's configuration\n // @see https://github.com/gatsbyjs/gatsby/issues/12038\n return results[results.length - 1]\n }\n\n if (prevRouterProps) {\n const {\n location: { pathname: oldPathname },\n } = prevRouterProps\n if (oldPathname === pathname) {\n // Scroll to element if it exists, if it doesn't, or no hash is provided,\n // scroll to top.\n return hash ? decodeURI(hash.slice(1)) : [0, 0]\n }\n }\n return true\n}\n\nfunction init() {\n // The \"scroll-behavior\" package expects the \"action\" to be on the location\n // object so let's copy it over.\n globalHistory.listen(args => {\n args.location.action = args.action\n })\n\n window.___push = to => navigate(to, { replace: false })\n window.___replace = to => navigate(to, { replace: true })\n window.___navigate = (to, options) => navigate(to, options)\n\n // Check for initial page-load redirect\n maybeRedirect(window.location.pathname)\n}\n\nclass RouteAnnouncer extends React.Component {\n constructor(props) {\n super(props)\n this.announcementRef = React.createRef()\n }\n\n componentDidUpdate(prevProps, nextProps) {\n requestAnimationFrame(() => {\n let pageName = `new page at ${this.props.location.pathname}`\n if (document.title) {\n pageName = document.title\n }\n const pageHeadings = document.querySelectorAll(`#gatsby-focus-wrapper h1`)\n if (pageHeadings && pageHeadings.length) {\n pageName = pageHeadings[0].textContent\n }\n const newAnnouncement = `Navigated to ${pageName}`\n if (this.announcementRef.current) {\n const oldAnnouncement = this.announcementRef.current.innerText\n if (oldAnnouncement !== newAnnouncement) {\n this.announcementRef.current.innerText = newAnnouncement\n }\n }\n })\n }\n\n render() {\n return
\n }\n}\n\nconst compareLocationProps = (prevLocation, nextLocation) => {\n if (prevLocation.href !== nextLocation.href) {\n return true\n }\n\n if (prevLocation?.state?.key !== nextLocation?.state?.key) {\n return true\n }\n\n return false\n}\n\n// Fire on(Pre)RouteUpdate APIs\nclass RouteUpdates extends React.Component {\n constructor(props) {\n super(props)\n onPreRouteUpdate(props.location, null)\n }\n\n componentDidMount() {\n onRouteUpdate(this.props.location, null)\n }\n\n shouldComponentUpdate(prevProps) {\n if (compareLocationProps(prevProps.location, this.props.location)) {\n onPreRouteUpdate(this.props.location, prevProps.location)\n return true\n }\n return false\n }\n\n componentDidUpdate(prevProps) {\n if (compareLocationProps(prevProps.location, this.props.location)) {\n onRouteUpdate(this.props.location, prevProps.location)\n }\n }\n\n render() {\n return (\n \n {this.props.children}\n \n \n )\n }\n}\n\nRouteUpdates.propTypes = {\n location: PropTypes.object.isRequired,\n}\n\nexport { init, shouldUpdateScroll, RouteUpdates }\n","// Pulled from react-compat\n// https://github.com/developit/preact-compat/blob/7c5de00e7c85e2ffd011bf3af02899b63f699d3a/src/index.js#L349\nfunction shallowDiffers(a, b) {\n for (var i in a) {\n if (!(i in b)) return true;\n }for (var _i in b) {\n if (a[_i] !== b[_i]) return true;\n }return false;\n}\n\nexport default (function (instance, nextProps, nextState) {\n return shallowDiffers(instance.props, nextProps) || shallowDiffers(instance.state, nextState);\n});","import React from \"react\"\nimport loader, { PageResourceStatus } from \"./loader\"\nimport shallowCompare from \"shallow-compare\"\n\nclass EnsureResources extends React.Component {\n constructor(props) {\n super()\n const { location, pageResources } = props\n this.state = {\n location: { ...location },\n pageResources: pageResources || loader.loadPageSync(location.pathname),\n }\n }\n\n static getDerivedStateFromProps({ location }, prevState) {\n if (prevState.location.href !== location.href) {\n const pageResources = loader.loadPageSync(location.pathname)\n return {\n pageResources,\n location: { ...location },\n }\n }\n\n return {\n location: { ...location },\n }\n }\n\n loadResources(rawPath) {\n loader.loadPage(rawPath).then(pageResources => {\n if (pageResources && pageResources.status !== PageResourceStatus.Error) {\n this.setState({\n location: { ...window.location },\n pageResources,\n })\n } else {\n window.history.replaceState({}, ``, location.href)\n window.location = rawPath\n }\n })\n }\n\n shouldComponentUpdate(nextProps, nextState) {\n // Always return false if we're missing resources.\n if (!nextState.pageResources) {\n this.loadResources(nextProps.location.pathname)\n return false\n }\n\n if (\n process.env.BUILD_STAGE === `develop` &&\n nextState.pageResources.stale\n ) {\n this.loadResources(nextProps.location.pathname)\n return false\n }\n\n // Check if the component or json have changed.\n if (this.state.pageResources !== nextState.pageResources) {\n return true\n }\n if (\n this.state.pageResources.component !== nextState.pageResources.component\n ) {\n return true\n }\n\n if (this.state.pageResources.json !== nextState.pageResources.json) {\n return true\n }\n // Check if location has changed on a page using internal routing\n // via matchPath configuration.\n if (\n this.state.location.key !== nextState.location.key &&\n nextState.pageResources.page &&\n (nextState.pageResources.page.matchPath ||\n nextState.pageResources.page.path)\n ) {\n return true\n }\n return shallowCompare(this, nextProps, nextState)\n }\n\n render() {\n if (process.env.NODE_ENV !== `production` && !this.state.pageResources) {\n throw new Error(\n `EnsureResources was not able to find resources for path: \"${this.props.location.pathname}\"\nThis typically means that an issue occurred building components for that path.\nRun \\`gatsby clean\\` to remove any cached elements.`\n )\n }\n\n return this.props.children(this.state)\n }\n}\n\nexport default EnsureResources\n","import { apiRunner, apiRunnerAsync } from \"./api-runner-browser\"\nimport React from \"react\"\nimport ReactDOM from \"react-dom\"\nimport { Router, navigate, Location, BaseContext } from \"@reach/router\"\nimport { ScrollContext } from \"gatsby-react-router-scroll\"\nimport domReady from \"@mikaelkristiansson/domready\"\nimport { StaticQueryContext } from \"gatsby\"\nimport {\n shouldUpdateScroll,\n init as navigationInit,\n RouteUpdates,\n} from \"./navigation\"\nimport emitter from \"./emitter\"\nimport PageRenderer from \"./page-renderer\"\nimport asyncRequires from \"$virtual/async-requires\"\nimport {\n setLoader,\n ProdLoader,\n publicLoader,\n PageResourceStatus,\n getStaticQueryResults,\n} from \"./loader\"\nimport EnsureResources from \"./ensure-resources\"\nimport stripPrefix from \"./strip-prefix\"\n\n// Generated during bootstrap\nimport matchPaths from \"$virtual/match-paths.json\"\n\nconst loader = new ProdLoader(asyncRequires, matchPaths)\nsetLoader(loader)\nloader.setApiRunner(apiRunner)\n\nwindow.asyncRequires = asyncRequires\nwindow.___emitter = emitter\nwindow.___loader = publicLoader\n\nnavigationInit()\n\napiRunnerAsync(`onClientEntry`).then(() => {\n // Let plugins register a service worker. The plugin just needs\n // to return true.\n if (apiRunner(`registerServiceWorker`).length > 0) {\n require(`./register-service-worker`)\n }\n\n // In gatsby v2 if Router is used in page using matchPaths\n // paths need to contain full path.\n // For example:\n // - page have `/app/*` matchPath\n // - inside template user needs to use `/app/xyz` as path\n // Resetting `basepath`/`baseuri` keeps current behaviour\n // to not introduce breaking change.\n // Remove this in v3\n const RouteHandler = props => (\n \n \n \n )\n\n const DataContext = React.createContext({})\n\n class GatsbyRoot extends React.Component {\n render() {\n const { children } = this.props\n return (\n \n {({ location }) => (\n \n {({ pageResources, location }) => {\n const staticQueryResults = getStaticQueryResults()\n return (\n \n \n {children}\n \n \n )\n }}\n \n )}\n \n )\n }\n }\n\n class LocationHandler extends React.Component {\n render() {\n return (\n \n {({ pageResources, location }) => (\n \n \n \n \n
\n \n \n )}\n \n )\n }\n }\n\n const { pagePath, location: browserLoc } = window\n\n // Explicitly call navigate if the canonical path (window.pagePath)\n // is different to the browser path (window.location.pathname). But\n // only if NONE of the following conditions hold:\n //\n // - The url matches a client side route (page.matchPath)\n // - it's a 404 page\n // - it's the offline plugin shell (/offline-plugin-app-shell-fallback/)\n if (\n pagePath &&\n __BASE_PATH__ + pagePath !== browserLoc.pathname &&\n !(\n loader.findMatchPath(stripPrefix(browserLoc.pathname, __BASE_PATH__)) ||\n pagePath === `/404.html` ||\n pagePath.match(/^\\/404\\/?$/) ||\n pagePath.match(/^\\/offline-plugin-app-shell-fallback\\/?$/)\n )\n ) {\n navigate(__BASE_PATH__ + pagePath + browserLoc.search + browserLoc.hash, {\n replace: true,\n })\n }\n\n publicLoader.loadPage(browserLoc.pathname).then(page => {\n if (!page || page.status === PageResourceStatus.Error) {\n throw new Error(\n `page resources for ${browserLoc.pathname} not found. Not rendering React`\n )\n }\n\n window.___webpackCompilationHash = page.page.webpackCompilationHash\n\n const SiteRoot = apiRunner(\n `wrapRootElement`,\n { element: },\n ,\n ({ result }) => {\n return { element: result }\n }\n ).pop()\n\n const App = () => {SiteRoot}\n\n const renderer = apiRunner(\n `replaceHydrateFunction`,\n undefined,\n ReactDOM.hydrate\n )[0]\n\n domReady(() => {\n renderer(\n ,\n typeof window !== `undefined`\n ? document.getElementById(`___gatsby`)\n : void 0,\n () => {\n apiRunner(`onInitialClientRender`)\n }\n )\n })\n })\n})\n","'use strict';\nvar classof = require('../internals/classof');\n\nvar $String = String;\n\nmodule.exports = function (argument) {\n if (classof(argument) === 'Symbol') throw TypeError('Cannot convert a Symbol value to a string');\n return $String(argument);\n};\n","var setPrototypeOf = require(\"./setPrototypeOf.js\");\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}\nmodule.exports = _inheritsLoose, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","'use strict';\nvar IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.32.1',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2023 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.32.1/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\nvar concat = uncurryThis([].concat);\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar isCallable = require('../internals/is-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar isRegExp = require('../internals/is-regexp');\nvar toString = require('../internals/to-string');\nvar getMethod = require('../internals/get-method');\nvar getRegExpFlags = require('../internals/regexp-get-flags');\nvar getSubstitution = require('../internals/get-substitution');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar REPLACE = wellKnownSymbol('replace');\nvar $TypeError = TypeError;\nvar indexOf = uncurryThis(''.indexOf);\nvar replace = uncurryThis(''.replace);\nvar stringSlice = uncurryThis(''.slice);\nvar max = Math.max;\n\nvar stringIndexOf = function (string, searchValue, fromIndex) {\n if (fromIndex > string.length) return -1;\n if (searchValue === '') return fromIndex;\n return indexOf(string, searchValue, fromIndex);\n};\n\n// `String.prototype.replaceAll` method\n// https://tc39.es/ecma262/#sec-string.prototype.replaceall\n$({ target: 'String', proto: true }, {\n replaceAll: function replaceAll(searchValue, replaceValue) {\n var O = requireObjectCoercible(this);\n var IS_REG_EXP, flags, replacer, string, searchString, functionalReplace, searchLength, advanceBy, replacement;\n var position = 0;\n var endOfLastMatch = 0;\n var result = '';\n if (!isNullOrUndefined(searchValue)) {\n IS_REG_EXP = isRegExp(searchValue);\n if (IS_REG_EXP) {\n flags = toString(requireObjectCoercible(getRegExpFlags(searchValue)));\n if (!~indexOf(flags, 'g')) throw $TypeError('`.replaceAll` does not allow non-global regexes');\n }\n replacer = getMethod(searchValue, REPLACE);\n if (replacer) {\n return call(replacer, searchValue, O, replaceValue);\n } else if (IS_PURE && IS_REG_EXP) {\n return replace(toString(O), searchValue, replaceValue);\n }\n }\n string = toString(O);\n searchString = toString(searchValue);\n functionalReplace = isCallable(replaceValue);\n if (!functionalReplace) replaceValue = toString(replaceValue);\n searchLength = searchString.length;\n advanceBy = max(1, searchLength);\n position = stringIndexOf(string, searchString, 0);\n while (position !== -1) {\n replacement = functionalReplace\n ? toString(replaceValue(searchString, position, string))\n : getSubstitution(searchString, string, position, [], undefined, replaceValue);\n result += stringSlice(string, endOfLastMatch, position) + replacement;\n endOfLastMatch = position + searchLength;\n position = stringIndexOf(string, searchString, position + advanceBy);\n }\n if (endOfLastMatch < string.length) {\n result += stringSlice(string, endOfLastMatch);\n }\n return result;\n }\n});\n","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}","import _taggedTemplateLiteral from '@babel/runtime/helpers/esm/taggedTemplateLiteral';\nimport { css, useTheme, jsx } from '@emotion/react';\nimport { math, stripUnit, remToPx } from 'polished';\nimport { textStyles } from '@paypalcorp/pp-react-text';\nimport { utilStyles, ZINDEX_MODAL, isDocumentRTL, hasWindow, uniqueId, isTouchDevice } from '@paypalcorp/pp-react-utils';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport _slicedToArray from '@babel/runtime/helpers/esm/slicedToArray';\nimport _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';\nimport React, { useState, useRef, useMemo, useEffect } from 'react';\nimport ReactDOM from 'react-dom';\nimport { Animator } from '@paypalcorp/pp-react-animator';\nimport _regeneratorRuntime from '@babel/runtime/regenerator';\nimport _asyncToGenerator from '@babel/runtime/helpers/esm/asyncToGenerator';\nimport { FocusOn, AutoFocusInside } from 'react-focus-on';\nimport { IconButton } from '@paypalcorp/pp-react-icon-button';\nimport { CloseIcon } from '@paypalcorp/pp-react-icons';\nvar _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17, _templateObject18, _templateObject19, _templateObject20, _templateObject21, _templateObject22, _templateObject23, _templateObject24, _templateObject25, _templateObject26, _templateObject27, _templateObject28, _templateObject29, _templateObject30, _templateObject31, _templateObject32, _templateObject33, _templateObject34, _templateObject35, _templateObject36, _templateObject37, _templateObject38, _templateObject39, _templateObject40, _templateObject41, _templateObject42, _templateObject43;\nfunction styles(tokens) {\n /* istanbul ignore next */\n if (!Object.keys(tokens).length) {\n console.warn('Missing Emotion theme. Use ThemeProvider from @emotion/react to pass a valid theme from pp-react.');\n return {};\n }\n var sysSpaceLg = tokens.sysSpaceLg,\n sysTypographyDisplaySize = tokens.sysTypographyDisplaySize,\n sysSizeIconLg = tokens.sysSizeIconLg,\n sysSizeTapTargetDefault = tokens.sysSizeTapTargetDefault,\n sysSpaceXl = tokens.sysSpaceXl,\n sysSpaceSm = tokens.sysSpaceSm,\n sysSizeMediaMd = tokens.sysSizeMediaMd,\n sysSizeMediaSm = tokens.sysSizeMediaSm,\n sysColorBackgroundSurface = tokens.sysColorBackgroundSurface,\n sysSizeMediaLg = tokens.sysSizeMediaLg,\n sysMotionDurationDepart = tokens.sysMotionDurationDepart,\n sysBorderRadiusLg = tokens.sysBorderRadiusLg,\n sysSpaceMd = tokens.sysSpaceMd,\n sysSpaceXs = tokens.sysSpaceXs,\n sysMotionDurationArrive = tokens.sysMotionDurationArrive,\n sysSizeIconSm = tokens.sysSizeIconSm,\n sysSizeIconMd = tokens.sysSizeIconMd,\n sysColorOverlayMainHover = tokens.sysColorOverlayMainHover,\n sysSizeIndicatorMd = tokens.sysSizeIndicatorMd,\n sysSizeIconXl = tokens.sysSizeIconXl,\n sysSpaceJumbo = tokens.sysSpaceJumbo,\n sysSizeMediaXl = tokens.sysSizeMediaXl;\n var _utilStyles = utilStyles(tokens),\n elevationStyles = _utilStyles.elevationStyles,\n variables = _utilStyles.variables,\n screenReader = _utilStyles.screenReader;\n var ppuiEaseInOut = variables.ppuiEaseInOut;\n var _textStyles = textStyles(tokens),\n textBody = _textStyles.body;\n var lightboxMinHeight = math(\"8 * \".concat(sysSpaceLg));\n var modalHeaderMinHeight = sysTypographyDisplaySize;\n var modalHeaderZoneMinWidth = sysSizeIconLg;\n var dialogWidth = '75%'; // 8 columns in a 12 column grid\n\n var dialogMaxWidth = math(\"\".concat(sysSizeMediaXl, \" * 0.75\")); // 75% of XL screen grid max width\n\n var mdMarginDelta = math(\"\".concat(sysSpaceXl, \" * 2\"));\n var smMarginDelta = math(\"\".concat(sysSpaceLg, \" * 2\"));\n var sheetHeaderHeightMobile = math(\"\".concat(sysSizeIconLg, \" + (2 * \").concat(sysSpaceXs, \")\"));\n var sheetHeaderHeightDesktop = math(\"\".concat(sysSizeIconXl, \" + (2 * \").concat(sysSpaceXs, \")\"));\n var sheetWidthSm = '100vw';\n var sheetButtonSize = sysSizeIconSm + sysSpaceMd * 2;\n var containerCenter = function () {\n var valign = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'center';\n return css(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n label: container_center;\\n display: flex;\\n align-items: \", \";\\n justify-content: space-around;\\n \"])), valign);\n };\n var containerMiddle = css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral([\"\\n label: container_middle;\\n \", \";\\n width: \", \";\\n max-width: \", \";\\n\\n @media screen and (max-width: \", \") {\\n width: calc(100% - \", \");\\n }\\n\\n @media screen and (max-width: \", \") {\\n width: calc(100% - \", \");\\n }\\n \"])), containerCenter(), dialogWidth, dialogMaxWidth, sysSizeMediaMd, mdMarginDelta, sysSizeMediaSm, smMarginDelta);\n var containerBottom = css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral([\"\\n label: container_bottom;\\n \", \";\\n width: \", \";\\n\\n @media screen and (max-width: \", \") {\\n width: \", \";\\n }\\n @media screen and (max-width: \", \") {\\n width: \", \";\\n }\\n \"])), containerCenter('flex-end'), sysSizeMediaMd, sysSizeMediaLg, sysSizeMediaSm, sysSizeMediaMd, sheetWidthSm);\n var base = css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral([\"\\n label: base;\\n background-color: \", \";\\n display: grid;\\n grid-template-rows: auto 1fr auto;\\n position: relative;\\n flex-basis: 100%;\\n \"])), sysColorBackgroundSurface);\n var modalNoContainer = css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral([\"\\n label: modal_no_container;\\n width: \", \";\\n max-width: \", \";\\n \"])), dialogWidth, dialogMaxWidth);\n var modalDialog = css(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral([\"\\n label: modal_dialog;\\n min-height: \", \";\\n border-radius: \", \";\\n max-height: \", \";\\n \", \";\\n opacity: 0;\\n will-change: opacity;\\n transition: opacity \", \" \", \";\\n \"])), lightboxMinHeight, sysBorderRadiusLg, '75vh', elevationStyles.level3, sysMotionDurationDepart, ppuiEaseInOut);\n var modalSheet = css(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral([\"\\n label: modal_sheet;\\n height: 100vh;\\n width: auto;\\n \", \";\\n will-change: transform;\\n transition: transform \", \" \", \",\\n height \", \" \", \";\\n transform: translateZ(0) translateY(100%);\\n\\n @media screen and (max-width: \", \") {\\n width: \", \";\\n height: auto;\\n min-height: \", \";\\n max-height: \", \"; /* Fallback for browsers that do not support Custom Properties */\\n max-height: calc(var(--vh, 1vh) * 90);\\n border-top-left-radius: \", \";\\n border-top-right-radius: \", \";\\n }\\n \"])), elevationStyles.level3, sysMotionDurationDepart, ppuiEaseInOut, sysMotionDurationDepart, ppuiEaseInOut, sysSizeMediaMd, sheetWidthSm, sysSizeTapTargetDefault, '90vh', sysBorderRadiusLg, sysBorderRadiusLg);\n var modalSheetShow = css(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral([\"\\n label: modal_sheet_show;\\n transform: translateZ(0) translateY(0);\\n \"])));\n var modalBackdrop = css(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral([\"\\n label: modal_backdrop;\\n position: fixed;\\n top: 0;\\n left: 0;\\n bottom: 0;\\n right: 0;\\n z-index: \", \";\\n visibility: hidden;\\n opacity: 0;\\n will-change: opacity;\\n transition: opacity \", \" ease-in-out,\\n visibility \", \" \", \";\\n background-color: \", \";\\n \", \";\\n box-shadow: none;\\n\\n &[aria-hidden='false'] {\\n transition-duration: \", \";\\n }\\n\\n &[aria-hidden='true'] {\\n transition-duration: \", \";\\n }\\n \"])), ZINDEX_MODAL, sysMotionDurationDepart, sysMotionDurationDepart, sysMotionDurationDepart, sysColorOverlayMainHover, containerCenter('center'), sysMotionDurationArrive, sysMotionDurationArrive);\n var modalBackdropShow = css(_templateObject10 || (_templateObject10 = _taggedTemplateLiteral([\"\\n label: modal_backdrop_show;\\n visibility: visible;\\n opacity: 1;\\n transition: opacity \", \" ease-in-out;\\n \"])), sysMotionDurationDepart);\n var modalBackdropShowDialog = css(_templateObject11 || (_templateObject11 = _taggedTemplateLiteral([\"\\n label: modal_backdrop_show_dialog;\\n opacity: 1;\\n transition: opacity \", \" ease-in-out\\n \", \";\\n \"])), sysMotionDurationDepart, sysMotionDurationDepart);\n var scrim = css(_templateObject12 || (_templateObject12 = _taggedTemplateLiteral([\"\\n label: scrim;\\n position: fixed;\\n top: 0;\\n left: 0;\\n bottom: 0;\\n right: 0;\\n z-index: \", \";\\n visibility: hidden;\\n transition: visibility \", \" \", \";\\n \", \";\\n\\n &::before {\\n content: ' ';\\n position: absolute;\\n top: 0;\\n left: 0;\\n bottom: 0;\\n right: 0;\\n opacity: 0;\\n will-change: opacity;\\n transition: opacity \", \" ease-in-out;\\n background-color: \", \";\\n }\\n \"])), ZINDEX_MODAL, sysMotionDurationDepart, sysMotionDurationDepart, containerCenter('flex-end'), sysMotionDurationDepart, sysColorOverlayMainHover);\n var scrimShow = css(_templateObject13 || (_templateObject13 = _taggedTemplateLiteral([\"\\n label: scrim_show;\\n visibility: visible;\\n transition: none; /* visibility should not be animated when coming in */\\n\\n &::before {\\n opacity: 1;\\n transition-duration: \", \";\\n }\\n \"])), sysMotionDurationArrive);\n var modalContents = css(_templateObject14 || (_templateObject14 = _taggedTemplateLiteral([\"\\n label: modal_contents;\\n flex: 1 1 auto;\\n overflow: auto;\\n\\n position: relative;\\n border-radius: inherit;\\n \", \";\\n\\n @media screen and (max-width: \", \") {\\n padding: 0 \", \" \", \";\\n }\\n \"])), textBody(), sysSizeMediaMd, sysSpaceXl, sysSpaceXl);\n var modalContentWithHeader = css(_templateObject15 || (_templateObject15 = _taggedTemplateLiteral([\"\\n label: modal_content_with_header;\\n @media screen and (max-width: \", \") {\\n border-radius: 0;\\n }\\n \"])), sysSizeMediaMd);\n var modalContentsSheet = css(_templateObject16 || (_templateObject16 = _taggedTemplateLiteral([\"\\n label: modal_content_sheet;\\n padding: 0 \", \";\\n\\n @media screen and (max-width: \", \") {\\n padding: 0 \", \";\\n }\\n @media screen and (max-width: \", \") {\\n padding: 0 \", \" \", \";\\n }\\n \"])), '8.5rem', sysSizeMediaLg, '5rem', sysSizeMediaMd, sysSpaceLg, sysSpaceLg);\n var modalContentsDialog = css(_templateObject17 || (_templateObject17 = _taggedTemplateLiteral([\"\\n label: modal_content_dialog;\\n max-height: \", \";\\n padding: 0 \", \";\\n \"])), '70vh', sysSpaceJumbo);\n var modalContentsNoPadding = css(_templateObject18 || (_templateObject18 = _taggedTemplateLiteral([\"\\n label: modal_content_no_padding;\\n padding: 0;\\n @media screen and (max-width: \", \") {\\n padding: 0;\\n }\\n \"])), sysSizeMediaLg);\n var modalContentDialogPadding = css(_templateObject19 || (_templateObject19 = _taggedTemplateLiteral([\"\\n label: modal_content_dialog_no_padding;\\n @media screen and (max-width: \", \") {\\n padding: 0 \", \" \", \";\\n }\\n \"])), sysSizeMediaSm, sysSpaceLg, sysSpaceXl);\n var modalContentsCenter = css(_templateObject20 || (_templateObject20 = _taggedTemplateLiteral([\"\\n label: modal_content_center;\\n text-align: center;\\n \"])));\n var modalHeader = css(_templateObject21 || (_templateObject21 = _taggedTemplateLiteral([\"\\n label: modal_header;\\n display: flex;\\n justify-content: space-between;\\n align-items: center;\\n flex-wrap: wrap;\\n position: relative;\\n flex: 0 0 auto;\\n z-index: 1;\\n min-height: \", \";\\n padding: \", \";\\n \"])), modalHeaderMinHeight, sysSpaceMd);\n var modalHeaderSheet = css(_templateObject22 || (_templateObject22 = _taggedTemplateLiteral([\"\\n label: modal_header_sheet;\\n min-height: \", \";\\n\\n @media screen and (max-width: \", \") {\\n min-height: \", \";\\n }\\n \"])), sheetHeaderHeightDesktop, sysSizeMediaMd, sheetHeaderHeightMobile);\n var modalHeaderSheetAction = css(_templateObject23 || (_templateObject23 = _taggedTemplateLiteral([\"\\n label: modal_header_sheet_action;\\n min-height: \", \";\\n padding: \", \";\\n margin: 0;\\n\\n @media screen and (max-width: \", \") {\\n min-height: \", \";\\n padding: \", \";\\n margin: 0;\\n }\\n \"])), sheetHeaderHeightDesktop, sysSpaceMd, sysSizeMediaMd, sheetHeaderHeightMobile, sysSpaceSm);\n var modalHeaderScrolled = css(_templateObject24 || (_templateObject24 = _taggedTemplateLiteral([\"\\n label: modal_header_scrolled;\\n \", \"\\n \"])), elevationStyles.level3);\n var modalHeaderAction = css(_templateObject25 || (_templateObject25 = _taggedTemplateLiteral([\"\\n label: modal_header_action;\\n flex: 0 0 \", \";\\n flex-basis: \", \";\\n \"])), modalHeaderZoneMinWidth, sheetButtonSize);\n var modalHeaderTitle = css(_templateObject26 || (_templateObject26 = _taggedTemplateLiteral([\"\\n label: modal_header_title;\\n flex: 1 1 3rem;\\n margin: \", \";\\n text-align: center;\\n \", \";\\n \"])), sysSpaceSm, textBody());\n var modalHeaderClose = css(_templateObject27 || (_templateObject27 = _taggedTemplateLiteral([\"\\n label: modal_header_close;\\n flex: 0 0 \", \";\\n text-align: right;\\n flex-basis: \", \";\\n \"])), modalHeaderZoneMinWidth, sheetButtonSize);\n var modalHeaderWorkArea = css(_templateObject28 || (_templateObject28 = _taggedTemplateLiteral([\"\\n label: modal_header_work_area;\\n flex: 0 0 100%;\\n padding: \", \" \", \";\\n \"])), sysSpaceSm, sysSpaceLg);\n var modalHeaderLogo = css(_templateObject29 || (_templateObject29 = _taggedTemplateLiteral([\"\\n label: modal_header_logo;\\n display: flex;\\n flex: 1 1 3rem;\\n justify-content: center;\\n margin-top: \", \";\\n \"])), sysSpaceSm);\n var modalHeaderLogoImage = css(_templateObject30 || (_templateObject30 = _taggedTemplateLiteral([\"\\n label: modal_header_logo_image;\\n width: \", \";\\n height: \", \";\\n \"])), sysSizeIconMd, sysSizeIconMd);\n var modalContentsClose = css(_templateObject31 || (_templateObject31 = _taggedTemplateLiteral([\"\\n label: modal_content_close;\\n position: absolute;\\n right: \", \";\\n top: \", \";\\n z-index: 2;\\n\\n [dir='rtl'] & {\\n left: \", \";\\n right: auto;\\n\\n @media screen and (min-width: \", \") {\\n left: \", \";\\n }\\n }\\n\\n @media screen and (min-width: \", \") {\\n right: \", \";\\n top: \", \";\\n }\\n \"])), sysSpaceXs, sysSpaceXs, sysSpaceXs, sysSizeMediaMd, sysSizeIndicatorMd, sysSizeMediaMd, sysSizeIndicatorMd, sysSpaceMd);\n var modalFooter = css(_templateObject32 || (_templateObject32 = _taggedTemplateLiteral([\"\\n label: modal_footer;\\n min-height: \", \";\\n padding: \", \";\\n position: relative;\\n flex: 1 0 auto;\\n \"])), modalHeaderMinHeight, sysSpaceLg);\n var modalFooterScrolled = css(_templateObject33 || (_templateObject33 = _taggedTemplateLiteral([\"\\n label: modal_footer_scrolled;\\n \", \"\\n border-bottom-left-radius: inherit;\\n border-bottom-right-radius: inherit;\\n \"])), elevationStyles.level3Above);\n var modalFooterAlignCenter = css(_templateObject34 || (_templateObject34 = _taggedTemplateLiteral([\"\\n label: modal_footer_align_center;\\n text-align: center;\\n \"])));\n var modalFooterAlignRight = css(_templateObject35 || (_templateObject35 = _taggedTemplateLiteral([\"\\n label: modal_footer_align_right;\\n text-align: right;\\n \"])));\n var modalSheetHeight90 = css(_templateObject36 || (_templateObject36 = _taggedTemplateLiteral([\"\\n label: modal_sheet_height_90;\\n @media screen and (max-width: \", \") {\\n height: 90vh; /* Fallback for browsers that do not support Custom Properties */\\n height: calc(var(--vh, 1vh) * 90);\\n border-top-left-radius: \", \";\\n border-top-right-radius: \", \";\\n }\\n \"])), sysSizeMediaMd, sysBorderRadiusLg, sysBorderRadiusLg);\n var justifyRight = css(_templateObject37 || (_templateObject37 = _taggedTemplateLiteral([\"\\n label: sheet_right_side;\\n @media screen and (min-width: \", \") {\\n justify-content: flex-end;\\n }\\n \"])), sysSizeMediaMd);\n var containerRightWidth = css(_templateObject38 || (_templateObject38 = _taggedTemplateLiteral([\"\\n @media screen and (min-width: \", \") {\\n width: \", \";\\n }\\n \"])), sysSizeMediaMd, '35.5rem');\n var commonContainerStyles = css(_templateObject39 || (_templateObject39 = _taggedTemplateLiteral([\"\\n label: container;\\n @media screen and (min-width: \", \") {\\n will-change: transform;\\n transition: transform \", \";\\n bottom: inherit;\\n\\n &[aria-hidden='false'] {\\n transform: translateZ(0) translateX(0);\\n }\\n }\\n \"])), sysSizeMediaMd, sysMotionDurationDepart);\n var containerRight = css(_templateObject40 || (_templateObject40 = _taggedTemplateLiteral([\"\\n label: container_right;\\n \", \"\\n @media screen and (min-width: \", \") {\\n transform: translateZ(0) translateX(100%);\\n }\\n \"])), commonContainerStyles, sysSizeMediaMd);\n var containerLeft = css(_templateObject41 || (_templateObject41 = _taggedTemplateLiteral([\"\\n label: container_left;\\n \", \"\\n @media screen and (min-width: \", \") {\\n transform: translateZ(0) translateX(-100%);\\n }\\n \"])), commonContainerStyles, sysSizeMediaMd);\n var drawerContainer = css(_templateObject42 || (_templateObject42 = _taggedTemplateLiteral([\"\\n label: drawer_container;\\n @media screen and (min-width: \", \") {\\n padding-left: \", \";\\n padding-right: \", \";\\n }\\n \"])), sysSizeMediaMd, math(\"\".concat(sysSpaceXl, \" * 2\")), math(\"\".concat(sysSpaceXl, \" * 2\")));\n var modalSheetHeight50 = css(_templateObject43 || (_templateObject43 = _taggedTemplateLiteral([\"\\n label: modal_sheet_height_50;\\n @media screen and (max-width: \", \") {\\n height: 50vh; /* Fallback for browsers that do not support Custom Properties */\\n height: calc(var(--vh, 1vh) * 50);\\n border-top-left-radius: \", \";\\n border-top-right-radius: \", \";\\n }\\n \"])), sysSizeMediaMd, sysBorderRadiusLg, sysBorderRadiusLg);\n return {\n base: base,\n modalContents: modalContents,\n modalContentsCenter: modalContentsCenter,\n modalContentsNoPadding: modalContentsNoPadding,\n modalHeader: modalHeader,\n modalHeaderScrolled: modalHeaderScrolled,\n modalHeaderClose: modalHeaderClose,\n modalHeaderAction: modalHeaderAction,\n modalHeaderTitle: modalHeaderTitle,\n modalHeaderLogo: modalHeaderLogo,\n modalHeaderLogoImage: modalHeaderLogoImage,\n modalFooter: modalFooter,\n modalFooterScrolled: modalFooterScrolled,\n modalFooterAlignCenter: modalFooterAlignCenter,\n modalFooterAlignRight: modalFooterAlignRight,\n screenReader: screenReader,\n // Dialog specific styles\n modalDialog: modalDialog,\n modalBackdrop: modalBackdrop,\n modalBackdropShow: modalBackdropShow,\n modalBackdropShowDialog: modalBackdropShowDialog,\n modalContentsClose: modalContentsClose,\n modalContentsDialog: modalContentsDialog,\n containerMiddle: containerMiddle,\n modalContentDialogPadding: modalContentDialogPadding,\n // Sheet Specific\n modalSheet: modalSheet,\n modalSheetShow: modalSheetShow,\n modalSheetHeight90: modalSheetHeight90,\n modalSheetHeight50: modalSheetHeight50,\n modalNoContainer: modalNoContainer,\n modalHeaderSheet: modalHeaderSheet,\n modalHeaderSheetAction: modalHeaderSheetAction,\n modalHeaderWorkArea: modalHeaderWorkArea,\n modalContentsSheet: modalContentsSheet,\n modalContentWithHeader: modalContentWithHeader,\n scrim: scrim,\n scrimShow: scrimShow,\n containerBottom: containerBottom,\n justifyRight: justifyRight,\n containerRightWidth: containerRightWidth,\n containerRight: containerRight,\n containerLeft: containerLeft,\n drawerContainer: drawerContainer\n };\n}\nvar _excluded = [\"requestClose\", \"onBeforeClose\", \"className\", \"isHidden\", \"center\", \"noPadding\", \"closeButtonLabel\", \"noCloseButton\", \"closeButtonProps\", \"hideTitle\", \"showLogo\", \"mobileFixedHeight\", \"title\", \"id\", \"action\", \"headerContents\", \"footerContents\", \"footerAlign\", \"children\", \"returnFocusToTrigger\", \"headerClassName\", \"containerClassName\", \"contentContainerRef\", \"wrapperClassName\", \"footerClassName\", \"skipFormFocus\", \"contentScrollTop\", \"onContentScroll\", \"showDrawer\"];\nvar closeSheet = function () {\n return true;\n}; // eslint-disable-next-line complexity\n\nvar SheetComponent = function (_ref) {\n var requestClose = _ref.requestClose,\n _ref$onBeforeClose = _ref.onBeforeClose,\n onBeforeClose = _ref$onBeforeClose === void 0 ? closeSheet : _ref$onBeforeClose,\n className = _ref.className,\n isHidden = _ref.isHidden,\n center = _ref.center,\n noPadding = _ref.noPadding,\n _ref$closeButtonLabel = _ref.closeButtonLabel,\n closeButtonLabel = _ref$closeButtonLabel === void 0 ? 'close sheet' : _ref$closeButtonLabel,\n noCloseButton = _ref.noCloseButton,\n _ref$closeButtonProps = _ref.closeButtonProps,\n closeButtonProps = _ref$closeButtonProps === void 0 ? {} : _ref$closeButtonProps,\n hideTitle = _ref.hideTitle,\n showLogo = _ref.showLogo,\n mobileFixedHeight = _ref.mobileFixedHeight,\n title = _ref.title,\n id = _ref.id,\n action = _ref.action,\n headerContents = _ref.headerContents,\n footerContents = _ref.footerContents,\n footerAlign = _ref.footerAlign,\n children = _ref.children,\n _ref$returnFocusToTri = _ref.returnFocusToTrigger,\n returnFocusToTrigger = _ref$returnFocusToTri === void 0 ? true : _ref$returnFocusToTri,\n headerClassName = _ref.headerClassName,\n containerClassName = _ref.containerClassName,\n contentContainerRef = _ref.contentContainerRef,\n wrapperClassName = _ref.wrapperClassName,\n footerClassName = _ref.footerClassName,\n skipFormFocus = _ref.skipFormFocus,\n _ref$contentScrollTop = _ref.contentScrollTop,\n contentScrollTop = _ref$contentScrollTop === void 0 ? 0 : _ref$contentScrollTop,\n onContentScroll = _ref.onContentScroll,\n _ref$showDrawer = _ref.showDrawer,\n showDrawer = _ref$showDrawer === void 0 ? false : _ref$showDrawer,\n rest = _objectWithoutProperties(_ref, _excluded);\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n headerScroll = _useState2[0],\n setHeaderScroll = _useState2[1];\n var _useState3 = useState(false),\n _useState4 = _slicedToArray(_useState3, 2),\n footerScroll = _useState4[0],\n setFooterScroll = _useState4[1];\n var _useState5 = useState(0.5),\n _useState6 = _slicedToArray(_useState5, 2),\n dynamicHeight = _useState6[0],\n setDynamicHeight = _useState6[1];\n var sheetRef = useRef();\n var closeButtonRef = useRef();\n var actionZoneRef = useRef();\n var refContent = useRef();\n var contentRef = contentContainerRef || refContent;\n var headerContentRef = useRef();\n var isRtl = isDocumentRTL();\n var startX;\n var startY;\n var isDynamicHeight = mobileFixedHeight === 'dynamic'; // If theme is not directly provided, get from themeContext\n\n var tokens = useTheme();\n var _styles = useMemo(function () {\n return styles(tokens);\n }, [tokens]);\n var sysSizeMediaMd = tokens.sysSizeMediaMd;\n var MEDIUM_BREAKPOINT = stripUnit(remToPx(sysSizeMediaMd, '16px'));\n /* istanbul ignore next */\n\n var isMobile = hasWindow() ? window && window.innerWidth < MEDIUM_BREAKPOINT : false;\n var headerLogo = showLogo && !isMobile;\n var idBase = id !== null && id !== void 0 ? id : uniqueId();\n var showHeader = !!action || !noCloseButton || !hideTitle || !!headerContents || headerLogo; // jest has no way to test things like scrollTop or scrollHeight --BCC\n\n /* istanbul ignore next */\n\n var scrollCheck = function () {\n if (contentRef && contentRef.current) {\n var contents = contentRef.current;\n var newHeaderScroll = contents.scrollTop !== 0;\n if (newHeaderScroll !== headerScroll) {\n setHeaderScroll(newHeaderScroll);\n } // Footer is optional, may not be one to watch for!\n\n if (footerContents) {\n // Have we scrolled to the bottom?\n var newFooterScroll = contents.scrollTop + contents.offsetHeight !== contents.scrollHeight;\n if (newFooterScroll !== footerScroll) {\n setFooterScroll(newFooterScroll);\n }\n }\n }\n };\n\n /* istanbul ignore next */\n var setFixedHeight = function () {\n var sheetEl = sheetRef.current;\n if (sheetEl) {\n var height90Percent = window.innerHeight * 0.9;\n if (mobileFixedHeight === '90') {\n sheetEl.style.height = \"\".concat(height90Percent, \"px\");\n } else if (mobileFixedHeight === '50') {\n sheetEl.style.height = \"\".concat(window.innerHeight * 0.5, \"px\");\n } else {\n sheetEl.style.maxHeight = \"\".concat(height90Percent, \"px\");\n }\n }\n };\n /* istanbul ignore next */\n\n var updateHeight = function () {\n var sheetEl = sheetRef.current;\n if (sheetEl) {\n sheetEl.style.height = \"\".concat(window.innerHeight * dynamicHeight, \"px\");\n sheetEl.style.maxHeight = 'fit-content';\n }\n };\n /* istanbul ignore next */\n\n var increaseHeight = /*#__PURE__*/function () {\n var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n return _regeneratorRuntime.wrap(function (_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n setDynamicHeight(0.9);\n case 1:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n return function () {\n return _ref2.apply(this, arguments);\n };\n }();\n /* istanbul ignore next */\n\n var decreaseHeight = function () {\n setDynamicHeight(0.5);\n };\n /* istanbul ignore next */\n\n var checkContentScroll = function () {\n var content = contentRef && contentRef.current;\n if (dynamicHeight === 0.5) {\n content.style.overflow = 'hidden';\n }\n if (dynamicHeight === 0.9) {\n content.style.overflow = 'scroll';\n }\n };\n useEffect(function () {\n if (!isHidden) {\n var _window;\n scrollCheck();\n /*eslint-disable */\n // istanbul ignore next\n // eslint-disable-next-line no-unused-expressions\n\n (_window = window) === null || _window === void 0 ? void 0 : _window.setTimeout(function () {\n /*eslint-enable */\n // HACK ALERT! react-on-focus fails at setting the focus\n // if we are transitioning opacity. This causes the sheet\n // to set the focus on the close button but NOT indicate\n // that fact to the user either visually or in the screen reader\n // So timeOut was needed\n var focused = false; // For combobox input on sheet header\n\n if (headerContentRef && headerContentRef.current) {\n //@ts-ignore\n var formElement = headerContentRef.current.querySelector('input');\n if (formElement) {\n formElement.focus();\n focused = true;\n }\n } // For Forms\n\n if (!focused && !skipFormFocus && contentRef && contentRef.current) {\n //@ts-ignore\n var focusableEls = contentRef.current.querySelectorAll('a, button, textarea, input, select');\n if (focusableEls.length > 0) {\n focusableEls[0].focus();\n focused = true;\n }\n } // Otherwise focus on action item or close button\n\n if (!focused && showHeader) {\n if (action && actionZoneRef && actionZoneRef.current) {\n //@ts-ignore\n var focusableActionEl = actionZoneRef.current.querySelectorAll('a, button, select');\n if (focusableActionEl.length > 0) {\n focusableActionEl[0].focus();\n }\n } else {\n var closeButtonCurrent = closeButtonRef.current;\n if (closeButtonCurrent) {\n //@ts-ignore\n closeButtonCurrent.focus();\n }\n }\n }\n }, 500);\n /* istanbul ignore next */\n\n if (isTouchDevice() && window.innerHeight) {\n window.addEventListener('resize', setFixedHeight, false);\n if (isDynamicHeight) {\n updateHeight();\n checkContentScroll();\n } else {\n setFixedHeight();\n }\n }\n }\n return function () {\n window.removeEventListener('resize', setFixedHeight, false);\n };\n }, [isHidden, dynamicHeight]);\n useEffect(function () {\n if (!isHidden && contentRef.current) {\n var contents = contentRef.current;\n contents.scrollTop = contentScrollTop;\n }\n }, [contentScrollTop, isHidden]);\n var wrapperCss = [_styles.scrim, !isHidden && _styles.scrimShow, showDrawer && _styles.justifyRight];\n var containerCss = [_styles.base, _styles.modalNoContainer, _styles.modalSheet, mobileFixedHeight === '90' && _styles.modalSheetHeight90, mobileFixedHeight === '50' && _styles.modalSheetHeight50, isDynamicHeight && _styles.modalSheetHeight50, !isHidden && _styles.modalSheetShow, showDrawer && !isRtl && _styles.containerRight, showDrawer && isRtl && _styles.containerLeft];\n var contentCss = [_styles.modalContents, _styles.modalContentsSheet, center && _styles.modalContentsCenter, noPadding && _styles.modalContentsNoPadding, showHeader && _styles.modalContentWithHeader, showDrawer && _styles.drawerContainer];\n var ariaHidden = isHidden ? 'true' : 'false';\n var handleClose = function (evt, closedBy) {\n var okToClose = onBeforeClose(closedBy);\n if (okToClose) {\n requestClose(evt, closedBy);\n startX = null;\n startY = null;\n }\n };\n var closeButtonTag = noCloseButton ? null : jsx(IconButton, _extends({\n svgIconComponent: CloseIcon,\n onClick: function onClick(evt) {\n handleClose(evt, 'closeButton');\n },\n ref: closeButtonRef,\n buttonType: \"tertiary\"\n }, closeButtonProps, {\n \"data-ppui\": \"true\"\n }), closeButtonLabel);\n\n /* istanbul ignore next */\n var mobileTouchEnd = function (evt, content) {\n var endTouch = evt.changedTouches[0];\n var endX = endTouch.pageX;\n var endY = endTouch.pageY;\n var xDiff = startX - endX;\n var yDiff = startY - endY; // means up/down is most significant\n\n if (Math.abs(yDiff) > Math.abs(xDiff)) {\n // swipe Down\n if (yDiff < 0 && (content ? content.scrollTop === 0 : true)) {\n if (isDynamicHeight) {\n decreaseHeight();\n if (yDiff < -150 || dynamicHeight === 0.5) {\n handleClose(evt, 'swipeDown');\n }\n } else {\n handleClose(evt, 'swipeDown');\n }\n } // swipe Up\n\n if (yDiff > 0 && isDynamicHeight) {\n increaseHeight();\n }\n }\n startX = null;\n startY = null;\n };\n /* istanbul ignore next */\n\n var handleTouchMove = function (evt) {\n // Prevent from scrolling\n evt.preventDefault();\n };\n /* istanbul ignore next */\n\n var handleTouchStart = function (evt) {\n /* istanbul ignore next */\n if (!startY && !startX) {\n var firstTouch = evt.changedTouches[0];\n startY = firstTouch.pageY;\n startX = firstTouch.pageX;\n }\n };\n /* istanbul ignore next */\n\n var titleId = \"header_\".concat(idBase);\n var ariaProps = {\n role: 'dialog',\n className: wrapperClassName,\n 'aria-modal': 'true',\n 'aria-hidden': ariaHidden\n };\n if (headerLogo || hideTitle) {\n ariaProps['aria-label'] = title;\n } else {\n ariaProps['aria-labelledby'] = titleId;\n } // If there's a close button, we need to have an action zone even if there's nothing in it\n // Same for close button. Need to have an empty div if there's something in the action\n // But if neither is present, we want to give the whole space to the title.\n\n var emptyCloseButtonZone = action ? jsx(\"div\", {\n css: [_styles.modalHeaderClose],\n \"data-ppui\": \"true\"\n }) : null;\n var emptyActionZone = closeButtonTag ? jsx(\"div\", {\n css: [_styles.modalHeaderAction],\n \"data-ppui\": \"true\"\n }) : null; // Now that we've decided what the empty states would look like, decide if they're actually empty or not\n\n var closeButtonZone = closeButtonTag ? jsx(\"div\", {\n css: [_styles.modalHeaderClose],\n \"data-ppui\": \"true\"\n }, closeButtonTag) : emptyCloseButtonZone;\n var actionZone = action ? jsx(\"div\", {\n css: [_styles.modalHeaderAction],\n ref: actionZoneRef,\n \"data-ppui\": \"true\"\n }, action) : emptyActionZone;\n var titleContentCss = [headerLogo ? _styles.modalHeaderLogo : _styles.modalHeaderTitle];\n var titleContentZone = jsx(\"div\", {\n css: titleContentCss,\n id: titleId,\n \"data-ppui\": \"true\"\n }, function titleContents() {\n if (headerLogo) {\n return jsx(\"img\", {\n src: \"https://www.paypalobjects.com/paypal-ui/logos/svg/paypal-mark-color.svg\",\n alt: \"paypal-logo\",\n css: _styles.modalHeaderLogoImage,\n \"data-ppui\": \"true\"\n });\n }\n return hideTitle ? null : title;\n }());\n var headerContentZone = headerContents ? jsx(\"div\", {\n css: _styles.modalHeaderWorkArea,\n ref: headerContentRef,\n \"data-ppui\": \"true\"\n }, headerContents) : null;\n var header = showHeader ? jsx(\"header\", {\n className: headerClassName,\n css: [_styles.modalHeader, _styles.modalHeaderSheet, headerScroll && _styles.modalHeaderScrolled, actionZone && _styles.modalHeaderSheetAction],\n onTouchStart: handleTouchStart,\n onTouchMove: handleTouchMove,\n onTouchEnd: function handleTouchEnd(evt) {\n mobileTouchEnd(evt, null);\n },\n \"data-ppui\": \"true\"\n }, actionZone, titleContentZone, closeButtonZone, headerContentZone) : null;\n var footer = footerContents ? jsx(\"footer\", {\n className: footerClassName,\n css: [_styles.modalFooter, /* istanbul ignore next */\n footerScroll && _styles.modalFooterScrolled, footerAlign === 'center' && _styles.modalFooterAlignCenter, footerAlign === 'right' && _styles.modalFooterAlignRight],\n \"data-ppui\": \"true\"\n }, footerContents) : null;\n return jsx(\"div\", _extends({}, ariaProps, {\n css: wrapperCss,\n \"data-ppui-info\": \"sheet_3.9.1\"\n }), jsx(FocusOn, {\n enabled: !isHidden // @ts-ignore: onEscapeKey() wants an Event, but the rest of this code wants SyntheticEvent<>\n ,\n\n onEscapeKey: function handleEscape(evt) {\n evt.preventDefault();\n handleClose(evt, 'ESC');\n },\n onClickOutside: function handleBackdropClick(evt) {\n handleClose(evt, 'backdropClick');\n },\n returnFocus: returnFocusToTrigger,\n css: [_styles.containerBottom, showDrawer && _styles.containerRightWidth],\n \"data-ppui\": \"true\"\n }, jsx(\"article\", _extends({\n css: containerCss,\n className: containerClassName\n }, rest, {\n ref: sheetRef,\n \"aria-hidden\": ariaHidden,\n \"data-ppui\": \"true\"\n }), header, jsx(\"section\", {\n css: contentCss,\n className: className,\n onScroll: function handleScroll() {\n /* istanbul ignore else */\n if (contentRef && contentRef.current) {\n var contents = contentRef.current;\n /* istanbul ignore else */\n\n if (onContentScroll) {\n onContentScroll(contents.scrollTop);\n }\n }\n scrollCheck();\n },\n ref: contentRef,\n onTouchStart: handleTouchStart,\n onTouchMove: handleTouchMove,\n onTouchEnd: function handleContentTouchEnd(evt) {\n var content = contentRef && contentRef.current;\n if (isDynamicHeight) {\n mobileTouchEnd(evt, content);\n }\n },\n \"data-ppui\": \"true\"\n }, children), footer)));\n};\nvar _excluded$1 = [\"isOpen\", \"onOpen\", \"onClose\", \"onCloseComplete\", \"containerRef\"];\nvar Sheet = function (_ref) {\n var isOpen = _ref.isOpen,\n onOpen = _ref.onOpen,\n onClose = _ref.onClose,\n _ref$onCloseComplete = _ref.onCloseComplete,\n onCloseComplete = _ref$onCloseComplete === void 0 ? onClose : _ref$onCloseComplete,\n containerRef = _ref.containerRef,\n componentProps = _objectWithoutProperties(_ref, _excluded$1);\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n isMounted = _useState2[0],\n setIsMounted = _useState2[1];\n useEffect(function () {\n setIsMounted(true);\n }, []);\n var contents = /*#__PURE__*/React.createElement(Animator, {\n shouldHide: !isOpen,\n onOpen: onOpen,\n onCloseComplete: onCloseComplete,\n \"data-ppui\": \"true\"\n }, function animatee(props) {\n return /*#__PURE__*/React.createElement(SheetComponent, _extends({}, props, componentProps, {\n \"data-ppui\": \"true\"\n }));\n });\n var containerElm = containerRef && containerRef.current; // Delay createPortal until component is mounted to fix server side rendering\n\n return isMounted && ReactDOM.createPortal(contents, containerElm || document.body);\n};\nvar _excluded$2 = [\"isFullView\", \"showInverseCloseButton\", \"requestClose\", \"className\", \"headerClassName\", \"footerClassName\", \"containerClassName\", \"isHidden\", \"center\", \"hideTitle\", \"closeButtonLabel\", \"closeButtonProps\", \"closeOnBackgroundClick\", \"onBeforeClose\", \"contentContainerRef\", \"title\", \"id\", \"action\", \"footerContents\", \"footerAlign\", \"children\", \"skipFormFocus\"];\nvar closeDialog = function () {\n return true;\n};\nvar DialogComponent = function (_ref) {\n var isFullView = _ref.isFullView,\n showInverseCloseButton = _ref.showInverseCloseButton,\n requestClose = _ref.requestClose,\n className = _ref.className,\n headerClassName = _ref.headerClassName,\n footerClassName = _ref.footerClassName,\n containerClassName = _ref.containerClassName,\n isHidden = _ref.isHidden,\n center = _ref.center,\n _ref$hideTitle = _ref.hideTitle,\n hideTitle = _ref$hideTitle === void 0 ? isFullView : _ref$hideTitle,\n _ref$closeButtonLabel = _ref.closeButtonLabel,\n closeButtonLabel = _ref$closeButtonLabel === void 0 ? 'Close Dialog' : _ref$closeButtonLabel,\n _ref$closeButtonProps = _ref.closeButtonProps,\n closeButtonProps = _ref$closeButtonProps === void 0 ? {} : _ref$closeButtonProps,\n closeOnBackgroundClick = _ref.closeOnBackgroundClick,\n _ref$onBeforeClose = _ref.onBeforeClose,\n onBeforeClose = _ref$onBeforeClose === void 0 ? closeDialog : _ref$onBeforeClose,\n contentContainerRef = _ref.contentContainerRef,\n title = _ref.title,\n id = _ref.id,\n action = _ref.action,\n footerContents = _ref.footerContents,\n footerAlign = _ref.footerAlign,\n children = _ref.children,\n skipFormFocus = _ref.skipFormFocus,\n rest = _objectWithoutProperties(_ref, _excluded$2);\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n headerScroll = _useState2[0],\n setHeaderScroll = _useState2[1];\n var _useState3 = useState(false),\n _useState4 = _slicedToArray(_useState3, 2),\n footerScroll = _useState4[0],\n setFooterScroll = _useState4[1];\n var refContent = useRef();\n var contentRef = contentContainerRef || refContent;\n var closeButtonRef = useRef();\n var actionZoneRef = useRef();\n var idBase = id || uniqueId(); // jest has no way to test things like scrollTop or scrollHeight --BCC\n\n /* istanbul ignore next */\n\n var scrollCheck = function () {\n if (contentRef && contentRef.current) {\n var contents = contentRef.current;\n var newHeaderScroll = contents.scrollTop !== 0;\n if (newHeaderScroll !== headerScroll) {\n setHeaderScroll(newHeaderScroll);\n } // Footer is optional, may not be one to watch for!\n\n if (footerContents) {\n // Have we scrolled to the bottom?\n var newFooterScroll = Math.ceil(contents.scrollTop + contents.getBoundingClientRect().height) < contents.scrollHeight;\n if (newFooterScroll !== footerScroll) {\n setFooterScroll(newFooterScroll);\n }\n }\n }\n };\n useEffect(function () {\n if (!isHidden) {\n scrollCheck(); // istanbul ignore next\n\n if (window && window.setTimeout) {\n // istanbul ignore next\n window.setTimeout(function () {\n // HACK ALERT! react-on-focus fails at setting the focus\n // if we are transitioning opacity. This causes the dialog\n // to set the focus on the close button but NOT indicate\n // that fact to the user either visually or in the screen reader\n // So timeOut was needed\n var focused = false; // For Forms\n\n if (!focused && !skipFormFocus && contentRef && contentRef.current) {\n //@ts-ignore\n var focusableEls = contentRef.current.querySelectorAll('a, button, textarea, input, select');\n if (focusableEls.length > 0) {\n focusableEls[0].focus();\n focused = true;\n }\n } // Otherwise focus on action item or close button\n\n if (!focused && (!!action || !hideTitle)) {\n if (action && actionZoneRef && actionZoneRef.current) {\n //@ts-ignore\n var focusableActionEl = actionZoneRef.current.querySelectorAll('a, button, select');\n if (focusableActionEl.length > 0) {\n focusableActionEl[0].focus();\n }\n } else {\n var closeButton = closeButtonRef.current;\n if (closeButton) {\n //@ts-ignore\n closeButton.focus();\n }\n }\n }\n }, 100);\n }\n }\n }, [isHidden]);\n /* istanbul ignore next */\n\n // If theme is not directly provided, get from themeContext\n var tokens = useTheme();\n var _styles = useMemo(function () {\n return styles(tokens);\n }, [tokens]);\n var wrapperCss = [_styles.modalBackdrop, !isHidden && _styles.modalBackdropShow];\n var contentCss = [_styles.modalContents, _styles.modalContentsDialog, center && _styles.modalContentsCenter, isFullView && _styles.modalContentsNoPadding, !isFullView && _styles.modalContentDialogPadding];\n var handleClose = function (evt, closedBy) {\n var okToClose = onBeforeClose(closedBy);\n /* istanbul ignore next */\n\n if (okToClose) {\n requestClose(evt, closedBy);\n }\n };\n var titleId = \"header_\".concat(idBase);\n var titleElement = null;\n var ariaProps = {\n role: 'dialog',\n 'aria-modal': 'true',\n 'aria-hidden': isHidden ? 'true' : 'false'\n };\n if (hideTitle) {\n ariaProps['aria-label'] = title;\n } else {\n ariaProps['aria-labelledby'] = titleId;\n titleElement = jsx(\"h2\", {\n id: titleId,\n \"data-ppui\": \"true\"\n }, title);\n }\n var closeButtonContainerCss = isFullView ? _styles.modalContentsClose : _styles.modalHeaderClose;\n var closeButtonTag = jsx(\"div\", {\n css: closeButtonContainerCss,\n \"data-ppui\": \"true\"\n }, jsx(IconButton, _extends({\n buttonType: \"tertiary\",\n svgIconComponent: CloseIcon,\n inverse: showInverseCloseButton,\n ref: closeButtonRef,\n onClick: function handleCloseButtonClick(evt) {\n handleClose(evt, 'closeButton');\n }\n }, closeButtonProps, {\n \"data-ppui\": \"true\"\n }), closeButtonLabel));\n var footer = footerContents ? jsx(\"footer\", {\n className: footerClassName,\n css: [_styles.modalFooter, /* istanbul ignore next */\n footerScroll && _styles.modalFooterScrolled, footerAlign === 'center' && _styles.modalFooterAlignCenter, footerAlign === 'right' && _styles.modalFooterAlignRight],\n \"data-ppui\": \"true\"\n }, footerContents) : null;\n var header = jsx(\"header\", {\n className: headerClassName,\n css: [_styles.modalHeader, /* istanbul ignore next */\n headerScroll && _styles.modalHeaderScrolled],\n \"data-ppui\": \"true\"\n }, jsx(\"div\", {\n css: _styles.modalHeaderAction,\n ref: actionZoneRef,\n \"data-ppui\": \"true\"\n }, action), jsx(\"div\", {\n css: _styles.modalHeaderTitle,\n \"data-ppui\": \"true\"\n }), closeButtonTag);\n return jsx(\"div\", _extends({}, ariaProps, {\n css: wrapperCss,\n \"data-ppui-info\": \"dialog_3.9.1\"\n }), jsx(FocusOn, {\n enabled: !isHidden // @ts-ignore: onEscapeKey() wants an Event, but the rest of this code wants SyntheticEvent<>\n ,\n\n onEscapeKey: function handleEscape(evt) {\n evt.preventDefault();\n handleClose(evt, 'ESC');\n },\n onClickOutside: function handleBackdropClick(evt) {\n if (closeOnBackgroundClick) {\n handleClose(evt, 'backdropClick');\n }\n },\n css: _styles.containerMiddle,\n \"data-ppui\": \"true\"\n }, jsx(\"article\", _extends({\n css: [_styles.base, _styles.modalDialog, !isHidden && _styles.modalBackdropShowDialog],\n className: containerClassName\n }, rest, {\n \"data-ppui\": \"true\"\n }), isFullView ? closeButtonTag : header, jsx(\"section\", {\n className: className,\n css: contentCss,\n onScroll: function scrollChecker() {\n return scrollCheck();\n },\n ref: contentRef,\n \"data-ppui\": \"true\"\n }, jsx(AutoFocusInside, {\n \"data-ppui\": \"true\"\n }, titleElement, children)), footer)));\n};\nvar _excluded$3 = [\"isOpen\", \"onOpen\", \"onClose\", \"onCloseComplete\", \"containerRef\"];\nvar Dialog = function (_ref) {\n var isOpen = _ref.isOpen,\n onOpen = _ref.onOpen,\n onClose = _ref.onClose,\n _ref$onCloseComplete = _ref.onCloseComplete,\n onCloseComplete = _ref$onCloseComplete === void 0 ? onClose : _ref$onCloseComplete,\n containerRef = _ref.containerRef,\n componentProps = _objectWithoutProperties(_ref, _excluded$3);\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n isMounted = _useState2[0],\n setIsMounted = _useState2[1];\n useEffect(function () {\n setIsMounted(true);\n }, []);\n var contents = /*#__PURE__*/React.createElement(Animator, {\n shouldHide: !isOpen,\n onOpen: onOpen,\n onCloseComplete: onCloseComplete,\n \"data-ppui\": \"true\"\n }, function animatee(props) {\n return /*#__PURE__*/React.createElement(DialogComponent, _extends({}, props, componentProps, {\n \"data-ppui\": \"true\"\n }));\n });\n var containerElm = containerRef && containerRef.current; // Delay createPortal until component is mounted to fix server side rendering\n\n return isMounted && ReactDOM.createPortal(contents, containerElm || document.body);\n};\nexport { Dialog, Sheet, styles as modalStyles };","'use strict';\nvar trunc = require('../internals/math-trunc');\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- NaN check\n return number !== number || number === 0 ? 0 : trunc(number);\n};\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport Link, {\n withPrefix,\n withAssetPrefix,\n navigate,\n push,\n replace,\n navigateTo,\n parsePath,\n} from \"gatsby-link\"\nimport { useScrollRestoration } from \"gatsby-react-router-scroll\"\nimport PageRenderer from \"./public-page-renderer\"\nimport loader from \"./loader\"\n\nconst prefetchPathname = loader.enqueue\n\nconst StaticQueryContext = React.createContext({})\n\nfunction StaticQueryDataRenderer({ staticQueryData, data, query, render }) {\n const finalData = data\n ? data.data\n : staticQueryData[query] && staticQueryData[query].data\n\n return (\n \n {finalData && render(finalData)}\n {!finalData &&
Loading (StaticQuery)
}\n
\n )\n}\n\nconst StaticQuery = props => {\n const { data, query, render, children } = props\n\n return (\n \n {staticQueryData => (\n \n )}\n \n )\n}\n\nconst useStaticQuery = query => {\n if (\n typeof React.useContext !== `function` &&\n process.env.NODE_ENV === `development`\n ) {\n throw new Error(\n `You're likely using a version of React that doesn't support Hooks\\n` +\n `Please update React and ReactDOM to 16.8.0 or later to use the useStaticQuery hook.`\n )\n }\n const context = React.useContext(StaticQueryContext)\n\n // query is a stringified number like `3303882` when wrapped with graphql, If a user forgets\n // to wrap the query in a grqphql, then casting it to a Number results in `NaN` allowing us to\n // catch the misuse of the API and give proper direction\n if (isNaN(Number(query))) {\n throw new Error(`useStaticQuery was called with a string but expects to be called using \\`graphql\\`. Try this:\n\nimport { useStaticQuery, graphql } from 'gatsby';\n\nuseStaticQuery(graphql\\`${query}\\`);\n`)\n }\n\n if (context[query]?.data) {\n return context[query].data\n } else {\n throw new Error(\n `The result of this StaticQuery could not be fetched.\\n\\n` +\n `This is likely a bug in Gatsby and if refreshing the page does not fix it, ` +\n `please open an issue in https://github.com/gatsbyjs/gatsby/issues`\n )\n }\n}\n\nStaticQuery.propTypes = {\n data: PropTypes.object,\n query: PropTypes.string.isRequired,\n render: PropTypes.func,\n children: PropTypes.func,\n}\n\nfunction graphql() {\n throw new Error(\n `It appears like Gatsby is misconfigured. Gatsby related \\`graphql\\` calls ` +\n `are supposed to only be evaluated at compile time, and then compiled away. ` +\n `Unfortunately, something went wrong and the query was left in the compiled code.\\n\\n` +\n `Unless your site has a complex or custom babel/Gatsby configuration this is likely a bug in Gatsby.`\n )\n}\n\nexport {\n Link,\n withAssetPrefix,\n withPrefix,\n graphql,\n parsePath,\n navigate,\n push, // TODO replace for v3\n replace, // TODO remove replace for v3\n navigateTo, // TODO: remove navigateTo for v3\n useScrollRestoration,\n StaticQueryContext,\n StaticQuery,\n PageRenderer,\n useStaticQuery,\n prefetchPathname,\n}\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw $TypeError(tryToString(argument) + ' is not a function');\n};\n","'use strict';\nmodule.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","import _taggedTemplateLiteral from '@babel/runtime/helpers/esm/taggedTemplateLiteral';\nimport { css, keyframes, useTheme, jsx } from '@emotion/react';\nimport { math, stripUnit, remToPx } from 'polished';\nimport { textStyles } from '@paypalcorp/pp-react-text';\nimport { utilStyles, getColorValue, ColorContext, hasWindow } from '@paypalcorp/pp-react-utils';\nimport _defineProperty from '@babel/runtime/helpers/esm/defineProperty';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';\nimport React, { forwardRef, useMemo, useState, useRef, Children } from 'react';\nimport { LoadingSpinner } from '@paypalcorp/pp-react-loading-spinner';\nimport { CheckmarkIcon, ChevronUpIcon, ChevronDownIcon } from '@paypalcorp/pp-react-icons';\nimport _slicedToArray from '@babel/runtime/helpers/esm/slicedToArray';\nimport { ActionMenu } from '@paypalcorp/pp-react-menu';\nvar _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17, _templateObject18, _templateObject19, _templateObject20, _templateObject21;\nfunction styles(tokens, colorTokens) {\n /* istanbul ignore next */\n if (!Object.keys(tokens).length) {\n console.warn('Missing Emotion theme. Use ThemeProvider from @emotion/react to pass a valid theme from pp-react.');\n return {};\n }\n var sysSpaceSm = tokens.sysSpaceSm,\n sysSpaceMd = tokens.sysSpaceMd,\n sysSpaceLg = tokens.sysSpaceLg,\n sysSpaceJumbo = tokens.sysSpaceJumbo,\n sysBorderThicknessEmphasis = tokens.sysBorderThicknessEmphasis,\n sysBorderThicknessNormal = tokens.sysBorderThicknessNormal,\n sysSizeIndicatorMd = tokens.sysSizeIndicatorMd,\n sysMotionDurationAction = tokens.sysMotionDurationAction,\n sysColorPrimaryMain = tokens.sysColorPrimaryMain,\n sysColorPrimaryContrast = tokens.sysColorPrimaryContrast,\n sysColorPrimaryMainHover = tokens.sysColorPrimaryMainHover,\n sysColorPrimaryMainActive = tokens.sysColorPrimaryMainActive,\n sysColorPrimaryContrastHover = tokens.sysColorPrimaryContrastHover,\n sysColorPrimaryContrastActive = tokens.sysColorPrimaryContrastActive,\n sysColorFeaturedMain = tokens.sysColorFeaturedMain,\n sysColorFeaturedMainHover = tokens.sysColorFeaturedMainHover,\n sysColorFeaturedMainActive = tokens.sysColorFeaturedMainActive,\n sysColorFeaturedContrast = tokens.sysColorFeaturedContrast,\n sysColorSecondaryMain = tokens.sysColorSecondaryMain,\n sysColorSuccessMain = tokens.sysColorSuccessMain,\n sysMotionDurationHover = tokens.sysMotionDurationHover,\n sysSizeMediaMd = tokens.sysSizeMediaMd,\n sysSizeMediaSm = tokens.sysSizeMediaSm;\n var buttonFocusBorderOffset = \"-\".concat(sysBorderThicknessEmphasis);\n var _utilStyles = utilStyles(tokens),\n screenReader = _utilStyles.screenReader,\n focusStyles = _utilStyles.focusStyles;\n var _textStyles = textStyles(tokens),\n buttonLg = _textStyles.buttonLg,\n buttonSm = _textStyles.buttonSm;\n var offsetFocusAfter = focusStyles.offsetFocusAfter; // Base Styles for button\n\n var base = css(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n label: button_base;\\n position: relative;\\n border-radius: 1000px;\\n color: \", \";\\n cursor: pointer;\\n display: inline-block;\\n min-width: \", \";\\n text-align: center;\\n text-decoration: none;\\n transition: color \", \" ease,\\n background-color \", \" ease,\\n border-color \", \" ease,\\n box-shadow \", \" ease;\\n border: \", \" solid\\n \", \";\\n \", \";\\n background-color: \", \";\\n padding: \", \"\\n \", \";\\n\\n &:hover,\\n &:active,\\n &:visited {\\n color: \", \";\\n }\\n\\n &:hover {\\n text-decoration: none;\\n background-color: \", \";\\n border-color: \", \";\\n }\\n\\n &:active {\\n outline: none;\\n background-color: \", \";\\n border-color: \", \";\\n }\\n\\n &:focus {\\n outline: none;\\n &:after {\\n \", \"\\n }\\n }\\n\\n [dir='rtl'] &:focus:after {\\n left: 0;\\n right: \", \";\\n }\\n \"])), getColorValue(colorTokens, sysColorPrimaryContrast, 'contrast'), '6rem', sysMotionDurationAction, sysMotionDurationAction, sysMotionDurationAction, sysMotionDurationAction, sysBorderThicknessEmphasis, getColorValue(colorTokens, sysColorPrimaryMain, 'main'), buttonLg({\n color: getColorValue(colorTokens, sysColorPrimaryContrast, 'contrast')\n }), getColorValue(colorTokens, sysColorPrimaryMain, 'main'), math(\"\".concat(sysSpaceMd, \" - \").concat(sysBorderThicknessEmphasis)), math(\"\".concat(sysSpaceJumbo, \" - \").concat(sysBorderThicknessEmphasis)), getColorValue(colorTokens, sysColorPrimaryContrast, 'contrast'), getColorValue(colorTokens, sysColorPrimaryMainHover, 'hover'), getColorValue(colorTokens, sysColorPrimaryMainHover, 'hover'), getColorValue(colorTokens, sysColorPrimaryMainActive, 'active'), getColorValue(colorTokens, sysColorPrimaryMainActive, 'active'), offsetFocusAfter({\n horizontalOffset: buttonFocusBorderOffset,\n verticalOffset: buttonFocusBorderOffset\n }), buttonFocusBorderOffset); // Styles for button in dark background\n\n var inverse = css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral([\"\\n label: inverse;\\n background-color: \", \";\\n border-color: \", \";\\n color: \", \";\\n\\n &:hover,\\n &:active,\\n &:visited {\\n color: \", \";\\n }\\n\\n &:hover {\\n background: \", \";\\n border-color: \", \";\\n }\\n\\n &:active {\\n background: \", \";\\n border-color: \", \";\\n }\\n\\n [dir='rtl'] &:focus:after {\\n left: 0;\\n right: \", \";\\n }\\n \"])), getColorValue(colorTokens, sysColorPrimaryContrast, 'contrast'), getColorValue(colorTokens, sysColorPrimaryContrast, 'contrast'), getColorValue(colorTokens, sysColorPrimaryMain, 'main'), getColorValue(colorTokens, sysColorPrimaryMain, 'main'), getColorValue(colorTokens, sysColorPrimaryContrastHover, 'hover'), getColorValue(colorTokens, sysColorPrimaryContrastHover, 'hover'), getColorValue(colorTokens, sysColorPrimaryContrastActive, 'active'), getColorValue(colorTokens, sysColorPrimaryContrastActive, 'active'), buttonFocusBorderOffset); // Styles for secondary buttons\n\n var secondary = css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral([\"\\n label: secondary;\\n background: transparent;\\n border-color: \", \";\\n color: \", \";\\n box-shadow: 0 0 0 \", \" transparent inset;\\n\\n &:visited {\\n color: \", \";\\n }\\n\\n &:hover {\\n background: transparent;\\n color: \", \";\\n border-color: \", \";\\n box-shadow: none;\\n }\\n\\n &:active {\\n background: transparent;\\n color: \", \";\\n border-color: \", \";\\n box-shadow: none;\\n }\\n \"])), getColorValue(colorTokens, sysColorPrimaryMain, 'main'), getColorValue(colorTokens, sysColorPrimaryMain, 'main'), sysBorderThicknessNormal, getColorValue(colorTokens, sysColorPrimaryMain, 'main'), getColorValue(colorTokens, sysColorPrimaryMainHover, 'hover'), getColorValue(colorTokens, sysColorPrimaryMainHover, 'hover'), getColorValue(colorTokens, sysColorPrimaryMainActive, 'active'), getColorValue(colorTokens, sysColorPrimaryMainActive, 'active')); // Styles for secondary inverse\n\n var secondaryInverse = css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral([\"\\n label: secondary_inverse;\\n border-color: \", \";\\n color: \", \";\\n background-color: transparent;\\n\\n &:visited {\\n color: \", \";\\n }\\n\\n &:hover {\\n background: \", \";\\n color: \", \";\\n border-color: \", \";\\n box-shadow: none;\\n }\\n\\n &:active {\\n background: \", \";\\n color: \", \";\\n border-color: \", \";\\n box-shadow: none;\\n }\\n \"])), getColorValue(colorTokens, sysColorPrimaryContrast, 'contrast'), getColorValue(colorTokens, sysColorPrimaryContrast, 'contrast'), getColorValue(colorTokens, sysColorPrimaryContrastActive, 'contrast'), getColorValue(colorTokens, 'transparent', 'hover'), getColorValue(colorTokens, sysColorPrimaryContrastHover, 'contrast'), getColorValue(colorTokens, sysColorPrimaryContrastHover, 'contrast'), getColorValue(colorTokens, sysColorPrimaryMainActive, 'active'), getColorValue(colorTokens, sysColorPrimaryContrastActive, 'contrast'), getColorValue(colorTokens, sysColorPrimaryContrastActive, 'contrast')); // Styles for branded buttons\n // Only applies to large variant, cannot be applied to icon\n\n var branded = css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral([\"\\n label: branded;\\n background: \", \";\\n border-color: \", \";\\n color: \", \";\\n\\n &:hover,\\n &:active,\\n &:visited {\\n color: \", \";\\n }\\n\\n &:hover {\\n background: \", \";\\n border-color: \", \";\\n }\\n\\n &:active {\\n background: \", \";\\n border-color: \", \";\\n }\\n \"])), sysColorFeaturedMain, sysColorFeaturedMain, sysColorFeaturedContrast, sysColorFeaturedContrast, sysColorFeaturedMainHover, sysColorFeaturedMainHover, sysColorFeaturedMainActive, sysColorFeaturedMainActive); // Styles for tertiary button\n\n var tertiary = css(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral([\"\\n label: tertiary;\\n position: relative;\\n cursor: pointer;\\n display: inline-block;\\n background: transparent;\\n border: none;\\n \", \"\\n padding: \", \" \", \";\\n\\n &:hover,\\n &:active {\\n color: \", \";\\n background: transparent;\\n }\\n\\n &:hover,\\n &:focus {\\n text-decoration: underline;\\n }\\n\\n &:active {\\n text-decoration: none;\\n }\\n\\n &:focus {\\n outline: none;\\n color: \", \";\\n &:after {\\n \", \"\\n }\\n }\\n \"])), buttonLg({\n color: getColorValue(colorTokens, sysColorSecondaryMain, 'main')\n }), sysSpaceMd, sysSpaceSm, getColorValue(colorTokens, sysColorSecondaryMain, 'main'), getColorValue(colorTokens, sysColorSecondaryMain, 'main'), offsetFocusAfter({\n radius: '0.25rem',\n horizontalOffset: '0rem',\n verticalOffset: '0rem'\n })); // styles for icon\n\n var icon = css(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral([\"\\n label: icon;\\n vertical-align: top;\\n margin-inline-end: \", \";\\n margin-inline-start: 0;\\n \"])), sysSpaceSm);\n var affordance = css(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral([\"\\n label: affordance;\\n margin-inline-start: \", \";\\n margin-inline-end: 0;\\n vertical-align: top;\\n position: relative;\\n pointer-events: none;\\n \"])), sysSpaceSm);\n var menuWrapper = css(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral([\"\\n label: menu-wrap;\\n position: relative;\\n \"]))); // Size sm\n\n var sizeSm = css(_templateObject10 || (_templateObject10 = _taggedTemplateLiteral([\"\\n label: size_sm;\\n \", \"\\n min-width: \", \";\\n padding: \", \"\\n \", \";\\n \"])), buttonSm({\n color: getColorValue(colorTokens, sysColorPrimaryContrast, 'contrast')\n }), '3.75rem', math(\"\".concat(sysSizeIndicatorMd, \" - \").concat(sysBorderThicknessEmphasis)), math(\"\".concat(sysSpaceLg, \" - \").concat(sysBorderThicknessEmphasis))); // Stateful button styles\n // Button success state\n\n var successState = css(_templateObject11 || (_templateObject11 = _taggedTemplateLiteral([\"\\n label: success_state;\\n border-color: \", \";\\n background-color: \", \";\\n pointer-events: none;\\n \"])), getColorValue(colorTokens, sysColorSuccessMain, 'main'), getColorValue(colorTokens, sysColorSuccessMain, 'main')); // Button processing state\n\n var processingState = css(_templateObject12 || (_templateObject12 = _taggedTemplateLiteral([\"\\n label: processing_state;\\n color: transparent;\\n pointer-events: none;\\n\\n &:hover,\\n &:active,\\n &:visited {\\n color: transparent;\\n }\\n \"])));\n var fadeIn = keyframes(_templateObject13 || (_templateObject13 = _taggedTemplateLiteral([\"\\n 0% {\\n opacity: 0;\\n }\\n 100% {\\n opacity: 1;\\n }\\n \"]))); //Overlay\n\n var overlay = css(_templateObject14 || (_templateObject14 = _taggedTemplateLiteral([\"\\n label: overlay;\\n position: absolute;\\n top: 0;\\n bottom: 0;\\n left: 0;\\n right: 0;\\n border-radius: inherit;\\n text-align: center;\\n opacity: 0;\\n animation: \", \" \", \" ease-in forwards;\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n padding-right: 0;\\n \"])), fadeIn, sysMotionDurationHover);\n var successStateOverlay = css(_templateObject15 || (_templateObject15 = _taggedTemplateLiteral([\"\\n label: success_state_overlay;\\n background-color: \", \";\\n \"])), getColorValue(colorTokens, sysColorSuccessMain, 'main'));\n var successStateIcon = css(_templateObject16 || (_templateObject16 = _taggedTemplateLiteral([\"\\n label: success_state_icon;\\n line-height: \", \";\\n color: \", \";\\n \"])), 2, getColorValue(colorTokens, sysColorPrimaryContrast, 'contrast'));\n var successStateIconSm = css(_templateObject17 || (_templateObject17 = _taggedTemplateLiteral([\"\\n label: success_state_icon_sm;\\n line-height: \", \";\\n \"])), 1.6);\n var buttonGroup = css(_templateObject18 || (_templateObject18 = _taggedTemplateLiteral([\"\\n label: button_group;\\n display: inline-grid;\\n grid-template-columns: 1fr 1fr;\\n gap: \", \";\\n padding: \", \" \", \";\\n \"])), sysSpaceLg, sysSpaceMd, sysSpaceLg);\n var buttonGroupSolo = css(_templateObject19 || (_templateObject19 = _taggedTemplateLiteral([\"\\n label: solo;\\n grid-template-columns: 1fr;\\n \"])));\n var btnFullWidth = css(_templateObject20 || (_templateObject20 = _taggedTemplateLiteral([\"\\n label: btn_full_width;\\n @media (max-width: \", \") {\\n width: 100%;\\n }\\n \"])), sysSizeMediaMd);\n var btnGroupFullWidth = css(_templateObject21 || (_templateObject21 = _taggedTemplateLiteral([\"\\n label: btn_group_full_width;\\n @media (max-width: \", \") {\\n grid-template-columns: none;\\n width: 100%;\\n }\\n \"])), sysSizeMediaSm);\n return {\n base: base,\n secondary: secondary,\n inverse: inverse,\n secondaryInverse: secondaryInverse,\n branded: branded,\n tertiary: tertiary,\n icon: icon,\n affordance: affordance,\n menuWrapper: menuWrapper,\n sizeSm: sizeSm,\n successState: successState,\n processingState: processingState,\n screenReader: screenReader,\n overlay: overlay,\n successStateOverlay: successStateOverlay,\n successStateIcon: successStateIcon,\n successStateIconSm: successStateIconSm,\n buttonGroup: buttonGroup,\n buttonGroupSolo: buttonGroupSolo,\n btnFullWidth: btnFullWidth,\n btnGroupFullWidth: btnGroupFullWidth\n };\n}\nvar _excluded = [\"isMenu\", \"isOpen\", \"isSmall\"],\n _excluded2 = [\"size\", \"inverse\", \"secondary\", \"branded\", \"tertiary\", \"isMenu\", \"isOpen\", \"btnState\", \"screenReaderText\", \"className\", \"children\", \"as\", \"iconComponent\", \"fullWidthOnMobile\"];\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}\nvar AffordanceIcon = function (_ref) {\n var isMenu = _ref.isMenu,\n isOpen = _ref.isOpen,\n isSmall = _ref.isSmall,\n rest = _objectWithoutProperties(_ref, _excluded);\n if (!isMenu) {\n return null;\n }\n var Icon = isOpen ? ChevronUpIcon : ChevronDownIcon; // @ts-ignore\n\n return jsx(Icon, _extends({}, rest, {\n size: isSmall ? 'xs' : 'sm',\n \"data-ppui\": \"true\"\n }));\n};\n\n/* eslint-disable complexity */\nvar Button = forwardRef(function (_ref2, ref) {\n var size = _ref2.size,\n inverse = _ref2.inverse,\n secondary = _ref2.secondary,\n branded = _ref2.branded,\n tertiary = _ref2.tertiary,\n isMenu = _ref2.isMenu,\n isOpen = _ref2.isOpen,\n _ref2$btnState = _ref2.btnState,\n btnState = _ref2$btnState === void 0 ? 'initial' : _ref2$btnState,\n screenReaderText = _ref2.screenReaderText,\n className = _ref2.className,\n children = _ref2.children,\n as = _ref2.as,\n iconComponent = _ref2.iconComponent,\n _ref2$fullWidthOnMobi = _ref2.fullWidthOnMobile,\n fullWidthOnMobile = _ref2$fullWidthOnMobi === void 0 ? true : _ref2$fullWidthOnMobi,\n rest = _objectWithoutProperties(_ref2, _excluded2);\n\n // If theme is not directly provided, get from themeContext\n var tokens = useTheme();\n var colorTokens = React.useContext(ColorContext);\n var buttonStyles = useMemo(function () {\n return styles(tokens, colorTokens);\n }, [tokens]);\n var loadingSpinnerProps = {};\n if (btnState === 'processing') {\n loadingSpinnerProps.as = 'span';\n if (size === 'sm') {\n loadingSpinnerProps.size = 'xs';\n }\n if (secondary && inverse || !secondary && !inverse) {\n loadingSpinnerProps.inverse = true;\n }\n }\n var cssVal;\n if (branded) {\n cssVal = [buttonStyles.base, buttonStyles.branded];\n } else if (tertiary) {\n cssVal = [buttonStyles.tertiary];\n } else {\n // Note: the order of composition below is very important since rules from a latter style set will override the former.\n cssVal = [buttonStyles.base, fullWidthOnMobile && buttonStyles.btnFullWidth, size === 'sm' && buttonStyles.sizeSm, inverse && buttonStyles.inverse, secondary && buttonStyles.secondary, secondary && inverse && buttonStyles.secondaryInverse, btnState === 'success' && buttonStyles.successState, btnState === 'processing' && buttonStyles.processingState];\n }\n var componentProps = _objectSpread({}, rest);\n if (isOpen !== undefined) {\n componentProps['aria-expanded'] = isOpen;\n }\n return jsx(as || 'button', _extends({\n css: cssVal,\n className: className,\n disabled: btnState && btnState !== 'initial',\n ref: ref,\n \"data-ppui-info\": \"buttons_7.7.2\"\n }, componentProps), function renderChildren() {\n var srText;\n if (btnState !== 'initial') {\n srText = screenReaderText || btnState;\n }\n var successIconSize = size === 'sm' ? 'sm' : 'md';\n var successIconCSSVal = [buttonStyles.successStateIcon, size === 'sm' && buttonStyles.successStateIconSm];\n var buttonCheckmarkIcon = jsx(CheckmarkIcon, {\n css: successIconCSSVal,\n size: successIconSize,\n \"data-ppui\": \"true\"\n });\n var iconMarkup = null;\n if (iconComponent) {\n var svgIconSize = size === 'sm' ? 'xs' : 'sm';\n iconMarkup = jsx(iconComponent, {\n css: buttonStyles.icon,\n size: svgIconSize,\n \"data-ppui\": \"true\"\n });\n }\n var overlayCSSVal = [buttonStyles.overlay, btnState === 'success' && buttonStyles.successStateOverlay];\n var stateOverlay = btnState !== 'initial' ? jsx(\"span\", {\n css: overlayCSSVal,\n \"data-ppui\": \"true\"\n }, btnState === 'success' && buttonCheckmarkIcon, btnState === 'processing' && jsx(LoadingSpinner, _extends({}, loadingSpinnerProps, {\n \"data-ppui\": \"true\"\n }))) : null;\n var assistiveText = srText ? jsx(\"span\", {\n role: \"status\",\n css: buttonStyles.screenReader,\n \"data-ppui\": \"true\"\n }, children, \" \", srText) : null;\n return jsx(React.Fragment, null, iconMarkup, children, jsx(AffordanceIcon, {\n isMenu: isMenu,\n isOpen: isOpen,\n isSmall: size === 'sm',\n css: buttonStyles.affordance,\n \"data-ppui\": \"true\"\n }), stateOverlay, assistiveText);\n }());\n});\nvar _excluded$1 = [\"id\", \"name\", \"onSelection\", \"options\", \"children\", \"mobileTitle\", \"onClose\"];\nvar ButtonMenu = function (props) {\n var id = props.id,\n name = props.name,\n onSelection = props.onSelection,\n options = props.options,\n children = props.children,\n _props$mobileTitle = props.mobileTitle,\n mobileTitle = _props$mobileTitle === void 0 ? name : _props$mobileTitle,\n onClose = props.onClose,\n rest = _objectWithoutProperties(props, _excluded$1);\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n isMenuOpen = _useState2[0],\n setIsMenuOpen = _useState2[1];\n var menuId = \"\".concat(id, \"_menu\");\n var buttonRef = useRef(null);\n var buttonStyles = styles(useTheme());\n return jsx(\"div\", {\n css: buttonStyles.menuWrapper,\n \"data-ppui\": \"true\"\n }, jsx(Button, _extends({\n onClick: function toggleMenu() {\n setIsMenuOpen(function (currentlyOpen) {\n return !currentlyOpen;\n });\n },\n isMenu: true,\n isOpen: isMenuOpen,\n \"aria-haspopup\": menuId,\n \"aria-expanded\": isMenuOpen,\n id: id,\n ref: buttonRef\n }, rest, {\n \"data-ppui\": \"true\"\n }), children), jsx(ActionMenu, _extends({\n name: name,\n id: menuId,\n initialItemFocus: true,\n triggerRef: buttonRef,\n isOpen: isMenuOpen,\n options: options,\n mobileTitle: mobileTitle,\n onClose: function handleClose(evt) {\n setIsMenuOpen(false);\n /* istanbul ignore next */\n\n if (typeof onClose === 'function') {\n onClose(evt);\n }\n },\n onSelection: function handleSelection(index) {\n setIsMenuOpen(false);\n /* istanbul ignore next */\n\n if (typeof onSelection === 'function') {\n onSelection(index);\n }\n buttonRef.current.focus();\n }\n }, rest, {\n \"data-ppui\": \"true\"\n })));\n};\nvar ButtonGroup = function (_ref) {\n var className = _ref.className,\n _ref$fullWidthOnMobil = _ref.fullWidthOnMobile,\n fullWidthOnMobile = _ref$fullWidthOnMobil === void 0 ? true : _ref$fullWidthOnMobil,\n children = _ref.children;\n // If theme is not directly provided, get from themeContext\n var tokens = useTheme();\n var _styles = useMemo(function () {\n return styles(tokens);\n }, [tokens]);\n var childArray = Children.toArray(children); //@ts-ignore\n\n var breakPointValue = \"\".concat(stripUnit(remToPx(tokens.sysSizeMediaSm)));\n var innerWidth = hasWindow() && window.innerWidth;\n var computedChildren = children;\n if (breakPointValue && innerWidth > parseInt(breakPointValue, 10)) {\n computedChildren = childArray.reverse();\n }\n var hasButtonCountOne = childArray.length === 1;\n var buttonGroupCSSVal = [_styles.buttonGroup, hasButtonCountOne && _styles.buttonGroupSolo, fullWidthOnMobile && _styles.btnGroupFullWidth];\n return jsx(\"div\", {\n css: buttonGroupCSSVal,\n className: className,\n \"data-ppui\": \"true\"\n }, computedChildren);\n};\nexport { Button, ButtonGroup, ButtonMenu, styles as buttonStyles };","'use strict';\nvar global = require('../internals/global');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(global, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","\"use strict\";\n\nmodule.exports = Object.assign;","import { Badge, ClockIcon } from '@paypalcorp/pp-react';\nimport * as React from 'react';\nexport default {\n Badge,\n ClockIcon,\n React\n};","var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/* eslint-disable jsx-a11y/anchor-has-content */\nimport React, { useContext } from \"react\";\nimport PropTypes from \"prop-types\";\nimport invariant from \"invariant\";\nimport createContext from \"create-react-context\";\nimport { polyfill } from \"react-lifecycles-compat\";\nimport { startsWith, pick, resolve, match, insertParams, validateRedirect, shallowCompare } from \"./lib/utils\";\nimport { globalHistory, navigate, createHistory, createMemorySource } from \"./lib/history\";\n\n////////////////////////////////////////////////////////////////////////////////\n\nvar createNamedContext = function createNamedContext(name, defaultValue) {\n var Ctx = createContext(defaultValue);\n Ctx.displayName = name;\n return Ctx;\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// Location Context/Provider\nvar LocationContext = createNamedContext(\"Location\");\n\n// sets up a listener if there isn't one already so apps don't need to be\n// wrapped in some top level provider\nvar Location = function Location(_ref) {\n var children = _ref.children;\n return React.createElement(\n LocationContext.Consumer,\n null,\n function (context) {\n return context ? children(context) : React.createElement(\n LocationProvider,\n null,\n children\n );\n }\n );\n};\n\nvar LocationProvider = function (_React$Component) {\n _inherits(LocationProvider, _React$Component);\n\n function LocationProvider() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, LocationProvider);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.state = {\n context: _this.getContext(),\n refs: { unlisten: null }\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n LocationProvider.prototype.getContext = function getContext() {\n var _props$history = this.props.history,\n navigate = _props$history.navigate,\n location = _props$history.location;\n\n return { navigate: navigate, location: location };\n };\n\n LocationProvider.prototype.componentDidCatch = function componentDidCatch(error, info) {\n if (isRedirect(error)) {\n var _navigate = this.props.history.navigate;\n\n _navigate(error.uri, { replace: true });\n } else {\n throw error;\n }\n };\n\n LocationProvider.prototype.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {\n if (prevState.context.location !== this.state.context.location) {\n this.props.history._onTransitionComplete();\n }\n };\n\n LocationProvider.prototype.componentDidMount = function componentDidMount() {\n var _this2 = this;\n\n var refs = this.state.refs,\n history = this.props.history;\n\n history._onTransitionComplete();\n refs.unlisten = history.listen(function () {\n Promise.resolve().then(function () {\n // TODO: replace rAF with react deferred update API when it's ready https://github.com/facebook/react/issues/13306\n requestAnimationFrame(function () {\n if (!_this2.unmounted) {\n _this2.setState(function () {\n return { context: _this2.getContext() };\n });\n }\n });\n });\n });\n };\n\n LocationProvider.prototype.componentWillUnmount = function componentWillUnmount() {\n var refs = this.state.refs;\n\n this.unmounted = true;\n refs.unlisten();\n };\n\n LocationProvider.prototype.render = function render() {\n var context = this.state.context,\n children = this.props.children;\n\n return React.createElement(\n LocationContext.Provider,\n { value: context },\n typeof children === \"function\" ? children(context) : children || null\n );\n };\n\n return LocationProvider;\n}(React.Component);\n\n////////////////////////////////////////////////////////////////////////////////\n\n\nLocationProvider.defaultProps = {\n history: globalHistory\n};\nprocess.env.NODE_ENV !== \"production\" ? LocationProvider.propTypes = {\n history: PropTypes.object.isRequired\n} : void 0;\nvar ServerLocation = function ServerLocation(_ref2) {\n var url = _ref2.url,\n children = _ref2.children;\n\n var searchIndex = url.indexOf(\"?\");\n var searchExists = searchIndex > -1;\n var pathname = void 0;\n var search = \"\";\n var hash = \"\";\n\n if (searchExists) {\n pathname = url.substring(0, searchIndex);\n search = url.substring(searchIndex);\n } else {\n pathname = url;\n }\n\n return React.createElement(\n LocationContext.Provider,\n {\n value: {\n location: {\n pathname: pathname,\n search: search,\n hash: hash\n },\n navigate: function navigate() {\n throw new Error(\"You can't call navigate on the server.\");\n }\n }\n },\n children\n );\n};\n////////////////////////////////////////////////////////////////////////////////\n// Sets baseuri and basepath for nested routers and links\nvar BaseContext = createNamedContext(\"Base\", { baseuri: \"/\", basepath: \"/\" });\n\n////////////////////////////////////////////////////////////////////////////////\n// The main event, welcome to the show everybody.\nvar Router = function Router(props) {\n return React.createElement(\n BaseContext.Consumer,\n null,\n function (baseContext) {\n return React.createElement(\n Location,\n null,\n function (locationContext) {\n return React.createElement(RouterImpl, _extends({}, baseContext, locationContext, props));\n }\n );\n }\n );\n};\n\nvar RouterImpl = function (_React$PureComponent) {\n _inherits(RouterImpl, _React$PureComponent);\n\n function RouterImpl() {\n _classCallCheck(this, RouterImpl);\n\n return _possibleConstructorReturn(this, _React$PureComponent.apply(this, arguments));\n }\n\n RouterImpl.prototype.render = function render() {\n var _props = this.props,\n location = _props.location,\n _navigate2 = _props.navigate,\n basepath = _props.basepath,\n primary = _props.primary,\n children = _props.children,\n baseuri = _props.baseuri,\n _props$component = _props.component,\n component = _props$component === undefined ? \"div\" : _props$component,\n domProps = _objectWithoutProperties(_props, [\"location\", \"navigate\", \"basepath\", \"primary\", \"children\", \"baseuri\", \"component\"]);\n\n var routes = React.Children.toArray(children).reduce(function (array, child) {\n var routes = createRoute(basepath)(child);\n return array.concat(routes);\n }, []);\n var pathname = location.pathname;\n\n\n var match = pick(routes, pathname);\n\n if (match) {\n var params = match.params,\n uri = match.uri,\n route = match.route,\n element = match.route.value;\n\n // remove the /* from the end for child routes relative paths\n\n basepath = route.default ? basepath : route.path.replace(/\\*$/, \"\");\n\n var props = _extends({}, params, {\n uri: uri,\n location: location,\n navigate: function navigate(to, options) {\n return _navigate2(resolve(to, uri), options);\n }\n });\n\n var clone = React.cloneElement(element, props, element.props.children ? React.createElement(\n Router,\n { location: location, primary: primary },\n element.props.children\n ) : undefined);\n\n // using 'div' for < 16.3 support\n var FocusWrapper = primary ? FocusHandler : component;\n // don't pass any props to 'div'\n var wrapperProps = primary ? _extends({ uri: uri, location: location, component: component }, domProps) : domProps;\n\n return React.createElement(\n BaseContext.Provider,\n { value: { baseuri: uri, basepath: basepath } },\n React.createElement(\n FocusWrapper,\n wrapperProps,\n clone\n )\n );\n } else {\n // Not sure if we want this, would require index routes at every level\n // warning(\n // false,\n // `\\n\\nNothing matched:\\n\\t${\n // location.pathname\n // }\\n\\nPaths checked: \\n\\t${routes\n // .map(route => route.path)\n // .join(\n // \"\\n\\t\"\n // )}\\n\\nTo get rid of this warning, add a default NotFound component as child of Router:\n // \\n\\tlet NotFound = () =>
Not Found!
\n // \\n\\t\\n\\t \\n\\t {/* ... */}\\n\\t`\n // );\n return null;\n }\n };\n\n return RouterImpl;\n}(React.PureComponent);\n\nRouterImpl.defaultProps = {\n primary: true\n};\n\n\nvar FocusContext = createNamedContext(\"Focus\");\n\nvar FocusHandler = function FocusHandler(_ref3) {\n var uri = _ref3.uri,\n location = _ref3.location,\n component = _ref3.component,\n domProps = _objectWithoutProperties(_ref3, [\"uri\", \"location\", \"component\"]);\n\n return React.createElement(\n FocusContext.Consumer,\n null,\n function (requestFocus) {\n return React.createElement(FocusHandlerImpl, _extends({}, domProps, {\n component: component,\n requestFocus: requestFocus,\n uri: uri,\n location: location\n }));\n }\n );\n};\n\n// don't focus on initial render\nvar initialRender = true;\nvar focusHandlerCount = 0;\n\nvar FocusHandlerImpl = function (_React$Component2) {\n _inherits(FocusHandlerImpl, _React$Component2);\n\n function FocusHandlerImpl() {\n var _temp2, _this4, _ret2;\n\n _classCallCheck(this, FocusHandlerImpl);\n\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return _ret2 = (_temp2 = (_this4 = _possibleConstructorReturn(this, _React$Component2.call.apply(_React$Component2, [this].concat(args))), _this4), _this4.state = {}, _this4.requestFocus = function (node) {\n if (!_this4.state.shouldFocus && node) {\n node.focus();\n }\n }, _temp2), _possibleConstructorReturn(_this4, _ret2);\n }\n\n FocusHandlerImpl.getDerivedStateFromProps = function getDerivedStateFromProps(nextProps, prevState) {\n var initial = prevState.uri == null;\n if (initial) {\n return _extends({\n shouldFocus: true\n }, nextProps);\n } else {\n var myURIChanged = nextProps.uri !== prevState.uri;\n var navigatedUpToMe = prevState.location.pathname !== nextProps.location.pathname && nextProps.location.pathname === nextProps.uri;\n return _extends({\n shouldFocus: myURIChanged || navigatedUpToMe\n }, nextProps);\n }\n };\n\n FocusHandlerImpl.prototype.componentDidMount = function componentDidMount() {\n focusHandlerCount++;\n this.focus();\n };\n\n FocusHandlerImpl.prototype.componentWillUnmount = function componentWillUnmount() {\n focusHandlerCount--;\n if (focusHandlerCount === 0) {\n initialRender = true;\n }\n };\n\n FocusHandlerImpl.prototype.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {\n if (prevProps.location !== this.props.location && this.state.shouldFocus) {\n this.focus();\n }\n };\n\n FocusHandlerImpl.prototype.focus = function focus() {\n if (process.env.NODE_ENV === \"test\") {\n // getting cannot read property focus of null in the tests\n // and that bit of global `initialRender` state causes problems\n // should probably figure it out!\n return;\n }\n\n var requestFocus = this.props.requestFocus;\n\n\n if (requestFocus) {\n requestFocus(this.node);\n } else {\n if (initialRender) {\n initialRender = false;\n } else if (this.node) {\n // React polyfills [autofocus] and it fires earlier than cDM,\n // so we were stealing focus away, this line prevents that.\n if (!this.node.contains(document.activeElement)) {\n this.node.focus();\n }\n }\n }\n };\n\n FocusHandlerImpl.prototype.render = function render() {\n var _this5 = this;\n\n var _props2 = this.props,\n children = _props2.children,\n style = _props2.style,\n requestFocus = _props2.requestFocus,\n _props2$component = _props2.component,\n Comp = _props2$component === undefined ? \"div\" : _props2$component,\n uri = _props2.uri,\n location = _props2.location,\n domProps = _objectWithoutProperties(_props2, [\"children\", \"style\", \"requestFocus\", \"component\", \"uri\", \"location\"]);\n\n return React.createElement(\n Comp,\n _extends({\n style: _extends({ outline: \"none\" }, style),\n tabIndex: \"-1\",\n ref: function ref(n) {\n return _this5.node = n;\n }\n }, domProps),\n React.createElement(\n FocusContext.Provider,\n { value: this.requestFocus },\n this.props.children\n )\n );\n };\n\n return FocusHandlerImpl;\n}(React.Component);\n\npolyfill(FocusHandlerImpl);\n\nvar k = function k() {};\n\n////////////////////////////////////////////////////////////////////////////////\nvar forwardRef = React.forwardRef;\n\nif (typeof forwardRef === \"undefined\") {\n forwardRef = function forwardRef(C) {\n return C;\n };\n}\n\nvar Link = forwardRef(function (_ref4, ref) {\n var innerRef = _ref4.innerRef,\n props = _objectWithoutProperties(_ref4, [\"innerRef\"]);\n\n return React.createElement(\n BaseContext.Consumer,\n null,\n function (_ref5) {\n var basepath = _ref5.basepath,\n baseuri = _ref5.baseuri;\n return React.createElement(\n Location,\n null,\n function (_ref6) {\n var location = _ref6.location,\n navigate = _ref6.navigate;\n\n var to = props.to,\n state = props.state,\n replace = props.replace,\n _props$getProps = props.getProps,\n getProps = _props$getProps === undefined ? k : _props$getProps,\n anchorProps = _objectWithoutProperties(props, [\"to\", \"state\", \"replace\", \"getProps\"]);\n\n var href = resolve(to, baseuri);\n var encodedHref = encodeURI(href);\n var isCurrent = location.pathname === encodedHref;\n var isPartiallyCurrent = startsWith(location.pathname, encodedHref);\n\n return React.createElement(\"a\", _extends({\n ref: ref || innerRef,\n \"aria-current\": isCurrent ? \"page\" : undefined\n }, anchorProps, getProps({ isCurrent: isCurrent, isPartiallyCurrent: isPartiallyCurrent, href: href, location: location }), {\n href: href,\n onClick: function onClick(event) {\n if (anchorProps.onClick) anchorProps.onClick(event);\n if (shouldNavigate(event)) {\n event.preventDefault();\n var shouldReplace = replace;\n if (typeof replace !== \"boolean\" && isCurrent) {\n var _location$state = _extends({}, location.state),\n key = _location$state.key,\n restState = _objectWithoutProperties(_location$state, [\"key\"]);\n\n shouldReplace = shallowCompare(_extends({}, state), restState);\n }\n navigate(href, {\n state: state,\n replace: shouldReplace\n });\n }\n }\n }));\n }\n );\n }\n );\n});\n\nLink.displayName = \"Link\";\n\nprocess.env.NODE_ENV !== \"production\" ? Link.propTypes = {\n to: PropTypes.string.isRequired\n} : void 0;\n\n////////////////////////////////////////////////////////////////////////////////\nfunction RedirectRequest(uri) {\n this.uri = uri;\n}\n\nvar isRedirect = function isRedirect(o) {\n return o instanceof RedirectRequest;\n};\n\nvar redirectTo = function redirectTo(to) {\n throw new RedirectRequest(to);\n};\n\nvar RedirectImpl = function (_React$Component3) {\n _inherits(RedirectImpl, _React$Component3);\n\n function RedirectImpl() {\n _classCallCheck(this, RedirectImpl);\n\n return _possibleConstructorReturn(this, _React$Component3.apply(this, arguments));\n }\n\n // Support React < 16 with this hook\n RedirectImpl.prototype.componentDidMount = function componentDidMount() {\n var _props3 = this.props,\n navigate = _props3.navigate,\n to = _props3.to,\n from = _props3.from,\n _props3$replace = _props3.replace,\n replace = _props3$replace === undefined ? true : _props3$replace,\n state = _props3.state,\n noThrow = _props3.noThrow,\n baseuri = _props3.baseuri,\n props = _objectWithoutProperties(_props3, [\"navigate\", \"to\", \"from\", \"replace\", \"state\", \"noThrow\", \"baseuri\"]);\n\n Promise.resolve().then(function () {\n var resolvedTo = resolve(to, baseuri);\n navigate(insertParams(resolvedTo, props), { replace: replace, state: state });\n });\n };\n\n RedirectImpl.prototype.render = function render() {\n var _props4 = this.props,\n navigate = _props4.navigate,\n to = _props4.to,\n from = _props4.from,\n replace = _props4.replace,\n state = _props4.state,\n noThrow = _props4.noThrow,\n baseuri = _props4.baseuri,\n props = _objectWithoutProperties(_props4, [\"navigate\", \"to\", \"from\", \"replace\", \"state\", \"noThrow\", \"baseuri\"]);\n\n var resolvedTo = resolve(to, baseuri);\n if (!noThrow) redirectTo(insertParams(resolvedTo, props));\n return null;\n };\n\n return RedirectImpl;\n}(React.Component);\n\nvar Redirect = function Redirect(props) {\n return React.createElement(\n BaseContext.Consumer,\n null,\n function (_ref7) {\n var baseuri = _ref7.baseuri;\n return React.createElement(\n Location,\n null,\n function (locationContext) {\n return React.createElement(RedirectImpl, _extends({}, locationContext, { baseuri: baseuri }, props));\n }\n );\n }\n );\n};\n\nprocess.env.NODE_ENV !== \"production\" ? Redirect.propTypes = {\n from: PropTypes.string,\n to: PropTypes.string.isRequired\n} : void 0;\n\n////////////////////////////////////////////////////////////////////////////////\nvar Match = function Match(_ref8) {\n var path = _ref8.path,\n children = _ref8.children;\n return React.createElement(\n BaseContext.Consumer,\n null,\n function (_ref9) {\n var baseuri = _ref9.baseuri;\n return React.createElement(\n Location,\n null,\n function (_ref10) {\n var navigate = _ref10.navigate,\n location = _ref10.location;\n\n var resolvedPath = resolve(path, baseuri);\n var result = match(resolvedPath, location.pathname);\n return children({\n navigate: navigate,\n location: location,\n match: result ? _extends({}, result.params, {\n uri: result.uri,\n path: path\n }) : null\n });\n }\n );\n }\n );\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// Hooks\n\nvar useLocation = function useLocation() {\n var context = useContext(LocationContext);\n\n if (!context) {\n throw new Error(\"useLocation hook was used but a LocationContext.Provider was not found in the parent tree. Make sure this is used in a component that is a child of Router\");\n }\n\n return context.location;\n};\n\nvar useNavigate = function useNavigate() {\n var context = useContext(LocationContext);\n\n if (!context) {\n throw new Error(\"useNavigate hook was used but a LocationContext.Provider was not found in the parent tree. Make sure this is used in a component that is a child of Router\");\n }\n\n return context.navigate;\n};\n\nvar useParams = function useParams() {\n var context = useContext(BaseContext);\n\n if (!context) {\n throw new Error(\"useParams hook was used but a LocationContext.Provider was not found in the parent tree. Make sure this is used in a component that is a child of Router\");\n }\n\n var location = useLocation();\n\n var results = match(context.basepath, location.pathname);\n\n return results ? results.params : null;\n};\n\nvar useMatch = function useMatch(path) {\n if (!path) {\n throw new Error(\"useMatch(path: string) requires an argument of a string to match against\");\n }\n var context = useContext(BaseContext);\n\n if (!context) {\n throw new Error(\"useMatch hook was used but a LocationContext.Provider was not found in the parent tree. Make sure this is used in a component that is a child of Router\");\n }\n\n var location = useLocation();\n\n var resolvedPath = resolve(path, context.baseuri);\n var result = match(resolvedPath, location.pathname);\n return result ? _extends({}, result.params, {\n uri: result.uri,\n path: path\n }) : null;\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// Junk\nvar stripSlashes = function stripSlashes(str) {\n return str.replace(/(^\\/+|\\/+$)/g, \"\");\n};\n\nvar createRoute = function createRoute(basepath) {\n return function (element) {\n if (!element) {\n return null;\n }\n\n if (element.type === React.Fragment && element.props.children) {\n return React.Children.map(element.props.children, createRoute(basepath));\n }\n !(element.props.path || element.props.default || element.type === Redirect) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \": Children of must have a `path` or `default` prop, or be a ``. None found on element type `\" + element.type + \"`\") : invariant(false) : void 0;\n\n !!(element.type === Redirect && (!element.props.from || !element.props.to)) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \" requires both \\\"from\\\" and \\\"to\\\" props when inside a .\") : invariant(false) : void 0;\n\n !!(element.type === Redirect && !validateRedirect(element.props.from, element.props.to)) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \" has mismatched dynamic segments, ensure both paths have the exact same dynamic segments.\") : invariant(false) : void 0;\n\n if (element.props.default) {\n return { value: element, default: true };\n }\n\n var elementPath = element.type === Redirect ? element.props.from : element.props.path;\n\n var path = elementPath === \"/\" ? basepath : stripSlashes(basepath) + \"/\" + stripSlashes(elementPath);\n\n return {\n value: element,\n default: element.props.default,\n path: element.props.children ? stripSlashes(path) + \"/*\" : path\n };\n };\n};\n\nvar shouldNavigate = function shouldNavigate(event) {\n return !event.defaultPrevented && event.button === 0 && !(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n};\n\n////////////////////////////////////////////////////////////////////////\nexport { Link, Location, LocationProvider, Match, Redirect, Router, ServerLocation, createHistory, createMemorySource, isRedirect, navigate, redirectTo, globalHistory, match as matchPath, useLocation, useNavigate, useParams, useMatch , BaseContext };","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}","import * as React from 'react';\nexport var hiddenGuard = {\n width: '1px',\n height: '0px',\n padding: 0,\n overflow: 'hidden',\n position: 'fixed',\n top: '1px',\n left: '1px'\n};\nvar InFocusGuard = function InFocusGuard(_ref) {\n var children = _ref.children;\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"div\", {\n key: \"guard-first\",\n \"data-focus-guard\": true,\n \"data-focus-auto-guard\": true,\n style: hiddenGuard\n }), children, children && /*#__PURE__*/React.createElement(\"div\", {\n key: \"guard-last\",\n \"data-focus-guard\": true,\n \"data-focus-auto-guard\": true,\n style: hiddenGuard\n }));\n};\nInFocusGuard.defaultProps = {\n children: null\n};\nexport default InFocusGuard;","'use strict';\nvar NATIVE_WEAK_MAP = require('../internals/weak-map-basic-detection');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = global.TypeError;\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n /* eslint-disable no-self-assign -- prototype methods protection */\n store.get = store.get;\n store.has = store.has;\n store.set = store.set;\n /* eslint-enable no-self-assign -- prototype methods protection */\n set = function (it, metadata) {\n if (store.has(it)) throw TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n store.set(it, metadata);\n return metadata;\n };\n get = function (it) {\n return store.get(it) || {};\n };\n has = function (it) {\n return store.has(it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","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;","/**\n * Remove a prefix from a string. Return the input string if the given prefix\n * isn't found.\n */\n\nexport default function stripPrefix(str, prefix = ``) {\n if (!prefix) {\n return str\n }\n\n if (str === prefix) {\n return `/`\n }\n\n if (str.startsWith(`${prefix}/`)) {\n return str.slice(prefix.length)\n }\n\n return str\n}\n","'use strict';\n// we can't use just `it == null` since of `document.all` special case\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec\nmodule.exports = function (it) {\n return it === null || it === undefined;\n};\n","\"use strict\";\n\nexports.__esModule = true;\nexports.parsePath = parsePath;\n\nfunction parsePath(path) {\n var pathname = path || \"/\";\n var search = \"\";\n var hash = \"\";\n var hashIndex = pathname.indexOf(\"#\");\n\n if (hashIndex !== -1) {\n hash = pathname.substr(hashIndex);\n pathname = pathname.substr(0, hashIndex);\n }\n\n var searchIndex = pathname.indexOf(\"?\");\n\n if (searchIndex !== -1) {\n search = pathname.substr(searchIndex);\n pathname = pathname.substr(0, searchIndex);\n }\n\n return {\n pathname: pathname,\n search: search === \"?\" ? \"\" : search,\n hash: hash === \"#\" ? \"\" : hash\n };\n}","'use strict';\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}","'use strict';\n// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","var isBrowser = \"object\" !== 'undefined';\nfunction getRegisteredStyles(registered, registeredStyles, classNames) {\n var rawClassName = '';\n classNames.split(' ').forEach(function (className) {\n if (registered[className] !== undefined) {\n registeredStyles.push(registered[className] + \";\");\n } else {\n rawClassName += className + \" \";\n }\n });\n return rawClassName;\n}\nvar registerStyles = function registerStyles(cache, serialized, isStringTag) {\n var className = cache.key + \"-\" + serialized.name;\n if (\n // we only need to add the styles to the registered cache if the\n // class name could be used further down\n // the tree but if it's a string tag, we know it won't\n // so we don't have to add it to registered cache.\n // this improves memory usage since we can avoid storing the whole style string\n (isStringTag === false ||\n // we need to always store it if we're in compat mode and\n // in node since emotion-server relies on whether a style is in\n // the registered cache to know whether a style is global or not\n // also, note that this check will be dead code eliminated in the browser\n isBrowser === false) && cache.registered[className] === undefined) {\n cache.registered[className] = serialized.styles;\n }\n};\nvar insertStyles = function insertStyles(cache, serialized, isStringTag) {\n registerStyles(cache, serialized, isStringTag);\n var className = cache.key + \"-\" + serialized.name;\n if (cache.inserted[serialized.name] === undefined) {\n var current = serialized;\n do {\n cache.insert(serialized === current ? \".\" + className : '', current, cache.sheet, true);\n current = current.next;\n } while (current !== undefined);\n }\n};\nexport { getRegisteredStyles, insertStyles, registerStyles };","const support = function (feature) {\n if (typeof document === `undefined`) {\n return false\n }\n const fakeLink = document.createElement(`link`)\n try {\n if (fakeLink.relList && typeof fakeLink.relList.supports === `function`) {\n return fakeLink.relList.supports(feature)\n }\n } catch (err) {\n return false\n }\n return false\n}\n\nconst linkPrefetchStrategy = function (url, options) {\n return new Promise((resolve, reject) => {\n if (typeof document === `undefined`) {\n reject()\n return\n }\n\n const link = document.createElement(`link`)\n link.setAttribute(`rel`, `prefetch`)\n link.setAttribute(`href`, url)\n\n Object.keys(options).forEach(key => {\n link.setAttribute(key, options[key])\n })\n\n link.onload = resolve\n link.onerror = reject\n\n const parentElement =\n document.getElementsByTagName(`head`)[0] ||\n document.getElementsByName(`script`)[0].parentNode\n parentElement.appendChild(link)\n })\n}\n\nconst xhrPrefetchStrategy = function (url) {\n return new Promise((resolve, reject) => {\n const req = new XMLHttpRequest()\n req.open(`GET`, url, true)\n\n req.onload = () => {\n if (req.status === 200) {\n resolve()\n } else {\n reject()\n }\n }\n\n req.send(null)\n })\n}\n\nconst supportedPrefetchStrategy = support(`prefetch`)\n ? linkPrefetchStrategy\n : xhrPrefetchStrategy\n\nconst preFetched = {}\n\nconst prefetch = function (url, options) {\n return new Promise(resolve => {\n if (preFetched[url]) {\n resolve()\n return\n }\n\n supportedPrefetchStrategy(url, options)\n .then(() => {\n resolve()\n preFetched[url] = true\n })\n .catch(() => {}) // 404s are logged to the console anyway\n })\n}\n\nexport default prefetch\n","import prefetchHelper from \"./prefetch\"\nimport emitter from \"./emitter\"\nimport { setMatchPaths, findPath, findMatchPath } from \"./find-path\"\n\n/**\n * Available resource loading statuses\n */\nexport const PageResourceStatus = {\n /**\n * At least one of critical resources failed to load\n */\n Error: `error`,\n /**\n * Resources loaded successfully\n */\n Success: `success`,\n}\n\nconst preferDefault = m => (m && m.default) || m\n\nconst stripSurroundingSlashes = s => {\n s = s[0] === `/` ? s.slice(1) : s\n s = s.endsWith(`/`) ? s.slice(0, -1) : s\n return s\n}\n\nconst createPageDataUrl = path => {\n const fixedPath = path === `/` ? `index` : stripSurroundingSlashes(path)\n return `${__PATH_PREFIX__}/page-data/${fixedPath}/page-data.json`\n}\n\nfunction doFetch(url, method = `GET`) {\n return new Promise((resolve, reject) => {\n const req = new XMLHttpRequest()\n req.open(method, url, true)\n req.onreadystatechange = () => {\n if (req.readyState == 4) {\n resolve(req)\n }\n }\n req.send(null)\n })\n}\n\nconst doesConnectionSupportPrefetch = () => {\n if (\n `connection` in navigator &&\n typeof navigator.connection !== `undefined`\n ) {\n if ((navigator.connection.effectiveType || ``).includes(`2g`)) {\n return false\n }\n if (navigator.connection.saveData) {\n return false\n }\n }\n return true\n}\n\nconst toPageResources = (pageData, component = null) => {\n const page = {\n componentChunkName: pageData.componentChunkName,\n path: pageData.path,\n webpackCompilationHash: pageData.webpackCompilationHash,\n matchPath: pageData.matchPath,\n staticQueryHashes: pageData.staticQueryHashes,\n }\n\n return {\n component,\n json: pageData.result,\n page,\n }\n}\n\nexport class BaseLoader {\n constructor(loadComponent, matchPaths) {\n // Map of pagePath -> Page. Where Page is an object with: {\n // status: PageResourceStatus.Success || PageResourceStatus.Error,\n // payload: PageResources, // undefined if PageResourceStatus.Error\n // }\n // PageResources is {\n // component,\n // json: pageData.result,\n // page: {\n // componentChunkName,\n // path,\n // webpackCompilationHash,\n // staticQueryHashes\n // },\n // staticQueryResults\n // }\n this.pageDb = new Map()\n this.inFlightDb = new Map()\n this.staticQueryDb = {}\n this.pageDataDb = new Map()\n this.prefetchTriggered = new Set()\n this.prefetchCompleted = new Set()\n this.loadComponent = loadComponent\n setMatchPaths(matchPaths)\n }\n\n inFlightNetworkRequests = new Map()\n\n memoizedGet(url) {\n let inFlightPromise = this.inFlightNetworkRequests.get(url)\n\n if (!inFlightPromise) {\n inFlightPromise = doFetch(url, `GET`)\n this.inFlightNetworkRequests.set(url, inFlightPromise)\n }\n\n // Prefer duplication with then + catch over .finally to prevent problems in ie11 + firefox\n return inFlightPromise\n .then(response => {\n this.inFlightNetworkRequests.delete(url)\n return response\n })\n .catch(err => {\n this.inFlightNetworkRequests.delete(url)\n throw err\n })\n }\n\n setApiRunner(apiRunner) {\n this.apiRunner = apiRunner\n this.prefetchDisabled = apiRunner(`disableCorePrefetching`).some(a => a)\n }\n\n fetchPageDataJson(loadObj) {\n const { pagePath, retries = 0 } = loadObj\n const url = createPageDataUrl(pagePath)\n return this.memoizedGet(url).then(req => {\n const { status, responseText } = req\n\n // Handle 200\n if (status === 200) {\n try {\n const jsonPayload = JSON.parse(responseText)\n if (jsonPayload.path === undefined) {\n throw new Error(`not a valid pageData response`)\n }\n\n return Object.assign(loadObj, {\n status: PageResourceStatus.Success,\n payload: jsonPayload,\n })\n } catch (err) {\n // continue regardless of error\n }\n }\n\n // Handle 404\n if (status === 404 || status === 200) {\n // If the request was for a 404 page and it doesn't exist, we're done\n if (pagePath === `/404.html`) {\n return Object.assign(loadObj, {\n status: PageResourceStatus.Error,\n })\n }\n\n // Need some code here to cache the 404 request. In case\n // multiple loadPageDataJsons result in 404s\n return this.fetchPageDataJson(\n Object.assign(loadObj, { pagePath: `/404.html`, notFound: true })\n )\n }\n\n // handle 500 response (Unrecoverable)\n if (status === 500) {\n return Object.assign(loadObj, {\n status: PageResourceStatus.Error,\n })\n }\n\n // Handle everything else, including status === 0, and 503s. Should retry\n if (retries < 3) {\n return this.fetchPageDataJson(\n Object.assign(loadObj, { retries: retries + 1 })\n )\n }\n\n // Retried 3 times already, result is an error.\n return Object.assign(loadObj, {\n status: PageResourceStatus.Error,\n })\n })\n }\n\n loadPageDataJson(rawPath) {\n const pagePath = findPath(rawPath)\n if (this.pageDataDb.has(pagePath)) {\n const pageData = this.pageDataDb.get(pagePath)\n if (process.env.BUILD_STAGE !== `develop` || !pageData.stale) {\n return Promise.resolve(pageData)\n }\n }\n\n return this.fetchPageDataJson({ pagePath }).then(pageData => {\n this.pageDataDb.set(pagePath, pageData)\n\n return pageData\n })\n }\n\n findMatchPath(rawPath) {\n return findMatchPath(rawPath)\n }\n\n // TODO check all uses of this and whether they use undefined for page resources not exist\n loadPage(rawPath) {\n const pagePath = findPath(rawPath)\n if (this.pageDb.has(pagePath)) {\n const page = this.pageDb.get(pagePath)\n if (process.env.BUILD_STAGE !== `develop` || !page.payload.stale) {\n return Promise.resolve(page.payload)\n }\n }\n\n if (this.inFlightDb.has(pagePath)) {\n return this.inFlightDb.get(pagePath)\n }\n\n const inFlightPromise = Promise.all([\n this.loadAppData(),\n this.loadPageDataJson(pagePath),\n ]).then(allData => {\n const result = allData[1]\n if (result.status === PageResourceStatus.Error) {\n return {\n status: PageResourceStatus.Error,\n }\n }\n\n let pageData = result.payload\n const { componentChunkName, staticQueryHashes = [] } = pageData\n\n const finalResult = {}\n\n const componentChunkPromise = this.loadComponent(componentChunkName).then(\n component => {\n finalResult.createdAt = new Date()\n let pageResources\n if (!component) {\n finalResult.status = PageResourceStatus.Error\n } else {\n finalResult.status = PageResourceStatus.Success\n if (result.notFound === true) {\n finalResult.notFound = true\n }\n pageData = Object.assign(pageData, {\n webpackCompilationHash: allData[0]\n ? allData[0].webpackCompilationHash\n : ``,\n })\n pageResources = toPageResources(pageData, component)\n }\n // undefined if final result is an error\n return pageResources\n }\n )\n\n const staticQueryBatchPromise = Promise.all(\n staticQueryHashes.map(staticQueryHash => {\n // Check for cache in case this static query result has already been loaded\n if (this.staticQueryDb[staticQueryHash]) {\n const jsonPayload = this.staticQueryDb[staticQueryHash]\n return { staticQueryHash, jsonPayload }\n }\n\n return this.memoizedGet(\n `${__PATH_PREFIX__}/page-data/sq/d/${staticQueryHash}.json`\n ).then(req => {\n const jsonPayload = JSON.parse(req.responseText)\n return { staticQueryHash, jsonPayload }\n })\n })\n ).then(staticQueryResults => {\n const staticQueryResultsMap = {}\n\n staticQueryResults.forEach(({ staticQueryHash, jsonPayload }) => {\n staticQueryResultsMap[staticQueryHash] = jsonPayload\n this.staticQueryDb[staticQueryHash] = jsonPayload\n })\n\n return staticQueryResultsMap\n })\n\n return Promise.all([componentChunkPromise, staticQueryBatchPromise]).then(\n ([pageResources, staticQueryResults]) => {\n let payload\n if (pageResources) {\n payload = { ...pageResources, staticQueryResults }\n finalResult.payload = payload\n emitter.emit(`onPostLoadPageResources`, {\n page: payload,\n pageResources: payload,\n })\n }\n\n this.pageDb.set(pagePath, finalResult)\n\n return payload\n }\n )\n })\n\n inFlightPromise\n .then(response => {\n this.inFlightDb.delete(pagePath)\n })\n .catch(error => {\n this.inFlightDb.delete(pagePath)\n throw error\n })\n\n this.inFlightDb.set(pagePath, inFlightPromise)\n\n return inFlightPromise\n }\n\n // returns undefined if loading page ran into errors\n loadPageSync(rawPath) {\n const pagePath = findPath(rawPath)\n if (this.pageDb.has(pagePath)) {\n const pageData = this.pageDb.get(pagePath).payload\n return pageData\n }\n return undefined\n }\n\n shouldPrefetch(pagePath) {\n // Skip prefetching if we know user is on slow or constrained connection\n if (!doesConnectionSupportPrefetch()) {\n return false\n }\n\n // Check if the page exists.\n if (this.pageDb.has(pagePath)) {\n return false\n }\n\n return true\n }\n\n prefetch(pagePath) {\n if (!this.shouldPrefetch(pagePath)) {\n return false\n }\n\n // Tell plugins with custom prefetching logic that they should start\n // prefetching this path.\n if (!this.prefetchTriggered.has(pagePath)) {\n this.apiRunner(`onPrefetchPathname`, { pathname: pagePath })\n this.prefetchTriggered.add(pagePath)\n }\n\n // If a plugin has disabled core prefetching, stop now.\n if (this.prefetchDisabled) {\n return false\n }\n\n const realPath = findPath(pagePath)\n // Todo make doPrefetch logic cacheable\n // eslint-disable-next-line consistent-return\n this.doPrefetch(realPath).then(() => {\n if (!this.prefetchCompleted.has(pagePath)) {\n this.apiRunner(`onPostPrefetchPathname`, { pathname: pagePath })\n this.prefetchCompleted.add(pagePath)\n }\n })\n\n return true\n }\n\n doPrefetch(pagePath) {\n const pageDataUrl = createPageDataUrl(pagePath)\n return prefetchHelper(pageDataUrl, {\n crossOrigin: `anonymous`,\n as: `fetch`,\n }).then(() =>\n // This was just prefetched, so will return a response from\n // the cache instead of making another request to the server\n this.loadPageDataJson(pagePath)\n )\n }\n\n hovering(rawPath) {\n this.loadPage(rawPath)\n }\n\n getResourceURLsForPathname(rawPath) {\n const pagePath = findPath(rawPath)\n const page = this.pageDataDb.get(pagePath)\n if (page) {\n const pageResources = toPageResources(page.payload)\n\n return [\n ...createComponentUrls(pageResources.page.componentChunkName),\n createPageDataUrl(pagePath),\n ]\n } else {\n return null\n }\n }\n\n isPageNotFound(rawPath) {\n const pagePath = findPath(rawPath)\n const page = this.pageDb.get(pagePath)\n return !page || page.notFound\n }\n\n loadAppData(retries = 0) {\n return this.memoizedGet(`${__PATH_PREFIX__}/page-data/app-data.json`).then(\n req => {\n const { status, responseText } = req\n\n let appData\n\n if (status !== 200 && retries < 3) {\n // Retry 3 times incase of non-200 responses\n return this.loadAppData(retries + 1)\n }\n\n // Handle 200\n if (status === 200) {\n try {\n const jsonPayload = JSON.parse(responseText)\n if (jsonPayload.webpackCompilationHash === undefined) {\n throw new Error(`not a valid app-data response`)\n }\n\n appData = jsonPayload\n } catch (err) {\n // continue regardless of error\n }\n }\n\n return appData\n }\n )\n }\n}\n\nconst createComponentUrls = componentChunkName =>\n (window.___chunkMapping[componentChunkName] || []).map(\n chunk => __PATH_PREFIX__ + chunk\n )\n\nexport class ProdLoader extends BaseLoader {\n constructor(asyncRequires, matchPaths) {\n const loadComponent = chunkName =>\n asyncRequires.components[chunkName]\n ? asyncRequires.components[chunkName]()\n .then(preferDefault)\n // loader will handle the case when component is null\n .catch(() => null)\n : Promise.resolve()\n\n super(loadComponent, matchPaths)\n }\n\n doPrefetch(pagePath) {\n return super.doPrefetch(pagePath).then(result => {\n if (result.status !== PageResourceStatus.Success) {\n return Promise.resolve()\n }\n const pageData = result.payload\n const chunkName = pageData.componentChunkName\n const componentUrls = createComponentUrls(chunkName)\n return Promise.all(componentUrls.map(prefetchHelper)).then(() => pageData)\n })\n }\n\n loadPageDataJson(rawPath) {\n return super.loadPageDataJson(rawPath).then(data => {\n if (data.notFound) {\n // check if html file exist using HEAD request:\n // if it does we should navigate to it instead of showing 404\n return doFetch(rawPath, `HEAD`).then(req => {\n if (req.status === 200) {\n // page (.html file) actually exist (or we asked for 404 )\n // returning page resources status as errored to trigger\n // regular browser navigation to given page\n return {\n status: PageResourceStatus.Error,\n }\n }\n\n // if HEAD request wasn't 200, return notFound result\n // and show 404 page\n return data\n })\n }\n return data\n })\n }\n}\n\nlet instance\n\nexport const setLoader = _loader => {\n instance = _loader\n}\n\nexport const publicLoader = {\n // Deprecated methods. As far as we're aware, these are only used by\n // core gatsby and the offline plugin, however there's a very small\n // chance they're called by others.\n getResourcesForPathname: rawPath => {\n console.warn(\n `Warning: getResourcesForPathname is deprecated. Use loadPage instead`\n )\n return instance.i.loadPage(rawPath)\n },\n getResourcesForPathnameSync: rawPath => {\n console.warn(\n `Warning: getResourcesForPathnameSync is deprecated. Use loadPageSync instead`\n )\n return instance.i.loadPageSync(rawPath)\n },\n enqueue: rawPath => instance.prefetch(rawPath),\n\n // Real methods\n getResourceURLsForPathname: rawPath =>\n instance.getResourceURLsForPathname(rawPath),\n loadPage: rawPath => instance.loadPage(rawPath),\n loadPageSync: rawPath => instance.loadPageSync(rawPath),\n prefetch: rawPath => instance.prefetch(rawPath),\n isPageNotFound: rawPath => instance.isPageNotFound(rawPath),\n hovering: rawPath => instance.hovering(rawPath),\n loadAppData: () => instance.loadAppData(),\n}\n\nexport default publicLoader\n\nexport function getStaticQueryResults() {\n if (instance) {\n return instance.staticQueryDb\n } else {\n return {}\n }\n}\n","'use strict';\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar $Object = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return $Object(requireObjectCoercible(argument));\n};\n","function memoize(fn) {\n var cache = Object.create(null);\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\nexport { memoize as default };","var scope_0 = require('/home/jenkins/agent/workspace/PP Devdocs Release/release/.cache/caches/gatsby-plugin-mdx/mdx-scopes-dir/584f24ac4adddfc6ac7c16f600c64850.js').default;\nvar scope_1 = require('/home/jenkins/agent/workspace/PP Devdocs Release/release/.cache/caches/gatsby-plugin-mdx/mdx-scopes-dir/e92f8988d65cf25c087d226e6c0ef06f.js').default;export default\n Object.assign({}, scope_0,\nscope_1 )\n ","import React from \"react\"\nimport { MDXProvider, withMDXComponents } from \"@mdx-js/react\"\nimport { MDXScopeProvider } from \"./context\"\n\n/**\n * so, this import is weird right?\n *\n * # What it looks like:\n * we're importing a webpack loader directly into our runtime bundle\n *\n * # What it's actually doing:\n * We configure the `mdx-components` loader in gatsby-node's\n * `onCreateWebpackConfig`. The configuration sets the loader to handle its\n * own file, so if we import `./loaders/mdx-components`, the `mdx-components`\n * loader handles loading itself.\n *\n * # Why does this work?\n * The loader doesn't use the file argument to itself and instead returns\n * a generated file that includes the `gatsby-config` mdxPlugins wrapped in\n * require() statements. This results in the `mdxPlugins` being required\n * and available to the code after this import.\n *\n * # Have a better solution to this?\n * Submit a PR\n */\nimport { plugins as mdxPlugins } from \"./loaders/mdx-components\"\nimport scopeContexts from \"./loaders/mdx-scopes\"\n\nconst componentsAndGuards = {}\n\nconst componentFromGuards = arr =>\n function GatsbyMDXComponentFinder(props) {\n const { Component } = arr.find(({ guard }) => (guard ? guard(props) : true))\n return \n }\n\nmdxPlugins.forEach(({ guards = {}, components }) => {\n Object.entries(components).forEach(([componentName, Component]) => {\n if (componentsAndGuards[componentName]) {\n componentsAndGuards.push({ guard: guards[componentName], Component })\n } else {\n componentsAndGuards[componentName] = [\n { guard: guards[componentName], Component },\n ]\n }\n })\n})\n\nconst components = Object.entries(componentsAndGuards)\n .map(([name, arr]) => {\n return {\n [name]: componentFromGuards(\n arr.concat({ guard: undefined, Component: name })\n ),\n }\n })\n .reduce((acc, obj) => {\n return { ...acc, ...obj }\n }, {})\n\n// merge any components in wrapRootElement above this wrapRoot\nconst MDXConsumer = withMDXComponents(\n ({ components: componentsFromContext, children }) => (\n \n \n {children}\n \n \n )\n)\n\nconst WrapRootElement = ({ element }) => {element}\n\nexport default WrapRootElement\n","import wrap from \"./wrap-root-element\"\nexport const wrapRootElement = wrap\n","import { createSidecarMedium } from 'use-sidecar';\nexport var effectCar = createSidecarMedium();\nexport var focusHiddenMarker = 'data-focus-on-hidden';","import { __assign, __rest } from \"tslib\";\nimport * as React from 'react';\nimport { RemoveScroll } from 'react-remove-scroll/UI';\nimport ReactFocusLock from 'react-focus-lock/UI';\nimport { effectCar } from './medium';\nvar PREVENT_SCROLL = {\n preventScroll: true\n};\nexport var FocusOn = React.forwardRef(function (props, parentRef) {\n var _a = React.useState(false),\n lockProps = _a[0],\n setLockProps = _a[1];\n var children = props.children,\n autoFocus = props.autoFocus,\n shards = props.shards,\n crossFrame = props.crossFrame,\n _b = props.enabled,\n enabled = _b === void 0 ? true : _b,\n _c = props.scrollLock,\n scrollLock = _c === void 0 ? true : _c,\n _d = props.focusLock,\n focusLock = _d === void 0 ? true : _d,\n _e = props.returnFocus,\n returnFocus = _e === void 0 ? true : _e,\n inert = props.inert,\n allowPinchZoom = props.allowPinchZoom,\n sideCar = props.sideCar,\n className = props.className,\n shouldIgnore = props.shouldIgnore,\n preventScrollOnFocus = props.preventScrollOnFocus,\n style = props.style,\n as = props.as,\n gapMode = props.gapMode,\n rest = __rest(props, [\"children\", \"autoFocus\", \"shards\", \"crossFrame\", \"enabled\", \"scrollLock\", \"focusLock\", \"returnFocus\", \"inert\", \"allowPinchZoom\", \"sideCar\", \"className\", \"shouldIgnore\", \"preventScrollOnFocus\", \"style\", \"as\", \"gapMode\"]);\n var SideCar = sideCar;\n var onActivation = lockProps.onActivation,\n onDeactivation = lockProps.onDeactivation,\n restProps = __rest(lockProps, [\"onActivation\", \"onDeactivation\"]);\n var appliedLockProps = __assign(__assign({}, restProps), {\n as: as,\n style: style,\n sideCar: sideCar,\n shards: shards,\n allowPinchZoom: allowPinchZoom,\n gapMode: gapMode,\n inert: inert,\n enabled: enabled && scrollLock\n });\n return React.createElement(React.Fragment, null, React.createElement(ReactFocusLock, {\n ref: parentRef,\n sideCar: sideCar,\n disabled: !(lockProps && enabled && focusLock),\n returnFocus: returnFocus,\n autoFocus: autoFocus,\n shards: shards,\n crossFrame: crossFrame,\n onActivation: onActivation,\n onDeactivation: onDeactivation,\n className: className,\n whiteList: shouldIgnore,\n lockProps: appliedLockProps,\n focusOptions: preventScrollOnFocus ? PREVENT_SCROLL : undefined,\n as: RemoveScroll\n }, children), enabled && React.createElement(SideCar, __assign({}, rest, {\n sideCar: effectCar,\n setLockProps: setLockProps,\n shards: shards\n })));\n});\nexport * from './reExports';","import { exportSidecar } from 'use-sidecar';\nimport FocusTrap from './Trap';\nimport { mediumSidecar } from './medium';\nexport default exportSidecar(mediumSidecar, FocusTrap);","import * as React from 'react';\nimport { styleSingleton } from 'react-style-singleton';\nimport { focusHiddenMarker } from './medium';\nvar Style = styleSingleton();\nvar styles = \"\\n [\" + focusHiddenMarker + \"] {\\n pointer-events: none !important;\\n }\\n\";\nexport var InteractivityDisabler = function () {\n return React.createElement(Style, {\n styles: styles\n });\n};","import { __spreadArrays } from \"tslib\";\nimport * as React from 'react';\nimport { hideOthers } from 'aria-hidden';\nimport { InteractivityDisabler } from './InteractivityDisabler';\nimport { focusHiddenMarker } from './medium';\nimport { useEffect, useRef, useState } from 'react';\nvar extractRef = function (ref) {\n return 'current' in ref ? ref.current : ref;\n};\nexport function Effect(_a) {\n var setLockProps = _a.setLockProps,\n onEscapeKey = _a.onEscapeKey,\n onClickOutside = _a.onClickOutside,\n shards = _a.shards,\n onActivation = _a.onActivation,\n onDeactivation = _a.onDeactivation,\n noIsolation = _a.noIsolation;\n var _b = useState(undefined),\n activeNode = _b[0],\n setActiveNode = _b[1];\n var lastEventTarget = useRef(null);\n var mouseTouches = useRef(0);\n React.useEffect(function () {\n var onKeyDown = function (event) {\n if (!event.defaultPrevented) {\n if ((event.code === 'Escape' || event.key === 'Escape' || event.keyCode === 27) && onEscapeKey) {\n onEscapeKey(event);\n }\n }\n };\n var onMouseDown = function (event) {\n if (event.defaultPrevented || event.target === lastEventTarget.current || event instanceof MouseEvent && event.button !== 0) {\n return;\n }\n if (shards && shards.map(extractRef).some(function (node) {\n return node && node.contains(event.target) || node === event.target;\n })) {\n return;\n }\n if (onClickOutside) {\n onClickOutside(event);\n }\n };\n var onTouchStart = function (event) {\n onMouseDown(event);\n mouseTouches.current = event.touches.length;\n };\n var onTouchEnd = function (event) {\n mouseTouches.current = event.touches.length;\n };\n if (activeNode) {\n document.addEventListener('keydown', onKeyDown);\n document.addEventListener('mousedown', onMouseDown);\n document.addEventListener('touchstart', onTouchStart);\n document.addEventListener('touchend', onTouchEnd);\n return function () {\n document.removeEventListener('keydown', onKeyDown);\n document.removeEventListener('mousedown', onMouseDown);\n document.removeEventListener('touchstart', onTouchStart);\n document.removeEventListener('touchend', onTouchEnd);\n };\n }\n }, [activeNode, onClickOutside, onEscapeKey]);\n useEffect(function () {\n if (activeNode) {\n if (onActivation) {\n onActivation(activeNode);\n }\n return function () {\n if (onDeactivation) {\n onDeactivation();\n }\n };\n }\n }, [!!activeNode]);\n useEffect(function () {\n var _undo = function () {\n return null;\n };\n var unmounted = false;\n var onNodeActivation = function (node) {\n if (!noIsolation) {\n _undo = hideOthers(__spreadArrays([node], (shards || []).map(extractRef)), document.body, focusHiddenMarker);\n }\n setActiveNode(function () {\n return node;\n });\n };\n var onNodeDeactivation = function () {\n _undo();\n if (!unmounted) {\n setActiveNode(null);\n }\n };\n setLockProps({\n onMouseDown: function (e) {\n lastEventTarget.current = e.target;\n },\n onTouchStart: function (e) {\n lastEventTarget.current = e.target;\n },\n onActivation: onNodeActivation,\n onDeactivation: onNodeDeactivation\n });\n return function () {\n unmounted = true;\n setLockProps(false);\n };\n }, []);\n return React.createElement(InteractivityDisabler, null);\n}","import { exportSidecar } from 'use-sidecar';\nimport 'react-focus-lock/sidecar';\nimport 'react-remove-scroll/sidecar';\nimport { Effect } from './Effect';\nimport { effectCar } from './medium';\nexport default exportSidecar(effectCar, Effect);","import { __assign } from \"tslib\";\nimport * as React from 'react';\nimport { FocusOn as ReactFocusOn } from './UI';\nimport SideCar from './sidecar';\nvar RequireSideCar = function (props) {\n return React.createElement(SideCar, __assign({}, props));\n};\nexport var FocusOn = React.forwardRef(function (props, ref) {\n return React.createElement(ReactFocusOn, __assign({}, props, {\n ref: ref,\n sideCar: RequireSideCar\n }));\n});","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _regeneratorRuntime() {\n \"use strict\"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */\n module.exports = _regeneratorRuntime = function _regeneratorRuntime() {\n return exports;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n var exports = {},\n Op = Object.prototype,\n hasOwn = Op.hasOwnProperty,\n defineProperty = Object.defineProperty || function (obj, key, desc) {\n obj[key] = desc.value;\n },\n $Symbol = \"function\" == typeof Symbol ? Symbol : {},\n iteratorSymbol = $Symbol.iterator || \"@@iterator\",\n asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\",\n toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n function define(obj, key, value) {\n return Object.defineProperty(obj, key, {\n value: value,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), obj[key];\n }\n try {\n define({}, \"\");\n } catch (err) {\n define = function define(obj, key, value) {\n return obj[key] = value;\n };\n }\n function wrap(innerFn, outerFn, self, tryLocsList) {\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator,\n generator = Object.create(protoGenerator.prototype),\n context = new Context(tryLocsList || []);\n return defineProperty(generator, \"_invoke\", {\n value: makeInvokeMethod(innerFn, self, context)\n }), generator;\n }\n function tryCatch(fn, obj, arg) {\n try {\n return {\n type: \"normal\",\n arg: fn.call(obj, arg)\n };\n } catch (err) {\n return {\n type: \"throw\",\n arg: err\n };\n }\n }\n exports.wrap = wrap;\n var ContinueSentinel = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n var getProto = Object.getPrototypeOf,\n NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype);\n var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function (method) {\n define(prototype, method, function (arg) {\n return this._invoke(method, arg);\n });\n });\n }\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (\"throw\" !== record.type) {\n var result = record.arg,\n value = result.value;\n return value && \"object\" == _typeof(value) && hasOwn.call(value, \"__await\") ? PromiseImpl.resolve(value.__await).then(function (value) {\n invoke(\"next\", value, resolve, reject);\n }, function (err) {\n invoke(\"throw\", err, resolve, reject);\n }) : PromiseImpl.resolve(value).then(function (unwrapped) {\n result.value = unwrapped, resolve(result);\n }, function (error) {\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n reject(record.arg);\n }\n var previousPromise;\n defineProperty(this, \"_invoke\", {\n value: function value(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function (resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(innerFn, self, context) {\n var state = \"suspendedStart\";\n return function (method, arg) {\n if (\"executing\" === state) throw new Error(\"Generator is already running\");\n if (\"completed\" === state) {\n if (\"throw\" === method) throw arg;\n return {\n value: void 0,\n done: !0\n };\n }\n for (context.method = method, context.arg = arg;;) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n if (\"next\" === context.method) context.sent = context._sent = context.arg;else if (\"throw\" === context.method) {\n if (\"suspendedStart\" === state) throw state = \"completed\", context.arg;\n context.dispatchException(context.arg);\n } else \"return\" === context.method && context.abrupt(\"return\", context.arg);\n state = \"executing\";\n var record = tryCatch(innerFn, self, context);\n if (\"normal\" === record.type) {\n if (state = context.done ? \"completed\" : \"suspendedYield\", record.arg === ContinueSentinel) continue;\n return {\n value: record.arg,\n done: context.done\n };\n }\n \"throw\" === record.type && (state = \"completed\", context.method = \"throw\", context.arg = record.arg);\n }\n };\n }\n function maybeInvokeDelegate(delegate, context) {\n var methodName = context.method,\n method = delegate.iterator[methodName];\n if (undefined === method) return context.delegate = null, \"throw\" === methodName && delegate.iterator[\"return\"] && (context.method = \"return\", context.arg = undefined, maybeInvokeDelegate(delegate, context), \"throw\" === context.method) || \"return\" !== methodName && (context.method = \"throw\", context.arg = new TypeError(\"The iterator does not provide a '\" + methodName + \"' method\")), ContinueSentinel;\n var record = tryCatch(method, delegate.iterator, context.arg);\n if (\"throw\" === record.type) return context.method = \"throw\", context.arg = record.arg, context.delegate = null, ContinueSentinel;\n var info = record.arg;\n return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, \"return\" !== context.method && (context.method = \"next\", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = \"throw\", context.arg = new TypeError(\"iterator result is not an object\"), context.delegate = null, ContinueSentinel);\n }\n function pushTryEntry(locs) {\n var entry = {\n tryLoc: locs[0]\n };\n 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry);\n }\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\", delete record.arg, entry.completion = record;\n }\n function Context(tryLocsList) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(iterable) {\n if (iterable || \"\" === iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) return iteratorMethod.call(iterable);\n if (\"function\" == typeof iterable.next) return iterable;\n if (!isNaN(iterable.length)) {\n var i = -1,\n next = function next() {\n for (; ++i < iterable.length;) if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next;\n return next.value = undefined, next.done = !0, next;\n };\n return next.next = next;\n }\n }\n throw new TypeError(_typeof(iterable) + \" is not iterable\");\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), defineProperty(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, \"GeneratorFunction\"), exports.isGeneratorFunction = function (genFun) {\n var ctor = \"function\" == typeof genFun && genFun.constructor;\n return !!ctor && (ctor === GeneratorFunction || \"GeneratorFunction\" === (ctor.displayName || ctor.name));\n }, exports.mark = function (genFun) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, \"GeneratorFunction\")), genFun.prototype = Object.create(Gp), genFun;\n }, exports.awrap = function (arg) {\n return {\n __await: arg\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n void 0 === PromiseImpl && (PromiseImpl = Promise);\n var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl);\n return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) {\n return result.done ? result.value : iter.next();\n });\n }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, \"Generator\"), define(Gp, iteratorSymbol, function () {\n return this;\n }), define(Gp, \"toString\", function () {\n return \"[object Generator]\";\n }), exports.keys = function (val) {\n var object = Object(val),\n keys = [];\n for (var key in object) keys.push(key);\n return keys.reverse(), function next() {\n for (; keys.length;) {\n var key = keys.pop();\n if (key in object) return next.value = key, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, exports.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(skipTempReset) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) \"t\" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined);\n },\n stop: function stop() {\n this.done = !0;\n var rootRecord = this.tryEntries[0].completion;\n if (\"throw\" === rootRecord.type) throw rootRecord.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(exception) {\n if (this.done) throw exception;\n var context = this;\n function handle(loc, caught) {\n return record.type = \"throw\", record.arg = exception, context.next = loc, caught && (context.method = \"next\", context.arg = undefined), !!caught;\n }\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i],\n record = entry.completion;\n if (\"root\" === entry.tryLoc) return handle(\"end\");\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\"),\n hasFinally = hasOwn.call(entry, \"finallyLoc\");\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n } else {\n if (!hasFinally) throw new Error(\"try statement without catch or finally\");\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev && hasOwn.call(entry, \"finallyLoc\") && this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n finallyEntry && (\"break\" === type || \"continue\" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null);\n var record = finallyEntry ? finallyEntry.completion : {};\n return record.type = type, record.arg = arg, finallyEntry ? (this.method = \"next\", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record);\n },\n complete: function complete(record, afterLoc) {\n if (\"throw\" === record.type) throw record.arg;\n return \"break\" === record.type || \"continue\" === record.type ? this.next = record.arg : \"return\" === record.type ? (this.rval = this.arg = record.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel;\n },\n finish: function finish(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel;\n }\n },\n \"catch\": function _catch(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (\"throw\" === record.type) {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(iterable, resultName, nextLoc) {\n return this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n }, \"next\" === this.method && (this.arg = undefined), ContinueSentinel;\n }\n }, exports;\n}\nmodule.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","'use strict';\nvar fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] !== 7;\n});\n","module.exports = {plugins: []}","'use strict';\nvar isObject = require('../internals/is-object');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw $TypeError($String(argument) + ' is not an object');\n};\n","export default function _taggedTemplateLiteral(strings, raw) {\n if (!raw) {\n raw = strings.slice(0);\n }\n return Object.freeze(Object.defineProperties(strings, {\n raw: {\n value: Object.freeze(raw)\n }\n }));\n}","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.ScrollContainer = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _inheritsLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inheritsLoose\"));\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _reactDom = _interopRequireDefault(require(\"react-dom\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _scrollHandler = require(\"./scroll-handler\");\n\nvar _router = require(\"@reach/router\");\n\n// TODO: In Gatsby v3, this file should be removed.\n// We are deprecating this in V2 in favor of useScrollRestoration\nvar propTypes = {\n scrollKey: _propTypes.default.string.isRequired,\n shouldUpdateScroll: _propTypes.default.func,\n children: _propTypes.default.element.isRequired\n};\nvar hasNotWarnedDeprecation = true;\n\nvar ScrollContainerImplementation = /*#__PURE__*/function (_React$Component) {\n (0, _inheritsLoose2.default)(ScrollContainerImplementation, _React$Component);\n\n function ScrollContainerImplementation(props) {\n var _this;\n\n _this = _React$Component.call(this, props) || this;\n\n if (process.env.NODE_ENV !== \"production\" && hasNotWarnedDeprecation) {\n hasNotWarnedDeprecation = false;\n console.log(\"Deprecation Warning:\\n\\n Gatsby is deprecated in Gatsby v2 and will be removed in Gatsby v3.\\n Update to the React hook alternative useScrollRestoration, like this:.\\n \\n ```\\n import React from 'react';\\n import { useScrollRestoration } from 'gatsby-react-router-scroll';\\n\\n function Component() {\\n const scrollRestoration = useScrollRestoration('\" + _this.props.scrollKey + \"');\\n\\n return
    ;\\n }\\n ```\\n \");\n }\n\n return _this;\n }\n\n var _proto = ScrollContainerImplementation.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n var _this2 = this;\n\n // eslint-disable-next-line react/no-find-dom-node\n var node = _reactDom.default.findDOMNode(this);\n\n var _this$props = this.props,\n location = _this$props.location,\n scrollKey = _this$props.scrollKey;\n if (!node) return;\n node.addEventListener(\"scroll\", function () {\n _this2.props.context.save(location, scrollKey, node.scrollTop);\n });\n var position = this.props.context.read(location, scrollKey);\n node.scrollTo(0, position || 0);\n };\n\n _proto.render = function render() {\n return this.props.children;\n };\n\n return ScrollContainerImplementation;\n}(React.Component);\n\nvar ScrollContainer = function ScrollContainer(props) {\n return /*#__PURE__*/React.createElement(_router.Location, null, function (_ref) {\n var location = _ref.location;\n return /*#__PURE__*/React.createElement(_scrollHandler.ScrollContext.Consumer, null, function (context) {\n return /*#__PURE__*/React.createElement(ScrollContainerImplementation, (0, _extends2.default)({}, props, {\n context: context,\n location: location\n }));\n });\n });\n};\n\nexports.ScrollContainer = ScrollContainer;\nScrollContainer.propTypes = propTypes;","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\nmodule.exports = $documentAll.IS_HTMLDDA ? function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it) || it === documentAll;\n} : function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = _default;\nexports.routeThroughBrowserOrApp = exports.hashShouldBeFollowed = exports.pathIsNotHandledByApp = exports.urlsAreOnSameOrigin = exports.authorIsForcingNavigation = exports.anchorsTargetIsEquivalentToSelf = exports.findClosestAnchor = exports.navigationWasHandledElsewhere = exports.slashedPathname = exports.userIsForcingNavigation = void 0;\n\nvar _escapeStringRegexp = _interopRequireDefault(require(\"escape-string-regexp\"));\n\nvar _gatsby = require(\"gatsby\");\n\nvar userIsForcingNavigation = function userIsForcingNavigation(event) {\n return event.button !== 0 || event.altKey || event.ctrlKey || event.metaKey || event.shiftKey;\n}; // IE does not include leading slash in anchor.pathname\n\n\nexports.userIsForcingNavigation = userIsForcingNavigation;\n\nvar slashedPathname = function slashedPathname(pathname) {\n return pathname[0] === \"/\" ? pathname : \"/\" + pathname;\n};\n\nexports.slashedPathname = slashedPathname;\n\nvar navigationWasHandledElsewhere = function navigationWasHandledElsewhere(event) {\n return event.defaultPrevented;\n};\n\nexports.navigationWasHandledElsewhere = navigationWasHandledElsewhere;\n\nvar findClosestAnchor = function findClosestAnchor(node) {\n for (; node.parentNode; node = node.parentNode) {\n if (node.nodeName.toLowerCase() === \"a\") {\n return node;\n }\n }\n\n return null;\n};\n\nexports.findClosestAnchor = findClosestAnchor;\n\nvar anchorsTargetIsEquivalentToSelf = function anchorsTargetIsEquivalentToSelf(anchor) {\n return (\n /* If target attribute is not present it's treated as _self */\n anchor.hasAttribute(\"target\") === false ||\n /**\n * The browser defaults to _self, but, not all browsers set\n * a.target to the string value `_self` by default\n */\n\n /**\n * Assumption: some browsers use null/undefined for default\n * attribute values\n */\n anchor.target == null ||\n /**\n * Some browsers use the empty string to mean _self, check\n * for actual `_self`\n */\n [\"_self\", \"\"].includes(anchor.target) ||\n /**\n * As per https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#attr-target\n */\n anchor.target === \"_parent\" && (!anchor.ownerDocument.defaultView.parent || // Assumption: This can be falsey\n anchor.ownerDocument.defaultView.parent === anchor.ownerDocument.defaultView) || anchor.target === \"_top\" && (!anchor.ownerDocument.defaultView.top || // Assumption: This can be falsey\n anchor.ownerDocument.defaultView.top === anchor.ownerDocument.defaultView)\n );\n};\n\nexports.anchorsTargetIsEquivalentToSelf = anchorsTargetIsEquivalentToSelf;\n\nvar authorIsForcingNavigation = function authorIsForcingNavigation(anchor) {\n return (\n /**\n * HTML5 attribute that informs the browser to handle the\n * href as a downloadable file; let the browser handle it\n */\n anchor.hasAttribute(\"download\") === true ||\n /**\n * Let the browser handle anything that doesn't look like a\n * target=\"_self\" anchor\n */\n anchorsTargetIsEquivalentToSelf(anchor) === false\n );\n}; // https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy\n\n\nexports.authorIsForcingNavigation = authorIsForcingNavigation;\n\nvar urlsAreOnSameOrigin = function urlsAreOnSameOrigin(origin, destination) {\n return origin.protocol === destination.protocol &&\n /* a.host includes both hostname and port in the expected format host:port */\n origin.host === destination.host;\n};\n\nexports.urlsAreOnSameOrigin = urlsAreOnSameOrigin;\n\nvar pathIsNotHandledByApp = function pathIsNotHandledByApp(destination, pathStartRegEx) {\n var pathFileExtensionRegEx = /^.*\\.((?!htm)[a-z0-9]{1,5})$/i;\n return (\n /**\n * For when pathPrefix is used in an app and there happens to be a link\n * pointing to the same domain but outside of the app's pathPrefix. For\n * example, a Gatsby app lives at https://example.com/myapp/, with the\n * pathPrefix set to `/myapp`. When adding an absolute link to the same\n * domain but outside of the /myapp path, for example, `` the plugin won't catch it and\n * will navigate to an external link instead of doing a pushState resulting\n * in `https://example.com/myapp/https://example.com/not-my-app`\n */\n pathStartRegEx.test(slashedPathname(destination.pathname)) === false ||\n /**\n * Don't catch links pointed at what look like file extensions (other than\n * .htm/html extensions).\n */\n destination.pathname.search(pathFileExtensionRegEx) !== -1\n );\n};\n\nexports.pathIsNotHandledByApp = pathIsNotHandledByApp;\n\nvar hashShouldBeFollowed = function hashShouldBeFollowed(origin, destination) {\n return destination.hash !== \"\" && (\n /**\n * Dynamically created anchor links (href=\"#my-anchor\") do not always\n * have pathname on IE\n */\n destination.pathname === \"\" ||\n /* Don't catch links pointed to the same page but with a hash. */\n destination.pathname === origin.pathname);\n};\n\nexports.hashShouldBeFollowed = hashShouldBeFollowed;\n\nvar routeThroughBrowserOrApp = function routeThroughBrowserOrApp(hrefHandler, pluginOptions) {\n return function (event) {\n if (window.___failedResources) return true;\n if (userIsForcingNavigation(event)) return true;\n if (navigationWasHandledElsewhere(event)) return true;\n var clickedAnchor = findClosestAnchor(event.target);\n if (clickedAnchor == null) return true;\n if (authorIsForcingNavigation(clickedAnchor)) return true; // IE clears the host value if the anchor href changed after creation, e.g.\n // in React. Creating a new anchor element to ensure host value is present\n\n var destination = document.createElement(\"a\"); // https://html.spec.whatwg.org/multipage/links.html#concept-hyperlink-url-set\n // If clickedAnchor has no href attribute like `example`, the href getter returns empty string.\n\n if (clickedAnchor.href !== \"\") {\n destination.href = clickedAnchor.href;\n }\n\n if (\"SVGAnimatedString\" in window && clickedAnchor.href instanceof SVGAnimatedString) {\n destination.href = clickedAnchor.href.animVal;\n } // In IE, the default port is included in the anchor host but excluded from\n // the location host. This affects the ability to directly compare\n // location host to anchor host. For example: http://example.com would\n // have a location.host of 'example.com' and an destination.host of\n // 'example.com:80' Creating anchor from the location.href to normalize the\n // host value.\n\n\n var origin = document.createElement(\"a\");\n origin.href = window.location.href;\n if (urlsAreOnSameOrigin(origin, destination) === false) return true; // Regex to test pathname against pathPrefix\n\n var pathStartRegEx = new RegExp(\"^\" + (0, _escapeStringRegexp.default)((0, _gatsby.withPrefix)(\"/\")));\n if (pathIsNotHandledByApp(destination, pathStartRegEx)) return true;\n if (hashShouldBeFollowed(origin, destination)) return true;\n\n if (pluginOptions.excludePattern) {\n var excludeRegex = new RegExp(pluginOptions.excludePattern);\n\n if (excludeRegex.test(destination.pathname)) {\n return true;\n }\n }\n\n event.preventDefault(); // See issue #8907: destination.pathname already includes pathPrefix added\n // by gatsby-transformer-remark but gatsby-link.navigate needs href without\n\n var destinationPathname = slashedPathname(destination.pathname).replace(pathStartRegEx, \"/\");\n hrefHandler(\"\" + destinationPathname + destination.search + destination.hash);\n return false;\n };\n};\n\nexports.routeThroughBrowserOrApp = routeThroughBrowserOrApp;\n\nfunction _default(root, pluginOptions, cb) {\n var clickHandler = routeThroughBrowserOrApp(cb, pluginOptions);\n root.addEventListener(\"click\", clickHandler);\n return function () {\n return root.removeEventListener(\"click\", clickHandler);\n };\n}","import hoistNonReactStatics$1 from 'hoist-non-react-statics';\n\n// this file isolates this package that is not tree-shakeable\n// and if this module doesn't actually contain any logic of its own\n// then Rollup just use 'hoist-non-react-statics' directly in other chunks\n\nvar hoistNonReactStatics = function (targetComponent, sourceComponent) {\n return hoistNonReactStatics$1(targetComponent, sourceComponent);\n};\nexport { hoistNonReactStatics as default };","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","\"use strict\";\n\nexports.onRouteUpdate = function (_ref, pluginOptions) {\n var location = _ref.location;\n\n if (pluginOptions === void 0) {\n pluginOptions = {\n stripQueryString: false\n };\n }\n\n var domElem = document.querySelector(\"link[rel='canonical']\");\n var existingValue = domElem.getAttribute(\"href\");\n var baseProtocol = domElem.getAttribute(\"data-baseProtocol\");\n var baseHost = domElem.getAttribute(\"data-baseHost\");\n\n if (existingValue && baseProtocol && baseHost) {\n var value = baseProtocol + \"//\" + baseHost + location.pathname;\n var _pluginOptions = pluginOptions,\n stripQueryString = _pluginOptions.stripQueryString;\n\n if (!stripQueryString) {\n value += location.search;\n }\n\n value += location.hash;\n domElem.setAttribute(\"href\", \"\" + value);\n }\n};","import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';\nimport React, { forwardRef, useMemo } from 'react';\nimport { CheckmarkIcon } from '@paypalcorp/pp-react-icons';\nimport { utilStyles, getColorValue, ColorContext, Shimmer } from '@paypalcorp/pp-react-utils';\nimport { LoadingSpinner } from '@paypalcorp/pp-react-loading-spinner';\nimport { css, useTheme, jsx } from '@emotion/react';\nimport _taggedTemplateLiteral from '@babel/runtime/helpers/esm/taggedTemplateLiteral';\nimport { math } from 'polished';\nimport { textStyles } from '@paypalcorp/pp-react-text';\nvar _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17, _templateObject18, _templateObject19, _templateObject20;\nfunction styles(tokens, colorTokens) {\n /* istanbul ignore next */\n if (!Object.keys(tokens).length) {\n console.warn('Missing Emotion theme. Use ThemeProvider from @emotion/react to pass a valid theme from pp-react.');\n return {};\n }\n var sysSpaceSm = tokens.sysSpaceSm,\n sysSpaceLg = tokens.sysSpaceLg,\n sysSpaceMd = tokens.sysSpaceMd,\n sysSizeIconSm = tokens.sysSizeIconSm,\n sysSizeTapTargetXs = tokens.sysSizeTapTargetXs,\n sysSizeTapTargetSm = tokens.sysSizeTapTargetSm,\n sysSizeCircleLg = tokens.sysSizeCircleLg,\n sysBorderRadiusSm = tokens.sysBorderRadiusSm,\n sysBorderRadiusInteractive = tokens.sysBorderRadiusInteractive,\n sysColorOverlayMain = tokens.sysColorOverlayMain,\n sysColorOverlayContrast = tokens.sysColorOverlayContrast,\n sysColorOverlayMainHover = tokens.sysColorOverlayMainHover,\n sysColorOverlayMainActive = tokens.sysColorOverlayMainActive,\n sysColorPrimaryMain = tokens.sysColorPrimaryMain,\n sysColorPrimaryContrast = tokens.sysColorPrimaryContrast,\n sysColorPrimaryMainHover = tokens.sysColorPrimaryMainHover,\n sysColorPrimaryMainActive = tokens.sysColorPrimaryMainActive,\n sysColorPrimaryContrastActive = tokens.sysColorPrimaryContrastActive,\n sysColorPrimaryContrastHover = tokens.sysColorPrimaryContrastHover,\n sysColorTertiaryMain = tokens.sysColorTertiaryMain,\n sysColorTertiaryContrast = tokens.sysColorTertiaryContrast,\n sysColorTertiaryMainHover = tokens.sysColorTertiaryMainHover,\n sysColorTertiaryMainActive = tokens.sysColorTertiaryMainActive,\n sysColorBackgroundMediumContrast = tokens.sysColorBackgroundMediumContrast,\n sysColorBackgroundHighContrast = tokens.sysColorBackgroundHighContrast,\n sysColorBackgroundSurfaceActive = tokens.sysColorBackgroundSurfaceActive,\n sysColorBackgroundSurfaceHover = tokens.sysColorBackgroundSurfaceHover,\n sysColorSuccessMain = tokens.sysColorSuccessMain,\n sysColorSuccessContrast = tokens.sysColorSuccessContrast;\n var _utilStyles = utilStyles(tokens),\n screenReader = _utilStyles.screenReader,\n focusStyles = _utilStyles.focusStyles,\n shimmerStyles = _utilStyles.shimmerStyles;\n var _textStyles = textStyles(tokens),\n caption = _textStyles.caption;\n var offsetFocusAfter = focusStyles.offsetFocusAfter;\n var defaults = shimmerStyles.defaults;\n /* token for tap target in small icon-button */\n\n var sysIconbuttonPositionTapTargetOffset = math(\"\".concat(sysSizeTapTargetSm, \" - \").concat(sysSizeTapTargetXs));\n var iconButtonSize = math(\"\".concat(sysSizeIconSm, \" + 2 *\\n \").concat(sysSpaceMd));\n var base = css(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n label: icon-button_base;\\n position: relative;\\n cursor: pointer;\\n border-radius: \", \";\\n padding: \", \";\\n border: none;\\n background-color: transparent;\\n text-decoration: none;\\n display: inline-flex;\\n &:focus {\\n outline: none;\\n &:after {\\n \", \";\\n }\\n }\\n \"])), sysBorderRadiusInteractive, sysSpaceMd, offsetFocusAfter({\n radius: sysBorderRadiusInteractive,\n horizontalOffset: '0rem',\n verticalOffset: '0rem'\n }));\n var container = css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral([\"\\n label: icon-button_container;\\n position: relative;\\n display: flex;\\n flex-direction: column;\\n align-items: center;\\n padding: \", \" 0;\\n width: \", \";\\n word-wrap: break-word;\\n \", \"\\n border: none;\\n background-color: transparent;\\n\\n &:focus,\\n &:hover {\\n cursor: pointer;\\n -webkit-text-stroke-width: \", \";\\n }\\n\\n &:focus {\\n outline: none;\\n &:after {\\n \", \"\\n }\\n }\\n\\n &:hover {\\n span:last-of-type {\\n text-decoration: underline;\\n }\\n }\\n\\n &:hover > div:first-of-type {\\n background: \", \";\\n }\\n \"])), sysSpaceMd, '6rem', caption({\n color: getColorValue(colorTokens, sysColorBackgroundHighContrast, 'contrast')\n }), '0.0421875rem', offsetFocusAfter({\n radius: sysBorderRadiusSm\n }), sysColorTertiaryMainHover);\n var processingContainer = css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral([\"\\n label: processing_container;\\n &:hover {\\n cursor: default;\\n }\\n \"])));\n var successContainer = css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral([\"\\n label: success_container;\\n &:hover {\\n cursor: default;\\n }\\n &:hover > div:first-of-type {\\n background-color: \", \";\\n }\\n \"])), getColorValue(colorTokens, sysColorSuccessMain, 'main'));\n var primary = css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral([\"\\n label: primary;\\n color: \", \";\\n background: \", \";\\n &:hover {\\n background: \", \";\\n }\\n &:active {\\n background: \", \";\\n }\\n \"])), getColorValue(colorTokens, sysColorPrimaryContrast, 'contrast'), getColorValue(colorTokens, sysColorPrimaryMain, 'main'), getColorValue(colorTokens, sysColorPrimaryMainHover, 'hover'), getColorValue(colorTokens, sysColorPrimaryMainActive, 'active'));\n var inverse = css(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral([\"\\n label: inverse;\\n color: \", \";\\n \"])), getColorValue(colorTokens, sysColorPrimaryContrast, 'contrast'));\n var sizeSm = css(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral([\"\\n label: size_sm;\\n padding: \", \";\\n &:before {\\n content: '';\\n position: absolute;\\n border-radius: \", \";\\n top: -\", \";\\n right: -\", \";\\n bottom: -\", \";\\n left: -\", \";\\n }\\n \"])), sysSpaceSm, sysBorderRadiusInteractive, math(\"\".concat(sysIconbuttonPositionTapTargetOffset, \" / 2\")), math(\"\".concat(sysIconbuttonPositionTapTargetOffset, \" / 2\")), math(\"\".concat(sysIconbuttonPositionTapTargetOffset, \" / 2\")), math(\"\".concat(sysIconbuttonPositionTapTargetOffset, \" / 2\")));\n var sizeXl = css(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral([\"\\n label: size_xl;\\n \", \"\\n padding: \", \";\\n \"])), sizeSm, sysSpaceLg);\n var secondary = css(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral([\"\\n label: secondary;\\n color: \", \";\\n background: \", \";\\n &:active {\\n background: \", \";\\n }\\n &:hover {\\n background: \", \";\\n }\\n \"])), getColorValue(colorTokens, sysColorTertiaryContrast, 'contrast'), getColorValue(colorTokens, sysColorTertiaryMain, 'main'), getColorValue(colorTokens, sysColorTertiaryMainActive, 'active'), getColorValue(colorTokens, sysColorTertiaryMainHover, 'hover'));\n var secondaryInverse = css(_templateObject10 || (_templateObject10 = _taggedTemplateLiteral([\"\\n label: secondary_inverse;\\n background: \", \";\\n color: \", \";\\n &:hover {\\n background: \", \";\\n }\\n &:active {\\n background: \", \";\\n }\\n \"])), getColorValue(colorTokens, sysColorPrimaryContrast, 'contrast'), getColorValue(colorTokens, sysColorPrimaryMain, 'main'), getColorValue(colorTokens, sysColorPrimaryContrastHover, 'hover'), getColorValue(colorTokens, sysColorPrimaryContrastActive, 'active'));\n var tertiary = css(_templateObject11 || (_templateObject11 = _taggedTemplateLiteral([\"\\n label: tertiary;\\n color: \", \";\\n &:hover {\\n background: \", \";\\n }\\n &:active {\\n background: \", \";\\n }\\n \"])), getColorValue(colorTokens, sysColorBackgroundMediumContrast, 'contrast'), getColorValue(colorTokens, sysColorBackgroundSurfaceHover, 'hover'), getColorValue(colorTokens, sysColorBackgroundSurfaceActive, 'active'));\n var tertiaryInverse = css(_templateObject12 || (_templateObject12 = _taggedTemplateLiteral([\"\\n label: tertiary_inverse;\\n color: \", \";\\n background: \", \";\\n &:hover {\\n background: \", \";\\n }\\n &:active {\\n background: \", \";\\n }\\n \"])), getColorValue(colorTokens, sysColorOverlayContrast, 'contrast'), getColorValue(colorTokens, sysColorOverlayMain, 'main'), getColorValue(colorTokens, sysColorOverlayMainHover, 'hover'), getColorValue(colorTokens, sysColorOverlayMainActive, 'active'));\n var icon = css(_templateObject13 || (_templateObject13 = _taggedTemplateLiteral([\"\\n label: icon;\\n pointer-events: none;\\n \"])));\n var shimmer = css(_templateObject14 || (_templateObject14 = _taggedTemplateLiteral([\"\\n label: shimmer;\\n \", \"\\n \"])), defaults({\n borderRadius: sysBorderRadiusInteractive,\n width: iconButtonSize,\n height: iconButtonSize\n }));\n var shimmerSizeSm = css(_templateObject15 || (_templateObject15 = _taggedTemplateLiteral([\"\\n label: shimmer_size_sm;\\n width: \", \";\\n height: \", \";\\n &:before {\\n display: none; //tap-target is not needed in shimmer state\\n }\\n \"])), sysSizeTapTargetXs, sysSizeTapTargetXs);\n var shimmerSizeXl = css(_templateObject16 || (_templateObject16 = _taggedTemplateLiteral([\"\\n label: shimmer_size_xl;\\n width: \", \";\\n height: \", \";\\n &:before {\\n display: none; //tap-target is not needed in shimmer state\\n }\\n \"])), sysSizeCircleLg, sysSizeCircleLg);\n var loadingSpinner = css(_templateObject17 || (_templateObject17 = _taggedTemplateLiteral([\"\\n label: loading_spinner;\\n margin: 0;\\n \"])));\n var processingState = css(_templateObject18 || (_templateObject18 = _taggedTemplateLiteral([\"\\n label: processing_state;\\n pointer-events: none;\\n \"])));\n var successState = css(_templateObject19 || (_templateObject19 = _taggedTemplateLiteral([\"\\n label: success_state;\\n pointer-events: none;\\n background-color: \", \";\\n color: \", \";\\n &:hover {\\n background: \", \";\\n cursor: default;\\n }\\n &:active {\\n background: \", \";\\n }\\n \"])), getColorValue(colorTokens, sysColorSuccessMain, 'main'), getColorValue(colorTokens, sysColorSuccessContrast, 'contrast'), getColorValue(colorTokens, sysColorSuccessMain, 'main'), getColorValue(colorTokens, sysColorSuccessMain, 'main'));\n var label = css(_templateObject20 || (_templateObject20 = _taggedTemplateLiteral([\"\\n label: icon-button_label;\\n display: block;\\n text-align: center;\\n padding: \", \" \", \" 0 \", \";\\n width: inherit;\\n display: -webkit-box;\\n -webkit-line-clamp: 2;\\n -webkit-box-orient: vertical;\\n overflow: hidden;\\n \"])), sysSpaceSm, sysSpaceSm, sysSpaceSm);\n return {\n base: base,\n container: container,\n successContainer: successContainer,\n processingContainer: processingContainer,\n primary: primary,\n inverse: inverse,\n sizeSm: sizeSm,\n sizeXl: sizeXl,\n secondary: secondary,\n secondaryInverse: secondaryInverse,\n tertiary: tertiary,\n tertiaryInverse: tertiaryInverse,\n screenReader: screenReader,\n icon: icon,\n shimmer: shimmer,\n shimmerSizeSm: shimmerSizeSm,\n shimmerSizeXl: shimmerSizeXl,\n loadingSpinner: loadingSpinner,\n processingState: processingState,\n successState: successState,\n label: label\n };\n}\nvar _excluded = [\"as\", \"iconName\", \"svgIconComponent\", \"className\", \"label\", \"iconClassName\", \"children\", \"buttonType\", \"btnState\", \"screenReaderText\", \"inverse\", \"size\", \"isLoading\"];\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}\n\n/* eslint-disable complexity */\nvar IconButton = forwardRef(function (props, ref) {\n var as = props.as,\n iconName = props.iconName,\n svgIconComponent = props.svgIconComponent,\n className = props.className,\n label = props.label,\n iconClassName = props.iconClassName,\n children = props.children,\n _props$buttonType = props.buttonType,\n buttonType = _props$buttonType === void 0 ? 'primary' : _props$buttonType,\n _props$btnState = props.btnState,\n btnState = _props$btnState === void 0 ? 'initial' : _props$btnState,\n screenReaderText = props.screenReaderText,\n inverse = props.inverse,\n size = props.size,\n isLoading = props.isLoading,\n rest = _objectWithoutProperties(props, _excluded); // If theme is not directly provided, get from themeContext\n\n var tokens = useTheme();\n var colorTokens = React.useContext(ColorContext);\n var _styles = useMemo(function () {\n return styles(tokens, colorTokens);\n }, [tokens, colorTokens]);\n if (isLoading) {\n var shimmerSizesStyleMap = {\n sm: _styles.shimmerSizeSm,\n xl: _styles.shimmerSizeXl\n };\n var shimmerCSSVal = [_styles.shimmer, shimmerSizesStyleMap[size]];\n return jsx(Shimmer, _extends({\n css: shimmerCSSVal,\n className: className,\n isInverse: inverse,\n hasStyleDefaults: false\n }, rest, {\n \"data-ppui\": \"true\"\n }), children);\n }\n /* istanbul ignore next */\n\n var iconSize = size === 'xl' ? 'md' : 'sm';\n var sizesStyleMap = {\n sm: _styles.sizeSm,\n xl: _styles.sizeXl\n };\n var cssVal = [_styles.base, sizesStyleMap[size], buttonType === 'primary' && _styles.primary, buttonType === 'secondary' && _styles.secondary, buttonType === 'tertiary' && _styles.tertiary, inverse && _styles.inverse, buttonType === 'secondary' && inverse && _styles.secondaryInverse, buttonType === 'tertiary' && inverse && _styles.tertiaryInverse, btnState === 'success' && _styles.successState, btnState === 'processing' && _styles.processingState];\n var withLabelCssVal = [_styles.base, size === 'sm' ? '' : sizesStyleMap[size], _styles.secondary, btnState === 'success' && _styles.successState, btnState === 'processing' && _styles.processingState];\n var Component = as || 'button';\n if (label) {\n Component = 'div';\n } // Setting type to null will not add the attribute:\n\n var type = Component === 'button' ? 'button' : null;\n var renderIconComponent = svgIconComponent ? jsx(svgIconComponent, {\n css: _styles.icon,\n className: iconClassName,\n name: iconName,\n size: iconSize,\n \"aria-hidden\": \"true\",\n \"data-ppui\": \"true\"\n }) : null; // Do not add rest props when there is a label. The `iconButtonComponent` component will be inside a wrapper.\n\n var restProps = !label ? _objectSpread({}, rest) : {};\n var componentProps = _objectSpread({\n className: className,\n css: label ? withLabelCssVal : cssVal,\n ref: ref,\n type: type,\n disabled: btnState && btnState !== 'initial'\n }, restProps);\n var iconButtonComponent = jsx(Component, _extends({\n \"data-ppui-info\": \"icon-button_3.4.6\"\n }, componentProps), btnState !== 'initial' ? function renderButtonState() {\n var iconProps = {\n css: _styles.icon\n };\n var buttonStateComponent = jsx(CheckmarkIcon, _extends({\n size: iconSize\n }, iconProps, {\n \"data-ppui\": \"true\"\n }));\n if (btnState === 'processing') {\n /* istanbul ignore next */\n var loadingSpinnerProps = {\n css: [_styles.icon, _styles.loadingSpinner],\n inverse: label ? false : buttonType === 'primary' || buttonType === 'tertiary' && inverse\n };\n buttonStateComponent = jsx(LoadingSpinner, _extends({\n size: iconSize\n }, loadingSpinnerProps, {\n \"data-ppui\": \"true\"\n }));\n }\n return jsx(React.Fragment, null, buttonStateComponent, jsx(\"span\", {\n css: _styles.screenReader,\n role: \"status\",\n \"data-ppui\": \"true\"\n }, screenReaderText || btnState));\n }() : jsx(React.Fragment, null, renderIconComponent, !label && jsx(\"span\", {\n css: _styles.screenReader,\n \"data-ppui\": \"true\"\n }, children)));\n if (!label) {\n return jsx(React.Fragment, null, iconButtonComponent);\n }\n return jsx(React.Fragment, null, function iconButtonComponentWithLabel() {\n var WrapperComponent = as !== null && as !== void 0 ? as : 'button';\n return jsx(WrapperComponent, _extends({\n css: [_styles.container, btnState === 'success' && _styles.successContainer, btnState === 'processing' && _styles.processingContainer],\n className: className,\n tabIndex: 0\n }, rest, {\n \"data-ppui\": \"true\"\n }), iconButtonComponent, jsx(\"span\", {\n css: _styles.label,\n \"data-ppui\": \"true\"\n }, label));\n }());\n});\nexport { IconButton, styles as iconButtonStyles };","export function deferAction(action) {\n setTimeout(action, 1);\n}\nexport var inlineProp = function inlineProp(name, value) {\n var obj = {};\n obj[name] = value;\n return obj;\n};","'use strict';\nvar documentAll = typeof document == 'object' && document.all;\n\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot\n// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing\nvar IS_HTMLDDA = typeof documentAll == 'undefined' && documentAll !== undefined;\n\nmodule.exports = {\n all: documentAll,\n IS_HTMLDDA: IS_HTMLDDA\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar hasOwn = require('../internals/has-own-property');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar regExpFlags = require('../internals/regexp-flags');\n\nvar RegExpPrototype = RegExp.prototype;\n\nmodule.exports = function (R) {\n var flags = R.flags;\n return flags === undefined && !('flags' in RegExpPrototype) && !hasOwn(R, 'flags') && isPrototypeOf(RegExpPrototype, R)\n ? call(regExpFlags, R) : flags;\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value === POLYFILL ? true\n : value === NATIVE ? false\n : isCallable(detection) ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","const preferDefault = m => (m && m.default) || m\n\nif (process.env.BUILD_STAGE === `develop`) {\n module.exports = preferDefault(require(`./public-page-renderer-dev`))\n} else if (process.env.BUILD_STAGE === `build-javascript`) {\n module.exports = preferDefault(require(`./public-page-renderer-prod`))\n} else {\n module.exports = () => null\n}\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw $TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","/******************************************************************************\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/* global Reflect, Promise, SuppressedError, Symbol */\n\nvar extendStatics = function (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) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];\n };\n return extendStatics(d, b);\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 extendStatics(d, b);\n function __() {\n this.constructor = d;\n }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\nexport var __assign = function () {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\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--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\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 __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) {\n if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\");\n return f;\n }\n var kind = contextIn.kind,\n key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _,\n done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) {\n if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\");\n extraInitializers.push(accept(f || null));\n };\n var result = (0, decorators[i])(kind === \"accessor\" ? {\n get: descriptor.get,\n set: descriptor.set\n } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n } else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n}\n;\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n}\n;\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n}\n;\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", {\n configurable: true,\n value: prefix ? \"\".concat(prefix, \" \", name) : name\n });\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 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 function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e) {\n reject(e);\n }\n }\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\nexport function __generator(thisArg, body) {\n var _ = {\n label: 0,\n sent: function () {\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 function verb(n) {\n return function (v) {\n return step([n, v]);\n };\n }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) 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 switch (op[0]) {\n case 0:\n case 1:\n t = op;\n break;\n case 4:\n _.label++;\n return {\n value: op[1],\n done: false\n };\n case 5:\n _.label++;\n y = op[1];\n op = [0];\n continue;\n case 7:\n op = _.ops.pop();\n _.trys.pop();\n continue;\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 if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {\n _.label = op[1];\n break;\n }\n if (op[0] === 6 && _.label < t[1]) {\n _.label = t[1];\n t = op;\n break;\n }\n if (t && _.label < t[2]) {\n _.label = t[2];\n _.ops.push(op);\n break;\n }\n if (t[2]) _.ops.pop();\n _.trys.pop();\n continue;\n }\n op = body.call(thisArg, _);\n } catch (e) {\n op = [6, e];\n y = 0;\n } finally {\n f = t = 0;\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 var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = {\n enumerable: true,\n get: function () {\n return m[k];\n }\n };\n }\n Object.defineProperty(o, k2, desc);\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) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\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 () {\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 try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\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 return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++) for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) r[k] = a[j];\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 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 function resume(n, v) {\n try {\n step(g[n](v));\n } catch (e) {\n settle(q[0][3], e);\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 function fulfill(value) {\n resume(\"next\", value);\n }\n function reject(value) {\n resume(\"throw\", value);\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 function verb(n, f) {\n i[n] = o[n] ? function (v) {\n return (p = !p) ? {\n value: __await(o[n](v)),\n done: false\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 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 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 return cooked;\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};\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\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}\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || typeof receiver !== \"object\" && typeof receiver !== \"function\") throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n env.stack.push({\n value: value,\n dispose: dispose,\n async: async\n });\n } else if (async) {\n env.stack.push({\n async: true\n });\n }\n return value;\n}\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n function next() {\n while (env.stack.length) {\n var rec = env.stack.pop();\n try {\n var result = rec.dispose && rec.dispose.call(rec.value);\n if (rec.async) return Promise.resolve(result).then(next, function (e) {\n fail(e);\n return next();\n });\n } catch (e) {\n fail(e);\n }\n }\n if (env.hasError) throw env.error;\n }\n return next();\n}\nexport default {\n __extends: __extends,\n __assign: __assign,\n __rest: __rest,\n __decorate: __decorate,\n __param: __param,\n __metadata: __metadata,\n __awaiter: __awaiter,\n __generator: __generator,\n __createBinding: __createBinding,\n __exportStar: __exportStar,\n __values: __values,\n __read: __read,\n __spread: __spread,\n __spreadArrays: __spreadArrays,\n __spreadArray: __spreadArray,\n __await: __await,\n __asyncGenerator: __asyncGenerator,\n __asyncDelegator: __asyncDelegator,\n __asyncValues: __asyncValues,\n __makeTemplateObject: __makeTemplateObject,\n __importStar: __importStar,\n __importDefault: __importDefault,\n __classPrivateFieldGet: __classPrivateFieldGet,\n __classPrivateFieldSet: __classPrivateFieldSet,\n __classPrivateFieldIn: __classPrivateFieldIn,\n __addDisposableResource: __addDisposableResource,\n __disposeResources: __disposeResources\n};","/*\n Why commonjs and not ES imports/exports?\n\n This module is used to alias `create-react-context` package, but drop the the actual implementation part\n because Gatsby requires version of react that has implementatoin baked in.\n \n Package source is using ES modules:\n - https://github.com/jamiebuilds/create-react-context/blob/v0.3.0/src/index.js\n \n But to build this package `babel-plugin-add-module-exports` is used ( https://www.npmjs.com/package/babel-plugin-add-module-exports).\n Which result in both `module.exports` and `exports.default` being set to same thing.\n\n We don't use that babel plugin so we only have `exports.default`.\n\n This cause problems in various 3rd party react components that rely on `module.exports` being set.\n See https://github.com/gatsbyjs/gatsby/issues/23645 for example of it.\n \n Instead of adding same babel plugin we mimic output here. Adding babel plugin just for this would:\n a) unnecesairly slow down compilation for all other files (if we just apply it everywhere)\n b) or complicate babel-loader configuration with overwrite specifically for this file\n*/\n\nconst { createContext } = require(`react`)\n\nmodule.exports = createContext\nmodule.exports.default = createContext\n","// TODO(Babel 8): Remove this file.\n\nvar runtime = require(\"../helpers/regeneratorRuntime\")();\nmodule.exports = runtime;\n\n// Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736=\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}","import _typeof from \"./typeof.js\";\nexport default function _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}","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","export var zeroGap = {\n left: 0,\n top: 0,\n right: 0,\n gap: 0\n};\nvar parse = function (x) {\n return parseInt(x || '', 10) || 0;\n};\nvar getOffset = function (gapMode) {\n var cs = window.getComputedStyle(document.body);\n var left = cs[gapMode === 'padding' ? 'paddingLeft' : 'marginLeft'];\n var top = cs[gapMode === 'padding' ? 'paddingTop' : 'marginTop'];\n var right = cs[gapMode === 'padding' ? 'paddingRight' : 'marginRight'];\n return [parse(left), parse(top), parse(right)];\n};\nexport var getGapWidth = function (gapMode) {\n if (gapMode === void 0) {\n gapMode = 'margin';\n }\n if (typeof window === 'undefined') {\n return zeroGap;\n }\n var offsets = getOffset(gapMode);\n var documentWidth = document.documentElement.clientWidth;\n var windowWidth = window.innerWidth;\n return {\n left: offsets[0],\n top: offsets[1],\n right: offsets[2],\n gap: Math.max(0, windowWidth - documentWidth + offsets[2] - offsets[0])\n };\n};","import * as React from 'react';\nimport { styleSingleton } from 'react-style-singleton';\nimport { fullWidthClassName, zeroRightClassName, noScrollbarsClassName, removedBarSizeVariable } from './constants';\nimport { getGapWidth } from './utils';\nvar Style = styleSingleton();\n// important tip - once we measure scrollBar width and remove them\n// we could not repeat this operation\n// thus we are using style-singleton - only the first \"yet correct\" style will be applied.\nvar getStyles = function (_a, allowRelative, gapMode, important) {\n var left = _a.left,\n top = _a.top,\n right = _a.right,\n gap = _a.gap;\n if (gapMode === void 0) {\n gapMode = 'margin';\n }\n return \"\\n .\".concat(noScrollbarsClassName, \" {\\n overflow: hidden \").concat(important, \";\\n padding-right: \").concat(gap, \"px \").concat(important, \";\\n }\\n body {\\n overflow: hidden \").concat(important, \";\\n overscroll-behavior: contain;\\n \").concat([allowRelative && \"position: relative \".concat(important, \";\"), gapMode === 'margin' && \"\\n padding-left: \".concat(left, \"px;\\n padding-top: \").concat(top, \"px;\\n padding-right: \").concat(right, \"px;\\n margin-left:0;\\n margin-top:0;\\n margin-right: \").concat(gap, \"px \").concat(important, \";\\n \"), gapMode === 'padding' && \"padding-right: \".concat(gap, \"px \").concat(important, \";\")].filter(Boolean).join(''), \"\\n }\\n \\n .\").concat(zeroRightClassName, \" {\\n right: \").concat(gap, \"px \").concat(important, \";\\n }\\n \\n .\").concat(fullWidthClassName, \" {\\n margin-right: \").concat(gap, \"px \").concat(important, \";\\n }\\n \\n .\").concat(zeroRightClassName, \" .\").concat(zeroRightClassName, \" {\\n right: 0 \").concat(important, \";\\n }\\n \\n .\").concat(fullWidthClassName, \" .\").concat(fullWidthClassName, \" {\\n margin-right: 0 \").concat(important, \";\\n }\\n \\n body {\\n \").concat(removedBarSizeVariable, \": \").concat(gap, \"px;\\n }\\n\");\n};\n/**\n * Removes page scrollbar and blocks page scroll when mounted\n */\nexport var RemoveScrollBar = function (props) {\n var noRelative = props.noRelative,\n noImportant = props.noImportant,\n _a = props.gapMode,\n gapMode = _a === void 0 ? 'margin' : _a;\n /*\n gap will be measured on every component mount\n however it will be used only by the \"first\" invocation\n due to singleton nature of d) {\n return true;\n }\n }\n current = current.parentNode;\n } while (current && current !== ownerDocument.body);\n return false;\n};\nvar getVScrollVariables = function (_a) {\n var scrollTop = _a.scrollTop,\n scrollHeight = _a.scrollHeight,\n clientHeight = _a.clientHeight;\n return [scrollTop, scrollHeight, clientHeight];\n};\nvar getHScrollVariables = function (_a) {\n var scrollLeft = _a.scrollLeft,\n scrollWidth = _a.scrollWidth,\n clientWidth = _a.clientWidth;\n return [scrollLeft, scrollWidth, clientWidth];\n};\nvar elementCouldBeScrolled = function (axis, node) {\n return axis === 'v' ? elementCouldBeVScrolled(node) : elementCouldBeHScrolled(node);\n};\nvar getScrollVariables = function (axis, node) {\n return axis === 'v' ? getVScrollVariables(node) : getHScrollVariables(node);\n};\nvar getDirectionFactor = function (axis, direction) {\n /**\n * If the element's direction is rtl (right-to-left), then scrollLeft is 0 when the scrollbar is at its rightmost position,\n * and then increasingly negative as you scroll towards the end of the content.\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollLeft\n */\n return axis === 'h' && direction === 'rtl' ? -1 : 1;\n};\nexport var handleScroll = function (axis, endTarget, event, sourceDelta, noOverscroll) {\n var directionFactor = getDirectionFactor(axis, window.getComputedStyle(endTarget).direction);\n var delta = directionFactor * sourceDelta;\n // find scrollable target\n var target = event.target;\n var targetInLock = endTarget.contains(target);\n var shouldCancelScroll = false;\n var isDeltaPositive = delta > 0;\n var availableScroll = 0;\n var availableScrollTop = 0;\n do {\n var _a = getScrollVariables(axis, target),\n position = _a[0],\n scroll_1 = _a[1],\n capacity = _a[2];\n var elementScroll = scroll_1 - capacity - directionFactor * position;\n if (position || elementScroll) {\n if (elementCouldBeScrolled(axis, target)) {\n availableScroll += elementScroll;\n availableScrollTop += position;\n }\n }\n target = target.parentNode;\n } while (\n // portaled content\n !targetInLock && target !== document.body ||\n // self content\n targetInLock && (endTarget.contains(target) || endTarget === target));\n if (isDeltaPositive && (noOverscroll && availableScroll === 0 || !noOverscroll && delta > availableScroll)) {\n shouldCancelScroll = true;\n } else if (!isDeltaPositive && (noOverscroll && availableScrollTop === 0 || !noOverscroll && -delta > availableScrollTop)) {\n shouldCancelScroll = true;\n }\n return shouldCancelScroll;\n};","import { __spreadArray } from \"tslib\";\nimport * as React from 'react';\nimport { RemoveScrollBar } from 'react-remove-scroll-bar';\nimport { styleSingleton } from 'react-style-singleton';\nimport { nonPassive } from './aggresiveCapture';\nimport { handleScroll, locationCouldBeScrolled } from './handleScroll';\nexport var getTouchXY = function (event) {\n return 'changedTouches' in event ? [event.changedTouches[0].clientX, event.changedTouches[0].clientY] : [0, 0];\n};\nexport var getDeltaXY = function (event) {\n return [event.deltaX, event.deltaY];\n};\nvar extractRef = function (ref) {\n return ref && 'current' in ref ? ref.current : ref;\n};\nvar deltaCompare = function (x, y) {\n return x[0] === y[0] && x[1] === y[1];\n};\nvar generateStyle = function (id) {\n return \"\\n .block-interactivity-\".concat(id, \" {pointer-events: none;}\\n .allow-interactivity-\").concat(id, \" {pointer-events: all;}\\n\");\n};\nvar idCounter = 0;\nvar lockStack = [];\nexport function RemoveScrollSideCar(props) {\n var shouldPreventQueue = React.useRef([]);\n var touchStartRef = React.useRef([0, 0]);\n var activeAxis = React.useRef();\n var id = React.useState(idCounter++)[0];\n var Style = React.useState(styleSingleton)[0];\n var lastProps = React.useRef(props);\n React.useEffect(function () {\n lastProps.current = props;\n }, [props]);\n React.useEffect(function () {\n if (props.inert) {\n document.body.classList.add(\"block-interactivity-\".concat(id));\n var allow_1 = __spreadArray([props.lockRef.current], (props.shards || []).map(extractRef), true).filter(Boolean);\n allow_1.forEach(function (el) {\n return el.classList.add(\"allow-interactivity-\".concat(id));\n });\n return function () {\n document.body.classList.remove(\"block-interactivity-\".concat(id));\n allow_1.forEach(function (el) {\n return el.classList.remove(\"allow-interactivity-\".concat(id));\n });\n };\n }\n return;\n }, [props.inert, props.lockRef.current, props.shards]);\n var shouldCancelEvent = React.useCallback(function (event, parent) {\n if ('touches' in event && event.touches.length === 2) {\n return !lastProps.current.allowPinchZoom;\n }\n var touch = getTouchXY(event);\n var touchStart = touchStartRef.current;\n var deltaX = 'deltaX' in event ? event.deltaX : touchStart[0] - touch[0];\n var deltaY = 'deltaY' in event ? event.deltaY : touchStart[1] - touch[1];\n var currentAxis;\n var target = event.target;\n var moveDirection = Math.abs(deltaX) > Math.abs(deltaY) ? 'h' : 'v';\n // allow horizontal touch move on Range inputs. They will not cause any scroll\n if ('touches' in event && moveDirection === 'h' && target.type === 'range') {\n return false;\n }\n var canBeScrolledInMainDirection = locationCouldBeScrolled(moveDirection, target);\n if (!canBeScrolledInMainDirection) {\n return true;\n }\n if (canBeScrolledInMainDirection) {\n currentAxis = moveDirection;\n } else {\n currentAxis = moveDirection === 'v' ? 'h' : 'v';\n canBeScrolledInMainDirection = locationCouldBeScrolled(moveDirection, target);\n // other axis might be not scrollable\n }\n\n if (!canBeScrolledInMainDirection) {\n return false;\n }\n if (!activeAxis.current && 'changedTouches' in event && (deltaX || deltaY)) {\n activeAxis.current = currentAxis;\n }\n if (!currentAxis) {\n return true;\n }\n var cancelingAxis = activeAxis.current || currentAxis;\n return handleScroll(cancelingAxis, parent, event, cancelingAxis === 'h' ? deltaX : deltaY, true);\n }, []);\n var shouldPrevent = React.useCallback(function (_event) {\n var event = _event;\n if (!lockStack.length || lockStack[lockStack.length - 1] !== Style) {\n // not the last active\n return;\n }\n var delta = 'deltaY' in event ? getDeltaXY(event) : getTouchXY(event);\n var sourceEvent = shouldPreventQueue.current.filter(function (e) {\n return e.name === event.type && e.target === event.target && deltaCompare(e.delta, delta);\n })[0];\n // self event, and should be canceled\n if (sourceEvent && sourceEvent.should) {\n if (event.cancelable) {\n event.preventDefault();\n }\n return;\n }\n // outside or shard event\n if (!sourceEvent) {\n var shardNodes = (lastProps.current.shards || []).map(extractRef).filter(Boolean).filter(function (node) {\n return node.contains(event.target);\n });\n var shouldStop = shardNodes.length > 0 ? shouldCancelEvent(event, shardNodes[0]) : !lastProps.current.noIsolation;\n if (shouldStop) {\n if (event.cancelable) {\n event.preventDefault();\n }\n }\n }\n }, []);\n var shouldCancel = React.useCallback(function (name, delta, target, should) {\n var event = {\n name: name,\n delta: delta,\n target: target,\n should: should\n };\n shouldPreventQueue.current.push(event);\n setTimeout(function () {\n shouldPreventQueue.current = shouldPreventQueue.current.filter(function (e) {\n return e !== event;\n });\n }, 1);\n }, []);\n var scrollTouchStart = React.useCallback(function (event) {\n touchStartRef.current = getTouchXY(event);\n activeAxis.current = undefined;\n }, []);\n var scrollWheel = React.useCallback(function (event) {\n shouldCancel(event.type, getDeltaXY(event), event.target, shouldCancelEvent(event, props.lockRef.current));\n }, []);\n var scrollTouchMove = React.useCallback(function (event) {\n shouldCancel(event.type, getTouchXY(event), event.target, shouldCancelEvent(event, props.lockRef.current));\n }, []);\n React.useEffect(function () {\n lockStack.push(Style);\n props.setCallbacks({\n onScrollCapture: scrollWheel,\n onWheelCapture: scrollWheel,\n onTouchMoveCapture: scrollTouchMove\n });\n document.addEventListener('wheel', shouldPrevent, nonPassive);\n document.addEventListener('touchmove', shouldPrevent, nonPassive);\n document.addEventListener('touchstart', scrollTouchStart, nonPassive);\n return function () {\n lockStack = lockStack.filter(function (inst) {\n return inst !== Style;\n });\n document.removeEventListener('wheel', shouldPrevent, nonPassive);\n document.removeEventListener('touchmove', shouldPrevent, nonPassive);\n document.removeEventListener('touchstart', scrollTouchStart, nonPassive);\n };\n }, []);\n var removeScrollBar = props.removeScrollBar,\n inert = props.inert;\n return React.createElement(React.Fragment, null, inert ? React.createElement(Style, {\n styles: generateStyle(id)\n }) : null, removeScrollBar ? React.createElement(RemoveScrollBar, {\n gapMode: props.gapMode\n }) : null);\n}","import { exportSidecar } from 'use-sidecar';\nimport { RemoveScrollSideCar } from './SideEffect';\nimport { effectCar } from './medium';\nexport default exportSidecar(effectCar, RemoveScrollSideCar);","/*!\n * JavaScript Cookie v2.2.1\n * https://github.com/js-cookie/js-cookie\n *\n * Copyright 2006, 2015 Klaus Hartl & Fagner Brack\n * Released under the MIT license\n */\n;\n(function (factory) {\n var registeredInModuleLoader;\n if (typeof define === 'function' && define.amd) {\n define(factory);\n registeredInModuleLoader = true;\n }\n if (typeof exports === 'object') {\n module.exports = factory();\n registeredInModuleLoader = true;\n }\n if (!registeredInModuleLoader) {\n var OldCookies = window.Cookies;\n var api = window.Cookies = factory();\n api.noConflict = function () {\n window.Cookies = OldCookies;\n return api;\n };\n }\n})(function () {\n function extend() {\n var i = 0;\n var result = {};\n for (; i < arguments.length; i++) {\n var attributes = arguments[i];\n for (var key in attributes) {\n result[key] = attributes[key];\n }\n }\n return result;\n }\n function decode(s) {\n return s.replace(/(%[0-9A-Z]{2})+/g, decodeURIComponent);\n }\n function init(converter) {\n function api() {}\n function set(key, value, attributes) {\n if (typeof document === 'undefined') {\n return;\n }\n attributes = extend({\n path: '/'\n }, api.defaults, attributes);\n if (typeof attributes.expires === 'number') {\n attributes.expires = new Date(new Date() * 1 + attributes.expires * 864e+5);\n }\n\n // We're using \"expires\" because \"max-age\" is not supported by IE\n attributes.expires = attributes.expires ? attributes.expires.toUTCString() : '';\n try {\n var result = JSON.stringify(value);\n if (/^[\\{\\[]/.test(result)) {\n value = result;\n }\n } catch (e) {}\n value = converter.write ? converter.write(value, key) : encodeURIComponent(String(value)).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, decodeURIComponent);\n key = encodeURIComponent(String(key)).replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent).replace(/[\\(\\)]/g, escape);\n var stringifiedAttributes = '';\n for (var attributeName in attributes) {\n if (!attributes[attributeName]) {\n continue;\n }\n stringifiedAttributes += '; ' + attributeName;\n if (attributes[attributeName] === true) {\n continue;\n }\n\n // Considers RFC 6265 section 5.2:\n // ...\n // 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n // character:\n // Consume the characters of the unparsed-attributes up to,\n // not including, the first %x3B (\";\") character.\n // ...\n stringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n }\n return document.cookie = key + '=' + value + stringifiedAttributes;\n }\n function get(key, json) {\n if (typeof document === 'undefined') {\n return;\n }\n var jar = {};\n // To prevent the for loop in the first place assign an empty array\n // in case there are no cookies at all.\n var cookies = document.cookie ? document.cookie.split('; ') : [];\n var i = 0;\n for (; i < cookies.length; i++) {\n var parts = cookies[i].split('=');\n var cookie = parts.slice(1).join('=');\n if (!json && cookie.charAt(0) === '\"') {\n cookie = cookie.slice(1, -1);\n }\n try {\n var name = decode(parts[0]);\n cookie = (converter.read || converter)(cookie, name) || decode(cookie);\n if (json) {\n try {\n cookie = JSON.parse(cookie);\n } catch (e) {}\n }\n jar[name] = cookie;\n if (key === name) {\n break;\n }\n } catch (e) {}\n }\n return key ? jar[key] : jar;\n }\n api.set = set;\n api.get = function (key) {\n return get(key, false /* read as raw */);\n };\n\n api.getJSON = function (key) {\n return get(key, true /* read as json */);\n };\n\n api.remove = function (key, attributes) {\n set(key, '', extend(attributes, {\n expires: -1\n }));\n };\n api.defaults = {};\n api.withConverter = init;\n return api;\n }\n return init(function () {});\n});","function _extends() {\n module.exports = _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _extends.apply(this, arguments);\n}\nmodule.exports = _extends, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}","'use strict';\nvar anObject = require('../internals/an-object');\n\n// `RegExp.prototype.flags` getter implementation\n// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.hasIndices) result += 'd';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.dotAll) result += 's';\n if (that.unicode) result += 'u';\n if (that.unicodeSets) result += 'v';\n if (that.sticky) result += 'y';\n return result;\n};\n","'use strict';\n// TODO: Remove from `core-js@4`\nrequire('../modules/es.string.replace-all');\n","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _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}","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype !== 42;\n});\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nimport loader from \"./loader\"\nimport InternalPageRenderer from \"./page-renderer\"\n\nconst ProdPageRenderer = ({ location }) => {\n const pageResources = loader.loadPageSync(location.pathname)\n if (!pageResources) {\n return null\n }\n return React.createElement(InternalPageRenderer, {\n location,\n pageResources,\n ...pageResources.json,\n })\n}\n\nProdPageRenderer.propTypes = {\n location: PropTypes.shape({\n pathname: PropTypes.string.isRequired,\n }).isRequired,\n}\n\nexport default ProdPageRenderer\n","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}","import { __assign, __rest } from \"tslib\";\nimport * as React from 'react';\nimport { fullWidthClassName, zeroRightClassName } from 'react-remove-scroll-bar/constants';\nimport { useMergeRefs } from 'use-callback-ref';\nimport { effectCar } from './medium';\nvar nothing = function () {\n return;\n};\n/**\n * Removes scrollbar from the page and contain the scroll within the Lock\n */\nvar RemoveScroll = React.forwardRef(function (props, parentRef) {\n var ref = React.useRef(null);\n var _a = React.useState({\n onScrollCapture: nothing,\n onWheelCapture: nothing,\n onTouchMoveCapture: nothing\n }),\n callbacks = _a[0],\n setCallbacks = _a[1];\n var forwardProps = props.forwardProps,\n children = props.children,\n className = props.className,\n removeScrollBar = props.removeScrollBar,\n enabled = props.enabled,\n shards = props.shards,\n sideCar = props.sideCar,\n noIsolation = props.noIsolation,\n inert = props.inert,\n allowPinchZoom = props.allowPinchZoom,\n _b = props.as,\n Container = _b === void 0 ? 'div' : _b,\n gapMode = props.gapMode,\n rest = __rest(props, [\"forwardProps\", \"children\", \"className\", \"removeScrollBar\", \"enabled\", \"shards\", \"sideCar\", \"noIsolation\", \"inert\", \"allowPinchZoom\", \"as\", \"gapMode\"]);\n var SideCar = sideCar;\n var containerRef = useMergeRefs([ref, parentRef]);\n var containerProps = __assign(__assign({}, rest), callbacks);\n return React.createElement(React.Fragment, null, enabled && React.createElement(SideCar, {\n sideCar: effectCar,\n removeScrollBar: removeScrollBar,\n shards: shards,\n noIsolation: noIsolation,\n inert: inert,\n setCallbacks: setCallbacks,\n allowPinchZoom: !!allowPinchZoom,\n lockRef: ref,\n gapMode: gapMode\n }), forwardProps ? React.cloneElement(React.Children.only(children), __assign(__assign({}, containerProps), {\n ref: containerRef\n })) : React.createElement(Container, __assign({}, containerProps, {\n className: className,\n ref: containerRef\n }), children));\n});\nRemoveScroll.defaultProps = {\n enabled: true,\n removeScrollBar: true,\n inert: false\n};\nRemoveScroll.classNames = {\n fullWidth: fullWidthClassName,\n zeroRight: zeroRightClassName\n};\nexport { RemoveScroll };","import _extends from '@babel/runtime/helpers/esm/extends';\nimport _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';\nimport React, { useMemo, useState, useEffect } from 'react';\nimport { css, useTheme, jsx } from '@emotion/react';\nimport _taggedTemplateLiteral from '@babel/runtime/helpers/esm/taggedTemplateLiteral';\nimport { math } from 'polished';\nimport { textStyles } from '@paypalcorp/pp-react-text';\nimport { utilStyles } from '@paypalcorp/pp-react-utils';\nimport _slicedToArray from '@babel/runtime/helpers/esm/slicedToArray';\nimport { ChevronUpIcon, ChevronDownIcon } from '@paypalcorp/pp-react-icons';\nvar _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9;\nfunction styles(tokens) {\n /* istanbul ignore next */\n if (!Object.keys(tokens).length) {\n console.warn('Missing Emotion theme. Use ThemeProvider from @emotion/react to pass a valid theme from pp-react.');\n return {};\n }\n var sysSpaceXs = tokens.sysSpaceXs,\n sysSpaceLg = tokens.sysSpaceLg,\n sysColorBackgroundMediumContrast = tokens.sysColorBackgroundMediumContrast,\n sysColorBackgroundHighContrast = tokens.sysColorBackgroundHighContrast;\n var _utilStyles = utilStyles(tokens),\n focusStyles = _utilStyles.focusStyles;\n var _textStyles = textStyles(tokens),\n textBody = _textStyles.body,\n headingSm = _textStyles.headingSm,\n title = _textStyles.title;\n var offsetFocusAfter = focusStyles.offsetFocusAfter;\n var headerPaddingRight = math(\"\".concat(sysSpaceLg, \" * 3.25\"));\n var base = css(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n label: accordion_base;\\n width: 100%;\\n border-collapse: collapse;\\n \"])));\n var row = css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral([\"\\n label: row;\\n border: none;\\n \"])));\n var body = css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral([\"\\n label: body;\\n display: none;\\n padding: 0 \", \" \", \";\\n padding-top: \", \";\\n text-align: left;\\n \", \";\\n p {\\n margin: 0;\\n }\\n\\n [dir='rtl'] & {\\n text-align: right;\\n }\\n \"])), sysSpaceLg, sysSpaceLg, sysSpaceXs, textBody({\n color: sysColorBackgroundHighContrast\n }));\n var bodyClose = css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral([\"\\n label: body_close;\\n display: none;\\n \"])));\n var bodyOpen = css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral([\"\\n label: body_open;\\n display: block;\\n \"])));\n var getHeaderFont = function (size) {\n if (size === 'small') return css(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral([\"\\n \", \"\\n \"])), title({\n color: sysColorBackgroundHighContrast\n }));\n return css(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral([\"\\n \", \"\\n \"])), headingSm({\n color: sysColorBackgroundHighContrast\n }));\n };\n var header = function (size) {\n return css(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral([\"\\n label: header;\\n cursor: pointer;\\n word-break: break-word;\\n padding: \", \" \", \" \", \" \", \";\\n position: relative;\\n background: none;\\n border: none;\\n width: 100%;\\n display: flex;\\n align-items: center;\\n text-align: start;\\n \", \";\\n\\n &:focus {\\n outline: none;\\n &:after {\\n \", \"\\n }\\n }\\n\\n &[aria-expanded='true'] {\\n &:before {\\n transform: rotateX(180deg);\\n }\\n }\\n\\n [dir='rtl'] & {\\n padding: \", \" \", \" \", \" \", \";\\n text-align: right;\\n }\\n \"])), sysSpaceLg, headerPaddingRight, sysSpaceLg, sysSpaceLg, getHeaderFont(size), offsetFocusAfter({\n radius: sysSpaceXs,\n horizontalOffset: '0rem',\n verticalOffset: '0rem'\n }), sysSpaceLg, sysSpaceLg, sysSpaceLg, headerPaddingRight);\n };\n var svgIcon = css(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral([\"\\n label: svg_icon;\\n color: \", \";\\n position: absolute;\\n right: \", \";\\n\\n [dir='rtl'] & {\\n left: \", \";\\n right: auto;\\n }\\n \"])), sysColorBackgroundMediumContrast, sysSpaceLg, sysSpaceLg);\n return {\n base: base,\n row: row,\n body: body,\n bodyOpen: bodyOpen,\n bodyClose: bodyClose,\n header: header,\n svgIcon: svgIcon\n };\n}\nvar _excluded = [\"name\", \"className\", \"children\", \"headerSize\"];\nvar Accordion = function (_ref) {\n var _ref$name = _ref.name,\n name = _ref$name === void 0 ? 'Accordion' : _ref$name,\n className = _ref.className,\n children = _ref.children,\n headerSize = _ref.headerSize,\n rest = _objectWithoutProperties(_ref, _excluded);\n var accordionRows = React.Children.map(children, function (child, index) {\n return React.cloneElement(child, {\n accordionName: name,\n rowNumber: index + 1,\n headerSize: headerSize\n });\n });\n var tokens = useTheme();\n var _styles = useMemo(function () {\n return styles(tokens);\n }, [tokens]);\n return jsx(\"div\", _extends({\n css: _styles.base,\n className: className,\n \"data-ppui-info\": \"accordion_3.4.8\"\n }, rest), accordionRows);\n};\nvar _excluded$1 = [\"accordionName\", \"heading\", \"rowNumber\", \"className\", \"headerClassName\", \"contentClassName\", \"iconClassName\", \"isOpen\", \"onClick\", \"children\", \"headerSize\"];\nvar AccordionRow = function (_ref) {\n var accordionName = _ref.accordionName,\n _ref$heading = _ref.heading,\n heading = _ref$heading === void 0 ? 'Heading' : _ref$heading,\n rowNumber = _ref.rowNumber,\n className = _ref.className,\n headerClassName = _ref.headerClassName,\n contentClassName = _ref.contentClassName,\n iconClassName = _ref.iconClassName,\n _ref$isOpen = _ref.isOpen,\n isOpen = _ref$isOpen === void 0 ? false : _ref$isOpen,\n onClick = _ref.onClick,\n children = _ref.children,\n _ref$headerSize = _ref.headerSize,\n headerSize = _ref$headerSize === void 0 ? 'large' : _ref$headerSize,\n rest = _objectWithoutProperties(_ref, _excluded$1);\n var _useState = useState(isOpen),\n _useState2 = _slicedToArray(_useState, 2),\n show = _useState2[0],\n setShowState = _useState2[1];\n var handleClick = function (event) {\n if (onClick) {\n onClick(event, parseInt(rowNumber, 10), !show);\n }\n setShowState(!show);\n };\n useEffect(function () {\n setShowState(isOpen);\n }, [isOpen]); // If theme is not directly provided, get from themeContext\n\n var tokens = useTheme();\n var _styles = useMemo(function () {\n return styles(tokens);\n }, [tokens]);\n var bodyCSSVal = [_styles.body, show && _styles.bodyOpen];\n var svgIconCSSVal = [_styles.svgIcon];\n var rowId = \"\".concat(accordionName, \"-row\").concat(rowNumber);\n var contentId = \"\".concat(accordionName, \"-content\").concat(rowNumber);\n return jsx(\"div\", {\n css: _styles.row,\n className: className,\n \"data-ppui\": \"true\"\n }, jsx(\"button\", _extends({\n type: \"button\",\n id: rowId,\n css: _styles.header(headerSize),\n className: headerClassName,\n \"data-row\": rowNumber,\n \"aria-expanded\": show,\n \"aria-controls\": contentId,\n onClick: function (e) {\n return handleClick(e);\n }\n }, rest, {\n \"data-ppui\": \"true\"\n }), heading, show ? jsx(ChevronUpIcon, {\n size: \"sm\",\n css: svgIconCSSVal,\n className: iconClassName,\n \"aria-hidden\": \"true\",\n \"data-ppui\": \"true\"\n }) : jsx(ChevronDownIcon, {\n size: \"sm\",\n css: svgIconCSSVal,\n className: iconClassName,\n \"aria-hidden\": \"true\",\n \"data-ppui\": \"true\"\n })), jsx(\"div\", {\n id: contentId,\n css: bodyCSSVal,\n \"aria-labelledby\": rowId,\n role: \"region\",\n className: contentClassName,\n \"data-ppui\": \"true\"\n }, children));\n};\nexport { Accordion, AccordionRow, styles as accordionStyles };","import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';\nimport _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';\nimport React from 'react';\nvar _excluded = [\"locale\", \"messageFormatter\", \"currencyFormatter\", \"getDisplayNamesObject\", \"phoneFormatter\", \"addressFormatter\", \"exampleGenerator\", \"dateTimeFormatter\", \"children\"];\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}\nvar IntlContext = React.createContext(null);\nvar IntlProvider = function (_ref) {\n var locale = _ref.locale,\n messageFormatter = _ref.messageFormatter,\n currencyFormatter = _ref.currencyFormatter,\n getDisplayNamesObject = _ref.getDisplayNamesObject,\n phoneFormatter = _ref.phoneFormatter,\n addressFormatter = _ref.addressFormatter,\n exampleGenerator = _ref.exampleGenerator,\n dateTimeFormatter = _ref.dateTimeFormatter,\n children = _ref.children,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(IntlContext.Provider, {\n value: _objectSpread({\n locale: locale,\n messageFormatter: messageFormatter,\n currencyFormatter: currencyFormatter,\n getDisplayNamesObject: getDisplayNamesObject,\n phoneFormatter: phoneFormatter,\n addressFormatter: addressFormatter,\n exampleGenerator: exampleGenerator,\n dateTimeFormatter: dateTimeFormatter\n }, rest)\n }, children);\n};\nfunction ownKeys$1(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _objectSpread$1(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys$1(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}\nvar getFormattedMessage = function (intlContext, defaultMessage, id, variables) {\n if (!id) {\n return defaultMessage;\n }\n if (!(intlContext && intlContext.messageFormatter)) {\n return id;\n }\n return intlContext.messageFormatter({\n id: id\n }).format(variables);\n};\nvar getCurrencyMaskOptions = function (intlContext, maskOptions, currencyType) {\n if (intlContext && intlContext.currencyFormatter) {\n var currencyFormat = intlContext.currencyFormatter({\n currency: currencyType\n });\n var currencyPartsArr = currencyFormat.formatToParts(1000);\n var _getIntlCurrencyPatte = getIntlCurrencyPattern(currencyPartsArr),\n intlMaskOptions = _getIntlCurrencyPatte.intlMaskOptions,\n intlCurrencyPrefix = _getIntlCurrencyPatte.intlCurrencyPrefix,\n intlCurrencySuffix = _getIntlCurrencyPatte.intlCurrencySuffix; //set mask-options padFractionalZeros to false and scale to 0 if currency does not support fractional values\n\n var currencyFormatOptions = currencyFormat.resolvedOptions();\n if (currencyFormatOptions.maximumFractionDigits === 0) {\n intlMaskOptions.padFractionalZeros = false;\n intlMaskOptions.scale = 0;\n }\n return {\n currencyMaskOptions: _objectSpread$1(_objectSpread$1({\n padFractionalZeros: true\n }, intlMaskOptions), maskOptions),\n intlCurrencyPrefix: intlCurrencyPrefix,\n intlCurrencySuffix: intlCurrencySuffix\n };\n }\n return {\n currencyMaskOptions: maskOptions\n };\n};\nfunction getIntlCurrencyPattern(currencyPartsArr) {\n var intlMaskOptions = {\n mask: Number\n };\n var intlCurrencyPrefix = '';\n var intlCurrencySuffix = '';\n currencyPartsArr.forEach(function (_ref, idx) {\n var type = _ref.type,\n value = _ref.value;\n switch (type) {\n case 'currencySymbol':\n if (idx === 0) {\n intlCurrencyPrefix = value;\n } else {\n intlCurrencySuffix = value;\n }\n break;\n case 'currency':\n if (idx === 0) {\n intlCurrencyPrefix = value;\n } else {\n intlCurrencySuffix = value;\n }\n break;\n case 'group':\n intlMaskOptions.thousandsSeparator = value;\n break;\n case 'fraction':\n intlMaskOptions.scale = value.length;\n break;\n case 'decimal':\n intlMaskOptions.radix = value;\n break;\n }\n });\n return {\n intlMaskOptions: intlMaskOptions,\n intlCurrencyPrefix: intlCurrencyPrefix,\n intlCurrencySuffix: intlCurrencySuffix\n };\n}\nexport { IntlContext, IntlProvider, getCurrencyMaskOptions, getFormattedMessage };","import _extends from '@babel/runtime/helpers/esm/extends';\nimport _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';\nimport React, { useMemo, useEffect, useState, forwardRef, useRef, useContext } from 'react';\nimport _defineProperty from '@babel/runtime/helpers/esm/defineProperty';\nimport { CriticalIcon, CheckmarkBackgroundIcon } from '@paypalcorp/pp-react-icons';\nimport { css, useTheme, jsx, ClassNames } from '@emotion/react';\nimport _taggedTemplateLiteral from '@babel/runtime/helpers/esm/taggedTemplateLiteral';\nimport { math, remToPx } from 'polished';\nimport { textStyles } from '@paypalcorp/pp-react-text';\nimport { utilStyles } from '@paypalcorp/pp-react-utils';\nimport _slicedToArray from '@babel/runtime/helpers/esm/slicedToArray';\nimport { IntlContext, getFormattedMessage } from '@paypalcorp/pp-react-intl';\nvar _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17, _templateObject18, _templateObject19, _templateObject20, _templateObject21, _templateObject22, _templateObject23, _templateObject24, _templateObject25, _templateObject26, _templateObject27, _templateObject28, _templateObject29, _templateObject30, _templateObject31, _templateObject32, _templateObject33, _templateObject34, _templateObject35, _templateObject36, _templateObject37, _templateObject38, _templateObject39, _templateObject40, _templateObject41, _templateObject42, _templateObject43, _templateObject44, _templateObject45, _templateObject46, _templateObject47, _templateObject48, _templateObject49, _templateObject50, _templateObject51, _templateObject52, _templateObject53, _templateObject54, _templateObject55, _templateObject56, _templateObject57;\nfunction styles(tokens) {\n /* istanbul ignore next */\n if (!Object.keys(tokens).length) {\n console.warn('Missing Emotion theme. Use ThemeProvider from @emotion/react to pass a valid theme from pp-react.');\n return {};\n }\n var sysBorderThicknessNormal = tokens.sysBorderThicknessNormal,\n sysBorderThicknessEmphasis = tokens.sysBorderThicknessEmphasis,\n sysBorderRadiusSm = tokens.sysBorderRadiusSm,\n sysColorBackgroundSurface = tokens.sysColorBackgroundSurface,\n sysColorBackgroundMediumContrast = tokens.sysColorBackgroundMediumContrast,\n sysSpaceTiny = tokens.sysSpaceTiny,\n sysSpaceXs = tokens.sysSpaceXs,\n sysSpaceSm = tokens.sysSpaceSm,\n sysSpaceMd = tokens.sysSpaceMd,\n sysSpaceXl = tokens.sysSpaceXl,\n sysMotionDurationHover = tokens.sysMotionDurationHover,\n sysSizeTapTargetDefault = tokens.sysSizeTapTargetDefault,\n sysColorStructureBorderHighContrast = tokens.sysColorStructureBorderHighContrast,\n sysColorErrorMain = tokens.sysColorErrorMain,\n sysColorSuccessMain = tokens.sysColorSuccessMain,\n sysTypographyBodyLineHeight = tokens.sysTypographyBodyLineHeight,\n sysTypographyCaptionLineHeight = tokens.sysTypographyCaptionLineHeight,\n sysColorBackgroundHighContrast = tokens.sysColorBackgroundHighContrast,\n sysSizeFieldLg = tokens.sysSizeFieldLg;\n var backgroundSpaceTop = math(\"(\".concat(sysSizeFieldLg, \" - \").concat(sysTypographyBodyLineHeight, \") / 2\"));\n var backgroundSpaceBottom = math(\"(\".concat(sysSizeFieldLg, \" - \").concat(sysTypographyBodyLineHeight, \") / 2\")); // 64px - 8px - 20px - 2px - 24px\n\n var backgroundSpaceBottomEntered = math(\"\".concat(sysSizeFieldLg, \" - \").concat(sysSpaceSm, \" - \").concat(sysTypographyCaptionLineHeight, \" - \").concat(sysSpaceTiny, \" - \").concat(sysTypographyBodyLineHeight));\n var ppuiV2CurrencyInputMinHeight = math('4rem - 0.125rem'); //subtract borders in currency input\n\n var _utilStyles = utilStyles(tokens),\n focusStyles = _utilStyles.focusStyles,\n ellipsis = _utilStyles.ellipsis,\n screenReader = _utilStyles.screenReader;\n var _textStyles = textStyles(tokens),\n caption = _textStyles.caption,\n body = _textStyles.body,\n fieldLabelSm = _textStyles.fieldLabelSm;\n var stateFocusBorderColorInner = focusStyles.stateFocusBorderColorInner,\n stateFocusBorderWidthInner = focusStyles.stateFocusBorderWidthInner,\n stateFocusBorderColorOuter = focusStyles.stateFocusBorderColorOuter,\n stateFocusBorderWidthOuter = focusStyles.stateFocusBorderWidthOuter,\n stateErrorFocusBorderColorOuter = focusStyles.stateErrorFocusBorderColorOuter,\n stateErrorFocusBorderColorInner = focusStyles.stateErrorFocusBorderColorInner;\n function textInputFocus() {\n return css(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n border-color: \", \";\\n box-shadow: 0 0 0\\n \", \"\\n \", \" inset,\\n 0 0 0 \", \" \", \";\\n \"])), stateFocusBorderColorInner, math(\"\".concat(stateFocusBorderWidthInner, \" - \").concat(sysBorderThicknessNormal)), stateFocusBorderColorInner, stateFocusBorderWidthOuter, stateFocusBorderColorOuter);\n }\n function textInputErrorFocus() {\n return css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral([\"\\n border-width: \", \";\\n border-color: \", \";\\n box-shadow: 0 0 0\\n \", \"\\n \", \" inset,\\n 0 0 0 \", \" \", \";\\n \"])), sysBorderThicknessEmphasis, stateErrorFocusBorderColorInner, math(\"\".concat(stateFocusBorderWidthInner, \" - \").concat(sysBorderThicknessEmphasis)), stateErrorFocusBorderColorInner, stateFocusBorderWidthOuter, stateErrorFocusBorderColorOuter);\n }\n function info() {\n return css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral([\"\\n \", \";\\n display: flex;\\n margin: \", \" 0 0;\\n \"])), caption({\n color: sysColorBackgroundMediumContrast\n }), sysSpaceXs);\n }\n function fieldIcon() {\n return css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral([\"\\n text-decoration: none;\\n position: absolute;\\n \"])));\n }\n var label = css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral([\"\\n label: label;\\n \", \"\\n \", \";\\n pointer-events: none;\\n position: absolute;\\n top: \", \";\\n transition: font-size \", \" ease-in-out,\\n top \", \" ease-in-out,\\n background-color 10ms \", \" linear;\\n right: \", \";\\n left: \", \";\\n background-clip: padding-box;\\n \"])), fieldLabelSm({\n color: sysColorBackgroundMediumContrast\n }), ellipsis, sysSpaceSm, sysMotionDurationHover, sysMotionDurationHover, sysMotionDurationHover, sysSpaceMd, sysSpaceMd);\n var labelWhenPlaceholderShownAndInputNotFocused = css(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral([\"\\n label: label_placeholder_shown_and_not_focused;\\n :placeholder-shown:not(:focus) ~ label {\\n \", \";\\n top: \", \";\\n background-color: transparent;\\n margin-bottom: 0;\\n }\\n \"])), body({\n color: sysColorBackgroundMediumContrast\n }), backgroundSpaceTop);\n var labelWithScreenreader = css(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral([\"\\n label: label_screenreader;\\n \", \"\\n \"])), screenReader);\n var helperText = css(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral([\"\\n label: helper_text;\\n \", \"\\n display: block;\\n list-style: none;\\n padding: 0;\\n overflow-wrap: break-word;\\n \"])), info());\n var base = css(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral([\"\\n label: text_input_base;\\n \", \";\\n padding: 0;\\n position: relative;\\n text-align: left;\\n [dir='rtl'] & {\\n text-align: right;\\n }\\n \"])), body());\n var iconRight = css(_templateObject10 || (_templateObject10 = _taggedTemplateLiteral([\"\\n label: icon_right;\\n \", \"\\n width: \", \";\\n height: \", \";\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n top: \", \";\\n right: \", \";\\n left: auto;\\n [dir='rtl'] & {\\n left: \", \";\\n right: auto;\\n }\\n \"])), fieldIcon(), sysSizeTapTargetDefault, sysSizeTapTargetDefault, sysSpaceSm, sysSpaceSm, sysSpaceSm);\n var iconLeft = css(_templateObject11 || (_templateObject11 = _taggedTemplateLiteral([\"\\n label: icon_left;\\n pointer-events: none;\\n z-index: 1;\\n \", \"\\n inset: \", \" auto \", \" \", \";\\n color: \", \";\\n [dir='rtl'] & {\\n inset: \", \" \", \" \", \" auto;\\n }\\n \"])), fieldIcon(), backgroundSpaceTop, backgroundSpaceTop, sysSpaceMd, sysColorBackgroundMediumContrast, backgroundSpaceTop, sysSpaceMd, backgroundSpaceTop);\n var control = css(_templateObject12 || (_templateObject12 = _taggedTemplateLiteral([\"\\n label: text_input_control;\\n padding: \", \"\\n \", \"\\n \", \"\\n \", \";\\n \", \";\\n text-overflow: ellipsis;\\n box-sizing: border-box;\\n width: 100%;\\n border: \", \" solid\\n \", \";\\n border-radius: \", \";\\n background-color: \", \";\\n &::placeholder {\\n color: \", \";\\n }\\n &:placeholder-shown:not(:focus)::-webkit-input-placeholder {\\n opacity: 0;\\n transition: opacity \", \" ease-in-out;\\n }\\n &:placeholder-shown:not(:focus)::-moz-placeholder {\\n opacity: 0;\\n transition: opacity \", \" ease-in-out;\\n }\\n &:first-line {\\n line-height: \", \";\\n }\\n &::-ms-reveal, &::-ms-clear{\\n display: none;\\n }\\n\\n margin: 0;\\n outline: none;\\n position: relative;\\n\\n &:focus {\\n \", \";\\n }\\n\\n -webkit-appearance: none;\\n -moz-appearance: none;\\n\\n min-height: \", \"; // Replace later\\n &::-webkit-input-placeholder {\\n color: \", \";\\n opacity: 1;\\n }\\n &:-moz-placeholder {\\n color: \", \";\\n opacity: 1;\\n transition: opacity \", \" ease-in-out;\\n }\\n \"])), math(\"\".concat(backgroundSpaceTop, \" + \").concat(sysSpaceSm)), math(\"\".concat(sysSpaceMd, \" - \").concat(sysBorderThicknessNormal)), backgroundSpaceBottomEntered, math(\"\".concat(sysSpaceMd, \" - \").concat(sysBorderThicknessNormal)), body(), sysColorStructureBorderHighContrast, sysBorderThicknessNormal, sysBorderRadiusSm, sysColorBackgroundSurface, sysColorBackgroundMediumContrast, sysMotionDurationHover, sysMotionDurationHover, sysTypographyBodyLineHeight, textInputFocus(), sysSizeFieldLg, sysColorBackgroundMediumContrast, sysColorBackgroundMediumContrast, sysMotionDurationHover);\n var nolabelControl = css(_templateObject13 || (_templateObject13 = _taggedTemplateLiteral([\"\\n label: no_label_text_input_control;\\n padding: \", \"\\n \", \"\\n \", \"\\n \", \";\\n &:placeholder-shown:not(:focus)::placeholder {\\n opacity: 1;\\n }\\n \"])), math(\"\".concat(backgroundSpaceTop, \" - \").concat(sysBorderThicknessNormal)), math(\"\".concat(sysSpaceMd, \" - \").concat(sysBorderThicknessNormal)), math(\"\".concat(backgroundSpaceBottom, \" - \").concat(sysBorderThicknessNormal)), math(\"\".concat(sysSpaceMd, \" - \").concat(sysBorderThicknessNormal)));\n var errorControl = css(_templateObject14 || (_templateObject14 = _taggedTemplateLiteral([\"\\n label: error_text_input_control;\\n border: \", \" solid \", \";\\n padding: \", \"\\n \", \"\\n \", \"\\n \", \";\\n\\n &:focus {\\n \", \";\\n }\\n \"])), sysBorderThicknessEmphasis, sysColorErrorMain, math(\"\".concat(backgroundSpaceTop, \" + \").concat(sysSpaceSm, \" - \").concat(sysBorderThicknessEmphasis, \" / 2\")), math(\"\".concat(sysSpaceMd, \" - \").concat(sysBorderThicknessEmphasis)), math(\"\".concat(backgroundSpaceBottomEntered, \" - \").concat(sysBorderThicknessEmphasis, \" / 2\")), math(\"\".concat(sysSpaceMd, \" - \").concat(sysBorderThicknessEmphasis)), textInputErrorFocus());\n var controlErrorWithIconRight = css(_templateObject15 || (_templateObject15 = _taggedTemplateLiteral([\"\\n label: text_input_control_error_with_icon_right;\\n padding-right: \", \";\\n padding-left: \", \";\\n [dir='rtl'] & {\\n padding-left: \", \";\\n padding-right: \", \";\\n }\\n \"])), math(\"\".concat(sysSpaceMd, \" +\\n \").concat(sysSizeTapTargetDefault, \" - \").concat(sysBorderThicknessEmphasis)), math(\"\".concat(sysSpaceMd, \" -\\n \").concat(sysBorderThicknessEmphasis)), math(\"\".concat(sysSpaceMd, \" +\\n \").concat(sysSizeTapTargetDefault, \" - \").concat(sysBorderThicknessEmphasis)), math(\"\".concat(sysSpaceMd, \" -\\n \").concat(sysBorderThicknessEmphasis)));\n var controlErrorWithIconLeft = css(_templateObject16 || (_templateObject16 = _taggedTemplateLiteral([\"\\n label: text_input_control_error_with_icon_left;\\n padding-left: \", \";\\n padding-right: \", \";\\n [dir='rtl'] & {\\n padding-right: \", \";\\n padding-left: \", \";\\n }\\n \"])), math(\"2 * \".concat(sysSpaceMd, \" + \").concat(sysSpaceXl, \" -\\n \").concat(sysBorderThicknessEmphasis)), math(\"\".concat(sysSpaceMd, \" -\\n \").concat(sysBorderThicknessEmphasis)), math(\"2 * \".concat(sysSpaceMd, \" + \").concat(sysSpaceXl, \" -\\n \").concat(sysBorderThicknessEmphasis)), math(\"\".concat(sysSpaceMd, \" -\\n \").concat(sysBorderThicknessEmphasis)));\n var controlErrorWithIconLeftAndRight = css(_templateObject17 || (_templateObject17 = _taggedTemplateLiteral([\"\\n label: text_input_control_error_with_icon_left_and_right;\\n padding-right: \", \";\\n padding-left: \", \";\\n [dir='rtl'] & {\\n padding-right: \", \";\\n padding-left: \", \";\\n }\\n \"])), math(\"\".concat(sysSpaceMd, \" +\\n \").concat(sysSizeTapTargetDefault, \" - \").concat(sysBorderThicknessEmphasis)), math(\"2 * \".concat(sysSpaceMd, \" + \").concat(sysSpaceXl, \" -\\n \").concat(sysBorderThicknessEmphasis)), math(\"2 * \".concat(sysSpaceMd, \" + \").concat(sysSpaceXl, \" -\\n \").concat(sysBorderThicknessEmphasis)), math(\"\".concat(sysSpaceMd, \" +\\n \").concat(sysSizeTapTargetDefault, \" - \").concat(sysBorderThicknessEmphasis)));\n var noLabelControlError = css(_templateObject18 || (_templateObject18 = _taggedTemplateLiteral([\"\\n label: no_label_text_input_control_error;\\n padding: \", \"\\n \", \"\\n \", \"\\n \", \";\\n \"])), math(\"\".concat(backgroundSpaceTop, \" - \").concat(sysBorderThicknessEmphasis)), math(\"\".concat(sysSpaceMd, \" - \").concat(sysBorderThicknessEmphasis)), math(\"\".concat(backgroundSpaceBottom, \" - \").concat(sysBorderThicknessEmphasis)), math(\"\".concat(sysSpaceMd, \" - \").concat(sysBorderThicknessEmphasis)));\n var controlWithIconRight = css(_templateObject19 || (_templateObject19 = _taggedTemplateLiteral([\"\\n label: text_input_control_with_icon_right;\\n padding-right: \", \";\\n padding-left: \", \";\\n [dir='rtl'] & {\\n padding-left: \", \";\\n padding-right: \", \";\\n }\\n \"])), math(\"\".concat(sysSpaceMd, \" + \").concat(sysSpaceSm, \" + \").concat(sysSizeTapTargetDefault, \" - \").concat(sysBorderThicknessNormal)), math(\"\".concat(sysSpaceMd, \" - \").concat(sysBorderThicknessNormal)), math(\"\".concat(sysSpaceMd, \" + \").concat(sysSpaceSm, \" + \").concat(sysSizeTapTargetDefault, \" - \").concat(sysBorderThicknessNormal)), math(\"\".concat(sysSpaceMd, \" - \").concat(sysBorderThicknessNormal)));\n var controlWithIconLeft = css(_templateObject20 || (_templateObject20 = _taggedTemplateLiteral([\"\\n label: text_input_control_with_icon_left;\\n padding-left: \", \";\\n padding-right: \", \";\\n [dir='rtl'] & {\\n padding-right: \", \";\\n padding-left: \", \";\\n }\\n \"])), math(\"2 * \".concat(sysSpaceMd, \" + \").concat(sysSpaceXl, \" -\\n \").concat(sysBorderThicknessNormal)), math(\"\".concat(sysSpaceMd, \" -\\n \").concat(sysBorderThicknessNormal)), math(\"2 * \".concat(sysSpaceMd, \" + \").concat(sysSpaceXl, \" -\\n \").concat(sysBorderThicknessNormal)), math(\"\".concat(sysSpaceMd, \" -\\n \").concat(sysBorderThicknessNormal)));\n var controlWithIconLeftAndRight = css(_templateObject21 || (_templateObject21 = _taggedTemplateLiteral([\"\\n label: text_input_control_with_icon_left_and_right;\\n padding-left: \", \";\\n padding-right: \", \";\\n [dir='rtl'] & {\\n padding-right: \", \";\\n padding-left: \", \";\\n }\\n \"])), math(\"2 * \".concat(sysSpaceMd, \" + \").concat(sysSpaceXl, \" -\\n \").concat(sysBorderThicknessNormal)), math(\"\".concat(sysSpaceMd, \" +\\n \").concat(sysSizeTapTargetDefault, \" - \").concat(sysBorderThicknessNormal)), math(\"2 * \".concat(sysSpaceMd, \" + \").concat(sysSpaceXl, \" -\\n \").concat(sysBorderThicknessNormal)), math(\"\".concat(sysSpaceMd, \" +\\n \").concat(sysSizeTapTargetDefault, \" - \").concat(sysBorderThicknessNormal)));\n var labelWithIconRight = css(_templateObject22 || (_templateObject22 = _taggedTemplateLiteral([\"\\n label: label_with_icon_right;\\n left: \", \";\\n right: \", \";\\n [dir='rtl'] & {\\n left: \", \";\\n right: \", \";\\n }\\n \"])), sysSpaceMd, math(\"\".concat(sysSpaceMd, \" +\\n \").concat(sysSizeTapTargetDefault)), math(\"\".concat(sysSpaceMd, \" + \").concat(sysSizeTapTargetDefault)), sysSpaceMd);\n var labelWithIconLeft = css(_templateObject23 || (_templateObject23 = _taggedTemplateLiteral([\"\\n label: label_with_icon_left;\\n left: \", \";\\n right: \", \";\\n [dir='rtl'] & {\\n right: \", \";\\n left: \", \";\\n }\\n \"])), math(\"2 * \".concat(sysSpaceMd, \" + \").concat(sysSpaceXl)), sysSpaceMd, math(\"2 * \".concat(sysSpaceMd, \" + \").concat(sysSpaceXl)), sysSpaceMd);\n var errorText = css(_templateObject24 || (_templateObject24 = _taggedTemplateLiteral([\"\\n label: error_text;\\n \", \"\\n align-items: center;\\n \"])), info());\n var errorIcon = css(_templateObject25 || (_templateObject25 = _taggedTemplateLiteral([\"\\n label: error_icon;\\n color: \", \";\\n margin-right: \", \";\\n margin-left: 0;\\n align-self: flex-start;\\n [dir='rtl'] & {\\n margin-left: \", \";\\n margin-right: 0;\\n }\\n \"])), sysColorErrorMain, sysSpaceXs, sysSpaceXs);\n var successIcon = css(_templateObject26 || (_templateObject26 = _taggedTemplateLiteral([\"\\n label: success_icon;\\n color: \", \";\\n margin-right: \", \";\\n margin-left: initial;\\n align-self: flex-start;\\n [dir='rtl'] & {\\n margin-left: \", \";\\n margin-right: 0;\\n }\\n \"])), sysColorSuccessMain, sysSpaceXs, sysSpaceXs);\n var multiLineError = css(_templateObject27 || (_templateObject27 = _taggedTemplateLiteral([\"\\n label: multi_line_error;\\n list-style: none;\\n padding: 0;\\n margin: 0;\\n \"])));\n var prefixWrapper = css(_templateObject28 || (_templateObject28 = _taggedTemplateLiteral([\"\\n label: prefix_wrapper;\\n position: relative;\\n display: flex;\\n background-color: \", \";\\n &:after {\\n content: ' ';\\n position: absolute;\\n height: 100%;\\n width: 100%;\\n top: 0;\\n left: 0;\\n border: \", \" solid\\n \", \";\\n border-radius: \", \";\\n pointer-events: none;\\n }\\n padding: \", \";\\n \"])), sysColorBackgroundSurface, sysBorderThicknessNormal, sysColorStructureBorderHighContrast, sysBorderRadiusSm, sysBorderThicknessNormal);\n var prefixWrapperError = css(_templateObject29 || (_templateObject29 = _taggedTemplateLiteral([\"\\n label: prefix_wrapper_error;\\n &:after {\\n border: \", \" solid \", \";\\n }\\n padding: \", \" \", \";\\n \"])), sysBorderThicknessEmphasis, sysColorErrorMain, sysBorderThicknessNormal, sysBorderThicknessEmphasis);\n var prefixWrapperFocusError = css(_templateObject30 || (_templateObject30 = _taggedTemplateLiteral([\"\\n label: prefix_wrapper_focus_error;\\n &:after {\\n \", \"\\n }\\n \"])), textInputErrorFocus());\n var prefixSuffix = css(_templateObject31 || (_templateObject31 = _taggedTemplateLiteral([\"\\n label: prefix_suffix;\\n white-space: nowrap;\\n color: \", \";\\n padding: \", \" \", \"\\n \", \" \", \";\\n \"])), sysColorBackgroundHighContrast, math(\"\".concat(backgroundSpaceTop, \" + \").concat(sysSpaceSm)), sysSpaceTiny, backgroundSpaceBottomEntered, sysSpaceTiny);\n var PrefixWrapperControl = css(_templateObject32 || (_templateObject32 = _taggedTemplateLiteral([\"\\n label: prefix_wrapper_control;\\n border: none;\\n min-height: \", \";\\n &:focus {\\n border: none;\\n box-shadow: none;\\n outline: none;\\n }\\n &:placeholder-shown:not(:focus) ~ div {\\n opacity: 0;\\n }\\n \"])), ppuiV2CurrencyInputMinHeight);\n var prefix = css(_templateObject33 || (_templateObject33 = _taggedTemplateLiteral([\"\\n label: prefix;\\n order: -1;\\n \", \"\\n padding-left: \", \";\\n [dir='rtl'] & {\\n \", \"\\n padding-right: \", \";\\n }\\n \"])), prefixSuffix, sysSpaceMd, prefixSuffix, sysSpaceMd);\n var suffix = css(_templateObject34 || (_templateObject34 = _taggedTemplateLiteral([\"\\n label: suffix;\\n \", \"\\n padding-right: \", \";\\n [dir='rtl'] & {\\n \", \"\\n padding-left: \", \";\\n }\\n \"])), prefixSuffix, sysSpaceMd, prefixSuffix, sysSpaceMd);\n var noLabelSuffixOrPrefix = css(_templateObject35 || (_templateObject35 = _taggedTemplateLiteral([\"\\n label: no_label_suffix_or_prefix;\\n padding-top: \", \";\\n padding-bottom: \", \";\\n [dir='rtl'] & {\\n padding-top: \", \";\\n padding-bottom: \", \";\\n }\\n \"])), math(\"\".concat(backgroundSpaceTop, \" - \").concat(sysBorderThicknessNormal)), math(\"\".concat(backgroundSpaceBottom, \" - \").concat(sysBorderThicknessNormal)), math(\"\".concat(backgroundSpaceTop, \" - \").concat(sysBorderThicknessNormal)), math(\"\".concat(backgroundSpaceBottom, \" - \").concat(sysBorderThicknessNormal)));\n var prefixWrapperControlWithPrefix = css(_templateObject36 || (_templateObject36 = _taggedTemplateLiteral([\"\\n label: prefix_wrapper_control_with_prefix;\\n padding-left: 0;\\n [dir='rtl'] & {\\n padding-right: 0;\\n padding-left: \", \";\\n }\\n \"])), sysSpaceMd);\n var prefixWrapperControlWithSuffix = css(_templateObject37 || (_templateObject37 = _taggedTemplateLiteral([\"\\n label: prefix_wrapper_control_with_prefix;\\n padding-right: 0;\\n [dir='rtl'] & {\\n padding-left: 0;\\n padding-right: \", \";\\n }\\n \"])), sysSpaceMd);\n var prefixWrapperControlWithPrefixSuffix = css(_templateObject38 || (_templateObject38 = _taggedTemplateLiteral([\"\\n label: prefix_wrapper_control_with_prefix_suffix;\\n padding-left: 0;\\n padding-right: 0;\\n [dir='rtl'] & {\\n padding-left: 0;\\n padding-right: 0;\\n }\\n \"])));\n var prefixWrapperFocus = css(_templateObject39 || (_templateObject39 = _taggedTemplateLiteral([\"\\n label: prefix_wrapper_focus;\\n &:after {\\n \", \"\\n }\\n \"])), textInputFocus());\n /********* TextArea ************/\n\n var textAreaControl = css(_templateObject40 || (_templateObject40 = _taggedTemplateLiteral([\"\\n label: text_area_control;\\n height: auto;\\n background-color: \", \";\\n outline: none;\\n box-shadow: none;\\n resize: none;\\n display: block;\\n &:placeholder-shown:not(:focus) {\\n ~ label {\\n padding-top: 0;\\n }\\n }\\n &:focus {\\n ~ label {\\n border-top: \", \" solid transparent;\\n padding-top: \", \";\\n }\\n }\\n \"])), sysColorBackgroundSurface, math(\"\".concat(stateFocusBorderWidthInner, \" -\\n \").concat(sysBorderThicknessNormal)), math(\"\".concat(sysSpaceSm, \" -\\n \").concat(stateFocusBorderWidthInner)));\n var textAreaControlError = css(_templateObject41 || (_templateObject41 = _taggedTemplateLiteral([\"\\n label: text_area_control_error;\\n &:focus {\\n ~ label {\\n border-top: \", \" solid transparent;\\n }\\n }\\n \"])), math(\"\".concat(stateFocusBorderWidthInner, \" -\\n \").concat(sysBorderThicknessEmphasis)));\n var textAreaControlLabel = css(_templateObject42 || (_templateObject42 = _taggedTemplateLiteral([\"\\n label: text_area_control_label;\\n background-color: \", \";\\n top: \", \";\\n padding-top: \", \";\\n \"])), sysColorBackgroundSurface, sysBorderThicknessNormal, math(\"\".concat(sysSpaceSm, \" -\\n \").concat(sysBorderThicknessNormal)));\n var textAreaControlErrorLabel = css(_templateObject43 || (_templateObject43 = _taggedTemplateLiteral([\"\\n label: text_area_control_error_label;\\n top: \", \";\\n padding-top: \", \";\\n \"])), sysBorderThicknessEmphasis, math(\"\".concat(sysSpaceSm, \" -\\n \").concat(sysBorderThicknessEmphasis)));\n var textAreaCounterWrapper = css(_templateObject44 || (_templateObject44 = _taggedTemplateLiteral([\"\\n label: text_area_counter_wrapper;\\n cursor: text;\\n position: relative;\\n padding: \", \";\\n &:after {\\n content: ' ';\\n position: absolute;\\n height: 100%;\\n width: 100%;\\n top: 0;\\n left: 0;\\n border: \", \" solid\\n \", \";\\n border-radius: \", \";\\n pointer-events: none;\\n }\\n textarea:focus,\\n textarea:not(:focus) {\\n border: none;\\n outline: none;\\n box-shadow: none;\\n }\\n \"])), sysBorderThicknessNormal, sysBorderThicknessNormal, sysColorStructureBorderHighContrast, sysBorderRadiusSm);\n var textAreaCounterWrapperFocus = css(_templateObject45 || (_templateObject45 = _taggedTemplateLiteral([\"\\n label: text_area_counter_wrapper_focus;\\n &:after {\\n \", \"\\n }\\n \"])), textInputFocus());\n var textAreaCounterText = css(_templateObject46 || (_templateObject46 = _taggedTemplateLiteral([\"\\n label: text_area_counter_text;\\n \", \"\\n padding: \", \"\\n \", \"\\n \", \"\\n \", \";\\n text-align: right;\\n background-color: \", \";\\n [dir='rtl'] & {\\n text-align: left;\\n }\\n \"])), caption({\n color: sysColorBackgroundMediumContrast\n }), sysSpaceSm, math(\"\".concat(sysSpaceMd, \" - \").concat(sysBorderThicknessNormal)), math(\"\".concat(sysSpaceSm, \" - \").concat(sysBorderThicknessNormal)), math(\"\".concat(sysSpaceMd, \" - \").concat(sysBorderThicknessNormal)), sysColorBackgroundSurface);\n var textAreaErrorCounterWrapper = css(_templateObject47 || (_templateObject47 = _taggedTemplateLiteral([\"\\n label: text_area_error_counter_wrapper;\\n padding-left: \", \";\\n padding-right: \", \";\\n\\n &:after {\\n border: \", \" solid \", \";\\n }\\n \"])), sysBorderThicknessEmphasis, sysBorderThicknessEmphasis, sysBorderThicknessEmphasis, sysColorErrorMain);\n var textAreaErrorCounterWrapperFocus = css(_templateObject48 || (_templateObject48 = _taggedTemplateLiteral([\"\\n label: text_area_error_counter_wrapper_focus;\\n &:after {\\n \", \"\\n }\\n \"])), textInputErrorFocus());\n var textAreaErrorCounterText = css(_templateObject49 || (_templateObject49 = _taggedTemplateLiteral([\"\\n label: text_area_error_counter_text;\\n color: \", \";\\n padding-left: \", \";\\n padding-right: \", \";\\n \"])), sysColorErrorMain, math(\"\".concat(sysSpaceMd, \" -\\n \").concat(sysBorderThicknessEmphasis)), math(\"\".concat(sysSpaceMd, \" -\\n \").concat(sysBorderThicknessEmphasis)));\n /********** Text Display ************/\n\n var ppuiTextInputDisplayRightIconSpaceRight = math(\"\".concat(sysSizeTapTargetDefault, \" + \").concat(sysSpaceMd)); // 48px + 12px\n\n var ppuiTextInputDisplayValueSpaceTop = math(\"\".concat(sysTypographyCaptionLineHeight, \" + \").concat(sysSpaceTiny)); // 20px (letter space) + 2px\n\n // 46px\n var textDisplayNoLabelControl = css(_templateObject50 || (_templateObject50 = _taggedTemplateLiteral([\"\\n label: text_display_no_label_control;\\n padding-top: \", \";\\n padding-bottom: \", \";\\n padding-left: 0;\\n [dir='rtl'] & {\\n padding-left: \", \";\\n }\\n \"])), sysSpaceMd, sysSpaceMd, ppuiTextInputDisplayRightIconSpaceRight);\n var textDisplayControl = css(_templateObject51 || (_templateObject51 = _taggedTemplateLiteral([\"\\n label: text_display_control;\\n border: 0;\\n padding-left: 0;\\n padding-top: \", \";\\n padding-bottom: 0;\\n min-height: \", \";\\n display: block;\\n background-color: transparent;\\n overflow-wrap: break-word;\\n [dir='rtl'] & {\\n padding-right: 0;\\n }\\n \"])), ppuiTextInputDisplayValueSpaceTop, '2.875rem');\n var textDisplayLabel = css(_templateObject52 || (_templateObject52 = _taggedTemplateLiteral([\"\\n label: text_display_label;\\n top: 0;\\n left: 0;\\n [dir='rtl'] & {\\n left: \", \";\\n right: 0;\\n }\\n \"])), ppuiTextInputDisplayRightIconSpaceRight);\n var textDisplayIconRight = css(_templateObject53 || (_templateObject53 = _taggedTemplateLiteral([\"\\n label: text_display_icon_right;\\n top: 0;\\n \"])));\n var textDisplaylabelIconRight = css(_templateObject54 || (_templateObject54 = _taggedTemplateLiteral([\"\\n label: text_display_label_icon_right;\\n right: \", \";\\n \"])), ppuiTextInputDisplayRightIconSpaceRight);\n var textDisplayControlIconRight = css(_templateObject55 || (_templateObject55 = _taggedTemplateLiteral([\"\\n label: text_display_control_icon_right;\\n padding-right: \", \";\\n\\n [dir='rtl'] & {\\n padding-left: \", \";\\n }\\n \"])), math(\"\".concat(ppuiTextInputDisplayRightIconSpaceRight, \" - \").concat(sysBorderThicknessNormal)), math(\"\".concat(ppuiTextInputDisplayRightIconSpaceRight, \" - \").concat(sysBorderThicknessNormal)));\n var placemat = css(_templateObject56 || (_templateObject56 = _taggedTemplateLiteral([\"\\n label: placemat;\\n \", \"\\n position: absolute;\\n top: 0;\\n right: 0;\\n left: 0;\\n padding: \", \"\\n \", \"\\n \", \"\\n \", \";\\n background-color: \", \";\\n white-space: nowrap;\\n & + input:focus {\\n background-color: transparent;\\n }\\n [dir='rtl'] & {\\n transform: translateX(-\", \");\\n }\\n \"])), body({\n color: sysColorBackgroundMediumContrast\n }), math(\"\".concat(backgroundSpaceTop, \" + \").concat(sysSpaceSm, \" + \").concat(sysBorderThicknessNormal)), sysSpaceMd, math(\"\".concat(backgroundSpaceBottomEntered, \" + \").concat(sysBorderThicknessNormal)), sysSpaceMd, sysColorBackgroundSurface, sysBorderThicknessNormal);\n var noLabelPlacemat = css(_templateObject57 || (_templateObject57 = _taggedTemplateLiteral([\"\\n label: no_label_placemat;\\n padding-top: \", \";\\n \"])), backgroundSpaceTop);\n return {\n label: label,\n labelWithScreenreader: labelWithScreenreader,\n helperText: helperText,\n base: base,\n iconRight: iconRight,\n iconLeft: iconLeft,\n control: control,\n nolabelControl: nolabelControl,\n errorControl: errorControl,\n prefixWrapperError: prefixWrapperError,\n prefixWrapperFocusError: prefixWrapperFocusError,\n controlErrorWithIconRight: controlErrorWithIconRight,\n controlErrorWithIconLeft: controlErrorWithIconLeft,\n controlErrorWithIconLeftAndRight: controlErrorWithIconLeftAndRight,\n noLabelControlError: noLabelControlError,\n placemat: placemat,\n noLabelPlacemat: noLabelPlacemat,\n controlWithIconRight: controlWithIconRight,\n controlWithIconLeft: controlWithIconLeft,\n controlWithIconLeftAndRight: controlWithIconLeftAndRight,\n labelWithIconRight: labelWithIconRight,\n labelWithIconLeft: labelWithIconLeft,\n errorText: errorText,\n errorIcon: errorIcon,\n successIcon: successIcon,\n multiLineError: multiLineError,\n prefixWrapper: prefixWrapper,\n prefixSuffix: prefixSuffix,\n PrefixWrapperControl: PrefixWrapperControl,\n prefix: prefix,\n suffix: suffix,\n noLabelSuffixOrPrefix: noLabelSuffixOrPrefix,\n prefixWrapperControlWithPrefix: prefixWrapperControlWithPrefix,\n prefixWrapperControlWithSuffix: prefixWrapperControlWithSuffix,\n prefixWrapperControlWithPrefixSuffix: prefixWrapperControlWithPrefixSuffix,\n prefixWrapperFocus: prefixWrapperFocus,\n labelWhenPlaceholderShownAndInputNotFocused: labelWhenPlaceholderShownAndInputNotFocused,\n textAreaControl: textAreaControl,\n textAreaControlError: textAreaControlError,\n textAreaControlLabel: textAreaControlLabel,\n textAreaControlErrorLabel: textAreaControlErrorLabel,\n textAreaCounterWrapper: textAreaCounterWrapper,\n textAreaCounterWrapperFocus: textAreaCounterWrapperFocus,\n textAreaCounterText: textAreaCounterText,\n textAreaErrorCounterWrapper: textAreaErrorCounterWrapper,\n textAreaErrorCounterWrapperFocus: textAreaErrorCounterWrapperFocus,\n textAreaErrorCounterText: textAreaErrorCounterText,\n textDisplayNoLabelControl: textDisplayNoLabelControl,\n textDisplayControl: textDisplayControl,\n textDisplayLabel: textDisplayLabel,\n textDisplayIconRight: textDisplayIconRight,\n textDisplaylabelIconRight: textDisplaylabelIconRight,\n textDisplayControlIconRight: textDisplayControlIconRight\n };\n}\nvar _excluded = [\"setFocus\", \"className\", \"inputClassName\", \"labelClassName\", \"successText\", \"successIconAriaLabel\", \"errorText\", \"error\", \"errorIconAriaLabel\", \"helperText\", \"value\", \"name\", \"id\", \"label\", \"isLabelHidden\", \"placeholder\", \"placemat\", \"leftIcon\", \"rightIcon\", \"onChange\", \"children\", \"renderContent\", \"removeBorderRadiusLeft\", \"removeBorderRadiusRight\", \"removeBorderRadiusBoth\", \"dir\", \"leftIconCSS\", \"rightIconCSS\"];\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}\nvar FormMessage = function (_ref) {\n var messageId = _ref.messageId,\n helperText = _ref.helperText,\n errorText = _ref.errorText,\n errorIconAriaLabel = _ref.errorIconAriaLabel,\n successText = _ref.successText,\n successIconAriaLabel = _ref.successIconAriaLabel;\n var tokens = useTheme(); // Fetch tokens from Emotion context\n\n var _styles = useMemo(function () {\n return styles(tokens);\n }, [tokens]); // errorText takes higher priority over helperText\n\n if (errorText || successText) {\n var _errorIcon;\n var text = errorText ? errorText : successText;\n var processText = Array.isArray(text) ? jsx(\"ul\", {\n css: _styles.multiLineError,\n \"data-ppui\": \"true\"\n }, text.map(function (msg, index) {\n return jsx(\"li\", {\n key: \"msg\".concat(messageId, \"-\").concat(index),\n \"data-ppui\": \"true\"\n }, msg);\n })) : text;\n var errorIcon, successIcon;\n if (errorText) {\n var errorProps = {\n css: _styles.errorIcon,\n role: 'img',\n 'aria-label': errorIconAriaLabel\n };\n errorIcon = jsx(CriticalIcon, _extends({\n size: \"sm\"\n }, errorProps, {\n \"data-ppui\": \"true\"\n }));\n }\n if (!errorText) {\n var successProps = {\n css: _styles.successIcon,\n role: 'img',\n 'aria-label': successIconAriaLabel\n };\n successIcon = jsx(CheckmarkBackgroundIcon, _extends({\n size: \"sm\"\n }, successProps, {\n \"data-ppui\": \"true\"\n }));\n }\n return jsx(\"div\", {\n css: _styles.errorText,\n id: messageId,\n role: \"alert\",\n \"data-ppui\": \"true\"\n }, (_errorIcon = errorIcon) !== null && _errorIcon !== void 0 ? _errorIcon : successIcon, processText);\n }\n if (helperText) {\n var helperTextCssVal = [_styles.helperText];\n var _processText = Array.isArray(helperText) ? jsx(\"ul\", {\n css: helperTextCssVal,\n id: messageId,\n \"data-ppui\": \"true\"\n }, helperText.map(function (msg, index) {\n return jsx(\"li\", {\n key: \"msg\".concat(messageId, \"-\").concat(index),\n \"data-ppui\": \"true\"\n }, msg);\n })) : jsx(\"div\", {\n css: helperTextCssVal,\n id: messageId,\n \"data-ppui\": \"true\"\n }, helperText);\n return _processText;\n }\n return null;\n};\nvar renderIcon = function (icon, side, customIconCSS, _styles) {\n return icon ? jsx(\"div\", {\n css: [side === 'left' && _styles.iconLeft, side === 'right' && _styles.iconRight, customIconCSS],\n key: \"icon-\".concat(side),\n \"data-ppui\": \"true\"\n }, icon) : null;\n};\nvar TextInputWrapper = function (_ref2) {\n var setFocus = _ref2.setFocus,\n className = _ref2.className,\n inputClassName = _ref2.inputClassName,\n labelClassName = _ref2.labelClassName,\n successText = _ref2.successText,\n _ref2$successIconAria = _ref2.successIconAriaLabel,\n successIconAriaLabel = _ref2$successIconAria === void 0 ? 'Success' : _ref2$successIconAria,\n errorText = _ref2.errorText,\n _ref2$error = _ref2.error,\n error = _ref2$error === void 0 ? !!errorText : _ref2$error,\n _ref2$errorIconAriaLa = _ref2.errorIconAriaLabel,\n errorIconAriaLabel = _ref2$errorIconAriaLa === void 0 ? 'Error' : _ref2$errorIconAriaLa,\n helperText = _ref2.helperText,\n value = _ref2.value,\n name = _ref2.name,\n _ref2$id = _ref2.id,\n id = _ref2$id === void 0 ? \"text-input-\".concat(name) : _ref2$id,\n label = _ref2.label,\n isLabelHidden = _ref2.isLabelHidden,\n _ref2$placeholder = _ref2.placeholder,\n placeholder = _ref2$placeholder === void 0 ? ' ' : _ref2$placeholder,\n placemat = _ref2.placemat,\n _ref2$leftIcon = _ref2.leftIcon,\n leftIcon = _ref2$leftIcon === void 0 ? null : _ref2$leftIcon,\n _ref2$rightIcon = _ref2.rightIcon,\n rightIcon = _ref2$rightIcon === void 0 ? null : _ref2$rightIcon,\n onChange = _ref2.onChange,\n children = _ref2.children,\n renderContent = _ref2.renderContent,\n removeBorderRadiusLeft = _ref2.removeBorderRadiusLeft,\n removeBorderRadiusRight = _ref2.removeBorderRadiusRight,\n removeBorderRadiusBoth = _ref2.removeBorderRadiusBoth,\n dir = _ref2.dir,\n leftIconCSS = _ref2.leftIconCSS,\n rightIconCSS = _ref2.rightIconCSS,\n rest = _objectWithoutProperties(_ref2, _excluded);\n var tokens = useTheme(); // Fetch tokens from Emotion context\n\n var _styles = useMemo(function () {\n return styles(tokens);\n }, [tokens]);\n var mainCSS = [_styles.base];\n var msgId = \"message_\".concat(id);\n var valueProps = onChange ? {\n onChange: onChange,\n value: value\n } : {\n defaultValue: value\n };\n var ariaDescribedByProp = helperText || errorText ? {\n 'aria-describedby': msgId\n } : {};\n var otherProps = _objectSpread(_objectSpread(_objectSpread({}, ariaDescribedByProp), valueProps), rest);\n return jsx(\"div\", {\n className: className,\n css: mainCSS,\n dir: dir,\n \"data-ppui-info\": \"text-input_5.1.11\"\n }, renderIcon(leftIcon, 'left', leftIconCSS, _styles), renderContent(_objectSpread({\n inputClassName: inputClassName,\n name: name,\n id: id,\n setFocus: setFocus,\n hasError: error,\n placeholder: placeholder,\n placemat: placemat,\n label: label,\n labelClassName: labelClassName,\n isLabelHidden: isLabelHidden,\n inputTag: 'input',\n leftIcon: leftIcon,\n rightIcon: rightIcon\n }, otherProps)), jsx(FormMessage, {\n errorText: errorText,\n errorIconAriaLabel: errorIconAriaLabel,\n successText: successText,\n successIconAriaLabel: successIconAriaLabel,\n helperText: helperText,\n messageId: msgId,\n \"data-ppui\": \"true\"\n }), renderIcon(rightIcon, 'right', rightIconCSS, _styles));\n};\nvar _excluded$1 = [\"inputClassName\", \"inputTag\", \"name\", \"id\", \"setFocus\", \"inputRef\", \"hasError\", \"placeholder\", \"placemat\", \"label\", \"labelClassName\", \"isLabelHidden\", \"rightIcon\", \"leftIcon\", \"prefix\", \"suffix\"];\nvar overlayValue = function () {\n var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var mask = arguments.length > 1 ? arguments[1] : undefined;\n var vLen = value.length;\n var mLen = mask.length;\n if (vLen >= mLen) {\n return value;\n }\n return value.concat(mask.substring(vLen));\n};\nvar Placemat = function (_ref) {\n var placeholder = _ref.placeholder,\n _ref$value = _ref.value,\n value = _ref$value === void 0 ? '' : _ref$value,\n _ref$isLabelHidden = _ref.isLabelHidden,\n isLabelHidden = _ref$isLabelHidden === void 0 ? false : _ref$isLabelHidden,\n _styles = _ref.styles;\n var combinedText = overlayValue(value, placeholder);\n var cssVal = [_styles.placemat, isLabelHidden && _styles.noLabelPlacemat];\n return jsx(\"div\", {\n css: cssVal,\n \"data-ppui\": \"true\"\n }, combinedText);\n};\nvar normalizePlaceholder = function (placeholder) {\n var normalized = placeholder !== null && placeholder !== void 0 ? placeholder : ' ';\n return normalized === '' ? ' ' : normalized;\n}; // eslint-disable-next-line complexity\n\nvar TextInputContent = function (_ref2) {\n var inputClassName = _ref2.inputClassName,\n inputTag = _ref2.inputTag,\n name = _ref2.name,\n id = _ref2.id,\n setFocus = _ref2.setFocus,\n inputRef = _ref2.inputRef,\n hasError = _ref2.hasError,\n placeholder = _ref2.placeholder,\n placemat = _ref2.placemat,\n label = _ref2.label,\n labelClassName = _ref2.labelClassName,\n isLabelHidden = _ref2.isLabelHidden,\n rightIcon = _ref2.rightIcon,\n leftIcon = _ref2.leftIcon,\n prefix = _ref2.prefix,\n suffix = _ref2.suffix,\n rest = _objectWithoutProperties(_ref2, _excluded$1);\n var tokens = useTheme(); // Fetch tokens from Emotion context\n\n var _styles = useMemo(function () {\n return styles(tokens);\n }, [tokens]);\n var isLabelHiddenFinal = !label || label === '' || isLabelHidden; // DO NOT CHANGE THE ORDER OF THE STYLES BELOW\n\n var inputTagCSS = [_styles.control, isLabelHiddenFinal && _styles.nolabelControl, rightIcon && _styles.controlWithIconRight, leftIcon && _styles.controlWithIconLeft, rightIcon && leftIcon && _styles.controlWithIconLeftAndRight, _styles.labelWhenPlaceholderShownAndInputNotFocused, hasError && _styles.errorControl, hasError && isLabelHiddenFinal && _styles.noLabelControlError, hasError && rightIcon && _styles.controlErrorWithIconRight, hasError && leftIcon && _styles.controlErrorWithIconLeft, hasError && leftIcon && rightIcon && _styles.controlErrorWithIconLeftAndRight, prefix || suffix ? _styles.PrefixWrapperControl : null, hasError && isLabelHiddenFinal && (prefix || suffix) ? _styles.noLabelControlError : null, prefix && _styles.prefixWrapperControlWithPrefix, suffix && _styles.prefixWrapperControlWithSuffix, prefix && suffix && _styles.prefixWrapperControlWithPrefixSuffix];\n var labelCSS = [_styles.label, rightIcon && _styles.labelWithIconRight, leftIcon && _styles.labelWithIconLeft, isLabelHiddenFinal && _styles.labelWithScreenreader];\n // @ts-ignore\n var value = rest.value;\n useEffect(function () {\n var elem = inputRef.current;\n if (setFocus && elem) {\n elem.focus();\n }\n }, [setFocus]);\n return jsx(React.Fragment, null, !!placemat && jsx(Placemat, {\n placeholder: placemat,\n value: value,\n isLabelHidden: isLabelHiddenFinal,\n styles: _styles,\n \"data-ppui\": \"true\"\n }), jsx(inputTag, _extends({\n className: inputClassName,\n css: inputTagCSS,\n name: name,\n id: id,\n ref: inputRef,\n \"aria-invalid\": hasError,\n placeholder: normalizePlaceholder(placeholder)\n }, rest, {\n \"data-ppui\": \"true\"\n })), label && jsx(\"label\", {\n htmlFor: id,\n id: \"\".concat(id, \"-label\"),\n className: labelClassName,\n css: labelCSS,\n \"data-ppui\": \"true\"\n }, label));\n};\nvar _excluded$2 = [\"label\", \"id\", \"prefix\", \"suffix\", \"prefixClassName\", \"suffixClassName\", \"inputClassName\", \"inputRef\", \"onBlur\", \"onFocus\", \"hasError\", \"isLabelHidden\"];\nvar TextInputContentWithPrefixSuffix = function (_ref) {\n var label = _ref.label,\n id = _ref.id,\n prefix = _ref.prefix,\n suffix = _ref.suffix,\n prefixClassName = _ref.prefixClassName,\n suffixClassName = _ref.suffixClassName,\n inputClassName = _ref.inputClassName,\n inputRef = _ref.inputRef,\n _ref$onBlur = _ref.onBlur,\n onBlur = _ref$onBlur === void 0 ? null : _ref$onBlur,\n _ref$onFocus = _ref.onFocus,\n onFocus = _ref$onFocus === void 0 ? null : _ref$onFocus,\n hasError = _ref.hasError,\n isLabelHidden = _ref.isLabelHidden,\n rest = _objectWithoutProperties(_ref, _excluded$2);\n var tokens = useTheme(); // Fetch tokens from Emotion context\n\n var _styles = useMemo(function () {\n return styles(tokens);\n }, [tokens]);\n var textInputRef = inputRef;\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n textInputHasFocus = _useState2[0],\n setTextInputFocus = _useState2[1];\n var isLabelHiddenFinal = !label || label === '' || isLabelHidden;\n var prefixClass = [_styles.prefix, isLabelHiddenFinal && _styles.noLabelSuffixOrPrefix];\n var suffixClass = [_styles.suffix, isLabelHiddenFinal && _styles.noLabelSuffixOrPrefix];\n var prefixWrapperClass = [_styles.prefixWrapper, textInputHasFocus && _styles.prefixWrapperFocus, hasError && _styles.prefixWrapperError, hasError && textInputHasFocus && _styles.prefixWrapperFocusError];\n var labelId = label ? \"\".concat(id, \"-label \") : '';\n var prefixEleId = prefix ? \"\".concat(id, \"-prefix \") : '';\n var suffixEleId = suffix ? \"\".concat(id, \"-suffix\") : '';\n var ariaLabelledByIds = \"\".concat(labelId).concat(prefixEleId).concat(suffixEleId);\n return jsx(\"div\", {\n css: prefixWrapperClass,\n onClick: function handlePrefixWrapperClick() {\n /* istanbul ignore else */\n if (textInputRef.current) {\n var textInputElm = textInputRef.current;\n textInputElm.focus();\n }\n },\n \"data-ppui\": \"true\"\n }, jsx(TextInputContent, _extends({\n label: label,\n id: id,\n prefix: prefix,\n suffix: suffix,\n inputClassName: inputClassName,\n inputRef: inputRef,\n onFocus: function handleFocus(event) {\n setTextInputFocus(true);\n /* istanbul ignore else */\n\n if (onFocus) {\n onFocus(event);\n }\n },\n onBlur: function handleBlur(event) {\n setTextInputFocus(false);\n /* istanbul ignore else */\n\n if (onBlur) {\n onBlur(event);\n }\n },\n \"aria-labelledby\": ariaLabelledByIds.trim(),\n hasError: hasError,\n isLabelHidden: isLabelHiddenFinal\n }, rest, {\n \"data-ppui\": \"true\"\n })), prefix && jsx(\"div\", {\n id: prefixEleId.trim(),\n css: prefixClass,\n className: prefixClassName,\n \"data-ppui\": \"true\"\n }, prefix), suffix && jsx(\"div\", {\n id: suffixEleId.trim(),\n css: suffixClass,\n className: suffixClassName,\n \"data-ppui\": \"true\"\n }, suffix));\n};\nvar _excluded$3 = [\"prefix\", \"suffix\", \"prefixClassName\", \"suffixClassName\"],\n _excluded2 = [\"inputClassName\", \"name\", \"id\", \"setFocus\", \"hasError\", \"placeholder\", \"placemat\", \"label\", \"labelClassName\", \"inputTag\"];\nvar TextInput = forwardRef(function (_ref, ref) {\n var prefix = _ref.prefix,\n suffix = _ref.suffix,\n prefixClassName = _ref.prefixClassName,\n suffixClassName = _ref.suffixClassName,\n props = _objectWithoutProperties(_ref, _excluded$3);\n var internalRef = useRef();\n var textInputRef = ref || internalRef;\n return /*#__PURE__*/React.createElement(TextInputWrapper, _extends({\n renderContent: function renderContent(_ref2) {\n var inputClassName = _ref2.inputClassName,\n name = _ref2.name,\n id = _ref2.id,\n setFocus = _ref2.setFocus,\n hasError = _ref2.hasError,\n placeholder = _ref2.placeholder,\n placemat = _ref2.placemat,\n label = _ref2.label,\n labelClassName = _ref2.labelClassName,\n inputTag = _ref2.inputTag,\n otherProps = _objectWithoutProperties(_ref2, _excluded2);\n if (prefix || suffix) {\n return /*#__PURE__*/React.createElement(TextInputContentWithPrefixSuffix, _extends({\n inputClassName: inputClassName,\n inputTag: inputTag,\n name: name,\n id: id,\n setFocus: setFocus,\n inputRef: textInputRef,\n hasError: hasError,\n placeholder: placeholder\n /*placemat={placemat} placemat is currently not supported with prefix and suffix*/,\n\n label: label,\n labelClassName: labelClassName,\n prefix: prefix,\n suffix: suffix,\n prefixClassName: prefixClassName,\n suffixClassName: suffixClassName\n }, otherProps, {\n \"data-ppui\": \"true\"\n }));\n }\n return /*#__PURE__*/React.createElement(TextInputContent, _extends({\n inputClassName: inputClassName,\n inputTag: inputTag,\n name: name,\n id: id,\n setFocus: setFocus,\n inputRef: textInputRef,\n hasError: hasError,\n placeholder: placeholder,\n placemat: placemat,\n label: label,\n labelClassName: labelClassName\n }, otherProps, {\n \"data-ppui\": \"true\"\n }));\n }\n }, props, {\n \"data-ppui\": \"true\"\n }));\n});\nvar _excluded$4 = [\"className\", \"minRows\", \"maxRows\", \"showCharacterCounter\", \"maxCharacters\", \"counterStatusText\", \"onChange\", \"onBlur\", \"onFocus\", \"value\", \"errorText\", \"successText\"],\n _excluded2$1 = [\"inputClassName\", \"name\", \"id\", \"setFocus\", \"hasError\", \"placeholder\", \"label\", \"labelClassName\", \"inputTag\", \"placemat\"];\nvar MIN_ROWS = 2;\nvar MAX_ROWS = 6;\nvar TextArea = forwardRef(function (_ref, ref) {\n var className = _ref.className,\n _ref$minRows = _ref.minRows,\n minRows = _ref$minRows === void 0 ? MIN_ROWS : _ref$minRows,\n _ref$maxRows = _ref.maxRows,\n maxRows = _ref$maxRows === void 0 ? MAX_ROWS : _ref$maxRows,\n _ref$showCharacterCou = _ref.showCharacterCounter,\n showCharacterCounter = _ref$showCharacterCou === void 0 ? false : _ref$showCharacterCou,\n maxCharacters = _ref.maxCharacters,\n counterStatusText = _ref.counterStatusText,\n _ref$onChange = _ref.onChange,\n onChange = _ref$onChange === void 0 ? null : _ref$onChange,\n _ref$onBlur = _ref.onBlur,\n onBlur = _ref$onBlur === void 0 ? null : _ref$onBlur,\n _ref$onFocus = _ref.onFocus,\n onFocus = _ref$onFocus === void 0 ? null : _ref$onFocus,\n value = _ref.value,\n errorText = _ref.errorText,\n successText = _ref.successText,\n rest = _objectWithoutProperties(_ref, _excluded$4);\n var tokens = useTheme(); // Fetch tokens from Emotion context\n\n var _styles = useMemo(function () {\n return styles(tokens);\n }, [tokens]);\n var textLineHeight = remToPx(\n // @ts-ignore\n tokens.sysTypographyFieldLabelLgLineHeight).split('px')[0];\n var maxAllowedRows = maxRows ? Math.min(maxRows, MAX_ROWS) : MAX_ROWS;\n var minAllowedRows = minRows ? Math.max(minRows, MIN_ROWS) : MIN_ROWS;\n var _useState = useState(value ? value.length : 0),\n _useState2 = _slicedToArray(_useState, 2),\n charCount = _useState2[0],\n setCharCount = _useState2[1];\n var _useState3 = useState(false),\n _useState4 = _slicedToArray(_useState3, 2),\n isRTL = _useState4[0],\n setRTL = _useState4[1];\n var _useState5 = useState(false),\n _useState6 = _slicedToArray(_useState5, 2),\n textAreaHasFocus = _useState6[0],\n setTextAreaFocus = _useState6[1];\n var internalRef = useRef();\n var textAreaRef = ref || internalRef;\n var intlContext = useContext(IntlContext);\n var bordersOffset = useRef(0);\n var maxHeight = useRef(textLineHeight * maxAllowedRows);\n var minHeight = useRef(textLineHeight * minAllowedRows);\n var computeHeight = function () {\n var textAreaElm = textAreaRef.current; // eslint-disable-next-line\n\n textAreaElm.style.height = 'auto';\n var newHeight = textAreaElm.scrollHeight + bordersOffset.current;\n /* istanbul ignore next */\n\n if (newHeight > maxHeight.current) {\n textAreaElm.style.height = \"\".concat(maxHeight.current, \"px\");\n } else if (newHeight > minHeight.current) {\n textAreaElm.style.height = \"\".concat(newHeight, \"px\");\n } else {\n textAreaElm.style.height = \"\".concat(minHeight.current, \"px\");\n }\n };\n useEffect(function () {\n /* istanbul ignore next */\n if (textAreaRef.current) {\n var textAreaElm = textAreaRef.current;\n var offsetHeight = textAreaElm.offsetHeight,\n clientHeight = textAreaElm.clientHeight;\n var computedStyle = window.getComputedStyle(textAreaElm);\n var lineHeightValue = Number(computedStyle.getPropertyValue('line-height').split('px')[0]);\n var paddingBottomValue = Number(computedStyle.getPropertyValue('padding-bottom').split('px')[0]);\n var paddingTopValue = Number(computedStyle.getPropertyValue('padding-top').split('px')[0]);\n var lineHeight = Number.isNaN(lineHeightValue) ? textLineHeight : lineHeightValue;\n var paddingBottom = Number.isNaN(paddingBottomValue) ? 0 : paddingBottomValue;\n var paddingTop = Number.isNaN(paddingTopValue) ? 0 : paddingTopValue;\n bordersOffset.current = offsetHeight - clientHeight;\n maxHeight.current = bordersOffset.current + paddingTop + paddingBottom + lineHeight * maxAllowedRows;\n minHeight.current = bordersOffset.current + paddingTop + paddingBottom + lineHeight * minAllowedRows;\n computeHeight();\n setRTL(computedStyle.direction === 'rtl');\n }\n }, [minAllowedRows, maxAllowedRows, value]);\n var handleCounterWrapperClick = function () {\n /* istanbul ignore else */\n if (textAreaRef.current) {\n var textAreaElm = textAreaRef.current;\n textAreaElm.focus();\n }\n };\n return jsx(TextInputWrapper, _extends({\n className: className,\n value: value,\n onChange: function handleChange(event) {\n var textAreaElm = event.target;\n setCharCount(textAreaElm.value.length);\n /* istanbul ignore else */\n\n if (onChange) {\n onChange(event);\n }\n },\n onFocus: function handleFocus(event) {\n setTextAreaFocus(true);\n /* istanbul ignore else */\n\n if (onFocus) {\n onFocus(event);\n }\n },\n onBlur: function handleBlur(event) {\n setTextAreaFocus(false);\n /* istanbul ignore else */\n\n if (onBlur) {\n onBlur(event);\n }\n },\n renderContent: function renderContent(_ref2) {\n var inputClassName = _ref2.inputClassName,\n name = _ref2.name,\n id = _ref2.id,\n setFocus = _ref2.setFocus,\n hasError = _ref2.hasError,\n placeholder = _ref2.placeholder,\n label = _ref2.label,\n labelClassName = _ref2.labelClassName,\n inputTag = _ref2.inputTag,\n placemat = _ref2.placemat,\n otherProps = _objectWithoutProperties(_ref2, _excluded2$1);\n var textInputContent = jsx(ClassNames, {\n \"data-ppui\": \"true\"\n }, function (_ref3) {\n var css = _ref3.css,\n cx = _ref3.cx;\n return jsx(TextInputContent, _extends({\n inputClassName: cx(inputClassName, _defineProperty({}, css(_styles.textAreaControl), true), _defineProperty({}, css(_styles.textAreaControlError), hasError)),\n inputTag: \"textarea\",\n name: name,\n id: id,\n setFocus: setFocus,\n inputRef: textAreaRef,\n hasError: hasError,\n placeholder: placeholder,\n label: label,\n labelClassName: cx(labelClassName, _defineProperty({}, css(_styles.textAreaControlLabel), true), _defineProperty({}, css(_styles.textAreaControlErrorLabel), hasError))\n }, otherProps, {\n \"data-ppui\": \"true\"\n }));\n });\n if (showCharacterCounter) {\n var maxCharsText = '';\n if (maxCharacters) {\n maxCharsText = isRTL ? \"\".concat(maxCharacters, \"/\") : \"/\".concat(maxCharacters);\n }\n var counterText = isRTL ? \"\".concat(maxCharsText).concat(charCount) : \"\".concat(charCount).concat(maxCharsText);\n var counterStatusMessage = getFormattedMessage(intlContext, \"\".concat(charCount, \" out of \").concat(maxCharacters, \" characters used\"), counterStatusText, {\n charCount: charCount,\n maxCharacters: maxCharacters\n });\n var wrapperCSS = [_styles.textAreaCounterWrapper, textAreaHasFocus && _styles.textAreaCounterWrapperFocus, hasError && _styles.textAreaErrorCounterWrapper, hasError && textAreaHasFocus && _styles.textAreaErrorCounterWrapperFocus];\n var counterTextCSS = [_styles.textAreaCounterText, hasError && _styles.textAreaErrorCounterText];\n return jsx(\"div\", {\n css: wrapperCSS,\n onClick: handleCounterWrapperClick,\n \"data-ppui\": \"true\"\n }, textInputContent, jsx(\"div\", {\n css: counterTextCSS,\n role: \"status\",\n \"aria-live\": \"polite\",\n \"aria-atomic\": \"true\",\n \"aria-label\": counterStatusMessage,\n \"data-ppui\": \"true\"\n }, counterText));\n }\n return textInputContent;\n },\n errorText: errorText,\n successText: successText,\n \"data-ppui-info\": \"text-area_5.1.11\"\n }, rest));\n});\nvar _excluded$5 = [\"className\", \"valueClassName\", \"labelClassName\", \"name\", \"id\", \"label\", \"value\", \"rightIcon\", \"helperText\", \"isLabelHidden\"];\nvar TextDisplay = function (_ref) {\n var className = _ref.className,\n valueClassName = _ref.valueClassName,\n labelClassName = _ref.labelClassName,\n _ref$name = _ref.name,\n name = _ref$name === void 0 ? 'textDisplay' : _ref$name,\n id = _ref.id,\n _ref$label = _ref.label,\n label = _ref$label === void 0 ? 'TextDisplay' : _ref$label,\n _ref$value = _ref.value,\n value = _ref$value === void 0 ? '' : _ref$value,\n rightIcon = _ref.rightIcon,\n helperText = _ref.helperText,\n isLabelHidden = _ref.isLabelHidden,\n rest = _objectWithoutProperties(_ref, _excluded$5);\n var tokens = useTheme();\n var _styles = useMemo(function () {\n return styles(tokens);\n }, [tokens]);\n var controlStyles = [_styles.control, _styles.textDisplayControl, rightIcon && _styles.textDisplayControlIconRight];\n var labelStyles = [_styles.label, _styles.textDisplayLabel, rightIcon && _styles.textDisplaylabelIconRight, isLabelHidden && _styles.textDisplayNoLabelControl, isLabelHidden && _styles.labelWithScreenreader];\n var labelId = \"txtDsplyLbl_\".concat(name);\n var valueId = \"txtDsplyVlu_\".concat(name);\n return jsx(TextInputWrapper, _extends({\n className: className,\n label: label,\n name: name,\n isLabelHidden: isLabelHidden,\n helperText: helperText,\n renderContent: function renderContent() {\n return jsx(\"div\", {\n \"aria-labelledby\": \"\".concat(labelId, \" \").concat(valueId),\n id: id,\n \"data-ppui-info\": \"text-display_5.1.11\"\n }, jsx(\"input\", {\n type: \"hidden\",\n name: name,\n value: value,\n \"data-ppui\": \"true\"\n }), jsx(\"span\", {\n css: controlStyles,\n className: valueClassName,\n id: valueId,\n \"data-ppui\": \"true\"\n }, value), jsx(\"span\", {\n css: labelStyles,\n className: labelClassName,\n id: labelId,\n \"data-ppui\": \"true\"\n }, label));\n },\n rightIcon: rightIcon,\n rightIconCSS: _styles.textDisplayIconRight\n }, rest, {\n \"data-ppui\": \"true\"\n }));\n};\nexport { TextArea, TextDisplay, TextInput, styles as textInputStyles };","import _extends from '@babel/runtime/helpers/esm/extends';\nimport _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';\nimport _slicedToArray from '@babel/runtime/helpers/esm/slicedToArray';\nimport _defineProperty from '@babel/runtime/helpers/esm/defineProperty';\nimport { useState, useRef, useMemo, useEffect } from 'react';\nimport { css, useTheme, jsx, ClassNames } from '@emotion/react';\nimport { ChevronUpIcon, ChevronDownIcon } from '@paypalcorp/pp-react-icons';\nimport { TextInput } from '@paypalcorp/pp-react-text-input';\nimport { SelectionMenu } from '@paypalcorp/pp-react-menu';\nimport _taggedTemplateLiteral from '@babel/runtime/helpers/esm/taggedTemplateLiteral';\nimport { uniqueId, KeyboardCode } from '@paypalcorp/pp-react-utils';\nvar _templateObject, _templateObject2, _templateObject3;\nfunction styles(tokens) {\n /* istanbul ignore next */\n if (!Object.keys(tokens).length) {\n console.warn('Missing Emotion theme. Use ThemeProvider from @emotion/react to pass a valid theme from pp-react.');\n return {};\n }\n var sysSizeFieldLg = tokens.sysSizeFieldLg;\n var base = css(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n position: relative;\\n \"])));\n var menu = css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral([\"\\n top: \", \";\\n \"])), sysSizeFieldLg);\n var affordanceTrigger = css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral([\"\\n label: affordance_trigger;\\n cursor: pointer;\\n \"])));\n return {\n base: base,\n menu: menu,\n affordanceTrigger: affordanceTrigger\n };\n}\nvar _excluded = [\"name\", \"options\", \"value\", \"text\", \"id\", \"dir\", \"label\", \"onOpen\", \"onChange\", \"onBlur\", \"onTextChange\", \"onFocus\", \"getMenuOptions\", \"placeholder\", \"isLoadingOptions\", \"emptyMessage\", \"mobileTitle\", \"sheetWrapperClassName\", \"autoComplete\"];\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}\n\n// By default, matching is case-insensitive prefix match\nvar defaultGetMenuOptions = function (optionList, userText) {\n if (!userText) {\n // No filter means you get it all, no questions asked!\n return optionList;\n }\n return optionList.filter(function (option) {\n // istanbul ignore next\n var comparand = (option.label || '').toLowerCase();\n var prefix = userText.toLowerCase();\n return comparand.substring(0, prefix.length) === prefix;\n });\n};\nvar getOptionValue = function (option) {\n var _option$value;\n return (_option$value = option.value) !== null && _option$value !== void 0 ? _option$value : option.label;\n}; // Make sure all items have an id we can use for aria tags\n\nvar ideate = function (optionList, name) {\n // istanbul ignore next (this function is called, but converage doesn't see it\n return optionList.reduce(function (result, option) {\n var mappedOption = _objectSpread({}, option);\n if (!mappedOption.hasOwnProperty('id')) {\n mappedOption.id = \"\".concat(name, \"__\").concat(getOptionValue(option));\n }\n result.push(mappedOption);\n return result;\n }, []);\n};\nvar defaultEmptyMessage = 'No results. Try something else or check for errors.';\nvar optionLegend = {\n label: 'primaryText'\n};\nvar mapObj = function (src, legend) {\n return Object.entries(src).reduce(function (dest, _ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n key = _ref2[0],\n value = _ref2[1];\n var newKey = legend.hasOwnProperty(key) ? legend[key] : key;\n dest[newKey] = value;\n return dest;\n }, {});\n}; // istanbul ignore next\n\nvar mapOptions = function (srcList) {\n return srcList ? srcList.map(function (option) {\n // add onMouseDown to prevent onBlur being called when selecting an option\n option.onMouseDown = function (evt) {\n return evt.preventDefault();\n };\n return mapObj(option, optionLegend);\n }) : [];\n}; // eslint-disable-next-line max-statements\n\nvar Combobox = function (_ref3) {\n var _ref3$name = _ref3.name,\n name = _ref3$name === void 0 ? 'NO_NAME' : _ref3$name,\n options = _ref3.options,\n _ref3$value = _ref3.value,\n value = _ref3$value === void 0 ? '' : _ref3$value,\n text = _ref3.text,\n id = _ref3.id,\n dir = _ref3.dir,\n label = _ref3.label,\n onOpen = _ref3.onOpen,\n onChange = _ref3.onChange,\n onBlur = _ref3.onBlur,\n onTextChange = _ref3.onTextChange,\n _ref3$onFocus = _ref3.onFocus,\n onFocus = _ref3$onFocus === void 0 ? null : _ref3$onFocus,\n _ref3$getMenuOptions = _ref3.getMenuOptions,\n getMenuOptions = _ref3$getMenuOptions === void 0 ? defaultGetMenuOptions : _ref3$getMenuOptions,\n placeholder = _ref3.placeholder,\n isLoadingOptions = _ref3.isLoadingOptions,\n _ref3$emptyMessage = _ref3.emptyMessage,\n emptyMessage = _ref3$emptyMessage === void 0 ? defaultEmptyMessage : _ref3$emptyMessage,\n _ref3$mobileTitle = _ref3.mobileTitle,\n mobileTitle = _ref3$mobileTitle === void 0 ? label : _ref3$mobileTitle,\n sheetWrapperClassName = _ref3.sheetWrapperClassName,\n autoComplete = _ref3.autoComplete,\n rest = _objectWithoutProperties(_ref3, _excluded);\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n showMenu = _useState2[0],\n setShowMenu = _useState2[1];\n var _useState3 = useState(-1),\n _useState4 = _slicedToArray(_useState3, 2),\n activeIndex = _useState4[0],\n setActiveIndex = _useState4[1];\n var _useState5 = useState(''),\n _useState6 = _slicedToArray(_useState5, 2),\n placemat = _useState6[0],\n setPlacemat = _useState6[1];\n var _useState7 = useState(options),\n _useState8 = _slicedToArray(_useState7, 2),\n filteredList = _useState8[0],\n setFilteredList = _useState8[1];\n var _useState9 = useState(value),\n _useState10 = _slicedToArray(_useState9, 2),\n activeItem = _useState10[0],\n setActiveItem = _useState10[1];\n var _useState11 = useState(false),\n _useState12 = _slicedToArray(_useState11, 2),\n textFocus = _useState12[0],\n setTextFocus = _useState12[1];\n var sheetInputRef = useRef();\n var textInputRef = useRef();\n var getInitialText = function (selectedValue, currentText) {\n if (currentText !== '' && (!selectedValue || !options)) {\n return currentText;\n }\n var selectedOption = options === null || options === void 0 ? void 0 : options.find(function (option) {\n return selectedValue === getOptionValue(option);\n });\n return selectedOption ? selectedOption.label : selectedValue;\n };\n var initialText = getInitialText(value, text);\n var _useState13 = useState(initialText || ''),\n _useState14 = _slicedToArray(_useState13, 2),\n textValue = _useState14[0],\n setTextValue = _useState14[1];\n var _useState15 = useState(''),\n _useState16 = _slicedToArray(_useState15, 2),\n sheetTextValue = _useState16[0],\n setSheetTextValue = _useState16[1];\n var comboId = id !== null && id !== void 0 ? id : uniqueId('Combobox_');\n var textInputId = \"combo_txt_\".concat(comboId);\n var menuId = \"combo_menu_\".concat(comboId);\n var clearActiveItem = function () {\n setActiveIndex(-1);\n setPlacemat('');\n };\n var updateFilteredList = function (filterText) {\n var updatedList = ideate(getMenuOptions(options, filterText), name);\n if (!updatedList || updatedList.length === 0) {\n updatedList = [{\n label: emptyMessage,\n unselectable: true\n }];\n }\n setFilteredList(updatedList);\n clearActiveItem();\n }; // Spoof an event so the caller thinks a change happened in this component\n\n var changeCallback = function (newValue) {\n // istanbul ignore next (sanity check)\n if (typeof onChange === 'function') {\n onChange({\n target: {\n name: name,\n value: newValue\n }\n });\n }\n };\n var doSetShowMenu = function (isShown) {\n setShowMenu(isShown);\n setTextFocus(isShown);\n };\n var openMenu = function () {\n if (!isLoadingOptions) {\n updateFilteredList('');\n setSheetTextValue('');\n }\n doSetShowMenu(true); // istanbul ignore next\n\n if (textInputRef.current) {\n textInputRef.current.select();\n }\n };\n var handleSheetTyping = function (evt) {\n // istanbul ignore next\n if (typeof onTextChange === 'function') {\n onTextChange(evt);\n }\n setSheetTextValue(evt.target.value);\n setTextValue(evt.target.value);\n updateFilteredList(evt.target.value);\n setActiveItem('');\n };\n var handleClose = function () {\n doSetShowMenu(false);\n setPlacemat('');\n }; // Clicks inside the text input are NOT outside clicks!\n\n var outsideClickCheck = function (evt) {\n var target = evt.target;\n return target.id !== textInputId;\n };\n var handleItemSelection = function (index) {\n var selectedOption = filteredList[index]; // istanbul ignore next\n\n if (selectedOption && !selectedOption.unselectable) {\n setTextValue(selectedOption.label);\n setActiveItem(getOptionValue(selectedOption));\n setSheetTextValue(selectedOption.label);\n changeCallback(getOptionValue(selectedOption));\n doSetShowMenu(false);\n }\n };\n\n // This is a simplistic way of telling. We may need to use a state... --BCC\n // istanbul ignore next\n var isFiltered = function () {\n return textValue === '' || filteredList.length < options.length;\n };\n var getActiveId = function () {\n return activeIndex < 0 ? '' : filteredList[activeIndex].id;\n };\n var updateActiveItem = function (offset) {\n var nextIndex = Math.min(Math.max(activeIndex + offset, 0), filteredList.length - 1);\n if (nextIndex !== activeIndex) {\n var selectedOption = filteredList[nextIndex];\n if (!selectedOption.unselectable) {\n setActiveIndex(nextIndex); // We can have text in the text input that's not actually filtering the list yet.\n // (if we reopen after a selection has been made) This can lead to mismatches\n // between the text and placemat. So if we're not filtering, no placemat for you!\n // --BCC\n // istanbul ignore next\n\n if (selectedOption && isFiltered()) {\n setPlacemat(selectedOption.label);\n }\n }\n }\n }; // eslint-disable-next-line complexity\n\n var handleKey = function (evt) {\n /* istanbul ignore next */\n var key = evt.key || evt.keyCode;\n /* istanbul ignore next */\n\n var KeyCode = new KeyboardCode(key);\n if (KeyCode.IS_ARROW_UP) {\n updateActiveItem(-1);\n } else if (KeyCode.IS_ARROW_DOWN) {\n if (!showMenu) {\n openMenu();\n } else {\n updateActiveItem(1);\n }\n } else if (KeyCode.IS_ENTER || key === 'Unidentified') {\n // HACK ALERT! In test environment `jest` sends `enter` key as `Unidentified`\n evt.preventDefault();\n if (!showMenu) {\n openMenu();\n } else {\n handleItemSelection(activeIndex);\n }\n } else if (KeyCode.IS_TAB || KeyCode.IS_ESC) {\n handleClose();\n }\n };\n var sheetTextPlaceholder = placemat ? null : placeholder;\n var sheetTextInputName = \"sheet_t_\".concat(name);\n var getSheetTextInput = function () {\n var inputDir = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'ltr';\n return jsx(\"div\", {\n dir: inputDir,\n \"data-ppui\": \"true\"\n }, jsx(TextInput, {\n name: sheetTextInputName,\n ref: sheetInputRef,\n label: label,\n value: sheetTextValue,\n placeholder: sheetTextPlaceholder,\n placemat: placemat,\n onChange: handleSheetTyping,\n onKeyDown: function onKeyDown(evt) {\n return handleKey(evt);\n },\n autoComplete: \"off\",\n role: \"combobox\",\n \"aria-controls\": menuId,\n \"aria-activedescendant\": getActiveId(),\n disabled: isLoadingOptions,\n \"data-ppui\": \"true\"\n }));\n };\n var tokens = useTheme();\n var comboStyles = useMemo(function () {\n return styles(tokens);\n }, [tokens]);\n var AffordanceIcon = showMenu ? ChevronUpIcon : ChevronDownIcon;\n var affordance = jsx(AffordanceIcon, {\n onClick: function toggleMenu(evt) {\n evt.stopPropagation();\n if (showMenu) {\n doSetShowMenu(false);\n } else {\n setTextFocus(true);\n openMenu();\n }\n },\n size: \"sm\",\n \"aria-hidden\": \"true\",\n \"data-testid\": \"combo-affordance\",\n color: \"BackgroundMediumContrast\",\n css: comboStyles.affordanceTrigger,\n \"data-ppui\": \"true\"\n });\n useEffect(function () {\n setActiveItem(value);\n setTextValue(getInitialText(value, ''));\n }, [value]);\n useEffect(function () {\n // Set the text only if it was explicitly passed in\n if (text !== undefined && text !== null) {\n setTextValue(text);\n }\n }, [text]);\n var getRefCurrent = function (ref) {\n return (/* istanbul ignore next */\n ref && ref.current ? ref.current : null\n );\n };\n useEffect(function () {\n if (!isLoadingOptions && showMenu) {\n var sheetInput = getRefCurrent(sheetInputRef);\n /* istanbul ignore next */\n\n if (sheetInput) {\n sheetInput.focus();\n }\n } else if (options && options.length) {\n setFilteredList(options);\n setTextValue(getInitialText(value, textValue));\n }\n }, [isLoadingOptions, options]);\n var inputProps = {\n role: 'combobox',\n autoComplete: autoComplete !== null && autoComplete !== void 0 ? autoComplete : 'new-password',\n 'aria-expanded': showMenu,\n 'aria-haspopup': true,\n 'aria-controls': menuId,\n 'aria-activedescendant': getActiveId(),\n value: textValue,\n placeholder: placemat ? ' ' : placeholder,\n placemat: placemat,\n inputRef: textInputRef\n };\n var menuProps = {\n isLoadingOptions: isLoadingOptions\n }; // aria-owns={menuId} This will be needed if SelectionMenu goes into a portal\n\n return jsx(\"div\", {\n dir: dir,\n css: comboStyles.base,\n \"data-ppui-info\": \"combobox_3.5.9\"\n }, jsx(TextInput, _extends({\n name: \"combo_t_\".concat(name),\n label: label,\n id: textInputId,\n rightIcon: affordance,\n setFocus: textFocus\n }, rest, inputProps, {\n onChange: function handleChange(evt) {\n if (typeof onTextChange === 'function') {\n onTextChange(evt);\n }\n setTextValue(evt.target.value);\n updateFilteredList(evt.target.value);\n setActiveItem('');\n if (!showMenu) {\n doSetShowMenu(true);\n }\n },\n onClick: function handleFocus() {\n if (!showMenu) {\n openMenu();\n }\n },\n onKeyDown: handleKey,\n onFocus: function openOnFocus(evt) {\n var sheetInput = getRefCurrent(sheetInputRef);\n if (onFocus && !sheetInput) {\n onFocus(evt);\n }\n },\n onBlur: function handleBlur() {\n // Are we transferring focus to a newly opened sheet in mweb?\n if (sheetInputRef.current) {\n return; // Don't call onBlur(). This is a \"false\" blur!\n }\n\n if (onBlur) {\n onBlur({\n target: {\n name: name,\n textValue: textValue,\n value: activeItem\n }\n });\n }\n },\n \"data-reactcombo\": true,\n \"data-ppui\": \"true\"\n })), jsx(ClassNames, {\n \"data-ppui\": \"true\"\n }, function (_ref4) {\n var css = _ref4.css;\n return jsx(SelectionMenu, _extends({\n name: \"combo_m_\".concat(name),\n value: activeItem,\n id: menuId\n }, menuProps, {\n initialItemFocus: false,\n ignoreKeyboard: true,\n isOpen: showMenu,\n mobileTitle: mobileTitle,\n mobileHeaderContents: getSheetTextInput(dir),\n outsideClickCheck: outsideClickCheck,\n onOpen: onOpen,\n onClose: handleClose,\n onSelection: handleItemSelection,\n activeItem: activeIndex,\n triggerElementRef: textInputRef,\n options: mapOptions(filteredList),\n containerClassName: css(comboStyles.menu),\n sheetWrapperClassName: sheetWrapperClassName,\n \"data-ppui\": \"true\"\n }));\n }));\n};\nexport { Combobox, styles as comboboxStyles };","import _extends from '@babel/runtime/helpers/esm/extends';\nimport _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';\nimport { useMemo } from 'react';\nimport { InformationIcon, CheckmarkBackgroundIcon, WarningIcon, CriticalIcon } from '@paypalcorp/pp-react-icons';\nimport { css, useTheme, jsx } from '@emotion/react';\nimport _taggedTemplateLiteral from '@babel/runtime/helpers/esm/taggedTemplateLiteral';\nimport { textStyles } from '@paypalcorp/pp-react-text';\nvar _templateObject, _templateObject2;\nfunction styles(tokens) {\n /* istanbul ignore next */\n if (!Object.keys(tokens).length) {\n console.warn('Missing Emotion theme. Use ThemeProvider from @emotion/react to pass a valid theme from pp-react.');\n return {};\n }\n var sysSpaceSm = tokens.sysSpaceSm,\n sysSpaceLg = tokens.sysSpaceLg,\n sysSizeIconXs = tokens.sysSizeIconXs;\n var _textStyles = textStyles(tokens),\n textCaption = _textStyles.caption;\n var base = css(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n label: contextual-alert_base;\\n display: flex;\\n padding: \", \" 0;\\n \", \"\\n \"])), sysSpaceLg, textCaption());\n var statusIcon = css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral([\"\\n label: status_icon;\\n margin-top: \", \";\\n margin-right: \", \";\\n height: \", \";\\n\\n [dir='rtl'] & {\\n margin-left: \", \";\\n margin-right: 0;\\n }\\n \"])), '0.0625rem', sysSpaceSm, sysSizeIconXs, sysSpaceSm);\n return {\n base: base,\n statusIcon: statusIcon\n };\n}\nvar _excluded = [\"className\", \"type\", \"typeIconAriaLabel\", \"children\"];\nvar iconMap = {\n info: InformationIcon,\n success: CheckmarkBackgroundIcon,\n warning: WarningIcon,\n error: CriticalIcon\n};\nvar ContextualAlert = function (_ref) {\n var className = _ref.className,\n _ref$type = _ref.type,\n type = _ref$type === void 0 ? 'info' : _ref$type,\n _ref$typeIconAriaLabe = _ref.typeIconAriaLabel,\n typeIconAriaLabel = _ref$typeIconAriaLabe === void 0 ? type : _ref$typeIconAriaLabe,\n children = _ref.children,\n rest = _objectWithoutProperties(_ref, _excluded);\n var tokens = useTheme();\n var _styles = useMemo(function () {\n return styles(tokens);\n }, [tokens]);\n var iconCssVal = _styles.statusIcon;\n var StatusIcon = iconMap[type];\n return jsx(\"div\", _extends({\n role: \"alert\",\n css: _styles.base,\n className: className,\n \"data-ppui-info\": \"contextual-alert_3.0.20\"\n }, rest), jsx(StatusIcon, {\n css: iconCssVal,\n size: \"xs\",\n color: {\n info: 'sysColorInfoContrast',\n success: 'sysColorSuccessMain',\n warning: 'sysColorWarningAlt',\n error: 'sysColorErrorMain'\n }[type],\n role: \"img\",\n \"aria-label\": typeIconAriaLabel,\n \"data-ppui\": \"true\"\n }), children);\n};\nexport { ContextualAlert, styles as contextualAlertStyles };","import _taggedTemplateLiteral from '@babel/runtime/helpers/esm/taggedTemplateLiteral';\nimport { css, useTheme, jsx } from '@emotion/react';\nimport { math } from 'polished';\nimport { utilStyles, ZINDEX_DROPDOWN, KeyboardCode, ScreenReaderContent } from '@paypalcorp/pp-react-utils';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport _slicedToArray from '@babel/runtime/helpers/esm/slicedToArray';\nimport _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';\nimport React, { useMemo, useState, useRef, useEffect, forwardRef } from 'react';\nimport { TextInput } from '@paypalcorp/pp-react-text-input';\nimport { CaptionText, BodyText } from '@paypalcorp/pp-react-text';\nimport { LoadingSpinner } from '@paypalcorp/pp-react-loading-spinner';\nimport { ContextualAlert } from '@paypalcorp/pp-react-contextual-alert';\nvar _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11;\nfunction styles(tokens) {\n /* istanbul ignore next */\n if (!Object.keys(tokens).length) {\n console.warn('Missing Emotion theme. Use ThemeProvider from @emotion/react to pass a valid theme from pp-react.');\n return {};\n }\n var sysBorderRadiusLg = tokens.sysBorderRadiusLg,\n sysBorderThicknessNormal = tokens.sysBorderThicknessNormal,\n sysColorBackgroundSurface = tokens.sysColorBackgroundSurface,\n sysColorBackgroundSurfaceHover = tokens.sysColorBackgroundSurfaceHover,\n sysSizeMediaSm = tokens.sysSizeMediaSm,\n sysSizeMediaMd = tokens.sysSizeMediaMd,\n sysSizeMediaLg = tokens.sysSizeMediaLg,\n sysSpaceLg = tokens.sysSpaceLg,\n sysSpaceMd = tokens.sysSpaceMd,\n sysSpaceSm = tokens.sysSpaceSm,\n sysSizeFieldLg = tokens.sysSizeFieldLg,\n sysSpaceTiny = tokens.sysSpaceTiny,\n sysSpaceXs = tokens.sysSpaceXs;\n var _utilStyles = utilStyles(tokens),\n elevationStyles = _utilStyles.elevationStyles;\n var base = css(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n label: auto-suggest_base;\\n position: relative;\\n \"])));\n var suggestionListContainer = css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral([\"\\n label: suggestion_list_container;\\n min-width: \", \";\\n max-width: \", \";\\n margin-top: \", \";\\n padding: \", \" 0;\\n overflow-x: hidden;\\n width: 100%;\\n \"])), math(\"2 * \".concat(sysSizeFieldLg)), sysSizeMediaLg, math(\"\".concat(sysSpaceXs, \" + \").concat(sysSpaceTiny)), sysSpaceSm);\n var elevatedSuggestionListContainer = css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral([\"\\n label: elevated_suggestion_list_container;\\n \", \"\\n \", \"\\n\\n border-radius: \", \";\\n background-color: \", \";\\n z-index: \", \";\\n outline: \", \" solid transparent;\\n top: \", \";\\n position: absolute;\\n \"])), suggestionListContainer, elevationStyles.level3, sysBorderRadiusLg, sysColorBackgroundSurface, ZINDEX_DROPDOWN, sysBorderThicknessNormal, sysSizeFieldLg);\n var content = css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral([\"\\n label: content;\\n padding: \", \" \", \";\\n \"])), sysSpaceMd, sysSpaceLg);\n var centeredContent = css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral([\"\\n label: centered_content;\\n display: flex;\\n justify-content: center;\\n \"])));\n var suggestionSublist = css(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral([\"\\n label: suggestion_sublist;\\n list-style-type: none;\\n margin: 0;\\n padding: 0;\\n \"])));\n var suggestionList = css(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral([\"\\n label: suggestion_list;\\n \", \"\\n overflow-y: auto;\\n max-height: \", \";\\n\\n @media (max-width: \", \") {\\n max-height: \", \";\\n }\\n \"])), suggestionSublist, sysSizeMediaSm, sysSizeMediaMd, math(\"\".concat(sysSizeMediaSm, \" / 2\")));\n var highlightedSuggesiton = css(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral([\"\\n label: highlighted_suggestion;\\n background-color: \", \";\\n \"])), sysColorBackgroundSurfaceHover);\n var suggestion = css(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral([\"\\n label: suggestion;\\n \", \"\\n cursor: pointer;\\n display: flex;\\n align-items: center;\\n\\n &:hover {\\n \", \"\\n }\\n \"])), content, highlightedSuggesiton);\n var errorMessage = css(_templateObject10 || (_templateObject10 = _taggedTemplateLiteral([\"\\n label: error_message;\\n margin: 0 \", \";\\n \"])), sysSpaceLg);\n var suggestionDecoration = css(_templateObject11 || (_templateObject11 = _taggedTemplateLiteral([\"\\n label: suggestion_decoration;\\n margin-right: \", \";\\n\\n [dir='rtl'] & {\\n margin-right: 0;\\n margin-left: \", \";\\n }\\n \"])), sysSpaceMd, sysSpaceMd);\n return {\n base: base,\n suggestionListContainer: suggestionListContainer,\n elevatedSuggestionListContainer: elevatedSuggestionListContainer,\n content: content,\n centeredContent: centeredContent,\n suggestionSublist: suggestionSublist,\n suggestionList: suggestionList,\n highlightedSuggesiton: highlightedSuggesiton,\n suggestion: suggestion,\n errorMessage: errorMessage,\n suggestionDecoration: suggestionDecoration\n };\n}\n\n/**\n * Returns JSX to render suggestion with highlighted match\n * @param src\n * @param match\n */\nfunction highlightMatch(src, match) {\n if (match) {\n var escapedMatch = match.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n var regex = new RegExp(escapedMatch, 'ig');\n return src.replace(regex, '$&');\n }\n return src;\n}\nvar AutoSuggestUtils = {\n highlightMatch: highlightMatch\n};\nvar _excluded = [\"suggestions\", \"renderSuggestion\", \"onHighlight\", \"onSelect\", \"className\", \"listItemClassName\", \"query\", \"enableKeyboardInteraction\", \"hasSections\"];\nvar defaultRenderSuggestion = function (_ref, query, _styles) {\n var value = _ref.value,\n primaryText = _ref.primaryText,\n secondaryText = _ref.secondaryText,\n decoration = _ref.decoration;\n var highlightedValue = AutoSuggestUtils.highlightMatch(primaryText || value, query);\n var secondaryElm = secondaryText ? jsx(CaptionText, {\n \"data-ppui\": \"true\"\n }, secondaryText) : null;\n var decorationElm = decoration ? jsx(\"div\", {\n css: _styles.suggestionDecoration,\n \"data-ppui\": \"true\"\n }, decoration) : null;\n return jsx(React.Fragment, null, decorationElm, jsx(\"div\", {\n \"data-ppui\": \"true\"\n }, jsx(BodyText, {\n dangerouslySetInnerHTML: {\n __html: highlightedValue\n },\n \"data-ppui\": \"true\"\n }), secondaryElm));\n};\n/* Create a flat list of suggestions for highlight and selection by index */\n\nvar normalizeSuggestions = function (suggestions, hasSections) {\n if (!hasSections) {\n return suggestions.reduce(function (acc, suggestion, index) {\n acc.push({\n value: suggestion,\n suggestionIndex: index\n });\n return acc;\n }, []);\n }\n return suggestions.reduce(function (acc, section, sectionIndex) {\n if (section.suggestions) {\n section.suggestions.forEach(function (suggestion, suggestionIndex) {\n acc.push({\n value: suggestion,\n section: section,\n suggestionIndex: suggestionIndex,\n sectionIndex: sectionIndex\n });\n });\n }\n return acc;\n }, []);\n};\nvar SuggestionList = function (_ref2) {\n var _ref2$suggestions = _ref2.suggestions,\n suggestions = _ref2$suggestions === void 0 ? [] : _ref2$suggestions,\n renderSuggestion = _ref2.renderSuggestion,\n onHighlight = _ref2.onHighlight,\n onSelect = _ref2.onSelect,\n className = _ref2.className,\n listItemClassName = _ref2.listItemClassName,\n query = _ref2.query,\n _ref2$enableKeyboardI = _ref2.enableKeyboardInteraction,\n enableKeyboardInteraction = _ref2$enableKeyboardI === void 0 ? true : _ref2$enableKeyboardI,\n hasSections = _ref2.hasSections,\n rest = _objectWithoutProperties(_ref2, _excluded);\n var tokens = useTheme();\n var _styles = useMemo(function () {\n return styles(tokens);\n }, [tokens]);\n var _useState = useState(-1),\n _useState2 = _slicedToArray(_useState, 2),\n highlightedIndex = _useState2[0],\n setHighlightedIndex = _useState2[1];\n var highlightedIndexRef = useRef(-1);\n var listRef = useRef([]);\n var _suggestions = normalizeSuggestions(suggestions, hasSections);\n var handleHighlight = function (evt, index) {\n setHighlightedIndex(index);\n highlightedIndexRef.current = index;\n /* istanbul ignore next */\n\n if (index !== -1) {\n var id = _suggestions[index].section ? \"\".concat(_suggestions[index].section.id, \"_\").concat(_suggestions[index].value.id) : _suggestions[index].value.id;\n var highlightedElm = listRef.current[id];\n if (highlightedElm && highlightedElm.scrollIntoView) {\n highlightedElm.scrollIntoView({\n behavior: 'smooth',\n block: 'nearest'\n });\n }\n }\n /* istanbul ignore next */\n\n if (onHighlight) {\n onHighlight(evt, _suggestions[index].value, _suggestions[index].section);\n }\n };\n var handleSelect = function (evt, index) {\n /* istanbul ignore next */\n if (onSelect) {\n onSelect(evt, _suggestions[index].value, _suggestions[index].section);\n }\n };\n /* istanbul ignore next */\n\n var handleKeyDown = function (evt) {\n if (!_suggestions.length) {\n return;\n }\n var currentHighlightedIndex = highlightedIndexRef.current;\n /* istanbul ignore next */\n\n var KeyCode = new KeyboardCode(evt.key || evt.keyCode);\n if (KeyCode.IS_ARROW_UP) {\n evt.preventDefault();\n if (currentHighlightedIndex > 0) {\n handleHighlight(evt, currentHighlightedIndex - 1);\n } else if (currentHighlightedIndex === 0) {\n handleHighlight(evt, _suggestions.length - 1);\n }\n } else if (KeyCode.IS_ARROW_DOWN) {\n evt.preventDefault();\n if (currentHighlightedIndex < _suggestions.length - 1) {\n handleHighlight(evt, currentHighlightedIndex + 1);\n } else if (currentHighlightedIndex === _suggestions.length - 1) {\n handleHighlight(evt, 0);\n }\n } else if (KeyCode.IS_ENTER) {\n evt.preventDefault();\n if (currentHighlightedIndex >= 0) {\n handleSelect(evt, currentHighlightedIndex);\n }\n }\n };\n useEffect(function () {\n setHighlightedIndex(-1);\n highlightedIndexRef.current = -1;\n if (suggestions.length && enableKeyboardInteraction) {\n document.addEventListener('keydown', handleKeyDown);\n }\n return function () {\n document.removeEventListener('keydown', handleKeyDown);\n };\n }, [suggestions, enableKeyboardInteraction]);\n var renderSuggestionList = function (items, section) {\n var normalizedIndex = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n return items.map(function (suggestion, index) {\n var cssVal = [_styles.suggestion, highlightedIndex >= 0 && suggestion === _suggestions[highlightedIndex].value && _styles.highlightedSuggesiton];\n var id = section ? \"\".concat(section.id, \"_\").concat(suggestion.id) : suggestion.id;\n var suggestionContent = renderSuggestion ? renderSuggestion(suggestion, query, section) : defaultRenderSuggestion(suggestion, query, _styles);\n return jsx(\"li\", _extends({\n role: \"option\"\n }, section ? {\n 'aria-describedby': section.id\n } : null, {\n key: id,\n id: id,\n ref: function ref(el) {\n return listRef.current[id] = el;\n },\n css: cssVal,\n className: listItemClassName,\n onMouseDown: function onMouseDown(evt) {\n return evt.preventDefault();\n },\n onClick: function onClick(evt) {\n handleSelect(evt, normalizedIndex + index);\n },\n \"data-ppui\": \"true\"\n }), suggestionContent);\n });\n };\n var listItems = hasSections ? function renderSections() {\n var currentNormalizedIndex = 0;\n return suggestions.reduce(function (acc, section) {\n if (section.suggestions && section.suggestions.length) {\n acc.push(jsx(\"li\", {\n role: \"presentation\",\n key: section.id,\n \"data-ppui\": \"true\"\n }, jsx(\"div\", {\n css: _styles.content,\n id: section.id,\n \"aria-hidden\": \"true\",\n \"data-ppui\": \"true\"\n }, jsx(CaptionText, {\n \"data-ppui\": \"true\"\n }, section.title)), jsx(\"ul\", {\n role: \"listbox\",\n css: _styles.suggestionSublist,\n \"aria-labelledby\": section.id,\n \"data-ppui\": \"true\"\n }, renderSuggestionList(section.suggestions, section, currentNormalizedIndex))));\n currentNormalizedIndex += section.suggestions.length;\n }\n return acc;\n }, []);\n }() : renderSuggestionList(suggestions);\n if (_suggestions.length) {\n return jsx(\"ul\", _extends({\n role: \"listbox\",\n css: _styles.suggestionList,\n className: className\n }, rest, {\n \"data-ppui\": \"true\"\n }), listItems);\n }\n return null;\n};\nvar _excluded$1 = [\"id\", \"value\", \"debounceTimeout\", \"fetchSuggestions\", \"suggestionList\", \"isSuggestionListInline\", \"isLoadingSuggestions\", \"onChange\", \"onFocus\", \"onKeyDown\", \"onBlur\", \"onClear\", \"className\", \"triggerComponent\", \"suggestions\", \"suggestionListFooter\", \"suggestionListContainerClassName\", \"suggestionListFooterClassName\", \"suggestionListChangeMessage\", \"suggestionListLoadingMessage\", \"suggestionListErrorMessage\", \"onSuggestionListClose\"];\nvar DEBOUNCE_TIMEOUT = 500;\n/* Get total number of suggestions */\n\nvar getNormalizedSuggestionLength = function (suggestions, hasSections) {\n if (!hasSections) {\n return suggestions.length;\n }\n return suggestions.reduce(function (acc, section) {\n if (section.suggestions) {\n acc += section.suggestions.length;\n }\n return acc;\n }, 0);\n};\n/* eslint-disable complexity */\n\nvar AutoSuggest = forwardRef(function (props, ref) {\n var _props$id = props.id,\n id = _props$id === void 0 ? 'default' : _props$id,\n value = props.value,\n _props$debounceTimeou = props.debounceTimeout,\n debounceTimeout = _props$debounceTimeou === void 0 ? DEBOUNCE_TIMEOUT : _props$debounceTimeou,\n _props$fetchSuggestio = props.fetchSuggestions,\n fetchSuggestions = _props$fetchSuggestio === void 0 ? function () {\n return console.warn('Required prop `fetchSuggestions` is missing');\n } : _props$fetchSuggestio,\n _props$suggestionList = props.suggestionList,\n suggestionList = _props$suggestionList === void 0 ? jsx(SuggestionList, {\n suggestions: [],\n \"data-ppui\": \"true\"\n }) : _props$suggestionList,\n isSuggestionListInline = props.isSuggestionListInline,\n isLoadingSuggestions = props.isLoadingSuggestions,\n onChange = props.onChange,\n onFocus = props.onFocus,\n onKeyDown = props.onKeyDown,\n onBlur = props.onBlur,\n onClear = props.onClear,\n className = props.className,\n _props$triggerCompone = props.triggerComponent,\n triggerComponent = _props$triggerCompone === void 0 ? TextInput : _props$triggerCompone,\n _props$suggestions = props.suggestions,\n suggestionListFooter = props.suggestionListFooter,\n suggestionListContainerClassName = props.suggestionListContainerClassName,\n suggestionListFooterClassName = props.suggestionListFooterClassName,\n suggestionListChangeMessage = props.suggestionListChangeMessage,\n _props$suggestionList2 = props.suggestionListLoadingMessage,\n suggestionListLoadingMessage = _props$suggestionList2 === void 0 ? 'Loading suggestions' : _props$suggestionList2,\n suggestionListErrorMessage = props.suggestionListErrorMessage,\n onSuggestionListClose = props.onSuggestionListClose,\n rest = _objectWithoutProperties(props, _excluded$1);\n var tokens = useTheme();\n var _styles = useMemo(function () {\n return styles(tokens);\n }, [tokens]);\n var timerRef = useRef();\n var internalRef = useRef();\n var suggestionListContainerRef = useRef();\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n areSuggestionsVisible = _useState2[0],\n setSuggestionsVisible = _useState2[1];\n var _useState3 = useState(''),\n _useState4 = _slicedToArray(_useState3, 2),\n highlightedSuggestionId = _useState4[0],\n setHighlightedSuggestionId = _useState4[1];\n var _useState5 = useState(false),\n _useState6 = _slicedToArray(_useState5, 2),\n isTriggerFocused = _useState6[0],\n setTriggerFocus = _useState6[1];\n var inputRef = ref || internalRef;\n var suggestionsLength = getNormalizedSuggestionLength(suggestionList.props.suggestions || [], suggestionList.props.hasSections);\n var handleOutsideClick = function (evt) {\n var inputElm = inputRef.current;\n var suggestionListContainer = suggestionListContainerRef.current;\n /* istanbul ignore next */\n\n if (evt.target === inputElm || suggestionListContainer && suggestionListContainer.contains(evt.target)) {\n return;\n }\n /* istanbul ignore next */\n\n setSuggestionsVisible(false);\n };\n useEffect(function () {\n return function () {\n if (timerRef.current) {\n clearTimeout(timerRef.current);\n }\n };\n }, []);\n useEffect(function () {\n if (areSuggestionsVisible && !isSuggestionListInline) {\n document.addEventListener('click', handleOutsideClick);\n }\n return function () {\n document.removeEventListener('click', handleOutsideClick);\n };\n }, [areSuggestionsVisible, isSuggestionListInline]);\n var callSuggestionListClose = function (evt) {\n if (onSuggestionListClose && suggestionsLength) {\n onSuggestionListClose(evt);\n }\n };\n var suggestionListId = \"\".concat(id, \"-suggestionList\");\n var footer = suggestionListFooter ? jsx(\"div\", {\n css: _styles.content,\n className: suggestionListFooterClassName,\n \"data-ppui\": \"true\"\n }, suggestionListFooter) : null;\n var suggestionsElm = !isLoadingSuggestions && suggestionsLength > 0 && jsx(React.Fragment, null, React.cloneElement(suggestionList, {\n id: suggestionListId,\n 'aria-labelledby': \"\".concat(id, \"-label\"),\n onHighlight: function handleHighlight(evt, suggestion, section) {\n setHighlightedSuggestionId(section ? \"\".concat(section.id, \"_\").concat(suggestion.id) : suggestion.id);\n /* istanbul ignore next */\n\n if (suggestionList.props.onHighlight) {\n suggestionList.props.onHighlight(evt, suggestion, section);\n }\n },\n onSelect: function handleSelect(evt, suggestion, section) {\n /* istanbul ignore next */\n if (suggestionList.props.onSelect) {\n suggestionList.props.onSelect(evt, suggestion, section);\n }\n if (!isSuggestionListInline) {\n setSuggestionsVisible(false);\n }\n },\n enableKeyboardInteraction: isTriggerFocused\n }), footer);\n var loadingElm = isLoadingSuggestions ? jsx(\"div\", {\n css: _styles.centeredContent,\n \"data-ppui\": \"true\"\n }, jsx(LoadingSpinner, {\n screenReaderText: suggestionListLoadingMessage,\n size: \"md\",\n \"data-ppui\": \"true\"\n })) : null;\n var errorElm = suggestionListErrorMessage && !suggestionsLength && !isLoadingSuggestions ? jsx(ContextualAlert, {\n css: _styles.errorMessage,\n type: \"warning\",\n \"data-ppui\": \"true\"\n }, suggestionListErrorMessage) : null;\n var suggestionListContainerCssVal = isSuggestionListInline ? _styles.suggestionListContainer : _styles.elevatedSuggestionListContainer;\n var suggestionContainerElm = value && areSuggestionsVisible && (suggestionsElm || loadingElm || errorElm) ? jsx(\"div\", {\n css: suggestionListContainerCssVal,\n className: suggestionListContainerClassName,\n ref: suggestionListContainerRef,\n \"data-ppui\": \"true\"\n }, suggestionsElm, loadingElm, errorElm) : null;\n var _suggestListChangeMessage = suggestionListChangeMessage || \"\".concat(suggestionsLength, \" suggestions available\");\n var otherProps = triggerComponent !== TextInput ? {\n onClear: function handleClear(evt) {\n callSuggestionListClose(evt);\n if (onClear) {\n onClear(evt);\n }\n }\n } : {};\n return jsx(\"div\", {\n css: _styles.base,\n className: className,\n \"data-ppui-info\": \"auto-suggest_2.7.4\"\n }, jsx(triggerComponent, _extends({}, rest, {\n id: id,\n value: value,\n ref: inputRef,\n onChange: function handleChange(evt) {\n var newValue = evt.target.value;\n if (timerRef.current) {\n clearTimeout(timerRef.current);\n }\n /* istanbul ignore next */\n\n timerRef.current = setTimeout(function () {\n fetchSuggestions(newValue);\n }, debounceTimeout);\n setSuggestionsVisible(true);\n onChange(evt);\n },\n onFocus: function handleFocus(evt) {\n if (suggestionsLength) {\n setSuggestionsVisible(true);\n }\n fetchSuggestions(value);\n setTriggerFocus(true);\n /* istanbul ignore next */\n\n if (onFocus) {\n onFocus(evt);\n }\n },\n onKeyDown: function handleKey(evt) {\n /* istanbul ignore next */\n var KeyCode = new KeyboardCode(evt.key || evt.keyCode);\n if (KeyCode.IS_ESC || KeyCode.IS_TAB) {\n if (!isSuggestionListInline) {\n setSuggestionsVisible(false);\n }\n /* istanbul ignore next */\n\n if (KeyCode.IS_ESC && onClear) {\n onClear(evt);\n }\n }\n /* istanbul ignore next */\n\n if (onKeyDown) {\n onKeyDown(evt);\n }\n },\n onBlur: function handleBlur(evt) {\n // onSuggestionListClose callback\n // this callback is triggered ONLY when suggestionList is visible\n callSuggestionListClose(evt);\n setTriggerFocus(false);\n setSuggestionsVisible(false);\n /* istanbul ignore next */\n\n if (onBlur) {\n onBlur(evt);\n }\n },\n \"aria-activedescendant\": highlightedSuggestionId,\n \"aria-autocomplete\": \"list\",\n role: \"combobox\",\n \"aria-expanded\": suggestionsLength > 0 && areSuggestionsVisible,\n \"aria-owns\": suggestionListId,\n \"aria-haspopup\": \"listbox\"\n }, otherProps, {\n \"data-ppui\": \"true\"\n })), suggestionContainerElm, jsx(ScreenReaderContent, {\n role: \"status\",\n \"data-ppui\": \"true\"\n }, _suggestListChangeMessage));\n});\nexport { AutoSuggest, AutoSuggestUtils, SuggestionList, styles as autoSuggestStyles };","import _extends from '@babel/runtime/helpers/esm/extends';\nimport _defineProperty from '@babel/runtime/helpers/esm/defineProperty';\nimport React, { useMemo, useContext, useEffect, useState } from 'react';\nimport { IntlContext } from '@paypalcorp/pp-react-intl';\nimport { TextInput } from '@paypalcorp/pp-react-text-input';\nimport { Combobox } from '@paypalcorp/pp-react-combobox';\nimport { Col, Row } from '@paypalcorp/pp-react-grid';\nimport _slicedToArray from '@babel/runtime/helpers/esm/slicedToArray';\nimport { AutoSuggestUtils, SuggestionList, AutoSuggest } from '@paypalcorp/pp-react-auto-suggest';\nimport { BodyText, CaptionText } from '@paypalcorp/pp-react-text';\nimport { css, useTheme, jsx, ClassNames } from '@emotion/react';\nimport _taggedTemplateLiteral from '@babel/runtime/helpers/esm/taggedTemplateLiteral';\nimport _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';\nvar _templateObject, _templateObject2, _templateObject3;\nfunction styles() {\n var tokens = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var sysColorBackgroundMediumContrast = tokens.sysColorBackgroundMediumContrast,\n sysSpaceXs = tokens.sysSpaceXs;\n var suggestionListFooter = css(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n label: suggestion_list_footer;\\n text-align: center;\\n \"])));\n var googleLogo = css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral([\"\\n height: \", \";\\n \"])), '0.75rem');\n var googleAddressSecondaryText = css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral([\"\\n label: google_address_secondary_styles;\\n color: \", \";\\n margin-top: \", \";\\n \"])), sysColorBackgroundMediumContrast, sysSpaceXs);\n return {\n suggestionListFooter: suggestionListFooter,\n googleLogo: googleLogo,\n googleAddressSecondaryText: googleAddressSecondaryText\n };\n}\nvar GoogleAddressSuggestion = function (_ref) {\n var _ref$mainText = _ref.mainText,\n mainText = _ref$mainText === void 0 ? 'Main Text' : _ref$mainText,\n _ref$secondaryText = _ref.secondaryText,\n secondaryText = _ref$secondaryText === void 0 ? 'Secondary Text' : _ref$secondaryText,\n query = _ref.query,\n className = _ref.className;\n var tokens = useTheme();\n var _styles = useMemo(function () {\n return styles(tokens);\n }, [tokens]);\n var highlightedMainText = AutoSuggestUtils.highlightMatch(mainText, query);\n return jsx(\"div\", {\n className: className,\n \"data-ppui\": \"true\"\n }, jsx(BodyText, {\n dangerouslySetInnerHTML: {\n __html: highlightedMainText\n },\n \"data-ppui\": \"true\"\n }), jsx(ClassNames, {\n \"data-ppui\": \"true\"\n }, function (_ref2) {\n var css = _ref2.css;\n return jsx(CaptionText, {\n className: css(_styles.googleAddressSecondaryText),\n \"data-ppui\": \"true\"\n }, secondaryText);\n }));\n};\nvar GoogleFooter = function (_ref) {\n var _ref$domain = _ref.domain,\n domain = _ref$domain === void 0 ? 'www.paypalobjects.com' : _ref$domain,\n className = _ref.className;\n var _styles = styles();\n return jsx(\"div\", {\n css: _styles.suggestionListFooter,\n className: className,\n \"data-ppui\": \"true\"\n }, jsx(\"img\", {\n css: _styles.googleLogo,\n src: \"https://\".concat(domain, \"/paypal-ui/web/components/address-input/powered_by_google_on_white.png\"),\n alt: \"Powered by Google\",\n \"data-ppui\": \"true\"\n }));\n};\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}\n/**\n * Renders suggestion from Google Places Autocomplete service https://developers.google.com/maps/documentation/javascript/reference/places-autocomplete-service#AutocompletePrediction\n * suggestion: {mainText, secondaryText, description, placeId, matchedSubstrings}\n * @param suggestion\n * @returns\n */\n\n/* istanbul ignore next */\n\nfunction renderGoogleAddressSuggestion(suggestion, query) {\n var mainText = suggestion.mainText,\n secondaryText = suggestion.secondaryText;\n return /*#__PURE__*/React.createElement(GoogleAddressSuggestion, {\n mainText: mainText,\n secondaryText: secondaryText,\n query: query,\n \"data-ppui\": \"true\"\n });\n}\n/**\n * Validation hook to validate using AddressFormatter from IntlContext\n */\n\nfunction useValidate(_ref) {\n var getAddress = _ref.getAddress,\n onValidate = _ref.onValidate,\n validate = _ref.validate,\n region = _ref.region,\n requiredFieldErrorText = _ref.requiredFieldErrorText,\n invalidFieldErrorText = _ref.invalidFieldErrorText;\n var intlContext = useContext(IntlContext);\n var validator = region && intlContext && intlContext.addressFormatter && intlContext.addressFormatter({\n addressRegion: region\n });\n var validateAddress = function () {\n var validations = [];\n var errors = {};\n var address = getAddress();\n address.countryCode = region;\n validations = validator.validate(address);\n validations.forEach(function (_ref2) {\n var code = _ref2.code,\n element = _ref2.element;\n\n /* istanbul ignore next */\n errors[element] = code === 'MISSING_REQUIRED' ? requiredFieldErrorText : invalidFieldErrorText;\n });\n onValidate(errors, validations);\n };\n useEffect(function () {\n if (validate && validator) {\n validateAddress();\n }\n }, [validate]);\n}\n/**\n * Address state hook\n */\n\nfunction useAddress() {\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref3$initialAddress = _ref3.initialAddress,\n initialAddress = _ref3$initialAddress === void 0 ? {\n addressLine1: '',\n addressLine2: '',\n addressLine3: '',\n adminArea1: '',\n adminArea2: '',\n adminArea3: '',\n adminArea4: '',\n postalCode: ''\n } : _ref3$initialAddress,\n _ref3$initialAddressE = _ref3.initialAddressErrors,\n initialAddressErrors = _ref3$initialAddressE === void 0 ? {} : _ref3$initialAddressE,\n _ref3$autoSuggestFiel = _ref3.autoSuggestField,\n autoSuggestField = _ref3$autoSuggestFiel === void 0 ? 'addressLine1' : _ref3$autoSuggestFiel,\n suggestions = _ref3.suggestions,\n fetchSuggestions = _ref3.fetchSuggestions,\n onSuggestionSelect = _ref3.onSuggestionSelect,\n _ref3$renderSuggestio = _ref3.renderSuggestion,\n renderSuggestion = _ref3$renderSuggestio === void 0 ? renderGoogleAddressSuggestion : _ref3$renderSuggestio,\n _ref3$suggestionListF = _ref3.suggestionListFooter,\n suggestionListFooter = _ref3$suggestionListF === void 0 ? /*#__PURE__*/React.createElement(GoogleFooter, {\n \"data-ppui\": \"true\"\n }) : _ref3$suggestionListF;\n var _useState = useState(initialAddress.addressLine1),\n _useState2 = _slicedToArray(_useState, 2),\n addressLine1 = _useState2[0],\n setAddressLine1 = _useState2[1];\n var _useState3 = useState(initialAddress.addressLine2),\n _useState4 = _slicedToArray(_useState3, 2),\n addressLine2 = _useState4[0],\n setAddressLine2 = _useState4[1];\n var _useState5 = useState(initialAddress.addressLine3),\n _useState6 = _slicedToArray(_useState5, 2),\n addressLine3 = _useState6[0],\n setAddressLine3 = _useState6[1];\n var _useState7 = useState(initialAddress.adminArea1),\n _useState8 = _slicedToArray(_useState7, 2),\n adminArea1 = _useState8[0],\n setAdminArea1 = _useState8[1];\n var _useState9 = useState(initialAddress.adminArea2),\n _useState10 = _slicedToArray(_useState9, 2),\n adminArea2 = _useState10[0],\n setAdminArea2 = _useState10[1];\n var _useState11 = useState(initialAddress.adminArea3),\n _useState12 = _slicedToArray(_useState11, 2),\n adminArea3 = _useState12[0],\n setAdminArea3 = _useState12[1];\n var _useState13 = useState(initialAddress.adminArea4),\n _useState14 = _slicedToArray(_useState13, 2),\n adminArea4 = _useState14[0],\n setAdminArea4 = _useState14[1];\n var _useState15 = useState(initialAddress.postalCode),\n _useState16 = _slicedToArray(_useState15, 2),\n postalCode = _useState16[0],\n setPostalCode = _useState16[1];\n var _useState17 = useState(initialAddressErrors.addressLine1),\n _useState18 = _slicedToArray(_useState17, 2),\n addressLine1Error = _useState18[0],\n setAddressLine1Error = _useState18[1];\n var _useState19 = useState(initialAddressErrors.addressLine2),\n _useState20 = _slicedToArray(_useState19, 2),\n addressLine2Error = _useState20[0],\n setAddressLine2Error = _useState20[1];\n var _useState21 = useState(initialAddressErrors.addressLine3),\n _useState22 = _slicedToArray(_useState21, 2),\n addressLine3Error = _useState22[0],\n setAddressLine3Error = _useState22[1];\n var _useState23 = useState(initialAddressErrors.adminArea1),\n _useState24 = _slicedToArray(_useState23, 2),\n adminArea1Error = _useState24[0],\n setAdminArea1Error = _useState24[1];\n var _useState25 = useState(initialAddressErrors.adminArea2),\n _useState26 = _slicedToArray(_useState25, 2),\n adminArea2Error = _useState26[0],\n setAdminArea2Error = _useState26[1];\n var _useState27 = useState(initialAddressErrors.adminArea3),\n _useState28 = _slicedToArray(_useState27, 2),\n adminArea3Error = _useState28[0],\n setAdminArea3Error = _useState28[1];\n var _useState29 = useState(initialAddressErrors.adminArea4),\n _useState30 = _slicedToArray(_useState29, 2),\n adminArea4Error = _useState30[0],\n setAdminArea4Error = _useState30[1];\n var _useState31 = useState(initialAddressErrors.postalCode),\n _useState32 = _slicedToArray(_useState31, 2),\n postalCodeError = _useState32[0],\n setPostalCodeError = _useState32[1];\n /* istanbul ignore next */\n\n var setError = function (field, error) {\n switch (field) {\n case 'addressLine1':\n setAddressLine1Error(error);\n break;\n case 'addressLine2':\n setAddressLine2Error(error);\n break;\n case 'addressLine3':\n setAddressLine3Error(error);\n break;\n case 'adminArea1':\n setAdminArea1Error(error);\n break;\n case 'adminArea2':\n setAdminArea2Error(error);\n break;\n case 'adminArea3':\n setAdminArea3Error(error);\n break;\n case 'adminArea4':\n setAdminArea4Error(error);\n break;\n case 'postalCode':\n setPostalCodeError(error);\n break;\n }\n };\n /* istanbul ignore next */\n\n var handleChange = function (evt, field) {\n var value = evt.target.value;\n setError(field, ''); // reset any error\n\n switch (field) {\n case 'addressLine1':\n setAddressLine1(value);\n break;\n case 'addressLine2':\n setAddressLine2(value);\n break;\n case 'adminArea1':\n setAdminArea1(value);\n break;\n case 'adminArea2':\n setAdminArea2(value);\n break;\n case 'adminArea3':\n setAdminArea3(value);\n break;\n case 'adminArea4':\n setAdminArea4(value);\n break;\n case 'postalCode':\n setPostalCode(value);\n break;\n }\n };\n var getAddress = function () {\n return {\n addressLine1: addressLine1,\n addressLine2: addressLine2,\n addressLine3: addressLine3,\n adminArea1: adminArea1,\n adminArea2: adminArea2,\n adminArea3: adminArea3,\n adminArea4: adminArea4,\n postalCode: postalCode\n };\n };\n /* istanbul ignore next */\n\n var setAddress = function (address) {\n setAddressLine1(address.addressLine1 || '');\n setAddressLine2(address.addressLine2 || '');\n setAddressLine3(address.addressLine3 || '');\n setAdminArea1(address.adminArea1 || '');\n setAdminArea2(address.adminArea2 || '');\n setAdminArea3(address.adminArea3 || '');\n setAdminArea4(address.adminArea4 || '');\n setPostalCode(address.postalCode || '');\n };\n /* istanbul ignore next */\n\n var addressParts = {\n addressLine1: {\n props: {\n value: addressLine1,\n errorText: addressLine1Error,\n onChange: function onChange(evt) {\n handleChange(evt, 'addressLine1');\n }\n }\n },\n addressLine2: {\n props: {\n value: addressLine2,\n errorText: addressLine2Error,\n onChange: function onChange(evt) {\n return handleChange(evt, 'addressLine2');\n }\n }\n },\n addressLine3: {\n props: {\n value: addressLine3,\n errorText: addressLine3Error,\n onChange: function onChange(evt) {\n return handleChange(evt, 'addressLine3');\n }\n }\n },\n adminArea1: {\n props: {\n value: adminArea1,\n errorText: adminArea1Error,\n onChange: function onChange(evt) {\n return handleChange(evt, 'adminArea1');\n }\n }\n },\n adminArea2: {\n props: {\n value: adminArea2,\n errorText: adminArea2Error,\n onChange: function onChange(evt) {\n return handleChange(evt, 'adminArea2');\n }\n }\n },\n adminArea3: {\n props: {\n value: adminArea3,\n errorText: adminArea3Error,\n onChange: function onChange(evt) {\n return handleChange(evt, 'adminArea3');\n }\n }\n },\n adminArea4: {\n props: {\n value: adminArea4,\n errorText: adminArea4Error,\n onChange: function onChange(evt) {\n return handleChange(evt, 'adminArea4');\n }\n }\n },\n postalCode: {\n props: {\n value: postalCode,\n errorText: postalCodeError,\n onChange: function onChange(evt) {\n return handleChange(evt, 'postalCode');\n }\n }\n }\n };\n if (fetchSuggestions) {\n var suggestionList = /*#__PURE__*/React.createElement(SuggestionList, {\n suggestions: suggestions,\n query: addressParts[autoSuggestField].props.value,\n renderSuggestion: renderSuggestion,\n onSelect: onSuggestionSelect,\n \"data-ppui\": \"true\"\n });\n addressParts[autoSuggestField].as = AutoSuggest;\n addressParts[autoSuggestField].props = _objectSpread(_objectSpread({}, addressParts[autoSuggestField].props), {}, {\n onClear: function onClear() {\n var currentAddress = getAddress();\n currentAddress[autoSuggestField] = '';\n setAddress(currentAddress);\n },\n fetchSuggestions: fetchSuggestions,\n suggestionList: suggestionList,\n suggestions: suggestions,\n suggestionListFooter: suggestionListFooter\n });\n }\n return {\n addressLine1: addressLine1,\n addressLine2: addressLine2,\n addressLine3: addressLine3,\n adminArea1: adminArea1,\n adminArea2: adminArea2,\n adminArea3: adminArea3,\n adminArea4: adminArea4,\n postalCode: postalCode,\n addressLine1Error: addressLine1Error,\n addressLine2Error: addressLine2Error,\n addressLine3Error: addressLine3Error,\n adminArea1Error: adminArea1Error,\n adminArea2Error: adminArea2Error,\n adminArea3Error: adminArea3Error,\n adminArea4Error: adminArea4Error,\n postalCodeError: postalCodeError,\n addressParts: addressParts,\n handleChange: handleChange,\n setError: setError,\n getAddress: getAddress,\n setAddress: setAddress\n };\n}\nvar AddressInputUtils = {\n useValidate: useValidate,\n useAddress: useAddress\n};\nfunction ownKeys$1(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _objectSpread$1(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys$1(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}\nvar REQ_FIELD_ERROR = 'Please enter a value';\nvar INVALID_FIELD_ERROR = 'Please enter a valid value';\nfunction getAddressFromParts(parts) {\n return Object.keys(parts).reduce(function (acc, key) {\n /* istanbul ignore next */\n acc[key] = parts[key].props.value || '';\n return acc;\n }, {});\n}\n\n// Get address parts to display for the current locale and address region from IntlProvider\nfunction getAddressParts(intlContext, region) {\n var partsToDisplay = {};\n var partsDisplayOrder = [];\n if (region && intlContext && intlContext.addressFormatter) {\n var addressParts = intlContext.addressFormatter({\n addressRegion: region\n }).formatToParts({});\n addressParts.forEach(function (_ref) {\n var parts = _ref.parts;\n var types = [];\n parts.forEach(function (_ref2) {\n var allowedValues = _ref2.allowedValues,\n type = _ref2.type;\n partsToDisplay[type] = {};\n partsToDisplay[type].props = {};\n types.push(type);\n /* istanbul ignore else */\n\n if (intlContext.getDisplayNamesObject) {\n if (allowedValues) {\n var translations = intlContext.getDisplayNamesObject({\n type: 'portableAddressValues',\n element: type,\n addressRegion: region\n });\n var options = allowedValues.map(function (allowedValue) {\n return {\n label: translations.select(allowedValue),\n value: allowedValue\n };\n });\n partsToDisplay[type].props.options = options;\n partsToDisplay[type].as = Combobox;\n }\n var labelTranslations = intlContext.getDisplayNamesObject({\n type: 'portableAddress',\n addressRegion: region\n });\n partsToDisplay[type].props.label = labelTranslations.select(type);\n }\n });\n if (types.length > 1) {\n partsDisplayOrder.push(types);\n } else {\n partsDisplayOrder.push(types[0]);\n }\n });\n }\n return {\n partsToDisplay: partsToDisplay,\n partsDisplayOrder: partsDisplayOrder\n };\n}\nvar AddressInput = function (_ref3) {\n var region = _ref3.region,\n _ref3$parts = _ref3.parts,\n parts = _ref3$parts === void 0 ? {} : _ref3$parts,\n partsOrder = _ref3.partsOrder,\n _ref3$excludedParts = _ref3.excludedParts,\n excludedParts = _ref3$excludedParts === void 0 ? [] : _ref3$excludedParts,\n className = _ref3.className,\n fieldClassName = _ref3.fieldClassName,\n fieldNamePrefix = _ref3.fieldNamePrefix,\n validate = _ref3.validate,\n _ref3$requiredFieldEr = _ref3.requiredFieldErrorText,\n requiredFieldErrorText = _ref3$requiredFieldEr === void 0 ? REQ_FIELD_ERROR : _ref3$requiredFieldEr,\n _ref3$invalidFieldErr = _ref3.invalidFieldErrorText,\n invalidFieldErrorText = _ref3$invalidFieldErr === void 0 ? INVALID_FIELD_ERROR : _ref3$invalidFieldErr,\n onValidate = _ref3.onValidate;\n AddressInputUtils.useValidate({\n getAddress: function getAddress() {\n return getAddressFromParts(parts);\n },\n onValidate: onValidate,\n validate: validate,\n region: region,\n requiredFieldErrorText: requiredFieldErrorText,\n invalidFieldErrorText: invalidFieldErrorText\n });\n var intlContext = useContext(IntlContext);\n var _partsOrder = partsOrder;\n var _useMemo = useMemo(function () {\n return getAddressParts(intlContext, region);\n }, [region, intlContext]),\n partsToDisplay = _useMemo.partsToDisplay,\n partsDisplayOrder = _useMemo.partsDisplayOrder;\n if (region && !(_partsOrder && _partsOrder.length)) {\n _partsOrder = partsDisplayOrder;\n }\n if (!(_partsOrder && _partsOrder.length)) {\n _partsOrder = Object.keys(parts);\n }\n var tempPartsOrder = [];\n _partsOrder.forEach(function (part) {\n if (part.length > 6 && typeof part !== 'string') {\n for (var i = 0; i < part.length; i += 4) {\n tempPartsOrder.push(part.slice(i, i + 4));\n }\n } else {\n tempPartsOrder.push(part);\n }\n });\n _partsOrder = tempPartsOrder;\n var renderPart = function (part) {\n var partObj = _objectSpread$1(_objectSpread$1({\n props: {}\n }, partsToDisplay[part]), parts[part]); //Merge props\n\n if (partsToDisplay[part] && parts[part]) {\n partObj.props = _objectSpread$1(_objectSpread$1({}, partsToDisplay[part].props), parts[part].props);\n }\n if (!partObj.as) {\n if (partObj.props.options) {\n partObj.as = Combobox;\n } else {\n partObj.as = TextInput;\n }\n }\n var Component = partObj.as;\n return /*#__PURE__*/React.createElement(Component, _extends({\n name: \"\".concat(fieldNamePrefix, \"_\").concat(part)\n }, partObj.props, {\n \"data-ppui\": \"true\"\n }));\n };\n var rows = [];\n _partsOrder.forEach(function (part, index) {\n var columns = [];\n if (typeof part !== 'string') {\n var cols = Math.floor(12 / part.length);\n part.forEach(function (subPart, colIndex) {\n if (!excludedParts.includes(subPart)) {\n columns.push( /*#__PURE__*/React.createElement(Col, {\n sm: cols,\n xs: 12,\n className: fieldClassName,\n key: colIndex,\n form: \"vspace\",\n \"data-ppui\": \"true\"\n }, renderPart(subPart)));\n }\n });\n } else if (!excludedParts.includes(part)) {\n columns.push( /*#__PURE__*/React.createElement(Col, {\n xs: 12,\n className: fieldClassName,\n key: index,\n form: \"vspace\",\n \"data-ppui\": \"true\"\n }, renderPart(part)));\n }\n if (columns.length) {\n rows.push( /*#__PURE__*/React.createElement(Row, {\n key: index,\n \"data-ppui\": \"true\"\n }, columns));\n }\n });\n return /*#__PURE__*/React.createElement(\"div\", {\n className: className,\n \"data-ppui-info\": \"address-input_2.3.18\"\n }, rows);\n};\nvar _excluded = [\"region\", \"validate\", \"parts\", \"requiredFieldErrorText\", \"invalidFieldErrorText\", \"address\", \"addressErrors\", \"onChange\", \"onValidate\"];\nfunction ownKeys$2(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _objectSpread$2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys$2(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$2(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}\nvar ADDRESS_PARTS = ['recipient', 'businessName', 'addressLine1', 'addressLine2', 'addressLine3', 'adminArea1', 'adminArea2', 'adminArea3', 'adminArea4', 'postalCode'];\nvar AddressInputWithValidation = function (_ref) {\n var region = _ref.region,\n validate = _ref.validate,\n _ref$parts = _ref.parts,\n parts = _ref$parts === void 0 ? {} : _ref$parts,\n _ref$requiredFieldErr = _ref.requiredFieldErrorText,\n requiredFieldErrorText = _ref$requiredFieldErr === void 0 ? 'Please enter a value' : _ref$requiredFieldErr,\n _ref$invalidFieldErro = _ref.invalidFieldErrorText,\n invalidFieldErrorText = _ref$invalidFieldErro === void 0 ? 'Please enter a valid value' : _ref$invalidFieldErro,\n _ref$address = _ref.address,\n address = _ref$address === void 0 ? {\n addressLine1: ''\n } : _ref$address,\n _ref$addressErrors = _ref.addressErrors,\n addressErrors = _ref$addressErrors === void 0 ? {} : _ref$addressErrors,\n _ref$onChange = _ref.onChange,\n onChange = _ref$onChange === void 0 ? function () {\n return console.warn('onChange prop is missing');\n } : _ref$onChange,\n onValidate = _ref.onValidate,\n rest = _objectWithoutProperties(_ref, _excluded);\n AddressInputUtils.useValidate({\n getAddress: function getAddress() {\n return address;\n },\n onValidate: onValidate,\n validate: validate,\n region: region,\n requiredFieldErrorText: requiredFieldErrorText,\n invalidFieldErrorText: invalidFieldErrorText\n });\n var handleChange = function (evt, part) {\n onChange(_objectSpread$2(_objectSpread$2({}, address), {}, _defineProperty({}, part, evt.target.value)));\n };\n var _parts = useMemo(function () {\n return ADDRESS_PARTS.reduce(function (acc, part) {\n acc[part] = _objectSpread$2({\n props: {}\n }, parts[part]);\n acc[part].props.onChange = function (evt) {\n return handleChange(evt, part);\n };\n acc[part].props.value = address[part] || '';\n acc[part].props.errorText = addressErrors[part];\n return acc;\n }, {});\n }, [parts]);\n return /*#__PURE__*/React.createElement(AddressInput, _extends({\n parts: _parts,\n region: region,\n \"data-ppui-info\": \"address-input_2.3.18\"\n }, rest));\n};\nexport { AddressInput, AddressInputUtils, AddressInputWithValidation, GoogleAddressSuggestion, GoogleFooter, styles as addressInputStyles };","import _extends from '@babel/runtime/helpers/esm/extends';\nimport _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';\nimport React, { useMemo, useState } from 'react';\nimport { IconButton } from '@paypalcorp/pp-react-icon-button';\nimport { CloseIcon, InformationIcon, CheckmarkBackgroundIcon, WarningIcon, CriticalIcon } from '@paypalcorp/pp-react-icons';\nimport { css, useTheme, jsx } from '@emotion/react';\nimport _taggedTemplateLiteral from '@babel/runtime/helpers/esm/taggedTemplateLiteral';\nimport { math } from 'polished';\nimport { textStyles } from '@paypalcorp/pp-react-text';\nimport _defineProperty from '@babel/runtime/helpers/esm/defineProperty';\nimport _slicedToArray from '@babel/runtime/helpers/esm/slicedToArray';\nvar _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10;\nfunction styles(tokens) {\n /* istanbul ignore next */\n if (!Object.keys(tokens).length) {\n console.warn('Missing Emotion theme. Use ThemeProvider from @emotion/react to pass a valid theme from pp-react.');\n return {};\n }\n var sysSpaceXs = tokens.sysSpaceXs,\n sysSpaceSm = tokens.sysSpaceSm,\n sysSpaceMd = tokens.sysSpaceMd,\n sysSpaceLg = tokens.sysSpaceLg,\n sysSizeFieldSm = tokens.sysSizeFieldSm,\n sysSizeIconSm = tokens.sysSizeIconSm,\n sysTypographyBodySize = tokens.sysTypographyBodySize,\n sysBorderThicknessNormal = tokens.sysBorderThicknessNormal,\n sysBorderRadiusLg = tokens.sysBorderRadiusLg,\n sysColorSystemMain = tokens.sysColorSystemMain,\n sysColorSystemMainActive = tokens.sysColorSystemMainActive,\n sysColorSelectedContrast = tokens.sysColorSelectedContrast,\n sysColorStructureFocus = tokens.sysColorStructureFocus,\n sysColorInfoMain = tokens.sysColorInfoMain,\n sysColorInfoContrast = tokens.sysColorInfoContrast,\n sysColorSuccessMain = tokens.sysColorSuccessMain,\n sysColorSuccessContrast = tokens.sysColorSuccessContrast,\n sysColorWarningMain = tokens.sysColorWarningMain,\n sysColorWarningContrast = tokens.sysColorWarningContrast,\n sysColorErrorMain = tokens.sysColorErrorMain,\n sysColorErrorContrast = tokens.sysColorErrorContrast;\n var _textStyles = textStyles(tokens),\n textBody = _textStyles.body;\n var alertPaddingRightSpacing = math(\"\".concat(sysSpaceXs, \" * 2\"));\n var alertPaddingRight = math(\" \".concat(alertPaddingRightSpacing, \" + \").concat(sysSizeFieldSm));\n var alertPaddingLeft = math(\"\".concat(sysSpaceLg, \" + \").concat(sysTypographyBodySize, \" + \").concat(sysSpaceMd));\n var alertPaddingTop = math(\"\".concat(sysSpaceLg, \" - \").concat(sysBorderThicknessNormal));\n var alertPaddingBottom = math(\"\".concat(sysSpaceLg, \" - \").concat(sysBorderThicknessNormal));\n var alertPaddingRightWithoutClose = math(\"\".concat(sysSpaceLg, \" - \").concat(sysBorderThicknessNormal));\n var alertIconSpaceLeft = math(\"\".concat(sysSpaceLg, \"- \").concat(sysBorderThicknessNormal));\n var sysAlertCloseBtnSpaceTop = math(\"\".concat(sysSpaceSm, \" - \").concat(sysBorderThicknessNormal));\n var sysAlertCloseBtnSpaceRight = math(\"\".concat(sysSpaceSm, \" - \").concat(sysBorderThicknessNormal));\n var sysAlertIconSvgSpaceTop = math(\"\".concat(sysSpaceLg, \"- \").concat(sysBorderThicknessNormal));\n var base = css(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n label: alert_base;\\n box-sizing: border-box;\\n padding: \", \" \", \" \", \"\\n \", \";\\n border-width: \", \";\\n border-style: solid;\\n border-radius: \", \";\\n position: relative;\\n text-align: initial;\\n \", \";\\n\\n [dir='rtl'] & {\\n padding-left: \", \";\\n padding-right: \", \";\\n\\n &:before {\\n left: auto;\\n right: \", \";\\n }\\n }\\n \"])), alertPaddingTop, alertPaddingRight, alertPaddingBottom, alertPaddingLeft, sysBorderThicknessNormal, sysBorderRadiusLg, textBody({\n color: sysColorSystemMain\n }), alertPaddingRight, alertPaddingLeft, alertIconSpaceLeft);\n var svgIcon = css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral([\"\\n label: svg_icon;\\n display: inline-block;\\n position: absolute;\\n left: \", \";\\n text-align: center;\\n color: \", \";\\n line-height: \", \";\\n font-size: \", \";\\n top: \", \";\\n vertical-align: middle;\\n\\n [dir='rtl'] & {\\n left: auto;\\n right: \", \";\\n }\\n \"])), alertIconSpaceLeft, sysColorSystemMainActive, sysSizeIconSm, sysSizeIconSm, sysAlertIconSvgSpaceTop, alertIconSpaceLeft);\n var closeBtn = css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral([\"\\n label: close_btn;\\n position: absolute;\\n top: \", \";\\n right: \", \";\\n color: \", \";\\n\\n &:focus {\\n background-color: \", \";\\n &:after {\\n border-color: \", \";\\n }\\n }\\n\\n &:hover {\\n background-color: \", \";\\n }\\n\\n [dir='rtl'] & {\\n left: \", \";\\n right: auto;\\n }\\n \"])), sysAlertCloseBtnSpaceTop, sysAlertCloseBtnSpaceRight, sysColorInfoContrast, sysColorSelectedContrast, sysColorStructureFocus, sysColorSelectedContrast, sysAlertCloseBtnSpaceRight);\n var alertColor = function (backgroundColor, color) {\n return css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral([\"\\n border: none;\\n background-color: \", \";\\n color: \", \";\\n \"])), backgroundColor, color);\n };\n var alertType = function (type) {\n var colorMap = {\n info: alertColor(sysColorInfoMain, sysColorInfoContrast),\n warning: alertColor(sysColorWarningMain, sysColorWarningContrast),\n success: alertColor(sysColorSuccessMain, sysColorSuccessContrast),\n error: alertColor(sysColorErrorMain, sysColorErrorContrast)\n };\n return css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral([\"\\n label: \", \";\\n \", \";\\n \"])), type, colorMap[type]);\n };\n var closeBtnStyle = function (color) {\n var focusColor = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : sysColorSystemMain;\n var style = css(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral([\"\\n color: \", \";\\n &:hover,\\n &:focus {\\n color: \", \";\\n }\\n \"])), color, focusColor);\n return style;\n };\n var alertCloseBtn = function (type) {\n var closeBtnMap = {\n success: closeBtnStyle(sysColorSuccessContrast),\n error: closeBtnStyle(sysColorErrorContrast),\n warning: closeBtnStyle(sysColorWarningContrast)\n };\n var classLabel = \"\".concat(type, \"_close_btn\");\n return css(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral([\"\\n label: \", \";\\n \", \";\\n \"])), classLabel, closeBtnMap[type]);\n };\n var iconColor = function (color) {\n return css(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral([\"\\n color: \", \";\\n \"])), color);\n };\n var alertIcon = function (type) {\n var iconMap = {\n info: iconColor(sysColorInfoContrast),\n warning: iconColor(sysColorWarningContrast),\n success: iconColor(sysColorSuccessContrast),\n error: iconColor(sysColorErrorContrast)\n };\n var classLabel = \"\".concat(type, \"_icon\");\n return css(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral([\"\\n label: \", \";\\n \", \";\\n \"])), classLabel, iconMap[type]);\n };\n var noCloseBtn = css(_templateObject10 || (_templateObject10 = _taggedTemplateLiteral([\"\\n label: no_close_btn;\\n padding-right: \", \";\\n [dir='rtl'] & {\\n padding-left: \", \";\\n padding-right: \", \";\\n }\\n \"])), alertPaddingRightWithoutClose, alertPaddingRightWithoutClose, alertPaddingLeft);\n return {\n base: base,\n svgIcon: svgIcon,\n closeBtn: closeBtn,\n noCloseBtn: noCloseBtn,\n alertType: alertType,\n alertCloseBtn: alertCloseBtn,\n alertIcon: alertIcon\n };\n}\nvar _excluded = [\"className\", \"type\", \"typeIconAriaLabel\", \"closeButton\", \"closeButtonLabel\", \"children\"];\nvar icons = {\n info: InformationIcon,\n success: CheckmarkBackgroundIcon,\n warning: WarningIcon,\n error: CriticalIcon\n};\nvar Alert = function (_ref) {\n var _styles$alertType, _styles$alertIcon;\n var className = _ref.className,\n _ref$type = _ref.type,\n type = _ref$type === void 0 ? 'info' : _ref$type,\n _ref$typeIconAriaLabe = _ref.typeIconAriaLabel,\n typeIconAriaLabel = _ref$typeIconAriaLabe === void 0 ? type : _ref$typeIconAriaLabe,\n closeButton = _ref.closeButton,\n _ref$closeButtonLabel = _ref.closeButtonLabel,\n closeButtonLabel = _ref$closeButtonLabel === void 0 ? 'close alert' : _ref$closeButtonLabel,\n children = _ref.children,\n rest = _objectWithoutProperties(_ref, _excluded);\n var tokens = useTheme();\n var _styles = useMemo(function () {\n return styles(tokens);\n }, [tokens]);\n var AlertStatusIcon = icons[type];\n var alertCSSVal = [_styles.base, (_styles$alertType = _styles.alertType) === null || _styles$alertType === void 0 ? void 0 : _styles$alertType.call(_styles, type), !closeButton && _styles.noCloseBtn];\n var closeBtnEl;\n if (closeButton) {\n var _styles$alertCloseBtn;\n var otherProps = _extends({}, closeButton);\n var alertCloseBtnCSSVal = [_styles.closeBtn, (_styles$alertCloseBtn = _styles.alertCloseBtn) === null || _styles$alertCloseBtn === void 0 ? void 0 : _styles$alertCloseBtn.call(_styles, type)];\n closeBtnEl = closeButton && jsx(\"span\", {\n \"data-ppui\": \"true\"\n }, jsx(IconButton, _extends({\n css: alertCloseBtnCSSVal,\n buttonType: \"tertiary\",\n size: \"sm\",\n svgIconComponent: CloseIcon\n }, otherProps, {\n \"data-ppui\": \"true\"\n }), closeButtonLabel));\n }\n var alertSvgCSSVal = [_styles.svgIcon, (_styles$alertIcon = _styles.alertIcon) === null || _styles$alertIcon === void 0 ? void 0 : _styles$alertIcon.call(_styles, type)];\n return jsx(\"div\", _extends({\n role: \"alert\",\n css: alertCSSVal,\n className: className,\n \"data-ppui-info\": \"alert_3.1.22\"\n }, rest), jsx(AlertStatusIcon, {\n size: \"sm\",\n css: alertSvgCSSVal,\n role: \"img\",\n \"aria-label\": typeIconAriaLabel,\n \"data-ppui\": \"true\"\n }), children, closeBtnEl);\n};\nvar _excluded$1 = [\"className\", \"type\", \"typeIconAriaLabel\", \"closeButton\", \"closeButtonLabel\", \"children\"];\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}\nvar DismissibleAlert = function (_ref) {\n var className = _ref.className,\n _ref$type = _ref.type,\n type = _ref$type === void 0 ? 'info' : _ref$type,\n _ref$typeIconAriaLabe = _ref.typeIconAriaLabel,\n typeIconAriaLabel = _ref$typeIconAriaLabe === void 0 ? type : _ref$typeIconAriaLabe,\n _ref$closeButton = _ref.closeButton,\n closeButton = _ref$closeButton === void 0 ? {} : _ref$closeButton,\n _ref$closeButtonLabel = _ref.closeButtonLabel,\n closeButtonLabel = _ref$closeButtonLabel === void 0 ? 'close alert' : _ref$closeButtonLabel,\n children = _ref.children,\n rest = _objectWithoutProperties(_ref, _excluded$1);\n var _useState = useState(true),\n _useState2 = _slicedToArray(_useState, 2),\n showAlert = _useState2[0],\n setShowAlert = _useState2[1];\n var closeBtnProps = _objectSpread({}, closeButton);\n closeBtnProps.onClick = function (event) {\n if (closeButton && closeButton.onClick) {\n closeButton.onClick(event);\n }\n setShowAlert(false);\n };\n return showAlert && /*#__PURE__*/React.createElement(Alert, _extends({\n className: className,\n type: type,\n typeIconAriaLabel: typeIconAriaLabel,\n closeButton: closeBtnProps,\n closeButtonLabel: closeButtonLabel\n }, rest, {\n \"data-ppui\": \"true\"\n }), children);\n};\nexport { Alert, DismissibleAlert, styles as alertStyles };","import _extends from '@babel/runtime/helpers/esm/extends';\nimport _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';\nimport React, { useMemo, forwardRef } from 'react';\nimport { BankIcon, CausesIcon, MerchantIcon, UserProfileIcon, BillPaymentIcon, RecurrentIcon } from '@paypalcorp/pp-react-icons';\nimport { css, useTheme, jsx, ClassNames } from '@emotion/react';\nimport _taggedTemplateLiteral from '@babel/runtime/helpers/esm/taggedTemplateLiteral';\nimport { textStyles } from '@paypalcorp/pp-react-text';\nimport { utilStyles, getColor, getColorFamily, Shimmer } from '@paypalcorp/pp-react-utils';\nvar _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13;\nfunction styles(tokens) {\n /* istanbul ignore next */\n if (!Object.keys(tokens).length) {\n console.warn('Missing Emotion theme. Use ThemeProvider from @emotion/react to pass a valid theme from pp-react.');\n return {};\n }\n var _textStyles = textStyles(tokens),\n caption = _textStyles.caption,\n body = _textStyles.body,\n headingSm = _textStyles.headingSm,\n headingLg = _textStyles.headingLg;\n var _utilStyles = utilStyles(tokens),\n shimmerStyles = _utilStyles.shimmerStyles;\n var sysBorderRadiusInteractive = tokens.sysBorderRadiusInteractive,\n sysSizeCircleSm = tokens.sysSizeCircleSm,\n sysSizeCircleMd = tokens.sysSizeCircleMd,\n sysSizeCircleLg = tokens.sysSizeCircleLg,\n sysSizeCircleXl = tokens.sysSizeCircleXl,\n sysColorAccent1Contrast = tokens.sysColorAccent1Contrast,\n sysColorAccent2Contrast = tokens.sysColorAccent2Contrast,\n sysColorAccent3Contrast = tokens.sysColorAccent3Contrast,\n sysColorAccent4Contrast = tokens.sysColorAccent4Contrast,\n sysColorBackgroundMain = tokens.sysColorBackgroundMain,\n sysColorAccent1Main = tokens.sysColorAccent1Main,\n sysColorAccent2Main = tokens.sysColorAccent2Main,\n sysColorAccent3Main = tokens.sysColorAccent3Main,\n sysColorAccent4Main = tokens.sysColorAccent4Main,\n sysBorderThicknessNormal = tokens.sysBorderThicknessNormal; // Accepted colors, keep this order to match the sequence for the initials\n\n var acceptedColors = {\n sysColorAccent4Main: sysColorAccent4Main,\n sysColorAccent2Main: sysColorAccent2Main,\n sysColorAccent1Main: sysColorAccent1Main,\n sysColorAccent3Main: sysColorAccent3Main\n }; // legal colors for getting getColorFamily\n\n var legalColors = {\n sysColorAccent1Main: sysColorAccent1Main,\n sysColorAccent2Main: sysColorAccent2Main,\n sysColorAccent3Main: sysColorAccent3Main,\n sysColorAccent4Main: sysColorAccent4Main,\n sysColorAccent1Contrast: sysColorAccent1Contrast,\n sysColorAccent2Contrast: sysColorAccent2Contrast,\n sysColorAccent3Contrast: sysColorAccent3Contrast,\n sysColorAccent4Contrast: sysColorAccent4Contrast\n };\n var sizeXs = css(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n label: size_xs;\\n width: \", \";\\n height: \", \";\\n \", \";\\n \"])), sysSizeCircleSm, sysSizeCircleSm, caption({\n lineHeight: sysSizeCircleSm\n }));\n var sizeSm = css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral([\"\\n label: size_sm;\\n width: \", \";\\n height: \", \";\\n \", \";\\n \"])), sysSizeCircleMd, sysSizeCircleMd, body({\n lineHeight: sysSizeCircleMd\n }));\n var sizeMd = css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral([\"\\n label: size_md;\\n width: \", \";\\n height: \", \";\\n \", \"\\n \"])), sysSizeCircleLg, sysSizeCircleLg, headingSm({\n lineHeight: sysSizeCircleLg\n }));\n var sizeLg = css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral([\"\\n label: size_lg;\\n \", \"\\n width: \", \";\\n height: \", \";\\n \"])), headingLg({\n lineHeight: sysSizeCircleXl\n }), sysSizeCircleXl, sysSizeCircleXl);\n var getColorCss = function (colorName) {\n var _getColorFamily;\n var backgroundColor = getColor(colorName, acceptedColors, sysColorAccent1Main);\n var color = acceptedColors[colorName] ? (_getColorFamily = getColorFamily(colorName, legalColors)) === null || _getColorFamily === void 0 ? void 0 : _getColorFamily.contrast : sysColorAccent1Contrast;\n return css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral([\"\\n label: \", \";\\n background-color: \", \";\\n color: \", \";\\n \"])), colorName, backgroundColor, color);\n };\n var getGenericColorCss = function (generic) {\n var genericCategory = {\n bank: {\n backgroundColor: sysColorAccent3Main,\n color: sysColorAccent3Contrast\n },\n causes: {\n backgroundColor: sysColorAccent4Main,\n color: sysColorAccent4Contrast\n },\n biller: {\n backgroundColor: sysColorAccent4Main,\n color: sysColorAccent4Contrast\n },\n merchant: {\n backgroundColor: sysColorAccent1Main,\n color: sysColorAccent1Contrast\n },\n profile: {\n backgroundColor: sysColorAccent1Contrast,\n color: sysColorAccent1Main\n },\n subscription: {\n backgroundColor: sysColorAccent2Main,\n color: sysColorAccent2Contrast\n }\n };\n return css(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral([\"\\n label: \", \";\\n background-color: \", \";\\n color: \", \";\\n \"])), generic, genericCategory[generic].backgroundColor, genericCategory[generic].color);\n };\n var base = css(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral([\"\\n label: avatar_base;\\n border-radius: \", \";\\n color: \", \";\\n text-align: center;\\n text-transform: uppercase;\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n border: \", \" solid \", \";\\n background-color: \", \";\\n position: relative;\\n \", \";\\n \"])), sysBorderRadiusInteractive, sysColorAccent1Contrast, sysBorderThicknessNormal, sysColorBackgroundMain, sysColorAccent1Main, sizeLg);\n var image = css(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral([\"\\n label: image;\\n border-radius: inherit;\\n width: inherit;\\n height: inherit;\\n background: \", \";\\n object-fit: cover;\\n \"])), sysColorAccent1Contrast);\n var avatarBadge = css(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral([\"\\n label: avatar_badge;\\n box-sizing: border-box;\\n position: absolute;\\n bottom: 0;\\n right: -\", \"; // Avatar has its own border of 1px, so shift the badge by 1px\\n \"])), sysBorderThicknessNormal);\n var shimmer = css(_templateObject10 || (_templateObject10 = _taggedTemplateLiteral([\"\\n label: shimmer;\\n \", \"\\n \"])), shimmerStyles.defaults({\n borderRadius: sysBorderRadiusInteractive,\n width: sysSizeCircleXl,\n height: sysSizeCircleXl\n }));\n var shimmerSizeXs = css(_templateObject11 || (_templateObject11 = _taggedTemplateLiteral([\"\\n label: shimmer_size_xs;\\n width: \", \";\\n height: \", \";\\n \"])), sysSizeCircleSm, sysSizeCircleSm);\n var shimmerSizeSm = css(_templateObject12 || (_templateObject12 = _taggedTemplateLiteral([\"\\n label: shimmer_size_sm;\\n width: \", \";\\n height: \", \";\\n \"])), sysSizeCircleMd, sysSizeCircleMd);\n var shimmerSizeMd = css(_templateObject13 || (_templateObject13 = _taggedTemplateLiteral([\"\\n label: shimmer_size_md;\\n width: \", \";\\n height: \", \";\\n \"])), sysSizeCircleLg, sysSizeCircleLg);\n return {\n base: base,\n image: image,\n sizeXs: sizeXs,\n sizeSm: sizeSm,\n sizeMd: sizeMd,\n sizeLg: sizeLg,\n getColorCss: getColorCss,\n getGenericColorCss: getGenericColorCss,\n avatarBadge: avatarBadge,\n shimmer: shimmer,\n shimmerSizeXs: shimmerSizeXs,\n shimmerSizeSm: shimmerSizeSm,\n shimmerSizeMd: shimmerSizeMd,\n acceptedColors: acceptedColors\n };\n}\nvar _excluded = [\"className\", \"color\", \"size\", \"src\", \"alt\", \"initials\", \"loading\", \"svgIconComponent\", \"badge\", \"generic\", \"isLoading\", \"isInverse\", \"children\"];\nvar iconSizeMap = {\n lg: 'xl',\n md: 'lg',\n sm: 'md',\n xs: 'sm'\n};\nvar Avatar = function (_ref) {\n var _styles$getColorCss, _styles$getGenericCol;\n var className = _ref.className,\n color = _ref.color,\n size = _ref.size,\n src = _ref.src,\n alt = _ref.alt,\n initials = _ref.initials,\n loading = _ref.loading,\n svgIconComponent = _ref.svgIconComponent,\n badge = _ref.badge,\n generic = _ref.generic,\n isLoading = _ref.isLoading,\n isInverse = _ref.isInverse,\n children = _ref.children,\n rest = _objectWithoutProperties(_ref, _excluded);\n var tokens = useTheme(); // Fetch tokens from Emotion context\n\n var _styles = useMemo(function () {\n return styles(tokens);\n }, [tokens]); // colorMap for backward compatiablity\n\n var sizes = ['lg', 'md', 'sm', 'xs'];\n // Compute sizeVariable - sizeLg, sizeMd etc.\n var computedSizeVar = sizes.includes(size) && \"size\".concat(size.charAt(0).toUpperCase()).concat(size.charAt(1));\n if (isLoading) {\n var shimmerCSS = [_styles.shimmer,\n //@ts-ignore\n sizes.includes(size) && _styles[computedSizeVar]];\n return jsx(Shimmer, _extends({\n css: shimmerCSS,\n className: className,\n isInverse: isInverse,\n hasStyleDefaults: false\n }, rest, {\n \"data-ppui\": \"true\"\n }), children);\n }\n var computedColor = function getColor(colour) {\n if (generic || src) return null;else if (initials) {\n var sum = initials.charCodeAt(0) + (initials[1] ? initials === null || initials === void 0 ? void 0 : initials.charCodeAt(1) : 0); // istanbul ignore next\n\n var acceptedColors = _styles.acceptedColors ? Object.keys(_styles.acceptedColors) : '';\n var index = sum % acceptedColors.length;\n return acceptedColors[index];\n } else if (colour) {\n return colour;\n }\n return null;\n }({\n blue: 'sysColorAccent1Main',\n pink: 'sysColorAccent2Main',\n green: 'sysColorAccent3Main',\n purple: 'sysColorAccent4Main'\n }[color]) || color;\n var avatarCSS = [_styles.base,\n //@ts-ignore\n computedSizeVar && _styles[computedSizeVar],\n //@ts-ignore\n computedColor && ((_styles$getColorCss = _styles.getColorCss) === null || _styles$getColorCss === void 0 ? void 0 : _styles$getColorCss.call(_styles, computedColor)), ['profile', 'merchant', 'causes', 'bank', 'subscription', 'biller'].includes(generic) && ((_styles$getGenericCol = _styles.getGenericColorCss) === null || _styles$getGenericCol === void 0 ? void 0 : _styles$getGenericCol.call(_styles, generic))];\n var avatarBadge = badge && size !== 'xs' ? jsx(ClassNames, {\n \"data-ppui\": \"true\"\n }, function (_ref2) {\n var css = _ref2.css;\n return React.cloneElement(badge, {\n className: css(_styles.avatarBadge)\n });\n }) : null;\n return jsx(\"div\", _extends({\n className: className,\n css: avatarCSS,\n \"data-ppui-info\": \"avatar_4.3.13\"\n }, rest), function avatarContent() {\n if (src) {\n return jsx(\"img\", {\n css: _styles.image,\n src: src,\n alt: alt,\n loading: loading,\n \"data-ppui\": \"true\"\n });\n }\n if (svgIconComponent) {\n return jsx(svgIconComponent, {\n size: iconSizeMap[size],\n \"data-ppui\": \"true\"\n });\n }\n if (generic) {\n var GenericIcon = {\n bank: BankIcon,\n causes: CausesIcon,\n merchant: MerchantIcon,\n profile: UserProfileIcon,\n biller: BillPaymentIcon,\n subscription: RecurrentIcon\n }[generic];\n /* istanbul ignore next */\n\n if (GenericIcon) {\n return (\n // @ts-ignore\n jsx(GenericIcon, {\n name: generic,\n size: iconSizeMap[size],\n \"data-ppui\": \"true\"\n })\n );\n }\n }\n return initials;\n }(), avatarBadge);\n};\nvar _templateObject$1, _templateObject2$1, _templateObject3$1;\nfunction styles$1(tokens) {\n /* istanbul ignore next */\n if (!Object.keys(tokens).length) {\n console.warn('Missing Emotion theme. Use ThemeProvider from @emotion/react to pass a valid theme from pp-react.');\n return {};\n }\n var sysColorBackgroundMain = tokens.sysColorBackgroundMain,\n sysBorderRadiusInteractive = tokens.sysBorderRadiusInteractive,\n sysColorBackgroundMediumContrast = tokens.sysColorBackgroundMediumContrast,\n sysSpaceSm = tokens.sysSpaceSm;\n var ppuiAvatarStackSpacing = sysSpaceSm;\n var _utilStyles = utilStyles(tokens),\n ellipsis = _utilStyles.ellipsis,\n screenReader = _utilStyles.screenReader;\n var _textStyles = textStyles(tokens),\n caption = _textStyles.caption;\n var base = css(_templateObject$1 || (_templateObject$1 = _taggedTemplateLiteral([\"\\n label: avatar_stack_base;\\n display: flex;\\n align-items: center;\\n \"])));\n var avatar = css(_templateObject2$1 || (_templateObject2$1 = _taggedTemplateLiteral([\"\\n label: avatar;\\n border-radius: \", \";\\n flex-shrink: 0;\\n background-color: \", \";\\n z-index: 1;\\n &:not(:first-of-type) {\\n margin-left: -\", \";\\n }\\n [dir='rtl'] & {\\n margin-left: 0;\\n &:not(:first-of-type) {\\n margin-right: -\", \";\\n }\\n }\\n & div {\\n overflow: hidden;\\n }\\n \"])), sysBorderRadiusInteractive, sysColorBackgroundMain, ppuiAvatarStackSpacing, ppuiAvatarStackSpacing);\n var label = css(_templateObject3$1 || (_templateObject3$1 = _taggedTemplateLiteral([\"\\n label: label;\\n \", \";\\n margin-left: \", \";\\n margin-right: 0;\\n \", \";\\n [dir='rtl'] & {\\n margin-left: 0;\\n margin-right: \", \";\\n }\\n \"])), caption({\n color: sysColorBackgroundMediumContrast\n }), sysSpaceSm, ellipsis, sysSpaceSm);\n return {\n base: base,\n avatar: avatar,\n screenReader: screenReader,\n label: label\n };\n}\nvar PREFIX_COMPONENT = 'avatarStacked';\nvar DISPLAY_LIMIT_STACK = 3;\nvar _excluded$1 = [\"className\", \"size\", \"label\", \"isLabelHidden\", \"remainingCount\", \"children\"];\nvar renderChildren = function (children, size, _styles) {\n var avatarComponents = []; // Only take specified items for displaying\n\n children = Array.isArray(children) && children.length > DISPLAY_LIMIT_STACK ? children.slice(0, DISPLAY_LIMIT_STACK) : children;\n React.Children.forEach(children, function (child, index) {\n var avatar = jsx(ClassNames, {\n key: \"\".concat(PREFIX_COMPONENT, \"__\").concat(index),\n \"data-ppui\": \"true\"\n }, function (_ref) {\n var css = _ref.css;\n return jsx(\"div\", {\n className: css(_styles.avatar),\n \"data-ppui\": \"true\"\n }, React.cloneElement(child, {\n size: size\n }));\n });\n avatarComponents.push(avatar);\n });\n return avatarComponents;\n};\nvar AvatarStack = function (_ref2) {\n var className = _ref2.className,\n size = _ref2.size,\n _ref2$label = _ref2.label,\n label = _ref2$label === void 0 ? 'default' : _ref2$label,\n isLabelHidden = _ref2.isLabelHidden,\n remainingCount = _ref2.remainingCount,\n children = _ref2.children,\n rest = _objectWithoutProperties(_ref2, _excluded$1);\n var tokens = useTheme();\n var _styles = useMemo(function () {\n return styles$1(tokens);\n }, [tokens]);\n var labelStyles = [_styles.label, isLabelHidden && _styles.screenReader];\n size = 'xs'; // only `xs` size is allowed\n\n return jsx(\"div\", _extends({\n className: className,\n css: _styles.base,\n \"data-ppui-info\": \"avatar-stack_4.3.13\"\n }, rest), renderChildren(children, size, _styles), jsx(\"span\", {\n css: labelStyles,\n \"data-ppui\": \"true\"\n }, label));\n};\nvar _templateObject$2, _templateObject2$2;\nfunction styles$2(tokens) {\n /* istanbul ignore next */\n if (!Object.keys(tokens).length) {\n // eslint-disable-next-line no-console\n console.warn('Missing Emotion theme. Use ThemeProvider from @emotion/react to pass a valid theme from pp-react.');\n return {};\n }\n var sysSpaceMd = tokens.sysSpaceMd,\n sysSpaceSm = tokens.sysSpaceSm,\n sysBorderRadiusSm = tokens.sysBorderRadiusSm,\n sysColorBackgroundHighContrast = tokens.sysColorBackgroundHighContrast;\n var _textStyles = textStyles(tokens),\n caption = _textStyles.caption;\n var _utilStyles = utilStyles(tokens),\n focusStyles = _utilStyles.focusStyles;\n var offsetFocusAfter = focusStyles.offsetFocusAfter;\n var base = css(_templateObject$2 || (_templateObject$2 = _taggedTemplateLiteral([\"\\n label: avatar_button_base;\\n position: relative;\\n display: flex;\\n flex-direction: column;\\n align-items: center;\\n padding: \", \" 0;\\n min-height: \", \";\\n width: \", \";\\n word-wrap: break-word;\\n background: none;\\n border: none;\\n \", \"\\n\\n &:focus, &:hover {\\n cursor: pointer;\\n }\\n\\n &:focus > span:first-of-type,\\n &:hover > span:first-of-type {\\n -webkit-text-stroke-width: \", \";\\n }\\n\\n &:focus {\\n outline: none;\\n &:after {\\n \", \"\\n }\\n }\\n\\n &:hover {\\n span:last-of-type {\\n text-decoration: underline;\\n }\\n }\\n \"])), sysSpaceMd, '7.25rem', '6rem', caption({\n color: sysColorBackgroundHighContrast\n }), '0.0421875rem', offsetFocusAfter({\n radius: sysBorderRadiusSm\n }));\n var label = css(_templateObject2$2 || (_templateObject2$2 = _taggedTemplateLiteral([\"\\n label: avatar_button_label;\\n text-align: center;\\n padding: \", \" \", \" 0 \", \";\\n width: inherit;\\n display: -webkit-box;\\n -webkit-line-clamp: 2;\\n -webkit-box-orient: vertical;\\n overflow: hidden;\\n \"])), sysSpaceSm, sysSpaceSm, sysSpaceSm);\n return {\n base: base,\n label: label\n };\n}\nvar _excluded$2 = [\"className\", \"label\", \"children\", \"as\"];\nvar AvatarButton = forwardRef(function (_ref, ref) {\n var className = _ref.className,\n _ref$label = _ref.label,\n label = _ref$label === void 0 ? 'default' : _ref$label,\n children = _ref.children,\n as = _ref.as,\n rest = _objectWithoutProperties(_ref, _excluded$2);\n var tokens = useTheme(); // Fetch tokens from Emotion context\n\n var _styles = useMemo(function () {\n return styles$2(tokens);\n }, [tokens]); // Avatar size fixed to 'md' for Avatar Button\n\n var avatar = React.cloneElement(children, {\n size: 'md',\n 'aria-hidden': 'true'\n });\n return jsx(as || 'button', _extends({\n role: \"button\",\n css: _styles.base,\n className: className,\n tabIndex: 0,\n ref: ref\n }, rest, {\n \"data-ppui\": \"true\"\n }), avatar, jsx(\"span\", {\n css: _styles.label,\n \"data-ppui\": \"true\"\n }, label));\n});\nexport { Avatar, AvatarButton, AvatarStack, styles$2 as avatarButtonStyles, styles$1 as avatarStackStyles, styles as avatarStyles };","import _extends from '@babel/runtime/helpers/esm/extends';\nimport _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';\nimport { useMemo } from 'react';\nimport { css, jsx, useTheme } from '@emotion/react';\nimport { CriticalIcon, CheckmarkBackgroundSmIcon, ClockIcon, CriticalSmIcon, PreferredSelectedIcon } from '@paypalcorp/pp-react-icons';\nimport _taggedTemplateLiteral from '@babel/runtime/helpers/esm/taggedTemplateLiteral';\nimport { math } from 'polished';\nimport { textStyles } from '@paypalcorp/pp-react-text';\nimport { utilStyles } from '@paypalcorp/pp-react-utils';\nvar _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11;\nfunction styles(tokens) {\n /* istanbul ignore next */\n if (!Object.keys(tokens).length) {\n console.warn('Missing Emotion theme. Use ThemeProvider from @emotion/react to pass a valid theme from pp-react.');\n return {};\n }\n var sysSpaceXs = tokens.sysSpaceXs,\n sysSpaceSm = tokens.sysSpaceSm,\n sysSizeIconXs = tokens.sysSizeIconXs,\n sysSpaceTiny = tokens.sysSpaceTiny,\n sysBorderRadiusMd = tokens.sysBorderRadiusMd,\n sysBorderThicknessEmphasis = tokens.sysBorderThicknessEmphasis,\n sysBorderThicknessNormal = tokens.sysBorderThicknessNormal,\n sysSizeCircleXs = tokens.sysSizeCircleXs,\n sysColorErrorMain = tokens.sysColorErrorMain,\n sysColorErrorContrast = tokens.sysColorErrorContrast,\n sysColorWarningMain = tokens.sysColorWarningMain,\n sysColorWarningContrast = tokens.sysColorWarningContrast,\n sysColorSuccessMain = tokens.sysColorSuccessMain,\n sysColorSuccessContrast = tokens.sysColorSuccessContrast,\n sysColorInfoMain = tokens.sysColorInfoMain,\n sysColorInfoContrast = tokens.sysColorInfoContrast,\n sysColorSpecialtyMain = tokens.sysColorSpecialtyMain,\n sysColorSpecialtyContrast = tokens.sysColorSpecialtyContrast,\n sysColorBackgroundMain = tokens.sysColorBackgroundMain,\n sysColorBackgroundSurface = tokens.sysColorBackgroundSurface,\n sysColorWarningAlt = tokens.sysColorWarningAlt;\n var _textStyles = textStyles(tokens),\n textCaption = _textStyles.caption;\n var _utilStyles = utilStyles(tokens),\n screenReader = _utilStyles.screenReader;\n\n // 288px\n var base = css(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n label: badge_base;\\n \", \"\\n max-width: \", \";\\n overflow: hidden;\\n word-break: break-word;\\n text-transform: none;\\n -webkit-line-clamp: 2;\\n display: -webkit-inline-box;\\n -webkit-box-orient: vertical;\\n height: auto;\\n padding: \", \" \", \";\\n border-radius: \", \";\\n [dir='rtl'] & {\\n text-align: right;\\n }\\n \"])), textCaption(), '18rem', sysSpaceTiny, sysSpaceSm, sysBorderRadiusMd);\n var badgeColor = function (backgroundColor, color) {\n return css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral([\"\\n color: \", \";\\n background-color: \", \";\\n \"])), color, backgroundColor);\n };\n var iconBadge = function (color) {\n return css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral([\"\\n color: \", \";\\n width: \", \";\\n height: \", \";\\n padding: \", \";\\n background-color: \", \";\\n border: \", \" solid \", \";\\n border-radius: 50%;\\n \"])), color, sysSizeCircleXs, sysSizeCircleXs, sysBorderThicknessNormal, sysColorBackgroundMain, sysBorderThicknessEmphasis, sysColorBackgroundSurface);\n };\n var badgeType = function () {\n var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'feature';\n var colorMap = {\n feature: badgeColor(sysColorSpecialtyMain, sysColorSpecialtyContrast),\n success: badgeColor(sysColorSuccessMain, sysColorSuccessContrast),\n warning: badgeColor(sysColorWarningMain, sysColorWarningContrast),\n critical: badgeColor(sysColorErrorMain, sysColorErrorContrast),\n neutral: badgeColor(sysColorInfoMain, sysColorInfoContrast)\n };\n return css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral([\"\\n label: \", \";\\n \", \";\\n \"])), type, colorMap[type]);\n };\n var paddingLeft = math(\"\".concat(sysSpaceSm, \" + \").concat(sysSizeIconXs, \" + \").concat(sysSpaceTiny));\n var leftIcon = css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral([\"\\n label: left_icon;\\n position: relative;\\n padding-inline-start: \", \";\\n \"])), paddingLeft); //Note: additional 1px added to align the icon with the text.\n\n var iconVerticalSpacing = math(\"\".concat(sysSpaceTiny, \" + \").concat(sysBorderThicknessNormal));\n var icon = css(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral([\"\\n label: icon;\\n position: absolute;\\n inset-block: \", \";\\n inset-inline: \", \" auto;\\n \"])), iconVerticalSpacing, sysSpaceSm);\n var authorized = css(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral([\"\\n label: authorized;\\n \", \";\\n \"])), iconBadge(sysColorSuccessMain));\n var inProgress = css(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral([\"\\n label: in_progress;\\n \", \";\\n \"])), iconBadge(sysColorWarningAlt));\n var onHold = css(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral([\"\\n label: on_hold;\\n \", \";\\n \"])), iconBadge(sysColorErrorMain));\n var favorite = css(_templateObject10 || (_templateObject10 = _taggedTemplateLiteral([\"\\n label: favorite;\\n \", \";\\n \"])), iconBadge(sysColorSpecialtyMain));\n var numeric = css(_templateObject11 || (_templateObject11 = _taggedTemplateLiteral([\"\\n label: numeric;\\n color: \", \";\\n background-color: \", \";\\n padding: 0 \", \";\\n height: \", \";\\n min-width: \", \";\\n border: \", \" solid \", \";\\n border-radius: \", \";\\n text-align: center;\\n [dir='rtl'] & {\\n text-align: center;\\n }\\n \"])), sysColorErrorContrast, sysColorErrorMain, sysSpaceXs, sysSizeCircleXs, sysSizeCircleXs, sysBorderThicknessEmphasis, sysColorBackgroundSurface, math(\"\".concat(sysSizeCircleXs, \"/2\")));\n return {\n base: base,\n badgeType: badgeType,\n leftIcon: leftIcon,\n icon: icon,\n screenReader: screenReader,\n authorized: authorized,\n inProgress: inProgress,\n onHold: onHold,\n favorite: favorite,\n numeric: numeric\n };\n}\nvar _excluded = [\"type\", \"status\", \"className\", \"leftIcon\", \"leftIconLabel\", \"children\"],\n _excluded2 = [\"className\", \"children\", \"label\", \"icon\"];\nfunction useStyles() {\n var tokens = useTheme();\n var _styles = useMemo(function () {\n return styles(tokens);\n }, [tokens]);\n return _styles;\n}\nvar Badge = function (_ref) {\n var _styles$badgeType;\n var type = _ref.type,\n status = _ref.status,\n className = _ref.className,\n leftIcon = _ref.leftIcon,\n leftIconLabel = _ref.leftIconLabel,\n children = _ref.children,\n rest = _objectWithoutProperties(_ref, _excluded);\n var _styles = useStyles();\n var badgeCssVal = [_styles.base, (_styles$badgeType = _styles.badgeType) === null || _styles$badgeType === void 0 ? void 0 : _styles$badgeType.call(_styles, type), (leftIcon || leftIconLabel) && _styles.leftIcon]; //Badge with icon\n\n var ariaProps = {\n 'aria-hidden': true\n };\n var badgeIcon = (leftIcon || leftIconLabel) && jsx(\"span\", {\n css: _styles.icon,\n \"data-ppui\": \"true\"\n }, jsx(function Icon() {\n /* istanbul ignore next */\n if (type === 'critical') {\n return jsx(CriticalIcon, _extends({\n size: \"xs\"\n }, ariaProps, {\n \"data-ppui\": \"true\"\n }));\n }\n return jsx(leftIcon, _extends({\n size: \"xs\"\n }, ariaProps, {\n \"data-ppui\": \"true\"\n }));\n }, {\n \"data-ppui\": \"true\"\n }), jsx(\"span\", {\n css: _styles.screenReader,\n \"data-ppui\": \"true\"\n }, leftIconLabel)); // End badge with icon\n\n return jsx(\"span\", _extends({\n css: badgeCssVal,\n className: className,\n \"data-ppui-info\": \"badge_3.2.15\"\n }, rest), badgeIcon, children);\n}; //Authorized Badge\n\nvar AuthorizedBadge = function (props) {\n var _useStyles = useStyles(),\n authorized = _useStyles.authorized;\n return jsx(BadgeComponent, _extends({}, props, {\n css: authorized,\n className: props.className,\n icon: jsx(CheckmarkBackgroundSmIcon, {\n size: \"xs\",\n \"aria-hidden\": \"true\",\n \"data-ppui\": \"true\"\n }),\n \"data-ppui\": \"true\"\n }));\n}; //InProgress Badge\n\nvar InProgressBadge = function (props) {\n var _useStyles2 = useStyles(),\n inProgress = _useStyles2.inProgress;\n return jsx(BadgeComponent, _extends({}, props, {\n css: inProgress,\n className: props.className,\n icon: jsx(ClockIcon, {\n size: \"xs\",\n \"aria-hidden\": \"true\",\n \"data-ppui\": \"true\"\n }),\n \"data-ppui\": \"true\"\n }));\n}; //OnHold Badge\n\nvar OnHoldBadge = function (props) {\n var _useStyles3 = useStyles(),\n onHold = _useStyles3.onHold;\n return jsx(BadgeComponent, _extends({}, props, {\n css: onHold,\n className: props.className,\n icon: jsx(CriticalSmIcon, {\n size: \"xs\",\n \"aria-hidden\": \"true\",\n \"data-ppui\": \"true\"\n }),\n \"data-ppui\": \"true\"\n }));\n}; //Favorite Badge\n\nvar FavoriteBadge = function (props) {\n var _useStyles4 = useStyles(),\n favorite = _useStyles4.favorite;\n return jsx(BadgeComponent, _extends({}, props, {\n css: favorite,\n className: props.className,\n icon: jsx(PreferredSelectedIcon, {\n size: \"xs\",\n \"aria-hidden\": \"true\",\n \"data-ppui\": \"true\"\n }),\n \"data-ppui\": \"true\"\n }));\n}; //Numeric Badge\n\nvar NumericBadge = function (props) {\n //@ts-ignore\n var numericProp = parseInt(props.children, 10);\n var numericValue = numericProp < 10 ? numericProp : '9+';\n var _useStyles5 = useStyles(),\n numeric = _useStyles5.numeric;\n return jsx(BadgeComponent, _extends({}, props, {\n css: numeric,\n \"data-ppui\": \"true\"\n }), numericValue);\n};\nvar BadgeComponent = function (_ref2) {\n var className = _ref2.className,\n children = _ref2.children,\n label = _ref2.label,\n icon = _ref2.icon,\n rest = _objectWithoutProperties(_ref2, _excluded2);\n var _useStyles6 = useStyles(),\n base = _useStyles6.base,\n screenReader = _useStyles6.screenReader;\n return jsx(\"span\", _extends({\n css: base,\n className: className,\n \"data-ppui-info\": \"badge_3.2.15\"\n }, rest), icon, icon ? jsx(\"span\", {\n css: screenReader,\n \"data-ppui\": \"true\"\n }, label) : children);\n};\nexport { AuthorizedBadge, Badge, FavoriteBadge, InProgressBadge, NumericBadge, OnHoldBadge, styles as badgeStyles };","import _extends from '@babel/runtime/helpers/esm/extends';\nimport _defineProperty from '@babel/runtime/helpers/esm/defineProperty';\nimport _slicedToArray from '@babel/runtime/helpers/esm/slicedToArray';\nimport _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';\nimport { useMemo, useRef, useState, useEffect } from 'react';\nimport { Row, Col, Container } from '@paypalcorp/pp-react-grid';\nimport { utilStyles, uniqueId, KeyboardCode } from '@paypalcorp/pp-react-utils';\nimport { CriticalIcon, WarningIcon, CausesIcon, ArrowLeftIcon, ArrowRightIcon } from '@paypalcorp/pp-react-icons';\nimport { css, useTheme, jsx } from '@emotion/react';\nimport _taggedTemplateLiteral from '@babel/runtime/helpers/esm/taggedTemplateLiteral';\nimport { textStyles } from '@paypalcorp/pp-react-text';\nvar _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8;\nfunction styles(tokens) {\n /* istanbul ignore next */\n if (!Object.keys(tokens).length) {\n console.warn('Missing Emotion theme. Use ThemeProvider from @emotion/react to pass a valid theme from pp-react.');\n return {};\n }\n var sysBorderThicknessNormal = tokens.sysBorderThicknessNormal,\n sysSpaceTiny = tokens.sysSpaceTiny,\n sysSpaceSm = tokens.sysSpaceSm,\n sysColorErrorMain = tokens.sysColorErrorMain,\n sysColorErrorContrast = tokens.sysColorErrorContrast,\n sysColorErrorMainActive = tokens.sysColorErrorMainActive,\n sysColorWarningMain = tokens.sysColorWarningMain,\n sysColorWarningMainActive = tokens.sysColorWarningMainActive,\n sysColorWarningContrast = tokens.sysColorWarningContrast,\n sysColorSpecialtyMain = tokens.sysColorSpecialtyMain,\n sysColorSpecialtyMainActive = tokens.sysColorSpecialtyMainActive,\n sysColorSpecialtyContrast = tokens.sysColorSpecialtyContrast,\n sysBorderThicknessFocusOutline = tokens.sysBorderThicknessFocusOutline,\n sysSpaceLg = tokens.sysSpaceLg,\n sysSpaceJumbo = tokens.sysSpaceJumbo,\n sysSpaceMd = tokens.sysSpaceMd;\n var _utilStyles = utilStyles(tokens),\n focusStyles = _utilStyles.focusStyles;\n var _textStyles = textStyles(tokens),\n textBody = _textStyles.body,\n textTitle = _textStyles.title;\n var offsetFocusAfter = focusStyles.offsetFocusAfter;\n /**\n * Get the color based on the type of banner\n * @param type string\n * @returns object\n *\n */\n\n var getColorMap = function (type) {\n var bgColor = sysColorSpecialtyMain;\n var activeBgColor = sysColorSpecialtyMainActive;\n var textColor = sysColorSpecialtyContrast;\n if (type === 'critical') {\n bgColor = sysColorErrorMain;\n activeBgColor = sysColorErrorMainActive;\n textColor = sysColorErrorContrast;\n } else if (type === 'warning') {\n bgColor = sysColorWarningMain;\n activeBgColor = sysColorWarningMainActive;\n textColor = sysColorWarningContrast;\n }\n return {\n bgColor: bgColor,\n activeBgColor: activeBgColor,\n textColor: textColor\n };\n };\n /**\n * Get the styles for the banner\n * @param type string\n * @returns SerializedStyles\n *\n */\n\n var getBanner = function (type) {\n var _getColorMap = getColorMap(type),\n bgColor = _getColorMap.bgColor,\n activeBgColor = _getColorMap.activeBgColor;\n return css(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n label: \", \";\\n background-color: \", \";\\n &:active {\\n background-color: \", \";\\n }\\n \"])), type, bgColor, activeBgColor);\n };\n /**\n * Get the styles for the banner text\n * @param type string\n * @returns SerializedStyles\n *\n */\n\n var getTextColor = function (type) {\n var _getColorMap2 = getColorMap(type),\n textColor = _getColorMap2.textColor;\n var label = \"text_\".concat(type);\n return css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral([\"\\n label: \", \";\\n color: \", \";\\n \"])), label, textColor);\n }; // Base Class for banner\n\n var base = css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral([\"\\n label: banner_base;\\n box-sizing: border-box;\\n padding: \", \" \", \";\\n border-width: \", \";\\n position: relative;\\n width: 100%;\\n cursor: pointer;\\n display: block;\\n text-decoration: none;\\n outline: \", \" solid transparent;\\n &:focus {\\n &:after {\\n \", \"\\n }\\n }\\n \"])), sysSpaceMd, sysSpaceLg, sysBorderThicknessNormal, sysBorderThicknessNormal, offsetFocusAfter({\n horizontalOffset: sysBorderThicknessFocusOutline,\n verticalOffset: sysBorderThicknessFocusOutline\n }));\n var fullWidth = function (type) {\n var _getColorMap3 = getColorMap(type),\n bgColor = _getColorMap3.bgColor;\n return css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral([\"\\n label: banner_full_width;\\n position: relative;\\n &:before {\\n content: '';\\n position: absolute;\\n background-color: \", \";\\n margin: 0 -50vw;\\n inset: 0 50%;\\n }\\n \"])), bgColor);\n };\n var title = css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral([\"\\n label: banner_title;\\n \", \";\\n text-align: left;\\n max-width: 100%;\\n width: 100%;\\n display: flex;\\n [dir='rtl'] & {\\n text-align: right;\\n }\\n \"])), textTitle());\n var leftSideIcon = css(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral([\"\\n label: icon_left;\\n margin-right: \", \";\\n margin-top: \", \";\\n [dir='rtl'] & {\\n margin-left: \", \";\\n margin-right: 0;\\n }\\n \"])), sysSpaceSm, sysSpaceTiny, sysSpaceSm);\n var rightSideIcon = css(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral([\"\\n label: icon_right;\\n margin-right: 0;\\n margin-left: auto;\\n margin-top: \", \";\\n [dir='rtl'] & {\\n margin-left: 0;\\n margin-right: auto;\\n }\\n \"])), sysSpaceTiny);\n var subText = css(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral([\"\\n label: subtext;\\n \", \"\\n display: flex;\\n padding: 0 \", \";\\n text-align: left;\\n [dir='rtl'] & {\\n margin-right: 0;\\n text-align: right;\\n }\\n \"])), textBody(), sysSpaceJumbo);\n return {\n getBanner: getBanner,\n getTextColor: getTextColor,\n base: base,\n fullWidth: fullWidth,\n title: title,\n leftSideIcon: leftSideIcon,\n rightSideIcon: rightSideIcon,\n subText: subText\n };\n}\nvar _excluded = [\"id\", \"className\", \"titleClassName\", \"subTitleClassName\", \"title\", \"type\", \"specialtyIcon\", \"subText\", \"href\", \"fullWidth\", \"onClick\", \"children\"];\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}\nvar Banner = function (_ref) {\n var _styles$getBanner, _styles$getTextColor, _styles$getTextColor2, _styles$fullWidth;\n var _ref$id = _ref.id,\n id = _ref$id === void 0 ? uniqueId('Banner_') : _ref$id,\n className = _ref.className,\n titleClassName = _ref.titleClassName,\n subTitleClassName = _ref.subTitleClassName,\n _ref$title = _ref.title,\n title = _ref$title === void 0 ? 'default' : _ref$title,\n _ref$type = _ref.type,\n type = _ref$type === void 0 ? 'critical' : _ref$type,\n specialtyIcon = _ref.specialtyIcon,\n subText = _ref.subText,\n href = _ref.href,\n fullWidth = _ref.fullWidth,\n onClick = _ref.onClick,\n children = _ref.children,\n rest = _objectWithoutProperties(_ref, _excluded);\n var tokens = useTheme();\n var _styles = useMemo(function () {\n return styles(tokens);\n }, [tokens]);\n var bannerCssVal = [_styles.base, type && ((_styles$getBanner = _styles.getBanner) === null || _styles$getBanner === void 0 ? void 0 : _styles$getBanner.call(_styles, type))];\n var titleCssVal = [_styles.title, type && ((_styles$getTextColor = _styles.getTextColor) === null || _styles$getTextColor === void 0 ? void 0 : _styles$getTextColor.call(_styles, type))];\n var subTextCssVal = [_styles.subText, type && ((_styles$getTextColor2 = _styles.getTextColor) === null || _styles$getTextColor2 === void 0 ? void 0 : _styles$getTextColor2.call(_styles, type))];\n var subTextContent = subText && jsx(\"div\", {\n css: subTextCssVal,\n className: subTitleClassName,\n \"data-ppui\": \"true\"\n }, ' ', subText);\n var titleRef = useRef(null);\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n rtl = _useState2[0],\n setRtl = _useState2[1];\n useEffect(function () {\n var titleElm = titleRef.current;\n var computedStyle = window.getComputedStyle(titleElm);\n setRtl(computedStyle && computedStyle.direction === 'rtl');\n }, []);\n var StatusIcon = {\n critical: CriticalIcon,\n warning: WarningIcon,\n specialty: specialtyIcon || CausesIcon\n }[type];\n /* istanbul ignore next */\n\n var ClickIcon = rtl ? ArrowLeftIcon : ArrowRightIcon;\n var bannerContent = jsx(Row, {\n \"data-ppui\": \"true\"\n }, jsx(Col, {\n lg: 12,\n \"data-ppui\": \"true\"\n }, jsx(\"div\", {\n css: titleCssVal,\n className: titleClassName,\n ref: titleRef,\n \"data-ppui\": \"true\"\n }, jsx(StatusIcon, {\n css: _styles.leftSideIcon,\n size: \"sm\",\n \"data-ppui\": \"true\"\n }), title, jsx(ClickIcon, {\n css: _styles.rightSideIcon,\n size: \"sm\",\n \"data-ppui\": \"true\"\n })), subTextContent));\n var commonProps = {\n className: className,\n css: bannerCssVal,\n 'data-ppui-info': ''\n };\n var componentTypeProps = _objectSpread({\n id: id,\n tabIndex: 0,\n role: 'button',\n onClick: onClick,\n onKeyDown: function keyHandler(event) {\n /* istanbul ignore next */\n var KeyCode = new KeyboardCode(event.key || event.keyCode);\n if (KeyCode.IS_ENTER || KeyCode.IS_SPACEBAR) {\n event.preventDefault();\n onClick(event);\n }\n }\n }, commonProps);\n if (href) {\n componentTypeProps = _objectSpread({\n as: 'a',\n href: href\n }, commonProps);\n }\n var containerElm = jsx(Container, _extends({}, componentTypeProps, rest, {\n \"data-ppui\": \"true\"\n }), bannerContent);\n return fullWidth ? jsx(\"div\", {\n css: (_styles$fullWidth = _styles.fullWidth) === null || _styles$fullWidth === void 0 ? void 0 : _styles$fullWidth.call(_styles, type),\n \"data-ppui\": \"true\"\n }, containerElm) : containerElm;\n};\nexport { Banner, styles as bannerStyles };","import _extends from '@babel/runtime/helpers/esm/extends';\nimport _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';\nimport React, { forwardRef, useMemo } from 'react';\nimport { utilStyles, getColorValue, ColorContext, Shimmer } from '@paypalcorp/pp-react-utils';\nimport _taggedTemplateLiteral from '@babel/runtime/helpers/esm/taggedTemplateLiteral';\nimport { css, useTheme, jsx } from '@emotion/react';\nimport { textStyles } from '@paypalcorp/pp-react-text';\nvar _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6;\nfunction styles(tokens, colorTokens) {\n /* istanbul ignore next */\n if (!Object.keys(tokens).length) {\n console.warn('Missing Emotion theme. Use ThemeProvider from @emotion/react to pass a valid theme from pp-react.');\n return {};\n }\n var sysBorderRadiusSm = tokens.sysBorderRadiusSm,\n sysColorLinkAlt = tokens.sysColorLinkAlt,\n sysColorLinkAltHover = tokens.sysColorLinkAltHover,\n sysColorLinkAltActive = tokens.sysColorLinkAltActive,\n sysColorLinkContrast = tokens.sysColorLinkContrast,\n sysColorLinkContrastActive = tokens.sysColorLinkContrastActive,\n sysColorLinkContrastHover = tokens.sysColorLinkContrastHover,\n sysColorLinkMain = tokens.sysColorLinkMain,\n sysColorLinkMainActive = tokens.sysColorLinkMainActive,\n sysColorLinkMainHover = tokens.sysColorLinkMainHover,\n sysColorStructureFocusOutline = tokens.sysColorStructureFocusOutline,\n sysSpaceXl = tokens.sysSpaceXl,\n sysBorderRadiusXs = tokens.sysBorderRadiusXs;\n var _utilStyles = utilStyles(tokens),\n focusStyles = _utilStyles.focusStyles,\n shimmerStyles = _utilStyles.shimmerStyles;\n var _textStyles = textStyles(tokens),\n bodyStrong = _textStyles.bodyStrong,\n captionStrong = _textStyles.captionStrong;\n var focusInline = focusStyles.focusInline;\n var getFocusInlineStyles = function () {\n return focusInline({\n radius: sysBorderRadiusSm,\n colorInner: sysColorLinkMain,\n colorOuter: sysColorStructureFocusOutline\n });\n };\n var base = css(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n label: links_base;\\n text-decoration: none;\\n \", \"\\n &:focus {\\n color: \", \";\\n \", \"\\n }\\n\\n &:focus,\\n &:hover {\\n text-decoration: underline;\\n cursor: pointer;\\n }\\n\\n &:hover {\\n color: \", \";\\n background-color: \", \";\\n border-radius: \", \";\\n }\\n\\n &:active {\\n color: \", \";\\n background-color: \", \";\\n border-radius: \", \";\\n }\\n \"])), bodyStrong({\n color: getColorValue(colorTokens, sysColorLinkMain, 'contrast')\n }), getColorValue(colorTokens, sysColorLinkMain, 'contrast'), getFocusInlineStyles(), getColorValue(colorTokens, sysColorLinkMainHover, 'contrast'), getColorValue(colorTokens, null, 'hover'), sysBorderRadiusXs, getColorValue(colorTokens, sysColorLinkMainActive, 'contrast'), getColorValue(colorTokens, null, 'active'), sysBorderRadiusXs);\n var secondary = css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral([\"\\n label: secondary;\\n text-decoration: underline;\\n \", \"\\n\\n &:active {\\n color: \", \";\\n text-decoration: none;\\n }\\n\\n &:focus,\\n &:hover {\\n color: \", \";\\n text-decoration: underline;\\n }\\n \"])), bodyStrong({\n color: getColorValue(colorTokens, sysColorLinkAlt, 'contrast')\n }), getColorValue(colorTokens, sysColorLinkAltActive, 'contrast'), getColorValue(colorTokens, sysColorLinkAltHover, 'contrast'));\n var shimmer = css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral([\"\\n label: shimmer;\\n \", \"\\n \"])), shimmerStyles.defaults({\n height: sysSpaceXl\n }));\n var inverse = css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral([\"\\n label: inverse;\\n color: \", \";\\n text-decoration: underline;\\n\\n &:visited,\\n &:focus {\\n color: \", \";\\n }\\n\\n &:focus {\\n \", \"\\n }\\n\\n &:hover {\\n color: \", \";\\n }\\n\\n &:active {\\n color: \", \";\\n text-decoration: underline;\\n }\\n \"])), getColorValue(colorTokens, sysColorLinkContrast, 'contrast'), getColorValue(colorTokens, sysColorLinkContrast, 'contrast'), getFocusInlineStyles(), getColorValue(colorTokens, sysColorLinkContrastHover, 'contrast'), getColorValue(colorTokens, sysColorLinkContrastActive, 'contrast'));\n var leftIcon = css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral([\"\\n label: left_icon;\\n display: inline-block;\\n vertical-align: top;\\n margin-right: 0.375rem;\\n\\n [dir='rtl'] & {\\n margin-right: 0;\\n margin-left: 0.375rem;\\n }\\n \"])));\n /**\n * Get caption sized styles.\n * @param useSecondaryStyles boolean\n * @param useInverseStyles boolean\n * @returns SerializedStyles\n */\n\n var getCaptionStyles = function () {\n var useSecondaryStyles = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var useInverseStyles = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var color = getColorValue(colorTokens, sysColorLinkMain, 'contrast');\n var variantName = 'caption_primary';\n if (useInverseStyles) {\n variantName = 'caption_inverse';\n color = getColorValue(colorTokens, sysColorLinkContrast, 'contrast');\n }\n if (useSecondaryStyles) {\n variantName = 'caption_secondary';\n color = getColorValue(colorTokens, sysColorLinkAlt, 'contrast');\n }\n return css(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral([\"\\n label: \", \";\\n \", \"\\n \"])), variantName, captionStrong({\n color: color\n }));\n };\n return {\n base: base,\n secondary: secondary,\n shimmer: shimmer,\n inverse: inverse,\n leftIcon: leftIcon,\n getCaptionStyles: getCaptionStyles\n };\n}\nvar _excluded = [\"inverse\", \"secondary\", \"size\", \"primaryAlt\", \"className\", \"leftIcon\", \"children\", \"as\", \"isLoading\"];\nvar Link = forwardRef(function (_ref, ref) {\n var _styles$getCaptionSty;\n var inverse = _ref.inverse,\n secondary = _ref.secondary,\n size = _ref.size,\n primaryAlt = _ref.primaryAlt,\n className = _ref.className,\n leftIcon = _ref.leftIcon,\n children = _ref.children,\n _ref$as = _ref.as,\n as = _ref$as === void 0 ? 'a' : _ref$as,\n isLoading = _ref.isLoading,\n rest = _objectWithoutProperties(_ref, _excluded);\n var colorTokens = React.useContext(ColorContext);\n var tokens = useTheme(); // Fetch tokens from Emotion context\n\n var _styles = useMemo(function () {\n return styles(tokens, colorTokens);\n }, [tokens, colorTokens]);\n if (isLoading) {\n return jsx(Shimmer, _extends({\n css: _styles.shimmer,\n className: className,\n hasStyleDefaults: false,\n isInverse: inverse\n }, rest, {\n \"data-ppui\": \"true\"\n }), children);\n }\n if (as === 'a' && rest.target === '_blank') {\n if (!rest.rel) {\n rest.rel = 'noreferrer noopener';\n } else {\n if (!/noreferrer/i.test(rest.rel)) {\n rest.rel = \"\".concat(rest.rel, \" noreferrer\");\n }\n if (!/noopener/i.test(rest.rel)) {\n rest.rel = \"\".concat(rest.rel, \" noopener\");\n }\n }\n }\n var leftIconElement = jsx(\"span\", {\n css: _styles.leftIcon,\n \"data-ppui\": \"true\"\n }, leftIcon);\n var isSecondaryStyles = primaryAlt || secondary;\n var linkStyles = [_styles.base, inverse && _styles.inverse, isSecondaryStyles && _styles.secondary, size === 'sm' && ((_styles$getCaptionSty = _styles.getCaptionStyles) === null || _styles$getCaptionSty === void 0 ? void 0 : _styles$getCaptionSty.call(_styles, isSecondaryStyles, inverse))];\n return jsx(as, _extends({\n css: linkStyles,\n className: className,\n ref: ref,\n \"data-ppui-info\": \"links_4.3.6\"\n }, rest), leftIcon && leftIconElement, children);\n});\nexport { Link, styles as linkStyles };","import _taggedTemplateLiteral from '@babel/runtime/helpers/esm/taggedTemplateLiteral';\nimport { css, useTheme, jsx, ClassNames } from '@emotion/react';\nimport { math } from 'polished';\nimport { textStyles, BodyText, CaptionText } from '@paypalcorp/pp-react-text';\nimport { utilStyles, uniqueId } from '@paypalcorp/pp-react-utils';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';\nimport React, { forwardRef, useMemo } from 'react';\nimport { CriticalIcon, CheckmarkBackgroundIcon, CheckmarkSmIcon } from '@paypalcorp/pp-react-icons';\nimport _defineProperty from '@babel/runtime/helpers/esm/defineProperty';\nimport { Link } from '@paypalcorp/pp-react-links';\nvar _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17, _templateObject18, _templateObject19, _templateObject20, _templateObject21, _templateObject22, _templateObject23, _templateObject24, _templateObject25, _templateObject26, _templateObject27, _templateObject28, _templateObject29, _templateObject30, _templateObject31, _templateObject32;\nfunction styles(tokens) {\n var _utilStyles = utilStyles(tokens),\n screenReader = _utilStyles.screenReader;\n /* istanbul ignore next */\n\n if (!Object.keys(tokens).length) {\n // eslint-disable-next-line no-console\n console.warn('Missing Emotion theme. Use ThemeProvider from @emotion/react to pass a valid theme from pp-react.');\n return {};\n }\n var sysBorderRadiusSm = tokens.sysBorderRadiusSm,\n sysBorderThicknessNormal = tokens.sysBorderThicknessNormal,\n sysSizeCircleXs = tokens.sysSizeCircleXs,\n sysColorBackgroundSurface = tokens.sysColorBackgroundSurface,\n sysColorSelectedContrast = tokens.sysColorSelectedContrast,\n sysBorderThicknessEmphasis = tokens.sysBorderThicknessEmphasis,\n sysColorStructureBorderHighContrast = tokens.sysColorStructureBorderHighContrast,\n sysColorSelectedMain = tokens.sysColorSelectedMain,\n sysColorErrorMain = tokens.sysColorErrorMain,\n sysColorSuccessMain = tokens.sysColorSuccessMain,\n sysColorBackgroundMediumContrast = tokens.sysColorBackgroundMediumContrast,\n sysSpaceXs = tokens.sysSpaceXs,\n sysSpaceMd = tokens.sysSpaceMd,\n sysSpaceTiny = tokens.sysSpaceTiny,\n sysSizeIconXs = tokens.sysSizeIconXs,\n sysSizeIconLg = tokens.sysSizeIconLg,\n sysSpaceSm = tokens.sysSpaceSm,\n sysBorderRadiusXs = tokens.sysBorderRadiusXs,\n sysSpaceXl = tokens.sysSpaceXl;\n var checkboxItemTextSpacing = math(\"\".concat(sysSizeCircleXs, \" + \").concat(sysSpaceMd, \" + \").concat(sysSpaceTiny)); // tokens not available so created variables\n\n var _textStyles = textStyles(tokens),\n textBody = _textStyles.body,\n textCaption = _textStyles.caption;\n var _utilStyles2 = utilStyles(tokens),\n focusStyles = _utilStyles2.focusStyles;\n var focusAfter = focusStyles.focusAfter,\n stateErrorFocusBorderColorOuter = focusStyles.stateErrorFocusBorderColorOuter,\n stateFocusBorderColorInner = focusStyles.stateFocusBorderColorInner,\n stateFocusBorderWidthInner = focusStyles.stateFocusBorderWidthInner,\n stateErrorFocusBorderColorInner = focusStyles.stateErrorFocusBorderColorInner;\n var labelCheckedCommon = function () {\n return css(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n border-color: \", \";\\n background-color: \", \";\\n color: \", \";\\n border-radius: \", \";\\n \"])), sysColorSelectedMain, sysColorSelectedMain, sysColorSelectedContrast, sysBorderRadiusSm);\n }; // Checkbox base class\n\n var checkboxBase = css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral([\"\\n label: checkbox_base;\\n position: relative;\\n text-align: start;\\n margin-bottom: 0;\\n \"]))); // Checkbox group class\n\n var checkboxGroup = css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral([\"\\n label: checkbox_group;\\n display: flex;\\n flex-direction: column;\\n margin: 0;\\n padding: 0;\\n border: none;\\n text-align: start;\\n \"]))); // Checkbox inside group class\n\n var groupBase = css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral([\"\\n label: group_base;\\n padding: \", \" 0;\\n \"])), sysSpaceMd); // Checkbox label class\n\n var checkboxLabel = css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral([\"\\n label: label;\\n -moz-osx-font-smoothing: grayscale;\\n cursor: pointer;\\n display: block;\\n padding-inline-start: \", \";\\n \", \"\\n position: relative;\\n text-align: start;\\n span:first-of-type {\\n inset-inline-start: 0;\\n }\\n -webkit-tap-highlight-color: transparent;\\n \"])), checkboxItemTextSpacing, textBody());\n var groupLabel = css(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral([\"\\n label: group_label;\\n \", \"\\n padding: 0 0 \", \" 0;\\n margin-bottom: \", \";\\n text-align: start;\\n \"])), textBody({\n color: sysColorBackgroundMediumContrast\n }), sysSpaceMd, sysSpaceXs); // Checkbox icon label class\n\n var iconLabel = css(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral([\"\\n label: icon_label;\\n position: relative;\\n top: 0.125rem;\\n margin-left: \", \";\\n \"])), sysSpaceMd); // Checkbox icon container class\n\n var checkIconContainer = function (isDecoration) {\n return css(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral([\"\\n label: checkmark_container;\\n border-radius: \", \";\\n border: \", \" solid\\n \", \";\\n box-sizing: border-box;\\n height: \", \";\\n left: 0;\\n position: absolute;\\n top: \", \";\\n width: \", \";\\n line-height: \", \";\\n text-align: center;\\n background-color: \", \";\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n \"])), sysBorderRadiusSm, sysBorderThicknessNormal, sysColorStructureBorderHighContrast, sysSizeCircleXs, isDecoration ? 'auto' : 0, sysSizeCircleXs, 1.3, sysColorBackgroundSurface);\n };\n var checkIcon = css(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral([\"\\n label: check_icon;\\n display: none;\\n font-size: \", \";\\n \"])), sysSizeIconXs);\n var partialIcon = css(_templateObject10 || (_templateObject10 = _taggedTemplateLiteral([\"\\n label: partial_icon;\\n height: \", \";\\n width: \", \";\\n background-color: \", \";\\n border-radius: \", \";\\n \"])), sysSpaceTiny, \"0.875rem\", sysColorSelectedContrast, sysBorderRadiusXs);\n var checkboxInput = css(_templateObject11 || (_templateObject11 = _taggedTemplateLiteral([\"\\n label: checkbox_input;\\n cursor: pointer;\\n opacity: 0;\\n position: absolute;\\n &:checked + label > span > span:first-of-type {\\n \", \"\\n span:first-of-type {\\n display: inline;\\n }\\n }\\n &:focus + label > span > span:first-of-type:after {\\n \", \"\\n [dir='rtl'] & {\\n left: 0;\\n right: -\", \";\\n }\\n }\\n \"])), labelCheckedCommon(), focusAfter({\n radius: sysBorderRadiusSm,\n width: sysSizeCircleXs,\n height: sysSizeCircleXs,\n top: \"-\".concat(sysBorderThicknessNormal),\n left: \"-\".concat(sysBorderThicknessNormal),\n border: \"\".concat(sysBorderThicknessEmphasis, \" solid \").concat(stateFocusBorderColorInner)\n }), sysBorderThicknessNormal); // Checkbox error class\n\n var checkboxErrorState = css(_templateObject12 || (_templateObject12 = _taggedTemplateLiteral([\"\\n label: error;\\n &:checked + label > span > span:first-of-type {\\n border-width: \", \";\\n border-color: \", \";\\n }\\n &:focus + label > span > span:first-of-type:after {\\n \", \";\\n [dir='rtl'] & {\\n left: 0;\\n right: -\", \";\\n }\\n }\\n \"])), sysBorderThicknessEmphasis, sysColorErrorMain, focusAfter({\n radius: sysBorderRadiusSm,\n width: sysSizeCircleXs,\n height: sysSizeCircleXs,\n border: \"\".concat(stateFocusBorderWidthInner, \" solid\\n \").concat(stateErrorFocusBorderColorInner),\n boxShadowColor: stateErrorFocusBorderColorOuter,\n top: \"-\".concat(sysBorderThicknessEmphasis),\n left: \"-\".concat(sysBorderThicknessEmphasis)\n }), sysBorderThicknessEmphasis);\n var errorCheckIconContainer = css(_templateObject13 || (_templateObject13 = _taggedTemplateLiteral([\"\\n label: error_checkbox;\\n border-width: \", \";\\n border-color: \", \";\\n line-height: \", \";\\n \"])), sysBorderThicknessEmphasis, sysColorErrorMain, 1.1);\n var checkboxMessageText = css(_templateObject14 || (_templateObject14 = _taggedTemplateLiteral([\"\\n label: error_text;\\n \", \"\\n display: flex;\\n align-items: center;\\n margin: 0;\\n \"])), textCaption({\n color: sysColorBackgroundMediumContrast\n }));\n var errorIcon = css(_templateObject15 || (_templateObject15 = _taggedTemplateLiteral([\"\\n label: error_icon;\\n color: \", \";\\n margin-inline-end: \", \";\\n \"])), sysColorErrorMain, sysSpaceXs);\n var successIcon = css(_templateObject16 || (_templateObject16 = _taggedTemplateLiteral([\"\\n label: success_icon;\\n color: \", \";\\n margin-inline-end: \", \";\\n \"])), sysColorSuccessMain, sysSpaceXs);\n var labelError = css(_templateObject17 || (_templateObject17 = _taggedTemplateLiteral([\"\\n padding-bottom: \", \";\\n \"])), sysSpaceMd);\n var helper = css(_templateObject18 || (_templateObject18 = _taggedTemplateLiteral([\"\\n label: helper_text;\\n \", \"\\n margin: \", \" 0 0;\\n \"])), textCaption({\n color: sysColorBackgroundMediumContrast\n }), sysSpaceXs);\n var groupHelper = css(_templateObject19 || (_templateObject19 = _taggedTemplateLiteral([\"\\n label: group_helper_text;\\n margin: 0;\\n \"])));\n var checkboxItems = css(_templateObject20 || (_templateObject20 = _taggedTemplateLiteral([\"\\n label: checkbox_items;\\n display: flex;\\n align-items: center;\\n min-height: \", \";\\n margin: 0;\\n \"])), \"1.5rem\");\n var itemThumbnail = css(_templateObject21 || (_templateObject21 = _taggedTemplateLiteral([\"\\n label: thumbnail;\\n display: flex;\\n align-items: center;\\n margin-inline-end: \", \";\\n min-height: auto;\\n pointer-events: none;\\n \"])), sysSpaceSm);\n var itemThumbnailDecoration = css(_templateObject22 || (_templateObject22 = _taggedTemplateLiteral([\"\\n label: thumbnail_decoration;\\n width: \", \";\\n height: \", \";\\n \"])), sysSizeIconLg, sysSizeIconLg);\n var itemText = css(_templateObject23 || (_templateObject23 = _taggedTemplateLiteral([\"\\n label: item_text;\\n margin: 0; /* overwrite default margin */\\n pointer-events: none;\\n \"])));\n var itemSecondaryText = css(_templateObject24 || (_templateObject24 = _taggedTemplateLiteral([\"\\n label: item_secondary_text;\\n display: block;\\n padding-top: \", \";\\n pointer-events: none;\\n \", \";\\n \"])), sysSpaceXs, textCaption({\n color: sysColorBackgroundMediumContrast\n }));\n var groupBaseWithSecText = css(_templateObject25 || (_templateObject25 = _taggedTemplateLiteral([\"\\n label: group_base_with_sec_text;\\n padding: \", \" 0;\\n \"])), sysSpaceSm);\n var legalConsentLabel = css(_templateObject26 || (_templateObject26 = _taggedTemplateLiteral([\"\\n label: legal_consent_label;\\n margin-bottom: \", \";\\n > span:first-of-type {\\n display: flex;\\n }\\n \"])), sysSpaceMd);\n var legalConsentText = css(_templateObject27 || (_templateObject27 = _taggedTemplateLiteral([\"\\n label: legal_consent_text;\\n \", \";\\n \"])), textCaption({\n color: sysColorBackgroundMediumContrast\n }));\n var legalConsentSupportingTextWrapper = css(_templateObject28 || (_templateObject28 = _taggedTemplateLiteral([\"\\n label: legal_consent_supporting_text_wrapper;\\n padding-inline-start: \", \";\\n \", \";\\n margin: 0;\\n \"])), checkboxItemTextSpacing, textCaption({\n color: sysColorBackgroundMediumContrast\n }));\n var legalConsentSupportingTextWrapperWhenNoLabel = css(_templateObject29 || (_templateObject29 = _taggedTemplateLiteral([\"\\n label: legal_consent_supporting_text_wrapper_when_no_label;\\n padding-inline-start: 0;\\n \"])));\n var legalConsentLinksWrapper = css(_templateObject30 || (_templateObject30 = _taggedTemplateLiteral([\"\\n label: legal_consent_links_wrapper;\\n padding: \", \" 0 0 0;\\n margin: 0;\\n list-style-type: none;\\n \"])), sysSpaceMd);\n var legalConsentLinksWrapperWhenNoLabel = css(_templateObject31 || (_templateObject31 = _taggedTemplateLiteral([\"\\n label: legal_consent_links_wrapper_when_no_label;\\n padding-top: 0;\\n \"])));\n var legalConsentGroupSpacing = css(_templateObject32 || (_templateObject32 = _taggedTemplateLiteral([\"\\n label: legal_consent_group_spacing;\\n display: flex;\\n flex-direction: column;\\n row-gap: \", \";\\n align-items: flex-start;\\n \"])), sysSpaceXl);\n return {\n checkboxBase: checkboxBase,\n checkboxGroup: checkboxGroup,\n groupBase: groupBase,\n checkboxLabel: checkboxLabel,\n groupLabel: groupLabel,\n iconLabel: iconLabel,\n checkIconContainer: checkIconContainer,\n checkIcon: checkIcon,\n checkboxInput: checkboxInput,\n checkboxErrorState: checkboxErrorState,\n errorCheckIconContainer: errorCheckIconContainer,\n checkboxMessageText: checkboxMessageText,\n errorIcon: errorIcon,\n partialIcon: partialIcon,\n successIcon: successIcon,\n labelError: labelError,\n helper: helper,\n groupHelper: groupHelper,\n checkboxItems: checkboxItems,\n itemThumbnail: itemThumbnail,\n itemThumbnailDecoration: itemThumbnailDecoration,\n itemText: itemText,\n itemSecondaryText: itemSecondaryText,\n groupBaseWithSecText: groupBaseWithSecText,\n screenReader: screenReader,\n legalConsentLabel: legalConsentLabel,\n legalConsentText: legalConsentText,\n legalConsentSupportingTextWrapper: legalConsentSupportingTextWrapper,\n legalConsentSupportingTextWrapperWhenNoLabel: legalConsentSupportingTextWrapperWhenNoLabel,\n legalConsentLinksWrapper: legalConsentLinksWrapper,\n legalConsentGroupSpacing: legalConsentGroupSpacing,\n legalConsentLinksWrapperWhenNoLabel: legalConsentLinksWrapperWhenNoLabel\n };\n}\nvar _excluded = [\"id\", \"label\", \"aria-label\", \"decoration\", \"secondaryText\", \"labelIcon\", \"helperText\", \"errorText\", \"errorIconAriaLabel\", \"error\", \"successText\", \"successIconAriaLabel\", \"partial\", \"name\", \"dir\", \"className\", \"onChange\", \"inCheckboxGroup\"];\nvar Checkbox = forwardRef(function (_ref, ref) {\n var id = _ref.id,\n label = _ref.label,\n ariaLabel = _ref['aria-label'],\n decoration = _ref.decoration,\n secondaryText = _ref.secondaryText,\n labelIcon = _ref.labelIcon,\n helperText = _ref.helperText,\n errorText = _ref.errorText,\n _ref$errorIconAriaLab = _ref.errorIconAriaLabel,\n errorIconAriaLabel = _ref$errorIconAriaLab === void 0 ? 'Error' : _ref$errorIconAriaLab,\n error = _ref.error,\n successText = _ref.successText,\n _ref$successIconAriaL = _ref.successIconAriaLabel,\n successIconAriaLabel = _ref$successIconAriaL === void 0 ? 'Success' : _ref$successIconAriaL,\n partial = _ref.partial,\n _ref$name = _ref.name,\n name = _ref$name === void 0 ? 'default' : _ref$name,\n dir = _ref.dir,\n className = _ref.className,\n onChange = _ref.onChange,\n inCheckboxGroup = _ref.inCheckboxGroup,\n rest = _objectWithoutProperties(_ref, _excluded);\n var tokens = useTheme();\n var checkboxStyles = useMemo(function () {\n return styles(tokens);\n }, [tokens]);\n var cssVal = [checkboxStyles.checkboxBase, error && checkboxStyles.checkboxErrorState, inCheckboxGroup && checkboxStyles.groupBase, inCheckboxGroup && secondaryText && checkboxStyles.groupBaseWithSecText];\n var checkboxTextItemsElm = function () {\n var thumbnail = decoration && jsx(\"span\", {\n css: checkboxStyles.itemThumbnail,\n \"data-ppui\": \"true\"\n }, jsx(ClassNames, {\n \"data-ppui\": \"true\"\n }, function (_ref2) {\n var css = _ref2.css,\n cx = _ref2.cx;\n return React.cloneElement(decoration, {\n className: cx(decoration.props.className, css(checkboxStyles.itemThumbnailDecoration))\n });\n }));\n var itemText = jsx(\"span\", {\n css: checkboxStyles.itemText,\n \"data-ppui\": \"true\"\n }, jsx(BodyText, {\n as: \"span\",\n css: [!label && checkboxStyles.screenReader],\n \"data-ppui\": \"true\"\n }, label !== null && label !== void 0 ? label : ariaLabel), secondaryText && jsx(CaptionText, {\n css: checkboxStyles.itemSecondaryText,\n as: \"span\",\n \"data-ppui\": \"true\"\n }, secondaryText));\n return jsx(\"span\", {\n css: checkboxStyles.checkboxItems,\n \"data-ppui\": \"true\"\n }, thumbnail, itemText);\n };\n var checkboxId = id !== null && id !== void 0 ? id : uniqueId('Checkbox_');\n var checkboxErrorIcon = jsx(CriticalIcon, {\n css: checkboxStyles.errorIcon,\n size: \"sm\",\n role: \"img\",\n \"aria-label\": errorIconAriaLabel,\n \"data-ppui\": \"true\"\n });\n var checkboxSuccessIcon = jsx(CheckmarkBackgroundIcon, {\n css: checkboxStyles.successIcon,\n size: \"sm\",\n role: \"img\",\n \"aria-label\": successIconAriaLabel,\n \"data-ppui\": \"true\"\n });\n var message;\n if (error && !successText) {\n message = errorText && jsx(\"p\", {\n css: checkboxStyles.checkboxMessageText,\n id: name,\n \"data-ppui\": \"true\"\n }, checkboxErrorIcon, errorText);\n } else if (successText && !error) {\n message = successText && jsx(\"p\", {\n css: checkboxStyles.checkboxMessageText,\n id: name,\n \"data-ppui\": \"true\"\n }, checkboxSuccessIcon, successText);\n }\n return jsx(\"div\", {\n css: cssVal,\n className: className,\n \"data-id\": \"checkbox\",\n dir: dir,\n \"data-ppui-info\": \"checkbox_4.6.1\"\n }, jsx(\"input\", _extends({\n css: [checkboxStyles.checkboxInput, error && checkboxStyles.checkboxErrorState],\n type: \"checkbox\",\n id: checkboxId,\n name: name,\n ref: ref,\n onChange: function handleChange(evt) {\n // stop the propagation to the parent if onChange exists\n\n /* istanbul ignore next */\n if (onChange) {\n evt.stopPropagation();\n onChange(evt);\n }\n }\n }, rest, error && errorText && {\n 'aria-describedby': name,\n 'aria-invalid': true\n }, {\n \"data-ppui\": \"true\"\n })), function renderLabel() {\n var _checkboxStyles$check;\n var labelIconElm = labelIcon && jsx(\"span\", {\n css: checkboxStyles.iconLabel,\n \"data-ppui\": \"true\"\n }, labelIcon);\n var checkboxCheckIcon = jsx(CheckmarkSmIcon, {\n css: checkboxStyles.checkIcon,\n size: \"xs\",\n \"data-ppui\": \"true\"\n });\n var checkboxPartialIcon = jsx(\"span\", {\n css: checkboxStyles.partialIcon,\n \"data-ppui\": \"true\"\n });\n var helperTextElm = !error && !successText && helperText && jsx(\"p\", {\n css: checkboxStyles.helper,\n \"data-ppui\": \"true\"\n }, helperText);\n var iconContainerCssVal = [(_checkboxStyles$check = checkboxStyles.checkIconContainer) === null || _checkboxStyles$check === void 0 ? void 0 : _checkboxStyles$check.call(checkboxStyles, !!decoration), error && checkboxStyles.errorCheckIconContainer];\n var labelContainerCssVal = [checkboxStyles.checkboxLabel, (error || successText) && !inCheckboxGroup && checkboxStyles.labelError];\n var checkboxItemsIcon = partial ? checkboxPartialIcon : checkboxCheckIcon;\n var checkboxItemsElm = jsx(\"span\", {\n css: checkboxStyles.checkboxItems,\n \"data-ppui\": \"true\"\n }, jsx(\"span\", {\n css: iconContainerCssVal,\n \"data-ppui\": \"true\"\n }, checkboxItemsIcon), checkboxTextItemsElm());\n return jsx(\"label\", {\n css: labelContainerCssVal,\n htmlFor: checkboxId,\n \"data-ppui\": \"true\"\n }, checkboxItemsElm, labelIconElm, helperTextElm);\n }(), message);\n});\nvar _excluded$1 = [\"id\", \"name\", \"label\", \"links\", \"onChange\", \"errorText\", \"errorIconAriaLabel\", \"className\", \"children\"];\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}\nvar LegalConsent = forwardRef(function (_ref, ref) {\n var id = _ref.id,\n name = _ref.name,\n label = _ref.label,\n _ref$links = _ref.links,\n links = _ref$links === void 0 ? [] : _ref$links,\n onChange = _ref.onChange,\n errorText = _ref.errorText,\n _ref$errorIconAriaLab = _ref.errorIconAriaLabel,\n errorIconAriaLabel = _ref$errorIconAriaLab === void 0 ? 'Error' : _ref$errorIconAriaLab,\n className = _ref.className,\n children = _ref.children,\n rest = _objectWithoutProperties(_ref, _excluded$1);\n var tokens = useTheme();\n var _styles = useMemo(function () {\n return styles(tokens);\n }, [tokens]);\n var linkComponents = links.map(function (props, index) {\n var link = React.createElement(Link, _objectSpread(_objectSpread({}, props), {}, {\n size: 'sm'\n }));\n return jsx(\"li\", {\n key: index,\n \"data-ppui\": \"true\"\n }, link);\n });\n var checkboxId = id !== null && id !== void 0 ? id : uniqueId('LegalConsent_');\n var cssVal = [_styles.checkboxBase, errorText && _styles.checkboxErrorState];\n var legalConsentSupportingTextWrapperCssVal = [_styles.legalConsentSupportingTextWrapper, label && errorText && _styles.labelError, !(label === null || label === void 0 ? void 0 : label.length) && _styles.legalConsentSupportingTextWrapperWhenNoLabel];\n var legalConsentLinksWrapperCssVal = [_styles.legalConsentGroupSpacing, _styles.legalConsentLinksWrapper, !(label === null || label === void 0 ? void 0 : label.length) && _styles.legalConsentLinksWrapperWhenNoLabel];\n var componentMarkup;\n var Tag = 'p';\n if (linkComponents.length) {\n componentMarkup = jsx(\"ul\", {\n css: legalConsentLinksWrapperCssVal,\n \"data-ppui\": \"true\"\n }, linkComponents);\n Tag = 'div';\n } else {\n componentMarkup = children;\n }\n return jsx(\"div\", {\n css: cssVal,\n className: className,\n \"data-ppui-info\": \"checkbox_4.6.1\"\n }, label && jsx(React.Fragment, null, jsx(\"input\", _extends({\n css: [_styles.checkboxInput, errorText && _styles.checkboxErrorState],\n type: \"checkbox\",\n id: checkboxId,\n name: name,\n ref: ref,\n onChange: function handleChange(evt) {\n // stop the propagation to the parent if onChange exists\n\n /* istanbul ignore next */\n if (onChange) {\n evt.stopPropagation();\n onChange(evt);\n }\n }\n }, rest, errorText && {\n 'aria-describedby': name,\n 'aria-invalid': true\n }, {\n \"data-ppui\": \"true\"\n })), function renderLabel() {\n var _styles$checkIconCont;\n var iconContainerCssVal = [(_styles$checkIconCont = _styles.checkIconContainer) === null || _styles$checkIconCont === void 0 ? void 0 : _styles$checkIconCont.call(_styles, false), errorText && _styles.errorCheckIconContainer];\n var checkboxItemsElm = jsx(\"span\", {\n \"data-ppui\": \"true\"\n }, jsx(\"span\", {\n css: iconContainerCssVal,\n \"data-ppui\": \"true\"\n }, jsx(CheckmarkSmIcon, {\n css: _styles.checkIcon,\n size: \"xs\",\n \"data-ppui\": \"true\"\n })), jsx(CaptionText, {\n css: _styles.legalConsentText,\n as: \"span\",\n \"data-ppui\": \"true\"\n }, label));\n var labelContainerCssVal = [_styles.checkboxLabel, _styles.checkboxItems, _styles.legalConsentLabel];\n return jsx(\"label\", {\n css: labelContainerCssVal,\n htmlFor: checkboxId,\n \"data-ppui\": \"true\"\n }, checkboxItemsElm);\n }()), jsx(Tag, {\n css: legalConsentSupportingTextWrapperCssVal,\n \"data-ppui\": \"true\"\n }, componentMarkup), label && errorText && jsx(\"p\", {\n css: _styles.checkboxMessageText,\n id: name,\n \"data-ppui\": \"true\"\n }, jsx(CriticalIcon, {\n css: _styles.errorIcon,\n size: \"sm\",\n role: \"img\",\n \"aria-label\": errorIconAriaLabel,\n \"data-ppui\": \"true\"\n }), errorText));\n});\nvar _excluded$2 = [\"children\", \"className\"];\nvar LegalConsentGroup = function (_ref) {\n var children = _ref.children,\n className = _ref.className,\n rest = _objectWithoutProperties(_ref, _excluded$2);\n var tokens = useTheme();\n var _styles = useMemo(function () {\n return styles(tokens);\n }, [tokens]);\n return jsx(\"div\", _extends({\n css: _styles.legalConsentGroupSpacing,\n className: className\n }, rest, {\n \"data-ppui\": \"true\"\n }), children);\n};\nvar _excluded$3 = [\"label\", \"labelIcon\", \"helperText\", \"errorText\", \"error\", \"successText\", \"className\", \"children\"];\n\n// eslint-disable-next-line complexity\nvar CheckboxGroup = function (_ref) {\n var label = _ref.label,\n labelIcon = _ref.labelIcon,\n helperText = _ref.helperText,\n errorText = _ref.errorText,\n error = _ref.error,\n successText = _ref.successText,\n className = _ref.className,\n children = _ref.children,\n rest = _objectWithoutProperties(_ref, _excluded$3);\n var tokens = useTheme();\n var _styles = useMemo(function () {\n return styles(tokens);\n }, [tokens]);\n var isError = error && !successText;\n var isSuccess = successText && !error;\n var checkboxErrorIcon = jsx(CriticalIcon, {\n css: _styles.errorIcon,\n size: \"sm\",\n \"data-ppui\": \"true\"\n });\n var checkboxSuccessIcon = jsx(CheckmarkBackgroundIcon, {\n css: _styles.successIcon,\n size: \"sm\",\n \"data-ppui\": \"true\"\n });\n var helperCssVal = [!error && _styles.helper, (isError || isSuccess) && _styles.checkboxMessageText, _styles.groupHelper];\n var message = (errorText || helperText || successText) && jsx(\"p\", {\n css: helperCssVal,\n \"data-ppui\": \"true\"\n }, isError && checkboxErrorIcon, isSuccess && checkboxSuccessIcon, isError && errorText, isSuccess && successText, !isError && !isSuccess && helperText);\n var labelIconElm = labelIcon && jsx(\"span\", {\n css: _styles.iconLabel,\n \"data-ppui\": \"true\"\n }, labelIcon);\n var childProps = {\n error: error,\n inCheckboxGroup: true\n };\n var checkboxList = React.Children.toArray(children).map(function (child) {\n return React.cloneElement(child, childProps);\n });\n return jsx(\"fieldset\", _extends({\n css: [_styles.checkboxGroup, error && _styles.checkboxErrorState],\n className: className,\n \"data-ppui-info\": \"checkbox_4.6.1\"\n }, rest), jsx(\"legend\", {\n css: _styles.groupLabel,\n \"data-ppui\": \"true\"\n }, label, labelIconElm), checkboxList, message);\n};\nexport { Checkbox, CheckboxGroup, LegalConsent, LegalConsentGroup, styles as checkboxStyles };","import _extends from '@babel/runtime/helpers/esm/extends';\nimport _slicedToArray from '@babel/runtime/helpers/esm/slicedToArray';\nimport _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';\nimport { useRef, useState, useLayoutEffect, useMemo } from 'react';\nimport { Button } from '@paypalcorp/pp-react-buttons';\nimport { IconButton } from '@paypalcorp/pp-react-icon-button';\nimport { CloseIcon } from '@paypalcorp/pp-react-icons';\nimport ReactDOM from 'react-dom';\nimport { css, useTheme, jsx } from '@emotion/react';\nimport _taggedTemplateLiteral from '@babel/runtime/helpers/esm/taggedTemplateLiteral';\nimport { math } from 'polished';\nimport { textStyles } from '@paypalcorp/pp-react-text';\nimport { utilStyles, ZINDEX_COACHTIP, uniqueId } from '@paypalcorp/pp-react-utils';\nvar _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8;\nfunction styles(tokens) {\n var sysSpaceXl = tokens.sysSpaceXl,\n sysSizePointerWidthLg = tokens.sysSizePointerWidthLg;\n var _utilStyles = utilStyles(tokens),\n caretStyles = _utilStyles.caretStyles;\n var coachtipCaretVerticalOffset = math(\"\".concat(sysSizePointerWidthLg, \"/2\"));\n var positionTopLeft = css(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n label: position_top_left;\\n \", \";\\n \", \";\\n \"])), caretStyles.positionTop(coachtipCaretVerticalOffset), caretStyles.positionShiftLeft(sysSpaceXl));\n var positionTopCenter = css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral([\"\\n label: position_top_center;\\n \", \";\\n \", \";\\n \"])), caretStyles.positionTop(coachtipCaretVerticalOffset), caretStyles.positionCenter(sysSizePointerWidthLg));\n var positionTopRight = css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral([\"\\n label: position_top_right;\\n \", \";\\n \", \";\\n \"])), caretStyles.positionTop(coachtipCaretVerticalOffset), caretStyles.positionShiftRight(sysSpaceXl));\n var positionLeft = css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral([\"\\n label: position_left;\\n \", \";\\n \"])), caretStyles.positionLeft(coachtipCaretVerticalOffset));\n var positionRight = css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral([\"\\n label: position_right;\\n \", \";\\n \"])), caretStyles.positionRight(coachtipCaretVerticalOffset));\n var positionBottomLeft = css(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral([\"\\n label: position_bottom_left;\\n \", \";\\n \", \";\\n \"])), caretStyles.positionBottom(coachtipCaretVerticalOffset), caretStyles.positionShiftLeft(sysSpaceXl));\n var positionBottomCenter = css(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral([\"\\n label: position_bottom_center;\\n \", \";\\n \", \";\\n \"])), caretStyles.positionBottom(coachtipCaretVerticalOffset), caretStyles.positionCenter(sysSizePointerWidthLg));\n var positionBottomRight = css(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral([\"\\n label: position_bottom_right;\\n \", \";\\n \", \";\\n \"])), caretStyles.positionBottom(coachtipCaretVerticalOffset), caretStyles.positionShiftRight(sysSpaceXl));\n return {\n positionCoachTip: function positionCoachTip(position) {\n return {\n 'top-left': positionTopLeft,\n 'top-center': positionTopCenter,\n 'top-right': positionTopRight,\n left: positionLeft,\n right: positionRight,\n 'bottom-left': positionBottomLeft,\n 'bottom-center': positionBottomCenter,\n 'bottom-right': positionBottomRight\n }[position];\n }\n };\n}\nvar _templateObject$1, _templateObject2$1, _templateObject3$1, _templateObject4$1, _templateObject5$1, _templateObject6$1, _templateObject7$1, _templateObject8$1, _templateObject9, _templateObject10;\nfunction styles$1(tokens) {\n /* istanbul ignore next */\n if (!Object.keys(tokens).length) {\n console.warn('Missing Emotion theme. Use ThemeProvider from @emotion/react to pass a valid theme from pp-react.');\n return {};\n }\n var sysBorderRadiusSm = tokens.sysBorderRadiusSm,\n sysColorBackgroundSurface = tokens.sysColorBackgroundSurface,\n sysSpaceMd = tokens.sysSpaceMd,\n sysSpaceXl = tokens.sysSpaceXl,\n sysSpaceXs = tokens.sysSpaceXs,\n sysSizeIconXs = tokens.sysSizeIconXs,\n sysSizePointerWidthLg = tokens.sysSizePointerWidthLg,\n sysSizeTapTargetSm = tokens.sysSizeTapTargetSm;\n var _utilStyles = utilStyles(tokens),\n caretStyles = _utilStyles.caretStyles,\n elevationStyles = _utilStyles.elevationStyles;\n var _textStyles = textStyles(tokens),\n textBody = _textStyles.body,\n textCaption = _textStyles.caption,\n title = _textStyles.title;\n var _caretPosStyles = styles(tokens),\n positionCoachTip = _caretPosStyles.positionCoachTip; // Calc variables:\n\n var coachtipHeaderCloseBtnMarginCalc = math(\"(\".concat(sysSizeTapTargetSm, \" - \").concat(sysSizeIconXs, \")/2\"));\n var coachtipHeaderCloseBtnSpacingCalc = math(\"(\".concat(coachtipHeaderCloseBtnMarginCalc, \" + \").concat(sysSizeIconXs, \")/2\"));\n var base = css(_templateObject$1 || (_templateObject$1 = _taggedTemplateLiteral([\"\\n label: coach-tip_base;\\n display: none;\\n position: absolute;\\n background-color: \", \";\\n max-width: \", \";\\n padding: \", \";\\n border-radius: \", \";\\n z-index: \", \";\\n \", \";\\n \", \"\\n &:focus {\\n outline: none;\\n }\\n \"])), sysColorBackgroundSurface, '20rem', sysSpaceXl, sysBorderRadiusSm, ZINDEX_COACHTIP, caretStyles.base(sysSizePointerWidthLg), elevationStyles.level3);\n var header = css(_templateObject2$1 || (_templateObject2$1 = _taggedTemplateLiteral([\"\\n label: header;\\n display: flex;\\n width: 100%;\\n justify-content: space-between;\\n \"])));\n var headerText = css(_templateObject3$1 || (_templateObject3$1 = _taggedTemplateLiteral([\"\\n label: header_text;\\n \", \";\\n display: inline-block;\\n margin-bottom: \", \";\\n max-width: calc(100% - \", \");\\n \"])), title(), sysSpaceMd, coachtipHeaderCloseBtnSpacingCalc);\n var noHeaderContentText = css(_templateObject4$1 || (_templateObject4$1 = _taggedTemplateLiteral([\"\\n label: no_header;\\n display: inline-block;\\n max-width: calc(100% - \", \");\\n \"])), coachtipHeaderCloseBtnSpacingCalc);\n var footer = css(_templateObject5$1 || (_templateObject5$1 = _taggedTemplateLiteral([\"\\n label: footer;\\n display: flex;\\n align-items: center;\\n margin-top: \", \";\\n \"])), sysSpaceMd);\n var footerLabel = css(_templateObject6$1 || (_templateObject6$1 = _taggedTemplateLiteral([\"\\n label: footer_label;\\n \", \";\\n display: inline-block;\\n flex: 1 1 auto;\\n \"])), textCaption());\n var footerButtonContainer = css(_templateObject7$1 || (_templateObject7$1 = _taggedTemplateLiteral([\"\\n label: footer_button_container;\\n display: inline-block;\\n \"])));\n var footerButton = css(_templateObject8$1 || (_templateObject8$1 = _taggedTemplateLiteral([\"\\n label: footer_button;\\n margin-left: \", \";\\n [dir='rtl'] & {\\n margin-left: 0;\\n margin-right: \", \";\\n }\\n \"])), sysSpaceXl, sysSpaceXl);\n var contentText = css(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral([\"\\n label: text;\\n \", \";\\n \"])), textBody());\n var closeButton = css(_templateObject10 || (_templateObject10 = _taggedTemplateLiteral([\"\\n label: close_button;\\n margin-top: -\", \";\\n margin-right: -\", \";\\n padding: \", \";\\n z-index: 1;\\n [dir='rtl'] & {\\n margin-right: 0;\\n margin-left: -\", \";\\n }\\n \"])), sysSpaceMd, sysSpaceMd, sysSpaceXs, sysSpaceMd);\n return {\n base: base,\n header: header,\n headerText: headerText,\n contentText: contentText,\n noHeaderContentText: noHeaderContentText,\n footer: footer,\n footerLabel: footerLabel,\n footerButtonContainer: footerButtonContainer,\n footerButton: footerButton,\n closeButton: closeButton,\n positionCoachTip: positionCoachTip\n };\n}\nvar _excluded = [\"id\", \"headerText\", \"text\", \"caretPos\", \"prevButtonText\", \"nextButtonText\", \"onPrevButtonClick\", \"onNextButtonClick\", \"paginationText\", \"targetElementId\", \"targetElementRef\", \"containerRef\", \"isOpen\", \"onClose\", \"className\", \"closeButtonLabel\", \"headerTextClassName\", \"contentTextClassName\", \"paginationTextClassName\", \"prevButtonClassName\", \"nextButtonClassName\"];\nvar getRefCurrent = function (myref) {\n return (/* istanbul ignore next */\n myref && myref.current ? myref.current : null\n );\n};\nvar CoachTip = function (_ref) {\n var _styles$positionCoach;\n var _ref$id = _ref.id,\n id = _ref$id === void 0 ? uniqueId('CoachTip_') : _ref$id,\n headerText = _ref.headerText,\n _ref$text = _ref.text,\n text = _ref$text === void 0 ? 'default' : _ref$text,\n _ref$caretPos = _ref.caretPos,\n caretPos = _ref$caretPos === void 0 ? 'bottom-left' : _ref$caretPos,\n prevButtonText = _ref.prevButtonText,\n nextButtonText = _ref.nextButtonText,\n onPrevButtonClick = _ref.onPrevButtonClick,\n onNextButtonClick = _ref.onNextButtonClick,\n paginationText = _ref.paginationText,\n targetElementId = _ref.targetElementId,\n targetElementRef = _ref.targetElementRef,\n containerRef = _ref.containerRef,\n _ref$isOpen = _ref.isOpen,\n isOpen = _ref$isOpen === void 0 ? true : _ref$isOpen,\n onClose = _ref.onClose,\n className = _ref.className,\n _ref$closeButtonLabel = _ref.closeButtonLabel,\n closeButtonLabel = _ref$closeButtonLabel === void 0 ? 'close coach tip' : _ref$closeButtonLabel,\n headerTextClassName = _ref.headerTextClassName,\n contentTextClassName = _ref.contentTextClassName,\n paginationTextClassName = _ref.paginationTextClassName,\n prevButtonClassName = _ref.prevButtonClassName,\n nextButtonClassName = _ref.nextButtonClassName,\n rest = _objectWithoutProperties(_ref, _excluded);\n\n /* istanbul ignore next */\n if (!targetElementId) {\n console.warn('Required prop targetElementId missing.');\n }\n var coachTipRef = useRef();\n var focusableEls = document.querySelectorAll('a, button, textarea, input, select');\n var initialWidth = useRef();\n var caretWidth;\n var caretHeight;\n var rootFontSize;\n var caretOffset;\n var caretSpaceHorizontal;\n var _useState = useState(isOpen),\n _useState2 = _slicedToArray(_useState, 2),\n show = _useState2[0],\n setShow = _useState2[1];\n /* istanbul ignore next */\n\n var getCaretDimensions = function () {\n var coachTip = getRefCurrent(coachTipRef);\n if (coachTip) {\n var rootFontSizePx = window && window.getComputedStyle(document.body).getPropertyValue('font-size') || '16px';\n rootFontSize = parseInt(rootFontSizePx.split('px')[0], 10);\n caretWidth = 0.9375 * rootFontSize; // 15\n\n caretHeight = 0.5625 * rootFontSize; // 9\n\n caretOffset = 0.25 * rootFontSize; // 4 between caret and tooltip icon\n\n caretSpaceHorizontal = 1.5 * rootFontSize; // 24 from caret to tooltip edge\n }\n };\n /* istanbul ignore next */\n\n var getWindowBoundary = function () {\n var coachTipWindow = getRefCurrent(containerRef);\n if (coachTipWindow) {\n var pos = coachTipWindow.getBoundingClientRect();\n return {\n windowEl: coachTipWindow,\n top: pos.top,\n right: pos.right,\n bottom: pos.bottom,\n left: pos.left\n };\n }\n return {\n windowEl: window,\n top: 0,\n right: window.innerWidth,\n bottom: window.innerHeight,\n left: 0\n };\n };\n var /* istanbul ignore next */\n positionSelf = function (coachTip, targetEl, width, height) {\n if (coachTip && targetEl) {\n var targetElWidth = targetEl.offsetWidth;\n var targetElHeight = targetEl.offsetHeight; // start from targetEl position then move accordingly\n\n var scrollX = window.scrollX || window.pageXOffset;\n var scrollY = window.scrollY || window.pageYOffset;\n var offsetLeft = targetEl.getBoundingClientRect().left + scrollX;\n var offsetTop = targetEl.getBoundingClientRect().top + scrollY;\n var spacingOffset = caretSpaceHorizontal + caretWidth / 2;\n var moveDown = offsetTop + targetElHeight + caretHeight + caretOffset;\n var moveUp = offsetTop - height - caretHeight - caretOffset;\n var shiftLeft = offsetLeft - spacingOffset + targetElWidth / 2;\n var shiftRight = offsetLeft - width + spacingOffset + targetElWidth / 2;\n var shiftCenter = offsetLeft - width / 2 + targetElWidth / 2;\n /* istanbul ignore next */\n\n switch (caretPos) {\n case 'top-left':\n offsetLeft = shiftLeft;\n offsetTop = moveDown;\n break;\n case 'top-center':\n offsetLeft = shiftCenter;\n offsetTop = moveDown;\n break;\n case 'top-right':\n offsetLeft = shiftRight;\n offsetTop = moveDown;\n break;\n case 'left':\n offsetLeft = offsetLeft + targetElWidth + caretWidth + caretOffset;\n offsetTop = offsetTop - height / 2 + targetElHeight / 2;\n break;\n case 'right':\n offsetLeft = offsetLeft - width - caretWidth - caretOffset;\n offsetTop = offsetTop - height / 2 + targetElHeight / 2;\n break;\n case 'bottom-right':\n offsetLeft = shiftRight;\n offsetTop = moveUp;\n break;\n case 'bottom-center':\n offsetLeft = shiftCenter;\n offsetTop = moveUp;\n break;\n default:\n // 'bottom-left':\n offsetLeft = shiftLeft;\n offsetTop = moveUp;\n }\n var _containerElm = getRefCurrent(containerRef);\n if (_containerElm) {\n var containerPos = _containerElm.getBoundingClientRect();\n var scrollTop = _containerElm.scrollTop;\n var scrollLeft = _containerElm.scrollLeft;\n offsetTop = offsetTop - containerPos.top + scrollTop - scrollY;\n offsetLeft = offsetLeft - containerPos.left + scrollLeft - scrollX;\n }\n coachTip.style.top = \"\".concat(offsetTop, \"px\");\n coachTip.style.left = \"\".concat(offsetLeft, \"px\");\n }\n }; // Coach Tip can be narrower than the max width depending on where it is positioned,\n // (e.g. if position close to right of window it will be narrow and tall, therefore,\n // its width must determined before positioning since Coach Tip's width is used in\n // positioning calcs.\n\n /* istanbul ignore next */\n\n var refreshCoachtip = function () {\n var coachTip = getRefCurrent(coachTipRef);\n var targetEl = targetElementRef ? getRefCurrent(targetElementRef) : document.getElementById(targetElementId);\n if (coachTip && targetEl) {\n var coachTipMaxWidthPx = getComputedStyle(coachTip, 'style').maxWidth;\n var coachTipMaxWidth = parseInt(coachTipMaxWidthPx.split('px')[0], 10) || 320;\n var coachTipWindowPos = getWindowBoundary();\n var targetLeft = targetEl.getBoundingClientRect().left;\n var targetWidth = targetEl.offsetWidth;\n var caretCenterToCorner = caretSpaceHorizontal + caretWidth / 2; // Update display property here instead of css to\n // get coach tip height/width to avoid page scroll\n\n coachTip.style.display = 'inline-block';\n var availableSpace;\n var maxWidth;\n /* istanbul ignore next */\n\n switch (caretPos) {\n case 'top-left':\n case 'bottom-left':\n availableSpace = coachTipWindowPos.right - targetLeft - targetWidth / 2;\n maxWidth = availableSpace + caretCenterToCorner;\n break;\n case 'top-right':\n case 'bottom-right':\n availableSpace = targetLeft + targetWidth / 2;\n maxWidth = availableSpace + caretCenterToCorner;\n break;\n case 'top-center':\n case 'bottom-center':\n // find shorter side\n var availableLeftSpace = targetLeft + targetWidth / 2;\n var availableRightSpace = coachTipWindowPos.right - targetLeft - targetWidth / 2;\n availableSpace = availableLeftSpace > availableRightSpace ? availableRightSpace : availableLeftSpace;\n maxWidth = availableSpace * 2;\n break;\n case 'right':\n availableSpace = targetLeft;\n maxWidth = availableSpace - caretOffset - caretWidth;\n break;\n case 'left':\n availableSpace = coachTipWindowPos.right - targetLeft - targetWidth;\n maxWidth = availableSpace - caretOffset - caretWidth;\n break;\n default:\n maxWidth = coachTipMaxWidth;\n }\n var width = maxWidth < initialWidth.current ? maxWidth : initialWidth.current;\n var height = coachTip.offsetHeight;\n positionSelf(coachTip, targetEl, width, height);\n }\n };\n var initializeCoachTip = function () {\n var coachTip = getRefCurrent(coachTipRef);\n /* istanbul ignore next */\n\n if (coachTip) {\n initialWidth.current = coachTip.getBoundingClientRect().width || 320;\n getCaretDimensions();\n coachTip.focus();\n }\n };\n useLayoutEffect(function () {\n initializeCoachTip();\n window.addEventListener('resize', refreshCoachtip);\n return function () {\n window.removeEventListener('resize', refreshCoachtip);\n if (focusableEls.length > 0) {\n var initFocus = focusableEls[0];\n initFocus.focus();\n }\n };\n }, []);\n useLayoutEffect(function () {\n setShow(isOpen);\n if (isOpen) {\n refreshCoachtip();\n }\n return function () {};\n }, [isOpen, headerText, text, nextButtonText, prevButtonText, paginationText]);\n var tokens = useTheme();\n var _styles = useMemo(function () {\n return styles$1(tokens);\n }, [tokens]);\n var coachTipCssVal = [_styles.base, (_styles$positionCoach = _styles.positionCoachTip) === null || _styles$positionCoach === void 0 ? void 0 : _styles$positionCoach.call(_styles, caretPos)];\n var closeButton = jsx(\"span\", {\n css: _styles.closeButton,\n \"data-ppui\": \"true\"\n }, jsx(IconButton, _extends({}, {\n buttonType: 'tertiary',\n size: 'sm',\n svgIconComponent: CloseIcon\n }, {\n onClick: function handleClose(e) {\n if (onClose) {\n onClose(e);\n } else {\n setShow(false);\n }\n /* istanbul ignore next */\n\n if (focusableEls.length > 0) {\n var nextFocus = focusableEls[0];\n nextFocus.focus();\n }\n },\n \"data-ppui\": \"true\"\n }), closeButtonLabel));\n var footerButtons = jsx(\"div\", {\n css: _styles.footerButtonContainer,\n \"data-ppui\": \"true\"\n }, prevButtonText && jsx(Button, {\n tertiary: true,\n css: _styles.footerButton,\n className: prevButtonClassName,\n onClick: onPrevButtonClick,\n \"data-ppui\": \"true\"\n }, prevButtonText), nextButtonText && jsx(Button, {\n tertiary: true,\n css: _styles.footerButton,\n className: nextButtonClassName,\n onClick: onNextButtonClick,\n \"data-ppui\": \"true\"\n }, nextButtonText));\n var label = jsx(\"div\", {\n css: _styles.footerLabel,\n className: paginationTextClassName,\n \"data-ppui\": \"true\"\n }, paginationText);\n var coachTipElement = jsx(\"div\", _extends({\n css: coachTipCssVal,\n className: className,\n id: id,\n ref: coachTipRef,\n role: \"dialog\",\n \"aria-hidden\": !show,\n tabIndex: 0,\n \"data-ppui-info\": \"coach-tip_2.6.9\"\n }, rest), function header() {\n if (headerText) {\n return jsx(\"div\", {\n css: _styles.header,\n \"data-ppui\": \"true\"\n }, jsx(\"div\", {\n css: _styles.headerText,\n className: headerTextClassName,\n \"data-ppui\": \"true\"\n }, headerText), closeButton);\n }\n return jsx(\"div\", {\n css: _styles.header,\n \"data-ppui\": \"true\"\n }, jsx(\"div\", {\n css: [_styles.contentText, _styles.noHeaderContentText],\n className: contentTextClassName,\n \"data-ppui\": \"true\"\n }, text), closeButton);\n }(), headerText && jsx(\"div\", {\n css: _styles.contentText,\n className: contentTextClassName,\n \"data-ppui\": \"true\"\n }, text), (paginationText || prevButtonText || nextButtonText) && jsx(\"div\", {\n css: _styles.footer,\n \"data-ppui\": \"true\"\n }, paginationText && label, footerButtons));\n var containerElm = containerRef && containerRef.current;\n return show && ReactDOM.createPortal(coachTipElement, containerElm || document.body);\n};\nexport { CoachTip, styles$1 as coachTipStyles };","import _extends from '@babel/runtime/helpers/esm/extends';\nimport _toConsumableArray from '@babel/runtime/helpers/esm/toConsumableArray';\nimport _slicedToArray from '@babel/runtime/helpers/esm/slicedToArray';\nimport _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';\nimport React, { useRef, useEffect, useMemo } from 'react';\nimport { TextInput } from '@paypalcorp/pp-react-text-input';\nimport { CriticalIcon } from '@paypalcorp/pp-react-icons';\nimport { css, useTheme, jsx, ClassNames } from '@emotion/react';\nimport { KeyboardCode } from '@paypalcorp/pp-react-utils';\nimport _taggedTemplateLiteral from '@babel/runtime/helpers/esm/taggedTemplateLiteral';\nimport { textStyles } from '@paypalcorp/pp-react-text';\nvar _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9;\nfunction styles(tokens) {\n /* istanbul ignore next */\n if (!Object.keys(tokens).length) {\n console.warn('Missing Emotion theme. Use ThemeProvider from @emotion/react to pass a valid theme from pp-react.');\n return {};\n }\n\n // 40px\n var sysColorBackgroundMediumContrast = tokens.sysColorBackgroundMediumContrast,\n sysSpaceSm = tokens.sysSpaceSm,\n sysTypographyFieldValueLgLineHeight = tokens.sysTypographyFieldValueLgLineHeight,\n sysSpaceXs = tokens.sysSpaceXs,\n sysSizeMediaSm = tokens.sysSizeMediaSm,\n sysSizeFieldSm = tokens.sysSizeFieldSm,\n sysColorErrorMain = tokens.sysColorErrorMain;\n var _textStyles = textStyles(tokens),\n headingSm = _textStyles.headingSm,\n caption = _textStyles.caption;\n var base = css(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n label: code_input_base;\\n display: inline-block;\\n \"])));\n var codeInputTextInput = css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral([\"\\n label: code_input_text_input;\\n width: \", \";\\n margin-right: \", \"; // 8px, gap property doesn't work\\n margin-bottom: \", \"; // 8px, gap property doesn't work\\n \", \";\\n @media (max-width: \", \") {\\n width: \", \";\\n }\\n \"])), sysSizeFieldSm, sysSpaceSm, sysSpaceSm, headingSm(), sysSizeMediaSm, '2.5rem');\n var codeInputTextInputWithError = css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral([\"\\n label: code_input_text_input_with_error;\\n padding: 0;\\n \"])));\n var codeInputTextInputControl = css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral([\"\\n label: code_input_text_input_control;\\n \", \";\\n text-align: center;\\n padding: 0;\\n caret-color: transparent; // change the blinking caret color in text input\\n -webkit-touch-callout: none; // iOS Safari disable text selection highlight\\n\\n // hide counter buttons for type:number (safari/chrome)\\n &::-webkit-outer-spin-button,\\n &::-webkit-inner-spin-button {\\n -webkit-appearance: none;\\n margin: 0;\\n }\\n // hide counter buttons for type:number (firefox)\\n &[type='number'] {\\n -moz-appearance: textfield;\\n }\\n\\n // remove text highlight\\n &::selection {\\n background: transparent;\\n }\\n &::-moz-selection {\\n background: transparent;\\n }\\n\\n // overwrite to fix the issue with bottom text getting cropped on chrome\\n &:first-line {\\n line-height: \", \";\\n }\\n \"])), headingSm(), sysTypographyFieldValueLgLineHeight);\n var inputWrapper = css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral([\"\\n label: input_wrapper;\\n display: flex;\\n margin-right: -\", \"; // -8px to compensate spacing on input wrapper\\n margin-bottom: -\", \"; // -8px to compensate spacing on input wrapper\\n flex-wrap: wrap;\\n [dir='rtl'] & {\\n direction: ltr; // use ltr direction for input fields\\n }\\n \"])), sysSpaceSm, sysSpaceSm);\n var error = css(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral([\"\\n label: error;\\n margin-top: \", \";\\n display: flex;\\n align-items: center;\\n \"])), sysSpaceXs);\n var errorText = css(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral([\"\\n label: error_text;\\n \", \";\\n color: \", \";\\n flex-grow: 1;\\n width: 0;\\n \"])), caption(), sysColorBackgroundMediumContrast);\n var errorIcon = css(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral([\"\\n label: error_icon;\\n color: \", \";\\n margin-right: \", \";\\n [dir='rtl'] & {\\n margin-right: 0;\\n margin-left: \", \";\\n }\\n \"])), sysColorErrorMain, sysSpaceXs, sysSpaceXs);\n var errorTextList = css(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral([\"\\n label: error_text_list;\\n list-style: none;\\n padding: 0;\\n margin: 0;\\n \"])));\n return {\n base: base,\n codeInputTextInput: codeInputTextInput,\n codeInputTextInputWithError: codeInputTextInputWithError,\n codeInputTextInputControl: codeInputTextInputControl,\n inputWrapper: inputWrapper,\n error: error,\n errorText: errorText,\n errorIcon: errorIcon,\n errorTextList: errorTextList\n };\n}\nvar _excluded = [\"alphaCharCapitalize\", \"className\", \"errorText\", \"error\", \"name\", \"id\", \"inputClassName\", \"inputWrapperClassName\", \"onChange\", \"pinLength\", \"value\", \"autoFocus\", \"onBlur\", \"onFocus\", \"numberOnly\"];\nvar CodeInput = React.forwardRef(function (_ref, ref) {\n var _ref$alphaCharCapital = _ref.alphaCharCapitalize,\n alphaCharCapitalize = _ref$alphaCharCapital === void 0 ? false : _ref$alphaCharCapital,\n className = _ref.className,\n errorText = _ref.errorText,\n _ref$error = _ref.error,\n error = _ref$error === void 0 ? !!errorText : _ref$error,\n _ref$name = _ref.name,\n name = _ref$name === void 0 ? 'default' : _ref$name,\n _ref$id = _ref.id,\n id = _ref$id === void 0 ? name : _ref$id,\n inputClassName = _ref.inputClassName,\n inputWrapperClassName = _ref.inputWrapperClassName,\n _ref$onChange = _ref.onChange,\n onChange = _ref$onChange === void 0 ? console.warn('Required prop `onChange` is missing') : _ref$onChange,\n _ref$pinLength = _ref.pinLength,\n pinLength = _ref$pinLength === void 0 ? 6 : _ref$pinLength,\n _ref$value = _ref.value,\n value = _ref$value === void 0 ? '' : _ref$value,\n autoFocus = _ref.autoFocus,\n _ref$onBlur = _ref.onBlur,\n onBlur = _ref$onBlur === void 0 ? null : _ref$onBlur,\n _ref$onFocus = _ref.onFocus,\n onFocus = _ref$onFocus === void 0 ? null : _ref$onFocus,\n _ref$numberOnly = _ref.numberOnly,\n numberOnly = _ref$numberOnly === void 0 ? false : _ref$numberOnly,\n rest = _objectWithoutProperties(_ref, _excluded);\n var internalRef = useRef([]);\n var inputFieldRef = ref || internalRef; // pin length 3-6\n\n var MAX_PIN = 6;\n var NUM_REGEX = /^[0-9]+$/;\n var keyEventsArry = [KeyboardCode.NAME_BACKSPACE, KeyboardCode.NAME_DELETE, KeyboardCode.NAME_TAB];\n var _React$useState = React.useState(false),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n focused = _React$useState2[0],\n setFocused = _React$useState2[1]; // check pin length and convert into array\n\n var pinArray = pinLength < 3 || pinLength >= MAX_PIN ? _toConsumableArray(Array(MAX_PIN).keys()) : _toConsumableArray(Array(pinLength).keys()); // convert it into an array and remove empty value\n\n var valueArr = value && value.split('').map(function (val) {\n return val === ' ' ? '' : val;\n }); // generate the final code\n\n var generateCode = function () {\n // generate the final code and add spaces for empty value\n var pinArr = inputFieldRef.current.map(function (input) {\n return input.value === '' ? ' ' : input.value;\n }).join(''); // onChange is called on each key\n\n if (onChange) {\n onChange(pinArr);\n }\n }; // focus on field provided an index valid\n\n var focusOnField = function (idx) {\n // check if idx is in the range\n if (inputFieldRef && inputFieldRef.current[idx]) {\n inputFieldRef.current[idx].focus();\n }\n };\n var handleInput = function (evt, idx) {\n // move focus fwd if there is a value\n if (evt.target.value !== '') {\n focusOnField(idx + 1);\n } // capitalize the characters\n\n if (alphaCharCapitalize) {\n evt.target.value = evt.target.value.toUpperCase();\n } // filter out if more than two characters\n\n if (evt.target.value.length > 1) {\n evt.target.value = evt.target.value.slice(0, 1);\n }\n generateCode();\n };\n useEffect(function () {\n if (autoFocus) {\n focusOnField(0);\n }\n }, []);\n /* eslint-disable complexity */\n\n var handleKeyDown = function (evt, idx) {\n /* istanbul ignore next */\n var keyCode = evt.key || evt.keyCode;\n var KeyCode = new KeyboardCode(keyCode);\n if (KeyCode.IS_SPACEBAR || KeyCode.IS_HOME || KeyCode.IS_END || KeyCode.IS_ARROW_KEY) {\n evt.preventDefault();\n }\n if (KeyCode.IS_BACKSPACE || KeyCode.IS_DELETE) {\n /* istanbul ignore next */\n if (evt.target.value === '' || evt.target.value === ' ') {\n focusOnField(idx - 1);\n } else {\n /* istanbul ignore next */\n evt.target.value = ' ';\n /* istanbul ignore next */\n\n generateCode();\n }\n } else if (KeyCode.IS_ARROW_LEFT) {\n focusOnField(idx - 1); // move focus back\n } else if (KeyCode.IS_ARROW_RIGHT) {\n focusOnField(idx + 1); // move focus forward\n } else if (KeyCode.IS_HOME) {\n focusOnField(0); // move focus back\n } else if (KeyCode.IS_END) {\n focusOnField(pinLength - 1); // move focus to last\n } else {\n evt.target.select(); // select the value so it can be replaced\n } // to allow paste command ctrl + v / cmd + v\n\n if ((evt.ctrlKey || evt.metaKey) && keyCode === 'v') {\n return;\n } // limit users to allow only numeric value\n\n if (!keyCode.match(NUM_REGEX) && !keyEventsArry.includes(keyCode) && numberOnly) {\n evt.preventDefault();\n }\n };\n /* eslint-enable complexity */\n // set ref of each input field and manually add the value\n // to make it a controlled component\n\n var setRef = function (el, idx) {\n if (el) {\n inputFieldRef.current[idx] = el;\n inputFieldRef.current[idx].value = valueArr ? valueArr[idx] : '';\n }\n };\n var handleBlur = function (event) {\n /* istanbul ignore else */\n if (onBlur && !inputFieldRef.current.includes(event.relatedTarget)) {\n onBlur(event);\n setFocused(false);\n }\n };\n var handleFocus = function (event) {\n /* istanbul ignore else */\n if (onFocus && !focused) {\n setFocused(true);\n onFocus(event);\n }\n }; // handle paste\n\n var handlePaste = function (evt) {\n var clipboardValue = evt.clipboardData && evt.clipboardData.getData('text'); // ignore the default behavior, onPaste calls onChange\n\n evt.preventDefault();\n if (clipboardValue && !clipboardValue.match(NUM_REGEX) && numberOnly) {\n return;\n }\n var pastedArr = clipboardValue && clipboardValue.replace(/\\s/g, '').split('');\n var minArr = Math.min(pastedArr && pastedArr.length, inputFieldRef.current.length);\n for (var i = 0; i < minArr; i++) {\n inputFieldRef.current[i].value = alphaCharCapitalize ? pastedArr[i].toUpperCase() : pastedArr[i];\n } // focus on next field or focus on the last field\n\n focusOnField(minArr === inputFieldRef.current.length ? minArr - 1 : minArr);\n generateCode();\n };\n var tokens = useTheme(); // Fetch tokens from Emotion context\n\n var _styles = useMemo(function () {\n return styles(tokens);\n }, [tokens]);\n var containerCSS = _styles.base;\n var loadInputField = pinArray.map(function (idx) {\n return jsx(ClassNames, {\n key: idx,\n \"data-ppui\": \"true\"\n }, function (_ref3) {\n var css = _ref3.css,\n cx = _ref3.cx;\n return jsx(TextInput, _extends({\n key: idx,\n className: cx(css([_styles.codeInputTextInput, errorText && _styles.error]), inputWrapperClassName),\n inputClassName: cx(css([_styles.codeInputTextInputControl, errorText && _styles.codeInputTextInputWithError]), inputClassName),\n \"aria-label\": \"\".concat(idx + 1, \"-\").concat(pinArray.length),\n name: \"\".concat(name, \"-\").concat(idx),\n id: \"ci-\".concat(id, \"-\").concat(idx),\n ref: function (el) {\n return setRef(el, idx);\n },\n onInput: function onInput(evt) {\n return handleInput(evt, idx);\n },\n onKeyDown: function onKeyDown(evt) {\n return handleKeyDown(evt, idx);\n },\n onPaste: function onPaste(evt) {\n return handlePaste(evt);\n },\n onFocus: handleFocus,\n onBlur: handleBlur,\n \"aria-describedby\": error ? \"message_\".concat(name) : null,\n error: error && !!errorText,\n pattern: numberOnly ? '[0-9]*' : ''\n }, rest, {\n \"data-ppui\": \"true\"\n }));\n });\n });\n return jsx(\"div\", {\n css: containerCSS,\n className: className,\n id: id,\n \"data-ppui-info\": \"code-input_2.2.10\"\n }, jsx(\"div\", {\n css: _styles.inputWrapper,\n \"data-ppui\": \"true\"\n }, loadInputField), errorText && function loadError() {\n var processText = Array.isArray(errorText) ? jsx(\"ul\", {\n css: _styles.errorTextList,\n \"data-ppui\": \"true\"\n }, errorText.map(function (text, index) {\n return jsx(\"li\", {\n key: \"text$-\".concat(index),\n \"data-ppui\": \"true\"\n }, text);\n })) : errorText;\n return jsx(ClassNames, {\n \"data-ppui\": \"true\"\n }, function (_ref2) {\n var css = _ref2.css;\n return jsx(\"div\", {\n css: _styles.error,\n id: \"message_\".concat(name),\n role: \"alert\",\n \"data-ppui\": \"true\"\n }, jsx(CriticalIcon // Refactor this with ClassName\n , {\n className: css(_styles.errorIcon),\n size: \"sm\",\n \"aria-hidden\": \"true\",\n \"data-ppui\": \"true\"\n }), jsx(\"span\", {\n css: _styles.errorText,\n \"data-ppui\": \"true\"\n }, processText));\n });\n }());\n});\nexport { CodeInput, styles as codeInputStyles };","import _extends from '@babel/runtime/helpers/esm/extends';\nimport _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';\nimport { useMemo } from 'react';\nimport { css, useTheme, jsx } from '@emotion/react';\nimport _taggedTemplateLiteral from '@babel/runtime/helpers/esm/taggedTemplateLiteral';\nimport { rem, math } from 'polished';\nconst flagData = {\n \"countries\": {\n \"ad\": \"0.431\",\n \"ae\": \"0.862\",\n \"ag\": \"1.293\",\n \"ai\": \"1.724\",\n \"al\": \"2.155\",\n \"am\": \"2.586\",\n \"an\": \"3.017\",\n \"ao\": \"3.448\",\n \"ar\": \"3.879\",\n \"at\": \"4.310\",\n \"au\": \"4.741\",\n \"aw\": \"5.172\",\n \"az\": \"5.603\",\n \"ba\": \"6.034\",\n \"bb\": \"6.466\",\n \"be\": \"6.897\",\n \"bf\": \"7.328\",\n \"bg\": \"7.759\",\n \"bh\": \"8.190\",\n \"bi\": \"8.621\",\n \"bj\": \"9.052\",\n \"bm\": \"9.483\",\n \"bn\": \"9.914\",\n \"bo\": \"10.345\",\n \"br\": \"10.776\",\n \"bs\": \"11.207\",\n \"bt\": \"11.638\",\n \"bw\": \"12.069\",\n \"by\": \"12.500\",\n \"bz\": \"12.931\",\n \"c2\": \"13.362\",\n \"ca\": \"13.793\",\n \"cd\": \"14.224\",\n \"cg\": \"14.655\",\n \"ch\": \"15.086\",\n \"ci\": \"15.517\",\n \"ck\": \"15.948\",\n \"cl\": \"16.379\",\n \"cm\": \"16.810\",\n \"cn\": \"17.241\",\n \"co\": \"17.672\",\n \"cr\": \"18.103\",\n \"cv\": \"18.534\",\n \"cy\": \"18.966\",\n \"cz\": \"19.397\",\n \"de\": \"19.828\",\n \"dj\": \"20.259\",\n \"dk\": \"20.690\",\n \"dm\": \"21.121\",\n \"do\": \"21.552\",\n \"dz\": \"21.983\",\n \"ec\": \"22.414\",\n \"ee\": \"22.845\",\n \"eg\": \"23.276\",\n \"er\": \"23.707\",\n \"es\": \"24.138\",\n \"et\": \"24.569\",\n \"fi\": \"25.000\",\n \"fj\": \"25.431\",\n \"fk\": \"25.862\",\n \"fm\": \"26.293\",\n \"fo\": \"26.724\",\n \"fr\": \"27.155\",\n \"ga\": \"27.586\",\n \"gb\": \"28.017\",\n \"gd\": \"28.448\",\n \"ge\": \"28.879\",\n \"gf\": \"29.310\",\n \"gi\": \"29.741\",\n \"gl\": \"30.172\",\n \"gm\": \"30.603\",\n \"gn\": \"31.034\",\n \"gp\": \"31.466\",\n \"gr\": \"31.897\",\n \"gt\": \"32.328\",\n \"gw\": \"32.759\",\n \"gy\": \"33.190\",\n \"hk\": \"33.621\",\n \"hn\": \"34.052\",\n \"hr\": \"34.483\",\n \"hu\": \"34.914\",\n \"id\": \"35.345\",\n \"ie\": \"35.776\",\n \"il\": \"36.207\",\n \"in\": \"36.638\",\n \"is\": \"37.069\",\n \"it\": \"37.500\",\n \"jm\": \"37.931\",\n \"jo\": \"38.362\",\n \"jp\": \"38.793\",\n \"ke\": \"39.224\",\n \"kg\": \"39.655\",\n \"kh\": \"40.086\",\n \"ki\": \"40.517\",\n \"km\": \"40.948\",\n \"kn\": \"41.379\",\n \"kr\": \"41.810\",\n \"kw\": \"42.241\",\n \"ky\": \"42.672\",\n \"kz\": \"43.103\",\n \"la\": \"43.534\",\n \"lc\": \"43.966\",\n \"li\": \"44.397\",\n \"lk\": \"44.828\",\n \"ls\": \"45.259\",\n \"lt\": \"45.690\",\n \"lu\": \"46.121\",\n \"lv\": \"46.552\",\n \"ma\": \"46.983\",\n \"mc\": \"47.414\",\n \"md\": \"47.845\",\n \"me\": \"48.276\",\n \"mg\": \"48.707\",\n \"mh\": \"49.138\",\n \"mk\": \"49.569\",\n \"ml\": \"50.000\",\n \"mn\": \"50.431\",\n \"mq\": \"50.862\",\n \"mr\": \"51.293\",\n \"ms\": \"51.724\",\n \"mt\": \"52.155\",\n \"mu\": \"52.586\",\n \"mv\": \"53.017\",\n \"mw\": \"53.448\",\n \"mx\": \"53.879\",\n \"my\": \"54.310\",\n \"mz\": \"54.741\",\n \"na\": \"55.172\",\n \"nc\": \"55.603\",\n \"ne\": \"56.034\",\n \"nf\": \"56.466\",\n \"ng\": \"56.897\",\n \"ni\": \"57.328\",\n \"nl\": \"57.759\",\n \"no\": \"58.190\",\n \"np\": \"58.621\",\n \"nr\": \"59.052\",\n \"nu\": \"59.483\",\n \"nz\": \"59.914\",\n \"om\": \"60.345\",\n \"pa\": \"60.776\",\n \"pe\": \"61.207\",\n \"pf\": \"61.638\",\n \"pg\": \"62.069\",\n \"ph\": \"62.500\",\n \"pl\": \"62.931\",\n \"pm\": \"63.362\",\n \"pn\": \"63.793\",\n \"pt\": \"64.224\",\n \"pw\": \"64.655\",\n \"py\": \"65.086\",\n \"qa\": \"65.517\",\n \"re\": \"65.948\",\n \"ro\": \"66.379\",\n \"rs\": \"66.810\",\n \"ru\": \"67.241\",\n \"rw\": \"67.672\",\n \"sa\": \"68.103\",\n \"sb\": \"68.534\",\n \"sc\": \"68.966\",\n \"se\": \"69.397\",\n \"sg\": \"69.828\",\n \"sh\": \"70.259\",\n \"si\": \"70.690\",\n \"sj\": \"71.121\",\n \"sk\": \"71.552\",\n \"sl\": \"71.983\",\n \"sm\": \"72.414\",\n \"sn\": \"72.845\",\n \"so\": \"73.276\",\n \"sr\": \"73.707\",\n \"st\": \"74.138\",\n \"sv\": \"74.569\",\n \"sz\": \"75.000\",\n \"tc\": \"75.431\",\n \"td\": \"75.862\",\n \"tg\": \"76.293\",\n \"th\": \"76.724\",\n \"tj\": \"77.155\",\n \"tm\": \"77.586\",\n \"tn\": \"78.017\",\n \"to\": \"78.448\",\n \"tr\": \"78.879\",\n \"tt\": \"79.310\",\n \"tv\": \"79.741\",\n \"tw\": \"0.000\",\n \"tz\": \"80.603\",\n \"ua\": \"81.034\",\n \"ug\": \"81.466\",\n \"us\": \"81.897\",\n \"uy\": \"82.328\",\n \"va\": \"82.759\",\n \"vc\": \"83.190\",\n \"ve\": \"83.621\",\n \"vg\": \"84.052\",\n \"vn\": \"84.483\",\n \"vu\": \"84.914\",\n \"wf\": \"85.345\",\n \"ws\": \"85.776\",\n \"ye\": \"86.207\",\n \"yt\": \"86.638\",\n \"za\": \"87.069\",\n \"zm\": \"87.500\",\n \"zw\": \"87.931\",\n \"eu\": \"88.362\",\n \"af\": \"88.793\",\n \"as\": \"89.224\",\n \"bd\": \"89.655\",\n \"io\": \"90.086\",\n \"cf\": \"90.517\",\n \"cx\": \"90.948\",\n \"cc\": \"91.379\",\n \"gq\": \"91.810\",\n \"gh\": \"92.241\",\n \"gu\": \"92.672\",\n \"gg\": \"93.103\",\n \"ht\": \"93.534\",\n \"im\": \"93.966\",\n \"lb\": \"94.397\",\n \"je\": \"94.828\",\n \"lr\": \"95.259\",\n \"mo\": \"95.690\",\n \"mm\": \"96.121\",\n \"mp\": \"96.552\",\n \"pk\": \"96.983\",\n \"ps\": \"97.414\",\n \"pr\": \"97.845\",\n \"tl\": \"98.276\",\n \"tk\": \"98.707\",\n \"vi\": \"99.138\",\n \"uz\": \"99.569\",\n \"eh\": \"100.000\"\n },\n \"sprites\": {\n \"1x\": {\n \"url\": \"https://www.paypalobjects.com/paypal-ui/components/flags/1x.png\",\n \"width\": 32,\n \"height\": 24\n },\n \"2x\": {\n \"url\": \"https://www.paypalobjects.com/paypal-ui/components/flags/2x.png\",\n \"width\": 64,\n \"height\": 48\n },\n \"3x\": {\n \"url\": \"https://www.paypalobjects.com/paypal-ui/components/flags/3x.png\",\n \"width\": 96,\n \"height\": 72\n }\n }\n};\nvar _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;\nfunction styles(tokens) {\n /* istanbul ignore next */\n if (!Object.keys(tokens).length) {\n console.warn('Missing Emotion theme. Use ThemeProvider from @emotion/react to pass a valid theme from pp-react.');\n return {};\n }\n var sysBorderRadiusSm = tokens.sysBorderRadiusSm,\n sysBorderThicknessNormal = tokens.sysBorderThicknessNormal,\n sysColorStructureDivider = tokens.sysColorStructureDivider,\n sysSizeIconSm = tokens.sysSizeIconSm,\n sysSizeIconMd = tokens.sysSizeIconMd;\n var countries = flagData.countries,\n sprites = flagData.sprites;\n var sprite1x = sprites['1x'];\n var sprite2x = sprites['2x'];\n var flagSprite1XUrl = sprite1x.url;\n var flagSprite2XUrl = sprite2x.url;\n var flagSprite1XWidth = rem(sprite1x.width);\n var flagSprite1XHeight = rem(sprite1x.height);\n var flagSprite2XWidth = rem(sprite2x.width);\n var flagSprite2XHeight = rem(sprite2x.height);\n var flagWidth = {\n sm: sysSizeIconSm,\n md: sysSizeIconMd\n };\n var countryScale = function (size) {\n var density = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '1x';\n var calculatedVal = math(\"\".concat(flagWidth[size], \" / \").concat(density === '1x' ? flagSprite1XWidth : flagSprite2XWidth));\n return parseFloat(calculatedVal);\n };\n var base = css(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n label: flag;\\n display: inline-block;\\n box-sizing: border-box;\\n position: relative;\\n \"])));\n var flagSize = function (size) {\n var sizeLabel = \"size_\".concat(size);\n return css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral([\"\\n label: \", \";\\n width: \", \";\\n height: \", \";\\n \"])), sizeLabel, flagWidth[size], math(\"\".concat(flagWidth[size], \" * \").concat(3 / 4)));\n };\n var scale = function (size, noRoundCorners) {\n return css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral([\"\\n label: \", \";\\n width: \", \";\\n height: \", \";\\n background: transparent url(\", \") no-repeat;\\n background-size: cover;\\n background-origin: border-box;\\n transform-origin: top left;\\n position: absolute;\\n left: 0;\\n border: \", \" solid \", \";\\n transform: scale(\", \");\\n border-radius: \", \";\\n @media only screen and (min-device-pixel-ratio: 2),\\n only screen and (min-resolution: 192dpi),\\n only screen and (min-resolution: 2dppx) {\\n width: \", \";\\n height: \", \";\\n background-image: url(\", \");\\n transform: scale(\", \");\\n border-radius: \", \";\\n }\\n \"])), noRoundCorners ? 'scale_no_border' : 'scale', flagSprite1XWidth, flagSprite1XHeight, flagSprite1XUrl, sysBorderThicknessNormal, sysColorStructureDivider, countryScale(size), noRoundCorners ? 0 : math(\"\".concat(sysBorderRadiusSm, \"/\").concat(countryScale(size))), flagSprite2XWidth, flagSprite2XHeight, flagSprite2XUrl, countryScale(size, '2x'), noRoundCorners ? 0 : math(\"\".concat(sysBorderRadiusSm, \"/\").concat(countryScale(size, '2x'))));\n };\n var flag = function (countryCode) {\n if (!countryCode) {\n return css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral([\"\\n label: flag_default;\\n background-position: 0 0%;\\n \"])));\n }\n var country = countryCode.toLocaleLowerCase(); // @ts-ignore\n\n var backgroundPosition = countries[country] || 0;\n var flagLabel = backgroundPosition ? \"flag_\".concat(country) : \"flag_default\";\n return css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral([\"\\n label: \", \";\\n // We are using percentage value to support text-scaling.\\n // In case flag sprite gets changed, it needs to be deployed as a brand-new URL\\n //without replacing the old file for backward-compatibility\\n background-position: 0 \", \"%;\\n \"])), flagLabel, backgroundPosition);\n };\n return {\n base: base,\n flagSize: flagSize,\n scale: scale,\n flag: flag\n };\n}\nvar _excluded = [\"countryCode\", \"size\", \"noRoundCorners\", \"className\"];\nvar Flag = function (_ref) {\n var _styles$flagSize, _styles$scale, _styles$flag;\n var countryCode = _ref.countryCode,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 'sm' : _ref$size,\n _ref$noRoundCorners = _ref.noRoundCorners,\n noRoundCorners = _ref$noRoundCorners === void 0 ? false : _ref$noRoundCorners,\n className = _ref.className,\n rest = _objectWithoutProperties(_ref, _excluded);\n var tokens = useTheme();\n var _styles = useMemo(function () {\n return styles(tokens);\n }, [tokens]);\n var containerCssVal = [_styles.base, (_styles$flagSize = _styles.flagSize) === null || _styles$flagSize === void 0 ? void 0 : _styles$flagSize.call(_styles, size)];\n var flagCssVal = [(_styles$scale = _styles.scale) === null || _styles$scale === void 0 ? void 0 : _styles$scale.call(_styles, size, noRoundCorners), (_styles$flag = _styles.flag) === null || _styles$flag === void 0 ? void 0 : _styles$flag.call(_styles, countryCode)];\n return jsx(\"div\", _extends({\n css: containerCssVal,\n className: className,\n \"data-ppui-info\": \"flag_2.17.0\"\n }, rest), jsx(\"span\", {\n css: flagCssVal,\n \"data-ppui\": \"true\"\n }));\n};\nexport { Flag, styles as flagStyles };","import _extends from '@babel/runtime/helpers/esm/extends';\nimport _defineProperty from '@babel/runtime/helpers/esm/defineProperty';\nimport _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';\nimport React, { useContext } from 'react';\nimport { Combobox } from '@paypalcorp/pp-react-combobox';\nimport { IntlContext } from '@paypalcorp/pp-react-intl';\nimport { Flag } from '@paypalcorp/pp-react-flag';\nvar _excluded = [\"name\", \"value\", \"label\", \"countryList\", \"onOpen\", \"onChange\", \"onFocus\", \"sheetWrapperClassName\"],\n _excluded2 = [\"countryCode\", \"label\"];\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}\nvar CountryInput = function (_ref) {\n var _ref$name = _ref.name,\n name = _ref$name === void 0 ? 'default' : _ref$name,\n value = _ref.value,\n _ref$label = _ref.label,\n label = _ref$label === void 0 ? 'Country or region' : _ref$label,\n _ref$countryList = _ref.countryList,\n countryList = _ref$countryList === void 0 ? [] : _ref$countryList,\n onOpen = _ref.onOpen,\n onChange = _ref.onChange,\n _ref$onFocus = _ref.onFocus,\n onFocus = _ref$onFocus === void 0 ? null : _ref$onFocus,\n sheetWrapperClassName = _ref.sheetWrapperClassName,\n rest = _objectWithoutProperties(_ref, _excluded);\n\n /* istanbul ignore next */\n if (!countryList || !(countryList === null || countryList === void 0 ? void 0 : countryList.length)) {\n console.warn('Required prop `countryList` is missing.');\n }\n var intlContext = useContext(IntlContext);\n var options;\n var filterProps = function (country, displayNamesObj) {\n var countryCode = country.countryCode,\n optionLabel = country.label,\n optionRest = _objectWithoutProperties(country, _excluded2); // istanbul ignore next\n\n return _objectSpread({\n label: optionLabel || displayNamesObj && displayNamesObj.select(countryCode),\n value: countryCode,\n decoration: /*#__PURE__*/React.createElement(Flag, {\n countryCode: countryCode,\n size: \"md\",\n \"data-ppui\": \"true\"\n })\n }, optionRest);\n };\n /* istanbul ignore else */\n\n if (!intlContext || !intlContext.getDisplayNamesObject) {\n options = countryList.map(function (country) {\n return filterProps(country, null);\n });\n } else {\n var displayNamesObj = intlContext.getDisplayNamesObject({\n type: 'region'\n });\n options = countryList.map(function (country) {\n return filterProps(country, displayNamesObj);\n });\n }\n return /*#__PURE__*/React.createElement(Combobox, _extends({\n name: name,\n value: value,\n options: options,\n label: label,\n onOpen: onOpen,\n onChange: onChange,\n onFocus: onFocus,\n sheetWrapperClassName: sheetWrapperClassName,\n \"data-ppui-info\": \"country-input_2.4.16\"\n }, rest));\n};\nexport { CountryInput };","import _extends from '@babel/runtime/helpers/esm/extends';\nimport _objectWithoutProperties$1 from '@babel/runtime/helpers/esm/objectWithoutProperties';\nimport React, { forwardRef, useRef, useEffect } from 'react';\nimport { TextInput } from '@paypalcorp/pp-react-text-input';\nfunction _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}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\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}\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}\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 return obj;\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 subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\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 try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n 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 return target;\n}\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = _objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\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 return target;\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 return self;\n}\nfunction _possibleConstructorReturn(self, call) {\n if (call && (typeof call === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return _assertThisInitialized(self);\n}\nfunction _createSuper(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct();\n return function _createSuperInternal() {\n var Super = _getPrototypeOf(Derived),\n result;\n if (hasNativeReflectConstruct) {\n var NewTarget = _getPrototypeOf(this).constructor;\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n return _possibleConstructorReturn(this, result);\n };\n}\nfunction _superPropBase(object, property) {\n while (!Object.prototype.hasOwnProperty.call(object, property)) {\n object = _getPrototypeOf(object);\n if (object === null) break;\n }\n return object;\n}\nfunction _get() {\n if (typeof Reflect !== \"undefined\" && Reflect.get) {\n _get = Reflect.get.bind();\n } else {\n _get = function _get(target, property, receiver) {\n var base = _superPropBase(target, property);\n if (!base) return;\n var desc = Object.getOwnPropertyDescriptor(base, property);\n if (desc.get) {\n return desc.get.call(arguments.length < 3 ? target : receiver);\n }\n return desc.value;\n };\n }\n return _get.apply(this, arguments);\n}\nfunction set(target, property, value, receiver) {\n if (typeof Reflect !== \"undefined\" && Reflect.set) {\n set = Reflect.set;\n } else {\n set = function set(target, property, value, receiver) {\n var base = _superPropBase(target, property);\n var desc;\n if (base) {\n desc = Object.getOwnPropertyDescriptor(base, property);\n if (desc.set) {\n desc.set.call(receiver, value);\n return true;\n } else if (!desc.writable) {\n return false;\n }\n }\n desc = Object.getOwnPropertyDescriptor(receiver, property);\n if (desc) {\n if (!desc.writable) {\n return false;\n }\n desc.value = value;\n Object.defineProperty(receiver, property, desc);\n } else {\n _defineProperty(receiver, property, value);\n }\n return true;\n };\n }\n return set(target, property, value, receiver);\n}\nfunction _set(target, property, value, receiver, isStrict) {\n var s = set(target, property, value, receiver || target);\n if (!s && isStrict) {\n throw new Error('failed to set property');\n }\n return value;\n}\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n}\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();\n}\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return _arrayLikeToArray(arr);\n}\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\nfunction _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\nfunction _iterableToArrayLimit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _s, _e;\n try {\n for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\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 return _arr;\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}\nfunction _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}\nfunction _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}\nfunction _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}\n\n/**\n Provides details of changing model value\n @param {Object} [details]\n @param {string} [details.inserted] - Inserted symbols\n @param {boolean} [details.skip] - Can skip chars\n @param {number} [details.removeCount] - Removed symbols count\n @param {number} [details.tailShift] - Additional offset if any changes occurred before tail\n*/\nvar ChangeDetails = /*#__PURE__*/function () {\n /** Inserted symbols */\n\n /** Can skip chars */\n\n /** Additional offset if any changes occurred before tail */\n\n /** Raw inserted is used by dynamic mask */\n function ChangeDetails(details) {\n _classCallCheck(this, ChangeDetails);\n Object.assign(this, {\n inserted: '',\n rawInserted: '',\n skip: false,\n tailShift: 0\n }, details);\n }\n /**\n Aggregate changes\n @returns {ChangeDetails} `this`\n */\n\n _createClass(ChangeDetails, [{\n key: \"aggregate\",\n value: function aggregate(details) {\n this.rawInserted += details.rawInserted;\n this.skip = this.skip || details.skip;\n this.inserted += details.inserted;\n this.tailShift += details.tailShift;\n return this;\n }\n /** Total offset considering all changes */\n }, {\n key: \"offset\",\n get: function get() {\n return this.tailShift + this.inserted.length;\n }\n }]);\n return ChangeDetails;\n}();\n\n/** Checks if value is string */\n\nfunction isString(str) {\n return typeof str === 'string' || str instanceof String;\n}\n/**\n Direction\n @prop {string} NONE\n @prop {string} LEFT\n @prop {string} FORCE_LEFT\n @prop {string} RIGHT\n @prop {string} FORCE_RIGHT\n*/\n\nvar DIRECTION = {\n NONE: 'NONE',\n LEFT: 'LEFT',\n FORCE_LEFT: 'FORCE_LEFT',\n RIGHT: 'RIGHT',\n FORCE_RIGHT: 'FORCE_RIGHT'\n};\n/** */\n\nfunction forceDirection(direction) {\n switch (direction) {\n case DIRECTION.LEFT:\n return DIRECTION.FORCE_LEFT;\n case DIRECTION.RIGHT:\n return DIRECTION.FORCE_RIGHT;\n default:\n return direction;\n }\n}\n/** Escapes regular expression control chars */\n\nfunction escapeRegExp(str) {\n return str.replace(/([.*+?^=!:${}()|[\\]\\/\\\\])/g, '\\\\$1');\n}\nfunction normalizePrepare(prep) {\n return Array.isArray(prep) ? prep : [prep, new ChangeDetails()];\n} // cloned from https://github.com/epoberezkin/fast-deep-equal with small changes\n\nfunction objectIncludes(b, a) {\n if (a === b) return true;\n var arrA = Array.isArray(a),\n arrB = Array.isArray(b),\n i;\n if (arrA && arrB) {\n if (a.length != b.length) return false;\n for (i = 0; i < a.length; i++) {\n if (!objectIncludes(a[i], b[i])) return false;\n }\n return true;\n }\n if (arrA != arrB) return false;\n if (a && b && _typeof(a) === 'object' && _typeof(b) === 'object') {\n var dateA = a instanceof Date,\n dateB = b instanceof Date;\n if (dateA && dateB) return a.getTime() == b.getTime();\n if (dateA != dateB) return false;\n var regexpA = a instanceof RegExp,\n regexpB = b instanceof RegExp;\n if (regexpA && regexpB) return a.toString() == b.toString();\n if (regexpA != regexpB) return false;\n var keys = Object.keys(a); // if (keys.length !== Object.keys(b).length) return false;\n\n for (i = 0; i < keys.length; i++) {\n // $FlowFixMe ... ???\n if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n }\n for (i = 0; i < keys.length; i++) {\n if (!objectIncludes(b[keys[i]], a[keys[i]])) return false;\n }\n return true;\n } else if (a && b && typeof a === 'function' && typeof b === 'function') {\n return a.toString() === b.toString();\n }\n return false;\n}\n\n/** Provides details of changing input */\n\nvar ActionDetails = /*#__PURE__*/function () {\n /** Current input value */\n\n /** Current cursor position */\n\n /** Old input value */\n\n /** Old selection */\n function ActionDetails(value, cursorPos, oldValue, oldSelection) {\n _classCallCheck(this, ActionDetails);\n this.value = value;\n this.cursorPos = cursorPos;\n this.oldValue = oldValue;\n this.oldSelection = oldSelection; // double check if left part was changed (autofilling, other non-standard input triggers)\n\n while (this.value.slice(0, this.startChangePos) !== this.oldValue.slice(0, this.startChangePos)) {\n --this.oldSelection.start;\n }\n }\n /**\n Start changing position\n @readonly\n */\n\n _createClass(ActionDetails, [{\n key: \"startChangePos\",\n get: function get() {\n return Math.min(this.cursorPos, this.oldSelection.start);\n }\n /**\n Inserted symbols count\n @readonly\n */\n }, {\n key: \"insertedCount\",\n get: function get() {\n return this.cursorPos - this.startChangePos;\n }\n /**\n Inserted symbols\n @readonly\n */\n }, {\n key: \"inserted\",\n get: function get() {\n return this.value.substr(this.startChangePos, this.insertedCount);\n }\n /**\n Removed symbols count\n @readonly\n */\n }, {\n key: \"removedCount\",\n get: function get() {\n // Math.max for opposite operation\n return Math.max(this.oldSelection.end - this.startChangePos ||\n // for Delete\n this.oldValue.length - this.value.length, 0);\n }\n /**\n Removed symbols\n @readonly\n */\n }, {\n key: \"removed\",\n get: function get() {\n return this.oldValue.substr(this.startChangePos, this.removedCount);\n }\n /**\n Unchanged head symbols\n @readonly\n */\n }, {\n key: \"head\",\n get: function get() {\n return this.value.substring(0, this.startChangePos);\n }\n /**\n Unchanged tail symbols\n @readonly\n */\n }, {\n key: \"tail\",\n get: function get() {\n return this.value.substring(this.startChangePos + this.insertedCount);\n }\n /**\n Remove direction\n @readonly\n */\n }, {\n key: \"removeDirection\",\n get: function get() {\n if (!this.removedCount || this.insertedCount) return DIRECTION.NONE; // align right if delete at right\n\n return (this.oldSelection.end === this.cursorPos || this.oldSelection.start === this.cursorPos) &&\n // if not range removed (event with backspace)\n this.oldSelection.end === this.oldSelection.start ? DIRECTION.RIGHT : DIRECTION.LEFT;\n }\n }]);\n return ActionDetails;\n}();\n\n/** Provides details of continuous extracted tail */\nvar ContinuousTailDetails = /*#__PURE__*/function () {\n /** Tail value as string */\n\n /** Tail start position */\n\n /** Start position */\n function ContinuousTailDetails() {\n var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var from = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var stop = arguments.length > 2 ? arguments[2] : undefined;\n _classCallCheck(this, ContinuousTailDetails);\n this.value = value;\n this.from = from;\n this.stop = stop;\n }\n _createClass(ContinuousTailDetails, [{\n key: \"toString\",\n value: function toString() {\n return this.value;\n }\n }, {\n key: \"extend\",\n value: function extend(tail) {\n this.value += String(tail);\n }\n }, {\n key: \"appendTo\",\n value: function appendTo(masked) {\n return masked.append(this.toString(), {\n tail: true\n }).aggregate(masked._appendPlaceholder());\n }\n }, {\n key: \"state\",\n get: function get() {\n return {\n value: this.value,\n from: this.from,\n stop: this.stop\n };\n },\n set: function set(state) {\n Object.assign(this, state);\n }\n }, {\n key: \"unshift\",\n value: function unshift(beforePos) {\n if (!this.value.length || beforePos != null && this.from >= beforePos) return '';\n var shiftChar = this.value[0];\n this.value = this.value.slice(1);\n return shiftChar;\n }\n }, {\n key: \"shift\",\n value: function shift() {\n if (!this.value.length) return '';\n var shiftChar = this.value[this.value.length - 1];\n this.value = this.value.slice(0, -1);\n return shiftChar;\n }\n }]);\n return ContinuousTailDetails;\n}();\n\n/**\n * Applies mask on element.\n * @constructor\n * @param {HTMLInputElement|HTMLTextAreaElement|MaskElement} el - Element to apply mask\n * @param {Object} opts - Custom mask options\n * @return {InputMask}\n */\nfunction IMask(el) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n // currently available only for input-like elements\n return new IMask.InputMask(el, opts);\n}\n\n/** Supported mask type */\n\n/** Provides common masking stuff */\nvar Masked = /*#__PURE__*/function () {\n // $Shape; TODO after fix https://github.com/facebook/flow/issues/4773\n\n /** @type {Mask} */\n\n /** */\n // $FlowFixMe no ideas\n\n /** Transforms value before mask processing */\n\n /** Validates if value is acceptable */\n\n /** Does additional processing in the end of editing */\n\n /** Format typed value to string */\n\n /** Parse strgin to get typed value */\n\n /** Enable characters overwriting */\n\n /** */\n\n /** */\n function Masked(opts) {\n _classCallCheck(this, Masked);\n this._value = '';\n this._update(Object.assign({}, Masked.DEFAULTS, opts));\n this.isInitialized = true;\n }\n /** Sets and applies new options */\n\n _createClass(Masked, [{\n key: \"updateOptions\",\n value: function updateOptions(opts) {\n if (!Object.keys(opts).length) return; // $FlowFixMe\n\n this.withValueRefresh(this._update.bind(this, opts));\n }\n /**\n Sets new options\n @protected\n */\n }, {\n key: \"_update\",\n value: function _update(opts) {\n Object.assign(this, opts);\n }\n /** Mask state */\n }, {\n key: \"state\",\n get: function get() {\n return {\n _value: this.value\n };\n },\n set: function set(state) {\n this._value = state._value;\n }\n /** Resets value */\n }, {\n key: \"reset\",\n value: function reset() {\n this._value = '';\n }\n /** */\n }, {\n key: \"value\",\n get: function get() {\n return this._value;\n },\n set: function set(value) {\n this.resolve(value);\n }\n /** Resolve new value */\n }, {\n key: \"resolve\",\n value: function resolve(value) {\n this.reset();\n this.append(value, {\n input: true\n }, '');\n this.doCommit();\n return this.value;\n }\n /** */\n }, {\n key: \"unmaskedValue\",\n get: function get() {\n return this.value;\n },\n set: function set(value) {\n this.reset();\n this.append(value, {}, '');\n this.doCommit();\n }\n /** */\n }, {\n key: \"typedValue\",\n get: function get() {\n return this.doParse(this.value);\n },\n set: function set(value) {\n this.value = this.doFormat(value);\n }\n /** Value that includes raw user input */\n }, {\n key: \"rawInputValue\",\n get: function get() {\n return this.extractInput(0, this.value.length, {\n raw: true\n });\n },\n set: function set(value) {\n this.reset();\n this.append(value, {\n raw: true\n }, '');\n this.doCommit();\n }\n /** */\n }, {\n key: \"isComplete\",\n get: function get() {\n return true;\n }\n /** */\n }, {\n key: \"isFilled\",\n get: function get() {\n return this.isComplete;\n }\n /** Finds nearest input position in direction */\n }, {\n key: \"nearestInputPos\",\n value: function nearestInputPos(cursorPos, direction) {\n return cursorPos;\n }\n /** Extracts value in range considering flags */\n }, {\n key: \"extractInput\",\n value: function extractInput() {\n var fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.value.length;\n return this.value.slice(fromPos, toPos);\n }\n /** Extracts tail in range */\n }, {\n key: \"extractTail\",\n value: function extractTail() {\n var fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.value.length;\n return new ContinuousTailDetails(this.extractInput(fromPos, toPos), fromPos);\n }\n /** Appends tail */\n // $FlowFixMe no ideas\n }, {\n key: \"appendTail\",\n value: function appendTail(tail) {\n if (isString(tail)) tail = new ContinuousTailDetails(String(tail));\n return tail.appendTo(this);\n }\n /** Appends char */\n }, {\n key: \"_appendCharRaw\",\n value: function _appendCharRaw(ch) {\n if (!ch) return new ChangeDetails();\n this._value += ch;\n return new ChangeDetails({\n inserted: ch,\n rawInserted: ch\n });\n }\n /** Appends char */\n }, {\n key: \"_appendChar\",\n value: function _appendChar(ch) {\n var flags = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var checkTail = arguments.length > 2 ? arguments[2] : undefined;\n var consistentState = this.state;\n var details;\n var _normalizePrepare = normalizePrepare(this.doPrepare(ch, flags));\n var _normalizePrepare2 = _slicedToArray(_normalizePrepare, 2);\n ch = _normalizePrepare2[0];\n details = _normalizePrepare2[1];\n details = details.aggregate(this._appendCharRaw(ch, flags));\n if (details.inserted) {\n var consistentTail;\n var appended = this.doValidate(flags) !== false;\n if (appended && checkTail != null) {\n // validation ok, check tail\n var beforeTailState = this.state;\n if (this.overwrite === true) {\n consistentTail = checkTail.state;\n checkTail.unshift(this.value.length);\n }\n var tailDetails = this.appendTail(checkTail);\n appended = tailDetails.rawInserted === checkTail.toString(); // not ok, try shift\n\n if (!(appended && tailDetails.inserted) && this.overwrite === 'shift') {\n this.state = beforeTailState;\n consistentTail = checkTail.state;\n checkTail.shift();\n tailDetails = this.appendTail(checkTail);\n appended = tailDetails.rawInserted === checkTail.toString();\n } // if ok, rollback state after tail\n\n if (appended && tailDetails.inserted) this.state = beforeTailState;\n } // revert all if something went wrong\n\n if (!appended) {\n details = new ChangeDetails();\n this.state = consistentState;\n if (checkTail && consistentTail) checkTail.state = consistentTail;\n }\n }\n return details;\n }\n /** Appends optional placeholder at end */\n }, {\n key: \"_appendPlaceholder\",\n value: function _appendPlaceholder() {\n return new ChangeDetails();\n }\n /** Appends optional eager placeholder at end */\n }, {\n key: \"_appendEager\",\n value: function _appendEager() {\n return new ChangeDetails();\n }\n /** Appends symbols considering flags */\n // $FlowFixMe no ideas\n }, {\n key: \"append\",\n value: function append(str, flags, tail) {\n if (!isString(str)) throw new Error('value should be string');\n var details = new ChangeDetails();\n var checkTail = isString(tail) ? new ContinuousTailDetails(String(tail)) : tail;\n if (flags !== null && flags !== void 0 && flags.tail) flags._beforeTailState = this.state;\n for (var ci = 0; ci < str.length; ++ci) {\n details.aggregate(this._appendChar(str[ci], flags, checkTail));\n } // append tail but aggregate only tailShift\n\n if (checkTail != null) {\n details.tailShift += this.appendTail(checkTail).tailShift; // TODO it's a good idea to clear state after appending ends\n // but it causes bugs when one append calls another (when dynamic dispatch set rawInputValue)\n // this._resetBeforeTailState();\n }\n\n if (this.eager && flags !== null && flags !== void 0 && flags.input && str) {\n details.aggregate(this._appendEager());\n }\n return details;\n }\n /** */\n }, {\n key: \"remove\",\n value: function remove() {\n var fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.value.length;\n this._value = this.value.slice(0, fromPos) + this.value.slice(toPos);\n return new ChangeDetails();\n }\n /** Calls function and reapplies current value */\n }, {\n key: \"withValueRefresh\",\n value: function withValueRefresh(fn) {\n if (this._refreshing || !this.isInitialized) return fn();\n this._refreshing = true;\n var rawInput = this.rawInputValue;\n var value = this.value;\n var ret = fn();\n this.rawInputValue = rawInput; // append lost trailing chars at end\n\n if (this.value && this.value !== value && value.indexOf(this.value) === 0) {\n this.append(value.slice(this.value.length), {}, '');\n }\n delete this._refreshing;\n return ret;\n }\n /** */\n }, {\n key: \"runIsolated\",\n value: function runIsolated(fn) {\n if (this._isolated || !this.isInitialized) return fn(this);\n this._isolated = true;\n var state = this.state;\n var ret = fn(this);\n this.state = state;\n delete this._isolated;\n return ret;\n }\n /**\n Prepares string before mask processing\n @protected\n */\n }, {\n key: \"doPrepare\",\n value: function doPrepare(str) {\n var flags = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return this.prepare ? this.prepare(str, this, flags) : str;\n }\n /**\n Validates if value is acceptable\n @protected\n */\n }, {\n key: \"doValidate\",\n value: function doValidate(flags) {\n return (!this.validate || this.validate(this.value, this, flags)) && (!this.parent || this.parent.doValidate(flags));\n }\n /**\n Does additional processing in the end of editing\n @protected\n */\n }, {\n key: \"doCommit\",\n value: function doCommit() {\n if (this.commit) this.commit(this.value, this);\n }\n /** */\n }, {\n key: \"doFormat\",\n value: function doFormat(value) {\n return this.format ? this.format(value, this) : value;\n }\n /** */\n }, {\n key: \"doParse\",\n value: function doParse(str) {\n return this.parse ? this.parse(str, this) : str;\n }\n /** */\n }, {\n key: \"splice\",\n value: function splice(start, deleteCount, inserted, removeDirection) {\n var flags = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {\n input: true\n };\n var tailPos = start + deleteCount;\n var tail = this.extractTail(tailPos);\n var oldRawValue;\n if (this.eager) {\n removeDirection = forceDirection(removeDirection);\n oldRawValue = this.extractInput(0, tailPos, {\n raw: true\n });\n }\n var startChangePos = this.nearestInputPos(start, deleteCount > 1 && start !== 0 && !this.eager ? DIRECTION.NONE : removeDirection);\n var details = new ChangeDetails({\n tailShift: startChangePos - start // adjust tailShift if start was aligned\n }).aggregate(this.remove(startChangePos));\n if (this.eager && removeDirection !== DIRECTION.NONE && oldRawValue === this.rawInputValue) {\n if (removeDirection === DIRECTION.FORCE_LEFT) {\n var valLength;\n while (oldRawValue === this.rawInputValue && (valLength = this.value.length)) {\n details.aggregate(new ChangeDetails({\n tailShift: -1\n })).aggregate(this.remove(valLength - 1));\n }\n } else if (removeDirection === DIRECTION.FORCE_RIGHT) {\n tail.unshift();\n }\n }\n return details.aggregate(this.append(inserted, flags, tail));\n }\n }, {\n key: \"maskEquals\",\n value: function maskEquals(mask) {\n return this.mask === mask;\n }\n }, {\n key: \"typedValueEquals\",\n value: function typedValueEquals(value) {\n var tval = this.typedValue;\n return value === tval || Masked.EMPTY_VALUES.includes(value) && Masked.EMPTY_VALUES.includes(tval) || this.doFormat(value) === this.doFormat(this.typedValue);\n }\n }]);\n return Masked;\n}();\nMasked.DEFAULTS = {\n format: function format(v) {\n return v;\n },\n parse: function parse(v) {\n return v;\n }\n};\nMasked.EMPTY_VALUES = [undefined, null, ''];\nIMask.Masked = Masked;\n\n/** Get Masked class by mask type */\n\nfunction maskedClass(mask) {\n if (mask == null) {\n throw new Error('mask property should be defined');\n } // $FlowFixMe\n\n if (mask instanceof RegExp) return IMask.MaskedRegExp; // $FlowFixMe\n\n if (isString(mask)) return IMask.MaskedPattern; // $FlowFixMe\n\n if (mask instanceof Date || mask === Date) return IMask.MaskedDate; // $FlowFixMe\n\n if (mask instanceof Number || typeof mask === 'number' || mask === Number) return IMask.MaskedNumber; // $FlowFixMe\n\n if (Array.isArray(mask) || mask === Array) return IMask.MaskedDynamic; // $FlowFixMe\n\n if (IMask.Masked && mask.prototype instanceof IMask.Masked) return mask; // $FlowFixMe\n\n if (mask instanceof IMask.Masked) return mask.constructor; // $FlowFixMe\n\n if (mask instanceof Function) return IMask.MaskedFunction;\n console.warn('Mask not found for mask', mask); // eslint-disable-line no-console\n // $FlowFixMe\n\n return IMask.Masked;\n}\n/** Creates new {@link Masked} depending on mask type */\n\nfunction createMask(opts) {\n // $FlowFixMe\n if (IMask.Masked && opts instanceof IMask.Masked) return opts;\n opts = Object.assign({}, opts);\n var mask = opts.mask; // $FlowFixMe\n\n if (IMask.Masked && mask instanceof IMask.Masked) return mask;\n var MaskedClass = maskedClass(mask);\n if (!MaskedClass) throw new Error('Masked class is not found for provided mask, appropriate module needs to be import manually before creating mask.');\n return new MaskedClass(opts);\n}\nIMask.createMask = createMask;\nvar _excluded = [\"mask\"];\nvar DEFAULT_INPUT_DEFINITIONS = {\n '0': /\\d/,\n 'a': /[\\u0041-\\u005A\\u0061-\\u007A\\u00AA\\u00B5\\u00BA\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u0527\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u08A0\\u08A2-\\u08AC\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0977\\u0979-\\u097F\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C33\\u0C35-\\u0C39\\u0C3D\\u0C58\\u0C59\\u0C60\\u0C61\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D60\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F4\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191C\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19C1-\\u19C7\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2183\\u2184\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005\\u3006\\u3031-\\u3035\\u303B\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FCC\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA697\\uA6A0-\\uA6E5\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA78E\\uA790-\\uA793\\uA7A0-\\uA7AA\\uA7F8-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA80-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uABC0-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]/,\n // http://stackoverflow.com/a/22075070\n '*': /./\n};\n/** */\n\nvar PatternInputDefinition = /*#__PURE__*/function () {\n /** */\n\n /** */\n\n /** */\n\n /** */\n\n /** */\n\n /** */\n\n /** */\n function PatternInputDefinition(opts) {\n _classCallCheck(this, PatternInputDefinition);\n var mask = opts.mask,\n blockOpts = _objectWithoutProperties(opts, _excluded);\n this.masked = createMask({\n mask: mask\n });\n Object.assign(this, blockOpts);\n }\n _createClass(PatternInputDefinition, [{\n key: \"reset\",\n value: function reset() {\n this.isFilled = false;\n this.masked.reset();\n }\n }, {\n key: \"remove\",\n value: function remove() {\n var fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.value.length;\n if (fromPos === 0 && toPos >= 1) {\n this.isFilled = false;\n return this.masked.remove(fromPos, toPos);\n }\n return new ChangeDetails();\n }\n }, {\n key: \"value\",\n get: function get() {\n return this.masked.value || (this.isFilled && !this.isOptional ? this.placeholderChar : '');\n }\n }, {\n key: \"unmaskedValue\",\n get: function get() {\n return this.masked.unmaskedValue;\n }\n }, {\n key: \"isComplete\",\n get: function get() {\n return Boolean(this.masked.value) || this.isOptional;\n }\n }, {\n key: \"_appendChar\",\n value: function _appendChar(ch) {\n var flags = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (this.isFilled) return new ChangeDetails();\n var state = this.masked.state; // simulate input\n\n var details = this.masked._appendChar(ch, flags);\n if (details.inserted && this.doValidate(flags) === false) {\n details.inserted = details.rawInserted = '';\n this.masked.state = state;\n }\n if (!details.inserted && !this.isOptional && !this.lazy && !flags.input) {\n details.inserted = this.placeholderChar;\n }\n details.skip = !details.inserted && !this.isOptional;\n this.isFilled = Boolean(details.inserted);\n return details;\n }\n }, {\n key: \"append\",\n value: function append() {\n var _this$masked;\n\n // TODO probably should be done via _appendChar\n return (_this$masked = this.masked).append.apply(_this$masked, arguments);\n }\n }, {\n key: \"_appendPlaceholder\",\n value: function _appendPlaceholder() {\n var details = new ChangeDetails();\n if (this.isFilled || this.isOptional) return details;\n this.isFilled = true;\n details.inserted = this.placeholderChar;\n return details;\n }\n }, {\n key: \"_appendEager\",\n value: function _appendEager() {\n return new ChangeDetails();\n }\n }, {\n key: \"extractTail\",\n value: function extractTail() {\n var _this$masked2;\n return (_this$masked2 = this.masked).extractTail.apply(_this$masked2, arguments);\n }\n }, {\n key: \"appendTail\",\n value: function appendTail() {\n var _this$masked3;\n return (_this$masked3 = this.masked).appendTail.apply(_this$masked3, arguments);\n }\n }, {\n key: \"extractInput\",\n value: function extractInput() {\n var fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.value.length;\n var flags = arguments.length > 2 ? arguments[2] : undefined;\n return this.masked.extractInput(fromPos, toPos, flags);\n }\n }, {\n key: \"nearestInputPos\",\n value: function nearestInputPos(cursorPos) {\n var direction = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DIRECTION.NONE;\n var minPos = 0;\n var maxPos = this.value.length;\n var boundPos = Math.min(Math.max(cursorPos, minPos), maxPos);\n switch (direction) {\n case DIRECTION.LEFT:\n case DIRECTION.FORCE_LEFT:\n return this.isComplete ? boundPos : minPos;\n case DIRECTION.RIGHT:\n case DIRECTION.FORCE_RIGHT:\n return this.isComplete ? boundPos : maxPos;\n case DIRECTION.NONE:\n default:\n return boundPos;\n }\n }\n }, {\n key: \"doValidate\",\n value: function doValidate() {\n var _this$masked4, _this$parent;\n return (_this$masked4 = this.masked).doValidate.apply(_this$masked4, arguments) && (!this.parent || (_this$parent = this.parent).doValidate.apply(_this$parent, arguments));\n }\n }, {\n key: \"doCommit\",\n value: function doCommit() {\n this.masked.doCommit();\n }\n }, {\n key: \"state\",\n get: function get() {\n return {\n masked: this.masked.state,\n isFilled: this.isFilled\n };\n },\n set: function set(state) {\n this.masked.state = state.masked;\n this.isFilled = state.isFilled;\n }\n }]);\n return PatternInputDefinition;\n}();\nvar PatternFixedDefinition = /*#__PURE__*/function () {\n /** */\n\n /** */\n\n /** */\n\n /** */\n\n /** */\n\n /** */\n function PatternFixedDefinition(opts) {\n _classCallCheck(this, PatternFixedDefinition);\n Object.assign(this, opts);\n this._value = '';\n this.isFixed = true;\n }\n _createClass(PatternFixedDefinition, [{\n key: \"value\",\n get: function get() {\n return this._value;\n }\n }, {\n key: \"unmaskedValue\",\n get: function get() {\n return this.isUnmasking ? this.value : '';\n }\n }, {\n key: \"reset\",\n value: function reset() {\n this._isRawInput = false;\n this._value = '';\n }\n }, {\n key: \"remove\",\n value: function remove() {\n var fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this._value.length;\n this._value = this._value.slice(0, fromPos) + this._value.slice(toPos);\n if (!this._value) this._isRawInput = false;\n return new ChangeDetails();\n }\n }, {\n key: \"nearestInputPos\",\n value: function nearestInputPos(cursorPos) {\n var direction = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DIRECTION.NONE;\n var minPos = 0;\n var maxPos = this._value.length;\n switch (direction) {\n case DIRECTION.LEFT:\n case DIRECTION.FORCE_LEFT:\n return minPos;\n case DIRECTION.NONE:\n case DIRECTION.RIGHT:\n case DIRECTION.FORCE_RIGHT:\n default:\n return maxPos;\n }\n }\n }, {\n key: \"extractInput\",\n value: function extractInput() {\n var fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this._value.length;\n var flags = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n return flags.raw && this._isRawInput && this._value.slice(fromPos, toPos) || '';\n }\n }, {\n key: \"isComplete\",\n get: function get() {\n return true;\n }\n }, {\n key: \"isFilled\",\n get: function get() {\n return Boolean(this._value);\n }\n }, {\n key: \"_appendChar\",\n value: function _appendChar(ch) {\n var flags = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var details = new ChangeDetails();\n if (this._value) return details;\n var appended = this.char === ch;\n var isResolved = appended && (this.isUnmasking || flags.input || flags.raw) && (!flags.raw || !this.eager) && !flags.tail;\n if (isResolved) details.rawInserted = this.char;\n this._value = details.inserted = this.char;\n this._isRawInput = isResolved && (flags.raw || flags.input);\n return details;\n }\n }, {\n key: \"_appendEager\",\n value: function _appendEager() {\n return this._appendChar(this.char, {\n tail: true\n });\n }\n }, {\n key: \"_appendPlaceholder\",\n value: function _appendPlaceholder() {\n var details = new ChangeDetails();\n if (this._value) return details;\n this._value = details.inserted = this.char;\n return details;\n }\n }, {\n key: \"extractTail\",\n value: function extractTail() {\n arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.value.length;\n return new ContinuousTailDetails('');\n } // $FlowFixMe no ideas\n }, {\n key: \"appendTail\",\n value: function appendTail(tail) {\n if (isString(tail)) tail = new ContinuousTailDetails(String(tail));\n return tail.appendTo(this);\n }\n }, {\n key: \"append\",\n value: function append(str, flags, tail) {\n var details = this._appendChar(str[0], flags);\n if (tail != null) {\n details.tailShift += this.appendTail(tail).tailShift;\n }\n return details;\n }\n }, {\n key: \"doCommit\",\n value: function doCommit() {}\n }, {\n key: \"state\",\n get: function get() {\n return {\n _value: this._value,\n _isRawInput: this._isRawInput\n };\n },\n set: function set(state) {\n Object.assign(this, state);\n }\n }]);\n return PatternFixedDefinition;\n}();\nvar _excluded$1 = [\"chunks\"];\nvar ChunksTailDetails = /*#__PURE__*/function () {\n /** */\n function ChunksTailDetails() {\n var chunks = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var from = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n _classCallCheck(this, ChunksTailDetails);\n this.chunks = chunks;\n this.from = from;\n }\n _createClass(ChunksTailDetails, [{\n key: \"toString\",\n value: function toString() {\n return this.chunks.map(String).join('');\n } // $FlowFixMe no ideas\n }, {\n key: \"extend\",\n value: function extend(tailChunk) {\n if (!String(tailChunk)) return;\n if (isString(tailChunk)) tailChunk = new ContinuousTailDetails(String(tailChunk));\n var lastChunk = this.chunks[this.chunks.length - 1];\n var extendLast = lastChunk && (\n // if stops are same or tail has no stop\n lastChunk.stop === tailChunk.stop || tailChunk.stop == null) &&\n // if tail chunk goes just after last chunk\n tailChunk.from === lastChunk.from + lastChunk.toString().length;\n if (tailChunk instanceof ContinuousTailDetails) {\n // check the ability to extend previous chunk\n if (extendLast) {\n // extend previous chunk\n lastChunk.extend(tailChunk.toString());\n } else {\n // append new chunk\n this.chunks.push(tailChunk);\n }\n } else if (tailChunk instanceof ChunksTailDetails) {\n if (tailChunk.stop == null) {\n // unwrap floating chunks to parent, keeping `from` pos\n var firstTailChunk;\n while (tailChunk.chunks.length && tailChunk.chunks[0].stop == null) {\n firstTailChunk = tailChunk.chunks.shift();\n firstTailChunk.from += tailChunk.from;\n this.extend(firstTailChunk);\n }\n } // if tail chunk still has value\n\n if (tailChunk.toString()) {\n // if chunks contains stops, then popup stop to container\n tailChunk.stop = tailChunk.blockIndex;\n this.chunks.push(tailChunk);\n }\n }\n }\n }, {\n key: \"appendTo\",\n value: function appendTo(masked) {\n // $FlowFixMe\n if (!(masked instanceof IMask.MaskedPattern)) {\n var tail = new ContinuousTailDetails(this.toString());\n return tail.appendTo(masked);\n }\n var details = new ChangeDetails();\n for (var ci = 0; ci < this.chunks.length && !details.skip; ++ci) {\n var chunk = this.chunks[ci];\n var lastBlockIter = masked._mapPosToBlock(masked.value.length);\n var stop = chunk.stop;\n var chunkBlock = void 0;\n if (stop != null && (\n // if block not found or stop is behind lastBlock\n !lastBlockIter || lastBlockIter.index <= stop)) {\n if (chunk instanceof ChunksTailDetails ||\n // for continuous block also check if stop is exist\n masked._stops.indexOf(stop) >= 0) {\n details.aggregate(masked._appendPlaceholder(stop));\n }\n chunkBlock = chunk instanceof ChunksTailDetails && masked._blocks[stop];\n }\n if (chunkBlock) {\n var tailDetails = chunkBlock.appendTail(chunk);\n tailDetails.skip = false; // always ignore skip, it will be set on last\n\n details.aggregate(tailDetails);\n masked._value += tailDetails.inserted; // get not inserted chars\n\n var remainChars = chunk.toString().slice(tailDetails.rawInserted.length);\n if (remainChars) details.aggregate(masked.append(remainChars, {\n tail: true\n }));\n } else {\n details.aggregate(masked.append(chunk.toString(), {\n tail: true\n }));\n }\n }\n return details;\n }\n }, {\n key: \"state\",\n get: function get() {\n return {\n chunks: this.chunks.map(function (c) {\n return c.state;\n }),\n from: this.from,\n stop: this.stop,\n blockIndex: this.blockIndex\n };\n },\n set: function set(state) {\n var chunks = state.chunks,\n props = _objectWithoutProperties(state, _excluded$1);\n Object.assign(this, props);\n this.chunks = chunks.map(function (cstate) {\n var chunk = \"chunks\" in cstate ? new ChunksTailDetails() : new ContinuousTailDetails(); // $FlowFixMe already checked above\n\n chunk.state = cstate;\n return chunk;\n });\n }\n }, {\n key: \"unshift\",\n value: function unshift(beforePos) {\n if (!this.chunks.length || beforePos != null && this.from >= beforePos) return '';\n var chunkShiftPos = beforePos != null ? beforePos - this.from : beforePos;\n var ci = 0;\n while (ci < this.chunks.length) {\n var chunk = this.chunks[ci];\n var shiftChar = chunk.unshift(chunkShiftPos);\n if (chunk.toString()) {\n // chunk still contains value\n // but not shifted - means no more available chars to shift\n if (!shiftChar) break;\n ++ci;\n } else {\n // clean if chunk has no value\n this.chunks.splice(ci, 1);\n }\n if (shiftChar) return shiftChar;\n }\n return '';\n }\n }, {\n key: \"shift\",\n value: function shift() {\n if (!this.chunks.length) return '';\n var ci = this.chunks.length - 1;\n while (0 <= ci) {\n var chunk = this.chunks[ci];\n var shiftChar = chunk.shift();\n if (chunk.toString()) {\n // chunk still contains value\n // but not shifted - means no more available chars to shift\n if (!shiftChar) break;\n --ci;\n } else {\n // clean if chunk has no value\n this.chunks.splice(ci, 1);\n }\n if (shiftChar) return shiftChar;\n }\n return '';\n }\n }]);\n return ChunksTailDetails;\n}();\nvar PatternCursor = /*#__PURE__*/function () {\n function PatternCursor(masked, pos) {\n _classCallCheck(this, PatternCursor);\n this.masked = masked;\n this._log = [];\n var _ref = masked._mapPosToBlock(pos) || (pos < 0 ?\n // first\n {\n index: 0,\n offset: 0\n } :\n // last\n {\n index: this.masked._blocks.length,\n offset: 0\n }),\n offset = _ref.offset,\n index = _ref.index;\n this.offset = offset;\n this.index = index;\n this.ok = false;\n }\n _createClass(PatternCursor, [{\n key: \"block\",\n get: function get() {\n return this.masked._blocks[this.index];\n }\n }, {\n key: \"pos\",\n get: function get() {\n return this.masked._blockStartPos(this.index) + this.offset;\n }\n }, {\n key: \"state\",\n get: function get() {\n return {\n index: this.index,\n offset: this.offset,\n ok: this.ok\n };\n },\n set: function set(s) {\n Object.assign(this, s);\n }\n }, {\n key: \"pushState\",\n value: function pushState() {\n this._log.push(this.state);\n }\n }, {\n key: \"popState\",\n value: function popState() {\n var s = this._log.pop();\n this.state = s;\n return s;\n }\n }, {\n key: \"bindBlock\",\n value: function bindBlock() {\n if (this.block) return;\n if (this.index < 0) {\n this.index = 0;\n this.offset = 0;\n }\n if (this.index >= this.masked._blocks.length) {\n this.index = this.masked._blocks.length - 1;\n this.offset = this.block.value.length;\n }\n }\n }, {\n key: \"_pushLeft\",\n value: function _pushLeft(fn) {\n this.pushState();\n for (this.bindBlock(); 0 <= this.index; --this.index, this.offset = ((_this$block = this.block) === null || _this$block === void 0 ? void 0 : _this$block.value.length) || 0) {\n var _this$block;\n if (fn()) return this.ok = true;\n }\n return this.ok = false;\n }\n }, {\n key: \"_pushRight\",\n value: function _pushRight(fn) {\n this.pushState();\n for (this.bindBlock(); this.index < this.masked._blocks.length; ++this.index, this.offset = 0) {\n if (fn()) return this.ok = true;\n }\n return this.ok = false;\n }\n }, {\n key: \"pushLeftBeforeFilled\",\n value: function pushLeftBeforeFilled() {\n var _this = this;\n return this._pushLeft(function () {\n if (_this.block.isFixed || !_this.block.value) return;\n _this.offset = _this.block.nearestInputPos(_this.offset, DIRECTION.FORCE_LEFT);\n if (_this.offset !== 0) return true;\n });\n }\n }, {\n key: \"pushLeftBeforeInput\",\n value: function pushLeftBeforeInput() {\n var _this2 = this;\n\n // cases:\n // filled input: 00|\n // optional empty input: 00[]|\n // nested block: XX<[]>|\n return this._pushLeft(function () {\n if (_this2.block.isFixed) return;\n _this2.offset = _this2.block.nearestInputPos(_this2.offset, DIRECTION.LEFT);\n return true;\n });\n }\n }, {\n key: \"pushLeftBeforeRequired\",\n value: function pushLeftBeforeRequired() {\n var _this3 = this;\n return this._pushLeft(function () {\n if (_this3.block.isFixed || _this3.block.isOptional && !_this3.block.value) return;\n _this3.offset = _this3.block.nearestInputPos(_this3.offset, DIRECTION.LEFT);\n return true;\n });\n }\n }, {\n key: \"pushRightBeforeFilled\",\n value: function pushRightBeforeFilled() {\n var _this4 = this;\n return this._pushRight(function () {\n if (_this4.block.isFixed || !_this4.block.value) return;\n _this4.offset = _this4.block.nearestInputPos(_this4.offset, DIRECTION.FORCE_RIGHT);\n if (_this4.offset !== _this4.block.value.length) return true;\n });\n }\n }, {\n key: \"pushRightBeforeInput\",\n value: function pushRightBeforeInput() {\n var _this5 = this;\n return this._pushRight(function () {\n if (_this5.block.isFixed) return; // const o = this.offset;\n\n _this5.offset = _this5.block.nearestInputPos(_this5.offset, DIRECTION.NONE); // HACK cases like (STILL DOES NOT WORK FOR NESTED)\n // aa|X\n // aaX_ - this will not work\n // if (o && o === this.offset && this.block instanceof PatternInputDefinition) continue;\n\n return true;\n });\n }\n }, {\n key: \"pushRightBeforeRequired\",\n value: function pushRightBeforeRequired() {\n var _this6 = this;\n return this._pushRight(function () {\n if (_this6.block.isFixed || _this6.block.isOptional && !_this6.block.value) return; // TODO check |[*]XX_\n\n _this6.offset = _this6.block.nearestInputPos(_this6.offset, DIRECTION.NONE);\n return true;\n });\n }\n }]);\n return PatternCursor;\n}();\n\n/** Masking by RegExp */\n\nvar MaskedRegExp = /*#__PURE__*/function (_Masked) {\n _inherits(MaskedRegExp, _Masked);\n var _super = _createSuper(MaskedRegExp);\n function MaskedRegExp() {\n _classCallCheck(this, MaskedRegExp);\n return _super.apply(this, arguments);\n }\n _createClass(MaskedRegExp, [{\n key: \"_update\",\n value:\n /**\n @override\n @param {Object} opts\n */\n function _update(opts) {\n if (opts.mask) opts.validate = function (value) {\n return value.search(opts.mask) >= 0;\n };\n _get(_getPrototypeOf(MaskedRegExp.prototype), \"_update\", this).call(this, opts);\n }\n }]);\n return MaskedRegExp;\n}(Masked);\nIMask.MaskedRegExp = MaskedRegExp;\nvar _excluded$2 = [\"_blocks\"];\n\n/**\n Pattern mask\n @param {Object} opts\n @param {Object} opts.blocks\n @param {Object} opts.definitions\n @param {string} opts.placeholderChar\n @param {boolean} opts.lazy\n*/\nvar MaskedPattern = /*#__PURE__*/function (_Masked) {\n _inherits(MaskedPattern, _Masked);\n var _super = _createSuper(MaskedPattern);\n\n /** */\n\n /** */\n\n /** Single char for empty input */\n\n /** Show placeholder only when needed */\n function MaskedPattern() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n _classCallCheck(this, MaskedPattern);\n\n // TODO type $Shape={} does not work\n opts.definitions = Object.assign({}, DEFAULT_INPUT_DEFINITIONS, opts.definitions);\n return _super.call(this, Object.assign({}, MaskedPattern.DEFAULTS, opts));\n }\n /**\n @override\n @param {Object} opts\n */\n\n _createClass(MaskedPattern, [{\n key: \"_update\",\n value: function _update() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n opts.definitions = Object.assign({}, this.definitions, opts.definitions);\n _get(_getPrototypeOf(MaskedPattern.prototype), \"_update\", this).call(this, opts);\n this._rebuildMask();\n }\n /** */\n }, {\n key: \"_rebuildMask\",\n value: function _rebuildMask() {\n var _this = this;\n var defs = this.definitions;\n this._blocks = [];\n this._stops = [];\n this._maskedBlocks = {};\n var pattern = this.mask;\n if (!pattern || !defs) return;\n var unmaskingBlock = false;\n var optionalBlock = false;\n for (var i = 0; i < pattern.length; ++i) {\n if (this.blocks) {\n var _ret = function () {\n var p = pattern.slice(i);\n var bNames = Object.keys(_this.blocks).filter(function (bName) {\n return p.indexOf(bName) === 0;\n }); // order by key length\n\n bNames.sort(function (a, b) {\n return b.length - a.length;\n }); // use block name with max length\n\n var bName = bNames[0];\n if (bName) {\n // $FlowFixMe no ideas\n var maskedBlock = createMask(Object.assign({\n parent: _this,\n lazy: _this.lazy,\n eager: _this.eager,\n placeholderChar: _this.placeholderChar,\n overwrite: _this.overwrite\n }, _this.blocks[bName]));\n if (maskedBlock) {\n _this._blocks.push(maskedBlock); // store block index\n\n if (!_this._maskedBlocks[bName]) _this._maskedBlocks[bName] = [];\n _this._maskedBlocks[bName].push(_this._blocks.length - 1);\n }\n i += bName.length - 1;\n return \"continue\";\n }\n }();\n if (_ret === \"continue\") continue;\n }\n var char = pattern[i];\n var isInput = (char in defs);\n if (char === MaskedPattern.STOP_CHAR) {\n this._stops.push(this._blocks.length);\n continue;\n }\n if (char === '{' || char === '}') {\n unmaskingBlock = !unmaskingBlock;\n continue;\n }\n if (char === '[' || char === ']') {\n optionalBlock = !optionalBlock;\n continue;\n }\n if (char === MaskedPattern.ESCAPE_CHAR) {\n ++i;\n char = pattern[i];\n if (!char) break;\n isInput = false;\n }\n var def = isInput ? new PatternInputDefinition({\n parent: this,\n lazy: this.lazy,\n eager: this.eager,\n placeholderChar: this.placeholderChar,\n mask: defs[char],\n isOptional: optionalBlock\n }) : new PatternFixedDefinition({\n char: char,\n eager: this.eager,\n isUnmasking: unmaskingBlock\n });\n this._blocks.push(def);\n }\n }\n /**\n @override\n */\n }, {\n key: \"state\",\n get: function get() {\n return Object.assign({}, _get(_getPrototypeOf(MaskedPattern.prototype), \"state\", this), {\n _blocks: this._blocks.map(function (b) {\n return b.state;\n })\n });\n },\n set: function set(state) {\n var _blocks = state._blocks,\n maskedState = _objectWithoutProperties(state, _excluded$2);\n this._blocks.forEach(function (b, bi) {\n return b.state = _blocks[bi];\n });\n _set(_getPrototypeOf(MaskedPattern.prototype), \"state\", maskedState, this, true);\n }\n /**\n @override\n */\n }, {\n key: \"reset\",\n value: function reset() {\n _get(_getPrototypeOf(MaskedPattern.prototype), \"reset\", this).call(this);\n this._blocks.forEach(function (b) {\n return b.reset();\n });\n }\n /**\n @override\n */\n }, {\n key: \"isComplete\",\n get: function get() {\n return this._blocks.every(function (b) {\n return b.isComplete;\n });\n }\n /**\n @override\n */\n }, {\n key: \"isFilled\",\n get: function get() {\n return this._blocks.every(function (b) {\n return b.isFilled;\n });\n }\n }, {\n key: \"isFixed\",\n get: function get() {\n return this._blocks.every(function (b) {\n return b.isFixed;\n });\n }\n }, {\n key: \"isOptional\",\n get: function get() {\n return this._blocks.every(function (b) {\n return b.isOptional;\n });\n }\n /**\n @override\n */\n }, {\n key: \"doCommit\",\n value: function doCommit() {\n this._blocks.forEach(function (b) {\n return b.doCommit();\n });\n _get(_getPrototypeOf(MaskedPattern.prototype), \"doCommit\", this).call(this);\n }\n /**\n @override\n */\n }, {\n key: \"unmaskedValue\",\n get: function get() {\n return this._blocks.reduce(function (str, b) {\n return str += b.unmaskedValue;\n }, '');\n },\n set: function set(unmaskedValue) {\n _set(_getPrototypeOf(MaskedPattern.prototype), \"unmaskedValue\", unmaskedValue, this, true);\n }\n /**\n @override\n */\n }, {\n key: \"value\",\n get: function get() {\n // TODO return _value when not in change?\n return this._blocks.reduce(function (str, b) {\n return str += b.value;\n }, '');\n },\n set: function set(value) {\n _set(_getPrototypeOf(MaskedPattern.prototype), \"value\", value, this, true);\n }\n /**\n @override\n */\n }, {\n key: \"appendTail\",\n value: function appendTail(tail) {\n return _get(_getPrototypeOf(MaskedPattern.prototype), \"appendTail\", this).call(this, tail).aggregate(this._appendPlaceholder());\n }\n /**\n @override\n */\n }, {\n key: \"_appendEager\",\n value: function _appendEager() {\n var _this$_mapPosToBlock;\n var details = new ChangeDetails();\n var startBlockIndex = (_this$_mapPosToBlock = this._mapPosToBlock(this.value.length)) === null || _this$_mapPosToBlock === void 0 ? void 0 : _this$_mapPosToBlock.index;\n if (startBlockIndex == null) return details; // TODO test if it works for nested pattern masks\n\n if (this._blocks[startBlockIndex].isFilled) ++startBlockIndex;\n for (var bi = startBlockIndex; bi < this._blocks.length; ++bi) {\n var d = this._blocks[bi]._appendEager();\n if (!d.inserted) break;\n details.aggregate(d);\n }\n return details;\n }\n /**\n @override\n */\n }, {\n key: \"_appendCharRaw\",\n value: function _appendCharRaw(ch) {\n var flags = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var blockIter = this._mapPosToBlock(this.value.length);\n var details = new ChangeDetails();\n if (!blockIter) return details;\n for (var bi = blockIter.index;; ++bi) {\n var _flags$_beforeTailSta, _flags$_beforeTailSta2;\n var _block = this._blocks[bi];\n if (!_block) break;\n var blockDetails = _block._appendChar(ch, Object.assign({}, flags, {\n _beforeTailState: (_flags$_beforeTailSta = flags._beforeTailState) === null || _flags$_beforeTailSta === void 0 ? void 0 : (_flags$_beforeTailSta2 = _flags$_beforeTailSta._blocks) === null || _flags$_beforeTailSta2 === void 0 ? void 0 : _flags$_beforeTailSta2[bi]\n }));\n var skip = blockDetails.skip;\n details.aggregate(blockDetails);\n if (skip || blockDetails.rawInserted) break; // go next char\n }\n\n return details;\n }\n /**\n @override\n */\n }, {\n key: \"extractTail\",\n value: function extractTail() {\n var _this2 = this;\n var fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.value.length;\n var chunkTail = new ChunksTailDetails();\n if (fromPos === toPos) return chunkTail;\n this._forEachBlocksInRange(fromPos, toPos, function (b, bi, bFromPos, bToPos) {\n var blockChunk = b.extractTail(bFromPos, bToPos);\n blockChunk.stop = _this2._findStopBefore(bi);\n blockChunk.from = _this2._blockStartPos(bi);\n if (blockChunk instanceof ChunksTailDetails) blockChunk.blockIndex = bi;\n chunkTail.extend(blockChunk);\n });\n return chunkTail;\n }\n /**\n @override\n */\n }, {\n key: \"extractInput\",\n value: function extractInput() {\n var fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.value.length;\n var flags = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n if (fromPos === toPos) return '';\n var input = '';\n this._forEachBlocksInRange(fromPos, toPos, function (b, _, fromPos, toPos) {\n input += b.extractInput(fromPos, toPos, flags);\n });\n return input;\n }\n }, {\n key: \"_findStopBefore\",\n value: function _findStopBefore(blockIndex) {\n var stopBefore;\n for (var si = 0; si < this._stops.length; ++si) {\n var stop = this._stops[si];\n if (stop <= blockIndex) stopBefore = stop;else break;\n }\n return stopBefore;\n }\n /** Appends placeholder depending on laziness */\n }, {\n key: \"_appendPlaceholder\",\n value: function _appendPlaceholder(toBlockIndex) {\n var _this3 = this;\n var details = new ChangeDetails();\n if (this.lazy && toBlockIndex == null) return details;\n var startBlockIter = this._mapPosToBlock(this.value.length);\n if (!startBlockIter) return details;\n var startBlockIndex = startBlockIter.index;\n var endBlockIndex = toBlockIndex != null ? toBlockIndex : this._blocks.length;\n this._blocks.slice(startBlockIndex, endBlockIndex).forEach(function (b) {\n if (!b.lazy || toBlockIndex != null) {\n // $FlowFixMe `_blocks` may not be present\n var args = b._blocks != null ? [b._blocks.length] : [];\n var bDetails = b._appendPlaceholder.apply(b, args);\n _this3._value += bDetails.inserted;\n details.aggregate(bDetails);\n }\n });\n return details;\n }\n /** Finds block in pos */\n }, {\n key: \"_mapPosToBlock\",\n value: function _mapPosToBlock(pos) {\n var accVal = '';\n for (var bi = 0; bi < this._blocks.length; ++bi) {\n var _block2 = this._blocks[bi];\n var blockStartPos = accVal.length;\n accVal += _block2.value;\n if (pos <= accVal.length) {\n return {\n index: bi,\n offset: pos - blockStartPos\n };\n }\n }\n }\n /** */\n }, {\n key: \"_blockStartPos\",\n value: function _blockStartPos(blockIndex) {\n return this._blocks.slice(0, blockIndex).reduce(function (pos, b) {\n return pos += b.value.length;\n }, 0);\n }\n /** */\n }, {\n key: \"_forEachBlocksInRange\",\n value: function _forEachBlocksInRange(fromPos) {\n var toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.value.length;\n var fn = arguments.length > 2 ? arguments[2] : undefined;\n var fromBlockIter = this._mapPosToBlock(fromPos);\n if (fromBlockIter) {\n var toBlockIter = this._mapPosToBlock(toPos); // process first block\n\n var isSameBlock = toBlockIter && fromBlockIter.index === toBlockIter.index;\n var fromBlockStartPos = fromBlockIter.offset;\n var fromBlockEndPos = toBlockIter && isSameBlock ? toBlockIter.offset : this._blocks[fromBlockIter.index].value.length;\n fn(this._blocks[fromBlockIter.index], fromBlockIter.index, fromBlockStartPos, fromBlockEndPos);\n if (toBlockIter && !isSameBlock) {\n // process intermediate blocks\n for (var bi = fromBlockIter.index + 1; bi < toBlockIter.index; ++bi) {\n fn(this._blocks[bi], bi, 0, this._blocks[bi].value.length);\n } // process last block\n\n fn(this._blocks[toBlockIter.index], toBlockIter.index, 0, toBlockIter.offset);\n }\n }\n }\n /**\n @override\n */\n }, {\n key: \"remove\",\n value: function remove() {\n var fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.value.length;\n var removeDetails = _get(_getPrototypeOf(MaskedPattern.prototype), \"remove\", this).call(this, fromPos, toPos);\n this._forEachBlocksInRange(fromPos, toPos, function (b, _, bFromPos, bToPos) {\n removeDetails.aggregate(b.remove(bFromPos, bToPos));\n });\n return removeDetails;\n }\n /**\n @override\n */\n }, {\n key: \"nearestInputPos\",\n value: function nearestInputPos(cursorPos) {\n var direction = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DIRECTION.NONE;\n if (!this._blocks.length) return 0;\n var cursor = new PatternCursor(this, cursorPos);\n if (direction === DIRECTION.NONE) {\n // -------------------------------------------------\n // NONE should only go out from fixed to the right!\n // -------------------------------------------------\n if (cursor.pushRightBeforeInput()) return cursor.pos;\n cursor.popState();\n if (cursor.pushLeftBeforeInput()) return cursor.pos;\n return this.value.length;\n } // FORCE is only about a|* otherwise is 0\n\n if (direction === DIRECTION.LEFT || direction === DIRECTION.FORCE_LEFT) {\n // try to break fast when *|a\n if (direction === DIRECTION.LEFT) {\n cursor.pushRightBeforeFilled();\n if (cursor.ok && cursor.pos === cursorPos) return cursorPos;\n cursor.popState();\n } // forward flow\n\n cursor.pushLeftBeforeInput();\n cursor.pushLeftBeforeRequired();\n cursor.pushLeftBeforeFilled(); // backward flow\n\n if (direction === DIRECTION.LEFT) {\n cursor.pushRightBeforeInput();\n cursor.pushRightBeforeRequired();\n if (cursor.ok && cursor.pos <= cursorPos) return cursor.pos;\n cursor.popState();\n if (cursor.ok && cursor.pos <= cursorPos) return cursor.pos;\n cursor.popState();\n }\n if (cursor.ok) return cursor.pos;\n if (direction === DIRECTION.FORCE_LEFT) return 0;\n cursor.popState();\n if (cursor.ok) return cursor.pos;\n cursor.popState();\n if (cursor.ok) return cursor.pos; // cursor.popState();\n // if (\n // cursor.pushRightBeforeInput() &&\n // // TODO HACK for lazy if has aligned left inside fixed and has came to the start - use start position\n // (!this.lazy || this.extractInput())\n // ) return cursor.pos;\n\n return 0;\n }\n if (direction === DIRECTION.RIGHT || direction === DIRECTION.FORCE_RIGHT) {\n // forward flow\n cursor.pushRightBeforeInput();\n cursor.pushRightBeforeRequired();\n if (cursor.pushRightBeforeFilled()) return cursor.pos;\n if (direction === DIRECTION.FORCE_RIGHT) return this.value.length; // backward flow\n\n cursor.popState();\n if (cursor.ok) return cursor.pos;\n cursor.popState();\n if (cursor.ok) return cursor.pos;\n return this.nearestInputPos(cursorPos, DIRECTION.LEFT);\n }\n return cursorPos;\n }\n /** Get block by name */\n }, {\n key: \"maskedBlock\",\n value: function maskedBlock(name) {\n return this.maskedBlocks(name)[0];\n }\n /** Get all blocks by name */\n }, {\n key: \"maskedBlocks\",\n value: function maskedBlocks(name) {\n var _this4 = this;\n var indices = this._maskedBlocks[name];\n if (!indices) return [];\n return indices.map(function (gi) {\n return _this4._blocks[gi];\n });\n }\n }]);\n return MaskedPattern;\n}(Masked);\nMaskedPattern.DEFAULTS = {\n lazy: true,\n placeholderChar: '_'\n};\nMaskedPattern.STOP_CHAR = '`';\nMaskedPattern.ESCAPE_CHAR = '\\\\';\nMaskedPattern.InputDefinition = PatternInputDefinition;\nMaskedPattern.FixedDefinition = PatternFixedDefinition;\nIMask.MaskedPattern = MaskedPattern;\n\n/** Pattern which accepts ranges */\n\nvar MaskedRange = /*#__PURE__*/function (_MaskedPattern) {\n _inherits(MaskedRange, _MaskedPattern);\n var _super = _createSuper(MaskedRange);\n function MaskedRange() {\n _classCallCheck(this, MaskedRange);\n return _super.apply(this, arguments);\n }\n _createClass(MaskedRange, [{\n key: \"_matchFrom\",\n get:\n /**\n Optionally sets max length of pattern.\n Used when pattern length is longer then `to` param length. Pads zeros at start in this case.\n */\n\n /** Min bound */\n\n /** Max bound */\n\n /** */\n function get() {\n return this.maxLength - String(this.from).length;\n }\n /**\n @override\n */\n }, {\n key: \"_update\",\n value: function _update(opts) {\n // TODO type\n opts = Object.assign({\n to: this.to || 0,\n from: this.from || 0,\n maxLength: this.maxLength || 0\n }, opts);\n var maxLength = String(opts.to).length;\n if (opts.maxLength != null) maxLength = Math.max(maxLength, opts.maxLength);\n opts.maxLength = maxLength;\n var fromStr = String(opts.from).padStart(maxLength, '0');\n var toStr = String(opts.to).padStart(maxLength, '0');\n var sameCharsCount = 0;\n while (sameCharsCount < toStr.length && toStr[sameCharsCount] === fromStr[sameCharsCount]) {\n ++sameCharsCount;\n }\n opts.mask = toStr.slice(0, sameCharsCount).replace(/0/g, '\\\\0') + '0'.repeat(maxLength - sameCharsCount);\n _get(_getPrototypeOf(MaskedRange.prototype), \"_update\", this).call(this, opts);\n }\n /**\n @override\n */\n }, {\n key: \"isComplete\",\n get: function get() {\n return _get(_getPrototypeOf(MaskedRange.prototype), \"isComplete\", this) && Boolean(this.value);\n }\n }, {\n key: \"boundaries\",\n value: function boundaries(str) {\n var minstr = '';\n var maxstr = '';\n var _ref = str.match(/^(\\D*)(\\d*)(\\D*)/) || [],\n _ref2 = _slicedToArray(_ref, 3),\n placeholder = _ref2[1],\n num = _ref2[2];\n if (num) {\n minstr = '0'.repeat(placeholder.length) + num;\n maxstr = '9'.repeat(placeholder.length) + num;\n }\n minstr = minstr.padEnd(this.maxLength, '0');\n maxstr = maxstr.padEnd(this.maxLength, '9');\n return [minstr, maxstr];\n } // TODO str is a single char everytime\n\n /**\n @override\n */\n }, {\n key: \"doPrepare\",\n value: function doPrepare(ch) {\n var flags = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var details;\n var _normalizePrepare = normalizePrepare(_get(_getPrototypeOf(MaskedRange.prototype), \"doPrepare\", this).call(this, ch.replace(/\\D/g, ''), flags));\n var _normalizePrepare2 = _slicedToArray(_normalizePrepare, 2);\n ch = _normalizePrepare2[0];\n details = _normalizePrepare2[1];\n if (!this.autofix || !ch) return ch;\n var fromStr = String(this.from).padStart(this.maxLength, '0');\n var toStr = String(this.to).padStart(this.maxLength, '0');\n var nextVal = this.value + ch;\n if (nextVal.length > this.maxLength) return '';\n var _this$boundaries = this.boundaries(nextVal),\n _this$boundaries2 = _slicedToArray(_this$boundaries, 2),\n minstr = _this$boundaries2[0],\n maxstr = _this$boundaries2[1];\n if (Number(maxstr) < this.from) return fromStr[nextVal.length - 1];\n if (Number(minstr) > this.to) {\n if (this.autofix === 'pad' && nextVal.length < this.maxLength) {\n return ['', details.aggregate(this.append(fromStr[nextVal.length - 1] + ch, flags))];\n }\n return toStr[nextVal.length - 1];\n }\n return ch;\n }\n /**\n @override\n */\n }, {\n key: \"doValidate\",\n value: function doValidate() {\n var _get2;\n var str = this.value;\n var firstNonZero = str.search(/[^0]/);\n if (firstNonZero === -1 && str.length <= this._matchFrom) return true;\n var _this$boundaries3 = this.boundaries(str),\n _this$boundaries4 = _slicedToArray(_this$boundaries3, 2),\n minstr = _this$boundaries4[0],\n maxstr = _this$boundaries4[1];\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return this.from <= Number(maxstr) && Number(minstr) <= this.to && (_get2 = _get(_getPrototypeOf(MaskedRange.prototype), \"doValidate\", this)).call.apply(_get2, [this].concat(args));\n }\n }]);\n return MaskedRange;\n}(MaskedPattern);\nIMask.MaskedRange = MaskedRange;\n\n/** Date mask */\n\nvar MaskedDate = /*#__PURE__*/function (_MaskedPattern) {\n _inherits(MaskedDate, _MaskedPattern);\n var _super = _createSuper(MaskedDate);\n\n /** Pattern mask for date according to {@link MaskedDate#format} */\n\n /** Start date */\n\n /** End date */\n\n /** */\n\n /**\n @param {Object} opts\n */\n function MaskedDate(opts) {\n _classCallCheck(this, MaskedDate);\n return _super.call(this, Object.assign({}, MaskedDate.DEFAULTS, opts));\n }\n /**\n @override\n */\n\n _createClass(MaskedDate, [{\n key: \"_update\",\n value: function _update(opts) {\n if (opts.mask === Date) delete opts.mask;\n if (opts.pattern) opts.mask = opts.pattern;\n var blocks = opts.blocks;\n opts.blocks = Object.assign({}, MaskedDate.GET_DEFAULT_BLOCKS()); // adjust year block\n\n if (opts.min) opts.blocks.Y.from = opts.min.getFullYear();\n if (opts.max) opts.blocks.Y.to = opts.max.getFullYear();\n if (opts.min && opts.max && opts.blocks.Y.from === opts.blocks.Y.to) {\n opts.blocks.m.from = opts.min.getMonth() + 1;\n opts.blocks.m.to = opts.max.getMonth() + 1;\n if (opts.blocks.m.from === opts.blocks.m.to) {\n opts.blocks.d.from = opts.min.getDate();\n opts.blocks.d.to = opts.max.getDate();\n }\n }\n Object.assign(opts.blocks, this.blocks, blocks); // add autofix\n\n Object.keys(opts.blocks).forEach(function (bk) {\n var b = opts.blocks[bk];\n if (!('autofix' in b) && 'autofix' in opts) b.autofix = opts.autofix;\n });\n _get(_getPrototypeOf(MaskedDate.prototype), \"_update\", this).call(this, opts);\n }\n /**\n @override\n */\n }, {\n key: \"doValidate\",\n value: function doValidate() {\n var _get2;\n var date = this.date;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return (_get2 = _get(_getPrototypeOf(MaskedDate.prototype), \"doValidate\", this)).call.apply(_get2, [this].concat(args)) && (!this.isComplete || this.isDateExist(this.value) && date != null && (this.min == null || this.min <= date) && (this.max == null || date <= this.max));\n }\n /** Checks if date is exists */\n }, {\n key: \"isDateExist\",\n value: function isDateExist(str) {\n return this.format(this.parse(str, this), this).indexOf(str) >= 0;\n }\n /** Parsed Date */\n }, {\n key: \"date\",\n get: function get() {\n return this.typedValue;\n },\n set: function set(date) {\n this.typedValue = date;\n }\n /**\n @override\n */\n }, {\n key: \"typedValue\",\n get: function get() {\n return this.isComplete ? _get(_getPrototypeOf(MaskedDate.prototype), \"typedValue\", this) : null;\n },\n set: function set(value) {\n _set(_getPrototypeOf(MaskedDate.prototype), \"typedValue\", value, this, true);\n }\n /**\n @override\n */\n }, {\n key: \"maskEquals\",\n value: function maskEquals(mask) {\n return mask === Date || _get(_getPrototypeOf(MaskedDate.prototype), \"maskEquals\", this).call(this, mask);\n }\n }]);\n return MaskedDate;\n}(MaskedPattern);\nMaskedDate.DEFAULTS = {\n pattern: 'd{.}`m{.}`Y',\n format: function format(date) {\n if (!date) return '';\n var day = String(date.getDate()).padStart(2, '0');\n var month = String(date.getMonth() + 1).padStart(2, '0');\n var year = date.getFullYear();\n return [day, month, year].join('.');\n },\n parse: function parse(str) {\n var _str$split = str.split('.'),\n _str$split2 = _slicedToArray(_str$split, 3),\n day = _str$split2[0],\n month = _str$split2[1],\n year = _str$split2[2];\n return new Date(year, month - 1, day);\n }\n};\nMaskedDate.GET_DEFAULT_BLOCKS = function () {\n return {\n d: {\n mask: MaskedRange,\n from: 1,\n to: 31,\n maxLength: 2\n },\n m: {\n mask: MaskedRange,\n from: 1,\n to: 12,\n maxLength: 2\n },\n Y: {\n mask: MaskedRange,\n from: 1900,\n to: 9999\n }\n };\n};\nIMask.MaskedDate = MaskedDate;\n\n/**\n Generic element API to use with mask\n @interface\n*/\nvar MaskElement = /*#__PURE__*/function () {\n function MaskElement() {\n _classCallCheck(this, MaskElement);\n }\n _createClass(MaskElement, [{\n key: \"selectionStart\",\n get: /** */\n\n /** */\n\n /** */\n\n /** Safely returns selection start */\n function get() {\n var start;\n try {\n start = this._unsafeSelectionStart;\n } catch (e) {}\n return start != null ? start : this.value.length;\n }\n /** Safely returns selection end */\n }, {\n key: \"selectionEnd\",\n get: function get() {\n var end;\n try {\n end = this._unsafeSelectionEnd;\n } catch (e) {}\n return end != null ? end : this.value.length;\n }\n /** Safely sets element selection */\n }, {\n key: \"select\",\n value: function select(start, end) {\n if (start == null || end == null || start === this.selectionStart && end === this.selectionEnd) return;\n try {\n this._unsafeSelect(start, end);\n } catch (e) {}\n }\n /** Should be overriden in subclasses */\n }, {\n key: \"_unsafeSelect\",\n value: function _unsafeSelect(start, end) {}\n /** Should be overriden in subclasses */\n }, {\n key: \"isActive\",\n get: function get() {\n return false;\n }\n /** Should be overriden in subclasses */\n }, {\n key: \"bindEvents\",\n value: function bindEvents(handlers) {}\n /** Should be overriden in subclasses */\n }, {\n key: \"unbindEvents\",\n value: function unbindEvents() {}\n }]);\n return MaskElement;\n}();\nIMask.MaskElement = MaskElement;\n\n/** Bridge between HTMLElement and {@link Masked} */\n\nvar HTMLMaskElement = /*#__PURE__*/function (_MaskElement) {\n _inherits(HTMLMaskElement, _MaskElement);\n var _super = _createSuper(HTMLMaskElement);\n\n /** Mapping between HTMLElement events and mask internal events */\n\n /** HTMLElement to use mask on */\n\n /**\n @param {HTMLInputElement|HTMLTextAreaElement} input\n */\n function HTMLMaskElement(input) {\n var _this;\n _classCallCheck(this, HTMLMaskElement);\n _this = _super.call(this);\n _this.input = input;\n _this._handlers = {};\n return _this;\n }\n /** */\n // $FlowFixMe https://github.com/facebook/flow/issues/2839\n\n _createClass(HTMLMaskElement, [{\n key: \"rootElement\",\n get: function get() {\n var _this$input$getRootNo, _this$input$getRootNo2, _this$input;\n return (_this$input$getRootNo = (_this$input$getRootNo2 = (_this$input = this.input).getRootNode) === null || _this$input$getRootNo2 === void 0 ? void 0 : _this$input$getRootNo2.call(_this$input)) !== null && _this$input$getRootNo !== void 0 ? _this$input$getRootNo : document;\n }\n /**\n Is element in focus\n @readonly\n */\n }, {\n key: \"isActive\",\n get: function get() {\n //$FlowFixMe\n return this.input === this.rootElement.activeElement;\n }\n /**\n Returns HTMLElement selection start\n @override\n */\n }, {\n key: \"_unsafeSelectionStart\",\n get: function get() {\n return this.input.selectionStart;\n }\n /**\n Returns HTMLElement selection end\n @override\n */\n }, {\n key: \"_unsafeSelectionEnd\",\n get: function get() {\n return this.input.selectionEnd;\n }\n /**\n Sets HTMLElement selection\n @override\n */\n }, {\n key: \"_unsafeSelect\",\n value: function _unsafeSelect(start, end) {\n this.input.setSelectionRange(start, end);\n }\n /**\n HTMLElement value\n @override\n */\n }, {\n key: \"value\",\n get: function get() {\n return this.input.value;\n },\n set: function set(value) {\n this.input.value = value;\n }\n /**\n Binds HTMLElement events to mask internal events\n @override\n */\n }, {\n key: \"bindEvents\",\n value: function bindEvents(handlers) {\n var _this2 = this;\n Object.keys(handlers).forEach(function (event) {\n return _this2._toggleEventHandler(HTMLMaskElement.EVENTS_MAP[event], handlers[event]);\n });\n }\n /**\n Unbinds HTMLElement events to mask internal events\n @override\n */\n }, {\n key: \"unbindEvents\",\n value: function unbindEvents() {\n var _this3 = this;\n Object.keys(this._handlers).forEach(function (event) {\n return _this3._toggleEventHandler(event);\n });\n }\n /** */\n }, {\n key: \"_toggleEventHandler\",\n value: function _toggleEventHandler(event, handler) {\n if (this._handlers[event]) {\n this.input.removeEventListener(event, this._handlers[event]);\n delete this._handlers[event];\n }\n if (handler) {\n this.input.addEventListener(event, handler);\n this._handlers[event] = handler;\n }\n }\n }]);\n return HTMLMaskElement;\n}(MaskElement);\nHTMLMaskElement.EVENTS_MAP = {\n selectionChange: 'keydown',\n input: 'input',\n drop: 'drop',\n click: 'click',\n focus: 'focus',\n commit: 'blur'\n};\nIMask.HTMLMaskElement = HTMLMaskElement;\nvar HTMLContenteditableMaskElement = /*#__PURE__*/function (_HTMLMaskElement) {\n _inherits(HTMLContenteditableMaskElement, _HTMLMaskElement);\n var _super = _createSuper(HTMLContenteditableMaskElement);\n function HTMLContenteditableMaskElement() {\n _classCallCheck(this, HTMLContenteditableMaskElement);\n return _super.apply(this, arguments);\n }\n _createClass(HTMLContenteditableMaskElement, [{\n key: \"_unsafeSelectionStart\",\n get:\n /**\n Returns HTMLElement selection start\n @override\n */\n function get() {\n var root = this.rootElement;\n var selection = root.getSelection && root.getSelection();\n var anchorOffset = selection && selection.anchorOffset;\n var focusOffset = selection && selection.focusOffset;\n if (focusOffset == null || anchorOffset == null || anchorOffset < focusOffset) {\n return anchorOffset;\n }\n return focusOffset;\n }\n /**\n Returns HTMLElement selection end\n @override\n */\n }, {\n key: \"_unsafeSelectionEnd\",\n get: function get() {\n var root = this.rootElement;\n var selection = root.getSelection && root.getSelection();\n var anchorOffset = selection && selection.anchorOffset;\n var focusOffset = selection && selection.focusOffset;\n if (focusOffset == null || anchorOffset == null || anchorOffset > focusOffset) {\n return anchorOffset;\n }\n return focusOffset;\n }\n /**\n Sets HTMLElement selection\n @override\n */\n }, {\n key: \"_unsafeSelect\",\n value: function _unsafeSelect(start, end) {\n if (!this.rootElement.createRange) return;\n var range = this.rootElement.createRange();\n range.setStart(this.input.firstChild || this.input, start);\n range.setEnd(this.input.lastChild || this.input, end);\n var root = this.rootElement;\n var selection = root.getSelection && root.getSelection();\n if (selection) {\n selection.removeAllRanges();\n selection.addRange(range);\n }\n }\n /**\n HTMLElement value\n @override\n */\n }, {\n key: \"value\",\n get: function get() {\n // $FlowFixMe\n return this.input.textContent;\n },\n set: function set(value) {\n this.input.textContent = value;\n }\n }]);\n return HTMLContenteditableMaskElement;\n}(HTMLMaskElement);\nIMask.HTMLContenteditableMaskElement = HTMLContenteditableMaskElement;\nvar _excluded$3 = [\"mask\"];\n/** Listens to element events and controls changes between element and {@link Masked} */\n\nvar InputMask = /*#__PURE__*/function () {\n /**\n View element\n @readonly\n */\n\n /**\n Internal {@link Masked} model\n @readonly\n */\n\n /**\n @param {MaskElement|HTMLInputElement|HTMLTextAreaElement} el\n @param {Object} opts\n */\n function InputMask(el, opts) {\n _classCallCheck(this, InputMask);\n this.el = el instanceof MaskElement ? el : el.isContentEditable && el.tagName !== 'INPUT' && el.tagName !== 'TEXTAREA' ? new HTMLContenteditableMaskElement(el) : new HTMLMaskElement(el);\n this.masked = createMask(opts);\n this._listeners = {};\n this._value = '';\n this._unmaskedValue = '';\n this._saveSelection = this._saveSelection.bind(this);\n this._onInput = this._onInput.bind(this);\n this._onChange = this._onChange.bind(this);\n this._onDrop = this._onDrop.bind(this);\n this._onFocus = this._onFocus.bind(this);\n this._onClick = this._onClick.bind(this);\n this.alignCursor = this.alignCursor.bind(this);\n this.alignCursorFriendly = this.alignCursorFriendly.bind(this);\n this._bindEvents(); // refresh\n\n this.updateValue();\n this._onChange();\n }\n /** Read or update mask */\n\n _createClass(InputMask, [{\n key: \"mask\",\n get: function get() {\n return this.masked.mask;\n },\n set: function set(mask) {\n if (this.maskEquals(mask)) return; // $FlowFixMe No ideas ... after update\n\n if (!(mask instanceof IMask.Masked) && this.masked.constructor === maskedClass(mask)) {\n this.masked.updateOptions({\n mask: mask\n });\n return;\n }\n var masked = createMask({\n mask: mask\n });\n masked.unmaskedValue = this.masked.unmaskedValue;\n this.masked = masked;\n }\n /** Raw value */\n }, {\n key: \"maskEquals\",\n value: function maskEquals(mask) {\n var _this$masked;\n return mask == null || ((_this$masked = this.masked) === null || _this$masked === void 0 ? void 0 : _this$masked.maskEquals(mask));\n }\n }, {\n key: \"value\",\n get: function get() {\n return this._value;\n },\n set: function set(str) {\n if (this.value === str) return;\n this.masked.value = str;\n this.updateControl();\n this.alignCursor();\n }\n /** Unmasked value */\n }, {\n key: \"unmaskedValue\",\n get: function get() {\n return this._unmaskedValue;\n },\n set: function set(str) {\n if (this.unmaskedValue === str) return;\n this.masked.unmaskedValue = str;\n this.updateControl();\n this.alignCursor();\n }\n /** Typed unmasked value */\n }, {\n key: \"typedValue\",\n get: function get() {\n return this.masked.typedValue;\n },\n set: function set(val) {\n if (this.masked.typedValueEquals(val)) return;\n this.masked.typedValue = val;\n this.updateControl();\n this.alignCursor();\n }\n /**\n Starts listening to element events\n @protected\n */\n }, {\n key: \"_bindEvents\",\n value: function _bindEvents() {\n this.el.bindEvents({\n selectionChange: this._saveSelection,\n input: this._onInput,\n drop: this._onDrop,\n click: this._onClick,\n focus: this._onFocus,\n commit: this._onChange\n });\n }\n /**\n Stops listening to element events\n @protected\n */\n }, {\n key: \"_unbindEvents\",\n value: function _unbindEvents() {\n if (this.el) this.el.unbindEvents();\n }\n /**\n Fires custom event\n @protected\n */\n }, {\n key: \"_fireEvent\",\n value: function _fireEvent(ev) {\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 var listeners = this._listeners[ev];\n if (!listeners) return;\n listeners.forEach(function (l) {\n return l.apply(void 0, args);\n });\n }\n /**\n Current selection start\n @readonly\n */\n }, {\n key: \"selectionStart\",\n get: function get() {\n return this._cursorChanging ? this._changingCursorPos : this.el.selectionStart;\n }\n /** Current cursor position */\n }, {\n key: \"cursorPos\",\n get: function get() {\n return this._cursorChanging ? this._changingCursorPos : this.el.selectionEnd;\n },\n set: function set(pos) {\n if (!this.el || !this.el.isActive) return;\n this.el.select(pos, pos);\n this._saveSelection();\n }\n /**\n Stores current selection\n @protected\n */\n }, {\n key: \"_saveSelection\",\n value: function /* ev */\n _saveSelection() {\n if (this.value !== this.el.value) {\n console.warn('Element value was changed outside of mask. Syncronize mask using `mask.updateValue()` to work properly.'); // eslint-disable-line no-console\n }\n\n this._selection = {\n start: this.selectionStart,\n end: this.cursorPos\n };\n }\n /** Syncronizes model value from view */\n }, {\n key: \"updateValue\",\n value: function updateValue() {\n this.masked.value = this.el.value;\n this._value = this.masked.value;\n }\n /** Syncronizes view from model value, fires change events */\n }, {\n key: \"updateControl\",\n value: function updateControl() {\n var newUnmaskedValue = this.masked.unmaskedValue;\n var newValue = this.masked.value;\n var isChanged = this.unmaskedValue !== newUnmaskedValue || this.value !== newValue;\n this._unmaskedValue = newUnmaskedValue;\n this._value = newValue;\n if (this.el.value !== newValue) this.el.value = newValue;\n if (isChanged) this._fireChangeEvents();\n }\n /** Updates options with deep equal check, recreates @{link Masked} model if mask type changes */\n }, {\n key: \"updateOptions\",\n value: function updateOptions(opts) {\n var mask = opts.mask,\n restOpts = _objectWithoutProperties(opts, _excluded$3);\n var updateMask = !this.maskEquals(mask);\n var updateOpts = !objectIncludes(this.masked, restOpts);\n if (updateMask) this.mask = mask;\n if (updateOpts) this.masked.updateOptions(restOpts);\n if (updateMask || updateOpts) this.updateControl();\n }\n /** Updates cursor */\n }, {\n key: \"updateCursor\",\n value: function updateCursor(cursorPos) {\n if (cursorPos == null) return;\n this.cursorPos = cursorPos; // also queue change cursor for mobile browsers\n\n this._delayUpdateCursor(cursorPos);\n }\n /**\n Delays cursor update to support mobile browsers\n @private\n */\n }, {\n key: \"_delayUpdateCursor\",\n value: function _delayUpdateCursor(cursorPos) {\n var _this = this;\n this._abortUpdateCursor();\n this._changingCursorPos = cursorPos;\n this._cursorChanging = setTimeout(function () {\n if (!_this.el) return; // if was destroyed\n\n _this.cursorPos = _this._changingCursorPos;\n _this._abortUpdateCursor();\n }, 10);\n }\n /**\n Fires custom events\n @protected\n */\n }, {\n key: \"_fireChangeEvents\",\n value: function _fireChangeEvents() {\n this._fireEvent('accept', this._inputEvent);\n if (this.masked.isComplete) this._fireEvent('complete', this._inputEvent);\n }\n /**\n Aborts delayed cursor update\n @private\n */\n }, {\n key: \"_abortUpdateCursor\",\n value: function _abortUpdateCursor() {\n if (this._cursorChanging) {\n clearTimeout(this._cursorChanging);\n delete this._cursorChanging;\n }\n }\n /** Aligns cursor to nearest available position */\n }, {\n key: \"alignCursor\",\n value: function alignCursor() {\n this.cursorPos = this.masked.nearestInputPos(this.masked.nearestInputPos(this.cursorPos, DIRECTION.LEFT));\n }\n /** Aligns cursor only if selection is empty */\n }, {\n key: \"alignCursorFriendly\",\n value: function alignCursorFriendly() {\n if (this.selectionStart !== this.cursorPos) return; // skip if range is selected\n\n this.alignCursor();\n }\n /** Adds listener on custom event */\n }, {\n key: \"on\",\n value: function on(ev, handler) {\n if (!this._listeners[ev]) this._listeners[ev] = [];\n this._listeners[ev].push(handler);\n return this;\n }\n /** Removes custom event listener */\n }, {\n key: \"off\",\n value: function off(ev, handler) {\n if (!this._listeners[ev]) return this;\n if (!handler) {\n delete this._listeners[ev];\n return this;\n }\n var hIndex = this._listeners[ev].indexOf(handler);\n if (hIndex >= 0) this._listeners[ev].splice(hIndex, 1);\n return this;\n }\n /** Handles view input event */\n }, {\n key: \"_onInput\",\n value: function _onInput(e) {\n this._inputEvent = e;\n this._abortUpdateCursor(); // fix strange IE behavior\n\n if (!this._selection) return this.updateValue();\n var details = new ActionDetails(\n // new state\n this.el.value, this.cursorPos,\n // old state\n this.value, this._selection);\n var oldRawValue = this.masked.rawInputValue;\n var offset = this.masked.splice(details.startChangePos, details.removed.length, details.inserted, details.removeDirection, {\n input: true,\n raw: true\n }).offset; // force align in remove direction only if no input chars were removed\n // otherwise we still need to align with NONE (to get out from fixed symbols for instance)\n\n var removeDirection = oldRawValue === this.masked.rawInputValue ? details.removeDirection : DIRECTION.NONE;\n var cursorPos = this.masked.nearestInputPos(details.startChangePos + offset, removeDirection);\n if (removeDirection !== DIRECTION.NONE) cursorPos = this.masked.nearestInputPos(cursorPos, DIRECTION.NONE);\n this.updateControl();\n this.updateCursor(cursorPos);\n delete this._inputEvent;\n }\n /** Handles view change event and commits model value */\n }, {\n key: \"_onChange\",\n value: function _onChange() {\n if (this.value !== this.el.value) {\n this.updateValue();\n }\n this.masked.doCommit();\n this.updateControl();\n this._saveSelection();\n }\n /** Handles view drop event, prevents by default */\n }, {\n key: \"_onDrop\",\n value: function _onDrop(ev) {\n ev.preventDefault();\n ev.stopPropagation();\n }\n /** Restore last selection on focus */\n }, {\n key: \"_onFocus\",\n value: function _onFocus(ev) {\n this.alignCursorFriendly();\n }\n /** Restore last selection on focus */\n }, {\n key: \"_onClick\",\n value: function _onClick(ev) {\n this.alignCursorFriendly();\n }\n /** Unbind view events and removes element reference */\n }, {\n key: \"destroy\",\n value: function destroy() {\n this._unbindEvents(); // $FlowFixMe why not do so?\n\n this._listeners.length = 0; // $FlowFixMe\n\n delete this.el;\n }\n }]);\n return InputMask;\n}();\nIMask.InputMask = InputMask;\n\n/**\n Number mask\n @param {Object} opts\n @param {string} opts.radix - Single char\n @param {string} opts.thousandsSeparator - Single char\n @param {Array} opts.mapToRadix - Array of single chars\n @param {number} opts.min\n @param {number} opts.max\n @param {number} opts.scale - Digits after point\n @param {boolean} opts.signed - Allow negative\n @param {boolean} opts.normalizeZeros - Flag to remove leading and trailing zeros in the end of editing\n @param {boolean} opts.padFractionalZeros - Flag to pad trailing zeros after point in the end of editing\n*/\nvar MaskedNumber = /*#__PURE__*/function (_Masked) {\n _inherits(MaskedNumber, _Masked);\n var _super = _createSuper(MaskedNumber);\n\n /** Single char */\n\n /** Single char */\n\n /** Array of single chars */\n\n /** */\n\n /** */\n\n /** Digits after point */\n\n /** */\n\n /** Flag to remove leading and trailing zeros in the end of editing */\n\n /** Flag to pad trailing zeros after point in the end of editing */\n function MaskedNumber(opts) {\n _classCallCheck(this, MaskedNumber);\n return _super.call(this, Object.assign({}, MaskedNumber.DEFAULTS, opts));\n }\n /**\n @override\n */\n\n _createClass(MaskedNumber, [{\n key: \"_update\",\n value: function _update(opts) {\n _get(_getPrototypeOf(MaskedNumber.prototype), \"_update\", this).call(this, opts);\n this._updateRegExps();\n }\n /** */\n }, {\n key: \"_updateRegExps\",\n value: function _updateRegExps() {\n // use different regexp to process user input (more strict, input suffix) and tail shifting\n var start = '^' + (this.allowNegative ? '[+|\\\\-]?' : '');\n var midInput = '(0|([1-9]+\\\\d*))?';\n var mid = '\\\\d*';\n var end = (this.scale ? '(' + escapeRegExp(this.radix) + '\\\\d{0,' + this.scale + '})?' : '') + '$';\n this._numberRegExpInput = new RegExp(start + midInput + end);\n this._numberRegExp = new RegExp(start + mid + end);\n this._mapToRadixRegExp = new RegExp('[' + this.mapToRadix.map(escapeRegExp).join('') + ']', 'g');\n this._thousandsSeparatorRegExp = new RegExp(escapeRegExp(this.thousandsSeparator), 'g');\n }\n /** */\n }, {\n key: \"_removeThousandsSeparators\",\n value: function _removeThousandsSeparators(value) {\n return value.replace(this._thousandsSeparatorRegExp, '');\n }\n /** */\n }, {\n key: \"_insertThousandsSeparators\",\n value: function _insertThousandsSeparators(value) {\n // https://stackoverflow.com/questions/2901102/how-to-print-a-number-with-commas-as-thousands-separators-in-javascript\n var parts = value.split(this.radix);\n parts[0] = parts[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, this.thousandsSeparator);\n return parts.join(this.radix);\n }\n /**\n @override\n */\n }, {\n key: \"doPrepare\",\n value: function doPrepare(ch) {\n var _get2;\n ch = ch.replace(this._mapToRadixRegExp, this.radix);\n var noSepCh = this._removeThousandsSeparators(ch);\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 var _normalizePrepare = normalizePrepare((_get2 = _get(_getPrototypeOf(MaskedNumber.prototype), \"doPrepare\", this)).call.apply(_get2, [this, noSepCh].concat(args))),\n _normalizePrepare2 = _slicedToArray(_normalizePrepare, 2),\n prepCh = _normalizePrepare2[0],\n details = _normalizePrepare2[1];\n if (ch && !noSepCh) details.skip = true;\n return [prepCh, details];\n }\n /** */\n }, {\n key: \"_separatorsCount\",\n value: function _separatorsCount(to) {\n var extendOnSeparators = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var count = 0;\n for (var pos = 0; pos < to; ++pos) {\n if (this._value.indexOf(this.thousandsSeparator, pos) === pos) {\n ++count;\n if (extendOnSeparators) to += this.thousandsSeparator.length;\n }\n }\n return count;\n }\n /** */\n }, {\n key: \"_separatorsCountFromSlice\",\n value: function _separatorsCountFromSlice() {\n var slice = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this._value;\n return this._separatorsCount(this._removeThousandsSeparators(slice).length, true);\n }\n /**\n @override\n */\n }, {\n key: \"extractInput\",\n value: function extractInput() {\n var fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.value.length;\n var flags = arguments.length > 2 ? arguments[2] : undefined;\n var _this$_adjustRangeWit = this._adjustRangeWithSeparators(fromPos, toPos);\n var _this$_adjustRangeWit2 = _slicedToArray(_this$_adjustRangeWit, 2);\n fromPos = _this$_adjustRangeWit2[0];\n toPos = _this$_adjustRangeWit2[1];\n return this._removeThousandsSeparators(_get(_getPrototypeOf(MaskedNumber.prototype), \"extractInput\", this).call(this, fromPos, toPos, flags));\n }\n /**\n @override\n */\n }, {\n key: \"_appendCharRaw\",\n value: function _appendCharRaw(ch) {\n var flags = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (!this.thousandsSeparator) return _get(_getPrototypeOf(MaskedNumber.prototype), \"_appendCharRaw\", this).call(this, ch, flags);\n var prevBeforeTailValue = flags.tail && flags._beforeTailState ? flags._beforeTailState._value : this._value;\n var prevBeforeTailSeparatorsCount = this._separatorsCountFromSlice(prevBeforeTailValue);\n this._value = this._removeThousandsSeparators(this.value);\n var appendDetails = _get(_getPrototypeOf(MaskedNumber.prototype), \"_appendCharRaw\", this).call(this, ch, flags);\n this._value = this._insertThousandsSeparators(this._value);\n var beforeTailValue = flags.tail && flags._beforeTailState ? flags._beforeTailState._value : this._value;\n var beforeTailSeparatorsCount = this._separatorsCountFromSlice(beforeTailValue);\n appendDetails.tailShift += (beforeTailSeparatorsCount - prevBeforeTailSeparatorsCount) * this.thousandsSeparator.length;\n appendDetails.skip = !appendDetails.rawInserted && ch === this.thousandsSeparator;\n return appendDetails;\n }\n /** */\n }, {\n key: \"_findSeparatorAround\",\n value: function _findSeparatorAround(pos) {\n if (this.thousandsSeparator) {\n var searchFrom = pos - this.thousandsSeparator.length + 1;\n var separatorPos = this.value.indexOf(this.thousandsSeparator, searchFrom);\n if (separatorPos <= pos) return separatorPos;\n }\n return -1;\n }\n }, {\n key: \"_adjustRangeWithSeparators\",\n value: function _adjustRangeWithSeparators(from, to) {\n var separatorAroundFromPos = this._findSeparatorAround(from);\n if (separatorAroundFromPos >= 0) from = separatorAroundFromPos;\n var separatorAroundToPos = this._findSeparatorAround(to);\n if (separatorAroundToPos >= 0) to = separatorAroundToPos + this.thousandsSeparator.length;\n return [from, to];\n }\n /**\n @override\n */\n }, {\n key: \"remove\",\n value: function remove() {\n var fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.value.length;\n var _this$_adjustRangeWit3 = this._adjustRangeWithSeparators(fromPos, toPos);\n var _this$_adjustRangeWit4 = _slicedToArray(_this$_adjustRangeWit3, 2);\n fromPos = _this$_adjustRangeWit4[0];\n toPos = _this$_adjustRangeWit4[1];\n var valueBeforePos = this.value.slice(0, fromPos);\n var valueAfterPos = this.value.slice(toPos);\n var prevBeforeTailSeparatorsCount = this._separatorsCount(valueBeforePos.length);\n this._value = this._insertThousandsSeparators(this._removeThousandsSeparators(valueBeforePos + valueAfterPos));\n var beforeTailSeparatorsCount = this._separatorsCountFromSlice(valueBeforePos);\n return new ChangeDetails({\n tailShift: (beforeTailSeparatorsCount - prevBeforeTailSeparatorsCount) * this.thousandsSeparator.length\n });\n }\n /**\n @override\n */\n }, {\n key: \"nearestInputPos\",\n value: function nearestInputPos(cursorPos, direction) {\n if (!this.thousandsSeparator) return cursorPos;\n switch (direction) {\n case DIRECTION.NONE:\n case DIRECTION.LEFT:\n case DIRECTION.FORCE_LEFT:\n {\n var separatorAtLeftPos = this._findSeparatorAround(cursorPos - 1);\n if (separatorAtLeftPos >= 0) {\n var separatorAtLeftEndPos = separatorAtLeftPos + this.thousandsSeparator.length;\n if (cursorPos < separatorAtLeftEndPos || this.value.length <= separatorAtLeftEndPos || direction === DIRECTION.FORCE_LEFT) {\n return separatorAtLeftPos;\n }\n }\n break;\n }\n case DIRECTION.RIGHT:\n case DIRECTION.FORCE_RIGHT:\n {\n var separatorAtRightPos = this._findSeparatorAround(cursorPos);\n if (separatorAtRightPos >= 0) {\n return separatorAtRightPos + this.thousandsSeparator.length;\n }\n }\n }\n return cursorPos;\n }\n /**\n @override\n */\n }, {\n key: \"doValidate\",\n value: function doValidate(flags) {\n var regexp = flags.input ? this._numberRegExpInput : this._numberRegExp; // validate as string\n\n var valid = regexp.test(this._removeThousandsSeparators(this.value));\n if (valid) {\n // validate as number\n var number = this.number;\n valid = valid && !isNaN(number) && (\n // check min bound for negative values\n this.min == null || this.min >= 0 || this.min <= this.number) && (\n // check max bound for positive values\n this.max == null || this.max <= 0 || this.number <= this.max);\n }\n return valid && _get(_getPrototypeOf(MaskedNumber.prototype), \"doValidate\", this).call(this, flags);\n }\n /**\n @override\n */\n }, {\n key: \"doCommit\",\n value: function doCommit() {\n if (this.value) {\n var number = this.number;\n var validnum = number; // check bounds\n\n if (this.min != null) validnum = Math.max(validnum, this.min);\n if (this.max != null) validnum = Math.min(validnum, this.max);\n if (validnum !== number) this.unmaskedValue = String(validnum);\n var formatted = this.value;\n if (this.normalizeZeros) formatted = this._normalizeZeros(formatted);\n if (this.padFractionalZeros && this.scale > 0) formatted = this._padFractionalZeros(formatted);\n this._value = formatted;\n }\n _get(_getPrototypeOf(MaskedNumber.prototype), \"doCommit\", this).call(this);\n }\n /** */\n }, {\n key: \"_normalizeZeros\",\n value: function _normalizeZeros(value) {\n var parts = this._removeThousandsSeparators(value).split(this.radix); // remove leading zeros\n\n parts[0] = parts[0].replace(/^(\\D*)(0*)(\\d*)/, function (match, sign, zeros, num) {\n return sign + num;\n }); // add leading zero\n\n if (value.length && !/\\d$/.test(parts[0])) parts[0] = parts[0] + '0';\n if (parts.length > 1) {\n parts[1] = parts[1].replace(/0*$/, ''); // remove trailing zeros\n\n if (!parts[1].length) parts.length = 1; // remove fractional\n }\n\n return this._insertThousandsSeparators(parts.join(this.radix));\n }\n /** */\n }, {\n key: \"_padFractionalZeros\",\n value: function _padFractionalZeros(value) {\n if (!value) return value;\n var parts = value.split(this.radix);\n if (parts.length < 2) parts.push('');\n parts[1] = parts[1].padEnd(this.scale, '0');\n return parts.join(this.radix);\n }\n /**\n @override\n */\n }, {\n key: \"unmaskedValue\",\n get: function get() {\n return this._removeThousandsSeparators(this._normalizeZeros(this.value)).replace(this.radix, '.');\n },\n set: function set(unmaskedValue) {\n _set(_getPrototypeOf(MaskedNumber.prototype), \"unmaskedValue\", unmaskedValue.replace('.', this.radix), this, true);\n }\n /**\n @override\n */\n }, {\n key: \"typedValue\",\n get: function get() {\n return Number(this.unmaskedValue);\n },\n set: function set(n) {\n _set(_getPrototypeOf(MaskedNumber.prototype), \"unmaskedValue\", String(n), this, true);\n }\n /** Parsed Number */\n }, {\n key: \"number\",\n get: function get() {\n return this.typedValue;\n },\n set: function set(number) {\n this.typedValue = number;\n }\n /**\n Is negative allowed\n @readonly\n */\n }, {\n key: \"allowNegative\",\n get: function get() {\n return this.signed || this.min != null && this.min < 0 || this.max != null && this.max < 0;\n }\n /**\n @override\n */\n }, {\n key: \"typedValueEquals\",\n value: function typedValueEquals(value) {\n // handle 0 -> '' case (typed = 0 even if value = '')\n // for details see https://github.com/uNmAnNeR/imaskjs/issues/134\n return (_get(_getPrototypeOf(MaskedNumber.prototype), \"typedValueEquals\", this).call(this, value) || MaskedNumber.EMPTY_VALUES.includes(value) && MaskedNumber.EMPTY_VALUES.includes(this.typedValue)) && !(value === 0 && this.value === '');\n }\n }]);\n return MaskedNumber;\n}(Masked);\nMaskedNumber.DEFAULTS = {\n radix: ',',\n thousandsSeparator: '',\n mapToRadix: ['.'],\n scale: 2,\n signed: false,\n normalizeZeros: true,\n padFractionalZeros: false\n};\nMaskedNumber.EMPTY_VALUES = [].concat(_toConsumableArray(Masked.EMPTY_VALUES), [0]);\nIMask.MaskedNumber = MaskedNumber;\nvar _excluded$4 = [\"name\", \"maskOptions\", \"onAccept\", \"onComplete\", \"value\"];\nvar MaskType = {\n Range: IMask.MaskedRange\n};\nvar MaskedTextInput = forwardRef(function (_ref, ref) {\n var name = _ref.name,\n _ref$maskOptions = _ref.maskOptions,\n maskOptions = _ref$maskOptions === void 0 ? {\n mask: Number\n } : _ref$maskOptions,\n onAccept = _ref.onAccept,\n onComplete = _ref.onComplete,\n value = _ref.value,\n rest = _objectWithoutProperties$1(_ref, _excluded$4);\n var internalRef = useRef();\n var inputRef = ref || internalRef;\n var maskedRef = useRef(null);\n useEffect(function () {\n var masked = maskedRef.current;\n /* istanbul ignore else */\n\n if (masked) {\n masked.updateOptions(maskOptions);\n }\n }, [maskOptions]);\n useEffect(function () {\n var masked = maskedRef.current;\n /* istanbul ignore else */\n\n if (masked) {\n masked.unmaskedValue = value;\n }\n }, [value]);\n useEffect(function () {\n var elm = inputRef.current;\n /* istanbul ignore else */\n\n if (elm && !maskedRef.current) {\n // eslint-disable-next-line\n maskedRef.current = IMask(elm, maskOptions);\n var masked = maskedRef.current;\n masked.on('accept', function () {\n /* istanbul ignore else */\n if (onAccept) {\n onAccept(masked.value, masked.unmaskedValue, masked.typedValue);\n }\n });\n masked.on('complete', function () {\n /* istanbul ignore else */\n if (onComplete) {\n onComplete(masked.value, masked.unmaskedValue, masked.typedValue);\n }\n });\n }\n return function () {\n /* istanbul ignore else */\n if (maskedRef.current) {\n var _masked = maskedRef.current;\n _masked.off('accept');\n _masked.off('complete');\n _masked.destroy();\n maskedRef.current = null;\n }\n };\n }, []);\n return /*#__PURE__*/React.createElement(TextInput, _extends({\n name: name,\n value: value,\n ref: inputRef,\n \"data-ppui-info\": \"masked-text-input_2.0.26\"\n }, rest));\n});\nexport { MaskType, MaskedTextInput };","import _extends from '@babel/runtime/helpers/esm/extends';\nimport _slicedToArray from '@babel/runtime/helpers/esm/slicedToArray';\nimport React, { useRef, useMemo, useState, useLayoutEffect } from 'react';\nimport { iconStyles, VerifiedIcon, QuestionIcon } from '@paypalcorp/pp-react-icons';\nimport ReactDOM from 'react-dom';\nimport { utilStyles, ZINDEX_TOOLTIP, hasWindow, isTouchDevice, isActiveElementIn, KeyboardCode } from '@paypalcorp/pp-react-utils';\nimport { css, useTheme, jsx } from '@emotion/react';\nimport _taggedTemplateLiteral from '@babel/runtime/helpers/esm/taggedTemplateLiteral';\nimport { math } from 'polished';\nimport { textStyles } from '@paypalcorp/pp-react-text';\nvar _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9;\nfunction styles(tokens) {\n /* istanbul ignore next */\n if (!Object.keys(tokens).length) {\n console.warn('Missing Emotion theme. Use ThemeProvider from @emotion/react to pass a valid theme from pp-react.');\n return {};\n }\n var sysBorderRadiusInteractive = tokens.sysBorderRadiusInteractive,\n sysBorderRadiusSm = tokens.sysBorderRadiusSm,\n sysColorBackgroundHighContrast = tokens.sysColorBackgroundHighContrast,\n sysColorBackgroundSurface = tokens.sysColorBackgroundSurface,\n sysColorPrimaryMainActive = tokens.sysColorPrimaryMainActive,\n sysColorPrimaryMain = tokens.sysColorPrimaryMain,\n sysSizeIconSm = tokens.sysSizeIconSm,\n sysSizePointerWidthLg = tokens.sysSizePointerWidthLg,\n sysSizeTapTargetSm = tokens.sysSizeTapTargetSm,\n sysSpaceLg = tokens.sysSpaceLg,\n sysSpaceSm = tokens.sysSpaceSm,\n sysSpaceXs = tokens.sysSpaceXs;\n var _textStyles = textStyles(tokens),\n body = _textStyles.body;\n var _utilStyles = utilStyles(tokens),\n elevationStyles = _utilStyles.elevationStyles,\n caretStyles = _utilStyles.caretStyles,\n focusStyles = _utilStyles.focusStyles,\n screenReader = _utilStyles.screenReader;\n var stateFocusBorderColorInner = focusStyles.stateFocusBorderColorInner,\n stateFocusBorderWidthInner = focusStyles.stateFocusBorderWidthInner,\n stateFocusBorderWidthOuter = focusStyles.stateFocusBorderWidthOuter;\n var _iconStyles = iconStyles(tokens),\n iconBase = _iconStyles.base,\n iconSizeXs = _iconStyles.sizeXs;\n var maxWidth = '18rem';\n var pointerHeight = math(\"\".concat(sysSizePointerWidthLg, \"/2\"));\n var base = css(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n label: tooltip_base;\\n \", \";\\n visibility: hidden;\\n opacity: 0;\\n max-width: \", \";\\n word-wrap: break-word;\\n padding: \", \";\\n position: absolute;\\n border-radius: \", \";\\n background-color: \", \";\\n z-index: \", \";\\n\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n\\n\\n &[aria-hidden='false'] {\\n visibility: visible;\\n opacity: 1;\\n }\\n\\n &.pp_react_tooltip--position_left {\\n label: position_left;\\n \", \"\\n }\\n\\n &.pp_react_tooltip--position_right {\\n label: position_right;\\n \", \"\\n }\\n\\n &.pp_react_tooltip--position_bottom {\\n label: position_bottom;\\n \", \"\\n }\\n\\n &.pp_react_tooltip--tip_left {\\n label: tip_position_left;\\n \", \"\\n }\\n\\n &.pp_react_tooltip--tip_right {\\n label: tip_position_right;\\n \", \"\\n }\\n \"])), body({\n color: sysColorBackgroundHighContrast\n }), maxWidth, sysSpaceLg, sysBorderRadiusSm, sysColorBackgroundSurface, ZINDEX_TOOLTIP, elevationStyles.level3, caretStyles.base(sysSizePointerWidthLg), caretStyles.positionBottom(pointerHeight), caretStyles.positionCenter(sysSizePointerWidthLg), caretStyles.positionRight(pointerHeight), caretStyles.positionLeft(pointerHeight), caretStyles.positionTop(pointerHeight), caretStyles.positionShiftLeft(sysSizePointerWidthLg), caretStyles.positionShiftRight(sysSizePointerWidthLg)); // Styles for Icon\n\n var icon = css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral([\"\\n label: tooltip-icon;\\n \", \";\\n \", \";\\n width: \", \";\\n height: \", \";\\n padding: 0;\\n display: inline-flex;\\n justify-content: center;\\n align-items: center;\\n color: \", \";\\n cursor: pointer;\\n border: 0;\\n background-color: transparent;\\n position: relative;\\n\\n &:hover,\\n &:active {\\n color: \", \";\\n outline: none;\\n }\\n\\n &:focus:after {\\n \", \";\\n transform: translateX(50%) translateX(\", \") translateY(50%)\\n translateY(\", \");\\n }\\n \"])), iconBase, iconSizeXs, sysSizeTapTargetSm, sysSizeTapTargetSm, sysColorPrimaryMain, sysColorPrimaryMainActive, focusStyles.focusAfter({\n radius: sysBorderRadiusInteractive,\n width: sysSizeIconSm,\n height: sysSizeIconSm,\n border: \"\".concat(stateFocusBorderWidthInner, \" solid \").concat(stateFocusBorderColorInner),\n top: \"-\".concat(stateFocusBorderWidthOuter),\n left: \"-\".concat(stateFocusBorderWidthOuter),\n right: 'unset'\n }), sysSpaceXs, sysSpaceXs); // Image Positions\n\n var image = css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral([\"\\n label: image;\\n display: flex;\\n img {\\n max-width: \", \";\\n }\\n \"])), math(\"\".concat(maxWidth, \" - 2 * \").concat(sysSpaceLg)));\n var imageAlignBottom = function (justifyImage) {\n return css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral([\"\\n justify-content: \", \";\\n padding-top: \", \";\\n \"])), justifyImage, sysSpaceSm);\n };\n var imageAlignTop = function (justifyImage) {\n return css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral([\"\\n justify-content: \", \";\\n padding-bottom: \", \";\\n \"])), justifyImage, sysSpaceSm);\n };\n var imageTopLeft = css(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral([\"\\n label: image_top_left;\\n \", \"\\n \"])), imageAlignTop('flex-start'));\n var imageTopCenter = css(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral([\"\\n label: image_top_center;\\n \", \"\\n \"])), imageAlignTop('center'));\n var imageBottomLeft = css(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral([\"\\n label: image_bottom_left;\\n \", \"\\n \"])), imageAlignBottom('flex-start'));\n var imageBottomCenter = css(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral([\"\\n label: image_bottom_center;\\n \", \"\\n \"])), imageAlignBottom('center'));\n return {\n base: base,\n icon: icon,\n screenReader: screenReader,\n image: image,\n imageTopLeft: imageTopLeft,\n imageTopCenter: imageTopCenter,\n imageBottomLeft: imageBottomLeft,\n imageBottomCenter: imageBottomCenter\n };\n}\nvar tooltip;\nvar tooltipOrigin;\n/* eslint-disable complexity */\n\nvar Tooltip = function (_ref) {\n var _ref$name = _ref.name,\n name = _ref$name === void 0 ? 'Tooltip' : _ref$name,\n _ref$description = _ref.description,\n description = _ref$description === void 0 ? 'tooltip' : _ref$description,\n _ref$screenReaderText = _ref.screenReaderText,\n screenReaderText = _ref$screenReaderText === void 0 ? name : _ref$screenReaderText,\n position = _ref.position,\n verifiedIcon = _ref.verifiedIcon,\n windowId = _ref.windowId,\n windowRef = _ref.windowRef,\n className = _ref.className,\n triggerClassName = _ref.triggerClassName,\n tooltipClassName = _ref.tooltipClassName,\n containerRef = _ref.containerRef,\n onOpen = _ref.onOpen,\n onClose = _ref.onClose,\n imageElement = _ref.imageElement,\n _ref$imagePosition = _ref.imagePosition,\n imagePosition = _ref$imagePosition === void 0 ? 'top-left' : _ref$imagePosition;\n var wrapperRef = useRef();\n var tooltipOriginRef = useRef();\n var tooltipRef = useRef(); // If theme is not directly provided, get from themeContext\n\n var tokens = useTheme();\n var _styles = useMemo(function () {\n return styles(tokens);\n }, [tokens]);\n var noop = function () {};\n var tooltipWindow;\n var containerPos;\n var scrollX;\n var scrollY;\n var width;\n var height;\n var originWidth;\n var originHeight;\n var originPos;\n var maxWidth;\n var iconSpacing;\n var caretWidth;\n var caretHeight;\n var caretSpaceHorizontal;\n var spacingOffset;\n var tooltipIconSize;\n var _useState = useState({\n isOpen: false,\n currentEvent: null\n }),\n _useState2 = _slicedToArray(_useState, 2),\n state = _useState2[0],\n setState = _useState2[1];\n var isOpen = state.isOpen,\n currentEvent = state.currentEvent;\n var getWrapperCurrent = function (w) {\n return (/* istanbul ignore next */\n w && w.current ? w.current : null\n );\n };\n /* istanbul ignore next */\n\n var setTooltipPosition = function (top, left) {\n var _containerPos, _containerPos2;\n var containerElm = getWrapperCurrent(containerRef);\n var _ref2 = containerElm ? [top - ((_containerPos = containerPos) === null || _containerPos === void 0 ? void 0 : _containerPos.top) - scrollY + containerElm.scrollTop, left - ((_containerPos2 = containerPos) === null || _containerPos2 === void 0 ? void 0 : _containerPos2.left) - scrollX + containerElm.scrollLeft] : [top, left],\n _ref3 = _slicedToArray(_ref2, 2),\n offsetTop = _ref3[0],\n offsetLeft = _ref3[1];\n tooltip.style.top = \"\".concat(offsetTop, \"px\");\n tooltip.style.left = \"\".concat(offsetLeft, \"px\");\n tooltip.style.maxWidth = \"\".concat(maxWidth, \"px\");\n };\n /* istanbul ignore next */\n\n var getTooltipBoundary = function () {\n var providedWindow = windowRef ? getWrapperCurrent(windowRef) : document.getElementById(windowId);\n if (providedWindow) {\n var pos = providedWindow.getBoundingClientRect();\n return {\n windowEl: providedWindow,\n top: pos.top,\n right: pos.right,\n bottom: pos.bottom,\n left: pos.left\n };\n }\n return {\n windowEl: hasWindow() ? window : null,\n top: 0,\n right: window.innerWidth || document.documentElement.clientWidth,\n bottom: window.innerHeight || document.documentElement.clientHeight,\n left: 0\n };\n };\n var positionTopCenter = function () {\n // tooltip bubble starts at bottom left edge of its origin (icon/button)\n // and calculates moves from there:\n var topCenterX = originPos.left - width / 2 + originWidth / 2 + scrollX;\n var topCenterY = originPos.top - height - spacingOffset + scrollY + iconSpacing;\n setTooltipPosition(topCenterY, topCenterX);\n };\n /* istanbul ignore next */\n\n var positionBottom = function (top, left) {\n var offsetY = top + scrollY + height + originHeight + spacingOffset * 2 - iconSpacing * 2;\n setTooltipPosition(offsetY, left);\n };\n var positionLeft = function () {\n var buttonWidth = originWidth / 2 - tooltipIconSize / 2; // tooltip bubble starts at bottom left edge of its origin (icon/button)\n // and calculates X and Y moves from there:\n\n var leftPosX = originPos.left - width + buttonWidth - spacingOffset + scrollX;\n var leftPosY = originPos.top - height / 2 + originHeight / 2 + scrollY;\n tooltip.classList.add('pp_react_tooltip--position_left');\n setTooltipPosition(leftPosY, leftPosX);\n };\n var positionRight = function () {\n var buttonWidth = originWidth / 2 + tooltipIconSize / 2; // tooltip bubble starts at bottom left edge of its origin (icon/button)\n // and calculates X and Y moves from there:\n\n var rightPosX = originPos.left + buttonWidth + spacingOffset + scrollX;\n var rightPosY = originPos.top - height / 2 + originHeight / 2 + scrollY;\n tooltip.classList.add('pp_react_tooltip--position_right');\n setTooltipPosition(rightPosY, rightPosX);\n };\n var selfPosition = /* istanbul ignore next */\n function () {\n positionTopCenter();\n var boundary = tooltip.getBoundingClientRect();\n if (boundary.top < tooltipWindow.top || boundary.top < 0) {\n // position: bottom\n positionBottom(boundary.top, boundary.left);\n tooltip.classList.add('pp_react_tooltip--position_bottom'); // store new boundary\n\n boundary = tooltip.getBoundingClientRect();\n } // note: if both left and right are out of bounds keep it centered\n\n if (!(boundary.left < tooltipWindow.left && boundary.left + maxWidth > tooltipWindow.right)) {\n var sideShift = caretSpaceHorizontal + caretWidth / 2;\n var offsetY = boundary.top + scrollY;\n var offsetX = boundary.left + scrollX;\n if (boundary.left < tooltipWindow.left) {\n // position: top-right, bottom-right (with left tooltip)\n offsetX = offsetX + width / 2 - sideShift;\n tooltip.classList.add('pp_react_tooltip--tip_left');\n }\n if (boundary.left + maxWidth > tooltipWindow.right) {\n // position: top-left, bottom-left (with right tooltip)\n offsetX = offsetX - width / 2 + sideShift;\n tooltip.classList.add('pp_react_tooltip--tip_right');\n }\n setTooltipPosition(offsetY, offsetX);\n }\n }; // for keyboard focus and mouseover\n\n var setOpen = function (evt) {\n evt.stopPropagation();\n setState({\n isOpen: true,\n currentEvent: evt.type\n });\n // eslint-disable-next-line\n onOpen && onOpen(evt, name);\n };\n var clearOpen = function (evt) {\n // istanbul ignore next\n if (evt.type === 'resize' && isTouchDevice() && isActiveElementIn(['INPUT', 'TEXTAREA'])) {\n return;\n }\n setState({\n isOpen: false,\n currentEvent: null\n }); // eslint-disable-next-line\n\n onClose && onClose(name);\n /* istanbul ignore else */\n\n if (tooltipWindow && tooltipWindow.windowEl) {\n var _tooltipWindow = tooltipWindow,\n windowEl = _tooltipWindow.windowEl;\n windowEl.removeEventListener('scroll', clearOpen);\n windowEl.removeEventListener('mousewheel', clearOpen);\n }\n };\n var setWidth = function () {\n var tooltipMaxWidthPx = getComputedStyle(tooltip, 'style').maxWidth;\n var tooltipMaxWidth = parseInt(tooltipMaxWidthPx.split('px')[0], 10);\n var winLeft = tooltipWindow.left;\n var winRight = tooltipWindow.right;\n var iconLeft = tooltipOrigin.getBoundingClientRect().left;\n var availableLeftSpace = iconLeft - winLeft + iconSpacing;\n var availableRightSpace = winRight - iconLeft - iconSpacing - tooltipIconSize;\n var halfMaxWidth = tooltipMaxWidth / 2; // if left and right of tooltip are each > than half the maxWidth, use default max width\n\n /* istanbul ignore next */\n\n if (availableLeftSpace > halfMaxWidth && availableRightSpace > halfMaxWidth) {\n maxWidth = tooltipMaxWidth;\n } else if (\n // If both sides are less than half the maxwidth,\n // then tooltip bubble will be position center,\n // so use smaller side x 2 as max width since it's centered\n availableLeftSpace < halfMaxWidth && availableRightSpace < halfMaxWidth) {\n var smallerSide = availableLeftSpace < availableRightSpace ? availableLeftSpace : availableRightSpace;\n maxWidth = smallerSide * 2;\n } else {\n // take the bigger available space between the two\n var availableSpace = availableLeftSpace > availableRightSpace ? availableLeftSpace : availableRightSpace; // if it explicitly placed left/right adjust accordingly.\n\n if (position) {\n // Add the caret + 4px spacing\n availableSpace = availableSpace - spacingOffset - tooltipIconSize;\n } else {\n // Add the side shift dimension (since tooltip is position top/bottom with side shift)\n availableSpace += caretSpaceHorizontal + caretWidth / 2 - tooltipIconSize;\n }\n maxWidth = availableSpace > tooltipMaxWidth ? tooltipMaxWidth : availableSpace;\n }\n tooltip.style.maxWidth = \"\".concat(maxWidth, \"px\");\n var currentWidth = tooltip.getBoundingClientRect().width;\n /* istanbul ignore next */\n\n width = maxWidth < currentWidth ? maxWidth : currentWidth;\n height = tooltip.offsetHeight;\n };\n var positionTooltip = function () {\n tooltip = getWrapperCurrent(tooltipRef);\n tooltipOrigin = getWrapperCurrent(tooltipOriginRef);\n originPos = tooltipOrigin.getBoundingClientRect();\n var containerElm = getWrapperCurrent(containerRef);\n /* istanbul ignore next */\n\n containerPos = containerElm && containerElm.getBoundingClientRect();\n tooltipWindow = getTooltipBoundary();\n width = tooltip.offsetWidth;\n height = tooltip.offsetHeight;\n originWidth = tooltipOrigin.offsetWidth;\n originHeight = tooltipOrigin.offsetHeight;\n scrollX = window.scrollX || window.pageXOffset;\n scrollY = window.scrollY || window.pageYOffset; // get tooltip's pointer dimensions:\n\n var rootFontSizePx = hasWindow() && window.getComputedStyle(document.body).getPropertyValue('font-size') || '16px';\n var rootFontSize = parseInt(rootFontSizePx.split('px')[0], 10);\n caretWidth = 1.125 * rootFontSize;\n caretHeight = 0.75 * rootFontSize;\n caretSpaceHorizontal = 1 * rootFontSize; //16px spacing between caret and tooltip corner\n\n // 4px separation between caret and tooltip icon\n spacingOffset = caretHeight + 0.25 * rootFontSize;\n var targetSize = originWidth;\n tooltipIconSize = 1.5 * rootFontSize; // icon and target have different dimensions\n\n iconSpacing = targetSize / 2 - tooltipIconSize / 2; // set the initial width for tooltip.\n\n setWidth();\n var _tooltipWindow2 = tooltipWindow,\n windowEl = _tooltipWindow2.windowEl;\n windowEl.addEventListener('scroll', clearOpen);\n windowEl.addEventListener('mousewheel', clearOpen);\n switch (position) {\n case 'left':\n positionLeft();\n break;\n case 'right':\n positionRight();\n break;\n default:\n selfPosition();\n }\n };\n var handleClickOutside = function (evt) {\n var current = getWrapperCurrent(wrapperRef);\n /* istanbul ignore next */\n\n if (isOpen && current && !current.contains(evt.target)) {\n evt.stopPropagation();\n clearOpen(evt);\n }\n };\n var handleKey = function (evt) {\n /* istanbul ignore next */\n var KeyCode = new KeyboardCode(evt.key || evt.keyCode);\n if (KeyCode.IS_TAB || KeyCode.IS_ESC) {\n clearOpen(evt);\n }\n };\n useLayoutEffect(function () {\n if (isOpen) {\n positionTooltip();\n document.addEventListener('mousedown', handleClickOutside);\n document.addEventListener('keydown', handleKey);\n window.addEventListener('resize', clearOpen);\n } else {\n document.removeEventListener('mousedown', handleClickOutside);\n document.removeEventListener('keydown', handleKey);\n window.removeEventListener('resize', clearOpen);\n }\n return function () {\n document.removeEventListener('mousedown', handleClickOutside);\n document.removeEventListener('keydown', handleKey);\n window.removeEventListener('resize', clearOpen);\n };\n });\n /* istanbul ignore next */\n\n var handleMouseLeave = function (evt) {\n if (tooltip && evt.relatedTarget !== tooltip) {\n evt.stopPropagation();\n clearOpen(evt);\n }\n };\n var imagePositionStyleName = 'image' + function camelCase(str) {\n return str.replace(new RegExp(/[-_]+/, 'g'), ' ').replace(new RegExp(/[^\\w\\s]/, 'g'), '').replace(new RegExp(/\\s+(.)(\\w*)/, 'g'), function (_first, second, third) {\n return \"\".concat(second.toUpperCase() + third.toLowerCase());\n }).replace(new RegExp(/\\w/), function (s) {\n return s.toUpperCase();\n });\n }(imagePosition);\n var imagePositionCSSVal = [_styles.image,\n //@ts-ignore\n _styles[imagePositionStyleName]];\n var displayImage = jsx(\"span\", {\n css: imagePositionCSSVal,\n \"data-ppui\": \"true\"\n }, imageElement);\n //@ts-ignore\n\n /* istanbul ignore next */\n var tooltipNode = isOpen && ReactDOM.createPortal(jsx(\"div\", {\n ref: tooltipRef,\n css: _styles.base,\n className: tooltipClassName,\n id: name,\n role: \"tooltip\",\n \"aria-hidden\": !isOpen,\n onMouseLeave: currentEvent === 'focus' ? noop : clearOpen,\n \"data-ppui\": \"true\"\n }, imageElement && (imagePosition === 'top-center' || imagePosition === 'top-left') && displayImage, description, imageElement && (imagePosition === 'bottom-center' || imagePosition === 'bottom-left') && displayImage), getWrapperCurrent(containerRef) || (hasWindow() ? document.body : null));\n /* istanbul ignore next */\n\n var TooltipIcon = verifiedIcon ? VerifiedIcon : QuestionIcon;\n /* istanbul ignore next */\n\n var handleTouchStart = function (evt) {\n var current = getWrapperCurrent(wrapperRef);\n if (!current.contains(evt.target)) clearOpen(evt);\n };\n return jsx(\"span\", {\n ref: wrapperRef,\n className: className,\n \"data-ppui-info\": \"tooltip_4.6.2\"\n }, jsx(React.Fragment, null, jsx(\"button\", _extends({\n type: \"button\",\n ref: tooltipOriginRef,\n css: _styles.icon\n }, isOpen ? {\n 'aria-describedby': name\n } : {}, {\n onMouseEnter: currentEvent === 'focus' ? noop : setOpen,\n onMouseLeave: currentEvent === 'focus' ? noop : handleMouseLeave,\n onTouchEnd: function handleTouchEnd(evt) {\n evt.preventDefault(); // Toggle the state\n\n if (isOpen) {\n clearOpen(evt);\n document.removeEventListener('touchstart', handleTouchStart);\n } else {\n setOpen(evt);\n document.addEventListener('touchstart', handleTouchStart);\n }\n },\n onMouseDown: function handleMouseDown(evt) {\n return evt.preventDefault();\n },\n onFocus: isTouchDevice() ? noop : setOpen,\n className: triggerClassName,\n \"data-ppui\": \"true\"\n }), jsx(TooltipIcon, {\n size: \"sm\",\n \"aria-hidden\": \"true\",\n \"data-ppui\": \"true\"\n }), jsx(\"span\", {\n css: _styles.screenReader,\n \"data-ppui\": \"true\"\n }, screenReaderText)), tooltipNode));\n};\nexport { Tooltip, styles as tooltipStyles };","import _extends from '@babel/runtime/helpers/esm/extends';\nimport React, { useState, useMemo } from 'react';\nimport { MaskType, MaskedTextInput } from '@paypalcorp/pp-react-masked-text-input';\nimport { Tooltip } from '@paypalcorp/pp-react-tooltip';\nimport { Row, Col } from '@paypalcorp/pp-react-grid';\nimport { CreditCardIcon } from '@paypalcorp/pp-react-icons';\nimport _slicedToArray from '@babel/runtime/helpers/esm/slicedToArray';\nimport { css, useTheme, jsx, ClassNames } from '@emotion/react';\nimport _taggedTemplateLiteral from '@babel/runtime/helpers/esm/taggedTemplateLiteral';\nvar dateMaskOptions = {\n mask: 'm/y',\n blocks: {\n y: {\n mask: MaskType.Range,\n from: 1,\n to: 99,\n maxLength: 2\n },\n m: {\n mask: MaskType.Range,\n from: 1,\n to: 99,\n maxLength: 2\n }\n },\n lazy: true\n};\n/**\n * Card Hook\n */\n\nfunction useCreditCardInput(_ref) {\n var _ref$initialCardNumbe = _ref.initialCardNumberDetails,\n initialCardNumberDetails = _ref$initialCardNumbe === void 0 ? {} : _ref$initialCardNumbe,\n _ref$initialCvvDetail = _ref.initialCvvDetails,\n initialCvvDetails = _ref$initialCvvDetail === void 0 ? {} : _ref$initialCvvDetail,\n _ref$initialExpiratio = _ref.initialExpirationDetails,\n initialExpirationDetails = _ref$initialExpiratio === void 0 ? {} : _ref$initialExpiratio,\n onCardNumberChange = _ref.onCardNumberChange,\n onCvvChange = _ref.onCvvChange,\n onExpirationChange = _ref.onExpirationChange;\n var _useState = useState(initialCvvDetails.value),\n _useState2 = _slicedToArray(_useState, 2),\n cvvNumber = _useState2[0],\n setCvvNumber = _useState2[1];\n var _useState3 = useState(initialCvvDetails.errorText),\n _useState4 = _slicedToArray(_useState3, 2),\n cvvNumberError = _useState4[0],\n _setCvvNumberError = _useState4[1];\n var _useState5 = useState(initialCvvDetails.helperText),\n _useState6 = _slicedToArray(_useState5, 2),\n cvvNumberHelper = _useState6[0],\n _setCvvNumberHelper = _useState6[1];\n var _useState7 = useState(initialExpirationDetails.value),\n _useState8 = _slicedToArray(_useState7, 2),\n cardDate = _useState8[0],\n setCardDate = _useState8[1];\n var _useState9 = useState(initialExpirationDetails.errorText),\n _useState10 = _slicedToArray(_useState9, 2),\n cardDateError = _useState10[0],\n _setCardDateError = _useState10[1];\n var _useState11 = useState(initialExpirationDetails.helperText),\n _useState12 = _slicedToArray(_useState11, 2),\n cardDateHelper = _useState12[0],\n _setCardDateHelper = _useState12[1];\n var _useState13 = useState(initialCardNumberDetails.value),\n _useState14 = _slicedToArray(_useState13, 2),\n cardNumber = _useState14[0],\n setCardNumber = _useState14[1];\n var _useState15 = useState(initialCardNumberDetails.errorText),\n _useState16 = _slicedToArray(_useState15, 2),\n cardNumberError = _useState16[0],\n _setCardNumberError = _useState16[1];\n var _useState17 = useState(initialCardNumberDetails.helperText),\n _useState18 = _slicedToArray(_useState17, 2),\n cardNumberHelper = _useState18[0],\n _setCardNumberHelper = _useState18[1];\n var _useState19 = useState(initialCardNumberDetails.rightIcon),\n _useState20 = _slicedToArray(_useState19, 2),\n cardIcon = _useState20[0],\n _setCardIcon = _useState20[1];\n var _useState21 = useState(initialCvvDetails.tooltipOptions ? initialCvvDetails.tooltipOptions.imageElement : null),\n _useState22 = _slicedToArray(_useState21, 2),\n tooltipIcon = _useState22[0],\n _setTooltipIcon = _useState22[1];\n var _useState23 = useState(initialCvvDetails.tooltipOptions ? initialCvvDetails.tooltipOptions.description : null),\n _useState24 = _slicedToArray(_useState23, 2),\n tooltipText = _useState24[0],\n _setTooltipText = _useState24[1];\n var _useState25 = useState(initialCardNumberDetails.maskValue),\n _useState26 = _slicedToArray(_useState25, 2),\n cardNumberMask = _useState26[0],\n _setCardNumberMask = _useState26[1];\n var _useState27 = useState(initialCvvDetails.maskValue),\n _useState28 = _slicedToArray(_useState27, 2),\n cvvNumberMask = _useState28[0],\n _setCvvNumberMask = _useState28[1];\n var handleChange = function (val, unmaskedVal, typedValue, field) {\n /* istanbul ignore next */\n switch (field) {\n case 'CARD_NUMBER':\n setCardNumber(val);\n if (onCardNumberChange) onCardNumberChange(val, unmaskedVal, typedValue);\n break;\n case 'CARD_CVV':\n setCvvNumber(val);\n if (onCvvChange) onCvvChange(val, unmaskedVal, typedValue);\n break;\n case 'CARD_EXPIRATION':\n setCardDate(val);\n if (onExpirationChange) onExpirationChange(val, unmaskedVal, typedValue);\n break;\n }\n };\n var cardNumberDetails = {\n name: initialCardNumberDetails.name || 'card_number',\n label: initialCardNumberDetails.label || 'Card Number',\n value: cardNumber,\n maskOptions: {\n mask: cardNumberMask || '0000 0000 0000 0000',\n lazy: true\n },\n rightIcon: cardIcon,\n errorText: cardNumberError,\n helperText: cardNumberHelper,\n onAccept: function onAccept(val, unmaskedVal, typedValue) {\n return handleChange(val, unmaskedVal, typedValue, 'CARD_NUMBER');\n }\n };\n var cvvDetails = {\n name: initialCvvDetails.name || 'cvv_number',\n label: initialCvvDetails.label || 'CVV',\n value: cvvNumber,\n maskOptions: {\n mask: cvvNumberMask || '000',\n lazy: true\n },\n errorText: cvvNumberError,\n helperText: cvvNumberHelper,\n tooltipOptions: {\n name: initialCvvDetails.tooltipOptions && initialCvvDetails.tooltipOptions.name ? initialCvvDetails.tooltipOptions.name : 'credit_input-tooltip',\n description: tooltipText,\n imageElement: tooltipIcon\n },\n onAccept: function onAccept(val, unmaskedVal, typedValue) {\n return handleChange(val, unmaskedVal, typedValue, 'CARD_CVV');\n }\n };\n var expirationDetails = {\n name: initialExpirationDetails.name || 'card_expiration',\n label: initialExpirationDetails.label || 'Expiration',\n value: cardDate,\n errorText: cardDateError,\n helperText: cardDateHelper,\n maskOptions: dateMaskOptions,\n onAccept: function onAccept(val, unmaskedVal, typedValue) {\n return handleChange(val, unmaskedVal, typedValue, 'CARD_EXPIRATION');\n }\n };\n return {\n setCardNumberMask: function setCardNumberMask(value) {\n _setCardNumberMask(value);\n },\n setCvvNumberMask: function setCvvNumberMask(value) {\n _setCvvNumberMask(value);\n },\n setTooltipIcon: function setTooltipIcon(icon) {\n _setTooltipIcon(icon);\n },\n setCardIcon: function setCardIcon(icon) {\n _setCardIcon(icon);\n },\n setTooltipText: function setTooltipText(value) {\n _setTooltipText(value);\n },\n setCardNumberError: function setCardNumberError(value) {\n _setCardNumberError(value);\n },\n setCvvNumberError: function setCvvNumberError(value) {\n _setCvvNumberError(value);\n },\n setCardDateError: function setCardDateError(value) {\n _setCardDateError(value);\n },\n setCvvNumberHelper: function setCvvNumberHelper(value) {\n _setCvvNumberHelper(value);\n },\n setCardDateHelper: function setCardDateHelper(value) {\n _setCardDateHelper(value);\n },\n setCardNumberHelper: function setCardNumberHelper(value) {\n _setCardNumberHelper(value);\n },\n cardNumberDetails: cardNumberDetails,\n cvvDetails: cvvDetails,\n expirationDetails: expirationDetails\n };\n}\nvar CreditCardInputUtils = {\n useCreditCardInput: useCreditCardInput\n};\nvar _templateObject, _templateObject2;\nfunction styles(tokens) {\n /* istanbul ignore next */\n if (!Object.keys(tokens).length) {\n console.warn('Missing Emotion theme. Use ThemeProvider from @emotion/react to pass a valid theme from pp-react.');\n return {};\n }\n var sysSizeIconMd = tokens.sysSizeIconMd;\n var cvvImg = css(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n label: cvv_image;\\n height: \", \";\\n \"])), sysSizeIconMd);\n var numberInputRTL = css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral([\"\\n label: number_input_rtl;\\n [dir='rtl'] & {\\n direction: ltr;\\n text-align: right;\\n }\\n \"])));\n return {\n cvvImg: cvvImg,\n numberInputRTL: numberInputRTL\n };\n}\nvar CreditCardInput = function (_ref) {\n var cardNumberDetails = _ref.cardNumberDetails,\n expirationDetails = _ref.expirationDetails,\n cvvDetails = _ref.cvvDetails,\n _ref$cdnDomain = _ref.cdnDomain,\n cdnDomain = _ref$cdnDomain === void 0 ? 'https://www.paypalobjects.com' : _ref$cdnDomain;\n // If theme is not directly provided, get from themeContext\n var tokens = useTheme();\n var _styles = useMemo(function () {\n return styles(tokens);\n }, [tokens]);\n var tooltipOptions = cvvDetails.tooltipOptions;\n /* istanbul ignore next */\n\n if (cvvDetails.tooltipOptions) delete cvvDetails.tooltipOptions; // Add default tooltipOptions if tooltipOptions not passed\n\n /* istanbul ignore next */\n\n if (!tooltipOptions) {\n tooltipOptions = {\n name: 'credit_input-tooltip',\n description: 'The CVV is the 3-digit number on the back of your card',\n imageElement: jsx(\"img\", {\n src: \"\".concat(cdnDomain, \"/paypal-ui/components/csc-card/csc-card-back.svg\"),\n alt: \"cvv\",\n css: _styles.cvvImg,\n \"data-ppui\": \"true\"\n })\n };\n } // Add default tooltip desciption if tooltip description is not present\n\n if (tooltipOptions && !tooltipOptions.description) tooltipOptions.description = 'The CVV is the 3-digit number on the back of your card'; // Add default tooltip image if tooltip image is not present\n\n if (tooltipOptions && !tooltipOptions.imageElement) {\n tooltipOptions.imageElement = jsx(\"img\", {\n src: \"\".concat(cdnDomain, \"/paypal-ui/components/csc-card/csc-card-back.svg\"),\n alt: \"cvv\",\n css: _styles.cvvImg,\n \"data-ppui\": \"true\"\n });\n } // Fallback to `CreditCardIcon` if no cardIcon passed after 5 digits are entered\n\n if (cardNumberDetails.value && cardNumberDetails.value.length > 4 && !cardNumberDetails.rightIcon) {\n cardNumberDetails.rightIcon = jsx(CreditCardIcon, {\n \"data-ppui\": \"true\"\n });\n }\n var cardNumberField = jsx(ClassNames, {\n \"data-ppui\": \"true\"\n }, function (_ref2) {\n var css = _ref2.css;\n return jsx(MaskedTextInput, _extends({\n inputMode: \"numeric\"\n }, cardNumberDetails, {\n inputClassName: css(_styles.numberInputRTL),\n \"data-ppui\": \"true\"\n }));\n });\n return jsx(React.Fragment, null, jsx(Row, {\n \"data-ppui-info\": \"credit-card-input_2.0.27\"\n }, jsx(Col, {\n form: \"full\",\n \"data-ppui\": \"true\"\n }, cardNumberField)), jsx(Row, {\n \"data-ppui-info\": \"credit-card-input_2.0.27\"\n }, jsx(Col, {\n form: \"half\",\n xs: true,\n \"data-ppui\": \"true\"\n }, jsx(MaskedTextInput, _extends({\n inputMode: \"numeric\"\n }, expirationDetails, {\n \"data-ppui\": \"true\"\n }))), jsx(Col, {\n form: \"half\",\n xs: true,\n \"data-ppui\": \"true\"\n }, jsx(MaskedTextInput, _extends({\n inputMode: \"numeric\",\n rightIcon: jsx(Tooltip, _extends({\n imagePosition: \"top-left\"\n }, tooltipOptions, {\n \"data-ppui\": \"true\"\n }))\n }, cvvDetails, {\n \"data-ppui\": \"true\"\n })))));\n};\nexport { CreditCardInput, CreditCardInputUtils, styles as creditCardInputStyles };","import _extends from '@babel/runtime/helpers/esm/extends';\nimport _defineProperty from '@babel/runtime/helpers/esm/defineProperty';\nimport _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';\nimport { createContext, useMemo, forwardRef, useContext } from 'react';\nimport { css, useTheme, jsx } from '@emotion/react';\nimport _taggedTemplateLiteral from '@babel/runtime/helpers/esm/taggedTemplateLiteral';\nimport { textStyles } from '@paypalcorp/pp-react-text';\nimport { utilStyles } from '@paypalcorp/pp-react-utils';\nimport { math } from 'polished';\nvar _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17, _templateObject18, _templateObject19, _templateObject20, _templateObject21, _templateObject22, _templateObject23, _templateObject24, _templateObject25, _templateObject26, _templateObject27, _templateObject28, _templateObject29, _templateObject30, _templateObject31, _templateObject32, _templateObject33, _templateObject34, _templateObject35, _templateObject36, _templateObject37, _templateObject38, _templateObject39, _templateObject40, _templateObject41, _templateObject42, _templateObject43, _templateObject44, _templateObject45, _templateObject46, _templateObject47, _templateObject48, _templateObject49, _templateObject50, _templateObject51, _templateObject52, _templateObject53, _templateObject54, _templateObject55, _templateObject56, _templateObject57, _templateObject58, _templateObject59, _templateObject60, _templateObject61;\nfunction styles(tokens) {\n /* istanbul ignore next */\n if (!Object.keys(tokens).length) {\n console.warn('Missing Emotion theme. Use ThemeProvider from @emotion/react to pass a valid theme from pp-react.');\n return {};\n }\n var _utilStyles = utilStyles(tokens),\n mediaQuery = _utilStyles.mediaQuery;\n var sysBorderThicknessNormal = tokens.sysBorderThicknessNormal,\n sysBorderRadiusLg = tokens.sysBorderRadiusLg,\n sysSpaceXs = tokens.sysSpaceXs,\n sysSpaceSm = tokens.sysSpaceSm,\n sysSpaceMd = tokens.sysSpaceMd,\n sysSpaceLg = tokens.sysSpaceLg,\n sysElevationBlurBase = tokens.sysElevationBlurBase,\n sysColorBackgroundSurface = tokens.sysColorBackgroundSurface,\n sysColorBackgroundMain = tokens.sysColorBackgroundMain,\n sysColorStructureBorderHighContrast = tokens.sysColorStructureBorderHighContrast,\n sysColorSelectedRangeMain = tokens.sysColorSelectedRangeMain,\n sysColorSelectedRangeContrast = tokens.sysColorSelectedRangeContrast,\n sysSizeTapTargetDefault = tokens.sysSizeTapTargetDefault,\n sysSizeMediaMd = tokens.sysSizeMediaMd;\n var _textStyles = textStyles(tokens),\n textBody = _textStyles.body,\n bodyStrong = _textStyles.bodyStrong,\n titleStrong = _textStyles.titleStrong;\n var _utilStyles2 = utilStyles(tokens),\n elevationStyles = _utilStyles2.elevationStyles;\n var responsiveTableBase = css(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n label: r_table_base;\\n border-spacing: 0;\\n border-collapse: separate;\\n border: none;\\n table-layout: fixed;\\n overflow: auto;\\n width: 100%;\\n \"])));\n var summaryWrapper = css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral([\"\\n label: summary_wrap;\\n @media screen and (max-width: \", \") {\\n border: \", \" solid\\n \", \";\\n border-end-start-radius: \", \";\\n border-end-end-radius: \", \";\\n }\\n \"])), sysSizeMediaMd, sysBorderThicknessNormal, sysColorStructureBorderHighContrast, sysBorderRadiusLg, sysBorderRadiusLg);\n var fixedFirstColumn = css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral([\"\\n label: fixed1st;\\n display: block;\\n \"])));\n var thead = css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral([\"\\n label: thead;\\n [data-responsive='true'] & {\\n @media screen and (max-width: \", \") {\\n display: none;\\n }\\n }\\n \"])), sysSizeMediaMd);\n var tbody = css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral([\"\\n label: tbody;\\n background-color: \", \";\\n \"])), sysColorBackgroundSurface);\n var tfoot = css(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral([\"\\n label: tfoot;\\n background-color: \", \";\\n \"])), sysColorBackgroundSurface);\n var rowBase = css(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral([\"\\n label: row_base;\\n background-color: \", \";\\n border-bottom: \", \" solid \", \";\\n \"])), sysColorBackgroundSurface, sysSpaceXs, sysColorBackgroundMain);\n var rowSelected = css(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral([\"\\n label: row_selected;\\n background-color: \", \";\\n color: \", \";\\n \"])), sysColorSelectedRangeMain, sysColorSelectedRangeContrast);\n var rowResponsive = css(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral([\"\\n label: row_resp;\\n @media screen and (max-width: \", \") {\\n display: grid;\\n width: 100%;\\n grid-template-areas:\\n 'a1 a2 a3'\\n 'b1 b2 b3';\\n grid-template-columns: auto 1fr auto;\\n gap: 0 \", \";\\n padding: \", \" 0;\\n\\n thead th {\\n display: none;\\n }\\n }\\n \"])), sysSizeMediaMd, sysSpaceSm, sysSpaceMd);\n var rowHeading = css(_templateObject10 || (_templateObject10 = _taggedTemplateLiteral([\"\\n label: row_head;\\n white-space: nowrap;\\n \"])));\n var rowFooting = css(_templateObject11 || (_templateObject11 = _taggedTemplateLiteral([\"\\n label: row_foot;\\n background-color: \", \";\\n white-space: nowrap;\\n \"])), sysColorBackgroundMain);\n var rowSummaryItem = css(_templateObject12 || (_templateObject12 = _taggedTemplateLiteral([\"\\n label: row_item;\\n border-bottom: none;\\n \"])));\n var rowSummaryAdjust = css(_templateObject13 || (_templateObject13 = _taggedTemplateLiteral([\"\\n label: row_adj;\\n border-bottom: none;\\n border-top: \", \" solid\\n \", \";\\n \"])), sysBorderThicknessNormal, sysColorStructureBorderHighContrast);\n var rowSummaryTotal = css(_templateObject14 || (_templateObject14 = _taggedTemplateLiteral([\"\\n label: row_total;\\n border-top: \", \" solid\\n \", \";\\n background-color: \", \";\\n \"])), sysBorderThicknessNormal, sysColorStructureBorderHighContrast, sysColorBackgroundMain); // NOTE: setting height on a cell is equivalent to min-height\n // Height allows for icon button + 12px above and below 44px + 12px + 12px\n\n var cellBase = css(_templateObject15 || (_templateObject15 = _taggedTemplateLiteral([\"\\n \", \"\\n padding: \", \";\\n height: \", \";\\n vertical-align: middle;\\n border-bottom: \", \" solid\\n \", \";\\n \"])), textBody({\n label: 'cell',\n color: 'inherit'\n }), sysSpaceMd, math(\"\".concat(sysSizeTapTargetDefault, \" + (\").concat(sysSpaceMd, \" * 2 )\")), sysBorderThicknessNormal, sysColorStructureBorderHighContrast);\n var cellResponsive = css(_templateObject16 || (_templateObject16 = _taggedTemplateLiteral([\"\\n label: cell_resp;\\n @media screen and (min-width: \", \") {\\n &:first-of-type {\\n padding-left: \", \";\\n }\\n &:last-of-type {\\n padding-right: \", \";\\n }\\n }\\n @media screen and (max-width: \", \") {\\n display: block;\\n height: auto;\\n padding: \", \" \", \";\\n min-width: \", \";\\n border: none !important;\\n }\\n \"])), sysSizeMediaMd, sysSpaceLg, sysSpaceLg, sysSizeMediaMd, sysSpaceXs, sysSpaceSm, sysSpaceMd);\n var headRowCell = css(_templateObject17 || (_templateObject17 = _taggedTemplateLiteral([\"\\n \", \"\\n position: sticky;\\n top: 0;\\n vertical-align: middle;\\n z-index: 1;\\n &:first-of-type {\\n z-index: 2;\\n }\\n \"])), titleStrong({\n label: 'h_th'\n }));\n var footerRowCell = css(_templateObject18 || (_templateObject18 = _taggedTemplateLiteral([\"\\n \", \"\\n vertical-align: middle;\\n z-index: 1;\\n &:first-of-type {\\n z-index: 2;\\n }\\n \"])), titleStrong({\n label: 'f_th'\n }));\n var dataHeaderCell = css(_templateObject19 || (_templateObject19 = _taggedTemplateLiteral([\"\\n \", \"\\n background-color: \", \";\\n \"])), bodyStrong(), sysColorBackgroundMain);\n var summaryHeaderCell = css(_templateObject20 || (_templateObject20 = _taggedTemplateLiteral([\"\\n \", \"\\n background-color: \", \";\\n \"])), titleStrong({\n label: 'sum_th'\n }), sysColorBackgroundSurface);\n var summaryFooterCell = css(_templateObject21 || (_templateObject21 = _taggedTemplateLiteral([\"\\n label: f_th;\\n \", \"\\n background-color: \", \";\\n \"])), titleStrong({\n label: 'total_th'\n }), sysColorBackgroundMain);\n var stickyRowHeader = css(_templateObject22 || (_templateObject22 = _taggedTemplateLiteral([\"\\n label: sticky_h_th;\\n position: sticky;\\n top: 0;\\n z-index: 1; // No token, just need this to be on top of other headers\\n &:first-of-type {\\n z-index: 2;\\n }\\n \"])));\n var stickyRowFooter = css(_templateObject23 || (_templateObject23 = _taggedTemplateLiteral([\"\\n label: sticky_f_th;\\n \", \"\\n position: sticky;\\n bottom: 0;\\n vertical-align: middle;\\n \"])), titleStrong({\n label: ''\n }));\n var stickyColHeading = css(_templateObject24 || (_templateObject24 = _taggedTemplateLiteral([\"\\n label: sticky_col;\\n &:first-of-type {\\n position: sticky;\\n left: 0;\\n }\\n \"])));\n var cellHeading = css(_templateObject25 || (_templateObject25 = _taggedTemplateLiteral([\"\\n label: th;\\n text-align: start;\\n padding: \", \";\\n tbody &:first-of-type {\\n \", \"\\n background-color: inherit;\\n }\\n \"])), sysSpaceMd, titleStrong({\n label: ''\n }));\n var legacyTh = css(_templateObject26 || (_templateObject26 = _taggedTemplateLiteral([\"\\n th {\\n text-align: start;\\n }\\n \"])));\n var tableBase = css(_templateObject27 || (_templateObject27 = _taggedTemplateLiteral([\"\\n \", \"\\n border-spacing: 0;\\n border-collapse: separate;\\n \"])), textBody({\n label: 'table_base'\n }));\n var legacyTableBase = css(_templateObject28 || (_templateObject28 = _taggedTemplateLiteral([\"\\n label: legacy_table;\\n > tbody {\\n > tr {\\n background-color: \", \";\\n > td,\\n > th {\\n border-bottom: \", \" solid\\n \", \";\\n border-top: \", \" solid transparent;\\n }\\n\\n > td {\\n padding: \", \";\\n &:first-of-type {\\n padding-left: \", \";\\n }\\n &:last-of-type {\\n padding-right: \", \";\\n }\\n }\\n > th {\\n padding: \", \";\\n &:first-of-type {\\n padding-left: \", \";\\n }\\n }\\n }\\n }\\n\\n > thead > tr {\\n background-color: \", \";\\n white-space: nowrap;\\n\\n > th {\\n position: relative;\\n \", \"\\n border-bottom: \", \" solid \", \";\\n padding: \", \";\\n\\n &:last-of-type {\\n padding-right: \", \";\\n }\\n &:first-of-type {\\n padding-left: \", \";\\n }\\n }\\n }\\n \"])), sysColorBackgroundSurface, sysBorderThicknessNormal, sysColorStructureBorderHighContrast, sysBorderThicknessNormal, sysSpaceMd, sysSpaceLg, sysSpaceLg, sysSpaceMd, sysSpaceLg, sysColorBackgroundMain, bodyStrong(), sysBorderThicknessNormal, sysColorStructureBorderHighContrast, sysSpaceMd, sysSpaceLg, sysSpaceLg);\n var scrollContext = css(_templateObject29 || (_templateObject29 = _taggedTemplateLiteral([\"\\n label: scroll_context;\\n display: inline-block;\\n overflow: auto;\\n max-height: 100%;\\n width: 100%;\\n \"])));\n var scrollContextTable = css(_templateObject30 || (_templateObject30 = _taggedTemplateLiteral([\"\\n label: scroll_context_table;\\n border: none;\\n table-layout: fixed;\\n display: block;\\n overflow: auto;\\n\\n > thead {\\n position: sticky;\\n top: 0;\\n z-index: 10;\\n\\n /* If this table can scroll, remove the border beneath the header row and replace it with a drop shadow */\\n > tr {\\n position: relative;\\n \", \";\\n > th {\\n border-bottom: none;\\n position: sticky;\\n top: 0;\\n background-color: \", \";\\n }\\n }\\n }\\n > tbody {\\n > tr {\\n > th {\\n \", \"\\n clip-path: polygon(0 0, 0 100%, calc(100% + \", \") 100%, calc(100% + \", \") 0);\\n &:first-of-type {\\n background-color: inherit;\\n position: sticky;\\n left: 0;\\n }\\n }\\n > td:nth-of-type(2) {\\n padding-left: \", \";\\n }\\n }\\n }\\n \"])), elevationStyles.filterLevel1, sysColorBackgroundMain, elevationStyles.level1Horizontal, sysElevationBlurBase, sysElevationBlurBase, sysSpaceMd); // the clip-path below clips the individual shadows and prevents\n // them from bleeding over into other cells. --BCC\n\n var fixedFirstColumnTable = css(_templateObject31 || (_templateObject31 = _taggedTemplateLiteral([\"\\n label: fixed_first_column_table;\\n > thead > tr > th:first-of-type {\\n position: sticky;\\n border-bottom: none;\\n \", \"\\n clip-path: polygon(0 0, 0 100%, calc(100% + \", \") 100%, calc(100% + \", \") 0);\\n z-index: 2;\\n left: 0;\\n\\n &:after {\\n background-color: inherit;\\n }\\n }\\n > tbody > tr > th:first-of-type {\\n position: sticky;\\n left: 0;\\n }\\n\\n [dir='rtl'] & {\\n > thead > tr > th:first-of-type {\\n clip-path: polygon(\\n -\", \" 0,\\n -\", \" 100%,\\n 100% 100%,\\n 100% -\", \"\\n );\\n right: 0;\\n left: unset;\\n }\\n > tbody > tr > th {\\n position: sticky;\\n left: unset;\\n right: 0;\\n clip-path: polygon(\\n -\", \" 0,\\n -\", \" 100%,\\n 100% 100%,\\n 100% -\", \"\\n );\\n }\\n }\\n \"])), elevationStyles.level1Horizontal, sysElevationBlurBase, sysElevationBlurBase, sysElevationBlurBase, sysElevationBlurBase, sysElevationBlurBase, sysElevationBlurBase, sysElevationBlurBase, sysElevationBlurBase);\n var customWidth = function (width) {\n return css(_templateObject32 || (_templateObject32 = _taggedTemplateLiteral([\"\\n label: cust_width;\\n width: \", \";\\n \"])), width);\n };\n var mobileGridZones = {\n zone_hidden: css(_templateObject33 || (_templateObject33 = _taggedTemplateLiteral([\"\\n label: m_hide;\\n @media screen and (max-width: \", \") {\\n display: none;\\n }\\n \"])), sysSizeMediaMd),\n zone_a1: css(_templateObject34 || (_templateObject34 = _taggedTemplateLiteral([\"\\n label: m_a1;\\n @media screen and (max-width: \", \") {\\n grid-area: a1;\\n }\\n \"])), sysSizeMediaMd),\n zone_a2: css(_templateObject35 || (_templateObject35 = _taggedTemplateLiteral([\"\\n label: m_a2;\\n @media screen and (max-width: \", \") {\\n grid-area: a2;\\n }\\n \"])), sysSizeMediaMd),\n zone_a3: css(_templateObject36 || (_templateObject36 = _taggedTemplateLiteral([\"\\n label: m_a3;\\n @media screen and (max-width: \", \") {\\n grid-area: a3;\\n text-align: end;\\n width: 100%;\\n }\\n \"])), sysSizeMediaMd),\n zone_a12: css(_templateObject37 || (_templateObject37 = _taggedTemplateLiteral([\"\\n label: m_a12;\\n @media screen and (max-width: \", \") {\\n grid-area: a1 / a1 / a2 / a2;\\n }\\n \"])), sysSizeMediaMd),\n zone_a23: css(_templateObject38 || (_templateObject38 = _taggedTemplateLiteral([\"\\n label: m_a23;\\n @media screen and (max-width: \", \") {\\n grid-area: a2 / a2 / a3 / a3;\\n width: 100%;\\n }\\n \"])), sysSizeMediaMd),\n zone_a123: css(_templateObject39 || (_templateObject39 = _taggedTemplateLiteral([\"\\n label: m_a123;\\n @media screen and (max-width: \", \") {\\n grid-area: a1 / a1 / a3 / a3;\\n }\\n \"])), sysSizeMediaMd),\n zone_b1: css(_templateObject40 || (_templateObject40 = _taggedTemplateLiteral([\"\\n label: m_b1;\\n @media screen and (max-width: \", \") {\\n grid-area: b1;\\n }\\n \"])), sysSizeMediaMd),\n zone_b2: css(_templateObject41 || (_templateObject41 = _taggedTemplateLiteral([\"\\n label: m_b2;\\n @media screen and (max-width: \", \") {\\n grid-area: b2;\\n }\\n \"])), sysSizeMediaMd),\n zone_b3: css(_templateObject42 || (_templateObject42 = _taggedTemplateLiteral([\"\\n label: m_b3;\\n @media screen and (max-width: \", \") {\\n grid-area: b3;\\n text-align: end;\\n width: 100%;\\n }\\n \"])), sysSizeMediaMd),\n zone_b12: css(_templateObject43 || (_templateObject43 = _taggedTemplateLiteral([\"\\n label: m_b12;\\n @media screen and (max-width: \", \") {\\n grid-area: b1 / b1 / b2 / b2;\\n }\\n \"])), sysSizeMediaMd),\n zone_b23: css(_templateObject44 || (_templateObject44 = _taggedTemplateLiteral([\"\\n label: m_b23;\\n @media screen and (max-width: \", \") {\\n grid-area: b2 / b2 / b3 / b3;\\n width: 100%;\\n }\\n \"])), sysSizeMediaMd),\n zone_b123: css(_templateObject45 || (_templateObject45 = _taggedTemplateLiteral([\"\\n label: m_b123;\\n @media screen and (max-width: \", \") {\\n grid-area: b1 / b1 / b3 / b3;\\n width: 100%;\\n }\\n \"])), sysSizeMediaMd),\n zone_ab1: css(_templateObject46 || (_templateObject46 = _taggedTemplateLiteral([\"\\n label: m_ab1;\\n @media screen and (max-width: \", \") {\\n grid-area: a1 / a1 / b1 / b1;\\n }\\n \"])), sysSizeMediaMd),\n zone_ab2: css(_templateObject47 || (_templateObject47 = _taggedTemplateLiteral([\"\\n label: m_ab2;\\n @media screen and (max-width: \", \") {\\n grid-area: a2 / a2 / b2 / b2;\\n }\\n \"])), sysSizeMediaMd),\n zone_ab3: css(_templateObject48 || (_templateObject48 = _taggedTemplateLiteral([\"\\n label: m_ab3;\\n @media screen and (max-width: \", \") {\\n grid-area: a3 / a3 / b3 / b3;\\n width: 100%;\\n }\\n \"])), sysSizeMediaMd),\n zone_ab12: css(_templateObject49 || (_templateObject49 = _taggedTemplateLiteral([\"\\n label: m_ab12;\\n @media screen and (max-width: \", \") {\\n grid-area: a1 / a1 / b2 / b2;\\n }\\n \"])), sysSizeMediaMd),\n zone_ab23: css(_templateObject50 || (_templateObject50 = _taggedTemplateLiteral([\"\\n label: m_ab23;\\n @media screen and (max-width: \", \") {\\n grid-area: a2 / a2 / b3 / b3;\\n width: 100%;\\n }\\n \"])), sysSizeMediaMd),\n zone_ab123: css(_templateObject51 || (_templateObject51 = _taggedTemplateLiteral([\"\\n label: m_ab123;\\n @media screen and (max-width: \", \") {\\n grid-area: a1 / a1 / b3 / b3;\\n width: 100%;\\n }\\n \"])), sysSizeMediaMd)\n };\n var columnRemaining = css(_templateObject52 || (_templateObject52 = _taggedTemplateLiteral([\"\\n label: w100;\\n width: 100%;\\n \"])));\n var columnStart = css(_templateObject53 || (_templateObject53 = _taggedTemplateLiteral([\"\\n label: align_start;\\n text-align: start;\\n \"])));\n var columnEnd = css(_templateObject54 || (_templateObject54 = _taggedTemplateLiteral([\"\\n label: align_end;\\n text-align: end;\\n \"])));\n var columnCenter = css(_templateObject55 || (_templateObject55 = _taggedTemplateLiteral([\"\\n label: align_center;\\n text-align: center;\\n \"])));\n var normalCell = css(_templateObject56 || (_templateObject56 = _taggedTemplateLiteral([\"\\n label: td_norm;\\n text-align: start;\\n \"])));\n var utilityCell = css(_templateObject57 || (_templateObject57 = _taggedTemplateLiteral([\"\\n label: util_cell;\\n border-bottom: none;\\n background-color: \", \";\\n \"])), sysColorBackgroundSurface);\n var summaryHeadingCell = css(_templateObject58 || (_templateObject58 = _taggedTemplateLiteral([\"\\n \", \"\\n text-align: start;\\n padding: \", \";\\n border-bottom: \", \" solid\\n \", \";\\n \"])), titleStrong({\n label: 'sum_head'\n }), sysSpaceMd, sysBorderThicknessNormal, sysColorStructureBorderHighContrast);\n var summaryItemCell = css(_templateObject59 || (_templateObject59 = _taggedTemplateLiteral([\"\\n label: item;\\n border-bottom: none;\\n &:first-of-type {\\n border-left: \", \" solid\\n \", \";\\n }\\n &:last-of-type {\\n border-right: \", \" solid\\n \", \";\\n }\\n \"])), sysBorderThicknessNormal, sysColorStructureBorderHighContrast, sysBorderThicknessNormal, sysColorStructureBorderHighContrast);\n var summaryAdjustCell = css(_templateObject60 || (_templateObject60 = _taggedTemplateLiteral([\"\\n label: adjust;\\n border-top: \", \" solid\\n \", \";\\n border-bottom: none;\\n \", \"\\n &:first-of-type {\\n border-left: \", \" solid\\n \", \";\\n }\\n &:last-of-type {\\n border-right: \", \" solid\\n \", \";\\n }\\n \"])), sysBorderThicknessNormal, sysColorStructureBorderHighContrast, bodyStrong(), sysBorderThicknessNormal, sysColorStructureBorderHighContrast, sysBorderThicknessNormal, sysColorStructureBorderHighContrast);\n var summaryTotalCell = css(_templateObject61 || (_templateObject61 = _taggedTemplateLiteral([\"\\n label: summary;\\n background-color: \", \";\\n \", \"\\n border-top: \", \" solid \", \";\\n &:first-of-type {\\n border-end-start-radius: \", \";\\n border-left: \", \" solid\\n \", \";\\n }\\n &:last-of-type {\\n border-end-end-radius: \", \";\\n border-right: \", \" solid\\n \", \";\\n }\\n \"])), sysColorBackgroundMain, titleStrong(), sysBorderThicknessNormal, sysColorStructureBorderHighContrast, sysBorderRadiusLg, sysBorderThicknessNormal, sysColorStructureBorderHighContrast, sysBorderRadiusLg, sysBorderThicknessNormal, sysColorStructureBorderHighContrast);\n return {\n tableBase: tableBase,\n legacyTableBase: legacyTableBase,\n legacyTh: legacyTh,\n summaryWrapper: summaryWrapper,\n fixedFirstColumnTable: fixedFirstColumnTable,\n scrollContext: scrollContext,\n scrollContextTable: scrollContextTable,\n columnRemaining: columnRemaining,\n getAlignment: function getAlignment(align) {\n switch (align) {\n case 'right':\n case 'end':\n return columnEnd;\n case 'center':\n return columnCenter;\n case 'left':\n case 'start':\n default:\n return columnStart;\n }\n },\n responsiveTableBase: responsiveTableBase,\n // Base style for a responsive table\n fixedFirstColumn: fixedFirstColumn,\n //\n thead: thead,\n // Base styles for a head, body, and foot sections\n tbody: tbody,\n tfoot: tfoot,\n cellBase: cellBase,\n // Styles shared by all table cells\n cellResponsive: cellResponsive,\n cellHeading: cellHeading,\n // Styles specific to heading cells\n mobileWidth: function mobileWidth(widthStr) {\n return mediaQuery(\"width: \".concat(widthStr));\n },\n // Width to use for screens < md size\n mobileAlign: function mobileAlign(align) {\n return mediaQuery(\"align: \".concat(align));\n },\n // Alignment to use for screens < md size\n dataHeaderCell: dataHeaderCell,\n summaryHeaderCell: summaryHeaderCell,\n summaryFooterCell: summaryFooterCell,\n rowBase: rowBase,\n // Styles shared by all table rows\n rowSelected: rowSelected,\n rowResponsive: rowResponsive,\n rowHeading: rowHeading,\n // Styles specific to a heading row\n rowFooting: rowFooting,\n // Styles specific to a footer row\n rowSummaryItem: rowSummaryItem,\n rowSummaryAdjust: rowSummaryAdjust,\n rowSummaryTotal: rowSummaryTotal,\n mobileGridZones: mobileGridZones,\n // Defines 6 zones to which a responsive cell may move\n customWidth: customWidth,\n // Defines a prop-specified width\n headRowCell: headRowCell,\n footerRowCell: footerRowCell,\n stickyRowHeader: stickyRowHeader,\n stickyRowFooter: stickyRowFooter,\n stickyColHeading: stickyColHeading,\n normalCell: normalCell,\n utilityCell: utilityCell,\n summaryHeadingCell: summaryHeadingCell,\n summaryItemCell: summaryItemCell,\n summaryAdjustCell: summaryAdjustCell,\n summaryTotalCell: summaryTotalCell\n };\n}\nvar DEFAULT_TABLE_CONTEXT = {\n tableType: 'data',\n isResponsive: false,\n isSticky: false\n};\nvar PPTableContext = createContext(DEFAULT_TABLE_CONTEXT);\nvar _excluded = [\"className\", \"fixedFirstColumn\", \"children\", \"tableType\", \"isLegacy\"];\nvar ResponsiveTable = function (_ref) {\n var className = _ref.className,\n _ref$fixedFirstColumn = _ref.fixedFirstColumn,\n fixedFirstColumn = _ref$fixedFirstColumn === void 0 ? false : _ref$fixedFirstColumn,\n children = _ref.children,\n tableType = _ref.tableType,\n isLegacy = _ref.isLegacy,\n rest = _objectWithoutProperties(_ref, _excluded);\n var tokens = useTheme();\n var tableStyles = useMemo(function () {\n return styles(tokens);\n }, [tokens]);\n var tableCss = [tableStyles.responsiveTableBase, fixedFirstColumn && tableStyles.fixedFirstColumn];\n var wrapperCss = [tableStyles.scrollContext, tableType === 'summary' && tableStyles.summaryWrapper];\n return jsx(PPTableContext.Provider, {\n value: {\n tableType: 'data',\n isResponsive: true,\n isSticky: true\n },\n \"data-ppui\": \"true\"\n }, jsx(\"div\", {\n css: wrapperCss,\n \"data-responsive\": \"true\",\n \"data-ppui\": \"true\"\n }, jsx(\"table\", _extends({\n css: tableCss,\n \"data-ppui-info\": \"table_3.13.0\"\n }, rest, {\n className: className\n }), children)));\n};\nvar _excluded$1 = [\"tableContext\", \"className\", \"children\", \"sticky\", \"as\"];\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}\nvar TableSection = forwardRef(function (props, ref) {\n var tableContext = props.tableContext,\n className = props.className,\n children = props.children,\n sticky = props.sticky,\n _props$as = props.as,\n Component = _props$as === void 0 ? 'tbody' : _props$as,\n rest = _objectWithoutProperties(props, _excluded$1);\n var context = _objectSpread(_objectSpread({}, useContext(PPTableContext)), tableContext);\n var tokens = useTheme();\n var tableStyles = useMemo(function () {\n return styles(tokens);\n }, [tokens]);\n var css = tableStyles[Component];\n var classes = sticky ? \"pp_react_sticky \".concat(className) : className;\n var newTableContext = _objectSpread({}, context);\n if (!newTableContext.hasOwnProperty('section')) {\n newTableContext.section = Component;\n }\n return jsx(PPTableContext.Provider, {\n value: newTableContext,\n \"data-ppui\": \"true\"\n }, jsx(Component, _extends({\n ref: ref,\n css: css,\n className: classes\n }, rest, {\n \"data-ppui\": \"true\"\n }), children));\n});\nvar TableBody = function (props) {\n return jsx(TableSection, _extends({}, props, {\n as: \"tbody\",\n \"data-ppui\": \"true\"\n }));\n};\nvar TableHead = function (props) {\n return jsx(TableSection, _extends({}, props, {\n as: \"thead\",\n \"data-ppui\": \"true\"\n }));\n};\nvar TableFoot = function (props) {\n return jsx(TableSection, _extends({}, props, {\n as: \"tfoot\",\n \"data-ppui\": \"true\"\n }));\n};\nvar TableCaption = function (props) {\n return jsx(TableSection, _extends({}, props, {\n as: \"caption\",\n \"data-ppui\": \"true\"\n }));\n};\nvar _excluded$2 = [\"tableContext\", \"isSelected\", \"className\", \"children\"];\nfunction ownKeys$1(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _objectSpread$1(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys$1(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}\nvar TableRow = forwardRef(function (props, ref) {\n var tableContext = props.tableContext,\n isSelected = props.isSelected,\n className = props.className,\n children = props.children,\n rest = _objectWithoutProperties(props, _excluded$2);\n var context = _objectSpread$1(_objectSpread$1({}, useContext(PPTableContext)), tableContext);\n var tokens = useTheme();\n var tableStyles = useMemo(function () {\n return styles(tokens);\n }, [tokens]);\n var section = context.section,\n isResponsive = context.isResponsive;\n var rowCss = [tableStyles.rowBase, isSelected && tableStyles.rowSelected, isResponsive && tableStyles.rowResponsive, section === 'thead' && tableStyles.rowHeading, section === 'tfoot' && tableStyles.rowFooting, section === 'summaryItem' && tableStyles.rowSummaryItem, section === 'summaryAdjust' && tableStyles.rowSummaryAdjust, section === 'summaryTotal' && tableStyles.rowSummaryTotal];\n return jsx(\"tr\", _extends({\n ref: ref,\n css: rowCss,\n className: className\n }, rest, {\n \"data-ppui\": \"true\"\n }), children);\n});\nvar _excluded$3 = [\"className\", \"tableContext\", \"mobile\", \"claimsRemainingSpace\", \"width\", \"span\", \"isHeader\", \"children\", \"align\"];\nfunction ownKeys$2(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _objectSpread$2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys$2(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$2(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}\nvar stickableFooters = new Set(['utility', 'tfoot']);\nvar TableCell = forwardRef(\n// eslint-disable-next-line complexity\nfunction (props, ref) {\n var _context$section, _tableStyles$getAlign, _tableStyles$customWi, _tableStyles$mobileWi, _tableStyles$mobileAl;\n var className = props.className,\n tableContext = props.tableContext,\n mobile = props.mobile,\n claimsRemainingSpace = props.claimsRemainingSpace,\n width = props.width,\n _props$span = props.span,\n span = _props$span === void 0 ? 1 : _props$span,\n isHeader = props.isHeader,\n children = props.children,\n _props$align = props.align,\n align = _props$align === void 0 ? 'start' : _props$align,\n rest = _objectWithoutProperties(props, _excluded$3);\n var context = _objectSpread$2(_objectSpread$2({}, useContext(PPTableContext)), tableContext); // eslint-disable-next-line complexity\n\n var tokens = useTheme();\n var tableStyles = useMemo(function () {\n return styles(tokens);\n }, [tokens]);\n var mobileGridZones = tableStyles.mobileGridZones,\n cellResponsive = tableStyles.cellResponsive;\n var sectionCellStyleName = \"\".concat((_context$section = context === null || context === void 0 ? void 0 : context.section) !== null && _context$section !== void 0 ? _context$section : 'normal', \"Cell\"); // At ease, typescript... it's really ok\n\n var sectionCss = tableStyles[sectionCellStyleName]; // To convert cellCss to farenheit multiply by 9/5 add 32... --BCC\n\n var cellCss = [tableStyles.cellBase, (tableContext === null || tableContext === void 0 ? void 0 : tableContext.isResponsive) && cellResponsive, isHeader && function getHeaderStyles(styleSet, headerContext) {\n var tableType = headerContext.tableType,\n isSticky = headerContext.isSticky,\n section = headerContext.section,\n isFirst = headerContext.isFirst;\n var css = [styleSet.cellHeading, section === 'thead' && styleSet.headerRow, section === 'thead' && tableType === 'data' && styleSet.dataHeaderCell, section === 'thead' && tableType === 'summary' && styleSet.summaryHeaderCell, section === 'thead' && isSticky && styleSet.stickyColHeader, section === 'tfoot' && styleSet.footerRow, stickableFooters.has(section) && isSticky && styleSet.stickyRowFooter, section === 'tfoot' && tableType === 'summary' && styleSet.summaryFooterCell, section === 'utility' && styleSet.utilityCell, section === 'tbody' && isSticky && isFirst && styleSet.stickyColHeading];\n return css;\n }(tableStyles, context), sectionCss, (_tableStyles$getAlign = tableStyles.getAlignment) === null || _tableStyles$getAlign === void 0 ? void 0 : _tableStyles$getAlign.call(tableStyles, align), width && ((_tableStyles$customWi = tableStyles.customWidth) === null || _tableStyles$customWi === void 0 ? void 0 : _tableStyles$customWi.call(tableStyles, width)), (mobile === null || mobile === void 0 ? void 0 : mobile.placement) && cellResponsive, (mobile === null || mobile === void 0 ? void 0 : mobile.placement) && (mobileGridZones === null || mobileGridZones === void 0 ? void 0 : mobileGridZones[\"zone_\".concat(mobile.placement)]),\n // TODO - move this logic into styles.tsx\n (mobile === null || mobile === void 0 ? void 0 : mobile.width) && ((_tableStyles$mobileWi = tableStyles.mobileWidth) === null || _tableStyles$mobileWi === void 0 ? void 0 : _tableStyles$mobileWi.call(tableStyles, mobile.width)), (mobile === null || mobile === void 0 ? void 0 : mobile.align) && ((_tableStyles$mobileAl = tableStyles.mobileAlign) === null || _tableStyles$mobileAl === void 0 ? void 0 : _tableStyles$mobileAl.call(tableStyles, mobile.align))];\n var Component = isHeader ? 'th' : 'td';\n if (claimsRemainingSpace) {\n cellCss.push(tableStyles.columnRemaining);\n }\n var cellProps = _objectSpread$2({}, rest);\n if (span > 1) {\n // @ts-ignore\n cellProps.colSpan = span; // There is no CSS way to do colspan!\n }\n\n return jsx(Component, _extends({\n ref: ref,\n css: cellCss,\n className: className\n }, cellProps, {\n \"data-ppui\": \"true\"\n }), children);\n});\nvar TableHeadingCell = function (props) {\n return jsx(TableCell, _extends({\n isHeader: true\n }, props, {\n \"data-ppui\": \"true\"\n }));\n};\nvar _excluded$4 = [\"className\", \"scroll\", \"fixedFirstColumn\", \"children\", \"align\", \"isFullWidth\", \"isLegacy\"];\nfunction ownKeys$3(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _objectSpread$3(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys$3(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$3(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}\nvar Table = function (_ref) {\n var _tableStyles$getAlign;\n var className = _ref.className,\n _ref$scroll = _ref.scroll,\n scroll = _ref$scroll === void 0 ? false : _ref$scroll,\n _ref$fixedFirstColumn = _ref.fixedFirstColumn,\n fixedFirstColumn = _ref$fixedFirstColumn === void 0 ? false : _ref$fixedFirstColumn,\n children = _ref.children,\n align = _ref.align,\n isFullWidth = _ref.isFullWidth,\n _ref$isLegacy = _ref.isLegacy,\n isLegacy = _ref$isLegacy === void 0 ? true : _ref$isLegacy,\n rest = _objectWithoutProperties(_ref, _excluded$4);\n var tokens = useTheme();\n var tableStyles = useMemo(function () {\n return styles(tokens);\n }, [tokens]);\n var cssVal = [[scroll || fixedFirstColumn] && tableStyles.scrollContext];\n var tableCss = [tableStyles.tableBase, isLegacy && tableStyles.legacyTableBase, isLegacy && tableStyles.legacyTh, (_tableStyles$getAlign = tableStyles.getAlignment) === null || _tableStyles$getAlign === void 0 ? void 0 : _tableStyles$getAlign.call(tableStyles, align), isFullWidth && tableStyles.columnRemaining, scroll && tableStyles.scrollContextTable, fixedFirstColumn && [tableStyles.scrollContextTable, tableStyles.fixedFirstColumnTable]];\n var context = _objectSpread$3(_objectSpread$3({}, DEFAULT_TABLE_CONTEXT), {}, {\n isSticky: scroll\n });\n var renderTable = jsx(PPTableContext.Provider, {\n value: context,\n \"data-ppui\": \"true\"\n }, jsx(\"table\", _extends({\n css: tableCss,\n \"data-ppui-info\": \"table_3.13.0\"\n }, rest, {\n className: className\n }), children));\n return scroll || fixedFirstColumn ? jsx(\"div\", {\n css: cssVal,\n \"data-ppui\": \"true\"\n }, renderTable) : renderTable;\n};\nexport { DEFAULT_TABLE_CONTEXT, PPTableContext, ResponsiveTable, Table, TableBody, TableCaption, TableCell, TableFoot, TableHead, TableHeadingCell, TableRow, TableSection, styles as tableStyles };","import _extends from '@babel/runtime/helpers/esm/extends';\nimport _slicedToArray from '@babel/runtime/helpers/esm/slicedToArray';\nimport _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';\nimport React, { forwardRef, useContext } from 'react';\nimport { MaskedTextInput } from '@paypalcorp/pp-react-masked-text-input';\nimport { IntlContext, getCurrencyMaskOptions } from '@paypalcorp/pp-react-intl';\nvar _excluded = [\"name\", \"maskOptions\", \"prefix\", \"suffix\", \"currencyType\", \"value\"];\nvar CurrencyInput = forwardRef(function (_ref, ref) {\n var name = _ref.name,\n maskOptions = _ref.maskOptions,\n prefix = _ref.prefix,\n suffix = _ref.suffix,\n _ref$currencyType = _ref.currencyType,\n currencyType = _ref$currencyType === void 0 ? 'USD' : _ref$currencyType,\n value = _ref.value,\n rest = _objectWithoutProperties(_ref, _excluded);\n var intlContext = useContext(IntlContext);\n var _getCurrencyMaskOptio = getCurrencyMaskOptions(intlContext, maskOptions, currencyType),\n currencyMaskOptions = _getCurrencyMaskOptio.currencyMaskOptions,\n intlCurrencyPrefix = _getCurrencyMaskOptio.intlCurrencyPrefix,\n intlCurrencySuffix = _getCurrencyMaskOptio.intlCurrencySuffix;\n var inputMode = 'decimal';\n var computedValue = value;\n if (currencyMaskOptions) {\n //istanbul ignore next\n if (currencyMaskOptions.scale === 0) {\n inputMode = 'numeric';\n }\n if (computedValue) {\n var _computedValue$split = computedValue.split('.'),\n _computedValue$split2 = _slicedToArray(_computedValue$split, 2),\n wholePart = _computedValue$split2[0],\n fractionalPart = _computedValue$split2[1];\n if (fractionalPart) {\n var fractionValue = fractionalPart.substring(0, currencyMaskOptions.scale);\n computedValue = wholePart + (fractionValue ? '.' + fractionValue : '');\n }\n }\n }\n return /*#__PURE__*/React.createElement(MaskedTextInput, _extends({\n name: name,\n value: computedValue,\n maskOptions: currencyMaskOptions,\n prefix: prefix ? prefix : intlCurrencyPrefix,\n suffix: suffix ? suffix : intlCurrencySuffix,\n inputMode: inputMode,\n ref: ref,\n \"data-ppui-info\": \"currency-input_2.0.26\"\n }, rest));\n});\nexport { CurrencyInput };","import _extends from '@babel/runtime/helpers/esm/extends';\nimport _defineProperty from '@babel/runtime/helpers/esm/defineProperty';\nimport _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';\nimport _slicedToArray from '@babel/runtime/helpers/esm/slicedToArray';\nimport React, { useMemo, useRef, useState } from 'react';\nimport { TableHeadingCell, TableHead, TableCell, TableRow, TableBody as TableBody$2, ResponsiveTable, Table, PPTableContext, TableFoot } from '@paypalcorp/pp-react-table';\nimport { Button, ButtonGroup } from '@paypalcorp/pp-react-buttons';\nimport { devWarning } from '@paypalcorp/pp-react-utils';\nimport { SettingsIcon, ArrowUpSmIcon, ArrowDownSmIcon, RefreshIcon, Icon, ChevronUpIcon, ChevronDownIcon } from '@paypalcorp/pp-react-icons';\nimport { LoadingSpinner } from '@paypalcorp/pp-react-loading-spinner';\nimport { IconButton } from '@paypalcorp/pp-react-icon-button';\nimport { Checkbox } from '@paypalcorp/pp-react-checkbox';\nimport { css, useTheme, jsx, ClassNames } from '@emotion/react';\nimport _taggedTemplateLiteral from '@babel/runtime/helpers/esm/taggedTemplateLiteral';\nimport { stripUnit, remToPx } from 'polished';\nimport { ActionMenu } from '@paypalcorp/pp-react-menu';\nimport _typeof from '@babel/runtime/helpers/esm/typeof';\nvar _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16;\nfunction styles(tokens) {\n /* istanbul ignore next */\n if (!Object.keys(tokens).length) {\n console.warn('Missing Emotion theme. Use ThemeProvider from @emotion/react to pass a valid theme from pp-react.');\n return {};\n }\n var sysSpaceSm = tokens.sysSpaceSm,\n sysSpaceMd = tokens.sysSpaceMd,\n sysSpaceXs = tokens.sysSpaceXs,\n sysSizePictogramSm = tokens.sysSizePictogramSm,\n sysSizeCircleLg = tokens.sysSizeCircleLg,\n sysSizeMediaMd = tokens.sysSizeMediaMd,\n sysBorderThicknessNormal = tokens.sysBorderThicknessNormal,\n sysBorderRadiusInteractive = tokens.sysBorderRadiusInteractive,\n sysColorPrimaryMain = tokens.sysColorPrimaryMain,\n sysColorStructureScrim = tokens.sysColorStructureScrim;\n var mdBreakpoint = stripUnit(remToPx(sysSizeMediaMd));\n var flexContainer = css(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n display: flex;\\n align-items: center;\\n \"])));\n var settingsIcon = css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral([\"\\n display: grid;\\n grid-template-columns: 1fr auto;\\n gap: \", \";\\n align-items: center;\\n \"])), sysSpaceMd);\n var interactiveCellCheckbox = css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral([\"\\n label {\\n display: block;\\n }\\n \"])));\n var interactiveCellCheckboxDisabled = css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral([\"\\n label: interactive_cell_checkbox_disabled;\\n visibility: hidden;\\n \"])));\n var emptyTableLabel = css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral([\"\\n label: empty_table_label;\\n background-size: \", \";\\n \"])), sysSizeCircleLg);\n var infoBlock = css(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral([\"\\n label: info_block;\\n margin-top: \", \";\\n display: grid;\\n grid-template-columns: auto;\\n grid-template-rows: auto auto;\\n place-items: center;\\n \"])), sysSpaceMd);\n var infoBlockMessage = css(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral([\"\\n label: iblock_msg;\\n margin: \", \" 0;\\n \"])), sysSpaceMd);\n var infoBlockAction = css(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral([\"\\n label: iblock_action;\\n margin: \", \" 0;\\n \"])), sysSpaceMd);\n var infoBlockDecoration = css(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral([\"\\n label: iblock_deco;\\n width: \", \";\\n \"])), sysSizePictogramSm);\n var iconMessage = css(_templateObject10 || (_templateObject10 = _taggedTemplateLiteral([\"\\n label: icon_message;\\n padding: \", \";\\n display: inline-grid;\\n grid-template-columns: auto 1fr;\\n place-items: center;\\n gap: \", \";\\n height: auto;\\n \"])), sysSpaceSm, sysSpaceSm);\n var seeMoreBlock = css(_templateObject11 || (_templateObject11 = _taggedTemplateLiteral([\"\\n label: see_more;\\n padding: \", \" \", \";\\n \"])), sysSpaceSm, sysSpaceMd);\n var headerButton = css(_templateObject12 || (_templateObject12 = _taggedTemplateLiteral([\"\\n label: header_button;\\n margin-left: \", \";\\n\\n [dir='rtl'] & {\\n margin-right: \", \";\\n margin-left: 0;\\n }\\n \"])), sysSpaceXs, sysSpaceXs);\n var currentlySortedByIcon = css(_templateObject13 || (_templateObject13 = _taggedTemplateLiteral([\"\\n label: currently_sorted_by_icon;\\n color: \", \";\\n border: \", \" solid \", \";\\n border-radius: \", \";\\n \"])), sysColorPrimaryMain, sysBorderThicknessNormal, sysColorPrimaryMain, sysBorderRadiusInteractive);\n var tableLoading = css(_templateObject14 || (_templateObject14 = _taggedTemplateLiteral([\"\\n label: data_table_loading;\\n position: relative;\\n\\n &:before {\\n content: ' ';\\n position: absolute;\\n inset: 0 0 0 0;\\n background-color: \", \";\\n z-index: 1;\\n }\\n \"])), sysColorStructureScrim);\n var spinnerBlock = css(_templateObject15 || (_templateObject15 = _taggedTemplateLiteral([\"\\n label: data_table_spinner;\\n padding: \", \";\\n display: grid;\\n place-items: center;\\n \"])), sysSpaceMd);\n var spinnerOverlay = css(_templateObject16 || (_templateObject16 = _taggedTemplateLiteral([\"\\n label: data_table_spinner;\\n position: absolute;\\n top: 50%;\\n left: 50%;\\n transform: translate(-50%, -50%);\\n z-index: 1;\\n \"])));\n return {\n mdBreakpoint: mdBreakpoint,\n flexContainer: flexContainer,\n settingsIcon: settingsIcon,\n seeMoreBlock: seeMoreBlock,\n interactiveCellCheckbox: interactiveCellCheckbox,\n interactiveCellCheckboxDisabled: interactiveCellCheckboxDisabled,\n emptyTableLabel: emptyTableLabel,\n headerButton: headerButton,\n tableLoading: tableLoading,\n spinnerBlock: spinnerBlock,\n spinnerOverlay: spinnerOverlay,\n iconMessage: iconMessage,\n infoBlock: infoBlock,\n infoBlockMessage: infoBlockMessage,\n infoBlockAction: infoBlockAction,\n infoBlockDecoration: infoBlockDecoration,\n currentlySortedByIcon: currentlySortedByIcon\n };\n}\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}\n/*\n * We're now assuming that columnOrder exists and includes only the names\n * of columns which are visible. This has been taken care of in dataTable.tsx.\n */\n\nvar TableHeader = function (_ref) {\n var columns = _ref.columns,\n columnOrder = _ref.columnOrder,\n isInteractive = _ref.isInteractive,\n _ref$toggleAllLabel = _ref.toggleAllLabel,\n toggleAllLabel = _ref$toggleAllLabel === void 0 ? 'Toggle all rows' : _ref$toggleAllLabel,\n selectedRows = _ref.selectedRows,\n idPrefix = _ref.idPrefix,\n rows = _ref.rows,\n interactiveCellContentClassName = _ref.interactiveCellContentClassName,\n onSelection = _ref.onSelection,\n onSort = _ref.onSort,\n sortInProgress = _ref.sortInProgress,\n settings = _ref.settings,\n tableContext = _ref.tableContext;\n var tokens = useTheme();\n var _styles = useMemo(function () {\n return styles(tokens);\n }, [tokens]);\n var rowIds = useMemo(function () {\n return rows.reduce(function (acc, _ref2) {\n var id = _ref2.id,\n isUnselectable = _ref2.isUnselectable;\n if (!isUnselectable) {\n acc.push(id);\n }\n return acc;\n }, []);\n }, [rows]);\n var checkboxElm;\n var checkboxElmCSSVal = [_styles.flexContainer, rowIds.length === 0 && _styles.interactiveCellCheckboxDisabled];\n if (isInteractive) {\n var isAnythingChecked = selectedRows.length > 0;\n var allChecked = rowIds.length && selectedRows.length === rowIds.length;\n checkboxElm = jsx(Checkbox, {\n name: \"\".concat(idPrefix, \"DataTableToggleAll\"),\n id: \"\".concat(idPrefix, \"DataTableToggleAll\"),\n \"aria-label\": toggleAllLabel,\n css: checkboxElmCSSVal,\n partial: isAnythingChecked && !allChecked,\n checked: isAnythingChecked || allChecked,\n onChange: function handleChange(evt) {\n onSelection(evt.target.checked ? rowIds : []);\n },\n \"data-ppui\": \"true\"\n });\n }\n var renderInteractiveCellContent = function (content) {\n return jsx(\"div\", {\n css: _styles.flexContainer,\n className: interactiveCellContentClassName,\n \"data-ppui\": \"true\"\n }, checkboxElm, content);\n };\n var hasContent = function (title) {\n return typeof title === 'string' && title.length > 0 || !!title;\n };\n var renderColumnHeader = function (name, _ref3, index, isLast) {\n var title = _ref3.title,\n sortButtonLabel = _ref3.sortButtonLabel,\n sortDirection = _ref3.sortDirection,\n isSortCurrent = _ref3.isSortCurrent,\n align = _ref3.align,\n width = _ref3.width,\n claimsRemainingSpace = _ref3.claimsRemainingSpace;\n var contents = title;\n var handleClick = function () {\n /* istanbul ignore next */\n if (onSort) {\n onSort(name, sortDirection === 'ascending' ? 'descending' : 'ascending');\n }\n };\n var settingsClick = function () {\n /* istanbul ignore next */\n if (settings && settings.onClick) {\n settings.onClick();\n }\n };\n if (sortDirection) {\n var SortIcon = sortDirection === 'ascending' ? ArrowUpSmIcon : ArrowDownSmIcon;\n var labelPrefix = isSortCurrent ? 'Currently' : '';\n var hiddenLabel = sortButtonLabel || \"\".concat(labelPrefix, \" sorted by \").concat(name, \" in \").concat(sortDirection, \" order\");\n contents = jsx(\"div\", {\n css: _styles.flexContainer,\n \"data-ppui\": \"true\"\n }, title, jsx(ClassNames, {\n \"data-ppui\": \"true\"\n }, function (_ref4) {\n var css = _ref4.css;\n return jsx(IconButton, {\n css: _styles.headerButton,\n iconClassName: isSortCurrent && css(_styles.currentlySortedByIcon),\n svgIconComponent: SortIcon,\n onClick: handleClick,\n buttonType: \"tertiary\",\n btnState: sortInProgress === name ? 'processing' : 'initial',\n size: \"sm\",\n \"data-ppui\": \"true\"\n }, hiddenLabel);\n }));\n }\n if (index === 0 && isInteractive) {\n contents = renderInteractiveCellContent(contents);\n }\n if (isLast && typeof (settings === null || settings === void 0 ? void 0 : settings.onClick) === 'function') {\n var icon = jsx(IconButton, {\n svgIconComponent: SettingsIcon,\n buttonType: \"tertiary\",\n onClick: settingsClick,\n \"data-ppui\": \"true\"\n }, settings.screenReaderText);\n if (hasContent(title)) {\n contents = jsx(\"div\", {\n css: _styles.settingsIcon,\n \"data-ppui\": \"true\"\n }, jsx(\"div\", {\n \"data-ppui\": \"true\"\n }, contents), jsx(\"div\", {\n \"data-ppui\": \"true\"\n }, icon));\n } else {\n var _align;\n contents = icon;\n align = (_align = align) !== null && _align !== void 0 ? _align : 'end';\n }\n }\n var cellContext = _objectSpread(_objectSpread({}, tableContext), {}, {\n section: 'thead',\n isFirst: index === 0,\n isSticky: true\n });\n return jsx(TableHeadingCell, {\n key: name,\n scope: \"col\",\n \"aria-sort\": sortDirection,\n align: align,\n width: width,\n tableContext: cellContext,\n claimsRemainingSpace: claimsRemainingSpace,\n \"data-ppui\": \"true\"\n }, contents);\n };\n var lastIndex = columnOrder.length - 1;\n var headerElms = columnOrder.map(function (name, index) {\n return renderColumnHeader(name, columns[name], index, index === lastIndex);\n });\n return jsx(TableHead, {\n sticky: true,\n \"data-ppui\": \"true\"\n }, jsx(\"tr\", {\n \"data-ppui\": \"true\"\n }, headerElms));\n};\nvar TableHeader$1 = React.memo(TableHeader);\nfunction ownKeys$1(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _objectSpread$1(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys$1(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}\n/*\n * We're now assuming that columnOrder exists and includes only the names\n * of columns which are visible. This has been taken care of in dataTable.tsx.\n */\n\nvar TableBody = function (_ref) {\n var tableContext = _ref.tableContext,\n rows = _ref.rows,\n isInteractive = _ref.isInteractive,\n idPrefix = _ref.idPrefix,\n selectedRows = _ref.selectedRows,\n columns = _ref.columns,\n columnOrder = _ref.columnOrder,\n interactiveCellContentClassName = _ref.interactiveCellContentClassName,\n onSelection = _ref.onSelection,\n loadingProps = _ref.loadingProps;\n var tokens = useTheme();\n var _styles = useMemo(function () {\n return styles(tokens);\n }, [tokens]);\n var renderCellContent = function (row, columnName) {\n var content = row[columnName] ? row[columnName].value : '';\n if (columns[columnName].cellAs) {\n var Component = columns[columnName].cellAs;\n content = jsx(Component, _extends({\n id: row.id\n }, row[columnName], {\n \"data-ppui\": \"true\"\n }));\n }\n return content;\n };\n var renderInteractiveCellContent = function (checkboxElm, content) {\n return jsx(\"div\", {\n css: _styles.flexContainer,\n className: interactiveCellContentClassName,\n \"data-ppui\": \"true\"\n }, checkboxElm, content);\n };\n var renderCells = function (row, checkboxElm) {\n return columnOrder.map(function (columnName, index) {\n var content = renderCellContent(row, columnName);\n var _columns$columnName = columns[columnName],\n mobile = _columns$columnName.mobile,\n align = _columns$columnName.align,\n width = _columns$columnName.width;\n var cellContext = _objectSpread$1(_objectSpread$1({}, tableContext), {}, {\n section: 'tbody'\n });\n if (index === 0 && isInteractive) {\n cellContext.isFirst = true;\n return jsx(TableHeadingCell, {\n tableContext: cellContext,\n key: columnName,\n mobile: mobile,\n align: align,\n width: width,\n scope: \"row\",\n \"data-ppui\": \"true\"\n }, renderInteractiveCellContent(checkboxElm, content));\n }\n return jsx(TableCell, {\n tableContext: cellContext,\n key: columnName,\n mobile: mobile,\n align: align,\n width: width,\n \"data-ppui\": \"true\"\n }, content);\n });\n };\n var rowElms = rows.map(function (row) {\n var key = row.id;\n var checkboxElm;\n if (isInteractive) {\n checkboxElm = jsx(Checkbox, {\n name: \"\".concat(idPrefix, \"DataTable\").concat(key),\n id: \"\".concat(idPrefix, \"DataTable\").concat(key),\n \"aria-label\": key,\n css: [_styles.interactiveCellCheckbox, row.isUnselectable && _styles.interactiveCellCheckboxDisabled],\n disabled: !!row.isUnselectable,\n checked: selectedRows.includes(key),\n onChange: function handleChange(evt) {\n var updatedSelection = evt.target.checked ? selectedRows.concat(key) : selectedRows.filter(function (item) {\n return item !== key;\n });\n onSelection(updatedSelection);\n },\n \"data-ppui\": \"true\"\n });\n }\n var isSelected = isInteractive && selectedRows.includes(key);\n var cellElms = renderCells(row, checkboxElm);\n return jsx(TableRow, {\n key: key,\n isSelected: isSelected,\n tableContext: {\n section: 'tbody'\n },\n \"data-ppui\": \"true\"\n }, cellElms);\n });\n var EmptyBlock = function (_ref2) {\n var decoration = _ref2.decoration,\n buttonLabel = _ref2.buttonLabel,\n buttonRef = _ref2.buttonRef,\n message = _ref2.message,\n isError = _ref2.isError,\n buttonAction = _ref2.buttonAction,\n processing = _ref2.processing;\n var tableStyles = _styles;\n /* istanbul ignore next */\n\n var button = buttonLabel && buttonAction ? jsx(Button, {\n onClick: buttonAction,\n secondary: isError,\n tertiary: !isError,\n size: \"sm\",\n ref: buttonRef,\n key: \"load-btn\",\n btnState: processing ? 'processing' : 'initial',\n \"data-ppui\": \"true\"\n }, buttonLabel) : null;\n return jsx(\"div\", {\n css: tableStyles.infoBlock,\n \"data-ppui\": \"true\"\n }, decoration, jsx(\"div\", {\n css: tableStyles.infoBlockMessage,\n \"data-ppui\": \"true\"\n }, message), jsx(\"div\", {\n css: tableStyles.infoBlockAction,\n \"data-ppui\": \"true\"\n }, button));\n };\n if (rowElms.length) {\n return jsx(TableBody$2, {\n \"data-ppui\": \"true\"\n }, rowElms);\n }\n var contents;\n if (loadingProps.errorMsg) {\n contents = jsx(EmptyBlock, {\n decoration: jsx(RefreshIcon, {\n color: \"PrimaryMain\",\n size: \"xl\",\n \"data-ppui\": \"true\"\n }),\n buttonLabel: loadingProps.retryButtonLabel,\n buttonAction: loadingProps.onRetry,\n buttonRef: loadingProps.retryButtonRef,\n isError: true,\n message: loadingProps.errorMsg,\n processing: loadingProps.isLoading,\n \"data-ppui\": \"true\"\n });\n } else if (loadingProps.isLoading) {\n contents = jsx(\"div\", {\n css: _styles.spinnerBlock,\n \"data-ppui\": \"true\"\n }, jsx(LoadingSpinner, {\n size: \"lg\",\n as: \"div\",\n screenReaderText: loadingProps.loadingText,\n \"aria-live\": loadingProps.loadingText,\n \"data-ppui\": \"true\"\n }));\n } else {\n contents = jsx(EmptyBlock, {\n decoration: jsx(\"img\", {\n css: _styles.infoBlockDecoration,\n alt: \"emtpy\",\n src: \"https://www.paypalobjects.com/paypal-ui/pictograms/grayscale/svg/grayscale-1.svg\",\n \"data-ppui\": \"true\"\n }),\n buttonLabel: loadingProps.retryButtonLabel,\n buttonAction: loadingProps.onRetry,\n buttonRef: loadingProps.retryButtonRef,\n isError: false,\n message: loadingProps.emptyMsg,\n \"data-ppui\": \"true\"\n });\n }\n return jsx(TableBody$2, {\n \"data-ppui\": \"true\"\n }, jsx(TableRow, {\n \"data-ppui\": \"true\"\n }, jsx(TableCell, {\n span: columnOrder.length,\n align: \"center\",\n css: _styles.emptyTableLabel,\n mobile: {\n placement: 'ab123'\n },\n \"data-ppui\": \"true\"\n }, contents)));\n};\nvar TableBody$1 = React.memo(TableBody);\nvar _excluded = [\"rows\", \"columns\", \"columnOrder\", \"description\", \"className\", \"isLoading\", \"loadingStateLabel\", \"isInteractive\", \"selectedRows\", \"toggleAllLabel\", \"emptyTableLabel\", \"loadingProps\", \"idPrefix\", \"interactiveCellContentClassName\", \"onSelection\", \"onSort\", \"sortInProgress\", \"settings\", \"seeMoreProps\"];\nfunction ownKeys$2(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _objectSpread$2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys$2(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$2(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}\nvar isResponsive = function (cols) {\n return Object.entries(cols).findIndex(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n _key = _ref2[0],\n value = _ref2[1];\n return value.hasOwnProperty('mobile');\n }) >= 0;\n}; // istanbul ignore next\n\nvar deprecationWarning = function (propName) {\n devWarning(\"Deprecated: the prop \".concat(propName, \" has been deprecated and will have no effect.\"));\n};\nvar deprecationCheck = function (deprecatedItems, props) {\n deprecatedItems.forEach(function (item) {\n // istanbul ignore next\n if (props.hasOwnProperty(item)) {\n deprecationWarning(item);\n }\n });\n};\nvar onlyVisible = function (cols, order) {\n var keyList = !order || order.length === 0 ? Object.keys(cols) : order;\n return keyList.filter(function (col) {\n var _cols$col;\n return ((_cols$col = cols[col]) === null || _cols$col === void 0 ? void 0 : _cols$col.isVisible) !== false;\n });\n};\nvar DataTable = function (_ref3) {\n var _ref3$rows = _ref3.rows,\n rows = _ref3$rows === void 0 ? [] : _ref3$rows,\n _ref3$columns = _ref3.columns,\n columns = _ref3$columns === void 0 ? {} : _ref3$columns,\n columnOrder = _ref3.columnOrder,\n _ref3$description = _ref3.description,\n description = _ref3$description === void 0 ? 'Table' : _ref3$description,\n className = _ref3.className,\n _ref3$isLoading = _ref3.isLoading,\n isLoading = _ref3$isLoading === void 0 ? false : _ref3$isLoading,\n _ref3$loadingStateLab = _ref3.loadingStateLabel,\n loadingStateLabel = _ref3$loadingStateLab === void 0 ? 'Loading data' : _ref3$loadingStateLab,\n _ref3$isInteractive = _ref3.isInteractive,\n isInteractive = _ref3$isInteractive === void 0 ? false : _ref3$isInteractive,\n _ref3$selectedRows = _ref3.selectedRows,\n selectedRows = _ref3$selectedRows === void 0 ? [] : _ref3$selectedRows,\n toggleAllLabel = _ref3.toggleAllLabel,\n emptyTableLabel = _ref3.emptyTableLabel,\n loadingProps = _ref3.loadingProps,\n idPrefix = _ref3.idPrefix,\n interactiveCellContentClassName = _ref3.interactiveCellContentClassName,\n onSelection = _ref3.onSelection,\n onSort = _ref3.onSort,\n sortInProgress = _ref3.sortInProgress,\n settings = _ref3.settings,\n seeMoreProps = _ref3.seeMoreProps,\n rest = _objectWithoutProperties(_ref3, _excluded);\n if (!rows.length) {\n console.warn('Required prop `rows` is missing.');\n }\n /* istanbul ignore next */\n\n if (!Object.keys(columns).length) {\n console.warn('Required prop `columns` is missing.');\n }\n var tokens = useTheme();\n var tableStyles = useMemo(function () {\n return styles(tokens);\n }, [tokens]);\n var visibleCols = onlyVisible(columns, columnOrder);\n var wrapperRef = useRef(null);\n deprecationCheck(['combinedColCellContentClassName', 'isHeaderCompact', 'isBodyCompact'], rest);\n var spinnerElm = isLoading && jsx(\"div\", {\n css: tableStyles.spinnerOverlay,\n \"data-ppui\": \"true\"\n }, jsx(LoadingSpinner, {\n screenReaderText: loadingStateLabel,\n size: \"md\",\n \"data-ppui\": \"true\"\n }));\n var props = {\n columns: columns,\n columnOrder: visibleCols,\n rows: rows,\n isInteractive: isInteractive,\n idPrefix: idPrefix,\n selectedRows: selectedRows,\n interactiveCellContentClassName: interactiveCellContentClassName,\n onSelection: onSelection\n };\n var TableComponent = isResponsive(columns) ? ResponsiveTable : Table;\n var tableContext = {\n tableType: 'data',\n isResponsive: isResponsive(columns)\n };\n return jsx(\"div\", {\n css: isLoading && tableStyles.tableLoading,\n className: className,\n \"data-ppui-info\": \"data-table_2.10.2\",\n ref: wrapperRef\n }, spinnerElm, jsx(TableComponent, _extends({\n isLegacy: false,\n \"aria-label\": description\n }, rest, {\n \"data-ppui\": \"true\"\n }), jsx(PPTableContext.Provider, {\n value: _objectSpread$2(_objectSpread$2({}, tableContext), {}, {\n section: 'thead'\n }),\n \"data-ppui\": \"true\"\n }, jsx(TableHeader$1, _extends({}, props, {\n toggleAllLabel: toggleAllLabel,\n onSort: onSort,\n sortInProgress: sortInProgress,\n settings: settings,\n \"data-ppui\": \"true\"\n }))), jsx(PPTableContext.Provider, {\n value: _objectSpread$2(_objectSpread$2({}, tableContext), {}, {\n section: 'tbody'\n }),\n \"data-ppui\": \"true\"\n }, jsx(TableBody$1, _extends({}, props, {\n loadingProps: loadingProps !== null && loadingProps !== void 0 ? loadingProps : {\n emptyMsg: emptyTableLabel,\n loadingText: loadingStateLabel\n },\n \"data-ppui\": \"true\"\n }))), jsx(function DataTableFooter(_ref4) {\n var onClick = _ref4.onClick,\n buttonLabel = _ref4.buttonLabel,\n buttonRef = _ref4.buttonRef,\n processing = _ref4.isLoading,\n errorMsg = _ref4.errorMsg,\n colCount = _ref4.colCount,\n backToTopLabel = _ref4.backToTopLabel,\n onBackToTopClick = _ref4.onBackToTopClick;\n var errorRow = errorMsg ? jsx(TableRow, {\n \"data-ppui\": \"true\"\n }, jsx(TableCell, {\n span: colCount,\n align: \"center\",\n tableContext: {\n section: 'utility'\n },\n mobile: {\n placement: 'ab123'\n },\n \"data-ppui\": \"true\"\n }, jsx(\"div\", {\n css: tableStyles.iconMessage,\n \"data-ppui\": \"true\"\n }, jsx(Icon, {\n name: \"refresh\",\n size: \"sm\",\n color: \"PrimaryMain\",\n \"data-ppui\": \"true\"\n }), jsx(\"div\", {\n \"data-ppui\": \"true\"\n }, errorMsg)))) : null;\n var isVisible = function (elem) {\n return !!(elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length);\n };\n var seeMoreButton = onClick ? jsx(Button, {\n onClick: onClick,\n secondary: true,\n size: \"sm\",\n key: \"see-more-button\",\n ref: buttonRef,\n btnState: processing ? 'processing' : 'initial',\n \"data-ppui\": \"true\"\n }, buttonLabel) : null;\n var backToTopButton = onBackToTopClick ? jsx(Button, {\n onClick: function handleBackToTop(evt) {\n var target = evt.target;\n var table = target.closest('table'); // istanbul ignore next\n\n if (table) {\n // We want to find the first visible element in the table\n // make it focusable, set focus to it and then make it not focusable\n // Usually, that's the first th in the header.\n // BUT... the header is hidden for responsive tables. So we have\n // to find the first child (may be th or td) of the first row\n // of the body. --love, BCC\n var firstCell = table.querySelector('thead>tr>th');\n if (!isVisible(firstCell)) {\n var firstRow = table.querySelector('tbody>tr');\n firstCell = firstRow.firstChild;\n }\n firstCell.tabIndex = 1;\n firstCell.focus();\n requestAnimationFrame(function () {\n firstCell.tabIndex = -1;\n });\n table.scrollTop = 0;\n } // istanbul ignore next\n\n if (typeof onBackToTopClick === 'function') {\n onBackToTopClick();\n }\n },\n secondary: true,\n size: \"sm\",\n iconComponent: ArrowUpSmIcon,\n \"data-ppui\": \"true\"\n }, backToTopLabel) : null;\n return seeMoreButton || backToTopButton ? jsx(TableFoot, {\n \"data-ppui\": \"true\"\n }, errorRow, jsx(TableRow, {\n \"data-ppui\": \"true\"\n }, jsx(TableCell, {\n span: colCount,\n align: \"center\",\n mobile: {\n placement: 'ab123'\n },\n \"data-ppui\": \"true\"\n }, jsx(ButtonGroup, {\n \"data-ppui\": \"true\"\n }, backToTopButton, seeMoreButton)))) : null;\n }, _extends({}, seeMoreProps, {\n colCount: visibleCols.length,\n \"data-ppui\": \"true\"\n }))));\n};\nvar doCompare = function (a, b) {\n return a < b ? -1 : a > b ? 1 : 0;\n};\nvar ASCENDING = 1;\nvar DESCENDING = -1;\nvar DataTableUtils = {\n sortCompare: function sortCompare(a, b, columnName) {\n var direction = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 'ascending';\n var dir = direction === 'ascending' ? ASCENDING : DESCENDING;\n return doCompare(a[columnName].value, b[columnName].value) * dir;\n }\n};\nvar DataTableSortMenu = function (_ref) {\n var selectedIndex = _ref.selectedIndex,\n options = _ref.options,\n _ref$triggerLabel = _ref.triggerLabel,\n triggerLabel = _ref$triggerLabel === void 0 ? 'Open sort menu' : _ref$triggerLabel,\n className = _ref.className,\n onSelection = _ref.onSelection;\n var tokens = useTheme();\n var _styles = useMemo(function () {\n return styles(tokens);\n }, [tokens]);\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n isOpen = _useState2[0],\n setOpen = _useState2[1];\n var IconComponent = isOpen ? ChevronUpIcon : ChevronDownIcon;\n var trigger = jsx(IconButton, {\n css: _styles.headerButton,\n svgIconComponent: IconComponent,\n onClick: function onClick() {\n return setOpen(true);\n },\n buttonType: \"tertiary\",\n size: \"sm\",\n \"data-ppui\": \"true\"\n }, triggerLabel);\n return jsx(\"div\", {\n css: _styles.flexContainer,\n className: className,\n \"data-ppui-info\": \"data-table_2.10.2\"\n }, \"Sort by: \".concat(options[selectedIndex].title), trigger, jsx(ActionMenu, {\n isOpen: isOpen,\n onClose: function handleOnClose() {\n setOpen(false);\n },\n options: options,\n onSelection: function handleSelect(index) {\n setOpen(false);\n onSelection(index);\n },\n \"data-ppui\": \"true\"\n }));\n};\nvar _excluded$1 = [\"items\", \"adjustments\", \"totals\", \"description\", \"className\", \"isLoading\", \"loadingStateLabel\", \"emptyTableLabel\", \"idPrefix\"];\nfunction ownKeys$3(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _objectSpread$3(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys$3(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$3(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}\nvar renderCellContent = function (data, id, Component) {\n var _data$value;\n var content = (_data$value = data === null || data === void 0 ? void 0 : data.value) !== null && _data$value !== void 0 ? _data$value : data;\n if (Component) {\n var props = _typeof(data) === 'object' ? _objectSpread$3({}, data) : {\n value: content\n };\n return jsx(Component, _extends({\n id: id\n }, props, {\n \"data-ppui\": \"true\"\n }), content);\n }\n return content;\n};\nvar SummaryHeadingRow = function (_ref) {\n var tableContext = _ref.tableContext,\n columns = _ref.columns;\n var subContext = _objectSpread$3(_objectSpread$3({}, tableContext), {}, {\n section: 'summaryHeading'\n });\n var cells = columns.map(function (_ref2, index) {\n var title = _ref2.title,\n mobile = _ref2.mobile,\n width = _ref2.width,\n align = _ref2.align;\n subContext.isFirst = index === 0;\n return jsx(TableHeadingCell, {\n key: index,\n mobile: mobile,\n width: width,\n align: align,\n tableContext: subContext,\n \"data-ppui\": \"true\"\n }, title);\n });\n return jsx(TableRow, {\n \"data-ppui\": \"true\"\n }, cells);\n};\nvar SummaryItemRows = function (_ref3) {\n var tableContext = _ref3.tableContext,\n columns = _ref3.columns,\n rows = _ref3.rows;\n var itemRows = rows.map(function (row, rIndex) {\n var cells = columns.map(function (_ref4, index) {\n var mobile = _ref4.mobile,\n width = _ref4.width,\n align = _ref4.align,\n data = _ref4.data,\n cellAs = _ref4.cellAs;\n return jsx(TableCell, {\n tableContext: tableContext,\n key: index,\n mobile: mobile,\n width: width,\n align: align,\n \"data-ppui\": \"true\"\n }, renderCellContent(row[data], row.id, cellAs));\n });\n return jsx(TableRow, {\n key: rIndex,\n tableContext: tableContext,\n \"data-ppui\": \"true\"\n }, cells);\n });\n return jsx(React.Fragment, null, itemRows);\n};\nvar SummaryRows = function (_ref5) {\n var tableContext = _ref5.tableContext,\n columns = _ref5.columns,\n rows = _ref5.rows;\n var adjustmentRows = rows.map(function (row, rIndex) {\n var cells = columns.map(function (_ref6, index) {\n var mobile = _ref6.mobile,\n width = _ref6.width,\n align = _ref6.align,\n data = _ref6.data,\n cellAs = _ref6.cellAs,\n span = _ref6.span;\n return jsx(TableCell, {\n tableContext: tableContext,\n span: span,\n key: index,\n mobile: mobile,\n align: align,\n width: width,\n \"data-ppui\": \"true\"\n }, renderCellContent(row[data], null, cellAs));\n });\n return jsx(TableRow, {\n key: rIndex,\n tableContext: tableContext,\n \"data-ppui\": \"true\"\n }, cells);\n });\n return jsx(React.Fragment, null, adjustmentRows);\n};\nvar SummaryTable = function (_ref7) {\n var items = _ref7.items,\n adjustments = _ref7.adjustments,\n totals = _ref7.totals,\n _ref7$description = _ref7.description,\n description = _ref7$description === void 0 ? 'Table' : _ref7$description,\n className = _ref7.className,\n _ref7$isLoading = _ref7.isLoading,\n isLoading = _ref7$isLoading === void 0 ? false : _ref7$isLoading,\n _ref7$loadingStateLab = _ref7.loadingStateLabel,\n emptyTableLabel = _ref7.emptyTableLabel,\n idPrefix = _ref7.idPrefix,\n rest = _objectWithoutProperties(_ref7, _excluded$1);\n var tokens = useTheme();\n var tableStyles = useMemo(function () {\n return styles(tokens);\n }, [tokens]);\n var tableContext = {\n tableType: 'summary',\n isResponsive: true,\n isSticky: true\n };\n var tableProps = _objectSpread$3(_objectSpread$3({}, rest), {}, {\n tableType: 'summary'\n });\n return jsx(\"div\", {\n css: isLoading && tableStyles.tableLoading,\n className: className,\n \"data-ppui-info\": \"data-table_2.10.2\"\n }, jsx(ResponsiveTable, _extends({\n \"aria-label\": description\n }, tableProps, {\n \"data-ppui\": \"true\"\n }), jsx(TableHead, {\n \"data-ppui\": \"true\"\n }, jsx(SummaryHeadingRow, {\n tableContext: _objectSpread$3(_objectSpread$3({}, tableContext), {}, {\n section: 'summaryHeading'\n }),\n columns: items.columns,\n \"data-ppui\": \"true\"\n })), jsx(TableBody$2, {\n \"data-ppui\": \"true\"\n }, jsx(SummaryItemRows, _extends({\n tableContext: _objectSpread$3(_objectSpread$3({}, tableContext), {}, {\n section: 'summaryItem'\n })\n }, items, {\n \"data-ppui\": \"true\"\n })), jsx(SummaryRows, _extends({\n tableContext: _objectSpread$3(_objectSpread$3({}, tableContext), {}, {\n section: 'summaryAdjust'\n })\n }, adjustments, {\n \"data-ppui\": \"true\"\n }))), jsx(TableFoot, {\n \"data-ppui\": \"true\"\n }, jsx(SummaryRows, _extends({\n tableContext: _objectSpread$3(_objectSpread$3({}, tableContext), {}, {\n section: 'summaryTotal'\n })\n }, totals, {\n \"data-ppui\": \"true\"\n })))));\n};\nexport { DataTable, DataTableSortMenu, DataTableUtils, SummaryTable, styles as dataTableStyles };","import _taggedTemplateLiteral from '@babel/runtime/helpers/esm/taggedTemplateLiteral';\nimport { css, useTheme, jsx, ClassNames } from '@emotion/react';\nimport { math } from 'polished';\nimport { utilStyles, ZINDEX_DROPDOWN, KeyboardCode } from '@paypalcorp/pp-react-utils';\nimport { textStyles, CaptionText, BodyText } from '@paypalcorp/pp-react-text';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';\nimport _defineProperty from '@babel/runtime/helpers/esm/defineProperty';\nimport React, { useMemo, useState, useRef, useLayoutEffect, forwardRef, useContext, useCallback, useEffect } from 'react';\nimport { CalendarIcon, ClockSmIcon, ArrowRightIcon, ArrowLeftIcon } from '@paypalcorp/pp-react-icons';\nimport { MaskType, MaskedTextInput } from '@paypalcorp/pp-react-masked-text-input';\nimport _slicedToArray from '@babel/runtime/helpers/esm/slicedToArray';\nimport { Sheet } from '@paypalcorp/pp-react-modal';\nimport { IntlContext } from '@paypalcorp/pp-react-intl';\nimport { IconButton } from '@paypalcorp/pp-react-icon-button';\nvar _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17, _templateObject18, _templateObject19, _templateObject20, _templateObject21, _templateObject22, _templateObject23, _templateObject24, _templateObject25, _templateObject26, _templateObject27, _templateObject28, _templateObject29, _templateObject30, _templateObject31, _templateObject32;\nfunction styles(tokens) {\n /* istanbul ignore next */\n if (!Object.keys(tokens).length) {\n console.warn('Missing Emotion theme. Use ThemeProvider from @emotion/react to pass a valid theme from pp-react.');\n return {};\n }\n var sysColorBackgroundSurface = tokens.sysColorBackgroundSurface,\n sysSpaceLg = tokens.sysSpaceLg,\n sysBorderRadiusSm = tokens.sysBorderRadiusSm,\n sysBorderThicknessNormal = tokens.sysBorderThicknessNormal,\n sysBorderRadiusInteractive = tokens.sysBorderRadiusInteractive,\n sysColorBackgroundHighContrast = tokens.sysColorBackgroundHighContrast,\n sysColorPrimaryMainHover = tokens.sysColorPrimaryMainHover,\n sysBorderThicknessEmphasis = tokens.sysBorderThicknessEmphasis,\n sysSizeMediaMd = tokens.sysSizeMediaMd,\n sysColorSpecialtyMain = tokens.sysColorSpecialtyMain,\n sysColorBackgroundMediumContrast = tokens.sysColorBackgroundMediumContrast,\n sysSpaceTiny = tokens.sysSpaceTiny,\n sysColorSelectedRangeMain = tokens.sysColorSelectedRangeMain,\n sysColorSelectedMain = tokens.sysColorSelectedMain,\n sysSizeIconLg = tokens.sysSizeIconLg,\n sysSizePointerWidthLg = tokens.sysSizePointerWidthLg,\n sysSizeTapTargetDefault = tokens.sysSizeTapTargetDefault,\n sysSizeTapTargetSm = tokens.sysSizeTapTargetSm,\n sysSizeTapTargetXs = tokens.sysSizeTapTargetXs,\n sysSizeFieldLg = tokens.sysSizeFieldLg,\n sysSpaceSm = tokens.sysSpaceSm,\n sysSpaceXl = tokens.sysSpaceXl,\n sysTypographyCaptionSize = tokens.sysTypographyCaptionSize,\n sysSpaceXs = tokens.sysSpaceXs,\n sysColorSelectedContrast = tokens.sysColorSelectedContrast,\n sysColorSelectedRangeContrast = tokens.sysColorSelectedRangeContrast;\n var _utilStyles = utilStyles(tokens),\n elevationStyles = _utilStyles.elevationStyles,\n caretStyles = _utilStyles.caretStyles;\n var _textStyles = textStyles(tokens),\n textBody = _textStyles.body;\n var calendarContainerOffset = math(\"\".concat(sysSizeFieldLg, \" + \").concat(sysSpaceSm)); // offset from calendar icon\n\n var xsBreakpoint = '22.5rem';\n var smBreakpoint = '25rem';\n function getDateDimensions(dateSize) {\n return css(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n width: \", \";\\n height: \", \";\\n \"])), dateSize, dateSize);\n }\n var calendarTrigger = css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral([\"\\n label: calendar_trigger;\\n cursor: pointer;\\n \"])));\n function calendarContainerStyle() {\n return css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral([\"\\n background-color: \", \";\\n position: absolute;\\n top: \", \";\\n padding: \", \";\\n border: \", \" solid \", \";\\n border-radius: \", \";\\n \", \"\\n \", \"\\n \", \"\\n \", \";\\n z-index: \", \";\\n cursor: initial;\\n \"])), sysColorBackgroundSurface, calendarContainerOffset, sysSpaceLg, sysBorderThicknessNormal, sysColorBackgroundSurface, sysBorderRadiusSm, elevationStyles.level2, caretStyles.base(sysSizePointerWidthLg), caretStyles.positionTop(math(\"\".concat(sysSizePointerWidthLg, \" / 2\"))), caretStyles.positionCenter(sysSizePointerWidthLg), ZINDEX_DROPDOWN);\n }\n var calendarContainer = css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral([\"\\n label: calendar_container;\\n \", \"\\n &:after {\\n top: -\", \";\\n }\\n \"])), calendarContainerStyle(), sysBorderThicknessNormal);\n var calendarContainerLeft = css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral([\"\\n label: calendar_container-left;\\n \", \"\\n right: -\", \";\\n &:before {\\n left: calc(100% - ((\", \" / 2) + \", \"));\\n }\\n &:after {\\n top: -\", \";\\n left: calc(100% - ((\", \" / 2) + \", \"));\\n }\\n \"])), calendarContainerStyle(), sysSpaceSm, sysSizeIconLg, sysSpaceLg, sysBorderThicknessNormal, sysSizeIconLg, sysSpaceXl);\n var calendarContainerRight = css(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral([\"\\n label: calendar_container-right;\\n \", \"\\n left: -\", \";\\n &:before {\\n left: calc(\", \" / 2);\\n }\\n &:after {\\n top: -\", \";\\n left: calc((\", \" / 2) - \", \");\\n }\\n \"])), calendarContainerStyle(), sysSpaceSm, sysSizeIconLg, sysBorderThicknessNormal, sysSizeIconLg, sysSpaceSm);\n var calendarNav = css(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral([\"\\n label: calendar_nav;\\n display: flex;\\n align-items: center;\\n justify-content: space-between;\\n white-space: nowrap;\\n \"])));\n var calendarNavButtonPrev = css(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral([\"\\n label: nav_prev_btn;\\n \"])));\n var calendarNavButtonNext = css(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral([\"\\n label: nav_next_btn;\\n \"])));\n var calendarNavButtonsNotFocusable = css(_templateObject10 || (_templateObject10 = _taggedTemplateLiteral([\"\\n &:after {\\n display: none;\\n }\\n \"])));\n var calendarNavButtonsHidden = css(_templateObject11 || (_templateObject11 = _taggedTemplateLiteral([\"\\n label: hidden;\\n visibility: hidden;\\n \"])));\n var fullWidth = css(_templateObject12 || (_templateObject12 = _taggedTemplateLiteral([\"\\n width: 100%;\\n \"])));\n var tableFullWidth = css(_templateObject13 || (_templateObject13 = _taggedTemplateLiteral([\"\\n table {\\n \", \"\\n }\\n \"])), fullWidth);\n var calendarTable = css(_templateObject14 || (_templateObject14 = _taggedTemplateLiteral([\"\\n label: calendar_table;\\n border-spacing: 0;\\n\\n th,\\n td {\\n text-align: center;\\n padding: \", \" 0;\\n }\\n\\n @media (max-width: \", \") {\\n \", \"\\n }\\n \"])), sysSpaceTiny, sysSizeMediaMd, fullWidth);\n var calendarCellInRange = css(_templateObject15 || (_templateObject15 = _taggedTemplateLiteral([\"\\n label: cell_in_range;\\n border-top: \", \" solid transparent;\\n border-bottom: \", \" solid transparent;\\n background-color: \", \";\\n \"])), sysBorderThicknessNormal, sysBorderThicknessNormal, sysColorSelectedRangeMain);\n var calendarCellRangeStart = css(_templateObject16 || (_templateObject16 = _taggedTemplateLiteral([\"\\n label: range_start;\\n background: linear-gradient(\\n to right,\\n \", \" 50%,\\n \", \" 50%\\n );\\n \"])), sysColorBackgroundSurface, sysColorSelectedRangeMain);\n var calendarCellRangeEnd = css(_templateObject17 || (_templateObject17 = _taggedTemplateLiteral([\"\\n label: range_end;\\n background: linear-gradient(\\n to right,\\n \", \" 50%,\\n \", \" 50%\\n );\\n \"])), sysColorSelectedRangeMain, sysColorBackgroundSurface);\n var calendarDate = css(_templateObject18 || (_templateObject18 = _taggedTemplateLiteral([\"\\n label: date;\\n \", \"\\n border: none;\\n padding: 0;\\n margin: 0 \", \";\\n text-decoration: none;\\n cursor: pointer;\\n \", \"\\n border-radius: \", \";\\n background-color: transparent;\\n\\n &:hover {\\n border: \", \" solid \", \";\\n }\\n\\n @media (max-width: \", \") {\\n \", \"\\n }\\n\\n @media (min-width: \", \") and (max-width: \", \") {\\n \", \"\\n }\\n \"])), textBody(), sysSpaceTiny, getDateDimensions(sysSizeTapTargetDefault), sysBorderRadiusInteractive, sysBorderThicknessEmphasis, sysColorPrimaryMainHover, xsBreakpoint, getDateDimensions(sysSizeTapTargetXs), xsBreakpoint, smBreakpoint, getDateDimensions(sysSizeTapTargetSm));\n var calendarDateInRange = css(_templateObject19 || (_templateObject19 = _taggedTemplateLiteral([\"\\n label: date_in_range;\\n color: \", \";\\n \"])), sysColorSelectedRangeContrast);\n var calendarDateNotCurrent = css(_templateObject20 || (_templateObject20 = _taggedTemplateLiteral([\"\\n label: date_not_current;\\n color: \", \";\\n \"])), sysColorBackgroundMediumContrast);\n var calendarDateDisabled = css(_templateObject21 || (_templateObject21 = _taggedTemplateLiteral([\"\\n label: disabled;\\n text-decoration-line: line-through;\\n cursor: not-allowed;\\n color: \", \";\\n\\n &:hover {\\n border: none;\\n }\\n \"])), sysColorBackgroundMediumContrast);\n var calendarDateToday = css(_templateObject22 || (_templateObject22 = _taggedTemplateLiteral([\"\\n label: today;\\n border: \", \" solid \", \";\\n \"])), sysBorderThicknessNormal, sysColorBackgroundHighContrast);\n var calendarDateSelected = css(_templateObject23 || (_templateObject23 = _taggedTemplateLiteral([\"\\n label: selected;\\n color: \", \";\\n border: \", \" solid \", \";\\n background-color: \", \";\\n \"])), sysColorSelectedContrast, sysBorderThicknessNormal, sysColorSelectedMain, sysColorSelectedMain);\n var calendarDueDate = css(_templateObject24 || (_templateObject24 = _taggedTemplateLiteral([\"\\n label: due_date;\\n color: \", \";\\n border: \", \" solid \", \";\\n \"])), sysColorSpecialtyMain, sysBorderThicknessNormal, sysColorSpecialtyMain);\n var calendarDueDateSelected = css(_templateObject25 || (_templateObject25 = _taggedTemplateLiteral([\"\\n label: due_date_selected;\\n border: \", \" solid \", \";\\n \"])), sysBorderThicknessNormal, sysColorSpecialtyMain);\n var calendarDueDateIconContainer = css(_templateObject26 || (_templateObject26 = _taggedTemplateLiteral([\"\\n label: icon_container;\\n display: inline-block;\\n position: relative;\\n \", \"\\n\\n @media (max-width: \", \") {\\n \", \"\\n }\\n\\n @media (min-width: \", \") and (max-width: \", \") {\\n \", \"\\n }\\n \"])), getDateDimensions(sysSizeTapTargetDefault), xsBreakpoint, getDateDimensions(sysSizeTapTargetXs), xsBreakpoint, smBreakpoint, getDateDimensions(sysSizeTapTargetSm));\n var calendarDueDateIcon = css(_templateObject27 || (_templateObject27 = _taggedTemplateLiteral([\"\\n label: icon;\\n position: absolute;\\n bottom: 0;\\n right: 0;\\n pointer-events: none;\\n background-color: \", \";\\n border-radius: \", \";\\n color: \", \";\\n \"])), sysColorBackgroundSurface, sysBorderRadiusInteractive, sysColorSpecialtyMain);\n var legend = css(_templateObject28 || (_templateObject28 = _taggedTemplateLiteral([\"\\n label: legend;\\n display: flex;\\n align-items: center;\\n margin-top: \", \";\\n margin-inline-start: \", \";\\n \"])), sysSpaceSm, sysSpaceLg);\n var legendItem = css(_templateObject29 || (_templateObject29 = _taggedTemplateLiteral([\"\\n label: legend_item;\\n display: flex;\\n align-items: center;\\n white-space: nowrap;\\n margin-inline-end: \", \";\\n \"])), sysSpaceLg);\n var legendKey = css(_templateObject30 || (_templateObject30 = _taggedTemplateLiteral([\"\\n label: key;\\n width: \", \";\\n height: \", \";\\n display: inline-block;\\n margin-inline-end: \", \";\\n border-radius: \", \";\\n \"])), sysTypographyCaptionSize, sysTypographyCaptionSize, sysSpaceXs, sysBorderRadiusInteractive);\n var dueDateLegendKey = css(_templateObject31 || (_templateObject31 = _taggedTemplateLiteral([\"\\n label: due_date_legend_key;\\n background-color: \", \";\\n color: \", \";\\n margin-inline-end: \", \";\\n border-radius: \", \";\\n \"])), sysColorBackgroundSurface, sysColorSpecialtyMain, sysSpaceXs, sysBorderRadiusInteractive);\n var wrapperContainer = css(_templateObject32 || (_templateObject32 = _taggedTemplateLiteral([\"\\n label: wrapper;\\n [dir='rtl'] & input {\\n text-align:right;\\n direction:ltr;\\n }\\n \"])));\n return {\n calendarTrigger: calendarTrigger,\n calendarContainer: calendarContainer,\n calendarContainerLeft: calendarContainerLeft,\n calendarContainerRight: calendarContainerRight,\n calendarNav: calendarNav,\n calendarTable: calendarTable,\n calendarNavButtonPrev: calendarNavButtonPrev,\n calendarNavButtonNext: calendarNavButtonNext,\n calendarNavButtonsNotFocusable: calendarNavButtonsNotFocusable,\n calendarNavButtonsHidden: calendarNavButtonsHidden,\n calendarCellInRange: calendarCellInRange,\n calendarCellRangeStart: calendarCellRangeStart,\n calendarCellRangeEnd: calendarCellRangeEnd,\n calendarDate: calendarDate,\n calendarDateNotCurrent: calendarDateNotCurrent,\n calendarDateDisabled: calendarDateDisabled,\n calendarDateToday: calendarDateToday,\n calendarDateSelected: calendarDateSelected,\n calendarDueDate: calendarDueDate,\n calendarDueDateIconContainer: calendarDueDateIconContainer,\n calendarDueDateIcon: calendarDueDateIcon,\n calendarDateInRange: calendarDateInRange,\n calendarDueDateSelected: calendarDueDateSelected,\n legend: legend,\n legendItem: legendItem,\n legendKey: legendKey,\n dueDateLegendKey: dueDateLegendKey,\n tableFullWidth: tableFullWidth,\n wrapperContainer: wrapperContainer\n };\n}\nvar MD_BREAKPOINT = 752;\nvar BASE_FONT_SIZE = 16;\nvar BASE_CALENDAR_IDEAL_WIDTH = 200;\nvar CalendarContainer = function (_ref) {\n var isCalendarVisible = _ref.isCalendarVisible,\n label = _ref.label,\n children = _ref.children,\n calendarTriggerRef = _ref.calendarTriggerRef,\n wrapperContainerRef = _ref.wrapperContainerRef,\n onShowCalendar = _ref.onShowCalendar,\n _ref$calendarInSheet = _ref.calendarInSheet,\n calendarInSheet = _ref$calendarInSheet === void 0 ? false : _ref$calendarInSheet;\n var tokens = useTheme();\n var _styles = useMemo(function () {\n return styles(tokens);\n }, [tokens]);\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n isMobile = _useState2[0],\n setMobile = _useState2[1];\n var containerRef = useRef();\n var _useState3 = useState(_styles.calendarContainer),\n _useState4 = _slicedToArray(_useState3, 2),\n calendarPosition = _useState4[0],\n setCalendarPosition = _useState4[1];\n var isMobileViewPort = function () {\n return (/* istanbul ignore next */\n window && window.innerWidth < MD_BREAKPOINT\n );\n };\n /* istanbul ignore next */\n\n var handleKey = function (evt) {\n if (new KeyboardCode(evt.key || evt.keyCode).IS_ESC) {\n onShowCalendar(false);\n }\n };\n /* istanbul ignore next */\n\n var handleOutsideClick = function (evt) {\n if (!calendarTriggerRef.current.contains(evt.target) && !containerRef.current.contains(evt.target)) {\n onShowCalendar(false);\n }\n };\n /* istanbul ignore next */\n\n var handleResize = function () {\n /* Event to dismiss calendar popup on window resize */\n onShowCalendar(false);\n };\n var getRefCurrent = function (myref) {\n return (/* istanbul ignore next */\n myref && myref.current ? myref.current : null\n );\n };\n /* istanbul ignore next */\n\n var getCalendarBoundary = function () {\n var calendarTrigger = getRefCurrent(calendarTriggerRef);\n var calendarTriggerPos = calendarTrigger.getBoundingClientRect();\n var windowWidth = window && window.innerWidth || document.documentElement.clientWidth;\n var fontSizeVal = window && parseFloat(window.getComputedStyle(document.documentElement).fontSize);\n var calculatedSpace = BASE_CALENDAR_IDEAL_WIDTH + BASE_CALENDAR_IDEAL_WIDTH * ((fontSizeVal - BASE_FONT_SIZE) * 0.0625);\n if (wrapperContainerRef === null || wrapperContainerRef === void 0 ? void 0 : wrapperContainerRef.current) {\n var wrapperContainerPos = wrapperContainerRef.current.getBoundingClientRect();\n if (calendarTriggerPos.left - wrapperContainerPos.left < calculatedSpace) {\n // Left side is out of viewoprt\n setCalendarPosition(_styles.calendarContainerRight);\n } else if (wrapperContainerPos.right + calculatedSpace > wrapperContainerPos.width) {\n // Right side is out of viewport\n setCalendarPosition(_styles.calendarContainerLeft);\n }\n } else if (calendarTrigger) {\n if (calendarTriggerPos.left < calculatedSpace) {\n // Left side is out of viewoprt\n setCalendarPosition(_styles.calendarContainerRight);\n } else if (calendarTriggerPos.right + calculatedSpace > windowWidth) {\n // Right side is out of viewport\n setCalendarPosition(_styles.calendarContainerLeft);\n }\n }\n };\n useLayoutEffect(function () {\n setCalendarPosition(_styles.calendarContainer);\n var _isMobile = isMobileViewPort();\n getCalendarBoundary();\n setMobile(_isMobile);\n if (!_isMobile && isCalendarVisible) {\n var _containerRef$current, _containerRef$current2;\n window.addEventListener('resize', handleResize);\n document.addEventListener('keydown', handleKey); // Add handleOutSideClick when calendar is not in sheet, let sheet handle outside click on its own\n\n /* istanbul ignore next */\n\n if (!calendarInSheet) {\n document.addEventListener('click', handleOutsideClick);\n } // eslint-disable-next-line no-unused-expressions\n\n (_containerRef$current = containerRef.current) === null || _containerRef$current === void 0 ? void 0 : (_containerRef$current2 = _containerRef$current.scrollIntoView) === null || _containerRef$current2 === void 0 ? void 0 : _containerRef$current2.call(_containerRef$current, {\n behavior: 'smooth',\n block: 'nearest'\n });\n }\n return function () {\n window.removeEventListener('resize', handleResize);\n document.removeEventListener('keydown', handleKey);\n document.removeEventListener('click', handleOutsideClick);\n };\n }, [isCalendarVisible]);\n if (isMobile || calendarInSheet) {\n /* istanbul ignore next */\n return jsx(Sheet, {\n isOpen: isCalendarVisible,\n onCloseComplete: function onCloseComplete() {\n return onShowCalendar(false);\n },\n noCloseButton: true,\n title: label,\n skipFormFocus: true,\n \"data-ppui\": \"true\"\n }, calendarInSheet && !isMobile ? jsx(\"div\", {\n css: _styles.tableFullWidth,\n \"data-ppui\": \"true\"\n }, children) : children);\n }\n return isCalendarVisible ? jsx(\"div\", {\n css: calendarPosition,\n ref: containerRef,\n \"data-ppui\": \"true\"\n }, children) : null;\n};\nvar _excluded = [\"name\", \"label\", \"className\", \"calendar\", \"isCalendarVisible\", \"wrapperContainerRef\", \"onShowCalendar\", \"maskOptions\", \"selectedDate\", \"onSelection\", \"parseDate\", \"formatDate\", \"formatterSkeleton\", \"sheetContainerRef\", \"onComplete\", \"onAccept\", \"calendarInSheet\"];\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}\nvar DEFAULT_MASK_OPTIONS = {\n mask: 'm`/d`/y',\n // here backquote ` is needed to prevent characters shifting back on edit. Refer https://github.com/uNmAnNeR/imaskjs/issues/89\n lazy: false,\n blocks: {\n d: {\n mask: MaskType.Range,\n from: 1,\n to: 31,\n maxLength: 2,\n placeholderChar: 'D'\n },\n m: {\n mask: MaskType.Range,\n from: 1,\n to: 12,\n maxLength: 2,\n placeholderChar: 'M'\n },\n y: {\n mask: MaskType.Range,\n from: 1900,\n to: 2999,\n maxLength: 4,\n placeholderChar: 'Y'\n }\n }\n}; // eslint-disable-next-line\n\nvar localTimeZone = Intl.DateTimeFormat().resolvedOptions().timeZone;\nfunction defaultParseDate(str) {\n /* istanbul ignore next */\n if (!str) {\n return null;\n }\n var parts = str.split('/');\n var month = Number(parts[0]);\n var date = Number(parts[1]);\n var year = Number(parts[2]);\n return new Date(year, month - 1, date);\n}\nfunction defaultFormatDate(date) {\n if (!date) {\n return '';\n }\n return new Intl.DateTimeFormat('en-US', {\n month: '2-digit',\n day: '2-digit',\n year: 'numeric'\n }).format(date);\n}\nfunction getDateMaskOptions(intlContext, formatterSkeleton, maskOptions) {\n if (!(intlContext && intlContext.dateTimeFormatter)) {\n return _objectSpread(_objectSpread({}, DEFAULT_MASK_OPTIONS), maskOptions);\n } // Get pattern from Worldready\n\n var dateTimeFormatter = intlContext.dateTimeFormatter({\n style: formatterSkeleton,\n timeZone: localTimeZone\n });\n var parts = dateTimeFormatter.formatToParts(new Date());\n var pattern = parts.map(function (_ref) {\n var type = _ref.type,\n value = _ref.value;\n switch (type) {\n case 'month':\n return 'm';\n case 'day':\n return 'd';\n case 'year':\n return 'y';\n default:\n // Remove any rtl marker chars\n // eslint-disable-next-line\n var separator = value.replace(/[^\\x00-\\x7F]/g, '');\n return \"`\".concat(separator);\n }\n }).join('');\n return _objectSpread(_objectSpread(_objectSpread({}, DEFAULT_MASK_OPTIONS), maskOptions), {}, {\n mask: pattern\n });\n}\nfunction getFormatters(intlContext, formatterSkeleton, formatDate, parseDate) {\n if (!(intlContext && intlContext.dateTimeFormatter)) {\n return {\n _formatDate: formatDate || defaultFormatDate,\n _parseDate: parseDate || defaultParseDate\n };\n } // Get formatters from Worldready\n\n var dateTimeFormatter = intlContext.dateTimeFormatter({\n style: formatterSkeleton,\n timeZone: localTimeZone\n });\n return {\n _formatDate: formatDate || function _formatDate(date) {\n /* istanbul ignore next */\n if (!date) {\n return '';\n }\n return dateTimeFormatter.format(date);\n },\n _parseDate: parseDate || function _parseDate(str) {\n return str && dateTimeFormatter.parse(str);\n }\n };\n}\nvar DateInput = forwardRef(function (_ref2, ref) {\n var name = _ref2.name,\n label = _ref2.label,\n className = _ref2.className,\n calendar = _ref2.calendar,\n isCalendarVisible = _ref2.isCalendarVisible,\n wrapperContainerRef = _ref2.wrapperContainerRef,\n onShowCalendar = _ref2.onShowCalendar,\n maskOptions = _ref2.maskOptions,\n selectedDate = _ref2.selectedDate,\n onSelection = _ref2.onSelection,\n parseDate = _ref2.parseDate,\n formatDate = _ref2.formatDate,\n _ref2$formatterSkelet = _ref2.formatterSkeleton,\n formatterSkeleton = _ref2$formatterSkelet === void 0 ? 'yyyyMMdd' : _ref2$formatterSkelet,\n sheetContainerRef = _ref2.sheetContainerRef,\n onComplete = _ref2.onComplete,\n onAccept = _ref2.onAccept,\n calendarInSheet = _ref2.calendarInSheet,\n rest = _objectWithoutProperties(_ref2, _excluded);\n if (!onSelection) {\n onSelection = function () {\n return console.warn('Required prop `onSelection` is missing');\n };\n }\n var tokens = useTheme();\n var _styles = useMemo(function () {\n return styles(tokens);\n }, [tokens]);\n var intlContext = useContext(IntlContext);\n var calendarTriggerRef = useRef();\n var internalRef = useRef();\n var inputRef = ref || internalRef;\n var prevVal = useRef();\n var _maskOptions = useMemo(function () {\n return getDateMaskOptions(intlContext, formatterSkeleton, maskOptions);\n }, [formatterSkeleton, maskOptions]);\n var _useMemo = useMemo(function () {\n return getFormatters(intlContext, formatterSkeleton, formatDate, parseDate);\n }, [formatDate, parseDate]),\n _formatDate = _useMemo._formatDate,\n _parseDate = _useMemo._parseDate;\n var handleComplete = function (value, unmaskedValue, typedValue) {\n /* istanbul ignore next */\n if (unmaskedValue !== prevVal.current) {\n onSelection(_parseDate(value));\n }\n if (onComplete) {\n onComplete(value, unmaskedValue, typedValue);\n }\n };\n var handleAccept = function (value, unmaskedValue, typedValue) {\n if (!unmaskedValue) {\n onSelection(null);\n }\n if (onAccept) {\n onAccept(value, unmaskedValue, typedValue);\n }\n };\n var icon = calendar && jsx(React.Fragment, null, jsx(CalendarIcon, {\n size: \"sm\",\n onMouseDown: function onMouseDown(evt) {\n return evt.preventDefault();\n },\n onClick: function handleIconClick() {\n var inputElm = inputRef.current;\n inputElm.focus();\n onShowCalendar(!isCalendarVisible);\n },\n svgElementRef: calendarTriggerRef,\n color: \"sysColorBackgroundMediumContrast\",\n css: _styles.calendarTrigger,\n \"aria-hidden\": \"true\",\n \"data-ppui\": \"true\"\n }), jsx(CalendarContainer, {\n isCalendarVisible: isCalendarVisible,\n onShowCalendar: onShowCalendar,\n label: label,\n sheetContainerRef: sheetContainerRef,\n wrapperContainerRef: wrapperContainerRef,\n calendarTriggerRef: calendarTriggerRef,\n calendarInSheet: calendarInSheet,\n \"data-ppui\": \"true\"\n }, calendar));\n var unmaskedValue = _formatDate(selectedDate).replace(/\\D/g, '');\n prevVal.current = unmaskedValue;\n return jsx(ClassNames, {\n \"data-ppui\": \"true\"\n }, function (_ref3) {\n var cx = _ref3.cx,\n css = _ref3.css;\n return jsx(MaskedTextInput, _extends({\n name: name,\n label: label,\n rightIcon: icon,\n maskOptions: _maskOptions,\n className: cx(css(_styles.wrapperContainer), className),\n inputMode: \"numeric\",\n \"data-ppui-info\": \"date-input_3.6.2\"\n }, rest, {\n onComplete: handleComplete,\n onAccept: handleAccept,\n value: unmaskedValue,\n ref: inputRef\n }));\n });\n});\nvar CalendarRange;\n(function (CalendarRange) {\n CalendarRange[\"START\"] = \"start\";\n CalendarRange[\"END\"] = \"end\";\n})(CalendarRange || (CalendarRange = {}));\nvar MONTH_NAMES = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];\nvar DAY_NAMES = {\n sun: 'Sun',\n mon: 'Mon',\n tue: 'Tue',\n wed: 'Wed',\n thu: 'Thu',\n fri: 'Fri',\n sat: 'Sat'\n};\nfunction getFormattedDateFromParts(parts) {\n return parts.reduce(function (acc, _ref) {\n var type = _ref.type,\n value = _ref.value;\n if (type === 'month' || type === 'day' || type === 'year') {\n acc[type] = value;\n }\n return acc;\n }, {});\n}\nfunction defaultFormatToParts(date) {\n var parts = new Intl.DateTimeFormat('en-US', {\n month: 'numeric',\n day: 'numeric',\n year: 'numeric'\n }).formatToParts(date);\n return getFormattedDateFromParts(parts);\n}\nfunction isDateInRange(date, selectedDate, range, rangeCompletionDate) {\n if (range === CalendarRange.START && selectedDate && rangeCompletionDate) {\n return date.getTime() >= selectedDate.getTime() && date.getTime() <= rangeCompletionDate.getTime();\n } else if (range === CalendarRange.END && selectedDate && rangeCompletionDate) {\n return date.getTime() <= selectedDate.getTime() && date.getTime() >= rangeCompletionDate.getTime();\n }\n return false;\n}\nfunction isDateEqual(date, providedDate) {\n return providedDate && date.getTime() === providedDate.getTime();\n}\nfunction isDateRangeStart(date, selectedDate, range, rangeCompletionDate) {\n return range === CalendarRange.START && selectedDate && date.getTime() === selectedDate.getTime() || range === CalendarRange.END && rangeCompletionDate && date.getTime() === rangeCompletionDate.getTime();\n}\nfunction isDateRangeEnd(date, selectedDate, range, rangeCompletionDate) {\n return range === CalendarRange.END && selectedDate && date.getTime() === selectedDate.getTime() || range === CalendarRange.START && rangeCompletionDate && date.getTime() === rangeCompletionDate.getTime();\n}\nfunction getDatesForMonth(date, daysOfWeek, firstDayOfWeek, selectedDate, range, rangeCompletionDate, dueDate, isDateDisabled, calendarRange) {\n var dates = [];\n var startMonth = date.getMonth();\n var startYear = date.getFullYear();\n var from = new Date(startYear, startMonth, 1);\n var firstday = Object.keys(DAY_NAMES)[from.getDay()];\n var firstDayIndex = daysOfWeek.indexOf(firstday);\n var firstDOWIndex = Object.keys(DAY_NAMES).indexOf(firstDayOfWeek);\n var todayDate = new Date();\n var today = new Date(todayDate.getFullYear(), todayDate.getMonth(), todayDate.getDate());\n from.setDate(-firstDayIndex + 1);\n while (from) {\n var month = from.getMonth();\n var day = from.getDate();\n var year = from.getFullYear();\n if (year === startYear && month > startMonth || year > startYear) {\n if (from.getDay() === firstDOWIndex) break;\n }\n var _dateObj = new Date(year, month, day);\n var isDisabled = isDateDisabled && isDateDisabled(_dateObj);\n if (calendarRange === CalendarRange.START && (month < startMonth || year < startYear)) {\n isDisabled = true;\n }\n if (calendarRange === CalendarRange.END && (month > startMonth || year > startYear)) {\n isDisabled = true;\n }\n dates.push({\n day: day,\n date: _dateObj,\n isDisabled: isDisabled,\n isToday: isDateEqual(from, today),\n inCurrentMonth: month === startMonth,\n isSelected: isDateEqual(from, selectedDate),\n isDue: isDateEqual(from, dueDate),\n inRange: isDateInRange(from, selectedDate, range, rangeCompletionDate),\n isRangeStart: isDateRangeStart(from, selectedDate, range, rangeCompletionDate),\n isRangeEnd: isDateRangeEnd(from, selectedDate, range, rangeCompletionDate)\n });\n from.setDate(day + 1);\n }\n return dates;\n}\nfunction getDaysOfWeek(firstDayOfWeek) {\n var daysOfWeek = Object.keys(DAY_NAMES);\n var firstDOWIndex = daysOfWeek.indexOf(firstDayOfWeek);\n if (firstDOWIndex === 0) {\n return daysOfWeek;\n }\n return daysOfWeek.slice(firstDOWIndex).concat(daysOfWeek.slice(0, firstDOWIndex));\n}\nfunction getFirstDayOfWeek(intlContext, firstDayOfWeek) {\n if (intlContext && intlContext.worldReadyObj && intlContext.worldReadyObj.weekInfo) {\n return firstDayOfWeek || intlContext.worldReadyObj.weekInfo.firstDay;\n }\n return firstDayOfWeek || 'sun';\n}\nfunction getNames(intlContext, monthNames, dayNames) {\n if (intlContext && intlContext.getDisplayNamesObject) {\n var monthDisplayNames = intlContext.getDisplayNamesObject({\n type: 'month',\n style: 'wide'\n });\n var _monthNames = monthDisplayNames.select(['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12']);\n var dayDisplayNames = intlContext.getDisplayNamesObject({\n type: 'day',\n style: 'abbreviated'\n });\n var keys = Object.keys(DAY_NAMES);\n var values = dayDisplayNames.select(keys);\n var _dayNames = keys.reduce(function (acc, key, index) {\n acc[key] = values[index];\n return acc;\n }, {});\n return {\n _monthNames: monthNames || _monthNames,\n _dayNames: dayNames || _dayNames\n };\n }\n return {\n _monthNames: monthNames || MONTH_NAMES,\n _dayNames: dayNames || DAY_NAMES\n };\n}\nfunction getFormatter(intlContext, formatToParts, formatterSkeleton) {\n if (intlContext && intlContext.dateTimeFormatter) {\n var dateTimeFormatter = intlContext.dateTimeFormatter({\n style: formatterSkeleton,\n // eslint-disable-next-line\n timeZone: Intl.DateTimeFormat().resolvedOptions().timeZone\n });\n return formatToParts || function fn(date) {\n var parts = dateTimeFormatter.formatToParts(date);\n return getFormattedDateFromParts(parts);\n };\n }\n return formatToParts || defaultFormatToParts;\n}\nfunction areMonthsEqual(date1, date2) {\n return date1.getFullYear() === date2.getFullYear() && date1.getMonth() === date2.getMonth();\n}\n/* eslint-disable complexity */\n\nvar Calendar = function (_ref2) {\n var className = _ref2.className,\n monthNames = _ref2.monthNames,\n dayNames = _ref2.dayNames,\n firstDayOfWeek = _ref2.firstDayOfWeek,\n _ref2$prevMonthLabel = _ref2.prevMonthLabel,\n prevMonthLabel = _ref2$prevMonthLabel === void 0 ? 'Go to prev month' : _ref2$prevMonthLabel,\n _ref2$nextMonthLabel = _ref2.nextMonthLabel,\n nextMonthLabel = _ref2$nextMonthLabel === void 0 ? 'Go to next month' : _ref2$nextMonthLabel,\n selectedDate = _ref2.selectedDate,\n range = _ref2.range,\n rangeCompletionDate = _ref2.rangeCompletionDate,\n isFocusable = _ref2.isFocusable,\n dateAs = _ref2.dateAs,\n calendarFrom = _ref2.calendarFrom,\n calendarTo = _ref2.calendarTo,\n navClassName = _ref2.navClassName,\n tableClassName = _ref2.tableClassName,\n dateClassName = _ref2.dateClassName,\n dueDate = _ref2.dueDate,\n formatToParts = _ref2.formatToParts,\n _ref2$formatterSkelet = _ref2.formatterSkeleton,\n formatterSkeleton = _ref2$formatterSkelet === void 0 ? 'yyyyMd' : _ref2$formatterSkelet,\n _ref2$legendSelectedD = _ref2.legendSelectedDateLabel,\n legendSelectedDateLabel = _ref2$legendSelectedD === void 0 ? 'Selected' : _ref2$legendSelectedD,\n _ref2$legendDueDateLa = _ref2.legendDueDateLabel,\n legendDueDateLabel = _ref2$legendDueDateLa === void 0 ? 'Due date' : _ref2$legendDueDateLa,\n _ref2$legendTodayLabe = _ref2.legendTodayLabel,\n legendTodayLabel = _ref2$legendTodayLabe === void 0 ? 'Today' : _ref2$legendTodayLabe,\n isDateDisabled = _ref2.isDateDisabled,\n onSelection = _ref2.onSelection,\n onMonthChange = _ref2.onMonthChange;\n\n /* istanbul ignore next */\n if (!onSelection) {\n onSelection = function () {\n return console.warn('Required prop `onSelection` is missing');\n };\n }\n var tokens = useTheme();\n var _styles = useMemo(function () {\n return styles(tokens);\n }, [tokens]);\n var _currentDate = selectedDate || new Date();\n var _useState = useState(new Date(_currentDate.getFullYear(), _currentDate.getMonth())),\n _useState2 = _slicedToArray(_useState, 2),\n currentDate = _useState2[0],\n setCurrentDate = _useState2[1];\n var _useState3 = useState(false),\n _useState4 = _slicedToArray(_useState3, 2),\n isRTL = _useState4[0],\n setRTL = _useState4[1];\n var intlContext = useContext(IntlContext);\n var containerRef = useCallback(function (node) {\n if (node !== null) {\n var computedStyle = window.getComputedStyle(node);\n setRTL(computedStyle && computedStyle.direction === 'rtl');\n }\n }, []);\n var _firstDayOfWeek = useMemo(function () {\n return getFirstDayOfWeek(intlContext, firstDayOfWeek);\n }, [firstDayOfWeek]);\n var _useMemo = useMemo(function () {\n return getNames(intlContext, monthNames, dayNames);\n }, [monthNames, dayNames]),\n _monthNames = _useMemo._monthNames,\n _dayNames = _useMemo._dayNames;\n var _formatToParts = useMemo(function () {\n return getFormatter(intlContext, formatToParts, formatterSkeleton);\n }, [formatToParts, formatterSkeleton]);\n var tabIndex = !isFocusable ? -1 : 0;\n useEffect(function () {\n setCurrentDate(new Date(_currentDate.getFullYear(), _currentDate.getMonth()));\n }, [selectedDate]);\n var renderDateButton = function (dateInfo) {\n var isDisabled = dateInfo.isDisabled,\n isToday = dateInfo.isToday,\n isSelected = dateInfo.isSelected,\n isRangeStart = dateInfo.isRangeStart,\n isRangeEnd = dateInfo.isRangeEnd,\n isDue = dateInfo.isDue,\n inCurrentMonth = dateInfo.inCurrentMonth,\n inRange = dateInfo.inRange,\n date = dateInfo.date;\n var shouldApplySelectedStyles = !isDisabled && (isSelected || isRangeStart || isRangeEnd);\n var cssVal = [_styles.calendarDate, !inCurrentMonth && _styles.calendarDateNotCurrent, isDisabled && _styles.calendarDateDisabled, isToday && _styles.calendarDateToday, isDue && _styles.calendarDueDate, inRange && _styles.calendarDateInRange, shouldApplySelectedStyles && _styles.calendarDateSelected, shouldApplySelectedStyles && isDue && _styles.calendarDueDateSelected];\n var props = {\n css: cssVal,\n className: dateClassName,\n onMouseDown: function onMouseDown(evt) {\n return evt.preventDefault();\n },\n onClick: function onClick() {\n return !(isDisabled || isSelected) && onSelection(date);\n },\n disabled: isDisabled,\n tabIndex: tabIndex,\n type: 'button'\n };\n if (dateAs) {\n props.dateInfo = dateInfo;\n }\n var formattedDate = _formatToParts(date);\n var button = jsx(dateAs || 'button', _extends({}, props, {\n \"data-ppui\": \"true\"\n }), formattedDate.day);\n if (isDue) {\n return jsx(\"div\", {\n css: _styles.calendarDueDateIconContainer,\n \"data-ppui\": \"true\"\n }, button, jsx(ClockSmIcon, {\n size: \"xs\",\n css: _styles.calendarDueDateIcon,\n \"data-ppui\": \"true\"\n }));\n }\n return button;\n };\n var currentMonth = _monthNames[currentDate.getMonth()];\n var daysOfWeek = getDaysOfWeek(_firstDayOfWeek);\n var header = jsx(\"thead\", {\n \"data-ppui\": \"true\"\n }, jsx(\"tr\", {\n \"data-ppui\": \"true\"\n }, daysOfWeek.map(function (name) {\n return jsx(\"th\", {\n key: name,\n \"data-ppui\": \"true\"\n }, jsx(CaptionText, {\n \"data-ppui\": \"true\"\n }, _dayNames[name]));\n })));\n var isPrevHidden = calendarFrom && areMonthsEqual(currentDate, calendarFrom);\n var isNextHidden = calendarTo && areMonthsEqual(currentDate, calendarTo);\n var calendarRange = '';\n if (isPrevHidden) {\n calendarRange = CalendarRange.START;\n }\n if (isNextHidden) {\n calendarRange = CalendarRange.END;\n }\n var dates = getDatesForMonth(currentDate, daysOfWeek, _firstDayOfWeek, selectedDate, range, rangeCompletionDate, dueDate, isDateDisabled, calendarRange);\n var dateRows = [];\n var shouldApplyRangeStyles = true;\n var isDueDateVisible = false;\n if (isDateDisabled) {\n var isSelectedDateDisabled = selectedDate && isDateDisabled(selectedDate);\n var isRangeCompletionDateDisabled = rangeCompletionDate && isDateDisabled(rangeCompletionDate);\n /* istanbul ignore next */\n\n if (isSelectedDateDisabled || isRangeCompletionDateDisabled) {\n shouldApplyRangeStyles = false;\n }\n }\n for (var i = 0; i < dates.length; i = i + 7) {\n var dateCols = [];\n for (var j = 0; j < 7; j++) {\n var _dates = dates[i + j],\n isRangeStart = _dates.isRangeStart,\n isRangeEnd = _dates.isRangeEnd,\n inRange = _dates.inRange,\n isDue = _dates.isDue;\n var allowInRange = inRange; // if start and end date is same don't need range styles\n // @ts-ignore\n\n if (isRangeStart && isRangeEnd) {\n allowInRange = false;\n }\n var cssVal = [shouldApplyRangeStyles && allowInRange && _styles.calendarCellInRange, shouldApplyRangeStyles && allowInRange && isRangeStart && _styles.calendarCellRangeStart, shouldApplyRangeStyles && allowInRange && isRangeEnd && _styles.calendarCellRangeEnd];\n if (!isDueDateVisible && isDue) {\n isDueDateVisible = true;\n }\n dateCols.push(jsx(\"td\", {\n key: j,\n \"data-ppui\": \"true\"\n }, jsx(\"div\", {\n css: cssVal,\n \"data-ppui\": \"true\"\n }, renderDateButton(dates[i + j]))));\n }\n dateRows.push(jsx(\"tr\", {\n key: i,\n \"data-ppui\": \"true\"\n }, dateCols));\n }\n var body = jsx(\"tbody\", {\n \"data-ppui\": \"true\"\n }, dateRows);\n var formattedCurrentDate = _formatToParts(currentDate);\n var legend = jsx(\"div\", {\n css: _styles.legend,\n \"data-ppui\": \"true\"\n }, jsx(\"div\", {\n css: _styles.legendItem,\n \"data-ppui\": \"true\"\n }, jsx(\"span\", {\n css: [_styles.legendKey, _styles.calendarDateSelected],\n \"data-ppui\": \"true\"\n }), jsx(CaptionText, {\n as: \"span\",\n \"data-ppui\": \"true\"\n }, legendSelectedDateLabel)), isDueDateVisible && jsx(\"div\", {\n css: _styles.legendItem,\n \"data-ppui\": \"true\"\n }, jsx(ClockSmIcon, {\n size: \"xs\",\n css: _styles.dueDateLegendKey,\n \"data-ppui\": \"true\"\n }), jsx(CaptionText, {\n as: \"span\",\n \"data-ppui\": \"true\"\n }, legendDueDateLabel)), jsx(\"div\", {\n css: _styles.legendItem,\n \"data-ppui\": \"true\"\n }, jsx(\"span\", {\n css: [_styles.legendKey, _styles.calendarDateToday],\n \"data-ppui\": \"true\"\n }), jsx(CaptionText, {\n as: \"span\",\n \"data-ppui\": \"true\"\n }, legendTodayLabel)));\n /* istanbul ignore next */\n\n return jsx(\"div\", {\n className: className,\n ref: containerRef,\n \"data-ppui\": \"true\"\n }, jsx(\"div\", {\n css: _styles.calendarNav,\n className: navClassName,\n \"data-ppui\": \"true\"\n }, jsx(IconButton, {\n svgIconComponent: isRTL ? ArrowRightIcon : ArrowLeftIcon,\n buttonType: \"tertiary\",\n onMouseDown: function onMouseDown(evt) {\n return evt.preventDefault();\n },\n onClick: function handlePrevClick() {\n currentDate.setMonth(currentDate.getMonth() - 1);\n var prevDate = new Date(currentDate.getFullYear(), currentDate.getMonth());\n setCurrentDate(prevDate);\n /* istanbul ignore next */\n\n if (onMonthChange) {\n onMonthChange(prevDate);\n }\n },\n css: [_styles.calendarNavButtonPrev, !isFocusable && _styles.calendarNavButtonsNotFocusable, isPrevHidden && _styles.calendarNavButtonsHidden],\n tabIndex: tabIndex,\n \"data-ppui\": \"true\"\n }, prevMonthLabel), jsx(BodyText, {\n \"data-ppui\": \"true\"\n }, \"\".concat(currentMonth, \" \").concat(formattedCurrentDate.year)), jsx(IconButton, {\n svgIconComponent: isRTL ? ArrowLeftIcon : ArrowRightIcon,\n buttonType: \"tertiary\",\n onMouseDown: function onMouseDown(evt) {\n return evt.preventDefault();\n },\n onClick: function handleNextClick() {\n currentDate.setMonth(currentDate.getMonth() + 1);\n var nextDate = new Date(currentDate.getFullYear(), currentDate.getMonth());\n setCurrentDate(nextDate);\n /* istanbul ignore next */\n\n if (onMonthChange) {\n onMonthChange(nextDate);\n }\n },\n css: [_styles.calendarNavButtonNext, !isFocusable && _styles.calendarNavButtonsNotFocusable, isNextHidden && _styles.calendarNavButtonsHidden],\n tabIndex: tabIndex,\n \"data-ppui\": \"true\"\n }, nextMonthLabel)), jsx(\"table\", {\n css: _styles.calendarTable,\n className: tableClassName,\n \"data-ppui\": \"true\"\n }, header, body), legend);\n};\nexport { Calendar, DateInput, styles as dateInputStyles };","import _extends from '@babel/runtime/helpers/esm/extends';\nimport _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';\nimport { useMemo } from 'react';\nimport { css, useTheme, jsx } from '@emotion/react';\nimport _taggedTemplateLiteral from '@babel/runtime/helpers/esm/taggedTemplateLiteral';\nvar _templateObject, _templateObject2;\nfunction styles(tokens) {\n /* istanbul ignore next */\n if (!Object.keys(tokens).length) {\n console.warn('Missing Emotion theme. Use ThemeProvider from @emotion/react to pass a valid theme from pp-react.');\n return {};\n }\n var sysColorStructureDivider = tokens.sysColorStructureDivider,\n sysSpaceMd = tokens.sysSpaceMd,\n sysBorderThicknessNormal = tokens.sysBorderThicknessNormal,\n sysColorPrimaryContrast = tokens.sysColorPrimaryContrast; // Base class for Divider\n\n var base = css(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n label: divider_base;\\n border: none;\\n border-top: \", \" solid \", \";\\n margin: \", \" 0;\\n \"])), sysBorderThicknessNormal, sysColorStructureDivider, sysSpaceMd); // Inverse State\n\n var inverse = css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral([\"\\n label: inverse;\\n border-color: \", \";\\n \"])), sysColorPrimaryContrast);\n return {\n base: base,\n inverse: inverse\n };\n}\nvar _excluded = [\"inverse\", \"className\"];\nvar Divider = function (_ref) {\n var inverse = _ref.inverse,\n className = _ref.className,\n rest = _objectWithoutProperties(_ref, _excluded);\n var tokens = useTheme();\n var _styles = useMemo(function () {\n return styles(tokens);\n }, [tokens]);\n var cssVal = [_styles.base, inverse && _styles.inverse];\n return jsx(\"hr\", _extends({\n css: cssVal,\n className: className\n }, rest, {\n \"data-ppui-info\": \"divider_4.1.20\"\n }));\n};\nexport { Divider, styles as dividerStyles };","import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';\nimport _slicedToArray from '@babel/runtime/helpers/esm/slicedToArray';\nimport _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport { forwardRef, useMemo, useRef, useState, useEffect } from 'react';\nimport { SelectionMenu } from '@paypalcorp/pp-react-menu';\nimport { CriticalIcon, ChevronUpIcon, ChevronDownIcon } from '@paypalcorp/pp-react-icons';\nimport { utilStyles, KeyboardCode } from '@paypalcorp/pp-react-utils';\nimport { css, useTheme, jsx } from '@emotion/react';\nimport _taggedTemplateLiteral from '@babel/runtime/helpers/esm/taggedTemplateLiteral';\nimport { math } from 'polished';\nimport { textStyles } from '@paypalcorp/pp-react-text';\nvar _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12;\nfunction styles(tokens) {\n /* istanbul ignore next */\n if (!Object.keys(tokens).length) {\n console.warn('Missing Emotion theme. Use ThemeProvider from @emotion/react to pass a valid theme from pp-react.');\n return {};\n }\n var sysMotionDurationHover = tokens.sysMotionDurationHover,\n sysSizeIconSm = tokens.sysSizeIconSm,\n sysSizeFieldLg = tokens.sysSizeFieldLg,\n sysColorBackgroundSurface = tokens.sysColorBackgroundSurface,\n sysBorderThicknessNormal = tokens.sysBorderThicknessNormal,\n sysBorderRadiusSm = tokens.sysBorderRadiusSm,\n sysColorStructureBorderHighContrast = tokens.sysColorStructureBorderHighContrast,\n sysSpaceTiny = tokens.sysSpaceTiny,\n sysSpaceXs = tokens.sysSpaceXs,\n sysSpaceSm = tokens.sysSpaceSm,\n sysSpaceMd = tokens.sysSpaceMd,\n sysColorBackgroundMediumContrast = tokens.sysColorBackgroundMediumContrast,\n sysTypographyFieldLabelLgLineHeight = tokens.sysTypographyFieldLabelLgLineHeight,\n sysTypographyFieldLabelSmLineHeight = tokens.sysTypographyFieldLabelSmLineHeight,\n sysBorderThicknessEmphasis = tokens.sysBorderThicknessEmphasis;\n var _utilStyles = utilStyles(tokens),\n focusStyles = _utilStyles.focusStyles,\n ellipsis = _utilStyles.ellipsis;\n var offsetFocusAfter = focusStyles.offsetFocusAfter,\n stateErrorFocusBorderColorInner = focusStyles.stateErrorFocusBorderColorInner,\n stateErrorFocusBorderColorOuter = focusStyles.stateErrorFocusBorderColorOuter;\n var _textStyles = textStyles(tokens),\n textFieldLabelLg = _textStyles.fieldLabelLg,\n textFieldValueSm = _textStyles.fieldValueSm,\n textFieldLabelSm = _textStyles.fieldLabelSm,\n textCaption = _textStyles.caption; //Base styles\n\n var base = css(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n label: dropdown_menu_base;\\n position: relative;\\n text-align: start;\\n \"])));\n var label = css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral([\"\\n label: dropdown_menu_label;\\n pointer-events: none; // Better way to fix the cursor: text issue!\\n position: absolute;\\n \", \"\\n transition: font-size \", \" ease-in-out, top \", \" ease-in-out, background-color \", \" linear;\\n left: \", \";\\n top: \", \";\\n \", \"\\n right: \", \";\\n\\n [dir='rtl'] & {\\n right: \", \";\\n left: \", \";\\n }\\n \"])), textFieldLabelLg(), sysMotionDurationHover, sysMotionDurationHover, sysMotionDurationHover, sysSpaceMd, math(\"(\".concat(sysSizeFieldLg, \" - \").concat(sysTypographyFieldLabelLgLineHeight, \") / 2\")), ellipsis, math(\"\".concat(sysSpaceMd, \" + \").concat(sysSizeIconSm)), sysSpaceMd, math(\"\".concat(sysSpaceMd, \" + \").concat(sysSizeIconSm)));\n var buttonActive = css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral([\"\\n label: active;\\n outline: none;\\n &:after {\\n \", \"\\n }\\n \"])), offsetFocusAfter({\n height: sysSizeFieldLg,\n horizontalOffset: '0rem',\n verticalOffset: '0rem'\n }));\n var button = css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral([\"\\n label: dropdown_menu_button;\\n \", \";\\n box-sizing: border-box;\\n height: \", \";\\n width: 100%;\\n border: \", \" solid\\n \", \";\\n border-radius: \", \";\\n background-color: \", \";\\n padding-top: \", \";\\n padding-right: \", \";\\n padding-left: \", \";\\n padding-bottom: \", \";\\n cursor: pointer;\\n text-align: start;\\n \", \"\\n\\n &:focus {\\n \", \"\\n }\\n\\n [dir='rtl'] & {\\n padding-left: \", \";\\n padding-right: \", \";\\n }\\n \"])), textFieldValueSm(), sysSizeFieldLg, sysBorderThicknessNormal, sysColorStructureBorderHighContrast, sysBorderRadiusSm, sysColorBackgroundSurface, math(\"\".concat(sysSpaceSm, \" + \").concat(sysSpaceTiny, \" + \").concat(sysTypographyFieldLabelSmLineHeight, \" - \").concat(sysBorderThicknessNormal)), math(\"\".concat(sysSpaceMd, \" + \").concat(sysSizeIconSm, \" - \").concat(sysBorderThicknessNormal)), math(\"\".concat(sysSpaceMd, \" - \").concat(sysBorderThicknessNormal)), math(\"\".concat(sysSpaceMd, \" - \").concat(sysBorderThicknessNormal)), ellipsis, buttonActive, math(\"\".concat(sysSpaceMd, \" + \").concat(sysSizeIconSm, \" - \").concat(sysBorderThicknessNormal)), math(\"\".concat(sysSpaceMd, \" - \").concat(sysBorderThicknessNormal)));\n var buttonErrorActive = css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral([\"\\n label: active;\\n &:after {\\n \", \"\\n }\\n \"])), offsetFocusAfter({\n height: sysSizeFieldLg,\n horizontalOffset: '0rem',\n verticalOffset: '0rem',\n borderColor: stateErrorFocusBorderColorInner,\n boxShadowColor: stateErrorFocusBorderColorOuter\n }));\n var buttonError = css(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral([\"\\n label: error;\\n border: \", \" solid\\n \", \";\\n padding-top: \", \";\\n padding-right: \", \";\\n padding-left: \", \";\\n padding-bottom: \", \";\\n\\n &:focus {\\n \", \"\\n }\\n\\n [dir='rtl'] & {\\n padding-left: \", \";\\n padding-right: \", \";\\n }\\n \"])), sysBorderThicknessEmphasis, stateErrorFocusBorderColorInner, math(\"\".concat(sysSpaceSm, \" + \").concat(sysSpaceTiny, \" + \").concat(sysTypographyFieldLabelSmLineHeight, \" - \").concat(sysBorderThicknessEmphasis)), math(\"\".concat(sysSpaceMd, \" + \").concat(sysSizeIconSm, \" - \").concat(sysBorderThicknessEmphasis)), math(\"\".concat(sysSpaceMd, \" - \").concat(sysBorderThicknessEmphasis)), math(\"\".concat(sysSpaceMd, \" - \").concat(sysBorderThicknessEmphasis)), buttonErrorActive, math(\"\".concat(sysSpaceMd, \" + \").concat(sysSizeIconSm, \" - \").concat(sysBorderThicknessEmphasis)), math(\"\".concat(sysSpaceMd, \" - \").concat(sysBorderThicknessEmphasis)));\n var labelActive = css(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral([\"\\n label: active;\\n \", \"\\n top: \", \";\\n \"])), textFieldLabelSm(), sysSpaceSm);\n var affordanceIcon = css(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral([\"\\n label: dropdown_menu_affordance_icon;\\n pointer-events: none;\\n position: absolute;\\n top: \", \";\\n right: \", \";\\n margin-left: \", \";\\n\\n [dir='rtl'] & {\\n margin-right: \", \";\\n left: \", \";\\n right: auto;\\n }\\n \"])), math(\"\".concat(sysSpaceSm, \" + \").concat(sysSpaceMd)), math(\"\".concat(sysSpaceSm, \" + \").concat(sysSpaceMd)), sysSpaceMd, sysSpaceMd, sysSpaceSm);\n var helperText = css(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral([\"\\n label: dropdown_menu_helper_text;\\n \", \"\\n margin-top: \", \";\\n list-style: none; // In case it's a list of helper texts\\n \"])), textCaption({\n color: sysColorBackgroundMediumContrast\n }), sysSpaceXs);\n var errorText = css(_templateObject10 || (_templateObject10 = _taggedTemplateLiteral([\"\\n label: dropdown_menu_error_text;\\n \", \"\\n display: flex;\\n margin-top: \", \";\\n align-items: center;\\n \"])), textCaption({\n color: sysColorBackgroundMediumContrast\n }), sysSpaceXs);\n var errorIcon = css(_templateObject11 || (_templateObject11 = _taggedTemplateLiteral([\"\\n label: dropdown_menu_error_icon;\\n color: \", \";\\n margin-right: \", \";\\n\\n [dir='rtl'] & {\\n margin-left: \", \";\\n margin-right: 0;\\n }\\n \"])), stateErrorFocusBorderColorInner, sysSpaceXs, sysSpaceXs);\n var selectBox = css(_templateObject12 || (_templateObject12 = _taggedTemplateLiteral([\"\\n label: dropdown_menu_select;\\n opacity: 0;\\n position: absolute;\\n pointer-events: none;\\n width: 0;\\n height: 0;\\n \"])));\n return {\n base: base,\n label: label,\n button: button,\n buttonError: buttonError,\n buttonActive: buttonActive,\n buttonErrorActive: buttonErrorActive,\n affordanceIcon: affordanceIcon,\n labelActive: labelActive,\n helperText: helperText,\n errorText: errorText,\n errorIcon: errorIcon,\n selectBox: selectBox\n };\n}\nvar _excluded = [\"className\", \"menuContainerClassName\", \"menuListClassName\", \"menuItemClassName\", \"menuMobileHeaderClassName\", \"menuButtonClassName\", \"menuLabelClassName\", \"skipButtonFocus\", \"sheetClassName\", \"sheetWrapperClassName\", \"id\", \"label\", \"name\", \"errorText\", \"errorIconAriaLabel\", \"helperText\", \"value\", \"options\", \"ariaLabelledby\", \"renderButtonContent\", \"onChange\", \"onClose\", \"onClick\", \"onKeyDown\", \"isLoadingOptions\", \"showUnselect\"];\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}\nvar getRefCurrent = function (ref) {\n return (/* istanbul ignore next */\n ref && ref.current ? ref.current : null\n );\n}; // Get either the error message or helper text or... nothing\n\nvar renderMessage = function (errorText, errorIconAriaLabel, helperText, msgId, _styles) {\n if (errorText) {\n var errorProps = {\n css: _styles.errorIcon,\n role: 'img',\n 'aria-label': errorIconAriaLabel\n };\n var dropdownErrorIcon = jsx(CriticalIcon, _extends({\n size: \"sm\"\n }, errorProps, {\n \"data-ppui\": \"true\"\n }));\n return jsx(\"div\", {\n css: _styles.errorText,\n id: msgId,\n \"data-ppui\": \"true\"\n }, dropdownErrorIcon, jsx(\"span\", {\n \"data-ppui\": \"true\"\n }, errorText));\n }\n if (helperText) {\n return jsx(\"div\", {\n css: _styles.helperText,\n id: msgId,\n \"data-ppui\": \"true\"\n }, jsx(\"span\", {\n \"data-ppui\": \"true\"\n }, helperText));\n }\n return null;\n};\nvar hasNoModifiers = function (evt) {\n return !evt.altKey && !evt.ctrlKey && !evt.shiftKey && !evt.metaKey;\n};\nvar DropdownMenu = forwardRef(\n// eslint-disable-next-line complexity\nfunction (props, ref) {\n var className = props.className,\n menuContainerClassName = props.menuContainerClassName,\n menuListClassName = props.menuListClassName,\n menuItemClassName = props.menuItemClassName,\n menuMobileHeaderClassName = props.menuMobileHeaderClassName,\n menuButtonClassName = props.menuButtonClassName,\n menuLabelClassName = props.menuLabelClassName,\n _props$skipButtonFocu = props.skipButtonFocus,\n skipButtonFocus = _props$skipButtonFocu === void 0 ? false : _props$skipButtonFocu,\n sheetClassName = props.sheetClassName,\n sheetWrapperClassName = props.sheetWrapperClassName,\n id = props.id,\n _props$label = props.label,\n label = _props$label === void 0 ? 'Label' : _props$label,\n name = props.name,\n errorText = props.errorText,\n _props$errorIconAriaL = props.errorIconAriaLabel,\n errorIconAriaLabel = _props$errorIconAriaL === void 0 ? 'Error' : _props$errorIconAriaL,\n helperText = props.helperText,\n value = props.value,\n _props$options = props.options,\n options = _props$options === void 0 ? [] : _props$options,\n ariaLabelledby = props.ariaLabelledby,\n renderButtonContent = props.renderButtonContent,\n onChange = props.onChange,\n onClose = props.onClose,\n onClick = props.onClick,\n onKeyDown = props.onKeyDown,\n isLoadingOptions = props.isLoadingOptions,\n showUnselect = props.showUnselect,\n rest = _objectWithoutProperties(props, _excluded);\n var tokens = useTheme();\n var _styles = useMemo(function () {\n return styles(tokens);\n }, [tokens]);\n var buttonId = id ? \"dropdownMenuButton_\".concat(id) : \"dropdownMenuButton_\".concat(label.replace(/\\s/g, ''));\n var internalRef = useRef();\n var buttonRef = ref !== null && ref !== void 0 ? ref : internalRef;\n var selectId = id ? \"dropdownMenuSelect_\".concat(id) : \"dropdownMenuSelect_\".concat(label.replace(/\\s/g, ''));\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n showMenu = _useState2[0],\n setShowMenu = _useState2[1];\n var _useState3 = useState(!!value),\n _useState4 = _slicedToArray(_useState3, 2),\n initialItemFocus = _useState4[0],\n setKeyboardActive = _useState4[1];\n var _useState5 = useState(false),\n _useState6 = _slicedToArray(_useState5, 2),\n isRtl = _useState6[0],\n setRtl = _useState6[1];\n useEffect(function () {\n var _window;\n var btn = getRefCurrent(buttonRef);\n var computedStyle = btn && ((_window = window) === null || _window === void 0 ? void 0 : _window.getComputedStyle(btn));\n setRtl((computedStyle === null || computedStyle === void 0 ? void 0 : computedStyle.direction) === 'rtl');\n });\n var openMenu = function (evt) {\n setShowMenu(function (prevState) {\n return !prevState;\n });\n setKeyboardActive(!evt.detail);\n };\n var handleItemClick = function (index) {\n setShowMenu(false);\n var buttonCurrent = getRefCurrent(buttonRef);\n /* istanbul ignore next */\n\n if (buttonCurrent) {\n if (skipButtonFocus) {\n buttonCurrent.blur();\n } else {\n buttonCurrent.focus();\n }\n }\n var selectedValue;\n /* istanbul ignore next */\n\n if (onChange) {\n var hasOptionsIndex = options.length > 0 && index >= 0;\n selectedValue = hasOptionsIndex ? options[index].value || options[index].primaryText : null;\n if (showUnselect) {\n selectedValue = hasOptionsIndex ? options[index].value : null;\n }\n var myEvent = {\n target: {\n selectedIndex: index,\n value: selectedValue\n }\n };\n onChange(myEvent);\n }\n };\n var msgId = helperText && 'dropdown_helperText' || errorText && 'dropdown_errorText';\n var buttonText = '';\n var buttonValue = '';\n var selectedIndex = -1;\n if (value) {\n for (var i = 0; i < options.length; i++) {\n if (options[i].value === value) {\n if (renderButtonContent) {\n buttonText = renderButtonContent();\n } else {\n buttonText = options[i].primaryText;\n }\n buttonValue = options[i].value;\n selectedIndex = i;\n break;\n }\n }\n } else if (!value && options.length > 0 && options[0].value === '') {\n selectedIndex = 0;\n }\n var AffordanceIconComponent = showMenu ? ChevronUpIcon : ChevronDownIcon;\n var AffordanceIcon = jsx(AffordanceIconComponent, {\n size: \"sm\",\n css: _styles.affordanceIcon,\n color: \"BackgroundMediumContrast\",\n \"aria-hidden\": \"true\",\n \"data-ppui\": \"true\"\n });\n var labelledBy = ariaLabelledby ? \"\".concat(buttonId, \"-label \").concat(ariaLabelledby) : \"\".concat(buttonId, \"-label\");\n if (buttonText) {\n labelledBy = \"\".concat(labelledBy, \" \").concat(buttonId);\n }\n var otherButtonAttr = _objectSpread(_objectSpread(_objectSpread({}, msgId && {\n 'aria-describedby': msgId\n }), {\n 'aria-labelledby': labelledBy\n }), rest);\n var buttonCssVal = [_styles.button, showMenu && _styles.buttonActive, errorText && _styles.buttonError, errorText && showMenu && _styles.buttonErrorActive];\n var labelCssVal = [_styles.label, (showMenu || buttonText) && _styles.labelActive];\n return jsx(\"div\", {\n className: className,\n css: _styles.base,\n id: id,\n \"data-ppui-info\": \"dropdown-menu_3.4.7\"\n }, jsx(\"select\", {\n css: _styles.selectBox,\n \"aria-hidden\": \"true\",\n id: selectId,\n name: name,\n tabIndex: -1,\n onChange: function (evt) {\n return handleItemClick(evt.target.selectedIndex - 1);\n },\n value: buttonValue,\n \"data-ppui\": \"true\"\n }, jsx(\"option\", {\n disabled: true,\n value: \"\",\n \"data-ppui\": \"true\"\n }, label), options.length > 0 && options.map(function (opt, index) {\n return jsx(\"option\", {\n key: index,\n value: opt.value ? opt.value : opt.primaryText,\n \"data-ppui\": \"true\"\n }, opt.primaryText);\n })), jsx(\"button\", _extends({\n className: menuButtonClassName,\n css: buttonCssVal,\n type: \"button\",\n id: buttonId,\n ref: buttonRef,\n \"aria-haspopup\": \"listbox\",\n \"aria-expanded\": showMenu,\n onClick: function handleClick(evt) {\n openMenu(evt);\n /* istanbul ignore next */\n\n if (onClick) {\n onClick(evt);\n }\n },\n onKeyDown: function handleKey(evt) {\n /* istanbul ignore next */\n var KeyCode = new KeyboardCode(evt.key || evt.keyCode);\n if (!showMenu && (KeyCode.IS_ARROW_UP || KeyCode.IS_ARROW_DOWN) && hasNoModifiers(evt)) {\n evt.preventDefault();\n openMenu(evt);\n }\n /* istanbul ignore next */\n\n if (onKeyDown) {\n onKeyDown(evt);\n }\n }\n }, otherButtonAttr, {\n \"data-ppui\": \"true\"\n }), AffordanceIcon, jsx(\"span\", {\n \"data-ppui\": \"true\"\n }, buttonText)), jsx(\"label\", {\n id: \"\".concat(buttonId, \"-label\"),\n htmlFor: buttonId,\n css: labelCssVal,\n className: menuLabelClassName,\n \"data-ppui\": \"true\"\n }, jsx(\"span\", {\n \"data-ppui\": \"true\"\n }, label)), jsx(SelectionMenu, {\n initialItemFocus: initialItemFocus,\n isOpen: showMenu,\n mobileTitle: label,\n onClose: function handleClose(evt) {\n setShowMenu(false);\n if (onClose) {\n onClose(evt);\n }\n },\n onSelection: handleItemClick,\n selectedIndex: selectedIndex,\n triggerElementRef: buttonRef,\n options: options,\n className: menuListClassName,\n containerClassName: menuContainerClassName,\n itemClassName: menuItemClassName,\n mobileHeaderClassName: menuMobileHeaderClassName,\n sheetClassName: sheetClassName,\n sheetWrapperClassName: sheetWrapperClassName,\n rtl: isRtl,\n returnFocusToTrigger: !skipButtonFocus,\n isLoadingOptions: isLoadingOptions,\n searchEnabled: true,\n \"data-ppui\": \"true\"\n }), renderMessage(errorText, errorIconAriaLabel, helperText, msgId, _styles));\n});\nexport { DropdownMenu, styles as dropdownMenuStyles };","import _extends from '@babel/runtime/helpers/esm/extends';\nimport _slicedToArray from '@babel/runtime/helpers/esm/slicedToArray';\nimport _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';\nimport { useState, useRef, useMemo, useEffect } from 'react';\nimport { IconButton } from '@paypalcorp/pp-react-icon-button';\nimport { CloseIcon } from '@paypalcorp/pp-react-icons';\nimport { utilStyles, ZINDEX_MODAL, uniqueId } from '@paypalcorp/pp-react-utils';\nimport { css, useTheme, jsx } from '@emotion/react';\nimport _taggedTemplateLiteral from '@babel/runtime/helpers/esm/taggedTemplateLiteral';\nimport { math } from 'polished';\nimport { textStyles } from '@paypalcorp/pp-react-text';\nvar _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11;\nfunction styles(tokens) {\n /* istanbul ignore next */\n if (!Object.keys(tokens).length) {\n console.warn('Missing Emotion theme. Use ThemeProvider from @emotion/react to pass a valid theme from pp-react.');\n return {};\n }\n var sysColorBackgroundSurface = tokens.sysColorBackgroundSurface,\n sysSizeIconLg = tokens.sysSizeIconLg,\n sysSizeIconMd = tokens.sysSizeIconMd,\n sysSpaceLg = tokens.sysSpaceLg,\n sysSpaceSm = tokens.sysSpaceSm,\n sysSpaceXl = tokens.sysSpaceXl;\n var _utilStyles = utilStyles(tokens),\n elevationStyles = _utilStyles.elevationStyles;\n var _textStyles = textStyles(tokens),\n textBody = _textStyles.body;\n var headerWidth = '44rem';\n var headerFlexBasis = math(\"2 * \".concat(sysSpaceXl));\n var base = css(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n label: focus_flow_base;\\n position: fixed;\\n inset: 0 0 0 0;\\n background-color: \", \";\\n z-index: \", \";\\n \"])), sysColorBackgroundSurface, ZINDEX_MODAL);\n var wrapper = css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral([\"\\n label: focus_flow_wrapper;\\n display: flex;\\n flex-direction: column;\\n align-items: center;\\n position: absolute;\\n width: 100%;\\n \"])));\n var container = css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral([\"\\n label: focus_flow_container;\\n height: 100%;\\n margin: 0 auto;\\n \"])));\n var content = css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral([\"\\n label: focus_flow_content;\\n overflow: auto;\\n height: 90vh;\\n position: relative;\\n border-radius: inherit;\\n \", \";\\n padding: \", \" 0;\\n margin: 0 auto;\\n width: \", \";\\n\\n @media screen and (max-width: \", \") {\\n width: 100%;\\n padding: \", \";\\n height: 84vh;\\n }\\n \"])), textBody(), sysSpaceLg, '36rem', headerWidth, sysSpaceLg);\n var header = css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral([\"\\n label: focus_flow_header;\\n width: 100%;\\n \"])));\n var headerContent = css(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral([\"\\n label: focus_flow_header_content;\\n display: flex;\\n justify-content: space-between;\\n align-items: center;\\n flex-wrap: wrap;\\n gap: \", \";\\n position: relative;\\n flex: 0 0 auto;\\n z-index: 1;\\n width: \", \";\\n margin: 0 auto;\\n padding: \", \" 0;\\n\\n @media screen and (max-width: \", \") {\\n width: 100%;\\n padding: \", \" \", \";\\n }\\n \"])), sysSpaceLg, headerWidth, sysSpaceSm, headerWidth, sysSpaceSm, sysSpaceLg);\n var headerAction = css(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral([\"\\n label: focus_flow_header_action;\\n flex: 0 0 \", \";\\n \"])), sysSizeIconLg);\n var headerTitle = css(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral([\"\\n label: focus_flow_header_title;\\n flex: 1 1 \", \";\\n margin: \", \" 0;\\n text-align: center;\\n \", \";\\n \"])), headerFlexBasis, sysSpaceSm, textBody());\n var headerClose = css(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral([\"\\n label: focus_flow_header_close;\\n flex: 0 0 \", \";\\n \"])), sysSizeIconLg);\n var headerLogo = css(_templateObject10 || (_templateObject10 = _taggedTemplateLiteral([\"\\n label: focus_flow_header_logo;\\n display: flex;\\n flex: 1 1 \", \";\\n justify-content: center;\\n margin-top: \", \";\\n width: \", \";\\n height: \", \";\\n \"])), headerFlexBasis, sysSpaceSm, sysSizeIconMd, sysSizeIconMd);\n var headerScrolled = css(_templateObject11 || (_templateObject11 = _taggedTemplateLiteral([\"\\n label: header_scrolled;\\n \", \"\\n \"])), elevationStyles.level3);\n return {\n base: base,\n content: content,\n container: container,\n header: header,\n headerContent: headerContent,\n headerAction: headerAction,\n headerClose: headerClose,\n headerLogo: headerLogo,\n headerTitle: headerTitle,\n headerScrolled: headerScrolled,\n wrapper: wrapper\n };\n}\nvar _excluded = [\"action\", \"children\", \"className\", \"closeButtonLabel\", \"closeButtonProps\", \"containerClassName\", \"contentContainerRef\", \"headerClassName\", \"id\", \"onClose\", \"showLogo\", \"title\"];\nvar FocusFlow = function (_ref) {\n var action = _ref.action,\n children = _ref.children,\n className = _ref.className,\n _ref$closeButtonLabel = _ref.closeButtonLabel,\n closeButtonLabel = _ref$closeButtonLabel === void 0 ? 'close' : _ref$closeButtonLabel,\n _ref$closeButtonProps = _ref.closeButtonProps,\n closeButtonProps = _ref$closeButtonProps === void 0 ? {} : _ref$closeButtonProps,\n containerClassName = _ref.containerClassName,\n contentContainerRef = _ref.contentContainerRef,\n headerClassName = _ref.headerClassName,\n id = _ref.id,\n onClose = _ref.onClose,\n showLogo = _ref.showLogo,\n title = _ref.title,\n rest = _objectWithoutProperties(_ref, _excluded);\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n headerScroll = _useState2[0],\n setHeaderScroll = _useState2[1];\n var closeButtonRef = useRef();\n var refContent = useRef();\n var contentRef = contentContainerRef || refContent;\n var actionZoneRef = useRef();\n var tokens = useTheme();\n var _styles = useMemo(function () {\n return styles(tokens);\n }, [tokens]);\n var idBase = id !== null && id !== void 0 ? id : uniqueId();\n var titleId = \"header_\".concat(idBase);\n var handleClick = function (evt) {\n if (onClose) {\n onClose(evt);\n }\n };\n /* istanbul ignore next */\n\n var handleScroll = function () {\n if (contentRef && contentRef.current) {\n var contents = contentRef.current;\n var newHeaderScroll = contents.scrollTop !== 0;\n if (newHeaderScroll !== headerScroll) {\n setHeaderScroll(newHeaderScroll);\n }\n }\n }; // Put focus on fist focusable item\n // istanbul ignore next\n\n var handleFocus = function () {\n var focused = false; // For Forms\n\n if (!focused && contentRef && contentRef.current) {\n //@ts-ignore\n var focusableEls = contentRef.current.querySelectorAll('a, button, textarea, input, select');\n if (focusableEls.length > 0) {\n focusableEls[0].focus();\n focused = true;\n }\n } // Otherwise focus on action item or close button\n\n if (!focused) {\n if (action && actionZoneRef && actionZoneRef.current) {\n //@ts-ignore\n var focusableActionEl = actionZoneRef.current.querySelectorAll('a, button, select');\n if (focusableActionEl.length > 0) {\n focusableActionEl[0].focus();\n }\n } else {\n var closeButton = closeButtonRef.current;\n if (closeButton) {\n //@ts-ignore\n closeButton.focus();\n }\n }\n }\n }; // check scroll and put focus\n\n useEffect(function () {\n handleScroll();\n handleFocus();\n }, []);\n var titleContentCss = [showLogo ? _styles.headerLogo : _styles.headerTitle];\n var closeButtonTag = jsx(IconButton, _extends({\n svgIconComponent: CloseIcon,\n onClick: function onClick(e) {\n return handleClick(e);\n },\n buttonType: \"tertiary\"\n }, closeButtonProps, {\n ref: closeButtonRef,\n \"data-ppui\": \"true\"\n }), closeButtonLabel);\n var titleContentZone = jsx(\"div\", {\n css: titleContentCss,\n id: titleId,\n \"data-ppui\": \"true\"\n }, function titleContents() {\n if (showLogo) {\n return jsx(\"img\", {\n src: \"https://www.paypalobjects.com/paypal-ui/logos/svg/paypal-mark-color.svg\",\n alt: \"paypal-logo\",\n \"data-ppui\": \"true\"\n });\n }\n return title;\n }());\n var closeButtonZone = jsx(\"div\", {\n css: [_styles.headerClose],\n \"data-ppui\": \"true\"\n }, closeButtonTag);\n var actionZone = action ? jsx(\"div\", {\n css: [_styles.headerAction],\n ref: actionZoneRef,\n \"data-ppui\": \"true\"\n }, action) : jsx(\"div\", {\n css: [_styles.headerAction],\n \"data-ppui\": \"true\"\n });\n var header = jsx(\"header\", {\n className: headerClassName,\n css: [_styles.header, /* istanbul ignore next */\n headerScroll && _styles.headerScrolled],\n \"data-ppui\": \"true\"\n }, jsx(\"div\", {\n css: [_styles.headerContent],\n \"data-ppui\": \"true\"\n }, actionZone, titleContentZone, closeButtonZone));\n return jsx(\"main\", {\n css: _styles.base,\n id: id,\n \"data-testid\": \"focusflow\",\n \"data-ppui-info\": \"focus-flow_2.1.4\",\n \"aria-live\": \"polite\",\n \"aria-label\": showLogo ? title : ''\n }, jsx(\"article\", _extends({\n css: [_styles.container],\n className: containerClassName\n }, rest, {\n \"aria-hidden\": \"false\",\n \"data-ppui\": \"true\"\n }), header, jsx(\"section\", {\n css: _styles.content,\n className: className,\n onScroll: handleScroll,\n ref: contentRef,\n \"data-ppui\": \"true\"\n }, children)));\n};\nexport { FocusFlow, styles as focusFlowStyles };","import \"core-js/modules/esnext.string.replace-all.js\";\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport _defineProperty from '@babel/runtime/helpers/esm/defineProperty';\nimport _slicedToArray from '@babel/runtime/helpers/esm/slicedToArray';\nimport _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';\nimport { forwardRef, useMemo, useRef, useState, useContext, useEffect } from 'react';\nimport { CurrencyInput } from '@paypalcorp/pp-react-currency-input';\nimport { IntlContext, getCurrencyMaskOptions } from '@paypalcorp/pp-react-intl';\nimport { IconButton } from '@paypalcorp/pp-react-icon-button';\nimport { EditIcon } from '@paypalcorp/pp-react-icons';\nimport { KeyboardCode } from '@paypalcorp/pp-react-utils';\nimport { css, keyframes, useTheme, jsx } from '@emotion/react';\nimport _taggedTemplateLiteral from '@babel/runtime/helpers/esm/taggedTemplateLiteral';\nimport { math } from 'polished';\nvar _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17, _templateObject18;\nfunction styles(tokens) {\n /* istanbul ignore next */\n if (!Object.keys(tokens).length) {\n console.warn('Missing Emotion theme. Use ThemeProvider from @emotion/react to pass a valid theme from pp-react.');\n return {};\n }\n var sysBorderThicknessEmphasis = tokens.sysBorderThicknessEmphasis,\n sysBorderThicknessNormal = tokens.sysBorderThicknessNormal,\n sysColorBackgroundHighContrast = tokens.sysColorBackgroundHighContrast,\n sysColorBackgroundMediumContrast = tokens.sysColorBackgroundMediumContrast,\n sysSpaceXs = tokens.sysSpaceXs,\n sysSpaceSm = tokens.sysSpaceSm,\n sysSizeIndicatorMd = tokens.sysSizeIndicatorMd,\n sysSizeFieldLg = tokens.sysSizeFieldLg,\n sysTypographyFieldLabelSmLineHeight = tokens.sysTypographyFieldLabelSmLineHeight;\n var scaleNormal = 44 / 64;\n var cursorPosition = css(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n position: absolute;\\n content: '';\\n top: \", \"; // (68-60)/2\\n bottom: \", \"; // (68-60)/2\\n border-right: \", \" solid;\\n border-right-color: transparent;\\n \"])), sysSpaceXs, sysSpaceXs, sysBorderThicknessEmphasis);\n var blinker = keyframes(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral([\"\\n 50% {\\n border-right-color: transparent;\\n }\\n \"])));\n var animateCursor = css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral([\"\\n border-right-color: \", \";\\n animation: \", \" 1s step-start infinite;\\n \"])), sysColorBackgroundHighContrast, blinker);\n var base = css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral([\"\\n label: base;\\n border-bottom: \", \" solid transparent;\\n \"])), sysBorderThicknessNormal);\n var centerAlign = css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral([\"\\n label: center_aligned;\\n text-align: center;\\n \"])));\n var baseNoFocus = css(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral([\"\\n &:hover [data-component='hero_currency--view'] {\\n scale: \", \";\\n }\\n \"])), 48 / 64);\n var errorTextSpacing = css(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral([\"\\n label: error_text_spacing;\\n margin-bottom: \", \";\\n \"])), math(\"\".concat(sysTypographyFieldLabelSmLineHeight, \" + \").concat(sysSizeIndicatorMd)));\n var view = css(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral([\"\\n label: view;\\n display: inline-flex; // scale doesn't work properly in rtl without inline-flex/inline-block. flex is needed for setting order.\\n font-size: \", \";\\n line-height: \", \"; // 4px more than font-size\\n transform-origin: left;\\n scale: \", \";\\n pointer-events: none;\\n transition: scale 200ms ease-in-out;\\n > span {\\n display: inline-block;\\n }\\n [dir='rtl'] & {\\n transform-origin: right;\\n }\\n \"])), sysSizeFieldLg, math(\"\".concat(sysSizeFieldLg, \" + \").concat(sysSpaceXs)), scaleNormal);\n var viewCenter = css(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral([\"\\n label: center_view;\\n transform-origin: center;\\n [dir='rtl'] & {\\n transform-origin: center;\\n }\\n \"])));\n var textInput = css(_templateObject10 || (_templateObject10 = _taggedTemplateLiteral([\"\\n label: text_input;\\n height: 0;\\n & > div:first-of-type {\\n opacity: 0;\\n }\\n \"])));\n var focusedView = css(_templateObject11 || (_templateObject11 = _taggedTemplateLiteral([\"\\n label: focused_view;\\n scale: \", \";\\n \"])), 64 / 64);\n var focusEntered = css(_templateObject12 || (_templateObject12 = _taggedTemplateLiteral([\"\\n &:after {\\n \", \";\\n }\\n [dir='rtl'] & {\\n &:before {\\n \", \";\\n }\\n }\\n \"])), animateCursor, animateCursor);\n var focusImplied = css(_templateObject13 || (_templateObject13 = _taggedTemplateLiteral([\"\\n label: focus_implied;\\n color: \", \";\\n font-weight: normal;\\n \"])), sysColorBackgroundMediumContrast);\n var focusImpliedDefault = css(_templateObject14 || (_templateObject14 = _taggedTemplateLiteral([\"\\n label: focus_implied_default;\\n color: \", \";\\n \"])), sysColorBackgroundHighContrast);\n var symbol = css(_templateObject15 || (_templateObject15 = _taggedTemplateLiteral([\"\\n label: symbol;\\n color: \", \";\\n [dir='rtl'] & {\\n order: 1;\\n }\\n \"])), sysColorBackgroundHighContrast);\n var entered = css(_templateObject16 || (_templateObject16 = _taggedTemplateLiteral([\"\\n label: entered;\\n color: \", \";\\n font-weight: normal;\\n position: relative;\\n &:after {\\n \", \";\\n }\\n [dir='rtl'] & {\\n order: 3;\\n direction: ltr;\\n &:after {\\n content: none;\\n }\\n &:before {\\n \", \";\\n }\\n }\\n \"])), sysColorBackgroundHighContrast, cursorPosition, cursorPosition);\n var impliedDefault = css(_templateObject17 || (_templateObject17 = _taggedTemplateLiteral([\"\\n label: implied_default;\\n color: \", \";\\n [dir='rtl'] & {\\n order: 2;\\n }\\n \"])), sysColorBackgroundHighContrast);\n var editIcon = css(_templateObject18 || (_templateObject18 = _taggedTemplateLiteral([\"\\n label: edit_icon;\\n margin-inline-start: \", \";\\n align-self: center;\\n pointer-events: auto;\\n scale: \", \";\\n transform-origin: left;\\n &:focus {\\n &:after {\\n box-shadow: none;\\n border: none;\\n }\\n }\\n [dir='rtl'] & {\\n transform-origin: right;\\n order: 4;\\n }\\n \"])), sysSpaceSm, 1 / scaleNormal);\n return {\n base: base,\n centerAlign: centerAlign,\n baseNoFocus: baseNoFocus,\n errorTextSpacing: errorTextSpacing,\n textInput: textInput,\n view: view,\n viewCenter: viewCenter,\n focusedView: focusedView,\n focusEntered: focusEntered,\n focusImplied: focusImplied,\n focusImpliedDefault: focusImpliedDefault,\n symbol: symbol,\n entered: entered,\n impliedDefault: impliedDefault,\n editIcon: editIcon\n };\n}\nvar _excluded = [\"name\", \"id\", \"maskOptions\", \"currencyType\", \"prefix\", \"onAccept\", \"onFocus\", \"onBlur\", \"onKeyDown\", \"value\", \"className\", \"inputClassName\", \"label\", \"showEditIcon\", \"align\"];\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}\nvar HeroCurrency = forwardRef(function (_ref, ref) {\n var _ref$name = _ref.name,\n name = _ref$name === void 0 ? 'heroCurrency' : _ref$name,\n _ref$id = _ref.id,\n id = _ref$id === void 0 ? name : _ref$id,\n maskOptions = _ref.maskOptions,\n currencyType = _ref.currencyType,\n prefix = _ref.prefix,\n onAccept = _ref.onAccept,\n _ref$onFocus = _ref.onFocus,\n onFocus = _ref$onFocus === void 0 ? null : _ref$onFocus,\n _ref$onBlur = _ref.onBlur,\n onBlur = _ref$onBlur === void 0 ? null : _ref$onBlur,\n _ref$onKeyDown = _ref.onKeyDown,\n onKeyDown = _ref$onKeyDown === void 0 ? null : _ref$onKeyDown,\n _ref$value = _ref.value,\n value = _ref$value === void 0 ? '' : _ref$value,\n className = _ref.className,\n inputClassName = _ref.inputClassName,\n _ref$label = _ref.label,\n label = _ref$label === void 0 ? 'Enter amount' : _ref$label,\n showEditIcon = _ref.showEditIcon,\n _ref$align = _ref.align,\n align = _ref$align === void 0 ? 'left' : _ref$align,\n rest = _objectWithoutProperties(_ref, _excluded);\n\n /* istanbul ignore next */\n if (!onAccept) {\n onAccept = function () {\n return console.warn('Required prop `onAccept` is missing');\n };\n } // If theme is not directly provided, get from themeContext\n\n var tokens = useTheme();\n var _styles = useMemo(function () {\n return styles(tokens);\n }, [tokens]);\n var internalRef = useRef();\n var _useState = useState(''),\n _useState2 = _slicedToArray(_useState, 2),\n entered = _useState2[0],\n setEntered = _useState2[1];\n var _useState3 = useState(''),\n _useState4 = _slicedToArray(_useState3, 2),\n implied = _useState4[0],\n setImplied = _useState4[1];\n var computedRef = ref || internalRef;\n var intlContext = useContext(IntlContext);\n var currencyParts = useMemo(function () {\n return getCurrencyMaskOptions(intlContext, maskOptions, currencyType);\n }, [intlContext, maskOptions, currencyType]);\n var currencyMaskOptions = currencyParts.currencyMaskOptions,\n intlCurrencyPrefix = currencyParts.intlCurrencyPrefix,\n intlCurrencySuffix = currencyParts.intlCurrencySuffix;\n function handleChange() {\n setTimeout(function () {\n if (computedRef === null || computedRef === void 0 ? void 0 : computedRef.current) {\n var result = parseDisplay(computedRef.current.value, currencyMaskOptions.radix, currencyMaskOptions.scale);\n setEntered(result.entered);\n setImplied(result.implied);\n }\n }, 0);\n }\n useEffect(function () {\n handleChange();\n }, [value]);\n var currencySymbol = prefix || intlCurrencyPrefix || intlCurrencySuffix || '$';\n var _useState5 = useState(false),\n _useState6 = _slicedToArray(_useState5, 2),\n inputFocused = _useState6[0],\n setInputFocus = _useState6[1];\n var containerCss = [_styles.base, align === 'center' && _styles.centerAlign, !inputFocused && _styles.baseNoFocus, (rest.errorText || rest.helperText || rest.successText) && _styles.errorTextSpacing];\n var viewCss = [_styles.view, inputFocused && _styles.focusedView, align === 'center' && _styles.viewCenter];\n var enteredCss = [_styles.entered, inputFocused && _styles.focusEntered];\n var impliedCss = [_styles.impliedDefault, inputFocused && _styles.focusImplied, inputFocused && value === '' && _styles.focusImpliedDefault];\n /* istanbul ignore next */\n\n function parseDisplay(str) {\n var decimal = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '.';\n var scale = arguments.length > 2 ? arguments[2] : undefined;\n if (!str || str === '') {\n return {\n entered: '',\n implied: inputFocused ? '' : '0'\n };\n } else if (str && str[0] === decimal) {\n // If first char is decimal then prepend '0'\n str = '0' + str;\n }\n var parts = str.split(decimal);\n return {\n entered: str,\n implied: parts.length > 1 ? new Array(scale + 1).join('0').substring(parts[1].length, scale) : ''\n };\n }\n var handleBlur = function (event) {\n setInputFocus(false);\n /* istanbul ignore if */\n\n if (entered !== '') {\n var computedUnmaskedValue = entered.replaceAll(currencyMaskOptions.thousandsSeparator, '').replace(currencyMaskOptions.radix, '.');\n onAccept(entered + implied, computedUnmaskedValue + implied, +(computedUnmaskedValue + implied));\n }\n if (onBlur) {\n onBlur(event);\n }\n };\n var options = _objectSpread(_objectSpread({}, currencyMaskOptions), {}, {\n normalizeZeros: false,\n padFractionalZeros: false\n });\n /* istanbul ignore next */\n\n var inputMode = (currencyMaskOptions === null || currencyMaskOptions === void 0 ? void 0 : currencyMaskOptions.scale) === 0 ? 'numeric' : 'decimal';\n var inputCss = [_styles.textInput];\n return jsx(\"div\", {\n className: className,\n css: containerCss,\n id: id,\n \"data-ppui-info\": \"hero-currency_2.4.4\"\n }, jsx(CurrencyInput, _extends({\n name: name,\n label: label,\n inputMode: inputMode,\n value: value,\n maskOptions: options,\n inputClassName: inputClassName,\n css: inputCss,\n onFocus: function handleFocus(event) {\n setInputFocus(true);\n var target = event.target;\n var val = target.value;\n /* istanbul ignore next */\n\n if (val) {\n // move the cursor to end for cases when user clicks on the middle of hidden input\n // setTimeout is necessary unfortunately\n setTimeout(function () {\n return target.setSelectionRange(val.length, val.length);\n }, 100);\n }\n if (onFocus) {\n onFocus(event);\n }\n },\n onBlur: handleBlur,\n onAccept: onAccept,\n onKeyDown: function handleKeys(event) {\n /* istanbul ignore next */\n var KeyCode = new KeyboardCode(event.key || event.keyCode);\n if (KeyCode.IS_SIDE_NAVIGATION) {\n event.preventDefault();\n event.stopPropagation();\n }\n if (onKeyDown) {\n onKeyDown(event);\n }\n },\n onInput: handleChange,\n prefix: currencySymbol,\n autoComplete: \"off\",\n ref: computedRef\n }, rest, {\n \"data-ppui\": \"true\"\n })), jsx(\"div\", {\n \"data-component\": \"hero_currency--view\",\n css: viewCss,\n \"aria-hidden\": \"true\",\n \"data-ppui\": \"true\"\n }, jsx(\"span\", {\n css: [_styles.symbol],\n \"data-ppui\": \"true\"\n }, currencySymbol), jsx(\"span\", {\n css: enteredCss,\n \"data-ppui\": \"true\"\n }, entered), jsx(\"span\", {\n css: impliedCss,\n \"data-ppui\": \"true\"\n }, implied), !inputFocused && showEditIcon && value && jsx(IconButton, {\n buttonType: \"tertiary\",\n svgIconComponent: EditIcon,\n css: _styles.editIcon,\n onClick: function focusViaButton() {\n /* istanbul ignore next */\n if (computedRef === null || computedRef === void 0 ? void 0 : computedRef.current) {\n computedRef.current.focus();\n }\n },\n tabindex: \"-1\",\n \"data-ppui\": \"true\"\n })));\n});\nexport { HeroCurrency, styles as heroCurrencyStyles };","import _extends from '@babel/runtime/helpers/esm/extends';\nimport _defineProperty from '@babel/runtime/helpers/esm/defineProperty';\nimport _slicedToArray from '@babel/runtime/helpers/esm/slicedToArray';\nimport _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';\nimport { useMemo, useRef, useEffect, forwardRef, useState, useLayoutEffect } from 'react';\nimport { IconButton } from '@paypalcorp/pp-react-icon-button';\nimport { ArrowRightIcon, ArrowLeftIcon } from '@paypalcorp/pp-react-icons';\nimport _taggedTemplateLiteral from '@babel/runtime/helpers/esm/taggedTemplateLiteral';\nimport { utilStyles } from '@paypalcorp/pp-react-utils';\nimport { css, useTheme, jsx } from '@emotion/react';\nimport { stripUnit, remToPx, math } from 'polished';\nvar _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16;\nfunction styles(tokens) {\n /* istanbul ignore next */\n if (!Object.keys(tokens).length) {\n console.warn('Missing Emotion theme. Use ThemeProvider from @emotion/react to pass a valid theme from pp-react.');\n return {};\n }\n var sysSizeMediaMd = tokens.sysSizeMediaMd,\n sysSpaceLg = tokens.sysSpaceLg,\n sysSpaceMd = tokens.sysSpaceMd,\n sysSpaceSm = tokens.sysSpaceSm,\n sysSizeIndicatorLg = tokens.sysSizeIndicatorLg,\n sysColorUnselectedMain = tokens.sysColorUnselectedMain,\n sysColorSelectedMain = tokens.sysColorSelectedMain,\n sysBorderRadiusInteractive = tokens.sysBorderRadiusInteractive;\n var peekWidth = Number(stripUnit(remToPx(sysSpaceLg)));\n var mobileItemMargin = Number(stripUnit(remToPx(sysSpaceMd)));\n var itemMargin = Number(stripUnit(remToPx(sysSpaceLg)));\n var _utilStyles = utilStyles(tokens),\n elevationStyles = _utilStyles.elevationStyles,\n variables = _utilStyles.variables;\n var ppuiEaseInOut = variables.ppuiEaseInOut;\n var base = css(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n label: horizontal_scroll_base;\\n position: relative;\\n\\n &:hover {\\n & > div:nth-of-type(2n), // on hover show the navigation buttons\\n & > div:nth-of-type(3n) {\\n opacity: 1;\\n }\\n }\\n \"])));\n var itemList = css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral([\"\\n label: item_list;\\n display: flex;\\n flex-direction: row;\\n list-style: none;\\n margin: 0;\\n overflow-y: -moz-hidden-unscrollable;\\n overflow-x: auto;\\n padding: \", \" 0;\\n\\n & > * {\\n flex: 0 0 auto;\\n }\\n \"])), sysSpaceLg);\n var item = css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral([\"\\n label: item;\\n margin: 0 \", \"px;\\n\\n @media (max-width: \", \") {\\n margin: 0 \", \"px;\\n }\\n \"])), math(\"\".concat(itemMargin, \" / 2\")), sysSizeMediaMd, math(\"\".concat(mobileItemMargin, \" / 2\")));\n var buttonNavigation = css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral([\"\\n label: button_nav;\\n position: absolute;\\n top: 0;\\n display: flex;\\n align-items: center;\\n height: calc(100% - \", \" - \", \");\\n opacity: 0;\\n transition: opacity 0.3s ease-in-out;\\n pointer-events: none;\\n\\n button {\\n pointer-events: all;\\n \", \"\\n\\n &:focus:after {\\n display: none;\\n }\\n\\n &:hover {\\n \", \"\\n }\\n }\\n \"])), sysSizeIndicatorLg, sysSpaceLg, elevationStyles.level1, elevationStyles.level3);\n var buttonPrevious = css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral([\"\\n \", \";\\n label: buton_previous;\\n left: \", \";\\n\\n [dir='rtl'] & {\\n left: unset;\\n right: \", \";\\n }\\n \"])), buttonNavigation, sysSpaceLg, sysSpaceLg);\n var buttonNext = css(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral([\"\\n \", \";\\n label: button_next;\\n right: \", \";\\n\\n [dir='rtl'] & {\\n left: \", \";\\n right: unset;\\n }\\n \"])), buttonNavigation, sysSpaceLg, sysSpaceLg);\n var itemListDesktop = css(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral([\"\\n label: item_list_desktop;\\n overflow-x: visible;\\n \"])));\n var pageContainer = css(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral([\"\\n label: page_container;\\n overflow-x: hidden;\\n \"])));\n var page = css(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral([\"\\n label: page;\\n position: relative;\\n left: 0;\\n transition: left 1s \", \";\\n\\n [dir='rtl'] & {\\n right: 0;\\n left: unset;\\n transition: right 1s ease-in-out;\\n }\\n \"])), ppuiEaseInOut);\n var dots = css(_templateObject10 || (_templateObject10 = _taggedTemplateLiteral([\"\\n label: dots;\\n padding-bottom: \", \";\\n text-align: center;\\n line-height: \", \";\\n \"])), sysSpaceLg, sysSizeIndicatorLg);\n var dot = css(_templateObject11 || (_templateObject11 = _taggedTemplateLiteral([\"\\n label: dot;\\n margin: 0 \", \";\\n height: \", \";\\n width: \", \";\\n border-radius: \", \";\\n background-color: \", \";\\n display: inline-block;\\n \"])), sysSpaceSm, sysSizeIndicatorLg, sysSizeIndicatorLg, sysBorderRadiusInteractive, sysColorUnselectedMain);\n var dotSelected = css(_templateObject12 || (_templateObject12 = _taggedTemplateLiteral([\"\\n label: dot_selected;\\n background-color: \", \";\\n \"])), sysColorSelectedMain);\n /**\n * Get styles for each item in the item list\n * @param props ItemListProps\n * @returns SerializedStyles\n */\n\n var getFlexBasisItems = function (props) {\n var isMobileBreakpoint = props.isMobileBreakpoint,\n numOfVisibleItems = props.numOfVisibleItems,\n hasFixedSizeItems = props.hasFixedSizeItems;\n if (hasFixedSizeItems) {\n return css(_templateObject13 || (_templateObject13 = _taggedTemplateLiteral([\"\\n label: fixed_size;\\n flex-basis: auto;\\n \"])));\n }\n if (isMobileBreakpoint) {\n return css(_templateObject14 || (_templateObject14 = _taggedTemplateLiteral([\"\\n label: mobile;\\n flex-basis: calc(\\n calc(100% - \", \"px) / \", \" -\\n \", \"px\\n );\\n \"])), peekWidth + mobileItemMargin / 2, numOfVisibleItems, mobileItemMargin);\n }\n return css(_templateObject15 || (_templateObject15 = _taggedTemplateLiteral([\"\\n label: desktop;\\n flex-basis: calc(100% / \", \" - \", \"px);\\n \"])), numOfVisibleItems, itemMargin);\n };\n var getContainerWidth = function (pageWidth) {\n var hasFixedSizeItems = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n return hasFixedSizeItems && css(_templateObject16 || (_templateObject16 = _taggedTemplateLiteral([\"\\n width: \", \"px;\\n \"])), pageWidth);\n };\n return {\n base: base,\n itemList: itemList,\n item: item,\n buttonPrevious: buttonPrevious,\n buttonNext: buttonNext,\n itemListDesktop: itemListDesktop,\n pageContainer: pageContainer,\n page: page,\n dots: dots,\n dot: dot,\n dotSelected: dotSelected,\n getFlexBasisItems: getFlexBasisItems,\n getContainerWidth: getContainerWidth,\n peekWidth: peekWidth,\n mobileItemMargin: mobileItemMargin,\n itemMargin: itemMargin\n };\n}\nvar _excluded = [\"items\", \"numOfVisibleItems\", \"renderItem\", \"className\", \"itemClassName\", \"hasFixedSizeItems\", \"onItemListScroll\", \"onInit\"];\nfunction _createForOfIteratorHelper(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n if (!it) {\n if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n var F = function F() {};\n return {\n s: F,\n n: function n() {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function e(_e) {\n throw _e;\n },\n f: F\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 var normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function s() {\n it = it.call(o);\n },\n n: function n() {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function e(_e2) {\n didErr = true;\n err = _e2;\n },\n f: function f() {\n try {\n if (!normalCompletion && it.return != null) it.return();\n } finally {\n if (didErr) throw err;\n }\n }\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}\nfunction _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++) {\n arr2[i] = arr[i];\n }\n return arr2;\n}\nvar HorizontalScrollMobile = function (_ref) {\n var _ref$items = _ref.items,\n items = _ref$items === void 0 ? [] : _ref$items,\n numOfVisibleItems = _ref.numOfVisibleItems,\n renderItem = _ref.renderItem,\n className = _ref.className,\n itemClassName = _ref.itemClassName,\n hasFixedSizeItems = _ref.hasFixedSizeItems,\n onItemListScroll = _ref.onItemListScroll,\n onInit = _ref.onInit,\n rest = _objectWithoutProperties(_ref, _excluded);\n\n /* istanbul ignore next */\n if (!renderItem) {\n renderItem = function () {\n return null;\n };\n }\n var tokens = useTheme();\n var _styles = useMemo(function () {\n return styles(tokens);\n }, [tokens]);\n var baseRef = useRef();\n var itemListRef = useRef();\n var visibleItemIdsRef = useRef([]);\n var handleResize = function () {\n if (hasFixedSizeItems) {\n var baseElm = baseRef.current;\n var item = baseElm.querySelector('li:first-child');\n var itemWidth = item.getBoundingClientRect().width;\n var baseElmWidth = baseElm.getBoundingClientRect().width;\n var peekOffset = _styles.peekWidth + _styles.mobileItemMargin / 2;\n var pageWidth = (itemWidth + _styles.mobileItemMargin) * numOfVisibleItems + peekOffset;\n /* istanbul ignore next */\n\n if (pageWidth < baseElmWidth) {\n baseElm.style.width = \"\".concat(pageWidth, \"px\");\n }\n }\n };\n /* istanbul ignore next */\n\n useEffect(function () {\n var resizeObserver;\n if (window.ResizeObserver) {\n var item = baseRef.current.querySelector('li:first-child');\n if (hasFixedSizeItems) {\n resizeObserver = new ResizeObserver(function () {\n handleResize();\n });\n resizeObserver.observe(item);\n }\n }\n return function () {\n if (resizeObserver) {\n resizeObserver.disconnect();\n }\n };\n }, []);\n /* istanbul ignore next */\n\n useEffect(function () {\n var itemObserver;\n handleResize();\n visibleItemIdsRef.current = [];\n if (window.IntersectionObserver) {\n var itemList = itemListRef.current;\n itemObserver = new IntersectionObserver(function (entries) {\n if (!visibleItemIdsRef.current.length) {\n var _iterator = _createForOfIteratorHelper(entries),\n _step;\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var entry = _step.value;\n if (entry.isIntersecting) {\n var id = entry.target.getAttribute('data-item-id');\n visibleItemIdsRef.current.push(id);\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n if (onInit) {\n onInit(visibleItemIdsRef.current);\n }\n } else {\n var _iterator2 = _createForOfIteratorHelper(entries),\n _step2;\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var _entry = _step2.value;\n if (_entry.isIntersecting) {\n var _id = _entry.target.getAttribute('data-item-id');\n if (onItemListScroll) {\n onItemListScroll(_id);\n }\n }\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n }\n }, {\n root: baseRef.current,\n threshold: 1\n });\n var itemElms = itemList.querySelectorAll('li');\n itemElms.forEach(function (item) {\n return itemObserver.observe(item);\n });\n }\n return function () {\n if (itemObserver) {\n itemObserver.disconnect();\n }\n };\n }, [numOfVisibleItems, hasFixedSizeItems]);\n return jsx(\"div\", _extends({\n css: _styles.base,\n className: className,\n ref: baseRef,\n \"data-ppui-info\": \"horizontal-scroll_2.3.10\"\n }, rest), jsx(ItemList, {\n items: items,\n hasFixedSizeItems: hasFixedSizeItems,\n isMobileBreakpoint: true,\n numOfVisibleItems: numOfVisibleItems,\n renderItem: renderItem,\n itemClassName: itemClassName,\n ref: itemListRef,\n \"data-ppui\": \"true\"\n }));\n};\nvar _excluded$1 = [\"items\", \"hasFixedSizeItems\", \"isMobileBreakpoint\", \"itemClassName\", \"numOfVisibleItems\", \"renderItem\"],\n _excluded2 = [\"currentPage\", \"prevPageLabel\", \"nextPageLabel\", \"onPageChange\"],\n _excluded3 = [\"onItemListScroll\", \"onInit\"];\nvar ItemList = forwardRef(function (props, ref) {\n var items = props.items,\n hasFixedSizeItems = props.hasFixedSizeItems,\n isMobileBreakpoint = props.isMobileBreakpoint,\n itemClassName = props.itemClassName,\n numOfVisibleItems = props.numOfVisibleItems,\n renderItem = props.renderItem,\n rest = _objectWithoutProperties(props, _excluded$1);\n var tokens = useTheme();\n var _styles = useMemo(function () {\n return styles(tokens);\n }, [tokens]);\n /* istanbul ignore next */\n\n var handleFocus = function (evt) {\n evt.target.scrollIntoView({\n block: 'nearest'\n });\n };\n var itemElements = items.map(function (item, index) {\n var _styles$getFlexBasisI;\n var flexBasisStyles = (_styles$getFlexBasisI = _styles.getFlexBasisItems) === null || _styles$getFlexBasisI === void 0 ? void 0 : _styles$getFlexBasisI.call(_styles, props);\n return jsx(\"li\", {\n \"aria-label\": \"\".concat(index + 1, \"-\").concat(items.length),\n key: item.id,\n \"data-item-id\": item.id,\n css: [_styles.item, flexBasisStyles],\n className: itemClassName,\n \"data-ppui\": \"true\"\n }, renderItem(item, {\n tabIndex: '0',\n role: 'button',\n onFocus: handleFocus\n }));\n });\n return jsx(\"ul\", _extends({\n css: _styles.itemList,\n ref: ref\n }, rest, {\n \"data-ppui\": \"true\"\n }), itemElements);\n});\nvar HorizontalScroll = function (props) {\n /* istanbul ignore next */\n if (!props.items) {\n console.log('Required prop `items` is missing');\n }\n /* istanbul ignore next */\n\n if (!props.renderItem) {\n console.log('Required prop `renderItem` is missing');\n }\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n showMobileHScroll = _useState2[0],\n setShowMobileHScroll = _useState2[1];\n var _useEmotionTheme = useTheme(),\n sysSizeMediaMd = _useEmotionTheme.sysSizeMediaMd;\n var mdBreakpoint = Number(stripUnit(remToPx(sysSizeMediaMd)));\n /* istanbul ignore next */\n\n useEffect(function () {\n var mql = window.matchMedia && window.matchMedia('(hover: hover) and (pointer: fine)');\n var hasHover = mql && mql.matches;\n setShowMobileHScroll(window.innerWidth < mdBreakpoint || window.matchMedia && !hasHover);\n }, []);\n if (showMobileHScroll) {\n var currentPage = props.currentPage,\n prevPageLabel = props.prevPageLabel,\n nextPageLabel = props.nextPageLabel,\n onPageChange = props.onPageChange,\n _rest = _objectWithoutProperties(props, _excluded2);\n return jsx(HorizontalScrollMobile, _extends({}, _rest, {\n \"data-ppui\": \"true\"\n }));\n }\n var onItemListScroll = props.onItemListScroll,\n onInit = props.onInit,\n rest = _objectWithoutProperties(props, _excluded3);\n return jsx(HorizontalScrollDesktop, _extends({}, rest, {\n autoAdvance: props.autoAdvance,\n advanceInterval: props.advanceInterval,\n \"data-ppui\": \"true\"\n }));\n};\nvar _excluded$2 = [\"items\", \"numOfVisibleItems\", \"renderItem\", \"className\", \"itemClassName\", \"prevButtonClassName\", \"nextButtonClassName\", \"prevPageLabel\", \"nextPageLabel\", \"currentPage\", \"hasFixedSizeItems\", \"autoAdvance\", \"advanceInterval\", \"onPageChange\", \"style\"];\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}\nvar Dots = function (_ref) {\n var numOfPages = _ref.numOfPages,\n currentPage = _ref.currentPage;\n var tokens = useTheme();\n var _styles = useMemo(function () {\n return styles(tokens);\n }, [tokens]);\n var dotElements = [];\n for (var i = 1; i <= numOfPages; i++) {\n var dotStyles = [_styles.dot, currentPage === i && _styles.dotSelected];\n dotElements.push(jsx(\"div\", {\n key: i,\n css: dotStyles,\n \"data-ppui\": \"true\"\n }));\n }\n return jsx(\"div\", {\n css: _styles.dots,\n \"aria-hidden\": true,\n \"data-ppui\": \"true\"\n }, dotElements);\n};\n/*\n * Turns out that using setInterval() in react with hooks is awkward.\n * This method I lifted from Dan Abramov makes it easy to use in a\n * react hook-ish way.\n * Pass in a callback and a delay in ms or null to turn it off\n * --love, BCC\n */\n\n/* istanbul ignore next */\n\nfunction useInterval(callback, delay) {\n var savedCallback = useRef(); // Remember the latest function.\n\n useLayoutEffect(function () {\n savedCallback.current = callback;\n }, [callback]); // Set up the interval.\n\n useLayoutEffect(function () {\n function tick() {\n savedCallback.current();\n }\n if (delay !== null) {\n var id = setInterval(tick, delay);\n return function () {\n clearInterval(id);\n };\n }\n return undefined;\n }, [delay]);\n}\n/* (from the Jira spec)\n Auto-advance activates on a new page load.\n It will advance every 4 seconds by default, but the caller can specify a different timing.\n It will stop if the user scrolls the horizontal scroll out of view, interacts with cards, or clicks a button.\n It will also stop after 1 full cycle.\n */\n\nvar HorizontalScrollDesktop = function (_ref2) {\n var _styles$getContainerW, _styles$getContainerW2;\n var _ref2$items = _ref2.items,\n items = _ref2$items === void 0 ? [] : _ref2$items,\n _ref2$numOfVisibleIte = _ref2.numOfVisibleItems,\n numOfVisibleItems = _ref2$numOfVisibleIte === void 0 ? 1 : _ref2$numOfVisibleIte,\n renderItem = _ref2.renderItem,\n className = _ref2.className,\n itemClassName = _ref2.itemClassName,\n prevButtonClassName = _ref2.prevButtonClassName,\n nextButtonClassName = _ref2.nextButtonClassName,\n _ref2$prevPageLabel = _ref2.prevPageLabel,\n prevPageLabel = _ref2$prevPageLabel === void 0 ? 'Scroll left' : _ref2$prevPageLabel,\n _ref2$nextPageLabel = _ref2.nextPageLabel,\n nextPageLabel = _ref2$nextPageLabel === void 0 ? 'Scroll right' : _ref2$nextPageLabel,\n _ref2$currentPage = _ref2.currentPage,\n currentPage = _ref2$currentPage === void 0 ? 1 : _ref2$currentPage,\n hasFixedSizeItems = _ref2.hasFixedSizeItems,\n _ref2$autoAdvance = _ref2.autoAdvance,\n autoAdvance = _ref2$autoAdvance === void 0 ? false : _ref2$autoAdvance,\n _ref2$advanceInterval = _ref2.advanceInterval,\n advanceInterval = _ref2$advanceInterval === void 0 ? 4000 : _ref2$advanceInterval,\n onPageChange = _ref2.onPageChange,\n style = _ref2.style,\n rest = _objectWithoutProperties(_ref2, _excluded$2);\n\n /* istanbul ignore next */\n if (!renderItem) {\n renderItem = function () {\n return null;\n };\n }\n var tokens = useTheme();\n var _styles = useMemo(function () {\n return styles(tokens);\n }, [tokens]);\n var baseRef = useRef(null);\n var scrollPanel = useRef(null);\n var pageContainerRef = useRef();\n var itemListRef = useRef();\n var _useState = useState(Math.ceil(items.length / numOfVisibleItems)),\n _useState2 = _slicedToArray(_useState, 2),\n numOfPages = _useState2[0],\n setNumOfPages = _useState2[1];\n var _useState3 = useState(false),\n _useState4 = _slicedToArray(_useState3, 2),\n isAutoAdvance = _useState4[0],\n setIsAutoAdvance = _useState4[1];\n var _useState5 = useState(false),\n _useState6 = _slicedToArray(_useState5, 2),\n isRTL = _useState6[0],\n setRTL = _useState6[1];\n var _useState7 = useState(0),\n _useState8 = _slicedToArray(_useState7, 2),\n pageWidth = _useState8[0],\n setPageWidth = _useState8[1];\n var viewObserver = useRef(null);\n var hasBeenVisibleRef = useRef(false);\n var autoAdvanceComplete = useRef(false);\n /* istanbul ignore next */\n\n var handleResize = function () {\n var pageContainer = pageContainerRef.current;\n if (pageContainer) {\n if (hasFixedSizeItems) {\n var item = pageContainer.querySelector('li:first-child');\n var itemWidth = item.getBoundingClientRect().width;\n var newNumOfPages = Math.ceil(items.length / numOfVisibleItems);\n setPageWidth((itemWidth + _styles.itemMargin) * numOfVisibleItems);\n setNumOfPages(newNumOfPages);\n if (currentPage > newNumOfPages) {\n onPageChange(newNumOfPages);\n }\n } else {\n var itemList = itemListRef.current; // scrollwidth always returns a whole value, getBoundingClientRect().width sometimes returns value comparing\n // pageContainerWidth with scrollWidth when the width causes an overflow resulting in adding and extra page.\n // e.g. scrollWidth = 1201, vs pageContainerWidth = 1200.092\n\n var itemListScrollWidth = itemList === null || itemList === void 0 ? void 0 : itemList.scrollWidth;\n var pageContainerWidth = Math.ceil(pageContainer.getBoundingClientRect().width);\n if (itemListScrollWidth && pageContainerWidth) {\n var _newNumOfPages = Math.ceil(itemListScrollWidth / pageContainerWidth);\n setNumOfPages(_newNumOfPages);\n if (currentPage > _newNumOfPages) {\n onPageChange(_newNumOfPages);\n }\n }\n setPageWidth(pageContainerWidth);\n }\n }\n };\n /* istanbul ignore next */\n\n /* istanbul ignore next */\n var stopAutoAdvance = function () {\n setIsAutoAdvance(false);\n autoAdvanceComplete.current = true; // eslint-disable-next-line no-unused-expressions\n\n viewObserver && viewObserver.current && viewObserver.current.disconnect();\n };\n /* istanbul ignore next */\n\n /* istanbul ignore next */\n var handleIntersection = function (entries) {\n var _entries = _slicedToArray(entries, 1),\n entry = _entries[0]; // No intersection between hscroll & viewport?\n // ...then we've scrolled off screen - stop auto advance\n\n if (!entry.isIntersecting) {\n if (hasBeenVisibleRef.current) {\n stopAutoAdvance();\n }\n } else if (autoAdvance && !hasBeenVisibleRef.current) {\n setIsAutoAdvance(!autoAdvanceComplete.current);\n hasBeenVisibleRef.current = true;\n }\n };\n /* istanbul ignore next */\n\n useEffect(function () {\n var computedStyle = window.getComputedStyle(baseRef.current);\n setRTL(computedStyle && computedStyle.direction === 'rtl');\n var resizeObserver;\n if (window.ResizeObserver && baseRef.current) {\n var item = baseRef.current.querySelector('li:first-child');\n resizeObserver = new ResizeObserver(function () {\n handleResize();\n });\n resizeObserver.observe(hasFixedSizeItems ? item : pageContainerRef.current);\n }\n return function () {\n if (resizeObserver) {\n resizeObserver.disconnect();\n }\n };\n }, []);\n useEffect(function () {\n /* istanbul ignore next */\n if (items.length && numOfVisibleItems) {\n window.requestAnimationFrame(handleResize);\n }\n }, [numOfVisibleItems, hasFixedSizeItems, items]);\n useEffect(function () {\n /* istanbul ignore next */\n setIsAutoAdvance(autoAdvance && hasBeenVisibleRef.current && !autoAdvanceComplete.current);\n }, [autoAdvance, hasBeenVisibleRef.current]);\n /* istanbul ignore next */\n\n useInterval(function handleAutoAdvance() {\n var nextPage = currentPage + 1;\n if (currentPage >= numOfPages) {\n // Have we reached the last page?\n stopAutoAdvance(); // We're done with auto advance\n\n var panel = scrollPanel.current;\n panel.style.transition = '0s linear';\n panel.style.left = '0px';\n setTimeout(function () {\n panel.style.transition = '';\n }, 100);\n nextPage = 1; // Go back to first page\n }\n\n onPageChange(nextPage);\n }, isAutoAdvance ? advanceInterval : null);\n useLayoutEffect(function () {\n /* istanbul ignore next */\n if (window && window.IntersectionObserver) {\n var hscroll = baseRef.current;\n if (autoAdvance && !autoAdvanceComplete.current) {\n viewObserver.current = new window.IntersectionObserver(handleIntersection);\n viewObserver.current.observe(hscroll);\n }\n }\n }, [autoAdvance, autoAdvanceComplete.current]);\n /* istanbul ignore next */\n\n useEffect(function () {\n if (!window.IntersectionObserver) {\n return undefined;\n }\n var hscroll = baseRef.current;\n var stopObserving = function () {\n if (viewObserver && viewObserver.current) {\n viewObserver.current.unobserve(hscroll);\n }\n };\n if (autoAdvance) {\n viewObserver.current.observe(hscroll);\n } else {\n stopObserving();\n }\n return stopObserving;\n }, [baseRef, autoAdvance]);\n /* istanbul ignore next */\n\n var renderPreviousButton = currentPage > 1 ? jsx(\"div\", {\n css: _styles.buttonPrevious,\n \"data-ppui\": \"true\"\n }, jsx(IconButton, {\n buttonType: \"secondary\",\n inverse: true,\n svgIconComponent: isRTL ? ArrowRightIcon : ArrowLeftIcon,\n tabIndex: -1,\n \"aria-hidden\": true,\n onClick: function handlePrevClick() {\n onPageChange(currentPage - 1);\n setIsAutoAdvance(false);\n },\n onMouseDown: function onMouseDown(evt) {\n return evt.preventDefault();\n },\n className: prevButtonClassName,\n \"data-ppui\": \"true\"\n }, prevPageLabel)) : null;\n /* istanbul ignore next */\n\n var renderNextButton = currentPage < numOfPages ? jsx(\"div\", {\n css: _styles.buttonNext,\n \"data-ppui\": \"true\"\n }, jsx(IconButton, {\n buttonType: \"secondary\",\n inverse: true,\n svgIconComponent: isRTL ? ArrowLeftIcon : ArrowRightIcon,\n tabIndex: -1,\n \"aria-hidden\": true,\n onClick: function handleNextClick() {\n onPageChange(currentPage + 1);\n setIsAutoAdvance(false);\n },\n onMouseDown: function onMouseDown(evt) {\n return evt.preventDefault();\n },\n className: nextButtonClassName,\n \"data-ppui\": \"true\"\n }, nextPageLabel)) : null;\n /* istanbul ignore next */\n\n var renderDots = numOfPages > 1 ? jsx(Dots, {\n numOfPages: numOfPages,\n currentPage: currentPage,\n \"data-ppui\": \"true\"\n }) : null;\n var pageOffset = -pageWidth * (currentPage - 1);\n /* istanbul ignore next */\n\n var pageStyle = isRTL ? {\n right: pageOffset\n } : {\n left: pageOffset\n };\n return jsx(\"div\", _extends({\n css: [_styles.base, (_styles$getContainerW = _styles.getContainerWidth) === null || _styles$getContainerW === void 0 ? void 0 : _styles$getContainerW.call(_styles, pageWidth, hasFixedSizeItems)],\n className: className,\n ref: baseRef,\n onFocus: autoAdvance ? function handleFocus() {\n setIsAutoAdvance(false);\n } : null,\n style: _objectSpread({}, style),\n \"data-ppui-info\": \"horizontal-scroll_2.3.10\"\n }, rest), jsx(\"div\", {\n css: [_styles.pageContainer, (_styles$getContainerW2 = _styles.getContainerWidth) === null || _styles$getContainerW2 === void 0 ? void 0 : _styles$getContainerW2.call(_styles, pageWidth, hasFixedSizeItems)],\n ref: pageContainerRef,\n \"data-ppui\": \"true\"\n }, jsx(\"div\", {\n css: _styles.page,\n style: pageStyle,\n ref: scrollPanel,\n \"data-ppui\": \"true\"\n }, jsx(ItemList, {\n items: items,\n hasFixedSizeItems: hasFixedSizeItems,\n isMobileBreakpoint: false,\n numOfVisibleItems: numOfVisibleItems,\n renderItem: renderItem,\n itemClassName: itemClassName,\n ref: itemListRef,\n css: _styles.itemListDesktop,\n \"data-ppui\": \"true\"\n }))), renderPreviousButton, renderNextButton, renderDots);\n};\nexport { HorizontalScroll, HorizontalScrollDesktop, HorizontalScrollMobile, ItemList, styles as horizontalScrollStyles };","import _extends from '@babel/runtime/helpers/esm/extends';\nimport _defineProperty from '@babel/runtime/helpers/esm/defineProperty';\nimport _slicedToArray from '@babel/runtime/helpers/esm/slicedToArray';\nimport _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';\nimport { useRef, useMemo, useState, useEffect } from 'react';\nimport { IconButton } from '@paypalcorp/pp-react-icon-button';\nimport { OverflowIcon } from '@paypalcorp/pp-react-icons';\nimport { utilStyles, ZINDEX_DROPDOWN, KeyboardCode } from '@paypalcorp/pp-react-utils';\nimport { css, useTheme, jsx } from '@emotion/react';\nimport _taggedTemplateLiteral from '@babel/runtime/helpers/esm/taggedTemplateLiteral';\nimport { textStyles } from '@paypalcorp/pp-react-text';\nvar _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;\nfunction styles(tokens) {\n /* istanbul ignore next */\n if (!Object.keys(tokens).length) {\n console.warn('Missing Emotion theme. Use ThemeProvider from @emotion/react to pass a valid theme from pp-react.');\n return {};\n }\n var sysSpaceLg = tokens.sysSpaceLg,\n sysSpaceMd = tokens.sysSpaceMd,\n sysSpaceSm = tokens.sysSpaceSm,\n sysColorBackgroundSurface = tokens.sysColorBackgroundSurface,\n sysColorBackgroundSurfaceHover = tokens.sysColorBackgroundSurfaceHover,\n sysBorderRadiusSm = tokens.sysBorderRadiusSm,\n sysBorderThicknessFocusOutline = tokens.sysBorderThicknessFocusOutline,\n sysBorderRadiusLg = tokens.sysBorderRadiusLg,\n sysColorBackgroundSurfaceActive = tokens.sysColorBackgroundSurfaceActive;\n var _utilStyles = utilStyles(tokens),\n focusStyles = _utilStyles.focusStyles,\n elevationStyles = _utilStyles.elevationStyles;\n var offsetFocusAfter = focusStyles.offsetFocusAfter;\n var _textStyles = textStyles(tokens),\n textBody = _textStyles.body;\n var overflowMenuBase = css(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n label: overflow_menu_base;\\n position: relative;\\n display: inline-block;\\n \"])));\n var keyboardActive = css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral([\"\\n label: keyboard_active;\\n &:focus {\\n &:after {\\n \", \"\\n }\\n }\\n \"])), offsetFocusAfter({\n horizontalOffset: sysBorderThicknessFocusOutline,\n radius: sysBorderRadiusSm,\n verticalOffset: '0rem'\n }));\n var btnActive = css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral([\"\\n label: btn_active;\\n &[aria-expanded='true'] {\\n background: \", \";\\n }\\n \"])), sysColorBackgroundSurfaceActive);\n var list = css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral([\"\\n label: list;\\n right: \", \";\\n margin: \", \" 0 0;\\n position: absolute;\\n z-index: \", \";\\n list-style: none;\\n border-radius: \", \";\\n \", \"\\n background-color: \", \";\\n display: none;\\n padding: \", \" 0;\\n\\n &[aria-hidden='false'] {\\n display: block;\\n }\\n [dir='rtl'] & {\\n right: auto; // remove ltr style\\n left: \", \";\\n }\\n \"])), sysSpaceMd, sysSpaceLg, ZINDEX_DROPDOWN, sysBorderRadiusLg, elevationStyles.level1, sysColorBackgroundSurface, sysSpaceSm, sysSpaceMd);\n var listItem = css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral([\"\\n label: list_item;\\n white-space: nowrap;\\n display: block;\\n text-align: justify;\\n text-overflow: ellipsis;\\n position: relative;\\n \", \"\\n text-decoration:none;\\n padding: \", \" \", \";\\n &:hover {\\n background-color: \", \";\\n cursor: pointer;\\n outline: 0;\\n }\\n\\n &:focus {\\n // override link styles\\n box-shadow: none;\\n outline: 0;\\n border-radius: 0;\\n }\\n \"])), textBody(), sysSpaceMd, sysSpaceLg, sysColorBackgroundSurfaceHover);\n return {\n overflowMenuBase: overflowMenuBase,\n keyboardActive: keyboardActive,\n btnActive: btnActive,\n list: list,\n listItem: listItem\n };\n}\nvar _excluded = [\"name\", \"value\", \"ariaLabel\", \"options\", \"isOpen\", \"onChange\", \"onOpen\", \"onClose\", \"className\", \"triggerClassName\", \"theme\"],\n _excluded2 = [\"label\", \"value\", \"href\"];\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}\nvar OverflowMenu = function (_ref) {\n var _ref$name = _ref.name,\n name = _ref$name === void 0 ? 'Overflow' : _ref$name,\n _ref$value = _ref.value,\n value = _ref$value === void 0 ? 0 : _ref$value,\n _ref$ariaLabel = _ref.ariaLabel,\n ariaLabel = _ref$ariaLabel === void 0 ? name : _ref$ariaLabel,\n _ref$options = _ref.options,\n options = _ref$options === void 0 ? [] : _ref$options,\n isOpen = _ref.isOpen,\n onChange = _ref.onChange,\n onOpen = _ref.onOpen,\n onClose = _ref.onClose,\n className = _ref.className,\n triggerClassName = _ref.triggerClassName,\n theme = _ref.theme,\n rest = _objectWithoutProperties(_ref, _excluded);\n var wrapperRef = useRef();\n var tokens = useTheme();\n var _styles = useMemo(function () {\n return styles(tokens);\n }, [tokens]);\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n focusedIndex = _useState2[0],\n setFocusedIndex = _useState2[1];\n var listItemCss = [_styles.listItem, focusedIndex && _styles.keyboardActive];\n var optionList = options.map(function (_ref2, index) {\n var label = _ref2.label,\n optValue = _ref2.value,\n _ref2$href = _ref2.href,\n href = _ref2$href === void 0 ? '#' : _ref2$href,\n otherProps = _objectWithoutProperties(_ref2, _excluded2);\n return jsx(\"li\", {\n role: \"presentation\",\n key: \"ofmenu_\".concat(index),\n \"data-ppui\": \"true\"\n }, jsx(\"a\", _extends({\n href: href,\n \"data-name\": name,\n \"data-value\": optValue,\n css: listItemCss,\n role: \"menuitem\",\n tabIndex: -1\n }, otherProps, {\n \"data-ppui\": \"true\"\n }), label));\n });\n var getWrapperCurrent = function (w) {\n return (/* istanbul ignore next */\n w && w.current ? w.current : null\n );\n };\n /**\n * Determines whether the click is outside the element and invoke `onClose` function.\n */\n\n function handleClickOutside(evt) {\n var current = getWrapperCurrent(wrapperRef);\n if (isOpen && current && !current.contains(evt.target)) {\n evt.stopPropagation();\n onClose(evt);\n }\n }\n var getActiveIndex = function (menuItems) {\n for (var i = 0; i < menuItems.length; ++i) {\n if (menuItems[i] === document.activeElement) {\n return i;\n }\n }\n return 0;\n };\n function setFocus(offset) {\n var current = getWrapperCurrent(wrapperRef);\n /* istanbul ignore next */\n\n if (current) {\n var menuItems = current.querySelectorAll('[role=\"menuitem\"]');\n var len = menuItems.length;\n var curIndex = getActiveIndex(menuItems);\n menuItems[(curIndex + offset + len) % len].focus();\n }\n }\n function handleKey(evt) {\n /* istanbul ignore next */\n var KeyCode = new KeyboardCode(evt.key || evt.keyCode);\n if (KeyCode.IS_ARROW_UP) {\n setFocus(-1);\n setFocusedIndex(true);\n } else if (KeyCode.IS_ARROW_DOWN) {\n setFocus(1);\n setFocusedIndex(true);\n } else if (KeyCode.IS_ESC || KeyCode.IS_TAB) {\n onClose(evt);\n }\n evt.preventDefault();\n evt.stopPropagation();\n }\n useEffect(function () {\n if (isOpen) {\n // Bind the event listener\n document.addEventListener('mousedown', handleClickOutside);\n document.addEventListener('keydown', handleKey);\n setFocus(value);\n } else {\n document.removeEventListener('mousedown', handleClickOutside);\n document.removeEventListener('keydown', handleKey);\n }\n return function () {\n document.removeEventListener('mousedown', handleClickOutside);\n document.removeEventListener('keydown', handleKey);\n };\n }, [isOpen]);\n var triggerCss = [isOpen && _styles.btnActive];\n return jsx(\"div\", _extends({\n css: _styles.overflowMenuBase,\n className: className,\n ref: wrapperRef,\n \"data-ppui-info\": \"overflow-menu_3.4.9\"\n }, rest), jsx(IconButton, {\n className: triggerClassName,\n buttonType: \"tertiary\",\n css: triggerCss,\n name: name,\n svgIconComponent: OverflowIcon,\n \"aria-haspopup\": \"true\",\n \"aria-expanded\": isOpen,\n onClick: function handleClick(evt) {\n if (isOpen) {\n onClose(evt);\n } else {\n onOpen(evt);\n /* istanbul ignore next */\n\n setFocusedIndex(evt.detail === 0); // 1 = click, 0 = keyboard\n }\n },\n\n \"data-ppui\": \"true\"\n }, ariaLabel), jsx(\"ul\", {\n css: _styles.list,\n tabIndex: -1,\n role: \"menu\",\n onClick: function itemClickHandler(evt) {\n var target = evt.target; // @ts-ignore\n\n var targetName = target.dataset.name; // @ts-ignore\n\n var targetValue = target.dataset.value;\n var namedTarget = _objectSpread(_objectSpread({}, target), {}, {\n name: targetName,\n value: targetValue\n });\n if (onChange) {\n evt.preventDefault();\n evt.stopPropagation(); // @ts-ignore\n\n onChange(_objectSpread(_objectSpread({}, evt), {}, {\n target: namedTarget\n }));\n }\n onClose(evt);\n },\n \"aria-label\": name,\n \"aria-hidden\": !isOpen,\n \"data-ppui\": \"true\"\n }, optionList));\n};\nexport { OverflowMenu, styles as overflowMenuStyles };","import React from 'react';\nexport default React.createContext(null);","import { Children, cloneElement, isValidElement } from 'react';\n/**\n * Given `this.props.children`, return an object mapping key to child.\n *\n * @param {*} children `this.props.children`\n * @return {object} Mapping of key to child\n */\n\nexport function getChildMapping(children, mapFn) {\n var mapper = function mapper(child) {\n return mapFn && isValidElement(child) ? mapFn(child) : child;\n };\n var result = Object.create(null);\n if (children) Children.map(children, function (c) {\n return c;\n }).forEach(function (child) {\n // run the map function here instead so that the key is the computed one\n result[child.key] = mapper(child);\n });\n return result;\n}\n/**\n * When you're adding or removing children some may be added or removed in the\n * same render pass. We want to show *both* since we want to simultaneously\n * animate elements in and out. This function takes a previous set of keys\n * and a new set of keys and merges them with its best guess of the correct\n * ordering. In the future we may expose some of the utilities in\n * ReactMultiChild to make this easy, but for now React itself does not\n * directly have this concept of the union of prevChildren and nextChildren\n * so we implement it here.\n *\n * @param {object} prev prev children as returned from\n * `ReactTransitionChildMapping.getChildMapping()`.\n * @param {object} next next children as returned from\n * `ReactTransitionChildMapping.getChildMapping()`.\n * @return {object} a key set that contains all keys in `prev` and all keys\n * in `next` in a reasonable order.\n */\n\nexport function mergeChildMappings(prev, next) {\n prev = prev || {};\n next = next || {};\n function getValueForKey(key) {\n return key in next ? next[key] : prev[key];\n } // For each key of `next`, the list of keys to insert before that key in\n // the combined list\n\n var nextKeysPending = Object.create(null);\n var pendingKeys = [];\n for (var prevKey in prev) {\n if (prevKey in next) {\n if (pendingKeys.length) {\n nextKeysPending[prevKey] = pendingKeys;\n pendingKeys = [];\n }\n } else {\n pendingKeys.push(prevKey);\n }\n }\n var i;\n var childMapping = {};\n for (var nextKey in next) {\n if (nextKeysPending[nextKey]) {\n for (i = 0; i < nextKeysPending[nextKey].length; i++) {\n var pendingNextKey = nextKeysPending[nextKey][i];\n childMapping[nextKeysPending[nextKey][i]] = getValueForKey(pendingNextKey);\n }\n }\n childMapping[nextKey] = getValueForKey(nextKey);\n } // Finally, add the keys which didn't appear before any key in `next`\n\n for (i = 0; i < pendingKeys.length; i++) {\n childMapping[pendingKeys[i]] = getValueForKey(pendingKeys[i]);\n }\n return childMapping;\n}\nfunction getProp(child, prop, props) {\n return props[prop] != null ? props[prop] : child.props[prop];\n}\nexport function getInitialChildMapping(props, onExited) {\n return getChildMapping(props.children, function (child) {\n return cloneElement(child, {\n onExited: onExited.bind(null, child),\n in: true,\n appear: getProp(child, 'appear', props),\n enter: getProp(child, 'enter', props),\n exit: getProp(child, 'exit', props)\n });\n });\n}\nexport function getNextChildMapping(nextProps, prevChildMapping, onExited) {\n var nextChildMapping = getChildMapping(nextProps.children);\n var children = mergeChildMappings(prevChildMapping, nextChildMapping);\n Object.keys(children).forEach(function (key) {\n var child = children[key];\n if (!isValidElement(child)) return;\n var hasPrev = (key in prevChildMapping);\n var hasNext = (key in nextChildMapping);\n var prevChild = prevChildMapping[key];\n var isLeaving = isValidElement(prevChild) && !prevChild.props.in; // item is new (entering)\n\n if (hasNext && (!hasPrev || isLeaving)) {\n // console.log('entering', key)\n children[key] = cloneElement(child, {\n onExited: onExited.bind(null, child),\n in: true,\n exit: getProp(child, 'exit', nextProps),\n enter: getProp(child, 'enter', nextProps)\n });\n } else if (!hasNext && hasPrev && !isLeaving) {\n // item is old (exiting)\n // console.log('leaving', key)\n children[key] = cloneElement(child, {\n in: false\n });\n } else if (hasNext && hasPrev && isValidElement(prevChild)) {\n // item hasn't changed transition states\n // copy over the last transition props;\n // console.log('unchanged', key)\n children[key] = cloneElement(child, {\n onExited: onExited.bind(null, child),\n in: prevChild.props.in,\n exit: getProp(child, 'exit', nextProps),\n enter: getProp(child, 'enter', nextProps)\n });\n }\n });\n return children;\n}","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport React from 'react';\nimport TransitionGroupContext from './TransitionGroupContext';\nimport { getChildMapping, getInitialChildMapping, getNextChildMapping } from './utils/ChildMapping';\nvar values = Object.values || function (obj) {\n return Object.keys(obj).map(function (k) {\n return obj[k];\n });\n};\nvar defaultProps = {\n component: 'div',\n childFactory: function childFactory(child) {\n return child;\n }\n};\n/**\n * The `` component manages a set of transition components\n * (`` and ``) in a list. Like with the transition\n * components, `` is a state machine for managing the mounting\n * and unmounting of components over time.\n *\n * Consider the example below. As items are removed or added to the TodoList the\n * `in` prop is toggled automatically by the ``.\n *\n * Note that `` does not define any animation behavior!\n * Exactly _how_ a list item animates is up to the individual transition\n * component. This means you can mix and match animations across different list\n * items.\n */\n\nvar TransitionGroup = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(TransitionGroup, _React$Component);\n function TransitionGroup(props, context) {\n var _this;\n _this = _React$Component.call(this, props, context) || this;\n var handleExited = _this.handleExited.bind(_assertThisInitialized(_this)); // Initial children should all be entering, dependent on appear\n\n _this.state = {\n contextValue: {\n isMounting: true\n },\n handleExited: handleExited,\n firstRender: true\n };\n return _this;\n }\n var _proto = TransitionGroup.prototype;\n _proto.componentDidMount = function componentDidMount() {\n this.mounted = true;\n this.setState({\n contextValue: {\n isMounting: false\n }\n });\n };\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.mounted = false;\n };\n TransitionGroup.getDerivedStateFromProps = function getDerivedStateFromProps(nextProps, _ref) {\n var prevChildMapping = _ref.children,\n handleExited = _ref.handleExited,\n firstRender = _ref.firstRender;\n return {\n children: firstRender ? getInitialChildMapping(nextProps, handleExited) : getNextChildMapping(nextProps, prevChildMapping, handleExited),\n firstRender: false\n };\n } // node is `undefined` when user provided `nodeRef` prop\n ;\n\n _proto.handleExited = function handleExited(child, node) {\n var currentChildMapping = getChildMapping(this.props.children);\n if (child.key in currentChildMapping) return;\n if (child.props.onExited) {\n child.props.onExited(node);\n }\n if (this.mounted) {\n this.setState(function (state) {\n var children = _extends({}, state.children);\n delete children[child.key];\n return {\n children: children\n };\n });\n }\n };\n _proto.render = function render() {\n var _this$props = this.props,\n Component = _this$props.component,\n childFactory = _this$props.childFactory,\n props = _objectWithoutPropertiesLoose(_this$props, [\"component\", \"childFactory\"]);\n var contextValue = this.state.contextValue;\n var children = values(this.state.children).map(childFactory);\n delete props.appear;\n delete props.enter;\n delete props.exit;\n if (Component === null) {\n return /*#__PURE__*/React.createElement(TransitionGroupContext.Provider, {\n value: contextValue\n }, children);\n }\n return /*#__PURE__*/React.createElement(TransitionGroupContext.Provider, {\n value: contextValue\n }, /*#__PURE__*/React.createElement(Component, props, children));\n };\n return TransitionGroup;\n}(React.Component);\nTransitionGroup.defaultProps = defaultProps;\nexport default TransitionGroup;","export default {\n disabled: false\n};","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport config from './config';\nimport { timeoutsShape } from './utils/PropTypes';\nimport TransitionGroupContext from './TransitionGroupContext';\nimport { forceReflow } from './utils/reflow';\nexport var UNMOUNTED = 'unmounted';\nexport var EXITED = 'exited';\nexport var ENTERING = 'entering';\nexport var ENTERED = 'entered';\nexport var EXITING = 'exiting';\n/**\n * The Transition component lets you describe a transition from one component\n * state to another _over time_ with a simple declarative API. Most commonly\n * it's used to animate the mounting and unmounting of a component, but can also\n * be used to describe in-place transition states as well.\n *\n * ---\n *\n * **Note**: `Transition` is a platform-agnostic base component. If you're using\n * transitions in CSS, you'll probably want to use\n * [`CSSTransition`](https://reactcommunity.org/react-transition-group/css-transition)\n * instead. It inherits all the features of `Transition`, but contains\n * additional features necessary to play nice with CSS transitions (hence the\n * name of the component).\n *\n * ---\n *\n * By default the `Transition` component does not alter the behavior of the\n * component it renders, it only tracks \"enter\" and \"exit\" states for the\n * components. It's up to you to give meaning and effect to those states. For\n * example we can add styles to a component when it enters or exits:\n *\n * ```jsx\n * import { Transition } from 'react-transition-group';\n *\n * const duration = 300;\n *\n * const defaultStyle = {\n * transition: `opacity ${duration}ms ease-in-out`,\n * opacity: 0,\n * }\n *\n * const transitionStyles = {\n * entering: { opacity: 1 },\n * entered: { opacity: 1 },\n * exiting: { opacity: 0 },\n * exited: { opacity: 0 },\n * };\n *\n * const Fade = ({ in: inProp }) => (\n * \n * {state => (\n *
    \n * I'm a fade Transition!\n *
    \n * )}\n *
    \n * );\n * ```\n *\n * There are 4 main states a Transition can be in:\n * - `'entering'`\n * - `'entered'`\n * - `'exiting'`\n * - `'exited'`\n *\n * Transition state is toggled via the `in` prop. When `true` the component\n * begins the \"Enter\" stage. During this stage, the component will shift from\n * its current transition state, to `'entering'` for the duration of the\n * transition and then to the `'entered'` stage once it's complete. Let's take\n * the following example (we'll use the\n * [useState](https://reactjs.org/docs/hooks-reference.html#usestate) hook):\n *\n * ```jsx\n * function App() {\n * const [inProp, setInProp] = useState(false);\n * return (\n *
    \n * \n * {state => (\n * // ...\n * )}\n * \n * \n *
    \n * );\n * }\n * ```\n *\n * When the button is clicked the component will shift to the `'entering'` state\n * and stay there for 500ms (the value of `timeout`) before it finally switches\n * to `'entered'`.\n *\n * When `in` is `false` the same thing happens except the state moves from\n * `'exiting'` to `'exited'`.\n */\n\nvar Transition = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(Transition, _React$Component);\n function Transition(props, context) {\n var _this;\n _this = _React$Component.call(this, props, context) || this;\n var parentGroup = context; // In the context of a TransitionGroup all enters are really appears\n\n var appear = parentGroup && !parentGroup.isMounting ? props.enter : props.appear;\n var initialStatus;\n _this.appearStatus = null;\n if (props.in) {\n if (appear) {\n initialStatus = EXITED;\n _this.appearStatus = ENTERING;\n } else {\n initialStatus = ENTERED;\n }\n } else {\n if (props.unmountOnExit || props.mountOnEnter) {\n initialStatus = UNMOUNTED;\n } else {\n initialStatus = EXITED;\n }\n }\n _this.state = {\n status: initialStatus\n };\n _this.nextCallback = null;\n return _this;\n }\n Transition.getDerivedStateFromProps = function getDerivedStateFromProps(_ref, prevState) {\n var nextIn = _ref.in;\n if (nextIn && prevState.status === UNMOUNTED) {\n return {\n status: EXITED\n };\n }\n return null;\n } // getSnapshotBeforeUpdate(prevProps) {\n // let nextStatus = null\n // if (prevProps !== this.props) {\n // const { status } = this.state\n // if (this.props.in) {\n // if (status !== ENTERING && status !== ENTERED) {\n // nextStatus = ENTERING\n // }\n // } else {\n // if (status === ENTERING || status === ENTERED) {\n // nextStatus = EXITING\n // }\n // }\n // }\n // return { nextStatus }\n // }\n ;\n\n var _proto = Transition.prototype;\n _proto.componentDidMount = function componentDidMount() {\n this.updateStatus(true, this.appearStatus);\n };\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var nextStatus = null;\n if (prevProps !== this.props) {\n var status = this.state.status;\n if (this.props.in) {\n if (status !== ENTERING && status !== ENTERED) {\n nextStatus = ENTERING;\n }\n } else {\n if (status === ENTERING || status === ENTERED) {\n nextStatus = EXITING;\n }\n }\n }\n this.updateStatus(false, nextStatus);\n };\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.cancelNextCallback();\n };\n _proto.getTimeouts = function getTimeouts() {\n var timeout = this.props.timeout;\n var exit, enter, appear;\n exit = enter = appear = timeout;\n if (timeout != null && typeof timeout !== 'number') {\n exit = timeout.exit;\n enter = timeout.enter; // TODO: remove fallback for next major\n\n appear = timeout.appear !== undefined ? timeout.appear : enter;\n }\n return {\n exit: exit,\n enter: enter,\n appear: appear\n };\n };\n _proto.updateStatus = function updateStatus(mounting, nextStatus) {\n if (mounting === void 0) {\n mounting = false;\n }\n if (nextStatus !== null) {\n // nextStatus will always be ENTERING or EXITING.\n this.cancelNextCallback();\n if (nextStatus === ENTERING) {\n if (this.props.unmountOnExit || this.props.mountOnEnter) {\n var node = this.props.nodeRef ? this.props.nodeRef.current : ReactDOM.findDOMNode(this); // https://github.com/reactjs/react-transition-group/pull/749\n // With unmountOnExit or mountOnEnter, the enter animation should happen at the transition between `exited` and `entering`.\n // To make the animation happen, we have to separate each rendering and avoid being processed as batched.\n\n if (node) forceReflow(node);\n }\n this.performEnter(mounting);\n } else {\n this.performExit();\n }\n } else if (this.props.unmountOnExit && this.state.status === EXITED) {\n this.setState({\n status: UNMOUNTED\n });\n }\n };\n _proto.performEnter = function performEnter(mounting) {\n var _this2 = this;\n var enter = this.props.enter;\n var appearing = this.context ? this.context.isMounting : mounting;\n var _ref2 = this.props.nodeRef ? [appearing] : [ReactDOM.findDOMNode(this), appearing],\n maybeNode = _ref2[0],\n maybeAppearing = _ref2[1];\n var timeouts = this.getTimeouts();\n var enterTimeout = appearing ? timeouts.appear : timeouts.enter; // no enter animation skip right to ENTERED\n // if we are mounting and running this it means appear _must_ be set\n\n if (!mounting && !enter || config.disabled) {\n this.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(maybeNode);\n });\n return;\n }\n this.props.onEnter(maybeNode, maybeAppearing);\n this.safeSetState({\n status: ENTERING\n }, function () {\n _this2.props.onEntering(maybeNode, maybeAppearing);\n _this2.onTransitionEnd(enterTimeout, function () {\n _this2.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(maybeNode, maybeAppearing);\n });\n });\n });\n };\n _proto.performExit = function performExit() {\n var _this3 = this;\n var exit = this.props.exit;\n var timeouts = this.getTimeouts();\n var maybeNode = this.props.nodeRef ? undefined : ReactDOM.findDOMNode(this); // no exit animation skip right to EXITED\n\n if (!exit || config.disabled) {\n this.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(maybeNode);\n });\n return;\n }\n this.props.onExit(maybeNode);\n this.safeSetState({\n status: EXITING\n }, function () {\n _this3.props.onExiting(maybeNode);\n _this3.onTransitionEnd(timeouts.exit, function () {\n _this3.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(maybeNode);\n });\n });\n });\n };\n _proto.cancelNextCallback = function cancelNextCallback() {\n if (this.nextCallback !== null) {\n this.nextCallback.cancel();\n this.nextCallback = null;\n }\n };\n _proto.safeSetState = function safeSetState(nextState, callback) {\n // This shouldn't be necessary, but there are weird race conditions with\n // setState callbacks and unmounting in testing, so always make sure that\n // we can cancel any pending setState callbacks after we unmount.\n callback = this.setNextCallback(callback);\n this.setState(nextState, callback);\n };\n _proto.setNextCallback = function setNextCallback(callback) {\n var _this4 = this;\n var active = true;\n this.nextCallback = function (event) {\n if (active) {\n active = false;\n _this4.nextCallback = null;\n callback(event);\n }\n };\n this.nextCallback.cancel = function () {\n active = false;\n };\n return this.nextCallback;\n };\n _proto.onTransitionEnd = function onTransitionEnd(timeout, handler) {\n this.setNextCallback(handler);\n var node = this.props.nodeRef ? this.props.nodeRef.current : ReactDOM.findDOMNode(this);\n var doesNotHaveTimeoutOrListener = timeout == null && !this.props.addEndListener;\n if (!node || doesNotHaveTimeoutOrListener) {\n setTimeout(this.nextCallback, 0);\n return;\n }\n if (this.props.addEndListener) {\n var _ref3 = this.props.nodeRef ? [this.nextCallback] : [node, this.nextCallback],\n maybeNode = _ref3[0],\n maybeNextCallback = _ref3[1];\n this.props.addEndListener(maybeNode, maybeNextCallback);\n }\n if (timeout != null) {\n setTimeout(this.nextCallback, timeout);\n }\n };\n _proto.render = function render() {\n var status = this.state.status;\n if (status === UNMOUNTED) {\n return null;\n }\n var _this$props = this.props,\n children = _this$props.children,\n _in = _this$props.in,\n _mountOnEnter = _this$props.mountOnEnter,\n _unmountOnExit = _this$props.unmountOnExit,\n _appear = _this$props.appear,\n _enter = _this$props.enter,\n _exit = _this$props.exit,\n _timeout = _this$props.timeout,\n _addEndListener = _this$props.addEndListener,\n _onEnter = _this$props.onEnter,\n _onEntering = _this$props.onEntering,\n _onEntered = _this$props.onEntered,\n _onExit = _this$props.onExit,\n _onExiting = _this$props.onExiting,\n _onExited = _this$props.onExited,\n _nodeRef = _this$props.nodeRef,\n childProps = _objectWithoutPropertiesLoose(_this$props, [\"children\", \"in\", \"mountOnEnter\", \"unmountOnExit\", \"appear\", \"enter\", \"exit\", \"timeout\", \"addEndListener\", \"onEnter\", \"onEntering\", \"onEntered\", \"onExit\", \"onExiting\", \"onExited\", \"nodeRef\"]);\n return /*#__PURE__*/(\n // allows for nested Transitions\n React.createElement(TransitionGroupContext.Provider, {\n value: null\n }, typeof children === 'function' ? children(status, childProps) : React.cloneElement(React.Children.only(children), childProps))\n );\n };\n return Transition;\n}(React.Component);\nTransition.contextType = TransitionGroupContext;\n// Name the function so it is clearer in the documentation\n\nfunction noop() {}\nTransition.defaultProps = {\n in: false,\n mountOnEnter: false,\n unmountOnExit: false,\n appear: false,\n enter: true,\n exit: true,\n onEnter: noop,\n onEntering: noop,\n onEntered: noop,\n onExit: noop,\n onExiting: noop,\n onExited: noop\n};\nTransition.UNMOUNTED = UNMOUNTED;\nTransition.EXITED = EXITED;\nTransition.ENTERING = ENTERING;\nTransition.ENTERED = ENTERED;\nTransition.EXITING = EXITING;\nexport default Transition;","export var forceReflow = function forceReflow(node) {\n return node.scrollTop;\n};","import _extends from '@babel/runtime/helpers/esm/extends';\nimport _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';\nimport { useMemo, useRef } from 'react';\nimport { css, useTheme, jsx } from '@emotion/react';\nimport _taggedTemplateLiteral from '@babel/runtime/helpers/esm/taggedTemplateLiteral';\nimport { utilStyles, getMs } from '@paypalcorp/pp-react-utils';\nimport { TransitionGroup, Transition } from 'react-transition-group';\nvar _templateObject, _templateObject2;\nfunction styles(tokens) {\n /* istanbul ignore next */\n if (!Object.keys(tokens).length) {\n console.warn('Missing Emotion theme. Use ThemeProvider from @emotion/react to pass a valid theme from pp-react.');\n return {};\n }\n var sysMotionDurationArrive = tokens.sysMotionDurationArrive,\n sysSpaceMd = tokens.sysSpaceMd,\n sysSpaceLg = tokens.sysSpaceLg;\n var _utilStyles = utilStyles(tokens),\n variables = _utilStyles.variables;\n var ppuiEaseInOut = variables.ppuiEaseInOut;\n var container = css(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n position: relative;\\n height: 100%;\\n white-space: nowrap;\\n padding: 0 \", \";\\n overflow: hidden;\\n \"])), sysSpaceMd);\n var panel = css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral([\"\\n display: inline-block;\\n width: 100%;\\n padding: \", \" \", \"\\n height: 100%;\\n white-space: normal;\\n \"])), sysSpaceLg, sysSpaceMd);\n return {\n container: container,\n panel: panel,\n defaultEasing: ppuiEaseInOut,\n defaultDurationMs: getMs(sysMotionDurationArrive)\n };\n}\nvar styles$1 = /*#__PURE__*/Object.freeze({\n __proto__: null,\n 'default': styles\n});\nvar _excluded = [\"as\", \"className\", \"children\"];\nvar Panel = function (_ref) {\n var _ref$as = _ref.as,\n Tag = _ref$as === void 0 ? 'section' : _ref$as,\n className = _ref.className,\n children = _ref.children,\n rest = _objectWithoutProperties(_ref, _excluded);\n var tokens = useTheme();\n var PanelStyles = useMemo(function () {\n return styles(tokens);\n }, [tokens]);\n return jsx(Tag, _extends({\n css: PanelStyles.panel,\n className: className\n }, rest, {\n \"data-ppui\": \"true\"\n }), children);\n};\n\n/*\n NOTE, the default values of duration and easing are\n failsafes. The code below should never allow these\n values to be used --BCC\n */\n\n/* istanbul ignore next */\n\nfunction doAnimation(offset, elem) {\n var duration = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1000;\n var easing = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 'linear';\n var player = elem.animate([{\n translate: offset\n }, {\n translate: 0\n }], {\n duration: duration,\n easing: easing\n });\n player.addEventListener('finish', function () {\n elem.style.translate = '0';\n });\n}\n/* istanbul ignore next */\n\nvar getSign = function (n) {\n return n / Math.abs(n);\n};\n/* istanbul ignore next */\n\nvar getDirection = function (oldId, newId) {\n return oldId < 0 ? 0 : getSign(newId - oldId);\n};\n/* istanbul ignore next */\n\nvar getComputedDirection = function (elem) {\n var cStyle = getComputedStyle(elem);\n return cStyle.direction === 'rtl' ? -1 : 1;\n};\nvar PanelSlider = function (_ref) {\n var child = _ref.children,\n panelId = _ref.panelId,\n durationProp = _ref.duration,\n easingProp = _ref.easing,\n onComplete = _ref.onComplete;\n var tokens = useTheme();\n var PanelStyles = useMemo(function () {\n return styles(tokens);\n }, [tokens]);\n var duration = durationProp !== null && durationProp !== void 0 ? durationProp : PanelStyles.defaultDurationMs;\n var easing = easingProp !== null && easingProp !== void 0 ? easingProp : PanelStyles.defaultEasing;\n var activeScreenId = useRef(-1);\n var direction = getDirection(activeScreenId.current, panelId);\n activeScreenId.current = panelId;\n /* istanbul ignore next */\n // @ts-ignore\n\n return jsx(\"div\", {\n css: PanelStyles.container,\n \"data-ppui-info\": \"panel-slider_1.1.2\"\n }, jsx(TransitionGroup, {\n \"data-ppui\": \"true\"\n }, jsx(Transition, {\n key: panelId,\n timeout: duration,\n onEnter: function onEnter(elem) {\n elem.style.translate = \"\".concat(direction * getComputedDirection(elem) * 100, \"%\");\n elem.style.left = '0';\n },\n onEntering: function onEntering(elem) {\n var offset = \"\".concat(direction * getComputedDirection(elem) * 100, \"%\");\n doAnimation(offset, elem, duration, easing);\n },\n onExit: function onExit(elem) {\n var _activeScreenId$curre;\n var dir = getDirection((_activeScreenId$curre = activeScreenId === null || activeScreenId === void 0 ? void 0 : activeScreenId.current) !== null && _activeScreenId$curre !== void 0 ? _activeScreenId$curre : -1, panelId) * getComputedDirection(elem);\n elem.style.left = \"\".concat(dir * 100, \"%\");\n elem.style.translate = \"\".concat(-dir * 100, \"%\");\n elem.style.position = 'absolute';\n },\n onExiting: function onExiting(elem) {\n var _activeScreenId$curre2;\n var dir = getDirection((_activeScreenId$curre2 = activeScreenId === null || activeScreenId === void 0 ? void 0 : activeScreenId.current) !== null && _activeScreenId$curre2 !== void 0 ? _activeScreenId$curre2 : -1, panelId) * getComputedDirection(elem);\n var offset = \"\".concat(-dir * 100, \"%\");\n doAnimation(offset, elem, duration, easing);\n },\n onEntered: function announceArrival(elem) {\n if (typeof onComplete === 'function') {\n onComplete(elem);\n }\n },\n \"data-ppui\": \"true\"\n }, child)));\n};\nexport { Panel, PanelSlider, styles$1 as panelStyles };","import _taggedTemplateLiteral from '@babel/runtime/helpers/esm/taggedTemplateLiteral';\nimport { css, useTheme, jsx, ClassNames } from '@emotion/react';\nimport { math } from 'polished';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport _slicedToArray from '@babel/runtime/helpers/esm/slicedToArray';\nimport _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';\nimport React, { useMemo, forwardRef, useState, useContext, useCallback } from 'react';\nimport { IntlContext } from '@paypalcorp/pp-react-intl';\nimport { Flag } from '@paypalcorp/pp-react-flag';\nimport { MaskedTextInput } from '@paypalcorp/pp-react-masked-text-input';\nimport { DropdownMenu } from '@paypalcorp/pp-react-dropdown-menu';\nimport { uniqueId } from '@paypalcorp/pp-react-utils';\nvar _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11;\nfunction styles(tokens) {\n /* istanbul ignore next */\n if (!Object.keys(tokens).length) {\n console.warn('Missing Emotion theme. Use ThemeProvider from @emotion/react to pass a valid theme from pp-react.');\n return {};\n }\n var sysBorderRadiusSm = tokens.sysBorderRadiusSm,\n sysBorderThicknessNormal = tokens.sysBorderThicknessNormal,\n sysSizeTapTargetDefault = tokens.sysSizeTapTargetDefault,\n sysSpaceMd = tokens.sysSpaceMd,\n sysSpaceSm = tokens.sysSpaceSm,\n sysSpaceXs = tokens.sysSpaceXs,\n sysSizeMediaXs = tokens.sysSizeMediaXs;\n var phoneInputMenuMaxWidth = '8.813rem';\n var base = css(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n label: phone_input_base;\\n flex-grow: 1;\\n \"])));\n var telephoneInputRtlStyles = css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral([\"\\n input[type='tel'] {\\n label: tel_input_rtl;\\n direction: ltr;\\n text-align: right;\\n }\\n \"])));\n var combined = css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral([\"\\n label: combined;\\n display: flex;\\n gap: \", \";\\n [dir='rtl'] & {\\n direction: ltr;\\n }\\n @media screen and (max-width: \", \") {\\n display: block;\\n }\\n \"])), sysSpaceSm, sysSizeMediaXs);\n var menuWidth = css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral([\"\\n label: width;\\n min-width: \", \";\\n @media screen and (max-width: \", \") {\\n margin-bottom: \", \";\\n }\\n @media screen and (min-width: \", \") {\\n max-width: \", \";\\n }\\n \"])), phoneInputMenuMaxWidth, sysSizeMediaXs, sysSpaceSm, math(\"\".concat(sysSizeMediaXs, \" + \").concat('0.0625rem')), phoneInputMenuMaxWidth);\n var menu = css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral([\"\\n label: menu;\\n flex-grow: 1;\\n [dir='rtl'] & {\\n direction: rtl;\\n }\\n \"])));\n var thumbnail = css(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral([\"\\n label: thumbnail;\\n margin-right: \", \";\\n [dir='rtl'] & {\\n margin-right: 0;\\n margin-left: \", \";\\n }\\n \"])), sysSpaceSm, sysSpaceSm);\n var menuList = css(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral([\"\\n label: menu_list;\\n white-space: nowrap;\\n \"])));\n var menuButton = css(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral([\"\\n label: menu_button;\\n flex-grow: 1;\\n &:not(:empty) {\\n padding-bottom: \", \";\\n padding-right: \", \";\\n }\\n & > span {\\n pointer-events: none;\\n }\\n [dir='rtl'] & {\\n border-radius: \", \";\\n margin-left: 0;\\n margin-right: 0;\\n &:not(:empty) {\\n padding-left: \", \";\\n padding-right: \", \";\\n }\\n }\\n \"])), sysSpaceSm, math(\"\".concat(sysSizeTapTargetDefault, \" + \").concat(sysSpaceXs)), sysBorderRadiusSm, math(\"\".concat(sysSizeTapTargetDefault, \" + \").concat(sysSpaceXs)), math(\"\".concat(sysSpaceMd, \" - \").concat(sysBorderThicknessNormal)));\n var menuButtonContent = css(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral([\"\\n label: menu_button_content;\\n display: flex;\\n \"])));\n var affordance = css(_templateObject10 || (_templateObject10 = _taggedTemplateLiteral([\"\\n label: affordance;\\n margin-left: 0;\\n [dir='rtl'] & {\\n margin-right: 0;\\n }\\n \"])));\n var menuContainer = css(_templateObject11 || (_templateObject11 = _taggedTemplateLiteral([\"\\n label: container;\\n [dir='rtl'] & {\\n left:0;\\n }\\n \"])));\n return {\n base: base,\n combined: combined,\n menu: menu,\n thumbnail: thumbnail,\n menuList: menuList,\n menuButton: menuButton,\n menuButtonContent: menuButtonContent,\n affordance: affordance,\n telephoneInputRtlStyles: telephoneInputRtlStyles,\n menuWidth: menuWidth,\n menuContainer: menuContainer\n };\n}\n\n// 55 fixed line Countries with variable length\n// 38 mobile line Countries with variable length\n// 21 of those instersect\nvar VAR_LENGTH_COUNTRIES_FIXED_LINE = ['AT', 'AX', 'BD', 'BG', 'CD', 'CN', 'CU', 'CW', 'DE', 'DZ', 'EG', 'FI', 'GB', 'HR', 'ID', 'IE', 'IL', 'IQ', 'IR', 'IT', 'KE', 'KH', 'KI', 'KP', 'KR', 'LB', 'LR', 'LU', 'MM', 'MN', 'MU', 'MW', 'MY', 'NA', 'NG', 'PG', 'PH', 'PK', 'PL', 'PY', 'RO', 'RS', 'RW', 'SE', 'SH', 'SK', 'SO', 'SR', 'SY', 'TK', 'TW', 'VA', 'WS', 'YE', 'ZW'];\nvar VAR_LENGTH_COUNTRIES_MOBILE = ['AD', 'AR', 'AT', 'AX', 'BA', 'BG', 'BR', 'CD', 'CW', 'DE', 'EE', 'FI', 'GA', 'HR', 'ID', 'IS', 'IT', 'KH', 'KR', 'LB', 'LI', 'LR', 'MC', 'MM', 'MX', 'MY', 'NZ', 'PA', 'PN', 'RS', 'SB', 'SO', 'TK', 'TV', 'VA', 'WS', 'XK', 'ZA'];\nvar DEFAULT_PATTERN = '00000000000000000000';\n// Get phone format from IntlProvider\nfunction getPhoneFormat(intlContext, phoneRegion, formatType, isMobile) {\n var providedCountryCode = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : null;\n var providedPhoneFormat = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : '';\n var isPhoneMetaDataLoaded = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : true;\n if (providedCountryCode && providedPhoneFormat) {\n return {\n countryCode: providedCountryCode,\n pattern: providedPhoneFormat\n };\n } else if (phoneRegion && intlContext && intlContext.phoneFormatter) {\n var phoneType = isMobile ? 'MOBILE' : 'FIXED_LINE';\n var phoneExampleGenerator = intlContext.exampleGenerator({\n feature: 'phone',\n region: phoneRegion,\n type: phoneType\n });\n var exampleNumberObj = phoneExampleGenerator.generate();\n var countryCode = exampleNumberObj.countryCode,\n nationalNumber = exampleNumberObj.nationalNumber;\n var pattern = DEFAULT_PATTERN;\n if (isPhoneMetaDataLoaded) {\n var phoneNumberFormat = intlContext.phoneFormatter({\n phoneRegion: phoneRegion,\n style: formatType\n });\n var formattedNumber = phoneNumberFormat.format({\n countryCode: countryCode,\n nationalNumber: nationalNumber\n });\n var phoneNumber = formattedNumber;\n if (formattedNumber.includes('+')) {\n phoneNumber = formattedNumber.split(\"+\".concat(countryCode))[1].trim();\n }\n pattern = phoneNumber.replace(/\\d/g, '0');\n var varLengthCountries = isMobile ? VAR_LENGTH_COUNTRIES_MOBILE : VAR_LENGTH_COUNTRIES_FIXED_LINE;\n if (varLengthCountries.includes(phoneRegion)) {\n var patternLength = pattern.match(/0/g).length;\n var optionalDigits = '0'.repeat(20 - patternLength);\n pattern = pattern + \"[\".concat(optionalDigits, \"]\");\n }\n }\n return {\n countryCode: countryCode,\n pattern: pattern\n };\n }\n return {\n countryCode: providedCountryCode || '',\n pattern: providedPhoneFormat || DEFAULT_PATTERN\n };\n}\nvar _excluded = [\"rtl\", \"countryOptions\", \"options\", \"flagId\", \"codeId\", \"value\"];\nvar PhoneCodeDropdown = function (_ref) {\n var rtl = _ref.rtl,\n countryOptions = _ref.countryOptions,\n options = _ref.options,\n flagId = _ref.flagId,\n codeId = _ref.codeId,\n value = _ref.value,\n rest = _objectWithoutProperties(_ref, _excluded);\n var tokens = useTheme(); // Fetch tokens from Emotion context\n\n var _styles = useMemo(function () {\n return styles(tokens);\n }, [tokens]);\n return jsx(DropdownMenu, _extends({\n renderButtonContent: function renderButtonContent() {\n var selectedOption; //istanbul ignore next\n\n if (value && !!options) {\n var selectedIndex = options.findIndex(function (opt) {\n return opt.value === value;\n });\n selectedOption = countryOptions[selectedIndex];\n }\n var countryPhoneCode = '';\n if (selectedOption && selectedOption.countryPhoneCode) {\n //istanbul ignore next\n if (rtl) {\n countryPhoneCode = \"\".concat(selectedOption.countryPhoneCode, \"+\");\n } else {\n countryPhoneCode = \"+\".concat(selectedOption.countryPhoneCode);\n }\n }\n if (selectedOption && selectedOption.phoneRegion) {\n return jsx(\"span\", {\n css: _styles.menuButtonContent,\n \"data-ppui\": \"true\"\n }, jsx(\"span\", {\n css: _styles.thumbnail,\n \"data-ppui\": \"true\"\n }, jsx(Flag, {\n id: flagId,\n countryCode: selectedOption.phoneRegion,\n size: 'md',\n \"aria-label\": selectedOption.countryName,\n role: \"img\",\n \"data-ppui\": \"true\"\n })), jsx(\"span\", {\n id: codeId,\n \"data-ppui\": \"true\"\n }, countryPhoneCode));\n }\n return jsx(React.Fragment, null, countryPhoneCode);\n },\n options: options,\n value: value\n }, rest, {\n \"data-ppui\": \"true\"\n }));\n};\nvar _excluded$1 = [\"name\", \"countryOptions\", \"inputLabel\", \"menuLabel\", \"menuId\", \"className\", \"inputClassName\", \"menuClassName\", \"mobile\", \"onPhoneCodeChange\", \"phoneCode\", \"showUnselect\", \"unselectLabel\"];\nvar PhoneInputWithMenu = forwardRef(function (_ref, ref) {\n var _ref$name = _ref.name,\n name = _ref$name === void 0 ? 'phoneInputMenu' : _ref$name,\n _ref$countryOptions = _ref.countryOptions,\n countryOptions = _ref$countryOptions === void 0 ? [] : _ref$countryOptions,\n _ref$inputLabel = _ref.inputLabel,\n inputLabel = _ref$inputLabel === void 0 ? 'Phone Number' : _ref$inputLabel,\n _ref$menuLabel = _ref.menuLabel,\n menuLabel = _ref$menuLabel === void 0 ? 'Code' : _ref$menuLabel,\n menuId = _ref.menuId,\n className = _ref.className,\n inputClassName = _ref.inputClassName,\n menuClassName = _ref.menuClassName,\n _ref$mobile = _ref.mobile,\n mobile = _ref$mobile === void 0 ? false : _ref$mobile,\n onPhoneCodeChange = _ref.onPhoneCodeChange,\n phoneCode = _ref.phoneCode,\n _ref$showUnselect = _ref.showUnselect,\n showUnselect = _ref$showUnselect === void 0 ? false : _ref$showUnselect,\n _ref$unselectLabel = _ref.unselectLabel,\n unselectLabel = _ref$unselectLabel === void 0 ? 'None' : _ref$unselectLabel,\n rest = _objectWithoutProperties(_ref, _excluded$1);\n\n /* istanbul ignore next */\n if (!countryOptions.length) {\n console.warn('Required prop `countryOptions` is missing.');\n }\n var tokens = useTheme(); // Fetch tokens from Emotion context\n\n var _styles = useMemo(function () {\n return styles(tokens);\n }, [tokens]);\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n isRtl = _useState2[0],\n setRtl = _useState2[1];\n var intlContext = useContext(IntlContext);\n var containerRef = useCallback(function (node) {\n if (node !== null && window && window.getComputedStyle(node)) {\n var computedStyle = window.getComputedStyle(node);\n setRtl(computedStyle && computedStyle.direction === 'rtl');\n }\n }, [intlContext === null || intlContext === void 0 ? void 0 : intlContext.locale]);\n var optionText;\n var optionCode;\n var optionPattern;\n var optionCountryRegion;\n var optionCountryName;\n var menuOptions;\n var _useState3 = useState(false),\n _useState4 = _slicedToArray(_useState3, 2),\n hasFocus = _useState4[0],\n setFocus = _useState4[1];\n var constructOptionProps = function (countryName, countryPhoneCode, countryRegion, rtl) {\n optionText = countryName; // for none option don't need to show +\n\n /* istanbul ignore next */\n\n if (countryPhoneCode) {\n optionText += rtl ? \" \".concat(countryPhoneCode, \"+\") : \" +\".concat(countryPhoneCode);\n }\n var optionValue = countryRegion && countryPhoneCode ? \"\".concat(countryRegion, \"_\").concat(countryPhoneCode) : '';\n return {\n primaryText: optionText,\n value: optionValue,\n decoration: countryRegion && jsx(Flag, {\n countryCode: countryRegion,\n size: \"md\",\n \"data-ppui\": \"true\"\n })\n };\n }; // Removing 'None' option if exists\n\n if (countryOptions[0] && countryOptions[0].phoneRegion === '') {\n countryOptions.splice(0, 1);\n }\n if (showUnselect) {\n // Adding 'None' option to list\n countryOptions.unshift({\n phoneRegion: '',\n countryName: unselectLabel,\n phoneFormat: DEFAULT_PATTERN\n });\n }\n menuOptions = useMemo(function () {\n return countryOptions.map(function (country, i) {\n var phoneParts = getPhoneFormat(intlContext, country.phoneRegion, 'international', mobile, country.countryPhoneCode, country.phoneFormat, country.isPhoneMetaDataLoaded);\n /* istanbul ignore next */\n\n var displayNamesObj = intlContext && intlContext.getDisplayNamesObject && intlContext.getDisplayNamesObject({\n type: 'region'\n });\n var countryCode = phoneParts.countryCode,\n pattern = phoneParts.pattern;\n optionCountryRegion = country.phoneRegion; //this one must be provided\n\n optionCode = country.countryPhoneCode || countryCode; //if provided use that\n\n optionPattern = country.phoneFormat || pattern; //if provided use that\n\n /* istanbul ignore next */\n\n optionCountryName = country.countryName || displayNamesObj && displayNamesObj.select(country.phoneRegion); //if provided use that\n\n countryOptions[i].countryPhoneCode = optionCode;\n countryOptions[i].phoneFormat = optionPattern;\n countryOptions[i].countryName = optionCountryName;\n return constructOptionProps(optionCountryName, optionCode, optionCountryRegion, isRtl);\n });\n }, [countryOptions, mobile]);\n var currentMask = DEFAULT_PATTERN;\n var selectedCountry = countryOptions.filter(function (country) {\n var selectedPhoneCode = country.phoneRegion && country.countryPhoneCode ? \"\".concat(country.phoneRegion, \"_\").concat(country.countryPhoneCode) : '';\n return phoneCode === selectedPhoneCode;\n });\n if (selectedCountry.length) {\n currentMask = selectedCountry[0].phoneFormat;\n }\n var handleChange = function (evt) {\n //istanbul ignore next\n if (onPhoneCodeChange) {\n var _evt$target, _evt$target$value;\n onPhoneCodeChange(evt); // determine if selected option is none/unselect\n // if it is don't move the focus to the next element\n\n if (!(((_evt$target = evt.target) === null || _evt$target === void 0 ? void 0 : (_evt$target$value = _evt$target.value) === null || _evt$target$value === void 0 ? void 0 : _evt$target$value.length) === 0 && showUnselect)) {\n setFocus(true);\n }\n }\n };\n var flagIdPrefix = 'phone-input-country-flag_';\n var codeIdPrefix = 'phone-input-country-code_';\n var generatedFlagId = menuId ? \"\".concat(flagIdPrefix).concat(menuId) : uniqueId(flagIdPrefix);\n var generatedCodeId = menuId ? \"\".concat(codeIdPrefix).concat(menuId) : uniqueId(codeIdPrefix);\n var phoneDropdownMenuCSS = [_styles.menu, _styles.menuWidth];\n var dropdownEl = jsx(ClassNames, {\n \"data-ppui\": \"true\"\n }, function (_ref2) {\n var css = _ref2.css;\n return jsx(PhoneCodeDropdown, {\n id: menuId,\n label: menuLabel,\n options: menuOptions,\n countryOptions: countryOptions,\n value: phoneCode,\n onChange: handleChange,\n css: phoneDropdownMenuCSS,\n className: menuClassName,\n menuContainerClassName: css(_styles.menuContainer),\n menuListClassName: css(_styles.menuList),\n menuButtonClassName: css(_styles.menuButton),\n sheetClassName: css(_styles.menuList),\n rtl: isRtl,\n showUnselect: true,\n flagId: generatedFlagId,\n codeId: generatedCodeId,\n \"data-ppui\": \"true\"\n });\n });\n var inputEl = jsx(ClassNames, {\n \"data-ppui\": \"true\"\n }, function (_ref3) {\n var cx = _ref3.cx;\n return jsx(MaskedTextInput, _extends({\n type: \"tel\",\n name: name,\n label: inputLabel,\n maskOptions: {\n mask: currentMask\n },\n css: _styles.menu,\n inputClassName: cx(inputClassName),\n setFocus: hasFocus,\n ref: ref,\n onBlur: function onBlur() {\n return setFocus(false);\n },\n \"aria-describedby\": \"\".concat(generatedFlagId, \" \").concat(generatedCodeId)\n }, rest, {\n \"data-ppui\": \"true\"\n }));\n });\n var combinedInputCSS = [_styles.combined,\n //istanbul ignore next\n isRtl && _styles.telephoneInputRtlStyles];\n return jsx(\"div\", {\n ref: containerRef,\n css: _styles.base,\n className: className,\n \"data-ppui-info\": \"phone-input_2.5.8\"\n }, jsx(\"div\", {\n css: combinedInputCSS,\n \"data-ppui\": \"true\"\n }, dropdownEl, inputEl));\n});\nvar _excluded$2 = [\"name\", \"label\", \"countryOptions\", \"className\", \"inputClassName\", \"formatType\", \"mobile\"];\nvar PhoneInput = forwardRef(function (_ref, ref) {\n var _ref$name = _ref.name,\n name = _ref$name === void 0 ? '' : _ref$name,\n _ref$label = _ref.label,\n label = _ref$label === void 0 ? 'Phone Number' : _ref$label,\n countryOptions = _ref.countryOptions,\n className = _ref.className,\n inputClassName = _ref.inputClassName,\n _ref$formatType = _ref.formatType,\n formatType = _ref$formatType === void 0 ? (countryOptions === null || countryOptions === void 0 ? void 0 : countryOptions.countryPhoneCode) ? 'international' : 'national' : _ref$formatType,\n _ref$mobile = _ref.mobile,\n mobile = _ref$mobile === void 0 ? false : _ref$mobile,\n rest = _objectWithoutProperties(_ref, _excluded$2);\n\n /* istanbul ignore next */\n if (!countryOptions) {\n console.warn('Required prop `countryOptions` is missing.');\n }\n var tokens = useTheme(); // Fetch tokens from Emotion context\n\n var _styles = useMemo(function () {\n return styles(tokens);\n }, [tokens]);\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n isRtl = _useState2[0],\n setRtl = _useState2[1];\n var intlContext = useContext(IntlContext);\n var containerRef = useCallback(function (node) {\n if (node !== null && window && window.getComputedStyle(node)) {\n var computedStyle = window.getComputedStyle(node);\n setRtl(computedStyle && computedStyle.direction === 'rtl');\n }\n }, [intlContext === null || intlContext === void 0 ? void 0 : intlContext.locale]);\n var phoneParts = useMemo(function () {\n return getPhoneFormat(intlContext, countryOptions === null || countryOptions === void 0 ? void 0 : countryOptions.phoneRegion, formatType, mobile, countryOptions === null || countryOptions === void 0 ? void 0 : countryOptions.countryPhoneCode, countryOptions === null || countryOptions === void 0 ? void 0 : countryOptions.phoneFormat, countryOptions === null || countryOptions === void 0 ? void 0 : countryOptions.isPhoneMetaDataLoaded);\n }, [countryOptions === null || countryOptions === void 0 ? void 0 : countryOptions.phoneRegion, formatType, mobile]);\n var countryCode = phoneParts.countryCode,\n pattern = phoneParts.pattern;\n var codePrefix = formatType === 'international' ? countryCode : '';\n var codeSuffix = codePrefix;\n if (formatType === 'international') {\n //istanbul ignore next\n codePrefix = isRtl ? '' : \"+\".concat(codePrefix); //istanbul ignore next\n\n codeSuffix = isRtl ? \"\".concat(codeSuffix, \"+\") : '';\n }\n return jsx(\"div\", {\n ref: containerRef,\n css: [_styles.base, isRtl && _styles.telephoneInputRtlStyles],\n className: className,\n \"data-ppui-info\": \"phone-input_2.5.8\"\n }, jsx(ClassNames, {\n \"data-ppui\": \"true\"\n }, function (_ref2) {\n var cx = _ref2.cx;\n return jsx(MaskedTextInput, _extends({\n type: \"tel\",\n name: \"phoneInput-\".concat(name),\n label: label,\n prefix: codePrefix,\n suffix: codeSuffix,\n ref: ref,\n maskOptions: {\n mask: pattern\n },\n inputClassName: cx(inputClassName)\n }, rest, {\n \"data-ppui\": \"true\"\n }));\n }));\n});\nexport { PhoneInput, PhoneInputWithMenu, styles as phoneInputStyles };","import _extends from '@babel/runtime/helpers/esm/extends';\nimport _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';\nimport React, { forwardRef, useRef, useEffect } from 'react';\nimport { TextInput } from '@paypalcorp/pp-react-text-input';\nimport { IconButton } from '@paypalcorp/pp-react-icon-button';\nimport { ViewIcon, HideIcon } from '@paypalcorp/pp-react-icons';\nvar _excluded = [\"as\", \"isHidden\", \"hideToggleLabel\", \"onToggleHide\", \"value\"];\nvar PasswordInput = forwardRef(function (props, ref) {\n var as = props.as,\n _props$isHidden = props.isHidden,\n isHidden = _props$isHidden === void 0 ? true : _props$isHidden,\n hideToggleLabel = props.hideToggleLabel,\n onToggleHide = props.onToggleHide,\n value = props.value,\n rest = _objectWithoutProperties(props, _excluded);\n var internalRef = useRef();\n var inputRef = ref || internalRef;\n useEffect(function () {\n var inputElm = inputRef.current;\n if (inputElm && (value === null || value === void 0 ? void 0 : value.length)) {\n inputElm.setSelectionRange(value.length, value.length); //restore cursor to the last char\n }\n }, [isHidden]);\n var typeProp = isHidden ? {\n type: 'password'\n } : {};\n var iconButtonLabel = hideToggleLabel || (isHidden ? 'show' : 'hide');\n return /*#__PURE__*/React.createElement(as || TextInput, _extends({\n ref: inputRef,\n rightIcon: /*#__PURE__*/React.createElement(IconButton, {\n buttonType: \"tertiary\",\n svgIconComponent: isHidden ? ViewIcon : HideIcon,\n onClick: function handleHideToggleClick() {\n /* istanbul ignore next */\n if (onToggleHide) {\n onToggleHide(!isHidden);\n }\n },\n onMouseDown: function onMouseDown(evt) {\n return evt.preventDefault();\n },\n \"data-ppui\": \"true\"\n }, iconButtonLabel),\n value: value,\n \"data-ppui-info\": \"password-input_2.1.12\"\n }, typeProp, rest));\n});\nexport { PasswordInput };","import _extends from '@babel/runtime/helpers/esm/extends';\nimport _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';\nimport 'react';\nimport { IconButton } from '@paypalcorp/pp-react-icon-button';\nimport { CloseIcon } from '@paypalcorp/pp-react-icons';\nimport { css, useTheme, jsx } from '@emotion/react';\nimport _taggedTemplateLiteral from '@babel/runtime/helpers/esm/taggedTemplateLiteral';\nimport { textStyles } from '@paypalcorp/pp-react-text';\nvar _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;\nfunction pillStyles(tokens) {\n /* istanbul ignore next */\n if (!Object.keys(tokens).length) {\n // eslint-disable-next-line no-console\n console.warn('Missing Emotion theme. Use ThemeProvider from @emotion/react to pass a valid theme from pp-react.');\n return {};\n }\n var sysColorBackgroundSurface = tokens.sysColorBackgroundSurface,\n sysColorSelectedRangeMain = tokens.sysColorSelectedRangeMain,\n sysColorSelectedRangeContrast = tokens.sysColorSelectedRangeContrast,\n sysSpaceTiny = tokens.sysSpaceTiny,\n sysSpaceXs = tokens.sysSpaceXs,\n sysSpaceSm = tokens.sysSpaceSm,\n sysSpaceLg = tokens.sysSpaceLg;\n var pill = css(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n label: pill;\\n background-color: \", \";\\n padding-block: 0 0;\\n padding-inline: \", \" 0;\\n white-space: nowrap;\\n border-radius: 100px;\\n position: relative;\\n display: inline-grid;\\n grid-gap: \", \";\\n grid-template-columns: 1fr auto;\\n place-items: center;\\n \"])), sysColorSelectedRangeMain, sysSpaceLg, sysSpaceXs);\n var _textStyles = textStyles(tokens),\n captionStrong = _textStyles.captionStrong;\n var pillLabel = css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral([\"\\n label: pill_label;\\n \", \"\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n \"])), captionStrong({\n color: sysColorSelectedRangeContrast\n }));\n var buttonSpace = css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral([\"\\n label: btn_space;\\n margin: \", \";\\n \"])), sysSpaceTiny);\n var pillTray = css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral([\"\\n label: pill_tray;\\n background-color: \", \";\\n \"])), sysColorBackgroundSurface);\n var pillTrayScroller = css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral([\"\\n label: pill_scroll;\\n overflow-x: scroll;\\n margin: 0;\\n padding: \", \" \", \" \", \";\\n display: flex;\\n column-gap: \", \";\\n \"])), sysSpaceSm, sysSpaceSm, sysSpaceLg, sysSpaceSm);\n return {\n pill: pill,\n pillLabel: pillLabel,\n buttonSpace: buttonSpace,\n pillTray: pillTray,\n pillTrayScroller: pillTrayScroller\n };\n}\nvar _excluded = [\"as\", \"value\", \"className\", \"dismissButtonLabel\", \"onDismiss\", \"children\"];\nvar Pill = function (_ref) {\n var _ref$as = _ref.as,\n Component = _ref$as === void 0 ? 'div' : _ref$as,\n _ref$value = _ref.value,\n value = _ref$value === void 0 ? 'value' : _ref$value,\n className = _ref.className,\n _ref$dismissButtonLab = _ref.dismissButtonLabel,\n dismissButtonLabel = _ref$dismissButtonLab === void 0 ? 'dismiss' : _ref$dismissButtonLab,\n onDismiss = _ref.onDismiss,\n children = _ref.children,\n rest = _objectWithoutProperties(_ref, _excluded);\n\n /* istanbul ignore next */\n if (!onDismiss) {\n onDismiss = function () {\n return console.warn('Required prop `onDismiss` is missing');\n };\n }\n var tokens = useTheme();\n var styles = pillStyles(tokens);\n var handleClick = function (evt) {\n var target = evt.target;\n onDismiss(target.dataset.value);\n };\n return jsx(Component, _extends({\n css: styles.pill,\n role: \"listitem\",\n className: className\n }, rest, {\n \"data-ppui\": \"true\"\n }), jsx(\"label\", {\n css: styles.pillLabel,\n \"data-ppui\": \"true\"\n }, children), jsx(IconButton, {\n buttonType: \"tertiary\",\n size: \"sm\",\n css: styles.buttonSpace,\n \"data-value\": value,\n svgIconComponent: CloseIcon,\n onClick: handleClick,\n \"data-ppui\": \"true\"\n }, dismissButtonLabel));\n};\nvar PillTray = function (_ref) {\n var children = _ref.children;\n var tokens = useTheme();\n var _pillStyles = pillStyles(tokens),\n pillTray = _pillStyles.pillTray,\n pillTrayScroller = _pillStyles.pillTrayScroller;\n return jsx(\"div\", {\n css: pillTray,\n \"data-ppui-info\": \"pill_2.2.10\"\n }, jsx(\"div\", {\n css: pillTrayScroller,\n role: \"list\",\n \"data-ppui\": \"true\"\n }, children));\n};\nexport { Pill, PillTray, pillStyles };","import _extends from '@babel/runtime/helpers/esm/extends';\nimport _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';\nimport { useMemo, forwardRef } from 'react';\nimport _taggedTemplateLiteral from '@babel/runtime/helpers/esm/taggedTemplateLiteral';\nimport { css, useTheme, jsx } from '@emotion/react';\nimport { textStyles } from '@paypalcorp/pp-react-text';\nimport { uniqueId, utilStyles } from '@paypalcorp/pp-react-utils';\nvar Color;\n/** @deprecated */\n\n(function (Color) {\n Color[\"Accent1\"] = \"sysColorAccent1Main\";\n Color[\"Accent2\"] = \"sysColorAccent2Main\";\n Color[\"Accent3\"] = \"sysColorAccent3Main\";\n Color[\"Accent4\"] = \"sysColorAccent4Main\";\n})(Color || (Color = {}));\nvar colorMap = {\n blue: Color.Accent1,\n magenta: Color.Accent2,\n green: Color.Accent3,\n purple: Color.Accent4\n};\nvar Size;\n(function (Size) {\n Size[\"SMALL\"] = \"sm\";\n Size[\"LARGE\"] = \"lg\";\n})(Size || (Size = {}));\nvar _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17, _templateObject18, _templateObject19, _templateObject20, _templateObject21, _templateObject22, _templateObject23, _templateObject24, _templateObject25, _templateObject26, _templateObject27;\nfunction styles(tokens) {\n /* istanbul ignore next */\n if (!Object.keys(tokens).length) {\n console.warn('Missing Emotion theme. Use ThemeProvider from @emotion/react to pass a valid theme from pp-react.');\n return {};\n }\n var sysBorderRadiusInteractive = tokens.sysBorderRadiusInteractive,\n sysBorderRadiusSm = tokens.sysBorderRadiusSm,\n sysBorderThicknessNormal = tokens.sysBorderThicknessNormal,\n sysColorAccent1Contrast = tokens.sysColorAccent1Contrast,\n sysColorAccent1Main = tokens.sysColorAccent1Main,\n sysColorAccent2Contrast = tokens.sysColorAccent2Contrast,\n sysColorAccent2Main = tokens.sysColorAccent2Main,\n sysColorAccent3Contrast = tokens.sysColorAccent3Contrast,\n sysColorAccent3Main = tokens.sysColorAccent3Main,\n sysColorAccent4Contrast = tokens.sysColorAccent4Contrast,\n sysColorAccent4Main = tokens.sysColorAccent4Main,\n sysColorBackgroundAlt = tokens.sysColorBackgroundAlt,\n sysColorBackgroundMediumContrast = tokens.sysColorBackgroundMediumContrast,\n sysColorBackgroundSurface = tokens.sysColorBackgroundSurface,\n sysColorSystemContrast = tokens.sysColorSystemContrast,\n sysSizeCircleMd = tokens.sysSizeCircleMd,\n sysSizeCircleXl = tokens.sysSizeCircleXl,\n sysSizeIndicatorLg = tokens.sysSizeIndicatorLg,\n sysSizeIndicatorMd = tokens.sysSizeIndicatorMd,\n sysSizeIndicatorSm = tokens.sysSizeIndicatorSm,\n sysSizeIndicatorXs = tokens.sysSizeIndicatorXs,\n sysSpaceMd = tokens.sysSpaceMd,\n sysSpaceSm = tokens.sysSpaceSm,\n sysSizeIconSm = tokens.sysSizeIconSm,\n sysSizeIconLg = tokens.sysSizeIconLg,\n sysSpaceXl = tokens.sysSpaceXl,\n sysSpaceXs = tokens.sysSpaceXs,\n sysMotionDurationArrive = tokens.sysMotionDurationArrive;\n var _textStyles = textStyles(tokens),\n textBody = _textStyles.body,\n textCaption = _textStyles.caption,\n textCaptionStrong = _textStyles.captionStrong; // Circle progress meter variables\n\n var circleRadiusSvg = 50;\n var circleProgressMeterSize = parseInt(sysSizeCircleXl, 10);\n var circleProgressMeterBorderSize = parseFloat(sysSizeIndicatorSm);\n var circleProgressMeterSmSize = parseInt(sysSizeCircleMd, 10);\n var circleProgressMeterSmBorderSize = sysSizeIndicatorXs;\n var circleProgressMeterPadding = sysSpaceXs;\n var progressIndicatorCircleStrokeWidth = circleProgressMeterBorderSize / circleProgressMeterSize * 100;\n var progressIndicatorCircleSmStrokeWidth = parseFloat(circleProgressMeterSmBorderSize) / circleProgressMeterSmSize * 100;\n var colorMapContrast = new Map();\n colorMapContrast.set(Color.Accent1, sysColorAccent1Contrast);\n colorMapContrast.set(Color.Accent2, sysColorAccent2Contrast);\n colorMapContrast.set(Color.Accent3, sysColorAccent3Contrast);\n colorMapContrast.set(Color.Accent4, sysColorAccent4Contrast);\n var colorMapAccent = new Map();\n colorMapAccent.set(Color.Accent1, sysColorAccent1Main);\n colorMapAccent.set(Color.Accent2, sysColorAccent2Main);\n colorMapAccent.set(Color.Accent3, sysColorAccent3Main);\n colorMapAccent.set(Color.Accent4, sysColorAccent4Main);\n /**\n * Get the styles for the height of the linear progress meter\n * @param height string [This should include value with units, example: `10px`, `2rem`]\n * @returns SerializedStyles\n */\n\n var getProgressMeterHeightStyles = function (height) {\n return css(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n height: \", \";\\n\\n &::-moz-progress-bar {\\n height: \", \";\\n }\\n\\n &::-webkit-progress-value {\\n height: \", \";\\n }\\n\\n &::-webkit-progress-bar {\\n height: \", \";\\n }\\n \"])), height, height, height, height);\n };\n /**\n * Get the styles for color and background\n * @param color Color\n * @returns SerializedStyles\n */\n\n var getColorStyles = function (color) {\n var label = \"color_\".concat(color);\n return css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral([\"\\n label: \", \";\\n color: \", \";\\n background-color: \", \";\\n \"])), label, colorMapContrast.get(color), colorMapAccent.get(color));\n };\n /**\n * Check whether the size is small or not\n * @param size Size\n * @returns boolean\n */\n\n var isSizeSmall = function () {\n var size = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n return size && size === Size.SMALL;\n };\n /**\n * Get the styles for the color of the linear progress meter\n * @param color Color\n * @param backgroundColor string\n * @returns SerializedStyles\n */\n\n var getProgressMeterColorStyles = function (color) {\n var backgroundColor = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : sysColorBackgroundAlt;\n var meterColor = colorMapAccent.get(color);\n var label = \"container_color_\".concat(color);\n return css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral([\"\\n label: \", \";\\n progress {\\n color: \", \";\\n\\n &::-moz-progress-bar {\\n background-color: \", \";\\n }\\n\\n &::-webkit-progress-value {\\n background-color: \", \";\\n }\\n\\n &::-webkit-progress-bar {\\n background-color: \", \";\\n }\\n }\\n \"])), label, colorMapContrast.get(color), meterColor, meterColor, backgroundColor);\n };\n /**\n * Get the styles for the stroke color\n * @param color Color\n * @returns SerializedStyles\n */\n\n var getStrokeColorStyles = function (color) {\n var label = \"stroke_\".concat(color);\n return css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral([\"\\n label: \", \";\\n stroke: \", \";\\n \"])), label, colorMapAccent.get(color));\n };\n /**\n * Get the radius based on circle size\n * @param size Size [defaults to null]\n * @returns number\n */\n\n /**\n * Get the dash offset styles for the Circle Meter\n * @param maxDashOffset number\n * @param dashOffset number\n * @returns SerializedStyles\n */\n var getDashOffsetStyles = function (maxDashOffset, dashOffset) {\n return css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral([\"\\n stroke-dasharray: \", \";\\n stroke-dashoffset: \", \";\\n \"])), maxDashOffset.toFixed(5), dashOffset.toFixed(5));\n };\n /**\n * Get the width and height of the bounding-box / wrapper of the Icon container\n * @param size Size;\n * @returns SerializedStyles\n */\n\n var getIconWrapStyles = function () {\n var size = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n var sizeValue = isSizeSmall(size) ? sysSizeIconSm : sysSizeIconLg;\n return css(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral([\"\\n label: icon_wrap;\\n width: \", \";\\n height: \", \";\\n \"])), sizeValue, sizeValue);\n };\n var base = css(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral([\"\\n label: progress-meter_base;\\n\\n & {\\n padding: \", \" \", \" \", \" \", \";\\n transition: value \", \";\\n }\\n\\n progress {\\n vertical-align: bottom;\\n width: 100%;\\n background-clip: content-box;\\n -webkit-background-clip: content-box;\\n border: \", \" solid transparent;\\n border-radius: \", \";\\n \", \"\\n margin-bottom: \", \";\\n\\n &::-moz-progress-bar {\\n margin-top: -\", \";\\n border-radius: \", \";\\n padding: 0;\\n }\\n\\n &::-webkit-progress-value {\\n margin-top: -\", \";\\n border-radius: \", \";\\n }\\n\\n &::-webkit-progress-bar {\\n border-radius: \", \";\\n }\\n }\\n\\n \", \";\\n \"])), sysSpaceXs, sysSpaceXl, sysSpaceXl, sysSpaceXl, sysMotionDurationArrive, sysBorderThicknessNormal, sysBorderRadiusSm, getProgressMeterHeightStyles(sysSizeIndicatorLg), sysSpaceSm, sysBorderThicknessNormal, sysBorderRadiusSm, sysBorderThicknessNormal, sysBorderRadiusSm, sysBorderRadiusSm, getProgressMeterColorStyles(Color.Accent3));\n var inverseLabel = css(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral([\"\\n label: inverse_label;\\n color: \", \";\\n \"])), sysColorBackgroundSurface);\n var inverseLabelSteps = css(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral([\"\\n label: inverse_steps;\\n color: \", \";\\n \"])), sysColorSystemContrast);\n var inverseLabelTitle = css(_templateObject10 || (_templateObject10 = _taggedTemplateLiteral([\"\\n label: inverse_title;\\n color: \", \";\\n \"])), sysColorBackgroundSurface);\n var label = css(_templateObject11 || (_templateObject11 = _taggedTemplateLiteral([\"\\n label: label;\\n \", \";\\n \"])), textBody({}));\n var steps = css(_templateObject12 || (_templateObject12 = _taggedTemplateLiteral([\"\\n label: steps;\\n \", \"\\n letter-spacing: normal;\\n margin-right: \", \";\\n\\n [dir='rtl'] & {\\n margin-left: \", \";\\n }\\n \"])), textCaptionStrong({}), sysSpaceMd, sysSpaceXs);\n var title = css(_templateObject13 || (_templateObject13 = _taggedTemplateLiteral([\"\\n label: title;\\n \", \"\\n letter-spacing: normal;\\n \"])), textCaption({}));\n var labelSteps = css(_templateObject14 || (_templateObject14 = _taggedTemplateLiteral([\"\\n label: label_steps;\\n \", \"\\n margin-right: \", \";\\n \"])), textBody({}), sysSpaceXs);\n var labelTitle = css(_templateObject15 || (_templateObject15 = _taggedTemplateLiteral([\"\\n label: label_title;\\n \", \"\\n \"])), textBody({\n color: sysColorBackgroundMediumContrast\n }));\n var sizeSm = css(_templateObject16 || (_templateObject16 = _taggedTemplateLiteral([\"\\n label: size_sm;\\n progress {\\n \", \"\\n }\\n \"])), getProgressMeterHeightStyles(sysSizeIndicatorMd));\n var sizeSmLabel = css(_templateObject17 || (_templateObject17 = _taggedTemplateLiteral([\"\\n label: size_sm_label;\\n \", \"\\n \"])), textCaption({}));\n var sizeSmLabelSteps = css(_templateObject18 || (_templateObject18 = _taggedTemplateLiteral([\"\\n label: size_sm_steps;\\n \", \"\\n \"])), textCaption({}));\n var sizeSmLabelTitle = css(_templateObject19 || (_templateObject19 = _taggedTemplateLiteral([\"\\n label: size_sm_title;\\n \", \"\\n \"])), textCaption({\n color: sysColorBackgroundMediumContrast\n }));\n var sizeSmInverseLabelSteps = css(_templateObject20 || (_templateObject20 = _taggedTemplateLiteral([\"\\n label: size_sm_inverse_label_steps;\\n color: \", \";\\n \"])), sysColorSystemContrast);\n var sizeSmInverseLabelTitle = css(_templateObject21 || (_templateObject21 = _taggedTemplateLiteral([\"\\n label: size_sm_inverse_label_title;\\n color: \", \";\\n \"])), sysColorBackgroundSurface); // Circle progress meter Styles\n\n var circleBase = css(_templateObject22 || (_templateObject22 = _taggedTemplateLiteral([\"\\n label: circle-progress-meter_base;\\n position: relative;\\n border-radius: \", \";\\n border: \", \"rem solid \", \";\\n width: \", \"rem;\\n height: \", \"rem;\\n background-color: \", \";\\n padding: \", \";\\n flex-shrink: 0;\\n \"])), sysBorderRadiusInteractive, circleProgressMeterBorderSize, sysColorBackgroundAlt, circleProgressMeterSize, circleProgressMeterSize, sysColorBackgroundSurface, circleProgressMeterPadding);\n var circleInner = css(_templateObject23 || (_templateObject23 = _taggedTemplateLiteral([\"\\n label: circle_inner;\\n border-radius: \", \";\\n width: 100%;\\n height: 100%;\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n \", \"\\n \"])), sysBorderRadiusInteractive, getColorStyles(Color.Accent2));\n var circleInnerImage = css(_templateObject24 || (_templateObject24 = _taggedTemplateLiteral([\"\\n label: circle_inner_image;\\n width: 100%;\\n height: 100%;\\n border-radius: inherit;\\n \"])));\n var circleProgressIndicator = css(_templateObject25 || (_templateObject25 = _taggedTemplateLiteral([\"\\n label: progress_indicator;\\n position: absolute;\\n top: -\", \"rem;\\n left: -\", \"rem;\\n width: \", \"rem;\\n height: \", \"rem;\\n fill: none;\\n stroke-width: \", \"%;\\n stroke-linecap: round;\\n transform: rotate(-90deg);\\n transform-origin: 50% 50%;\\n \", \"\\n \"])), circleProgressMeterBorderSize, circleProgressMeterBorderSize, circleProgressMeterSize, circleProgressMeterSize, progressIndicatorCircleStrokeWidth.toFixed(5), getStrokeColorStyles(Color.Accent2));\n var circleSm = css(_templateObject26 || (_templateObject26 = _taggedTemplateLiteral([\"\\n label: size_sm;\\n width: \", \"rem;\\n height: \", \"rem;\\n border-width: \", \";\\n padding: \", \";\\n \"])), circleProgressMeterSmSize, circleProgressMeterSmSize, circleProgressMeterSmBorderSize, circleProgressMeterPadding);\n var circleSmProgressIndicator = css(_templateObject27 || (_templateObject27 = _taggedTemplateLiteral([\"\\n label: size_sm_progress_indicator;\\n top: -\", \";\\n left: -\", \";\\n width: \", \"rem;\\n height: \", \"rem;\\n stroke-width: \", \"%;\\n \"])), circleProgressMeterSmBorderSize, circleProgressMeterSmBorderSize, circleProgressMeterSmSize, circleProgressMeterSmSize, progressIndicatorCircleSmStrokeWidth);\n return {\n linear: {\n base: base,\n label: label,\n steps: steps,\n title: title,\n getProgressMeterColorStyles: getProgressMeterColorStyles,\n inverseLabel: inverseLabel,\n inverseLabelSteps: inverseLabelSteps,\n inverseLabelTitle: inverseLabelTitle,\n labelSteps: labelSteps,\n labelTitle: labelTitle,\n sizeSm: sizeSm,\n sizeSmLabel: sizeSmLabel,\n sizeSmLabelSteps: sizeSmLabelSteps,\n sizeSmLabelTitle: sizeSmLabelTitle,\n sizeSmInverseLabelSteps: sizeSmInverseLabelSteps,\n sizeSmInverseLabelTitle: sizeSmInverseLabelTitle\n },\n circle: {\n base: circleBase,\n inner: circleInner,\n progressIndicator: circleProgressIndicator,\n sizeSm: circleSm,\n progressIndicatorSizeSm: circleSmProgressIndicator,\n innerImage: circleInnerImage,\n circleRadiusSvg: circleRadiusSvg,\n getStrokeColorStyles: getStrokeColorStyles,\n getCircleRadius: function getCircleRadius() {\n var size = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n return isSizeSmall(size) ? circleRadiusSvg - progressIndicatorCircleSmStrokeWidth / 2 : circleRadiusSvg - progressIndicatorCircleStrokeWidth / 2;\n },\n getDashOffsetStyles: getDashOffsetStyles,\n getIconWrapStyles: getIconWrapStyles\n },\n util: {\n getColorStyles: getColorStyles,\n isSizeSmall: isSizeSmall\n }\n };\n}\nvar _excluded = [\"className\", \"id\", \"max\", \"value\", \"inverse\", \"steps\", \"size\", \"title\", \"color\"];\nvar ProgressMeter = function (_ref) {\n var _styles$util, _styles$util$isSizeSm, _styles$linear, _styles$linear2, _styles$linear3, _styles$linear4, _styles$linear5, _styles$linear5$getPr, _styles$linear6, _styles$linear7, _styles$linear8, _styles$linear9, _styles$linear10, _styles$linear11, _styles$linear12, _styles$linear13, _styles$linear14, _styles$linear15, _styles$linear16;\n var className = _ref.className,\n _ref$id = _ref.id,\n id = _ref$id === void 0 ? uniqueId('progressMeter_') : _ref$id,\n _ref$max = _ref.max,\n max = _ref$max === void 0 ? 0 : _ref$max,\n _ref$value = _ref.value,\n value = _ref$value === void 0 ? 0 : _ref$value,\n _ref$inverse = _ref.inverse,\n inverse = _ref$inverse === void 0 ? false : _ref$inverse,\n steps = _ref.steps,\n size = _ref.size,\n title = _ref.title,\n color = _ref.color,\n rest = _objectWithoutProperties(_ref, _excluded);\n var tokens = useTheme();\n var _styles = useMemo(function () {\n return styles(tokens);\n }, [tokens]);\n var isSizeSmall = (_styles$util = _styles.util) === null || _styles$util === void 0 ? void 0 : (_styles$util$isSizeSm = _styles$util.isSizeSmall) === null || _styles$util$isSizeSm === void 0 ? void 0 : _styles$util$isSizeSm.call(_styles$util, size);\n var labelStyles = [(_styles$linear = _styles.linear) === null || _styles$linear === void 0 ? void 0 : _styles$linear.label, inverse && ((_styles$linear2 = _styles.linear) === null || _styles$linear2 === void 0 ? void 0 : _styles$linear2.inverseLabel), isSizeSmall && ((_styles$linear3 = _styles.linear) === null || _styles$linear3 === void 0 ? void 0 : _styles$linear3.sizeSmLabel)];\n var computedColor = colorMap[color] || color;\n var progressMeterStyles = [(_styles$linear4 = _styles.linear) === null || _styles$linear4 === void 0 ? void 0 : _styles$linear4.base, color && ((_styles$linear5 = _styles.linear) === null || _styles$linear5 === void 0 ? void 0 : (_styles$linear5$getPr = _styles$linear5.getProgressMeterColorStyles) === null || _styles$linear5$getPr === void 0 ? void 0 : _styles$linear5$getPr.call(_styles$linear5, computedColor)), isSizeSmall && ((_styles$linear6 = _styles.linear) === null || _styles$linear6 === void 0 ? void 0 : _styles$linear6.sizeSm)];\n var stepsStyles = [(_styles$linear7 = _styles.linear) === null || _styles$linear7 === void 0 ? void 0 : _styles$linear7.steps, (_styles$linear8 = _styles.linear) === null || _styles$linear8 === void 0 ? void 0 : _styles$linear8.labelSteps, inverse && ((_styles$linear9 = _styles.linear) === null || _styles$linear9 === void 0 ? void 0 : _styles$linear9.inverseLabelSteps), isSizeSmall && ((_styles$linear10 = _styles.linear) === null || _styles$linear10 === void 0 ? void 0 : _styles$linear10.sizeSmLabelSteps), isSizeSmall && inverse && ((_styles$linear11 = _styles.linear) === null || _styles$linear11 === void 0 ? void 0 : _styles$linear11.sizeSmInverseLabelSteps)];\n var titleStyles = [(_styles$linear12 = _styles.linear) === null || _styles$linear12 === void 0 ? void 0 : _styles$linear12.title, (_styles$linear13 = _styles.linear) === null || _styles$linear13 === void 0 ? void 0 : _styles$linear13.labelTitle, inverse && ((_styles$linear14 = _styles.linear) === null || _styles$linear14 === void 0 ? void 0 : _styles$linear14.inverseLabelTitle), isSizeSmall && ((_styles$linear15 = _styles.linear) === null || _styles$linear15 === void 0 ? void 0 : _styles$linear15.sizeSmLabelTitle), isSizeSmall && inverse && ((_styles$linear16 = _styles.linear) === null || _styles$linear16 === void 0 ? void 0 : _styles$linear16.sizeSmInverseLabelTitle)];\n return jsx(\"div\", {\n css: progressMeterStyles,\n className: className,\n \"data-ppui-info\": \"progress-meter_3.4.8\"\n }, jsx(\"progress\", _extends({\n id: id,\n max: max,\n value: value\n }, rest, {\n \"data-ppui\": \"true\"\n })), jsx(\"label\", {\n css: labelStyles,\n htmlFor: id,\n \"data-ppui\": \"true\"\n }, steps && jsx(\"span\", {\n css: stepsStyles,\n \"data-ppui\": \"true\"\n }, steps), title && jsx(\"span\", {\n css: titleStyles,\n \"data-ppui\": \"true\"\n }, title)));\n};\nvar _excluded$1 = [\"className\", \"max\", \"value\", \"color\", \"label\", \"size\", \"children\"],\n _excluded2 = [\"iconComponent\", \"size\"],\n _excluded3 = [\"imageSrc\"];\nvar CircleProgressMeter = forwardRef(function (props, ref) {\n var _styles$util, _styles$util$isSizeSm, _styles$circle, _styles$circle$getCir, _styles$circle2, _styles$circle3, _styles$circle4, _styles$circle5, _styles$circle6, _styles$circle7, _styles$circle7$getDa, _styles$circle8, _styles$util2, _styles$util2$getColo, _styles$circle9, _styles$circle10;\n var className = props.className,\n _props$max = props.max,\n max = _props$max === void 0 ? 1 : _props$max,\n _props$value = props.value,\n value = _props$value === void 0 ? 0 : _props$value,\n color = props.color,\n label = props.label,\n size = props.size,\n children = props.children,\n rest = _objectWithoutProperties(props, _excluded$1);\n var tokens = useTheme();\n var _styles = useMemo(function () {\n return styles(tokens);\n }, [tokens]);\n var _utilStyles = utilStyles(tokens),\n screenReader = _utilStyles.screenReader;\n var isSizeSmall = (_styles$util = _styles.util) === null || _styles$util === void 0 ? void 0 : (_styles$util$isSizeSm = _styles$util.isSizeSmall) === null || _styles$util$isSizeSm === void 0 ? void 0 : _styles$util$isSizeSm.call(_styles$util, size);\n var radius = (_styles$circle = _styles.circle) === null || _styles$circle === void 0 ? void 0 : (_styles$circle$getCir = _styles$circle.getCircleRadius) === null || _styles$circle$getCir === void 0 ? void 0 : _styles$circle$getCir.call(_styles$circle, size);\n var maxDashOffset = 2 * Math.PI * radius;\n\n /* \n // Commenting out code related to draw out animation\n const [dashOffset, setDashOffset] = useState(maxDashOffset);\n useEffect(() => {\n const newDashOffset = maxDashOffset - (value / max) * maxDashOffset;\n setDashOffset(newDashOffset);\n }, [value]);\n */\n var computedColor = colorMap[color] || color;\n var baseStyles = [(_styles$circle2 = _styles.circle) === null || _styles$circle2 === void 0 ? void 0 : _styles$circle2.base, isSizeSmall && ((_styles$circle3 = _styles.circle) === null || _styles$circle3 === void 0 ? void 0 : _styles$circle3.sizeSm)];\n var iconStyles = [(_styles$circle4 = _styles.circle) === null || _styles$circle4 === void 0 ? void 0 : _styles$circle4.progressIndicator, color && ((_styles$circle5 = _styles.circle) === null || _styles$circle5 === void 0 ? void 0 : _styles$circle5.getStrokeColorStyles(computedColor)), isSizeSmall && ((_styles$circle6 = _styles.circle) === null || _styles$circle6 === void 0 ? void 0 : _styles$circle6.progressIndicatorSizeSm), (_styles$circle7 = _styles.circle) === null || _styles$circle7 === void 0 ? void 0 : (_styles$circle7$getDa = _styles$circle7.getDashOffsetStyles) === null || _styles$circle7$getDa === void 0 ? void 0 : _styles$circle7$getDa.call(_styles$circle7, maxDashOffset, maxDashOffset - value / max * maxDashOffset)];\n var circleInnerStyles = [(_styles$circle8 = _styles.circle) === null || _styles$circle8 === void 0 ? void 0 : _styles$circle8.inner, color && ((_styles$util2 = _styles.util) === null || _styles$util2 === void 0 ? void 0 : (_styles$util2$getColo = _styles$util2.getColorStyles) === null || _styles$util2$getColo === void 0 ? void 0 : _styles$util2$getColo.call(_styles$util2, computedColor))];\n return jsx(\"div\", {\n css: baseStyles,\n className: className,\n \"data-ppui-info\": \"progress-meter_3.4.8\"\n }, jsx(\"svg\", {\n css: iconStyles,\n \"aria-hidden\": \"true\",\n viewBox: \"0 0 100 100\",\n xmlns: \"http://www.w3.org/2000/svg\",\n \"data-ppui\": \"true\"\n }, jsx(\"circle\", {\n cx: (_styles$circle9 = _styles.circle) === null || _styles$circle9 === void 0 ? void 0 : _styles$circle9.circleRadiusSvg,\n cy: (_styles$circle10 = _styles.circle) === null || _styles$circle10 === void 0 ? void 0 : _styles$circle10.circleRadiusSvg,\n r: radius,\n \"data-ppui\": \"true\"\n })), jsx(\"div\", {\n css: circleInnerStyles,\n \"aria-hidden\": \"true\",\n \"data-ppui\": \"true\"\n }, children), jsx(\"label\", {\n css: screenReader,\n \"data-ppui\": \"true\"\n }, label, jsx(\"progress\", _extends({\n max: max,\n value: value\n }, rest, {\n ref: ref,\n \"data-ppui\": \"true\"\n }))));\n});\nvar IconProgressMeter = forwardRef(function (props, ref) {\n var _styles$util3, _styles$util3$isSizeS, _styles$circle11, _styles$circle11$getI;\n var tokens = useTheme();\n var _styles = useMemo(function () {\n return styles(tokens);\n }, [tokens]);\n var iconComponent = props.iconComponent,\n size = props.size,\n rest = _objectWithoutProperties(props, _excluded2);\n var iconSize = ((_styles$util3 = _styles.util) === null || _styles$util3 === void 0 ? void 0 : (_styles$util3$isSizeS = _styles$util3.isSizeSmall) === null || _styles$util3$isSizeS === void 0 ? void 0 : _styles$util3$isSizeS.call(_styles$util3, size)) ? Size.SMALL : Size.LARGE;\n return jsx(CircleProgressMeter, _extends({\n size: size,\n ref: ref\n }, rest, {\n \"data-ppui\": \"true\"\n }), jsx(\"div\", {\n css: (_styles$circle11 = _styles.circle) === null || _styles$circle11 === void 0 ? void 0 : (_styles$circle11$getI = _styles$circle11.getIconWrapStyles) === null || _styles$circle11$getI === void 0 ? void 0 : _styles$circle11$getI.call(_styles$circle11, size),\n \"data-ppui\": \"true\"\n }, jsx(iconComponent, {\n size: iconSize,\n \"data-ppui\": \"true\"\n })));\n});\nvar ImageProgressMeter = forwardRef(function (props, ref) {\n var _styles$circle12;\n var imageSrc = props.imageSrc,\n rest = _objectWithoutProperties(props, _excluded3);\n var tokens = useTheme();\n var _styles = useMemo(function () {\n return styles(tokens);\n }, [tokens]);\n return jsx(CircleProgressMeter, _extends({\n ref: ref\n }, rest, {\n \"data-ppui\": \"true\"\n }), jsx(\"img\", {\n src: imageSrc,\n css: (_styles$circle12 = _styles.circle) === null || _styles$circle12 === void 0 ? void 0 : _styles$circle12.innerImage,\n \"data-ppui\": \"true\"\n }));\n});\nexport { CircleProgressMeter, IconProgressMeter, ImageProgressMeter, ProgressMeter, styles as progressMeterStyles };","import _taggedTemplateLiteral from '@babel/runtime/helpers/esm/taggedTemplateLiteral';\nimport { css, useTheme, jsx } from '@emotion/react';\nimport { math } from 'polished';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';\nimport React, { useMemo } from 'react';\nimport { BodyText, CaptionText } from '@paypalcorp/pp-react-text';\nimport { CloseIcon, CriticalIcon, ClockIcon, CheckmarkIcon } from '@paypalcorp/pp-react-icons';\nvar _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17, _templateObject18, _templateObject19, _templateObject20, _templateObject21, _templateObject22, _templateObject23, _templateObject24, _templateObject25, _templateObject26;\nfunction styles(tokens) {\n /* istanbul ignore next */\n if (!Object.keys(tokens).length) {\n console.warn('Missing Emotion theme. Use ThemeProvider from @emotion/react to pass a valid theme from pp-react.');\n return {};\n }\n var sysColorPrimaryContrast = tokens.sysColorPrimaryContrast,\n sysColorStructureDivider = tokens.sysColorStructureDivider,\n sysColorBackgroundHighContrast = tokens.sysColorBackgroundHighContrast,\n sysColorBackgroundMediumContrast = tokens.sysColorBackgroundMediumContrast,\n sysColorBackgroundAlt = tokens.sysColorBackgroundAlt,\n sysColorBackgroundSurface = tokens.sysColorBackgroundSurface,\n sysColorSuccessMain = tokens.sysColorSuccessMain,\n sysColorWarningMain = tokens.sysColorWarningMain,\n sysColorErrorMain = tokens.sysColorErrorMain,\n sysSpaceJumbo = tokens.sysSpaceJumbo,\n sysSpaceLg = tokens.sysSpaceLg,\n sysSpaceXs = tokens.sysSpaceXs,\n sysSizeIconMd = tokens.sysSizeIconMd,\n sysBorderThicknessFocus = tokens.sysBorderThicknessFocus,\n sysBorderRadiusInteractive = tokens.sysBorderRadiusInteractive,\n sysSizeMediaMd = tokens.sysSizeMediaMd;\n var bgColorMap = {\n success: sysColorSuccessMain,\n warning: sysColorWarningMain,\n critical: sysColorErrorMain,\n cancelled: sysColorErrorMain,\n default: sysColorBackgroundSurface\n };\n var markerFn = function (type) {\n return css(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n // prettier-ignore\\n label: marker_\", \";\\n &:after {\\n background-color: \", \";\\n }\\n \"])), type, bgColorMap[type]);\n };\n var iconFn = function (type) {\n return css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral([\"\\n // prettier-ignore\\n label: icon_\", \";\\n background-color: \", \";\\n \"])), type, bgColorMap[type]);\n };\n var verticalStyles = {\n base: css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral([\"\\n display: block;\\n \"]))),\n item: css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral([\"\\n flex-direction: row;\\n align-items: initial;\\n \"]))),\n itemContent: css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral([\"\\n margin: \", \" 0;\\n text-align: initial;\\n \"])), sysSpaceLg),\n itemContentWithoutDescription: css(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral([\"\\n display: inline-flex;\\n align-items: center;\\n \"]))),\n marker: css(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral([\"\\n margin: 0 \", \" 0 \", \";\\n padding: \", \" 0;\\n &:after {\\n left: auto;\\n top: \", \"; // Margin + Icon Size\\n width: \", \"; // This is termed as a border for designers, hence used border token\\n height: 100%;\\n [dir='rtl'] & {\\n right: auto;\\n }\\n }\\n \"])), sysSpaceLg, sysSpaceJumbo, sysSpaceLg, math(\"\".concat(sysSizeIconMd, \" + \").concat(sysSpaceLg)), sysBorderThicknessFocus)\n };\n var base = css(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral([\"\\n label: step_tracker_base;\\n color: \", \";\\n list-style: none;\\n margin: 0;\\n padding: 0;\\n display: grid;\\n grid-template-columns: repeat(auto-fit, minmax(0, 1fr));\\n &[data-stepper-variant='vertical'] {\\n \", \"\\n }\\n @media screen and (max-width: \", \") {\\n \", \"\\n }\\n \"])), sysColorBackgroundHighContrast, verticalStyles.base, sysSizeMediaMd, verticalStyles.base);\n var item = css(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral([\"\\n label: timeline_item;\\n display: flex;\\n position: relative;\\n flex-direction: column;\\n align-items: center;\\n &:last-of-type {\\n > div:first-of-type {\\n &:after {\\n display: none;\\n }\\n }\\n }\\n @media screen and (max-width: \", \") {\\n \", \"\\n }\\n [data-stepper-variant='vertical'] & {\\n \", \"\\n }\\n \"])), sysSizeMediaMd, verticalStyles.item, verticalStyles.item);\n var itemContent = css(_templateObject10 || (_templateObject10 = _taggedTemplateLiteral([\"\\n label: timeline_item_content;\\n text-align: center;\\n margin-top: \", \";\\n @media screen and (max-width: \", \") {\\n \", \"\\n }\\n [data-stepper-variant='vertical'] & {\\n \", \"\\n }\\n \"])), sysSpaceLg, sysSizeMediaMd, verticalStyles.itemContent, verticalStyles.itemContent);\n var itemContentWithoutDescription = css(_templateObject11 || (_templateObject11 = _taggedTemplateLiteral([\"\\n label: content_without_description;\\n @media screen and (max-width: \", \") {\\n \", \"\\n }\\n [data-stepper-variant='vertical'] & {\\n \", \"\\n }\\n \"])), sysSizeMediaMd, verticalStyles.itemContentWithoutDescription, verticalStyles.itemContentWithoutDescription);\n var description = css(_templateObject12 || (_templateObject12 = _taggedTemplateLiteral([\"\\n label: description;\\n color: \", \";\\n margin-top: \", \";\\n \"])), sysColorBackgroundMediumContrast, sysSpaceXs);\n var marker = css(_templateObject13 || (_templateObject13 = _taggedTemplateLiteral([\"\\n label: marker;\\n color: \", \";\\n display: flex;\\n justify-content: center;\\n margin: 0;\\n padding: 0;\\n &:after {\\n position: absolute;\\n content: '';\\n top: \", \";\\n left: calc(50% + \", \");\\n width: calc(100% - \", \");\\n height: \", \"; // This is termed as a border for designers, hence used border token\\n background-color: \", \";\\n [dir='rtl'] & {\\n left: auto;\\n right: calc(50% + \", \");\\n }\\n }\\n @media screen and (max-width: \", \") {\\n \", \"\\n }\\n [data-stepper-variant='vertical'] & {\\n \", \"\\n }\\n \"])), sysColorBackgroundAlt, sysSpaceLg, sysSpaceLg, sysSpaceLg, sysBorderThicknessFocus, sysColorStructureDivider, sysSpaceLg, sysSizeMediaMd, verticalStyles.marker, verticalStyles.marker);\n var successMarker = css(_templateObject14 || (_templateObject14 = _taggedTemplateLiteral([\"\\n \", \"\\n \"])), markerFn('success'));\n var warningMarker = css(_templateObject15 || (_templateObject15 = _taggedTemplateLiteral([\"\\n \", \"\\n \"])), markerFn('warning'));\n var cancelledMarker = css(_templateObject16 || (_templateObject16 = _taggedTemplateLiteral([\"\\n \", \"\\n \"])), markerFn('cancelled'));\n var criticalMarker = css(_templateObject17 || (_templateObject17 = _taggedTemplateLiteral([\"\\n \", \"\\n \"])), markerFn('critical'));\n var icon = css(_templateObject18 || (_templateObject18 = _taggedTemplateLiteral([\"\\n label: icon;\\n border-radius: \", \";\\n height: \", \";\\n width: \", \";\\n padding: \", \";\\n \"])), sysBorderRadiusInteractive, sysSizeIconMd, sysSizeIconMd, sysSpaceXs);\n var cancelledIcon = css(_templateObject19 || (_templateObject19 = _taggedTemplateLiteral([\"\\n \", \"\\n \"])), iconFn('cancelled'));\n var criticalIcon = css(_templateObject20 || (_templateObject20 = _taggedTemplateLiteral([\"\\n \", \"\\n \"])), iconFn('critical'));\n var warningIcon = css(_templateObject21 || (_templateObject21 = _taggedTemplateLiteral([\"\\n \", \"\\n \"])), iconFn('warning'));\n var successIcon = css(_templateObject22 || (_templateObject22 = _taggedTemplateLiteral([\"\\n \", \"\\n \"])), iconFn('success'));\n var defaultIcon = css(_templateObject23 || (_templateObject23 = _taggedTemplateLiteral([\"\\n \", \"\\n border: \", \" solid \", \";\\n padding: \", \" \", \";\\n \"])), iconFn('default'), sysBorderThicknessFocus, sysColorStructureDivider, sysSpaceXs, math(\"\".concat(sysSpaceLg, \" - \").concat(sysBorderThicknessFocus)));\n var numeric = css(_templateObject24 || (_templateObject24 = _taggedTemplateLiteral([\"\\n label: numeric;\\n text-align: center;\\n \"])));\n var numericDefault = css(_templateObject25 || (_templateObject25 = _taggedTemplateLiteral([\"\\n label: numeric_default;\\n background-color: \", \";\\n padding: 0;\\n \"])), sysColorBackgroundAlt);\n var numericSuccess = css(_templateObject26 || (_templateObject26 = _taggedTemplateLiteral([\"\\n label: numeric_success;\\n color: \", \";\\n \"])), sysColorPrimaryContrast);\n return {\n base: base,\n item: item,\n itemContent: itemContent,\n itemContentWithoutDescription: itemContentWithoutDescription,\n description: description,\n marker: marker,\n successMarker: successMarker,\n warningMarker: warningMarker,\n cancelledMarker: cancelledMarker,\n criticalMarker: criticalMarker,\n icon: icon,\n cancelledIcon: cancelledIcon,\n criticalIcon: criticalIcon,\n warningIcon: warningIcon,\n successIcon: successIcon,\n defaultIcon: defaultIcon,\n numeric: numeric,\n numericSuccess: numericSuccess,\n numericDefault: numericDefault\n };\n}\nvar _excluded = [\"className\", \"children\", \"showDescription\", \"desktopVariant\"];\nvar ProgressStepper = function (_ref) {\n var className = _ref.className,\n children = _ref.children,\n _ref$showDescription = _ref.showDescription,\n showDescription = _ref$showDescription === void 0 ? 'all' : _ref$showDescription,\n desktopVariant = _ref.desktopVariant,\n rest = _objectWithoutProperties(_ref, _excluded);\n var tokens = useTheme();\n var _styles = useMemo(function () {\n return styles(tokens);\n }, [tokens]);\n var childrenMap;\n var isCurrentDetected = false;\n var statusQueue = [];\n React.Children.map(children, function (child) {\n var status = child.props.status;\n statusQueue.push(status || 'default');\n });\n childrenMap = React.Children.map(children, function (child, index) {\n var _child$props = child.props,\n isCurrent = _child$props.isCurrent,\n isDescriptionEnabled = _child$props.isDescriptionEnabled; // Decide when to display the description giving priority to override\n\n if (isDescriptionEnabled === undefined) {\n // Always display Current unless display option is \"none\" or is overridden\n if (isCurrent) {\n isDescriptionEnabled = true;\n isCurrentDetected = true;\n }\n if (showDescription === 'all' || showDescription === 'current' && isCurrent || showDescription === 'afterCurrent' && isCurrentDetected === true || showDescription === 'beforeCurrent' && isCurrentDetected === false) {\n isDescriptionEnabled = true;\n } else if (showDescription === 'none') {\n isDescriptionEnabled = false;\n }\n }\n var currentStep = index + 1;\n var nextStatus = statusQueue[currentStep] === 'default' && statusQueue[index] === 'success' ? 'success' : statusQueue[currentStep];\n return React.cloneElement(child, {\n isDescriptionEnabled: isDescriptionEnabled,\n status: statusQueue[index],\n nextStatus: nextStatus,\n index: currentStep,\n 'aria-setsize': statusQueue.length,\n 'aria-posinset': currentStep\n });\n });\n return jsx(\"ul\", _extends({\n css: _styles.base,\n className: className,\n \"data-stepper-variant\": desktopVariant,\n \"data-ppui-info\": \"progress-stepper_2.2.9\"\n }, rest), childrenMap);\n};\nvar _excluded$1 = [\"title\", \"status\", \"ariaLabel\", \"isCurrent\", \"isDescriptionEnabled\", \"children\", \"nextStatus\", \"className\", \"isNumeric\", \"index\"];\nvar Step = function (_ref) {\n var _ref$title = _ref.title,\n title = _ref$title === void 0 ? 'no title' : _ref$title,\n status = _ref.status,\n ariaLabel = _ref.ariaLabel,\n isCurrent = _ref.isCurrent,\n _ref$isDescriptionEna = _ref.isDescriptionEnabled,\n isDescriptionEnabled = _ref$isDescriptionEna === void 0 ? undefined : _ref$isDescriptionEna,\n children = _ref.children,\n nextStatus = _ref.nextStatus,\n className = _ref.className,\n _ref$isNumeric = _ref.isNumeric,\n isNumeric = _ref$isNumeric === void 0 ? false : _ref$isNumeric,\n index = _ref.index,\n rest = _objectWithoutProperties(_ref, _excluded$1);\n var tokens = useTheme();\n var _styles = useMemo(function () {\n return styles(tokens);\n }, [tokens]);\n var mapping = {\n cancelled: jsx(CloseIcon, {\n size: \"sm\",\n color: \"sysColorErrorContrast\",\n \"data-ppui\": \"true\"\n }),\n critical: jsx(CriticalIcon, {\n size: \"sm\",\n color: \"sysColorErrorContrast\",\n \"data-ppui\": \"true\"\n }),\n warning: jsx(ClockIcon, {\n size: \"sm\",\n color: \"sysColorWarningContrast\",\n \"data-ppui\": \"true\"\n }),\n success: isNumeric ? jsx(BodyText, {\n css: [_styles.numeric, _styles.numericSuccess],\n \"data-ppui\": \"true\"\n }, index) : jsx(CheckmarkIcon, {\n size: \"sm\",\n color: \"sysColorSuccessContrast\",\n \"data-ppui\": \"true\"\n }),\n default: isNumeric ? jsx(BodyText, {\n css: _styles.numeric,\n \"data-ppui\": \"true\"\n }, index) : jsx(React.Fragment, null)\n };\n var statusName = mapping[status] ? status : 'default';\n var nextStatusName = mapping[nextStatus] ? nextStatus : 'default';\n var itemContentCSS = [_styles.itemContent, (!isDescriptionEnabled || !children) && _styles.itemContentWithoutDescription];\n var markerCSS = [_styles.marker,\n //@ts-ignore\n nextStatusName && _styles[nextStatusName + 'Marker']];\n var iconCSS = [_styles.icon,\n //@ts-ignore\n _styles[statusName + 'Icon'], isNumeric && statusName === 'default' && _styles.numericDefault];\n return jsx(\"li\", _extends({\n css: _styles.item,\n className: className,\n \"aria-current\": !!isCurrent\n }, rest, {\n \"data-ppui\": \"true\"\n }), jsx(\"div\", {\n css: markerCSS,\n \"aria-hidden\": !ariaLabel,\n \"data-ppui\": \"true\"\n }, jsx(\"div\", {\n role: ariaLabel && 'img',\n \"aria-label\": ariaLabel,\n css: iconCSS,\n \"data-ppui\": \"true\"\n }, mapping[statusName])), jsx(\"div\", {\n css: itemContentCSS,\n \"data-ppui\": \"true\"\n }, jsx(BodyText, {\n strong: !!isCurrent,\n \"data-ppui\": \"true\"\n }, title), isDescriptionEnabled && children && jsx(CaptionText, {\n css: _styles.description,\n \"data-ppui\": \"true\"\n }, children)));\n};\nexport { ProgressStepper, Step, styles as progressStepperStyles };","import _taggedTemplateLiteral from '@babel/runtime/helpers/esm/taggedTemplateLiteral';\nimport { css, useTheme, jsx } from '@emotion/react';\nimport { math } from 'polished';\nimport { textStyles } from '@paypalcorp/pp-react-text';\nimport { utilStyles, uniqueId } from '@paypalcorp/pp-react-utils';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';\nimport React, { forwardRef, useMemo } from 'react';\nimport _defineProperty from '@babel/runtime/helpers/esm/defineProperty';\nimport { CriticalIcon } from '@paypalcorp/pp-react-icons';\nvar _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17, _templateObject18;\nfunction styles(tokens) {\n /* istanbul ignore next */\n if (!Object.keys(tokens).length) {\n console.warn('Missing Emotion theme. Use ThemeProvider from @emotion/react to pass a valid theme from pp-react.');\n return {};\n }\n var sysBorderRadiusInteractive = tokens.sysBorderRadiusInteractive,\n sysBorderThicknessEmphasis = tokens.sysBorderThicknessEmphasis,\n sysBorderThicknessNormal = tokens.sysBorderThicknessNormal,\n sysColorBackgroundMediumContrast = tokens.sysColorBackgroundMediumContrast,\n sysColorBackgroundSurface = tokens.sysColorBackgroundSurface,\n sysColorBackgroundSurfaceActive = tokens.sysColorBackgroundSurfaceActive,\n sysColorErrorMain = tokens.sysColorErrorMain,\n sysColorSelectedMain = tokens.sysColorSelectedMain,\n sysColorStructureBorderHighContrast = tokens.sysColorStructureBorderHighContrast,\n sysSizeCircleXs = tokens.sysSizeCircleXs,\n sysSizeTapTargetSm = tokens.sysSizeTapTargetSm,\n sysSpaceSm = tokens.sysSpaceSm,\n sysSpaceMd = tokens.sysSpaceMd,\n sysSpaceXl = tokens.sysSpaceXl,\n sysSpaceXs = tokens.sysSpaceXs;\n var radiobuttonItemTextSpacing = math(\"\".concat(sysSpaceXl, \" + \").concat(sysSpaceMd));\n var _textStyles = textStyles(tokens),\n textCaption = _textStyles.caption,\n fieldLabelLg = _textStyles.fieldLabelLg,\n fieldValueSm = _textStyles.fieldValueSm;\n var _utilStyles = utilStyles(tokens),\n focusStyles = _utilStyles.focusStyles;\n var focusAfter = focusStyles.focusAfter,\n stateErrorFocusBorderColorInner = focusStyles.stateErrorFocusBorderColorInner,\n stateErrorFocusBorderColorOuter = focusStyles.stateErrorFocusBorderColorOuter,\n stateFocusBorderColorInner = focusStyles.stateFocusBorderColorInner,\n stateFocusBorderWidthInner = focusStyles.stateFocusBorderWidthInner; // Base Class for radio-group\n\n var radioGroupBase = css(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n label: radio_group_base;\\n display: flex; // to avoid collapsing margins\\n flex-direction: column;\\n margin: 0;\\n padding: 0;\\n border: none;\\n text-align: left;\\n\\n [dir='rtl'] & {\\n text-align: right;\\n }\\n \"]))); // Base Class for radio\n\n var radioBase = css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral([\"\\n label: radio_base;\\n position: relative;\\n padding: \", \" 0;\\n text-align: left;\\n\\n [dir='rtl'] & {\\n text-align: right;\\n }\\n \"])), sysSpaceMd);\n var radioGroupLabel = css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral([\"\\n label: radio_group_label;\\n \", \";\\n display: block;\\n padding-bottom: \", \";\\n margin-bottom: \", \";\\n \"])), fieldLabelLg({\n color: sysColorBackgroundMediumContrast\n }), sysSpaceMd, sysSpaceXs);\n var radioGroupLabelWithIcon = css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral([\"\\n label: with_icon;\\n display: flex;\\n align-items: center;\\n min-height: \", \";\\n padding-bottom: 0;\\n \"])), sysSizeTapTargetSm);\n var radioGroupLabelIcon = css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral([\"\\n label: radio_group_label-icon;\\n margin-inline-start: \", \";\\n \"])), sysSpaceSm);\n var radioLabel = css(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral([\"\\n label: radio_label;\\n -moz-osx-font-smoothing: grayscale;\\n cursor: pointer;\\n display: inline-block;\\n padding-left: \", \";\\n \", \"\\n position: relative;\\n -webkit-tap-highlight-color: transparent;\\n\\n [dir='rtl'] & {\\n padding-right: \", \";\\n padding-left: 0;\\n }\\n \"])), radiobuttonItemTextSpacing, fieldValueSm(), radiobuttonItemTextSpacing);\n var checkIconContainer = css(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral([\"\\n label: check_icon_container;\\n border-radius: \", \";\\n border: \", \" solid\\n \", \";\\n height: \", \";\\n position: absolute;\\n top: 0;\\n left: 0;\\n width: \", \";\\n background-color: \", \";\\n\\n [dir='rtl'] & {\\n right: 0;\\n }\\n \"])), sysBorderRadiusInteractive, sysBorderThicknessNormal, sysColorStructureBorderHighContrast, sysSizeCircleXs, sysSizeCircleXs, sysColorBackgroundSurface);\n var errorCheckIconContainer = css(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral([\"\\n label: error_check_icon_container;\\n border: \", \" solid \", \";\\n \"])), sysBorderThicknessEmphasis, sysColorErrorMain);\n var checkIcon = css(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral([\"\\n label: check_icon;\\n display: none;\\n \"])));\n var input = css(_templateObject10 || (_templateObject10 = _taggedTemplateLiteral([\"\\n label: input;\\n cursor: pointer;\\n opacity: 0;\\n position: absolute;\\n margin: 0;\\n\\n &:checked + label > span:first-of-type {\\n border-color: \", \";\\n background-color: \", \";\\n color: \", \";\\n\\n span:first-of-type {\\n display: inline;\\n }\\n }\\n\\n &:focus + label:after {\\n \", \"\\n }\\n\\n &:active:not(:checked) + label > span:first-of-type {\\n background: \", \";\\n }\\n\\n [dir='rtl'] & {\\n &:focus + label:after {\\n left: 0;\\n }\\n }\\n \"])), sysColorSelectedMain, sysColorSelectedMain, sysColorBackgroundSurface, focusAfter({\n radius: sysBorderRadiusInteractive,\n width: sysSizeCircleXs,\n height: sysSizeCircleXs,\n border: \"\".concat(sysBorderThicknessEmphasis, \" solid \").concat(stateFocusBorderColorInner)\n }), sysColorBackgroundSurfaceActive);\n var inputWithError = css(_templateObject11 || (_templateObject11 = _taggedTemplateLiteral([\"\\n label: input_with_error;\\n &:checked + label > span:first-of-type {\\n border: \", \" solid \", \";\\n }\\n\\n &:focus + label > span:first-of-type {\\n outline: none;\\n }\\n\\n &:focus + label:after {\\n \", \"\\n }\\n \"])), sysBorderThicknessEmphasis, sysColorErrorMain, focusAfter({\n radius: sysBorderRadiusInteractive,\n width: sysSizeCircleXs,\n height: sysSizeCircleXs,\n border: \"\".concat(stateFocusBorderWidthInner, \" solid \").concat(stateErrorFocusBorderColorInner),\n boxShadowColor: stateErrorFocusBorderColorOuter\n }));\n var centeredLabelCheckIconContainer = css(_templateObject12 || (_templateObject12 = _taggedTemplateLiteral([\"\\n label: centered_label_check_icon_container;\\n top: 50%;\\n transform: translateY(-50%);\\n \"])));\n var centeredLabelInput = css(_templateObject13 || (_templateObject13 = _taggedTemplateLiteral([\"\\n label: centered_label_input;\\n &:focus + label:after {\\n \", \";\\n top: 50%;\\n transform: translateY(-50%);\\n }\\n \"])), focusAfter({\n radius: sysBorderRadiusInteractive,\n width: sysSizeCircleXs,\n height: sysSizeCircleXs\n }));\n var errorCenteredLabelInput = css(_templateObject14 || (_templateObject14 = _taggedTemplateLiteral([\"\\n label: error_centered_label_input;\\n &:focus + label:after {\\n \", \";\\n top: 50%;\\n transform: translateY(-50%);\\n }\\n \"])), focusAfter({\n radius: sysBorderRadiusInteractive,\n width: sysSizeCircleXs,\n height: sysSizeCircleXs,\n border: \"\".concat(stateFocusBorderWidthInner, \" solid \").concat(stateErrorFocusBorderColorInner),\n boxShadowColor: stateErrorFocusBorderColorOuter\n }));\n var helperText = css(_templateObject15 || (_templateObject15 = _taggedTemplateLiteral([\"\\n label: helper_text;\\n \", \";\\n margin: 0;\\n list-style: none; // In case it's a list of helper texts\\n margin-top: \", \";\\n \"])), textCaption({\n color: sysColorBackgroundMediumContrast\n }), sysSpaceXs);\n var groupHelperText = css(_templateObject16 || (_templateObject16 = _taggedTemplateLiteral([\"\\n label: group_helper_text;\\n \", \";\\n margin: 0;\\n list-style: none; // In case it's a list of helper texts\\n \"])), textCaption({\n color: sysColorBackgroundMediumContrast\n }));\n var errorText = css(_templateObject17 || (_templateObject17 = _taggedTemplateLiteral([\"\\n label: error_text;\\n \", \";\\n display: flex;\\n margin: 0;\\n align-items: center;\\n \"])), textCaption({\n color: sysColorBackgroundMediumContrast\n }));\n var errorIcon = css(_templateObject18 || (_templateObject18 = _taggedTemplateLiteral([\"\\n label: error_icon;\\n color: \", \";\\n margin-right: \", \";\\n\\n [dir='rtl'] & {\\n margin-left: \", \";\\n margin-right: 0;\\n }\\n \"])), sysColorErrorMain, sysSpaceXs, sysSpaceXs);\n return {\n radioGroupBase: radioGroupBase,\n radioBase: radioBase,\n radioGroupLabel: radioGroupLabel,\n radioGroupLabelWithIcon: radioGroupLabelWithIcon,\n radioGroupLabelIcon: radioGroupLabelIcon,\n radioLabel: radioLabel,\n checkIconContainer: checkIconContainer,\n errorCheckIconContainer: errorCheckIconContainer,\n checkIcon: checkIcon,\n input: input,\n inputWithError: inputWithError,\n centeredLabelCheckIconContainer: centeredLabelCheckIconContainer,\n centeredLabelInput: centeredLabelInput,\n errorCenteredLabelInput: errorCenteredLabelInput,\n helperText: helperText,\n groupHelperText: groupHelperText,\n errorText: errorText,\n errorIcon: errorIcon\n };\n}\nvar _excluded = [\"label\", \"name\", \"value\", \"id\", \"centeredLabel\", \"helperText\", \"className\", \"labelClassName\", \"onChange\", \"checked\", \"errorText\"];\nvar renderHelperText = function (text, helperTextCssVals) {\n return text && jsx(\"p\", {\n css: helperTextCssVals,\n \"data-ppui\": \"true\"\n }, text);\n};\nvar inferValue = function (label) {\n if (typeof label === 'string') {\n return label;\n }\n return 'value_not_set';\n};\nvar RadioCheckIcon = function (props) {\n return jsx(\"span\", {\n css: props.checkIconCssVals,\n \"aria-hidden\": \"true\",\n \"data-ppui\": \"true\"\n }, jsx(\"svg\", {\n viewBox: \"0 0 100 100\",\n xmlns: \"http://www.w3.org/2000/svg\",\n \"data-ppui\": \"true\"\n }, jsx(\"circle\", {\n r: \"18\",\n cy: \"50\",\n cx: \"50\",\n strokeWidth: \"0\",\n fill: \"currentColor\",\n \"data-ppui\": \"true\"\n })));\n};\nvar Radio = forwardRef(function (_ref, ref) {\n var label = _ref.label,\n _ref$name = _ref.name,\n name = _ref$name === void 0 ? uniqueId() : _ref$name,\n _ref$value = _ref.value,\n value = _ref$value === void 0 ? inferValue(label) : _ref$value,\n _ref$id = _ref.id,\n id = _ref$id === void 0 ? \"Radio_\".concat(name, \"_\").concat(value) : _ref$id,\n _ref$centeredLabel = _ref.centeredLabel,\n centeredLabel = _ref$centeredLabel === void 0 ? false : _ref$centeredLabel,\n helperText = _ref.helperText,\n className = _ref.className,\n labelClassName = _ref.labelClassName,\n onChange = _ref.onChange,\n _ref$checked = _ref.checked,\n checked = _ref$checked === void 0 ? false : _ref$checked,\n errorText = _ref.errorText,\n rest = _objectWithoutProperties(_ref, _excluded);\n var tokens = useTheme();\n var _styles = useMemo(function () {\n return styles(tokens);\n }, [tokens]);\n var checkedPropName = onChange ? 'checked' : 'defaultChecked';\n var valueProps = {\n onChange: onChange\n };\n valueProps[checkedPropName] = checked;\n var inputCssVals = [_styles.input, !!errorText && _styles.inputWithError, centeredLabel && _styles.centeredLabelInput, /* istanbul ignore next */\n !!errorText && centeredLabel && _styles.errorCenteredLabelInput];\n var checkIconContainerCssVals = [_styles.checkIconContainer, !!errorText && _styles.errorCheckIconContainer, centeredLabel && _styles.centeredLabelCheckIconContainer];\n return jsx(\"div\", {\n css: _styles.radioBase,\n className: className,\n \"data-ppui-info\": \"radio_3.5.1\"\n }, jsx(\"input\", _extends({\n css: inputCssVals,\n type: \"radio\",\n name: name,\n value: value,\n id: id,\n ref: ref\n }, valueProps, rest, {\n \"data-ppui\": \"true\"\n })), jsx(\"label\", {\n css: _styles.radioLabel,\n className: labelClassName,\n htmlFor: id,\n \"data-ppui\": \"true\"\n }, jsx(\"span\", {\n css: checkIconContainerCssVals,\n \"data-ppui\": \"true\"\n }, jsx(RadioCheckIcon, {\n checkIconCssVals: _styles.checkIcon,\n \"data-ppui\": \"true\"\n })), label, renderHelperText(helperText, _styles.helperText)));\n});\nvar _excluded$1 = [\"as\", \"children\", \"className\"];\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}\nvar FieldGroupLabel = function (_ref) {\n var as = _ref.as,\n children = _ref.children,\n className = _ref.className,\n rest = _objectWithoutProperties(_ref, _excluded$1);\n var componentProps = _objectSpread({\n className: className,\n children: children\n }, rest);\n return /*#__PURE__*/React.createElement(as || 'legend', _extends({}, componentProps, {\n \"data-ppui\": \"true\"\n }));\n};\nvar FieldGroupMessage = function (_ref) {\n var errorText = _ref.errorText,\n helperText = _ref.helperText,\n errorIconAriaLabel = _ref.errorIconAriaLabel,\n msgId = _ref.msgId,\n _styles = _ref._styles;\n // Get either the error message or helper text or... nothing\n var radioErrorIcon = jsx(CriticalIcon, {\n css: _styles.errorIcon,\n size: \"sm\",\n role: \"img\",\n \"aria-label\": errorIconAriaLabel,\n \"data-ppui\": \"true\"\n });\n return errorText && jsx(\"p\", {\n css: _styles.errorText,\n id: msgId,\n \"data-ppui\": \"true\"\n }, radioErrorIcon, errorText) || helperText && jsx(\"p\", {\n css: _styles.groupHelperText,\n id: msgId,\n \"data-ppui\": \"true\"\n }, helperText) || null;\n};\nvar _excluded$2 = [\"className\", \"radioLabelClassName\", \"errorText\", \"errorIconAriaLabel\", \"helperText\", \"id\", \"label\", \"name\", \"value\", \"icon\", \"options\", \"onChange\"];\nfunction ownKeys$1(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _objectSpread$1(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys$1(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}\nvar RadioButton = function (_ref) {\n var className = _ref.className,\n radioLabelClassName = _ref.radioLabelClassName,\n errorText = _ref.errorText,\n _ref$errorIconAriaLab = _ref.errorIconAriaLabel,\n errorIconAriaLabel = _ref$errorIconAriaLab === void 0 ? 'Error' : _ref$errorIconAriaLab,\n helperText = _ref.helperText,\n id = _ref.id,\n label = _ref.label,\n _ref$name = _ref.name,\n name = _ref$name === void 0 ? 'radioButton' : _ref$name,\n _ref$value = _ref.value,\n value = _ref$value === void 0 ? '' : _ref$value,\n icon = _ref.icon,\n _ref$options = _ref.options,\n options = _ref$options === void 0 ? [] : _ref$options,\n onChange = _ref.onChange,\n rest = _objectWithoutProperties(_ref, _excluded$2);\n var tokens = useTheme();\n var _styles = useMemo(function () {\n return styles(tokens);\n }, [tokens]);\n var radioId = id !== null && id !== void 0 ? id : uniqueId('RadioButtton_');\n var msgId = \"message_\".concat(radioId);\n var fieldGroupLabelCssVal = [_styles.radioGroupLabel, icon && _styles.radioGroupLabelWithIcon];\n return (\n //@ts-ignore\n jsx(\"fieldset\", _extends({\n css: _styles.radioGroupBase,\n className: className,\n \"data-ppui-info\": \"radio_3.5.1\"\n }, rest), jsx(FieldGroupLabel, {\n css: fieldGroupLabelCssVal,\n \"data-ppui\": \"true\"\n }, label, icon && jsx(\"span\", {\n css: _styles.radioGroupLabelIcon,\n \"data-ppui\": \"true\"\n }, icon)), function renderRadios(optionsList, componentName, currentValue, changeHandler) {\n if (optionsList.length === 0) {\n return jsx(\"i\", {\n \"data-ppui\": \"true\"\n }, \"No Options!\");\n }\n return optionsList.map(function (listProps, index) {\n var checkedPropName = changeHandler ? 'checked' : 'defaultChecked';\n var radioProps = _objectSpread$1(_objectSpread$1({}, listProps), {}, {\n labelClassName: radioLabelClassName\n });\n if (currentValue === listProps.value) {\n radioProps[checkedPropName] = true;\n }\n return jsx(Radio, _extends({\n key: \"rbtn-item\".concat(index),\n name: componentName,\n onChange: changeHandler,\n errorText: errorText\n }, radioProps, rest, {\n \"data-ppui\": \"true\"\n }));\n });\n }(options, name, value, onChange), jsx(FieldGroupMessage, {\n errorText: errorText,\n helperText: helperText,\n errorIconAriaLabel: errorIconAriaLabel,\n msgId: msgId,\n _styles: _styles,\n \"data-ppui\": \"true\"\n }))\n );\n};\nexport { Radio, RadioButton, styles as radioStyles };","import _extends from '@babel/runtime/helpers/esm/extends';\nimport _slicedToArray from '@babel/runtime/helpers/esm/slicedToArray';\nimport _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';\nimport { forwardRef, useMemo, useState } from 'react';\nimport { TextInput } from '@paypalcorp/pp-react-text-input';\nimport { IconButton } from '@paypalcorp/pp-react-icon-button';\nimport { DeclineIcon, SearchIcon } from '@paypalcorp/pp-react-icons';\nimport { css, useTheme, jsx, ClassNames } from '@emotion/react';\nimport _taggedTemplateLiteral from '@babel/runtime/helpers/esm/taggedTemplateLiteral';\nimport { math } from 'polished';\nvar _templateObject, _templateObject2, _templateObject3, _templateObject4;\nfunction styles(tokens) {\n /* istanbul ignore next */\n if (!Object.keys(tokens).length) {\n console.warn('Missing Emotion theme. Use ThemeProvider from @emotion/react to pass a valid theme from pp-react.');\n return {};\n }\n var sysBorderThicknessEmphasis = tokens.sysBorderThicknessEmphasis,\n sysBorderThicknessNormal = tokens.sysBorderThicknessNormal,\n sysColorBackgroundMediumContrast = tokens.sysColorBackgroundMediumContrast,\n sysColorErrorMain = tokens.sysColorErrorMain,\n sysSizeIconSm = tokens.sysSizeIconSm,\n sysSizeIconXl = tokens.sysSizeIconXl,\n sysSpaceMd = tokens.sysSpaceMd,\n sysSpaceLg = tokens.sysSpaceLg;\n var base = css(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n label: search_input;\\n border-radius: \", \";\\n padding-left: \", \";\\n\\n &:not(:focus) {\\n border-color: \", \";\\n box-shadow: none;\\n }\\n\\n [dir='rtl'] & {\\n padding-right: \", \";\\n }\\n \"])), sysSizeIconXl, math(\"3 * \".concat(sysSpaceMd, \" + \").concat(sysSizeIconSm, \" - \").concat(sysBorderThicknessNormal)), sysColorBackgroundMediumContrast, math(\"3 * \".concat(sysSpaceMd, \" + \").concat(sysSizeIconSm, \" - \").concat(sysBorderThicknessNormal)));\n var label = css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral([\"\\n label: label;\\n left: \", \";\\n\\n [dir='rtl'] & {\\n right: \", \";\\n }\\n \"])), math(\"3 * \".concat(sysSpaceMd, \" + \").concat(sysSizeIconSm)), math(\"3 * \".concat(sysSpaceMd, \" + \").concat(sysSizeIconSm)));\n var leftIcon = css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral([\"\\n label: left_icon;\\n left: \", \";\\n\\n [dir='rtl'] & {\\n right: \", \";\\n }\\n \"])), math(\"2 * \".concat(sysSpaceMd)), math(\"2 * \".concat(sysSpaceMd)));\n var error = css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral([\"\\n label: error;\\n padding: \", \"\\n \", \"\\n \", \"\\n \", \";\\n\\n &:not(:focus) {\\n border-color: \", \";\\n box-shadow: none;\\n }\\n \"])), math(\"\".concat(sysSpaceLg, \" + \").concat(sysBorderThicknessEmphasis)), math(\"3 * \".concat(sysSpaceMd, \" + \").concat(sysSizeIconSm, \" - \").concat(sysBorderThicknessEmphasis)), math(\"\".concat(sysSpaceLg, \" + \").concat(sysBorderThicknessEmphasis)), math(\"3 * \".concat(sysSpaceMd, \" + \").concat(sysSizeIconSm, \" - \").concat(sysBorderThicknessEmphasis)), sysColorErrorMain);\n return {\n base: base,\n label: label,\n leftIcon: leftIcon,\n error: error\n };\n}\nvar _excluded = [\"keepClearButton\", \"onClear\", \"className\", \"clearButtonLabel\", \"clearButtonAriaLabel\", \"inputClassName\", \"labelClassName\", \"errorText\", \"label\", \"value\", \"onKeyDown\"];\nvar SearchInput = forwardRef(function (props, ref) {\n var keepClearButton = props.keepClearButton,\n onClear = props.onClear,\n className = props.className,\n _props$clearButtonLab = props.clearButtonLabel,\n clearButtonLabel = _props$clearButtonLab === void 0 ? 'Clear input' : _props$clearButtonLab,\n _props$clearButtonAri = props.clearButtonAriaLabel,\n clearButtonAriaLabel = _props$clearButtonAri === void 0 ? 'The info has been cleared' : _props$clearButtonAri,\n inputClassName = props.inputClassName,\n labelClassName = props.labelClassName,\n errorText = props.errorText,\n label = props.label,\n value = props.value,\n onKeyDown = props.onKeyDown,\n rest = _objectWithoutProperties(props, _excluded);\n var tokens = useTheme();\n var _styles = useMemo(function () {\n return styles(tokens);\n }, [tokens]);\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n cleared = _useState2[0],\n setCleared = _useState2[1];\n\n /* istanbul ignore next */\n var handleKey = function (evt) {\n if (cleared) {\n setCleared(false);\n }\n if (evt.key === 'Escape' && onClear) {\n onClear(evt);\n }\n if (onKeyDown) {\n onKeyDown(evt);\n }\n };\n var clearButtonProps = cleared ? {\n 'aria-label': clearButtonAriaLabel,\n 'aria-atomic': 'true',\n 'aria-live': 'polite',\n role: 'button'\n } : null;\n var clearButton = value || keepClearButton ? {\n rightIcon: jsx(IconButton, _extends({\n buttonType: \"tertiary\",\n svgIconComponent: DeclineIcon,\n onClick: function handleClearClick(evt) {\n /* istanbul ignore next */\n if (onClear) {\n onClear(evt);\n setCleared(true);\n }\n },\n onMouseDown: function onMouseDown(evt) {\n return evt.preventDefault();\n } // remove focus on click\n }, clearButtonProps, {\n \"data-ppui\": \"true\"\n }), clearButtonLabel)\n } : null;\n return jsx(ClassNames, {\n \"data-ppui\": \"true\"\n }, function (_ref) {\n var css = _ref.css,\n cx = _ref.cx;\n return jsx(TextInput, _extends({\n className: className,\n ref: ref,\n leftIcon: jsx(SearchIcon, {\n size: \"sm\",\n \"aria-hidden\": \"true\",\n \"data-ppui\": \"true\"\n }),\n leftIconCSS: _styles.leftIcon\n }, clearButton, {\n inputClassName: cx(css([_styles.base, errorText && _styles.error]), inputClassName),\n labelClassName: cx(css([_styles.label]), labelClassName),\n errorText: errorText,\n isLabelHidden: true,\n placeholder: label,\n label: label,\n value: value,\n \"data-ppui-info\": \"search-input_2.2.9\"\n }, rest, {\n onKeyDown: handleKey\n }));\n });\n});\nexport { SearchInput, styles as searchInputStyles };","import _extends from '@babel/runtime/helpers/esm/extends';\nimport _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';\nimport React, { useMemo, useRef, useLayoutEffect } from 'react';\nimport _taggedTemplateLiteral from '@babel/runtime/helpers/esm/taggedTemplateLiteral';\nimport { css, useTheme, jsx } from '@emotion/react';\nimport { utilStyles, AnimateDirection, KeyboardCode } from '@paypalcorp/pp-react-utils';\nimport { textStyles } from '@paypalcorp/pp-react-text';\nvar _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7;\nfunction styles(tokens) {\n /* istanbul ignore next */\n if (!Object.keys(tokens).length) {\n console.warn('Missing Emotion theme. Use ThemeProvider from @emotion/react to pass a valid theme from pp-react.');\n return {};\n }\n var sysBorderRadiusInteractive = tokens.sysBorderRadiusInteractive,\n sysColorBackgroundAlt = tokens.sysColorBackgroundAlt,\n sysColorBackgroundMediumContrast = tokens.sysColorBackgroundMediumContrast,\n sysColorPrimaryContrast = tokens.sysColorPrimaryContrast,\n sysColorPrimaryMain = tokens.sysColorPrimaryMain,\n sysColorStructureFocus = tokens.sysColorStructureFocus,\n sysElevationLevel1Yoffset = tokens.sysElevationLevel1Yoffset,\n sysMotionDurationAction = tokens.sysMotionDurationAction,\n sysMotionDurationHover = tokens.sysMotionDurationHover,\n sysSpaceSm = tokens.sysSpaceSm,\n sysSpaceTiny = tokens.sysSpaceTiny;\n var _utilStyles = utilStyles(tokens),\n focusStyles = _utilStyles.focusStyles,\n slideTo = _utilStyles.slideTo,\n variables = _utilStyles.variables;\n var ppuiEaseInOut = variables.ppuiEaseInOut;\n var _textStyles = textStyles(tokens),\n textCaption = _textStyles.caption;\n var offsetFocusAfter = focusStyles.offsetFocusAfter;\n /* istanbul ignore next */\n\n var borderRadius = sysBorderRadiusInteractive === '50%' ? '64rem' : sysBorderRadiusInteractive;\n\n /**\n * Use direction to do slide animation\n * @param direction AnimateDirection\n * @returns SerializedStyles\n */\n var animateToDirection = function (direction) {\n var label = \"animate_direction_\".concat(direction);\n return css(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n label: \", \";\\n animation: \", \" \", \"\\n \", \";\\n \"])), label, slideTo(direction), sysMotionDurationAction, ppuiEaseInOut);\n };\n var tabWrapBaseStyles = css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral([\"\\n label: segmented_controller_tab_wrap_base;\\n background-color: \", \";\\n border-radius: \", \";\\n display: flex;\\n align-items: stretch;\\n justify-content: flex-start;\\n \"])), sysColorBackgroundAlt, borderRadius);\n var tabStyles = css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral([\"\\n label: segmented_controller_tab;\\n border-radius: inherit;\\n position: relative;\\n background-color: transparent;\\n width: 100%;\\n border: 0.0625rem solid transparent;\\n padding: \", \";\\n min-width: 0;\\n cursor: pointer;\\n \", \"\\n\\n &:focus {\\n outline: none;\\n &:after {\\n \", \"\\n }\\n }\\n\\n &:active {\\n outline: none;\\n &:after {\\n border: none;\\n box-shadow: none;\\n }\\n }\\n\\n &:hover {\\n &:not(:focus) {\\n span {\\n border-color: \", \";\\n transition: border-color \", \" \", \";\\n }\\n }\\n }\\n\\n &[aria-selected='true'] {\\n label: tab_aria_selected;\\n \", \"\\n -webkit-text-stroke-width: \", \";\\n\\n span {\\n color: \", \";\\n background-color: \", \";\\n }\\n }\\n \"])), sysSpaceTiny, textCaption(), offsetFocusAfter({\n verticalOffset: sysElevationLevel1Yoffset,\n horizontalOffset: sysElevationLevel1Yoffset\n }), sysColorStructureFocus, sysMotionDurationHover, ppuiEaseInOut, textCaption(), '0.0421875rem', sysColorPrimaryMain, sysColorPrimaryContrast);\n var tabTitleStyles = css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral([\"\\n label: tab_title_base;\\n display: flex;\\n flex-wrap: wrap;\\n justify-content: center;\\n align-items: center;\\n height: 100%;\\n word-break: break-word;\\n border: 0.0625rem solid transparent;\\n padding: \", \";\\n border-radius: inherit;\\n color: \", \";\\n pointer-events: none;\\n \"])), sysSpaceSm, sysColorBackgroundMediumContrast);\n var tabContentStyles = css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral([\"\\n label: tab_content;\\n\\n &[aria-hidden='true'] {\\n display: none;\\n }\\n \"])));\n var tabContentVisible = css(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral([\"\\n label: tab_content_visible;\\n display: block;\\n \"])));\n var tabContentHidden = css(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral([\"\\n label: tab_content_hidden;\\n display: none;\\n \"])));\n return {\n animateToDirection: animateToDirection,\n tabWrapBaseStyles: tabWrapBaseStyles,\n tabStyles: tabStyles,\n tabTitleStyles: tabTitleStyles,\n tabContentStyles: tabContentStyles,\n tabContentVisible: tabContentVisible,\n tabContentHidden: tabContentHidden\n };\n}\nvar _excluded = [\"id\", \"tabIdx\", \"label\", \"segmentedControllerId\", \"panelId\", \"selected\", \"animate\", \"onClick\", \"className\"];\nvar SegmentedControllerTab = function (_ref) {\n var _styles$animateToDire;\n var id = _ref.id,\n tabIdx = _ref.tabIdx,\n label = _ref.label,\n segmentedControllerId = _ref.segmentedControllerId,\n panelId = _ref.panelId,\n selected = _ref.selected,\n animate = _ref.animate,\n onClick = _ref.onClick,\n className = _ref.className,\n rest = _objectWithoutProperties(_ref, _excluded);\n var tokens = useTheme();\n var _styles = useMemo(function () {\n return styles(tokens);\n }, [tokens]);\n var focusable = selected ? 0 : -1;\n var tabId = id || \"\".concat(segmentedControllerId, \"-tab\").concat(parseInt(tabIdx, 10) + 1);\n var tabStyles = [_styles.tabStyles, animate && ((_styles$animateToDire = _styles.animateToDirection) === null || _styles$animateToDire === void 0 ? void 0 : _styles$animateToDire.call(_styles, animate))];\n return jsx(\"button\", _extends({\n \"data-tab-index\": tabIdx,\n id: tabId,\n css: tabStyles,\n className: className,\n \"aria-controls\": panelId,\n \"aria-selected\": selected,\n tabIndex: focusable,\n type: \"button\",\n role: \"tab\"\n }, rest, {\n onClick: onClick,\n \"data-ppui\": \"true\"\n }), jsx(\"span\", {\n css: _styles.tabTitleStyles,\n \"data-ppui\": \"true\"\n }, label));\n};\nvar _excluded$1 = [\"id\", \"panelId\", \"label\"];\nvar getRefCurrent = function (myRef) {\n return (/* istanbul ignore next */\n myRef && myRef.current ? myRef.current : null\n );\n};\nvar SegmentedControllerTabs = function (_ref) {\n var _ref$name = _ref.name,\n name = _ref$name === void 0 ? 'segmentedController' : _ref$name,\n selectedTabIdx = _ref.selectedTabIdx,\n _ref$tabs = _ref.tabs,\n tabs = _ref$tabs === void 0 ? [] : _ref$tabs,\n onClick = _ref.onClick,\n className = _ref.className,\n tabClassName = _ref.tabClassName,\n tabsWrapperClassName = _ref.tabsWrapperClassName,\n keepAlive = _ref.keepAlive,\n lazyLoad = _ref.lazyLoad,\n children = _ref.children;\n\n /* istanbul ignore next */\n if (!onClick) {\n console.warn('Required prop `onClick` is missing');\n }\n var tokens = useTheme();\n var _styles = useMemo(function () {\n return styles(tokens);\n }, [tokens]);\n var containerEleRef = useRef();\n var prevSelectedTabIdxRef = useRef(0);\n var isTabsFocusedRef = useRef(false);\n var focusedIdxRef = useRef();\n var getSelectedTabIdx = function () {\n var index = Math.floor(selectedTabIdx);\n if (!selectedTabIdx || !index || index >= tabs.length || index < 0) {\n return 0;\n }\n return index;\n };\n var offsetFocus = function (offset) {\n var container = getRefCurrent(containerEleRef);\n var tabDomItems = container.querySelectorAll('[role=\"tab\"]');\n var nextIndex = focusedIdxRef.current + offset;\n var index;\n /* istanbul ignore next */\n\n if (nextIndex === tabs.length) {\n index = 0;\n } else if (nextIndex === -1) {\n index = tabs.length - 1;\n } else {\n index = nextIndex;\n }\n tabDomItems[index].focus();\n focusedIdxRef.current = index;\n };\n var keyHandler = function (event) {\n if (!isTabsFocusedRef.current) {\n return;\n }\n var selectedIndex = getSelectedTabIdx();\n /* istanbul ignore next */\n\n var KeyCode = new KeyboardCode(event.key || event.keyCode);\n if (KeyCode.IS_ARROW_LEFT) {\n offsetFocus(-1);\n } else if (KeyCode.IS_ARROW_RIGHT) {\n offsetFocus(1);\n } else if (KeyCode.IS_ENTER || KeyCode.IS_SPACEBAR) {\n /* istanbul ignore next */\n if (selectedIndex !== focusedIdxRef.current) {\n onClick(event, focusedIdxRef.current);\n }\n }\n };\n useLayoutEffect(function () {\n prevSelectedTabIdxRef.current = getSelectedTabIdx();\n }, [tabs, selectedTabIdx, onClick]);\n useLayoutEffect(function () {\n // For the first time during initialisation\n focusedIdxRef.current = getSelectedTabIdx();\n }, []);\n var handleClick = function (event) {\n var tabIdxClicked = parseInt(event.currentTarget.getAttribute('data-tab-index'), 10); // This is tested, but coverage not registering it\n\n /* istanbul ignore next */\n\n if (tabIdxClicked) {\n focusedIdxRef.current = tabIdxClicked;\n }\n onClick(event, tabIdxClicked);\n };\n var selectedIndex = getSelectedTabIdx();\n var selectedId;\n var tabItems = tabs.map(function (tabProps, index) {\n var id = tabProps.id,\n panelId = tabProps.panelId,\n label = tabProps.label,\n rest = _objectWithoutProperties(tabProps, _excluded$1);\n var keyIdentifier = \"\".concat(name, \"-tab\").concat(index + 1);\n var animateDirection = null; // update animation (only on the selected tab)\n\n if (index === selectedIndex) {\n selectedId = id || keyIdentifier;\n if (prevSelectedTabIdxRef.current > index) {\n animateDirection = AnimateDirection.LEFT;\n } else if (prevSelectedTabIdxRef.current < index) {\n animateDirection = AnimateDirection.RIGHT;\n }\n }\n return jsx(SegmentedControllerTab, _extends({\n key: keyIdentifier,\n id: id,\n tabIdx: index.toString(),\n label: label,\n segmentedControllerId: name,\n panelId: panelId,\n selected: index === selectedIndex,\n animate: animateDirection,\n onClick: handleClick,\n className: tabClassName\n }, rest, {\n \"data-ppui\": \"true\"\n }));\n });\n var tabContent = null;\n if (keepAlive || lazyLoad) {\n tabContent = React.Children.toArray(children).map(function (_panel, index) {\n var isSelected = selectedIndex === index;\n return React.cloneElement(_panel, {\n hidden: !isSelected,\n tabId: isSelected ? selectedId : undefined,\n visible: keepAlive ? true : isSelected\n });\n });\n } else {\n var tabPanel = React.Children.toArray(children).filter(function (_panel, index) {\n return selectedIndex === index;\n })[0];\n tabContent = React.cloneElement(tabPanel, {\n tabId: selectedId,\n hidden: false\n });\n }\n return jsx(\"div\", {\n ref: containerEleRef,\n id: name,\n className: className,\n \"data-ppui-info\": \"segmented-controller_2.6.7\"\n }, jsx(\"div\", {\n id: \"\".concat(name, \"-tabs\"),\n css: _styles.tabWrapBaseStyles,\n className: tabsWrapperClassName,\n role: \"tablist\",\n onFocus: function handleFocus() {\n isTabsFocusedRef.current = true;\n },\n onBlur: function handleFocusOut() {\n isTabsFocusedRef.current = false;\n },\n onKeyDown: function onKeyDown(evt) {\n return keyHandler(evt);\n },\n \"data-ppui\": \"true\"\n }, tabItems), tabContent);\n};\nvar _excluded$2 = [\"id\", \"tabId\", \"className\", \"hidden\", \"children\", \"visible\"];\nvar SegmentedControllerPanel = function (_ref) {\n var id = _ref.id,\n tabId = _ref.tabId,\n className = _ref.className,\n hidden = _ref.hidden,\n children = _ref.children,\n _ref$visible = _ref.visible,\n visible = _ref$visible === void 0 ? true : _ref$visible,\n rest = _objectWithoutProperties(_ref, _excluded$2);\n var tokens = useTheme();\n var _styles = useMemo(function () {\n return styles(tokens);\n }, [tokens]); // MutableRefObject variable to determine whether to render the component or not.\n\n var hasRendered = useRef(visible);\n /* istanbul ignore next */\n\n if (visible && !hasRendered.current) {\n hasRendered.current = true;\n }\n /* istanbul ignore next */\n\n if (!hasRendered.current) {\n // Do not re-render the Panel when its already present in the DOM.\n return null;\n }\n var panelContentStyles = [_styles.tabContentStyles, /* istanbul ignore next */\n visible ? _styles.tabContentVisible : _styles.tabContentHidden];\n return jsx(\"div\", _extends({\n id: id,\n css: panelContentStyles,\n className: className,\n \"aria-labelledby\": tabId,\n \"aria-hidden\": hidden,\n tabIndex: 0,\n role: \"tabpanel\"\n }, rest, {\n \"data-ppui\": \"true\"\n }), children);\n};\nexport { SegmentedControllerTabs as SegmentedController, SegmentedControllerPanel, SegmentedControllerTab, styles as segmentedControllerStyles };","import _extends from '@babel/runtime/helpers/esm/extends';\nimport _defineProperty from '@babel/runtime/helpers/esm/defineProperty';\nimport _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';\nimport React, { useMemo } from 'react';\nimport { CriticalIcon } from '@paypalcorp/pp-react-icons';\nimport { css, useTheme, jsx } from '@emotion/react';\nimport _taggedTemplateLiteral from '@babel/runtime/helpers/esm/taggedTemplateLiteral';\nimport { math } from 'polished';\nimport { textStyles, CaptionText } from '@paypalcorp/pp-react-text';\nimport { utilStyles, uniqueId } from '@paypalcorp/pp-react-utils';\nvar _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17, _templateObject18, _templateObject19, _templateObject20, _templateObject21, _templateObject22, _templateObject23, _templateObject24, _templateObject25;\nfunction styles(tokens) {\n /* istanbul ignore next */\n if (!Object.keys(tokens).length) {\n console.warn('Missing Emotion theme. Use ThemeProvider from @emotion/react to pass a valid theme from pp-react.');\n return {};\n }\n var sysSpaceMd = tokens.sysSpaceMd,\n sysSpaceSm = tokens.sysSpaceSm,\n sysBorderThicknessNormal = tokens.sysBorderThicknessNormal,\n sysSpaceXs = tokens.sysSpaceXs,\n sysMotionDurationAction = tokens.sysMotionDurationAction,\n sysBorderThicknessEmphasis = tokens.sysBorderThicknessEmphasis,\n sysBorderThicknessFocus = tokens.sysBorderThicknessFocus,\n sysSizeMediaSm = tokens.sysSizeMediaSm,\n sysSizeMediaMd = tokens.sysSizeMediaMd,\n sysColorBackgroundHighContrast = tokens.sysColorBackgroundHighContrast,\n sysColorPrimaryMain = tokens.sysColorPrimaryMain,\n sysColorBackgroundSurface = tokens.sysColorBackgroundSurface,\n sysColorStructureFocusOutline = tokens.sysColorStructureFocusOutline,\n sysColorSecondaryMain = tokens.sysColorSecondaryMain,\n sysColorBackgroundMediumContrast = tokens.sysColorBackgroundMediumContrast,\n sysColorStructureErrorOutline = tokens.sysColorStructureErrorOutline,\n sysColorErrorMain = tokens.sysColorErrorMain;\n // 60px\n var selectionGroupBorderRadius = '0.375rem';\n var selectionGroupLabelPadding = math(\"\".concat(sysSpaceMd, \" - \").concat(sysBorderThicknessNormal)); // 11px\n\n var selectionGroupErrorLabelPadding = math(\"\".concat(sysSpaceMd, \" - \").concat(sysBorderThicknessEmphasis)); // 10px\n\n var selectionGroupErrorSelectedLabelPadding = math(\"\".concat(sysSpaceMd, \" - \").concat(sysBorderThicknessFocus)); // 9px\n\n var _textStyles = textStyles(tokens),\n caption = _textStyles.caption,\n body = _textStyles.body;\n var _utilStyles = utilStyles(tokens),\n elevationStyles = _utilStyles.elevationStyles,\n focusStyles = _utilStyles.focusStyles;\n var focusAfter = focusStyles.focusAfter,\n stateFocusBorderWidthOuter = focusStyles.stateFocusBorderWidthOuter,\n stateFocusBorderColorOuter = focusStyles.stateFocusBorderColorOuter,\n stateFocusBorderWidthInner = focusStyles.stateFocusBorderWidthInner;\n function secondaryStyle() {\n return css(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n background-color: \", \";\\n color: \", \";\\n border-color: \", \";\\n border-width: \", \";\\n padding: \", \";\\n z-index: 1;\\n -webkit-text-stroke-width: \", \"; // Hack to stop selection group from jumping since having a bold font-family will increase the width of the text and ultimately the width of the button\\n \"])), sysColorBackgroundSurface, sysColorSecondaryMain, sysColorSecondaryMain, sysBorderThicknessNormal, selectionGroupLabelPadding, '0.0421875rem');\n }\n function verticalOrientation() {\n return css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral([\"\\n flex-direction: column;\\n min-width: auto;\\n \"])));\n }\n var base = css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral([\"\\n label: selection_group_base;\\n box-sizing: border-box;\\n border-style: none;\\n padding: 0;\\n text-align: left;\\n [dir='rtl'] & {\\n text-align: right;\\n }\\n \"])));\n var buttons = css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral([\"\\n label: buttons;\\n display: flex;\\n flex-wrap: wrap;\\n position: relative;\\n min-width: \", \";\\n margin-top: -\", \";\\n margin-right: -\", \";\\n [dir='rtl'] & {\\n margin-right: 0;\\n margin-left: -\", \";\\n }\\n \"])), '18rem', sysSpaceMd, sysSpaceMd, sysSpaceMd);\n var buttonsResponsiveXs = css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral([\"\\n label: buttons_responsive_xs;\\n @media (max-width: \", \") {\\n \", \";\\n }\\n \"])), '25rem', verticalOrientation());\n var buttonsResponsiveSm = css(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral([\"\\n label: buttons_responsive_sm;\\n @media (max-width: \", \") {\\n \", \";\\n }\\n \"])), sysSizeMediaSm, verticalOrientation());\n var buttonsResponsiveMd = css(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral([\"\\n label: buttons_responsive_md;\\n @media (max-width: \", \") {\\n \", \";\\n }\\n \"])), sysSizeMediaMd, verticalOrientation());\n var verticalButtons = css(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral([\"\\n label: buttons_vertical;\\n margin-top: 0;\\n display: grid;\\n grid-auto-rows: 1fr;\\n gap: \", \";\\n \", \";\\n \"])), sysSpaceMd, verticalOrientation());\n var groupLabel = css(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral([\"\\n label: group_label;\\n \", \";\\n display: block;\\n color: \", \";\\n margin-bottom: \", \";\\n \"])), body(), sysColorBackgroundHighContrast, sysSpaceMd);\n var helperText = css(_templateObject10 || (_templateObject10 = _taggedTemplateLiteral([\"\\n label: helper_text;\\n \", \";\\n display: block;\\n list-style: none; // In case it's a list of helper texts\\n padding-left: 0;\\n margin: \", \" 0 0 0;\\n \"])), caption({\n color: sysColorBackgroundMediumContrast\n }), sysSpaceSm);\n var errorText = css(_templateObject11 || (_templateObject11 = _taggedTemplateLiteral([\"\\n label: error_text;\\n \", \";\\n display: flex;\\n align-items: center;\\n margin-top: \", \";\\n margin-bottom: 0;\\n \"])), caption({\n color: sysColorBackgroundMediumContrast\n }), sysSpaceXs);\n var errorIcon = css(_templateObject12 || (_templateObject12 = _taggedTemplateLiteral([\"\\n label: error_icon;\\n color: \", \";\\n margin-right: \", \";\\n margin-left: initial;\\n [dir='rtl'] & {\\n margin-left: \", \";\\n margin-right: initial;\\n }\\n \"])), sysColorErrorMain, sysSpaceXs, sysSpaceXs);\n var centerButtons = css(_templateObject13 || (_templateObject13 = _taggedTemplateLiteral([\"\\n label: center;\\n justify-content: center;\\n \"])));\n var justifyButtons = css(_templateObject14 || (_templateObject14 = _taggedTemplateLiteral([\"\\n label: justify;\\n justify-content: stretch;\\n \"])));\n var control = css(_templateObject15 || (_templateObject15 = _taggedTemplateLiteral([\"\\n label: control;\\n position: absolute;\\n clip: rect(0, 0, 0, 0);\\n pointer-events: none;\\n /* We're hiding these so no need to use rems */\\n width: 1px;\\n height: 1px;\\n &:focus + label {\\n outline: none;\\n border-width: \", \";\\n padding: \", \";\\n &:hover {\\n border: \", \" solid \", \";\\n }\\n &:after {\\n \", \"\\n text-indent: \", \";\\n z-index: 1;\\n }\\n }\\n &:checked + label {\\n background-color: \", \";\\n color: \", \";\\n -webkit-text-stroke-width: inherit;\\n z-index: 1;\\n span {\\n color: \", \";\\n }\\n div {\\n color: \", \";\\n }\\n &:hover {\\n border-color: \", \";\\n }\\n }\\n \"])), sysBorderThicknessNormal, selectionGroupLabelPadding, sysBorderThicknessNormal, sysColorSecondaryMain, focusAfter({\n radius: selectionGroupBorderRadius,\n border: \"\".concat(stateFocusBorderWidthInner, \" solid \").concat(sysColorSecondaryMain),\n boxShadowColor: sysColorStructureFocusOutline,\n width: \"calc(100% + 0.125rem)\",\n height: \"calc(100% + 0.125rem)\",\n top: \"-\".concat(sysBorderThicknessNormal),\n left: \"-\".concat(sysBorderThicknessNormal)\n }), sysBorderThicknessNormal, sysColorPrimaryMain, sysColorBackgroundSurface, sysColorBackgroundSurface, sysColorBackgroundSurface, sysColorBackgroundSurface);\n var primaryLabelWhenFocusedAndChecked = css(_templateObject16 || (_templateObject16 = _taggedTemplateLiteral([\"\\n label: primary_label_when_focused_and_checked;\\n input:checked:focus + label:after {\\n border-color: \", \";\\n }\\n \"])), sysColorPrimaryMain);\n var label = css(_templateObject17 || (_templateObject17 = _taggedTemplateLiteral([\"\\n label: label;\\n \", \";\\n \", \";\\n display: flex;\\n flex-direction: column;\\n justify-content: center;\\n background-color: \", \";\\n padding: \", \";\\n margin-top: \", \";\\n margin-right: \", \";\\n text-align: center;\\n cursor: pointer;\\n user-select: none;\\n border: \", \" solid \", \";\\n border-radius: \", \";\\n position: relative;\\n transition: color \", \" ease,\\n background-color \", \" ease,\\n border-color \", \" ease,\\n box-shadow \", \" ease;\\n min-height: \", \";\\n min-width: \", \";\\n &:hover {\\n background: \", \";\\n border-color: \", \";\\n }\\n [dir='rtl'] & {\\n margin-right: 0;\\n margin-left: \", \";\\n }\\n \"])), body(), elevationStyles.level1, sysColorBackgroundSurface, selectionGroupLabelPadding, sysSpaceMd, sysSpaceMd, sysBorderThicknessNormal, sysColorBackgroundSurface, selectionGroupBorderRadius, sysMotionDurationAction, sysMotionDurationAction, sysMotionDurationAction, sysMotionDurationAction, '3.75rem', '5.125rem', sysColorBackgroundSurface, sysColorSecondaryMain, sysSpaceMd);\n var secondaryLabelVertical = css(_templateObject18 || (_templateObject18 = _taggedTemplateLiteral([\"\\n label: secondary_label_vertical;\\n text-align: left;\\n [dir='rtl'] & {\\n text-align: right;\\n }\\n \"])));\n var verticalLabel = css(_templateObject19 || (_templateObject19 = _taggedTemplateLiteral([\"\\n label: label_vertical;\\n margin-right: 0;\\n margin-top: 0;\\n \"])));\n var justifyLabel = css(_templateObject20 || (_templateObject20 = _taggedTemplateLiteral([\"\\n label: label_justify;\\n flex: 1 0 auto;\\n \"])));\n var secondary = css(_templateObject21 || (_templateObject21 = _taggedTemplateLiteral([\"\\n label: secondary;\\n input:checked + label {\\n \", \";\\n &:after {\\n \", \"\\n box-shadow: none;\\n }\\n &:hover {\\n border: \", \" solid \", \";\\n }\\n span {\\n color: \", \";\\n }\\n }\\n input:checked:focus + label:after {\\n box-shadow: 0 0 0 \", \"\\n \", \";\\n }\\n input:focus + label:after {\\n border-color: \", \";\\n }\\n \"])), secondaryStyle(), focusAfter({\n radius: selectionGroupBorderRadius,\n border: \"\".concat(sysBorderThicknessFocus, \" solid \").concat(sysColorSecondaryMain),\n width: \"calc(100% + 0.125rem)\",\n height: \"calc(100% + 0.125rem)\",\n top: \"-\".concat(sysBorderThicknessNormal),\n left: \"-\".concat(sysBorderThicknessNormal)\n }), sysBorderThicknessNormal, sysColorSecondaryMain, sysColorSecondaryMain, stateFocusBorderWidthOuter, stateFocusBorderColorOuter, sysColorSecondaryMain);\n var secondaryLabelTwo = css(_templateObject22 || (_templateObject22 = _taggedTemplateLiteral([\"\\n label: secondary_label_two;\\n \", \";\\n \"])), caption({\n color: sysColorBackgroundMediumContrast\n }));\n var errorLabel = css(_templateObject23 || (_templateObject23 = _taggedTemplateLiteral([\"\\n label: error_label;\\n border-width: \", \";\\n background-color: \", \";\\n border-color: \", \";\\n padding: \", \";\\n \"])), sysBorderThicknessEmphasis, sysColorBackgroundSurface, sysColorErrorMain, selectionGroupErrorLabelPadding);\n var errorLabelWhenChecked = css(_templateObject24 || (_templateObject24 = _taggedTemplateLiteral([\"\\n label: error_label_when_checked;\\n input:checked + label {\\n label: label_error_when_checked;\\n padding: \", \";\\n border: \", \" solid \", \";\\n z-index: 1;\\n &:hover {\\n border: \", \" solid \", \";\\n }\\n &:after {\\n border: none;\\n }\\n }\\n input:checked:focus + label:after {\\n box-shadow: 0 0 0 \", \" \", \";\\n }\\n \"])), selectionGroupErrorSelectedLabelPadding, sysBorderThicknessFocus, sysColorErrorMain, sysBorderThicknessFocus, sysColorErrorMain, sysSpaceSm, sysColorStructureErrorOutline);\n var errorLabelWhenFocus = css(_templateObject25 || (_templateObject25 = _taggedTemplateLiteral([\"\\n label: error_label_when_focus;\\n input:focus + label {\\n padding: \", \";\\n border: \", \" solid \", \";\\n &:after {\\n border: none;\\n box-shadow: 0 0 0 \", \" \", \";\\n }\\n &:hover {\\n border: \", \" solid \", \";\\n }\\n }\\n \"])), selectionGroupErrorSelectedLabelPadding, sysBorderThicknessFocus, sysColorErrorMain, sysSpaceSm, sysColorStructureErrorOutline, sysBorderThicknessFocus, sysColorErrorMain);\n return {\n base: base,\n buttons: buttons,\n buttonsResponsiveXs: buttonsResponsiveXs,\n buttonsResponsiveSm: buttonsResponsiveSm,\n buttonsResponsiveMd: buttonsResponsiveMd,\n verticalButtons: verticalButtons,\n centerButtons: centerButtons,\n justifyButtons: justifyButtons,\n groupLabel: groupLabel,\n helperText: helperText,\n errorText: errorText,\n errorIcon: errorIcon,\n control: control,\n label: label,\n verticalLabel: verticalLabel,\n justifyLabel: justifyLabel,\n primaryLabelWhenFocusedAndChecked: primaryLabelWhenFocusedAndChecked,\n secondary: secondary,\n secondaryLabelTwo: secondaryLabelTwo,\n errorLabel: errorLabel,\n errorLabelWhenChecked: errorLabelWhenChecked,\n errorLabelWhenFocus: errorLabelWhenFocus,\n secondaryLabelVertical: secondaryLabelVertical\n };\n}\nvar FieldGroupMessage = function (_ref) {\n var errorText = _ref.errorText,\n errorIconAriaLabel = _ref.errorIconAriaLabel,\n helperText = _ref.helperText,\n msgId = _ref.msgId;\n var tokens = useTheme(); // Fetch tokens from Emotion context\n\n var _styles = useMemo(function () {\n return styles(tokens);\n }, [tokens]); // Get either the error message or helper text or... nothing\n\n return errorText && jsx(\"p\", {\n css: _styles.errorText,\n id: msgId,\n \"data-ppui\": \"true\"\n }, jsx(CriticalIcon, {\n css: _styles.errorIcon,\n size: \"sm\",\n role: \"img\",\n \"aria-label\": errorIconAriaLabel,\n \"data-ppui\": \"true\"\n }), errorText) || helperText && jsx(\"p\", {\n css: _styles.helperText,\n id: msgId,\n \"data-ppui\": \"true\"\n }, helperText) || null;\n};\nvar _excluded = [\"value\", \"label\", \"secondaryLabel\", \"id\", \"className\", \"onMouseOver\"],\n _excluded2 = [\"className\", \"errorText\", \"errorIconAriaLabel\", \"helperText\", \"id\", \"label\", \"hideLabel\", \"name\", \"value\", \"align\", \"responsive\", \"secondary\", \"options\", \"onChange\", \"alignContent\"];\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}\nvar renderSingleButtons = function (options, name, inputValue, onChange, error, msgId, align, _styles, alignContent, rest) {\n if (!options.length) {\n return jsx(\"em\", {\n \"data-ppui\": \"true\"\n }, \"No options to choose from\");\n }\n return options.map(function (_ref, index) {\n var value = _ref.value,\n label = _ref.label,\n secondaryLabel = _ref.secondaryLabel,\n _ref$id = _ref.id,\n id = _ref$id === void 0 ? \"selection_\".concat(name, \"_\").concat(value) : _ref$id,\n className = _ref.className,\n onMouseOver = _ref.onMouseOver,\n optionRest = _objectWithoutProperties(_ref, _excluded);\n var checked = value === inputValue;\n var valueProps = onChange ? {\n onChange: onChange,\n value: value,\n checked: checked\n } : {\n value: value,\n defaultChecked: checked\n };\n var otherInputAttr = _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, msgId && index === 0 && {\n 'aria-describedby': msgId\n }), error && {\n 'aria-invalid': true\n }), valueProps), rest), optionRest);\n var labelCSS = [_styles.label, align === 'vertical' && alignContent === 'left' && _styles.secondaryLabelVertical, error && _styles.errorLabel, align && _styles[align + 'Label']];\n return jsx(React.Fragment, {\n key: index\n }, jsx(\"input\", _extends({\n type: \"radio\",\n name: name,\n id: id,\n css: _styles.control\n }, otherInputAttr, {\n \"data-ppui\": \"true\"\n })), jsx(\"label\", _extends({\n className: className,\n css: labelCSS\n }, {\n htmlFor: id,\n onMouseOver: onMouseOver\n }, {\n \"data-ppui\": \"true\"\n }), label, secondaryLabel && jsx(CaptionText, _extends({\n css: _styles.secondaryLabelTwo\n }, typeof secondaryLabel === 'string' ? {\n as: \"span\"\n } : null, align === 'vertical' ? {\n clampAtLine: 3\n } : null, {\n \"data-ppui\": \"true\"\n }), secondaryLabel)));\n });\n};\nvar SingleSelectionGroup = function (_ref2) {\n var className = _ref2.className,\n errorText = _ref2.errorText,\n _ref2$errorIconAriaLa = _ref2.errorIconAriaLabel,\n errorIconAriaLabel = _ref2$errorIconAriaLa === void 0 ? 'Error' : _ref2$errorIconAriaLa,\n helperText = _ref2.helperText,\n _ref2$id = _ref2.id,\n id = _ref2$id === void 0 ? uniqueId('SelectionGroup_') : _ref2$id,\n label = _ref2.label,\n hideLabel = _ref2.hideLabel,\n _ref2$name = _ref2.name,\n name = _ref2$name === void 0 ? 'singleSelect' : _ref2$name,\n _ref2$value = _ref2.value,\n value = _ref2$value === void 0 ? '' : _ref2$value,\n align = _ref2.align,\n responsive = _ref2.responsive,\n secondary = _ref2.secondary,\n _ref2$options = _ref2.options,\n options = _ref2$options === void 0 ? [] : _ref2$options,\n onChange = _ref2.onChange,\n _ref2$alignContent = _ref2.alignContent,\n alignContent = _ref2$alignContent === void 0 ? 'center' : _ref2$alignContent,\n rest = _objectWithoutProperties(_ref2, _excluded2);\n var tokens = useTheme(); // Fetch tokens from Emotion context\n\n var _styles = useMemo(function () {\n return styles(tokens);\n }, [tokens]);\n var error = !!errorText;\n var msgId = errorText && \"errorMessage_\".concat(id) || helperText && \"helperMessage_\".concat(id);\n var containerCSS = [_styles.base, secondary && _styles.secondary];\n var buttonBarCSS = [_styles.buttons,\n //@ts-ignore\n align && _styles[align + 'Buttons'], !error && !secondary && _styles.primaryLabelWhenFocusedAndChecked, error && _styles.errorLabelWhenFocus, error && _styles.errorLabelWhenChecked, responsive &&\n // @ts-ignore\n _styles['buttonsResponsive' + responsive.charAt(0).toUpperCase() + responsive.charAt(1)]];\n return (\n //@ts-ignore\n jsx(\"fieldset\", _extends({\n className: className,\n css: containerCSS,\n \"aria-label\": hideLabel ? label : null,\n \"data-ppui-info\": \"selection-group_4.4.4\"\n }, rest), !hideLabel && jsx(\"legend\", {\n css: _styles.groupLabel,\n \"data-ppui\": \"true\"\n }, label), jsx(\"div\", {\n css: buttonBarCSS,\n \"data-ppui\": \"true\"\n }, renderSingleButtons(options, name, value, onChange, error, msgId, align, _styles, alignContent, rest)), jsx(FieldGroupMessage, {\n errorText: errorText,\n errorIconAriaLabel: errorIconAriaLabel,\n helperText: helperText,\n msgId: msgId,\n \"data-ppui\": \"true\"\n }))\n );\n};\nvar _excluded$1 = [\"value\", \"label\", \"secondaryLabel\", \"name\", \"className\", \"checked\", \"onChange\", \"id\", \"onMouseOver\"],\n _excluded2$1 = [\"className\", \"errorText\", \"errorIconAriaLabel\", \"helperText\", \"id\", \"label\", \"hideLabel\", \"align\", \"responsive\", \"secondary\", \"options\", \"onChange\", \"alignContent\"];\nfunction ownKeys$1(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _objectSpread$1(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys$1(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}\nvar renderMultiButtons = function (options, masterOnChange, error, msgId, align, _styles, alignContent, rest) {\n if (!options.length) {\n return jsx(\"em\", {\n \"data-ppui\": \"true\"\n }, \"No options to choose from\");\n }\n return options.map(function (_ref, index) {\n var value = _ref.value,\n label = _ref.label,\n secondaryLabel = _ref.secondaryLabel,\n name = _ref.name,\n className = _ref.className,\n checked = _ref.checked,\n _ref$onChange = _ref.onChange,\n onChange = _ref$onChange === void 0 ? masterOnChange : _ref$onChange,\n _ref$id = _ref.id,\n id = _ref$id === void 0 ? \"selection_\".concat(name) : _ref$id,\n onMouseOver = _ref.onMouseOver,\n optionRest = _objectWithoutProperties(_ref, _excluded$1);\n var valueProps = onChange ? {\n onChange: onChange,\n value: value,\n checked: checked\n } : {\n value: value,\n defaultChecked: checked\n };\n var otherInputAttr = _objectSpread$1(_objectSpread$1(_objectSpread$1(_objectSpread$1(_objectSpread$1({}, msgId && index === 0 && {\n 'aria-describedby': msgId\n }), error && {\n 'aria-invalid': true\n }), valueProps), rest), optionRest);\n var labelCSS = [_styles.label, align === 'vertical' && alignContent === 'left' && _styles.secondaryLabelVertical, error && _styles.errorLabel, align && _styles[align + 'Label']];\n return jsx(React.Fragment, {\n key: index\n }, jsx(\"input\", _extends({\n type: \"checkbox\",\n name: name,\n id: id,\n css: _styles.control\n }, otherInputAttr, {\n \"data-ppui\": \"true\"\n })), jsx(\"label\", _extends({\n className: className,\n css: labelCSS\n }, {\n htmlFor: id,\n onMouseOver: onMouseOver\n }, {\n \"data-ppui\": \"true\"\n }), label, secondaryLabel && jsx(CaptionText, _extends({\n css: _styles.secondaryLabelTwo\n }, typeof secondaryLabel === 'string' ? {\n as: \"span\"\n } : null, align === 'vertical' ? {\n clampAtLine: 3\n } : null, {\n \"data-ppui\": \"true\"\n }), secondaryLabel)));\n });\n};\nvar MultiSelectionGroup = function (_ref2) {\n var className = _ref2.className,\n errorText = _ref2.errorText,\n _ref2$errorIconAriaLa = _ref2.errorIconAriaLabel,\n errorIconAriaLabel = _ref2$errorIconAriaLa === void 0 ? 'Error' : _ref2$errorIconAriaLa,\n helperText = _ref2.helperText,\n _ref2$id = _ref2.id,\n id = _ref2$id === void 0 ? uniqueId('SelectionGroup_') : _ref2$id,\n _ref2$label = _ref2.label,\n label = _ref2$label === void 0 ? 'label' : _ref2$label,\n hideLabel = _ref2.hideLabel,\n align = _ref2.align,\n responsive = _ref2.responsive,\n secondary = _ref2.secondary,\n _ref2$options = _ref2.options,\n options = _ref2$options === void 0 ? [] : _ref2$options,\n onChange = _ref2.onChange,\n _ref2$alignContent = _ref2.alignContent,\n alignContent = _ref2$alignContent === void 0 ? 'center' : _ref2$alignContent,\n rest = _objectWithoutProperties(_ref2, _excluded2$1);\n var tokens = useTheme(); // Fetch tokens from Emotion context\n\n var _styles = useMemo(function () {\n return styles(tokens);\n }, [tokens]);\n var error = !!errorText;\n var msgId = errorText && \"errorMessage_\".concat(id) || helperText && \"helperMessage_\".concat(id);\n var containerCSS = [_styles.base, secondary && _styles.secondary];\n var buttonBarCSS = [_styles.buttons,\n //@ts-ignore\n align && _styles[align + 'Buttons'], !error && !secondary && _styles.primaryLabelWhenFocusedAndChecked, error && _styles.errorLabelWhenFocus, error && _styles.errorLabelWhenChecked, responsive &&\n // @ts-ignore\n _styles['buttonsResponsive' + responsive.charAt(0).toUpperCase() + responsive.charAt(1)]];\n return (\n //@ts-ignore\n jsx(\"fieldset\", _extends({\n className: className,\n css: containerCSS,\n \"aria-label\": hideLabel ? label : null,\n \"data-ppui-info\": \"selection-group_4.4.4\"\n }, rest), !hideLabel && jsx(\"legend\", {\n css: _styles.groupLabel,\n \"data-ppui\": \"true\"\n }, label), jsx(\"div\", {\n css: buttonBarCSS,\n \"data-ppui\": \"true\"\n }, renderMultiButtons(options, onChange, error, msgId, align, _styles, alignContent, rest)), jsx(FieldGroupMessage, {\n errorText: errorText,\n errorIconAriaLabel: errorIconAriaLabel,\n helperText: helperText,\n msgId: msgId,\n \"data-ppui\": \"true\"\n }))\n );\n};\nexport { MultiSelectionGroup, SingleSelectionGroup, styles as selectionGroupStyles };","import _extends from '@babel/runtime/helpers/esm/extends';\nimport _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';\nimport React, { forwardRef, useMemo } from 'react';\nimport { CheckmarkSmIcon } from '@paypalcorp/pp-react-icons';\nimport _defineProperty from '@babel/runtime/helpers/esm/defineProperty';\nimport { css, useTheme, jsx } from '@emotion/react';\nimport _taggedTemplateLiteral from '@babel/runtime/helpers/esm/taggedTemplateLiteral';\nimport { math } from 'polished';\nimport { textStyles } from '@paypalcorp/pp-react-text';\nimport { utilStyles, uniqueId } from '@paypalcorp/pp-react-utils';\nvar _excluded = [\"as\", \"children\", \"className\"];\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}\nvar IfNotEmpty = function (_ref) {\n var _ref$as = _ref.as,\n as = _ref$as === void 0 ? 'span' : _ref$as,\n children = _ref.children,\n className = _ref.className,\n rest = _objectWithoutProperties(_ref, _excluded);\n return children ? React.createElement(as, _objectSpread({\n className: className\n }, rest), children) : null;\n};\nvar _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12;\nfunction styles(tokens) {\n /* istanbul ignore next */\n if (!Object.keys(tokens).length) {\n console.warn('Missing Emotion theme. Use ThemeProvider from @emotion/react to pass a valid theme from pp-react.');\n return {};\n }\n var sysBorderRadiusInteractive = tokens.sysBorderRadiusInteractive,\n sysBorderThicknessNormal = tokens.sysBorderThicknessNormal,\n sysColorBackgroundMediumContrast = tokens.sysColorBackgroundMediumContrast,\n sysColorSelectedMain = tokens.sysColorSelectedMain,\n sysColorSelectedMainHover = tokens.sysColorSelectedMainHover,\n sysColorSelectedContrast = tokens.sysColorSelectedContrast,\n sysColorStructureBorderHighContrast = tokens.sysColorStructureBorderHighContrast,\n sysColorUnselectedMainHover = tokens.sysColorUnselectedMainHover,\n sysColorUnselectedMain = tokens.sysColorUnselectedMain,\n sysMotionDurationAction = tokens.sysMotionDurationAction,\n sysSizeCircleSm = tokens.sysSizeCircleSm,\n sysSpaceXs = tokens.sysSpaceXs,\n sysSpaceMd = tokens.sysSpaceMd,\n sysSpaceXl = tokens.sysSpaceXl;\n var _textStyles = textStyles(tokens),\n textBody = _textStyles.body,\n caption = _textStyles.caption;\n var _utilStyles = utilStyles(tokens),\n focusStyles = _utilStyles.focusStyles;\n var focusAfter = focusStyles.focusAfter;\n var switchIndicatorWidth = '3.5rem';\n var switchBorderRadius = math(\"\".concat(sysSizeCircleSm, \" / 2\"));\n var switchTranslateWidth = math(\"\".concat(switchIndicatorWidth, \" - \").concat(sysSizeCircleSm));\n var base = css(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n label: switch_base;\\n position: relative;\\n text-align: left;\\n\\n [dir='rtl'] & {\\n text-align: right;\\n }\\n \"])));\n var label = css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral([\"\\n label: label;\\n \", \";\\n display: block;\\n margin-bottom: \", \";\\n\\n [dir='rtl'] & {\\n padding-right: 0;\\n padding-left: \", \";\\n }\\n \"])), textBody(), sysSpaceMd, sysSpaceXl);\n var secondaryLabel = css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral([\"\\n label: secondary_label;\\n display: block;\\n \", \";\\n \"])), textBody({\n color: sysColorBackgroundMediumContrast\n }));\n var inline = css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral([\"\\n label: inline;\\n display: flex;\\n flex-wrap: wrap;\\n align-items: center;\\n width: 100%;\\n \"])));\n var inlineLabel = css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral([\"\\n label: inline_label;\\n flex: 1 1 0;\\n text-align: start;\\n padding-right: \", \";\\n margin-bottom: 0;\\n\\n [dir='rtl'] & {\\n padding-right: 0;\\n padding-left: \", \";\\n }\\n \"])), sysSpaceXl, sysSpaceXl);\n var inlineHelperText = css(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral([\"\\n label: inline_helper_text;\\n flex: 0 0 100%;\\n \"])));\n var container = css(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral([\"\\n label: container;\\n width: \", \";\\n height: \", \";\\n position: relative;\\n \"])), switchIndicatorWidth, sysSizeCircleSm);\n var state = css(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral([\"\\n label: state;\\n display: inline-block;\\n width: \", \";\\n height: \", \";\\n cursor: pointer;\\n border: \", \" solid\\n \", \";\\n border-radius: \", \";\\n background-color: \", \";\\n\\n > span {\\n visibility: hidden;\\n }\\n \"])), switchIndicatorWidth, sysSizeCircleSm, sysBorderThicknessNormal, sysColorStructureBorderHighContrast, switchBorderRadius, sysColorUnselectedMain);\n var handler = css(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral([\"\\n label: handler;\\n position: absolute;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n pointer-events: none;\\n top: 0;\\n left: 0;\\n width: \", \";\\n height: \", \";\\n background-color: \", \";\\n border-radius: \", \";\\n border: \", \" solid\\n \", \";\\n transition: \", \";\\n \"])), sysSizeCircleSm, sysSizeCircleSm, sysColorSelectedContrast, sysBorderRadiusInteractive, sysBorderThicknessNormal, sysColorStructureBorderHighContrast, sysMotionDurationAction);\n var selectedIcon = css(_templateObject10 || (_templateObject10 = _taggedTemplateLiteral([\"\\n label: selected_icon;\\n display: none;\\n color: \", \";\\n \"])), sysColorSelectedMain);\n var control = css(_templateObject11 || (_templateObject11 = _taggedTemplateLiteral([\"\\n label: control;\\n opacity: 0;\\n position: absolute;\\n\\n &:focus ~ label::after {\\n \", \"\\n }\\n\\n &:hover ~ label {\\n background-color: \", \";\\n }\\n\\n &:checked ~ label {\\n background-color: \", \";\\n border: \", \" solid \", \";\\n }\\n\\n &:checked ~ span {\\n transform: translateX(\", \");\\n border: \", \" solid \", \";\\n }\\n\\n &:checked + label + span > span:first-of-type {\\n display: inline-block;\\n }\\n\\n &:checked:hover ~ label {\\n background-color: \", \";\\n }\\n \"])), focusAfter({\n radius: switchBorderRadius,\n width: switchIndicatorWidth,\n height: sysSizeCircleSm\n }), sysColorUnselectedMainHover, sysColorSelectedMain, sysBorderThicknessNormal, sysColorSelectedMain, switchTranslateWidth, sysBorderThicknessNormal, sysColorSelectedMain, sysColorSelectedMainHover);\n var helperText = css(_templateObject12 || (_templateObject12 = _taggedTemplateLiteral([\"\\n label: helper_text;\\n margin-top: \", \";\\n list-style: none;\\n padding-left: 0;\\n \", \"\\n \"])), sysSpaceXs, caption({\n color: sysColorBackgroundMediumContrast\n }));\n return {\n base: base,\n label: label,\n secondaryLabel: secondaryLabel,\n inline: inline,\n inlineLabel: inlineLabel,\n inlineHelperText: inlineHelperText,\n container: container,\n state: state,\n control: control,\n handler: handler,\n selectedIcon: selectedIcon,\n helperText: helperText\n };\n}\nvar _excluded$1 = [\"checked\", \"inline\", \"className\", \"inputClassName\", \"labelClassName\", \"helperText\", \"hideLabel\", \"id\", \"label\", \"secondaryLabel\", \"onChange\", \"required\", \"value\"];\nvar Switch = forwardRef(function (_ref, ref) {\n var checked = _ref.checked,\n inline = _ref.inline,\n className = _ref.className,\n inputClassName = _ref.inputClassName,\n labelClassName = _ref.labelClassName,\n helperText = _ref.helperText,\n hideLabel = _ref.hideLabel,\n _ref$id = _ref.id,\n id = _ref$id === void 0 ? uniqueId('Switch_') : _ref$id,\n label = _ref.label,\n secondaryLabel = _ref.secondaryLabel,\n onChange = _ref.onChange,\n required = _ref.required,\n value = _ref.value,\n rest = _objectWithoutProperties(_ref, _excluded$1);\n var tokens = useTheme();\n var _styles = useMemo(function () {\n return styles(tokens);\n }, [tokens]);\n var containerCSSVal = [_styles.base, inline && _styles.inline];\n var labelCssVal = [_styles.label, inline && _styles.inlineLabel];\n var helperCssVal = [_styles.helperText, inline && _styles.inlineHelperText];\n var messageId = \"message_\".concat(id);\n var labelId = \"label_\".concat(id);\n var valueProps = onChange ? {\n onChange: onChange,\n checked: checked\n } : {\n defaultChecked: checked\n };\n return jsx(\"div\", {\n css: containerCSSVal,\n className: className,\n \"data-ppui-info\": \"switch_3.3.11\"\n }, !hideLabel && jsx(\"span\", {\n id: labelId,\n css: labelCssVal,\n \"data-ppui\": \"true\"\n }, label, jsx(IfNotEmpty, {\n as: \"div\",\n css: _styles.secondaryLabel,\n \"data-ppui\": \"true\"\n }, secondaryLabel)), jsx(\"div\", {\n css: _styles.container,\n \"data-ppui\": \"true\"\n }, jsx(\"input\", _extends({}, helperText ? {\n 'aria-describedby': messageId\n } : null, !hideLabel ? {\n 'aria-labelledby': labelId\n } : {}, {\n //@ts-ignore\n \"aria-label\": hideLabel ? label : null,\n css: _styles.control,\n className: inputClassName,\n id: id,\n role: \"switch\",\n type: \"checkbox\",\n value: value,\n ref: ref\n }, valueProps, rest, {\n \"data-ppui\": \"true\"\n })), jsx(\"label\", {\n css: _styles.state,\n className: labelClassName,\n htmlFor: id,\n \"data-ppui\": \"true\"\n }, jsx(\"span\", {\n \"data-ppui\": \"true\"\n }, label)), jsx(\"span\", {\n css: _styles.handler,\n \"data-ppui\": \"true\"\n }, jsx(CheckmarkSmIcon, {\n size: \"xs\",\n css: _styles.selectedIcon,\n \"aria-hidden\": \"true\",\n \"data-ppui\": \"true\"\n }))), function renderMessage(help, msgId) {\n return help && jsx(\"div\", {\n css: helperCssVal,\n id: msgId,\n \"data-ppui\": \"true\"\n }, help) || null;\n }(helperText, messageId));\n});\nexport { Switch, styles as switchStyles };","import _extends from '@babel/runtime/helpers/esm/extends';\nimport _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';\nimport React, { useMemo, useRef, useState, useLayoutEffect } from 'react';\nimport { css, useTheme, jsx } from '@emotion/react';\nimport _taggedTemplateLiteral from '@babel/runtime/helpers/esm/taggedTemplateLiteral';\nimport { math, rgba } from 'polished';\nimport { textStyles } from '@paypalcorp/pp-react-text';\nimport { utilStyles, AnimateDirection, hasNavigator, KeyboardCode } from '@paypalcorp/pp-react-utils';\nimport _slicedToArray from '@babel/runtime/helpers/esm/slicedToArray';\nimport { IconButton } from '@paypalcorp/pp-react-icon-button';\nimport { ArrowLeftIcon, ArrowRightIcon } from '@paypalcorp/pp-react-icons';\nvar _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17, _templateObject18, _templateObject19, _templateObject20;\nfunction styles(tokens) {\n /* istanbul ignore next */\n if (!Object.keys(tokens).length) {\n console.warn('Missing Emotion theme. Use ThemeProvider from @emotion/react to pass a valid theme from pp-react.');\n return {};\n }\n var sysColorBackgroundSurface = tokens.sysColorBackgroundSurface,\n sysBorderThicknessEmphasis = tokens.sysBorderThicknessEmphasis,\n sysSpaceXl = tokens.sysSpaceXl,\n sysColorStructureFocus = tokens.sysColorStructureFocus,\n sysMotionDurationAction = tokens.sysMotionDurationAction,\n sysMotionDurationDepart = tokens.sysMotionDurationDepart,\n sysColorPrimaryMain = tokens.sysColorPrimaryMain,\n sysSizeFieldSm = tokens.sysSizeFieldSm,\n sysSpaceLg = tokens.sysSpaceLg,\n sysSpaceMd = tokens.sysSpaceMd,\n sysSpaceJumbo = tokens.sysSpaceJumbo,\n sysBorderRadiusLg = tokens.sysBorderRadiusLg,\n sysColorPrimaryMainHover = tokens.sysColorPrimaryMainHover,\n sysColorPrimaryMainActive = tokens.sysColorPrimaryMainActive,\n sysSizeMediaSm = tokens.sysSizeMediaSm,\n sysSizeTapTargetDefault = tokens.sysSizeTapTargetDefault;\n var _utilStyles = utilStyles(tokens),\n elevationStyles = _utilStyles.elevationStyles,\n focusStyles = _utilStyles.focusStyles,\n slideTo = _utilStyles.slideTo;\n var focusAfter = focusStyles.focusAfter,\n stateFocusBorderWidthInner = focusStyles.stateFocusBorderWidthInner,\n stateFocusBorderColorInner = focusStyles.stateFocusBorderColorInner;\n var _textStyles = textStyles(tokens),\n textBody = _textStyles.body,\n textBodyStrong = _textStyles.bodyStrong;\n var tabPaddingLeft = math(\"\".concat(sysSpaceJumbo, \" + \").concat(sysSpaceXl));\n var noDisplay = css(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n display: none;\\n \"])));\n var blockDisplay = css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral([\"\\n display: block;\\n \"])));\n var tabWrapperBase = css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral([\"\\n label: tabs_wrapper_base;\\n position: relative;\\n \"])));\n var base = css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral([\"\\n label: tabs_base;\\n overflow-y: hidden;\\n white-space: nowrap;\\n position: relative;\\n scrollbar-width: none;\\n padding: \", \" \", \" \", \" \", \";\\n &::-webkit-scrollbar {\\n \", \"\\n }\\n \"])), sysSpaceXl, sysSpaceXl, sysSpaceXl, tabPaddingLeft, noDisplay);\n var tabsWrapper = css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral([\"\\n label: tabs_wrapper;\\n display: flex;\\n float: left;\\n min-height: \", \";\\n align-items: center;\\n width: max-content;\\n [dir='rtl'] & {\\n float: right;\\n }\\n \"])), sysSizeFieldSm);\n var tabsCenter = css(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral([\"\\n label: tabs_center;\\n min-width: 100%;\\n width: auto;\\n min-height: \", \";\\n justify-content: center;\\n @media (max-width: \", \") {\\n width: auto;\\n justify-content: flex-start;\\n }\\n \"])), sysSizeFieldSm, sysSizeMediaSm);\n var tabsBtn = css(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral([\"\\n label: tabs_btn;\\n \", \"\\n padding: \", \" \", \";\\n min-height: \", \";\\n min-width: \", \";\\n max-width: \", \";\\n margin-inline-end: \", \";\\n outline: none;\\n position: relative;\\n border: none;\\n background-color: transparent;\\n white-space: normal;\\n word-wrap: break-word;\\n text-decoration: none;\\n flex-shrink: 0;\\n \", \"\\n align-items: center;\\n cursor: pointer;\\n border-radius: \", \";\\n &:last-of-type {\\n margin-inline-end: 0;\\n }\\n &:before {\\n left: 0;\\n bottom: 0;\\n right: 0;\\n position: relative;\\n \", \"\\n content: attr(data-button-text);\\n height: 0;\\n overflow: hidden;\\n visibility: hidden;\\n pointer-events: none;\\n }\\n &:after {\\n content: '';\\n position: absolute;\\n inset: 0;\\n border: none;\\n border-radius: \", \";\\n pointer-events: none;\\n }\\n &:hover {\\n text-decoration: none;\\n background: \", \";\\n &:after {\\n border: \", \" solid \", \";\\n }\\n }\\n &:active {\\n border-radius: \", \";\\n background: \", \";\\n text-decoration: none;\\n &:after {\\n border: \", \" solid \", \";\\n }\\n }\\n &:focus {\\n outline: none;\\n text-decoration: none;\\n &:after {\\n \", \"\\n transform: none;\\n transition: none;\\n }\\n }\\n &:visited {\\n text-decoration: none;\\n }\\n \"])), textBody(), sysSpaceMd, sysSpaceLg, sysSizeFieldSm, '5.25rem', '11.5rem', sysSpaceLg, blockDisplay, math(\"\".concat(sysBorderRadiusLg, \" * 2\")), blockDisplay, math(\"\".concat(sysBorderRadiusLg, \" * 2\")), sysColorBackgroundSurface, sysBorderThicknessEmphasis, sysColorPrimaryMainHover, math(\"\".concat(sysBorderRadiusLg, \" * 2\")), sysColorBackgroundSurface, sysBorderThicknessEmphasis, sysColorPrimaryMainActive, focusAfter({\n radius: math(\"\".concat(sysBorderRadiusLg, \" * 2\")),\n width: '100%',\n height: '100%',\n border: \"\".concat(stateFocusBorderWidthInner, \" solid\\n \").concat(stateFocusBorderColorInner)\n }));\n var tabsSelectedBtn = css(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral([\"\\n label: tab_selected;\\n \", \";\\n background: \", \";\\n \", \"\\n &:hover {\\n \", \";\\n text-decoration: none;\\n &:after {\\n border: \", \" solid \", \";\\n }\\n }\\n \"])), textBodyStrong({\n color: sysColorPrimaryMain\n }), sysColorBackgroundSurface, elevationStyles.level1, textBodyStrong({\n color: sysColorPrimaryMain\n }), sysBorderThicknessEmphasis, sysColorPrimaryMainHover);\n var tabsScrollBtn = css(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral([\"\\n label: tabs_scroll_btn;\\n background-color: \", \";\\n position: absolute;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n opacity: 0;\\n visibility: hidden;\\n width: \", \";\\n height: \", \";\\n top: 0;\\n \"])), sysColorBackgroundSurface, sysSizeTapTargetDefault, math(\"\".concat(sysSizeTapTargetDefault, \" * 2\")));\n var tabsScrollBtnLeft = css(_templateObject10 || (_templateObject10 = _taggedTemplateLiteral([\"\\n label: tabs_scroll_btn_left;\\n left: 0;\\n background: linear-gradient(\\n 90deg,\\n \", \" 47.45%,\\n \", \" 100%\\n );\\n \"])), sysColorBackgroundSurface, rgba(255, 255, 255, 0));\n var tabsScrollBtnRight = css(_templateObject11 || (_templateObject11 = _taggedTemplateLiteral([\"\\n label: tabs_scroll_btn_right;\\n right: 0;\\n background: linear-gradient(\\n 270deg,\\n \", \" 47.45%,\\n \", \" 100%\\n );\\n \"])), sysColorBackgroundSurface, rgba(255, 255, 255, 0));\n var tabsScrollBtnVisible = css(_templateObject12 || (_templateObject12 = _taggedTemplateLiteral([\"\\n label: btn_visible;\\n visibility: visible;\\n opacity: 1;\\n transition: visibility \", \",\\n opacity \", \";\\n \"])), sysMotionDurationDepart, sysMotionDurationDepart);\n var tabsArrowIcon = css(_templateObject13 || (_templateObject13 = _taggedTemplateLiteral([\"\\n label: tabs_arrow_icon;\\n color: \", \";\\n background: \", \";\\n \", \"\\n \"])), sysColorPrimaryMain, sysColorBackgroundSurface, elevationStyles.level1);\n var tabContent = css(_templateObject14 || (_templateObject14 = _taggedTemplateLiteral([\"\\n label: tabs_content;\\n margin: 0 \", \" 0 \", \";\\n\\n &:focus {\\n outline: none;\\n }\\n &[aria-hidden='true'] {\\n \", \"\\n }\\n \"])), sysSpaceXl, math(\"\".concat(sysSpaceXl, \" * 3\")), noDisplay);\n var tabContentFocus = css(_templateObject15 || (_templateObject15 = _taggedTemplateLiteral([\"\\n label: tabs_content_focus;\\n &:focus {\\n box-shadow: 0 0 \", \"\\n \", \" \", \";\\n }\\n \"])), sysBorderThicknessEmphasis, sysBorderThicknessEmphasis, sysColorStructureFocus);\n var animateToDirection = function (direction) {\n var label = \"tabs_animate_\".concat(direction);\n return css(_templateObject16 || (_templateObject16 = _taggedTemplateLiteral([\"\\n label: \", \";\\n &:before {\\n animation: \", \" \", \" both;\\n }\\n \"])), label, slideTo(direction), sysMotionDurationAction);\n };\n var hideBtn = css(_templateObject17 || (_templateObject17 = _taggedTemplateLiteral([\"\\n label: no_scroll_buttons;\\n \", \"\\n \"])), noDisplay);\n var tabContentVisible = css(_templateObject18 || (_templateObject18 = _taggedTemplateLiteral([\"\\n label: tab_content_visible;\\n \", \"\\n \"])), blockDisplay);\n var tabContentHidden = css(_templateObject19 || (_templateObject19 = _taggedTemplateLiteral([\"\\n label: tab_content_hidden;\\n \", \"\\n \"])), noDisplay);\n var navBackground = css(_templateObject20 || (_templateObject20 = _taggedTemplateLiteral([\"\\n label: tab_background;\\n \", \"\\n background: \", \";\\n \"])), elevationStyles.level3, sysColorBackgroundSurface);\n return {\n tabWrapperBase: tabWrapperBase,\n base: base,\n tabsWrapper: tabsWrapper,\n tabsCenter: tabsCenter,\n tabsBtn: tabsBtn,\n tabsSelectedBtn: tabsSelectedBtn,\n tabsScrollBtn: tabsScrollBtn,\n tabsScrollBtnLeft: tabsScrollBtnLeft,\n tabsScrollBtnRight: tabsScrollBtnRight,\n tabsScrollBtnVisible: tabsScrollBtnVisible,\n tabsArrowIcon: tabsArrowIcon,\n tabContent: tabContent,\n tabContentFocus: tabContentFocus,\n animateToDirection: animateToDirection,\n hideBtn: hideBtn,\n tabContentVisible: tabContentVisible,\n tabContentHidden: tabContentHidden,\n navBackground: navBackground\n };\n}\nvar _excluded = [\"id\", \"tabIdx\", \"label\", \"tabGroupId\", \"panelId\", \"selected\", \"animate\", \"onClick\", \"className\"];\nvar Tab = function (_ref) {\n var _styles$animateToDire;\n var id = _ref.id,\n tabIdx = _ref.tabIdx,\n label = _ref.label,\n tabGroupId = _ref.tabGroupId,\n panelId = _ref.panelId,\n selected = _ref.selected,\n animate = _ref.animate,\n onClick = _ref.onClick,\n className = _ref.className,\n rest = _objectWithoutProperties(_ref, _excluded);\n var tokens = useTheme();\n var _styles = useMemo(function () {\n return styles(tokens);\n }, [tokens]);\n var tabStyles = [_styles.tabsBtn, selected && _styles.tabsSelectedBtn, animate && ((_styles$animateToDire = _styles.animateToDirection) === null || _styles$animateToDire === void 0 ? void 0 : _styles$animateToDire.call(_styles, animate))];\n var focusable = selected ? 0 : -1;\n var tabId = id || \"\".concat(tabGroupId, \"-tab\").concat(parseInt(tabIdx, 10) + 1);\n return jsx(\"button\", _extends({\n \"data-tab-index\": tabIdx,\n id: tabId,\n css: tabStyles,\n className: className,\n \"aria-controls\": panelId,\n \"aria-selected\": selected,\n tabIndex: focusable,\n type: \"button\",\n role: \"tab\"\n }, rest, {\n onClick: onClick,\n \"data-button-text\": label,\n \"data-ppui\": \"true\"\n }), label);\n};\nvar _excluded$1 = [\"id\", \"panelId\", \"label\"];\nvar isRunningOnIEorEdge = function () {\n if (hasNavigator() && (/MSIE 9/i.test(navigator.userAgent) || /MSIE 10/i.test(navigator.userAgent) || /rv:11.0/i.test(navigator.userAgent) || /Edge\\/\\d./i.test(navigator.userAgent))) {\n return true;\n }\n return false;\n};\nvar getRefCurrent = function (myRef) {\n return (/* istanbul ignore next */\n myRef && myRef.current ? myRef.current : null\n );\n}; // for scrolling with transition\n\nvar SPEED = 25;\nvar DISTANCE = 120;\nvar STEP = 20; // eslint-disable-next-line max-statements\n\nvar Tabs = function (_ref) {\n var _ref$name = _ref.name,\n name = _ref$name === void 0 ? 'TabsGroup' : _ref$name,\n selectedTabIdx = _ref.selectedTabIdx,\n center = _ref.center,\n _ref$tabs = _ref.tabs,\n tabs = _ref$tabs === void 0 ? [] : _ref$tabs,\n onClick = _ref.onClick,\n className = _ref.className,\n tabClassName = _ref.tabClassName,\n tabsWrapperClassName = _ref.tabsWrapperClassName,\n children = _ref.children,\n _ref$scrollLeftLabel = _ref.scrollLeftLabel,\n scrollLeftLabel = _ref$scrollLeftLabel === void 0 ? 'scroll left' : _ref$scrollLeftLabel,\n _ref$scrollRightLabel = _ref.scrollRightLabel,\n scrollRightLabel = _ref$scrollRightLabel === void 0 ? 'scroll right' : _ref$scrollRightLabel,\n keepAlive = _ref.keepAlive,\n lazyLoad = _ref.lazyLoad,\n addBackgroundColor = _ref.addBackgroundColor;\n var tokens = useTheme();\n var _styles = useMemo(function () {\n return styles(tokens);\n }, [tokens]);\n var navEleRef = useRef();\n var containerEleRef = useRef();\n var prevSelectedTabIdxRef = useRef(0);\n var isTabsFocusedRef = useRef(false);\n var focusedIdxRef = useRef();\n var _useState = useState('none'),\n _useState2 = _slicedToArray(_useState, 2),\n overflowDir = _useState2[0],\n setOverflowDir = _useState2[1];\n var getSelectedTabIdx = function () {\n var index = typeof selectedTabIdx === 'string' ? parseInt(selectedTabIdx, 10) : Math.floor(selectedTabIdx);\n if (!selectedTabIdx || !index || index >= tabs.length || index < 0) {\n return 0;\n }\n return index;\n };\n /* istanbul ignore next */\n\n var determineOverflow = function () {\n var nav = getRefCurrent(navEleRef);\n if (nav) {\n var tabsWrapper = nav.children[0];\n var _scroll = nav.scrollLeft;\n var navRight = Math.floor(nav.getBoundingClientRect().right);\n var tabsRight = Math.floor(tabsWrapper.getBoundingClientRect().right);\n var navLeft = Math.floor(nav.getBoundingClientRect().left);\n var tabsLeft = Math.floor(tabsWrapper.getBoundingClientRect().left);\n if (_scroll === 0 && navRight > tabsRight && tabsLeft > navLeft) {\n setOverflowDir('none');\n return;\n }\n if (tabsLeft < navLeft && navRight < tabsRight) {\n setOverflowDir('both');\n return;\n }\n if (tabsRight > navRight) {\n setOverflowDir('right');\n return;\n }\n if (tabsLeft < navLeft) {\n setOverflowDir('left');\n return;\n }\n } // record that the function was called\n\n var evt = new Event('checkOverflow');\n window.dispatchEvent(evt);\n };\n var offsetFocus = function (offset) {\n var nav = getRefCurrent(navEleRef);\n var tabDomItems = nav.querySelectorAll('[role=\"tab\"]');\n var nextIndex = focusedIdxRef.current + offset;\n var index;\n /* istanbul ignore next */\n\n if (nextIndex === tabs.length) {\n index = 0;\n } else if (nextIndex === -1) {\n index = tabs.length - 1;\n } else {\n index = nextIndex;\n }\n tabDomItems[index].focus();\n tabDomItems[index].scrollIntoView({\n block: 'nearest'\n });\n focusedIdxRef.current = index;\n };\n var keyHandler = function (event) {\n /* istanbul ignore next */\n var KeyCode = new KeyboardCode(event.key || event.keyCode);\n var selectedIndex = getSelectedTabIdx();\n if (KeyCode.IS_ARROW_LEFT) {\n event.preventDefault();\n offsetFocus(-1);\n } else if (KeyCode.IS_ARROW_RIGHT) {\n event.preventDefault();\n offsetFocus(1);\n } else if (KeyCode.IS_ENTER || KeyCode.IS_SPACEBAR) {\n event.preventDefault();\n /* istanbul ignore next */\n\n if (selectedIndex !== focusedIdxRef.current) {\n onClick(event, focusedIdxRef.current);\n }\n }\n };\n var handleFocusOut = function (event) {\n isTabsFocusedRef.current = false;\n var newFocusedItem = event.relatedTarget;\n /* istanbul ignore next */\n\n if (!newFocusedItem || newFocusedItem.parentElement !== event.currentTarget) {\n // @ts-ignore\n document.removeEventListener('keydown', keyHandler, false); // reset focusedIdx to current selected tab\n\n focusedIdxRef.current = getSelectedTabIdx(); // add scroll arrows back when focus is out:\n\n determineOverflow();\n }\n };\n useLayoutEffect(function () {\n var nav = getRefCurrent(navEleRef);\n prevSelectedTabIdxRef.current = getSelectedTabIdx();\n /* istanbul ignore next */\n\n if (isTabsFocusedRef.current) {\n // @ts-ignore\n document.addEventListener('keydown', keyHandler, false);\n }\n nav.firstChild.addEventListener('focusout',\n // @ts-ignore\n handleFocusOut, false);\n return function () {\n // @ts-ignore\n document.removeEventListener('keydown', keyHandler, false);\n nav.firstChild.removeEventListener('focusout',\n // @ts-ignore\n handleFocusOut, false);\n };\n }, [tabs, selectedTabIdx, onClick]);\n useLayoutEffect(function () {\n var container = getRefCurrent(containerEleRef);\n var nav = getRefCurrent(navEleRef);\n var resizeObserver;\n focusedIdxRef.current = getSelectedTabIdx();\n var scrollButtons = container.querySelectorAll(\"[data-id=\\\"scroll-btn\\\"]\");\n if (!isRunningOnIEorEdge()) {\n determineOverflow(); // Check for overflow after window resize:\n\n /* istanbul ignore next */\n\n if (window.ResizeObserver) {\n resizeObserver = new ResizeObserver(function () {\n determineOverflow();\n });\n resizeObserver.observe(nav);\n } // adjust left/right arrow buttons height tof the tabs wrapper.\n\n var tabsWrapper = nav.children[0];\n /* istanbul ignore next */\n\n var btnHeight = (tabsWrapper.offsetHeight + tabsWrapper.offsetTop * 2).toString();\n /* istanbul ignore next */\n\n if (scrollButtons && tabsWrapper.offsetHeight !== scrollButtons[0].offsetHeight) {\n scrollButtons[0].style.height = \"\".concat(btnHeight, \"px\");\n scrollButtons[1].style.height = \"\".concat(btnHeight, \"px\");\n }\n }\n return function () {\n /* istanbul ignore next */\n if (resizeObserver) {\n resizeObserver.disconnect();\n }\n };\n }, []);\n var handleClick = function (event) {\n var nav = getRefCurrent(navEleRef);\n var tabDomItems = nav.querySelectorAll('[role=\"tab\"]');\n isTabsFocusedRef.current = false;\n tabDomItems[focusedIdxRef.current].blur();\n var tabIdxClicked = parseInt(event.currentTarget.getAttribute('data-tab-index'), 10); // This is tested, but coverage not registering it\n\n /* istanbul ignore next */\n\n if (tabIdxClicked) {\n focusedIdxRef.current = tabIdxClicked;\n }\n onClick(event, tabIdxClicked);\n };\n var handleFocus = function (event) {\n isTabsFocusedRef.current = true;\n var prevFocusedItem = event.relatedTarget;\n if (!prevFocusedItem || prevFocusedItem.parentElement !== event.currentTarget) {\n // @ts-ignore\n document.addEventListener('keydown', keyHandler, false); // remove arrows when navigating with keyboard:\n\n setOverflowDir('none');\n }\n };\n var handleTouchScroll = function () {\n var isScrolling;\n window.clearTimeout(isScrolling);\n /* istanbul ignore next */\n\n isScrolling = setTimeout(function () {\n determineOverflow();\n }, 15);\n };\n /* istanbul ignore next */\n\n var scroll = function (direction) {\n var nav = getRefCurrent(navEleRef); // scroll with transition\n\n var scrollAmount = 0;\n var slideTimer = window.setInterval(function () {\n if (direction === 'right') {\n nav.scrollLeft += STEP;\n } else {\n nav.scrollLeft -= STEP;\n }\n scrollAmount += STEP;\n if (scrollAmount >= DISTANCE) {\n window.clearInterval(slideTimer);\n }\n }, SPEED);\n setTimeout(function () {\n determineOverflow();\n }, 150); // record that scroll event was called\n\n var evt = new Event('tabsScrolled');\n window.dispatchEvent(evt);\n };\n var selectedIndex = getSelectedTabIdx();\n var leftScrollCssVal = [_styles.tabsScrollBtn, _styles.tabsScrollBtnLeft, /* istanbul ignore next */\n (overflowDir === 'left' || overflowDir === 'both') && _styles.tabsScrollBtnVisible, isRunningOnIEorEdge() && _styles.hideBtn];\n var rightScrollCssVal = [_styles.tabsScrollBtn, _styles.tabsScrollBtnRight, /* istanbul ignore next */\n (overflowDir === 'right' || overflowDir === 'both') && _styles.tabsScrollBtnVisible, isRunningOnIEorEdge() && _styles.hideBtn];\n var scrollButtonFocus = -1;\n var selectedId;\n var animateDirection = null;\n var tabItems = tabs.map(function (tab, index) {\n var id = tab.id,\n panelId = tab.panelId,\n label = tab.label,\n otherTabProps = _objectWithoutProperties(tab, _excluded$1); // update animation (only on the selected tab)\n\n if (index === selectedIndex) {\n selectedId = tab.id || \"\".concat(name, \"-tab\").concat(index + 1);\n if (prevSelectedTabIdxRef.current > index) {\n animateDirection = AnimateDirection.LEFT;\n } else if (prevSelectedTabIdxRef.current < index) {\n animateDirection = AnimateDirection.RIGHT;\n }\n }\n return jsx(Tab, _extends({\n key: \"\".concat(name, \"-tab\").concat(index + 1),\n id: id,\n tabIdx: index.toString(),\n label: label,\n tabGroupId: name,\n panelId: panelId,\n selected: index === selectedIndex,\n animate: animateDirection,\n onClick: handleClick,\n className: tabClassName\n }, otherTabProps, {\n \"data-ppui\": \"true\"\n }));\n }); // Get selected tab panel and update selected tab panel props\n\n var tabContentItem;\n if (keepAlive || lazyLoad) {\n tabContentItem = React.Children.toArray(children).map(function (_panel, idx) {\n var isSelected = selectedIndex === idx;\n /* istanbul ignore next */\n\n return React.cloneElement(_panel, {\n hidden: !isSelected,\n tabId: isSelected ? selectedId : undefined,\n visible: keepAlive ? true : isSelected\n });\n });\n } else {\n var tabPanel = React.Children.toArray(children).filter(function (_panel, idx) {\n return selectedIndex === idx;\n })[0];\n tabContentItem = React.cloneElement(tabPanel, {\n tabId: selectedId,\n hidden: false\n });\n }\n var otherIconButtonAttr = {\n buttonType: 'secondary',\n css: _styles.tabsArrowIcon\n };\n return jsx(\"div\", {\n ref: containerEleRef,\n id: name,\n css: _styles.tabWrapperBase,\n className: className,\n \"data-ppui-info\": \"tabs_3.7.2\"\n }, jsx(\"nav\", {\n css: [_styles.base, addBackgroundColor && _styles.navBackground],\n id: \"\".concat(name, \"-nav\"),\n ref: navEleRef,\n onScroll: function onScroll() {\n return handleTouchScroll();\n },\n \"data-ppui\": \"true\"\n }, jsx(\"div\", {\n id: \"\".concat(name, \"-tabs\"),\n className: tabsWrapperClassName,\n css: [_styles.tabsWrapper, center && _styles.tabsCenter],\n role: \"tablist\",\n onFocus: function onFocus(e) {\n return handleFocus(e);\n },\n onMouseDown: function onMouseDown(e) {\n return e.preventDefault();\n } // remove focus on click\n ,\n\n \"data-ppui\": \"true\"\n }, tabItems)), jsx(\"span\", {\n \"data-id\": \"scroll-btn\",\n css: leftScrollCssVal,\n \"data-ppui\": \"true\"\n }, jsx(IconButton, _extends({\n inverse: true,\n svgIconComponent: ArrowLeftIcon,\n \"aria-label\": scrollLeftLabel,\n tabIndex: scrollButtonFocus,\n onClick: function () {\n return scroll('left');\n }\n }, otherIconButtonAttr, {\n \"data-ppui\": \"true\"\n }), scrollLeftLabel)), jsx(\"span\", {\n \"data-id\": \"scroll-btn\",\n css: rightScrollCssVal,\n \"data-ppui\": \"true\"\n }, jsx(IconButton, _extends({\n inverse: true,\n svgIconComponent: ArrowRightIcon,\n tabIndex: scrollButtonFocus,\n onClick: function () {\n return scroll('right');\n }\n }, otherIconButtonAttr, {\n \"data-ppui\": \"true\"\n }), scrollRightLabel)), tabContentItem);\n};\nvar _excluded$2 = [\"id\", \"tabId\", \"hidden\", \"className\", \"visible\", \"children\"];\nvar TabPanel = function (_ref) {\n var id = _ref.id,\n tabId = _ref.tabId,\n hidden = _ref.hidden,\n className = _ref.className,\n _ref$visible = _ref.visible,\n visible = _ref$visible === void 0 ? true : _ref$visible,\n children = _ref.children,\n rest = _objectWithoutProperties(_ref, _excluded$2);\n var hasMouseClickFocus = useRef(false);\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n mouseFocus = _useState2[0],\n updateMouseFocus = _useState2[1];\n var tokens = useTheme();\n var _styles = useMemo(function () {\n return styles(tokens);\n }, [tokens]); // Ref variable to determine whether to render the component or not.\n\n var hasRendered = useRef(visible);\n /* istanbul ignore next */\n\n if (visible && !hasRendered.current) {\n hasRendered.current = true;\n }\n /* istanbul ignore next */\n\n if (!hasRendered.current) {\n // Do not re-render the TabPanel when its already present in the DOM.\n return null;\n } // to prevent tab panel from getting focus on mouse-click\n\n var tabContentStyles = [_styles.tabContent, !mouseFocus && _styles.tabContentFocus, /* istanbul ignore next */\n visible ? _styles.tabContentVisible : _styles.tabContentHidden];\n return jsx(\"div\", _extends({\n id: id,\n css: tabContentStyles,\n className: className,\n \"aria-labelledby\": tabId,\n \"aria-hidden\": hidden,\n tabIndex: 0,\n role: \"tabpanel\",\n onFocus: function handleFocus() {\n var hasClickFocus = hasMouseClickFocus.current ? true : false;\n updateMouseFocus(hasClickFocus);\n hasMouseClickFocus.current = false;\n },\n onMouseDown: function handleMouseDown() {\n hasMouseClickFocus.current = true;\n }\n }, rest, {\n \"data-ppui\": \"true\"\n }), children);\n};\nexport { Tab, TabPanel, Tabs, styles as tabsStyles };","const PAYPAL_THEME = {\n \"name\": \"paypal\",\n \"mode\": \"light\",\n \"sysSizeIconXs\": \"1.125rem\",\n \"sysSizeIconSm\": \"1.5rem\",\n \"sysSizeIconMd\": \"2rem\",\n \"sysSizeIconLg\": \"3rem\",\n \"sysSizeIconXl\": \"4rem\",\n \"sysSizePictogramSm\": \"6rem\",\n \"sysSizePictogramMd\": \"8.5rem\",\n \"sysSizePictogramLg\": \"10rem\",\n \"sysSizeCircleXs\": \"1.5rem\",\n \"sysSizeCircleSm\": \"2rem\",\n \"sysSizeCircleMd\": \"3rem\",\n \"sysSizeCircleLg\": \"4rem\",\n \"sysSizeCircleXl\": \"6rem\",\n \"sysSizeTapTargetXs\": \"2.5rem\",\n \"sysSizeTapTargetSm\": \"2.75rem\",\n \"sysSizeTapTargetDefault\": \"3rem\",\n \"sysSizeTapTargetLg\": \"4rem\",\n \"sysSizePointerWidthSm\": \"0.75rem\",\n \"sysSizePointerWidthLg\": \"1rem\",\n \"sysSizeIndicatorXs\": \"0.1875rem\",\n \"sysSizeIndicatorSm\": \"0.25rem\",\n \"sysSizeIndicatorMd\": \"0.375rem\",\n \"sysSizeIndicatorLg\": \"0.5rem\",\n \"sysSizeFieldSm\": \"3rem\",\n \"sysSizeFieldLg\": \"4rem\",\n \"sysSizeMediaXs\": \"22rem\",\n \"sysSizeMediaSm\": \"36rem\",\n \"sysSizeMediaMd\": \"47rem\",\n \"sysSizeMediaLg\": \"64rem\",\n \"sysSizeMediaXl\": \"72rem\",\n \"sysSizeMediaXxl\": \"90rem\",\n \"sysSpaceTiny\": \"0.125rem\",\n \"sysSpaceXs\": \"0.25rem\",\n \"sysSpaceSm\": \"0.5rem\",\n \"sysSpaceMd\": \"0.75rem\",\n \"sysSpaceLg\": \"1rem\",\n \"sysSpaceXl\": \"1.5rem\",\n \"sysSpaceJumbo\": \"2rem\",\n \"sysElevationLevel1Yoffset\": \"0.0625rem\",\n \"sysElevationLevel1Opacity\": 0.08,\n \"sysElevationLevel1Blur\": \"0.75rem\",\n \"sysElevationLevel2Yoffset\": \"0.125rem\",\n \"sysElevationLevel2Opacity\": 0.1,\n \"sysElevationLevel2Blur\": \"0.875rem\",\n \"sysElevationLevel3Yoffset\": \"0.125rem\",\n \"sysElevationLevel3Opacity\": 0.1,\n \"sysElevationLevel3Blur\": \"1.125rem\",\n \"sysElevationBlurCurve\": 1,\n \"sysElevationBlurSlope\": -1,\n \"sysElevationBlurBase\": \"0.625rem\",\n \"sysElevationOpacity\": 0.15,\n \"sysElevationBrightenFactor\": 0.02,\n \"sysElevationVerticalOffsetRatio\": 1,\n \"sysElevationHorizontalOffsetRatio\": 0,\n \"sysMotionTimingX1\": 0,\n \"sysMotionTimingY1\": 0.9,\n \"sysMotionTimingX2\": 0.3,\n \"sysMotionTimingY2\": 1,\n \"sysMotionDurationHover\": \"0.10s\",\n \"sysMotionDurationAction\": \"0.20s\",\n \"sysMotionDurationArrive\": \"0.50s\",\n \"sysMotionDurationDepart\": \"0.30s\",\n \"sysMotionDurationRepeat\": \"1.30s\",\n \"sysMotionDurationLinger\": \"7.00s\",\n \"sysBorderThicknessNormal\": \"0.0625rem\",\n \"sysBorderThicknessEmphasis\": \"0.125rem\",\n \"sysBorderThicknessFocus\": \"0.1875rem\",\n \"sysBorderThicknessFocusOutline\": \"0.375rem\",\n \"sysBorderRadiusXs\": \"0.125rem\",\n \"sysBorderRadiusSm\": \"0.25rem\",\n \"sysBorderRadiusMd\": \"0.5rem\",\n \"sysBorderRadiusLg\": \"0.75rem\",\n \"sysBorderRadiusInteractive\": \"50%\",\n \"sysTypographyDisplayFamily\": \"PayPalOpen-Regular\",\n \"sysTypographyDisplaySize\": \"4.5rem\",\n \"sysTypographyDisplayWeight\": 400,\n \"sysTypographyDisplayLineHeight\": \"4.875rem\",\n \"sysTypographyDisplayMaxScaleFactor\": 1.25,\n \"sysTypographyHeadingLgFamily\": \"PayPalOpen-Regular\",\n \"sysTypographyHeadingLgSize\": \"2.75rem\",\n \"sysTypographyHeadingLgWeight\": 400,\n \"sysTypographyHeadingLgLineHeight\": \"3rem\",\n \"sysTypographyHeadingLgMaxScaleFactor\": 1.5,\n \"sysTypographyHeadingSmFamily\": \"PayPalOpen-Regular\",\n \"sysTypographyHeadingSmSize\": \"1.75rem\",\n \"sysTypographyHeadingSmWeight\": 400,\n \"sysTypographyHeadingSmLineHeight\": \"2.25rem\",\n \"sysTypographyHeadingSmMaxScaleFactor\": 1.5,\n \"sysTypographyTitleStrongFamily\": \"PayPalOpen-Bold\",\n \"sysTypographyTitleStrongSize\": \"1.375rem\",\n \"sysTypographyTitleStrongWeight\": 400,\n \"sysTypographyTitleStrongLineHeight\": \"1.75rem\",\n \"sysTypographyTitleStrongMaxScaleFactor\": 2,\n \"sysTypographyTitleFamily\": \"PayPalOpen-Regular\",\n \"sysTypographyTitleSize\": \"1.375rem\",\n \"sysTypographyTitleWeight\": 400,\n \"sysTypographyTitleLineHeight\": \"1.75rem\",\n \"sysTypographyTitleMaxScaleFactor\": 2,\n \"sysTypographyBodyStrongFamily\": \"PayPalOpen-Bold\",\n \"sysTypographyBodyStrongSize\": \"1.125rem\",\n \"sysTypographyBodyStrongWeight\": 400,\n \"sysTypographyBodyStrongLineHeight\": \"1.5rem\",\n \"sysTypographyBodyStrongMaxScaleFactor\": 2,\n \"sysTypographyBodyFamily\": \"PayPalOpen-Regular\",\n \"sysTypographyBodySize\": \"1.125rem\",\n \"sysTypographyBodyWeight\": 400,\n \"sysTypographyBodyLineHeight\": \"1.5rem\",\n \"sysTypographyBodyMaxScaleFactor\": 2,\n \"sysTypographyCaptionStrongFamily\": \"PayPalOpen-Bold\",\n \"sysTypographyCaptionStrongSize\": \"0.875rem\",\n \"sysTypographyCaptionStrongWeight\": 400,\n \"sysTypographyCaptionStrongLineHeight\": \"1.25rem\",\n \"sysTypographyCaptionStrongMaxScaleFactor\": 2,\n \"sysTypographyCaptionFamily\": \"PayPalOpen-Regular\",\n \"sysTypographyCaptionSize\": \"0.875rem\",\n \"sysTypographyCaptionWeight\": 400,\n \"sysTypographyCaptionLineHeight\": \"1.25rem\",\n \"sysTypographyCaptionMaxScaleFactor\": 2,\n \"sysTypographyButtonLgFamily\": \"PayPalOpen-Bold\",\n \"sysTypographyButtonLgSize\": \"1.125rem\",\n \"sysTypographyButtonLgWeight\": 400,\n \"sysTypographyButtonLgLineHeight\": \"1.5rem\",\n \"sysTypographyButtonLgMaxScaleFactor\": 2,\n \"sysTypographyButtonSmFamily\": \"PayPalOpen-Bold\",\n \"sysTypographyButtonSmSize\": \"0.875rem\",\n \"sysTypographyButtonSmWeight\": 400,\n \"sysTypographyButtonSmLineHeight\": \"1.25rem\",\n \"sysTypographyButtonSmMaxScaleFactor\": 2,\n \"sysTypographyFieldLabelLgFamily\": \"PayPalOpen-Regular\",\n \"sysTypographyFieldLabelLgSize\": \"1.125rem\",\n \"sysTypographyFieldLabelLgWeight\": 400,\n \"sysTypographyFieldLabelLgLineHeight\": \"1.5rem\",\n \"sysTypographyFieldLabelLgMaxScaleFactor\": 2,\n \"sysTypographyFieldLabelSmFamily\": \"PayPalOpen-Regular\",\n \"sysTypographyFieldLabelSmSize\": \"0.875rem\",\n \"sysTypographyFieldLabelSmWeight\": 400,\n \"sysTypographyFieldLabelSmLineHeight\": \"1.25rem\",\n \"sysTypographyFieldLabelSmMaxScaleFactor\": 2,\n \"sysTypographyFieldValueXlFamily\": \"PayPalOpen-Regular\",\n \"sysTypographyFieldValueXlSize\": \"2.75rem\",\n \"sysTypographyFieldValueXlWeight\": 400,\n \"sysTypographyFieldValueXlLineHeight\": \"3rem\",\n \"sysTypographyFieldValueXlMaxScaleFactor\": 1.5,\n \"sysTypographyFieldValueLgFamily\": \"PayPalOpen-Regular\",\n \"sysTypographyFieldValueLgSize\": \"1.75rem\",\n \"sysTypographyFieldValueLgWeight\": 400,\n \"sysTypographyFieldValueLgLineHeight\": \"2.25rem\",\n \"sysTypographyFieldValueLgMaxScaleFactor\": 2,\n \"sysTypographyFieldValueSmFamily\": \"PayPalOpen-Regular\",\n \"sysTypographyFieldValueSmSize\": \"1.125rem\",\n \"sysTypographyFieldValueSmWeight\": 400,\n \"sysTypographyFieldValueSmLineHeight\": \"1.5rem\",\n \"sysTypographyFieldValueSmMaxScaleFactor\": 2,\n \"sysColorBackgroundMain\": \"#faf8f5\",\n \"sysColorBackgroundAlt\": \"#f1ede8\",\n \"sysColorBackgroundSurface\": \"#ffffff\",\n \"sysColorBackgroundSurfaceHover\": \"#faf8f5\",\n \"sysColorBackgroundSurfaceActive\": \"#f1ede8\",\n \"sysColorBackgroundHighContrast\": \"#001435\",\n \"sysColorBackgroundMediumContrast\": \"#545d68\",\n \"sysColorPrimaryMain\": \"#003087\",\n \"sysColorPrimaryMainHover\": \"#0070e0\",\n \"sysColorPrimaryMainActive\": \"#001c64\",\n \"sysColorPrimaryContrast\": \"#ffffff\",\n \"sysColorPrimaryContrastHover\": \"#b9effc\",\n \"sysColorPrimaryContrastActive\": \"#5bbbfc\",\n \"sysColorSecondaryMain\": \"#0070e0\",\n \"sysColorSecondaryMainHover\": \"#5bbbfc\",\n \"sysColorSecondaryMainActive\": \"#003087\",\n \"sysColorSecondaryContrast\": \"#ffffff\",\n \"sysColorTertiaryMain\": \"#faf8f5\",\n \"sysColorTertiaryMainHover\": \"#f1ede8\",\n \"sysColorTertiaryMainActive\": \"#e6e0d9\",\n \"sysColorTertiaryContrast\": \"#003087\",\n \"sysColorFeaturedMain\": \"#ffd140\",\n \"sysColorFeaturedMainHover\": \"#ffe888\",\n \"sysColorFeaturedMainActive\": \"#ff9100\",\n \"sysColorFeaturedContrast\": \"#003087\",\n \"sysColorUnselectedMain\": \"#e6e0d9\",\n \"sysColorUnselectedMainHover\": \"#faf8f5\",\n \"sysColorUnselectedMainActive\": \"#f1ede8\",\n \"sysColorUnselectedContrast\": \"#545d68\",\n \"sysColorSelectedMain\": \"#0070e0\",\n \"sysColorSelectedMainHover\": \"#5bbbfc\",\n \"sysColorSelectedMainActive\": \"#003087\",\n \"sysColorSelectedContrast\": \"#ffffff\",\n \"sysColorSelectedRangeMain\": \"#b9effc\",\n \"sysColorSelectedRangeMainHover\": \"#5bbbfc\",\n \"sysColorSelectedRangeMainActive\": \"#0070e0\",\n \"sysColorSelectedRangeContrast\": \"#003087\",\n \"sysColorLinkMain\": \"#0070e0\",\n \"sysColorLinkMainHover\": \"#003087\",\n \"sysColorLinkMainActive\": \"#003087\",\n \"sysColorLinkAlt\": \"#001435\",\n \"sysColorLinkAltHover\": \"#001435\",\n \"sysColorLinkAltActive\": \"#001435\",\n \"sysColorLinkContrast\": \"#ffffff\",\n \"sysColorLinkContrastHover\": \"#b9effc\",\n \"sysColorLinkContrastActive\": \"#5bbbfc\",\n \"sysColorOverlayMain\": \"rgba(0, 0, 0, 0.55)\",\n \"sysColorOverlayMainHover\": \"rgba(0, 0, 0, 0.4)\",\n \"sysColorOverlayMainActive\": \"rgba(0, 0, 0, 0.7)\",\n \"sysColorOverlayContrast\": \"#ffffff\",\n \"sysColorAccent1Main\": \"#003087\",\n \"sysColorAccent1Contrast\": \"#ffffff\",\n \"sysColorAccent2Main\": \"#e02d50\",\n \"sysColorAccent2Contrast\": \"#ffffff\",\n \"sysColorAccent3Main\": \"#388c00\",\n \"sysColorAccent3Contrast\": \"#ffffff\",\n \"sysColorAccent4Main\": \"#7252cc\",\n \"sysColorAccent4Contrast\": \"#ffffff\",\n \"sysColorErrorMain\": \"#c40b0b\",\n \"sysColorErrorMainHover\": \"#ff5a6d\",\n \"sysColorErrorMainActive\": \"#9b0021\",\n \"sysColorErrorContrast\": \"#ffffff\",\n \"sysColorWarningMain\": \"#ffbe4a\",\n \"sysColorWarningMainHover\": \"#ffe888\",\n \"sysColorWarningMainActive\": \"#ff9100\",\n \"sysColorWarningAlt\": \"#e85e00\",\n \"sysColorWarningContrast\": \"#001435\",\n \"sysColorSuccessMain\": \"#0f7013\",\n \"sysColorSuccessMainHover\": \"#6fc400\",\n \"sysColorSuccessMainActive\": \"#388c00\",\n \"sysColorSuccessContrast\": \"#ffffff\",\n \"sysColorSystemMain\": \"#001435\",\n \"sysColorSystemMainHover\": \"#929496\",\n \"sysColorSystemMainActive\": \"#545d68\",\n \"sysColorSystemContrast\": \"#ffffff\",\n \"sysColorInfoMain\": \"#e6e0d9\",\n \"sysColorInfoMainHover\": \"#faf8f5\",\n \"sysColorInfoMainActive\": \"#f1ede8\",\n \"sysColorInfoContrast\": \"#001435\",\n \"sysColorSpecialtyMain\": \"#7252cc\",\n \"sysColorSpecialtyMainHover\": \"#b976ff\",\n \"sysColorSpecialtyMainActive\": \"#24247f\",\n \"sysColorSpecialtyContrast\": \"#ffffff\",\n \"sysColorStructureBorderHighContrast\": \"#929496\",\n \"sysColorStructureBorderLowContrast\": \"rgba(0, 0, 0, 0.1)\",\n \"sysColorStructureDivider\": \"#f1ede8\",\n \"sysColorStructureFocus\": \"#097ff5\",\n \"sysColorStructureFocusOutline\": \"rgba(209, 229, 249, 0.9)\",\n \"sysColorStructureErrorOutline\": \"rgba(224, 45, 80, 0.16)\",\n \"sysColorStructureScrim\": \"rgba(0, 0, 0, 0.4)\",\n \"sysColorStructureShimmer\": \"#e6e0d9\",\n \"sysColorStructureShimmerInverse\": \"#545d68\",\n \"sysColorStructureSheen\": \"rgba(255, 255, 255, 0.7)\",\n \"sysColorStructureShadow\": \"#000000\"\n};\nexport { PAYPAL_THEME };","import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';\nimport { useMemo } from 'react';\nimport { utilStyles, Shimmer } from '@paypalcorp/pp-react-utils';\nimport { css, useTheme, jsx } from '@emotion/react';\nimport _taggedTemplateLiteral from '@babel/runtime/helpers/esm/taggedTemplateLiteral';\nimport { textStyles } from '@paypalcorp/pp-react-text';\nvar _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11;\nfunction styles(tokens) {\n /* istanbul ignore next */\n if (!Object.keys(tokens).length) {\n console.warn('Missing Emotion theme. Use ThemeProvider from @emotion/react to pass a valid theme from pp-react.');\n return {};\n }\n var sysSpaceXl = tokens.sysSpaceXl,\n sysColorStructureBorderLowContrast = tokens.sysColorStructureBorderLowContrast,\n sysColorBackgroundSurface = tokens.sysColorBackgroundSurface,\n sysBorderThicknessNormal = tokens.sysBorderThicknessNormal,\n sysBorderRadiusLg = tokens.sysBorderRadiusLg,\n sysSpaceXs = tokens.sysSpaceXs;\n var _utilStyles = utilStyles(tokens),\n focusStyles = _utilStyles.focusStyles,\n elevationStyles = _utilStyles.elevationStyles;\n var offsetFocusAfter = focusStyles.offsetFocusAfter;\n var _textStyles = textStyles(tokens),\n textHeadingSm = _textStyles.headingSm;\n var base = css(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n label: card_base;\\n padding: \", \";\\n position: relative;\\n text-align: initial;\\n background-color: \", \";\\n border: \", \" solid\\n \", \";\\n border-radius: \", \";\\n appearance: none;\\n\\n &:focus {\\n outline: none;\\n &:after {\\n \", \"\\n }\\n }\\n \"])), sysSpaceXl, sysColorBackgroundSurface, sysBorderThicknessNormal, sysColorStructureBorderLowContrast, sysBorderRadiusLg, offsetFocusAfter({\n horizontalOffset: \"-\".concat(sysBorderThicknessNormal),\n verticalOffset: \"-\".concat(sysBorderThicknessNormal)\n }));\n var clickable = css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral([\"\\n label: clickable;\\n cursor: pointer;\\n width: 100%;\\n appearance: none;\\n\\n &:hover {\\n \", \"\\n }\\n\\n &:active {\\n box-shadow: none;\\n }\\n\\n &:focus:active {\\n &:after {\\n content: none;\\n }\\n }\\n \"])), elevationStyles.level1); // header styles\n\n var header = css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral([\"\\n label: header;\\n margin-bottom: \", \";\\n display: table;\\n \"])), sysSpaceXl);\n var title = css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral([\"\\n label: title;\\n \", \"\\n width: 100%;\\n display: table-cell;\\n margin: initial;\\n padding: \", \" 0;\\n text-transform: none;\\n vertical-align: middle;\\n \"])), textHeadingSm(), sysSpaceXs); // content styles\n\n var content = css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral([\"\\n label: content;\\n margin-top: 0.9375rem;\\n margin-bottom: 0.9375rem;\\n \"]))); // footer styles\n\n var footer = css(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral([\"\\n label: footer;\\n margin-top: \", \";\\n\\n button,\\n a {\\n margin: initial;\\n }\\n\\n button:not(:last-child),\\n a:not(:last-child) {\\n margin-right: \", \";\\n }\\n\\n [dir='rtl'] & {\\n button:not(:last-child),\\n a:not(:last-child) {\\n margin-right: initial;\\n margin-left: \", \";\\n }\\n }\\n \"])), sysSpaceXl, sysSpaceXl, sysSpaceXl); // sizes\n\n var sizeXs = css(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral([\"\\n label: sizeXs;\\n min-width: \", \";\\n min-height: \", \";\\n \"])), '10.3125rem', '5rem');\n var sizeXsLong = css(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral([\"\\n label: sizeXsLong;\\n min-width: \", \";\\n min-height: \", \";\\n \"])), '21.4375rem', '5rem');\n var sizeSm = css(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral([\"\\n label: sizeSm;\\n min-width: \", \";\\n min-height: \", \";\\n \"])), '10.3125rem', '13.25rem');\n var sizeMd = css(_templateObject10 || (_templateObject10 = _taggedTemplateLiteral([\"\\n label: sizeMd;\\n min-width: \", \";\\n min-height: \", \";\\n \"])), '21.4375rem', '12.5rem');\n var sizeLg = css(_templateObject11 || (_templateObject11 = _taggedTemplateLiteral([\"\\n label: sizeLg;\\n min-width: \", \";\\n min-height: \", \";\\n \"])), '21.4375rem', '26.25rem');\n return {\n base: base,\n clickable: clickable,\n header: header,\n title: title,\n content: content,\n footer: footer,\n sizeXs: sizeXs,\n sizeXsLong: sizeXsLong,\n sizeSm: sizeSm,\n sizeMd: sizeMd,\n sizeLg: sizeLg\n };\n}\nvar _excluded = [\"onClick\", \"label\", \"as\", \"children\", \"className\", \"isLoading\", \"isInverse\", \"size\"],\n _excluded2 = [\"className\", \"children\"],\n _excluded3 = [\"className\", \"children\"],\n _excluded4 = [\"className\", \"children\"];\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}\nvar Card = function (_ref) {\n var onClick = _ref.onClick,\n label = _ref.label,\n _ref$as = _ref.as,\n as = _ref$as === void 0 ? typeof onClick === 'function' ? 'button' : 'div' : _ref$as,\n children = _ref.children,\n className = _ref.className,\n isLoading = _ref.isLoading,\n isInverse = _ref.isInverse,\n size = _ref.size,\n rest = _objectWithoutProperties(_ref, _excluded);\n var tokens = useTheme();\n var cardStyles = useMemo(function () {\n return styles(tokens);\n }, [tokens]);\n if (isLoading) {\n return jsx(Shimmer, _extends({\n isInverse: isInverse\n }, rest, {\n \"data-ppui\": \"true\"\n }), children);\n }\n var sizeStyleMap = {\n xs: cardStyles.sizeXs,\n 'xs-long': cardStyles.sizeXsLong,\n sm: cardStyles.sizeSm,\n md: cardStyles.sizeMd,\n lg: cardStyles.sizeLg\n };\n var props = _objectSpread({}, rest);\n if (label) {\n props['aria-label'] = label;\n }\n return jsx(as, _extends({\n css: [cardStyles.base, sizeStyleMap[size], onClick && cardStyles.clickable],\n className: className,\n \"data-ppui-info\": \"card_2.2.6\",\n onClick: onClick\n }, props), children);\n};\nvar Header = function (_ref2) {\n var className = _ref2.className,\n children = _ref2.children,\n rest = _objectWithoutProperties(_ref2, _excluded2);\n var tokens = useTheme();\n var _styles = useMemo(function () {\n return styles(tokens);\n }, [tokens]);\n return jsx(\"header\", _extends({\n css: _styles.header,\n className: className\n }, rest, {\n \"data-ppui\": \"true\"\n }), jsx(\"h3\", {\n css: _styles.title,\n className: className,\n \"data-ppui\": \"true\"\n }, children));\n};\nvar Content = function (_ref3) {\n var className = _ref3.className,\n children = _ref3.children,\n rest = _objectWithoutProperties(_ref3, _excluded3);\n var tokens = useTheme();\n var _styles = useMemo(function () {\n return styles(tokens);\n }, [tokens]);\n return jsx(\"div\", _extends({\n css: _styles.content,\n className: className\n }, rest, {\n \"data-ppui\": \"true\"\n }), children);\n};\nvar Footer = function (_ref4) {\n var className = _ref4.className,\n children = _ref4.children,\n rest = _objectWithoutProperties(_ref4, _excluded4);\n var tokens = useTheme();\n var _styles = useMemo(function () {\n return styles(tokens);\n }, [tokens]);\n return jsx(\"footer\", _extends({\n css: _styles.footer,\n className: className\n }, rest, {\n \"data-ppui\": \"true\"\n }), children);\n};\nCard.Header = Header;\nCard.Content = Content;\nCard.Footer = Footer;\nexport { Card, styles as cardStyles };","import _extends from '@babel/runtime/helpers/esm/extends';\nimport _slicedToArray from '@babel/runtime/helpers/esm/slicedToArray';\nimport _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';\nimport { useMemo, useState, useRef, useEffect } from 'react';\nimport ReactDOM from 'react-dom';\nimport { css, keyframes, useTheme, jsx } from '@emotion/react';\nimport { CheckmarkBackgroundIcon } from '@paypalcorp/pp-react-icons';\nimport { utilStyles, ZINDEX_TOAST, hasDocument, KeyboardCode } from '@paypalcorp/pp-react-utils';\nimport _taggedTemplateLiteral from '@babel/runtime/helpers/esm/taggedTemplateLiteral';\nimport { math } from 'polished';\nimport { textStyles } from '@paypalcorp/pp-react-text';\nvar _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8;\nfunction styles(tokens) {\n /* istanbul ignore next */\n if (!Object.keys(tokens).length) {\n console.warn('Missing Emotion theme. Use ThemeProvider from @emotion/react to pass a valid theme from pp-react.');\n return {};\n }\n var sysBorderRadiusLg = tokens.sysBorderRadiusLg,\n sysColorSystemMain = tokens.sysColorSystemMain,\n sysColorSystemContrast = tokens.sysColorSystemContrast,\n sysColorSuccessMain = tokens.sysColorSuccessMain,\n sysColorSuccessContrast = tokens.sysColorSuccessContrast,\n sysMotionDurationArrive = tokens.sysMotionDurationArrive,\n sysMotionDurationDepart = tokens.sysMotionDurationDepart,\n sysSpaceLg = tokens.sysSpaceLg,\n sysSpaceSm = tokens.sysSpaceSm,\n sysSizeIconSm = tokens.sysSizeIconSm;\n var _utilStyles = utilStyles(tokens),\n variables = _utilStyles.variables;\n var _utilStyles2 = utilStyles(tokens),\n elevationStyles = _utilStyles2.elevationStyles;\n var ppuiEaseInOut = variables.ppuiEaseInOut;\n var _textStyles = textStyles(tokens),\n textBody = _textStyles.body;\n var verticalExitPosition = math(\"-2*\".concat(sysSpaceLg));\n var base = css(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n label: toast_base;\\n display: flex;\\n padding: \", \";\\n border-radius: \", \";\\n left: 0;\\n right: 0;\\n margin: auto;\\n white-space: normal;\\n \", \";\\n background-color: \", \";\\n max-width: \", \";\\n \", \"\\n pointer-events: auto;\\n \"])), sysSpaceLg, sysBorderRadiusLg, elevationStyles.level2, sysColorSystemMain, '30rem', textBody({\n color: sysColorSystemContrast\n }));\n var container = css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral([\"\\n label: container;\\n display: flex;\\n position: fixed;\\n top: \", \";\\n z-index: \", \";\\n left: 50%;\\n transform: translateX(-50%);\\n width: calc(100% - \", \" * 2);\\n visibility: hidden;\\n opacity: 0;\\n pointer-events: none;\\n\\n &[aria-hidden='false'] {\\n visibility: visible;\\n opacity: 1;\\n }\\n \"])), sysSpaceLg, ZINDEX_TOAST, sysSpaceLg);\n var fadeIn = keyframes(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral([\"\\n 0% {\\n transform: translate(\\n -50%,\\n \", \"\\n );\\n opacity: 0;\\n\\n }\\n 100% {\\n visibility: visible;\\n transform: translate(-50%, 0);\\n opacity: 1;\\n }\\n \"])), verticalExitPosition);\n var fadeOut = keyframes(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral([\"\\n 0% {\\n visibility: visible;\\n transform: translate(-50%, 0);\\n opacity: 1;\\n }\\n 100% {\\n visibility: hidden;\\n transform: translate(\\n -50%,\\n \", \"\\n );\\n opacity: 0;\\n } \\n \"])), verticalExitPosition);\n var show = css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral([\"\\n label: show;\\n animation: \", \" \", \" \", \";\\n \"])), fadeIn, sysMotionDurationArrive, ppuiEaseInOut);\n var hide = css(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral([\"\\n label: hide;\\n animation: \", \" \", \" \", \";\\n \"])), fadeOut, sysMotionDurationDepart, ppuiEaseInOut);\n var success = css(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral([\"\\n label: success;\\n background-color: \", \";\\n color: \", \";\\n \"])), sysColorSuccessMain, sysColorSuccessContrast);\n var successIcon = css(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral([\"\\n label: success_icon;\\n margin-right: \", \";\\n height: \", \";\\n\\n [dir='rtl'] & {\\n margin-left: \", \";\\n margin-right: 0;\\n }\\n \"])), sysSpaceSm, sysSizeIconSm, sysSpaceSm);\n return {\n base: base,\n container: container,\n show: show,\n hide: hide,\n success: success,\n successIcon: successIcon\n };\n}\nvar _excluded = [\"id\", \"message\", \"isSuccess\", \"duration\", \"onClose\", \"direction\", \"className\", \"containerClassName\", \"containerRef\"];\nvar defaultDuration = 7000;\nvar Toast = function (_ref) {\n var _ref$id = _ref.id,\n id = _ref$id === void 0 ? 'Toast' : _ref$id,\n _ref$message = _ref.message,\n message = _ref$message === void 0 ? 'message' : _ref$message,\n _ref$isSuccess = _ref.isSuccess,\n isSuccess = _ref$isSuccess === void 0 ? false : _ref$isSuccess,\n _ref$duration = _ref.duration,\n duration = _ref$duration === void 0 ? defaultDuration : _ref$duration,\n onClose = _ref.onClose,\n direction = _ref.direction,\n className = _ref.className,\n containerClassName = _ref.containerClassName,\n containerRef = _ref.containerRef,\n rest = _objectWithoutProperties(_ref, _excluded);\n var tokens = useTheme();\n var _styles = useMemo(function () {\n return styles(tokens);\n }, [tokens]);\n var _useState = useState(-1),\n _useState2 = _slicedToArray(_useState, 2),\n showState = _useState2[0],\n setShowState = _useState2[1];\n var startY = null;\n var startX = null;\n var toastRef = useRef();\n var getWrapperCurrent = function (w) {\n return (/* istanbul ignore next */\n w && w.current ? w.current : null\n );\n };\n var autoHideTimer = getWrapperCurrent(useRef());\n var handleClose = function () {\n setShowState(0);\n clearTimeout(autoHideTimer);\n startX = null;\n startY = null;\n };\n var handleKey = function (evt) {\n if (new KeyboardCode(evt.key || evt.keyCode).IS_ESC) {\n handleClose();\n }\n };\n /* istanbul ignore next */\n\n var handleTouchStart = function (evt) {\n //prevent from scrolling\n evt.preventDefault();\n /* istanbul ignore next */\n\n if (!startY && !startX) {\n var firstTouch = evt.changedTouches[0];\n startY = firstTouch.pageY;\n startX = firstTouch.pageX;\n }\n };\n /* istanbul ignore next */\n\n var handleTouchEnd = function (evt) {\n var endTouch = evt.changedTouches[0];\n var endX = endTouch.pageX;\n var endY = endTouch.pageY;\n var xDiff = startX - endX;\n var yDiff = startY - endY;\n if (Math.abs(yDiff) > Math.abs(xDiff)) {\n // means up/down is most significant\n if (yDiff > 0) {\n // swipe up\n handleClose();\n }\n }\n startX = null;\n startY = null;\n };\n useEffect(function () {\n if (showState < 0) {\n setShowState(1);\n }\n document.addEventListener('keydown', handleKey);\n var toast = getWrapperCurrent(toastRef); // Adding native event since evt.preventDefault (for preventing from scrolling\n // while swiping on toast up) is not possible using synthetic event\n //eslint-disable-next-line no-unused-expressions\n\n toast === null || toast === void 0 ? void 0 : toast.addEventListener('touchstart', handleTouchStart);\n return function () {\n document.removeEventListener('keydown', handleKey); //eslint-disable-next-line no-unused-expressions\n\n toast === null || toast === void 0 ? void 0 : toast.removeEventListener('touchstart', handleTouchStart);\n clearTimeout(autoHideTimer);\n };\n }, [showState]);\n /* istanbul ignore next */\n\n var containerCSSVal = [_styles.container, showState && _styles.show, !showState && _styles.hide];\n var toastCSSVal = [_styles.base, isSuccess && _styles.success];\n var successIcon = isSuccess && jsx(CheckmarkBackgroundIcon, {\n css: _styles.successIcon,\n color: \"SuccessContrast\",\n size: \"sm\",\n \"data-ppui\": \"true\"\n });\n /* istanbul ignore next */\n\n return hasDocument() ? ReactDOM.createPortal(jsx(\"div\", _extends({\n id: id,\n dir: direction,\n css: containerCSSVal,\n className: containerClassName,\n \"aria-hidden\": showState <= 0,\n role: \"alert\",\n onAnimationEnd: function onAnimatonEnd() {\n if (showState === 1) {\n var timeOut = duration > defaultDuration ? duration : defaultDuration;\n autoHideTimer = setTimeout(handleClose, timeOut);\n } else if (typeof onClose === 'function') {\n onClose();\n }\n },\n \"data-ppui-info\": \"toast_3.3.2\"\n }, rest), jsx(\"div\", {\n ref: toastRef,\n css: toastCSSVal,\n className: className,\n onTouchEnd: handleTouchEnd,\n \"data-ppui\": \"true\"\n }, successIcon, message)), getWrapperCurrent(containerRef) || document.body) : null;\n};\nexport { Toast, styles as toastStyles };","'use strict';\nvar ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `Math.trunc` method\n// https://tc39.es/ecma262/#sec-math.trunc\n// eslint-disable-next-line es/no-math-trunc -- safe\nmodule.exports = Math.trunc || function trunc(x) {\n var n = +x;\n return (n > 0 ? floor : ceil)(n);\n};\n","'use strict';\nvar global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar Symbol = global.Symbol;\nvar WellKnownSymbolsStore = shared('wks');\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name)) {\n WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name)\n ? Symbol[name]\n : createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","import { __assign, __rest } from \"tslib\";\nimport * as React from 'react';\nvar SideCar = function (_a) {\n var sideCar = _a.sideCar,\n rest = __rest(_a, [\"sideCar\"]);\n if (!sideCar) {\n throw new Error('Sidecar: please provide `sideCar` property to import the right car');\n }\n var Target = sideCar.read();\n if (!Target) {\n throw new Error('Sidecar medium not found');\n }\n return React.createElement(Target, __assign({}, rest));\n};\nSideCar.isSideCarExport = true;\nexport function exportSidecar(medium, exported) {\n medium.useMedium(exported);\n return SideCar;\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","export default function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nexport default function _construct(Parent, args, Class) {\n if (isNativeReflectConstruct()) {\n _construct = Reflect.construct.bind();\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 return _construct.apply(null, arguments);\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeFunction from \"./isNativeFunction.js\";\nimport construct from \"./construct.js\";\nexport default function _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n _cache.set(Class, Wrapper);\n }\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\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 return _wrapNativeSuper(Class);\n}","export default function _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}","import _extends from '@babel/runtime/helpers/esm/extends';\nimport _assertThisInitialized from '@babel/runtime/helpers/esm/assertThisInitialized';\nimport _inheritsLoose from '@babel/runtime/helpers/esm/inheritsLoose';\nimport _wrapNativeSuper from '@babel/runtime/helpers/esm/wrapNativeSuper';\nimport _taggedTemplateLiteralLoose from '@babel/runtime/helpers/esm/taggedTemplateLiteralLoose';\nfunction last() {\n var _ref;\n return _ref = arguments.length - 1, _ref < 0 || arguments.length <= _ref ? undefined : arguments[_ref];\n}\nfunction negation(a) {\n return -a;\n}\nfunction addition(a, b) {\n return a + b;\n}\nfunction subtraction(a, b) {\n return a - b;\n}\nfunction multiplication(a, b) {\n return a * b;\n}\nfunction division(a, b) {\n return a / b;\n}\nfunction max() {\n return Math.max.apply(Math, arguments);\n}\nfunction min() {\n return Math.min.apply(Math, arguments);\n}\nfunction comma() {\n return Array.of.apply(Array, arguments);\n}\nvar defaultSymbols = {\n symbols: {\n '*': {\n infix: {\n symbol: '*',\n f: multiplication,\n notation: 'infix',\n precedence: 4,\n rightToLeft: 0,\n argCount: 2\n },\n symbol: '*',\n regSymbol: '\\\\*'\n },\n '/': {\n infix: {\n symbol: '/',\n f: division,\n notation: 'infix',\n precedence: 4,\n rightToLeft: 0,\n argCount: 2\n },\n symbol: '/',\n regSymbol: '/'\n },\n '+': {\n infix: {\n symbol: '+',\n f: addition,\n notation: 'infix',\n precedence: 2,\n rightToLeft: 0,\n argCount: 2\n },\n prefix: {\n symbol: '+',\n f: last,\n notation: 'prefix',\n precedence: 3,\n rightToLeft: 0,\n argCount: 1\n },\n symbol: '+',\n regSymbol: '\\\\+'\n },\n '-': {\n infix: {\n symbol: '-',\n f: subtraction,\n notation: 'infix',\n precedence: 2,\n rightToLeft: 0,\n argCount: 2\n },\n prefix: {\n symbol: '-',\n f: negation,\n notation: 'prefix',\n precedence: 3,\n rightToLeft: 0,\n argCount: 1\n },\n symbol: '-',\n regSymbol: '-'\n },\n ',': {\n infix: {\n symbol: ',',\n f: comma,\n notation: 'infix',\n precedence: 1,\n rightToLeft: 0,\n argCount: 2\n },\n symbol: ',',\n regSymbol: ','\n },\n '(': {\n prefix: {\n symbol: '(',\n f: last,\n notation: 'prefix',\n precedence: 0,\n rightToLeft: 0,\n argCount: 1\n },\n symbol: '(',\n regSymbol: '\\\\('\n },\n ')': {\n postfix: {\n symbol: ')',\n f: undefined,\n notation: 'postfix',\n precedence: 0,\n rightToLeft: 0,\n argCount: 1\n },\n symbol: ')',\n regSymbol: '\\\\)'\n },\n min: {\n func: {\n symbol: 'min',\n f: min,\n notation: 'func',\n precedence: 0,\n rightToLeft: 0,\n argCount: 1\n },\n symbol: 'min',\n regSymbol: 'min\\\\b'\n },\n max: {\n func: {\n symbol: 'max',\n f: max,\n notation: 'func',\n precedence: 0,\n rightToLeft: 0,\n argCount: 1\n },\n symbol: 'max',\n regSymbol: 'max\\\\b'\n }\n }\n};\nvar defaultSymbolMap = defaultSymbols;\n\n// based on https://github.com/styled-components/styled-components/blob/fcf6f3804c57a14dd7984dfab7bc06ee2edca044/src/utils/error.js\n\n/**\n * Parse errors.md and turn it into a simple hash of code: message\n * @private\n */\nvar ERRORS = {\n \"1\": \"Passed invalid arguments to hsl, please pass multiple numbers e.g. hsl(360, 0.75, 0.4) or an object e.g. rgb({ hue: 255, saturation: 0.4, lightness: 0.75 }).\\n\\n\",\n \"2\": \"Passed invalid arguments to hsla, please pass multiple numbers e.g. hsla(360, 0.75, 0.4, 0.7) or an object e.g. rgb({ hue: 255, saturation: 0.4, lightness: 0.75, alpha: 0.7 }).\\n\\n\",\n \"3\": \"Passed an incorrect argument to a color function, please pass a string representation of a color.\\n\\n\",\n \"4\": \"Couldn't generate valid rgb string from %s, it returned %s.\\n\\n\",\n \"5\": \"Couldn't parse the color string. Please provide the color as a string in hex, rgb, rgba, hsl or hsla notation.\\n\\n\",\n \"6\": \"Passed invalid arguments to rgb, please pass multiple numbers e.g. rgb(255, 205, 100) or an object e.g. rgb({ red: 255, green: 205, blue: 100 }).\\n\\n\",\n \"7\": \"Passed invalid arguments to rgba, please pass multiple numbers e.g. rgb(255, 205, 100, 0.75) or an object e.g. rgb({ red: 255, green: 205, blue: 100, alpha: 0.75 }).\\n\\n\",\n \"8\": \"Passed invalid argument to toColorString, please pass a RgbColor, RgbaColor, HslColor or HslaColor object.\\n\\n\",\n \"9\": \"Please provide a number of steps to the modularScale helper.\\n\\n\",\n \"10\": \"Please pass a number or one of the predefined scales to the modularScale helper as the ratio.\\n\\n\",\n \"11\": \"Invalid value passed as base to modularScale, expected number or em string but got \\\"%s\\\"\\n\\n\",\n \"12\": \"Expected a string ending in \\\"px\\\" or a number passed as the first argument to %s(), got \\\"%s\\\" instead.\\n\\n\",\n \"13\": \"Expected a string ending in \\\"px\\\" or a number passed as the second argument to %s(), got \\\"%s\\\" instead.\\n\\n\",\n \"14\": \"Passed invalid pixel value (\\\"%s\\\") to %s(), please pass a value like \\\"12px\\\" or 12.\\n\\n\",\n \"15\": \"Passed invalid base value (\\\"%s\\\") to %s(), please pass a value like \\\"12px\\\" or 12.\\n\\n\",\n \"16\": \"You must provide a template to this method.\\n\\n\",\n \"17\": \"You passed an unsupported selector state to this method.\\n\\n\",\n \"18\": \"minScreen and maxScreen must be provided as stringified numbers with the same units.\\n\\n\",\n \"19\": \"fromSize and toSize must be provided as stringified numbers with the same units.\\n\\n\",\n \"20\": \"expects either an array of objects or a single object with the properties prop, fromSize, and toSize.\\n\\n\",\n \"21\": \"expects the objects in the first argument array to have the properties `prop`, `fromSize`, and `toSize`.\\n\\n\",\n \"22\": \"expects the first argument object to have the properties `prop`, `fromSize`, and `toSize`.\\n\\n\",\n \"23\": \"fontFace expects a name of a font-family.\\n\\n\",\n \"24\": \"fontFace expects either the path to the font file(s) or a name of a local copy.\\n\\n\",\n \"25\": \"fontFace expects localFonts to be an array.\\n\\n\",\n \"26\": \"fontFace expects fileFormats to be an array.\\n\\n\",\n \"27\": \"radialGradient requries at least 2 color-stops to properly render.\\n\\n\",\n \"28\": \"Please supply a filename to retinaImage() as the first argument.\\n\\n\",\n \"29\": \"Passed invalid argument to triangle, please pass correct pointingDirection e.g. 'right'.\\n\\n\",\n \"30\": \"Passed an invalid value to `height` or `width`. Please provide a pixel based unit.\\n\\n\",\n \"31\": \"The animation shorthand only takes 8 arguments. See the specification for more information: http://mdn.io/animation\\n\\n\",\n \"32\": \"To pass multiple animations please supply them in arrays, e.g. animation(['rotate', '2s'], ['move', '1s'])\\nTo pass a single animation please supply them in simple values, e.g. animation('rotate', '2s')\\n\\n\",\n \"33\": \"The animation shorthand arrays can only have 8 elements. See the specification for more information: http://mdn.io/animation\\n\\n\",\n \"34\": \"borderRadius expects a radius value as a string or number as the second argument.\\n\\n\",\n \"35\": \"borderRadius expects one of \\\"top\\\", \\\"bottom\\\", \\\"left\\\" or \\\"right\\\" as the first argument.\\n\\n\",\n \"36\": \"Property must be a string value.\\n\\n\",\n \"37\": \"Syntax Error at %s.\\n\\n\",\n \"38\": \"Formula contains a function that needs parentheses at %s.\\n\\n\",\n \"39\": \"Formula is missing closing parenthesis at %s.\\n\\n\",\n \"40\": \"Formula has too many closing parentheses at %s.\\n\\n\",\n \"41\": \"All values in a formula must have the same unit or be unitless.\\n\\n\",\n \"42\": \"Please provide a number of steps to the modularScale helper.\\n\\n\",\n \"43\": \"Please pass a number or one of the predefined scales to the modularScale helper as the ratio.\\n\\n\",\n \"44\": \"Invalid value passed as base to modularScale, expected number or em/rem string but got %s.\\n\\n\",\n \"45\": \"Passed invalid argument to hslToColorString, please pass a HslColor or HslaColor object.\\n\\n\",\n \"46\": \"Passed invalid argument to rgbToColorString, please pass a RgbColor or RgbaColor object.\\n\\n\",\n \"47\": \"minScreen and maxScreen must be provided as stringified numbers with the same units.\\n\\n\",\n \"48\": \"fromSize and toSize must be provided as stringified numbers with the same units.\\n\\n\",\n \"49\": \"Expects either an array of objects or a single object with the properties prop, fromSize, and toSize.\\n\\n\",\n \"50\": \"Expects the objects in the first argument array to have the properties prop, fromSize, and toSize.\\n\\n\",\n \"51\": \"Expects the first argument object to have the properties prop, fromSize, and toSize.\\n\\n\",\n \"52\": \"fontFace expects either the path to the font file(s) or a name of a local copy.\\n\\n\",\n \"53\": \"fontFace expects localFonts to be an array.\\n\\n\",\n \"54\": \"fontFace expects fileFormats to be an array.\\n\\n\",\n \"55\": \"fontFace expects a name of a font-family.\\n\\n\",\n \"56\": \"linearGradient requries at least 2 color-stops to properly render.\\n\\n\",\n \"57\": \"radialGradient requries at least 2 color-stops to properly render.\\n\\n\",\n \"58\": \"Please supply a filename to retinaImage() as the first argument.\\n\\n\",\n \"59\": \"Passed invalid argument to triangle, please pass correct pointingDirection e.g. 'right'.\\n\\n\",\n \"60\": \"Passed an invalid value to `height` or `width`. Please provide a pixel based unit.\\n\\n\",\n \"61\": \"Property must be a string value.\\n\\n\",\n \"62\": \"borderRadius expects a radius value as a string or number as the second argument.\\n\\n\",\n \"63\": \"borderRadius expects one of \\\"top\\\", \\\"bottom\\\", \\\"left\\\" or \\\"right\\\" as the first argument.\\n\\n\",\n \"64\": \"The animation shorthand only takes 8 arguments. See the specification for more information: http://mdn.io/animation.\\n\\n\",\n \"65\": \"To pass multiple animations please supply them in arrays, e.g. animation(['rotate', '2s'], ['move', '1s'])\\\\nTo pass a single animation please supply them in simple values, e.g. animation('rotate', '2s').\\n\\n\",\n \"66\": \"The animation shorthand arrays can only have 8 elements. See the specification for more information: http://mdn.io/animation.\\n\\n\",\n \"67\": \"You must provide a template to this method.\\n\\n\",\n \"68\": \"You passed an unsupported selector state to this method.\\n\\n\",\n \"69\": \"Expected a string ending in \\\"px\\\" or a number passed as the first argument to %s(), got %s instead.\\n\\n\",\n \"70\": \"Expected a string ending in \\\"px\\\" or a number passed as the second argument to %s(), got %s instead.\\n\\n\",\n \"71\": \"Passed invalid pixel value %s to %s(), please pass a value like \\\"12px\\\" or 12.\\n\\n\",\n \"72\": \"Passed invalid base value %s to %s(), please pass a value like \\\"12px\\\" or 12.\\n\\n\",\n \"73\": \"Please provide a valid CSS variable.\\n\\n\",\n \"74\": \"CSS variable not found and no default was provided.\\n\\n\",\n \"75\": \"important requires a valid style object, got a %s instead.\\n\\n\",\n \"76\": \"fromSize and toSize must be provided as stringified numbers with the same units as minScreen and maxScreen.\\n\\n\",\n \"77\": \"remToPx expects a value in \\\"rem\\\" but you provided it in \\\"%s\\\".\\n\\n\",\n \"78\": \"base must be set in \\\"px\\\" or \\\"%\\\" but you set it in \\\"%s\\\".\\n\"\n};\n/**\n * super basic version of sprintf\n * @private\n */\n\nfunction format() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n var a = args[0];\n var b = [];\n var c;\n for (c = 1; c < args.length; c += 1) {\n b.push(args[c]);\n }\n b.forEach(function (d) {\n a = a.replace(/%[a-z]/, d);\n });\n return a;\n}\n/**\n * Create an error file out of errors.md for development and a simple web link to the full errors\n * in production mode.\n * @private\n */\n\nvar PolishedError = /*#__PURE__*/function (_Error) {\n _inheritsLoose(PolishedError, _Error);\n function PolishedError(code) {\n var _this;\n if (process.env.NODE_ENV === 'production') {\n _this = _Error.call(this, \"An error occurred. See https://github.com/styled-components/polished/blob/main/src/internalHelpers/errors.md#\" + code + \" for more information.\") || this;\n } else {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n _this = _Error.call(this, format.apply(void 0, [ERRORS[code]].concat(args))) || this;\n }\n return _assertThisInitialized(_this);\n }\n return PolishedError;\n}( /*#__PURE__*/_wrapNativeSuper(Error));\nvar unitRegExp = /((?!\\w)a|na|hc|mc|dg|me[r]?|xe|ni(?![a-zA-Z])|mm|cp|tp|xp|q(?!s)|hv|xamv|nimv|wv|sm|s(?!\\D|$)|ged|darg?|nrut)/g; // Merges additional math functionality into the defaults.\n\nfunction mergeSymbolMaps(additionalSymbols) {\n var symbolMap = {};\n symbolMap.symbols = additionalSymbols ? _extends({}, defaultSymbolMap.symbols, additionalSymbols.symbols) : _extends({}, defaultSymbolMap.symbols);\n return symbolMap;\n}\nfunction exec(operators, values) {\n var _ref;\n var op = operators.pop();\n values.push(op.f.apply(op, (_ref = []).concat.apply(_ref, values.splice(-op.argCount))));\n return op.precedence;\n}\nfunction calculate(expression, additionalSymbols) {\n var symbolMap = mergeSymbolMaps(additionalSymbols);\n var match;\n var operators = [symbolMap.symbols['('].prefix];\n var values = [];\n var pattern = new RegExp(\n // Pattern for numbers\n \"\\\\d+(?:\\\\.\\\\d+)?|\" +\n // ...and patterns for individual operators/function names\n Object.keys(symbolMap.symbols).map(function (key) {\n return symbolMap.symbols[key];\n }) // longer symbols should be listed first\n // $FlowFixMe\n .sort(function (a, b) {\n return b.symbol.length - a.symbol.length;\n }) // $FlowFixMe\n .map(function (val) {\n return val.regSymbol;\n }).join('|') + \"|(\\\\S)\", 'g');\n pattern.lastIndex = 0; // Reset regular expression object\n\n var afterValue = false;\n do {\n match = pattern.exec(expression);\n var _ref2 = match || [')', undefined],\n token = _ref2[0],\n bad = _ref2[1];\n var notNumber = symbolMap.symbols[token];\n var notNewValue = notNumber && !notNumber.prefix && !notNumber.func;\n var notAfterValue = !notNumber || !notNumber.postfix && !notNumber.infix; // Check for syntax errors:\n\n if (bad || (afterValue ? notAfterValue : notNewValue)) {\n throw new PolishedError(37, match ? match.index : expression.length, expression);\n }\n if (afterValue) {\n // We either have an infix or postfix operator (they should be mutually exclusive)\n var curr = notNumber.postfix || notNumber.infix;\n do {\n var prev = operators[operators.length - 1];\n if ((curr.precedence - prev.precedence || prev.rightToLeft) > 0) break; // Apply previous operator, since it has precedence over current one\n } while (exec(operators, values)); // Exit loop after executing an opening parenthesis or function\n\n afterValue = curr.notation === 'postfix';\n if (curr.symbol !== ')') {\n operators.push(curr); // Postfix always has precedence over any operator that follows after it\n\n if (afterValue) exec(operators, values);\n }\n } else if (notNumber) {\n // prefix operator or function\n operators.push(notNumber.prefix || notNumber.func);\n if (notNumber.func) {\n // Require an opening parenthesis\n match = pattern.exec(expression);\n if (!match || match[0] !== '(') {\n throw new PolishedError(38, match ? match.index : expression.length, expression);\n }\n }\n } else {\n // number\n values.push(+token);\n afterValue = true;\n }\n } while (match && operators.length);\n if (operators.length) {\n throw new PolishedError(39, match ? match.index : expression.length, expression);\n } else if (match) {\n throw new PolishedError(40, match ? match.index : expression.length, expression);\n } else {\n return values.pop();\n }\n}\nfunction reverseString(str) {\n return str.split('').reverse().join('');\n}\n/**\n * Helper for doing math with CSS Units. Accepts a formula as a string. All values in the formula must have the same unit (or be unitless). Supports complex formulas utliziing addition, subtraction, multiplication, division, square root, powers, factorial, min, max, as well as parentheses for order of operation.\n *\n *In cases where you need to do calculations with mixed units where one unit is a [relative length unit](https://developer.mozilla.org/en-US/docs/Web/CSS/length#Relative_length_units), you will want to use [CSS Calc](https://developer.mozilla.org/en-US/docs/Web/CSS/calc).\n *\n * *warning* While we've done everything possible to ensure math safely evalutes formulas expressed as strings, you should always use extreme caution when passing `math` user provided values.\n * @example\n * // Styles as object usage\n * const styles = {\n * fontSize: math('12rem + 8rem'),\n * fontSize: math('(12px + 2px) * 3'),\n * fontSize: math('3px^2 + sqrt(4)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * fontSize: ${math('12rem + 8rem')};\n * fontSize: ${math('(12px + 2px) * 3')};\n * fontSize: ${math('3px^2 + sqrt(4)')};\n * `\n *\n * // CSS as JS Output\n *\n * div: {\n * fontSize: '20rem',\n * fontSize: '42px',\n * fontSize: '11px',\n * }\n */\n\nfunction math(formula, additionalSymbols) {\n var reversedFormula = reverseString(formula);\n var formulaMatch = reversedFormula.match(unitRegExp); // Check that all units are the same\n\n if (formulaMatch && !formulaMatch.every(function (unit) {\n return unit === formulaMatch[0];\n })) {\n throw new PolishedError(41);\n }\n var cleanFormula = reverseString(reversedFormula.replace(unitRegExp, ''));\n return \"\" + calculate(cleanFormula, additionalSymbols) + (formulaMatch ? reverseString(formulaMatch[0]) : '');\n}\nvar cssVariableRegex = /--[\\S]*/g;\n/**\n * Fetches the value of a passed CSS Variable in the :root scope, or otherwise returns a defaultValue if provided.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * 'background': cssVar('--background-color'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${cssVar('--background-color')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * 'background': 'red'\n * }\n */\n\nfunction cssVar(cssVariable, defaultValue) {\n if (!cssVariable || !cssVariable.match(cssVariableRegex)) {\n throw new PolishedError(73);\n }\n var variableValue;\n /* eslint-disable */\n\n /* istanbul ignore next */\n\n if (typeof document !== 'undefined' && document.documentElement !== null) {\n variableValue = getComputedStyle(document.documentElement).getPropertyValue(cssVariable);\n }\n /* eslint-enable */\n\n if (variableValue) {\n return variableValue.trim();\n } else if (defaultValue) {\n return defaultValue;\n }\n throw new PolishedError(74);\n}\n\n// @private\nfunction capitalizeString(string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n}\nvar positionMap$1 = ['Top', 'Right', 'Bottom', 'Left'];\nfunction generateProperty(property, position) {\n if (!property) return position.toLowerCase();\n var splitProperty = property.split('-');\n if (splitProperty.length > 1) {\n splitProperty.splice(1, 0, position);\n return splitProperty.reduce(function (acc, val) {\n return \"\" + acc + capitalizeString(val);\n });\n }\n var joinedProperty = property.replace(/([a-z])([A-Z])/g, \"$1\" + position + \"$2\");\n return property === joinedProperty ? \"\" + property + position : joinedProperty;\n}\nfunction generateStyles(property, valuesWithDefaults) {\n var styles = {};\n for (var i = 0; i < valuesWithDefaults.length; i += 1) {\n if (valuesWithDefaults[i] || valuesWithDefaults[i] === 0) {\n styles[generateProperty(property, positionMap$1[i])] = valuesWithDefaults[i];\n }\n }\n return styles;\n}\n/**\n * Enables shorthand for direction-based properties. It accepts a property (hyphenated or camelCased) and up to four values that map to top, right, bottom, and left, respectively. You can optionally pass an empty string to get only the directional values as properties. You can also optionally pass a null argument for a directional value to ignore it.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...directionalProperty('padding', '12px', '24px', '36px', '48px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${directionalProperty('padding', '12px', '24px', '36px', '48px')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'paddingTop': '12px',\n * 'paddingRight': '24px',\n * 'paddingBottom': '36px',\n * 'paddingLeft': '48px'\n * }\n */\n\nfunction directionalProperty(property) {\n for (var _len = arguments.length, values = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n values[_key - 1] = arguments[_key];\n }\n\n // prettier-ignore\n var firstValue = values[0],\n _values$ = values[1],\n secondValue = _values$ === void 0 ? firstValue : _values$,\n _values$2 = values[2],\n thirdValue = _values$2 === void 0 ? firstValue : _values$2,\n _values$3 = values[3],\n fourthValue = _values$3 === void 0 ? secondValue : _values$3;\n var valuesWithDefaults = [firstValue, secondValue, thirdValue, fourthValue];\n return generateStyles(property, valuesWithDefaults);\n}\n\n/**\n * Check if a string ends with something\n * @private\n */\nfunction endsWith(string, suffix) {\n return string.substr(-suffix.length) === suffix;\n}\nvar cssRegex$1 = /^([+-]?(?:\\d+|\\d*\\.\\d+))([a-z]*|%)$/;\n/**\n * Returns a given CSS value minus its unit of measure.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * '--dimension': stripUnit('100px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * --dimension: ${stripUnit('100px')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * '--dimension': 100\n * }\n */\n\nfunction stripUnit(value) {\n if (typeof value !== 'string') return value;\n var matchedValue = value.match(cssRegex$1);\n return matchedValue ? parseFloat(value) : value;\n}\n\n/**\n * Factory function that creates pixel-to-x converters\n * @private\n */\n\nvar pxtoFactory = function pxtoFactory(to) {\n return function (pxval, base) {\n if (base === void 0) {\n base = '16px';\n }\n var newPxval = pxval;\n var newBase = base;\n if (typeof pxval === 'string') {\n if (!endsWith(pxval, 'px')) {\n throw new PolishedError(69, to, pxval);\n }\n newPxval = stripUnit(pxval);\n }\n if (typeof base === 'string') {\n if (!endsWith(base, 'px')) {\n throw new PolishedError(70, to, base);\n }\n newBase = stripUnit(base);\n }\n if (typeof newPxval === 'string') {\n throw new PolishedError(71, pxval, to);\n }\n if (typeof newBase === 'string') {\n throw new PolishedError(72, base, to);\n }\n return \"\" + newPxval / newBase + to;\n };\n};\nvar pixelsto = pxtoFactory;\n\n/**\n * Convert pixel value to ems. The default base value is 16px, but can be changed by passing a\n * second argument to the function.\n * @function\n * @param {string|number} pxval\n * @param {string|number} [base='16px']\n * @example\n * // Styles as object usage\n * const styles = {\n * 'height': em('16px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * height: ${em('16px')}\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * 'height': '1em'\n * }\n */\n\nvar em = /*#__PURE__*/pixelsto('em');\nvar em$1 = em;\nvar cssRegex = /^([+-]?(?:\\d+|\\d*\\.\\d+))([a-z]*|%)$/;\n/**\n * Returns a given CSS value and its unit as elements of an array.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * '--dimension': getValueAndUnit('100px')[0],\n * '--unit': getValueAndUnit('100px')[1],\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * --dimension: ${getValueAndUnit('100px')[0]};\n * --unit: ${getValueAndUnit('100px')[1]};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * '--dimension': 100,\n * '--unit': 'px',\n * }\n */\n\nfunction getValueAndUnit(value) {\n if (typeof value !== 'string') return [value, ''];\n var matchedValue = value.match(cssRegex);\n if (matchedValue) return [parseFloat(value), matchedValue[2]];\n return [value, undefined];\n}\n\n/**\n * Helper for targeting rules in a style block generated by polished modules that need !important-level specificity. Can optionally specify a rule (or rules) to target specific rules.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...important(cover())\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${important(cover())}\n * `\n *\n * // CSS as JS Output\n *\n * div: {\n * 'position': 'absolute !important',\n * 'top': '0 !important',\n * 'right: '0 !important',\n * 'bottom': '0 !important',\n * 'left: '0 !important'\n * }\n */\n\nfunction important(styleBlock, rules) {\n if (typeof styleBlock !== 'object' || styleBlock === null) {\n throw new PolishedError(75, typeof styleBlock);\n }\n var newStyleBlock = {};\n Object.keys(styleBlock).forEach(function (key) {\n if (typeof styleBlock[key] === 'object' && styleBlock[key] !== null) {\n newStyleBlock[key] = important(styleBlock[key], rules);\n } else if (!rules || rules && (rules === key || rules.indexOf(key) >= 0)) {\n newStyleBlock[key] = styleBlock[key] + \" !important\";\n } else {\n newStyleBlock[key] = styleBlock[key];\n }\n });\n return newStyleBlock;\n}\nvar ratioNames = {\n minorSecond: 1.067,\n majorSecond: 1.125,\n minorThird: 1.2,\n majorThird: 1.25,\n perfectFourth: 1.333,\n augFourth: 1.414,\n perfectFifth: 1.5,\n minorSixth: 1.6,\n goldenSection: 1.618,\n majorSixth: 1.667,\n minorSeventh: 1.778,\n majorSeventh: 1.875,\n octave: 2,\n majorTenth: 2.5,\n majorEleventh: 2.667,\n majorTwelfth: 3,\n doubleOctave: 4\n};\nfunction getRatio(ratioName) {\n return ratioNames[ratioName];\n}\n/**\n * Establish consistent measurements and spacial relationships throughout your projects by incrementing an em or rem value up or down a defined scale. We provide a list of commonly used scales as pre-defined variables.\n * @example\n * // Styles as object usage\n * const styles = {\n * // Increment two steps up the default scale\n * 'fontSize': modularScale(2)\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * // Increment two steps up the default scale\n * fontSize: ${modularScale(2)}\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * 'fontSize': '1.77689em'\n * }\n */\n\nfunction modularScale(steps, base, ratio) {\n if (base === void 0) {\n base = '1em';\n }\n if (ratio === void 0) {\n ratio = 1.333;\n }\n if (typeof steps !== 'number') {\n throw new PolishedError(42);\n }\n if (typeof ratio === 'string' && !ratioNames[ratio]) {\n throw new PolishedError(43);\n }\n var _ref = typeof base === 'string' ? getValueAndUnit(base) : [base, ''],\n realBase = _ref[0],\n unit = _ref[1];\n var realRatio = typeof ratio === 'string' ? getRatio(ratio) : ratio;\n if (typeof realBase === 'string') {\n throw new PolishedError(44, base);\n }\n return \"\" + realBase * Math.pow(realRatio, steps) + (unit || '');\n}\n\n/**\n * Convert pixel value to rems. The default base value is 16px, but can be changed by passing a\n * second argument to the function.\n * @function\n * @param {string|number} pxval\n * @param {string|number} [base='16px']\n * @example\n * // Styles as object usage\n * const styles = {\n * 'height': rem('16px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * height: ${rem('16px')}\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * 'height': '1rem'\n * }\n */\n\nvar rem = /*#__PURE__*/pixelsto('rem');\nvar rem$1 = rem;\nvar defaultFontSize = 16;\nfunction convertBase(base) {\n var deconstructedValue = getValueAndUnit(base);\n if (deconstructedValue[1] === 'px') {\n return parseFloat(base);\n }\n if (deconstructedValue[1] === '%') {\n return parseFloat(base) / 100 * defaultFontSize;\n }\n throw new PolishedError(78, deconstructedValue[1]);\n}\nfunction getBaseFromDoc() {\n /* eslint-disable */\n\n /* istanbul ignore next */\n if (typeof document !== 'undefined' && document.documentElement !== null) {\n var rootFontSize = getComputedStyle(document.documentElement).fontSize;\n return rootFontSize ? convertBase(rootFontSize) : defaultFontSize;\n }\n /* eslint-enable */\n\n /* istanbul ignore next */\n\n return defaultFontSize;\n}\n/**\n * Convert rem values to px. By default, the base value is pulled from the font-size property on the root element (if it is set in % or px). It defaults to 16px if not found on the root. You can also override the base value by providing your own base in % or px.\n * @example\n * // Styles as object usage\n * const styles = {\n * 'height': remToPx('1.6rem')\n * 'height': remToPx('1.6rem', '10px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * height: ${remToPx('1.6rem')}\n * height: ${remToPx('1.6rem', '10px')}\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * 'height': '25.6px',\n * 'height': '16px',\n * }\n */\n\nfunction remToPx(value, base) {\n var deconstructedValue = getValueAndUnit(value);\n if (deconstructedValue[1] !== 'rem' && deconstructedValue[1] !== '') {\n throw new PolishedError(77, deconstructedValue[1]);\n }\n var newBase = base ? convertBase(base) : getBaseFromDoc();\n return deconstructedValue[0] * newBase + \"px\";\n}\nvar functionsMap$3 = {\n back: 'cubic-bezier(0.600, -0.280, 0.735, 0.045)',\n circ: 'cubic-bezier(0.600, 0.040, 0.980, 0.335)',\n cubic: 'cubic-bezier(0.550, 0.055, 0.675, 0.190)',\n expo: 'cubic-bezier(0.950, 0.050, 0.795, 0.035)',\n quad: 'cubic-bezier(0.550, 0.085, 0.680, 0.530)',\n quart: 'cubic-bezier(0.895, 0.030, 0.685, 0.220)',\n quint: 'cubic-bezier(0.755, 0.050, 0.855, 0.060)',\n sine: 'cubic-bezier(0.470, 0.000, 0.745, 0.715)'\n};\n/**\n * String to represent common easing functions as demonstrated here: (github.com/jaukia/easie).\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * 'transitionTimingFunction': easeIn('quad')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * transitionTimingFunction: ${easeIn('quad')};\n * `\n *\n * // CSS as JS Output\n *\n * 'div': {\n * 'transitionTimingFunction': 'cubic-bezier(0.550, 0.085, 0.680, 0.530)',\n * }\n */\n\nfunction easeIn(functionName) {\n return functionsMap$3[functionName.toLowerCase().trim()];\n}\nvar functionsMap$2 = {\n back: 'cubic-bezier(0.680, -0.550, 0.265, 1.550)',\n circ: 'cubic-bezier(0.785, 0.135, 0.150, 0.860)',\n cubic: 'cubic-bezier(0.645, 0.045, 0.355, 1.000)',\n expo: 'cubic-bezier(1.000, 0.000, 0.000, 1.000)',\n quad: 'cubic-bezier(0.455, 0.030, 0.515, 0.955)',\n quart: 'cubic-bezier(0.770, 0.000, 0.175, 1.000)',\n quint: 'cubic-bezier(0.860, 0.000, 0.070, 1.000)',\n sine: 'cubic-bezier(0.445, 0.050, 0.550, 0.950)'\n};\n/**\n * String to represent common easing functions as demonstrated here: (github.com/jaukia/easie).\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * 'transitionTimingFunction': easeInOut('quad')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * transitionTimingFunction: ${easeInOut('quad')};\n * `\n *\n * // CSS as JS Output\n *\n * 'div': {\n * 'transitionTimingFunction': 'cubic-bezier(0.455, 0.030, 0.515, 0.955)',\n * }\n */\n\nfunction easeInOut(functionName) {\n return functionsMap$2[functionName.toLowerCase().trim()];\n}\nvar functionsMap$1 = {\n back: 'cubic-bezier(0.175, 0.885, 0.320, 1.275)',\n cubic: 'cubic-bezier(0.215, 0.610, 0.355, 1.000)',\n circ: 'cubic-bezier(0.075, 0.820, 0.165, 1.000)',\n expo: 'cubic-bezier(0.190, 1.000, 0.220, 1.000)',\n quad: 'cubic-bezier(0.250, 0.460, 0.450, 0.940)',\n quart: 'cubic-bezier(0.165, 0.840, 0.440, 1.000)',\n quint: 'cubic-bezier(0.230, 1.000, 0.320, 1.000)',\n sine: 'cubic-bezier(0.390, 0.575, 0.565, 1.000)'\n};\n/**\n * String to represent common easing functions as demonstrated here: (github.com/jaukia/easie).\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * 'transitionTimingFunction': easeOut('quad')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * transitionTimingFunction: ${easeOut('quad')};\n * `\n *\n * // CSS as JS Output\n *\n * 'div': {\n * 'transitionTimingFunction': 'cubic-bezier(0.250, 0.460, 0.450, 0.940)',\n * }\n */\n\nfunction easeOut(functionName) {\n return functionsMap$1[functionName.toLowerCase().trim()];\n}\n\n/**\n * Returns a CSS calc formula for linear interpolation of a property between two values. Accepts optional minScreen (defaults to '320px') and maxScreen (defaults to '1200px').\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * fontSize: between('20px', '100px', '400px', '1000px'),\n * fontSize: between('20px', '100px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * fontSize: ${between('20px', '100px', '400px', '1000px')};\n * fontSize: ${between('20px', '100px')}\n * `\n *\n * // CSS as JS Output\n *\n * h1: {\n * 'fontSize': 'calc(-33.33333333333334px + 13.333333333333334vw)',\n * 'fontSize': 'calc(-9.090909090909093px + 9.090909090909092vw)'\n * }\n */\n\nfunction between(fromSize, toSize, minScreen, maxScreen) {\n if (minScreen === void 0) {\n minScreen = '320px';\n }\n if (maxScreen === void 0) {\n maxScreen = '1200px';\n }\n var _getValueAndUnit = getValueAndUnit(fromSize),\n unitlessFromSize = _getValueAndUnit[0],\n fromSizeUnit = _getValueAndUnit[1];\n var _getValueAndUnit2 = getValueAndUnit(toSize),\n unitlessToSize = _getValueAndUnit2[0],\n toSizeUnit = _getValueAndUnit2[1];\n var _getValueAndUnit3 = getValueAndUnit(minScreen),\n unitlessMinScreen = _getValueAndUnit3[0],\n minScreenUnit = _getValueAndUnit3[1];\n var _getValueAndUnit4 = getValueAndUnit(maxScreen),\n unitlessMaxScreen = _getValueAndUnit4[0],\n maxScreenUnit = _getValueAndUnit4[1];\n if (typeof unitlessMinScreen !== 'number' || typeof unitlessMaxScreen !== 'number' || !minScreenUnit || !maxScreenUnit || minScreenUnit !== maxScreenUnit) {\n throw new PolishedError(47);\n }\n if (typeof unitlessFromSize !== 'number' || typeof unitlessToSize !== 'number' || fromSizeUnit !== toSizeUnit) {\n throw new PolishedError(48);\n }\n if (fromSizeUnit !== minScreenUnit || toSizeUnit !== maxScreenUnit) {\n throw new PolishedError(76);\n }\n var slope = (unitlessFromSize - unitlessToSize) / (unitlessMinScreen - unitlessMaxScreen);\n var base = unitlessToSize - slope * unitlessMaxScreen;\n return \"calc(\" + base.toFixed(2) + (fromSizeUnit || '') + \" + \" + (100 * slope).toFixed(2) + \"vw)\";\n}\n\n/**\n * CSS to contain a float (credit to CSSMojo).\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...clearFix(),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${clearFix()}\n * `\n *\n * // CSS as JS Output\n *\n * '&::after': {\n * 'clear': 'both',\n * 'content': '\"\"',\n * 'display': 'table'\n * }\n */\nfunction clearFix(parent) {\n var _ref;\n if (parent === void 0) {\n parent = '&';\n }\n var pseudoSelector = parent + \"::after\";\n return _ref = {}, _ref[pseudoSelector] = {\n clear: 'both',\n content: '\"\"',\n display: 'table'\n }, _ref;\n}\n\n/**\n * CSS to fully cover an area. Can optionally be passed an offset to act as a \"padding\".\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...cover()\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${cover()}\n * `\n *\n * // CSS as JS Output\n *\n * div: {\n * 'position': 'absolute',\n * 'top': '0',\n * 'right: '0',\n * 'bottom': '0',\n * 'left: '0'\n * }\n */\nfunction cover(offset) {\n if (offset === void 0) {\n offset = 0;\n }\n return {\n position: 'absolute',\n top: offset,\n right: offset,\n bottom: offset,\n left: offset\n };\n}\n\n/**\n * CSS to represent truncated text with an ellipsis. You can optionally pass a max-width and number of lines before truncating.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...ellipsis('250px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${ellipsis('250px')}\n * `\n *\n * // CSS as JS Output\n *\n * div: {\n * 'display': 'inline-block',\n * 'maxWidth': '250px',\n * 'overflow': 'hidden',\n * 'textOverflow': 'ellipsis',\n * 'whiteSpace': 'nowrap',\n * 'wordWrap': 'normal'\n * }\n */\nfunction ellipsis(width, lines) {\n if (lines === void 0) {\n lines = 1;\n }\n var styles = {\n display: 'inline-block',\n maxWidth: width || '100%',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n wordWrap: 'normal'\n };\n return lines > 1 ? _extends({}, styles, {\n WebkitBoxOrient: 'vertical',\n WebkitLineClamp: lines,\n display: '-webkit-box',\n whiteSpace: 'normal'\n }) : styles;\n}\nfunction _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 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 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}\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}\nfunction _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++) {\n arr2[i] = arr[i];\n }\n return arr2;\n}\n\n/**\n * Returns a set of media queries that resizes a property (or set of properties) between a provided fromSize and toSize. Accepts optional minScreen (defaults to '320px') and maxScreen (defaults to '1200px') to constrain the interpolation.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...fluidRange(\n * {\n * prop: 'padding',\n * fromSize: '20px',\n * toSize: '100px',\n * },\n * '400px',\n * '1000px',\n * )\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${fluidRange(\n * {\n * prop: 'padding',\n * fromSize: '20px',\n * toSize: '100px',\n * },\n * '400px',\n * '1000px',\n * )}\n * `\n *\n * // CSS as JS Output\n *\n * div: {\n * \"@media (min-width: 1000px)\": Object {\n * \"padding\": \"100px\",\n * },\n * \"@media (min-width: 400px)\": Object {\n * \"padding\": \"calc(-33.33333333333334px + 13.333333333333334vw)\",\n * },\n * \"padding\": \"20px\",\n * }\n */\nfunction fluidRange(cssProp, minScreen, maxScreen) {\n if (minScreen === void 0) {\n minScreen = '320px';\n }\n if (maxScreen === void 0) {\n maxScreen = '1200px';\n }\n if (!Array.isArray(cssProp) && typeof cssProp !== 'object' || cssProp === null) {\n throw new PolishedError(49);\n }\n if (Array.isArray(cssProp)) {\n var mediaQueries = {};\n var fallbacks = {};\n for (var _iterator = _createForOfIteratorHelperLoose(cssProp), _step; !(_step = _iterator()).done;) {\n var _extends2, _extends3;\n var obj = _step.value;\n if (!obj.prop || !obj.fromSize || !obj.toSize) {\n throw new PolishedError(50);\n }\n fallbacks[obj.prop] = obj.fromSize;\n mediaQueries[\"@media (min-width: \" + minScreen + \")\"] = _extends({}, mediaQueries[\"@media (min-width: \" + minScreen + \")\"], (_extends2 = {}, _extends2[obj.prop] = between(obj.fromSize, obj.toSize, minScreen, maxScreen), _extends2));\n mediaQueries[\"@media (min-width: \" + maxScreen + \")\"] = _extends({}, mediaQueries[\"@media (min-width: \" + maxScreen + \")\"], (_extends3 = {}, _extends3[obj.prop] = obj.toSize, _extends3));\n }\n return _extends({}, fallbacks, mediaQueries);\n } else {\n var _ref, _ref2, _ref3;\n if (!cssProp.prop || !cssProp.fromSize || !cssProp.toSize) {\n throw new PolishedError(51);\n }\n return _ref3 = {}, _ref3[cssProp.prop] = cssProp.fromSize, _ref3[\"@media (min-width: \" + minScreen + \")\"] = (_ref = {}, _ref[cssProp.prop] = between(cssProp.fromSize, cssProp.toSize, minScreen, maxScreen), _ref), _ref3[\"@media (min-width: \" + maxScreen + \")\"] = (_ref2 = {}, _ref2[cssProp.prop] = cssProp.toSize, _ref2), _ref3;\n }\n}\nvar dataURIRegex = /^\\s*data:([a-z]+\\/[a-z-]+(;[a-z-]+=[a-z-]+)?)?(;charset=[a-z0-9-]+)?(;base64)?,[a-z0-9!$&',()*+,;=\\-._~:@/?%\\s]*\\s*$/i;\nvar formatHintMap = {\n woff: 'woff',\n woff2: 'woff2',\n ttf: 'truetype',\n otf: 'opentype',\n eot: 'embedded-opentype',\n svg: 'svg',\n svgz: 'svg'\n};\nfunction generateFormatHint(format, formatHint) {\n if (!formatHint) return '';\n return \" format(\\\"\" + formatHintMap[format] + \"\\\")\";\n}\nfunction isDataURI(fontFilePath) {\n return !!fontFilePath.replace(/\\s+/g, ' ').match(dataURIRegex);\n}\nfunction generateFileReferences(fontFilePath, fileFormats, formatHint) {\n if (isDataURI(fontFilePath)) {\n return \"url(\\\"\" + fontFilePath + \"\\\")\" + generateFormatHint(fileFormats[0], formatHint);\n }\n var fileFontReferences = fileFormats.map(function (format) {\n return \"url(\\\"\" + fontFilePath + \".\" + format + \"\\\")\" + generateFormatHint(format, formatHint);\n });\n return fileFontReferences.join(', ');\n}\nfunction generateLocalReferences(localFonts) {\n var localFontReferences = localFonts.map(function (font) {\n return \"local(\\\"\" + font + \"\\\")\";\n });\n return localFontReferences.join(', ');\n}\nfunction generateSources(fontFilePath, localFonts, fileFormats, formatHint) {\n var fontReferences = [];\n if (localFonts) fontReferences.push(generateLocalReferences(localFonts));\n if (fontFilePath) {\n fontReferences.push(generateFileReferences(fontFilePath, fileFormats, formatHint));\n }\n return fontReferences.join(', ');\n}\n/**\n * CSS for a @font-face declaration. Defaults to check for local copies of the font on the user's machine. You can disable this by passing `null` to localFonts.\n *\n * @example\n * // Styles as object basic usage\n * const styles = {\n * ...fontFace({\n * 'fontFamily': 'Sans-Pro',\n * 'fontFilePath': 'path/to/file'\n * })\n * }\n *\n * // styled-components basic usage\n * const GlobalStyle = createGlobalStyle`${\n * fontFace({\n * 'fontFamily': 'Sans-Pro',\n * 'fontFilePath': 'path/to/file'\n * }\n * )}`\n *\n * // CSS as JS Output\n *\n * '@font-face': {\n * 'fontFamily': 'Sans-Pro',\n * 'src': 'url(\"path/to/file.eot\"), url(\"path/to/file.woff2\"), url(\"path/to/file.woff\"), url(\"path/to/file.ttf\"), url(\"path/to/file.svg\")',\n * }\n */\n\nfunction fontFace(_ref) {\n var fontFamily = _ref.fontFamily,\n fontFilePath = _ref.fontFilePath,\n fontStretch = _ref.fontStretch,\n fontStyle = _ref.fontStyle,\n fontVariant = _ref.fontVariant,\n fontWeight = _ref.fontWeight,\n _ref$fileFormats = _ref.fileFormats,\n fileFormats = _ref$fileFormats === void 0 ? ['eot', 'woff2', 'woff', 'ttf', 'svg'] : _ref$fileFormats,\n _ref$formatHint = _ref.formatHint,\n formatHint = _ref$formatHint === void 0 ? false : _ref$formatHint,\n _ref$localFonts = _ref.localFonts,\n localFonts = _ref$localFonts === void 0 ? [fontFamily] : _ref$localFonts,\n unicodeRange = _ref.unicodeRange,\n fontDisplay = _ref.fontDisplay,\n fontVariationSettings = _ref.fontVariationSettings,\n fontFeatureSettings = _ref.fontFeatureSettings;\n // Error Handling\n if (!fontFamily) throw new PolishedError(55);\n if (!fontFilePath && !localFonts) {\n throw new PolishedError(52);\n }\n if (localFonts && !Array.isArray(localFonts)) {\n throw new PolishedError(53);\n }\n if (!Array.isArray(fileFormats)) {\n throw new PolishedError(54);\n }\n var fontFaceDeclaration = {\n '@font-face': {\n fontFamily: fontFamily,\n src: generateSources(fontFilePath, localFonts, fileFormats, formatHint),\n unicodeRange: unicodeRange,\n fontStretch: fontStretch,\n fontStyle: fontStyle,\n fontVariant: fontVariant,\n fontWeight: fontWeight,\n fontDisplay: fontDisplay,\n fontVariationSettings: fontVariationSettings,\n fontFeatureSettings: fontFeatureSettings\n }\n }; // Removes undefined fields for cleaner css object.\n\n return JSON.parse(JSON.stringify(fontFaceDeclaration));\n}\n\n/**\n * CSS to hide text to show a background image in a SEO-friendly way.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * 'backgroundImage': 'url(logo.png)',\n * ...hideText(),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * backgroundImage: url(logo.png);\n * ${hideText()};\n * `\n *\n * // CSS as JS Output\n *\n * 'div': {\n * 'backgroundImage': 'url(logo.png)',\n * 'textIndent': '101%',\n * 'overflow': 'hidden',\n * 'whiteSpace': 'nowrap',\n * }\n */\nfunction hideText() {\n return {\n textIndent: '101%',\n overflow: 'hidden',\n whiteSpace: 'nowrap'\n };\n}\n\n/**\n * CSS to hide content visually but remain accessible to screen readers.\n * from [HTML5 Boilerplate](https://github.com/h5bp/html5-boilerplate/blob/9a176f57af1cfe8ec70300da4621fb9b07e5fa31/src/css/main.css#L121)\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...hideVisually(),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${hideVisually()};\n * `\n *\n * // CSS as JS Output\n *\n * 'div': {\n * 'border': '0',\n * 'clip': 'rect(0 0 0 0)',\n * 'height': '1px',\n * 'margin': '-1px',\n * 'overflow': 'hidden',\n * 'padding': '0',\n * 'position': 'absolute',\n * 'whiteSpace': 'nowrap',\n * 'width': '1px',\n * }\n */\nfunction hideVisually() {\n return {\n border: '0',\n clip: 'rect(0 0 0 0)',\n height: '1px',\n margin: '-1px',\n overflow: 'hidden',\n padding: '0',\n position: 'absolute',\n whiteSpace: 'nowrap',\n width: '1px'\n };\n}\n\n/**\n * Generates a media query to target HiDPI devices.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * [hiDPI(1.5)]: {\n * width: 200px;\n * }\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${hiDPI(1.5)} {\n * width: 200px;\n * }\n * `\n *\n * // CSS as JS Output\n *\n * '@media only screen and (-webkit-min-device-pixel-ratio: 1.5),\n * only screen and (min--moz-device-pixel-ratio: 1.5),\n * only screen and (-o-min-device-pixel-ratio: 1.5/1),\n * only screen and (min-resolution: 144dpi),\n * only screen and (min-resolution: 1.5dppx)': {\n * 'width': '200px',\n * }\n */\nfunction hiDPI(ratio) {\n if (ratio === void 0) {\n ratio = 1.3;\n }\n return \"\\n @media only screen and (-webkit-min-device-pixel-ratio: \" + ratio + \"),\\n only screen and (min--moz-device-pixel-ratio: \" + ratio + \"),\\n only screen and (-o-min-device-pixel-ratio: \" + ratio + \"/1),\\n only screen and (min-resolution: \" + Math.round(ratio * 96) + \"dpi),\\n only screen and (min-resolution: \" + ratio + \"dppx)\\n \";\n}\nfunction constructGradientValue(literals) {\n var template = '';\n for (var _len = arguments.length, substitutions = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n substitutions[_key - 1] = arguments[_key];\n }\n for (var i = 0; i < literals.length; i += 1) {\n template += literals[i];\n if (i === substitutions.length - 1 && substitutions[i]) {\n var definedValues = substitutions.filter(function (substitute) {\n return !!substitute;\n }); // Adds leading coma if properties preceed color-stops\n\n if (definedValues.length > 1) {\n template = template.slice(0, -1);\n template += \", \" + substitutions[i]; // No trailing space if color-stops is the only param provided\n } else if (definedValues.length === 1) {\n template += \"\" + substitutions[i];\n }\n } else if (substitutions[i]) {\n template += substitutions[i] + \" \";\n }\n }\n return template.trim();\n}\nvar _templateObject$1;\n\n/**\n * CSS for declaring a linear gradient, including a fallback background-color. The fallback is either the first color-stop or an explicitly passed fallback color.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...linearGradient({\n colorStops: ['#00FFFF 0%', 'rgba(0, 0, 255, 0) 50%', '#0000FF 95%'],\n toDirection: 'to top right',\n fallback: '#FFF',\n })\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${linearGradient({\n colorStops: ['#00FFFF 0%', 'rgba(0, 0, 255, 0) 50%', '#0000FF 95%'],\n toDirection: 'to top right',\n fallback: '#FFF',\n })}\n *`\n *\n * // CSS as JS Output\n *\n * div: {\n * 'backgroundColor': '#FFF',\n * 'backgroundImage': 'linear-gradient(to top right, #00FFFF 0%, rgba(0, 0, 255, 0) 50%, #0000FF 95%)',\n * }\n */\nfunction linearGradient(_ref) {\n var colorStops = _ref.colorStops,\n fallback = _ref.fallback,\n _ref$toDirection = _ref.toDirection,\n toDirection = _ref$toDirection === void 0 ? '' : _ref$toDirection;\n if (!colorStops || colorStops.length < 2) {\n throw new PolishedError(56);\n }\n return {\n backgroundColor: fallback || colorStops[0].replace(/,\\s+/g, ',').split(' ')[0].replace(/,(?=\\S)/g, ', '),\n backgroundImage: constructGradientValue(_templateObject$1 || (_templateObject$1 = _taggedTemplateLiteralLoose([\"linear-gradient(\", \"\", \")\"])), toDirection, colorStops.join(', ').replace(/,(?=\\S)/g, ', '))\n };\n}\n\n/**\n * CSS to normalize abnormalities across browsers (normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css)\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...normalize(),\n * }\n *\n * // styled-components usage\n * const GlobalStyle = createGlobalStyle`${normalize()}`\n *\n * // CSS as JS Output\n *\n * html {\n * lineHeight: 1.15,\n * textSizeAdjust: 100%,\n * } ...\n */\nfunction normalize() {\n var _ref;\n return [(_ref = {\n html: {\n lineHeight: '1.15',\n textSizeAdjust: '100%'\n },\n body: {\n margin: '0'\n },\n main: {\n display: 'block'\n },\n h1: {\n fontSize: '2em',\n margin: '0.67em 0'\n },\n hr: {\n boxSizing: 'content-box',\n height: '0',\n overflow: 'visible'\n },\n pre: {\n fontFamily: 'monospace, monospace',\n fontSize: '1em'\n },\n a: {\n backgroundColor: 'transparent'\n },\n 'abbr[title]': {\n borderBottom: 'none',\n textDecoration: 'underline'\n }\n }, _ref[\"b,\\n strong\"] = {\n fontWeight: 'bolder'\n }, _ref[\"code,\\n kbd,\\n samp\"] = {\n fontFamily: 'monospace, monospace',\n fontSize: '1em'\n }, _ref.small = {\n fontSize: '80%'\n }, _ref[\"sub,\\n sup\"] = {\n fontSize: '75%',\n lineHeight: '0',\n position: 'relative',\n verticalAlign: 'baseline'\n }, _ref.sub = {\n bottom: '-0.25em'\n }, _ref.sup = {\n top: '-0.5em'\n }, _ref.img = {\n borderStyle: 'none'\n }, _ref[\"button,\\n input,\\n optgroup,\\n select,\\n textarea\"] = {\n fontFamily: 'inherit',\n fontSize: '100%',\n lineHeight: '1.15',\n margin: '0'\n }, _ref[\"button,\\n input\"] = {\n overflow: 'visible'\n }, _ref[\"button,\\n select\"] = {\n textTransform: 'none'\n }, _ref[\"button,\\n html [type=\\\"button\\\"],\\n [type=\\\"reset\\\"],\\n [type=\\\"submit\\\"]\"] = {\n WebkitAppearance: 'button'\n }, _ref[\"button::-moz-focus-inner,\\n [type=\\\"button\\\"]::-moz-focus-inner,\\n [type=\\\"reset\\\"]::-moz-focus-inner,\\n [type=\\\"submit\\\"]::-moz-focus-inner\"] = {\n borderStyle: 'none',\n padding: '0'\n }, _ref[\"button:-moz-focusring,\\n [type=\\\"button\\\"]:-moz-focusring,\\n [type=\\\"reset\\\"]:-moz-focusring,\\n [type=\\\"submit\\\"]:-moz-focusring\"] = {\n outline: '1px dotted ButtonText'\n }, _ref.fieldset = {\n padding: '0.35em 0.625em 0.75em'\n }, _ref.legend = {\n boxSizing: 'border-box',\n color: 'inherit',\n display: 'table',\n maxWidth: '100%',\n padding: '0',\n whiteSpace: 'normal'\n }, _ref.progress = {\n verticalAlign: 'baseline'\n }, _ref.textarea = {\n overflow: 'auto'\n }, _ref[\"[type=\\\"checkbox\\\"],\\n [type=\\\"radio\\\"]\"] = {\n boxSizing: 'border-box',\n padding: '0'\n }, _ref[\"[type=\\\"number\\\"]::-webkit-inner-spin-button,\\n [type=\\\"number\\\"]::-webkit-outer-spin-button\"] = {\n height: 'auto'\n }, _ref['[type=\"search\"]'] = {\n WebkitAppearance: 'textfield',\n outlineOffset: '-2px'\n }, _ref['[type=\"search\"]::-webkit-search-decoration'] = {\n WebkitAppearance: 'none'\n }, _ref['::-webkit-file-upload-button'] = {\n WebkitAppearance: 'button',\n font: 'inherit'\n }, _ref.details = {\n display: 'block'\n }, _ref.summary = {\n display: 'list-item'\n }, _ref.template = {\n display: 'none'\n }, _ref['[hidden]'] = {\n display: 'none'\n }, _ref), {\n 'abbr[title]': {\n textDecoration: 'underline dotted'\n }\n }];\n}\nvar _templateObject;\n\n/**\n * CSS for declaring a radial gradient, including a fallback background-color. The fallback is either the first color-stop or an explicitly passed fallback color.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...radialGradient({\n * colorStops: ['#00FFFF 0%', 'rgba(0, 0, 255, 0) 50%', '#0000FF 95%'],\n * extent: 'farthest-corner at 45px 45px',\n * position: 'center',\n * shape: 'ellipse',\n * })\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${radialGradient({\n * colorStops: ['#00FFFF 0%', 'rgba(0, 0, 255, 0) 50%', '#0000FF 95%'],\n * extent: 'farthest-corner at 45px 45px',\n * position: 'center',\n * shape: 'ellipse',\n * })}\n *`\n *\n * // CSS as JS Output\n *\n * div: {\n * 'backgroundColor': '#00FFFF',\n * 'backgroundImage': 'radial-gradient(center ellipse farthest-corner at 45px 45px, #00FFFF 0%, rgba(0, 0, 255, 0) 50%, #0000FF 95%)',\n * }\n */\nfunction radialGradient(_ref) {\n var colorStops = _ref.colorStops,\n _ref$extent = _ref.extent,\n extent = _ref$extent === void 0 ? '' : _ref$extent,\n fallback = _ref.fallback,\n _ref$position = _ref.position,\n position = _ref$position === void 0 ? '' : _ref$position,\n _ref$shape = _ref.shape,\n shape = _ref$shape === void 0 ? '' : _ref$shape;\n if (!colorStops || colorStops.length < 2) {\n throw new PolishedError(57);\n }\n return {\n backgroundColor: fallback || colorStops[0].split(' ')[0],\n backgroundImage: constructGradientValue(_templateObject || (_templateObject = _taggedTemplateLiteralLoose([\"radial-gradient(\", \"\", \"\", \"\", \")\"])), position, shape, extent, colorStops.join(', '))\n };\n}\n\n/**\n * A helper to generate a retina background image and non-retina\n * background image. The retina background image will output to a HiDPI media query. The mixin uses\n * a _2x.png filename suffix by default.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...retinaImage('my-img')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${retinaImage('my-img')}\n * `\n *\n * // CSS as JS Output\n * div {\n * backgroundImage: 'url(my-img.png)',\n * '@media only screen and (-webkit-min-device-pixel-ratio: 1.3),\n * only screen and (min--moz-device-pixel-ratio: 1.3),\n * only screen and (-o-min-device-pixel-ratio: 1.3/1),\n * only screen and (min-resolution: 144dpi),\n * only screen and (min-resolution: 1.5dppx)': {\n * backgroundImage: 'url(my-img_2x.png)',\n * }\n * }\n */\nfunction retinaImage(filename, backgroundSize, extension, retinaFilename, retinaSuffix) {\n var _ref;\n if (extension === void 0) {\n extension = 'png';\n }\n if (retinaSuffix === void 0) {\n retinaSuffix = '_2x';\n }\n if (!filename) {\n throw new PolishedError(58);\n } // Replace the dot at the beginning of the passed extension if one exists\n\n var ext = extension.replace(/^\\./, '');\n var rFilename = retinaFilename ? retinaFilename + \".\" + ext : \"\" + filename + retinaSuffix + \".\" + ext;\n return _ref = {\n backgroundImage: \"url(\" + filename + \".\" + ext + \")\"\n }, _ref[hiDPI()] = _extends({\n backgroundImage: \"url(\" + rFilename + \")\"\n }, backgroundSize ? {\n backgroundSize: backgroundSize\n } : {}), _ref;\n}\n\n/* eslint-disable key-spacing */\nvar functionsMap = {\n easeInBack: 'cubic-bezier(0.600, -0.280, 0.735, 0.045)',\n easeInCirc: 'cubic-bezier(0.600, 0.040, 0.980, 0.335)',\n easeInCubic: 'cubic-bezier(0.550, 0.055, 0.675, 0.190)',\n easeInExpo: 'cubic-bezier(0.950, 0.050, 0.795, 0.035)',\n easeInQuad: 'cubic-bezier(0.550, 0.085, 0.680, 0.530)',\n easeInQuart: 'cubic-bezier(0.895, 0.030, 0.685, 0.220)',\n easeInQuint: 'cubic-bezier(0.755, 0.050, 0.855, 0.060)',\n easeInSine: 'cubic-bezier(0.470, 0.000, 0.745, 0.715)',\n easeOutBack: 'cubic-bezier(0.175, 0.885, 0.320, 1.275)',\n easeOutCubic: 'cubic-bezier(0.215, 0.610, 0.355, 1.000)',\n easeOutCirc: 'cubic-bezier(0.075, 0.820, 0.165, 1.000)',\n easeOutExpo: 'cubic-bezier(0.190, 1.000, 0.220, 1.000)',\n easeOutQuad: 'cubic-bezier(0.250, 0.460, 0.450, 0.940)',\n easeOutQuart: 'cubic-bezier(0.165, 0.840, 0.440, 1.000)',\n easeOutQuint: 'cubic-bezier(0.230, 1.000, 0.320, 1.000)',\n easeOutSine: 'cubic-bezier(0.390, 0.575, 0.565, 1.000)',\n easeInOutBack: 'cubic-bezier(0.680, -0.550, 0.265, 1.550)',\n easeInOutCirc: 'cubic-bezier(0.785, 0.135, 0.150, 0.860)',\n easeInOutCubic: 'cubic-bezier(0.645, 0.045, 0.355, 1.000)',\n easeInOutExpo: 'cubic-bezier(1.000, 0.000, 0.000, 1.000)',\n easeInOutQuad: 'cubic-bezier(0.455, 0.030, 0.515, 0.955)',\n easeInOutQuart: 'cubic-bezier(0.770, 0.000, 0.175, 1.000)',\n easeInOutQuint: 'cubic-bezier(0.860, 0.000, 0.070, 1.000)',\n easeInOutSine: 'cubic-bezier(0.445, 0.050, 0.550, 0.950)'\n};\n/* eslint-enable key-spacing */\n\nfunction getTimingFunction(functionName) {\n return functionsMap[functionName];\n}\n/**\n * String to represent common easing functions as demonstrated here: (github.com/jaukia/easie).\n *\n * @deprecated - This will be deprecated in v5 in favor of `easeIn`, `easeOut`, `easeInOut`.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * 'transitionTimingFunction': timingFunctions('easeInQuad')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * transitionTimingFunction: ${timingFunctions('easeInQuad')};\n * `\n *\n * // CSS as JS Output\n *\n * 'div': {\n * 'transitionTimingFunction': 'cubic-bezier(0.550, 0.085, 0.680, 0.530)',\n * }\n */\n\nfunction timingFunctions(timingFunction) {\n return getTimingFunction(timingFunction);\n}\nvar getBorderWidth = function getBorderWidth(pointingDirection, height, width) {\n var fullWidth = \"\" + width[0] + (width[1] || '');\n var halfWidth = \"\" + width[0] / 2 + (width[1] || '');\n var fullHeight = \"\" + height[0] + (height[1] || '');\n var halfHeight = \"\" + height[0] / 2 + (height[1] || '');\n switch (pointingDirection) {\n case 'top':\n return \"0 \" + halfWidth + \" \" + fullHeight + \" \" + halfWidth;\n case 'topLeft':\n return fullWidth + \" \" + fullHeight + \" 0 0\";\n case 'left':\n return halfHeight + \" \" + fullWidth + \" \" + halfHeight + \" 0\";\n case 'bottomLeft':\n return fullWidth + \" 0 0 \" + fullHeight;\n case 'bottom':\n return fullHeight + \" \" + halfWidth + \" 0 \" + halfWidth;\n case 'bottomRight':\n return \"0 0 \" + fullWidth + \" \" + fullHeight;\n case 'right':\n return halfHeight + \" 0 \" + halfHeight + \" \" + fullWidth;\n case 'topRight':\n default:\n return \"0 \" + fullWidth + \" \" + fullHeight + \" 0\";\n }\n};\nvar getBorderColor = function getBorderColor(pointingDirection, foregroundColor) {\n switch (pointingDirection) {\n case 'top':\n case 'bottomRight':\n return {\n borderBottomColor: foregroundColor\n };\n case 'right':\n case 'bottomLeft':\n return {\n borderLeftColor: foregroundColor\n };\n case 'bottom':\n case 'topLeft':\n return {\n borderTopColor: foregroundColor\n };\n case 'left':\n case 'topRight':\n return {\n borderRightColor: foregroundColor\n };\n default:\n throw new PolishedError(59);\n }\n};\n/**\n * CSS to represent triangle with any pointing direction with an optional background color.\n *\n * @example\n * // Styles as object usage\n *\n * const styles = {\n * ...triangle({ pointingDirection: 'right', width: '100px', height: '100px', foregroundColor: 'red' })\n * }\n *\n *\n * // styled-components usage\n * const div = styled.div`\n * ${triangle({ pointingDirection: 'right', width: '100px', height: '100px', foregroundColor: 'red' })}\n *\n *\n * // CSS as JS Output\n *\n * div: {\n * 'borderColor': 'transparent transparent transparent red',\n * 'borderStyle': 'solid',\n * 'borderWidth': '50px 0 50px 100px',\n * 'height': '0',\n * 'width': '0',\n * }\n */\n\nfunction triangle(_ref) {\n var pointingDirection = _ref.pointingDirection,\n height = _ref.height,\n width = _ref.width,\n foregroundColor = _ref.foregroundColor,\n _ref$backgroundColor = _ref.backgroundColor,\n backgroundColor = _ref$backgroundColor === void 0 ? 'transparent' : _ref$backgroundColor;\n var widthAndUnit = getValueAndUnit(width);\n var heightAndUnit = getValueAndUnit(height);\n if (isNaN(heightAndUnit[0]) || isNaN(widthAndUnit[0])) {\n throw new PolishedError(60);\n }\n return _extends({\n width: '0',\n height: '0',\n borderColor: backgroundColor\n }, getBorderColor(pointingDirection, foregroundColor), {\n borderStyle: 'solid',\n borderWidth: getBorderWidth(pointingDirection, heightAndUnit, widthAndUnit)\n });\n}\n\n/**\n * Provides an easy way to change the `wordWrap` property.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...wordWrap('break-word')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${wordWrap('break-word')}\n * `\n *\n * // CSS as JS Output\n *\n * const styles = {\n * overflowWrap: 'break-word',\n * wordWrap: 'break-word',\n * wordBreak: 'break-all',\n * }\n */\nfunction wordWrap(wrap) {\n if (wrap === void 0) {\n wrap = 'break-word';\n }\n var wordBreak = wrap === 'break-word' ? 'break-all' : wrap;\n return {\n overflowWrap: wrap,\n wordWrap: wrap,\n wordBreak: wordBreak\n };\n}\nfunction colorToInt(color) {\n return Math.round(color * 255);\n}\nfunction convertToInt(red, green, blue) {\n return colorToInt(red) + \",\" + colorToInt(green) + \",\" + colorToInt(blue);\n}\nfunction hslToRgb(hue, saturation, lightness, convert) {\n if (convert === void 0) {\n convert = convertToInt;\n }\n if (saturation === 0) {\n // achromatic\n return convert(lightness, lightness, lightness);\n } // formulae from https://en.wikipedia.org/wiki/HSL_and_HSV\n\n var huePrime = (hue % 360 + 360) % 360 / 60;\n var chroma = (1 - Math.abs(2 * lightness - 1)) * saturation;\n var secondComponent = chroma * (1 - Math.abs(huePrime % 2 - 1));\n var red = 0;\n var green = 0;\n var blue = 0;\n if (huePrime >= 0 && huePrime < 1) {\n red = chroma;\n green = secondComponent;\n } else if (huePrime >= 1 && huePrime < 2) {\n red = secondComponent;\n green = chroma;\n } else if (huePrime >= 2 && huePrime < 3) {\n green = chroma;\n blue = secondComponent;\n } else if (huePrime >= 3 && huePrime < 4) {\n green = secondComponent;\n blue = chroma;\n } else if (huePrime >= 4 && huePrime < 5) {\n red = secondComponent;\n blue = chroma;\n } else if (huePrime >= 5 && huePrime < 6) {\n red = chroma;\n blue = secondComponent;\n }\n var lightnessModification = lightness - chroma / 2;\n var finalRed = red + lightnessModification;\n var finalGreen = green + lightnessModification;\n var finalBlue = blue + lightnessModification;\n return convert(finalRed, finalGreen, finalBlue);\n}\nvar namedColorMap = {\n aliceblue: 'f0f8ff',\n antiquewhite: 'faebd7',\n aqua: '00ffff',\n aquamarine: '7fffd4',\n azure: 'f0ffff',\n beige: 'f5f5dc',\n bisque: 'ffe4c4',\n black: '000',\n blanchedalmond: 'ffebcd',\n blue: '0000ff',\n blueviolet: '8a2be2',\n brown: 'a52a2a',\n burlywood: 'deb887',\n cadetblue: '5f9ea0',\n chartreuse: '7fff00',\n chocolate: 'd2691e',\n coral: 'ff7f50',\n cornflowerblue: '6495ed',\n cornsilk: 'fff8dc',\n crimson: 'dc143c',\n cyan: '00ffff',\n darkblue: '00008b',\n darkcyan: '008b8b',\n darkgoldenrod: 'b8860b',\n darkgray: 'a9a9a9',\n darkgreen: '006400',\n darkgrey: 'a9a9a9',\n darkkhaki: 'bdb76b',\n darkmagenta: '8b008b',\n darkolivegreen: '556b2f',\n darkorange: 'ff8c00',\n darkorchid: '9932cc',\n darkred: '8b0000',\n darksalmon: 'e9967a',\n darkseagreen: '8fbc8f',\n darkslateblue: '483d8b',\n darkslategray: '2f4f4f',\n darkslategrey: '2f4f4f',\n darkturquoise: '00ced1',\n darkviolet: '9400d3',\n deeppink: 'ff1493',\n deepskyblue: '00bfff',\n dimgray: '696969',\n dimgrey: '696969',\n dodgerblue: '1e90ff',\n firebrick: 'b22222',\n floralwhite: 'fffaf0',\n forestgreen: '228b22',\n fuchsia: 'ff00ff',\n gainsboro: 'dcdcdc',\n ghostwhite: 'f8f8ff',\n gold: 'ffd700',\n goldenrod: 'daa520',\n gray: '808080',\n green: '008000',\n greenyellow: 'adff2f',\n grey: '808080',\n honeydew: 'f0fff0',\n hotpink: 'ff69b4',\n indianred: 'cd5c5c',\n indigo: '4b0082',\n ivory: 'fffff0',\n khaki: 'f0e68c',\n lavender: 'e6e6fa',\n lavenderblush: 'fff0f5',\n lawngreen: '7cfc00',\n lemonchiffon: 'fffacd',\n lightblue: 'add8e6',\n lightcoral: 'f08080',\n lightcyan: 'e0ffff',\n lightgoldenrodyellow: 'fafad2',\n lightgray: 'd3d3d3',\n lightgreen: '90ee90',\n lightgrey: 'd3d3d3',\n lightpink: 'ffb6c1',\n lightsalmon: 'ffa07a',\n lightseagreen: '20b2aa',\n lightskyblue: '87cefa',\n lightslategray: '789',\n lightslategrey: '789',\n lightsteelblue: 'b0c4de',\n lightyellow: 'ffffe0',\n lime: '0f0',\n limegreen: '32cd32',\n linen: 'faf0e6',\n magenta: 'f0f',\n maroon: '800000',\n mediumaquamarine: '66cdaa',\n mediumblue: '0000cd',\n mediumorchid: 'ba55d3',\n mediumpurple: '9370db',\n mediumseagreen: '3cb371',\n mediumslateblue: '7b68ee',\n mediumspringgreen: '00fa9a',\n mediumturquoise: '48d1cc',\n mediumvioletred: 'c71585',\n midnightblue: '191970',\n mintcream: 'f5fffa',\n mistyrose: 'ffe4e1',\n moccasin: 'ffe4b5',\n navajowhite: 'ffdead',\n navy: '000080',\n oldlace: 'fdf5e6',\n olive: '808000',\n olivedrab: '6b8e23',\n orange: 'ffa500',\n orangered: 'ff4500',\n orchid: 'da70d6',\n palegoldenrod: 'eee8aa',\n palegreen: '98fb98',\n paleturquoise: 'afeeee',\n palevioletred: 'db7093',\n papayawhip: 'ffefd5',\n peachpuff: 'ffdab9',\n peru: 'cd853f',\n pink: 'ffc0cb',\n plum: 'dda0dd',\n powderblue: 'b0e0e6',\n purple: '800080',\n rebeccapurple: '639',\n red: 'f00',\n rosybrown: 'bc8f8f',\n royalblue: '4169e1',\n saddlebrown: '8b4513',\n salmon: 'fa8072',\n sandybrown: 'f4a460',\n seagreen: '2e8b57',\n seashell: 'fff5ee',\n sienna: 'a0522d',\n silver: 'c0c0c0',\n skyblue: '87ceeb',\n slateblue: '6a5acd',\n slategray: '708090',\n slategrey: '708090',\n snow: 'fffafa',\n springgreen: '00ff7f',\n steelblue: '4682b4',\n tan: 'd2b48c',\n teal: '008080',\n thistle: 'd8bfd8',\n tomato: 'ff6347',\n turquoise: '40e0d0',\n violet: 'ee82ee',\n wheat: 'f5deb3',\n white: 'fff',\n whitesmoke: 'f5f5f5',\n yellow: 'ff0',\n yellowgreen: '9acd32'\n};\n/**\n * Checks if a string is a CSS named color and returns its equivalent hex value, otherwise returns the original color.\n * @private\n */\n\nfunction nameToHex(color) {\n if (typeof color !== 'string') return color;\n var normalizedColorName = color.toLowerCase();\n return namedColorMap[normalizedColorName] ? \"#\" + namedColorMap[normalizedColorName] : color;\n}\nvar hexRegex = /^#[a-fA-F0-9]{6}$/;\nvar hexRgbaRegex = /^#[a-fA-F0-9]{8}$/;\nvar reducedHexRegex = /^#[a-fA-F0-9]{3}$/;\nvar reducedRgbaHexRegex = /^#[a-fA-F0-9]{4}$/;\nvar rgbRegex = /^rgb\\(\\s*(\\d{1,3})\\s*(?:,)?\\s*(\\d{1,3})\\s*(?:,)?\\s*(\\d{1,3})\\s*\\)$/i;\nvar rgbaRegex = /^rgb(?:a)?\\(\\s*(\\d{1,3})\\s*(?:,)?\\s*(\\d{1,3})\\s*(?:,)?\\s*(\\d{1,3})\\s*(?:,|\\/)\\s*([-+]?\\d*[.]?\\d+[%]?)\\s*\\)$/i;\nvar hslRegex = /^hsl\\(\\s*(\\d{0,3}[.]?[0-9]+(?:deg)?)\\s*(?:,)?\\s*(\\d{1,3}[.]?[0-9]?)%\\s*(?:,)?\\s*(\\d{1,3}[.]?[0-9]?)%\\s*\\)$/i;\nvar hslaRegex = /^hsl(?:a)?\\(\\s*(\\d{0,3}[.]?[0-9]+(?:deg)?)\\s*(?:,)?\\s*(\\d{1,3}[.]?[0-9]?)%\\s*(?:,)?\\s*(\\d{1,3}[.]?[0-9]?)%\\s*(?:,|\\/)\\s*([-+]?\\d*[.]?\\d+[%]?)\\s*\\)$/i;\n/**\n * Returns an RgbColor or RgbaColor object. This utility function is only useful\n * if want to extract a color component. With the color util `toColorString` you\n * can convert a RgbColor or RgbaColor object back to a string.\n *\n * @example\n * // Assigns `{ red: 255, green: 0, blue: 0 }` to color1\n * const color1 = parseToRgb('rgb(255, 0, 0)');\n * // Assigns `{ red: 92, green: 102, blue: 112, alpha: 0.75 }` to color2\n * const color2 = parseToRgb('hsla(210, 10%, 40%, 0.75)');\n */\n\nfunction parseToRgb(color) {\n if (typeof color !== 'string') {\n throw new PolishedError(3);\n }\n var normalizedColor = nameToHex(color);\n if (normalizedColor.match(hexRegex)) {\n return {\n red: parseInt(\"\" + normalizedColor[1] + normalizedColor[2], 16),\n green: parseInt(\"\" + normalizedColor[3] + normalizedColor[4], 16),\n blue: parseInt(\"\" + normalizedColor[5] + normalizedColor[6], 16)\n };\n }\n if (normalizedColor.match(hexRgbaRegex)) {\n var alpha = parseFloat((parseInt(\"\" + normalizedColor[7] + normalizedColor[8], 16) / 255).toFixed(2));\n return {\n red: parseInt(\"\" + normalizedColor[1] + normalizedColor[2], 16),\n green: parseInt(\"\" + normalizedColor[3] + normalizedColor[4], 16),\n blue: parseInt(\"\" + normalizedColor[5] + normalizedColor[6], 16),\n alpha: alpha\n };\n }\n if (normalizedColor.match(reducedHexRegex)) {\n return {\n red: parseInt(\"\" + normalizedColor[1] + normalizedColor[1], 16),\n green: parseInt(\"\" + normalizedColor[2] + normalizedColor[2], 16),\n blue: parseInt(\"\" + normalizedColor[3] + normalizedColor[3], 16)\n };\n }\n if (normalizedColor.match(reducedRgbaHexRegex)) {\n var _alpha = parseFloat((parseInt(\"\" + normalizedColor[4] + normalizedColor[4], 16) / 255).toFixed(2));\n return {\n red: parseInt(\"\" + normalizedColor[1] + normalizedColor[1], 16),\n green: parseInt(\"\" + normalizedColor[2] + normalizedColor[2], 16),\n blue: parseInt(\"\" + normalizedColor[3] + normalizedColor[3], 16),\n alpha: _alpha\n };\n }\n var rgbMatched = rgbRegex.exec(normalizedColor);\n if (rgbMatched) {\n return {\n red: parseInt(\"\" + rgbMatched[1], 10),\n green: parseInt(\"\" + rgbMatched[2], 10),\n blue: parseInt(\"\" + rgbMatched[3], 10)\n };\n }\n var rgbaMatched = rgbaRegex.exec(normalizedColor.substring(0, 50));\n if (rgbaMatched) {\n return {\n red: parseInt(\"\" + rgbaMatched[1], 10),\n green: parseInt(\"\" + rgbaMatched[2], 10),\n blue: parseInt(\"\" + rgbaMatched[3], 10),\n alpha: parseFloat(\"\" + rgbaMatched[4]) > 1 ? parseFloat(\"\" + rgbaMatched[4]) / 100 : parseFloat(\"\" + rgbaMatched[4])\n };\n }\n var hslMatched = hslRegex.exec(normalizedColor);\n if (hslMatched) {\n var hue = parseInt(\"\" + hslMatched[1], 10);\n var saturation = parseInt(\"\" + hslMatched[2], 10) / 100;\n var lightness = parseInt(\"\" + hslMatched[3], 10) / 100;\n var rgbColorString = \"rgb(\" + hslToRgb(hue, saturation, lightness) + \")\";\n var hslRgbMatched = rgbRegex.exec(rgbColorString);\n if (!hslRgbMatched) {\n throw new PolishedError(4, normalizedColor, rgbColorString);\n }\n return {\n red: parseInt(\"\" + hslRgbMatched[1], 10),\n green: parseInt(\"\" + hslRgbMatched[2], 10),\n blue: parseInt(\"\" + hslRgbMatched[3], 10)\n };\n }\n var hslaMatched = hslaRegex.exec(normalizedColor.substring(0, 50));\n if (hslaMatched) {\n var _hue = parseInt(\"\" + hslaMatched[1], 10);\n var _saturation = parseInt(\"\" + hslaMatched[2], 10) / 100;\n var _lightness = parseInt(\"\" + hslaMatched[3], 10) / 100;\n var _rgbColorString = \"rgb(\" + hslToRgb(_hue, _saturation, _lightness) + \")\";\n var _hslRgbMatched = rgbRegex.exec(_rgbColorString);\n if (!_hslRgbMatched) {\n throw new PolishedError(4, normalizedColor, _rgbColorString);\n }\n return {\n red: parseInt(\"\" + _hslRgbMatched[1], 10),\n green: parseInt(\"\" + _hslRgbMatched[2], 10),\n blue: parseInt(\"\" + _hslRgbMatched[3], 10),\n alpha: parseFloat(\"\" + hslaMatched[4]) > 1 ? parseFloat(\"\" + hslaMatched[4]) / 100 : parseFloat(\"\" + hslaMatched[4])\n };\n }\n throw new PolishedError(5);\n}\nfunction rgbToHsl(color) {\n // make sure rgb are contained in a set of [0, 255]\n var red = color.red / 255;\n var green = color.green / 255;\n var blue = color.blue / 255;\n var max = Math.max(red, green, blue);\n var min = Math.min(red, green, blue);\n var lightness = (max + min) / 2;\n if (max === min) {\n // achromatic\n if (color.alpha !== undefined) {\n return {\n hue: 0,\n saturation: 0,\n lightness: lightness,\n alpha: color.alpha\n };\n } else {\n return {\n hue: 0,\n saturation: 0,\n lightness: lightness\n };\n }\n }\n var hue;\n var delta = max - min;\n var saturation = lightness > 0.5 ? delta / (2 - max - min) : delta / (max + min);\n switch (max) {\n case red:\n hue = (green - blue) / delta + (green < blue ? 6 : 0);\n break;\n case green:\n hue = (blue - red) / delta + 2;\n break;\n default:\n // blue case\n hue = (red - green) / delta + 4;\n break;\n }\n hue *= 60;\n if (color.alpha !== undefined) {\n return {\n hue: hue,\n saturation: saturation,\n lightness: lightness,\n alpha: color.alpha\n };\n }\n return {\n hue: hue,\n saturation: saturation,\n lightness: lightness\n };\n}\n\n/**\n * Returns an HslColor or HslaColor object. This utility function is only useful\n * if want to extract a color component. With the color util `toColorString` you\n * can convert a HslColor or HslaColor object back to a string.\n *\n * @example\n * // Assigns `{ hue: 0, saturation: 1, lightness: 0.5 }` to color1\n * const color1 = parseToHsl('rgb(255, 0, 0)');\n * // Assigns `{ hue: 128, saturation: 1, lightness: 0.5, alpha: 0.75 }` to color2\n * const color2 = parseToHsl('hsla(128, 100%, 50%, 0.75)');\n */\nfunction parseToHsl(color) {\n // Note: At a later stage we can optimize this function as right now a hsl\n // color would be parsed converted to rgb values and converted back to hsl.\n return rgbToHsl(parseToRgb(color));\n}\n\n/**\n * Reduces hex values if possible e.g. #ff8866 to #f86\n * @private\n */\nvar reduceHexValue = function reduceHexValue(value) {\n if (value.length === 7 && value[1] === value[2] && value[3] === value[4] && value[5] === value[6]) {\n return \"#\" + value[1] + value[3] + value[5];\n }\n return value;\n};\nvar reduceHexValue$1 = reduceHexValue;\nfunction numberToHex(value) {\n var hex = value.toString(16);\n return hex.length === 1 ? \"0\" + hex : hex;\n}\nfunction colorToHex(color) {\n return numberToHex(Math.round(color * 255));\n}\nfunction convertToHex(red, green, blue) {\n return reduceHexValue$1(\"#\" + colorToHex(red) + colorToHex(green) + colorToHex(blue));\n}\nfunction hslToHex(hue, saturation, lightness) {\n return hslToRgb(hue, saturation, lightness, convertToHex);\n}\n\n/**\n * Returns a string value for the color. The returned result is the smallest possible hex notation.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: hsl(359, 0.75, 0.4),\n * background: hsl({ hue: 360, saturation: 0.75, lightness: 0.4 }),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${hsl(359, 0.75, 0.4)};\n * background: ${hsl({ hue: 360, saturation: 0.75, lightness: 0.4 })};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#b3191c\";\n * background: \"#b3191c\";\n * }\n */\nfunction hsl(value, saturation, lightness) {\n if (typeof value === 'number' && typeof saturation === 'number' && typeof lightness === 'number') {\n return hslToHex(value, saturation, lightness);\n } else if (typeof value === 'object' && saturation === undefined && lightness === undefined) {\n return hslToHex(value.hue, value.saturation, value.lightness);\n }\n throw new PolishedError(1);\n}\n\n/**\n * Returns a string value for the color. The returned result is the smallest possible rgba or hex notation.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: hsla(359, 0.75, 0.4, 0.7),\n * background: hsla({ hue: 360, saturation: 0.75, lightness: 0.4, alpha: 0,7 }),\n * background: hsla(359, 0.75, 0.4, 1),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${hsla(359, 0.75, 0.4, 0.7)};\n * background: ${hsla({ hue: 360, saturation: 0.75, lightness: 0.4, alpha: 0,7 })};\n * background: ${hsla(359, 0.75, 0.4, 1)};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"rgba(179,25,28,0.7)\";\n * background: \"rgba(179,25,28,0.7)\";\n * background: \"#b3191c\";\n * }\n */\nfunction hsla(value, saturation, lightness, alpha) {\n if (typeof value === 'number' && typeof saturation === 'number' && typeof lightness === 'number' && typeof alpha === 'number') {\n return alpha >= 1 ? hslToHex(value, saturation, lightness) : \"rgba(\" + hslToRgb(value, saturation, lightness) + \",\" + alpha + \")\";\n } else if (typeof value === 'object' && saturation === undefined && lightness === undefined && alpha === undefined) {\n return value.alpha >= 1 ? hslToHex(value.hue, value.saturation, value.lightness) : \"rgba(\" + hslToRgb(value.hue, value.saturation, value.lightness) + \",\" + value.alpha + \")\";\n }\n throw new PolishedError(2);\n}\n\n/**\n * Returns a string value for the color. The returned result is the smallest possible hex notation.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: rgb(255, 205, 100),\n * background: rgb({ red: 255, green: 205, blue: 100 }),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${rgb(255, 205, 100)};\n * background: ${rgb({ red: 255, green: 205, blue: 100 })};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#ffcd64\";\n * background: \"#ffcd64\";\n * }\n */\nfunction rgb(value, green, blue) {\n if (typeof value === 'number' && typeof green === 'number' && typeof blue === 'number') {\n return reduceHexValue$1(\"#\" + numberToHex(value) + numberToHex(green) + numberToHex(blue));\n } else if (typeof value === 'object' && green === undefined && blue === undefined) {\n return reduceHexValue$1(\"#\" + numberToHex(value.red) + numberToHex(value.green) + numberToHex(value.blue));\n }\n throw new PolishedError(6);\n}\n\n/**\n * Returns a string value for the color. The returned result is the smallest possible rgba or hex notation.\n *\n * Can also be used to fade a color by passing a hex value or named CSS color along with an alpha value.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: rgba(255, 205, 100, 0.7),\n * background: rgba({ red: 255, green: 205, blue: 100, alpha: 0.7 }),\n * background: rgba(255, 205, 100, 1),\n * background: rgba('#ffffff', 0.4),\n * background: rgba('black', 0.7),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${rgba(255, 205, 100, 0.7)};\n * background: ${rgba({ red: 255, green: 205, blue: 100, alpha: 0.7 })};\n * background: ${rgba(255, 205, 100, 1)};\n * background: ${rgba('#ffffff', 0.4)};\n * background: ${rgba('black', 0.7)};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"rgba(255,205,100,0.7)\";\n * background: \"rgba(255,205,100,0.7)\";\n * background: \"#ffcd64\";\n * background: \"rgba(255,255,255,0.4)\";\n * background: \"rgba(0,0,0,0.7)\";\n * }\n */\nfunction rgba(firstValue, secondValue, thirdValue, fourthValue) {\n if (typeof firstValue === 'string' && typeof secondValue === 'number') {\n var rgbValue = parseToRgb(firstValue);\n return \"rgba(\" + rgbValue.red + \",\" + rgbValue.green + \",\" + rgbValue.blue + \",\" + secondValue + \")\";\n } else if (typeof firstValue === 'number' && typeof secondValue === 'number' && typeof thirdValue === 'number' && typeof fourthValue === 'number') {\n return fourthValue >= 1 ? rgb(firstValue, secondValue, thirdValue) : \"rgba(\" + firstValue + \",\" + secondValue + \",\" + thirdValue + \",\" + fourthValue + \")\";\n } else if (typeof firstValue === 'object' && secondValue === undefined && thirdValue === undefined && fourthValue === undefined) {\n return firstValue.alpha >= 1 ? rgb(firstValue.red, firstValue.green, firstValue.blue) : \"rgba(\" + firstValue.red + \",\" + firstValue.green + \",\" + firstValue.blue + \",\" + firstValue.alpha + \")\";\n }\n throw new PolishedError(7);\n}\nvar isRgb = function isRgb(color) {\n return typeof color.red === 'number' && typeof color.green === 'number' && typeof color.blue === 'number' && (typeof color.alpha !== 'number' || typeof color.alpha === 'undefined');\n};\nvar isRgba = function isRgba(color) {\n return typeof color.red === 'number' && typeof color.green === 'number' && typeof color.blue === 'number' && typeof color.alpha === 'number';\n};\nvar isHsl = function isHsl(color) {\n return typeof color.hue === 'number' && typeof color.saturation === 'number' && typeof color.lightness === 'number' && (typeof color.alpha !== 'number' || typeof color.alpha === 'undefined');\n};\nvar isHsla = function isHsla(color) {\n return typeof color.hue === 'number' && typeof color.saturation === 'number' && typeof color.lightness === 'number' && typeof color.alpha === 'number';\n};\n/**\n * Converts a RgbColor, RgbaColor, HslColor or HslaColor object to a color string.\n * This util is useful in case you only know on runtime which color object is\n * used. Otherwise we recommend to rely on `rgb`, `rgba`, `hsl` or `hsla`.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: toColorString({ red: 255, green: 205, blue: 100 }),\n * background: toColorString({ red: 255, green: 205, blue: 100, alpha: 0.72 }),\n * background: toColorString({ hue: 240, saturation: 1, lightness: 0.5 }),\n * background: toColorString({ hue: 360, saturation: 0.75, lightness: 0.4, alpha: 0.72 }),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${toColorString({ red: 255, green: 205, blue: 100 })};\n * background: ${toColorString({ red: 255, green: 205, blue: 100, alpha: 0.72 })};\n * background: ${toColorString({ hue: 240, saturation: 1, lightness: 0.5 })};\n * background: ${toColorString({ hue: 360, saturation: 0.75, lightness: 0.4, alpha: 0.72 })};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#ffcd64\";\n * background: \"rgba(255,205,100,0.72)\";\n * background: \"#00f\";\n * background: \"rgba(179,25,25,0.72)\";\n * }\n */\n\nfunction toColorString(color) {\n if (typeof color !== 'object') throw new PolishedError(8);\n if (isRgba(color)) return rgba(color);\n if (isRgb(color)) return rgb(color);\n if (isHsla(color)) return hsla(color);\n if (isHsl(color)) return hsl(color);\n throw new PolishedError(8);\n}\n\n// Type definitions taken from https://github.com/gcanti/flow-static-land/blob/master/src/Fun.js\n// eslint-disable-next-line no-unused-vars\n// eslint-disable-next-line no-unused-vars\n// eslint-disable-next-line no-redeclare\nfunction curried(f, length, acc) {\n return function fn() {\n // eslint-disable-next-line prefer-rest-params\n var combined = acc.concat(Array.prototype.slice.call(arguments));\n return combined.length >= length ? f.apply(this, combined) : curried(f, length, combined);\n };\n} // eslint-disable-next-line no-redeclare\n\nfunction curry(f) {\n // eslint-disable-line no-redeclare\n return curried(f, f.length, []);\n}\n\n/**\n * Changes the hue of the color. Hue is a number between 0 to 360. The first\n * argument for adjustHue is the amount of degrees the color is rotated around\n * the color wheel, always producing a positive hue value.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: adjustHue(180, '#448'),\n * background: adjustHue('180', 'rgba(101,100,205,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${adjustHue(180, '#448')};\n * background: ${adjustHue('180', 'rgba(101,100,205,0.7)')};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#888844\";\n * background: \"rgba(136,136,68,0.7)\";\n * }\n */\n\nfunction adjustHue(degree, color) {\n if (color === 'transparent') return color;\n var hslColor = parseToHsl(color);\n return toColorString(_extends({}, hslColor, {\n hue: hslColor.hue + parseFloat(degree)\n }));\n} // prettier-ignore\n\nvar curriedAdjustHue = /*#__PURE__*/curry\n/* :: */(adjustHue);\nvar curriedAdjustHue$1 = curriedAdjustHue;\n\n/**\n * Returns the complement of the provided color. This is identical to adjustHue(180, ).\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: complement('#448'),\n * background: complement('rgba(204,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${complement('#448')};\n * background: ${complement('rgba(204,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#884\";\n * background: \"rgba(153,153,153,0.7)\";\n * }\n */\n\nfunction complement(color) {\n if (color === 'transparent') return color;\n var hslColor = parseToHsl(color);\n return toColorString(_extends({}, hslColor, {\n hue: (hslColor.hue + 180) % 360\n }));\n}\nfunction guard(lowerBoundary, upperBoundary, value) {\n return Math.max(lowerBoundary, Math.min(upperBoundary, value));\n}\n\n/**\n * Returns a string value for the darkened color.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: darken(0.2, '#FFCD64'),\n * background: darken('0.2', 'rgba(255,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${darken(0.2, '#FFCD64')};\n * background: ${darken('0.2', 'rgba(255,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#ffbd31\";\n * background: \"rgba(255,189,49,0.7)\";\n * }\n */\n\nfunction darken(amount, color) {\n if (color === 'transparent') return color;\n var hslColor = parseToHsl(color);\n return toColorString(_extends({}, hslColor, {\n lightness: guard(0, 1, hslColor.lightness - parseFloat(amount))\n }));\n} // prettier-ignore\n\nvar curriedDarken = /*#__PURE__*/curry\n/* :: */(darken);\nvar curriedDarken$1 = curriedDarken;\n\n/**\n * Decreases the intensity of a color. Its range is between 0 to 1. The first\n * argument of the desaturate function is the amount by how much the color\n * intensity should be decreased.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: desaturate(0.2, '#CCCD64'),\n * background: desaturate('0.2', 'rgba(204,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${desaturate(0.2, '#CCCD64')};\n * background: ${desaturate('0.2', 'rgba(204,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#b8b979\";\n * background: \"rgba(184,185,121,0.7)\";\n * }\n */\n\nfunction desaturate(amount, color) {\n if (color === 'transparent') return color;\n var hslColor = parseToHsl(color);\n return toColorString(_extends({}, hslColor, {\n saturation: guard(0, 1, hslColor.saturation - parseFloat(amount))\n }));\n} // prettier-ignore\n\nvar curriedDesaturate = /*#__PURE__*/curry\n/* :: */(desaturate);\nvar curriedDesaturate$1 = curriedDesaturate;\n\n/**\n * Returns a number (float) representing the luminance of a color.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: getLuminance('#CCCD64') >= getLuminance('#0000ff') ? '#CCCD64' : '#0000ff',\n * background: getLuminance('rgba(58, 133, 255, 1)') >= getLuminance('rgba(255, 57, 149, 1)') ?\n * 'rgba(58, 133, 255, 1)' :\n * 'rgba(255, 57, 149, 1)',\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${getLuminance('#CCCD64') >= getLuminance('#0000ff') ? '#CCCD64' : '#0000ff'};\n * background: ${getLuminance('rgba(58, 133, 255, 1)') >= getLuminance('rgba(255, 57, 149, 1)') ?\n * 'rgba(58, 133, 255, 1)' :\n * 'rgba(255, 57, 149, 1)'};\n *\n * // CSS in JS Output\n *\n * div {\n * background: \"#CCCD64\";\n * background: \"rgba(58, 133, 255, 1)\";\n * }\n */\n\nfunction getLuminance(color) {\n if (color === 'transparent') return 0;\n var rgbColor = parseToRgb(color);\n var _Object$keys$map = Object.keys(rgbColor).map(function (key) {\n var channel = rgbColor[key] / 255;\n return channel <= 0.03928 ? channel / 12.92 : Math.pow((channel + 0.055) / 1.055, 2.4);\n }),\n r = _Object$keys$map[0],\n g = _Object$keys$map[1],\n b = _Object$keys$map[2];\n return parseFloat((0.2126 * r + 0.7152 * g + 0.0722 * b).toFixed(3));\n}\n\n/**\n * Returns the contrast ratio between two colors based on\n * [W3's recommended equation for calculating contrast](http://www.w3.org/TR/WCAG20/#contrast-ratiodef).\n *\n * @example\n * const contrastRatio = getContrast('#444', '#fff');\n */\n\nfunction getContrast(color1, color2) {\n var luminance1 = getLuminance(color1);\n var luminance2 = getLuminance(color2);\n return parseFloat((luminance1 > luminance2 ? (luminance1 + 0.05) / (luminance2 + 0.05) : (luminance2 + 0.05) / (luminance1 + 0.05)).toFixed(2));\n}\n\n/**\n * Converts the color to a grayscale, by reducing its saturation to 0.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: grayscale('#CCCD64'),\n * background: grayscale('rgba(204,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${grayscale('#CCCD64')};\n * background: ${grayscale('rgba(204,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#999\";\n * background: \"rgba(153,153,153,0.7)\";\n * }\n */\n\nfunction grayscale(color) {\n if (color === 'transparent') return color;\n return toColorString(_extends({}, parseToHsl(color), {\n saturation: 0\n }));\n}\n\n/**\n * Converts a HslColor or HslaColor object to a color string.\n * This util is useful in case you only know on runtime which color object is\n * used. Otherwise we recommend to rely on `hsl` or `hsla`.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: hslToColorString({ hue: 240, saturation: 1, lightness: 0.5 }),\n * background: hslToColorString({ hue: 360, saturation: 0.75, lightness: 0.4, alpha: 0.72 }),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${hslToColorString({ hue: 240, saturation: 1, lightness: 0.5 })};\n * background: ${hslToColorString({ hue: 360, saturation: 0.75, lightness: 0.4, alpha: 0.72 })};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#00f\";\n * background: \"rgba(179,25,25,0.72)\";\n * }\n */\nfunction hslToColorString(color) {\n if (typeof color === 'object' && typeof color.hue === 'number' && typeof color.saturation === 'number' && typeof color.lightness === 'number') {\n if (color.alpha && typeof color.alpha === 'number') {\n return hsla({\n hue: color.hue,\n saturation: color.saturation,\n lightness: color.lightness,\n alpha: color.alpha\n });\n }\n return hsl({\n hue: color.hue,\n saturation: color.saturation,\n lightness: color.lightness\n });\n }\n throw new PolishedError(45);\n}\n\n/**\n * Inverts the red, green and blue values of a color.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: invert('#CCCD64'),\n * background: invert('rgba(101,100,205,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${invert('#CCCD64')};\n * background: ${invert('rgba(101,100,205,0.7)')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#33329b\";\n * background: \"rgba(154,155,50,0.7)\";\n * }\n */\n\nfunction invert(color) {\n if (color === 'transparent') return color; // parse color string to rgb\n\n var value = parseToRgb(color);\n return toColorString(_extends({}, value, {\n red: 255 - value.red,\n green: 255 - value.green,\n blue: 255 - value.blue\n }));\n}\n\n/**\n * Returns a string value for the lightened color.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: lighten(0.2, '#CCCD64'),\n * background: lighten('0.2', 'rgba(204,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${lighten(0.2, '#FFCD64')};\n * background: ${lighten('0.2', 'rgba(204,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#e5e6b1\";\n * background: \"rgba(229,230,177,0.7)\";\n * }\n */\n\nfunction lighten(amount, color) {\n if (color === 'transparent') return color;\n var hslColor = parseToHsl(color);\n return toColorString(_extends({}, hslColor, {\n lightness: guard(0, 1, hslColor.lightness + parseFloat(amount))\n }));\n} // prettier-ignore\n\nvar curriedLighten = /*#__PURE__*/curry\n/* :: */(lighten);\nvar curriedLighten$1 = curriedLighten;\n\n/**\n * Determines which contrast guidelines have been met for two colors.\n * Based on the [contrast calculations recommended by W3](https://www.w3.org/WAI/WCAG21/Understanding/contrast-enhanced.html).\n *\n * @example\n * const scores = meetsContrastGuidelines('#444', '#fff');\n */\nfunction meetsContrastGuidelines(color1, color2) {\n var contrastRatio = getContrast(color1, color2);\n return {\n AA: contrastRatio >= 4.5,\n AALarge: contrastRatio >= 3,\n AAA: contrastRatio >= 7,\n AAALarge: contrastRatio >= 4.5\n };\n}\n\n/**\n * Mixes the two provided colors together by calculating the average of each of the RGB components weighted to the first color by the provided weight.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: mix(0.5, '#f00', '#00f')\n * background: mix(0.25, '#f00', '#00f')\n * background: mix('0.5', 'rgba(255, 0, 0, 0.5)', '#00f')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${mix(0.5, '#f00', '#00f')};\n * background: ${mix(0.25, '#f00', '#00f')};\n * background: ${mix('0.5', 'rgba(255, 0, 0, 0.5)', '#00f')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#7f007f\";\n * background: \"#3f00bf\";\n * background: \"rgba(63, 0, 191, 0.75)\";\n * }\n */\n\nfunction mix(weight, color, otherColor) {\n if (color === 'transparent') return otherColor;\n if (otherColor === 'transparent') return color;\n if (weight === 0) return otherColor;\n var parsedColor1 = parseToRgb(color);\n var color1 = _extends({}, parsedColor1, {\n alpha: typeof parsedColor1.alpha === 'number' ? parsedColor1.alpha : 1\n });\n var parsedColor2 = parseToRgb(otherColor);\n var color2 = _extends({}, parsedColor2, {\n alpha: typeof parsedColor2.alpha === 'number' ? parsedColor2.alpha : 1\n }); // The formula is copied from the original Sass implementation:\n // http://sass-lang.com/documentation/Sass/Script/Functions.html#mix-instance_method\n\n var alphaDelta = color1.alpha - color2.alpha;\n var x = parseFloat(weight) * 2 - 1;\n var y = x * alphaDelta === -1 ? x : x + alphaDelta;\n var z = 1 + x * alphaDelta;\n var weight1 = (y / z + 1) / 2.0;\n var weight2 = 1 - weight1;\n var mixedColor = {\n red: Math.floor(color1.red * weight1 + color2.red * weight2),\n green: Math.floor(color1.green * weight1 + color2.green * weight2),\n blue: Math.floor(color1.blue * weight1 + color2.blue * weight2),\n alpha: color1.alpha * parseFloat(weight) + color2.alpha * (1 - parseFloat(weight))\n };\n return rgba(mixedColor);\n} // prettier-ignore\n\nvar curriedMix = /*#__PURE__*/curry\n/* :: */(mix);\nvar mix$1 = curriedMix;\n\n/**\n * Increases the opacity of a color. Its range for the amount is between 0 to 1.\n *\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: opacify(0.1, 'rgba(255, 255, 255, 0.9)');\n * background: opacify(0.2, 'hsla(0, 0%, 100%, 0.5)'),\n * background: opacify('0.5', 'rgba(255, 0, 0, 0.2)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${opacify(0.1, 'rgba(255, 255, 255, 0.9)')};\n * background: ${opacify(0.2, 'hsla(0, 0%, 100%, 0.5)')},\n * background: ${opacify('0.5', 'rgba(255, 0, 0, 0.2)')},\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#fff\";\n * background: \"rgba(255,255,255,0.7)\";\n * background: \"rgba(255,0,0,0.7)\";\n * }\n */\n\nfunction opacify(amount, color) {\n if (color === 'transparent') return color;\n var parsedColor = parseToRgb(color);\n var alpha = typeof parsedColor.alpha === 'number' ? parsedColor.alpha : 1;\n var colorWithAlpha = _extends({}, parsedColor, {\n alpha: guard(0, 1, (alpha * 100 + parseFloat(amount) * 100) / 100)\n });\n return rgba(colorWithAlpha);\n} // prettier-ignore\n\nvar curriedOpacify = /*#__PURE__*/curry\n/* :: */(opacify);\nvar curriedOpacify$1 = curriedOpacify;\nvar defaultReturnIfLightColor = '#000';\nvar defaultReturnIfDarkColor = '#fff';\n/**\n * Returns black or white (or optional passed colors) for best\n * contrast depending on the luminosity of the given color.\n * When passing custom return colors, strict mode ensures that the\n * return color always meets or exceeds WCAG level AA or greater. If this test\n * fails, the default return color (black or white) is returned in place of the\n * custom return color. You can optionally turn off strict mode.\n *\n * Follows [W3C specs for readability](https://www.w3.org/TR/WCAG20-TECHS/G18.html).\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * color: readableColor('#000'),\n * color: readableColor('black', '#001', '#ff8'),\n * color: readableColor('white', '#001', '#ff8'),\n * color: readableColor('red', '#333', '#ddd', true)\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * color: ${readableColor('#000')};\n * color: ${readableColor('black', '#001', '#ff8')};\n * color: ${readableColor('white', '#001', '#ff8')};\n * color: ${readableColor('red', '#333', '#ddd', true)};\n * `\n *\n * // CSS in JS Output\n * element {\n * color: \"#fff\";\n * color: \"#ff8\";\n * color: \"#001\";\n * color: \"#000\";\n * }\n */\n\nfunction readableColor(color, returnIfLightColor, returnIfDarkColor, strict) {\n if (returnIfLightColor === void 0) {\n returnIfLightColor = defaultReturnIfLightColor;\n }\n if (returnIfDarkColor === void 0) {\n returnIfDarkColor = defaultReturnIfDarkColor;\n }\n if (strict === void 0) {\n strict = true;\n }\n var isColorLight = getLuminance(color) > 0.179;\n var preferredReturnColor = isColorLight ? returnIfLightColor : returnIfDarkColor;\n if (!strict || getContrast(color, preferredReturnColor) >= 4.5) {\n return preferredReturnColor;\n }\n return isColorLight ? defaultReturnIfLightColor : defaultReturnIfDarkColor;\n}\n\n/**\n * Converts a RgbColor or RgbaColor object to a color string.\n * This util is useful in case you only know on runtime which color object is\n * used. Otherwise we recommend to rely on `rgb` or `rgba`.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: rgbToColorString({ red: 255, green: 205, blue: 100 }),\n * background: rgbToColorString({ red: 255, green: 205, blue: 100, alpha: 0.72 }),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${rgbToColorString({ red: 255, green: 205, blue: 100 })};\n * background: ${rgbToColorString({ red: 255, green: 205, blue: 100, alpha: 0.72 })};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#ffcd64\";\n * background: \"rgba(255,205,100,0.72)\";\n * }\n */\nfunction rgbToColorString(color) {\n if (typeof color === 'object' && typeof color.red === 'number' && typeof color.green === 'number' && typeof color.blue === 'number') {\n if (typeof color.alpha === 'number') {\n return rgba({\n red: color.red,\n green: color.green,\n blue: color.blue,\n alpha: color.alpha\n });\n }\n return rgb({\n red: color.red,\n green: color.green,\n blue: color.blue\n });\n }\n throw new PolishedError(46);\n}\n\n/**\n * Increases the intensity of a color. Its range is between 0 to 1. The first\n * argument of the saturate function is the amount by how much the color\n * intensity should be increased.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: saturate(0.2, '#CCCD64'),\n * background: saturate('0.2', 'rgba(204,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${saturate(0.2, '#FFCD64')};\n * background: ${saturate('0.2', 'rgba(204,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#e0e250\";\n * background: \"rgba(224,226,80,0.7)\";\n * }\n */\n\nfunction saturate(amount, color) {\n if (color === 'transparent') return color;\n var hslColor = parseToHsl(color);\n return toColorString(_extends({}, hslColor, {\n saturation: guard(0, 1, hslColor.saturation + parseFloat(amount))\n }));\n} // prettier-ignore\n\nvar curriedSaturate = /*#__PURE__*/curry\n/* :: */(saturate);\nvar curriedSaturate$1 = curriedSaturate;\n\n/**\n * Sets the hue of a color to the provided value. The hue range can be\n * from 0 and 359.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: setHue(42, '#CCCD64'),\n * background: setHue('244', 'rgba(204,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${setHue(42, '#CCCD64')};\n * background: ${setHue('244', 'rgba(204,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#cdae64\";\n * background: \"rgba(107,100,205,0.7)\";\n * }\n */\n\nfunction setHue(hue, color) {\n if (color === 'transparent') return color;\n return toColorString(_extends({}, parseToHsl(color), {\n hue: parseFloat(hue)\n }));\n} // prettier-ignore\n\nvar curriedSetHue = /*#__PURE__*/curry\n/* :: */(setHue);\nvar curriedSetHue$1 = curriedSetHue;\n\n/**\n * Sets the lightness of a color to the provided value. The lightness range can be\n * from 0 and 1.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: setLightness(0.2, '#CCCD64'),\n * background: setLightness('0.75', 'rgba(204,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${setLightness(0.2, '#CCCD64')};\n * background: ${setLightness('0.75', 'rgba(204,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#4d4d19\";\n * background: \"rgba(223,224,159,0.7)\";\n * }\n */\n\nfunction setLightness(lightness, color) {\n if (color === 'transparent') return color;\n return toColorString(_extends({}, parseToHsl(color), {\n lightness: parseFloat(lightness)\n }));\n} // prettier-ignore\n\nvar curriedSetLightness = /*#__PURE__*/curry\n/* :: */(setLightness);\nvar curriedSetLightness$1 = curriedSetLightness;\n\n/**\n * Sets the saturation of a color to the provided value. The saturation range can be\n * from 0 and 1.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: setSaturation(0.2, '#CCCD64'),\n * background: setSaturation('0.75', 'rgba(204,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${setSaturation(0.2, '#CCCD64')};\n * background: ${setSaturation('0.75', 'rgba(204,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#adad84\";\n * background: \"rgba(228,229,76,0.7)\";\n * }\n */\n\nfunction setSaturation(saturation, color) {\n if (color === 'transparent') return color;\n return toColorString(_extends({}, parseToHsl(color), {\n saturation: parseFloat(saturation)\n }));\n} // prettier-ignore\n\nvar curriedSetSaturation = /*#__PURE__*/curry\n/* :: */(setSaturation);\nvar curriedSetSaturation$1 = curriedSetSaturation;\n\n/**\n * Shades a color by mixing it with black. `shade` can produce\n * hue shifts, where as `darken` manipulates the luminance channel and therefore\n * doesn't produce hue shifts.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: shade(0.25, '#00f')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${shade(0.25, '#00f')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#00003f\";\n * }\n */\n\nfunction shade(percentage, color) {\n if (color === 'transparent') return color;\n return mix$1(parseFloat(percentage), 'rgb(0, 0, 0)', color);\n} // prettier-ignore\n\nvar curriedShade = /*#__PURE__*/curry\n/* :: */(shade);\nvar curriedShade$1 = curriedShade;\n\n/**\n * Tints a color by mixing it with white. `tint` can produce\n * hue shifts, where as `lighten` manipulates the luminance channel and therefore\n * doesn't produce hue shifts.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: tint(0.25, '#00f')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${tint(0.25, '#00f')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#bfbfff\";\n * }\n */\n\nfunction tint(percentage, color) {\n if (color === 'transparent') return color;\n return mix$1(parseFloat(percentage), 'rgb(255, 255, 255)', color);\n} // prettier-ignore\n\nvar curriedTint = /*#__PURE__*/curry\n/* :: */(tint);\nvar curriedTint$1 = curriedTint;\n\n/**\n * Decreases the opacity of a color. Its range for the amount is between 0 to 1.\n *\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: transparentize(0.1, '#fff'),\n * background: transparentize(0.2, 'hsl(0, 0%, 100%)'),\n * background: transparentize('0.5', 'rgba(255, 0, 0, 0.8)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${transparentize(0.1, '#fff')};\n * background: ${transparentize(0.2, 'hsl(0, 0%, 100%)')};\n * background: ${transparentize('0.5', 'rgba(255, 0, 0, 0.8)')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"rgba(255,255,255,0.9)\";\n * background: \"rgba(255,255,255,0.8)\";\n * background: \"rgba(255,0,0,0.3)\";\n * }\n */\n\nfunction transparentize(amount, color) {\n if (color === 'transparent') return color;\n var parsedColor = parseToRgb(color);\n var alpha = typeof parsedColor.alpha === 'number' ? parsedColor.alpha : 1;\n var colorWithAlpha = _extends({}, parsedColor, {\n alpha: guard(0, 1, +(alpha * 100 - parseFloat(amount) * 100).toFixed(2) / 100)\n });\n return rgba(colorWithAlpha);\n} // prettier-ignore\n\nvar curriedTransparentize = /*#__PURE__*/curry\n/* :: */(transparentize);\nvar curriedTransparentize$1 = curriedTransparentize;\n\n/**\n * Shorthand for easily setting the animation property. Allows either multiple arrays with animations\n * or a single animation spread over the arguments.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...animation(['rotate', '1s', 'ease-in-out'], ['colorchange', '2s'])\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${animation(['rotate', '1s', 'ease-in-out'], ['colorchange', '2s'])}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'animation': 'rotate 1s ease-in-out, colorchange 2s'\n * }\n * @example\n * // Styles as object usage\n * const styles = {\n * ...animation('rotate', '1s', 'ease-in-out')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${animation('rotate', '1s', 'ease-in-out')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'animation': 'rotate 1s ease-in-out'\n * }\n */\nfunction animation() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n // Allow single or multiple animations passed\n var multiMode = Array.isArray(args[0]);\n if (!multiMode && args.length > 8) {\n throw new PolishedError(64);\n }\n var code = args.map(function (arg) {\n if (multiMode && !Array.isArray(arg) || !multiMode && Array.isArray(arg)) {\n throw new PolishedError(65);\n }\n if (Array.isArray(arg) && arg.length > 8) {\n throw new PolishedError(66);\n }\n return Array.isArray(arg) ? arg.join(' ') : arg;\n }).join(', ');\n return {\n animation: code\n };\n}\n\n/**\n * Shorthand that accepts any number of backgroundImage values as parameters for creating a single background statement.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...backgroundImages('url(\"/image/background.jpg\")', 'linear-gradient(red, green)')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${backgroundImages('url(\"/image/background.jpg\")', 'linear-gradient(red, green)')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'backgroundImage': 'url(\"/image/background.jpg\"), linear-gradient(red, green)'\n * }\n */\nfunction backgroundImages() {\n for (var _len = arguments.length, properties = new Array(_len), _key = 0; _key < _len; _key++) {\n properties[_key] = arguments[_key];\n }\n return {\n backgroundImage: properties.join(', ')\n };\n}\n\n/**\n * Shorthand that accepts any number of background values as parameters for creating a single background statement.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...backgrounds('url(\"/image/background.jpg\")', 'linear-gradient(red, green)', 'center no-repeat')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${backgrounds('url(\"/image/background.jpg\")', 'linear-gradient(red, green)', 'center no-repeat')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'background': 'url(\"/image/background.jpg\"), linear-gradient(red, green), center no-repeat'\n * }\n */\nfunction backgrounds() {\n for (var _len = arguments.length, properties = new Array(_len), _key = 0; _key < _len; _key++) {\n properties[_key] = arguments[_key];\n }\n return {\n background: properties.join(', ')\n };\n}\nvar sideMap = ['top', 'right', 'bottom', 'left'];\n/**\n * Shorthand for the border property that splits out individual properties for use with tools like Fela and Styletron. A side keyword can optionally be passed to target only one side's border properties.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...border('1px', 'solid', 'red')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${border('1px', 'solid', 'red')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'borderColor': 'red',\n * 'borderStyle': 'solid',\n * 'borderWidth': `1px`,\n * }\n *\n * // Styles as object usage\n * const styles = {\n * ...border('top', '1px', 'solid', 'red')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${border('top', '1px', 'solid', 'red')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'borderTopColor': 'red',\n * 'borderTopStyle': 'solid',\n * 'borderTopWidth': `1px`,\n * }\n */\n\nfunction border(sideKeyword) {\n for (var _len = arguments.length, values = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n values[_key - 1] = arguments[_key];\n }\n if (typeof sideKeyword === 'string' && sideMap.indexOf(sideKeyword) >= 0) {\n var _ref;\n return _ref = {}, _ref[\"border\" + capitalizeString(sideKeyword) + \"Width\"] = values[0], _ref[\"border\" + capitalizeString(sideKeyword) + \"Style\"] = values[1], _ref[\"border\" + capitalizeString(sideKeyword) + \"Color\"] = values[2], _ref;\n } else {\n values.unshift(sideKeyword);\n return {\n borderWidth: values[0],\n borderStyle: values[1],\n borderColor: values[2]\n };\n }\n}\n\n/**\n * Shorthand that accepts up to four values, including null to skip a value, and maps them to their respective directions.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...borderColor('red', 'green', 'blue', 'yellow')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${borderColor('red', 'green', 'blue', 'yellow')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'borderTopColor': 'red',\n * 'borderRightColor': 'green',\n * 'borderBottomColor': 'blue',\n * 'borderLeftColor': 'yellow'\n * }\n */\nfunction borderColor() {\n for (var _len = arguments.length, values = new Array(_len), _key = 0; _key < _len; _key++) {\n values[_key] = arguments[_key];\n }\n return directionalProperty.apply(void 0, ['borderColor'].concat(values));\n}\n\n/**\n * Shorthand that accepts a value for side and a value for radius and applies the radius value to both corners of the side.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...borderRadius('top', '5px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${borderRadius('top', '5px')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'borderTopRightRadius': '5px',\n * 'borderTopLeftRadius': '5px',\n * }\n */\nfunction borderRadius(side, radius) {\n var uppercaseSide = capitalizeString(side);\n if (!radius && radius !== 0) {\n throw new PolishedError(62);\n }\n if (uppercaseSide === 'Top' || uppercaseSide === 'Bottom') {\n var _ref;\n return _ref = {}, _ref[\"border\" + uppercaseSide + \"RightRadius\"] = radius, _ref[\"border\" + uppercaseSide + \"LeftRadius\"] = radius, _ref;\n }\n if (uppercaseSide === 'Left' || uppercaseSide === 'Right') {\n var _ref2;\n return _ref2 = {}, _ref2[\"borderTop\" + uppercaseSide + \"Radius\"] = radius, _ref2[\"borderBottom\" + uppercaseSide + \"Radius\"] = radius, _ref2;\n }\n throw new PolishedError(63);\n}\n\n/**\n * Shorthand that accepts up to four values, including null to skip a value, and maps them to their respective directions.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...borderStyle('solid', 'dashed', 'dotted', 'double')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${borderStyle('solid', 'dashed', 'dotted', 'double')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'borderTopStyle': 'solid',\n * 'borderRightStyle': 'dashed',\n * 'borderBottomStyle': 'dotted',\n * 'borderLeftStyle': 'double'\n * }\n */\nfunction borderStyle() {\n for (var _len = arguments.length, values = new Array(_len), _key = 0; _key < _len; _key++) {\n values[_key] = arguments[_key];\n }\n return directionalProperty.apply(void 0, ['borderStyle'].concat(values));\n}\n\n/**\n * Shorthand that accepts up to four values, including null to skip a value, and maps them to their respective directions.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...borderWidth('12px', '24px', '36px', '48px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${borderWidth('12px', '24px', '36px', '48px')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'borderTopWidth': '12px',\n * 'borderRightWidth': '24px',\n * 'borderBottomWidth': '36px',\n * 'borderLeftWidth': '48px'\n * }\n */\nfunction borderWidth() {\n for (var _len = arguments.length, values = new Array(_len), _key = 0; _key < _len; _key++) {\n values[_key] = arguments[_key];\n }\n return directionalProperty.apply(void 0, ['borderWidth'].concat(values));\n}\nfunction generateSelectors(template, state) {\n var stateSuffix = state ? \":\" + state : '';\n return template(stateSuffix);\n}\n/**\n * Function helper that adds an array of states to a template of selectors. Used in textInputs and buttons.\n * @private\n */\n\nfunction statefulSelectors(states, template, stateMap) {\n if (!template) throw new PolishedError(67);\n if (states.length === 0) return generateSelectors(template, null);\n var selectors = [];\n for (var i = 0; i < states.length; i += 1) {\n if (stateMap && stateMap.indexOf(states[i]) < 0) {\n throw new PolishedError(68);\n }\n selectors.push(generateSelectors(template, states[i]));\n }\n selectors = selectors.join(',');\n return selectors;\n}\nvar stateMap$1 = [undefined, null, 'active', 'focus', 'hover'];\nfunction template$1(state) {\n return \"button\" + state + \",\\n input[type=\\\"button\\\"]\" + state + \",\\n input[type=\\\"reset\\\"]\" + state + \",\\n input[type=\\\"submit\\\"]\" + state;\n}\n/**\n * Populates selectors that target all buttons. You can pass optional states to append to the selectors.\n * @example\n * // Styles as object usage\n * const styles = {\n * [buttons('active')]: {\n * 'border': 'none'\n * }\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * > ${buttons('active')} {\n * border: none;\n * }\n * `\n *\n * // CSS in JS Output\n *\n * 'button:active,\n * 'input[type=\"button\"]:active,\n * 'input[type=\\\"reset\\\"]:active,\n * 'input[type=\\\"submit\\\"]:active: {\n * 'border': 'none'\n * }\n */\n\nfunction buttons() {\n for (var _len = arguments.length, states = new Array(_len), _key = 0; _key < _len; _key++) {\n states[_key] = arguments[_key];\n }\n return statefulSelectors(states, template$1, stateMap$1);\n}\n\n/**\n * Shorthand that accepts up to four values, including null to skip a value, and maps them to their respective directions.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...margin('12px', '24px', '36px', '48px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${margin('12px', '24px', '36px', '48px')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'marginTop': '12px',\n * 'marginRight': '24px',\n * 'marginBottom': '36px',\n * 'marginLeft': '48px'\n * }\n */\nfunction margin() {\n for (var _len = arguments.length, values = new Array(_len), _key = 0; _key < _len; _key++) {\n values[_key] = arguments[_key];\n }\n return directionalProperty.apply(void 0, ['margin'].concat(values));\n}\n\n/**\n * Shorthand that accepts up to four values, including null to skip a value, and maps them to their respective directions.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...padding('12px', '24px', '36px', '48px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${padding('12px', '24px', '36px', '48px')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'paddingTop': '12px',\n * 'paddingRight': '24px',\n * 'paddingBottom': '36px',\n * 'paddingLeft': '48px'\n * }\n */\nfunction padding() {\n for (var _len = arguments.length, values = new Array(_len), _key = 0; _key < _len; _key++) {\n values[_key] = arguments[_key];\n }\n return directionalProperty.apply(void 0, ['padding'].concat(values));\n}\nvar positionMap = ['absolute', 'fixed', 'relative', 'static', 'sticky'];\n/**\n * Shorthand accepts up to five values, including null to skip a value, and maps them to their respective directions. The first value can optionally be a position keyword.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...position('12px', '24px', '36px', '48px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${position('12px', '24px', '36px', '48px')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'top': '12px',\n * 'right': '24px',\n * 'bottom': '36px',\n * 'left': '48px'\n * }\n *\n * // Styles as object usage\n * const styles = {\n * ...position('absolute', '12px', '24px', '36px', '48px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${position('absolute', '12px', '24px', '36px', '48px')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'position': 'absolute',\n * 'top': '12px',\n * 'right': '24px',\n * 'bottom': '36px',\n * 'left': '48px'\n * }\n */\n\nfunction position(firstValue) {\n for (var _len = arguments.length, values = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n values[_key - 1] = arguments[_key];\n }\n if (positionMap.indexOf(firstValue) >= 0 && firstValue) {\n return _extends({}, directionalProperty.apply(void 0, [''].concat(values)), {\n position: firstValue\n });\n } else {\n return directionalProperty.apply(void 0, ['', firstValue].concat(values));\n }\n}\n\n/**\n * Shorthand to set the height and width properties in a single statement.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...size('300px', '250px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${size('300px', '250px')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'height': '300px',\n * 'width': '250px',\n * }\n */\nfunction size(height, width) {\n if (width === void 0) {\n width = height;\n }\n return {\n height: height,\n width: width\n };\n}\nvar stateMap = [undefined, null, 'active', 'focus', 'hover'];\nfunction template(state) {\n return \"input[type=\\\"color\\\"]\" + state + \",\\n input[type=\\\"date\\\"]\" + state + \",\\n input[type=\\\"datetime\\\"]\" + state + \",\\n input[type=\\\"datetime-local\\\"]\" + state + \",\\n input[type=\\\"email\\\"]\" + state + \",\\n input[type=\\\"month\\\"]\" + state + \",\\n input[type=\\\"number\\\"]\" + state + \",\\n input[type=\\\"password\\\"]\" + state + \",\\n input[type=\\\"search\\\"]\" + state + \",\\n input[type=\\\"tel\\\"]\" + state + \",\\n input[type=\\\"text\\\"]\" + state + \",\\n input[type=\\\"time\\\"]\" + state + \",\\n input[type=\\\"url\\\"]\" + state + \",\\n input[type=\\\"week\\\"]\" + state + \",\\n input:not([type])\" + state + \",\\n textarea\" + state;\n}\n/**\n * Populates selectors that target all text inputs. You can pass optional states to append to the selectors.\n * @example\n * // Styles as object usage\n * const styles = {\n * [textInputs('active')]: {\n * 'border': 'none'\n * }\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * > ${textInputs('active')} {\n * border: none;\n * }\n * `\n *\n * // CSS in JS Output\n *\n * 'input[type=\"color\"]:active,\n * input[type=\"date\"]:active,\n * input[type=\"datetime\"]:active,\n * input[type=\"datetime-local\"]:active,\n * input[type=\"email\"]:active,\n * input[type=\"month\"]:active,\n * input[type=\"number\"]:active,\n * input[type=\"password\"]:active,\n * input[type=\"search\"]:active,\n * input[type=\"tel\"]:active,\n * input[type=\"text\"]:active,\n * input[type=\"time\"]:active,\n * input[type=\"url\"]:active,\n * input[type=\"week\"]:active,\n * input:not([type]):active,\n * textarea:active': {\n * 'border': 'none'\n * }\n */\n\nfunction textInputs() {\n for (var _len = arguments.length, states = new Array(_len), _key = 0; _key < _len; _key++) {\n states[_key] = arguments[_key];\n }\n return statefulSelectors(states, template, stateMap);\n}\n\n/**\n * Accepts any number of transition values as parameters for creating a single transition statement. You may also pass an array of properties as the first parameter that you would like to apply the same transition values to (second parameter).\n * @example\n * // Styles as object usage\n * const styles = {\n * ...transitions('opacity 1.0s ease-in 0s', 'width 2.0s ease-in 2s'),\n * ...transitions(['color', 'background-color'], '2.0s ease-in 2s')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${transitions('opacity 1.0s ease-in 0s', 'width 2.0s ease-in 2s')};\n * ${transitions(['color', 'background-color'], '2.0s ease-in 2s'),};\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'transition': 'opacity 1.0s ease-in 0s, width 2.0s ease-in 2s'\n * 'transition': 'color 2.0s ease-in 2s, background-color 2.0s ease-in 2s',\n * }\n */\n\nfunction transitions() {\n for (var _len = arguments.length, properties = new Array(_len), _key = 0; _key < _len; _key++) {\n properties[_key] = arguments[_key];\n }\n if (Array.isArray(properties[0]) && properties.length === 2) {\n var value = properties[1];\n if (typeof value !== 'string') {\n throw new PolishedError(61);\n }\n var transitionsString = properties[0].map(function (property) {\n return property + \" \" + value;\n }).join(', ');\n return {\n transition: transitionsString\n };\n } else {\n return {\n transition: properties.join(', ')\n };\n }\n}\nexport { curriedAdjustHue$1 as adjustHue, animation, backgroundImages, backgrounds, between, border, borderColor, borderRadius, borderStyle, borderWidth, buttons, clearFix, complement, cover, cssVar, curriedDarken$1 as darken, curriedDesaturate$1 as desaturate, directionalProperty, easeIn, easeInOut, easeOut, ellipsis, em$1 as em, fluidRange, fontFace, getContrast, getLuminance, getValueAndUnit, grayscale, hiDPI, hideText, hideVisually, hsl, hslToColorString, hsla, important, invert, curriedLighten$1 as lighten, linearGradient, margin, math, meetsContrastGuidelines, mix$1 as mix, modularScale, normalize, curriedOpacify$1 as opacify, padding, parseToHsl, parseToRgb, position, radialGradient, readableColor, rem$1 as rem, remToPx, retinaImage, rgb, rgbToColorString, rgba, curriedSaturate$1 as saturate, curriedSetHue$1 as setHue, curriedSetLightness$1 as setLightness, curriedSetSaturation$1 as setSaturation, curriedShade$1 as shade, size, stripUnit, textInputs, timingFunctions, curriedTint$1 as tint, toColorString, transitions, curriedTransparentize$1 as transparentize, triangle, wordWrap };","'use strict';\nvar call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $TypeError = TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw $TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","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 for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\n\n/* eslint-disable react/require-default-props */\nimport * as React from 'react';\nimport * as constants from 'focus-lock/constants';\nimport { inlineProp } from './util';\nvar AutoFocusInside = function AutoFocusInside(_ref) {\n var _ref$disabled = _ref.disabled,\n disabled = _ref$disabled === void 0 ? false : _ref$disabled,\n children = _ref.children,\n _ref$className = _ref.className,\n className = _ref$className === void 0 ? undefined : _ref$className;\n return /*#__PURE__*/React.createElement(\"div\", _extends({}, inlineProp(constants.FOCUS_AUTO, !disabled), {\n className: className\n }), children);\n};\nexport default AutoFocusInside;","/**\n * defines a focus group\n */\nexport var FOCUS_GROUP = 'data-focus-lock';\n/**\n * disables element discovery inside a group marked by key\n */\nexport var FOCUS_DISABLED = 'data-focus-lock-disabled';\n/**\n * allows uncontrolled focus within the marked area, effectively disabling focus lock for it's content\n */\nexport var FOCUS_ALLOW = 'data-no-focus-lock';\n/**\n * instructs autofocus engine to pick default autofocus inside a given node\n * can be set on the element or container\n */\nexport var FOCUS_AUTO = 'data-autofocus-inside';\n/**\n * instructs autofocus to ignore elements within a given node\n * can be set on the element or container\n */\nexport var FOCUS_NO_AUTOFOCUS = 'data-no-autofocus';","'use strict';\nmodule.exports = false;\n","import * as React from 'react';\nvar syncFallback = function syncFallback(create) {\n return create();\n};\nvar useInsertionEffect = React['useInsertion' + 'Effect'] ? React['useInsertion' + 'Effect'] : false;\nvar useInsertionEffectAlwaysWithSyncFallback = useInsertionEffect || syncFallback;\nvar useInsertionEffectWithLayoutFallback = useInsertionEffect || React.useLayoutEffect;\nexport { useInsertionEffectAlwaysWithSyncFallback, useInsertionEffectWithLayoutFallback };","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","'use strict';\nvar global = require('../internals/global');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || defineGlobalProperty(SHARED, {});\n\nmodule.exports = store;\n","const plugins = require(`./api-runner-browser-plugins`)\nconst {\n getResourcesForPathname,\n getResourcesForPathnameSync,\n getResourceURLsForPathname,\n loadPage,\n loadPageSync,\n} = require(`./loader`).publicLoader\n\nexports.apiRunner = (api, args = {}, defaultReturn, argTransform) => {\n // Hooks for gatsby-cypress's API handler\n if (process.env.CYPRESS_SUPPORT) {\n if (window.___apiHandler) {\n window.___apiHandler(api)\n } else if (window.___resolvedAPIs) {\n window.___resolvedAPIs.push(api)\n } else {\n window.___resolvedAPIs = [api]\n }\n }\n\n let results = plugins.map(plugin => {\n if (!plugin.plugin[api]) {\n return undefined\n }\n\n // Deprecated April 2019. Use `loadPageSync` instead\n args.getResourcesForPathnameSync = getResourcesForPathnameSync\n // Deprecated April 2019. Use `loadPage` instead\n args.getResourcesForPathname = getResourcesForPathname\n args.getResourceURLsForPathname = getResourceURLsForPathname\n args.loadPage = loadPage\n args.loadPageSync = loadPageSync\n\n const result = plugin.plugin[api](args, plugin.options)\n if (result && argTransform) {\n args = argTransform({ args, result, plugin })\n }\n return result\n })\n\n // Filter out undefined results.\n results = results.filter(result => typeof result !== `undefined`)\n\n if (results.length > 0) {\n return results\n } else if (defaultReturn) {\n return [defaultReturn]\n } else {\n return []\n }\n}\n\nexports.apiRunnerAsync = (api, args, defaultReturn) =>\n plugins.reduce(\n (previous, next) =>\n next.plugin[api]\n ? previous.then(() => next.plugin[api](args, next.options))\n : previous,\n Promise.resolve()\n )\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","import { createMedium, createSidecarMedium } from 'use-sidecar';\nexport var mediumFocus = createMedium({}, function (_ref) {\n var target = _ref.target,\n currentTarget = _ref.currentTarget;\n return {\n target: target,\n currentTarget: currentTarget\n };\n});\nexport var mediumBlur = createMedium();\nexport var mediumEffect = createMedium();\nexport var mediumSidecar = createSidecarMedium({\n async: true // focus-lock sidecar is not required on the server\n // however, it might be required for JSDOM tests\n // ssr: true,\n});","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (hasOwn(O, key = names[i++])) {\n ~indexOf(result, key) || push(result, key);\n }\n return result;\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar definePropertyModule = require('../internals/object-define-property');\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nmodule.exports = function (O, key, value, options) {\n if (!options) options = {};\n var simple = options.enumerable;\n var name = options.name !== undefined ? options.name : key;\n if (isCallable(value)) makeBuiltIn(value, name, options);\n if (options.global) {\n if (simple) O[key] = value;\n else defineGlobalProperty(key, value);\n } else {\n try {\n if (!options.unsafe) delete O[key];\n else if (O[key]) simple = true;\n } catch (error) { /* empty */ }\n if (simple) O[key] = value;\n else definePropertyModule.f(O, key, {\n value: value,\n enumerable: false,\n configurable: !options.nonConfigurable,\n writable: !options.nonWritable\n });\n } return O;\n};\n","'use strict';\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","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 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 return target;\n}","'use strict';\nvar global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap));\n"],"sourceRoot":""}