{"version":3,"file":"BusinessCenter.es.js","sources":["../../node_modules/tslib/tslib.es6.js","../../node_modules/@microsoft/teams-js/dist/MicrosoftTeams.min.js","../../node_modules/object-assign/index.js","../../node_modules/react/cjs/react.production.min.js","../../node_modules/react/index.js","../../node_modules/scheduler/cjs/scheduler.production.min.js","../../node_modules/scheduler/index.js","../../node_modules/react-dom/cjs/react-dom.production.min.js","../../node_modules/jwt-decode/build/jwt-decode.esm.js","../../node_modules/react-dom/index.js","../../node_modules/@fluentui/set-version/lib/setVersion.js","../../node_modules/@fluentui/set-version/lib/index.js","../../node_modules/@fluentui/merge-styles/lib/Stylesheet.js","../../node_modules/@fluentui/merge-styles/lib/extractStyleParts.js","../../node_modules/@fluentui/merge-styles/lib/StyleOptionsState.js","../../node_modules/@fluentui/merge-styles/lib/transforms/kebabRules.js","../../node_modules/@fluentui/merge-styles/lib/getVendorSettings.js","../../node_modules/@fluentui/merge-styles/lib/transforms/prefixRules.js","../../node_modules/@fluentui/merge-styles/lib/transforms/provideUnits.js","../../node_modules/@fluentui/merge-styles/lib/transforms/rtlifyRules.js","../../node_modules/@fluentui/merge-styles/lib/styleToClassName.js","../../node_modules/@fluentui/merge-styles/lib/tokenizeWithParentheses.js","../../node_modules/@fluentui/merge-styles/lib/mergeStyles.js","../../node_modules/@fluentui/merge-styles/lib/concatStyleSets.js","../../node_modules/@fluentui/merge-styles/lib/mergeStyleSets.js","../../node_modules/@fluentui/merge-styles/lib/concatStyleSetsWithProps.js","../../node_modules/@fluentui/merge-styles/lib/fontFace.js","../../node_modules/@fluentui/merge-styles/lib/keyframes.js","../../node_modules/@fluentui/utilities/lib/dom/getWindow.js","../../node_modules/@fluentui/utilities/lib/Async.js","../../node_modules/@fluentui/utilities/lib/object.js","../../node_modules/@fluentui/utilities/lib/EventGroup.js","../../node_modules/@fluentui/utilities/lib/scroll.js","../../node_modules/@fluentui/utilities/lib/dom/getDocument.js","../../node_modules/@fluentui/utilities/lib/BaseComponent.js","../../node_modules/@fluentui/utilities/lib/warn/warn.js","../../node_modules/@fluentui/utilities/lib/GlobalSettings.js","../../node_modules/@fluentui/utilities/lib/KeyCodes.js","../../node_modules/@fluentui/utilities/lib/Rectangle.js","../../node_modules/@fluentui/utilities/lib/aria.js","../../node_modules/@fluentui/utilities/lib/sessionStorage.js","../../node_modules/@fluentui/utilities/lib/rtl.js","../../node_modules/@fluentui/utilities/node_modules/@fluentui/dom-utilities/lib/getParent.js","../../node_modules/@fluentui/utilities/node_modules/@fluentui/dom-utilities/lib/getVirtualParent.js","../../node_modules/@fluentui/utilities/node_modules/@fluentui/dom-utilities/lib/isVirtualElement.js","../../node_modules/@fluentui/utilities/node_modules/@fluentui/dom-utilities/lib/elementContains.js","../../node_modules/@fluentui/utilities/node_modules/@fluentui/dom-utilities/lib/findElementRecursive.js","../../node_modules/@fluentui/utilities/node_modules/@fluentui/dom-utilities/lib/setPortalAttribute.js","../../node_modules/@fluentui/utilities/node_modules/@fluentui/dom-utilities/lib/portalContainsElement.js","../../node_modules/@fluentui/utilities/lib/dom/on.js","../../node_modules/@fluentui/utilities/lib/dom/raiseClick.js","../../node_modules/@fluentui/utilities/lib/classNamesFunction.js","../../node_modules/@fluentui/utilities/lib/memoize.js","../../node_modules/@fluentui/utilities/lib/css.js","../../node_modules/@fluentui/utilities/lib/customizations/Customizations.js","../../node_modules/@fluentui/utilities/lib/customizations/CustomizerContext.js","../../node_modules/@fluentui/utilities/lib/customizations/mergeSettings.js","../../node_modules/@fluentui/utilities/lib/customizations/Customizer.js","../../node_modules/@fluentui/utilities/lib/customizations/mergeCustomizations.js","../../node_modules/@fluentui/utilities/lib/customizations/customizable.js","../../node_modules/@fluentui/utilities/lib/hoistStatics.js","../../node_modules/@fluentui/utilities/lib/customizations/useCustomizationSettings.js","../../node_modules/@fluentui/utilities/lib/extendComponent.js","../../node_modules/@fluentui/utilities/lib/appendFunction.js","../../node_modules/@fluentui/utilities/lib/focus.js","../../node_modules/@fluentui/utilities/node_modules/@fluentui/dom-utilities/lib/elementContainsAttribute.js","../../node_modules/@fluentui/utilities/lib/getId.js","../../node_modules/@fluentui/utilities/lib/properties.js","../../node_modules/@fluentui/utilities/lib/initializeComponentRef.js","../../node_modules/@fluentui/utilities/lib/keyboard.js","../../node_modules/@fluentui/utilities/lib/setFocusVisibility.js","../../node_modules/@fluentui/utilities/lib/useFocusRects.js","../../node_modules/@fluentui/utilities/lib/language.js","../../node_modules/@fluentui/utilities/lib/merge.js","../../node_modules/@fluentui/utilities/lib/mobileDetector.js","../../node_modules/@fluentui/utilities/lib/osDetector.js","../../node_modules/@fluentui/utilities/lib/styled.js","../../node_modules/@fluentui/utilities/lib/getPropsWithDefaults.js","../../node_modules/@fluentui/utilities/lib/createMergedRef.js","../../node_modules/@fluentui/utilities/lib/array.js","../../node_modules/@fluentui/style-utilities/lib/utilities/icons.js","../../node_modules/@fluentui/theme/lib/motion/AnimationStyles.js","../../node_modules/@fluentui/theme/lib/colors/DefaultPalette.js","../../node_modules/@fluentui/theme/lib/effects/FluentDepths.js","../../node_modules/@fluentui/theme/lib/effects/DefaultEffects.js","../../node_modules/@fluentui/theme/lib/fonts/FluentFonts.js","../../node_modules/@fluentui/theme/lib/fonts/createFontStyles.js","../../node_modules/@fluentui/theme/lib/fonts/DefaultFontStyles.js","../../node_modules/@fluentui/utilities/lib/localStorage.js","../../node_modules/@fluentui/style-utilities/lib/styles/CommonStyles.js","../../node_modules/@fluentui/style-utilities/lib/styles/zIndexes.js","../../node_modules/@fluentui/style-utilities/lib/styles/getFocusStyle.js","../../node_modules/@fluentui/style-utilities/lib/styles/hiddenContentStyle.js","../../node_modules/@fluentui/style-utilities/lib/styles/getGlobalClassNames.js","../../node_modules/@microsoft/load-themed-styles/lib-es6/index.js","../../node_modules/@fluentui/theme/lib/utilities/makeSemanticColors.js","../../node_modules/@fluentui/theme/lib/spacing/DefaultSpacing.js","../../node_modules/@fluentui/theme/lib/createTheme.js","../../node_modules/@fluentui/theme/lib/mergeThemes.js","../../node_modules/@fluentui/style-utilities/lib/styles/theme.js","../../node_modules/@fluentui/style-utilities/lib/classNames/AnimationClassNames.js","../../node_modules/@fluentui/style-utilities/lib/utilities/buildClassMap.js","../../node_modules/@fluentui/style-utilities/lib/version.js","../../node_modules/@fluentui/style-utilities/lib/index.js","../../node_modules/@fluentui/react/lib/common/DirectionalHint.js","../../node_modules/@fluentui/react/lib/utilities/positioning/positioning.types.js","../../node_modules/@fluentui/react/lib/utilities/positioning/positioning.js","../../node_modules/@fluentui/react-hooks/lib/useConst.js","../../node_modules/@fluentui/react-hooks/lib/useAsync.js","../../node_modules/@fluentui/react-hooks/lib/useId.js","../../node_modules/@fluentui/react-hooks/lib/useMergedRefs.js","../../node_modules/@fluentui/react-hooks/lib/useOnEvent.js","../../node_modules/@fluentui/react-hooks/lib/usePrevious.js","../../node_modules/@fluentui/react-window-provider/lib/WindowProvider.js","../../node_modules/@fluentui/react-hooks/lib/useSetTimeout.js","../../node_modules/@fluentui/react-hooks/lib/useTarget.js","../../node_modules/@fluentui/react/lib/components/Popup/Popup.js","../../node_modules/@fluentui/react/lib/components/Callout/CalloutContent.base.js","../../node_modules/@fluentui/react/lib/components/Callout/CalloutContent.styles.js","../../node_modules/@fluentui/react/lib/components/Callout/CalloutContent.js","../../node_modules/@fluentui/react/lib/components/Fabric/Fabric.base.js","../../node_modules/@fluentui/react/lib/components/Fabric/Fabric.styles.js","../../node_modules/@fluentui/react/lib/components/Fabric/Fabric.js","../../node_modules/@fluentui/react/lib/components/Layer/Layer.notification.js","../../node_modules/@fluentui/react/lib/components/Layer/Layer.base.js","../../node_modules/@fluentui/utilities/node_modules/@fluentui/dom-utilities/lib/setVirtualParent.js","../../node_modules/@fluentui/react/lib/components/Layer/Layer.styles.js","../../node_modules/@fluentui/react/lib/components/Layer/Layer.js","../../node_modules/@fluentui/react/lib/components/Callout/Callout.js","../../node_modules/@fluentui/react/lib/components/FocusTrapZone/FocusTrapZone.js","../../node_modules/@fluentui/react/lib/components/Icon/Icon.types.js","../../node_modules/@fluentui/react/lib/components/Image/Image.types.js","../../node_modules/@fluentui/utilities/lib/modalize.js","../../node_modules/@fluentui/react/lib/components/Image/Image.base.js","../../node_modules/@fluentui/react/lib/components/Image/Image.styles.js","../../node_modules/@fluentui/react/lib/components/Image/Image.js","../../node_modules/@fluentui/react/lib/components/Icon/FontIcon.js","../../node_modules/@fluentui/react/lib/components/Icon/Icon.styles.js","../../node_modules/@fluentui/react/lib/components/Icon/Icon.base.js","../../node_modules/@fluentui/react/lib/components/Icon/Icon.js","../../node_modules/@fluentui/react/lib/components/Icon/ImageIcon.js","../../node_modules/@fluentui/react-focus/lib/components/FocusZone/FocusZone.types.js","../../node_modules/@fluentui/react-focus/lib/components/FocusZone/FocusZone.js","../../node_modules/@fluentui/react/lib/components/ContextualMenu/ContextualMenu.types.js","../../node_modules/@fluentui/react/lib/utilities/contextualMenu/contextualMenuUtility.js","../../node_modules/@fluentui/react/lib/components/ContextualMenu/ContextualMenuItem.base.js","../../node_modules/@fluentui/react/lib/components/ContextualMenu/ContextualMenu.classNames.js","../../node_modules/@fluentui/react/lib/components/Divider/VerticalDivider.classNames.js","../../node_modules/@fluentui/react/lib/components/ContextualMenu/ContextualMenuItemWrapper/ContextualMenuItemWrapper.js","../../node_modules/@fluentui/react/lib/components/ContextualMenu/ContextualMenu.cnstyles.js","../../node_modules/@fluentui/react/lib/components/ContextualMenu/ContextualMenuItem.js","../../node_modules/@fluentui/react/lib/utilities/keytips/KeytipConstants.js","../../node_modules/@fluentui/react/lib/utilities/keytips/KeytipManager.js","../../node_modules/@fluentui/react/lib/utilities/keytips/KeytipUtils.js","../../node_modules/@fluentui/react/lib/components/KeytipData/useKeytipData.js","../../node_modules/@fluentui/react/lib/components/KeytipData/KeytipData.js","../../node_modules/@fluentui/react/lib/components/ContextualMenu/ContextualMenuItemWrapper/ContextualMenuAnchor.js","../../node_modules/@fluentui/react/lib/components/ContextualMenu/ContextualMenuItemWrapper/ContextualMenuButton.js","../../node_modules/@fluentui/react/lib/components/Divider/VerticalDivider.styles.js","../../node_modules/@fluentui/react/lib/components/Divider/VerticalDivider.base.js","../../node_modules/@fluentui/react/lib/components/Divider/VerticalDivider.js","../../node_modules/@fluentui/react/lib/components/ContextualMenu/ContextualMenuItemWrapper/ContextualMenuSplitButton.js","../../node_modules/@fluentui/react/lib/utilities/decorators/withResponsiveMode.js","../../node_modules/@fluentui/react/lib/utilities/hooks/useResponsiveMode.js","../../node_modules/@fluentui/react/lib/utilities/MenuContext/MenuContext.js","../../node_modules/@fluentui/react/lib/components/ContextualMenu/ContextualMenu.base.js","../../node_modules/@fluentui/react/lib/components/ContextualMenu/ContextualMenu.styles.js","../../node_modules/@fluentui/react/lib/components/ContextualMenu/ContextualMenu.js","../../node_modules/@fluentui/react/lib/components/Button/BaseButton.classNames.js","../../node_modules/@fluentui/react/lib/components/Button/BaseButton.js","../../node_modules/@fluentui/react/lib/components/Button/SplitButton/SplitButton.classNames.js","../../node_modules/@fluentui/react/lib/components/Button/BaseButton.styles.js","../../node_modules/@fluentui/react/lib/components/Button/ButtonThemes.js","../../node_modules/@fluentui/react/lib/components/Button/SplitButton/SplitButton.styles.js","../../node_modules/@fluentui/react/lib/components/Button/DefaultButton/DefaultButton.styles.js","../../node_modules/@fluentui/react/lib/components/Button/DefaultButton/DefaultButton.js","../../node_modules/@fluentui/react/lib/components/Button/PrimaryButton/PrimaryButton.js","../../node_modules/@fluentui/react/lib/components/Modal/Modal.styles.js","../../node_modules/@fluentui/react/lib/components/Overlay/Overlay.base.js","../../node_modules/@fluentui/react/lib/components/Overlay/Overlay.styles.js","../../node_modules/@fluentui/react/lib/utilities/DraggableZone/DraggableZone.js","../../node_modules/@fluentui/react/lib/components/Overlay/Overlay.js","../../node_modules/@fluentui/react/lib/utilities/DraggableZone/DraggableZone.styles.js","../../node_modules/@fluentui/react/lib/components/Modal/Modal.base.js","../../node_modules/@fluentui/react-hooks/lib/useBoolean.js","../../node_modules/@fluentui/react-hooks/lib/useUnmount.js","../../node_modules/@fluentui/react/lib/components/Modal/Modal.js","../../node_modules/@fluentui/foundation-legacy/lib/utilities.js","../../node_modules/@fluentui/foundation-legacy/lib/slots.js","../../node_modules/@fluentui/foundation-legacy/lib/createComponent.js","../../node_modules/@fluentui/react/lib/components/Text/Text.view.js","../../node_modules/@fluentui/react/lib/components/Text/Text.js","../../node_modules/@fluentui/react/lib/components/Text/Text.styles.js","../../node_modules/lodash/_baseIsNaN.js","../../node_modules/lodash/_baseIndexOf.js","../../node_modules/lodash/_baseFindIndex.js","../../node_modules/lodash/_strictIndexOf.js","../../node_modules/lodash/_freeGlobal.js","../../node_modules/lodash/_root.js","../../node_modules/lodash/_Symbol.js","../../node_modules/lodash/_getRawTag.js","../../node_modules/lodash/_objectToString.js","../../node_modules/lodash/_baseGetTag.js","../../node_modules/lodash/isObject.js","../../node_modules/lodash/isFunction.js","../../node_modules/lodash/isLength.js","../../node_modules/lodash/isArrayLike.js","../../node_modules/lodash/isArray.js","../../node_modules/lodash/isObjectLike.js","../../node_modules/lodash/isSymbol.js","../../node_modules/lodash/_arrayMap.js","../../node_modules/lodash/_baseTimes.js","../../node_modules/lodash/_baseIsArguments.js","../../node_modules/lodash/isArguments.js","../../node_modules/lodash/isBuffer.js","../../node_modules/lodash/stubFalse.js","../../node_modules/lodash/_isIndex.js","../../node_modules/lodash/_baseIsTypedArray.js","../../node_modules/lodash/_nodeUtil.js","../../node_modules/lodash/_baseUnary.js","../../node_modules/lodash/isTypedArray.js","../../node_modules/lodash/_arrayLikeKeys.js","../../node_modules/lodash/_isPrototype.js","../../node_modules/lodash/_overArg.js","../../node_modules/lodash/_nativeKeys.js","../../node_modules/lodash/_baseKeys.js","../../node_modules/lodash/keys.js","../../node_modules/lodash/eq.js","../../node_modules/lodash/_assocIndexOf.js","../../node_modules/lodash/_listCacheDelete.js","../../node_modules/lodash/_listCacheGet.js","../../node_modules/lodash/_listCacheHas.js","../../node_modules/lodash/_listCacheSet.js","../../node_modules/lodash/_ListCache.js","../../node_modules/lodash/_listCacheClear.js","../../node_modules/lodash/_stackClear.js","../../node_modules/lodash/_stackDelete.js","../../node_modules/lodash/_stackGet.js","../../node_modules/lodash/_stackHas.js","../../node_modules/lodash/_coreJsData.js","../../node_modules/lodash/_isMasked.js","../../node_modules/lodash/_toSource.js","../../node_modules/lodash/_baseIsNative.js","../../node_modules/lodash/_getNative.js","../../node_modules/lodash/_getValue.js","../../node_modules/lodash/_Map.js","../../node_modules/lodash/_nativeCreate.js","../../node_modules/lodash/_hashClear.js","../../node_modules/lodash/_hashGet.js","../../node_modules/lodash/_hashHas.js","../../node_modules/lodash/_hashSet.js","../../node_modules/lodash/_Hash.js","../../node_modules/lodash/_hashDelete.js","../../node_modules/lodash/_mapCacheClear.js","../../node_modules/lodash/_getMapData.js","../../node_modules/lodash/_isKeyable.js","../../node_modules/lodash/_mapCacheDelete.js","../../node_modules/lodash/_mapCacheGet.js","../../node_modules/lodash/_mapCacheHas.js","../../node_modules/lodash/_mapCacheSet.js","../../node_modules/lodash/_MapCache.js","../../node_modules/lodash/_stackSet.js","../../node_modules/lodash/_Stack.js","../../node_modules/lodash/_defineProperty.js","../../node_modules/lodash/_baseAssignValue.js","../../node_modules/lodash/_assignMergeValue.js","../../node_modules/lodash/_cloneBuffer.js","../../node_modules/lodash/_baseFor.js","../../node_modules/lodash/_createBaseFor.js","../../node_modules/lodash/_Uint8Array.js","../../node_modules/lodash/_cloneArrayBuffer.js","../../node_modules/lodash/_cloneTypedArray.js","../../node_modules/lodash/_copyArray.js","../../node_modules/lodash/_baseCreate.js","../../node_modules/lodash/_getPrototype.js","../../node_modules/lodash/_initCloneObject.js","../../node_modules/lodash/isArrayLikeObject.js","../../node_modules/lodash/isPlainObject.js","../../node_modules/lodash/_safeGet.js","../../node_modules/lodash/_assignValue.js","../../node_modules/lodash/_copyObject.js","../../node_modules/lodash/_baseKeysIn.js","../../node_modules/lodash/_nativeKeysIn.js","../../node_modules/lodash/keysIn.js","../../node_modules/lodash/toPlainObject.js","../../node_modules/lodash/_baseMergeDeep.js","../../node_modules/lodash/_baseMerge.js","../../node_modules/lodash/identity.js","../../node_modules/lodash/_apply.js","../../node_modules/lodash/_overRest.js","../../node_modules/lodash/_baseSetToString.js","../../node_modules/lodash/constant.js","../../node_modules/lodash/_shortOut.js","../../node_modules/lodash/_setToString.js","../../node_modules/lodash/_baseRest.js","../../node_modules/lodash/_isIterateeCall.js","../../node_modules/lodash/_createAssigner.js","../../node_modules/@fluentui/styles/dist/es/callable.js","../../node_modules/@fluentui/styles/dist/es/withDebugId.js","../../node_modules/@fluentui/styles/dist/es/deepmerge.js","../../node_modules/lodash/merge.js","../../node_modules/@fluentui/styles/dist/es/createTheme.js","../../node_modules/lodash/_baseForOwn.js","../../node_modules/lodash/_createBaseEach.js","../../node_modules/lodash/_baseEach.js","../../node_modules/lodash/_castFunction.js","../../node_modules/lodash/_arrayEach.js","../../node_modules/lodash/forEach.js","../../node_modules/lodash/_SetCache.js","../../node_modules/lodash/_setCacheHas.js","../../node_modules/lodash/_setCacheAdd.js","../../node_modules/lodash/_cacheHas.js","../../node_modules/lodash/_equalArrays.js","../../node_modules/lodash/_arraySome.js","../../node_modules/lodash/_mapToArray.js","../../node_modules/lodash/_equalByTag.js","../../node_modules/lodash/_setToArray.js","../../node_modules/lodash/_arrayPush.js","../../node_modules/lodash/_baseGetAllKeys.js","../../node_modules/lodash/_getSymbols.js","../../node_modules/lodash/_arrayFilter.js","../../node_modules/lodash/_getAllKeys.js","../../node_modules/lodash/stubArray.js","../../node_modules/lodash/_equalObjects.js","../../node_modules/lodash/_DataView.js","../../node_modules/lodash/_Promise.js","../../node_modules/lodash/_Set.js","../../node_modules/lodash/_getTag.js","../../node_modules/lodash/_WeakMap.js","../../node_modules/lodash/_baseIsEqualDeep.js","../../node_modules/lodash/_baseIsEqual.js","../../node_modules/lodash/_baseIsMatch.js","../../node_modules/lodash/_isStrictComparable.js","../../node_modules/lodash/_getMatchData.js","../../node_modules/lodash/_matchesStrictComparable.js","../../node_modules/lodash/_baseMatches.js","../../node_modules/lodash/_isKey.js","../../node_modules/lodash/memoize.js","../../node_modules/lodash/_memoizeCapped.js","../../node_modules/lodash/_stringToPath.js","../../node_modules/lodash/_baseToString.js","../../node_modules/lodash/toString.js","../../node_modules/lodash/_castPath.js","../../node_modules/lodash/_toKey.js","../../node_modules/lodash/_baseGet.js","../../node_modules/lodash/get.js","../../node_modules/lodash/_hasPath.js","../../node_modules/lodash/_baseHasIn.js","../../node_modules/lodash/hasIn.js","../../node_modules/lodash/_baseMatchesProperty.js","../../node_modules/lodash/_basePropertyDeep.js","../../node_modules/lodash/property.js","../../node_modules/lodash/_baseProperty.js","../../node_modules/lodash/_baseIteratee.js","../../node_modules/lodash/_baseMap.js","../../node_modules/lodash/map.js","../../node_modules/lodash/_isFlattenable.js","../../node_modules/lodash/_baseFlatten.js","../../node_modules/lodash/_arrayIncludes.js","../../node_modules/lodash/_arrayIncludesWith.js","../../node_modules/lodash/_createSet.js","../../node_modules/lodash/noop.js","../../node_modules/lodash/_baseUniq.js","../../node_modules/@fluentui/styles/dist/es/toCompactArray.js","../../node_modules/lodash/union.js","../../node_modules/@fluentui/styles/dist/es/mergeThemes.js","../../node_modules/prop-types/factoryWithThrowingShims.js","../../node_modules/prop-types/lib/ReactPropTypesSecret.js","../../node_modules/lodash/last.js","../../node_modules/lodash/_parent.js","../../node_modules/lodash/_baseSlice.js","../../node_modules/lodash/_baseInvoke.js","../../node_modules/lodash/invoke.js","../../node_modules/classnames/index.js","../../node_modules/@fluentui/react-northstar/dist/es/utils/fontSizeUtility.js","../../node_modules/@fluentui/react-northstar/dist/es/utils/isBrowser.js","../../node_modules/lodash/isNil.js","../../node_modules/@fluentui/react-icons-northstar/dist/es/utils/createSvgIcon.js","../../node_modules/@fluentui/react-icons-northstar/dist/es/utils/iconClassNames.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/animations/timingFunctions.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/animations/durations.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/animations/fade.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/animations/slide.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/animations/index.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/animations/scale.js","../../node_modules/@fluentui/react-northstar/dist/es/utils/stringLiteralsArray.js","../../node_modules/@fluentui/react-northstar/dist/es/utils/accessibility/Styles/accessibilityStyles.js","../../node_modules/lodash/_baseDifference.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/colors.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/categoryColors.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/siteVariables.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Accordion/accordionVariables.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Attachment/attachmentVariables.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Alert/alertVariables.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Avatar/avatarVariables.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/colorUtils.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Button/buttonVariables.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Breadcrumb/breadcrumbVariables.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Checkbox/checkboxVariables.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Divider/dividerVariables.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Dropdown/dropdownVariables.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Form/formFieldVariables.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Form/formMessageVariables.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Header/headerVariables.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Header/headerDescriptionVariables.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/SvgIcon/svgIconVariables.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/List/listItemVariables.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Menu/menuVariables.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Pill/pillVariables.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Segment/segmentVariables.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Skeleton/skeletonVariables.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Text/textVariables.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Toolbar/toolbarVariables.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/SplitButton/splitButtonVariables.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Carousel/carouselVariables.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Carousel/carouselNavigationVariables.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Table/tableVariables.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Card/cardVariables.js","../../node_modules/@fluentui/react-northstar/dist/es/utils/date-time-utilities/dateValues/dateValues.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Alert/alertStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/getBorderFocusStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/getIconFillOrOutlineStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Alert/alertDismissActionStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Alert/dismissIndicatorUrl.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Button/buttonGroupStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Checkbox/checkboxIndicatorUrl.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Checkbox/checkboxIndeterminateIndicatorUrl.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Checkbox/checkboxStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Divider/dividerStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Datepicker/datepickerVariables.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Chat/chatVariables.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Chat/chatItemVariables.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Chat/chatMessageVariables.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Chat/chatMessageDetailsVariables.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Chat/chatMessageReadStatusVariables.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Dialog/dialogVariables.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Embed/embedVariables.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Flex/flexVariables.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Flex/flexItemVariables.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Form/formVariables.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Form/formLabelVariables.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Grid/gridVariables.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Image/imageVariables.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Input/inputVariables.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Input/inputLabelVariables.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Label/labelVariables.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Layout/layoutVariables.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Loader/loaderVariables.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Loader/loaderSvgDataUrl.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/ItemLayout/itemLayoutVariables.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Popup/popupContentVariables.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Provider/providerVariables.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/RadioGroup/radioGroupItemVariables.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Reaction/reactionVariables.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Reaction/reactionGroupVariables.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Slider/sliderVariables.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Status/statusVariables.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/TextArea/textAreaVariables.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Tree/treeTitleVariables.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Video/videoVariables.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Tooltip/tooltipContentVariables.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Accordion/accordionContentStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Accordion/accordionTitleStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Accordion/activeIndicatorUrl.js","../../node_modules/@fluentui/react-northstar/dist/es/components/Alert/AlertDismissAction.js","../../node_modules/@fluentui/react-northstar/dist/es/components/Loader/Loader.js","../../node_modules/@fluentui/react-northstar/dist/es/components/Attachment/AttachmentAction.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Attachment/attachmentStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Attachment/attachmentActionStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Attachment/attachmentIconStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Avatar/avatarStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Avatar/avatarStatusStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Avatar/avatarStatusIconStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Avatar/avatarImageStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Avatar/avatarIconStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Avatar/avatarLabelStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Button/buttonStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Button/buttonContentStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Breadcrumb/breadcrumbItemStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Breadcrumb/breadcrumbLinkStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Breadcrumb/breadcrumbStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Chat/chatStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Chat/chatItemStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/components/Reaction/Reaction.js","../../node_modules/@fluentui/react-northstar/dist/es/components/Chat/ChatMessage.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Chat/chatMessageStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Chat/chatMessageDetailsStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Chat/chatMessageReadStatusStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/components/Checkbox/Checkbox.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Dialog/dialogStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Divider/dividerContentStyles.js","../../node_modules/lodash/differenceBy.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Dropdown/dropdownStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Flex/utils.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Grid/gridStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/styles/translateAlignProp.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/SvgIcon/svgIconStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/styles/debugStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Layout/layoutStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Menu/menuItemStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Menu/submenuIndicatorUrl.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/getPointerStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/RadioGroup/radioGroupItemStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Skeleton/utils/animations.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Slider/sliderStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/SplitButton/splitButtonToggleStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/SplitButton/toggleIndicatorUrl.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Toolbar/submenuIndicatorUrl.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Toolbar/activeIndicatorUrl.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Carousel/carouselPaddleStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Carousel/paddleIndicatorUrl.js","../../node_modules/@fluentui/react-northstar/dist/es/components/List/ListItemContent.js","../../node_modules/@fluentui/react-northstar/dist/es/components/List/ListItemEndMedia.js","../../node_modules/@fluentui/react-northstar/dist/es/components/Dropdown/DropdownItem.js","../../node_modules/@fluentui/react-northstar/dist/es/components/Dropdown/DropdownSelectedItem.js","../../node_modules/@fluentui/react-northstar/dist/es/components/Input/Input.js","../../node_modules/@fluentui/react-northstar/dist/es/components/Dropdown/Dropdown.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Dropdown/dropdownSearchInputStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Dropdown/dropdownSelectedItemStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Dropdown/dropdownItemStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Dropdown/checkableIndicatorUrl.js","../../node_modules/@fluentui/react-northstar/dist/es/components/Embed/Embed.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Embed/embedStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Embed/playIndicatorUrl.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Embed/pauseIndicatorUrl.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Form/formFieldStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Form/formLabelStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Form/formMessageStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Flex/flexStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Flex/flexItemStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Header/headerStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Header/headerDescriptionStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Image/imageStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Input/inputStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Input/inputLabelStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Label/labelStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Loader/loaderStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/List/listStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/List/listItemStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/List/listItemContentStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/List/listItemEndMediaStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/List/listItemHeaderStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/List/listItemMediaStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Menu/menuStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Menu/menuItemIconStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Menu/menuItemContentStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Menu/menuItemIndicatorStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Menu/menuItemWrapperStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Menu/menuDividerStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/components/Popup/PopupContent.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/MenuButton/menuButtonStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Pill/pillStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Pill/pillContentStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Pill/pillActionStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Pill/pillImageStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Pill/pillIconStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Popup/popupContentStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/components/RadioGroup/RadioGroupItem.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Segment/segmentStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Skeleton/utils/keyframes.js","../../node_modules/@fluentui/react-northstar/dist/es/components/Skeleton/SkeletonLine.js","../../node_modules/@fluentui/react-northstar/dist/es/components/Skeleton/SkeletonShape.js","../../node_modules/@fluentui/react-northstar/dist/es/components/Skeleton/SkeletonButton.js","../../node_modules/@fluentui/react-northstar/dist/es/components/Skeleton/SkeletonInput.js","../../node_modules/@fluentui/react-northstar/dist/es/components/Skeleton/SkeletonAvatar.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Skeleton/skeletonStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Skeleton/skeletonShapeStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Skeleton/skeletonButtonStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Skeleton/skeletonTextStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Skeleton/skeletonInputStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Skeleton/skeletonAvatarStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/components/Slider/Slider.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Reaction/reactionStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Status/statusStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/SplitButton/splitButtonStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Text/textStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/TextArea/textAreaStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Toolbar/toolbarCustomItemStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Toolbar/toolbarItemStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/components/Toolbar/ToolbarMenuItemSubmenuIndicator.js","../../node_modules/@fluentui/react-northstar/dist/es/components/Toolbar/ToolbarMenuItemActiveIndicator.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Toolbar/toolbarMenuItemStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Toolbar/toolbarMenuItemIconStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Toolbar/toolbarMenuItemSubmenuIndicatorStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/components/Tree/TreeTitle.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Tree/treeItemStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Tree/treeTitleStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Tree/checkboxIndicatorIndeterminatedUrl.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Tooltip/tooltipContentStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/pointerSvgUrl.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Carousel/carouselStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Carousel/carouselNavigationStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/components/Carousel/CarouselNavigationItem.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Carousel/carouselNavigationItemStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/components/Carousel/CarouselPaddle.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Table/tableRowStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Table/tableCellStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/components/Card/CardExpandableBox.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Card/cardStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Card/cardHeaderStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Card/cardBodyStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Card/cardFooterStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Card/cardPreviewStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Datepicker/datepickerStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Datepicker/datepickerCalendarCellStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Datepicker/datepickerCalendarCellButtonStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Datepicker/datepickerCalendarGridRowStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/index.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Accordion/accordionStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Attachment/attachmentBodyStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Attachment/attachmentDescriptionStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Attachment/attachmentHeaderStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Breadcrumb/breadcrumbDividerStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Dialog/dialogFooterStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Form/formStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/ItemLayout/itemLayoutStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/List/listItemContentMediaStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/List/listItemHeaderMediaStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Provider/providerStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/RadioGroup/radioGroupStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Skeleton/skeletonLineStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Reaction/reactionGroupStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Toolbar/toolbarStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Toolbar/toolbarRadioGroupStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Toolbar/toolbarDividerStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Toolbar/toolbarMenuStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Toolbar/toolbarMenuDividerStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Toolbar/toolbarMenuItemActiveIndicatorStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Toolbar/toolbarMenuRadioGroupStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Toolbar/toolbarMenuRadioGroupWrapperStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Tree/treeStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Video/videoStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Carousel/carouselItemStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Carousel/carouselPaddlesContainerStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Table/tableStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Card/cardTopControlsStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Card/cardExpandableBoxStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Datepicker/datepickerCalendarStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Datepicker/datepickerCalendarHeaderStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Datepicker/datepickerCalendarHeaderCellStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Datepicker/datepickerCalendarGridStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/fontFaces.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/staticStyles/index.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/staticStyles/normalizeCSS.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/staticStyles/globalStyles.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams-dark/colors.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams-dark/siteVariables.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams-dark/components/Menu/menuVariables.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams-dark/index.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams-dark/components/Avatar/avatarVariables.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams-dark/components/Chat/chatVariables.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams-dark/components/Chat/chatMessageVariables.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams-dark/components/Dialog/dialogVariables.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams-dark/components/Divider/dividerVariables.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams-dark/components/Header/headerVariables.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams-dark/components/Header/headerDescriptionVariables.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams-dark/components/RadioGroup/radioGroupItemVariables.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams-dark/components/Segment/segmentVariables.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams-dark/components/Text/textVariables.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams-dark/components/SvgIcon/svgIconVariables.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams-dark/components/Reaction/reactionVariables.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams-dark/components/Provider/providerVariables.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams-dark/components/Label/labelVariables.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams-dark/components/Datepicker/datepickerCalendarCellVariables.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams-dark/components/Datepicker/datepickerCalendarCellButtonVariables.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams-high-contrast/colors.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams-high-contrast/siteVariables.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams-high-contrast/components/Avatar/avatarVariables.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams-high-contrast/components/Menu/menuVariables.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams-high-contrast/components/Toolbar/toolbarVariables.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams-high-contrast/components/Dropdown/dropdownVariables.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams-high-contrast/index.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams-high-contrast/components/Button/buttonVariables.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams-high-contrast/components/Chat/chatVariables.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams-high-contrast/components/Chat/chatMessageVariables.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams-high-contrast/components/Checkbox/checkboxVariables.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams-high-contrast/components/Dialog/dialogVariables.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams-high-contrast/components/Divider/dividerVariables.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams-high-contrast/components/Embed/embedVariables.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams-high-contrast/components/Header/headerVariables.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams-high-contrast/components/Input/inputVariables.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams-high-contrast/components/RadioGroup/radioGroupItemVariables.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams-high-contrast/components/Segment/segmentVariables.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams-high-contrast/components/Text/textVariables.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams-high-contrast/components/TextArea/textAreaVariables.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams-high-contrast/components/Reaction/reactionVariables.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams-high-contrast/components/Provider/providerVariables.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams-high-contrast/components/Label/labelVariables.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams-high-contrast/components/Tooltip/tooltipContentVariables.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams-high-contrast/components/Datepicker/datepickerCalendarCellVariables.js","../../node_modules/@fluentui/react-northstar/dist/es/themes/teams-high-contrast/components/Datepicker/datepickerCalendarCellButtonVariables.js","../../src/BusinessCenter.tsx"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n 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;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\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;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from) {\r\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\r\n to[j] = from[i];\r\n return to;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\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 () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\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\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\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\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","!function(e,n){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=n():\"function\"==typeof define&&define.amd?define(\"microsoftTeams\",[],n):\"object\"==typeof exports?exports.microsoftTeams=n():e.microsoftTeams=n()}(window,function(){return function(e){var n={};function t(r){if(n[r])return n[r].exports;var i=n[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,t),i.l=!0,i.exports}return t.m=e,t.c=n,t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{enumerable:!0,get:r})},t.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},t.t=function(e,n){if(1&n&&(e=t(e)),8&n)return e;if(4&n&&\"object\"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(t.r(r),Object.defineProperty(r,\"default\",{enumerable:!0,value:e}),2&n&&\"string\"!=typeof e)for(var i in e)t.d(r,i,function(n){return e[n]}.bind(null,i));return r},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,\"a\",n),n},t.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},t.p=\"\",t(t.s=19)}([function(e,n,t){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0});var r=t(4),i=t(6),o=t(3),a=function(){return function(){}}();n.Communication=a;var s=function(){function e(){}return e.parentMessageQueue=[],e.childMessageQueue=[],e.nextMessageId=0,e.callbacks={},e}();function l(e,n,t){var r;n instanceof Function?t=n:n instanceof Array&&(r=n);var o=a.parentWindow,l=b(e,r);if(i.GlobalVars.isFramelessWindow)a.currentWindow&&a.currentWindow.nativeInterface&&a.currentWindow.nativeInterface.framelessPostMessage(JSON.stringify(l));else{var u=C(o);o&&u?o.postMessage(l,u):p(o).push(l)}t&&(s.callbacks[l.id]=t)}function u(e){if(e&&e.data&&\"object\"==typeof e.data){var n=e.source||e.originalEvent&&e.originalEvent.source,t=e.origin||e.originalEvent&&e.originalEvent.origin;d(n,t)&&(c(n,t),n===a.parentWindow?f(e):n===a.childWindow&&g(e))}}function d(e,n){return(!a.currentWindow||e!==a.currentWindow)&&(!!(a.currentWindow&&a.currentWindow.location&&n&&n===a.currentWindow.location.origin)||!!(r.validOriginRegExp.test(n.toLowerCase())||i.GlobalVars.additionalValidOriginsRegexp&&i.GlobalVars.additionalValidOriginsRegexp.test(n.toLowerCase())))}function c(e,n){i.GlobalVars.isFramelessWindow||a.parentWindow&&!a.parentWindow.closed&&e!==a.parentWindow?a.childWindow&&!a.childWindow.closed&&e!==a.childWindow||(a.childWindow=e,a.childOrigin=n):(a.parentWindow=e,a.parentOrigin=n),a.parentWindow&&a.parentWindow.closed&&(a.parentWindow=null,a.parentOrigin=null),a.childWindow&&a.childWindow.closed&&(a.childWindow=null,a.childOrigin=null),h(a.parentWindow),h(a.childWindow)}function f(e){if(\"id\"in e.data&&\"number\"==typeof e.data.id){var n=e.data,t=s.callbacks[n.id];t&&(t.apply(null,n.args.concat([n.isPartialResponse])),m(e)||delete s.callbacks[n.id])}else if(\"func\"in e.data&&\"string\"==typeof e.data.func){n=e.data;o.callHandler(n.func,n.args)}}function m(e){return!0===e.data.isPartialResponse}function g(e){if(\"id\"in e.data&&\"func\"in e.data){var n=e.data,t=o.callHandler(n.func,n.args),r=t[0],i=t[1];r&&void 0!==i?v(n.id,Array.isArray(i)?i:[i]):l(n.func,n.args,function(){for(var e=[],t=0;t0;)e.postMessage(t.shift(),n)}function v(e,n,t){var r=a.childWindow,i=T(e,n,t),o=C(r);r&&o&&r.postMessage(i,o)}function b(e,n){return{id:s.nextMessageId++,func:e,timestamp:Date.now(),args:n||[]}}function T(e,n,t){return{id:e,args:n||[],isPartialResponse:t}}function w(e,n){return{func:e,args:n||[]}}n.initializeCommunication=function(e,n){s.messageListener=function(e){return u(e)},a.currentWindow=a.currentWindow||window,a.parentWindow=a.currentWindow.parent!==a.currentWindow.self?a.currentWindow.parent:a.currentWindow.opener,(a.parentWindow||n)&&a.currentWindow.addEventListener(\"message\",s.messageListener,!1),a.parentWindow||(i.GlobalVars.isFramelessWindow=!0,window.onNativeMessage=f);try{a.parentOrigin=\"*\",l(\"initialize\",[r.version],e)}finally{a.parentOrigin=null}},n.uninitializeCommunication=function(){a.currentWindow.removeEventListener(\"message\",s.messageListener,!1),a.parentWindow=null,a.parentOrigin=null,a.childWindow=null,a.childOrigin=null,s.parentMessageQueue=[],s.childMessageQueue=[],s.nextMessageId=0,s.callbacks={}},n.sendMessageToParent=l,n.waitForMessageQueue=function(e,n){var t=a.currentWindow.setInterval(function(){0===p(e).length&&(clearInterval(t),n())},100)},n.sendMessageEventToChild=function(e,n){var t=a.childWindow,r=w(e,n),i=C(t);t&&i?t.postMessage(r,i):p(t).push(r)}},function(e,n,t){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0});var r=t(4),i=t(6),o=t(5);n.ensureInitialized=function(){for(var e=[],n=0;n0){for(var t=!1,r=0;r=0},n.processAdditionalValidOrigins=function(e){var n=i.GlobalVars.additionalValidOrigins.concat(e.filter(function(e){return\"string\"==typeof e&&r.userOriginUrlValidationRegExp.test(e)})),t={};n=n.filter(function(e){return!t[e]&&(t[e]=!0,!0)}),i.GlobalVars.additionalValidOrigins=n,i.GlobalVars.additionalValidOrigins.length>0?i.GlobalVars.additionalValidOriginsRegexp=o.generateRegExpFromUrls(i.GlobalVars.additionalValidOrigins):i.GlobalVars.additionalValidOriginsRegexp=null}},function(e,n,t){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),function(e){e.desktop=\"desktop\",e.web=\"web\",e.android=\"android\",e.ios=\"ios\",e.rigel=\"rigel\",e.surfaceHub=\"surfaceHub\"}(n.HostClientType||(n.HostClientType={})),function(e){e.settings=\"settings\",e.content=\"content\",e.authentication=\"authentication\",e.remove=\"remove\",e.task=\"task\",e.sidePanel=\"sidePanel\",e.stage=\"stage\",e.meetingStage=\"meetingStage\"}(n.FrameContexts||(n.FrameContexts={})),function(e){e[e.Standard=0]=\"Standard\",e[e.Edu=1]=\"Edu\",e[e.Class=2]=\"Class\",e[e.Plc=3]=\"Plc\",e[e.Staff=4]=\"Staff\"}(n.TeamType||(n.TeamType={})),function(e){e[e.Admin=0]=\"Admin\",e[e.User=1]=\"User\",e[e.Guest=2]=\"Guest\"}(n.UserTeamRole||(n.UserTeamRole={})),function(e){e.Large=\"large\",e.Medium=\"medium\",e.Small=\"small\"}(n.TaskModuleDimension||(n.TaskModuleDimension={})),function(e){e.Regular=\"Regular\",e.Private=\"Private\",e.Shared=\"Shared\"}(n.ChannelType||(n.ChannelType={}))},function(e,n,t){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0});var r=t(8),i=t(0),o=function(){function e(){}return e.handlers={},e}();function a(e){o.themeChangeHandler&&o.themeChangeHandler(e),i.Communication.childWindow&&i.sendMessageEventToChild(\"themeChange\",[e])}function s(){o.backButtonPressHandler&&o.backButtonPressHandler()||r.navigateBack()}function l(e){o.loadHandler&&o.loadHandler(e),i.Communication.childWindow&&i.sendMessageEventToChild(\"load\",[e])}function u(){var e=function(){i.sendMessageToParent(\"readyToUnload\",[])};o.beforeUnloadHandler&&o.beforeUnloadHandler(e)||e()}n.initializeHandlers=function(){o.handlers.themeChange=a,o.handlers.backButtonPress=s,o.handlers.load=l,o.handlers.beforeUnload=u},n.callHandler=function(e,n){var t=o.handlers[e];return t?[!0,t.apply(this,n)]:[!1,void 0]},n.registerHandler=function(e,n,t,r){void 0===t&&(t=!0),void 0===r&&(r=[]),n?(o.handlers[e]=n,t&&i.sendMessageToParent(\"registerHandler\",[e].concat(r))):delete o.handlers[e]},n.removeHandler=function(e){delete o.handlers[e]},n.registerOnThemeChangeHandler=function(e){o.themeChangeHandler=e,e&&i.sendMessageToParent(\"registerHandler\",[\"themeChange\"])},n.handleThemeChange=a,n.registerBackButtonHandler=function(e){o.backButtonPressHandler=e,e&&i.sendMessageToParent(\"registerHandler\",[\"backButton\"])},n.registerOnLoadHandler=function(e){o.loadHandler=e,e&&i.sendMessageToParent(\"registerHandler\",[\"load\"])},n.registerBeforeUnloadHandler=function(e){o.beforeUnloadHandler=e,e&&i.sendMessageToParent(\"registerHandler\",[\"beforeUnload\"])}},function(e,n,t){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0});var r=t(5);n.version=\"1.10.0\",n.defaultSDKVersionForCompatCheck=\"1.6.0\",n.getUserJoinedTeamsSupportedAndroidClientVersion=\"2.0.1\",n.locationAPIsRequiredVersion=\"1.9.0\",n.peoplePickerRequiredVersion=\"2.0.0\",n.captureImageMobileSupportVersion=\"1.7.0\",n.mediaAPISupportVersion=\"1.8.0\",n.getMediaCallbackSupportVersion=\"2.0.0\",n.scanBarCodeAPIMobileSupportVersion=\"1.9.0\",n.validOrigins=[\"https://teams.microsoft.com\",\"https://teams.microsoft.us\",\"https://gov.teams.microsoft.us\",\"https://dod.teams.microsoft.us\",\"https://int.teams.microsoft.com\",\"https://teams.live.com\",\"https://devspaces.skype.com\",\"https://ssauth.skype.com\",\"https://local.teams.live.com\",\"https://local.teams.live.com:8080\",\"https://local.teams.office.com\",\"https://local.teams.office.com:8080\",\"https://msft.spoppe.com\",\"https://*.sharepoint.com\",\"https://*.sharepoint-df.com\",\"https://*.sharepointonline.com\",\"https://outlook.office.com\",\"https://outlook-sdf.office.com\",\"https://*.teams.microsoft.com\",\"https://www.office.com\",\"https://word.office.com\",\"https://excel.office.com\",\"https://powerpoint.office.com\",\"https://www.officeppe.com\",\"https://*.www.office.com\"],n.validOriginRegExp=r.generateRegExpFromUrls(n.validOrigins),n.userOriginUrlValidationRegExp=/^https\\:\\/\\//},function(e,n,t){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0});var r=t(22);function i(e){for(var n=\"^\",t=e.split(\".\"),r=0;r0?\"[.]\":\"\")+t[r].replace(\"*\",\"[^/^.]+\");return n+=\"$\"}n.generateRegExpFromUrls=function(e){for(var n=\"\",t=0;tNumber(r[o])?1:-1;return 0},n.generateGUID=function(){return r.v4()}},function(e,n,t){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0});var r=function(){function e(){}return e.initializeCalled=!1,e.initializeCompleted=!1,e.additionalValidOrigins=[],e.additionalValidOriginsRegexp=null,e.initializeCallbacks=[],e.isFramelessWindow=!1,e.printCapabilityEnabled=!1,e}();n.GlobalVars=r},function(e,n,t){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),function(e){e.Inline=\"inline\",e.Desktop=\"desktop\",e.Web=\"web\"}(n.FileOpenPreference||(n.FileOpenPreference={})),function(e){e[e.NOT_SUPPORTED_ON_PLATFORM=100]=\"NOT_SUPPORTED_ON_PLATFORM\",e[e.INTERNAL_ERROR=500]=\"INTERNAL_ERROR\",e[e.NOT_SUPPORTED_IN_CURRENT_CONTEXT=501]=\"NOT_SUPPORTED_IN_CURRENT_CONTEXT\",e[e.PERMISSION_DENIED=1e3]=\"PERMISSION_DENIED\",e[e.NETWORK_ERROR=2e3]=\"NETWORK_ERROR\",e[e.NO_HW_SUPPORT=3e3]=\"NO_HW_SUPPORT\",e[e.INVALID_ARGUMENTS=4e3]=\"INVALID_ARGUMENTS\",e[e.UNAUTHORIZED_USER_OPERATION=5e3]=\"UNAUTHORIZED_USER_OPERATION\",e[e.INSUFFICIENT_RESOURCES=6e3]=\"INSUFFICIENT_RESOURCES\",e[e.THROTTLE=7e3]=\"THROTTLE\",e[e.USER_ABORT=8e3]=\"USER_ABORT\",e[e.OPERATION_TIMED_OUT=8001]=\"OPERATION_TIMED_OUT\",e[e.OLD_PLATFORM=9e3]=\"OLD_PLATFORM\",e[e.FILE_NOT_FOUND=404]=\"FILE_NOT_FOUND\",e[e.SIZE_EXCEEDED=1e4]=\"SIZE_EXCEEDED\"}(n.ErrorCode||(n.ErrorCode={}))},function(e,n,t){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0});var r=t(25);n.appInitialization=r.appInitialization;var i=t(11);n.authentication=i.authentication;var o=t(2);n.FrameContexts=o.FrameContexts,n.HostClientType=o.HostClientType,n.TaskModuleDimension=o.TaskModuleDimension,n.TeamType=o.TeamType,n.UserTeamRole=o.UserTeamRole,n.ChannelType=o.ChannelType;var a=t(7);n.ErrorCode=a.ErrorCode,n.FileOpenPreference=a.FileOpenPreference;var s=t(26);n.enablePrintCapability=s.enablePrintCapability,n.executeDeepLink=s.executeDeepLink,n.getContext=s.getContext,n.getMruTabInstances=s.getMruTabInstances,n.getTabInstances=s.getTabInstances,n.initialize=s.initialize,n.initializeWithFrameContext=s.initializeWithFrameContext,n.print=s.print,n.registerBackButtonHandler=s.registerBackButtonHandler,n.registerBeforeUnloadHandler=s.registerBeforeUnloadHandler,n.registerChangeSettingsHandler=s.registerChangeSettingsHandler,n.registerFullScreenHandler=s.registerFullScreenHandler,n.registerOnLoadHandler=s.registerOnLoadHandler,n.registerOnThemeChangeHandler=s.registerOnThemeChangeHandler,n.registerAppButtonClickHandler=s.registerAppButtonClickHandler,n.registerAppButtonHoverEnterHandler=s.registerAppButtonHoverEnterHandler,n.registerAppButtonHoverLeaveHandler=s.registerAppButtonHoverLeaveHandler,n.setFrameContext=s.setFrameContext,n.shareDeepLink=s.shareDeepLink;var l=t(27);n.returnFocus=l.returnFocus,n.navigateBack=l.navigateBack,n.navigateCrossDomain=l.navigateCrossDomain,n.navigateToTab=l.navigateToTab;var u=t(12);n.settings=u.settings;var d=t(28);n.tasks=d.tasks;var c=t(16);n.ChildAppWindow=c.ChildAppWindow,n.ParentAppWindow=c.ParentAppWindow;var f=t(17);n.media=f.media;var m=t(29);n.location=m.location;var g=t(30);n.meeting=g.meeting;var p=t(31);n.people=p.people},function(e,n){var t=\"undefined\"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||\"undefined\"!=typeof msCrypto&&\"function\"==typeof window.msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto);if(t){var r=new Uint8Array(16);e.exports=function(){return t(r),r}}else{var i=new Array(16);e.exports=function(){for(var e,n=0;n<16;n++)0==(3&n)&&(e=4294967296*Math.random()),i[n]=e>>>((3&n)<<3)&255;return i}}},function(e,n){for(var t=[],r=0;r<256;++r)t[r]=(r+256).toString(16).substr(1);e.exports=function(e,n){var r=n||0,i=t;return[i[e[r++]],i[e[r++]],i[e[r++]],i[e[r++]],\"-\",i[e[r++]],i[e[r++]],\"-\",i[e[r++]],i[e[r++]],\"-\",i[e[r++]],i[e[r++]],\"-\",i[e[r++]],i[e[r++]],i[e[r++]],i[e[r++]],i[e[r++]],i[e[r++]]].join(\"\")}},function(e,n,t){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0});var r=t(1),i=t(6),o=t(2),a=t(0),s=t(3);!function(e){var n,t;function l(){d();try{a.Communication.childWindow&&a.Communication.childWindow.close()}finally{a.Communication.childWindow=null,a.Communication.childOrigin=null}}function u(e){n=e,l();var t=n.width||600,r=n.height||400;t=Math.min(t,a.Communication.currentWindow.outerWidth-400),r=Math.min(r,a.Communication.currentWindow.outerHeight-200);var i=document.createElement(\"a\");i.href=n.url;var o=void 0!==a.Communication.currentWindow.screenLeft?a.Communication.currentWindow.screenLeft:a.Communication.currentWindow.screenX,s=void 0!==a.Communication.currentWindow.screenTop?a.Communication.currentWindow.screenTop:a.Communication.currentWindow.screenY;o+=a.Communication.currentWindow.outerWidth/2-t/2,s+=a.Communication.currentWindow.outerHeight/2-r/2,a.Communication.childWindow=a.Communication.currentWindow.open(i.href,\"_blank\",\"toolbar=no, location=yes, status=no, menubar=no, scrollbars=yes, top=\"+s+\", left=\"+o+\", width=\"+t+\", height=\"+r),a.Communication.childWindow?c():m(\"FailedToOpenWindow\")}function d(){t&&(clearInterval(t),t=0),s.removeHandler(\"initialize\"),s.removeHandler(\"navigateCrossDomain\")}function c(){d(),t=a.Communication.currentWindow.setInterval(function(){if(!a.Communication.childWindow||a.Communication.childWindow.closed)m(\"CancelledByUser\");else{var e=a.Communication.childOrigin;try{a.Communication.childOrigin=\"*\",a.sendMessageEventToChild(\"ping\")}finally{a.Communication.childOrigin=e}}},100),s.registerHandler(\"initialize\",function(){return[o.FrameContexts.authentication,i.GlobalVars.hostClientType]}),s.registerHandler(\"navigateCrossDomain\",function(){return!1})}function f(e){try{n&&n.successCallback&&n.successCallback(e)}finally{n=null,l()}}function m(e){try{n&&n.failureCallback&&n.failureCallback(e)}finally{n=null,l()}}function g(e,n,t){if(e){var r=document.createElement(\"a\");r.href=decodeURIComponent(e),r.host&&r.host!==window.location.host&&\"outlook.office.com\"===r.host&&r.search.indexOf(\"client_type=Win32_Outlook\")>-1&&(n&&\"result\"===n&&(t&&(r.href=p(r.href,\"result\",t)),a.Communication.currentWindow.location.assign(p(r.href,\"authSuccess\",\"\"))),n&&\"reason\"===n&&(t&&(r.href=p(r.href,\"reason\",t)),a.Communication.currentWindow.location.assign(p(r.href,\"authFailure\",\"\"))))}}function p(e,n,t){var r=e.indexOf(\"#\"),i=-1===r?\"#\":e.substr(r);return i=i+\"&\"+n+(\"\"!==t?\"=\"+t:\"\"),(e=-1===r?e:e.substr(0,r))+i}e.initialize=function(){s.registerHandler(\"authentication.authenticate.success\",f,!1),s.registerHandler(\"authentication.authenticate.failure\",m,!1)},e.registerAuthenticationHandlers=function(e){n=e},e.authenticate=function(e){var t=void 0!==e?e:n;if(r.ensureInitialized(o.FrameContexts.content,o.FrameContexts.sidePanel,o.FrameContexts.settings,o.FrameContexts.remove,o.FrameContexts.task,o.FrameContexts.stage,o.FrameContexts.meetingStage),i.GlobalVars.hostClientType===o.HostClientType.desktop||i.GlobalVars.hostClientType===o.HostClientType.android||i.GlobalVars.hostClientType===o.HostClientType.ios||i.GlobalVars.hostClientType===o.HostClientType.rigel){var s=document.createElement(\"a\");s.href=t.url,a.sendMessageToParent(\"authentication.authenticate\",[s.href,t.width,t.height],function(e,n){e?t.successCallback(n):t.failureCallback(n)})}else u(t)},e.getAuthToken=function(e){r.ensureInitialized(),a.sendMessageToParent(\"authentication.getAuthToken\",[e.resources,e.claims,e.silent],function(n,t){n?e.successCallback(t):e.failureCallback(t)})},e.getUser=function(e){r.ensureInitialized(),a.sendMessageToParent(\"authentication.getUser\",function(n,t){n?e.successCallback(t):e.failureCallback(t)})},e.notifySuccess=function(e,n){g(n,\"result\",e),r.ensureInitialized(o.FrameContexts.authentication),a.sendMessageToParent(\"authentication.authenticate.success\",[e]),a.waitForMessageQueue(a.Communication.parentWindow,function(){return setTimeout(function(){return a.Communication.currentWindow.close()},200)})},e.notifyFailure=function(e,n){g(n,\"reason\",e),r.ensureInitialized(o.FrameContexts.authentication),a.sendMessageToParent(\"authentication.authenticate.failure\",[e]),a.waitForMessageQueue(a.Communication.parentWindow,function(){return setTimeout(function(){return a.Communication.currentWindow.close()},200)})}}(n.authentication||(n.authentication={}))},function(e,n,t){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0});var r=t(1),i=t(2),o=t(5),a=t(0),s=t(3);!function(e){var n,t;function l(e){var t=new u(e);n?n(t):t.notifySuccess()}e.initialize=function(){s.registerHandler(\"settings.save\",l,!1),s.registerHandler(\"settings.remove\",d,!1)},e.setValidityState=function(e){r.ensureInitialized(i.FrameContexts.settings,i.FrameContexts.remove),a.sendMessageToParent(\"settings.setValidityState\",[e])},e.getSettings=function(e){r.ensureInitialized(i.FrameContexts.content,i.FrameContexts.settings,i.FrameContexts.remove,i.FrameContexts.sidePanel),a.sendMessageToParent(\"settings.getSettings\",e)},e.setSettings=function(e,n){r.ensureInitialized(i.FrameContexts.content,i.FrameContexts.settings,i.FrameContexts.sidePanel),a.sendMessageToParent(\"settings.setSettings\",[e],n||o.getGenericOnCompleteHandler())},e.registerOnSaveHandler=function(e){r.ensureInitialized(i.FrameContexts.settings),n=e,e&&a.sendMessageToParent(\"registerHandler\",[\"save\"])},e.registerOnRemoveHandler=function(e){r.ensureInitialized(i.FrameContexts.remove,i.FrameContexts.settings),t=e,e&&a.sendMessageToParent(\"registerHandler\",[\"remove\"])};var u=function(){function e(e){this.notified=!1,this.result=e||{}}return e.prototype.notifySuccess=function(){this.ensureNotNotified(),a.sendMessageToParent(\"settings.save.success\"),this.notified=!0},e.prototype.notifyFailure=function(e){this.ensureNotNotified(),a.sendMessageToParent(\"settings.save.failure\",[e]),this.notified=!0},e.prototype.ensureNotNotified=function(){if(this.notified)throw new Error(\"The SaveEvent may only notify success or failure once.\")},e}();function d(){var e=new c;t?t(e):e.notifySuccess()}var c=function(){function e(){this.notified=!1}return e.prototype.notifySuccess=function(){this.ensureNotNotified(),a.sendMessageToParent(\"settings.remove.success\"),this.notified=!0},e.prototype.notifyFailure=function(e){this.ensureNotNotified(),a.sendMessageToParent(\"settings.remove.failure\",[e]),this.notified=!0},e.prototype.ensureNotNotified=function(){if(this.notified)throw new Error(\"The removeEvent may only notify success or failure once.\")},e}()}(n.settings||(n.settings={}))},function(e,n,t){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0});var r=t(1),i=t(0),o=t(3);!function(e){e.registerGetLogHandler=function(e){r.ensureInitialized(),e?o.registerHandler(\"log.request\",function(){var n=e();i.sendMessageToParent(\"log.receive\",[n])}):o.removeHandler(\"log.request\")}}(n.logs||(n.logs={}))},function(e,n,t){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0});var r=t(1),i=t(2),o=t(5),a=t(0),s=t(15),l=t(3),u=t(6),d=t(7),c=t(4);n.initializePrivateApis=function(){s.menus.initialize()},n.getUserJoinedTeams=function(e,n){if(r.ensureInitialized(),u.GlobalVars.hostClientType===i.HostClientType.android&&!r.isAPISupportedByPlatform(c.getUserJoinedTeamsSupportedAndroidClientVersion)){var t={errorCode:d.ErrorCode.OLD_PLATFORM};throw new Error(JSON.stringify(t))}a.sendMessageToParent(\"getUserJoinedTeams\",[n],e)},n.enterFullscreen=function(){r.ensureInitialized(i.FrameContexts.content),a.sendMessageToParent(\"enterFullscreen\",[])},n.exitFullscreen=function(){r.ensureInitialized(i.FrameContexts.content),a.sendMessageToParent(\"exitFullscreen\",[])},n.openFilePreview=function(e){r.ensureInitialized(i.FrameContexts.content);var n=[e.entityId,e.title,e.description,e.type,e.objectUrl,e.downloadUrl,e.webPreviewUrl,e.webEditUrl,e.baseUrl,e.editFile,e.subEntityId,e.viewerAction,e.fileOpenPreference];a.sendMessageToParent(\"openFilePreview\",n)},n.showNotification=function(e){r.ensureInitialized(i.FrameContexts.content);var n=[e.message,e.notificationType];a.sendMessageToParent(\"showNotification\",n)},n.uploadCustomApp=function(e,n){r.ensureInitialized(),a.sendMessageToParent(\"uploadCustomApp\",[e],n||o.getGenericOnCompleteHandler())},n.sendCustomMessage=function(e,n,t){r.ensureInitialized(),a.sendMessageToParent(e,n,t)},n.sendCustomEvent=function(e,n){if(r.ensureInitialized(),!a.Communication.childWindow)throw new Error(\"The child window has not yet been initialized or is not present\");a.sendMessageEventToChild(e,n)},n.registerCustomHandler=function(e,n){var t=this;r.ensureInitialized(),l.registerHandler(e,function(){for(var e=[],r=0;rn.sequence?1:-1}),e.forEach(function(e){e.sequence==r&&(t=t?new Blob([t,e.file],{type:n}):new Blob([e.file],{type:n}),r++)}),t},n.decodeAttachment=function(e,n){if(null==e||null==n)return null;for(var t=atob(e.chunk),r=new Array(t.length),i=0;i10)},n.validateGetMediaInputs=function(e,n,t){return null!=e&&null!=n&&n==r.media.FileFormat.ID&&null!=t},n.validateViewImagesInput=function(e){return!(null==e||e.length<=0||e.length>10)},n.validateScanBarCodeInput=function(e){return!e||!(null===e.timeOutIntervalInSec||e.timeOutIntervalInSec<=0||e.timeOutIntervalInSec>60)},n.validatePeoplePickerInput=function(e){if(e){if(e.title&&\"string\"!=typeof e.title)return!1;if(e.setSelected&&\"object\"!=typeof e.setSelected)return!1;if(e.openOrgWideSearchInChatOrChannel&&\"boolean\"!=typeof e.openOrgWideSearchInChatOrChannel)return!1;if(e.singleSelect&&\"boolean\"!=typeof e.singleSelect)return!1}return!0}},function(e,n,t){\"use strict\";function r(e){for(var t in e)n.hasOwnProperty(t)||(n[t]=e[t])}Object.defineProperty(n,\"__esModule\",{value:!0}),r(t(20)),r(t(8))},function(e,n,t){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0});var r=t(21);n.bot=r.bot;var i=t(15);n.menus=i.menus;var o=t(13);n.logs=o.logs;var a=t(32);n.NotificationTypes=a.NotificationTypes,n.ViewerActionTypes=a.ViewerActionTypes,n.UserSettingTypes=a.UserSettingTypes;var s=t(14);n.enterFullscreen=s.enterFullscreen,n.exitFullscreen=s.exitFullscreen,n.getChatMembers=s.getChatMembers,n.getConfigSetting=s.getConfigSetting,n.getUserJoinedTeams=s.getUserJoinedTeams,n.openFilePreview=s.openFilePreview,n.sendCustomMessage=s.sendCustomMessage,n.showNotification=s.showNotification,n.sendCustomEvent=s.sendCustomEvent,n.registerCustomHandler=s.registerCustomHandler,n.uploadCustomApp=s.uploadCustomApp,n.registerUserSettingsChangeHandler=s.registerUserSettingsChangeHandler;var l=t(33);n.conversations=l.conversations;var u=t(34);n.meetingRoom=u.meetingRoom;var d=t(35);n.remoteCamera=d.remoteCamera;var c=t(36);n.files=c.files;var f=t(37);n.appEntity=f.appEntity},function(e,n,t){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0});var r=t(0),i=t(1);!function(e){e.sendQuery=function(e,n,t){i.ensureInitialized(),r.sendMessageToParent(\"bot.executeQuery\",[e],function(e,r){e?n(r):t(r)})},e.getSupportedCommands=function(e,n){i.ensureInitialized(),r.sendMessageToParent(\"bot.getSupportedCommands\",function(t,r){t?e(r):n(r)})},e.authenticate=function(e,n,t){i.ensureInitialized(),r.sendMessageToParent(\"bot.authenticate\",[e],function(e,r){e?n(r):t(r)})},function(e){e.Results=\"Results\",e.Auth=\"Auth\"}(e.ResponseType||(e.ResponseType={}))}(n.bot||(n.bot={}))},function(e,n,t){var r=t(23),i=t(24),o=i;o.v1=r,o.v4=i,e.exports=o},function(e,n,t){var r,i,o=t(9),a=t(10),s=0,l=0;e.exports=function(e,n,t){var u=n&&t||0,d=n||[],c=(e=e||{}).node||r,f=void 0!==e.clockseq?e.clockseq:i;if(null==c||null==f){var m=o();null==c&&(c=r=[1|m[0],m[1],m[2],m[3],m[4],m[5]]),null==f&&(f=i=16383&(m[6]<<8|m[7]))}var g=void 0!==e.msecs?e.msecs:(new Date).getTime(),p=void 0!==e.nsecs?e.nsecs:l+1,C=g-s+(p-l)/1e4;if(C<0&&void 0===e.clockseq&&(f=f+1&16383),(C<0||g>s)&&void 0===e.nsecs&&(p=0),p>=1e4)throw new Error(\"uuid.v1(): Can't create more than 10M uuids/sec\");s=g,l=p,i=f;var h=(1e4*(268435455&(g+=122192928e5))+p)%4294967296;d[u++]=h>>>24&255,d[u++]=h>>>16&255,d[u++]=h>>>8&255,d[u++]=255&h;var v=g/4294967296*1e4&268435455;d[u++]=v>>>8&255,d[u++]=255&v,d[u++]=v>>>24&15|16,d[u++]=v>>>16&255,d[u++]=f>>>8|128,d[u++]=255&f;for(var b=0;b<6;++b)d[u+b]=c[b];return n||a(d)}},function(e,n,t){var r=t(9),i=t(10);e.exports=function(e,n,t){var o=n&&t||0;\"string\"==typeof e&&(n=\"binary\"===e?new Array(16):null,e=null);var a=(e=e||{}).random||(e.rng||r)();if(a[6]=15&a[6]|64,a[8]=63&a[8]|128,n)for(var s=0;s<16;++s)n[o+s]=a[s];return n||i(a)}},function(e,n,t){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0});var r=t(1),i=t(4),o=t(0);!function(e){e.Messages={AppLoaded:\"appInitialization.appLoaded\",Success:\"appInitialization.success\",Failure:\"appInitialization.failure\",ExpectedFailure:\"appInitialization.expectedFailure\"},function(e){e.AuthFailed=\"AuthFailed\",e.Timeout=\"Timeout\",e.Other=\"Other\"}(e.FailedReason||(e.FailedReason={})),function(e){e.PermissionError=\"PermissionError\",e.NotFound=\"NotFound\",e.Throttling=\"Throttling\",e.Offline=\"Offline\",e.Other=\"Other\"}(e.ExpectedFailureReason||(e.ExpectedFailureReason={})),e.notifyAppLoaded=function(){r.ensureInitialized(),o.sendMessageToParent(e.Messages.AppLoaded,[i.version])},e.notifySuccess=function(){r.ensureInitialized(),o.sendMessageToParent(e.Messages.Success,[i.version])},e.notifyFailure=function(n){r.ensureInitialized(),o.sendMessageToParent(e.Messages.Failure,[n.reason,n.message])},e.notifyExpectedFailure=function(n){r.ensureInitialized(),o.sendMessageToParent(e.Messages.ExpectedFailure,[n.reason,n.message])}}(n.appInitialization||(n.appInitialization={}))},function(e,n,t){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0});var r=t(1),i=t(6),o=t(4),a=t(12),s=t(5),l=t(13),u=t(2),d=t(0),c=t(11),f=t(14),m=t(3);function g(e,n){i.GlobalVars.initializeCalled||(i.GlobalVars.initializeCalled=!0,m.initializeHandlers(),d.initializeCommunication(function(e,n,t){void 0===t&&(t=o.defaultSDKVersionForCompatCheck),i.GlobalVars.frameContext=e,i.GlobalVars.hostClientType=n,i.GlobalVars.clientSupportedSDKVersion=t,i.GlobalVars.initializeCallbacks.forEach(function(e){return e()}),i.GlobalVars.initializeCallbacks=[],i.GlobalVars.initializeCompleted=!0},n),c.authentication.initialize(),a.settings.initialize(),f.initializePrivateApis(),this._uninitialize=function(){i.GlobalVars.frameContext&&(C(null),h(null),v(null),T(null),b(null),l.logs.registerGetLogHandler(null)),i.GlobalVars.frameContext===u.FrameContexts.settings&&a.settings.registerOnSaveHandler(null),i.GlobalVars.frameContext===u.FrameContexts.remove&&a.settings.registerOnRemoveHandler(null),i.GlobalVars.initializeCalled=!1,i.GlobalVars.initializeCompleted=!1,i.GlobalVars.initializeCallbacks=[],i.GlobalVars.additionalValidOrigins=[],i.GlobalVars.frameContext=null,i.GlobalVars.hostClientType=null,i.GlobalVars.isFramelessWindow=!1,d.uninitializeCommunication()}),Array.isArray(n)&&r.processAdditionalValidOrigins(n),e&&(i.GlobalVars.initializeCompleted?e():i.GlobalVars.initializeCallbacks.push(e))}function p(){window.print()}function C(e){r.ensureInitialized(),m.registerOnThemeChangeHandler(e)}function h(e){r.ensureInitialized(),m.registerHandler(\"fullScreenChange\",e)}function v(e){r.ensureInitialized(),m.registerBackButtonHandler(e)}function b(e){r.ensureInitialized(),m.registerOnLoadHandler(e)}function T(e){r.ensureInitialized(),m.registerBeforeUnloadHandler(e)}function w(e){r.ensureInitialized(u.FrameContexts.content),d.sendMessageToParent(\"setFrameContext\",[e])}n.initialize=g,n._initialize=function(e){d.Communication.currentWindow=e},n._uninitialize=function(){},n.enablePrintCapability=function(){i.GlobalVars.printCapabilityEnabled||(i.GlobalVars.printCapabilityEnabled=!0,r.ensureInitialized(),document.addEventListener(\"keydown\",function(e){(e.ctrlKey||e.metaKey)&&80===e.keyCode&&(p(),e.cancelBubble=!0,e.preventDefault(),e.stopImmediatePropagation())}))},n.print=p,n.getContext=function(e){r.ensureInitialized(),d.sendMessageToParent(\"getContext\",function(n){n.frameContext||(n.frameContext=i.GlobalVars.frameContext),e(n)})},n.registerOnThemeChangeHandler=C,n.registerFullScreenHandler=h,n.registerAppButtonClickHandler=function(e){r.ensureInitialized(u.FrameContexts.content),m.registerHandler(\"appButtonClick\",e)},n.registerAppButtonHoverEnterHandler=function(e){r.ensureInitialized(u.FrameContexts.content),m.registerHandler(\"appButtonHoverEnter\",e)},n.registerAppButtonHoverLeaveHandler=function(e){r.ensureInitialized(u.FrameContexts.content),m.registerHandler(\"appButtonHoverLeave\",e)},n.registerBackButtonHandler=v,n.registerOnLoadHandler=b,n.registerBeforeUnloadHandler=T,n.registerChangeSettingsHandler=function(e){r.ensureInitialized(u.FrameContexts.content),m.registerHandler(\"changeSettings\",e)},n.getTabInstances=function(e,n){r.ensureInitialized(),d.sendMessageToParent(\"getTabInstances\",[n],e)},n.getMruTabInstances=function(e,n){r.ensureInitialized(),d.sendMessageToParent(\"getMruTabInstances\",[n],e)},n.shareDeepLink=function(e){r.ensureInitialized(u.FrameContexts.content,u.FrameContexts.sidePanel,u.FrameContexts.meetingStage),d.sendMessageToParent(\"shareDeepLink\",[e.subEntityId,e.subEntityLabel,e.subEntityWebUrl])},n.executeDeepLink=function(e,n){r.ensureInitialized(u.FrameContexts.content,u.FrameContexts.sidePanel,u.FrameContexts.settings,u.FrameContexts.task,u.FrameContexts.stage,u.FrameContexts.meetingStage),d.sendMessageToParent(\"executeDeepLink\",[e],n||s.getGenericOnCompleteHandler())},n.setFrameContext=w,n.initializeWithFrameContext=function(e,n,t){g(n,t),w(e)}},function(e,n,t){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0});var r=t(1),i=t(5),o=t(2),a=t(0);n.returnFocus=function(e){r.ensureInitialized(o.FrameContexts.content),a.sendMessageToParent(\"returnFocus\",[e])},n.navigateToTab=function(e,n){r.ensureInitialized(),a.sendMessageToParent(\"navigateToTab\",[e],n||i.getGenericOnCompleteHandler(\"Invalid internalTabInstanceId and/or channelId were/was provided\"))},n.navigateCrossDomain=function(e,n){r.ensureInitialized(o.FrameContexts.content,o.FrameContexts.sidePanel,o.FrameContexts.settings,o.FrameContexts.remove,o.FrameContexts.task,o.FrameContexts.stage,o.FrameContexts.meetingStage),a.sendMessageToParent(\"navigateCrossDomain\",[e],n||i.getGenericOnCompleteHandler(\"Cross-origin navigation is only supported for URLs matching the pattern registered in the manifest.\"))},n.navigateBack=function(e){r.ensureInitialized(),a.sendMessageToParent(\"navigateBack\",[],e||i.getGenericOnCompleteHandler(\"Back navigation is not supported in the current client or context.\"))}},function(e,n,t){\"use strict\";var r=this&&this.__rest||function(e,n){var t={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&n.indexOf(r)<0&&(t[r]=e[r]);if(null!=e&&\"function\"==typeof Object.getOwnPropertySymbols){var i=0;for(r=Object.getOwnPropertySymbols(e);i=\nE};k=function(){};exports.unstable_forceFrameRate=function(a){0>a||125>>1,e=a[d];if(void 0!==e&&0I(n,c))void 0!==r&&0>I(r,n)?(a[d]=r,a[v]=c,d=v):(a[d]=n,a[m]=c,d=m);else if(void 0!==r&&0>I(r,c))a[d]=r,a[v]=c,d=v;else break a}}return b}return null}function I(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}var L=[],M=[],N=1,O=null,P=3,Q=!1,R=!1,S=!1;\nfunction T(a){for(var b=J(M);null!==b;){if(null===b.callback)K(M);else if(b.startTime<=a)K(M),b.sortIndex=b.expirationTime,H(L,b);else break;b=J(M)}}function U(a){S=!1;T(a);if(!R)if(null!==J(L))R=!0,f(V);else{var b=J(M);null!==b&&g(U,b.startTime-a)}}\nfunction V(a,b){R=!1;S&&(S=!1,h());Q=!0;var c=P;try{T(b);for(O=J(L);null!==O&&(!(O.expirationTime>b)||a&&!exports.unstable_shouldYield());){var d=O.callback;if(\"function\"===typeof d){O.callback=null;P=O.priorityLevel;var e=d(O.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?O.callback=e:O===J(L)&&K(L);T(b)}else K(L);O=J(L)}if(null!==O)var m=!0;else{var n=J(M);null!==n&&g(U,n.startTime-b);m=!1}return m}finally{O=null,P=c,Q=!1}}var W=k;exports.unstable_IdlePriority=5;\nexports.unstable_ImmediatePriority=1;exports.unstable_LowPriority=4;exports.unstable_NormalPriority=3;exports.unstable_Profiling=null;exports.unstable_UserBlockingPriority=2;exports.unstable_cancelCallback=function(a){a.callback=null};exports.unstable_continueExecution=function(){R||Q||(R=!0,f(V))};exports.unstable_getCurrentPriorityLevel=function(){return P};exports.unstable_getFirstCallbackNode=function(){return J(L)};\nexports.unstable_next=function(a){switch(P){case 1:case 2:case 3:var b=3;break;default:b=P}var c=P;P=b;try{return a()}finally{P=c}};exports.unstable_pauseExecution=function(){};exports.unstable_requestPaint=W;exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=P;P=a;try{return b()}finally{P=c}};\nexports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();\"object\"===typeof c&&null!==c?(c=c.delay,c=\"number\"===typeof c&&0d?(a.sortIndex=c,H(M,a),null===J(L)&&a===J(M)&&(S?h():S=!0,g(U,c-d))):(a.sortIndex=e,H(L,a),R||Q||(R=!0,f(V)));return a};\nexports.unstable_wrapCallback=function(a){var b=P;return function(){var c=P;P=b;try{return a.apply(this,arguments)}finally{P=c}}};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","/** @license React v17.0.2\n * react-dom.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 Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),m=require(\"object-assign\"),r=require(\"scheduler\");function y(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;cb}return!1}function B(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;this.removeEmptyString=g}var D={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){D[a]=new B(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];D[b]=new B(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){D[a]=new B(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){D[a]=new B(a,2,!1,a,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){D[a]=new B(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){D[a]=new B(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){D[a]=new B(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){D[a]=new B(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){D[a]=new B(a,5,!1,a.toLowerCase(),null,!1,!1)});var oa=/[\\-:]([a-z])/g;function pa(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(oa,\npa);D[b]=new B(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(oa,pa);D[b]=new B(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(oa,pa);D[b]=new B(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){D[a]=new B(a,1,!1,a.toLowerCase(),null,!1,!1)});\nD.xlinkHref=new B(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){D[a]=new B(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction qa(a,b,c,d){var e=D.hasOwnProperty(b)?D[b]:null;var f=null!==e?0===e.type:d?!1:!(2h||e[g]!==f[h])return\"\\n\"+e[g].replace(\" at new \",\" at \");while(1<=g&&0<=h)}break}}}finally{Oa=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?Na(a):\"\"}\nfunction Qa(a){switch(a.tag){case 5:return Na(a.type);case 16:return Na(\"Lazy\");case 13:return Na(\"Suspense\");case 19:return Na(\"SuspenseList\");case 0:case 2:case 15:return a=Pa(a.type,!1),a;case 11:return a=Pa(a.type.render,!1),a;case 22:return a=Pa(a.type._render,!1),a;case 1:return a=Pa(a.type,!0),a;default:return\"\"}}\nfunction Ra(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ua:return\"Fragment\";case ta:return\"Portal\";case xa:return\"Profiler\";case wa:return\"StrictMode\";case Ba:return\"Suspense\";case Ca:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case za:return(a.displayName||\"Context\")+\".Consumer\";case ya:return(a._context.displayName||\"Context\")+\".Provider\";case Aa:var b=a.render;b=b.displayName||b.name||\"\";\nreturn a.displayName||(\"\"!==b?\"ForwardRef(\"+b+\")\":\"ForwardRef\");case Da:return Ra(a.type);case Fa:return Ra(a._render);case Ea:b=a._payload;a=a._init;try{return Ra(a(b))}catch(c){}}return null}function Sa(a){switch(typeof a){case \"boolean\":case \"number\":case \"object\":case \"string\":case \"undefined\":return a;default:return\"\"}}function Ta(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ua(a){var b=Ta(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function Va(a){a._valueTracker||(a._valueTracker=Ua(a))}function Wa(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=Ta(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Xa(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}\nfunction Ya(a,b){var c=b.checked;return m({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Za(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Sa(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function $a(a,b){b=b.checked;null!=b&&qa(a,\"checked\",b,!1)}\nfunction ab(a,b){$a(a,b);var c=Sa(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?bb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&bb(a,b.type,Sa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction cb(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction bb(a,b,c){if(\"number\"!==b||Xa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}function db(a){var b=\"\";aa.Children.forEach(a,function(a){null!=a&&(b+=a)});return b}function eb(a,b){a=m({children:void 0},b);if(b=db(b.children))a.children=b;return a}\nfunction fb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e=c.length))throw Error(y(93));c=c[0]}b=c}null==b&&(b=\"\");c=b}a._wrapperState={initialValue:Sa(c)}}\nfunction ib(a,b){var c=Sa(b.value),d=Sa(b.defaultValue);null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=\"\"+d)}function jb(a){var b=a.textContent;b===a._wrapperState.initialValue&&\"\"!==b&&null!==b&&(a.value=b)}var kb={html:\"http://www.w3.org/1999/xhtml\",mathml:\"http://www.w3.org/1998/Math/MathML\",svg:\"http://www.w3.org/2000/svg\"};\nfunction lb(a){switch(a){case \"svg\":return\"http://www.w3.org/2000/svg\";case \"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}function mb(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?lb(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar nb,ob=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(a.namespaceURI!==kb.svg||\"innerHTML\"in a)a.innerHTML=b;else{nb=nb||document.createElement(\"div\");nb.innerHTML=\"\"+b.valueOf().toString()+\"\";for(b=nb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction pb(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar qb={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,\nfloodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},rb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(qb).forEach(function(a){rb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);qb[b]=qb[a]})});function sb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||qb.hasOwnProperty(a)&&qb[a]?(\"\"+b).trim():b+\"px\"}\nfunction tb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=sb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var ub=m({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction vb(a,b){if(b){if(ub[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(y(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(y(60));if(!(\"object\"===typeof b.dangerouslySetInnerHTML&&\"__html\"in b.dangerouslySetInnerHTML))throw Error(y(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(y(62));}}\nfunction wb(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}function xb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var yb=null,zb=null,Ab=null;\nfunction Bb(a){if(a=Cb(a)){if(\"function\"!==typeof yb)throw Error(y(280));var b=a.stateNode;b&&(b=Db(b),yb(a.stateNode,a.type,b))}}function Eb(a){zb?Ab?Ab.push(a):Ab=[a]:zb=a}function Fb(){if(zb){var a=zb,b=Ab;Ab=zb=null;Bb(a);if(b)for(a=0;ad?0:1<c;c++)b.push(a);return b}\nfunction $c(a,b,c){a.pendingLanes|=b;var d=b-1;a.suspendedLanes&=d;a.pingedLanes&=d;a=a.eventTimes;b=31-Vc(b);a[b]=c}var Vc=Math.clz32?Math.clz32:ad,bd=Math.log,cd=Math.LN2;function ad(a){return 0===a?32:31-(bd(a)/cd|0)|0}var dd=r.unstable_UserBlockingPriority,ed=r.unstable_runWithPriority,fd=!0;function gd(a,b,c,d){Kb||Ib();var e=hd,f=Kb;Kb=!0;try{Hb(e,a,b,c,d)}finally{(Kb=f)||Mb()}}function id(a,b,c,d){ed(dd,hd.bind(null,a,b,c,d))}\nfunction hd(a,b,c,d){if(fd){var e;if((e=0===(b&4))&&0=be),ee=String.fromCharCode(32),fe=!1;\nfunction ge(a,b){switch(a){case \"keyup\":return-1!==$d.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"focusout\":return!0;default:return!1}}function he(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var ie=!1;function je(a,b){switch(a){case \"compositionend\":return he(b);case \"keypress\":if(32!==b.which)return null;fe=!0;return ee;case \"textInput\":return a=b.data,a===ee&&fe?null:a;default:return null}}\nfunction ke(a,b){if(ie)return\"compositionend\"===a||!ae&&ge(a,b)?(a=nd(),md=ld=kd=null,ie=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Ke(c)}}function Me(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Me(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Ne(){for(var a=window,b=Xa();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Xa(a.document)}return b}function Oe(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nvar Pe=fa&&\"documentMode\"in document&&11>=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;\nfunction Ue(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;Te||null==Qe||Qe!==Xa(d)||(d=Qe,\"selectionStart\"in d&&Oe(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),Se&&Je(Se,d)||(Se=d,d=oe(Re,\"onSelect\"),0Af||(a.current=zf[Af],zf[Af]=null,Af--)}function I(a,b){Af++;zf[Af]=a.current;a.current=b}var Cf={},M=Bf(Cf),N=Bf(!1),Df=Cf;\nfunction Ef(a,b){var c=a.type.contextTypes;if(!c)return Cf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}function Ff(a){a=a.childContextTypes;return null!==a&&void 0!==a}function Gf(){H(N);H(M)}function Hf(a,b,c){if(M.current!==Cf)throw Error(y(168));I(M,b);I(N,c)}\nfunction If(a,b,c){var d=a.stateNode;a=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in a))throw Error(y(108,Ra(b)||\"Unknown\",e));return m({},c,d)}function Jf(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Cf;Df=M.current;I(M,a);I(N,N.current);return!0}function Kf(a,b,c){var d=a.stateNode;if(!d)throw Error(y(169));c?(a=If(a,b,Df),d.__reactInternalMemoizedMergedChildContext=a,H(N),H(M),I(M,a)):H(N);I(N,c)}\nvar Lf=null,Mf=null,Nf=r.unstable_runWithPriority,Of=r.unstable_scheduleCallback,Pf=r.unstable_cancelCallback,Qf=r.unstable_shouldYield,Rf=r.unstable_requestPaint,Sf=r.unstable_now,Tf=r.unstable_getCurrentPriorityLevel,Uf=r.unstable_ImmediatePriority,Vf=r.unstable_UserBlockingPriority,Wf=r.unstable_NormalPriority,Xf=r.unstable_LowPriority,Yf=r.unstable_IdlePriority,Zf={},$f=void 0!==Rf?Rf:function(){},ag=null,bg=null,cg=!1,dg=Sf(),O=1E4>dg?Sf:function(){return Sf()-dg};\nfunction eg(){switch(Tf()){case Uf:return 99;case Vf:return 98;case Wf:return 97;case Xf:return 96;case Yf:return 95;default:throw Error(y(332));}}function fg(a){switch(a){case 99:return Uf;case 98:return Vf;case 97:return Wf;case 96:return Xf;case 95:return Yf;default:throw Error(y(332));}}function gg(a,b){a=fg(a);return Nf(a,b)}function hg(a,b,c){a=fg(a);return Of(a,b,c)}function ig(){if(null!==bg){var a=bg;bg=null;Pf(a)}jg()}\nfunction jg(){if(!cg&&null!==ag){cg=!0;var a=0;try{var b=ag;gg(99,function(){for(;az?(q=u,u=null):q=u.sibling;var n=p(e,u,h[z],k);if(null===n){null===u&&(u=q);break}a&&u&&null===\nn.alternate&&b(e,u);g=f(n,g,z);null===t?l=n:t.sibling=n;t=n;u=q}if(z===h.length)return c(e,u),l;if(null===u){for(;zz?(q=u,u=null):q=u.sibling;var w=p(e,u,n.value,k);if(null===w){null===u&&(u=q);break}a&&u&&null===w.alternate&&b(e,u);g=f(w,g,z);null===t?l=w:t.sibling=w;t=w;u=q}if(n.done)return c(e,u),l;if(null===u){for(;!n.done;z++,n=h.next())n=A(e,n.value,k),null!==n&&(g=f(n,g,z),null===t?l=n:t.sibling=n,t=n);return l}for(u=d(e,u);!n.done;z++,n=h.next())n=C(u,e,z,n.value,k),null!==n&&(a&&null!==n.alternate&&\nu.delete(null===n.key?z:n.key),g=f(n,g,z),null===t?l=n:t.sibling=n,t=n);a&&u.forEach(function(a){return b(e,a)});return l}return function(a,d,f,h){var k=\"object\"===typeof f&&null!==f&&f.type===ua&&null===f.key;k&&(f=f.props.children);var l=\"object\"===typeof f&&null!==f;if(l)switch(f.$$typeof){case sa:a:{l=f.key;for(k=d;null!==k;){if(k.key===l){switch(k.tag){case 7:if(f.type===ua){c(a,k.sibling);d=e(k,f.props.children);d.return=a;a=d;break a}break;default:if(k.elementType===f.type){c(a,k.sibling);\nd=e(k,f.props);d.ref=Qg(a,k,f);d.return=a;a=d;break a}}c(a,k);break}else b(a,k);k=k.sibling}f.type===ua?(d=Xg(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Vg(f.type,f.key,f.props,null,a.mode,h),h.ref=Qg(a,d,f),h.return=a,a=h)}return g(a);case ta:a:{for(k=f.key;null!==d;){if(d.key===k)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=\nWg(f,a.mode,h);d.return=a;a=d}return g(a)}if(\"string\"===typeof f||\"number\"===typeof f)return f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):(c(a,d),d=Ug(f,a.mode,h),d.return=a,a=d),g(a);if(Pg(f))return x(a,d,f,h);if(La(f))return w(a,d,f,h);l&&Rg(a,f);if(\"undefined\"===typeof f&&!k)switch(a.tag){case 1:case 22:case 0:case 11:case 15:throw Error(y(152,Ra(a.type)||\"Component\"));}return c(a,d)}}var Yg=Sg(!0),Zg=Sg(!1),$g={},ah=Bf($g),bh=Bf($g),ch=Bf($g);\nfunction dh(a){if(a===$g)throw Error(y(174));return a}function eh(a,b){I(ch,b);I(bh,a);I(ah,$g);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:mb(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=mb(b,a)}H(ah);I(ah,b)}function fh(){H(ah);H(bh);H(ch)}function gh(a){dh(ch.current);var b=dh(ah.current);var c=mb(b,a.type);b!==c&&(I(bh,a),I(ah,c))}function hh(a){bh.current===a&&(H(ah),H(bh))}var P=Bf(0);\nfunction ih(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||\"$?\"===c.data||\"$!\"===c.data))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.flags&64))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}var jh=null,kh=null,lh=!1;\nfunction mh(a,b){var c=nh(5,null,null,0);c.elementType=\"DELETED\";c.type=\"DELETED\";c.stateNode=b;c.return=a;c.flags=8;null!==a.lastEffect?(a.lastEffect.nextEffect=c,a.lastEffect=c):a.firstEffect=a.lastEffect=c}function oh(a,b){switch(a.tag){case 5:var c=a.type;b=1!==b.nodeType||c.toLowerCase()!==b.nodeName.toLowerCase()?null:b;return null!==b?(a.stateNode=b,!0):!1;case 6:return b=\"\"===a.pendingProps||3!==b.nodeType?null:b,null!==b?(a.stateNode=b,!0):!1;case 13:return!1;default:return!1}}\nfunction ph(a){if(lh){var b=kh;if(b){var c=b;if(!oh(a,b)){b=rf(c.nextSibling);if(!b||!oh(a,b)){a.flags=a.flags&-1025|2;lh=!1;jh=a;return}mh(jh,c)}jh=a;kh=rf(b.firstChild)}else a.flags=a.flags&-1025|2,lh=!1,jh=a}}function qh(a){for(a=a.return;null!==a&&5!==a.tag&&3!==a.tag&&13!==a.tag;)a=a.return;jh=a}\nfunction rh(a){if(a!==jh)return!1;if(!lh)return qh(a),lh=!0,!1;var b=a.type;if(5!==a.tag||\"head\"!==b&&\"body\"!==b&&!nf(b,a.memoizedProps))for(b=kh;b;)mh(a,b),b=rf(b.nextSibling);qh(a);if(13===a.tag){a=a.memoizedState;a=null!==a?a.dehydrated:null;if(!a)throw Error(y(317));a:{a=a.nextSibling;for(b=0;a;){if(8===a.nodeType){var c=a.data;if(\"/$\"===c){if(0===b){kh=rf(a.nextSibling);break a}b--}else\"$\"!==c&&\"$!\"!==c&&\"$?\"!==c||b++}a=a.nextSibling}kh=null}}else kh=jh?rf(a.stateNode.nextSibling):null;return!0}\nfunction sh(){kh=jh=null;lh=!1}var th=[];function uh(){for(var a=0;af))throw Error(y(301));f+=1;T=S=null;b.updateQueue=null;vh.current=Fh;a=c(d,e)}while(zh)}vh.current=Gh;b=null!==S&&null!==S.next;xh=0;T=S=R=null;yh=!1;if(b)throw Error(y(300));return a}function Hh(){var a={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};null===T?R.memoizedState=T=a:T=T.next=a;return T}\nfunction Ih(){if(null===S){var a=R.alternate;a=null!==a?a.memoizedState:null}else a=S.next;var b=null===T?R.memoizedState:T.next;if(null!==b)T=b,S=a;else{if(null===a)throw Error(y(310));S=a;a={memoizedState:S.memoizedState,baseState:S.baseState,baseQueue:S.baseQueue,queue:S.queue,next:null};null===T?R.memoizedState=T=a:T=T.next=a}return T}function Jh(a,b){return\"function\"===typeof b?b(a):b}\nfunction Kh(a){var b=Ih(),c=b.queue;if(null===c)throw Error(y(311));c.lastRenderedReducer=a;var d=S,e=d.baseQueue,f=c.pending;if(null!==f){if(null!==e){var g=e.next;e.next=f.next;f.next=g}d.baseQueue=e=f;c.pending=null}if(null!==e){e=e.next;d=d.baseState;var h=g=f=null,k=e;do{var l=k.lane;if((xh&l)===l)null!==h&&(h=h.next={lane:0,action:k.action,eagerReducer:k.eagerReducer,eagerState:k.eagerState,next:null}),d=k.eagerReducer===a?k.eagerState:a(d,k.action);else{var n={lane:l,action:k.action,eagerReducer:k.eagerReducer,\neagerState:k.eagerState,next:null};null===h?(g=h=n,f=d):h=h.next=n;R.lanes|=l;Dg|=l}k=k.next}while(null!==k&&k!==e);null===h?f=d:h.next=g;He(d,b.memoizedState)||(ug=!0);b.memoizedState=d;b.baseState=f;b.baseQueue=h;c.lastRenderedState=d}return[b.memoizedState,c.dispatch]}\nfunction Lh(a){var b=Ih(),c=b.queue;if(null===c)throw Error(y(311));c.lastRenderedReducer=a;var d=c.dispatch,e=c.pending,f=b.memoizedState;if(null!==e){c.pending=null;var g=e=e.next;do f=a(f,g.action),g=g.next;while(g!==e);He(f,b.memoizedState)||(ug=!0);b.memoizedState=f;null===b.baseQueue&&(b.baseState=f);c.lastRenderedState=f}return[f,d]}\nfunction Mh(a,b,c){var d=b._getVersion;d=d(b._source);var e=b._workInProgressVersionPrimary;if(null!==e)a=e===d;else if(a=a.mutableReadLanes,a=(xh&a)===a)b._workInProgressVersionPrimary=d,th.push(b);if(a)return c(b._source);th.push(b);throw Error(y(350));}\nfunction Nh(a,b,c,d){var e=U;if(null===e)throw Error(y(349));var f=b._getVersion,g=f(b._source),h=vh.current,k=h.useState(function(){return Mh(e,b,c)}),l=k[1],n=k[0];k=T;var A=a.memoizedState,p=A.refs,C=p.getSnapshot,x=A.source;A=A.subscribe;var w=R;a.memoizedState={refs:p,source:b,subscribe:d};h.useEffect(function(){p.getSnapshot=c;p.setSnapshot=l;var a=f(b._source);if(!He(g,a)){a=c(b._source);He(n,a)||(l(a),a=Ig(w),e.mutableReadLanes|=a&e.pendingLanes);a=e.mutableReadLanes;e.entangledLanes|=a;for(var d=\ne.entanglements,h=a;0c?98:c,function(){a(!0)});gg(97\\x3c/script>\",a=a.removeChild(a.firstChild)):\"string\"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),\"select\"===c&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[wf]=b;a[xf]=d;Bi(a,b,!1,!1);b.stateNode=a;g=wb(c,d);switch(c){case \"dialog\":G(\"cancel\",a);G(\"close\",a);\ne=d;break;case \"iframe\":case \"object\":case \"embed\":G(\"load\",a);e=d;break;case \"video\":case \"audio\":for(e=0;eJi&&(b.flags|=64,f=!0,Fi(d,!1),b.lanes=33554432)}else{if(!f)if(a=ih(g),null!==a){if(b.flags|=64,f=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Fi(d,!0),null===d.tail&&\"hidden\"===d.tailMode&&!g.alternate&&!lh)return b=b.lastEffect=d.lastEffect,null!==b&&(b.nextEffect=null),null}else 2*O()-d.renderingStartTime>Ji&&1073741824!==c&&(b.flags|=\n64,f=!0,Fi(d,!1),b.lanes=33554432);d.isBackwards?(g.sibling=b.child,b.child=g):(c=d.last,null!==c?c.sibling=g:b.child=g,d.last=g)}return null!==d.tail?(c=d.tail,d.rendering=c,d.tail=c.sibling,d.lastEffect=b.lastEffect,d.renderingStartTime=O(),c.sibling=null,b=P.current,I(P,f?b&1|2:b&1),c):null;case 23:case 24:return Ki(),null!==a&&null!==a.memoizedState!==(null!==b.memoizedState)&&\"unstable-defer-without-hiding\"!==d.mode&&(b.flags|=4),null}throw Error(y(156,b.tag));}\nfunction Li(a){switch(a.tag){case 1:Ff(a.type)&&Gf();var b=a.flags;return b&4096?(a.flags=b&-4097|64,a):null;case 3:fh();H(N);H(M);uh();b=a.flags;if(0!==(b&64))throw Error(y(285));a.flags=b&-4097|64;return a;case 5:return hh(a),null;case 13:return H(P),b=a.flags,b&4096?(a.flags=b&-4097|64,a):null;case 19:return H(P),null;case 4:return fh(),null;case 10:return rg(a),null;case 23:case 24:return Ki(),null;default:return null}}\nfunction Mi(a,b){try{var c=\"\",d=b;do c+=Qa(d),d=d.return;while(d);var e=c}catch(f){e=\"\\nError generating stack: \"+f.message+\"\\n\"+f.stack}return{value:a,source:b,stack:e}}function Ni(a,b){try{console.error(b.value)}catch(c){setTimeout(function(){throw c;})}}var Oi=\"function\"===typeof WeakMap?WeakMap:Map;function Pi(a,b,c){c=zg(-1,c);c.tag=3;c.payload={element:null};var d=b.value;c.callback=function(){Qi||(Qi=!0,Ri=d);Ni(a,b)};return c}\nfunction Si(a,b,c){c=zg(-1,c);c.tag=3;var d=a.type.getDerivedStateFromError;if(\"function\"===typeof d){var e=b.value;c.payload=function(){Ni(a,b);return d(e)}}var f=a.stateNode;null!==f&&\"function\"===typeof f.componentDidCatch&&(c.callback=function(){\"function\"!==typeof d&&(null===Ti?Ti=new Set([this]):Ti.add(this),Ni(a,b));var c=b.stack;this.componentDidCatch(b.value,{componentStack:null!==c?c:\"\"})});return c}var Ui=\"function\"===typeof WeakSet?WeakSet:Set;\nfunction Vi(a){var b=a.ref;if(null!==b)if(\"function\"===typeof b)try{b(null)}catch(c){Wi(a,c)}else b.current=null}function Xi(a,b){switch(b.tag){case 0:case 11:case 15:case 22:return;case 1:if(b.flags&256&&null!==a){var c=a.memoizedProps,d=a.memoizedState;a=b.stateNode;b=a.getSnapshotBeforeUpdate(b.elementType===b.type?c:lg(b.type,c),d);a.__reactInternalSnapshotBeforeUpdate=b}return;case 3:b.flags&256&&qf(b.stateNode.containerInfo);return;case 5:case 6:case 4:case 17:return}throw Error(y(163));}\nfunction Yi(a,b,c){switch(c.tag){case 0:case 11:case 15:case 22:b=c.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){a=b=b.next;do{if(3===(a.tag&3)){var d=a.create;a.destroy=d()}a=a.next}while(a!==b)}b=c.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){a=b=b.next;do{var e=a;d=e.next;e=e.tag;0!==(e&4)&&0!==(e&1)&&(Zi(c,a),$i(c,a));a=d}while(a!==b)}return;case 1:a=c.stateNode;c.flags&4&&(null===b?a.componentDidMount():(d=c.elementType===c.type?b.memoizedProps:lg(c.type,b.memoizedProps),a.componentDidUpdate(d,\nb.memoizedState,a.__reactInternalSnapshotBeforeUpdate)));b=c.updateQueue;null!==b&&Eg(c,b,a);return;case 3:b=c.updateQueue;if(null!==b){a=null;if(null!==c.child)switch(c.child.tag){case 5:a=c.child.stateNode;break;case 1:a=c.child.stateNode}Eg(c,b,a)}return;case 5:a=c.stateNode;null===b&&c.flags&4&&mf(c.type,c.memoizedProps)&&a.focus();return;case 6:return;case 4:return;case 12:return;case 13:null===c.memoizedState&&(c=c.alternate,null!==c&&(c=c.memoizedState,null!==c&&(c=c.dehydrated,null!==c&&Cc(c))));\nreturn;case 19:case 17:case 20:case 21:case 23:case 24:return}throw Error(y(163));}\nfunction aj(a,b){for(var c=a;;){if(5===c.tag){var d=c.stateNode;if(b)d=d.style,\"function\"===typeof d.setProperty?d.setProperty(\"display\",\"none\",\"important\"):d.display=\"none\";else{d=c.stateNode;var e=c.memoizedProps.style;e=void 0!==e&&null!==e&&e.hasOwnProperty(\"display\")?e.display:null;d.style.display=sb(\"display\",e)}}else if(6===c.tag)c.stateNode.nodeValue=b?\"\":c.memoizedProps;else if((23!==c.tag&&24!==c.tag||null===c.memoizedState||c===a)&&null!==c.child){c.child.return=c;c=c.child;continue}if(c===\na)break;for(;null===c.sibling;){if(null===c.return||c.return===a)return;c=c.return}c.sibling.return=c.return;c=c.sibling}}\nfunction bj(a,b){if(Mf&&\"function\"===typeof Mf.onCommitFiberUnmount)try{Mf.onCommitFiberUnmount(Lf,b)}catch(f){}switch(b.tag){case 0:case 11:case 14:case 15:case 22:a=b.updateQueue;if(null!==a&&(a=a.lastEffect,null!==a)){var c=a=a.next;do{var d=c,e=d.destroy;d=d.tag;if(void 0!==e)if(0!==(d&4))Zi(b,c);else{d=b;try{e()}catch(f){Wi(d,f)}}c=c.next}while(c!==a)}break;case 1:Vi(b);a=b.stateNode;if(\"function\"===typeof a.componentWillUnmount)try{a.props=b.memoizedProps,a.state=b.memoizedState,a.componentWillUnmount()}catch(f){Wi(b,\nf)}break;case 5:Vi(b);break;case 4:cj(a,b)}}function dj(a){a.alternate=null;a.child=null;a.dependencies=null;a.firstEffect=null;a.lastEffect=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.return=null;a.updateQueue=null}function ej(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction fj(a){a:{for(var b=a.return;null!==b;){if(ej(b))break a;b=b.return}throw Error(y(160));}var c=b;b=c.stateNode;switch(c.tag){case 5:var d=!1;break;case 3:b=b.containerInfo;d=!0;break;case 4:b=b.containerInfo;d=!0;break;default:throw Error(y(161));}c.flags&16&&(pb(b,\"\"),c.flags&=-17);a:b:for(c=a;;){for(;null===c.sibling;){if(null===c.return||ej(c.return)){c=null;break a}c=c.return}c.sibling.return=c.return;for(c=c.sibling;5!==c.tag&&6!==c.tag&&18!==c.tag;){if(c.flags&2)continue b;if(null===\nc.child||4===c.tag)continue b;else c.child.return=c,c=c.child}if(!(c.flags&2)){c=c.stateNode;break a}}d?gj(a,c,b):hj(a,c,b)}\nfunction gj(a,b,c){var d=a.tag,e=5===d||6===d;if(e)a=e?a.stateNode:a.stateNode.instance,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=jf));else if(4!==d&&(a=a.child,null!==a))for(gj(a,b,c),a=a.sibling;null!==a;)gj(a,b,c),a=a.sibling}\nfunction hj(a,b,c){var d=a.tag,e=5===d||6===d;if(e)a=e?a.stateNode:a.stateNode.instance,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(hj(a,b,c),a=a.sibling;null!==a;)hj(a,b,c),a=a.sibling}\nfunction cj(a,b){for(var c=b,d=!1,e,f;;){if(!d){d=c.return;a:for(;;){if(null===d)throw Error(y(160));e=d.stateNode;switch(d.tag){case 5:f=!1;break a;case 3:e=e.containerInfo;f=!0;break a;case 4:e=e.containerInfo;f=!0;break a}d=d.return}d=!0}if(5===c.tag||6===c.tag){a:for(var g=a,h=c,k=h;;)if(bj(g,k),null!==k.child&&4!==k.tag)k.child.return=k,k=k.child;else{if(k===h)break a;for(;null===k.sibling;){if(null===k.return||k.return===h)break a;k=k.return}k.sibling.return=k.return;k=k.sibling}f?(g=e,h=c.stateNode,\n8===g.nodeType?g.parentNode.removeChild(h):g.removeChild(h)):e.removeChild(c.stateNode)}else if(4===c.tag){if(null!==c.child){e=c.stateNode.containerInfo;f=!0;c.child.return=c;c=c.child;continue}}else if(bj(a,c),null!==c.child){c.child.return=c;c=c.child;continue}if(c===b)break;for(;null===c.sibling;){if(null===c.return||c.return===b)return;c=c.return;4===c.tag&&(d=!1)}c.sibling.return=c.return;c=c.sibling}}\nfunction ij(a,b){switch(b.tag){case 0:case 11:case 14:case 15:case 22:var c=b.updateQueue;c=null!==c?c.lastEffect:null;if(null!==c){var d=c=c.next;do 3===(d.tag&3)&&(a=d.destroy,d.destroy=void 0,void 0!==a&&a()),d=d.next;while(d!==c)}return;case 1:return;case 5:c=b.stateNode;if(null!=c){d=b.memoizedProps;var e=null!==a?a.memoizedProps:d;a=b.type;var f=b.updateQueue;b.updateQueue=null;if(null!==f){c[xf]=d;\"input\"===a&&\"radio\"===d.type&&null!=d.name&&$a(c,d);wb(a,e);b=wb(a,d);for(e=0;ee&&(e=g);c&=~f}c=e;c=O()-c;c=(120>c?120:480>c?480:1080>c?1080:1920>c?1920:3E3>c?3E3:4320>\nc?4320:1960*nj(c/1960))-c;if(10 component higher in the tree to provide a loading indicator or placeholder to display.\")}5!==V&&(V=2);k=Mi(k,h);p=\ng;do{switch(p.tag){case 3:f=k;p.flags|=4096;b&=-b;p.lanes|=b;var J=Pi(p,f,b);Bg(p,J);break a;case 1:f=k;var K=p.type,Q=p.stateNode;if(0===(p.flags&64)&&(\"function\"===typeof K.getDerivedStateFromError||null!==Q&&\"function\"===typeof Q.componentDidCatch&&(null===Ti||!Ti.has(Q)))){p.flags|=4096;b&=-b;p.lanes|=b;var L=Si(p,f,b);Bg(p,L);break a}}p=p.return}while(null!==p)}Zj(c)}catch(va){b=va;Y===c&&null!==c&&(Y=c=c.return);continue}break}while(1)}\nfunction Pj(){var a=oj.current;oj.current=Gh;return null===a?Gh:a}function Tj(a,b){var c=X;X|=16;var d=Pj();U===a&&W===b||Qj(a,b);do try{ak();break}catch(e){Sj(a,e)}while(1);qg();X=c;oj.current=d;if(null!==Y)throw Error(y(261));U=null;W=0;return V}function ak(){for(;null!==Y;)bk(Y)}function Rj(){for(;null!==Y&&!Qf();)bk(Y)}function bk(a){var b=ck(a.alternate,a,qj);a.memoizedProps=a.pendingProps;null===b?Zj(a):Y=b;pj.current=null}\nfunction Zj(a){var b=a;do{var c=b.alternate;a=b.return;if(0===(b.flags&2048)){c=Gi(c,b,qj);if(null!==c){Y=c;return}c=b;if(24!==c.tag&&23!==c.tag||null===c.memoizedState||0!==(qj&1073741824)||0===(c.mode&4)){for(var d=0,e=c.child;null!==e;)d|=e.lanes|e.childLanes,e=e.sibling;c.childLanes=d}null!==a&&0===(a.flags&2048)&&(null===a.firstEffect&&(a.firstEffect=b.firstEffect),null!==b.lastEffect&&(null!==a.lastEffect&&(a.lastEffect.nextEffect=b.firstEffect),a.lastEffect=b.lastEffect),1g&&(h=g,g=J,J=h),h=Le(t,J),f=Le(t,g),h&&f&&(1!==v.rangeCount||v.anchorNode!==h.node||v.anchorOffset!==h.offset||v.focusNode!==f.node||v.focusOffset!==f.offset)&&(q=q.createRange(),q.setStart(h.node,h.offset),v.removeAllRanges(),J>g?(v.addRange(q),v.extend(f.node,f.offset)):(q.setEnd(f.node,f.offset),v.addRange(q))))));q=[];for(v=t;v=v.parentNode;)1===v.nodeType&&q.push({element:v,left:v.scrollLeft,top:v.scrollTop});\"function\"===typeof t.focus&&t.focus();for(t=\n0;tO()-jj?Qj(a,0):uj|=c);Mj(a,b)}function lj(a,b){var c=a.stateNode;null!==c&&c.delete(b);b=0;0===b&&(b=a.mode,0===(b&2)?b=1:0===(b&4)?b=99===eg()?1:2:(0===Gj&&(Gj=tj),b=Yc(62914560&~Gj),0===b&&(b=4194304)));c=Hg();a=Kj(a,b);null!==a&&($c(a,b,c),Mj(a,c))}var ck;\nck=function(a,b,c){var d=b.lanes;if(null!==a)if(a.memoizedProps!==b.pendingProps||N.current)ug=!0;else if(0!==(c&d))ug=0!==(a.flags&16384)?!0:!1;else{ug=!1;switch(b.tag){case 3:ri(b);sh();break;case 5:gh(b);break;case 1:Ff(b.type)&&Jf(b);break;case 4:eh(b,b.stateNode.containerInfo);break;case 10:d=b.memoizedProps.value;var e=b.type._context;I(mg,e._currentValue);e._currentValue=d;break;case 13:if(null!==b.memoizedState){if(0!==(c&b.child.childLanes))return ti(a,b,c);I(P,P.current&1);b=hi(a,b,c);return null!==\nb?b.sibling:null}I(P,P.current&1);break;case 19:d=0!==(c&b.childLanes);if(0!==(a.flags&64)){if(d)return Ai(a,b,c);b.flags|=64}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null,e.lastEffect=null);I(P,P.current);if(d)break;else return null;case 23:case 24:return b.lanes=0,mi(a,b,c)}return hi(a,b,c)}else ug=!1;b.lanes=0;switch(b.tag){case 2:d=b.type;null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2);a=b.pendingProps;e=Ef(b,M.current);tg(b,c);e=Ch(null,b,d,a,e,c);b.flags|=1;if(\"object\"===\ntypeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof){b.tag=1;b.memoizedState=null;b.updateQueue=null;if(Ff(d)){var f=!0;Jf(b)}else f=!1;b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null;xg(b);var g=d.getDerivedStateFromProps;\"function\"===typeof g&&Gg(b,d,g,a);e.updater=Kg;b.stateNode=e;e._reactInternals=b;Og(b,d,a,c);b=qi(null,b,d,!0,f,c)}else b.tag=0,fi(null,b,e,c),b=b.child;return b;case 16:e=b.elementType;a:{null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2);\na=b.pendingProps;f=e._init;e=f(e._payload);b.type=e;f=b.tag=hk(e);a=lg(e,a);switch(f){case 0:b=li(null,b,e,a,c);break a;case 1:b=pi(null,b,e,a,c);break a;case 11:b=gi(null,b,e,a,c);break a;case 14:b=ii(null,b,e,lg(e.type,a),d,c);break a}throw Error(y(306,e,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:lg(d,e),li(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:lg(d,e),pi(a,b,d,e,c);case 3:ri(b);d=b.updateQueue;if(null===a||null===d)throw Error(y(282));\nd=b.pendingProps;e=b.memoizedState;e=null!==e?e.element:null;yg(a,b);Cg(b,d,null,c);d=b.memoizedState.element;if(d===e)sh(),b=hi(a,b,c);else{e=b.stateNode;if(f=e.hydrate)kh=rf(b.stateNode.containerInfo.firstChild),jh=b,f=lh=!0;if(f){a=e.mutableSourceEagerHydrationData;if(null!=a)for(e=0;e>(-2*a&6)):0)o=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\".indexOf(o);return c};function t(e){var t=e.replace(/-/g,\"+\").replace(/_/g,\"/\");switch(t.length%4){case 0:break;case 2:t+=\"==\";break;case 3:t+=\"=\";break;default:throw\"Illegal base64url string!\"}try{return function(e){return decodeURIComponent(r(e).replace(/(.)/g,(function(e,r){var t=r.charCodeAt(0).toString(16).toUpperCase();return t.length<2&&(t=\"0\"+t),\"%\"+t})))}(t)}catch(e){return r(t)}}function n(e){this.message=e}function o(e,r){if(\"string\"!=typeof e)throw new n(\"Invalid token specified\");var o=!0===(r=r||{}).header?0:1;try{return JSON.parse(t(e.split(\".\")[o]))}catch(e){throw new n(\"Invalid token specified: \"+e.message)}}n.prototype=new Error,n.prototype.name=\"InvalidTokenError\";export default o;export{n as InvalidTokenError};\n//# sourceMappingURL=jwt-decode.esm.js.map\n","'use strict';\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n ) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (process.env.NODE_ENV === 'production') {\n // DCE check should happen before ReactDOM bundle executes so that\n // DevTools can report bad minification during injection.\n checkDCE();\n module.exports = require('./cjs/react-dom.production.min.js');\n} else {\n module.exports = require('./cjs/react-dom.development.js');\n}\n","// A packages cache that makes sure that we don't inject the same packageName twice in the same bundle -\n// this cache is local to the module closure inside this bundle\nvar packagesCache = {};\n// Cache access to window to avoid IE11 memory leak.\nvar _win = undefined;\ntry {\n _win = window;\n}\ncatch (e) {\n /* no-op */\n}\nexport function setVersion(packageName, packageVersion) {\n if (typeof _win !== 'undefined') {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var packages = (_win.__packages__ = _win.__packages__ || {});\n // We allow either the global packages or local packages caches to invalidate so testing can\n // just clear the global to set this state\n if (!packages[packageName] || !packagesCache[packageName]) {\n packagesCache[packageName] = packageVersion;\n var versions = (packages[packageName] = packages[packageName] || []);\n versions.push(packageVersion);\n }\n }\n}\n//# sourceMappingURL=setVersion.js.map","import { setVersion } from './setVersion';\nexport { setVersion };\nsetVersion('@fluentui/set-version', '6.0.0');\n//# sourceMappingURL=index.js.map","import { __assign } from \"tslib\";\nexport var InjectionMode = {\n /**\n * Avoids style injection, use getRules() to read the styles.\n */\n none: 0,\n /**\n * Inserts rules using the insertRule api.\n */\n insertNode: 1,\n /**\n * Appends rules using appendChild.\n */\n appendChild: 2,\n};\nvar STYLESHEET_SETTING = '__stylesheet__';\n/**\n * MSIE 11 doesn't cascade styles based on DOM ordering, but rather on the order that each style node\n * is created. As such, to maintain consistent priority, IE11 should reuse a single style node.\n */\nvar REUSE_STYLE_NODE = typeof navigator !== 'undefined' && /rv:11.0/.test(navigator.userAgent);\nvar _global = {};\n// Grab window.\ntry {\n _global = window;\n}\ncatch (_a) {\n /* leave as blank object */\n}\nvar _stylesheet;\n/**\n * Represents the state of styles registered in the page. Abstracts\n * the surface for adding styles to the stylesheet, exposes helpers\n * for reading the styles registered in server rendered scenarios.\n *\n * @public\n */\nvar Stylesheet = /** @class */ (function () {\n function Stylesheet(config) {\n this._rules = [];\n this._preservedRules = [];\n this._rulesToInsert = [];\n this._counter = 0;\n this._keyToClassName = {};\n this._onResetCallbacks = [];\n this._classNameToArgs = {};\n this._config = __assign({ injectionMode: InjectionMode.insertNode, defaultPrefix: 'css', namespace: undefined, cspSettings: undefined }, config);\n this._keyToClassName = this._config.classNameCache || {};\n }\n /**\n * Gets the singleton instance.\n */\n Stylesheet.getInstance = function () {\n _stylesheet = _global[STYLESHEET_SETTING];\n if (!_stylesheet || (_stylesheet._lastStyleElement && _stylesheet._lastStyleElement.ownerDocument !== document)) {\n var fabricConfig = (_global === null || _global === void 0 ? void 0 : _global.FabricConfig) || {};\n _stylesheet = _global[STYLESHEET_SETTING] = new Stylesheet(fabricConfig.mergeStyles);\n }\n return _stylesheet;\n };\n /**\n * Configures the stylesheet.\n */\n Stylesheet.prototype.setConfig = function (config) {\n this._config = __assign(__assign({}, this._config), config);\n };\n /**\n * Configures a reset callback.\n *\n * @param callback - A callback which will be called when the Stylesheet is reset.\n */\n Stylesheet.prototype.onReset = function (callback) {\n this._onResetCallbacks.push(callback);\n };\n /**\n * Generates a unique classname.\n *\n * @param displayName - Optional value to use as a prefix.\n */\n Stylesheet.prototype.getClassName = function (displayName) {\n var namespace = this._config.namespace;\n var prefix = displayName || this._config.defaultPrefix;\n return \"\" + (namespace ? namespace + '-' : '') + prefix + \"-\" + this._counter++;\n };\n /**\n * Used internally to cache information about a class which was\n * registered with the stylesheet.\n */\n Stylesheet.prototype.cacheClassName = function (className, key, args, rules) {\n this._keyToClassName[key] = className;\n this._classNameToArgs[className] = {\n args: args,\n rules: rules,\n };\n };\n /**\n * Gets the appropriate classname given a key which was previously\n * registered using cacheClassName.\n */\n Stylesheet.prototype.classNameFromKey = function (key) {\n return this._keyToClassName[key];\n };\n /**\n * Gets all classnames cache with the stylesheet.\n */\n Stylesheet.prototype.getClassNameCache = function () {\n return this._keyToClassName;\n };\n /**\n * Gets the arguments associated with a given classname which was\n * previously registered using cacheClassName.\n */\n Stylesheet.prototype.argsFromClassName = function (className) {\n var entry = this._classNameToArgs[className];\n return entry && entry.args;\n };\n /**\n * Gets the arguments associated with a given classname which was\n * previously registered using cacheClassName.\n */\n Stylesheet.prototype.insertedRulesFromClassName = function (className) {\n var entry = this._classNameToArgs[className];\n return entry && entry.rules;\n };\n /**\n * Inserts a css rule into the stylesheet.\n * @param preserve - Preserves the rule beyond a reset boundary.\n */\n Stylesheet.prototype.insertRule = function (rule, preserve) {\n var injectionMode = this._config.injectionMode;\n var element = injectionMode !== InjectionMode.none ? this._getStyleElement() : undefined;\n if (preserve) {\n this._preservedRules.push(rule);\n }\n if (element) {\n switch (this._config.injectionMode) {\n case InjectionMode.insertNode:\n var sheet = element.sheet;\n try {\n sheet.insertRule(rule, sheet.cssRules.length);\n }\n catch (e) {\n // The browser will throw exceptions on unsupported rules (such as a moz prefix in webkit.)\n // We need to swallow the exceptions for this scenario, otherwise we'd need to filter\n // which could be slower and bulkier.\n }\n break;\n case InjectionMode.appendChild:\n element.appendChild(document.createTextNode(rule));\n break;\n }\n }\n else {\n this._rules.push(rule);\n }\n if (this._config.onInsertRule) {\n this._config.onInsertRule(rule);\n }\n };\n /**\n * Gets all rules registered with the stylesheet; only valid when\n * using InsertionMode.none.\n */\n Stylesheet.prototype.getRules = function (includePreservedRules) {\n return ((includePreservedRules ? this._preservedRules.join('') : '') + this._rules.join('') + this._rulesToInsert.join(''));\n };\n /**\n * Resets the internal state of the stylesheet. Only used in server\n * rendered scenarios where we're using InsertionMode.none.\n */\n Stylesheet.prototype.reset = function () {\n this._rules = [];\n this._rulesToInsert = [];\n this._counter = 0;\n this._classNameToArgs = {};\n this._keyToClassName = {};\n this._onResetCallbacks.forEach(function (callback) { return callback(); });\n };\n // Forces the regeneration of incoming styles without totally resetting the stylesheet.\n Stylesheet.prototype.resetKeys = function () {\n this._keyToClassName = {};\n };\n Stylesheet.prototype._getStyleElement = function () {\n var _this = this;\n if (!this._styleElement && typeof document !== 'undefined') {\n this._styleElement = this._createStyleElement();\n if (!REUSE_STYLE_NODE) {\n // Reset the style element on the next frame.\n window.requestAnimationFrame(function () {\n _this._styleElement = undefined;\n });\n }\n }\n return this._styleElement;\n };\n Stylesheet.prototype._createStyleElement = function () {\n var head = document.head;\n var styleElement = document.createElement('style');\n styleElement.setAttribute('data-merge-styles', 'true');\n var cspSettings = this._config.cspSettings;\n if (cspSettings) {\n if (cspSettings.nonce) {\n styleElement.setAttribute('nonce', cspSettings.nonce);\n }\n }\n if (this._lastStyleElement) {\n // If the `nextElementSibling` is null, then the insertBefore will act as a regular append.\n // https://developer.mozilla.org/en-US/docs/Web/API/Node/insertBefore#Syntax\n head.insertBefore(styleElement, this._lastStyleElement.nextElementSibling);\n }\n else {\n var placeholderStyleTag = this._findPlaceholderStyleTag();\n if (placeholderStyleTag) {\n head.insertBefore(styleElement, placeholderStyleTag.nextElementSibling);\n }\n else {\n head.insertBefore(styleElement, head.childNodes[0]);\n }\n }\n this._lastStyleElement = styleElement;\n return styleElement;\n };\n Stylesheet.prototype._findPlaceholderStyleTag = function () {\n var head = document.head;\n if (head) {\n return head.querySelector('style[data-merge-styles]');\n }\n return null;\n };\n return Stylesheet;\n}());\nexport { Stylesheet };\n//# sourceMappingURL=Stylesheet.js.map","import { Stylesheet } from './Stylesheet';\n/**\n * Separates the classes and style objects. Any classes that are pre-registered\n * args are auto expanded into objects.\n */\nexport function extractStyleParts() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var classes = [];\n var objects = [];\n var stylesheet = Stylesheet.getInstance();\n function _processArgs(argsList) {\n for (var _i = 0, argsList_1 = argsList; _i < argsList_1.length; _i++) {\n var arg = argsList_1[_i];\n if (arg) {\n if (typeof arg === 'string') {\n if (arg.indexOf(' ') >= 0) {\n _processArgs(arg.split(' '));\n }\n else {\n var translatedArgs = stylesheet.argsFromClassName(arg);\n if (translatedArgs) {\n _processArgs(translatedArgs);\n }\n else {\n // Avoid adding the same class twice.\n if (classes.indexOf(arg) === -1) {\n classes.push(arg);\n }\n }\n }\n }\n else if (Array.isArray(arg)) {\n _processArgs(arg);\n }\n else if (typeof arg === 'object') {\n objects.push(arg);\n }\n }\n }\n }\n _processArgs(args);\n return {\n classes: classes,\n objects: objects,\n };\n}\n//# sourceMappingURL=extractStyleParts.js.map","/**\n * Sets the current RTL value.\n */\nexport function setRTL(isRTL) {\n if (_rtl !== isRTL) {\n _rtl = isRTL;\n }\n}\n/**\n * Gets the current RTL value.\n */\nexport function getRTL() {\n if (_rtl === undefined) {\n _rtl =\n typeof document !== 'undefined' &&\n !!document.documentElement &&\n document.documentElement.getAttribute('dir') === 'rtl';\n }\n return _rtl;\n}\n// This has been split into 2 lines because it was working in Fabric due to the code being transpiled to es5, so this\n// was converted to var while not working in Fluent that uses babel to transpile the code to be es6-like. Splitting the\n// logic into two lines, however, allows it to work in both scenarios.\nvar _rtl;\n_rtl = getRTL();\nexport function getStyleOptions() {\n return {\n rtl: getRTL(),\n };\n}\n//# sourceMappingURL=StyleOptionsState.js.map","var rules = {};\nexport function kebabRules(rulePairs, index) {\n var rule = rulePairs[index];\n if (rule.charAt(0) !== '-') {\n rulePairs[index] = rules[rule] = rules[rule] || rule.replace(/([A-Z])/g, '-$1').toLowerCase();\n }\n}\n//# sourceMappingURL=kebabRules.js.map","var _vendorSettings;\nexport function getVendorSettings() {\n if (!_vendorSettings) {\n var doc = typeof document !== 'undefined' ? document : undefined;\n var nav = typeof navigator !== 'undefined' ? navigator : undefined;\n var userAgent = nav ? nav.userAgent.toLowerCase() : undefined;\n if (!doc) {\n _vendorSettings = {\n isWebkit: true,\n isMoz: true,\n isOpera: true,\n isMs: true,\n };\n }\n else {\n _vendorSettings = {\n isWebkit: !!(doc && 'WebkitAppearance' in doc.documentElement.style),\n isMoz: !!(userAgent && userAgent.indexOf('firefox') > -1),\n isOpera: !!(userAgent && userAgent.indexOf('opera') > -1),\n isMs: !!(nav && (/rv:11.0/i.test(nav.userAgent) || /Edge\\/\\d./i.test(navigator.userAgent))),\n };\n }\n }\n return _vendorSettings;\n}\n/**\n * Sets the vendor settings for prefixing and vendor specific operations.\n */\nexport function setVendorSettings(vendorSettings) {\n _vendorSettings = vendorSettings;\n}\n//# sourceMappingURL=getVendorSettings.js.map","import { getVendorSettings } from '../getVendorSettings';\nvar autoPrefixNames = {\n 'user-select': 1,\n};\nexport function prefixRules(rulePairs, index) {\n var vendorSettings = getVendorSettings();\n var name = rulePairs[index];\n if (autoPrefixNames[name]) {\n var value = rulePairs[index + 1];\n if (autoPrefixNames[name]) {\n if (vendorSettings.isWebkit) {\n rulePairs.push('-webkit-' + name, value);\n }\n if (vendorSettings.isMoz) {\n rulePairs.push('-moz-' + name, value);\n }\n if (vendorSettings.isMs) {\n rulePairs.push('-ms-' + name, value);\n }\n if (vendorSettings.isOpera) {\n rulePairs.push('-o-' + name, value);\n }\n }\n }\n}\n//# sourceMappingURL=prefixRules.js.map","var NON_PIXEL_NUMBER_PROPS = [\n 'column-count',\n 'font-weight',\n 'flex',\n 'flex-grow',\n 'flex-shrink',\n 'fill-opacity',\n 'opacity',\n 'order',\n 'z-index',\n 'zoom',\n];\nexport function provideUnits(rulePairs, index) {\n var name = rulePairs[index];\n var value = rulePairs[index + 1];\n if (typeof value === 'number') {\n var isNonPixelProp = NON_PIXEL_NUMBER_PROPS.indexOf(name) > -1;\n var isVariableOrPrefixed = name.indexOf('--') > -1;\n var unit = isNonPixelProp || isVariableOrPrefixed ? '' : 'px';\n rulePairs[index + 1] = \"\" + value + unit;\n }\n}\n//# sourceMappingURL=provideUnits.js.map","var _a;\nvar LEFT = 'left';\nvar RIGHT = 'right';\nvar NO_FLIP = '@noflip';\nvar NAME_REPLACEMENTS = (_a = {},\n _a[LEFT] = RIGHT,\n _a[RIGHT] = LEFT,\n _a);\nvar VALUE_REPLACEMENTS = {\n 'w-resize': 'e-resize',\n 'sw-resize': 'se-resize',\n 'nw-resize': 'ne-resize',\n};\n/**\n * RTLifies the rulePair in the array at the current index. This mutates the array for performance\n * reasons.\n */\nexport function rtlifyRules(options, rulePairs, index) {\n if (options.rtl) {\n var name_1 = rulePairs[index];\n if (!name_1) {\n return;\n }\n var value = rulePairs[index + 1];\n if (typeof value === 'string' && value.indexOf(NO_FLIP) >= 0) {\n rulePairs[index + 1] = value.replace(/\\s*(?:\\/\\*\\s*)?\\@noflip\\b(?:\\s*\\*\\/)?\\s*?/g, '');\n }\n else if (name_1.indexOf(LEFT) >= 0) {\n rulePairs[index] = name_1.replace(LEFT, RIGHT);\n }\n else if (name_1.indexOf(RIGHT) >= 0) {\n rulePairs[index] = name_1.replace(RIGHT, LEFT);\n }\n else if (String(value).indexOf(LEFT) >= 0) {\n rulePairs[index + 1] = value.replace(LEFT, RIGHT);\n }\n else if (String(value).indexOf(RIGHT) >= 0) {\n rulePairs[index + 1] = value.replace(RIGHT, LEFT);\n }\n else if (NAME_REPLACEMENTS[name_1]) {\n rulePairs[index] = NAME_REPLACEMENTS[name_1];\n }\n else if (VALUE_REPLACEMENTS[value]) {\n rulePairs[index + 1] = VALUE_REPLACEMENTS[value];\n }\n else {\n switch (name_1) {\n case 'margin':\n case 'padding':\n rulePairs[index + 1] = flipQuad(value);\n break;\n case 'box-shadow':\n rulePairs[index + 1] = negateNum(value, 0);\n break;\n }\n }\n }\n}\n/**\n * Given a string value in a space delimited format (e.g. \"1 2 3 4\"), negates a particular value.\n */\nfunction negateNum(value, partIndex) {\n var parts = value.split(' ');\n var numberVal = parseInt(parts[partIndex], 10);\n parts[0] = parts[0].replace(String(numberVal), String(numberVal * -1));\n return parts.join(' ');\n}\n/**\n * Given a string quad, flips the left and right values.\n */\nfunction flipQuad(value) {\n if (typeof value === 'string') {\n var parts = value.split(' ');\n if (parts.length === 4) {\n return parts[0] + \" \" + parts[3] + \" \" + parts[2] + \" \" + parts[1];\n }\n }\n return value;\n}\n//# sourceMappingURL=rtlifyRules.js.map","import { __spreadArrays } from \"tslib\";\nimport { Stylesheet } from './Stylesheet';\nimport { kebabRules } from './transforms/kebabRules';\nimport { prefixRules } from './transforms/prefixRules';\nimport { provideUnits } from './transforms/provideUnits';\nimport { rtlifyRules } from './transforms/rtlifyRules';\nimport { tokenizeWithParentheses } from './tokenizeWithParentheses';\nvar DISPLAY_NAME = 'displayName';\nfunction getDisplayName(rules) {\n var rootStyle = rules && rules['&'];\n return rootStyle ? rootStyle.displayName : undefined;\n}\nvar globalSelectorRegExp = /\\:global\\((.+?)\\)/g;\n/**\n * Finds comma separated selectors in a :global() e.g. \":global(.class1, .class2, .class3)\"\n * and wraps them each in their own global \":global(.class1), :global(.class2), :global(.class3)\"\n *\n * @param selectorWithGlobals The selector to process\n * @returns The updated selector\n */\nfunction expandCommaSeparatedGlobals(selectorWithGlobals) {\n // We the selector does not have a :global() we can shortcut\n if (!globalSelectorRegExp.test(selectorWithGlobals)) {\n return selectorWithGlobals;\n }\n var replacementInfo = [];\n var findGlobal = /\\:global\\((.+?)\\)/g;\n var match = null;\n // Create a result list for global selectors so we can replace them.\n while ((match = findGlobal.exec(selectorWithGlobals))) {\n // Only if the found selector is a comma separated list we'll process it.\n if (match[1].indexOf(',') > -1) {\n replacementInfo.push([\n match.index,\n match.index + match[0].length,\n // Wrap each of the found selectors in :global()\n match[1]\n .split(',')\n .map(function (v) { return \":global(\" + v.trim() + \")\"; })\n .join(', '),\n ]);\n }\n }\n // Replace the found selectors with their wrapped variants in reverse order\n return replacementInfo\n .reverse()\n .reduce(function (selector, _a) {\n var matchIndex = _a[0], matchEndIndex = _a[1], replacement = _a[2];\n var prefix = selector.slice(0, matchIndex);\n var suffix = selector.slice(matchEndIndex);\n return prefix + replacement + suffix;\n }, selectorWithGlobals);\n}\nfunction expandSelector(newSelector, currentSelector) {\n if (newSelector.indexOf(':global(') >= 0) {\n return newSelector.replace(globalSelectorRegExp, '$1');\n }\n else if (newSelector.indexOf(':') === 0) {\n return currentSelector + newSelector;\n }\n else if (newSelector.indexOf('&') < 0) {\n return currentSelector + ' ' + newSelector;\n }\n return newSelector;\n}\nfunction extractSelector(currentSelector, rules, selector, value) {\n if (rules === void 0) { rules = { __order: [] }; }\n if (selector.indexOf('@') === 0) {\n selector = selector + '{' + currentSelector;\n extractRules([value], rules, selector);\n }\n else if (selector.indexOf(',') > -1) {\n expandCommaSeparatedGlobals(selector)\n .split(',')\n .map(function (s) { return s.trim(); })\n .forEach(function (separatedSelector) {\n return extractRules([value], rules, expandSelector(separatedSelector, currentSelector));\n });\n }\n else {\n extractRules([value], rules, expandSelector(selector, currentSelector));\n }\n}\nfunction extractRules(args, rules, currentSelector) {\n if (rules === void 0) { rules = { __order: [] }; }\n if (currentSelector === void 0) { currentSelector = '&'; }\n var stylesheet = Stylesheet.getInstance();\n var currentRules = rules[currentSelector];\n if (!currentRules) {\n currentRules = {};\n rules[currentSelector] = currentRules;\n rules.__order.push(currentSelector);\n }\n for (var _i = 0, args_1 = args; _i < args_1.length; _i++) {\n var arg = args_1[_i];\n // If the arg is a string, we need to look up the class map and merge.\n if (typeof arg === 'string') {\n var expandedRules = stylesheet.argsFromClassName(arg);\n if (expandedRules) {\n extractRules(expandedRules, rules, currentSelector);\n }\n // Else if the arg is an array, we need to recurse in.\n }\n else if (Array.isArray(arg)) {\n extractRules(arg, rules, currentSelector);\n }\n else {\n for (var prop in arg) {\n if (arg.hasOwnProperty(prop)) {\n var propValue = arg[prop];\n if (prop === 'selectors') {\n // every child is a selector.\n var selectors = arg.selectors;\n for (var newSelector in selectors) {\n if (selectors.hasOwnProperty(newSelector)) {\n extractSelector(currentSelector, rules, newSelector, selectors[newSelector]);\n }\n }\n }\n else if (typeof propValue === 'object') {\n // prop is a selector.\n if (propValue !== null) {\n extractSelector(currentSelector, rules, prop, propValue);\n }\n }\n else {\n if (propValue !== undefined) {\n // Else, add the rule to the currentSelector.\n if (prop === 'margin' || prop === 'padding') {\n expandQuads(currentRules, prop, propValue);\n }\n else {\n currentRules[prop] = propValue;\n }\n }\n }\n }\n }\n }\n }\n return rules;\n}\nfunction expandQuads(currentRules, name, value) {\n var parts = typeof value === 'string' ? tokenizeWithParentheses(value) : [value];\n if (parts.length === 0) {\n parts.push(value);\n }\n if (parts[parts.length - 1] === '!important') {\n // Remove !important from parts, and append it to each part individually\n parts = parts.slice(0, -1).map(function (p) { return p + ' !important'; });\n }\n currentRules[name + 'Top'] = parts[0];\n currentRules[name + 'Right'] = parts[1] || parts[0];\n currentRules[name + 'Bottom'] = parts[2] || parts[0];\n currentRules[name + 'Left'] = parts[3] || parts[1] || parts[0];\n}\nfunction getKeyForRules(options, rules) {\n var serialized = [options.rtl ? 'rtl' : 'ltr'];\n var hasProps = false;\n for (var _i = 0, _a = rules.__order; _i < _a.length; _i++) {\n var selector = _a[_i];\n serialized.push(selector);\n var rulesForSelector = rules[selector];\n for (var propName in rulesForSelector) {\n if (rulesForSelector.hasOwnProperty(propName) && rulesForSelector[propName] !== undefined) {\n hasProps = true;\n serialized.push(propName, rulesForSelector[propName]);\n }\n }\n }\n return hasProps ? serialized.join('') : undefined;\n}\nfunction repeatString(target, count) {\n if (count <= 0) {\n return '';\n }\n if (count === 1) {\n return target;\n }\n return target + repeatString(target, count - 1);\n}\nexport function serializeRuleEntries(options, ruleEntries) {\n if (!ruleEntries) {\n return '';\n }\n var allEntries = [];\n for (var entry in ruleEntries) {\n if (ruleEntries.hasOwnProperty(entry) && entry !== DISPLAY_NAME && ruleEntries[entry] !== undefined) {\n allEntries.push(entry, ruleEntries[entry]);\n }\n }\n // Apply transforms.\n for (var i = 0; i < allEntries.length; i += 2) {\n kebabRules(allEntries, i);\n provideUnits(allEntries, i);\n rtlifyRules(options, allEntries, i);\n prefixRules(allEntries, i);\n }\n // Apply punctuation.\n for (var i = 1; i < allEntries.length; i += 4) {\n allEntries.splice(i, 1, ':', allEntries[i], ';');\n }\n return allEntries.join('');\n}\nexport function styleToRegistration(options) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n var rules = extractRules(args);\n var key = getKeyForRules(options, rules);\n if (key) {\n var stylesheet = Stylesheet.getInstance();\n var registration = {\n className: stylesheet.classNameFromKey(key),\n key: key,\n args: args,\n };\n if (!registration.className) {\n registration.className = stylesheet.getClassName(getDisplayName(rules));\n var rulesToInsert = [];\n for (var _a = 0, _b = rules.__order; _a < _b.length; _a++) {\n var selector = _b[_a];\n rulesToInsert.push(selector, serializeRuleEntries(options, rules[selector]));\n }\n registration.rulesToInsert = rulesToInsert;\n }\n return registration;\n }\n return undefined;\n}\n/**\n * Insert style to stylesheet.\n * @param registration Style registration.\n * @param specificityMultiplier Number of times classname selector is repeated in the css rule.\n * This is to increase css specificity in case it's needed. Default to 1.\n */\nexport function applyRegistration(registration, specificityMultiplier) {\n if (specificityMultiplier === void 0) { specificityMultiplier = 1; }\n var stylesheet = Stylesheet.getInstance();\n var className = registration.className, key = registration.key, args = registration.args, rulesToInsert = registration.rulesToInsert;\n if (rulesToInsert) {\n // rulesToInsert is an ordered array of selector/rule pairs.\n for (var i = 0; i < rulesToInsert.length; i += 2) {\n var rules = rulesToInsert[i + 1];\n if (rules) {\n var selector = rulesToInsert[i];\n selector = selector.replace(/&/g, repeatString(\".\" + registration.className, specificityMultiplier));\n // Insert. Note if a media query, we must close the query with a final bracket.\n var processedRule = selector + \"{\" + rules + \"}\" + (selector.indexOf('@') === 0 ? '}' : '');\n stylesheet.insertRule(processedRule);\n }\n }\n stylesheet.cacheClassName(className, key, args, rulesToInsert);\n }\n}\nexport function styleToClassName(options) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n var registration = styleToRegistration.apply(void 0, __spreadArrays([options], args));\n if (registration) {\n applyRegistration(registration, options.specificityMultiplier);\n return registration.className;\n }\n return '';\n}\n//# sourceMappingURL=styleToClassName.js.map","/**\n * Split a string into tokens separated by whitespace, except all text within parentheses\n * is treated as a single token (whitespace is ignored within parentheses).\n *\n * Unlike String.split(' '), multiple consecutive space characters are collapsed and\n * removed from the returned array (including leading and trailing spaces).\n *\n * For example:\n * `tokenizeWithParentheses(\"3px calc(var(--x) / 2) 9px 0 \")`\n * => `[\"3px\", \"calc(var(--x) / 2)\", \"9px\", \"0\"]`\n *\n * @returns The array of tokens. Returns an empty array if the string was empty or contained only whitespace.\n */\nexport function tokenizeWithParentheses(value) {\n var parts = [];\n var partStart = 0;\n var parens = 0;\n for (var i = 0; i < value.length; i++) {\n switch (value[i]) {\n case '(':\n parens++;\n break;\n case ')':\n if (parens) {\n parens--;\n }\n break;\n case '\\t':\n case ' ':\n if (!parens) {\n // Add the new part if it's not an empty string\n if (i > partStart) {\n parts.push(value.substring(partStart, i));\n }\n partStart = i + 1;\n }\n break;\n }\n }\n // Add the last part\n if (partStart < value.length) {\n parts.push(value.substring(partStart));\n }\n return parts;\n}\n//# sourceMappingURL=tokenizeWithParentheses.js.map","import { extractStyleParts } from './extractStyleParts';\nimport { getStyleOptions } from './StyleOptionsState';\nimport { styleToClassName } from './styleToClassName';\n/**\n * Concatenation helper, which can merge class names together. Skips over falsey values.\n *\n * @public\n */\nexport function mergeStyles() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return mergeCss(args, getStyleOptions());\n}\n/**\n * Concatenation helper, which can merge class names together. Skips over falsey values.\n * Accepts a set of options that will be used when calculating styles.\n *\n * @public\n */\nexport function mergeCss(args, options) {\n var styleArgs = args instanceof Array ? args : [args];\n var _a = extractStyleParts(styleArgs), classes = _a.classes, objects = _a.objects;\n if (objects.length) {\n classes.push(styleToClassName(options || {}, objects));\n }\n return classes.join(' ');\n}\n//# sourceMappingURL=mergeStyles.js.map","import { __spreadArrays } from \"tslib\";\n/**\n * Combine a set of styles together (but does not register css classes).\n * @param styleSets - One or more stylesets to be merged (each param can also be falsy).\n */\nexport function concatStyleSets() {\n var styleSets = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n styleSets[_i] = arguments[_i];\n }\n if (styleSets && styleSets.length === 1 && styleSets[0] && !styleSets[0].subComponentStyles) {\n return styleSets[0];\n }\n var mergedSet = {};\n // We process sub component styles in two phases. First we collect them, then we combine them into 1 style function.\n var workingSubcomponentStyles = {};\n for (var _a = 0, styleSets_1 = styleSets; _a < styleSets_1.length; _a++) {\n var currentSet = styleSets_1[_a];\n if (currentSet) {\n for (var prop in currentSet) {\n if (currentSet.hasOwnProperty(prop)) {\n if (prop === 'subComponentStyles' && currentSet.subComponentStyles !== undefined) {\n // subcomponent styles - style functions or objects\n var currentComponentStyles = currentSet.subComponentStyles;\n for (var subCompProp in currentComponentStyles) {\n if (currentComponentStyles.hasOwnProperty(subCompProp)) {\n if (workingSubcomponentStyles.hasOwnProperty(subCompProp)) {\n workingSubcomponentStyles[subCompProp].push(currentComponentStyles[subCompProp]);\n }\n else {\n workingSubcomponentStyles[subCompProp] = [currentComponentStyles[subCompProp]];\n }\n }\n }\n continue;\n }\n // the as any casts below is a workaround for ts 2.8.\n // todo: remove cast to any in ts 2.9.\n var mergedValue = mergedSet[prop];\n var currentValue = currentSet[prop];\n if (mergedValue === undefined) {\n mergedSet[prop] = currentValue;\n }\n else {\n mergedSet[prop] = __spreadArrays((Array.isArray(mergedValue) ? mergedValue : [mergedValue]), (Array.isArray(currentValue) ? currentValue : [currentValue]));\n }\n }\n }\n }\n }\n if (Object.keys(workingSubcomponentStyles).length > 0) {\n mergedSet.subComponentStyles = {};\n var mergedSubStyles = mergedSet.subComponentStyles;\n var _loop_1 = function (subCompProp) {\n if (workingSubcomponentStyles.hasOwnProperty(subCompProp)) {\n var workingSet_1 = workingSubcomponentStyles[subCompProp];\n mergedSubStyles[subCompProp] = function (styleProps) {\n return concatStyleSets.apply(void 0, workingSet_1.map(function (styleFunctionOrObject) {\n return typeof styleFunctionOrObject === 'function' ? styleFunctionOrObject(styleProps) : styleFunctionOrObject;\n }));\n };\n }\n };\n // now we process the subcomponent styles if there are any\n for (var subCompProp in workingSubcomponentStyles) {\n _loop_1(subCompProp);\n }\n }\n return mergedSet;\n}\n//# sourceMappingURL=concatStyleSets.js.map","import { concatStyleSets } from './concatStyleSets';\nimport { extractStyleParts } from './extractStyleParts';\nimport { getStyleOptions } from './StyleOptionsState';\nimport { applyRegistration, styleToRegistration } from './styleToClassName';\n/**\n * Takes in one or more style set objects, each consisting of a set of areas,\n * each which will produce a class name. Using this is analogous to calling\n * `mergeStyles` for each property in the object, but ensures we maintain the\n * set ordering when multiple style sets are merged.\n *\n * @param styleSets - One or more style sets to be merged.\n */\nexport function mergeStyleSets() {\n var styleSets = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n styleSets[_i] = arguments[_i];\n }\n return mergeCssSets(styleSets, getStyleOptions());\n}\n/**\n * Takes in one or more style set objects, each1consisting of a set of areas,\n * each which will produce a class name. Using this is analogous to calling\n * `mergeCss` for each property in the object, but ensures the\n * set ordering when multiple style sets are merged.\n *\n * @param styleSets - One or more style sets to be merged.\n * @param options - (optional) Options to use when creating rules.\n */\nexport function mergeCssSets(styleSets, options) {\n var classNameSet = { subComponentStyles: {} };\n var styleSet = styleSets[0];\n if (!styleSet && styleSets.length <= 1) {\n return { subComponentStyles: {} };\n }\n var concatenatedStyleSet = concatStyleSets.apply(void 0, styleSets);\n var registrations = [];\n for (var styleSetArea in concatenatedStyleSet) {\n if (concatenatedStyleSet.hasOwnProperty(styleSetArea)) {\n if (styleSetArea === 'subComponentStyles') {\n classNameSet.subComponentStyles = concatenatedStyleSet.subComponentStyles || {};\n continue;\n }\n var styles = concatenatedStyleSet[styleSetArea];\n var _a = extractStyleParts(styles), classes = _a.classes, objects = _a.objects;\n if (objects === null || objects === void 0 ? void 0 : objects.length) {\n var registration = styleToRegistration(options || {}, { displayName: styleSetArea }, objects);\n if (registration) {\n registrations.push(registration);\n classNameSet[styleSetArea] = classes.concat([registration.className]).join(' ');\n }\n }\n else {\n classNameSet[styleSetArea] = classes.join(' ');\n }\n }\n }\n for (var _i = 0, registrations_1 = registrations; _i < registrations_1.length; _i++) {\n var registration = registrations_1[_i];\n if (registration) {\n applyRegistration(registration, options === null || options === void 0 ? void 0 : options.specificityMultiplier);\n }\n }\n return classNameSet;\n}\n//# sourceMappingURL=mergeStyleSets.js.map","import { concatStyleSets } from './concatStyleSets';\n/**\n * Concatenates style sets into one, but resolves functional sets using the given props.\n * @param styleProps - Props used to resolve functional sets.\n * @param allStyles - Style sets, which can be functions or objects.\n */\nexport function concatStyleSetsWithProps(styleProps) {\n var allStyles = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n allStyles[_i - 1] = arguments[_i];\n }\n var result = [];\n for (var _a = 0, allStyles_1 = allStyles; _a < allStyles_1.length; _a++) {\n var styles = allStyles_1[_a];\n if (styles) {\n result.push(typeof styles === 'function' ? styles(styleProps) : styles);\n }\n }\n if (result.length === 1) {\n return result[0];\n }\n else if (result.length) {\n // cliffkoh: I cannot figure out how to avoid the cast to any here.\n // It is something to do with the use of Omit in IStyleSet.\n // It might not be necessary once Omit becomes part of lib.d.ts (when we remove our own Omit and rely on\n // the official version).\n return concatStyleSets.apply(void 0, result);\n }\n return {};\n}\n//# sourceMappingURL=concatStyleSetsWithProps.js.map","import { getStyleOptions } from './StyleOptionsState';\nimport { Stylesheet } from './Stylesheet';\nimport { serializeRuleEntries } from './styleToClassName';\n/**\n * Registers a font face.\n * @public\n */\nexport function fontFace(font) {\n Stylesheet.getInstance().insertRule(\"@font-face{\" + serializeRuleEntries(getStyleOptions(), font) + \"}\", true);\n}\n//# sourceMappingURL=fontFace.js.map","import { getStyleOptions } from './StyleOptionsState';\nimport { Stylesheet } from './Stylesheet';\nimport { serializeRuleEntries } from './styleToClassName';\n/**\n * Registers keyframe definitions.\n *\n * @public\n */\nexport function keyframes(timeline) {\n var stylesheet = Stylesheet.getInstance();\n var name = stylesheet.getClassName();\n var rulesArray = [];\n for (var prop in timeline) {\n if (timeline.hasOwnProperty(prop)) {\n rulesArray.push(prop, '{', serializeRuleEntries(getStyleOptions(), timeline[prop]), '}');\n }\n }\n var rules = rulesArray.join('');\n stylesheet.insertRule(\"@keyframes \" + name + \"{\" + rules + \"}\", true);\n stylesheet.cacheClassName(name, rules, [], ['keyframes', rules]);\n return name;\n}\n//# sourceMappingURL=keyframes.js.map","import { _isSSR } from './setSSR';\nvar _window = undefined;\n// Note: Accessing \"window\" in IE11 is somewhat expensive, and calling \"typeof window\"\n// hits a memory leak, whereas aliasing it and calling \"typeof _window\" does not.\n// Caching the window value at the file scope lets us minimize the impact.\ntry {\n _window = window;\n}\ncatch (e) {\n /* no-op */\n}\n/**\n * Helper to get the window object. The helper will make sure to use a cached variable\n * of \"window\", to avoid overhead and memory leaks in IE11. Note that in popup scenarios the\n * window object won't match the \"global\" window object, and for these scenarios, you should\n * pass in an element hosted within the popup.\n *\n * @public\n */\nexport function getWindow(rootElement) {\n if (_isSSR || typeof _window === 'undefined') {\n return undefined;\n }\n else {\n var el = rootElement;\n return el && el.ownerDocument && el.ownerDocument.defaultView ? el.ownerDocument.defaultView : _window;\n }\n}\n//# sourceMappingURL=getWindow.js.map","import { getWindow } from './dom/getWindow';\n/**\n * Bugs often appear in async code when stuff gets disposed, but async operations don't get canceled.\n * This Async helper class solves these issues by tying async code to the lifetime of a disposable object.\n *\n * Usage: Anything class extending from BaseModel can access this helper via this.async. Otherwise create a\n * new instance of the class and remember to call dispose() during your code's dispose handler.\n *\n * @public\n */\nvar Async = /** @class */ (function () {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n function Async(parent, onError) {\n this._timeoutIds = null;\n this._immediateIds = null;\n this._intervalIds = null;\n this._animationFrameIds = null;\n this._isDisposed = false;\n this._parent = parent || null;\n this._onErrorHandler = onError;\n this._noop = function () {\n /* do nothing */\n };\n }\n /**\n * Dispose function, clears all async operations.\n */\n Async.prototype.dispose = function () {\n var id;\n this._isDisposed = true;\n this._parent = null;\n // Clear timeouts.\n if (this._timeoutIds) {\n for (id in this._timeoutIds) {\n if (this._timeoutIds.hasOwnProperty(id)) {\n this.clearTimeout(parseInt(id, 10));\n }\n }\n this._timeoutIds = null;\n }\n // Clear immediates.\n if (this._immediateIds) {\n for (id in this._immediateIds) {\n if (this._immediateIds.hasOwnProperty(id)) {\n this.clearImmediate(parseInt(id, 10));\n }\n }\n this._immediateIds = null;\n }\n // Clear intervals.\n if (this._intervalIds) {\n for (id in this._intervalIds) {\n if (this._intervalIds.hasOwnProperty(id)) {\n this.clearInterval(parseInt(id, 10));\n }\n }\n this._intervalIds = null;\n }\n // Clear animation frames.\n if (this._animationFrameIds) {\n for (id in this._animationFrameIds) {\n if (this._animationFrameIds.hasOwnProperty(id)) {\n this.cancelAnimationFrame(parseInt(id, 10));\n }\n }\n this._animationFrameIds = null;\n }\n };\n /**\n * SetTimeout override, which will auto cancel the timeout during dispose.\n * @param callback - Callback to execute.\n * @param duration - Duration in milliseconds.\n * @returns The setTimeout id.\n */\n Async.prototype.setTimeout = function (callback, duration) {\n var _this = this;\n var timeoutId = 0;\n if (!this._isDisposed) {\n if (!this._timeoutIds) {\n this._timeoutIds = {};\n }\n timeoutId = setTimeout(function () {\n // Time to execute the timeout, enqueue it as a foreground task to be executed.\n try {\n // Now delete the record and call the callback.\n if (_this._timeoutIds) {\n delete _this._timeoutIds[timeoutId];\n }\n callback.apply(_this._parent);\n }\n catch (e) {\n _this._logError(e);\n }\n }, duration);\n this._timeoutIds[timeoutId] = true;\n }\n return timeoutId;\n };\n /**\n * Clears the timeout.\n * @param id - Id to cancel.\n */\n Async.prototype.clearTimeout = function (id) {\n if (this._timeoutIds && this._timeoutIds[id]) {\n clearTimeout(id);\n delete this._timeoutIds[id];\n }\n };\n /**\n * SetImmediate override, which will auto cancel the immediate during dispose.\n * @param callback - Callback to execute.\n * @param targetElement - Optional target element to use for identifying the correct window.\n * @returns The setTimeout id.\n */\n Async.prototype.setImmediate = function (callback, targetElement) {\n var _this = this;\n var immediateId = 0;\n var win = getWindow(targetElement);\n if (!this._isDisposed) {\n if (!this._immediateIds) {\n this._immediateIds = {};\n }\n var setImmediateCallback = function () {\n // Time to execute the timeout, enqueue it as a foreground task to be executed.\n try {\n // Now delete the record and call the callback.\n if (_this._immediateIds) {\n delete _this._immediateIds[immediateId];\n }\n callback.apply(_this._parent);\n }\n catch (e) {\n _this._logError(e);\n }\n };\n immediateId = win.setTimeout(setImmediateCallback, 0);\n this._immediateIds[immediateId] = true;\n }\n return immediateId;\n };\n /**\n * Clears the immediate.\n * @param id - Id to cancel.\n * @param targetElement - Optional target element to use for identifying the correct window.\n */\n Async.prototype.clearImmediate = function (id, targetElement) {\n var win = getWindow(targetElement);\n if (this._immediateIds && this._immediateIds[id]) {\n win.clearTimeout(id);\n delete this._immediateIds[id];\n }\n };\n /**\n * SetInterval override, which will auto cancel the timeout during dispose.\n * @param callback - Callback to execute.\n * @param duration - Duration in milliseconds.\n * @returns The setTimeout id.\n */\n Async.prototype.setInterval = function (callback, duration) {\n var _this = this;\n var intervalId = 0;\n if (!this._isDisposed) {\n if (!this._intervalIds) {\n this._intervalIds = {};\n }\n intervalId = setInterval(function () {\n // Time to execute the interval callback, enqueue it as a foreground task to be executed.\n try {\n callback.apply(_this._parent);\n }\n catch (e) {\n _this._logError(e);\n }\n }, duration);\n this._intervalIds[intervalId] = true;\n }\n return intervalId;\n };\n /**\n * Clears the interval.\n * @param id - Id to cancel.\n */\n Async.prototype.clearInterval = function (id) {\n if (this._intervalIds && this._intervalIds[id]) {\n clearInterval(id);\n delete this._intervalIds[id];\n }\n };\n /**\n * Creates a function that, when executed, will only call the func function at most once per\n * every wait milliseconds. Provide an options object to indicate that func should be invoked\n * on the leading and/or trailing edge of the wait timeout. Subsequent calls to the throttled\n * function will return the result of the last func call.\n *\n * Note: If leading and trailing options are true func will be called on the trailing edge of\n * the timeout only if the throttled function is invoked more than once during the wait timeout.\n *\n * @param func - The function to throttle.\n * @param wait - The number of milliseconds to throttle executions to. Defaults to 0.\n * @param options - The options object.\n * @returns The new throttled function.\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Async.prototype.throttle = function (func, wait, options) {\n var _this = this;\n if (this._isDisposed) {\n return this._noop;\n }\n var waitMS = wait || 0;\n var leading = true;\n var trailing = true;\n var lastExecuteTime = 0;\n var lastResult;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var lastArgs;\n var timeoutId = null;\n if (options && typeof options.leading === 'boolean') {\n leading = options.leading;\n }\n if (options && typeof options.trailing === 'boolean') {\n trailing = options.trailing;\n }\n var callback = function (userCall) {\n var now = Date.now();\n var delta = now - lastExecuteTime;\n var waitLength = leading ? waitMS - delta : waitMS;\n if (delta >= waitMS && (!userCall || leading)) {\n lastExecuteTime = now;\n if (timeoutId) {\n _this.clearTimeout(timeoutId);\n timeoutId = null;\n }\n lastResult = func.apply(_this._parent, lastArgs);\n }\n else if (timeoutId === null && trailing) {\n timeoutId = _this.setTimeout(callback, waitLength);\n }\n return lastResult;\n };\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var resultFunction = (function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n lastArgs = args;\n return callback(true);\n });\n return resultFunction;\n };\n /**\n * Creates a function that will delay the execution of func until after wait milliseconds have\n * elapsed since the last time it was invoked. Provide an options object to indicate that func\n * should be invoked on the leading and/or trailing edge of the wait timeout. Subsequent calls\n * to the debounced function will return the result of the last func call.\n *\n * Note: If leading and trailing options are true func will be called on the trailing edge of\n * the timeout only if the debounced function is invoked more than once during the wait\n * timeout.\n *\n * @param func - The function to debounce.\n * @param wait - The number of milliseconds to delay.\n * @param options - The options object.\n * @returns The new debounced function.\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Async.prototype.debounce = function (func, wait, options) {\n var _this = this;\n if (this._isDisposed) {\n var noOpFunction = (function () {\n /** Do nothing */\n });\n noOpFunction.cancel = function () {\n return;\n };\n noOpFunction.flush = (function () { return null; });\n noOpFunction.pending = function () { return false; };\n return noOpFunction;\n }\n var waitMS = wait || 0;\n var leading = false;\n var trailing = true;\n var maxWait = null;\n var lastCallTime = 0;\n var lastExecuteTime = Date.now();\n var lastResult;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var lastArgs;\n var timeoutId = null;\n if (options && typeof options.leading === 'boolean') {\n leading = options.leading;\n }\n if (options && typeof options.trailing === 'boolean') {\n trailing = options.trailing;\n }\n if (options && typeof options.maxWait === 'number' && !isNaN(options.maxWait)) {\n maxWait = options.maxWait;\n }\n var markExecuted = function (time) {\n if (timeoutId) {\n _this.clearTimeout(timeoutId);\n timeoutId = null;\n }\n lastExecuteTime = time;\n };\n var invokeFunction = function (time) {\n markExecuted(time);\n lastResult = func.apply(_this._parent, lastArgs);\n };\n var callback = function (userCall) {\n var now = Date.now();\n var executeImmediately = false;\n if (userCall) {\n if (leading && now - lastCallTime >= waitMS) {\n executeImmediately = true;\n }\n lastCallTime = now;\n }\n var delta = now - lastCallTime;\n var waitLength = waitMS - delta;\n var maxWaitDelta = now - lastExecuteTime;\n var maxWaitExpired = false;\n if (maxWait !== null) {\n // maxWait only matters when there is a pending callback\n if (maxWaitDelta >= maxWait && timeoutId) {\n maxWaitExpired = true;\n }\n else {\n waitLength = Math.min(waitLength, maxWait - maxWaitDelta);\n }\n }\n if (delta >= waitMS || maxWaitExpired || executeImmediately) {\n invokeFunction(now);\n }\n else if ((timeoutId === null || !userCall) && trailing) {\n timeoutId = _this.setTimeout(callback, waitLength);\n }\n return lastResult;\n };\n var pending = function () {\n return !!timeoutId;\n };\n var cancel = function () {\n if (pending()) {\n // Mark the debounced function as having executed\n markExecuted(Date.now());\n }\n };\n var flush = function () {\n if (pending()) {\n invokeFunction(Date.now());\n }\n return lastResult;\n };\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var resultFunction = (function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n lastArgs = args;\n return callback(true);\n });\n resultFunction.cancel = cancel;\n resultFunction.flush = flush;\n resultFunction.pending = pending;\n return resultFunction;\n };\n Async.prototype.requestAnimationFrame = function (callback, targetElement) {\n var _this = this;\n var animationFrameId = 0;\n var win = getWindow(targetElement);\n if (!this._isDisposed) {\n if (!this._animationFrameIds) {\n this._animationFrameIds = {};\n }\n var animationFrameCallback = function () {\n try {\n // Now delete the record and call the callback.\n if (_this._animationFrameIds) {\n delete _this._animationFrameIds[animationFrameId];\n }\n callback.apply(_this._parent);\n }\n catch (e) {\n _this._logError(e);\n }\n };\n animationFrameId = win.requestAnimationFrame\n ? win.requestAnimationFrame(animationFrameCallback)\n : win.setTimeout(animationFrameCallback, 0);\n this._animationFrameIds[animationFrameId] = true;\n }\n return animationFrameId;\n };\n Async.prototype.cancelAnimationFrame = function (id, targetElement) {\n var win = getWindow(targetElement);\n if (this._animationFrameIds && this._animationFrameIds[id]) {\n win.cancelAnimationFrame ? win.cancelAnimationFrame(id) : win.clearTimeout(id);\n delete this._animationFrameIds[id];\n }\n };\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Async.prototype._logError = function (e) {\n if (this._onErrorHandler) {\n this._onErrorHandler(e);\n }\n };\n return Async;\n}());\nexport { Async };\n//# sourceMappingURL=Async.js.map","/**\n * Compares a to b and b to a.\n *\n * @public\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function shallowCompare(a, b) {\n for (var propName in a) {\n if (a.hasOwnProperty(propName)) {\n if (!b.hasOwnProperty(propName) || b[propName] !== a[propName]) {\n return false;\n }\n }\n }\n for (var propName in b) {\n if (b.hasOwnProperty(propName)) {\n if (!a.hasOwnProperty(propName)) {\n return false;\n }\n }\n }\n return true;\n}\n/**\n * Makes a resulting merge of a bunch of objects. Pass in the target object followed by 1 or more\n * objects as arguments and they will be merged sequentially into the target. Note that this will\n * shallow merge; it will not create new cloned values for target members.\n *\n * @public\n * @param target - Target object to merge following object arguments into.\n * @param args - One or more objects that will be mixed into the target in the order they are provided.\n * @returns Resulting merged target.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function assign(target) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n return filteredAssign.apply(this, [null, target].concat(args));\n}\n/**\n * Makes a resulting merge of a bunch of objects, but allows a filter function to be passed in to filter\n * the resulting merges. This allows for scenarios where you want to merge \"everything except that one thing\"\n * or \"properties that start with data-\". Note that this will shallow merge; it will not create new cloned\n * values for target members.\n *\n * @public\n * @param isAllowed - Callback to determine if the given propName is allowed in the result.\n * @param target - Target object to merge following object arguments into.\n * @param args - One or more objects that will be mixed into the target in the order they are provided.\n * @returns Resulting merged target.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function filteredAssign(isAllowed, target) {\n var args = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n args[_i - 2] = arguments[_i];\n }\n target = target || {};\n for (var _a = 0, args_1 = args; _a < args_1.length; _a++) {\n var sourceObject = args_1[_a];\n if (sourceObject) {\n for (var propName in sourceObject) {\n if (sourceObject.hasOwnProperty(propName) && (!isAllowed || isAllowed(propName))) {\n target[propName] = sourceObject[propName];\n }\n }\n }\n }\n return target;\n}\n/**\n * Takes an enum and iterates over each value of the enum (as a string), running the callback on each,\n * returning a mapped array.\n * @param theEnum - Enum to iterate over\n * @param callback - The first parameter the name of the entry, and the second parameter is the value\n * of that entry, which is the value you'd normally use when using the enum (usually a number).\n */\nexport function mapEnumByName(\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntheEnum, callback) {\n // map to satisfy compiler since it doesn't realize we strip out undefineds in the .filter() call\n return Object.keys(theEnum)\n .map(function (p) {\n // map on each property name as a string\n if (String(Number(p)) !== p) {\n // if the property is not just a number (because enums in TypeScript will map both ways)\n return callback(p, theEnum[p]);\n }\n return undefined;\n })\n .filter(function (v) { return !!v; }); // only return elements with values\n}\n/**\n * Get all values in an object dictionary\n *\n * @param obj - The dictionary to get values for\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function values(obj) {\n return Object.keys(obj).reduce(function (arr, key) {\n arr.push(obj[key]);\n return arr;\n }, []);\n}\n/**\n * Tiny helper to do the minimal amount of work in duplicating an object but omitting some\n * props. This ends up faster than using object ...rest or reduce to filter.\n *\n * This behaves very much like filteredAssign, but does not merge many objects together,\n * uses an exclusion object map, and avoids spreads all for optimal performance.\n *\n * See perf test for background:\n * https://jsperf.com/omit-vs-rest-vs-reduce/1\n *\n * @param obj - The object to clone\n * @param exclusions - The array of keys to exclude\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function omit(obj, exclusions) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var result = {};\n for (var key in obj) {\n if (exclusions.indexOf(key) === -1 && obj.hasOwnProperty(key)) {\n result[key] = obj[key];\n }\n }\n return result;\n}\n//# sourceMappingURL=object.js.map","import { assign } from './object';\n/** An instance of EventGroup allows anything with a handle to it to trigger events on it.\n * If the target is an HTMLElement, the event will be attached to the element and can be\n * triggered as usual (like clicking for onClick).\n * The event can be triggered by calling EventGroup.raise() here. If the target is an\n * HTMLElement, the event gets raised and is handled by the browser. Otherwise, it gets\n * handled here in EventGroup, and the handler is called in the context of the parent\n * (which is passed in in the constructor).\n *\n * @public\n * {@docCategory EventGroup}\n */\nvar EventGroup = /** @class */ (function () {\n /** parent: the context in which events attached to non-HTMLElements are called */\n function EventGroup(parent) {\n this._id = EventGroup._uniqueId++;\n this._parent = parent;\n this._eventRecords = [];\n }\n /** For IE8, bubbleEvent is ignored here and must be dealt with by the handler.\n * Events raised here by default have bubbling set to false and cancelable set to true.\n * This applies also to built-in events being raised manually here on HTMLElements,\n * which may lead to unexpected behavior if it differs from the defaults.\n *\n */\n EventGroup.raise = function (target, eventName, eventArgs, bubbleEvent) {\n var retVal;\n if (EventGroup._isElement(target)) {\n if (typeof document !== 'undefined' && document.createEvent) {\n var ev = document.createEvent('HTMLEvents');\n ev.initEvent(eventName, bubbleEvent || false, true);\n assign(ev, eventArgs);\n retVal = target.dispatchEvent(ev);\n }\n else if (typeof document !== 'undefined' && document.createEventObject) {\n // IE8\n var evObj = document.createEventObject(eventArgs);\n // cannot set cancelBubble on evObj, fireEvent will overwrite it\n target.fireEvent('on' + eventName, evObj);\n }\n }\n else {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore -- FIXME: strictBindCallApply error - https://github.com/microsoft/fluentui/issues/17331\n while (target && retVal !== false) {\n var events = target.__events__;\n var eventRecords = events ? events[eventName] : null;\n if (eventRecords) {\n for (var id in eventRecords) {\n if (eventRecords.hasOwnProperty(id)) {\n var eventRecordList = eventRecords[id];\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore -- FIXME: strictBindCallApply error - https://github.com/microsoft/fluentui/issues/17331\n for (var listIndex = 0; retVal !== false && listIndex < eventRecordList.length; listIndex++) {\n var record = eventRecordList[listIndex];\n if (record.objectCallback) {\n retVal = record.objectCallback.call(record.parent, eventArgs);\n }\n }\n }\n }\n }\n // If the target has a parent, bubble the event up.\n target = bubbleEvent ? target.parent : null;\n }\n }\n return retVal;\n };\n EventGroup.isObserved = function (target, eventName) {\n var events = target && target.__events__;\n return !!events && !!events[eventName];\n };\n /** Check to see if the target has declared support of the given event. */\n EventGroup.isDeclared = function (target, eventName) {\n var declaredEvents = target && target.__declaredEvents;\n return !!declaredEvents && !!declaredEvents[eventName];\n };\n EventGroup.stopPropagation = function (event) {\n if (event.stopPropagation) {\n event.stopPropagation();\n }\n else {\n // IE8\n event.cancelBubble = true;\n }\n };\n EventGroup._isElement = function (target) {\n return (!!target && (!!target.addEventListener || (typeof HTMLElement !== 'undefined' && target instanceof HTMLElement)));\n };\n EventGroup.prototype.dispose = function () {\n if (!this._isDisposed) {\n this._isDisposed = true;\n this.off();\n this._parent = null;\n }\n };\n /** On the target, attach a set of events, where the events object is a name to function mapping. */\n EventGroup.prototype.onAll = function (target, events, useCapture) {\n for (var eventName in events) {\n if (events.hasOwnProperty(eventName)) {\n this.on(target, eventName, events[eventName], useCapture);\n }\n }\n };\n /**\n * On the target, attach an event whose handler will be called in the context of the parent\n * of this instance of EventGroup.\n */\n EventGroup.prototype.on = function (target, eventName, callback, options) {\n var _this = this;\n if (eventName.indexOf(',') > -1) {\n var events = eventName.split(/[ ,]+/);\n for (var i = 0; i < events.length; i++) {\n this.on(target, events[i], callback, options);\n }\n }\n else {\n var parent_1 = this._parent;\n var eventRecord = {\n target: target,\n eventName: eventName,\n parent: parent_1,\n callback: callback,\n options: options,\n };\n // Initialize and wire up the record on the target, so that it can call the callback if the event fires.\n var events = (target.__events__ = target.__events__ || {});\n events[eventName] =\n events[eventName] ||\n {\n count: 0,\n };\n events[eventName][this._id] = events[eventName][this._id] || [];\n events[eventName][this._id].push(eventRecord);\n events[eventName].count++;\n if (EventGroup._isElement(target)) {\n var processElementEvent = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (_this._isDisposed) {\n return;\n }\n var result;\n try {\n result = callback.apply(parent_1, args);\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore -- FIXME: strictBindCallApply error - https://github.com/microsoft/fluentui/issues/17331\n if (result === false && args[0]) {\n var e = args[0];\n if (e.preventDefault) {\n e.preventDefault();\n }\n if (e.stopPropagation) {\n e.stopPropagation();\n }\n e.cancelBubble = true;\n }\n }\n catch (e) {\n // ignore\n }\n return result;\n };\n eventRecord.elementCallback = processElementEvent;\n if (target.addEventListener) {\n target.addEventListener(eventName, processElementEvent, options);\n }\n else if (target.attachEvent) {\n // IE8\n target.attachEvent('on' + eventName, processElementEvent);\n }\n }\n else {\n var processObjectEvent = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (_this._isDisposed) {\n return;\n }\n return callback.apply(parent_1, args);\n };\n eventRecord.objectCallback = processObjectEvent;\n }\n // Remember the record locally, so that it can be removed.\n this._eventRecords.push(eventRecord);\n }\n };\n EventGroup.prototype.off = function (target, eventName, callback, options) {\n for (var i = 0; i < this._eventRecords.length; i++) {\n var eventRecord = this._eventRecords[i];\n if ((!target || target === eventRecord.target) &&\n (!eventName || eventName === eventRecord.eventName) &&\n (!callback || callback === eventRecord.callback) &&\n (typeof options !== 'boolean' || options === eventRecord.options)) {\n var events = eventRecord.target.__events__;\n var targetArrayLookup = events[eventRecord.eventName];\n var targetArray = targetArrayLookup ? targetArrayLookup[this._id] : null;\n // We may have already target's entries, so check for null.\n if (targetArray) {\n if (targetArray.length === 1 || !callback) {\n targetArrayLookup.count -= targetArray.length;\n delete events[eventRecord.eventName][this._id];\n }\n else {\n targetArrayLookup.count--;\n targetArray.splice(targetArray.indexOf(eventRecord), 1);\n }\n if (!targetArrayLookup.count) {\n delete events[eventRecord.eventName];\n }\n }\n if (eventRecord.elementCallback) {\n if (eventRecord.target.removeEventListener) {\n eventRecord.target.removeEventListener(eventRecord.eventName, eventRecord.elementCallback, eventRecord.options);\n }\n else if (eventRecord.target.detachEvent) {\n // IE8\n eventRecord.target.detachEvent('on' + eventRecord.eventName, eventRecord.elementCallback);\n }\n }\n this._eventRecords.splice(i--, 1);\n }\n }\n };\n /** Trigger the given event in the context of this instance of EventGroup. */\n EventGroup.prototype.raise = function (eventName, eventArgs, bubbleEvent) {\n return EventGroup.raise(this._parent, eventName, eventArgs, bubbleEvent);\n };\n /** Declare an event as being supported by this instance of EventGroup. */\n EventGroup.prototype.declare = function (event) {\n var declaredEvents = (this._parent.__declaredEvents = this._parent.__declaredEvents || {});\n if (typeof event === 'string') {\n declaredEvents[event] = true;\n }\n else {\n for (var i = 0; i < event.length; i++) {\n declaredEvents[event[i]] = true;\n }\n }\n };\n EventGroup._uniqueId = 0;\n return EventGroup;\n}());\nexport { EventGroup };\n//# sourceMappingURL=EventGroup.js.map","import { getDocument } from './dom/getDocument';\nimport { mergeStyles } from '@fluentui/merge-styles';\nimport { getWindow } from './dom/getWindow';\nvar _scrollbarWidth;\nvar _bodyScrollDisabledCount = 0;\nvar DisabledScrollClassName = mergeStyles({\n overflow: 'hidden !important',\n});\n/**\n * Placing this attribute on scrollable divs optimizes detection to know\n * if the div is scrollable or not (given we can avoid expensive operations\n * like getComputedStyle.)\n *\n * @public\n */\nexport var DATA_IS_SCROLLABLE_ATTRIBUTE = 'data-is-scrollable';\n/**\n * Allows the user to scroll within a element,\n * while preventing the user from scrolling the body\n */\nexport var allowScrollOnElement = function (element, events) {\n if (!element) {\n return;\n }\n var _previousClientY = 0;\n var _element = null;\n // remember the clientY for future calls of _preventOverscrolling\n var _saveClientY = function (event) {\n if (event.targetTouches.length === 1) {\n _previousClientY = event.targetTouches[0].clientY;\n }\n };\n // prevent the body from scrolling when the user attempts\n // to scroll past the top or bottom of the element\n var _preventOverscrolling = function (event) {\n // only respond to a single-finger touch\n if (event.targetTouches.length !== 1) {\n return;\n }\n // prevent the body touchmove handler from firing\n // so that scrolling is allowed within the element\n event.stopPropagation();\n if (!_element) {\n return;\n }\n var clientY = event.targetTouches[0].clientY - _previousClientY;\n var scrollableParent = findScrollableParent(event.target);\n if (scrollableParent) {\n _element = scrollableParent;\n }\n // if the element is scrolled to the top,\n // prevent the user from scrolling up\n if (_element.scrollTop === 0 && clientY > 0) {\n event.preventDefault();\n }\n // if the element is scrolled to the bottom,\n // prevent the user from scrolling down\n if (_element.scrollHeight - Math.ceil(_element.scrollTop) <= _element.clientHeight && clientY < 0) {\n event.preventDefault();\n }\n };\n events.on(element, 'touchstart', _saveClientY, { passive: false });\n events.on(element, 'touchmove', _preventOverscrolling, { passive: false });\n _element = element;\n};\n/**\n * Same as allowScrollOnElement but does not prevent overscrolling.\n */\nexport var allowOverscrollOnElement = function (element, events) {\n if (!element) {\n return;\n }\n var _allowElementScroll = function (event) {\n event.stopPropagation();\n };\n events.on(element, 'touchmove', _allowElementScroll, { passive: false });\n};\nvar _disableIosBodyScroll = function (event) {\n event.preventDefault();\n};\n/**\n * Disables the body scrolling.\n *\n * @public\n */\nexport function disableBodyScroll() {\n var doc = getDocument();\n if (doc && doc.body && !_bodyScrollDisabledCount) {\n doc.body.classList.add(DisabledScrollClassName);\n doc.body.addEventListener('touchmove', _disableIosBodyScroll, { passive: false, capture: false });\n }\n _bodyScrollDisabledCount++;\n}\n/**\n * Enables the body scrolling.\n *\n * @public\n */\nexport function enableBodyScroll() {\n if (_bodyScrollDisabledCount > 0) {\n var doc = getDocument();\n if (doc && doc.body && _bodyScrollDisabledCount === 1) {\n doc.body.classList.remove(DisabledScrollClassName);\n doc.body.removeEventListener('touchmove', _disableIosBodyScroll);\n }\n _bodyScrollDisabledCount--;\n }\n}\n/**\n * Calculates the width of a scrollbar for the browser/os.\n *\n * @public\n */\nexport function getScrollbarWidth() {\n if (_scrollbarWidth === undefined) {\n var scrollDiv = document.createElement('div');\n scrollDiv.style.setProperty('width', '100px');\n scrollDiv.style.setProperty('height', '100px');\n scrollDiv.style.setProperty('overflow', 'scroll');\n scrollDiv.style.setProperty('position', 'absolute');\n scrollDiv.style.setProperty('top', '-9999px');\n document.body.appendChild(scrollDiv);\n // Get the scrollbar width\n _scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth;\n // Delete the DIV\n document.body.removeChild(scrollDiv);\n }\n return _scrollbarWidth;\n}\n/**\n * Traverses up the DOM for the element with the data-is-scrollable=true attribute, or returns\n * document.body.\n *\n * @public\n */\nexport function findScrollableParent(startingElement) {\n var el = startingElement;\n var doc = getDocument(startingElement);\n // First do a quick scan for the scrollable attribute.\n while (el && el !== doc.body) {\n if (el.getAttribute(DATA_IS_SCROLLABLE_ATTRIBUTE) === 'true') {\n return el;\n }\n el = el.parentElement;\n }\n // If we haven't found it, the use the slower method: compute styles to evaluate if overflow is set.\n el = startingElement;\n while (el && el !== doc.body) {\n if (el.getAttribute(DATA_IS_SCROLLABLE_ATTRIBUTE) !== 'false') {\n var computedStyles = getComputedStyle(el);\n var overflowY = computedStyles ? computedStyles.getPropertyValue('overflow-y') : '';\n if (overflowY && (overflowY === 'scroll' || overflowY === 'auto')) {\n return el;\n }\n }\n el = el.parentElement;\n }\n // Fall back to window scroll.\n if (!el || el === doc.body) {\n el = getWindow(startingElement);\n }\n return el;\n}\n//# sourceMappingURL=scroll.js.map","import { _isSSR } from './setSSR';\n/**\n * Helper to get the document object. Note that in popup window cases, document\n * might be the wrong document, which is why we look at ownerDocument for the\n * truth. Also note that the SSR flag is used to test ssr scenarios even if\n * document is defined (from JSDOM for example.)\n *\n * @public\n */\nexport function getDocument(rootElement) {\n if (_isSSR || typeof document === 'undefined') {\n return undefined;\n }\n else {\n var el = rootElement;\n return el && el.ownerDocument ? el.ownerDocument : document;\n }\n}\n//# sourceMappingURL=getDocument.js.map","import { __extends } from \"tslib\";\nimport * as React from 'react';\nimport { Async } from './Async';\nimport { EventGroup } from './EventGroup';\nimport { warnConditionallyRequiredProps } from './warn/warnConditionallyRequiredProps';\nimport { warnMutuallyExclusive } from './warn/warnMutuallyExclusive';\nimport { warnDeprecations } from './warn/warnDeprecations';\n/**\n * BaseComponent class, which provides basic helpers for all components.\n *\n * @public\n * {@docCategory BaseComponent}\n *\n * @deprecated Do not use. We are moving away from class component.\n */\nvar BaseComponent = /** @class */ (function (_super) {\n __extends(BaseComponent, _super);\n /**\n * BaseComponent constructor\n * @param props - The props for the component.\n * @param context - The context for the component.\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n function BaseComponent(props, context) {\n var _this = _super.call(this, props, context) || this;\n // eslint-disable-next-line deprecation/deprecation\n _makeAllSafe(_this, BaseComponent.prototype, [\n 'componentDidMount',\n 'shouldComponentUpdate',\n 'getSnapshotBeforeUpdate',\n 'render',\n 'componentDidUpdate',\n 'componentWillUnmount',\n ]);\n return _this;\n }\n /**\n * When the component receives props, make sure the componentRef is updated.\n */\n BaseComponent.prototype.componentDidUpdate = function (prevProps, prevState) {\n this._updateComponentRef(prevProps, this.props);\n };\n /**\n * When the component has mounted, update the componentRef.\n */\n BaseComponent.prototype.componentDidMount = function () {\n this._setComponentRef(this.props.componentRef, this);\n };\n /**\n * If we have disposables, dispose them automatically on unmount.\n */\n BaseComponent.prototype.componentWillUnmount = function () {\n this._setComponentRef(this.props.componentRef, null);\n if (this.__disposables) {\n for (var i = 0, len = this._disposables.length; i < len; i++) {\n var disposable = this.__disposables[i];\n if (disposable.dispose) {\n disposable.dispose();\n }\n }\n this.__disposables = null;\n }\n };\n Object.defineProperty(BaseComponent.prototype, \"className\", {\n /**\n * Gets the object's class name.\n */\n get: function () {\n if (!this.__className) {\n var funcNameRegex = /function (.{1,})\\(/;\n var results = funcNameRegex.exec(this.constructor.toString());\n this.__className = results && results.length > 1 ? results[1] : '';\n }\n return this.__className;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(BaseComponent.prototype, \"_disposables\", {\n /**\n * Allows subclasses to push things to this._disposables to be auto disposed.\n */\n get: function () {\n if (!this.__disposables) {\n this.__disposables = [];\n }\n return this.__disposables;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(BaseComponent.prototype, \"_async\", {\n /**\n * Gets the async instance associated with the component, created on demand. The async instance gives\n * subclasses a way to execute setTimeout/setInterval async calls safely, where the callbacks\n * will be cleared/ignored automatically after unmounting. The helpers within the async object also\n * preserve the this pointer so that you don't need to \"bind\" the callbacks.\n */\n get: function () {\n if (!this.__async) {\n this.__async = new Async(this);\n this._disposables.push(this.__async);\n }\n return this.__async;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(BaseComponent.prototype, \"_events\", {\n /**\n * Gets the event group instance assocaited with the component, created on demand. The event instance\n * provides on/off methods for listening to DOM (or regular javascript object) events. The event callbacks\n * will be automatically disconnected after unmounting. The helpers within the events object also\n * preserve the this reference so that you don't need to \"bind\" the callbacks.\n */\n get: function () {\n if (!this.__events) {\n this.__events = new EventGroup(this);\n this._disposables.push(this.__events);\n }\n return this.__events;\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Helper to return a memoized ref resolver function.\n * @param refName - Name of the member to assign the ref to.\n * @returns A function instance keyed from the given refname.\n * @deprecated Use `createRef` from React.createRef.\n */\n BaseComponent.prototype._resolveRef = function (refName) {\n var _this = this;\n if (!this.__resolves) {\n this.__resolves = {};\n }\n if (!this.__resolves[refName]) {\n this.__resolves[refName] = function (ref) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return (_this[refName] = ref);\n };\n }\n return this.__resolves[refName];\n };\n /**\n * Updates the componentRef (by calling it with \"this\" when necessary.)\n */\n BaseComponent.prototype._updateComponentRef = function (currentProps, newProps) {\n if (newProps === void 0) { newProps = {}; }\n // currentProps *should* always be defined, but verify that just in case a subclass is manually\n // calling a lifecycle method with no parameters (which has happened) or other odd usage.\n if (currentProps && newProps && currentProps.componentRef !== newProps.componentRef) {\n this._setComponentRef(currentProps.componentRef, null);\n this._setComponentRef(newProps.componentRef, this);\n }\n };\n /**\n * Warns when a deprecated props are being used.\n *\n * @param deprecationMap - The map of deprecations, where key is the prop name and the value is\n * either null or a replacement prop name.\n */\n BaseComponent.prototype._warnDeprecations = function (deprecationMap) {\n warnDeprecations(this.className, this.props, deprecationMap);\n };\n /**\n * Warns when props which are mutually exclusive with each other are both used.\n *\n * @param mutuallyExclusiveMap - The map of mutually exclusive props.\n */\n BaseComponent.prototype._warnMutuallyExclusive = function (mutuallyExclusiveMap) {\n warnMutuallyExclusive(this.className, this.props, mutuallyExclusiveMap);\n };\n /**\n * Warns when props are required if a condition is met.\n *\n * @param requiredProps - The name of the props that are required when the condition is met.\n * @param conditionalPropName - The name of the prop that the condition is based on.\n * @param condition - Whether the condition is met.\n */\n BaseComponent.prototype._warnConditionallyRequiredProps = function (requiredProps, conditionalPropName, condition) {\n warnConditionallyRequiredProps(this.className, this.props, requiredProps, conditionalPropName, condition);\n };\n BaseComponent.prototype._setComponentRef = function (ref, value) {\n if (!this._skipComponentRefResolution && ref) {\n if (typeof ref === 'function') {\n ref(value);\n }\n if (typeof ref === 'object') {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ref.current = value;\n }\n }\n };\n return BaseComponent;\n}(React.Component));\nexport { BaseComponent };\n/**\n * Helper to override a given method with a wrapper method that can try/catch the original, but also\n * ensures that the BaseComponent's methods are called before the subclass's. This ensures that\n * componentWillUnmount in the base is called and that things in the _disposables array are disposed.\n */\n// eslint-disable-next-line deprecation/deprecation\nfunction _makeAllSafe(obj, prototype, methodNames) {\n for (var i = 0, len = methodNames.length; i < len; i++) {\n _makeSafe(obj, prototype, methodNames[i]);\n }\n}\n// eslint-disable-next-line deprecation/deprecation\nfunction _makeSafe(obj, prototype, methodName) {\n /* eslint-disable @typescript-eslint/no-explicit-any */\n var classMethod = obj[methodName];\n var prototypeMethod = prototype[methodName];\n if (classMethod || prototypeMethod) {\n obj[methodName] = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n /* eslint-enable @typescript-eslint/no-explicit-any */\n var retVal;\n if (prototypeMethod) {\n retVal = prototypeMethod.apply(this, args);\n }\n if (classMethod !== prototypeMethod) {\n retVal = classMethod.apply(this, args);\n }\n return retVal;\n };\n }\n}\n/**\n * Simple constant function for returning null, used to render empty templates in JSX.\n *\n * @public\n */\nexport function nullRender() {\n return null;\n}\n//# sourceMappingURL=BaseComponent.js.map","/* eslint-disable no-console */\nvar _warningCallback = undefined;\n/**\n * Sends a warning to console, if the api is present.\n *\n * @public\n * @param message - Warning message.\n */\nexport function warn(message) {\n if (_warningCallback && process.env.NODE_ENV !== 'production') {\n _warningCallback(message);\n }\n else if (console && console.warn) {\n console.warn(message);\n }\n}\n/**\n * Configures the warning callback. Passing in undefined will reset it to use the default\n * console.warn function.\n *\n * @public\n * @param warningCallback - Callback to override the generated warnings.\n */\nexport function setWarningCallback(warningCallback) {\n _warningCallback = warningCallback;\n}\n//# sourceMappingURL=warn.js.map","import { getWindow } from './dom/getWindow';\n/**\n * Storing global state in local module variables has issues when more than one copy\n * if the module gets loaded on the page (due to a bundling error or simply by consuming\n * a prebundled script.)\n *\n * This file contains helpers to deal with the getting and setting local state, and allows\n * callers to get called back when it mutates.\n */\nvar GLOBAL_SETTINGS_PROP_NAME = '__globalSettings__';\nvar CALLBACK_STATE_PROP_NAME = '__callbacks__';\nvar _counter = 0;\n/**\n * Global settings helper, which stores settings in the global (window) namespace.\n * If window is not provided, it will store settings in module scope. Provides a\n * way to observe changes as well when their values change.\n *\n * @public\n * {@docCategory GlobalSettings}\n */\nvar GlobalSettings = /** @class */ (function () {\n function GlobalSettings() {\n }\n GlobalSettings.getValue = function (key, defaultValue) {\n var globalSettings = _getGlobalSettings();\n if (globalSettings[key] === undefined) {\n globalSettings[key] = typeof defaultValue === 'function' ? defaultValue() : defaultValue;\n }\n return globalSettings[key];\n };\n GlobalSettings.setValue = function (key, value) {\n var globalSettings = _getGlobalSettings();\n var callbacks = globalSettings[CALLBACK_STATE_PROP_NAME];\n var oldValue = globalSettings[key];\n if (value !== oldValue) {\n globalSettings[key] = value;\n var changeDescription = {\n oldValue: oldValue,\n value: value,\n key: key,\n };\n for (var id in callbacks) {\n if (callbacks.hasOwnProperty(id)) {\n callbacks[id](changeDescription);\n }\n }\n }\n return value;\n };\n GlobalSettings.addChangeListener = function (cb) {\n // Note: we use generated ids on the callbacks to create a map of the callbacks, which optimizes removal.\n // (It's faster to delete a key than it is to look up the index of an object and splice an array.)\n var id = cb.__id__;\n var callbacks = _getCallbacks();\n if (!id) {\n id = cb.__id__ = String(_counter++);\n }\n callbacks[id] = cb;\n };\n GlobalSettings.removeChangeListener = function (cb) {\n var callbacks = _getCallbacks();\n delete callbacks[cb.__id__];\n };\n return GlobalSettings;\n}());\nexport { GlobalSettings };\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction _getGlobalSettings() {\n var _a;\n var win = getWindow();\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var globalObj = win || {};\n if (!globalObj[GLOBAL_SETTINGS_PROP_NAME]) {\n globalObj[GLOBAL_SETTINGS_PROP_NAME] = (_a = {},\n _a[CALLBACK_STATE_PROP_NAME] = {},\n _a);\n }\n return globalObj[GLOBAL_SETTINGS_PROP_NAME];\n}\nfunction _getCallbacks() {\n var globalSettings = _getGlobalSettings();\n return globalSettings[CALLBACK_STATE_PROP_NAME];\n}\n//# sourceMappingURL=GlobalSettings.js.map","/**\n * Simulated enum for keycodes. These will get inlined by uglify when used much like an enum\n *\n * @public\n * {@docCategory KeyCodes}\n */\nexport var KeyCodes = {\n backspace: 8,\n tab: 9,\n enter: 13,\n shift: 16,\n ctrl: 17,\n alt: 18,\n pauseBreak: 19,\n capslock: 20,\n escape: 27,\n space: 32,\n pageUp: 33,\n pageDown: 34,\n end: 35,\n home: 36,\n left: 37,\n up: 38,\n right: 39,\n down: 40,\n insert: 45,\n del: 46,\n zero: 48,\n one: 49,\n two: 50,\n three: 51,\n four: 52,\n five: 53,\n six: 54,\n seven: 55,\n eight: 56,\n nine: 57,\n a: 65,\n b: 66,\n c: 67,\n d: 68,\n e: 69,\n f: 70,\n g: 71,\n h: 72,\n i: 73,\n j: 74,\n k: 75,\n l: 76,\n m: 77,\n n: 78,\n o: 79,\n p: 80,\n q: 81,\n r: 82,\n s: 83,\n t: 84,\n u: 85,\n v: 86,\n w: 87,\n x: 88,\n y: 89,\n z: 90,\n leftWindow: 91,\n rightWindow: 92,\n select: 93,\n /* eslint-disable @typescript-eslint/naming-convention */\n zero_numpad: 96,\n one_numpad: 97,\n two_numpad: 98,\n three_numpad: 99,\n four_numpad: 100,\n five_numpad: 101,\n six_numpad: 102,\n seven_numpad: 103,\n eight_numpad: 104,\n nine_numpad: 105,\n /* eslint-enable @typescript-eslint/naming-convention */\n multiply: 106,\n add: 107,\n subtract: 109,\n decimalPoint: 110,\n divide: 111,\n f1: 112,\n f2: 113,\n f3: 114,\n f4: 115,\n f5: 116,\n f6: 117,\n f7: 118,\n f8: 119,\n f9: 120,\n f10: 121,\n f11: 122,\n f12: 123,\n numlock: 144,\n scrollLock: 145,\n semicolon: 186,\n equalSign: 187,\n comma: 188,\n dash: 189,\n period: 190,\n forwardSlash: 191,\n graveAccent: 192,\n openBracket: 219,\n backSlash: 220,\n closeBracket: 221,\n singleQuote: 222,\n};\n//# sourceMappingURL=KeyCodes.js.map","/**\n * Rectangle helper class.\n *\n * @public\n * {@docCategory Rectangle}\n */\nvar Rectangle = /** @class */ (function () {\n function Rectangle(left, right, top, bottom) {\n if (left === void 0) { left = 0; }\n if (right === void 0) { right = 0; }\n if (top === void 0) { top = 0; }\n if (bottom === void 0) { bottom = 0; }\n this.top = top;\n this.bottom = bottom;\n this.left = left;\n this.right = right;\n }\n Object.defineProperty(Rectangle.prototype, \"width\", {\n /**\n * Calculated automatically by subtracting the right from left\n */\n get: function () {\n return this.right - this.left;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Rectangle.prototype, \"height\", {\n /**\n * Calculated automatically by subtracting the bottom from top.\n */\n get: function () {\n return this.bottom - this.top;\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Tests if another rect is approximately equal to this rect (within 4 decimal places.)\n */\n Rectangle.prototype.equals = function (rect) {\n // Fixing to 4 decimal places because it allows enough precision and will handle cases when something\n // should be rounded, like .999999 should round to 1.\n return (parseFloat(this.top.toFixed(4)) === parseFloat(rect.top.toFixed(4)) &&\n parseFloat(this.bottom.toFixed(4)) === parseFloat(rect.bottom.toFixed(4)) &&\n parseFloat(this.left.toFixed(4)) === parseFloat(rect.left.toFixed(4)) &&\n parseFloat(this.right.toFixed(4)) === parseFloat(rect.right.toFixed(4)));\n };\n return Rectangle;\n}());\nexport { Rectangle };\n//# sourceMappingURL=Rectangle.js.map","/**\n * ARIA helper to concatenate attributes, returning undefined if all attributes\n * are undefined. (Empty strings are not a valid ARIA attribute value.)\n *\n * @param ariaAttributes - ARIA attributes to merge\n */\nexport function mergeAriaAttributeValues() {\n var ariaAttributes = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n ariaAttributes[_i] = arguments[_i];\n }\n var mergedAttribute = ariaAttributes\n .filter(function (arg) { return arg; })\n .join(' ')\n .trim();\n return mergedAttribute === '' ? undefined : mergedAttribute;\n}\n//# sourceMappingURL=aria.js.map","import { getWindow } from './dom/getWindow';\n/**\n * Fetches an item from session storage without throwing an exception\n * @param key The key of the item to fetch from session storage\n */\nexport function getItem(key) {\n var result = null;\n try {\n var win = getWindow();\n result = win ? win.sessionStorage.getItem(key) : null;\n }\n catch (e) {\n /* Eat the exception */\n }\n return result;\n}\n/**\n * Inserts an item into session storage without throwing an exception\n * @param key The key of the item to add to session storage\n * @param data The data to put into session storage\n */\nexport function setItem(key, data) {\n var _a;\n try {\n (_a = getWindow()) === null || _a === void 0 ? void 0 : _a.sessionStorage.setItem(key, data);\n }\n catch (e) {\n /* Eat the exception */\n }\n}\n//# sourceMappingURL=sessionStorage.js.map","import { KeyCodes } from './KeyCodes';\nimport { getDocument } from './dom/getDocument';\nimport { getItem, setItem } from './sessionStorage';\nimport { setRTL as mergeStylesSetRTL } from '@fluentui/merge-styles';\nvar RTL_LOCAL_STORAGE_KEY = 'isRTL';\n// Default to undefined so that we initialize on first read.\nvar _isRTL;\n/**\n * Gets the rtl state of the page (returns true if in rtl.)\n */\nexport function getRTL(theme) {\n if (theme === void 0) { theme = {}; }\n if (theme.rtl !== undefined) {\n return theme.rtl;\n }\n if (_isRTL === undefined) {\n // Fabric supports persisting the RTL setting between page refreshes via session storage\n var savedRTL = getItem(RTL_LOCAL_STORAGE_KEY);\n if (savedRTL !== null) {\n _isRTL = savedRTL === '1';\n setRTL(_isRTL);\n }\n var doc = getDocument();\n if (_isRTL === undefined && doc) {\n _isRTL = ((doc.body && doc.body.getAttribute('dir')) || doc.documentElement.getAttribute('dir')) === 'rtl';\n mergeStylesSetRTL(_isRTL);\n }\n }\n return !!_isRTL;\n}\n/**\n * Sets the rtl state of the page (by adjusting the dir attribute of the html element.)\n */\nexport function setRTL(isRTL, persistSetting) {\n if (persistSetting === void 0) { persistSetting = false; }\n var doc = getDocument();\n if (doc) {\n doc.documentElement.setAttribute('dir', isRTL ? 'rtl' : 'ltr');\n }\n if (persistSetting) {\n setItem(RTL_LOCAL_STORAGE_KEY, isRTL ? '1' : '0');\n }\n _isRTL = isRTL;\n mergeStylesSetRTL(_isRTL);\n}\n/**\n * Returns the given key, but flips right/left arrows if necessary.\n */\nexport function getRTLSafeKeyCode(key, theme) {\n if (theme === void 0) { theme = {}; }\n if (getRTL(theme)) {\n if (key === KeyCodes.left) {\n key = KeyCodes.right;\n }\n else if (key === KeyCodes.right) {\n key = KeyCodes.left;\n }\n }\n return key;\n}\n//# sourceMappingURL=rtl.js.map","import { getVirtualParent } from './getVirtualParent';\n/**\n * Gets the element which is the parent of a given element.\n * If `allowVirtuaParents` is `true`, this method prefers the virtual parent over\n * real DOM parent when present.\n *\n * @public\n */\nexport function getParent(child, allowVirtualParents) {\n if (allowVirtualParents === void 0) { allowVirtualParents = true; }\n return (child &&\n ((allowVirtualParents && getVirtualParent(child)) || (child.parentNode && child.parentNode)));\n}\n//# sourceMappingURL=getParent.js.map","import { isVirtualElement } from './isVirtualElement';\n/**\n * Gets the virtual parent given the child element, if it exists.\n *\n * @public\n */\nexport function getVirtualParent(child) {\n var parent;\n if (child && isVirtualElement(child)) {\n parent = child._virtual.parent;\n }\n return parent;\n}\n//# sourceMappingURL=getVirtualParent.js.map","/**\n * Determines whether or not an element has the virtual hierarchy extension.\n *\n * @public\n */\nexport function isVirtualElement(element) {\n return element && !!element._virtual;\n}\n//# sourceMappingURL=isVirtualElement.js.map","import { getParent } from './getParent';\n/**\n * Determines whether or not a parent element contains a given child element.\n * If `allowVirtualParents` is true, this method may return `true` if the child\n * has the parent in its virtual element hierarchy.\n *\n * @public\n */\nexport function elementContains(parent, child, allowVirtualParents) {\n if (allowVirtualParents === void 0) { allowVirtualParents = true; }\n var isContained = false;\n if (parent && child) {\n if (allowVirtualParents) {\n if (parent === child) {\n isContained = true;\n }\n else {\n isContained = false;\n while (child) {\n var nextParent = getParent(child);\n if (nextParent === parent) {\n isContained = true;\n break;\n }\n child = nextParent;\n }\n }\n }\n else if (parent.contains) {\n isContained = parent.contains(child);\n }\n }\n return isContained;\n}\n//# sourceMappingURL=elementContains.js.map","import { getParent } from './getParent';\n/**\n * Finds the first parent element where the matchFunction returns true\n * @param element - element to start searching at\n * @param matchFunction - the function that determines if the element is a match\n * @returns the matched element or null no match was found\n */\nexport function findElementRecursive(element, matchFunction) {\n if (!element || element === document.body) {\n return null;\n }\n return matchFunction(element) ? element : findElementRecursive(getParent(element), matchFunction);\n}\n//# sourceMappingURL=findElementRecursive.js.map","export var DATA_PORTAL_ATTRIBUTE = 'data-portal-element';\n/**\n * Identify element as a portal by setting an attribute.\n * @param element - Element to mark as a portal.\n */\nexport function setPortalAttribute(element) {\n element.setAttribute(DATA_PORTAL_ATTRIBUTE, 'true');\n}\n//# sourceMappingURL=setPortalAttribute.js.map","import { findElementRecursive } from './findElementRecursive';\nimport { DATA_PORTAL_ATTRIBUTE } from './setPortalAttribute';\n/**\n * Determine whether a target is within a portal from perspective of root or optional parent.\n * This function only works against portal components that use the setPortalAttribute function.\n * If both parent and child are within the same portal this function will return false.\n * @param target - Element to query portal containment status of.\n * @param parent - Optional parent perspective. Search for containing portal stops at parent\n * (or root if parent is undefined or invalid.)\n */\nexport function portalContainsElement(target, parent) {\n var elementMatch = findElementRecursive(target, function (testElement) { return parent === testElement || testElement.hasAttribute(DATA_PORTAL_ATTRIBUTE); });\n return elementMatch !== null && elementMatch.hasAttribute(DATA_PORTAL_ATTRIBUTE);\n}\n//# sourceMappingURL=portalContainsElement.js.map","export function on(element, eventName, callback, options) {\n element.addEventListener(eventName, callback, options);\n return function () { return element.removeEventListener(eventName, callback, options); };\n}\n//# sourceMappingURL=on.js.map","/** Raises a click event. */\nexport function raiseClick(target) {\n var event = createNewEvent('MouseEvents');\n event.initEvent('click', true, true);\n target.dispatchEvent(event);\n}\nfunction createNewEvent(eventName) {\n var event;\n if (typeof Event === 'function') {\n // Chrome, Opera, Firefox\n event = new Event(eventName);\n }\n else {\n // IE\n event = document.createEvent('Event');\n event.initEvent(eventName, true, true);\n }\n return event;\n}\n//# sourceMappingURL=raiseClick.js.map","import { mergeCssSets, Stylesheet, } from '@fluentui/merge-styles';\nimport { getRTL } from './rtl';\nimport { getWindow } from './dom';\nvar MAX_CACHE_COUNT = 50;\nvar DEFAULT_SPECIFICITY_MULTIPLIER = 5;\nvar _memoizedClassNames = 0;\nvar stylesheet = Stylesheet.getInstance();\nif (stylesheet && stylesheet.onReset) {\n stylesheet.onReset(function () { return _memoizedClassNames++; });\n}\n// Note that because of the caching nature within the classNames memoization,\n// I've disabled this rule to simply be able to work with any types.\n/* eslint-disable @typescript-eslint/no-explicit-any */\n// This represents a prop we attach to each Map to indicate the cached return value\n// associated with the graph node.\nvar retVal = '__retval__';\n/**\n * Creates a getClassNames function which calls getStyles given the props, and injects them\n * into mergeStyleSets.\n *\n * Note that the props you pass in on every render should be in the same order and\n * immutable (numbers, strings, and booleans). This will allow the results to be memoized. Violating\n * these will cause extra recalcs to occur.\n */\nexport function classNamesFunction(options) {\n // We build a trie where each node is a Map. The map entry key represents an argument\n // value, and the entry value is another node (Map). Each node has a `__retval__`\n // property which is used to hold the cached response.\n if (options === void 0) { options = {}; }\n // To derive the response, we can simply ensure the arguments are added or already\n // exist in the trie. At the last node, if there is a `__retval__` we return that. Otherwise\n // we call the `getStyles` api to evaluate, cache on the property, and return that.\n var map = new Map();\n var styleCalcCount = 0;\n var getClassNamesCount = 0;\n var currentMemoizedClassNames = _memoizedClassNames;\n var getClassNames = function (styleFunctionOrObject, styleProps) {\n var _a;\n if (styleProps === void 0) { styleProps = {}; }\n // If useStaticStyles is true, styleFunctionOrObject returns slot to classname mappings.\n // If there is also no style overrides, we can skip merge styles completely and\n // simply return the result from the style funcion.\n if (options.useStaticStyles &&\n typeof styleFunctionOrObject === 'function' &&\n styleFunctionOrObject.__noStyleOverride__) {\n return styleFunctionOrObject(styleProps);\n }\n getClassNamesCount++;\n var current = map;\n var theme = styleProps.theme;\n var rtl = theme && theme.rtl !== undefined ? theme.rtl : getRTL();\n var disableCaching = options.disableCaching;\n // On reset of our stylesheet, reset memoized cache.\n if (currentMemoizedClassNames !== _memoizedClassNames) {\n currentMemoizedClassNames = _memoizedClassNames;\n map = new Map();\n styleCalcCount = 0;\n }\n if (!options.disableCaching) {\n current = _traverseMap(map, styleFunctionOrObject);\n current = _traverseMap(current, styleProps);\n }\n if (disableCaching || !current[retVal]) {\n if (styleFunctionOrObject === undefined) {\n current[retVal] = {};\n }\n else {\n current[retVal] = mergeCssSets([\n (typeof styleFunctionOrObject === 'function'\n ? styleFunctionOrObject(styleProps)\n : styleFunctionOrObject),\n ], { rtl: !!rtl, specificityMultiplier: options.useStaticStyles ? DEFAULT_SPECIFICITY_MULTIPLIER : undefined });\n }\n if (!disableCaching) {\n styleCalcCount++;\n }\n }\n if (styleCalcCount > (options.cacheSize || MAX_CACHE_COUNT)) {\n var win = getWindow();\n if ((_a = win === null || win === void 0 ? void 0 : win.FabricConfig) === null || _a === void 0 ? void 0 : _a.enableClassNameCacheFullWarning) {\n // eslint-disable-next-line no-console\n console.warn(\"Styles are being recalculated too frequently. Cache miss rate is \" + styleCalcCount + \"/\" + getClassNamesCount + \".\");\n // eslint-disable-next-line no-console\n console.trace();\n }\n map.clear();\n styleCalcCount = 0;\n // Mutate the options passed in, that's all we can do.\n options.disableCaching = true;\n }\n // Note: the retVal is an attached property on the Map; not a key in the Map. We use this attached property to\n // cache the return value for this branch of the graph.\n return current[retVal];\n };\n return getClassNames;\n}\nfunction _traverseEdge(current, value) {\n value = _normalizeValue(value);\n if (!current.has(value)) {\n current.set(value, new Map());\n }\n return current.get(value);\n}\nfunction _traverseMap(current, inputs) {\n if (typeof inputs === 'function') {\n var cachedInputsFromStyled = inputs.__cachedInputs__;\n if (cachedInputsFromStyled) {\n // The styled helper will generate the styles function and will attach the cached\n // inputs (consisting of the default styles, customzied styles, and user provided styles.)\n // These should be used as cache keys for deriving the memoized value.\n for (var _i = 0, _a = inputs.__cachedInputs__; _i < _a.length; _i++) {\n var input = _a[_i];\n current = _traverseEdge(current, input);\n }\n }\n else {\n current = _traverseEdge(current, inputs);\n }\n }\n else if (typeof inputs === 'object') {\n for (var propName in inputs) {\n if (inputs.hasOwnProperty(propName)) {\n current = _traverseEdge(current, inputs[propName]);\n }\n }\n }\n return current;\n}\nfunction _normalizeValue(value) {\n switch (value) {\n case undefined:\n return '__undefined__';\n case null:\n return '__null__';\n default:\n return value;\n }\n}\n//# sourceMappingURL=classNamesFunction.js.map","import { Stylesheet } from '@fluentui/merge-styles';\nvar _initializedStylesheetResets = false;\nvar _resetCounter = 0;\nvar _emptyObject = { empty: true };\nvar _dictionary = {};\nvar _weakMap = typeof WeakMap === 'undefined' ? null : WeakMap;\n/**\n * Test utility for providing a custom weakmap.\n *\n * @internal\n * */\nexport function setMemoizeWeakMap(weakMap) {\n _weakMap = weakMap;\n}\n/**\n * Reset memoizations.\n */\nexport function resetMemoizations() {\n _resetCounter++;\n}\n/**\n * Memoize decorator to be used on class methods. WARNING: the `this` reference\n * will be inaccessible within a memoized method, given that a cached method's `this`\n * would not be instance-specific.\n *\n * @public\n */\nexport function memoize(_target, _key, descriptor) {\n // We bind to \"null\" to prevent people from inadvertently pulling values from \"this\",\n // rather than passing them in as input values which can be memoized.\n var fn = memoizeFunction(descriptor.value && descriptor.value.bind(null));\n return {\n configurable: true,\n get: function () {\n return fn;\n },\n };\n}\n/**\n * Memoizes a function; when you pass in the same parameters multiple times, it returns a cached result.\n * Be careful when passing in objects, you need to pass in the same INSTANCE for caching to work. Otherwise\n * it will grow the cache unnecessarily. Also avoid using default values that evaluate functions; passing in\n * undefined for a value and relying on a default function will execute it the first time, but will not\n * re-evaluate subsequent times which may have been unexpected.\n *\n * By default, the cache will reset after 100 permutations, to avoid abuse cases where the function is\n * unintendedly called with unique objects. Without a reset, the cache could grow infinitely, so we safeguard\n * by resetting. To override this behavior, pass a value of 0 to the maxCacheSize parameter.\n *\n * @public\n * @param cb - The function to memoize.\n * @param maxCacheSize - Max results to cache. If the cache exceeds this value, it will reset on the next call.\n * @param ignoreNullOrUndefinedResult - Flag to decide whether to cache callback result if it is undefined/null.\n * If the flag is set to true, the callback result is recomputed every time till the callback result is\n * not undefined/null for the first time, and then the non-undefined/null version gets cached.\n * @returns A memoized version of the function.\n */\nexport function memoizeFunction(cb, maxCacheSize, ignoreNullOrUndefinedResult) {\n if (maxCacheSize === void 0) { maxCacheSize = 100; }\n if (ignoreNullOrUndefinedResult === void 0) { ignoreNullOrUndefinedResult = false; }\n // Avoid breaking scenarios which don't have weak map.\n if (!_weakMap) {\n return cb;\n }\n if (!_initializedStylesheetResets) {\n var stylesheet = Stylesheet.getInstance();\n if (stylesheet && stylesheet.onReset) {\n Stylesheet.getInstance().onReset(resetMemoizations);\n }\n _initializedStylesheetResets = true;\n }\n var rootNode;\n var cacheSize = 0;\n var localResetCounter = _resetCounter;\n return function memoizedFunction() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var currentNode = rootNode;\n if (rootNode === undefined ||\n localResetCounter !== _resetCounter ||\n (maxCacheSize > 0 && cacheSize > maxCacheSize)) {\n rootNode = _createNode();\n cacheSize = 0;\n localResetCounter = _resetCounter;\n }\n currentNode = rootNode;\n // Traverse the tree until we find the match.\n for (var i = 0; i < args.length; i++) {\n var arg = _normalizeArg(args[i]);\n if (!currentNode.map.has(arg)) {\n currentNode.map.set(arg, _createNode());\n }\n currentNode = currentNode.map.get(arg);\n }\n if (!currentNode.hasOwnProperty('value')) {\n currentNode.value = cb.apply(void 0, args);\n cacheSize++;\n }\n if (ignoreNullOrUndefinedResult && (currentNode.value === null || currentNode.value === undefined)) {\n currentNode.value = cb.apply(void 0, args);\n }\n return currentNode.value;\n };\n}\n/**\n * Creates a memoizer for a single-value function, backed by a WeakMap.\n * With a WeakMap, the memoized values are only kept as long as the source objects,\n * ensuring that there is no memory leak.\n *\n * This function assumes that the input values passed to the wrapped function will be\n * `function` or `object` types. To memoize functions which accept other inputs, use\n * `memoizeFunction`, which memoizes against arbitrary inputs using a lookup cache.\n *\n * @public\n */\nexport function createMemoizer(getValue) {\n if (!_weakMap) {\n // Without a `WeakMap` implementation, memoization is not possible.\n return getValue;\n }\n var cache = new _weakMap();\n function memoizedGetValue(input) {\n if (!input || (typeof input !== 'function' && typeof input !== 'object')) {\n // A WeakMap can only be used to test against reference values, i.e. 'function' and 'object'.\n // All other inputs cannot be memoized against in this manner.\n return getValue(input);\n }\n if (cache.has(input)) {\n return cache.get(input);\n }\n var value = getValue(input);\n cache.set(input, value);\n return value;\n }\n return memoizedGetValue;\n}\nfunction _normalizeArg(val) {\n if (!val) {\n return _emptyObject;\n }\n else if (typeof val === 'object' || typeof val === 'function') {\n return val;\n }\n else if (!_dictionary[val]) {\n _dictionary[val] = { val: val };\n }\n return _dictionary[val];\n}\nfunction _createNode() {\n return {\n map: _weakMap ? new _weakMap() : null,\n };\n}\n//# sourceMappingURL=memoize.js.map","/**\n * Concatination helper, which can merge class names together. Skips over falsey values.\n *\n * @public\n */\nexport function css() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var classes = [];\n for (var _a = 0, args_1 = args; _a < args_1.length; _a++) {\n var arg = args_1[_a];\n if (arg) {\n if (typeof arg === 'string') {\n classes.push(arg);\n }\n else if (arg.hasOwnProperty('toString') && typeof arg.toString === 'function') {\n classes.push(arg.toString());\n }\n else {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n for (var key in arg) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n if (arg[key]) {\n classes.push(key);\n }\n }\n }\n }\n }\n return classes.join(' ');\n}\n//# sourceMappingURL=css.js.map","import { __assign } from \"tslib\";\nimport { GlobalSettings } from '../GlobalSettings';\nvar CustomizationsGlobalKey = 'customizations';\nvar NO_CUSTOMIZATIONS = { settings: {}, scopedSettings: {}, inCustomizerContext: false };\nvar _allSettings = GlobalSettings.getValue(CustomizationsGlobalKey, {\n settings: {},\n scopedSettings: {},\n inCustomizerContext: false,\n});\nvar _events = [];\nvar Customizations = /** @class */ (function () {\n function Customizations() {\n }\n Customizations.reset = function () {\n _allSettings.settings = {};\n _allSettings.scopedSettings = {};\n };\n /** Apply global Customization settings.\n * @example Customizations.applySettings(\\{ theme: \\{...\\} \\});\n */\n Customizations.applySettings = function (settings) {\n _allSettings.settings = __assign(__assign({}, _allSettings.settings), settings);\n Customizations._raiseChange();\n };\n /** Apply Customizations to a particular named scope, like a component.\n * @example Customizations.applyScopedSettings('Nav', \\{ styles: () =\\> \\{\\} \\});\n */\n Customizations.applyScopedSettings = function (scopeName, settings) {\n _allSettings.scopedSettings[scopeName] = __assign(__assign({}, _allSettings.scopedSettings[scopeName]), settings);\n Customizations._raiseChange();\n };\n Customizations.getSettings = function (properties, scopeName, localSettings) {\n if (localSettings === void 0) { localSettings = NO_CUSTOMIZATIONS; }\n var settings = {};\n var localScopedSettings = (scopeName && localSettings.scopedSettings[scopeName]) || {};\n var globalScopedSettings = (scopeName && _allSettings.scopedSettings[scopeName]) || {};\n for (var _i = 0, properties_1 = properties; _i < properties_1.length; _i++) {\n var property = properties_1[_i];\n settings[property] =\n localScopedSettings[property] ||\n localSettings.settings[property] ||\n globalScopedSettings[property] ||\n _allSettings.settings[property];\n }\n return settings;\n };\n /** Used to run some code that sets Customizations without triggering an update until the end.\n * Useful for applying Customizations that don't affect anything currently rendered, or for\n * applying many customizations at once.\n * @param suppressUpdate - Do not raise the change event at the end, preventing all updates\n */\n Customizations.applyBatchedUpdates = function (code, suppressUpdate) {\n Customizations._suppressUpdates = true;\n try {\n code();\n }\n catch (_a) {\n /* do nothing */\n }\n Customizations._suppressUpdates = false;\n if (!suppressUpdate) {\n Customizations._raiseChange();\n }\n };\n Customizations.observe = function (onChange) {\n _events.push(onChange);\n };\n Customizations.unobserve = function (onChange) {\n _events = _events.filter(function (cb) { return cb !== onChange; });\n };\n Customizations._raiseChange = function () {\n if (!Customizations._suppressUpdates) {\n _events.forEach(function (cb) { return cb(); });\n }\n };\n return Customizations;\n}());\nexport { Customizations };\n//# sourceMappingURL=Customizations.js.map","import * as React from 'react';\nexport var CustomizerContext = React.createContext({\n customizations: {\n inCustomizerContext: false,\n settings: {},\n scopedSettings: {},\n },\n});\n//# sourceMappingURL=CustomizerContext.js.map","import { __assign } from \"tslib\";\n/**\n * Merge new and old settings, giving priority to new settings.\n * New settings is optional in which case oldSettings is returned as-is.\n * @param oldSettings - Old settings to fall back to.\n * @param newSettings - New settings that will be merged over oldSettings.\n * @returns Merged settings.\n */\nexport function mergeSettings(oldSettings, newSettings) {\n if (oldSettings === void 0) { oldSettings = {}; }\n var mergeSettingsWith = _isSettingsFunction(newSettings) ? newSettings : _settingsMergeWith(newSettings);\n return mergeSettingsWith(oldSettings);\n}\nexport function mergeScopedSettings(oldSettings, newSettings) {\n if (oldSettings === void 0) { oldSettings = {}; }\n var mergeSettingsWith = _isSettingsFunction(newSettings) ? newSettings : _scopedSettingsMergeWith(newSettings);\n return mergeSettingsWith(oldSettings);\n}\nfunction _isSettingsFunction(settings) {\n return typeof settings === 'function';\n}\nfunction _settingsMergeWith(newSettings) {\n return function (settings) { return (newSettings ? __assign(__assign({}, settings), newSettings) : settings); };\n}\nfunction _scopedSettingsMergeWith(scopedSettingsFromProps) {\n if (scopedSettingsFromProps === void 0) { scopedSettingsFromProps = {}; }\n return function (oldScopedSettings) {\n var newScopedSettings = __assign({}, oldScopedSettings);\n for (var scopeName in scopedSettingsFromProps) {\n if (scopedSettingsFromProps.hasOwnProperty(scopeName)) {\n newScopedSettings[scopeName] = __assign(__assign({}, oldScopedSettings[scopeName]), scopedSettingsFromProps[scopeName]);\n }\n }\n return newScopedSettings;\n };\n}\n//# sourceMappingURL=mergeSettings.js.map","import { __extends } from \"tslib\";\nimport * as React from 'react';\nimport { Customizations } from './Customizations';\nimport { CustomizerContext } from './CustomizerContext';\nimport { mergeCustomizations } from './mergeCustomizations';\n/**\n * The Customizer component allows for default props to be mixed into components which\n * are decorated with the customizable() decorator, or use the styled HOC. This enables\n * injection scenarios like:\n *\n * 1. render svg icons instead of the icon font within all buttons\n * 2. inject a custom theme object into a component\n *\n * Props are provided via the settings prop which should be one of the following:\n * - A json map which contains 1 or more name/value pairs representing injectable props.\n * - A function that receives the current settings and returns the new ones that apply to the scope\n *\n * @public\n *\n * @deprecated This component is deprecated for purpose of applying theme to components\n * as of `@fluentui/react` version 8. Use `ThemeProvider` for applying theme instead.\n */\nvar Customizer = /** @class */ (function (_super) {\n __extends(Customizer, _super);\n function Customizer() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._onCustomizationChange = function () { return _this.forceUpdate(); };\n return _this;\n }\n Customizer.prototype.componentDidMount = function () {\n Customizations.observe(this._onCustomizationChange);\n };\n Customizer.prototype.componentWillUnmount = function () {\n Customizations.unobserve(this._onCustomizationChange);\n };\n Customizer.prototype.render = function () {\n var _this = this;\n var contextTransform = this.props.contextTransform;\n return (React.createElement(CustomizerContext.Consumer, null, function (parentContext) {\n var newContext = mergeCustomizations(_this.props, parentContext);\n if (contextTransform) {\n newContext = contextTransform(newContext);\n }\n return React.createElement(CustomizerContext.Provider, { value: newContext }, _this.props.children);\n }));\n };\n return Customizer;\n}(React.Component));\nexport { Customizer };\n//# sourceMappingURL=Customizer.js.map","import { mergeSettings, mergeScopedSettings } from './mergeSettings';\n/**\n * Merge props and customizations giving priority to props over context.\n * NOTE: This function will always perform multiple merge operations. Use with caution.\n * @param props - New settings to merge in.\n * @param parentContext - Context containing current settings.\n * @returns Merged customizations.\n */\nexport function mergeCustomizations(props, parentContext) {\n var _a = (parentContext || {}).customizations, customizations = _a === void 0 ? { settings: {}, scopedSettings: {} } : _a;\n return {\n customizations: {\n settings: mergeSettings(customizations.settings, props.settings),\n scopedSettings: mergeScopedSettings(customizations.scopedSettings, props.scopedSettings),\n inCustomizerContext: true,\n },\n };\n}\n//# sourceMappingURL=mergeCustomizations.js.map","import { __assign, __extends } from \"tslib\";\nimport * as React from 'react';\nimport { Customizations } from './Customizations';\nimport { hoistStatics } from '../hoistStatics';\nimport { CustomizerContext } from './CustomizerContext';\nimport { concatStyleSets } from '@fluentui/merge-styles';\nexport function customizable(scope, fields, concatStyles) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return function customizableFactory(ComposedComponent) {\n var _a;\n var resultClass = (_a = /** @class */ (function (_super) {\n __extends(ComponentWithInjectedProps, _super);\n function ComponentWithInjectedProps(props) {\n var _this = _super.call(this, props) || this;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n _this._styleCache = {};\n _this._onSettingChanged = _this._onSettingChanged.bind(_this);\n return _this;\n }\n ComponentWithInjectedProps.prototype.componentDidMount = function () {\n Customizations.observe(this._onSettingChanged);\n };\n ComponentWithInjectedProps.prototype.componentWillUnmount = function () {\n Customizations.unobserve(this._onSettingChanged);\n };\n ComponentWithInjectedProps.prototype.render = function () {\n var _this = this;\n return (React.createElement(CustomizerContext.Consumer, null, function (context) {\n var defaultProps = Customizations.getSettings(fields, scope, context.customizations);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var componentProps = _this.props;\n // If defaultProps.styles is a function, evaluate it before calling concatStyleSets\n if (defaultProps.styles && typeof defaultProps.styles === 'function') {\n defaultProps.styles = defaultProps.styles(__assign(__assign({}, defaultProps), componentProps));\n }\n // If concatStyles is true and custom styles have been defined compute those styles\n if (concatStyles && defaultProps.styles) {\n if (_this._styleCache.default !== defaultProps.styles ||\n _this._styleCache.component !== componentProps.styles) {\n var mergedStyles = concatStyleSets(defaultProps.styles, componentProps.styles);\n _this._styleCache.default = defaultProps.styles;\n _this._styleCache.component = componentProps.styles;\n _this._styleCache.merged = mergedStyles;\n }\n return React.createElement(ComposedComponent, __assign({}, defaultProps, componentProps, { styles: _this._styleCache.merged }));\n }\n return React.createElement(ComposedComponent, __assign({}, defaultProps, componentProps));\n }));\n };\n ComponentWithInjectedProps.prototype._onSettingChanged = function () {\n this.forceUpdate();\n };\n return ComponentWithInjectedProps;\n }(React.Component)),\n _a.displayName = 'Customized' + scope,\n _a);\n return hoistStatics(ComposedComponent, resultClass);\n };\n}\n//# sourceMappingURL=customizable.js.map","/**\n * Allows you to hoist static functions in components.\n * Created for the purpose of fixing broken static functions in classes\n * that utilize decorators.\n *\n * @public\n * @param source - The object where the methods are hoisted from.\n * @param dest - The object to hoist the methods onto.\n * @returns The dest object with methods added\n */\nexport function hoistStatics(source, dest) {\n for (var name_1 in source) {\n if (source.hasOwnProperty(name_1)) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n dest[name_1] = source[name_1];\n }\n }\n return dest;\n}\n//# sourceMappingURL=hoistStatics.js.map","import * as React from 'react';\nimport { Customizations } from './Customizations';\nimport { CustomizerContext } from './CustomizerContext';\n/**\n * Hook to get Customizations settings from Customizations singleton or CustomizerContext.\n * It will trigger component state update on settings change observed.\n */\nexport function useCustomizationSettings(properties, scopeName) {\n var forceUpdate = useForceUpdate();\n var customizations = React.useContext(CustomizerContext).customizations;\n var inCustomizerContext = customizations.inCustomizerContext;\n React.useEffect(function () {\n if (!inCustomizerContext) {\n Customizations.observe(forceUpdate);\n }\n return function () {\n if (!inCustomizerContext) {\n Customizations.unobserve(forceUpdate);\n }\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps -- exclude forceUpdate\n }, [inCustomizerContext]);\n return Customizations.getSettings(properties, scopeName, customizations);\n}\nfunction useForceUpdate() {\n var _a = React.useState(0), setValue = _a[1];\n return function () { return setValue(function (value) { return ++value; }); };\n}\n//# sourceMappingURL=useCustomizationSettings.js.map","import { appendFunction } from './appendFunction';\n/**\n * Extends a component's lifetime methods by appending new functions to the existing lifetime functions.\n */\nexport function extendComponent(parent, methods) {\n for (var name_1 in methods) {\n if (methods.hasOwnProperty(name_1)) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n parent[name_1] = appendFunction(parent, parent[name_1], methods[name_1]);\n }\n }\n}\n//# sourceMappingURL=extendComponent.js.map","/* eslint-disable @typescript-eslint/no-explicit-any */\n/**\n * Returns a single function which will call each of the given functions in the context of the\n * parent.\n */\nexport function appendFunction(parent) {\n var functions = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n functions[_i - 1] = arguments[_i];\n }\n if (functions.length < 2) {\n return functions[0];\n }\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n functions.forEach(function (f) { return f && f.apply(parent, args); });\n };\n}\n//# sourceMappingURL=appendFunction.js.map","import { elementContainsAttribute } from './dom/elementContainsAttribute';\nimport { elementContains } from './dom/elementContains';\nimport { getParent } from './dom/getParent';\nimport { getWindow } from './dom/getWindow';\nimport { getDocument } from './dom/getDocument';\nvar IS_FOCUSABLE_ATTRIBUTE = 'data-is-focusable';\nvar IS_VISIBLE_ATTRIBUTE = 'data-is-visible';\nvar FOCUSZONE_ID_ATTRIBUTE = 'data-focuszone-id';\nvar FOCUSZONE_SUB_ATTRIBUTE = 'data-is-sub-focuszone';\n/**\n * Gets the first focusable element.\n *\n * @public\n */\nexport function getFirstFocusable(rootElement, currentElement, includeElementsInFocusZones) {\n return getNextElement(rootElement, currentElement, true /*checkNode*/, false /*suppressParentTraversal*/, false /*suppressChildTraversal*/, includeElementsInFocusZones);\n}\n/**\n * Gets the last focusable element.\n *\n * @public\n */\nexport function getLastFocusable(rootElement, currentElement, includeElementsInFocusZones) {\n return getPreviousElement(rootElement, currentElement, true /*checkNode*/, false /*suppressParentTraversal*/, true /*traverseChildren*/, includeElementsInFocusZones);\n}\n/**\n * Gets the first tabbable element. (The difference between focusable and tabbable is that tabbable elements are\n * focusable elements that also have tabIndex != -1.)\n * @param rootElement - The parent element to search beneath.\n * @param currentElement - The descendant of rootElement to start the search at. This element is the first one checked,\n * and iteration continues forward. Typical use passes rootElement.firstChild.\n * @param includeElementsInFocusZones - true if traversal should go into FocusZone descendants.\n * @param checkNode - Include currentElement in search when true. Defaults to true.\n * @public\n */\nexport function getFirstTabbable(rootElement, currentElement, includeElementsInFocusZones, checkNode) {\n if (checkNode === void 0) { checkNode = true; }\n return getNextElement(rootElement, currentElement, checkNode, false /*suppressParentTraversal*/, false /*suppressChildTraversal*/, includeElementsInFocusZones, false /*allowFocusRoot*/, true /*tabbable*/);\n}\n/**\n * Gets the last tabbable element. (The difference between focusable and tabbable is that tabbable elements are\n * focusable elements that also have tabIndex != -1.)\n * @param rootElement - The parent element to search beneath.\n * @param currentElement - The descendant of rootElement to start the search at. This element is the first one checked,\n * and iteration continues in reverse. Typical use passes rootElement.lastChild.\n * @param includeElementsInFocusZones - true if traversal should go into FocusZone descendants.\n * @param checkNode - Include currentElement in search when true. Defaults to true.\n * @public\n */\nexport function getLastTabbable(rootElement, currentElement, includeElementsInFocusZones, checkNode) {\n if (checkNode === void 0) { checkNode = true; }\n return getPreviousElement(rootElement, currentElement, checkNode, false /*suppressParentTraversal*/, true /*traverseChildren*/, includeElementsInFocusZones, false /*allowFocusRoot*/, true /*tabbable*/);\n}\n/**\n * Attempts to focus the first focusable element that is a child or child's child of the rootElement.\n *\n * @public\n * @param rootElement - Element to start the search for a focusable child.\n * @returns True if focus was set, false if it was not.\n */\nexport function focusFirstChild(rootElement) {\n var element = getNextElement(rootElement, rootElement, true, false, false, true);\n if (element) {\n focusAsync(element);\n return true;\n }\n return false;\n}\n/**\n * Traverse to find the previous element.\n * If tabbable is true, the element must have tabIndex != -1.\n *\n * @public\n */\nexport function getPreviousElement(rootElement, currentElement, checkNode, suppressParentTraversal, traverseChildren, includeElementsInFocusZones, allowFocusRoot, tabbable) {\n if (!currentElement || (!allowFocusRoot && currentElement === rootElement)) {\n return null;\n }\n var isCurrentElementVisible = isElementVisible(currentElement);\n // Check its children.\n if (traverseChildren &&\n isCurrentElementVisible &&\n (includeElementsInFocusZones || !(isElementFocusZone(currentElement) || isElementFocusSubZone(currentElement)))) {\n var childMatch = getPreviousElement(rootElement, currentElement.lastElementChild, true, true, true, includeElementsInFocusZones, allowFocusRoot, tabbable);\n if (childMatch) {\n if ((tabbable && isElementTabbable(childMatch, true)) || !tabbable) {\n return childMatch;\n }\n var childMatchSiblingMatch = getPreviousElement(rootElement, childMatch.previousElementSibling, true, true, true, includeElementsInFocusZones, allowFocusRoot, tabbable);\n if (childMatchSiblingMatch) {\n return childMatchSiblingMatch;\n }\n var childMatchParent = childMatch.parentElement;\n // At this point if we have not found any potential matches\n // start looking at the rest of the subtree under the currentParent.\n // NOTE: We do not want to recurse here because doing so could\n // cause elements to get skipped.\n while (childMatchParent && childMatchParent !== currentElement) {\n var childMatchParentMatch = getPreviousElement(rootElement, childMatchParent.previousElementSibling, true, true, true, includeElementsInFocusZones, allowFocusRoot, tabbable);\n if (childMatchParentMatch) {\n return childMatchParentMatch;\n }\n childMatchParent = childMatchParent.parentElement;\n }\n }\n }\n // Check the current node, if it's not the first traversal.\n if (checkNode && isCurrentElementVisible && isElementTabbable(currentElement, tabbable)) {\n return currentElement;\n }\n // Check its previous sibling.\n var siblingMatch = getPreviousElement(rootElement, currentElement.previousElementSibling, true, true, true, includeElementsInFocusZones, allowFocusRoot, tabbable);\n if (siblingMatch) {\n return siblingMatch;\n }\n // Check its parent.\n if (!suppressParentTraversal) {\n return getPreviousElement(rootElement, currentElement.parentElement, true, false, false, includeElementsInFocusZones, allowFocusRoot, tabbable);\n }\n return null;\n}\n/**\n * Traverse to find the next focusable element.\n * If tabbable is true, the element must have tabIndex != -1.\n *\n * @public\n * @param checkNode - Include currentElement in search when true.\n */\nexport function getNextElement(rootElement, currentElement, checkNode, suppressParentTraversal, suppressChildTraversal, includeElementsInFocusZones, allowFocusRoot, tabbable) {\n if (!currentElement || (currentElement === rootElement && suppressChildTraversal && !allowFocusRoot)) {\n return null;\n }\n var isCurrentElementVisible = isElementVisible(currentElement);\n // Check the current node, if it's not the first traversal.\n if (checkNode && isCurrentElementVisible && isElementTabbable(currentElement, tabbable)) {\n return currentElement;\n }\n // Check its children.\n if (!suppressChildTraversal &&\n isCurrentElementVisible &&\n (includeElementsInFocusZones || !(isElementFocusZone(currentElement) || isElementFocusSubZone(currentElement)))) {\n var childMatch = getNextElement(rootElement, currentElement.firstElementChild, true, true, false, includeElementsInFocusZones, allowFocusRoot, tabbable);\n if (childMatch) {\n return childMatch;\n }\n }\n if (currentElement === rootElement) {\n return null;\n }\n // Check its sibling.\n var siblingMatch = getNextElement(rootElement, currentElement.nextElementSibling, true, true, false, includeElementsInFocusZones, allowFocusRoot, tabbable);\n if (siblingMatch) {\n return siblingMatch;\n }\n if (!suppressParentTraversal) {\n return getNextElement(rootElement, currentElement.parentElement, false, false, true, includeElementsInFocusZones, allowFocusRoot, tabbable);\n }\n return null;\n}\n/**\n * Determines if an element is visible.\n *\n * @public\n */\nexport function isElementVisible(element) {\n // If the element is not valid, return false.\n if (!element || !element.getAttribute) {\n return false;\n }\n var visibilityAttribute = element.getAttribute(IS_VISIBLE_ATTRIBUTE);\n // If the element is explicitly marked with the visibility attribute, return that value as boolean.\n if (visibilityAttribute !== null && visibilityAttribute !== undefined) {\n return visibilityAttribute === 'true';\n }\n // Fallback to other methods of determining actual visibility.\n return (element.offsetHeight !== 0 ||\n element.offsetParent !== null ||\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n element.isVisible === true); // used as a workaround for testing.\n}\n/**\n * Determines if an element can receive focus programmatically or via a mouse click.\n * If checkTabIndex is true, additionally checks to ensure the element can be focused with the tab key,\n * meaning tabIndex != -1.\n *\n * @public\n */\nexport function isElementTabbable(element, checkTabIndex) {\n // If this element is null or is disabled, it is not considered tabbable.\n if (!element || element.disabled) {\n return false;\n }\n var tabIndex = 0;\n var tabIndexAttributeValue = null;\n if (element && element.getAttribute) {\n tabIndexAttributeValue = element.getAttribute('tabIndex');\n if (tabIndexAttributeValue) {\n tabIndex = parseInt(tabIndexAttributeValue, 10);\n }\n }\n var isFocusableAttribute = element.getAttribute ? element.getAttribute(IS_FOCUSABLE_ATTRIBUTE) : null;\n var isTabIndexSet = tabIndexAttributeValue !== null && tabIndex >= 0;\n var result = !!element &&\n isFocusableAttribute !== 'false' &&\n (element.tagName === 'A' ||\n element.tagName === 'BUTTON' ||\n element.tagName === 'INPUT' ||\n element.tagName === 'TEXTAREA' ||\n element.tagName === 'SELECT' ||\n isFocusableAttribute === 'true' ||\n isTabIndexSet);\n return checkTabIndex ? tabIndex !== -1 && result : result;\n}\n/**\n * Determines if a given element is a focus zone.\n *\n * @public\n */\nexport function isElementFocusZone(element) {\n return !!(element && element.getAttribute && !!element.getAttribute(FOCUSZONE_ID_ATTRIBUTE));\n}\n/**\n * Determines if a given element is a focus sub zone.\n *\n * @public\n */\nexport function isElementFocusSubZone(element) {\n return !!(element && element.getAttribute && element.getAttribute(FOCUSZONE_SUB_ATTRIBUTE) === 'true');\n}\n/**\n * Determines if an element, or any of its children, contain focus.\n *\n * @public\n */\nexport function doesElementContainFocus(element) {\n var document = getDocument(element);\n var currentActiveElement = document && document.activeElement;\n if (currentActiveElement && elementContains(element, currentActiveElement)) {\n return true;\n }\n return false;\n}\n/**\n * Determines if an, or any of its ancestors, sepcificies that it doesn't want focus to wrap\n * @param element - element to start searching from\n * @param noWrapDataAttribute - the no wrap data attribute to match (either)\n * @returns true if focus should wrap, false otherwise\n */\nexport function shouldWrapFocus(element, noWrapDataAttribute) {\n return elementContainsAttribute(element, noWrapDataAttribute) === 'true' ? false : true;\n}\nvar targetToFocusOnNextRepaint = undefined;\n/**\n * Sets focus to an element asynchronously. The focus will be set at the next browser repaint,\n * meaning it won't cause any extra recalculations. If more than one focusAsync is called during one frame,\n * only the latest called focusAsync element will actually be focused\n * @param element - The element to focus\n */\nexport function focusAsync(element) {\n if (element) {\n // An element was already queued to be focused, so replace that one with the new element\n if (targetToFocusOnNextRepaint) {\n targetToFocusOnNextRepaint = element;\n return;\n }\n targetToFocusOnNextRepaint = element;\n var win = getWindow(element);\n if (win) {\n // element.focus() is a no-op if the element is no longer in the DOM, meaning this is always safe\n win.requestAnimationFrame(function () {\n targetToFocusOnNextRepaint && targetToFocusOnNextRepaint.focus();\n // We are done focusing for this frame, so reset the queued focus element\n targetToFocusOnNextRepaint = undefined;\n });\n }\n }\n}\n/**\n * Finds the closest focusable element via an index path from a parent. See\n * `getElementIndexPath` for getting an index path from an element to a child.\n */\nexport function getFocusableByIndexPath(parent, path) {\n var element = parent;\n for (var _i = 0, path_1 = path; _i < path_1.length; _i++) {\n var index = path_1[_i];\n var nextChild = element.children[Math.min(index, element.children.length - 1)];\n if (!nextChild) {\n break;\n }\n element = nextChild;\n }\n element =\n isElementTabbable(element) && isElementVisible(element)\n ? element\n : getNextElement(parent, element, true) || getPreviousElement(parent, element);\n return element;\n}\n/**\n * Finds the element index path from a parent element to a child element.\n *\n * If you had this node structure: \"A has children [B, C] and C has child D\",\n * the index path from A to D would be [1, 0], or `parent.chidren[1].children[0]`.\n */\nexport function getElementIndexPath(fromElement, toElement) {\n var path = [];\n while (toElement && fromElement && toElement !== fromElement) {\n var parent_1 = getParent(toElement, true);\n if (parent_1 === null) {\n return [];\n }\n path.unshift(Array.prototype.indexOf.call(parent_1.children, toElement));\n toElement = parent_1;\n }\n return path;\n}\n//# sourceMappingURL=focus.js.map","import { findElementRecursive } from './findElementRecursive';\n/**\n * Determines if an element, or any of its ancestors, contain the given attribute\n * @param element - element to start searching at\n * @param attribute - the attribute to search for\n * @returns the value of the first instance found\n */\nexport function elementContainsAttribute(element, attribute) {\n var elementMatch = findElementRecursive(element, function (testElement) { return testElement.hasAttribute(attribute); });\n return elementMatch && elementMatch.getAttribute(attribute);\n}\n//# sourceMappingURL=elementContainsAttribute.js.map","import { getWindow } from './dom/getWindow';\nimport { Stylesheet } from '@fluentui/merge-styles';\n// Initialize global window id.\nvar CURRENT_ID_PROPERTY = '__currentId__';\nvar DEFAULT_ID_STRING = 'id__';\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nvar _global = getWindow() || {};\nif (_global[CURRENT_ID_PROPERTY] === undefined) {\n _global[CURRENT_ID_PROPERTY] = 0;\n}\nvar _initializedStylesheetResets = false;\n/**\n * Generates a unique id in the global scope (this spans across duplicate copies of the same library.)\n *\n * @public\n */\nexport function getId(prefix) {\n if (!_initializedStylesheetResets) {\n // Configure ids to reset on stylesheet resets.\n var stylesheet = Stylesheet.getInstance();\n if (stylesheet && stylesheet.onReset) {\n stylesheet.onReset(resetIds);\n }\n _initializedStylesheetResets = true;\n }\n var index = _global[CURRENT_ID_PROPERTY]++;\n return (prefix === undefined ? DEFAULT_ID_STRING : prefix) + index;\n}\n/**\n * Resets id counter to an (optional) number.\n *\n * @public\n */\nexport function resetIds(counter) {\n if (counter === void 0) { counter = 0; }\n _global[CURRENT_ID_PROPERTY] = counter;\n}\n//# sourceMappingURL=getId.js.map","var toObjectMap = function () {\n var items = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n items[_i] = arguments[_i];\n }\n var result = {};\n for (var _a = 0, items_1 = items; _a < items_1.length; _a++) {\n var item = items_1[_a];\n var keys = Array.isArray(item) ? item : Object.keys(item);\n for (var _b = 0, keys_1 = keys; _b < keys_1.length; _b++) {\n var key = keys_1[_b];\n result[key] = 1;\n }\n }\n return result;\n};\n/**\n * An array of events that are allowed on every html element type.\n *\n * @public\n */\nexport var baseElementEvents = toObjectMap([\n 'onCopy',\n 'onCut',\n 'onPaste',\n 'onCompositionEnd',\n 'onCompositionStart',\n 'onCompositionUpdate',\n 'onFocus',\n 'onFocusCapture',\n 'onBlur',\n 'onBlurCapture',\n 'onChange',\n 'onInput',\n 'onSubmit',\n 'onLoad',\n 'onError',\n 'onKeyDown',\n 'onKeyDownCapture',\n 'onKeyPress',\n 'onKeyUp',\n 'onAbort',\n 'onCanPlay',\n 'onCanPlayThrough',\n 'onDurationChange',\n 'onEmptied',\n 'onEncrypted',\n 'onEnded',\n 'onLoadedData',\n 'onLoadedMetadata',\n 'onLoadStart',\n 'onPause',\n 'onPlay',\n 'onPlaying',\n 'onProgress',\n 'onRateChange',\n 'onSeeked',\n 'onSeeking',\n 'onStalled',\n 'onSuspend',\n 'onTimeUpdate',\n 'onVolumeChange',\n 'onWaiting',\n 'onClick',\n 'onClickCapture',\n 'onContextMenu',\n 'onDoubleClick',\n 'onDrag',\n 'onDragEnd',\n 'onDragEnter',\n 'onDragExit',\n 'onDragLeave',\n 'onDragOver',\n 'onDragStart',\n 'onDrop',\n 'onMouseDown',\n 'onMouseDownCapture',\n 'onMouseEnter',\n 'onMouseLeave',\n 'onMouseMove',\n 'onMouseOut',\n 'onMouseOver',\n 'onMouseUp',\n 'onMouseUpCapture',\n 'onSelect',\n 'onTouchCancel',\n 'onTouchEnd',\n 'onTouchMove',\n 'onTouchStart',\n 'onScroll',\n 'onWheel',\n 'onPointerCancel',\n 'onPointerDown',\n 'onPointerEnter',\n 'onPointerLeave',\n 'onPointerMove',\n 'onPointerOut',\n 'onPointerOver',\n 'onPointerUp',\n 'onGotPointerCapture',\n 'onLostPointerCapture',\n]);\n/**\n * An array of element attributes which are allowed on every html element type.\n *\n * @public\n */\nexport var baseElementProperties = toObjectMap([\n 'accessKey',\n 'children',\n 'className',\n 'contentEditable',\n 'dir',\n 'draggable',\n 'hidden',\n 'htmlFor',\n 'id',\n 'lang',\n 'ref',\n 'role',\n 'style',\n 'tabIndex',\n 'title',\n 'translate',\n 'spellCheck',\n 'name',\n]);\n/**\n * An array of HTML element properties and events.\n *\n * @public\n */\nexport var htmlElementProperties = toObjectMap(baseElementProperties, baseElementEvents);\n/**\n * An array of LABEL tag properties and events.\n *\n * @public\n */\nexport var labelProperties = toObjectMap(htmlElementProperties, [\n 'form',\n]);\n/**\n * An array of AUDIO tag properties and events.\n\n * @public\n */\nexport var audioProperties = toObjectMap(htmlElementProperties, [\n 'height',\n 'loop',\n 'muted',\n 'preload',\n 'src',\n 'width',\n]);\n/**\n * An array of VIDEO tag properties and events.\n *\n * @public\n */\nexport var videoProperties = toObjectMap(audioProperties, [\n 'poster',\n]);\n/**\n * An array of OL tag properties and events.\n *\n * @public\n */\nexport var olProperties = toObjectMap(htmlElementProperties, [\n 'start',\n]);\n/**\n * An array of LI tag properties and events.\n *\n * @public\n */\nexport var liProperties = toObjectMap(htmlElementProperties, [\n 'value',\n]);\n/**\n * An array of A tag properties and events.\n *\n * @public\n */\nexport var anchorProperties = toObjectMap(htmlElementProperties, [\n 'download',\n 'href',\n 'hrefLang',\n 'media',\n 'rel',\n 'target',\n 'type',\n]);\n/**\n * An array of BUTTON tag properties and events.\n *\n * @public\n */\nexport var buttonProperties = toObjectMap(htmlElementProperties, [\n 'autoFocus',\n 'disabled',\n 'form',\n 'formAction',\n 'formEncType',\n 'formMethod',\n 'formNoValidate',\n 'formTarget',\n 'type',\n 'value',\n]);\n/**\n * An array of INPUT tag properties and events.\n *\n * @public\n */\nexport var inputProperties = toObjectMap(buttonProperties, [\n 'accept',\n 'alt',\n 'autoCapitalize',\n 'autoComplete',\n 'checked',\n 'dirname',\n 'form',\n 'height',\n 'inputMode',\n 'list',\n 'max',\n 'maxLength',\n 'min',\n 'multiple',\n 'pattern',\n 'placeholder',\n 'readOnly',\n 'required',\n 'src',\n 'step',\n 'size',\n 'type',\n 'value',\n 'width',\n]);\n/**\n * An array of TEXTAREA tag properties and events.\n *\n * @public\n */\nexport var textAreaProperties = toObjectMap(buttonProperties, [\n 'autoCapitalize',\n 'cols',\n 'dirname',\n 'form',\n 'maxLength',\n 'placeholder',\n 'readOnly',\n 'required',\n 'rows',\n 'wrap',\n]);\n/**\n * An array of SELECT tag properties and events.\n *\n * @public\n */\nexport var selectProperties = toObjectMap(buttonProperties, [\n 'form',\n 'multiple',\n 'required',\n]);\nexport var optionProperties = toObjectMap(htmlElementProperties, [\n 'selected',\n 'value',\n]);\n/**\n * An array of TABLE tag properties and events.\n *\n * @public\n */\nexport var tableProperties = toObjectMap(htmlElementProperties, [\n 'cellPadding',\n 'cellSpacing',\n]);\n/**\n * An array of TR tag properties and events.\n *\n * @public\n */\nexport var trProperties = htmlElementProperties;\n/**\n * An array of TH tag properties and events.\n *\n * @public\n */\nexport var thProperties = toObjectMap(htmlElementProperties, [\n 'rowSpan',\n 'scope',\n]);\n/**\n * An array of TD tag properties and events.\n *\n * @public\n */\nexport var tdProperties = toObjectMap(htmlElementProperties, [\n 'colSpan',\n 'headers',\n 'rowSpan',\n 'scope',\n]);\nexport var colGroupProperties = toObjectMap(htmlElementProperties, [\n 'span',\n]);\nexport var colProperties = toObjectMap(htmlElementProperties, [\n 'span',\n]);\n/**\n * An array of FORM tag properties and events.\n *\n * @public\n */\nexport var formProperties = toObjectMap(htmlElementProperties, [\n 'acceptCharset',\n 'action',\n 'encType',\n 'encType',\n 'method',\n 'noValidate',\n 'target',\n]);\n/**\n * An array of IFRAME tag properties and events.\n *\n * @public\n */\nexport var iframeProperties = toObjectMap(htmlElementProperties, [\n 'allow',\n 'allowFullScreen',\n 'allowPaymentRequest',\n 'allowTransparency',\n 'csp',\n 'height',\n 'importance',\n 'referrerPolicy',\n 'sandbox',\n 'src',\n 'srcDoc',\n 'width',\n]);\n/**\n * An array of IMAGE tag properties and events.\n *\n * @public\n */\nexport var imgProperties = toObjectMap(htmlElementProperties, [\n 'alt',\n 'crossOrigin',\n 'height',\n 'src',\n 'srcSet',\n 'useMap',\n 'width',\n]);\n/**\n * @deprecated Use imgProperties for img elements.\n */\nexport var imageProperties = imgProperties;\n/**\n * An array of DIV tag properties and events.\n *\n * @public\n */\nexport var divProperties = htmlElementProperties;\n/**\n * Gets native supported props for an html element provided the allowance set. Use one of the property\n * sets defined (divProperties, buttonPropertes, etc) to filter out supported properties from a given\n * props set. Note that all data- and aria- prefixed attributes will be allowed.\n * NOTE: getNativeProps should always be applied first when adding props to a react component. The\n * non-native props should be applied second. This will prevent getNativeProps from overriding your custom props.\n * For example, if props passed to getNativeProps has an onClick function and getNativeProps is added to\n * the component after an onClick function is added, then the getNativeProps onClick will override it.\n *\n * @public\n * @param props - The unfiltered input props\n * @param allowedPropsNames - The array or record of allowed prop names.\n * @returns The filtered props\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function getNativeProps(\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nprops, allowedPropNames, excludedPropNames) {\n // It'd be great to properly type this while allowing 'aria-` and 'data-' attributes like TypeScript does for\n // JSX attributes, but that ability is hardcoded into the TS compiler with no analog in TypeScript typings.\n // Then we'd be able to enforce props extends native props (including aria- and data- attributes), and then\n // return native props.\n // We should be able to do this once this PR is merged: https://github.com/microsoft/TypeScript/pull/26797\n var isArray = Array.isArray(allowedPropNames);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var result = {};\n var keys = Object.keys(props);\n for (var _i = 0, keys_2 = keys; _i < keys_2.length; _i++) {\n var key = keys_2[_i];\n var isNativeProp = (!isArray && allowedPropNames[key]) ||\n (isArray && allowedPropNames.indexOf(key) >= 0) ||\n key.indexOf('data-') === 0 ||\n key.indexOf('aria-') === 0;\n if (isNativeProp && (!excludedPropNames || (excludedPropNames === null || excludedPropNames === void 0 ? void 0 : excludedPropNames.indexOf(key)) === -1)) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n result[key] = props[key];\n }\n }\n return result;\n}\n//# sourceMappingURL=properties.js.map","import { extendComponent } from './extendComponent';\n/**\n * Helper to manage componentRef resolution. Internally appends logic to\n * lifetime methods to resolve componentRef to the passed in object.\n *\n * Usage: call initializeComponentRef(this) in the constructor,\n */\nexport function initializeComponentRef(obj) {\n extendComponent(obj, {\n componentDidMount: _onMount,\n componentDidUpdate: _onUpdate,\n componentWillUnmount: _onUnmount,\n });\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction _onMount() {\n _setComponentRef(this.props.componentRef, this);\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction _onUpdate(prevProps) {\n if (prevProps.componentRef !== this.props.componentRef) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n _setComponentRef(prevProps.componentRef, null);\n _setComponentRef(this.props.componentRef, this);\n }\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction _onUnmount() {\n _setComponentRef(this.props.componentRef, null);\n}\nfunction _setComponentRef(componentRef, value) {\n if (componentRef) {\n if (typeof componentRef === 'object') {\n componentRef.current = value;\n }\n else if (typeof componentRef === 'function') {\n componentRef(value);\n }\n }\n}\n//# sourceMappingURL=initializeComponentRef.js.map","var _a;\nimport { KeyCodes } from './KeyCodes';\nvar DirectionalKeyCodes = (_a = {},\n _a[KeyCodes.up] = 1,\n _a[KeyCodes.down] = 1,\n _a[KeyCodes.left] = 1,\n _a[KeyCodes.right] = 1,\n _a[KeyCodes.home] = 1,\n _a[KeyCodes.end] = 1,\n _a[KeyCodes.tab] = 1,\n _a[KeyCodes.pageUp] = 1,\n _a[KeyCodes.pageDown] = 1,\n _a);\n/**\n * Returns true if the keycode is a directional keyboard key.\n */\nexport function isDirectionalKeyCode(which) {\n return !!DirectionalKeyCodes[which];\n}\n/**\n * Adds a keycode to the list of keys that, when pressed, should cause the focus outlines to be visible.\n * This can be used to add global shortcut keys that directionally move from section to section within\n * an app or between focus trap zones.\n */\nexport function addDirectionalKeyCode(which) {\n DirectionalKeyCodes[which] = 1;\n}\n//# sourceMappingURL=keyboard.js.map","import { getWindow } from './dom/getWindow';\nexport var IsFocusVisibleClassName = 'ms-Fabric--isFocusVisible';\nexport var IsFocusHiddenClassName = 'ms-Fabric--isFocusHidden';\n/**\n * Sets the visibility of focus styling.\n *\n * By default, focus styles (the box surrounding a focused Button, for example) only show up when navigational\n * keypresses occur (through Tab, arrows, PgUp/PgDn, Home and End), and are hidden when mouse interactions occur.\n * This API provides an imperative way to turn them on/off.\n *\n * A use case might be when you have a keypress like ctrl-f6 navigate to a particular region on the page,\n * and want focus to show up.\n *\n * @param enabled - whether to remove or add focus\n * @param target - optional target\n */\nexport function setFocusVisibility(enabled, target) {\n var win = target ? getWindow(target) : getWindow();\n if (win) {\n var classList = win.document.body.classList;\n classList.add(enabled ? IsFocusVisibleClassName : IsFocusHiddenClassName);\n classList.remove(enabled ? IsFocusHiddenClassName : IsFocusVisibleClassName);\n }\n}\n//# sourceMappingURL=setFocusVisibility.js.map","import * as React from 'react';\nimport { getWindow } from './dom/getWindow';\nimport { isDirectionalKeyCode } from './keyboard';\nimport { setFocusVisibility } from './setFocusVisibility';\n/**\n * Counter for mounted component that uses focus rectangle.\n * We want to cleanup the listners before last component that uses focus rectangle unmounts.\n */\nvar mountCounters = new WeakMap();\nfunction setMountCounters(key, delta) {\n var newValue;\n var currValue = mountCounters.get(key);\n if (currValue) {\n newValue = currValue + delta;\n }\n else {\n newValue = 1;\n }\n mountCounters.set(key, newValue);\n return newValue;\n}\n/**\n * Initializes the logic which:\n *\n * 1. Subscribes keydown and mousedown events. (It will only do it once per window,\n * so it's safe to call this method multiple times.)\n * 2. When the user presses directional keyboard keys, adds the 'ms-Fabric--isFocusVisible' classname\n * to the document body, removes the 'ms-Fabric-isFocusHidden' classname.\n * 3. When the user clicks a mouse button, adds the 'ms-Fabric-isFocusHidden' classname to the\n * document body, removes the 'ms-Fabric--isFocusVisible' classname.\n *\n * This logic allows components on the page to conditionally render focus treatments based on\n * the existence of global classnames, which simplifies logic overall.\n *\n * @param rootRef - A Ref object. Focus rectangle can be applied on itself and all its children.\n */\nexport function useFocusRects(rootRef) {\n React.useEffect(function () {\n var _a;\n var win = getWindow(rootRef === null || rootRef === void 0 ? void 0 : rootRef.current);\n if (!win || ((_a = win.FabricConfig) === null || _a === void 0 ? void 0 : _a.disableFocusRects) === true) {\n return undefined;\n }\n var count = setMountCounters(win, 1);\n if (count <= 1) {\n win.addEventListener('mousedown', _onMouseDown, true);\n win.addEventListener('pointerdown', _onPointerDown, true);\n win.addEventListener('keydown', _onKeyDown, true);\n }\n return function () {\n var _a;\n if (!win || ((_a = win.FabricConfig) === null || _a === void 0 ? void 0 : _a.disableFocusRects) === true) {\n return;\n }\n count = setMountCounters(win, -1);\n if (count === 0) {\n win.removeEventListener('mousedown', _onMouseDown, true);\n win.removeEventListener('pointerdown', _onPointerDown, true);\n win.removeEventListener('keydown', _onKeyDown, true);\n }\n };\n }, [rootRef]);\n}\n/**\n * Function Component wrapper which enables calling `useFocusRects` hook.\n * Renders nothing.\n */\nexport var FocusRects = function (props) {\n useFocusRects(props.rootRef);\n return null;\n};\nfunction _onMouseDown(ev) {\n setFocusVisibility(false, ev.target);\n}\nfunction _onPointerDown(ev) {\n if (ev.pointerType !== 'mouse') {\n setFocusVisibility(false, ev.target);\n }\n}\nfunction _onKeyDown(ev) {\n // eslint-disable-next-line deprecation/deprecation\n if (isDirectionalKeyCode(ev.which)) {\n setFocusVisibility(true, ev.target);\n }\n}\n//# sourceMappingURL=useFocusRects.js.map","import { getDocument } from './dom/getDocument';\nimport * as localStorage from './localStorage';\nimport * as sessionStorage from './sessionStorage';\n// Default to undefined so that we initialize on first read.\nvar _language;\nvar STORAGE_KEY = 'language';\n/**\n * Gets the language set for the page.\n * @param persistenceType - Where to persist the value. Default is `sessionStorage` if available.\n */\nexport function getLanguage(persistenceType) {\n if (persistenceType === void 0) { persistenceType = 'sessionStorage'; }\n if (_language === undefined) {\n var doc = getDocument();\n var savedLanguage = persistenceType === 'localStorage'\n ? localStorage.getItem(STORAGE_KEY)\n : persistenceType === 'sessionStorage'\n ? sessionStorage.getItem(STORAGE_KEY)\n : undefined;\n if (savedLanguage) {\n _language = savedLanguage;\n }\n if (_language === undefined && doc) {\n _language = doc.documentElement.getAttribute('lang');\n }\n if (_language === undefined) {\n _language = 'en';\n }\n }\n return _language;\n}\nexport function setLanguage(language, persistenceParam) {\n var doc = getDocument();\n if (doc) {\n doc.documentElement.setAttribute('lang', language);\n }\n var persistenceType = persistenceParam === true ? 'none' : !persistenceParam ? 'sessionStorage' : persistenceParam;\n if (persistenceType === 'localStorage') {\n localStorage.setItem(STORAGE_KEY, language);\n }\n else if (persistenceType === 'sessionStorage') {\n sessionStorage.setItem(STORAGE_KEY, language);\n }\n _language = language;\n}\n//# sourceMappingURL=language.js.map","/**\n * Simple deep merge function. Takes all arguments and returns a deep copy of the objects merged\n * together in the order provided. If an object creates a circular reference, it will assign the\n * original reference.\n */\nexport function merge(target) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n for (var _a = 0, args_1 = args; _a < args_1.length; _a++) {\n var arg = args_1[_a];\n _merge(target || {}, arg);\n }\n return target;\n}\n/**\n * The _merge helper iterates through all props on source and assigns them to target.\n * When the value is an object, we will create a deep clone of the object. However if\n * there is a circular reference, the value will not be deep cloned and will persist\n * the reference.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction _merge(target, source, circularReferences) {\n if (circularReferences === void 0) { circularReferences = []; }\n circularReferences.push(source);\n for (var name_1 in source) {\n if (source.hasOwnProperty(name_1)) {\n if (name_1 !== '__proto__' && name_1 !== 'constructor' && name_1 !== 'prototype') {\n var value = source[name_1];\n if (typeof value === 'object' && value !== null && !Array.isArray(value)) {\n var isCircularReference = circularReferences.indexOf(value) > -1;\n target[name_1] = (isCircularReference\n ? value\n : _merge(target[name_1] || {}, value, circularReferences));\n }\n else {\n target[name_1] = value;\n }\n }\n }\n }\n circularReferences.pop();\n return target;\n}\n//# sourceMappingURL=merge.js.map","/**\n * Returns true if and only if the user is on a iOS device.\n * Used to determine whether iOS-specific behavior should be applied.\n */\nexport var isIOS = function () {\n if (!window || !window.navigator || !window.navigator.userAgent) {\n return false;\n }\n return /iPad|iPhone|iPod/i.test(window.navigator.userAgent);\n};\n//# sourceMappingURL=mobileDetector.js.map","import { getWindow } from './dom/getWindow';\nvar isMacResult;\n/**\n * Returns true if the user is on a Mac. Caches the result value.\n * @param reset - Reset the cached result value (mainly for testing).\n */\nexport function isMac(reset) {\n if (typeof isMacResult === 'undefined' || reset) {\n var win = getWindow();\n var userAgent = win && win.navigator.userAgent;\n isMacResult = !!userAgent && userAgent.indexOf('Macintosh') !== -1;\n }\n return !!isMacResult;\n}\n//# sourceMappingURL=osDetector.js.map","import { __assign, __rest } from \"tslib\";\nimport * as React from 'react';\nimport { concatStyleSetsWithProps } from '@fluentui/merge-styles';\nimport { useCustomizationSettings } from './customizations/useCustomizationSettings';\nvar DefaultFields = ['theme', 'styles'];\nexport function styled(Component, baseStyles, getProps, customizable, pure) {\n customizable = customizable || { scope: '', fields: undefined };\n var scope = customizable.scope, _a = customizable.fields, fields = _a === void 0 ? DefaultFields : _a;\n var Wrapped = React.forwardRef(function (props, forwardedRef) {\n var styles = React.useRef();\n var settings = useCustomizationSettings(fields, scope);\n var customizedStyles = settings.styles, dir = settings.dir, rest = __rest(settings, [\"styles\", \"dir\"]);\n var additionalProps = getProps ? getProps(props) : undefined;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var cache = (styles.current && styles.current.__cachedInputs__) || [];\n if (!styles.current || customizedStyles !== cache[1] || props.styles !== cache[2]) {\n // Using styled components as the Component arg will result in nested styling arrays.\n var concatenatedStyles = function (styleProps) {\n return concatStyleSetsWithProps(styleProps, baseStyles, customizedStyles, props.styles);\n };\n // The __cachedInputs__ array is attached to the function and consumed by the\n // classNamesFunction as a list of keys to include for memoizing classnames.\n concatenatedStyles.__cachedInputs__ = [\n baseStyles,\n customizedStyles,\n props.styles,\n ];\n concatenatedStyles.__noStyleOverride__ =\n !customizedStyles && !props.styles;\n styles.current = concatenatedStyles;\n }\n return React.createElement(Component, __assign({ ref: forwardedRef }, rest, additionalProps, props, { styles: styles.current }));\n });\n // Function.prototype.name is an ES6 feature, so the cast to any is required until we're\n // able to drop IE 11 support and compile with ES6 libs\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Wrapped.displayName = \"Styled\" + (Component.displayName || Component.name);\n // This preserves backwards compatibility.\n var pureComponent = pure ? React.memo(Wrapped) : Wrapped;\n // Check if the wrapper has a displayName after it has been memoized. Then assign it to the pure component.\n if (Wrapped.displayName) {\n pureComponent.displayName = Wrapped.displayName;\n }\n return pureComponent;\n}\n//# sourceMappingURL=styled.js.map","import { __assign } from \"tslib\";\n/**\n * Function to apply default values to a component props object. This function is intended for function components,\n * to maintain parity with the `defaultProps` feature of class components. It accounts for properties that are\n * specified, but undefined.\n * @param defaultProps- An object with default values for various properties\n * @param propsWithoutDefaults- The props object passed into the component\n */\nexport function getPropsWithDefaults(defaultProps, propsWithoutDefaults) {\n var props = __assign({}, propsWithoutDefaults);\n for (var _i = 0, _a = Object.keys(defaultProps); _i < _a.length; _i++) {\n var key = _a[_i];\n if (props[key] === undefined) {\n props[key] = defaultProps[key];\n }\n }\n return props;\n}\n//# sourceMappingURL=getPropsWithDefaults.js.map","import { arraysEqual } from './array';\n/**\n * Set up a ref resolver function given internal state managed for the ref.\n * @param local Set\n */\nvar createResolver = function (local) { return function (newValue) {\n for (var _i = 0, _a = local.refs; _i < _a.length; _i++) {\n var ref = _a[_i];\n if (typeof ref === 'function') {\n ref(newValue);\n }\n else if (ref) {\n // work around the immutability of the React.Ref type\n ref.current = newValue;\n }\n }\n}; };\n/**\n * Helper to merge refs from within class components.\n */\nexport var createMergedRef = function (value) {\n var local = {\n refs: [],\n };\n return function () {\n var newRefs = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n newRefs[_i] = arguments[_i];\n }\n if (!local.resolver || !arraysEqual(local.refs, newRefs)) {\n local.resolver = createResolver(local);\n }\n local.refs = newRefs;\n return local.resolver;\n };\n};\n//# sourceMappingURL=createMergedRef.js.map","/**\n * Helper to find the index of an item within an array, using a callback to\n * determine the match.\n *\n * @public\n * @param array - Array to search.\n * @param cb - Callback which returns true on matches.\n * @param fromIndex - Optional index to start from (defaults to 0)\n */\nexport function findIndex(array, cb, fromIndex) {\n if (fromIndex === void 0) { fromIndex = 0; }\n var index = -1;\n for (var i = fromIndex; array && i < array.length; i++) {\n if (cb(array[i], i)) {\n index = i;\n break;\n }\n }\n return index;\n}\n/**\n * Helper to find the first item within an array that satisfies the callback.\n * @param array - Array to search\n * @param cb - Callback which returns true on matches\n */\nexport function find(array, cb) {\n var index = findIndex(array, cb);\n if (index < 0) {\n return undefined;\n }\n return array[index];\n}\n/**\n * Creates an array of a given size and helper method to populate.\n *\n * @public\n * @param size - Size of array.\n * @param getItem - Callback to populate given cell index.\n */\nexport function createArray(size, getItem) {\n var array = [];\n for (var i = 0; i < size; i++) {\n array.push(getItem(i));\n }\n return array;\n}\n/**\n * Convert the given array to a matrix with columnCount number\n * of columns.\n *\n * @public\n * @param items - The array to convert\n * @param columnCount - The number of columns for the resulting matrix\n * @returns A matrix of items\n */\nexport function toMatrix(items, columnCount) {\n return items.reduce(function (rows, currentValue, index) {\n if (index % columnCount === 0) {\n rows.push([currentValue]);\n }\n else {\n rows[rows.length - 1].push(currentValue);\n }\n return rows;\n }, []);\n}\n/**\n * Given an array, it returns a new array that does not contain the item at the given index.\n * @param array - The array to operate on\n * @param index - The index of the element to remove\n */\nexport function removeIndex(array, index) {\n return array.filter(function (_, i) { return index !== i; });\n}\n/**\n * Given an array, this function returns a new array where the element at a given index has been replaced.\n * @param array - The array to operate on\n * @param newElement - The element that will be placed in the new array\n * @param index - The index of the element that should be replaced\n */\nexport function replaceElement(array, newElement, index) {\n var copy = array.slice();\n copy[index] = newElement;\n return copy;\n}\n/**\n * Given an array, this function returns a new array where an element has been inserted at the given index.\n * @param array - The array to operate on\n * @param index - The index where an element should be inserted\n * @param itemToAdd - The element to insert\n */\nexport function addElementAtIndex(array, index, itemToAdd) {\n var copy = array.slice();\n copy.splice(index, 0, itemToAdd);\n return copy;\n}\n/**\n * Given an array where each element is of type T or T[], flatten it into an array of T\n * @param array - The array where each element can optionally also be an array\n */\nexport function flatten(array) {\n var result = [];\n array.forEach(function (item) { return (result = result.concat(item)); });\n return result;\n}\n/**\n * Returns a boolean indicating if the two given arrays are equal in length and values.\n *\n * @param array1 - First array to compare\n * @param array2 - Second array to compare\n * @returns True if the arrays are the same length and have the same values in the same positions, false otherwise.\n */\nexport function arraysEqual(array1, array2) {\n if (array1.length !== array2.length) {\n return false;\n }\n for (var i = 0; i < array1.length; i++) {\n if (array1[i] !== array2[i]) {\n return false;\n }\n }\n return true;\n}\n//# sourceMappingURL=array.js.map","import { __assign } from \"tslib\";\nimport { GlobalSettings, warn } from '@fluentui/utilities';\nimport { fontFace, mergeStyles, Stylesheet } from '@fluentui/merge-styles';\nvar ICON_SETTING_NAME = 'icons';\nvar _iconSettings = GlobalSettings.getValue(ICON_SETTING_NAME, {\n __options: {\n disableWarnings: false,\n warnOnMissingIcons: true,\n },\n __remapped: {},\n});\n// Reset icon registration on stylesheet resets.\nvar stylesheet = Stylesheet.getInstance();\nif (stylesheet && stylesheet.onReset) {\n stylesheet.onReset(function () {\n for (var name_1 in _iconSettings) {\n if (_iconSettings.hasOwnProperty(name_1) && !!_iconSettings[name_1].subset) {\n _iconSettings[name_1].subset.className = undefined;\n }\n }\n });\n}\n/**\n * Normalizes an icon name for consistent mapping.\n * Current implementation is to convert the icon name to lower case.\n *\n * @param name - Icon name to normalize.\n * @returns {string} Normalized icon name to use for indexing and mapping.\n */\nvar normalizeIconName = function (name) { return name.toLowerCase(); };\n/**\n * Registers a given subset of icons.\n *\n * @param iconSubset - the icon subset definition.\n */\nexport function registerIcons(iconSubset, options) {\n var subset = __assign(__assign({}, iconSubset), { isRegistered: false, className: undefined });\n var icons = iconSubset.icons;\n // Grab options, optionally mix user provided ones on top.\n options = options ? __assign(__assign({}, _iconSettings.__options), options) : _iconSettings.__options;\n for (var iconName in icons) {\n if (icons.hasOwnProperty(iconName)) {\n var code = icons[iconName];\n var normalizedIconName = normalizeIconName(iconName);\n if (_iconSettings[normalizedIconName]) {\n _warnDuplicateIcon(iconName);\n }\n else {\n _iconSettings[normalizedIconName] = {\n code: code,\n subset: subset,\n };\n }\n }\n }\n}\n/**\n * Unregisters icons by name.\n *\n * @param iconNames - List of icons to unregister.\n */\nexport function unregisterIcons(iconNames) {\n var options = _iconSettings.__options;\n var _loop_1 = function (iconName) {\n var normalizedIconName = normalizeIconName(iconName);\n if (_iconSettings[normalizedIconName]) {\n delete _iconSettings[normalizedIconName];\n }\n else {\n // Warn that we are trying to delete an icon that doesn't exist\n if (!options.disableWarnings) {\n warn(\"The icon \\\"\" + iconName + \"\\\" tried to unregister but was not registered.\");\n }\n }\n // Delete any aliases for this iconName\n if (_iconSettings.__remapped[normalizedIconName]) {\n delete _iconSettings.__remapped[normalizedIconName];\n }\n // Delete any items that were an alias for this iconName\n Object.keys(_iconSettings.__remapped).forEach(function (key) {\n if (_iconSettings.__remapped[key] === normalizedIconName) {\n delete _iconSettings.__remapped[key];\n }\n });\n };\n for (var _i = 0, iconNames_1 = iconNames; _i < iconNames_1.length; _i++) {\n var iconName = iconNames_1[_i];\n _loop_1(iconName);\n }\n}\n/**\n * Remaps one icon name to another.\n */\nexport function registerIconAlias(iconName, mappedToName) {\n _iconSettings.__remapped[normalizeIconName(iconName)] = normalizeIconName(mappedToName);\n}\n/**\n * Gets an icon definition. If an icon is requested but the subset has yet to be registered,\n * it will get registered immediately.\n *\n * @public\n * @param name - Name of icon.\n */\nexport function getIcon(name) {\n var icon = undefined;\n var options = _iconSettings.__options;\n name = name ? normalizeIconName(name) : '';\n name = _iconSettings.__remapped[name] || name;\n if (name) {\n icon = _iconSettings[name];\n if (icon) {\n var subset = icon.subset;\n if (subset && subset.fontFace) {\n if (!subset.isRegistered) {\n fontFace(subset.fontFace);\n subset.isRegistered = true;\n }\n if (!subset.className) {\n subset.className = mergeStyles(subset.style, {\n fontFamily: subset.fontFace.fontFamily,\n fontWeight: subset.fontFace.fontWeight || 'normal',\n fontStyle: subset.fontFace.fontStyle || 'normal',\n });\n }\n }\n }\n else {\n // eslint-disable-next-line deprecation/deprecation\n if (!options.disableWarnings && options.warnOnMissingIcons) {\n warn(\"The icon \\\"\" + name + \"\\\" was used but not registered. See https://github.com/microsoft/fluentui/wiki/Using-icons for more information.\");\n }\n }\n }\n return icon;\n}\n/**\n * Sets the icon options.\n *\n * @public\n */\nexport function setIconOptions(options) {\n _iconSettings.__options = __assign(__assign({}, _iconSettings.__options), options);\n}\nvar _missingIcons = [];\nvar _missingIconsTimer = undefined;\nfunction _warnDuplicateIcon(iconName) {\n var options = _iconSettings.__options;\n var warningDelay = 2000;\n var maxIconsInMessage = 10;\n if (!options.disableWarnings) {\n _missingIcons.push(iconName);\n if (_missingIconsTimer === undefined) {\n _missingIconsTimer = setTimeout(function () {\n warn(\"Some icons were re-registered. Applications should only call registerIcons for any given \" +\n \"icon once. Redefining what an icon is may have unintended consequences. Duplicates \" +\n \"include: \\n\" +\n _missingIcons.slice(0, maxIconsInMessage).join(', ') +\n (_missingIcons.length > maxIconsInMessage ? \" (+ \" + (_missingIcons.length - maxIconsInMessage) + \" more)\" : ''));\n _missingIconsTimer = undefined;\n _missingIcons = [];\n }, warningDelay);\n }\n }\n}\n//# sourceMappingURL=icons.js.map","import { keyframes } from '@fluentui/merge-styles';\n/* Register the keyframes */\nvar EASING_FUNCTION_1 = 'cubic-bezier(.1,.9,.2,1)';\nvar EASING_FUNCTION_2 = 'cubic-bezier(.1,.25,.75,.9)';\nvar DURATION_1 = '0.167s';\nvar DURATION_2 = '0.267s';\nvar DURATION_3 = '0.367s';\nvar DURATION_4 = '0.467s';\nvar FADE_IN = keyframes({\n from: { opacity: 0 },\n to: { opacity: 1 },\n});\nvar FADE_OUT = keyframes({\n from: { opacity: 1 },\n to: { opacity: 0, visibility: 'hidden' },\n});\nvar SLIDE_RIGHT_IN10 = _createSlideInX(-10);\nvar SLIDE_RIGHT_IN20 = _createSlideInX(-20);\nvar SLIDE_RIGHT_IN40 = _createSlideInX(-40);\nvar SLIDE_RIGHT_IN400 = _createSlideInX(-400);\nvar SLIDE_LEFT_IN10 = _createSlideInX(10);\nvar SLIDE_LEFT_IN20 = _createSlideInX(20);\nvar SLIDE_LEFT_IN40 = _createSlideInX(40);\nvar SLIDE_LEFT_IN400 = _createSlideInX(400);\nvar SLIDE_UP_IN10 = _createSlideInY(10);\nvar SLIDE_UP_IN20 = _createSlideInY(20);\nvar SLIDE_DOWN_IN10 = _createSlideInY(-10);\nvar SLIDE_DOWN_IN20 = _createSlideInY(-20);\nvar SLIDE_RIGHT_OUT10 = _createSlideOutX(10);\nvar SLIDE_RIGHT_OUT20 = _createSlideOutX(20);\nvar SLIDE_RIGHT_OUT40 = _createSlideOutX(40);\nvar SLIDE_RIGHT_OUT400 = _createSlideOutX(400);\nvar SLIDE_LEFT_OUT10 = _createSlideOutX(-10);\nvar SLIDE_LEFT_OUT20 = _createSlideOutX(-20);\nvar SLIDE_LEFT_OUT40 = _createSlideOutX(-40);\nvar SLIDE_LEFT_OUT400 = _createSlideOutX(-400);\nvar SLIDE_UP_OUT10 = _createSlideOutY(-10);\nvar SLIDE_UP_OUT20 = _createSlideOutY(-20);\nvar SLIDE_DOWN_OUT10 = _createSlideOutY(10);\nvar SLIDE_DOWN_OUT20 = _createSlideOutY(20);\nvar SCALE_UP100 = keyframes({\n from: { transform: 'scale3d(.98,.98,1)' },\n to: { transform: 'scale3d(1,1,1)' },\n});\nvar SCALE_DOWN98 = keyframes({\n from: { transform: 'scale3d(1,1,1)' },\n to: { transform: 'scale3d(.98,.98,1)' },\n});\nvar SCALE_DOWN100 = keyframes({\n from: { transform: 'scale3d(1.03,1.03,1)' },\n to: { transform: 'scale3d(1,1,1)' },\n});\nvar SCALE_UP103 = keyframes({\n from: { transform: 'scale3d(1,1,1)' },\n to: { transform: 'scale3d(1.03,1.03,1)' },\n});\nvar ROTATE90 = keyframes({\n from: { transform: 'rotateZ(0deg)' },\n to: { transform: 'rotateZ(90deg)' },\n});\nvar ROTATE_N90 = keyframes({\n from: { transform: 'rotateZ(0deg)' },\n to: { transform: 'rotateZ(-90deg)' },\n});\n/**\n * Exporting raw duraction values and easing functions to be used in custom animations\n */\nexport var AnimationVariables = {\n easeFunction1: EASING_FUNCTION_1,\n easeFunction2: EASING_FUNCTION_2,\n durationValue1: DURATION_1,\n durationValue2: DURATION_2,\n durationValue3: DURATION_3,\n durationValue4: DURATION_4,\n};\n/**\n * All Fabric standard animations, exposed as json objects referencing predefined\n * keyframes. These objects can be mixed in with other class definitions.\n */\nexport var AnimationStyles = {\n slideRightIn10: _createAnimation(FADE_IN + \",\" + SLIDE_RIGHT_IN10, DURATION_3, EASING_FUNCTION_1),\n slideRightIn20: _createAnimation(FADE_IN + \",\" + SLIDE_RIGHT_IN20, DURATION_3, EASING_FUNCTION_1),\n slideRightIn40: _createAnimation(FADE_IN + \",\" + SLIDE_RIGHT_IN40, DURATION_3, EASING_FUNCTION_1),\n slideRightIn400: _createAnimation(FADE_IN + \",\" + SLIDE_RIGHT_IN400, DURATION_3, EASING_FUNCTION_1),\n slideLeftIn10: _createAnimation(FADE_IN + \",\" + SLIDE_LEFT_IN10, DURATION_3, EASING_FUNCTION_1),\n slideLeftIn20: _createAnimation(FADE_IN + \",\" + SLIDE_LEFT_IN20, DURATION_3, EASING_FUNCTION_1),\n slideLeftIn40: _createAnimation(FADE_IN + \",\" + SLIDE_LEFT_IN40, DURATION_3, EASING_FUNCTION_1),\n slideLeftIn400: _createAnimation(FADE_IN + \",\" + SLIDE_LEFT_IN400, DURATION_3, EASING_FUNCTION_1),\n slideUpIn10: _createAnimation(FADE_IN + \",\" + SLIDE_UP_IN10, DURATION_3, EASING_FUNCTION_1),\n slideUpIn20: _createAnimation(FADE_IN + \",\" + SLIDE_UP_IN20, DURATION_3, EASING_FUNCTION_1),\n slideDownIn10: _createAnimation(FADE_IN + \",\" + SLIDE_DOWN_IN10, DURATION_3, EASING_FUNCTION_1),\n slideDownIn20: _createAnimation(FADE_IN + \",\" + SLIDE_DOWN_IN20, DURATION_3, EASING_FUNCTION_1),\n slideRightOut10: _createAnimation(FADE_OUT + \",\" + SLIDE_RIGHT_OUT10, DURATION_3, EASING_FUNCTION_1),\n slideRightOut20: _createAnimation(FADE_OUT + \",\" + SLIDE_RIGHT_OUT20, DURATION_3, EASING_FUNCTION_1),\n slideRightOut40: _createAnimation(FADE_OUT + \",\" + SLIDE_RIGHT_OUT40, DURATION_3, EASING_FUNCTION_1),\n slideRightOut400: _createAnimation(FADE_OUT + \",\" + SLIDE_RIGHT_OUT400, DURATION_3, EASING_FUNCTION_1),\n slideLeftOut10: _createAnimation(FADE_OUT + \",\" + SLIDE_LEFT_OUT10, DURATION_3, EASING_FUNCTION_1),\n slideLeftOut20: _createAnimation(FADE_OUT + \",\" + SLIDE_LEFT_OUT20, DURATION_3, EASING_FUNCTION_1),\n slideLeftOut40: _createAnimation(FADE_OUT + \",\" + SLIDE_LEFT_OUT40, DURATION_3, EASING_FUNCTION_1),\n slideLeftOut400: _createAnimation(FADE_OUT + \",\" + SLIDE_LEFT_OUT400, DURATION_3, EASING_FUNCTION_1),\n slideUpOut10: _createAnimation(FADE_OUT + \",\" + SLIDE_UP_OUT10, DURATION_3, EASING_FUNCTION_1),\n slideUpOut20: _createAnimation(FADE_OUT + \",\" + SLIDE_UP_OUT20, DURATION_3, EASING_FUNCTION_1),\n slideDownOut10: _createAnimation(FADE_OUT + \",\" + SLIDE_DOWN_OUT10, DURATION_3, EASING_FUNCTION_1),\n slideDownOut20: _createAnimation(FADE_OUT + \",\" + SLIDE_DOWN_OUT20, DURATION_3, EASING_FUNCTION_1),\n scaleUpIn100: _createAnimation(FADE_IN + \",\" + SCALE_UP100, DURATION_3, EASING_FUNCTION_1),\n scaleDownIn100: _createAnimation(FADE_IN + \",\" + SCALE_DOWN100, DURATION_3, EASING_FUNCTION_1),\n scaleUpOut103: _createAnimation(FADE_OUT + \",\" + SCALE_UP103, DURATION_1, EASING_FUNCTION_2),\n scaleDownOut98: _createAnimation(FADE_OUT + \",\" + SCALE_DOWN98, DURATION_1, EASING_FUNCTION_2),\n fadeIn100: _createAnimation(FADE_IN, DURATION_1, EASING_FUNCTION_2),\n fadeIn200: _createAnimation(FADE_IN, DURATION_2, EASING_FUNCTION_2),\n fadeIn400: _createAnimation(FADE_IN, DURATION_3, EASING_FUNCTION_2),\n fadeIn500: _createAnimation(FADE_IN, DURATION_4, EASING_FUNCTION_2),\n fadeOut100: _createAnimation(FADE_OUT, DURATION_1, EASING_FUNCTION_2),\n fadeOut200: _createAnimation(FADE_OUT, DURATION_2, EASING_FUNCTION_2),\n fadeOut400: _createAnimation(FADE_OUT, DURATION_3, EASING_FUNCTION_2),\n fadeOut500: _createAnimation(FADE_OUT, DURATION_4, EASING_FUNCTION_2),\n rotate90deg: _createAnimation(ROTATE90, '0.1s', EASING_FUNCTION_2),\n rotateN90deg: _createAnimation(ROTATE_N90, '0.1s', EASING_FUNCTION_2),\n};\nfunction _createAnimation(animationName, animationDuration, animationTimingFunction) {\n return {\n animationName: animationName,\n animationDuration: animationDuration,\n animationTimingFunction: animationTimingFunction,\n animationFillMode: 'both',\n };\n}\nfunction _createSlideInX(fromX) {\n return keyframes({\n from: { transform: \"translate3d(\" + fromX + \"px,0,0)\", pointerEvents: 'none' },\n to: { transform: \"translate3d(0,0,0)\", pointerEvents: 'auto' },\n });\n}\nfunction _createSlideInY(fromY) {\n return keyframes({\n from: { transform: \"translate3d(0,\" + fromY + \"px,0)\", pointerEvents: 'none' },\n to: { transform: \"translate3d(0,0,0)\", pointerEvents: 'auto' },\n });\n}\nfunction _createSlideOutX(toX) {\n return keyframes({\n from: { transform: \"translate3d(0,0,0)\" },\n to: { transform: \"translate3d(\" + toX + \"px,0,0)\" },\n });\n}\nfunction _createSlideOutY(toY) {\n return keyframes({\n from: { transform: \"translate3d(0,0,0)\" },\n to: { transform: \"translate3d(0,\" + toY + \"px,0)\" },\n });\n}\n//# sourceMappingURL=AnimationStyles.js.map","// When adding or removing a color, make sure you keep this consistent with IColorClassNames\n// by adding the color variants.\nexport var DefaultPalette = {\n themeDarker: '#004578',\n themeDark: '#005a9e',\n themeDarkAlt: '#106ebe',\n themePrimary: '#0078d4',\n themeSecondary: '#2b88d8',\n themeTertiary: '#71afe5',\n themeLight: '#c7e0f4',\n themeLighter: '#deecf9',\n themeLighterAlt: '#eff6fc',\n black: '#000000',\n blackTranslucent40: 'rgba(0,0,0,.4)',\n neutralDark: '#201f1e',\n neutralPrimary: '#323130',\n neutralPrimaryAlt: '#3b3a39',\n neutralSecondary: '#605e5c',\n neutralSecondaryAlt: '#8a8886',\n neutralTertiary: '#a19f9d',\n neutralTertiaryAlt: '#c8c6c4',\n neutralQuaternary: '#d2d0ce',\n neutralQuaternaryAlt: '#e1dfdd',\n neutralLight: '#edebe9',\n neutralLighter: '#f3f2f1',\n neutralLighterAlt: '#faf9f8',\n accent: '#0078d4',\n white: '#ffffff',\n whiteTranslucent40: 'rgba(255,255,255,.4)',\n yellowDark: '#d29200',\n yellow: '#ffb900',\n yellowLight: '#fff100',\n orange: '#d83b01',\n orangeLight: '#ea4300',\n orangeLighter: '#ff8c00',\n redDark: '#a4262c',\n red: '#e81123',\n magentaDark: '#5c005c',\n magenta: '#b4009e',\n magentaLight: '#e3008c',\n purpleDark: '#32145a',\n purple: '#5c2d91',\n purpleLight: '#b4a0ff',\n blueDark: '#002050',\n blueMid: '#00188f',\n blue: '#0078d4',\n blueLight: '#00bcf2',\n tealDark: '#004b50',\n teal: '#008272',\n tealLight: '#00b294',\n greenDark: '#004b1c',\n green: '#107c10',\n greenLight: '#bad80a',\n};\n//# sourceMappingURL=DefaultPalette.js.map","export var Depths;\n(function (Depths) {\n Depths.depth0 = '0 0 0 0 transparent';\n Depths.depth4 = '0 1.6px 3.6px 0 rgba(0, 0, 0, 0.132), 0 0.3px 0.9px 0 rgba(0, 0, 0, 0.108)';\n Depths.depth8 = '0 3.2px 7.2px 0 rgba(0, 0, 0, 0.132), 0 0.6px 1.8px 0 rgba(0, 0, 0, 0.108)';\n Depths.depth16 = '0 6.4px 14.4px 0 rgba(0, 0, 0, 0.132), 0 1.2px 3.6px 0 rgba(0, 0, 0, 0.108)';\n Depths.depth64 = '0 25.6px 57.6px 0 rgba(0, 0, 0, 0.22), 0 4.8px 14.4px 0 rgba(0, 0, 0, 0.18)';\n})(Depths || (Depths = {}));\n//# sourceMappingURL=FluentDepths.js.map","import { Depths } from './FluentDepths';\nexport var DefaultEffects = {\n elevation4: Depths.depth4,\n elevation8: Depths.depth8,\n elevation16: Depths.depth16,\n elevation64: Depths.depth64,\n roundedCorner2: '2px',\n roundedCorner4: '4px',\n roundedCorner6: '6px',\n};\n//# sourceMappingURL=DefaultEffects.js.map","// Font face names to be registered.\nexport var LocalizedFontNames;\n(function (LocalizedFontNames) {\n LocalizedFontNames.Arabic = 'Segoe UI Web (Arabic)';\n LocalizedFontNames.Cyrillic = 'Segoe UI Web (Cyrillic)';\n LocalizedFontNames.EastEuropean = 'Segoe UI Web (East European)';\n LocalizedFontNames.Greek = 'Segoe UI Web (Greek)';\n LocalizedFontNames.Hebrew = 'Segoe UI Web (Hebrew)';\n LocalizedFontNames.Thai = 'Leelawadee UI Web';\n LocalizedFontNames.Vietnamese = 'Segoe UI Web (Vietnamese)';\n LocalizedFontNames.WestEuropean = 'Segoe UI Web (West European)';\n LocalizedFontNames.Selawik = 'Selawik Web';\n LocalizedFontNames.Armenian = 'Segoe UI Web (Armenian)';\n LocalizedFontNames.Georgian = 'Segoe UI Web (Georgian)';\n})(LocalizedFontNames || (LocalizedFontNames = {}));\n// Font families with fallbacks, for the general regions.\nexport var LocalizedFontFamilies;\n(function (LocalizedFontFamilies) {\n LocalizedFontFamilies.Arabic = \"'\" + LocalizedFontNames.Arabic + \"'\";\n LocalizedFontFamilies.ChineseSimplified = \"'Microsoft Yahei UI', Verdana, Simsun\";\n LocalizedFontFamilies.ChineseTraditional = \"'Microsoft Jhenghei UI', Pmingliu\";\n LocalizedFontFamilies.Cyrillic = \"'\" + LocalizedFontNames.Cyrillic + \"'\";\n LocalizedFontFamilies.EastEuropean = \"'\" + LocalizedFontNames.EastEuropean + \"'\";\n LocalizedFontFamilies.Greek = \"'\" + LocalizedFontNames.Greek + \"'\";\n LocalizedFontFamilies.Hebrew = \"'\" + LocalizedFontNames.Hebrew + \"'\";\n LocalizedFontFamilies.Hindi = \"'Nirmala UI'\";\n LocalizedFontFamilies.Japanese = \"'Yu Gothic UI', 'Meiryo UI', Meiryo, 'MS Pgothic', Osaka\";\n LocalizedFontFamilies.Korean = \"'Malgun Gothic', Gulim\";\n LocalizedFontFamilies.Selawik = \"'\" + LocalizedFontNames.Selawik + \"'\";\n LocalizedFontFamilies.Thai = \"'Leelawadee UI Web', 'Kmer UI'\";\n LocalizedFontFamilies.Vietnamese = \"'\" + LocalizedFontNames.Vietnamese + \"'\";\n LocalizedFontFamilies.WestEuropean = \"'\" + LocalizedFontNames.WestEuropean + \"'\";\n LocalizedFontFamilies.Armenian = \"'\" + LocalizedFontNames.Armenian + \"'\";\n LocalizedFontFamilies.Georgian = \"'\" + LocalizedFontNames.Georgian + \"'\";\n})(LocalizedFontFamilies || (LocalizedFontFamilies = {}));\n// Standard font sizes.\nexport var FontSizes;\n(function (FontSizes) {\n FontSizes.size10 = '10px';\n FontSizes.size12 = '12px';\n FontSizes.size14 = '14px';\n FontSizes.size16 = '16px';\n FontSizes.size18 = '18px';\n FontSizes.size20 = '20px';\n FontSizes.size24 = '24px';\n FontSizes.size28 = '28px';\n FontSizes.size32 = '32px';\n FontSizes.size42 = '42px';\n FontSizes.size68 = '68px';\n FontSizes.mini = '10px';\n FontSizes.xSmall = '10px';\n FontSizes.small = '12px';\n FontSizes.smallPlus = '12px';\n FontSizes.medium = '14px';\n FontSizes.mediumPlus = '16px';\n FontSizes.icon = '16px';\n FontSizes.large = '18px';\n FontSizes.xLarge = '20px';\n FontSizes.xLargePlus = '24px';\n FontSizes.xxLarge = '28px';\n FontSizes.xxLargePlus = '32px';\n FontSizes.superLarge = '42px';\n FontSizes.mega = '68px';\n})(FontSizes || (FontSizes = {}));\n// Standard font weights.\nexport var FontWeights;\n(function (FontWeights) {\n FontWeights.light = 100;\n FontWeights.semilight = 300;\n FontWeights.regular = 400;\n FontWeights.semibold = 600;\n FontWeights.bold = 700;\n})(FontWeights || (FontWeights = {}));\n// Standard Icon Sizes.\nexport var IconFontSizes;\n(function (IconFontSizes) {\n IconFontSizes.xSmall = '10px';\n IconFontSizes.small = '12px';\n IconFontSizes.medium = '16px';\n IconFontSizes.large = '20px';\n})(IconFontSizes || (IconFontSizes = {}));\n//# sourceMappingURL=FluentFonts.js.map","import { FontSizes, FontWeights, LocalizedFontFamilies, LocalizedFontNames } from './FluentFonts';\n// Fallback fonts, if specified system or web fonts are unavailable.\nvar FontFamilyFallbacks = \"'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif\";\n// By default, we favor system fonts for the default.\n// All localized fonts use a web font and never use the system font.\nvar defaultFontFamily = \"'Segoe UI', '\" + LocalizedFontNames.WestEuropean + \"'\";\n// Mapping of language prefix to to font family.\nvar LanguageToFontMap = {\n ar: LocalizedFontFamilies.Arabic,\n bg: LocalizedFontFamilies.Cyrillic,\n cs: LocalizedFontFamilies.EastEuropean,\n el: LocalizedFontFamilies.Greek,\n et: LocalizedFontFamilies.EastEuropean,\n he: LocalizedFontFamilies.Hebrew,\n hi: LocalizedFontFamilies.Hindi,\n hr: LocalizedFontFamilies.EastEuropean,\n hu: LocalizedFontFamilies.EastEuropean,\n ja: LocalizedFontFamilies.Japanese,\n kk: LocalizedFontFamilies.EastEuropean,\n ko: LocalizedFontFamilies.Korean,\n lt: LocalizedFontFamilies.EastEuropean,\n lv: LocalizedFontFamilies.EastEuropean,\n pl: LocalizedFontFamilies.EastEuropean,\n ru: LocalizedFontFamilies.Cyrillic,\n sk: LocalizedFontFamilies.EastEuropean,\n 'sr-latn': LocalizedFontFamilies.EastEuropean,\n th: LocalizedFontFamilies.Thai,\n tr: LocalizedFontFamilies.EastEuropean,\n uk: LocalizedFontFamilies.Cyrillic,\n vi: LocalizedFontFamilies.Vietnamese,\n 'zh-hans': LocalizedFontFamilies.ChineseSimplified,\n 'zh-hant': LocalizedFontFamilies.ChineseTraditional,\n hy: LocalizedFontFamilies.Armenian,\n ka: LocalizedFontFamilies.Georgian,\n};\nfunction _fontFamilyWithFallbacks(fontFamily) {\n return fontFamily + \", \" + FontFamilyFallbacks;\n}\n/**\n * If there is a localized font for this language, return that.\n * Returns undefined if there is no localized font for that language.\n */\nfunction _getLocalizedFontFamily(language) {\n for (var lang in LanguageToFontMap) {\n if (LanguageToFontMap.hasOwnProperty(lang) && language && lang.indexOf(language) === 0) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return LanguageToFontMap[lang];\n }\n }\n return defaultFontFamily;\n}\nfunction _createFont(size, weight, fontFamily) {\n return {\n fontFamily: fontFamily,\n MozOsxFontSmoothing: 'grayscale',\n WebkitFontSmoothing: 'antialiased',\n fontSize: size,\n fontWeight: weight,\n };\n}\nexport function createFontStyles(localeCode) {\n var localizedFont = _getLocalizedFontFamily(localeCode);\n var fontFamilyWithFallback = _fontFamilyWithFallbacks(localizedFont);\n var fontStyles = {\n tiny: _createFont(FontSizes.mini, FontWeights.regular, fontFamilyWithFallback),\n xSmall: _createFont(FontSizes.xSmall, FontWeights.regular, fontFamilyWithFallback),\n small: _createFont(FontSizes.small, FontWeights.regular, fontFamilyWithFallback),\n smallPlus: _createFont(FontSizes.smallPlus, FontWeights.regular, fontFamilyWithFallback),\n medium: _createFont(FontSizes.medium, FontWeights.regular, fontFamilyWithFallback),\n mediumPlus: _createFont(FontSizes.mediumPlus, FontWeights.regular, fontFamilyWithFallback),\n large: _createFont(FontSizes.large, FontWeights.regular, fontFamilyWithFallback),\n xLarge: _createFont(FontSizes.xLarge, FontWeights.semibold, fontFamilyWithFallback),\n xLargePlus: _createFont(FontSizes.xLargePlus, FontWeights.semibold, fontFamilyWithFallback),\n xxLarge: _createFont(FontSizes.xxLarge, FontWeights.semibold, fontFamilyWithFallback),\n xxLargePlus: _createFont(FontSizes.xxLargePlus, FontWeights.semibold, fontFamilyWithFallback),\n superLarge: _createFont(FontSizes.superLarge, FontWeights.semibold, fontFamilyWithFallback),\n mega: _createFont(FontSizes.mega, FontWeights.semibold, fontFamilyWithFallback),\n };\n return fontStyles;\n}\n//# sourceMappingURL=createFontStyles.js.map","import { fontFace } from '@fluentui/merge-styles';\nimport { FontWeights, LocalizedFontFamilies, LocalizedFontNames } from './FluentFonts';\nimport { createFontStyles } from './createFontStyles';\nimport { getLanguage, getWindow } from '@fluentui/utilities';\n// Default urls.\nvar DefaultBaseUrl = 'https://static2.sharepointonline.com/files/fabric/assets';\n// Standard font styling.\nexport var DefaultFontStyles = createFontStyles(getLanguage());\nfunction _registerFontFace(fontFamily, url, fontWeight, localFontName) {\n fontFamily = \"'\" + fontFamily + \"'\";\n var localFontSrc = localFontName !== undefined ? \"local('\" + localFontName + \"'),\" : '';\n fontFace({\n fontFamily: fontFamily,\n src: localFontSrc + (\"url('\" + url + \".woff2') format('woff2'),\") + (\"url('\" + url + \".woff') format('woff')\"),\n fontWeight: fontWeight,\n fontStyle: 'normal',\n fontDisplay: 'swap',\n });\n}\nfunction _registerFontFaceSet(baseUrl, fontFamily, cdnFolder, cdnFontName, localFontName) {\n if (cdnFontName === void 0) { cdnFontName = 'segoeui'; }\n var urlBase = baseUrl + \"/\" + cdnFolder + \"/\" + cdnFontName;\n _registerFontFace(fontFamily, urlBase + '-light', FontWeights.light, localFontName && localFontName + ' Light');\n _registerFontFace(fontFamily, urlBase + '-semilight', FontWeights.semilight, localFontName && localFontName + ' SemiLight');\n _registerFontFace(fontFamily, urlBase + '-regular', FontWeights.regular, localFontName);\n _registerFontFace(fontFamily, urlBase + '-semibold', FontWeights.semibold, localFontName && localFontName + ' SemiBold');\n _registerFontFace(fontFamily, urlBase + '-bold', FontWeights.bold, localFontName && localFontName + ' Bold');\n}\nexport function registerDefaultFontFaces(baseUrl) {\n if (baseUrl) {\n var fontUrl = baseUrl + \"/fonts\";\n // Produce @font-face definitions for all supported web fonts.\n _registerFontFaceSet(fontUrl, LocalizedFontNames.Thai, 'leelawadeeui-thai', 'leelawadeeui');\n _registerFontFaceSet(fontUrl, LocalizedFontNames.Arabic, 'segoeui-arabic');\n _registerFontFaceSet(fontUrl, LocalizedFontNames.Cyrillic, 'segoeui-cyrillic');\n _registerFontFaceSet(fontUrl, LocalizedFontNames.EastEuropean, 'segoeui-easteuropean');\n _registerFontFaceSet(fontUrl, LocalizedFontNames.Greek, 'segoeui-greek');\n _registerFontFaceSet(fontUrl, LocalizedFontNames.Hebrew, 'segoeui-hebrew');\n _registerFontFaceSet(fontUrl, LocalizedFontNames.Vietnamese, 'segoeui-vietnamese');\n _registerFontFaceSet(fontUrl, LocalizedFontNames.WestEuropean, 'segoeui-westeuropean', 'segoeui', 'Segoe UI');\n _registerFontFaceSet(fontUrl, LocalizedFontFamilies.Selawik, 'selawik', 'selawik');\n _registerFontFaceSet(fontUrl, LocalizedFontNames.Armenian, 'segoeui-armenian');\n _registerFontFaceSet(fontUrl, LocalizedFontNames.Georgian, 'segoeui-georgian');\n // Leelawadee UI (Thai) does not have a 'light' weight, so we override\n // the font-face generated above to use the 'semilight' weight instead.\n _registerFontFace('Leelawadee UI Web', fontUrl + \"/leelawadeeui-thai/leelawadeeui-semilight\", FontWeights.light);\n // Leelawadee UI (Thai) does not have a 'semibold' weight, so we override\n // the font-face generated above to use the 'bold' weight instead.\n _registerFontFace('Leelawadee UI Web', fontUrl + \"/leelawadeeui-thai/leelawadeeui-bold\", FontWeights.semibold);\n }\n}\n/**\n * Reads the fontBaseUrl from window.FabricConfig.fontBaseUrl or falls back to a default.\n */\nfunction _getFontBaseUrl() {\n var _a, _b;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var fabricConfig = (_a = getWindow()) === null || _a === void 0 ? void 0 : _a.FabricConfig;\n return (_b = fabricConfig === null || fabricConfig === void 0 ? void 0 : fabricConfig.fontBaseUrl) !== null && _b !== void 0 ? _b : DefaultBaseUrl;\n}\n/**\n * Register the font faces.\n */\nregisterDefaultFontFaces(_getFontBaseUrl());\n//# sourceMappingURL=DefaultFontStyles.js.map","import { getWindow } from './dom/getWindow';\n/**\n * Fetches an item from local storage without throwing an exception\n * @param key The key of the item to fetch from local storage\n */\nexport function getItem(key) {\n var result = null;\n try {\n var win = getWindow();\n result = win ? win.localStorage.getItem(key) : null;\n }\n catch (e) {\n /* Eat the exception */\n }\n return result;\n}\n/**\n * Inserts an item into local storage without throwing an exception\n * @param key The key of the item to add to local storage\n * @param data The data to put into local storage\n */\nexport function setItem(key, data) {\n try {\n var win = getWindow();\n win && win.localStorage.setItem(key, data);\n }\n catch (e) {\n /* Eat the exception */\n }\n}\n//# sourceMappingURL=localStorage.js.map","export var HighContrastSelector = '@media screen and (-ms-high-contrast: active), (forced-colors: active)';\nexport var HighContrastSelectorWhite = '@media screen and (-ms-high-contrast: black-on-white), (forced-colors: black-on-white)';\nexport var HighContrastSelectorBlack = '@media screen and (-ms-high-contrast: white-on-black), (forced-colors: white-on-black)';\nexport var EdgeChromiumHighContrastSelector = '@media screen and (forced-colors: active)';\nexport var ScreenWidthMinSmall = 320;\nexport var ScreenWidthMinMedium = 480;\nexport var ScreenWidthMinLarge = 640;\nexport var ScreenWidthMinXLarge = 1024;\nexport var ScreenWidthMinXXLarge = 1366;\nexport var ScreenWidthMinXXXLarge = 1920;\nexport var ScreenWidthMaxSmall = ScreenWidthMinMedium - 1;\nexport var ScreenWidthMaxMedium = ScreenWidthMinLarge - 1;\nexport var ScreenWidthMaxLarge = ScreenWidthMinXLarge - 1;\nexport var ScreenWidthMaxXLarge = ScreenWidthMinXXLarge - 1;\nexport var ScreenWidthMaxXXLarge = ScreenWidthMinXXXLarge - 1;\nexport var ScreenWidthMinUhfMobile = 768;\nexport function getScreenSelector(min, max) {\n var minSelector = typeof min === 'number' ? \" and (min-width: \" + min + \"px)\" : '';\n var maxSelector = typeof max === 'number' ? \" and (max-width: \" + max + \"px)\" : '';\n return \"@media only screen\" + minSelector + maxSelector;\n}\n/**\n * The style which turns off high contrast adjustment in browsers.\n */\nexport function getHighContrastNoAdjustStyle() {\n return {\n forcedColorAdjust: 'none',\n MsHighContrastAdjust: 'none',\n };\n}\n/**\n * The style which turns off high contrast adjustment in (only) Edge Chromium browser.\n * @deprecated Use `getHighContrastNoAdjustStyle`\n */\nexport function getEdgeChromiumNoHighContrastAdjustSelector() {\n var _a;\n return _a = {},\n _a[EdgeChromiumHighContrastSelector] = {\n forcedColorAdjust: 'none',\n },\n _a;\n}\n//# sourceMappingURL=CommonStyles.js.map","export var ZIndexes;\n(function (ZIndexes) {\n ZIndexes.Nav = 1;\n /**\n * @deprecated Do not use\n */\n ZIndexes.ScrollablePane = 1;\n ZIndexes.FocusStyle = 1;\n ZIndexes.Coachmark = 1000;\n ZIndexes.Layer = 1000000;\n ZIndexes.KeytipLayer = 1000001;\n})(ZIndexes || (ZIndexes = {}));\n//# sourceMappingURL=zIndexes.js.map","import { HighContrastSelector } from './CommonStyles';\nimport { IsFocusVisibleClassName } from '@fluentui/utilities';\nimport { ZIndexes } from './zIndexes';\nexport function getFocusStyle(theme, insetOrOptions, position, highContrastStyle, borderColor, outlineColor, isFocusedOnly) {\n if (typeof insetOrOptions === 'number' || !insetOrOptions) {\n return _getFocusStyleInternal(theme, {\n inset: insetOrOptions,\n position: position,\n highContrastStyle: highContrastStyle,\n borderColor: borderColor,\n outlineColor: outlineColor,\n isFocusedOnly: isFocusedOnly,\n });\n }\n else {\n return _getFocusStyleInternal(theme, insetOrOptions);\n }\n}\nfunction _getFocusStyleInternal(theme, options) {\n var _a, _b;\n if (options === void 0) { options = {}; }\n var _c = options.inset, inset = _c === void 0 ? 0 : _c, _d = options.width, width = _d === void 0 ? 1 : _d, _e = options.position, position = _e === void 0 ? 'relative' : _e, highContrastStyle = options.highContrastStyle, _f = options.borderColor, borderColor = _f === void 0 ? theme.palette.white : _f, _g = options.outlineColor, outlineColor = _g === void 0 ? theme.palette.neutralSecondary : _g, _h = options.isFocusedOnly, isFocusedOnly = _h === void 0 ? true : _h;\n return {\n // Clear browser-specific focus styles and use 'transparent' as placeholder for focus style.\n outline: 'transparent',\n // Requirement because pseudo-element is absolutely positioned.\n position: position,\n selectors: (_a = {\n // Clear the focus border in Firefox.\n // Reference: http://stackoverflow.com/a/199319/1436671\n '::-moz-focus-inner': {\n border: '0',\n }\n },\n // When the element that uses this mixin is in a :focus state, add a pseudo-element to\n // create a border.\n _a[\".\" + IsFocusVisibleClassName + \" &\" + (isFocusedOnly ? ':focus' : '') + \":after\"] = {\n content: '\"\"',\n position: 'absolute',\n left: inset + 1,\n top: inset + 1,\n bottom: inset + 1,\n right: inset + 1,\n border: width + \"px solid \" + borderColor,\n outline: width + \"px solid \" + outlineColor,\n zIndex: ZIndexes.FocusStyle,\n selectors: (_b = {},\n _b[HighContrastSelector] = highContrastStyle,\n _b),\n },\n _a),\n };\n}\n/**\n * Generates style to clear browser specific focus styles.\n */\nexport function focusClear() {\n return {\n selectors: {\n '&::-moz-focus-inner': {\n // Clear the focus border in Firefox. Reference: http://stackoverflow.com/a/199319/1436671\n border: 0,\n },\n '&': {\n // Clear browser specific focus styles and use transparent as placeholder for focus style\n outline: 'transparent',\n },\n },\n };\n}\n/**\n * Generates a style which can be used to set a border on focus.\n *\n * @param theme - The theme object to use.\n * @param inset - The number of pixels to inset the border (default 0)\n * @param width - The border width in pixels (default 1)\n * @param color - Color of the outline (default `theme.palette.neutralSecondary`)\n * @returns The style object.\n */\nexport function getFocusOutlineStyle(theme, inset, width, color) {\n var _a;\n if (inset === void 0) { inset = 0; }\n if (width === void 0) { width = 1; }\n return {\n selectors: (_a = {},\n _a[\":global(\" + IsFocusVisibleClassName + \") &:focus\"] = {\n outline: width + \" solid \" + (color || theme.palette.neutralSecondary),\n outlineOffset: -inset + \"px\",\n },\n _a),\n };\n}\n/**\n * Generates text input border styles on focus.\n *\n * @param borderColor - Color of the border.\n * @param borderRadius - Radius of the border.\n * @param borderType - Type of the border.\n * @param borderPosition - Position of the border relative to the input element (default to -1\n * as it's the most common border width of the input element)\n * @returns The style object.\n */\nexport var getInputFocusStyle = function (borderColor, borderRadius, borderType, borderPosition) {\n var _a, _b, _c;\n if (borderType === void 0) { borderType = 'border'; }\n if (borderPosition === void 0) { borderPosition = -1; }\n var isBorderBottom = borderType === 'borderBottom';\n return {\n borderColor: borderColor,\n selectors: {\n ':after': (_a = {\n pointerEvents: 'none',\n content: \"''\",\n position: 'absolute',\n left: isBorderBottom ? 0 : borderPosition,\n top: borderPosition,\n bottom: borderPosition,\n right: isBorderBottom ? 0 : borderPosition\n },\n _a[borderType] = \"2px solid \" + borderColor,\n _a.borderRadius = borderRadius,\n _a.width = borderType === 'borderBottom' ? '100%' : undefined,\n _a.selectors = (_b = {},\n _b[HighContrastSelector] = (_c = {},\n _c[borderType === 'border' ? 'borderColor' : 'borderBottomColor'] = 'Highlight',\n _c),\n _b),\n _a),\n },\n };\n};\n//# sourceMappingURL=getFocusStyle.js.map","export var hiddenContentStyle = {\n position: 'absolute',\n width: 1,\n height: 1,\n margin: -1,\n padding: 0,\n border: 0,\n overflow: 'hidden',\n};\n//# sourceMappingURL=hiddenContentStyle.js.map","import { Stylesheet } from '@fluentui/merge-styles';\nimport { memoizeFunction } from '@fluentui/utilities';\n/**\n * Internal memoized function which simply takes in the class map and the\n * disable boolean. These immutable values can be memoized.\n */\nvar _getGlobalClassNames = memoizeFunction(function (classNames, disableGlobalClassNames) {\n var styleSheet = Stylesheet.getInstance();\n if (disableGlobalClassNames) {\n // disable global classnames\n return Object.keys(classNames).reduce(function (acc, className) {\n acc[className] = styleSheet.getClassName(classNames[className]);\n return acc;\n }, {});\n }\n // use global classnames\n return classNames;\n});\n/**\n * Checks for the `disableGlobalClassNames` property on the `theme` to determine if it should return `classNames`\n * Note that calls to this function are memoized.\n *\n * @param classNames - The collection of global class names that apply when the flag is false. Make sure to pass in\n * the same instance on each call to benefit from memoization.\n * @param theme - The theme to check the flag on\n * @param disableGlobalClassNames - Optional. Explicitly opt in/out of disabling global classnames. Defaults to false.\n */\nexport function getGlobalClassNames(classNames, theme, disableGlobalClassNames) {\n return _getGlobalClassNames(classNames, disableGlobalClassNames !== undefined ? disableGlobalClassNames : theme.disableGlobalClassNames);\n}\n//# sourceMappingURL=getGlobalClassNames.js.map","// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license.\n// See LICENSE in the project root for license information.\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n// Store the theming state in __themeState__ global scope for reuse in the case of duplicate\n// load-themed-styles hosted on the page.\nvar _root = typeof window === 'undefined' ? global : window; // eslint-disable-line @typescript-eslint/no-explicit-any\n// Nonce string to inject into script tag if one provided. This is used in CSP (Content Security Policy).\nvar _styleNonce = _root && _root.CSPSettings && _root.CSPSettings.nonce;\nvar _themeState = initializeThemeState();\n/**\n * Matches theming tokens. For example, \"[theme: themeSlotName, default: #FFF]\" (including the quotes).\n */\nvar _themeTokenRegex = /[\\'\\\"]\\[theme:\\s*(\\w+)\\s*(?:\\,\\s*default:\\s*([\\\\\"\\']?[\\.\\,\\(\\)\\#\\-\\s\\w]*[\\.\\,\\(\\)\\#\\-\\w][\\\"\\']?))?\\s*\\][\\'\\\"]/g;\nvar now = function () {\n return typeof performance !== 'undefined' && !!performance.now ? performance.now() : Date.now();\n};\nfunction measure(func) {\n var start = now();\n func();\n var end = now();\n _themeState.perf.duration += end - start;\n}\n/**\n * initialize global state object\n */\nfunction initializeThemeState() {\n var state = _root.__themeState__ || {\n theme: undefined,\n lastStyleElement: undefined,\n registeredStyles: []\n };\n if (!state.runState) {\n state = __assign(__assign({}, state), { perf: {\n count: 0,\n duration: 0\n }, runState: {\n flushTimer: 0,\n mode: 0 /* sync */,\n buffer: []\n } });\n }\n if (!state.registeredThemableStyles) {\n state = __assign(__assign({}, state), { registeredThemableStyles: [] });\n }\n _root.__themeState__ = state;\n return state;\n}\n/**\n * Loads a set of style text. If it is registered too early, we will register it when the window.load\n * event is fired.\n * @param {string | ThemableArray} styles Themable style text to register.\n * @param {boolean} loadAsync When true, always load styles in async mode, irrespective of current sync mode.\n */\nexport function loadStyles(styles, loadAsync) {\n if (loadAsync === void 0) { loadAsync = false; }\n measure(function () {\n var styleParts = Array.isArray(styles) ? styles : splitStyles(styles);\n var _a = _themeState.runState, mode = _a.mode, buffer = _a.buffer, flushTimer = _a.flushTimer;\n if (loadAsync || mode === 1 /* async */) {\n buffer.push(styleParts);\n if (!flushTimer) {\n _themeState.runState.flushTimer = asyncLoadStyles();\n }\n }\n else {\n applyThemableStyles(styleParts);\n }\n });\n}\n/**\n * Allows for customizable loadStyles logic. e.g. for server side rendering application\n * @param {(processedStyles: string, rawStyles?: string | ThemableArray) => void}\n * a loadStyles callback that gets called when styles are loaded or reloaded\n */\nexport function configureLoadStyles(loadStylesFn) {\n _themeState.loadStyles = loadStylesFn;\n}\n/**\n * Configure run mode of load-themable-styles\n * @param mode load-themable-styles run mode, async or sync\n */\nexport function configureRunMode(mode) {\n _themeState.runState.mode = mode;\n}\n/**\n * external code can call flush to synchronously force processing of currently buffered styles\n */\nexport function flush() {\n measure(function () {\n var styleArrays = _themeState.runState.buffer.slice();\n _themeState.runState.buffer = [];\n var mergedStyleArray = [].concat.apply([], styleArrays);\n if (mergedStyleArray.length > 0) {\n applyThemableStyles(mergedStyleArray);\n }\n });\n}\n/**\n * register async loadStyles\n */\nfunction asyncLoadStyles() {\n return setTimeout(function () {\n _themeState.runState.flushTimer = 0;\n flush();\n }, 0);\n}\n/**\n * Loads a set of style text. If it is registered too early, we will register it when the window.load event\n * is fired.\n * @param {string} styleText Style to register.\n * @param {IStyleRecord} styleRecord Existing style record to re-apply.\n */\nfunction applyThemableStyles(stylesArray, styleRecord) {\n if (_themeState.loadStyles) {\n _themeState.loadStyles(resolveThemableArray(stylesArray).styleString, stylesArray);\n }\n else {\n registerStyles(stylesArray);\n }\n}\n/**\n * Registers a set theme tokens to find and replace. If styles were already registered, they will be\n * replaced.\n * @param {theme} theme JSON object of theme tokens to values.\n */\nexport function loadTheme(theme) {\n _themeState.theme = theme;\n // reload styles.\n reloadStyles();\n}\n/**\n * Clear already registered style elements and style records in theme_State object\n * @param option - specify which group of registered styles should be cleared.\n * Default to be both themable and non-themable styles will be cleared\n */\nexport function clearStyles(option) {\n if (option === void 0) { option = 3 /* all */; }\n if (option === 3 /* all */ || option === 2 /* onlyNonThemable */) {\n clearStylesInternal(_themeState.registeredStyles);\n _themeState.registeredStyles = [];\n }\n if (option === 3 /* all */ || option === 1 /* onlyThemable */) {\n clearStylesInternal(_themeState.registeredThemableStyles);\n _themeState.registeredThemableStyles = [];\n }\n}\nfunction clearStylesInternal(records) {\n records.forEach(function (styleRecord) {\n var styleElement = styleRecord && styleRecord.styleElement;\n if (styleElement && styleElement.parentElement) {\n styleElement.parentElement.removeChild(styleElement);\n }\n });\n}\n/**\n * Reloads styles.\n */\nfunction reloadStyles() {\n if (_themeState.theme) {\n var themableStyles = [];\n for (var _i = 0, _a = _themeState.registeredThemableStyles; _i < _a.length; _i++) {\n var styleRecord = _a[_i];\n themableStyles.push(styleRecord.themableStyle);\n }\n if (themableStyles.length > 0) {\n clearStyles(1 /* onlyThemable */);\n applyThemableStyles([].concat.apply([], themableStyles));\n }\n }\n}\n/**\n * Find theme tokens and replaces them with provided theme values.\n * @param {string} styles Tokenized styles to fix.\n */\nexport function detokenize(styles) {\n if (styles) {\n styles = resolveThemableArray(splitStyles(styles)).styleString;\n }\n return styles;\n}\n/**\n * Resolves ThemingInstruction objects in an array and joins the result into a string.\n * @param {ThemableArray} splitStyleArray ThemableArray to resolve and join.\n */\nfunction resolveThemableArray(splitStyleArray) {\n var theme = _themeState.theme;\n var themable = false;\n // Resolve the array of theming instructions to an array of strings.\n // Then join the array to produce the final CSS string.\n var resolvedArray = (splitStyleArray || []).map(function (currentValue) {\n var themeSlot = currentValue.theme;\n if (themeSlot) {\n themable = true;\n // A theming annotation. Resolve it.\n var themedValue = theme ? theme[themeSlot] : undefined;\n var defaultValue = currentValue.defaultValue || 'inherit';\n // Warn to console if we hit an unthemed value even when themes are provided, but only if \"DEBUG\" is true.\n // Allow the themedValue to be undefined to explicitly request the default value.\n if (theme &&\n !themedValue &&\n console &&\n !(themeSlot in theme) &&\n typeof DEBUG !== 'undefined' &&\n DEBUG) {\n console.warn(\"Theming value not provided for \\\"\" + themeSlot + \"\\\". Falling back to \\\"\" + defaultValue + \"\\\".\");\n }\n return themedValue || defaultValue;\n }\n else {\n // A non-themable string. Preserve it.\n return currentValue.rawString;\n }\n });\n return {\n styleString: resolvedArray.join(''),\n themable: themable\n };\n}\n/**\n * Split tokenized CSS into an array of strings and theme specification objects\n * @param {string} styles Tokenized styles to split.\n */\nexport function splitStyles(styles) {\n var result = [];\n if (styles) {\n var pos = 0; // Current position in styles.\n var tokenMatch = void 0;\n while ((tokenMatch = _themeTokenRegex.exec(styles))) {\n var matchIndex = tokenMatch.index;\n if (matchIndex > pos) {\n result.push({\n rawString: styles.substring(pos, matchIndex)\n });\n }\n result.push({\n theme: tokenMatch[1],\n defaultValue: tokenMatch[2] // May be undefined\n });\n // index of the first character after the current match\n pos = _themeTokenRegex.lastIndex;\n }\n // Push the rest of the string after the last match.\n result.push({\n rawString: styles.substring(pos)\n });\n }\n return result;\n}\n/**\n * Registers a set of style text. If it is registered too early, we will register it when the\n * window.load event is fired.\n * @param {ThemableArray} styleArray Array of IThemingInstruction objects to register.\n * @param {IStyleRecord} styleRecord May specify a style Element to update.\n */\nfunction registerStyles(styleArray) {\n if (typeof document === 'undefined') {\n return;\n }\n var head = document.getElementsByTagName('head')[0];\n var styleElement = document.createElement('style');\n var _a = resolveThemableArray(styleArray), styleString = _a.styleString, themable = _a.themable;\n styleElement.setAttribute('data-load-themed-styles', 'true');\n if (_styleNonce) {\n styleElement.setAttribute('nonce', _styleNonce);\n }\n styleElement.appendChild(document.createTextNode(styleString));\n _themeState.perf.count++;\n head.appendChild(styleElement);\n var ev = document.createEvent('HTMLEvents');\n ev.initEvent('styleinsert', true /* bubbleEvent */, false /* cancelable */);\n ev.args = {\n newStyle: styleElement\n };\n document.dispatchEvent(ev);\n var record = {\n styleElement: styleElement,\n themableStyle: styleArray\n };\n if (themable) {\n _themeState.registeredThemableStyles.push(record);\n }\n else {\n _themeState.registeredStyles.push(record);\n }\n}\n//# sourceMappingURL=index.js.map","import { __assign } from \"tslib\";\n/** Generates all the semantic slot colors based on the theme so far\n * We'll use these as fallbacks for semantic slots that the passed in theme did not define.\n * The caller must still mix in the customized semantic slots at the end.\n */\nexport function makeSemanticColors(p, e, s, isInverted, depComments) {\n if (depComments === void 0) { depComments = false; }\n var semanticColors = __assign({ primaryButtonBorder: 'transparent', errorText: !isInverted ? '#a4262c' : '#F1707B', messageText: !isInverted ? '#323130' : '#F3F2F1', messageLink: !isInverted ? '#005A9E' : '#6CB8F6', messageLinkHovered: !isInverted ? '#004578' : '#82C7FF', infoIcon: !isInverted ? '#605e5c' : '#C8C6C4', errorIcon: !isInverted ? '#A80000' : '#F1707B', blockingIcon: !isInverted ? '#FDE7E9' : '#442726', warningIcon: !isInverted ? '#797775' : '#C8C6C4', severeWarningIcon: !isInverted ? '#D83B01' : '#FCE100', successIcon: !isInverted ? '#107C10' : '#92C353', infoBackground: !isInverted ? '#f3f2f1' : '#323130', errorBackground: !isInverted ? '#FDE7E9' : '#442726', blockingBackground: !isInverted ? '#FDE7E9' : '#442726', warningBackground: !isInverted ? '#FFF4CE' : '#433519', severeWarningBackground: !isInverted ? '#FED9CC' : '#4F2A0F', successBackground: !isInverted ? '#DFF6DD' : '#393D1B', \n // deprecated\n warningHighlight: !isInverted ? '#ffb900' : '#fff100', successText: !isInverted ? '#107C10' : '#92c353' }, s);\n var fullSemanticColors = getSemanticColors(p, e, semanticColors, isInverted);\n return _fixDeprecatedSlots(fullSemanticColors, depComments);\n}\n/**\n * Map partial platte and effects to partial semantic colors.\n */\nexport function getSemanticColors(p, e, s, isInverted, depComments) {\n if (depComments === void 0) { depComments = false; }\n var result = {};\n // map palette\n var _a = p || {}, white = _a.white, black = _a.black, themePrimary = _a.themePrimary, themeDark = _a.themeDark, themeDarker = _a.themeDarker, themeDarkAlt = _a.themeDarkAlt, themeLighter = _a.themeLighter, neutralLight = _a.neutralLight, neutralLighter = _a.neutralLighter, neutralDark = _a.neutralDark, neutralQuaternary = _a.neutralQuaternary, neutralQuaternaryAlt = _a.neutralQuaternaryAlt, neutralPrimary = _a.neutralPrimary, neutralSecondary = _a.neutralSecondary, neutralSecondaryAlt = _a.neutralSecondaryAlt, neutralTertiary = _a.neutralTertiary, neutralTertiaryAlt = _a.neutralTertiaryAlt, neutralLighterAlt = _a.neutralLighterAlt, accent = _a.accent;\n if (white) {\n result.bodyBackground = white;\n result.bodyFrameBackground = white;\n result.accentButtonText = white;\n result.buttonBackground = white;\n result.primaryButtonText = white;\n result.primaryButtonTextHovered = white;\n result.primaryButtonTextPressed = white;\n result.inputBackground = white;\n result.inputForegroundChecked = white;\n result.listBackground = white;\n result.menuBackground = white;\n result.cardStandoutBackground = white;\n }\n if (black) {\n result.bodyTextChecked = black;\n result.buttonTextCheckedHovered = black;\n }\n if (themePrimary) {\n result.link = themePrimary;\n result.primaryButtonBackground = themePrimary;\n result.inputBackgroundChecked = themePrimary;\n result.inputIcon = themePrimary;\n result.inputFocusBorderAlt = themePrimary;\n result.menuIcon = themePrimary;\n result.menuHeader = themePrimary;\n result.accentButtonBackground = themePrimary;\n }\n if (themeDark) {\n result.primaryButtonBackgroundPressed = themeDark;\n result.inputBackgroundCheckedHovered = themeDark;\n result.inputIconHovered = themeDark;\n }\n if (themeDarker) {\n result.linkHovered = themeDarker;\n }\n if (themeDarkAlt) {\n result.primaryButtonBackgroundHovered = themeDarkAlt;\n }\n if (themeLighter) {\n result.inputPlaceholderBackgroundChecked = themeLighter;\n }\n if (neutralLight) {\n result.bodyBackgroundChecked = neutralLight;\n result.bodyFrameDivider = neutralLight;\n result.bodyDivider = neutralLight;\n result.variantBorder = neutralLight;\n result.buttonBackgroundCheckedHovered = neutralLight;\n result.buttonBackgroundPressed = neutralLight;\n result.listItemBackgroundChecked = neutralLight;\n result.listHeaderBackgroundPressed = neutralLight;\n result.menuItemBackgroundPressed = neutralLight;\n // eslint-disable-next-line deprecation/deprecation\n result.menuItemBackgroundChecked = neutralLight;\n }\n if (neutralLighter) {\n result.bodyBackgroundHovered = neutralLighter;\n result.buttonBackgroundHovered = neutralLighter;\n result.buttonBackgroundDisabled = neutralLighter;\n result.buttonBorderDisabled = neutralLighter;\n result.primaryButtonBackgroundDisabled = neutralLighter;\n result.disabledBackground = neutralLighter;\n result.listItemBackgroundHovered = neutralLighter;\n result.listHeaderBackgroundHovered = neutralLighter;\n result.menuItemBackgroundHovered = neutralLighter;\n }\n if (neutralQuaternary) {\n result.primaryButtonTextDisabled = neutralQuaternary;\n result.disabledSubtext = neutralQuaternary;\n }\n if (neutralQuaternaryAlt) {\n result.listItemBackgroundCheckedHovered = neutralQuaternaryAlt;\n }\n if (neutralTertiary) {\n result.disabledBodyText = neutralTertiary;\n result.variantBorderHovered = (s === null || s === void 0 ? void 0 : s.variantBorderHovered) || neutralTertiary;\n result.buttonTextDisabled = neutralTertiary;\n result.inputIconDisabled = neutralTertiary;\n result.disabledText = neutralTertiary;\n }\n if (neutralPrimary) {\n result.bodyText = neutralPrimary;\n result.actionLink = neutralPrimary;\n result.buttonText = neutralPrimary;\n result.inputBorderHovered = neutralPrimary;\n result.inputText = neutralPrimary;\n result.listText = neutralPrimary;\n result.menuItemText = neutralPrimary;\n }\n if (neutralLighterAlt) {\n result.bodyStandoutBackground = neutralLighterAlt;\n result.defaultStateBackground = neutralLighterAlt;\n }\n if (neutralDark) {\n result.actionLinkHovered = neutralDark;\n result.buttonTextHovered = neutralDark;\n result.buttonTextChecked = neutralDark;\n result.buttonTextPressed = neutralDark;\n result.inputTextHovered = neutralDark;\n result.menuItemTextHovered = neutralDark;\n }\n if (neutralSecondary) {\n result.bodySubtext = neutralSecondary;\n result.focusBorder = neutralSecondary;\n result.inputBorder = neutralSecondary;\n result.smallInputBorder = neutralSecondary;\n result.inputPlaceholderText = neutralSecondary;\n }\n if (neutralSecondaryAlt) {\n result.buttonBorder = neutralSecondaryAlt;\n }\n if (neutralTertiaryAlt) {\n result.disabledBodySubtext = neutralTertiaryAlt;\n result.disabledBorder = neutralTertiaryAlt;\n result.buttonBackgroundChecked = neutralTertiaryAlt;\n result.menuDivider = neutralTertiaryAlt;\n }\n if (accent) {\n result.accentButtonBackground = accent;\n }\n // map effects\n if (e === null || e === void 0 ? void 0 : e.elevation4) {\n result.cardShadow = e.elevation4;\n }\n if (!isInverted && (e === null || e === void 0 ? void 0 : e.elevation8)) {\n result.cardShadowHovered = e.elevation8;\n }\n else if (result.variantBorderHovered) {\n result.cardShadowHovered = '0 0 1px ' + result.variantBorderHovered;\n }\n result = __assign(__assign({}, result), s);\n return result;\n}\nfunction _fixDeprecatedSlots(s, depComments) {\n // Add @deprecated tag as comment if enabled\n var dep = '';\n if (depComments === true) {\n dep = ' /* @deprecated */';\n }\n /* eslint-disable deprecation/deprecation */\n s.listTextColor = s.listText + dep;\n s.menuItemBackgroundChecked += dep;\n s.warningHighlight += dep;\n s.warningText = s.messageText + dep;\n s.successText += dep;\n /* eslint-enable deprecation/deprecation */\n return s;\n}\n//# sourceMappingURL=makeSemanticColors.js.map","export var DefaultSpacing = {\n s2: '4px',\n s1: '8px',\n m: '16px',\n l1: '20px',\n l2: '32px',\n};\n//# sourceMappingURL=DefaultSpacing.js.map","import { DefaultPalette } from './colors/index';\nimport { DefaultEffects } from './effects/index';\nimport { DefaultFontStyles } from './fonts/index';\nimport { mergeThemes } from './mergeThemes';\nimport { DefaultSpacing } from './spacing/index';\nimport { makeSemanticColors } from './utilities/makeSemanticColors';\n/**\n * Creates a custom theme definition.\n * @param theme - Partial theme object.\n * @param depComments - Whether to include deprecated tags as comments for deprecated slots.\n */\nexport function createTheme(theme, depComments) {\n if (theme === void 0) { theme = {}; }\n if (depComments === void 0) { depComments = false; }\n var isInverted = !!theme.isInverted;\n var baseTheme = {\n palette: DefaultPalette,\n effects: DefaultEffects,\n fonts: DefaultFontStyles,\n spacing: DefaultSpacing,\n isInverted: isInverted,\n disableGlobalClassNames: false,\n semanticColors: makeSemanticColors(DefaultPalette, DefaultEffects, undefined, isInverted, depComments),\n rtl: undefined,\n };\n return mergeThemes(baseTheme, theme);\n}\n//# sourceMappingURL=createTheme.js.map","import { merge } from '@fluentui/utilities';\nimport { getSemanticColors } from './utilities/makeSemanticColors';\n/**\n * Merge a partial/full theme into a full theme and returns a merged full theme.\n */\nexport function mergeThemes(theme, partialTheme) {\n var _a, _b, _c;\n if (partialTheme === void 0) { partialTheme = {}; }\n var mergedTheme = merge({}, theme, partialTheme, {\n semanticColors: getSemanticColors(partialTheme.palette, partialTheme.effects, partialTheme.semanticColors, partialTheme.isInverted === undefined ? theme.isInverted : partialTheme.isInverted),\n });\n if (((_a = partialTheme.palette) === null || _a === void 0 ? void 0 : _a.themePrimary) && !((_b = partialTheme.palette) === null || _b === void 0 ? void 0 : _b.accent)) {\n mergedTheme.palette.accent = partialTheme.palette.themePrimary;\n }\n if (partialTheme.defaultFontStyle) {\n for (var _i = 0, _d = Object.keys(mergedTheme.fonts); _i < _d.length; _i++) {\n var fontStyle = _d[_i];\n mergedTheme.fonts[fontStyle] = merge(mergedTheme.fonts[fontStyle], partialTheme.defaultFontStyle, (_c = partialTheme === null || partialTheme === void 0 ? void 0 : partialTheme.fonts) === null || _c === void 0 ? void 0 : _c[fontStyle]);\n }\n }\n return mergedTheme;\n}\n//# sourceMappingURL=mergeThemes.js.map","import { __assign } from \"tslib\";\nimport { Customizations, getWindow } from '@fluentui/utilities';\nimport { loadTheme as legacyLoadTheme } from '@microsoft/load-themed-styles';\nimport { createTheme } from '@fluentui/theme/lib/createTheme';\nexport { createTheme } from '@fluentui/theme/lib/createTheme';\nvar _theme = createTheme({});\nvar _onThemeChangeCallbacks = [];\nexport var ThemeSettingName = 'theme';\nexport function initializeThemeInCustomizations() {\n var _a;\n var _b;\n if (!Customizations.getSettings([ThemeSettingName]).theme) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var win = getWindow();\n if ((_b = win === null || win === void 0 ? void 0 : win.FabricConfig) === null || _b === void 0 ? void 0 : _b.theme) {\n _theme = createTheme(win.FabricConfig.theme);\n }\n // Set the default theme.\n Customizations.applySettings((_a = {}, _a[ThemeSettingName] = _theme, _a));\n }\n}\ninitializeThemeInCustomizations();\n/**\n * Gets the theme object\n * @param depComments - Whether to include deprecated tags as comments for deprecated slots.\n */\nexport function getTheme(depComments) {\n if (depComments === void 0) { depComments = false; }\n if (depComments === true) {\n _theme = createTheme({}, depComments);\n }\n return _theme;\n}\n/**\n * Registers a callback that gets called whenever the theme changes.\n * This should only be used when the component cannot automatically get theme changes through its state.\n * This will not register duplicate callbacks.\n */\nexport function registerOnThemeChangeCallback(callback) {\n if (_onThemeChangeCallbacks.indexOf(callback) === -1) {\n _onThemeChangeCallbacks.push(callback);\n }\n}\n/**\n * See registerOnThemeChangeCallback().\n * Removes previously registered callbacks.\n */\nexport function removeOnThemeChangeCallback(callback) {\n var i = _onThemeChangeCallbacks.indexOf(callback);\n if (i === -1) {\n return;\n }\n _onThemeChangeCallbacks.splice(i, 1);\n}\n/**\n * Applies the theme, while filling in missing slots.\n * @param theme - Partial theme object.\n * @param depComments - Whether to include deprecated tags as comments for deprecated slots.\n */\nexport function loadTheme(theme, depComments) {\n var _a;\n if (depComments === void 0) { depComments = false; }\n _theme = createTheme(theme, depComments);\n // Invoke the legacy method of theming the page as well.\n legacyLoadTheme(__assign(__assign(__assign(__assign({}, _theme.palette), _theme.semanticColors), _theme.effects), _loadFonts(_theme)));\n Customizations.applySettings((_a = {}, _a[ThemeSettingName] = _theme, _a));\n _onThemeChangeCallbacks.forEach(function (callback) {\n try {\n callback(_theme);\n }\n catch (e) {\n // don't let a bad callback break everything else\n }\n });\n return _theme;\n}\n/**\n * Loads font variables into a JSON object.\n * @param theme - The theme object\n */\nfunction _loadFonts(theme) {\n var lines = {};\n for (var _i = 0, _a = Object.keys(theme.fonts); _i < _a.length; _i++) {\n var fontName = _a[_i];\n var font = theme.fonts[fontName];\n for (var _b = 0, _c = Object.keys(font); _b < _c.length; _b++) {\n var propName = _c[_b];\n var name_1 = fontName + propName.charAt(0).toUpperCase() + propName.slice(1);\n var value = font[propName];\n if (propName === 'fontSize' && typeof value === 'number') {\n // if it's a number, convert it to px by default like our theming system does\n value = value + 'px';\n }\n lines[name_1] = value;\n }\n }\n return lines;\n}\n//# sourceMappingURL=theme.js.map","import { buildClassMap } from '../utilities/index';\nimport { AnimationStyles } from '../styles/index';\n/**\n * {@docCategory AnimationClassNames}\n */\nexport var AnimationClassNames = buildClassMap(AnimationStyles);\n//# sourceMappingURL=AnimationClassNames.js.map","import { mergeStyles } from '../MergeStyles';\n/**\n * Builds a class names object from a given map.\n *\n * @param styles - Map of unprocessed styles.\n * @returns Map of property name to class name.\n */\nexport function buildClassMap(styles) {\n var classes = {};\n var _loop_1 = function (styleName) {\n if (styles.hasOwnProperty(styleName)) {\n var className_1;\n Object.defineProperty(classes, styleName, {\n get: function () {\n if (className_1 === undefined) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n className_1 = mergeStyles(styles[styleName]).toString();\n }\n return className_1;\n },\n enumerable: true,\n configurable: true,\n });\n }\n };\n for (var styleName in styles) {\n _loop_1(styleName);\n }\n return classes;\n}\n//# sourceMappingURL=buildClassMap.js.map","// Do not modify this file; it is generated as part of publish.\n// The checked in version is a placeholder only and will not be updated.\nimport { setVersion } from '@fluentui/set-version';\nsetVersion('@fluentui/style-utilities', '8.1.1');\n//# sourceMappingURL=version.js.map","export * from './classNames/index';\nexport * from './styles/index';\nexport * from './utilities/index';\nexport * from './interfaces/index';\nexport * from './MergeStyles';\nimport './version';\n// Ensure theme is initialized when this package is referenced.\nimport { initializeThemeInCustomizations } from './styles/theme';\ninitializeThemeInCustomizations();\n//# sourceMappingURL=index.js.map","export var DirectionalHint = {\n /**\n * Appear above the target element, with the left edges of the callout and target aligning.\n */\n topLeftEdge: 0,\n /**\n * Appear above the target element, with the centers of the callout and target aligning.\n */\n topCenter: 1,\n /**\n * Appear above the target element, with the right edges of the callout and target aligning.\n */\n topRightEdge: 2,\n /**\n * Appear above the target element, aligning with the target element such that the callout tends toward\n * the center of the screen.\n */\n topAutoEdge: 3,\n /**\n * Appear below the target element, with the left edges of the callout and target aligning.\n */\n bottomLeftEdge: 4,\n /**\n * Appear below the target element, with the centers of the callout and target aligning.\n */\n bottomCenter: 5,\n /**\n * Appear below the target element, with the right edges of the callout and target aligning.\n */\n bottomRightEdge: 6,\n /**\n * Appear below the target element, aligning with the target element such that the callout tends toward\n * the center of the screen.\n */\n bottomAutoEdge: 7,\n /**\n * Appear to the left of the target element, with the top edges of the callout and target aligning.\n */\n leftTopEdge: 8,\n /**\n * Appear to the left of the target element, with the centers of the callout and target aligning.\n */\n leftCenter: 9,\n /**\n * Appear to the left of the target element, with the bottom edges of the callout and target aligning.\n */\n leftBottomEdge: 10,\n /**\n * Appear to the right of the target element, with the top edges of the callout and target aligning.\n */\n rightTopEdge: 11,\n /**\n * Appear to the right of the target element, with the centers of the callout and target aligning.\n */\n rightCenter: 12,\n /**\n * Appear to the right of the target element, with the bottom edges of the callout and target aligning.\n */\n rightBottomEdge: 13,\n};\n//# sourceMappingURL=DirectionalHint.js.map","export var RectangleEdge;\n(function (RectangleEdge) {\n RectangleEdge[RectangleEdge[\"top\"] = 1] = \"top\";\n RectangleEdge[RectangleEdge[\"bottom\"] = -1] = \"bottom\";\n RectangleEdge[RectangleEdge[\"left\"] = 2] = \"left\";\n RectangleEdge[RectangleEdge[\"right\"] = -2] = \"right\";\n})(RectangleEdge || (RectangleEdge = {}));\nexport var Position;\n(function (Position) {\n Position[Position[\"top\"] = 0] = \"top\";\n Position[Position[\"bottom\"] = 1] = \"bottom\";\n Position[Position[\"start\"] = 2] = \"start\";\n Position[Position[\"end\"] = 3] = \"end\";\n})(Position || (Position = {}));\n//# sourceMappingURL=positioning.types.js.map","var _a;\nimport { __assign } from \"tslib\";\nimport { DirectionalHint } from '../../common/DirectionalHint';\nimport { getScrollbarWidth, getRTL } from '../../Utilities';\nimport { RectangleEdge, } from './positioning.types';\nimport { Rectangle } from '../../Utilities';\nfunction _createPositionData(targetEdge, alignmentEdge, isAuto) {\n return {\n targetEdge: targetEdge,\n alignmentEdge: alignmentEdge,\n isAuto: isAuto,\n };\n}\n// Currently the beakPercent is set to 50 for all positions meaning that it should tend to the center of the target\nvar DirectionalDictionary = (_a = {},\n _a[DirectionalHint.topLeftEdge] = _createPositionData(RectangleEdge.top, RectangleEdge.left),\n _a[DirectionalHint.topCenter] = _createPositionData(RectangleEdge.top),\n _a[DirectionalHint.topRightEdge] = _createPositionData(RectangleEdge.top, RectangleEdge.right),\n _a[DirectionalHint.topAutoEdge] = _createPositionData(RectangleEdge.top, undefined, true),\n _a[DirectionalHint.bottomLeftEdge] = _createPositionData(RectangleEdge.bottom, RectangleEdge.left),\n _a[DirectionalHint.bottomCenter] = _createPositionData(RectangleEdge.bottom),\n _a[DirectionalHint.bottomRightEdge] = _createPositionData(RectangleEdge.bottom, RectangleEdge.right),\n _a[DirectionalHint.bottomAutoEdge] = _createPositionData(RectangleEdge.bottom, undefined, true),\n _a[DirectionalHint.leftTopEdge] = _createPositionData(RectangleEdge.left, RectangleEdge.top),\n _a[DirectionalHint.leftCenter] = _createPositionData(RectangleEdge.left),\n _a[DirectionalHint.leftBottomEdge] = _createPositionData(RectangleEdge.left, RectangleEdge.bottom),\n _a[DirectionalHint.rightTopEdge] = _createPositionData(RectangleEdge.right, RectangleEdge.top),\n _a[DirectionalHint.rightCenter] = _createPositionData(RectangleEdge.right),\n _a[DirectionalHint.rightBottomEdge] = _createPositionData(RectangleEdge.right, RectangleEdge.bottom),\n _a);\nfunction _isRectangleWithinBounds(rect, boundingRect) {\n if (rect.top < boundingRect.top) {\n return false;\n }\n if (rect.bottom > boundingRect.bottom) {\n return false;\n }\n if (rect.left < boundingRect.left) {\n return false;\n }\n if (rect.right > boundingRect.right) {\n return false;\n }\n return true;\n}\n/**\n * Gets all of the edges of a rectangle that are outside of the given bounds.\n * If there are no out of bounds edges it returns an empty array.\n */\nfunction _getOutOfBoundsEdges(rect, boundingRect) {\n var outOfBounds = [];\n if (rect.top < boundingRect.top) {\n outOfBounds.push(RectangleEdge.top);\n }\n if (rect.bottom > boundingRect.bottom) {\n outOfBounds.push(RectangleEdge.bottom);\n }\n if (rect.left < boundingRect.left) {\n outOfBounds.push(RectangleEdge.left);\n }\n if (rect.right > boundingRect.right) {\n outOfBounds.push(RectangleEdge.right);\n }\n return outOfBounds;\n}\nfunction _getEdgeValue(rect, edge) {\n return rect[RectangleEdge[edge]];\n}\nfunction _setEdgeValue(rect, edge, value) {\n rect[RectangleEdge[edge]] = value;\n return rect;\n}\n/**\n * Returns the middle value of an edge. Only returns 1 value rather than xy coordinates as\n * the itself already contains the other coordinate.\n * For instance, a bottom edge's current value is it's y coordinate, so the number returned is the x.\n */\nfunction _getCenterValue(rect, edge) {\n var edges = _getFlankingEdges(edge);\n return (_getEdgeValue(rect, edges.positiveEdge) + _getEdgeValue(rect, edges.negativeEdge)) / 2;\n}\n/**\n * Flips the value depending on the edge.\n * If the edge is a \"positive\" edge, Top or Left, then the value should stay as it is.\n * If the edge is a \"negative\" edge, Bottom or Right, then the value should be flipped.\n * This is to account for the fact that the coordinates are effectively reveserved in certain cases for the\n * \"negative\" edges.\n *\n * For example, when testing to see if a bottom edge 1 is within the bounds of another bottom edge 2:\n * If edge 1 is greater than edge 2 then it is out of bounds. This is reversed for top edge 1 and top edge 2.\n * If top edge 1 is less than edge 2 then it is out of bounds.\n */\nfunction _getRelativeEdgeValue(edge, value) {\n if (edge > 0) {\n return value;\n }\n else {\n return value * -1;\n }\n}\nfunction _getRelativeRectEdgeValue(edge, rect) {\n return _getRelativeEdgeValue(edge, _getEdgeValue(rect, edge));\n}\nfunction _getRelativeEdgeDifference(rect, hostRect, edge) {\n var edgeDifference = _getEdgeValue(rect, edge) - _getEdgeValue(hostRect, edge);\n return _getRelativeEdgeValue(edge, edgeDifference);\n}\n/**\n * Moves the edge of a rectangle to the value given. It only moves the edge in a linear direction based on that edge.\n * For example, if it's a bottom edge it will only change y coordinates.\n */\nfunction _moveEdge(rect, edge, newValue) {\n var difference = _getEdgeValue(rect, edge) - newValue;\n rect = _setEdgeValue(rect, edge, newValue);\n rect = _setEdgeValue(rect, edge * -1, _getEdgeValue(rect, edge * -1) - difference);\n return rect;\n}\n/**\n * Aligns the edge on the passed in rect to the target. If there is a gap then it will have that space between the two.\n */\nfunction _alignEdges(rect, target, edge, gap) {\n if (gap === void 0) { gap = 0; }\n return _moveEdge(rect, edge, _getEdgeValue(target, edge) + _getRelativeEdgeValue(edge, gap));\n}\n/**\n * Aligns the targetEdge on the passed in target to the rects corresponding opposite edge.\n * For instance if targetEdge is bottom, then the rects top will be moved to match it.\n */\nfunction _alignOppositeEdges(rect, target, targetEdge, gap) {\n if (gap === void 0) { gap = 0; }\n var oppositeEdge = targetEdge * -1;\n var adjustedGap = _getRelativeEdgeValue(oppositeEdge, gap);\n return _moveEdge(rect, targetEdge * -1, _getEdgeValue(target, targetEdge) + adjustedGap);\n}\n/**\n * Tests to see if the given edge is within the bounds of the given rectangle.\n */\nfunction _isEdgeInBounds(rect, bounds, edge) {\n var adjustedRectValue = _getRelativeRectEdgeValue(edge, rect);\n return adjustedRectValue > _getRelativeRectEdgeValue(edge, bounds);\n}\n/**\n * Attempts to move the rectangle through various sides of the target to find a place to fit.\n * If no fit is found, the original position should be returned.\n */\nfunction _flipToFit(rect, target, bounding, positionData, gap) {\n if (gap === void 0) { gap = 0; }\n var directions = [\n RectangleEdge.left,\n RectangleEdge.right,\n RectangleEdge.bottom,\n RectangleEdge.top,\n ];\n // In RTL page, RectangleEdge.right has a higher priority than RectangleEdge.left, so the order should be updated.\n if (getRTL()) {\n directions[0] *= -1;\n directions[1] *= -1;\n }\n var currentEstimate = rect;\n var currentEdge = positionData.targetEdge;\n var currentAlignment = positionData.alignmentEdge;\n // Keep switching sides until one is found with enough space.\n // If all sides don't fit then return the unmodified element.\n for (var i = 0; i < 4; i++) {\n if (!_isEdgeInBounds(currentEstimate, bounding, currentEdge)) {\n directions.splice(directions.indexOf(currentEdge), 1);\n if (directions.length > 0) {\n if (directions.indexOf(currentEdge * -1) > -1) {\n currentEdge = currentEdge * -1;\n }\n else {\n currentAlignment = currentEdge;\n currentEdge = directions.slice(-1)[0];\n }\n currentEstimate = _estimatePosition(rect, target, { targetEdge: currentEdge, alignmentEdge: currentAlignment }, gap);\n }\n }\n else {\n return {\n elementRectangle: currentEstimate,\n targetEdge: currentEdge,\n alignmentEdge: currentAlignment,\n };\n }\n }\n return {\n elementRectangle: rect,\n targetEdge: positionData.targetEdge,\n alignmentEdge: positionData.alignmentEdge,\n };\n}\n/**\n * Flips only the alignment edge of an element rectangle. This is used instead of nudging the alignment edges\n * into position, when `alignTargetEdge` is specified.\n */\nfunction _flipAlignmentEdge(elementEstimate, target, gap, coverTarget) {\n var alignmentEdge = elementEstimate.alignmentEdge, targetEdge = elementEstimate.targetEdge, elementRectangle = elementEstimate.elementRectangle;\n var oppositeEdge = alignmentEdge * -1;\n var newEstimate = _estimatePosition(elementRectangle, target, { targetEdge: targetEdge, alignmentEdge: oppositeEdge }, gap, coverTarget);\n return {\n elementRectangle: newEstimate,\n targetEdge: targetEdge,\n alignmentEdge: oppositeEdge,\n };\n}\n/**\n * Adjusts a element rectangle to fit within the bounds given. If directionalHintFixed or covertarget is passed in\n * then the element will not flip sides on the target. They will, however, be nudged to fit within the bounds given.\n */\nfunction _adjustFitWithinBounds(element, target, bounding, positionData, gap, directionalHintFixed, coverTarget) {\n if (gap === void 0) { gap = 0; }\n var alignmentEdge = positionData.alignmentEdge, alignTargetEdge = positionData.alignTargetEdge;\n var elementEstimate = {\n elementRectangle: element,\n targetEdge: positionData.targetEdge,\n alignmentEdge: alignmentEdge,\n };\n if (!directionalHintFixed && !coverTarget) {\n elementEstimate = _flipToFit(element, target, bounding, positionData, gap);\n }\n var outOfBounds = _getOutOfBoundsEdges(element, bounding);\n if (alignTargetEdge) {\n // The edge opposite to the alignment edge might be out of bounds.\n // Flip alignment to see if we can get it within bounds.\n if (elementEstimate.alignmentEdge && outOfBounds.indexOf(elementEstimate.alignmentEdge * -1) > -1) {\n var flippedElementEstimate = _flipAlignmentEdge(elementEstimate, target, gap, coverTarget);\n if (_isRectangleWithinBounds(flippedElementEstimate.elementRectangle, bounding)) {\n return flippedElementEstimate;\n }\n else {\n // If the flipped elements edges are still out of bounds, try nudging it.\n elementEstimate = _alignOutOfBoundsEdges(_getOutOfBoundsEdges(flippedElementEstimate.elementRectangle, bounding), elementEstimate, bounding);\n }\n }\n }\n else {\n elementEstimate = _alignOutOfBoundsEdges(outOfBounds, elementEstimate, bounding);\n }\n return elementEstimate;\n}\n/**\n * Iterates through a list of out of bounds edges and tries to nudge and align them.\n * @param outOfBoundsEdges - Array of edges that are out of bounds\n * @param elementEstimate - The current element positioning estimate\n * @param bounding - The current bounds\n */\nfunction _alignOutOfBoundsEdges(outOfBoundsEdges, elementEstimate, bounding) {\n for (var _i = 0, outOfBoundsEdges_1 = outOfBoundsEdges; _i < outOfBoundsEdges_1.length; _i++) {\n var direction = outOfBoundsEdges_1[_i];\n elementEstimate.elementRectangle = _alignEdges(elementEstimate.elementRectangle, bounding, direction);\n }\n return elementEstimate;\n}\n/**\n * Moves the middle point on an edge to the point given.\n * Only moves in one direction. For instance if a bottom edge is passed in, then\n * the bottom edge will be moved in the x axis to match the point.\n */\nfunction _centerEdgeToPoint(rect, edge, point) {\n var positiveEdge = _getFlankingEdges(edge).positiveEdge;\n var elementMiddle = _getCenterValue(rect, edge);\n var distanceToMiddle = elementMiddle - _getEdgeValue(rect, positiveEdge);\n return _moveEdge(rect, positiveEdge, point - distanceToMiddle);\n}\n/**\n * Moves the element rectangle to be appropriately positioned relative to a given target.\n * Does not flip or adjust the element.\n */\nfunction _estimatePosition(elementToPosition, target, positionData, gap, coverTarget) {\n if (gap === void 0) { gap = 0; }\n var estimatedElementPosition;\n var alignmentEdge = positionData.alignmentEdge, targetEdge = positionData.targetEdge;\n var elementEdge = coverTarget ? targetEdge : targetEdge * -1;\n estimatedElementPosition = coverTarget\n ? _alignEdges(elementToPosition, target, targetEdge, gap)\n : _alignOppositeEdges(elementToPosition, target, targetEdge, gap);\n // if no alignment edge is provided it's supposed to be centered.\n if (!alignmentEdge) {\n var targetMiddlePoint = _getCenterValue(target, targetEdge);\n estimatedElementPosition = _centerEdgeToPoint(estimatedElementPosition, elementEdge, targetMiddlePoint);\n }\n else {\n estimatedElementPosition = _alignEdges(estimatedElementPosition, target, alignmentEdge);\n }\n return estimatedElementPosition;\n}\n/**\n * Returns the non-opposite edges of the target edge.\n * For instance if bottom is passed in then left and right will be returned.\n */\nfunction _getFlankingEdges(edge) {\n if (edge === RectangleEdge.top || edge === RectangleEdge.bottom) {\n return {\n positiveEdge: RectangleEdge.left,\n negativeEdge: RectangleEdge.right,\n };\n }\n else {\n return {\n positiveEdge: RectangleEdge.top,\n negativeEdge: RectangleEdge.bottom,\n };\n }\n}\n/**\n * Retrieve the final value for the return edge of `elementRectangle`. If the `elementRectangle` is closer to one side\n * of the bounds versus the other, the return edge is flipped to grow inward.\n */\nfunction _finalizeReturnEdge(elementRectangle, returnEdge, bounds) {\n if (bounds &&\n Math.abs(_getRelativeEdgeDifference(elementRectangle, bounds, returnEdge)) >\n Math.abs(_getRelativeEdgeDifference(elementRectangle, bounds, returnEdge * -1))) {\n return returnEdge * -1;\n }\n return returnEdge;\n}\n/**\n * Finalizes the element positon based on the hostElement. Only returns the\n * rectangle values to position such that they are anchored to the target.\n * This helps prevent resizing from looking very strange.\n * For instance, if the target edge is top and aligned with the left side then\n * the bottom and left values are returned so as the callou shrinks it shrinks towards that corner.\n */\nfunction _finalizeElementPosition(elementRectangle, hostElement, targetEdge, bounds, alignmentEdge, coverTarget, doNotFinalizeReturnEdge) {\n var returnValue = {};\n var hostRect = _getRectangleFromElement(hostElement);\n var elementEdge = coverTarget ? targetEdge : targetEdge * -1;\n var elementEdgeString = RectangleEdge[elementEdge];\n var returnEdge = alignmentEdge ? alignmentEdge : _getFlankingEdges(targetEdge).positiveEdge;\n if (!doNotFinalizeReturnEdge) {\n returnEdge = _finalizeReturnEdge(elementRectangle, returnEdge, bounds);\n }\n returnValue[elementEdgeString] = _getRelativeEdgeDifference(elementRectangle, hostRect, elementEdge);\n returnValue[RectangleEdge[returnEdge]] = _getRelativeEdgeDifference(elementRectangle, hostRect, returnEdge);\n return returnValue;\n}\n// Since the beak is rotated 45 degrees the actual height/width is the length of the diagonal.\n// We still want to position the beak based on it's midpoint which does not change. It will\n// be at (beakwidth / 2, beakwidth / 2)\nfunction _calculateActualBeakWidthInPixels(beakWidth) {\n return Math.sqrt(beakWidth * beakWidth * 2);\n}\n/**\n * Returns the appropriate IPositionData based on the props altered for RTL.\n * If directionalHintForRTL is passed in that is used if the page is RTL.\n * If directionalHint is specified, no directionalHintForRTL is available, and the page is RTL, the hint will be\n * flipped (e.g. bottomLeftEdge would become bottomRightEdge).\n *\n * If there is no directionalHint passed in, bottomAutoEdge is chosen automatically.\n */\nfunction _getPositionData(directionalHint, directionalHintForRTL, previousPositions) {\n if (directionalHint === void 0) { directionalHint = DirectionalHint.bottomAutoEdge; }\n if (previousPositions) {\n return {\n alignmentEdge: previousPositions.alignmentEdge,\n isAuto: previousPositions.isAuto,\n targetEdge: previousPositions.targetEdge,\n };\n }\n var positionInformation = __assign({}, DirectionalDictionary[directionalHint]);\n if (getRTL()) {\n // If alignment edge exists and that alignment edge is -2 or 2, right or left, then flip it.\n if (positionInformation.alignmentEdge && positionInformation.alignmentEdge % 2 === 0) {\n positionInformation.alignmentEdge = positionInformation.alignmentEdge * -1;\n }\n return directionalHintForRTL !== undefined ? DirectionalDictionary[directionalHintForRTL] : positionInformation;\n }\n return positionInformation;\n}\n/**\n * Get's the alignment data for the given information. This only really matters if the positioning is Auto.\n * If it is auto then the alignmentEdge should be chosen based on the target edge's position relative to\n * the center of the page.\n */\nfunction _getAlignmentData(positionData, target, boundingRect, coverTarget, alignTargetEdge) {\n if (positionData.isAuto) {\n positionData.alignmentEdge = getClosestEdge(positionData.targetEdge, target, boundingRect);\n }\n positionData.alignTargetEdge = alignTargetEdge;\n return positionData;\n}\nfunction getClosestEdge(targetEdge, target, boundingRect) {\n var targetCenter = _getCenterValue(target, targetEdge);\n var boundingCenter = _getCenterValue(boundingRect, targetEdge);\n var _a = _getFlankingEdges(targetEdge), positiveEdge = _a.positiveEdge, negativeEdge = _a.negativeEdge;\n if (targetCenter <= boundingCenter) {\n return positiveEdge;\n }\n else {\n return negativeEdge;\n }\n}\nfunction _positionElementWithinBounds(elementToPosition, target, bounding, positionData, gap, directionalHintFixed, coverTarget) {\n var estimatedElementPosition = _estimatePosition(elementToPosition, target, positionData, gap, coverTarget);\n if (_isRectangleWithinBounds(estimatedElementPosition, bounding)) {\n return {\n elementRectangle: estimatedElementPosition,\n targetEdge: positionData.targetEdge,\n alignmentEdge: positionData.alignmentEdge,\n };\n }\n else {\n return _adjustFitWithinBounds(elementToPosition, target, bounding, positionData, gap, directionalHintFixed, coverTarget);\n }\n}\nfunction _finalizeBeakPosition(elementPosition, positionedBeak, bounds) {\n var targetEdge = elementPosition.targetEdge * -1;\n // The \"host\" element that we will use to help position the beak.\n var actualElement = new Rectangle(0, elementPosition.elementRectangle.width, 0, elementPosition.elementRectangle.height);\n var returnValue = {};\n var returnEdge = _finalizeReturnEdge(elementPosition.elementRectangle, elementPosition.alignmentEdge ? elementPosition.alignmentEdge : _getFlankingEdges(targetEdge).positiveEdge, bounds);\n returnValue[RectangleEdge[targetEdge]] = _getEdgeValue(positionedBeak, targetEdge);\n returnValue[RectangleEdge[returnEdge]] = _getRelativeEdgeDifference(positionedBeak, actualElement, returnEdge);\n return {\n elementPosition: __assign({}, returnValue),\n closestEdge: getClosestEdge(elementPosition.targetEdge, positionedBeak, actualElement),\n targetEdge: targetEdge,\n };\n}\nfunction _positionBeak(beakWidth, elementPosition) {\n var target = elementPosition.targetRectangle;\n /**\n * Note about beak positioning: The actual beak width only matters for getting the gap between the callout and\n * target, it does not impact the beak placement within the callout. For example example, if the beakWidth is 8,\n * then the actual beakWidth is sqrroot(8^2 + 8^2) = 11.31x11.31. So the callout will need to be an extra 3 pixels\n * away from its target. While the beak is being positioned in the callout it still acts as though it were 8x8.\n */\n var _a = _getFlankingEdges(elementPosition.targetEdge), positiveEdge = _a.positiveEdge, negativeEdge = _a.negativeEdge;\n var beakTargetPoint = _getCenterValue(target, elementPosition.targetEdge);\n var elementBounds = new Rectangle(beakWidth / 2, elementPosition.elementRectangle.width - beakWidth / 2, beakWidth / 2, elementPosition.elementRectangle.height - beakWidth / 2);\n var beakPosition = new Rectangle(0, beakWidth, 0, beakWidth);\n beakPosition = _moveEdge(beakPosition, elementPosition.targetEdge * -1, -beakWidth / 2);\n beakPosition = _centerEdgeToPoint(beakPosition, elementPosition.targetEdge * -1, beakTargetPoint - _getRelativeRectEdgeValue(positiveEdge, elementPosition.elementRectangle));\n if (!_isEdgeInBounds(beakPosition, elementBounds, positiveEdge)) {\n beakPosition = _alignEdges(beakPosition, elementBounds, positiveEdge);\n }\n else if (!_isEdgeInBounds(beakPosition, elementBounds, negativeEdge)) {\n beakPosition = _alignEdges(beakPosition, elementBounds, negativeEdge);\n }\n return beakPosition;\n}\nfunction _getRectangleFromElement(element) {\n var clientRect = element.getBoundingClientRect();\n return new Rectangle(clientRect.left, clientRect.right, clientRect.top, clientRect.bottom);\n}\nfunction _getRectangleFromIRect(rect) {\n return new Rectangle(rect.left, rect.right, rect.top, rect.bottom);\n}\nfunction _getTargetRect(bounds, target) {\n var targetRectangle;\n if (target) {\n // eslint-disable-next-line no-extra-boolean-cast\n if (!!target.preventDefault) {\n var ev = target;\n targetRectangle = new Rectangle(ev.clientX, ev.clientX, ev.clientY, ev.clientY);\n // eslint-disable-next-line no-extra-boolean-cast\n }\n else if (!!target.getBoundingClientRect) {\n targetRectangle = _getRectangleFromElement(target);\n // HTMLImgElements can have x and y values. The check for it being a point must go last.\n }\n else {\n var rectOrPoint = target;\n // eslint-disable-next-line deprecation/deprecation\n var left = rectOrPoint.left || rectOrPoint.x;\n // eslint-disable-next-line deprecation/deprecation\n var top_1 = rectOrPoint.top || rectOrPoint.y;\n var right = rectOrPoint.right || left;\n var bottom = rectOrPoint.bottom || top_1;\n targetRectangle = new Rectangle(left, right, top_1, bottom);\n }\n if (!_isRectangleWithinBounds(targetRectangle, bounds)) {\n var outOfBounds = _getOutOfBoundsEdges(targetRectangle, bounds);\n for (var _i = 0, outOfBounds_1 = outOfBounds; _i < outOfBounds_1.length; _i++) {\n var direction = outOfBounds_1[_i];\n targetRectangle[RectangleEdge[direction]] = bounds[RectangleEdge[direction]];\n }\n }\n }\n else {\n targetRectangle = new Rectangle(0, 0, 0, 0);\n }\n return targetRectangle;\n}\n/**\n * If max height is less than zero it returns the bounds height instead.\n */\nfunction _getMaxHeightFromTargetRectangle(targetRectangle, targetEdge, gapSpace, bounds, coverTarget) {\n var maxHeight = 0;\n var directionalHint = DirectionalDictionary[targetEdge];\n // If cover target is set, then the max height should be calculated using the opposite of the target edge since\n // that's the direction that the callout will expand in.\n // For instance, if the directionalhint is bottomLeftEdge then the callout will position so it's bottom edge\n // is aligned with the bottom of the target and expand up towards the top of the screen and the calculated max height\n // is (bottom of target) - (top of screen) - gapSpace.\n var target = coverTarget ? directionalHint.targetEdge * -1 : directionalHint.targetEdge;\n if (target === RectangleEdge.top) {\n maxHeight = _getEdgeValue(targetRectangle, directionalHint.targetEdge) - bounds.top - gapSpace;\n }\n else if (target === RectangleEdge.bottom) {\n maxHeight = bounds.bottom - _getEdgeValue(targetRectangle, directionalHint.targetEdge) - gapSpace;\n }\n else {\n maxHeight = bounds.bottom - targetRectangle.top - gapSpace;\n }\n return maxHeight > 0 ? maxHeight : bounds.height;\n}\nfunction _positionElementRelative(props, elementToPosition, boundingRect, previousPositions) {\n var gap = props.gapSpace ? props.gapSpace : 0;\n var targetRect = _getTargetRect(boundingRect, props.target);\n var positionData = _getAlignmentData(_getPositionData(props.directionalHint, props.directionalHintForRTL, previousPositions), targetRect, boundingRect, props.coverTarget, props.alignTargetEdge);\n var positionedElement = _positionElementWithinBounds(_getRectangleFromElement(elementToPosition), targetRect, boundingRect, positionData, gap, props.directionalHintFixed, props.coverTarget);\n return __assign(__assign({}, positionedElement), { targetRectangle: targetRect });\n}\nfunction _finalizePositionData(positionedElement, hostElement, bounds, coverTarget, doNotFinalizeReturnEdge) {\n var finalizedElement = _finalizeElementPosition(positionedElement.elementRectangle, hostElement, positionedElement.targetEdge, bounds, positionedElement.alignmentEdge, coverTarget, doNotFinalizeReturnEdge);\n return {\n elementPosition: finalizedElement,\n targetEdge: positionedElement.targetEdge,\n alignmentEdge: positionedElement.alignmentEdge,\n };\n}\nfunction _positionElement(props, hostElement, elementToPosition, previousPositions) {\n var boundingRect = props.bounds\n ? _getRectangleFromIRect(props.bounds)\n : new Rectangle(0, window.innerWidth - getScrollbarWidth(), 0, window.innerHeight);\n var positionedElement = _positionElementRelative(props, elementToPosition, boundingRect, previousPositions);\n return _finalizePositionData(positionedElement, hostElement, boundingRect, props.coverTarget);\n}\nfunction _positionCallout(props, hostElement, callout, previousPositions, doNotFinalizeReturnEdge) {\n var beakWidth = props.isBeakVisible ? props.beakWidth || 0 : 0;\n var gap = _calculateActualBeakWidthInPixels(beakWidth) / 2 + (props.gapSpace ? props.gapSpace : 0);\n var positionProps = props;\n positionProps.gapSpace = gap;\n var boundingRect = props.bounds\n ? _getRectangleFromIRect(props.bounds)\n : new Rectangle(0, window.innerWidth - getScrollbarWidth(), 0, window.innerHeight);\n var positionedElement = _positionElementRelative(positionProps, callout, boundingRect, previousPositions);\n var beakPositioned = _positionBeak(beakWidth, positionedElement);\n var finalizedBeakPosition = _finalizeBeakPosition(positionedElement, beakPositioned, boundingRect);\n return __assign(__assign({}, _finalizePositionData(positionedElement, hostElement, boundingRect, props.coverTarget, doNotFinalizeReturnEdge)), { beakPosition: finalizedBeakPosition });\n}\nfunction _positionCard(props, hostElement, callout, previousPositions) {\n return _positionCallout(props, hostElement, callout, previousPositions, true);\n}\n// END PRIVATE FUNCTIONS\nexport var __positioningTestPackage = {\n _finalizePositionData: _finalizePositionData,\n _finalizeBeakPosition: _finalizeBeakPosition,\n _calculateActualBeakWidthInPixels: _calculateActualBeakWidthInPixels,\n _positionElementWithinBounds: _positionElementWithinBounds,\n _positionBeak: _positionBeak,\n _getPositionData: _getPositionData,\n _getMaxHeightFromTargetRectangle: _getMaxHeightFromTargetRectangle,\n};\n/**\n * Used to position an element relative to the given positioning props.\n * If positioning has been completed before, previousPositions can be passed to ensure that the positioning element\n * repositions based on its previous targets rather than starting with directionalhint.\n */\nexport function positionElement(props, hostElement, elementToPosition, previousPositions) {\n return _positionElement(props, hostElement, elementToPosition, previousPositions);\n}\nexport function positionCallout(props, hostElement, elementToPosition, previousPositions) {\n return _positionCallout(props, hostElement, elementToPosition, previousPositions);\n}\nexport function positionCard(props, hostElement, elementToPosition, previousPositions) {\n return _positionCard(props, hostElement, elementToPosition, previousPositions);\n}\n/**\n * Gets the maximum height that a rectangle can have in order to fit below or above a target.\n * If the directional hint specifies a left or right edge (i.e. leftCenter) it will limit the height to the topBorder\n * of the target given.\n * If no bounds are provided then the window is treated as the bounds.\n */\nexport function getMaxHeight(target, targetEdge, gapSpace, bounds, coverTarget) {\n if (gapSpace === void 0) { gapSpace = 0; }\n var mouseTarget = target;\n var elementTarget = target;\n var rectOrPointTarget = target;\n var targetRect;\n var boundingRectangle = bounds\n ? _getRectangleFromIRect(bounds)\n : new Rectangle(0, window.innerWidth - getScrollbarWidth(), 0, window.innerHeight);\n // eslint-disable-next-line deprecation/deprecation\n var left = rectOrPointTarget.left || rectOrPointTarget.x;\n // eslint-disable-next-line deprecation/deprecation\n var top = rectOrPointTarget.top || rectOrPointTarget.y;\n var right = rectOrPointTarget.right || left;\n var bottom = rectOrPointTarget.bottom || top;\n // eslint-disable-next-line no-extra-boolean-cast -- may not actually be a MouseEvent\n if (!!mouseTarget.stopPropagation) {\n targetRect = new Rectangle(mouseTarget.clientX, mouseTarget.clientX, mouseTarget.clientY, mouseTarget.clientY);\n }\n else if (left !== undefined && top !== undefined) {\n targetRect = new Rectangle(left, right, top, bottom);\n }\n else {\n targetRect = _getRectangleFromElement(elementTarget);\n }\n return _getMaxHeightFromTargetRectangle(targetRect, targetEdge, gapSpace, boundingRectangle, coverTarget);\n}\n/**\n * Returns the opposite edge of the given RectangleEdge.\n */\nexport function getOppositeEdge(edge) {\n return edge * -1;\n}\nfunction _getBoundsFromTargetWindow(target, targetWindow) {\n var segments = undefined;\n if (targetWindow.getWindowSegments) {\n segments = targetWindow.getWindowSegments();\n }\n // Identify if we're dealing with single screen scenarios.\n if (segments === undefined || segments.length <= 1) {\n return {\n top: 0,\n left: 0,\n right: targetWindow.innerWidth,\n bottom: targetWindow.innerHeight,\n width: targetWindow.innerWidth,\n height: targetWindow.innerHeight,\n };\n }\n // Logic for determining dual screen scenarios.\n var x = 0;\n var y = 0;\n // If the target is an Element get coordinates for its center.\n if (target !== null && !!target.getBoundingClientRect) {\n var clientRect = target.getBoundingClientRect();\n x = (clientRect.left + clientRect.right) / 2;\n y = (clientRect.top + clientRect.bottom) / 2;\n }\n // If the target is not null get x-axis and y-axis coordinates directly.\n else if (target !== null) {\n // eslint-disable-next-line deprecation/deprecation\n x = target.left || target.x;\n // eslint-disable-next-line deprecation/deprecation\n y = target.top || target.y;\n }\n var bounds = { top: 0, left: 0, right: 0, bottom: 0, width: 0, height: 0 };\n // Define which window segment are the coordinates in and calculate bounds based on that.\n for (var _i = 0, segments_1 = segments; _i < segments_1.length; _i++) {\n var segment = segments_1[_i];\n if (x && segment.left <= x && segment.right >= x && y && segment.top <= y && segment.bottom >= y) {\n bounds = {\n top: segment.top,\n left: segment.left,\n right: segment.right,\n bottom: segment.bottom,\n width: segment.width,\n height: segment.height,\n };\n }\n }\n return bounds;\n}\nexport function getBoundsFromTargetWindow(target, targetWindow) {\n return _getBoundsFromTargetWindow(target, targetWindow);\n}\n//# sourceMappingURL=positioning.js.map","import * as React from 'react';\n/**\n * Hook to initialize and return a constant value. Unlike `React.useMemo`, this is guaranteed to\n * always return the same value (and if the initializer is a function, only call it once).\n * This is similar to setting a private member in a class constructor.\n *\n * If the value should ever change based on dependencies, use `React.useMemo` instead.\n *\n * @param initialValue - Initial value, or function to get the initial value. Similar to `useState`,\n * only the value/function passed in the first time this is called is respected.\n * @returns The value. The identity of this value will always be the same.\n */\nexport function useConst(initialValue) {\n // Use useRef to store the value because it's the least expensive built-in hook that works here\n // (we could also use `const [value] = React.useState(initialValue)` but that's more expensive\n // internally due to reducer handling which we don't need)\n var ref = React.useRef();\n if (ref.current === undefined) {\n // Box the value in an object so we can tell if it's initialized even if the initializer\n // returns/is undefined\n ref.current = {\n value: typeof initialValue === 'function' ? initialValue() : initialValue,\n };\n }\n return ref.current.value;\n}\n//# sourceMappingURL=useConst.js.map","import { Async } from '@fluentui/utilities';\nimport * as React from 'react';\nimport { useConst } from './useConst';\n/**\n * Hook to provide an Async instance that is automatically cleaned up on dismount.\n */\nexport function useAsync() {\n var async = useConst(function () { return new Async(); });\n // Function that returns a function in order to dispose the async instance on unmount\n React.useEffect(function () { return function () { return async.dispose(); }; }, [async]);\n return async;\n}\n//# sourceMappingURL=useAsync.js.map","import * as React from 'react';\nimport { getId } from '@fluentui/utilities/lib/getId';\n/**\n * Hook to generate a unique ID in the global scope (spanning across duplicate copies of the same library).\n *\n * @param prefix - Optional prefix for the ID\n * @param providedId - Optional id provided by a parent component. Defaults to the provided value if present,\n * without conditioning the hook call\n * @returns The ID\n */\nexport function useId(prefix, providedId) {\n // getId should only be called once since it updates the global constant for the next ID value.\n // (While an extra update isn't likely to cause problems in practice, it's better to avoid it.)\n var ref = React.useRef(providedId);\n if (!ref.current) {\n ref.current = getId(prefix);\n }\n return ref.current;\n}\n//# sourceMappingURL=useId.js.map","import { __spreadArrays } from \"tslib\";\nimport * as React from 'react';\n/**\n * React hook to merge multiple React refs (either MutableRefObjects or ref callbacks) into a single ref callback that\n * updates all provided refs\n * @param refs - Refs to collectively update with one ref value.\n * @returns A function with an attached \"current\" prop, so that it can be treated like a RefObject.\n */\nexport function useMergedRefs() {\n var refs = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n refs[_i] = arguments[_i];\n }\n var mergedCallback = React.useCallback(function (value) {\n // Update the \"current\" prop hanging on the function.\n mergedCallback.current = value;\n for (var _i = 0, refs_1 = refs; _i < refs_1.length; _i++) {\n var ref = refs_1[_i];\n if (typeof ref === 'function') {\n ref(value);\n }\n else if (ref) {\n // work around the immutability of the React.Ref type\n ref.current = value;\n }\n }\n }, __spreadArrays(refs));\n return mergedCallback;\n}\n//# sourceMappingURL=useMergedRefs.js.map","import { on } from '@fluentui/utilities';\nimport * as React from 'react';\n/**\n * Hook to attach an event handler on mount and handle cleanup.\n * @param element - Element (or ref to an element) to attach the event handler to\n * @param eventName - The event to attach a handler for\n * @param callback - The handler for the event\n * @param useCapture - Whether or not to attach the handler for the capture phase\n */\nexport function useOnEvent(element, eventName, callback, useCapture) {\n // Use a ref for the callback to prevent repeatedly attaching/unattaching callbacks that are unstable across renders\n var callbackRef = React.useRef(callback);\n callbackRef.current = callback;\n React.useEffect(function () {\n var actualElement = element && 'current' in element ? element.current : element;\n if (!actualElement) {\n return;\n }\n var dispose = on(actualElement, eventName, function (ev) { return callbackRef.current(ev); }, useCapture);\n return dispose;\n }, [element, eventName, useCapture]);\n}\n//# sourceMappingURL=useOnEvent.js.map","import { useRef, useEffect } from 'react';\n/**\n * Hook keeping track of a given value from a previous execution of the component the Hook is used in.\n *\n * See [React Hooks FAQ](https://reactjs.org/docs/hooks-faq.html#how-to-get-the-previous-props-or-state)\n */\nexport function usePrevious(value) {\n var ref = useRef();\n useEffect(function () {\n ref.current = value;\n });\n return ref.current;\n}\n//# sourceMappingURL=usePrevious.js.map","import * as React from 'react';\n/**\n * Context for providing the window.\n */\nexport var WindowContext = React.createContext({\n window: typeof window === 'object' ? window : undefined,\n});\n/**\n * Hook to access the window object. This can be overridden contextually using the `WindowProvider`.\n */\nexport var useWindow = function () { return React.useContext(WindowContext).window; };\n/**\n * Hook to access the document object. This can be overridden contextually using the `WindowProvider`.\n */\nexport var useDocument = function () { var _a; return (_a = React.useContext(WindowContext).window) === null || _a === void 0 ? void 0 : _a.document; };\n/**\n * Component to provide the window object contextually. This is useful when rendering content to an element\n * contained within a child window or iframe element, where event handlers and styling must be projected\n * to an alternative window or document.\n */\nexport var WindowProvider = function (props) {\n return React.createElement(WindowContext.Provider, { value: props }, props.children);\n};\n//# sourceMappingURL=WindowProvider.js.map","import * as React from 'react';\nimport { useConst } from './useConst';\n/**\n * Returns a wrapper function for `setTimeout` which automatically handles disposal.\n */\nexport var useSetTimeout = function () {\n var timeoutIds = useConst({});\n // Cleanup function.\n React.useEffect(function () { return function () {\n for (var _i = 0, _a = Object.keys(timeoutIds); _i < _a.length; _i++) {\n var id = _a[_i];\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n clearTimeout(id);\n }\n }; }, \n // useConst ensures this will never change, but react-hooks/exhaustive-deps doesn't know that\n [timeoutIds]);\n // Return wrapper which will auto cleanup.\n return useConst({\n setTimeout: function (func, duration) {\n var id = setTimeout(func, duration);\n timeoutIds[id] = 1;\n return id;\n },\n clearTimeout: function (id) {\n delete timeoutIds[id];\n clearTimeout(id);\n },\n });\n};\n//# sourceMappingURL=useSetTimeout.js.map","import { getDocument } from '@fluentui/utilities';\nimport * as React from 'react';\nimport { useWindow } from '@fluentui/react-window-provider';\n/**\n * Hook to calculate and cache the target element specified by the given target attribute,\n * as well as the target element's (or host element's) parent window\n * @param target- Target selector passed to the component as a property, describing the element that\n * the callout should target\n * @param hostElement- The callout's host element, used for determining the parent window.\n */\nexport function useTarget(target, hostElement) {\n var previousTargetProp = React.useRef();\n var targetRef = React.useRef(null);\n /**\n * Stores an instance of Window, used to check\n * for server side rendering and if focus was lost.\n */\n var targetWindow = useWindow();\n // If the target element changed, find the new one. If we are tracking\n // target with class name, always find element because we do not know if\n // fabric has rendered a new element and disposed the old element.\n if (!target || target !== previousTargetProp.current || typeof target === 'string') {\n var currentElement = hostElement === null || hostElement === void 0 ? void 0 : hostElement.current;\n if (target) {\n if (typeof target === 'string') {\n var currentDoc = getDocument(currentElement);\n targetRef.current = currentDoc ? currentDoc.querySelector(target) : null;\n }\n else if ('stopPropagation' in target) {\n targetRef.current = target;\n }\n else if ('getBoundingClientRect' in target) {\n targetRef.current = target;\n }\n else if ('current' in target) {\n targetRef.current = target.current;\n }\n else {\n targetRef.current = target;\n }\n }\n previousTargetProp.current = target;\n }\n return [targetRef, targetWindow];\n}\n//# sourceMappingURL=useTarget.js.map","import { __assign } from \"tslib\";\nimport * as React from 'react';\nimport { KeyCodes, divProperties, doesElementContainFocus, getDocument, getNativeProps, getWindow, } from '../../Utilities';\nimport { useMergedRefs, useAsync, useOnEvent } from '@fluentui/react-hooks';\nimport { useWindow } from '@fluentui/react-window-provider';\nfunction useScrollbarAsync(props, root) {\n var async = useAsync();\n var _a = React.useState(false), needsVerticalScrollBarState = _a[0], setNeedsVerticalScrollBar = _a[1];\n React.useEffect(function () {\n async.requestAnimationFrame(function () {\n var _a;\n // If overflowY is overridden, don't waste time calculating whether the scrollbar is necessary.\n if (props.style && props.style.overflowY) {\n return;\n }\n var needsVerticalScrollBar = false;\n if (root && root.current && ((_a = root.current) === null || _a === void 0 ? void 0 : _a.firstElementChild)) {\n // ClientHeight returns the client height of an element rounded to an\n // integer. On some browsers at different zoom levels this rounding\n // can generate different results for the root container and child even\n // though they are the same height. This causes us to show a scroll bar\n // when not needed. Ideally we would use BoundingClientRect().height\n // instead however seems that the API is 90% slower than using ClientHeight.\n // Therefore instead we will calculate the difference between heights and\n // allow for a 1px difference to still be considered ok and not show the\n // scroll bar.\n var rootHeight = root.current.clientHeight;\n var firstChildHeight = root.current.firstElementChild.clientHeight;\n if (rootHeight > 0 && firstChildHeight > rootHeight) {\n needsVerticalScrollBar = firstChildHeight - rootHeight > 1;\n }\n }\n if (needsVerticalScrollBarState !== needsVerticalScrollBar) {\n setNeedsVerticalScrollBar(needsVerticalScrollBar);\n }\n });\n return function () { return async.dispose(); };\n });\n return needsVerticalScrollBarState;\n}\nfunction defaultFocusRestorer(options) {\n var originalElement = options.originalElement, containsFocus = options.containsFocus;\n if (originalElement && containsFocus && originalElement !== getWindow()) {\n // Make sure that the focus method actually exists\n // In some cases the object might exist but not be a real element.\n // This is primarily for IE 11 and should be removed once IE 11 is no longer in use.\n // This is wrapped in a setTimeout because of a React 16 bug that is resolved in 17.\n // Once we move to 17, the setTimeout should be removed (ref: https://github.com/facebook/react/issues/17894#issuecomment-656094405)\n setTimeout(function () {\n var _a;\n (_a = originalElement.focus) === null || _a === void 0 ? void 0 : _a.call(originalElement);\n }, 0);\n }\n}\nfunction useRestoreFocus(props, root) {\n var _a = props.onRestoreFocus, onRestoreFocus = _a === void 0 ? defaultFocusRestorer : _a;\n var originalFocusedElement = React.useRef();\n var containsFocus = React.useRef(false);\n React.useEffect(function () {\n originalFocusedElement.current = getDocument().activeElement;\n if (doesElementContainFocus(root.current)) {\n containsFocus.current = true;\n }\n return function () {\n var _a;\n onRestoreFocus === null || onRestoreFocus === void 0 ? void 0 : onRestoreFocus({\n originalElement: originalFocusedElement.current,\n containsFocus: containsFocus.current,\n documentContainsFocus: ((_a = getDocument()) === null || _a === void 0 ? void 0 : _a.hasFocus()) || false,\n });\n // De-reference DOM Node to avoid retainment via transpiled closure of _onKeyDown\n originalFocusedElement.current = undefined;\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps -- should only run on first render\n }, []);\n useOnEvent(root, 'focus', React.useCallback(function () {\n containsFocus.current = true;\n }, []), true);\n useOnEvent(root, 'blur', React.useCallback(function (ev) {\n /** The popup should update this._containsFocus when:\n * relatedTarget exists AND\n * the relatedTarget is not contained within the popup.\n * If the relatedTarget is within the popup, that means the popup still has focus\n * and focused moved from one element to another within the popup.\n * If relatedTarget is undefined or null that usually means that a\n * keyboard event occurred and focus didn't change\n */\n if (root.current && ev.relatedTarget && !root.current.contains(ev.relatedTarget)) {\n containsFocus.current = false;\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps -- should only run on first render\n }, []), true);\n}\nfunction useHideSiblingNodes(props) {\n var isModalOrPanel = props['aria-modal'];\n React.useEffect(function () {\n var targetDocument = getDocument();\n if (isModalOrPanel && targetDocument) {\n var children = targetDocument.body.children;\n var nodesToHide_1 = [];\n for (var i = 0; i < children.length - 1; i++) {\n nodesToHide_1.push(children[i]);\n }\n nodesToHide_1 = nodesToHide_1.filter(function (child) {\n return child.tagName !== 'TEMPLATE' &&\n child.tagName !== 'SCRIPT' &&\n child.tagName !== 'STYLE' &&\n !child.hasAttribute('aria-hidden');\n });\n nodesToHide_1.forEach(function (node) { return node.setAttribute('aria-hidden', 'true'); });\n return function () { return nodesToHide_1.forEach(function (child) { return child.removeAttribute('aria-hidden'); }); };\n }\n }, [isModalOrPanel]);\n}\n/**\n * This adds accessibility to Dialog and Panel controls\n */\nexport var Popup = React.forwardRef(function (props, forwardedRef) {\n // Default props\n // eslint-disable-next-line deprecation/deprecation\n props = __assign({ shouldRestoreFocus: true }, props);\n var root = React.useRef();\n var mergedRootRef = useMergedRefs(root, forwardedRef);\n useHideSiblingNodes(props);\n useRestoreFocus(props, root);\n var role = props.role, className = props.className, ariaLabel = props.ariaLabel, ariaLabelledBy = props.ariaLabelledBy, ariaDescribedBy = props.ariaDescribedBy, style = props.style, children = props.children, onDismiss = props.onDismiss;\n var needsVerticalScrollBar = useScrollbarAsync(props, root);\n var onKeyDown = React.useCallback(function (ev) {\n // eslint-disable-next-line deprecation/deprecation\n switch (ev.which) {\n case KeyCodes.escape:\n if (onDismiss) {\n onDismiss(ev);\n ev.preventDefault();\n ev.stopPropagation();\n }\n break;\n }\n }, [onDismiss]);\n var win = useWindow();\n useOnEvent(win, 'keydown', onKeyDown);\n return (React.createElement(\"div\", __assign({ ref: mergedRootRef }, getNativeProps(props, divProperties), { className: className, role: role, \"aria-label\": ariaLabel, \"aria-labelledby\": ariaLabelledBy, \"aria-describedby\": ariaDescribedBy, onKeyDown: onKeyDown, style: __assign({ overflowY: needsVerticalScrollBar ? 'scroll' : undefined, outline: 'none' }, style) }), children));\n});\n//# sourceMappingURL=Popup.js.map","var _a;\nimport { __assign } from \"tslib\";\nimport * as React from 'react';\nimport { DirectionalHint } from '../../common/DirectionalHint';\nimport { css, divProperties, elementContains, focusFirstChild, getNativeProps, on, shallowCompare, getPropsWithDefaults, } from '../../Utilities';\nimport { positionCallout, getMaxHeight, RectangleEdge, positionCard, getBoundsFromTargetWindow, } from '../../Positioning';\nimport { Popup } from '../../Popup';\nimport { classNamesFunction } from '../../Utilities';\nimport { AnimationClassNames } from '../../Styling';\nimport { useMergedRefs, useAsync, useConst, useTarget } from '@fluentui/react-hooks';\nvar ANIMATIONS = (_a = {},\n _a[RectangleEdge.top] = AnimationClassNames.slideUpIn10,\n _a[RectangleEdge.bottom] = AnimationClassNames.slideDownIn10,\n _a[RectangleEdge.left] = AnimationClassNames.slideLeftIn10,\n _a[RectangleEdge.right] = AnimationClassNames.slideRightIn10,\n _a);\nvar getClassNames = classNamesFunction({\n disableCaching: true,\n});\nvar BEAK_ORIGIN_POSITION = { top: 0, left: 0 };\n// Microsoft Edge will overwrite inline styles if there is an animation pertaining to that style.\n// To help ensure that edge will respect the offscreen style opacity\n// filter needs to be added as an additional way to set opacity.\n// Also set pointer-events: none so that the callout will not occlude the element it is\n// going to be positioned against\nvar OFF_SCREEN_STYLE = { opacity: 0, filter: 'opacity(0)', pointerEvents: 'none' };\n// role and role description go hand-in-hand. Both would be included by spreading getNativeProps for a basic element\n// This constant array can be used to filter these out of native props spread on callout root and apply them together on\n// calloutMain (the Popup component within the callout)\nvar ARIA_ROLE_ATTRIBUTES = ['role', 'aria-roledescription'];\nvar DEFAULT_PROPS = {\n preventDismissOnLostFocus: false,\n preventDismissOnScroll: false,\n preventDismissOnResize: false,\n isBeakVisible: true,\n beakWidth: 16,\n gapSpace: 0,\n minPagePadding: 8,\n directionalHint: DirectionalHint.bottomAutoEdge,\n};\n/**\n * Returns a function to lazily fetch the bounds of the target element for the callout\n */\nfunction useBounds(_a, targetRef, targetWindow) {\n var bounds = _a.bounds, _b = _a.minPagePadding, minPagePadding = _b === void 0 ? DEFAULT_PROPS.minPagePadding : _b, target = _a.target;\n var cachedBounds = React.useRef();\n var getBounds = React.useCallback(function () {\n if (!cachedBounds.current) {\n var currentBounds = typeof bounds === 'function' ? (targetWindow ? bounds(target, targetWindow) : undefined) : bounds;\n if (!currentBounds && targetWindow) {\n currentBounds = getBoundsFromTargetWindow(targetRef.current, targetWindow);\n currentBounds = {\n top: currentBounds.top + minPagePadding,\n left: currentBounds.left + minPagePadding,\n right: currentBounds.right - minPagePadding,\n bottom: currentBounds.bottom - minPagePadding,\n width: currentBounds.width - minPagePadding * 2,\n height: currentBounds.height - minPagePadding * 2,\n };\n }\n cachedBounds.current = currentBounds;\n }\n return cachedBounds.current;\n }, [bounds, minPagePadding, target, targetRef, targetWindow]);\n return getBounds;\n}\n/**\n * Returns the maximum available height for the Callout to render into\n */\nfunction useMaxHeight(_a, targetRef, getBounds) {\n var beakWidth = _a.beakWidth, coverTarget = _a.coverTarget, directionalHint = _a.directionalHint, directionalHintFixed = _a.directionalHintFixed, gapSpace = _a.gapSpace, isBeakVisible = _a.isBeakVisible, hidden = _a.hidden;\n var _b = React.useState(), maxHeight = _b[0], setMaxHeight = _b[1];\n var async = useAsync();\n // Updating targetRef won't re-render the component, but it's recalculated (if needed) with every render\n // If it mutates, we want to re-run the effect\n var currentTarget = targetRef.current;\n React.useEffect(function () {\n var _a;\n if (!maxHeight && !hidden) {\n if (directionalHintFixed && currentTarget) {\n // Since the callout cannot measure it's border size it must be taken into account here. Otherwise it will\n // overlap with the target.\n var totalGap_1 = (gapSpace !== null && gapSpace !== void 0 ? gapSpace : 0) + (isBeakVisible && beakWidth ? beakWidth : 0);\n async.requestAnimationFrame(function () {\n if (targetRef.current) {\n setMaxHeight(getMaxHeight(targetRef.current, directionalHint, totalGap_1, getBounds(), coverTarget));\n }\n });\n }\n else {\n setMaxHeight((_a = getBounds()) === null || _a === void 0 ? void 0 : _a.height);\n }\n }\n else if (hidden) {\n setMaxHeight(undefined);\n }\n }, [\n targetRef,\n currentTarget,\n gapSpace,\n beakWidth,\n getBounds,\n hidden,\n async,\n coverTarget,\n directionalHint,\n directionalHintFixed,\n isBeakVisible,\n maxHeight,\n ]);\n return maxHeight;\n}\n/**\n * Returns the height offset of the callout element and updates it each frame to approach the configured finalHeight\n */\nfunction useHeightOffset(_a, calloutElement) {\n var finalHeight = _a.finalHeight, hidden = _a.hidden;\n var _b = React.useState(0), heightOffset = _b[0], setHeightOffset = _b[1];\n var async = useAsync();\n var setHeightOffsetTimer = React.useRef();\n var setHeightOffsetEveryFrame = React.useCallback(function () {\n if (calloutElement.current && finalHeight) {\n setHeightOffsetTimer.current = async.requestAnimationFrame(function () {\n var _a;\n var calloutMainElem = (_a = calloutElement.current) === null || _a === void 0 ? void 0 : _a.lastChild;\n if (!calloutMainElem) {\n return;\n }\n var cardScrollHeight = calloutMainElem.scrollHeight;\n var cardCurrHeight = calloutMainElem.offsetHeight;\n var scrollDiff = cardScrollHeight - cardCurrHeight;\n setHeightOffset(function (currentHeightOffset) { return currentHeightOffset + scrollDiff; });\n if (calloutMainElem.offsetHeight < finalHeight) {\n setHeightOffsetEveryFrame();\n }\n else {\n async.cancelAnimationFrame(setHeightOffsetTimer.current, calloutElement.current);\n }\n }, calloutElement.current);\n }\n }, [async, calloutElement, finalHeight]);\n React.useEffect(function () {\n if (!hidden) {\n setHeightOffsetEveryFrame();\n }\n }, [finalHeight, hidden, setHeightOffsetEveryFrame]);\n return heightOffset;\n}\n/**\n * Get the position information for the callout. If the callout does not fit in the given orientation,\n * a new position is calculated for the next frame, up to 5 attempts\n */\nfunction usePositions(props, hostElement, calloutElement, targetRef, getBounds) {\n var _a = React.useState(), positions = _a[0], setPositions = _a[1];\n var positionAttempts = React.useRef(0);\n var async = useAsync();\n var hidden = props.hidden, target = props.target, finalHeight = props.finalHeight, onPositioned = props.onPositioned, directionalHint = props.directionalHint;\n React.useEffect(function () {\n if (!hidden) {\n var timerId_1 = async.requestAnimationFrame(function () {\n // If we expect a target element to position against, we need to wait until `targetRef.current`\n // is resolved. Otherwise we can try to position.\n var expectsTarget = !!target;\n if (hostElement.current && calloutElement.current && (!expectsTarget || targetRef.current)) {\n var currentProps = __assign(__assign({}, props), { target: targetRef.current, bounds: getBounds() });\n // If there is a finalHeight given then we assume that the user knows and will handle\n // additional positioning adjustments so we should call positionCard\n var newPositions = finalHeight\n ? positionCard(currentProps, hostElement.current, calloutElement.current, positions)\n : positionCallout(currentProps, hostElement.current, calloutElement.current, positions);\n // Set the new position only when the positions are not exists or one of the new callout positions\n // are different. The position should not change if the position is within 2 decimal places.\n if ((!positions && newPositions) ||\n (positions && newPositions && !arePositionsEqual(positions, newPositions) && positionAttempts.current < 5)) {\n // We should not reposition the callout more than a few times, if it is then the content is likely resizing\n // and we should stop trying to reposition to prevent a stack overflow.\n positionAttempts.current++;\n setPositions(newPositions);\n }\n else if (positionAttempts.current > 0) {\n // Only call the onPositioned callback if the callout has been re-positioned at least once.\n positionAttempts.current = 0;\n onPositioned === null || onPositioned === void 0 ? void 0 : onPositioned(positions);\n }\n }\n }, calloutElement.current);\n return function () { return async.cancelAnimationFrame(timerId_1); };\n }\n }, [\n hidden,\n directionalHint,\n async,\n calloutElement,\n hostElement,\n targetRef,\n finalHeight,\n getBounds,\n onPositioned,\n positions,\n props,\n target,\n ]);\n return positions;\n}\n/**\n * Hook to set up behavior to automatically focus the callout when it appears, if indicated by props.\n */\nfunction useAutoFocus(_a, positions, calloutElement) {\n var hidden = _a.hidden, setInitialFocus = _a.setInitialFocus;\n var async = useAsync();\n var hasPositions = !!positions;\n React.useEffect(function () {\n if (!hidden && setInitialFocus && hasPositions && calloutElement.current) {\n var timerId_2 = async.requestAnimationFrame(function () { return focusFirstChild(calloutElement.current); }, calloutElement.current);\n return function () { return async.cancelAnimationFrame(timerId_2); };\n }\n }, [hidden, hasPositions, async, calloutElement, setInitialFocus]);\n}\n/**\n * Hook to set up various handlers to dismiss the popup when it loses focus or the window scrolls or similar cases.\n */\nfunction useDismissHandlers(_a, positions, hostElement, targetRef, targetWindow) {\n var hidden = _a.hidden, onDismiss = _a.onDismiss, \n // eslint-disable-next-line deprecation/deprecation\n preventDismissOnScroll = _a.preventDismissOnScroll, \n // eslint-disable-next-line deprecation/deprecation\n preventDismissOnResize = _a.preventDismissOnResize, \n // eslint-disable-next-line deprecation/deprecation\n preventDismissOnLostFocus = _a.preventDismissOnLostFocus, dismissOnTargetClick = _a.dismissOnTargetClick, shouldDismissOnWindowFocus = _a.shouldDismissOnWindowFocus, preventDismissOnEvent = _a.preventDismissOnEvent;\n var isMouseDownOnPopup = React.useRef(false);\n var async = useAsync();\n var mouseDownHandlers = useConst([\n function () {\n isMouseDownOnPopup.current = true;\n },\n function () {\n isMouseDownOnPopup.current = false;\n },\n ]);\n var positionsExists = !!positions;\n React.useEffect(function () {\n var dismissOnScroll = function (ev) {\n if (positionsExists && !preventDismissOnScroll) {\n dismissOnClickOrScroll(ev);\n }\n };\n var dismissOnResize = function (ev) {\n if (!preventDismissOnResize) {\n onDismiss === null || onDismiss === void 0 ? void 0 : onDismiss(ev);\n }\n };\n var dismissOnLostFocus = function (ev) {\n if (!preventDismissOnLostFocus) {\n dismissOnClickOrScroll(ev);\n }\n };\n var dismissOnClickOrScroll = function (ev) {\n var target = ev.target;\n var isEventTargetOutsideCallout = hostElement.current && !elementContains(hostElement.current, target);\n // If mouse is pressed down on callout but moved outside then released, don't dismiss the callout.\n if (isEventTargetOutsideCallout && isMouseDownOnPopup.current) {\n isMouseDownOnPopup.current = false;\n return;\n }\n if ((!targetRef.current && isEventTargetOutsideCallout) ||\n (ev.target !== targetWindow &&\n isEventTargetOutsideCallout &&\n (!targetRef.current ||\n 'stopPropagation' in targetRef.current ||\n dismissOnTargetClick ||\n (target !== targetRef.current && !elementContains(targetRef.current, target))))) {\n onDismiss === null || onDismiss === void 0 ? void 0 : onDismiss(ev);\n }\n };\n var dismissOnTargetWindowBlur = function (ev) {\n // Do nothing\n if (!shouldDismissOnWindowFocus) {\n return;\n }\n if (((preventDismissOnEvent && !preventDismissOnEvent(ev)) ||\n (!preventDismissOnEvent && !preventDismissOnLostFocus)) &&\n !(targetWindow === null || targetWindow === void 0 ? void 0 : targetWindow.document.hasFocus()) &&\n ev.relatedTarget === null) {\n onDismiss === null || onDismiss === void 0 ? void 0 : onDismiss(ev);\n }\n };\n // This is added so the callout will dismiss when the window is scrolled\n // but not when something inside the callout is scrolled. The delay seems\n // to be required to avoid React firing an async focus event in IE from\n // the target changing focus quickly prior to rendering the callout.\n var disposablesPromise = new Promise(function (resolve) {\n async.setTimeout(function () {\n if (!hidden && targetWindow) {\n var disposables_1 = [\n on(targetWindow, 'scroll', dismissOnScroll, true),\n on(targetWindow, 'resize', dismissOnResize, true),\n on(targetWindow.document.documentElement, 'focus', dismissOnLostFocus, true),\n on(targetWindow.document.documentElement, 'click', dismissOnLostFocus, true),\n on(targetWindow, 'blur', dismissOnTargetWindowBlur, true),\n ];\n resolve(function () {\n disposables_1.forEach(function (dispose) { return dispose(); });\n });\n }\n }, 0);\n });\n return function () {\n disposablesPromise.then(function (dispose) { return dispose(); });\n };\n }, [\n hidden,\n async,\n hostElement,\n targetRef,\n targetWindow,\n onDismiss,\n shouldDismissOnWindowFocus,\n dismissOnTargetClick,\n preventDismissOnLostFocus,\n preventDismissOnResize,\n preventDismissOnScroll,\n positionsExists,\n preventDismissOnEvent,\n ]);\n return mouseDownHandlers;\n}\nvar COMPONENT_NAME = 'CalloutContentBase';\nexport var CalloutContentBase = React.memo(React.forwardRef(function (propsWithoutDefaults, forwardedRef) {\n var props = getPropsWithDefaults(DEFAULT_PROPS, propsWithoutDefaults);\n var styles = props.styles, style = props.style, ariaLabel = props.ariaLabel, ariaDescribedBy = props.ariaDescribedBy, ariaLabelledBy = props.ariaLabelledBy, className = props.className, isBeakVisible = props.isBeakVisible, children = props.children, beakWidth = props.beakWidth, calloutWidth = props.calloutWidth, calloutMaxWidth = props.calloutMaxWidth, calloutMinWidth = props.calloutMinWidth, finalHeight = props.finalHeight, _a = props.hideOverflow, hideOverflow = _a === void 0 ? !!finalHeight : _a, backgroundColor = props.backgroundColor, calloutMaxHeight = props.calloutMaxHeight, onScroll = props.onScroll, \n // eslint-disable-next-line deprecation/deprecation\n _b = props.shouldRestoreFocus, \n // eslint-disable-next-line deprecation/deprecation\n shouldRestoreFocus = _b === void 0 ? true : _b, target = props.target, hidden = props.hidden, onLayerMounted = props.onLayerMounted;\n var hostElement = React.useRef(null);\n var calloutElement = React.useRef(null);\n var rootRef = useMergedRefs(hostElement, forwardedRef);\n var _c = useTarget(props.target, calloutElement), targetRef = _c[0], targetWindow = _c[1];\n var getBounds = useBounds(props, targetRef, targetWindow);\n var maxHeight = useMaxHeight(props, targetRef, getBounds);\n var heightOffset = useHeightOffset(props, calloutElement);\n var positions = usePositions(props, hostElement, calloutElement, targetRef, getBounds);\n var _d = useDismissHandlers(props, positions, hostElement, targetRef, targetWindow), mouseDownOnPopup = _d[0], mouseUpOnPopup = _d[1];\n useAutoFocus(props, positions, calloutElement);\n React.useEffect(function () {\n if (!hidden) {\n onLayerMounted === null || onLayerMounted === void 0 ? void 0 : onLayerMounted();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps -- should only run if hidden changes\n }, [hidden]);\n // If there is no target window then we are likely in server side rendering and we should not render anything.\n if (!targetWindow) {\n return null;\n }\n var getContentMaxHeight = maxHeight ? maxHeight + heightOffset : undefined;\n var contentMaxHeight = calloutMaxHeight && getContentMaxHeight && calloutMaxHeight < getContentMaxHeight\n ? calloutMaxHeight\n : getContentMaxHeight;\n var overflowYHidden = hideOverflow;\n var beakVisible = isBeakVisible && !!target;\n var classNames = getClassNames(styles, {\n theme: props.theme,\n className: className,\n overflowYHidden: overflowYHidden,\n calloutWidth: calloutWidth,\n positions: positions,\n beakWidth: beakWidth,\n backgroundColor: backgroundColor,\n calloutMaxWidth: calloutMaxWidth,\n calloutMinWidth: calloutMinWidth,\n });\n var overflowStyle = __assign(__assign(__assign({}, style), { maxHeight: contentMaxHeight }), (overflowYHidden && { overflowY: 'hidden' }));\n var visibilityStyle = props.hidden ? { visibility: 'hidden' } : undefined;\n // React.CSSProperties does not understand IRawStyle, so the inline animations will need to be cast as any for now.\n var content = (React.createElement(\"div\", { ref: rootRef, className: classNames.container, style: visibilityStyle },\n React.createElement(\"div\", __assign({}, getNativeProps(props, divProperties, ARIA_ROLE_ATTRIBUTES), { className: css(classNames.root, positions && positions.targetEdge && ANIMATIONS[positions.targetEdge]), style: positions ? positions.elementPosition : OFF_SCREEN_STYLE, \n // Safari and Firefox on Mac OS requires this to back-stop click events so focus remains in the Callout.\n // See https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#Clicking_and_focus\n tabIndex: -1, ref: calloutElement }),\n beakVisible && React.createElement(\"div\", { className: classNames.beak, style: getBeakPosition(positions) }),\n beakVisible && React.createElement(\"div\", { className: classNames.beakCurtain }),\n React.createElement(Popup, __assign({}, getNativeProps(props, ARIA_ROLE_ATTRIBUTES), { ariaLabel: ariaLabel, onRestoreFocus: props.onRestoreFocus, ariaDescribedBy: ariaDescribedBy, ariaLabelledBy: ariaLabelledBy, className: classNames.calloutMain, onDismiss: props.onDismiss, onScroll: onScroll, shouldRestoreFocus: shouldRestoreFocus, style: overflowStyle, onMouseDown: mouseDownOnPopup, onMouseUp: mouseUpOnPopup }), children))));\n return content;\n}), function (previousProps, nextProps) {\n if (!nextProps.shouldUpdateWhenHidden && previousProps.hidden && nextProps.hidden) {\n // Do not update when hidden.\n return true;\n }\n return shallowCompare(previousProps, nextProps);\n});\nCalloutContentBase.displayName = COMPONENT_NAME;\nfunction getBeakPosition(positions) {\n var _a;\n var beakPositionStyle = __assign({}, (_a = positions === null || positions === void 0 ? void 0 : positions.beakPosition) === null || _a === void 0 ? void 0 : _a.elementPosition);\n if (!beakPositionStyle.top && !beakPositionStyle.bottom && !beakPositionStyle.left && !beakPositionStyle.right) {\n beakPositionStyle.left = BEAK_ORIGIN_POSITION.left;\n beakPositionStyle.top = BEAK_ORIGIN_POSITION.top;\n }\n return beakPositionStyle;\n}\nfunction arePositionsEqual(positions, newPosition) {\n return (comparePositions(positions.elementPosition, newPosition.elementPosition) &&\n comparePositions(positions.beakPosition.elementPosition, newPosition.beakPosition.elementPosition));\n}\nfunction comparePositions(oldPositions, newPositions) {\n for (var key in newPositions) {\n if (newPositions.hasOwnProperty(key)) {\n var oldPositionEdge = oldPositions[key];\n var newPositionEdge = newPositions[key];\n if (oldPositionEdge !== undefined && newPositionEdge !== undefined) {\n if (oldPositionEdge.toFixed(2) !== newPositionEdge.toFixed(2)) {\n return false;\n }\n }\n else {\n return false;\n }\n }\n }\n return true;\n}\n//# sourceMappingURL=CalloutContent.base.js.map","import { HighContrastSelector, focusClear, getGlobalClassNames } from '../../Styling';\nfunction getBeakStyle(beakWidth) {\n return {\n height: beakWidth,\n width: beakWidth,\n };\n}\nvar GlobalClassNames = {\n container: 'ms-Callout-container',\n root: 'ms-Callout',\n beak: 'ms-Callout-beak',\n beakCurtain: 'ms-Callout-beakCurtain',\n calloutMain: 'ms-Callout-main',\n};\nexport var getStyles = function (props) {\n var _a;\n var theme = props.theme, className = props.className, overflowYHidden = props.overflowYHidden, calloutWidth = props.calloutWidth, beakWidth = props.beakWidth, backgroundColor = props.backgroundColor, calloutMaxWidth = props.calloutMaxWidth, calloutMinWidth = props.calloutMinWidth;\n var classNames = getGlobalClassNames(GlobalClassNames, theme);\n var semanticColors = theme.semanticColors, effects = theme.effects;\n return {\n container: [\n classNames.container,\n {\n position: 'relative',\n },\n ],\n root: [\n classNames.root,\n theme.fonts.medium,\n {\n position: 'absolute',\n boxSizing: 'border-box',\n borderRadius: effects.roundedCorner2,\n boxShadow: effects.elevation16,\n selectors: (_a = {},\n _a[HighContrastSelector] = {\n borderWidth: 1,\n borderStyle: 'solid',\n borderColor: 'WindowText',\n },\n _a),\n },\n focusClear(),\n className,\n !!calloutWidth && { width: calloutWidth },\n !!calloutMaxWidth && { maxWidth: calloutMaxWidth },\n !!calloutMinWidth && { minWidth: calloutMinWidth },\n ],\n beak: [\n classNames.beak,\n {\n position: 'absolute',\n backgroundColor: semanticColors.menuBackground,\n boxShadow: 'inherit',\n border: 'inherit',\n boxSizing: 'border-box',\n transform: 'rotate(45deg)',\n },\n getBeakStyle(beakWidth),\n backgroundColor && {\n backgroundColor: backgroundColor,\n },\n ],\n beakCurtain: [\n classNames.beakCurtain,\n {\n position: 'absolute',\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n backgroundColor: semanticColors.menuBackground,\n borderRadius: effects.roundedCorner2,\n },\n ],\n calloutMain: [\n classNames.calloutMain,\n {\n backgroundColor: semanticColors.menuBackground,\n overflowX: 'hidden',\n overflowY: 'auto',\n position: 'relative',\n borderRadius: effects.roundedCorner2,\n },\n overflowYHidden && {\n overflowY: 'hidden',\n },\n backgroundColor && {\n backgroundColor: backgroundColor,\n },\n ],\n };\n};\n//# sourceMappingURL=CalloutContent.styles.js.map","import { styled } from '../../Utilities';\nimport { CalloutContentBase } from './CalloutContent.base';\nimport { getStyles } from './CalloutContent.styles';\nexport var CalloutContent = styled(CalloutContentBase, getStyles, undefined, {\n scope: 'CalloutContent',\n});\n//# sourceMappingURL=CalloutContent.js.map","import { __assign } from \"tslib\";\nimport * as React from 'react';\nimport { getNativeProps, divProperties, classNamesFunction, getDocument, memoizeFunction, getRTL, Customizer, useFocusRects, } from '../../Utilities';\nimport { createTheme } from '../../Styling';\nimport { useMergedRefs } from '@fluentui/react-hooks';\nvar getClassNames = classNamesFunction();\nvar getFabricTheme = memoizeFunction(function (theme, isRTL) { return createTheme(__assign(__assign({}, theme), { rtl: isRTL })); });\nvar getDir = function (_a) {\n var theme = _a.theme, dir = _a.dir;\n var contextDir = getRTL(theme) ? 'rtl' : 'ltr';\n var pageDir = getRTL() ? 'rtl' : 'ltr';\n var componentDir = dir ? dir : contextDir;\n return {\n // If Fabric dir !== contextDir\n // Or If contextDir !== pageDir\n // Then we need to set dir of the Fabric root\n rootDir: componentDir !== contextDir || componentDir !== pageDir ? componentDir : dir,\n // If dir !== contextDir || pageDir\n // then set contextual theme around content\n needsTheme: componentDir !== contextDir,\n };\n};\nexport var FabricBase = React.forwardRef(function (props, ref) {\n var className = props.className, theme = props.theme, applyTheme = props.applyTheme, applyThemeToBody = props.applyThemeToBody, styles = props.styles;\n var classNames = getClassNames(styles, {\n theme: theme,\n applyTheme: applyTheme,\n className: className,\n });\n var rootElement = React.useRef(null);\n useApplyThemeToBody(applyThemeToBody, classNames, rootElement);\n useFocusRects(rootElement);\n return React.createElement(React.Fragment, null, useRenderedContent(props, classNames, rootElement, ref));\n});\nFabricBase.displayName = 'FabricBase';\nfunction useRenderedContent(props, _a, rootElement, ref) {\n var root = _a.root;\n var _b = props.as, Root = _b === void 0 ? 'div' : _b, dir = props.dir, theme = props.theme;\n var divProps = getNativeProps(props, divProperties, ['dir']);\n var _c = getDir(props), rootDir = _c.rootDir, needsTheme = _c.needsTheme;\n var renderedContent = React.createElement(Root, __assign({ dir: rootDir }, divProps, { className: root, ref: useMergedRefs(rootElement, ref) }));\n // Create the contextual theme if component direction does not match parent direction.\n if (needsTheme) {\n // Disabling ThemeProvider here because theme doesn't need to be re-provided by ThemeProvider if dir has changed.\n renderedContent = (\n // eslint-disable-next-line deprecation/deprecation\n React.createElement(Customizer, { settings: { theme: getFabricTheme(theme, dir === 'rtl') } }, renderedContent));\n }\n return renderedContent;\n}\nfunction useApplyThemeToBody(applyThemeToBody, _a, rootElement) {\n var bodyThemed = _a.bodyThemed;\n React.useEffect(function () {\n if (applyThemeToBody) {\n var currentDoc_1 = getDocument(rootElement.current);\n if (currentDoc_1) {\n currentDoc_1.body.classList.add(bodyThemed);\n return function () {\n currentDoc_1.body.classList.remove(bodyThemed);\n };\n }\n }\n }, [bodyThemed, applyThemeToBody, rootElement]);\n return rootElement;\n}\n//# sourceMappingURL=Fabric.base.js.map","import { getGlobalClassNames } from '../../Styling';\nvar inheritFont = { fontFamily: 'inherit' };\nvar GlobalClassNames = {\n root: 'ms-Fabric',\n bodyThemed: 'ms-Fabric-bodyThemed',\n};\nexport var getStyles = function (props) {\n var theme = props.theme, className = props.className, applyTheme = props.applyTheme;\n var classNames = getGlobalClassNames(GlobalClassNames, theme);\n return {\n root: [\n classNames.root,\n theme.fonts.medium,\n {\n color: theme.palette.neutralPrimary,\n selectors: {\n '& button': inheritFont,\n '& input': inheritFont,\n '& textarea': inheritFont,\n },\n },\n // apply theme to only if applyTheme is true\n applyTheme && {\n color: theme.semanticColors.bodyText,\n backgroundColor: theme.semanticColors.bodyBackground,\n },\n className,\n ],\n bodyThemed: [\n {\n backgroundColor: theme.semanticColors.bodyBackground,\n },\n ],\n };\n};\n//# sourceMappingURL=Fabric.styles.js.map","import { styled } from '../../Utilities';\nimport { FabricBase } from './Fabric.base';\nimport { getStyles } from './Fabric.styles';\n/**\n * @deprecated This component is deprecated as of `@fluentui/react` version 8. Use `ThemeProvider` instead.\n */\nexport var Fabric = styled(FabricBase, getStyles, undefined, {\n scope: 'Fabric',\n});\n//# sourceMappingURL=Fabric.js.map","var _layersByHostId = {};\nvar _defaultHostSelector;\n/**\n * Register a layer for a given host id\n * @param hostId Id of the layer host\n * @param layer Layer instance\n */\nexport function registerLayer(hostId, callback) {\n if (!_layersByHostId[hostId]) {\n _layersByHostId[hostId] = [];\n }\n _layersByHostId[hostId].push(callback);\n}\n/**\n * Unregister a layer for a given host id\n * @param hostId Id of the layer host\n * @param layer Layer instance\n */\nexport function unregisterLayer(hostId, callback) {\n if (_layersByHostId[hostId]) {\n var idx = _layersByHostId[hostId].indexOf(callback);\n if (idx >= 0) {\n _layersByHostId[hostId].splice(idx, 1);\n if (_layersByHostId[hostId].length === 0) {\n delete _layersByHostId[hostId];\n }\n }\n }\n}\n/**\n * Used for notifying applicable Layers that a host is available/unavailable and to re-evaluate Layers that\n * care about the specific host.\n */\nexport function notifyHostChanged(id) {\n if (_layersByHostId[id]) {\n _layersByHostId[id].forEach(function (callback) { return callback(); });\n }\n}\n/**\n * Sets the default target selector to use when determining the host in which\n * Layered content will be injected into. If not provided, an element will be\n * created at the end of the document body.\n *\n * Passing in a falsy value will clear the default target and reset back to\n * using a created element at the end of document body.\n */\nexport function setDefaultTarget(selector) {\n _defaultHostSelector = selector;\n}\n/**\n * Get the default target selector when determining a host\n */\nexport function getDefaultTarget() {\n return _defaultHostSelector;\n}\n//# sourceMappingURL=Layer.notification.js.map","import { __assign } from \"tslib\";\nimport * as React from 'react';\nimport * as ReactDOM from 'react-dom';\nimport { Fabric } from '../../Fabric';\nimport { classNamesFunction, setPortalAttribute, setVirtualParent } from '../../Utilities';\nimport { registerLayer, getDefaultTarget, unregisterLayer } from './Layer.notification';\nimport { useMergedRefs, useWarnings } from '@fluentui/react-hooks';\nimport { useDocument } from '../../WindowProvider';\nvar getClassNames = classNamesFunction();\nexport var LayerBase = React.forwardRef(function (props, ref) {\n var _a = React.useState(), layerElement = _a[0], setLayerElement = _a[1];\n var refLayerElement = React.useRef(layerElement);\n refLayerElement.current = layerElement;\n var rootRef = React.useRef(null);\n var mergedRef = useMergedRefs(rootRef, ref);\n var doc = useDocument();\n var eventBubblingEnabled = props.eventBubblingEnabled, styles = props.styles, theme = props.theme, className = props.className, children = props.children, hostId = props.hostId, _b = props.onLayerDidMount, onLayerDidMount = _b === void 0 ? function () { return undefined; } : _b, \n // eslint-disable-next-line deprecation/deprecation\n _c = props.onLayerMounted, \n // eslint-disable-next-line deprecation/deprecation\n onLayerMounted = _c === void 0 ? function () { return undefined; } : _c, onLayerWillUnmount = props.onLayerWillUnmount, insertFirst = props.insertFirst;\n var classNames = getClassNames(styles, {\n theme: theme,\n className: className,\n isNotHost: !hostId,\n });\n // Returns the user provided hostId props element, the default target selector,\n // or undefined if document doesn't exist.\n var getHost = function () {\n if (!doc) {\n return undefined;\n }\n if (hostId) {\n return doc.getElementById(hostId);\n }\n else {\n var defaultHostSelector = getDefaultTarget();\n return defaultHostSelector ? doc.querySelector(defaultHostSelector) : doc.body;\n }\n };\n // Removes the current layer element's parentNode and runs onLayerWillUnmount prop if provided.\n var removeLayerElement = function () {\n onLayerWillUnmount === null || onLayerWillUnmount === void 0 ? void 0 : onLayerWillUnmount();\n var elem = refLayerElement.current;\n if (elem && elem.parentNode) {\n var parentNode = elem.parentNode;\n if (parentNode) {\n parentNode.removeChild(elem);\n }\n }\n };\n // If a doc or host exists, it will remove and update layer parentNodes.\n var createLayerElement = function () {\n var host = getHost();\n if (!doc || !host) {\n return;\n }\n // Remove and re-create any previous existing layer elements.\n removeLayerElement();\n var el = doc.createElement('div');\n el.className = classNames.root;\n setPortalAttribute(el);\n setVirtualParent(el, rootRef.current);\n insertFirst ? host.insertBefore(el, host.firstChild) : host.appendChild(el);\n setLayerElement(el);\n onLayerMounted === null || onLayerMounted === void 0 ? void 0 : onLayerMounted();\n onLayerDidMount === null || onLayerDidMount === void 0 ? void 0 : onLayerDidMount();\n };\n // eslint-disable-next-line no-restricted-properties\n React.useLayoutEffect(function () {\n createLayerElement();\n // Check if the user provided a hostId prop and register the layer with the ID.\n if (hostId) {\n registerLayer(hostId, createLayerElement);\n }\n return function () {\n removeLayerElement();\n if (hostId) {\n unregisterLayer(hostId, createLayerElement);\n }\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps -- should run if the hostId updates.\n }, [hostId]);\n useDebugWarnings(props);\n return (React.createElement(\"span\", { className: \"ms-layer\", ref: mergedRef }, layerElement &&\n ReactDOM.createPortal(\n /* eslint-disable deprecation/deprecation */\n React.createElement(Fabric, __assign({}, (!eventBubblingEnabled && getFilteredEvents()), { className: classNames.content }), children), \n /* eslint-enable deprecation/deprecation */\n layerElement)));\n});\nLayerBase.displayName = 'LayerBase';\nvar filteredEventProps;\nvar onFilterEvent = function (ev) {\n // We should just be able to check ev.bubble here and only stop events that are bubbling up. However, even though\n // mouseenter and mouseleave do NOT bubble up, they are showing up as bubbling. Therefore we stop events based on\n // event name rather than ev.bubble.\n if (ev.eventPhase === Event.BUBBLING_PHASE &&\n ev.type !== 'mouseenter' &&\n ev.type !== 'mouseleave' &&\n ev.type !== 'touchstart' &&\n ev.type !== 'touchend') {\n ev.stopPropagation();\n }\n};\nfunction getFilteredEvents() {\n if (!filteredEventProps) {\n filteredEventProps = {};\n [\n 'onClick',\n 'onContextMenu',\n 'onDoubleClick',\n 'onDrag',\n 'onDragEnd',\n 'onDragEnter',\n 'onDragExit',\n 'onDragLeave',\n 'onDragOver',\n 'onDragStart',\n 'onDrop',\n 'onMouseDown',\n 'onMouseEnter',\n 'onMouseLeave',\n 'onMouseMove',\n 'onMouseOver',\n 'onMouseOut',\n 'onMouseUp',\n 'onTouchMove',\n 'onTouchStart',\n 'onTouchCancel',\n 'onTouchEnd',\n 'onKeyDown',\n 'onKeyPress',\n 'onKeyUp',\n 'onFocus',\n 'onBlur',\n 'onChange',\n 'onInput',\n 'onInvalid',\n 'onSubmit',\n ].forEach(function (name) { return (filteredEventProps[name] = onFilterEvent); });\n }\n return filteredEventProps;\n}\nfunction useDebugWarnings(props) {\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks -- build-time conditional\n useWarnings({\n name: 'Layer',\n props: props,\n deprecations: { onLayerMounted: 'onLayerDidMount' },\n });\n }\n}\n//# sourceMappingURL=Layer.base.js.map","/**\n * Sets the virtual parent of an element.\n * Pass `undefined` as the `parent` to clear the virtual parent.\n *\n * @public\n */\nexport function setVirtualParent(child, parent) {\n var virtualChild = child;\n var virtualParent = parent;\n if (!virtualChild._virtual) {\n virtualChild._virtual = {\n children: [],\n };\n }\n var oldParent = virtualChild._virtual.parent;\n if (oldParent && oldParent !== parent) {\n // Remove the child from its old parent.\n var index = oldParent._virtual.children.indexOf(virtualChild);\n if (index > -1) {\n oldParent._virtual.children.splice(index, 1);\n }\n }\n virtualChild._virtual.parent = virtualParent || undefined;\n if (virtualParent) {\n if (!virtualParent._virtual) {\n virtualParent._virtual = {\n children: [],\n };\n }\n virtualParent._virtual.children.push(virtualChild);\n }\n}\n//# sourceMappingURL=setVirtualParent.js.map","import { ZIndexes, getGlobalClassNames } from '../../Styling';\nvar GlobalClassNames = {\n root: 'ms-Layer',\n rootNoHost: 'ms-Layer--fixed',\n content: 'ms-Layer-content',\n};\nexport var getStyles = function (props) {\n var className = props.className, isNotHost = props.isNotHost, theme = props.theme;\n var classNames = getGlobalClassNames(GlobalClassNames, theme);\n return {\n root: [\n classNames.root,\n theme.fonts.medium,\n isNotHost && [\n classNames.rootNoHost,\n {\n position: 'fixed',\n zIndex: ZIndexes.Layer,\n top: 0,\n left: 0,\n bottom: 0,\n right: 0,\n visibility: 'hidden',\n },\n ],\n className,\n ],\n content: [\n classNames.content,\n {\n visibility: 'visible',\n },\n ],\n };\n};\n//# sourceMappingURL=Layer.styles.js.map","import { styled } from '../../Utilities';\nimport { LayerBase } from './Layer.base';\nimport { getStyles } from './Layer.styles';\nexport var Layer = styled(LayerBase, getStyles, undefined, {\n scope: 'Layer',\n fields: ['hostId', 'theme', 'styles'],\n});\n//# sourceMappingURL=Layer.js.map","import { __assign, __rest } from \"tslib\";\nimport * as React from 'react';\nimport { CalloutContent } from './CalloutContent';\nimport { Layer } from '../../Layer';\nexport var Callout = React.forwardRef(function (_a, forwardedRef) {\n var layerProps = _a.layerProps, doNotLayer = _a.doNotLayer, rest = __rest(_a, [\"layerProps\", \"doNotLayer\"]);\n var content = React.createElement(CalloutContent, __assign({}, rest, { ref: forwardedRef }));\n return doNotLayer ? content : React.createElement(Layer, __assign({}, layerProps), content);\n});\nCallout.displayName = 'Callout';\n//# sourceMappingURL=Callout.js.map","import { __assign } from \"tslib\";\nimport * as React from 'react';\nimport { elementContains, getNativeProps, divProperties, getFirstTabbable, getLastTabbable, getNextElement, focusAsync, modalize, on, } from '../../Utilities';\nimport { useId, useConst, useMergedRefs } from '@fluentui/react-hooks';\nimport { useDocument } from '../../WindowProvider';\nvar COMPONENT_NAME = 'FocusTrapZone';\nvar useComponentRef = function (componentRef, previouslyFocusedElement, focus) {\n React.useImperativeHandle(componentRef, function () { return ({\n get previouslyFocusedElement() {\n return previouslyFocusedElement;\n },\n focus: focus,\n }); }, [previouslyFocusedElement, focus]);\n};\nexport var FocusTrapZone = React.forwardRef(function (props, ref) {\n var root = React.useRef(null);\n var firstBumper = React.useRef(null);\n var lastBumper = React.useRef(null);\n var mergedRootRef = useMergedRefs(root, ref);\n var id = useId(undefined, props.id);\n var doc = useDocument();\n var divProps = getNativeProps(props, divProperties);\n var internalState = useConst(function () { return ({\n previouslyFocusedElementOutsideTrapZone: undefined,\n previouslyFocusedElementInTrapZone: undefined,\n disposeFocusHandler: undefined,\n disposeClickHandler: undefined,\n hasFocus: false,\n unmodalize: undefined,\n }); });\n var ariaLabelledBy = props.ariaLabelledBy, className = props.className, children = props.children, componentRef = props.componentRef, disabled = props.disabled, _a = props.disableFirstFocus, disableFirstFocus = _a === void 0 ? false : _a, _b = props.disabled, currentDisabledValue = _b === void 0 ? false : _b, elementToFocusOnDismiss = props.elementToFocusOnDismiss, _c = props.forceFocusInsideTrap, forceFocusInsideTrap = _c === void 0 ? true : _c, focusPreviouslyFocusedInnerElement = props.focusPreviouslyFocusedInnerElement, firstFocusableSelector = props.firstFocusableSelector, ignoreExternalFocusing = props.ignoreExternalFocusing, _d = props.isClickableOutsideFocusTrap, isClickableOutsideFocusTrap = _d === void 0 ? false : _d, onFocus = props.onFocus, onBlur = props.onBlur, onFocusCapture = props.onFocusCapture, onBlurCapture = props.onBlurCapture, enableAriaHiddenSiblings = props.enableAriaHiddenSiblings;\n var bumperProps = {\n 'aria-hidden': true,\n style: {\n pointerEvents: 'none',\n position: 'fixed',\n },\n tabIndex: disabled ? -1 : 0,\n 'data-is-visible': true,\n };\n var focus = React.useCallback(function () {\n if (focusPreviouslyFocusedInnerElement &&\n internalState.previouslyFocusedElementInTrapZone &&\n elementContains(root.current, internalState.previouslyFocusedElementInTrapZone)) {\n // focus on the last item that had focus in the zone before we left the zone\n focusAsync(internalState.previouslyFocusedElementInTrapZone);\n return;\n }\n var focusSelector = typeof firstFocusableSelector === 'string'\n ? firstFocusableSelector\n : firstFocusableSelector && firstFocusableSelector();\n var firstFocusableChild = null;\n if (root.current) {\n if (focusSelector) {\n firstFocusableChild = root.current.querySelector('.' + focusSelector);\n }\n // Fall back to first element if query selector did not match any elements.\n if (!firstFocusableChild) {\n firstFocusableChild = getNextElement(root.current, root.current.firstChild, false, false, false, true);\n }\n }\n if (firstFocusableChild) {\n focusAsync(firstFocusableChild);\n }\n }, [firstFocusableSelector, focusPreviouslyFocusedInnerElement, internalState]);\n var onBumperFocus = React.useCallback(function (isFirstBumper) {\n if (disabled) {\n return;\n }\n var currentBumper = (isFirstBumper === internalState.hasFocus\n ? lastBumper.current\n : firstBumper.current);\n if (root.current) {\n var nextFocusable = isFirstBumper === internalState.hasFocus\n ? getLastTabbable(root.current, currentBumper, true, false)\n : getFirstTabbable(root.current, currentBumper, true, false);\n if (nextFocusable) {\n if (nextFocusable === firstBumper.current || nextFocusable === lastBumper.current) {\n // This can happen when FTZ contains no tabbable elements.\n // focus will take care of finding a focusable element in FTZ.\n focus();\n }\n else {\n nextFocusable.focus();\n }\n }\n }\n }, [disabled, focus, internalState]);\n var onRootBlurCapture = React.useCallback(function (ev) {\n onBlurCapture === null || onBlurCapture === void 0 ? void 0 : onBlurCapture(ev);\n var relatedTarget = ev.relatedTarget;\n if (ev.relatedTarget === null) {\n // In IE11, due to lack of support, event.relatedTarget is always\n // null making every onBlur call to be \"outside\" of the ComboBox\n // even when it's not. Using document.activeElement is another way\n // for us to be able to get what the relatedTarget without relying\n // on the event\n relatedTarget = doc.activeElement;\n }\n if (!elementContains(root.current, relatedTarget)) {\n internalState.hasFocus = false;\n }\n }, [doc, internalState, onBlurCapture]);\n var onRootFocusCapture = React.useCallback(function (ev) {\n onFocusCapture === null || onFocusCapture === void 0 ? void 0 : onFocusCapture(ev);\n if (ev.target === firstBumper.current) {\n onBumperFocus(true);\n }\n else if (ev.target === lastBumper.current) {\n onBumperFocus(false);\n }\n internalState.hasFocus = true;\n if (ev.target !== ev.currentTarget && !(ev.target === firstBumper.current || ev.target === lastBumper.current)) {\n // every time focus changes within the trap zone, remember the focused element so that\n // it can be restored if focus leaves the pane and returns via keystroke (i.e. via a call to this.focus(true))\n internalState.previouslyFocusedElementInTrapZone = ev.target;\n }\n }, [onFocusCapture, internalState, onBumperFocus]);\n var returnFocusToInitiator = React.useCallback(function () {\n FocusTrapZone.focusStack = FocusTrapZone.focusStack.filter(function (value) {\n return id !== value;\n });\n if (doc) {\n var activeElement = doc.activeElement;\n if (!ignoreExternalFocusing &&\n internalState.previouslyFocusedElementOutsideTrapZone &&\n typeof internalState.previouslyFocusedElementOutsideTrapZone.focus === 'function' &&\n (elementContains(root.current, activeElement) || activeElement === doc.body)) {\n if (!(internalState.previouslyFocusedElementOutsideTrapZone === firstBumper.current ||\n internalState.previouslyFocusedElementOutsideTrapZone === lastBumper.current)) {\n focusAsync(internalState.previouslyFocusedElementOutsideTrapZone);\n }\n }\n }\n }, [doc, id, ignoreExternalFocusing, internalState]);\n var forceFocusInTrap = React.useCallback(function (ev) {\n if (disabled) {\n return;\n }\n if (FocusTrapZone.focusStack.length && id === FocusTrapZone.focusStack[FocusTrapZone.focusStack.length - 1]) {\n var focusedElement = ev.target;\n if (!elementContains(root.current, focusedElement)) {\n focus();\n internalState.hasFocus = true; // set focus here since we stop event propagation\n ev.preventDefault();\n ev.stopPropagation();\n }\n }\n }, [disabled, id, focus, internalState]);\n var forceClickInTrap = React.useCallback(function (ev) {\n if (disabled) {\n return;\n }\n if (FocusTrapZone.focusStack.length && id === FocusTrapZone.focusStack[FocusTrapZone.focusStack.length - 1]) {\n var clickedElement = ev.target;\n if (clickedElement && !elementContains(root.current, clickedElement)) {\n focus();\n internalState.hasFocus = true; // set focus here since we stop event propagation\n ev.preventDefault();\n ev.stopPropagation();\n }\n }\n }, [disabled, id, focus, internalState]);\n var updateEventHandlers = React.useCallback(function () {\n if (forceFocusInsideTrap && !internalState.disposeFocusHandler) {\n internalState.disposeFocusHandler = on(window, 'focus', forceFocusInTrap, true);\n }\n else if (!forceFocusInsideTrap && internalState.disposeFocusHandler) {\n internalState.disposeFocusHandler();\n internalState.disposeFocusHandler = undefined;\n }\n if (!isClickableOutsideFocusTrap && !internalState.disposeClickHandler) {\n internalState.disposeClickHandler = on(window, 'click', forceClickInTrap, true);\n }\n else if (isClickableOutsideFocusTrap && internalState.disposeClickHandler) {\n internalState.disposeClickHandler();\n internalState.disposeClickHandler = undefined;\n }\n }, [forceClickInTrap, forceFocusInTrap, forceFocusInsideTrap, isClickableOutsideFocusTrap, internalState]);\n // Updates eventHandlers and cleans up focusStack when the component unmounts.\n React.useEffect(function () {\n var parentRoot = root.current;\n updateEventHandlers();\n return function () {\n // don't handle return focus unless forceFocusInsideTrap is true or focus is still within FocusTrapZone\n if (!disabled || forceFocusInsideTrap || !elementContains(parentRoot, doc === null || doc === void 0 ? void 0 : doc.activeElement)) {\n returnFocusToInitiator();\n }\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps -- Should only run on mount.\n }, [updateEventHandlers]);\n // Updates focusStack and the previouslyFocusedElementOutsideTrapZone on prop change.\n React.useEffect(function () {\n var newForceFocusInsideTrap = forceFocusInsideTrap !== undefined ? forceFocusInsideTrap : true;\n var newDisabled = disabled !== undefined ? disabled : false;\n // Transition from forceFocusInsideTrap / FTZ disabled to enabled.\n if (!newDisabled || newForceFocusInsideTrap) {\n if (currentDisabledValue) {\n return;\n }\n FocusTrapZone.focusStack.push(id);\n internalState.previouslyFocusedElementOutsideTrapZone = elementToFocusOnDismiss\n ? elementToFocusOnDismiss\n : doc.activeElement;\n if (!disableFirstFocus && !elementContains(root.current, internalState.previouslyFocusedElementOutsideTrapZone)) {\n focus();\n }\n if (!internalState.unmodalize && root.current && enableAriaHiddenSiblings) {\n internalState.unmodalize = modalize(root.current);\n }\n }\n else if (!newForceFocusInsideTrap || newDisabled) {\n // Transition from forceFocusInsideTrap / FTZ enabled to disabled.\n returnFocusToInitiator();\n if (internalState.unmodalize) {\n internalState.unmodalize();\n }\n }\n if (elementToFocusOnDismiss && internalState.previouslyFocusedElementOutsideTrapZone !== elementToFocusOnDismiss) {\n internalState.previouslyFocusedElementOutsideTrapZone = elementToFocusOnDismiss;\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [elementToFocusOnDismiss, forceFocusInsideTrap, disabled]);\n // Cleanup lifecyle method for internalState.\n useUnmount(function () {\n // Dispose of event handlers so their closures can be garbage-collected\n if (internalState.disposeClickHandler) {\n internalState.disposeClickHandler();\n internalState.disposeClickHandler = undefined;\n }\n if (internalState.disposeFocusHandler) {\n internalState.disposeFocusHandler();\n internalState.disposeFocusHandler = undefined;\n }\n if (internalState.unmodalize) {\n internalState.unmodalize();\n }\n // Dispose of element references so the DOM Nodes can be garbage-collected\n delete internalState.previouslyFocusedElementInTrapZone;\n delete internalState.previouslyFocusedElementOutsideTrapZone;\n });\n useComponentRef(componentRef, internalState.previouslyFocusedElementInTrapZone, focus);\n return (React.createElement(\"div\", __assign({}, divProps, { className: className, ref: mergedRootRef, \"aria-labelledby\": ariaLabelledBy, onFocusCapture: onRootFocusCapture, onFocus: onFocus, onBlur: onBlur, onBlurCapture: onRootBlurCapture }),\n React.createElement(\"div\", __assign({}, bumperProps, { ref: firstBumper })),\n children,\n React.createElement(\"div\", __assign({}, bumperProps, { ref: lastBumper }))));\n});\nvar useUnmount = function (unmountFunction) {\n var unmountRef = React.useRef(unmountFunction);\n unmountRef.current = unmountFunction;\n React.useEffect(function () { return function () {\n if (unmountRef.current) {\n unmountRef.current();\n }\n }; }, [unmountFunction]);\n};\nFocusTrapZone.displayName = COMPONENT_NAME;\nFocusTrapZone.focusStack = [];\n//# sourceMappingURL=FocusTrapZone.js.map","/**\n * @deprecated Icon type is inferred based on presence of `IIconProps.imageProps`\n * {@docCategory Icon}\n */\nexport var IconType;\n(function (IconType) {\n /**\n * Render using the fabric icon font.\n * @deprecated Icon type is inferred based on presence of `IIconProps.imageProps`\n */\n IconType[IconType[\"default\"] = 0] = \"default\";\n /**\n * Render using an image, where imageProps would be used.\n * @deprecated Icon type is inferred based on presence of `IIconProps.imageProps`\n */\n IconType[IconType[\"image\"] = 1] = \"image\";\n /**\n * @deprecated Icon type is inferred based on presence of `IIconProps.imageProps`\n */\n IconType[IconType[\"Default\"] = 100000] = \"Default\";\n /**\n * @deprecated Icon type is inferred based on presence of `IIconProps.imageProps`\n */\n IconType[IconType[\"Image\"] = 100001] = \"Image\";\n})(IconType || (IconType = {}));\n//# sourceMappingURL=Icon.types.js.map","/**\n * The possible methods that can be used to fit the image.\n * {@docCategory Image}\n */\nexport var ImageFit;\n(function (ImageFit) {\n /**\n * The image is not scaled. The image is centered and cropped within the content box.\n */\n ImageFit[ImageFit[\"center\"] = 0] = \"center\";\n /**\n * The image is scaled to maintain its aspect ratio while being fully contained within the frame. The image will\n * be centered horizontally and vertically within the frame. The space in the top and bottom or in the sides of\n * the frame will be empty depending on the difference in aspect ratio between the image and the frame.\n */\n ImageFit[ImageFit[\"contain\"] = 1] = \"contain\";\n /**\n * The image is scaled to maintain its aspect ratio while filling the frame. Portions of the image will be cropped\n * from the top and bottom, or the sides, depending on the difference in aspect ratio between the image and the frame.\n */\n ImageFit[ImageFit[\"cover\"] = 2] = \"cover\";\n /**\n * Neither the image nor the frame are scaled. If their sizes do not match, the image will either be cropped or the\n * frame will have empty space.\n */\n ImageFit[ImageFit[\"none\"] = 3] = \"none\";\n /**\n * The image will be centered horizontally and vertically within the frame and maintains its aspect ratio. It will\n * behave as ImageFit.center if the image's natural height or width is less than the Image frame's height or width,\n * but if both natural height and width are larger than the frame it will behave as ImageFit.cover.\n */\n ImageFit[ImageFit[\"centerCover\"] = 4] = \"centerCover\";\n /**\n * The image will be centered horizontally and vertically within the frame and maintains its aspect ratio. It will\n * behave as ImageFit.center if the image's natural height and width is less than the Image frame's height and width,\n * but if either natural height or width are larger than the frame it will behave as ImageFit.contain.\n */\n ImageFit[ImageFit[\"centerContain\"] = 5] = \"centerContain\";\n})(ImageFit || (ImageFit = {}));\n/**\n * The cover style to be used on the image\n * {@docCategory Image}\n */\nexport var ImageCoverStyle;\n(function (ImageCoverStyle) {\n /**\n * The image will be shown at 100% height of container and the width will be scaled accordingly\n */\n ImageCoverStyle[ImageCoverStyle[\"landscape\"] = 0] = \"landscape\";\n /**\n * The image will be shown at 100% width of container and the height will be scaled accordingly\n */\n ImageCoverStyle[ImageCoverStyle[\"portrait\"] = 1] = \"portrait\";\n})(ImageCoverStyle || (ImageCoverStyle = {}));\n/**\n * {@docCategory Image}\n */\nexport var ImageLoadState;\n(function (ImageLoadState) {\n /**\n * The image has not yet been loaded, and there is no error yet.\n */\n ImageLoadState[ImageLoadState[\"notLoaded\"] = 0] = \"notLoaded\";\n /**\n * The image has been loaded successfully.\n */\n ImageLoadState[ImageLoadState[\"loaded\"] = 1] = \"loaded\";\n /**\n * An error has been encountered while loading the image.\n */\n ImageLoadState[ImageLoadState[\"error\"] = 2] = \"error\";\n /**\n * @deprecated Not used. Use `onLoadingStateChange` and re-render the Image with a different src.\n */\n ImageLoadState[ImageLoadState[\"errorLoaded\"] = 3] = \"errorLoaded\";\n})(ImageLoadState || (ImageLoadState = {}));\n//# sourceMappingURL=Image.types.js.map","/**\n * The helper functions here will make the target element as modal to screen readers, by placing aria-hidden on elements\n * that are siblings to the target element and the target element's ancestors (because aria-hidden gets inherited).\n * That way, all other elements on the page are hidden to the screen reader.\n */\nimport { getDocument } from './dom/getDocument';\n/**\n * Call this on a target element to make it modal to screen readers.\n * Returns a function that undoes the changes it made.\n */\nexport function modalize(target) {\n var _a;\n var affectedNodes = [];\n var targetDocument = getDocument(target) || document;\n // start at target, then recurse and do the same for parent, until we reach \n while (target !== targetDocument.body) {\n // grab all siblings of current element\n for (var _i = 0, _b = target.parentElement.children; _i < _b.length; _i++) {\n var sibling = _b[_i];\n // but ignore elements that are already aria-hidden\n if (sibling !== target && ((_a = sibling.getAttribute('aria-hidden')) === null || _a === void 0 ? void 0 : _a.toLowerCase()) !== 'true') {\n affectedNodes.push(sibling);\n }\n }\n if (!target.parentElement) {\n break;\n }\n target = target.parentElement;\n }\n // take all those elements and set aria-hidden=true on them\n affectedNodes.forEach(function (node) {\n node.setAttribute('aria-hidden', 'true');\n });\n return function () {\n unmodalize(affectedNodes);\n affectedNodes = []; // dispose\n };\n}\n/**\n * Undoes the changes that modalize() did.\n */\nfunction unmodalize(affectedNodes) {\n affectedNodes.forEach(function (node) {\n // set instead of removing in case other components explicitly set aria-hidden and do ==\"true\" or ==\"false\"\n node.setAttribute('aria-hidden', 'false');\n });\n}\n//# sourceMappingURL=modalize.js.map","import { __assign } from \"tslib\";\nimport * as React from 'react';\nimport { classNamesFunction, getNativeProps, imgProperties } from '../../Utilities';\nimport { ImageCoverStyle, ImageFit, ImageLoadState } from './Image.types';\nimport { useMergedRefs } from '@fluentui/react-hooks';\nvar getClassNames = classNamesFunction();\nvar SVG_REGEX = /\\.svg$/i;\nvar KEY_PREFIX = 'fabricImage';\nfunction useLoadState(props, imageElement) {\n var onLoadingStateChange = props.onLoadingStateChange, onLoad = props.onLoad, onError = props.onError, src = props.src;\n var _a = React.useState(ImageLoadState.notLoaded), loadState = _a[0], setLoadState = _a[1];\n // eslint-disable-next-line no-restricted-properties\n React.useLayoutEffect(function () {\n // If the src property changes, reset the load state\n // (does nothing if the load state is already notLoaded)\n setLoadState(ImageLoadState.notLoaded);\n }, [src]);\n // eslint-disable-next-line react-hooks/exhaustive-deps -- intended to run every render\n React.useEffect(function () {\n if (loadState === ImageLoadState.notLoaded) {\n // testing if naturalWidth and naturalHeight are greater than zero is better than checking\n // .complete, because .complete will also be set to true if the image breaks. However,\n // for some browsers, SVG images do not have a naturalWidth or naturalHeight, so fall back\n // to checking .complete for these images.\n var isLoaded = imageElement.current\n ? (src && imageElement.current.naturalWidth > 0 && imageElement.current.naturalHeight > 0) ||\n (imageElement.current.complete && SVG_REGEX.test(src))\n : false;\n if (isLoaded) {\n setLoadState(ImageLoadState.loaded);\n }\n }\n });\n React.useEffect(function () {\n onLoadingStateChange === null || onLoadingStateChange === void 0 ? void 0 : onLoadingStateChange(loadState);\n // eslint-disable-next-line react-hooks/exhaustive-deps -- should only run when loadState changes\n }, [loadState]);\n var onImageLoaded = React.useCallback(function (ev) {\n onLoad === null || onLoad === void 0 ? void 0 : onLoad(ev);\n if (src) {\n setLoadState(ImageLoadState.loaded);\n }\n }, [src, onLoad]);\n var onImageError = React.useCallback(function (ev) {\n onError === null || onError === void 0 ? void 0 : onError(ev);\n setLoadState(ImageLoadState.error);\n }, [onError]);\n return [loadState, onImageLoaded, onImageError];\n}\nexport var ImageBase = React.forwardRef(function (props, forwardedRef) {\n var frameElement = React.useRef();\n var imageElement = React.useRef();\n var _a = useLoadState(props, imageElement), loadState = _a[0], onImageLoaded = _a[1], onImageError = _a[2];\n var imageProps = getNativeProps(props, imgProperties, [\n 'width',\n 'height',\n ]);\n var src = props.src, alt = props.alt, width = props.width, height = props.height, _b = props.shouldFadeIn, shouldFadeIn = _b === void 0 ? true : _b, shouldStartVisible = props.shouldStartVisible, className = props.className, imageFit = props.imageFit, role = props.role, maximizeFrame = props.maximizeFrame, styles = props.styles, theme = props.theme, loading = props.loading;\n var coverStyle = useCoverStyle(props, loadState, imageElement, frameElement);\n var classNames = getClassNames(styles, {\n theme: theme,\n className: className,\n width: width,\n height: height,\n maximizeFrame: maximizeFrame,\n shouldFadeIn: shouldFadeIn,\n shouldStartVisible: shouldStartVisible,\n isLoaded: loadState === ImageLoadState.loaded || (loadState === ImageLoadState.notLoaded && props.shouldStartVisible),\n isLandscape: coverStyle === ImageCoverStyle.landscape,\n isCenter: imageFit === ImageFit.center,\n isCenterContain: imageFit === ImageFit.centerContain,\n isCenterCover: imageFit === ImageFit.centerCover,\n isContain: imageFit === ImageFit.contain,\n isCover: imageFit === ImageFit.cover,\n isNone: imageFit === ImageFit.none,\n isError: loadState === ImageLoadState.error,\n isNotImageFit: imageFit === undefined,\n });\n // If image dimensions aren't specified, the natural size of the image is used.\n return (React.createElement(\"div\", { className: classNames.root, style: { width: width, height: height }, ref: frameElement },\n React.createElement(\"img\", __assign({}, imageProps, { onLoad: onImageLoaded, onError: onImageError, key: KEY_PREFIX + props.src || '', className: classNames.image, ref: useMergedRefs(imageElement, forwardedRef), src: src, alt: alt, role: role, loading: loading }))));\n});\nImageBase.displayName = 'ImageBase';\nfunction useCoverStyle(props, loadState, imageElement, frameElement) {\n var previousLoadState = React.useRef(loadState);\n var coverStyle = React.useRef();\n if (coverStyle === undefined ||\n (previousLoadState.current === ImageLoadState.notLoaded && loadState === ImageLoadState.loaded)) {\n coverStyle.current = computeCoverStyle(props, loadState, imageElement, frameElement);\n }\n previousLoadState.current = loadState;\n return coverStyle.current;\n}\nfunction computeCoverStyle(props, loadState, imageElement, frameElement) {\n var imageFit = props.imageFit, width = props.width, height = props.height;\n // Do not compute cover style if it was already specified in props\n if (props.coverStyle !== undefined) {\n return props.coverStyle;\n }\n else if (loadState === ImageLoadState.loaded &&\n (imageFit === ImageFit.cover ||\n imageFit === ImageFit.contain ||\n imageFit === ImageFit.centerContain ||\n imageFit === ImageFit.centerCover) &&\n imageElement.current &&\n frameElement.current) {\n // Determine the desired ratio using the width and height props.\n // If those props aren't available, measure measure the frame.\n var desiredRatio = void 0;\n if (typeof width === 'number' &&\n typeof height === 'number' &&\n imageFit !== ImageFit.centerContain &&\n imageFit !== ImageFit.centerCover) {\n desiredRatio = width / height;\n }\n else {\n desiredRatio = frameElement.current.clientWidth / frameElement.current.clientHeight;\n }\n // Examine the source image to determine its original ratio.\n var naturalRatio = imageElement.current.naturalWidth / imageElement.current.naturalHeight;\n // Should we crop from the top or the sides?\n if (naturalRatio > desiredRatio) {\n return ImageCoverStyle.landscape;\n }\n }\n return ImageCoverStyle.portrait;\n}\n//# sourceMappingURL=Image.base.js.map","import { AnimationClassNames, getGlobalClassNames } from '../../Styling';\nimport { getWindow } from '../../Utilities';\nvar GlobalClassNames = {\n root: 'ms-Image',\n rootMaximizeFrame: 'ms-Image--maximizeFrame',\n image: 'ms-Image-image',\n imageCenter: 'ms-Image-image--center',\n imageContain: 'ms-Image-image--contain',\n imageCover: 'ms-Image-image--cover',\n imageCenterContain: 'ms-Image-image--centerContain',\n imageCenterCover: 'ms-Image-image--centerCover',\n imageNone: 'ms-Image-image--none',\n imageLandscape: 'ms-Image-image--landscape',\n imagePortrait: 'ms-Image-image--portrait',\n};\nexport var getStyles = function (props) {\n var className = props.className, width = props.width, height = props.height, maximizeFrame = props.maximizeFrame, isLoaded = props.isLoaded, shouldFadeIn = props.shouldFadeIn, shouldStartVisible = props.shouldStartVisible, isLandscape = props.isLandscape, isCenter = props.isCenter, isContain = props.isContain, isCover = props.isCover, isCenterContain = props.isCenterContain, isCenterCover = props.isCenterCover, isNone = props.isNone, isError = props.isError, isNotImageFit = props.isNotImageFit, theme = props.theme;\n var classNames = getGlobalClassNames(GlobalClassNames, theme);\n var ImageFitStyles = {\n position: 'absolute',\n left: '50% /* @noflip */',\n top: '50%',\n transform: 'translate(-50%,-50%)',\n };\n // Cut the mustard using msMaxTouchPoints to detect IE11 which does not support CSS object-fit\n var window = getWindow();\n var supportsObjectFit = window !== undefined && window.navigator.msMaxTouchPoints === undefined;\n var fallbackObjectFitStyles = (isContain && isLandscape) || (isCover && !isLandscape)\n ? { width: '100%', height: 'auto' }\n : { width: 'auto', height: '100%' };\n return {\n root: [\n classNames.root,\n theme.fonts.medium,\n {\n overflow: 'hidden',\n },\n maximizeFrame && [\n classNames.rootMaximizeFrame,\n {\n height: '100%',\n width: '100%',\n },\n ],\n isLoaded && shouldFadeIn && !shouldStartVisible && AnimationClassNames.fadeIn400,\n (isCenter || isContain || isCover || isCenterContain || isCenterCover) && {\n position: 'relative',\n },\n className,\n ],\n image: [\n classNames.image,\n {\n display: 'block',\n opacity: 0,\n },\n isLoaded && [\n 'is-loaded',\n {\n opacity: 1,\n },\n ],\n isCenter && [classNames.imageCenter, ImageFitStyles],\n isContain && [\n classNames.imageContain,\n supportsObjectFit && {\n width: '100%',\n height: '100%',\n objectFit: 'contain',\n },\n !supportsObjectFit && fallbackObjectFitStyles,\n !supportsObjectFit && ImageFitStyles,\n ],\n isCover && [\n classNames.imageCover,\n supportsObjectFit && {\n width: '100%',\n height: '100%',\n objectFit: 'cover',\n },\n !supportsObjectFit && fallbackObjectFitStyles,\n !supportsObjectFit && ImageFitStyles,\n ],\n isCenterContain && [\n classNames.imageCenterContain,\n isLandscape && {\n maxWidth: '100%',\n },\n !isLandscape && {\n maxHeight: '100%',\n },\n ImageFitStyles,\n ],\n isCenterCover && [\n classNames.imageCenterCover,\n isLandscape && {\n maxHeight: '100%',\n },\n !isLandscape && {\n maxWidth: '100%',\n },\n ImageFitStyles,\n ],\n isNone && [\n classNames.imageNone,\n {\n width: 'auto',\n height: 'auto',\n },\n ],\n isNotImageFit && [\n !!width &&\n !height && {\n height: 'auto',\n width: '100%',\n },\n !width &&\n !!height && {\n height: '100%',\n width: 'auto',\n },\n !!width &&\n !!height && {\n height: '100%',\n width: '100%',\n },\n ],\n isLandscape && classNames.imageLandscape,\n !isLandscape && classNames.imagePortrait,\n !isLoaded && 'is-notLoaded',\n shouldFadeIn && 'is-fadeIn',\n isError && 'is-error',\n ],\n };\n};\n//# sourceMappingURL=Image.styles.js.map","import { styled } from '../../Utilities';\nimport { ImageBase } from './Image.base';\nimport { getStyles } from './Image.styles';\nexport var Image = styled(ImageBase, getStyles, undefined, {\n scope: 'Image',\n}, true);\nImage.displayName = 'Image';\n//# sourceMappingURL=Image.js.map","import { __assign } from \"tslib\";\nimport * as React from 'react';\nimport { classNames, MS_ICON } from './Icon.styles';\nimport { css, getNativeProps, htmlElementProperties, memoizeFunction } from '../../Utilities';\nimport { getIcon } from '../../Styling';\nexport var getIconContent = memoizeFunction(function (iconName) {\n var _a = getIcon(iconName) || {\n subset: {},\n code: undefined,\n }, code = _a.code, subset = _a.subset;\n if (!code) {\n return null;\n }\n return {\n children: code,\n iconClassName: subset.className,\n fontFamily: subset.fontFace && subset.fontFace.fontFamily,\n };\n}, undefined, true /*ignoreNullOrUndefinedResult */);\n/**\n * Fast icon component which only supports font glyphs (not images) and can't be targeted by customizations.\n * To style the icon, use `className` or reference `ms-Icon` in CSS.\n * {@docCategory Icon}\n */\nexport var FontIcon = function (props) {\n var iconName = props.iconName, className = props.className, _a = props.style, style = _a === void 0 ? {} : _a;\n var iconContent = getIconContent(iconName) || {};\n var iconClassName = iconContent.iconClassName, children = iconContent.children, fontFamily = iconContent.fontFamily;\n var nativeProps = getNativeProps(props, htmlElementProperties);\n var containerProps = props['aria-label'] || props['aria-labelledby'] || props.title\n ? {\n role: 'img',\n }\n : {\n 'aria-hidden': true,\n };\n return (React.createElement(\"i\", __assign({ \"data-icon-name\": iconName }, containerProps, nativeProps, { className: css(MS_ICON, classNames.root, iconClassName, !iconName && classNames.placeholder, className), \n // Apply the font family this way to ensure it doesn't get overridden by Fabric Core ms-Icon styles\n // https://github.com/microsoft/fluentui/issues/10449\n style: __assign({ fontFamily: fontFamily }, style) }), children));\n};\n/**\n * Memoized helper for rendering a FontIcon.\n * @param iconName - The name of the icon to use from the icon font.\n * @param className - Class name for styling the icon.\n * @param ariaLabel - Label for the icon for the benefit of screen readers.\n * {@docCategory Icon}\n */\nexport var getFontIcon = memoizeFunction(function (iconName, className, ariaLabel) {\n return FontIcon({ iconName: iconName, className: className, 'aria-label': ariaLabel });\n});\n//# sourceMappingURL=FontIcon.js.map","import { mergeStyleSets } from '../../Styling';\n/** Class names used in themeable and non-themeable Icon components */\nexport var classNames = mergeStyleSets({\n root: {\n display: 'inline-block',\n },\n placeholder: [\n 'ms-Icon-placeHolder',\n {\n width: '1em',\n },\n ],\n image: [\n 'ms-Icon-imageContainer',\n {\n overflow: 'hidden',\n },\n ],\n});\n/** Class name used only in non-themeable Icon components */\nexport var MS_ICON = 'ms-Icon';\nexport var getStyles = function (props) {\n var className = props.className, iconClassName = props.iconClassName, isPlaceholder = props.isPlaceholder, isImage = props.isImage, styles = props.styles;\n return {\n root: [\n isPlaceholder && classNames.placeholder,\n classNames.root,\n isImage && classNames.image,\n iconClassName,\n className,\n styles && styles.root,\n // eslint-disable-next-line deprecation/deprecation\n styles && styles.imageContainer,\n ],\n };\n};\n//# sourceMappingURL=Icon.styles.js.map","import { __assign, __extends } from \"tslib\";\nimport * as React from 'react';\nimport { IconType } from './Icon.types';\nimport { Image } from '../Image/Image';\nimport { ImageLoadState } from '../Image/Image.types';\nimport { getNativeProps, htmlElementProperties, classNamesFunction } from '../../Utilities';\nimport { getIconContent } from './FontIcon';\nvar getClassNames = classNamesFunction({\n // Icon is used a lot by other components.\n // It's likely to see expected cases which pass different className to the Icon.\n // Therefore setting a larger cache size.\n cacheSize: 100,\n});\nvar IconBase = /** @class */ (function (_super) {\n __extends(IconBase, _super);\n function IconBase(props) {\n var _this = _super.call(this, props) || this;\n _this._onImageLoadingStateChange = function (state) {\n if (_this.props.imageProps && _this.props.imageProps.onLoadingStateChange) {\n _this.props.imageProps.onLoadingStateChange(state);\n }\n if (state === ImageLoadState.error) {\n _this.setState({ imageLoadError: true });\n }\n };\n _this.state = {\n imageLoadError: false,\n };\n return _this;\n }\n IconBase.prototype.render = function () {\n var _a = this.props, children = _a.children, className = _a.className, styles = _a.styles, iconName = _a.iconName, imageErrorAs = _a.imageErrorAs, theme = _a.theme;\n var isPlaceholder = typeof iconName === 'string' && iconName.length === 0;\n var isImage = \n // eslint-disable-next-line deprecation/deprecation\n !!this.props.imageProps || this.props.iconType === IconType.image || this.props.iconType === IconType.Image;\n var iconContent = getIconContent(iconName) || {};\n var iconClassName = iconContent.iconClassName, iconContentChildren = iconContent.children;\n var classNames = getClassNames(styles, {\n theme: theme,\n className: className,\n iconClassName: iconClassName,\n isImage: isImage,\n isPlaceholder: isPlaceholder,\n });\n var RootType = isImage ? 'span' : 'i';\n var nativeProps = getNativeProps(this.props, htmlElementProperties, [\n 'aria-label',\n ]);\n var imageLoadError = this.state.imageLoadError;\n var imageProps = __assign(__assign({}, this.props.imageProps), { onLoadingStateChange: this._onImageLoadingStateChange });\n var ImageType = (imageLoadError && imageErrorAs) || Image;\n // eslint-disable-next-line deprecation/deprecation\n var ariaLabel = this.props['aria-label'] || this.props.ariaLabel;\n var accessibleName = imageProps.alt || ariaLabel;\n var hasName = !!(accessibleName ||\n this.props['aria-labelledby'] ||\n imageProps['aria-label'] ||\n imageProps['aria-labelledby']);\n var containerProps = hasName\n ? {\n role: isImage ? undefined : 'img',\n 'aria-label': isImage ? undefined : accessibleName,\n }\n : {\n 'aria-hidden': true,\n };\n return (React.createElement(RootType, __assign({ \"data-icon-name\": iconName }, containerProps, nativeProps, { className: classNames.root }), isImage ? React.createElement(ImageType, __assign({}, imageProps)) : children || iconContentChildren));\n };\n return IconBase;\n}(React.Component));\nexport { IconBase };\n//# sourceMappingURL=Icon.base.js.map","import { styled } from '../../Utilities';\nimport { IconBase } from './Icon.base';\nimport { getStyles } from './Icon.styles';\n/**\n * Legacy Icon component which can be targeted by customization. It's recommended to use `FontIcon`\n * or `ImageIcon` instead, especially in scenarios where rendering performance is important.\n * {@docCategory Icon}\n */\nexport var Icon = styled(IconBase, getStyles, undefined, {\n scope: 'Icon',\n}, true);\nIcon.displayName = 'Icon';\n//# sourceMappingURL=Icon.js.map","import { __assign } from \"tslib\";\nimport * as React from 'react';\nimport { Image } from '../Image/Image';\nimport { css, getNativeProps, htmlElementProperties } from '../../Utilities';\nimport { classNames, MS_ICON } from './Icon.styles';\n/**\n * Fast icon component which only supports images (not font glyphs) and can't be targeted by customizations.\n * To style the icon, use `className` or reference `ms-Icon` in CSS.\n * {@docCategory Icon}\n */\nexport var ImageIcon = function (props) {\n var className = props.className, imageProps = props.imageProps;\n var nativeProps = getNativeProps(props, htmlElementProperties, [\n 'aria-label',\n 'aria-labelledby',\n 'title',\n 'aria-describedby',\n ]);\n var altText = imageProps.alt || props['aria-label'];\n var hasName = altText ||\n props['aria-labelledby'] ||\n props.title ||\n imageProps['aria-label'] ||\n imageProps['aria-labelledby'] ||\n imageProps.title;\n // move naming or describing attributes from the container (where they are invalid) to the image\n var imageNameProps = {\n 'aria-labelledby': props['aria-labelledby'],\n 'aria-describedby': props['aria-describedby'],\n title: props.title,\n };\n var containerProps = hasName\n ? {}\n : {\n 'aria-hidden': true,\n };\n return (React.createElement(\"div\", __assign({}, containerProps, nativeProps, { className: css(MS_ICON, classNames.root, classNames.image, className) }),\n React.createElement(Image, __assign({}, imageNameProps, imageProps, { alt: hasName ? altText : '' }))));\n};\n//# sourceMappingURL=ImageIcon.js.map","/**\n * {@docCategory FocusZone}\n */\nexport var FocusZoneTabbableElements = {\n /** Tabbing is not allowed */\n none: 0,\n /** All tabbing action is allowed */\n all: 1,\n /** Tabbing is allowed only on input elements */\n inputOnly: 2,\n};\n/**\n * {@docCategory FocusZone}\n */\nexport var FocusZoneDirection;\n(function (FocusZoneDirection) {\n /** Only react to up/down arrows. */\n FocusZoneDirection[FocusZoneDirection[\"vertical\"] = 0] = \"vertical\";\n /** Only react to left/right arrows. */\n FocusZoneDirection[FocusZoneDirection[\"horizontal\"] = 1] = \"horizontal\";\n /** React to all arrows. */\n FocusZoneDirection[FocusZoneDirection[\"bidirectional\"] = 2] = \"bidirectional\";\n /**\n * React to all arrows. Navigate next item in DOM on right/down arrow keys and previous - left/up arrow keys.\n * Right and Left arrow keys are swapped in RTL mode.\n */\n FocusZoneDirection[FocusZoneDirection[\"domOrder\"] = 3] = \"domOrder\";\n})(FocusZoneDirection || (FocusZoneDirection = {}));\n//# sourceMappingURL=FocusZone.types.js.map","import { __assign, __extends } from \"tslib\";\nimport * as React from 'react';\nimport { FocusZoneDirection, FocusZoneTabbableElements } from './FocusZone.types';\nimport { KeyCodes, css, elementContains, getDocument, getElementIndexPath, getFocusableByIndexPath, getId, getNativeProps, getNextElement, getParent, getPreviousElement, getRTL, htmlElementProperties, initializeComponentRef, isElementFocusSubZone, isElementFocusZone, isElementTabbable, raiseClick, shouldWrapFocus, warnDeprecations, portalContainsElement, getWindow, findScrollableParent, createMergedRef, } from '@fluentui/utilities';\nimport { mergeStyles } from '@fluentui/merge-styles';\nimport { getTheme } from '@fluentui/style-utilities';\nvar IS_FOCUSABLE_ATTRIBUTE = 'data-is-focusable';\nvar IS_ENTER_DISABLED_ATTRIBUTE = 'data-disable-click-on-enter';\nvar FOCUSZONE_ID_ATTRIBUTE = 'data-focuszone-id';\nvar TABINDEX = 'tabindex';\nvar NO_VERTICAL_WRAP = 'data-no-vertical-wrap';\nvar NO_HORIZONTAL_WRAP = 'data-no-horizontal-wrap';\nvar LARGE_DISTANCE_FROM_CENTER = 999999999;\nvar LARGE_NEGATIVE_DISTANCE_FROM_CENTER = -999999999;\nvar focusZoneStyles;\nvar focusZoneClass = 'ms-FocusZone';\n// Helper function that will return a class for when the root is focused\nfunction getRootClass() {\n if (!focusZoneStyles) {\n focusZoneStyles = mergeStyles({\n selectors: {\n ':focus': {\n outline: 'none',\n },\n },\n }, focusZoneClass);\n }\n return focusZoneStyles;\n}\nvar _allInstances = {};\nvar _outerZones = new Set();\nvar ALLOWED_INPUT_TYPES = ['text', 'number', 'password', 'email', 'tel', 'url', 'search'];\nvar ALLOW_VIRTUAL_ELEMENTS = false;\nvar FocusZone = /** @class */ (function (_super) {\n __extends(FocusZone, _super);\n function FocusZone(props) {\n var _this = _super.call(this, props) || this;\n _this._root = React.createRef();\n _this._mergedRef = createMergedRef();\n _this._onFocus = function (ev) {\n if (_this._portalContainsElement(ev.target)) {\n // If the event target is inside a portal do not process the event.\n return;\n }\n var _a = _this.props, onActiveElementChanged = _a.onActiveElementChanged, \n // eslint-disable-next-line deprecation/deprecation\n doNotAllowFocusEventToPropagate = _a.doNotAllowFocusEventToPropagate, stopFocusPropagation = _a.stopFocusPropagation, \n // eslint-disable-next-line deprecation/deprecation\n onFocusNotification = _a.onFocusNotification, onFocus = _a.onFocus, shouldFocusInnerElementWhenReceivedFocus = _a.shouldFocusInnerElementWhenReceivedFocus, defaultTabbableElement = _a.defaultTabbableElement;\n var isImmediateDescendant = _this._isImmediateDescendantOfZone(ev.target);\n var newActiveElement;\n if (isImmediateDescendant) {\n newActiveElement = ev.target;\n }\n else {\n var parentElement = ev.target;\n while (parentElement && parentElement !== _this._root.current) {\n if (isElementTabbable(parentElement) && _this._isImmediateDescendantOfZone(parentElement)) {\n newActiveElement = parentElement;\n break;\n }\n parentElement = getParent(parentElement, ALLOW_VIRTUAL_ELEMENTS);\n }\n }\n // If an inner focusable element should be focused when FocusZone container receives focus\n if (shouldFocusInnerElementWhenReceivedFocus && ev.target === _this._root.current) {\n var maybeElementToFocus = defaultTabbableElement &&\n typeof defaultTabbableElement === 'function' &&\n defaultTabbableElement(_this._root.current);\n // try to focus defaultTabbable element\n if (maybeElementToFocus && isElementTabbable(maybeElementToFocus)) {\n newActiveElement = maybeElementToFocus;\n maybeElementToFocus.focus();\n }\n else {\n // force focus on first focusable element\n _this.focus(true);\n if (_this._activeElement) {\n // set to null as new active element was handled in method above\n newActiveElement = null;\n }\n }\n }\n var initialElementFocused = !_this._activeElement;\n // If the new active element is a child of this zone and received focus,\n // update alignment an immediate descendant\n if (newActiveElement && newActiveElement !== _this._activeElement) {\n if (isImmediateDescendant || initialElementFocused) {\n _this._setFocusAlignment(newActiveElement, true, true);\n }\n _this._activeElement = newActiveElement;\n if (initialElementFocused) {\n _this._updateTabIndexes();\n }\n }\n if (onActiveElementChanged) {\n onActiveElementChanged(_this._activeElement, ev);\n }\n if (stopFocusPropagation || doNotAllowFocusEventToPropagate) {\n ev.stopPropagation();\n }\n if (onFocus) {\n onFocus(ev);\n }\n else if (onFocusNotification) {\n onFocusNotification();\n }\n };\n _this._onBlur = function () {\n _this._setParkedFocus(false);\n };\n _this._onMouseDown = function (ev) {\n if (_this._portalContainsElement(ev.target)) {\n // If the event target is inside a portal do not process the event.\n return;\n }\n var disabled = _this.props.disabled;\n if (disabled) {\n return;\n }\n var target = ev.target;\n var path = [];\n while (target && target !== _this._root.current) {\n path.push(target);\n target = getParent(target, ALLOW_VIRTUAL_ELEMENTS);\n }\n while (path.length) {\n target = path.pop();\n if (target && isElementTabbable(target)) {\n _this._setActiveElement(target, true);\n }\n if (isElementFocusZone(target)) {\n // Stop here since the focus zone will take care of its own children.\n break;\n }\n }\n };\n /**\n * Handle the keystrokes.\n */\n _this._onKeyDown = function (ev, theme) {\n if (_this._portalContainsElement(ev.target)) {\n // If the event target is inside a portal do not process the event.\n return;\n }\n // eslint-disable-next-line deprecation/deprecation\n var _a = _this.props, direction = _a.direction, disabled = _a.disabled, isInnerZoneKeystroke = _a.isInnerZoneKeystroke, pagingSupportDisabled = _a.pagingSupportDisabled, shouldEnterInnerZone = _a.shouldEnterInnerZone;\n if (disabled) {\n return;\n }\n if (_this.props.onKeyDown) {\n _this.props.onKeyDown(ev);\n }\n // If the default has been prevented, do not process keyboard events.\n if (ev.isDefaultPrevented()) {\n return;\n }\n if (_this._getDocument().activeElement === _this._root.current && _this._isInnerZone) {\n // If this element has focus, it is being controlled by a parent.\n // Ignore the keystroke.\n return;\n }\n if (((shouldEnterInnerZone && shouldEnterInnerZone(ev)) || (isInnerZoneKeystroke && isInnerZoneKeystroke(ev))) &&\n _this._isImmediateDescendantOfZone(ev.target)) {\n // Try to focus\n var innerZone = _this._getFirstInnerZone();\n if (innerZone) {\n if (!innerZone.focus(true)) {\n return;\n }\n }\n else if (isElementFocusSubZone(ev.target)) {\n if (!_this.focusElement(getNextElement(ev.target, ev.target.firstChild, true))) {\n return;\n }\n }\n else {\n return;\n }\n }\n else if (ev.altKey) {\n return;\n }\n else {\n // eslint-disable-next-line @fluentui/deprecated-keyboard-event-props, deprecation/deprecation\n switch (ev.which) {\n case KeyCodes.space:\n if (_this._tryInvokeClickForFocusable(ev.target)) {\n break;\n }\n return;\n case KeyCodes.left:\n if (direction !== FocusZoneDirection.vertical) {\n _this._preventDefaultWhenHandled(ev);\n if (_this._moveFocusLeft(theme)) {\n break;\n }\n }\n return;\n case KeyCodes.right:\n if (direction !== FocusZoneDirection.vertical) {\n _this._preventDefaultWhenHandled(ev);\n if (_this._moveFocusRight(theme)) {\n break;\n }\n }\n return;\n case KeyCodes.up:\n if (direction !== FocusZoneDirection.horizontal) {\n _this._preventDefaultWhenHandled(ev);\n if (_this._moveFocusUp()) {\n break;\n }\n }\n return;\n case KeyCodes.down:\n if (direction !== FocusZoneDirection.horizontal) {\n _this._preventDefaultWhenHandled(ev);\n if (_this._moveFocusDown()) {\n break;\n }\n }\n return;\n case KeyCodes.pageDown:\n if (!pagingSupportDisabled && _this._moveFocusPaging(true)) {\n break;\n }\n return;\n case KeyCodes.pageUp:\n if (!pagingSupportDisabled && _this._moveFocusPaging(false)) {\n break;\n }\n return;\n case KeyCodes.tab:\n if (\n // eslint-disable-next-line deprecation/deprecation\n _this.props.allowTabKey ||\n _this.props.handleTabKey === FocusZoneTabbableElements.all ||\n (_this.props.handleTabKey === FocusZoneTabbableElements.inputOnly &&\n _this._isElementInput(ev.target))) {\n var focusChanged = false;\n _this._processingTabKey = true;\n if (direction === FocusZoneDirection.vertical ||\n !_this._shouldWrapFocus(_this._activeElement, NO_HORIZONTAL_WRAP)) {\n focusChanged = ev.shiftKey ? _this._moveFocusUp() : _this._moveFocusDown();\n }\n else {\n var tabWithDirection = getRTL(theme) ? !ev.shiftKey : ev.shiftKey;\n focusChanged = tabWithDirection ? _this._moveFocusLeft(theme) : _this._moveFocusRight(theme);\n }\n _this._processingTabKey = false;\n if (focusChanged) {\n break;\n }\n else if (_this.props.shouldResetActiveElementWhenTabFromZone) {\n _this._activeElement = null;\n }\n }\n return;\n case KeyCodes.home:\n if (_this._isContentEditableElement(ev.target) ||\n (_this._isElementInput(ev.target) &&\n !_this._shouldInputLoseFocus(ev.target, false))) {\n return false;\n }\n var firstChild = _this._root.current && _this._root.current.firstChild;\n if (_this._root.current &&\n firstChild &&\n _this.focusElement(getNextElement(_this._root.current, firstChild, true))) {\n break;\n }\n return;\n case KeyCodes.end:\n if (_this._isContentEditableElement(ev.target) ||\n (_this._isElementInput(ev.target) &&\n !_this._shouldInputLoseFocus(ev.target, true))) {\n return false;\n }\n var lastChild = _this._root.current && _this._root.current.lastChild;\n if (_this._root.current &&\n _this.focusElement(getPreviousElement(_this._root.current, lastChild, true, true, true))) {\n break;\n }\n return;\n case KeyCodes.enter:\n if (_this._tryInvokeClickForFocusable(ev.target)) {\n break;\n }\n return;\n default:\n return;\n }\n }\n ev.preventDefault();\n ev.stopPropagation();\n };\n _this._getHorizontalDistanceFromCenter = function (isForward, activeRect, targetRect) {\n // eslint-disable-next-line deprecation/deprecation\n var leftAlignment = _this._focusAlignment.left || _this._focusAlignment.x || 0;\n // ClientRect values can be floats that differ by very small fractions of a decimal.\n // If the difference between top and bottom are within a pixel then we should treat\n // them as equivalent by using Math.floor. For instance 5.2222 and 5.222221 should be equivalent,\n // but without Math.Floor they will be handled incorrectly.\n var targetRectTop = Math.floor(targetRect.top);\n var activeRectBottom = Math.floor(activeRect.bottom);\n var targetRectBottom = Math.floor(targetRect.bottom);\n var activeRectTop = Math.floor(activeRect.top);\n var isValidCandidateOnpagingDown = isForward && targetRectTop > activeRectBottom;\n var isValidCandidateOnpagingUp = !isForward && targetRectBottom < activeRectTop;\n if (isValidCandidateOnpagingDown || isValidCandidateOnpagingUp) {\n if (leftAlignment >= targetRect.left && leftAlignment <= targetRect.left + targetRect.width) {\n return 0;\n }\n return Math.abs(targetRect.left + targetRect.width / 2 - leftAlignment);\n }\n if (!_this._shouldWrapFocus(_this._activeElement, NO_VERTICAL_WRAP)) {\n return LARGE_NEGATIVE_DISTANCE_FROM_CENTER;\n }\n return LARGE_DISTANCE_FROM_CENTER;\n };\n // Manage componentRef resolution.\n initializeComponentRef(_this);\n if (process.env.NODE_ENV !== 'production') {\n warnDeprecations('FocusZone', props, {\n rootProps: undefined,\n allowTabKey: 'handleTabKey',\n elementType: 'as',\n ariaDescribedBy: 'aria-describedby',\n ariaLabelledBy: 'aria-labelledby',\n });\n }\n _this._id = getId('FocusZone');\n _this._focusAlignment = {\n left: 0,\n top: 0,\n };\n _this._processingTabKey = false;\n return _this;\n }\n /** Used for testing purposes only. */\n FocusZone.getOuterZones = function () {\n return _outerZones.size;\n };\n /**\n * Handle global tab presses so that we can patch tabindexes on the fly.\n * HEADS UP: This must not be an arrow function in order to be referentially equal among instances\n * for ref counting to work correctly!\n */\n FocusZone._onKeyDownCapture = function (ev) {\n // eslint-disable-next-line deprecation/deprecation, @fluentui/deprecated-keyboard-event-props\n if (ev.which === KeyCodes.tab) {\n _outerZones.forEach(function (zone) { return zone._updateTabIndexes(); });\n }\n };\n FocusZone.prototype.componentDidMount = function () {\n var root = this._root.current;\n _allInstances[this._id] = this;\n if (root) {\n this._windowElement = getWindow(root);\n var parentElement = getParent(root, ALLOW_VIRTUAL_ELEMENTS);\n while (parentElement && parentElement !== this._getDocument().body && parentElement.nodeType === 1) {\n if (isElementFocusZone(parentElement)) {\n this._isInnerZone = true;\n break;\n }\n parentElement = getParent(parentElement, ALLOW_VIRTUAL_ELEMENTS);\n }\n if (!this._isInnerZone) {\n _outerZones.add(this);\n if (this._windowElement && _outerZones.size === 1) {\n this._windowElement.addEventListener('keydown', FocusZone._onKeyDownCapture, true);\n }\n }\n this._root.current && this._root.current.addEventListener('blur', this._onBlur, true);\n // Assign initial tab indexes so that we can set initial focus as appropriate.\n this._updateTabIndexes();\n if (this.props.defaultTabbableElement && typeof this.props.defaultTabbableElement === 'string') {\n this._activeElement = this._getDocument().querySelector(this.props.defaultTabbableElement);\n // eslint-disable-next-line deprecation/deprecation\n }\n else if (this.props.defaultActiveElement) {\n // eslint-disable-next-line deprecation/deprecation\n this._activeElement = this._getDocument().querySelector(this.props.defaultActiveElement);\n }\n if (this.props.shouldFocusOnMount) {\n this.focus();\n }\n }\n };\n FocusZone.prototype.componentDidUpdate = function () {\n var root = this._root.current;\n var doc = this._getDocument();\n if (doc &&\n this._lastIndexPath &&\n (doc.activeElement === doc.body ||\n doc.activeElement === null ||\n (!this.props.preventFocusRestoration && doc.activeElement === root))) {\n // The element has been removed after the render, attempt to restore focus.\n var elementToFocus = getFocusableByIndexPath(root, this._lastIndexPath);\n if (elementToFocus) {\n this._setActiveElement(elementToFocus, true);\n elementToFocus.focus();\n this._setParkedFocus(false);\n }\n else {\n // We had a focus path to restore, but now that path is unresolvable. Park focus\n // on the container until we can try again.\n this._setParkedFocus(true);\n }\n }\n };\n FocusZone.prototype.componentWillUnmount = function () {\n delete _allInstances[this._id];\n if (!this._isInnerZone) {\n _outerZones.delete(this);\n // If this is the last outer zone, remove the keydown listener.\n if (this._windowElement && _outerZones.size === 0) {\n this._windowElement.removeEventListener('keydown', FocusZone._onKeyDownCapture, true);\n }\n }\n if (this._root.current) {\n this._root.current.removeEventListener('blur', this._onBlur, true);\n }\n this._activeElement = null;\n this._defaultFocusElement = null;\n };\n FocusZone.prototype.render = function () {\n var _this = this;\n // eslint-disable-next-line deprecation/deprecation\n var _a = this.props, tag = _a.as, elementType = _a.elementType, rootProps = _a.rootProps, ariaDescribedBy = _a.ariaDescribedBy, ariaLabelledBy = _a.ariaLabelledBy, className = _a.className;\n var divProps = getNativeProps(this.props, htmlElementProperties);\n var Tag = tag || elementType || 'div';\n // Note, right before rendering/reconciling proceeds, we need to record if focus\n // was in the zone before the update. This helper will track this and, if focus\n // was actually in the zone, what the index path to the element is at this time.\n // Then, later in componentDidUpdate, we can evaluate if we need to restore it in\n // the case the element was removed.\n this._evaluateFocusBeforeRender();\n // Only support RTL defined in global theme, not contextual theme/RTL.\n var theme = getTheme();\n return (React.createElement(Tag, __assign({ \"aria-labelledby\": ariaLabelledBy, \"aria-describedby\": ariaDescribedBy }, divProps, rootProps, { \n // Once the getClassName correctly memoizes inputs this should\n // be replaced so that className is passed to getRootClass and is included there so\n // the class names will always be in the same order.\n className: css(getRootClass(), className), \n // eslint-disable-next-line deprecation/deprecation\n ref: this._mergedRef(this.props.elementRef, this._root), \"data-focuszone-id\": this._id, \n // eslint-disable-next-line react/jsx-no-bind\n onKeyDown: function (ev) { return _this._onKeyDown(ev, theme); }, onFocus: this._onFocus, onMouseDownCapture: this._onMouseDown }), this.props.children));\n };\n /**\n * Sets focus to the first tabbable item in the zone.\n * @param forceIntoFirstElement - If true, focus will be forced into the first element, even\n * if focus is already in the focus zone.\n * @returns True if focus could be set to an active element, false if no operation was taken.\n */\n FocusZone.prototype.focus = function (forceIntoFirstElement) {\n if (forceIntoFirstElement === void 0) { forceIntoFirstElement = false; }\n if (this._root.current) {\n if (!forceIntoFirstElement &&\n this._root.current.getAttribute(IS_FOCUSABLE_ATTRIBUTE) === 'true' &&\n this._isInnerZone) {\n var ownerZoneElement = this._getOwnerZone(this._root.current);\n if (ownerZoneElement !== this._root.current) {\n var ownerZone = _allInstances[ownerZoneElement.getAttribute(FOCUSZONE_ID_ATTRIBUTE)];\n return !!ownerZone && ownerZone.focusElement(this._root.current);\n }\n return false;\n }\n else if (!forceIntoFirstElement &&\n this._activeElement &&\n elementContains(this._root.current, this._activeElement) &&\n isElementTabbable(this._activeElement)) {\n this._activeElement.focus();\n return true;\n }\n else {\n var firstChild = this._root.current.firstChild;\n return this.focusElement(getNextElement(this._root.current, firstChild, true));\n }\n }\n return false;\n };\n /**\n * Sets focus to the last tabbable item in the zone.\n * @returns True if focus could be set to an active element, false if no operation was taken.\n */\n FocusZone.prototype.focusLast = function () {\n if (this._root.current) {\n var lastChild = this._root.current && this._root.current.lastChild;\n return this.focusElement(getPreviousElement(this._root.current, lastChild, true, true, true));\n }\n return false;\n };\n /**\n * Sets focus to a specific child element within the zone. This can be used in conjunction with\n * shouldReceiveFocus to create delayed focus scenarios (like animate the scroll position to the correct\n * location and then focus.)\n * @param element - The child element within the zone to focus.\n * @param forceAlignment - If true, focus alignment will be set according to the element provided.\n * @returns True if focus could be set to an active element, false if no operation was taken.\n */\n FocusZone.prototype.focusElement = function (element, forceAlignment) {\n // eslint-disable-next-line deprecation/deprecation\n var _a = this.props, onBeforeFocus = _a.onBeforeFocus, shouldReceiveFocus = _a.shouldReceiveFocus;\n if ((shouldReceiveFocus && !shouldReceiveFocus(element)) || (onBeforeFocus && !onBeforeFocus(element))) {\n return false;\n }\n if (element) {\n // when we set focus to a specific child, we should recalculate the alignment depending on its position.\n this._setActiveElement(element, forceAlignment);\n if (this._activeElement) {\n this._activeElement.focus();\n }\n return true;\n }\n return false;\n };\n /**\n * Forces horizontal alignment in the context of vertical arrowing to use specific point as the reference,\n * rather than a center based on the last horizontal motion.\n * @param point - the new reference point.\n */\n FocusZone.prototype.setFocusAlignment = function (point) {\n this._focusAlignment = point;\n };\n FocusZone.prototype._evaluateFocusBeforeRender = function () {\n var root = this._root.current;\n var doc = this._getDocument();\n if (doc) {\n var focusedElement = doc.activeElement;\n // Only update the index path if we are not parked on the root.\n if (focusedElement !== root) {\n var shouldRestoreFocus = elementContains(root, focusedElement, false);\n this._lastIndexPath = shouldRestoreFocus ? getElementIndexPath(root, focusedElement) : undefined;\n }\n }\n };\n /**\n * When focus is in the zone at render time but then all focusable elements are removed,\n * we \"park\" focus temporarily on the root. Once we update with focusable children, we restore\n * focus to the closest path from previous. If the user tabs away from the parked container,\n * we restore focusability to the pre-parked state.\n */\n FocusZone.prototype._setParkedFocus = function (isParked) {\n var root = this._root.current;\n if (root && this._isParked !== isParked) {\n this._isParked = isParked;\n if (isParked) {\n if (!this.props.allowFocusRoot) {\n this._parkedTabIndex = root.getAttribute('tabindex');\n root.setAttribute('tabindex', '-1');\n }\n root.focus();\n }\n else if (!this.props.allowFocusRoot) {\n if (this._parkedTabIndex) {\n root.setAttribute('tabindex', this._parkedTabIndex);\n this._parkedTabIndex = undefined;\n }\n else {\n root.removeAttribute('tabindex');\n }\n }\n }\n };\n FocusZone.prototype._setActiveElement = function (element, forceAlignment) {\n var previousActiveElement = this._activeElement;\n this._activeElement = element;\n if (previousActiveElement) {\n if (isElementFocusZone(previousActiveElement)) {\n this._updateTabIndexes(previousActiveElement);\n }\n previousActiveElement.tabIndex = -1;\n }\n if (this._activeElement) {\n if (!this._focusAlignment || forceAlignment) {\n this._setFocusAlignment(element, true, true);\n }\n this._activeElement.tabIndex = 0;\n }\n };\n FocusZone.prototype._preventDefaultWhenHandled = function (ev) {\n this.props.preventDefaultWhenHandled && ev.preventDefault();\n };\n /**\n * Walk up the dom try to find a focusable element.\n */\n FocusZone.prototype._tryInvokeClickForFocusable = function (target) {\n if (target === this._root.current || !this.props.shouldRaiseClicks) {\n return false;\n }\n do {\n if (target.tagName === 'BUTTON' ||\n target.tagName === 'A' ||\n target.tagName === 'INPUT' ||\n target.tagName === 'TEXTAREA') {\n return false;\n }\n if (this._isImmediateDescendantOfZone(target) &&\n target.getAttribute(IS_FOCUSABLE_ATTRIBUTE) === 'true' &&\n target.getAttribute(IS_ENTER_DISABLED_ATTRIBUTE) !== 'true') {\n raiseClick(target);\n return true;\n }\n target = getParent(target, ALLOW_VIRTUAL_ELEMENTS);\n } while (target !== this._root.current);\n return false;\n };\n /**\n * Traverse to find first child zone.\n */\n FocusZone.prototype._getFirstInnerZone = function (rootElement) {\n rootElement = rootElement || this._activeElement || this._root.current;\n if (!rootElement) {\n return null;\n }\n if (isElementFocusZone(rootElement)) {\n return _allInstances[rootElement.getAttribute(FOCUSZONE_ID_ATTRIBUTE)];\n }\n var child = rootElement.firstElementChild;\n while (child) {\n if (isElementFocusZone(child)) {\n return _allInstances[child.getAttribute(FOCUSZONE_ID_ATTRIBUTE)];\n }\n var match = this._getFirstInnerZone(child);\n if (match) {\n return match;\n }\n child = child.nextElementSibling;\n }\n return null;\n };\n FocusZone.prototype._moveFocus = function (isForward, getDistanceFromCenter, ev, useDefaultWrap) {\n if (useDefaultWrap === void 0) { useDefaultWrap = true; }\n var element = this._activeElement;\n var candidateDistance = -1;\n var candidateElement = undefined;\n var changedFocus = false;\n var isBidirectional = this.props.direction === FocusZoneDirection.bidirectional;\n if (!element || !this._root.current) {\n return false;\n }\n if (this._isElementInput(element)) {\n if (!this._shouldInputLoseFocus(element, isForward)) {\n return false;\n }\n }\n var activeRect = isBidirectional ? element.getBoundingClientRect() : null;\n do {\n element = (isForward\n ? getNextElement(this._root.current, element)\n : getPreviousElement(this._root.current, element));\n if (isBidirectional) {\n if (element) {\n var targetRect = element.getBoundingClientRect();\n var elementDistance = getDistanceFromCenter(activeRect, targetRect);\n if (elementDistance === -1 && candidateDistance === -1) {\n candidateElement = element;\n break;\n }\n if (elementDistance > -1 && (candidateDistance === -1 || elementDistance < candidateDistance)) {\n candidateDistance = elementDistance;\n candidateElement = element;\n }\n if (candidateDistance >= 0 && elementDistance < 0) {\n break;\n }\n }\n }\n else {\n candidateElement = element;\n break;\n }\n } while (element);\n // Focus the closest candidate\n if (candidateElement && candidateElement !== this._activeElement) {\n changedFocus = true;\n this.focusElement(candidateElement);\n }\n else if (this.props.isCircularNavigation && useDefaultWrap) {\n if (isForward) {\n return this.focusElement(getNextElement(this._root.current, this._root.current.firstElementChild, true));\n }\n else {\n return this.focusElement(getPreviousElement(this._root.current, this._root.current.lastElementChild, true, true, true));\n }\n }\n return changedFocus;\n };\n FocusZone.prototype._moveFocusDown = function () {\n var _this = this;\n var targetTop = -1;\n // eslint-disable-next-line deprecation/deprecation\n var leftAlignment = this._focusAlignment.left || this._focusAlignment.x || 0;\n if (this._moveFocus(true, function (activeRect, targetRect) {\n var distance = -1;\n // ClientRect values can be floats that differ by very small fractions of a decimal.\n // If the difference between top and bottom are within a pixel then we should treat\n // them as equivalent by using Math.floor. For instance 5.2222 and 5.222221 should be equivalent,\n // but without Math.Floor they will be handled incorrectly.\n var targetRectTop = Math.floor(targetRect.top);\n var activeRectBottom = Math.floor(activeRect.bottom);\n if (targetRectTop < activeRectBottom) {\n if (!_this._shouldWrapFocus(_this._activeElement, NO_VERTICAL_WRAP)) {\n return LARGE_NEGATIVE_DISTANCE_FROM_CENTER;\n }\n return LARGE_DISTANCE_FROM_CENTER;\n }\n if ((targetTop === -1 && targetRectTop >= activeRectBottom) || targetRectTop === targetTop) {\n targetTop = targetRectTop;\n if (leftAlignment >= targetRect.left && leftAlignment <= targetRect.left + targetRect.width) {\n distance = 0;\n }\n else {\n distance = Math.abs(targetRect.left + targetRect.width / 2 - leftAlignment);\n }\n }\n return distance;\n })) {\n this._setFocusAlignment(this._activeElement, false, true);\n return true;\n }\n return false;\n };\n FocusZone.prototype._moveFocusUp = function () {\n var _this = this;\n var targetTop = -1;\n // eslint-disable-next-line deprecation/deprecation\n var leftAlignment = this._focusAlignment.left || this._focusAlignment.x || 0;\n if (this._moveFocus(false, function (activeRect, targetRect) {\n var distance = -1;\n // ClientRect values can be floats that differ by very small fractions of a decimal.\n // If the difference between top and bottom are within a pixel then we should treat\n // them as equivalent by using Math.floor. For instance 5.2222 and 5.222221 should be equivalent,\n // but without Math.Floor they will be handled incorrectly.\n var targetRectBottom = Math.floor(targetRect.bottom);\n var targetRectTop = Math.floor(targetRect.top);\n var activeRectTop = Math.floor(activeRect.top);\n if (targetRectBottom > activeRectTop) {\n if (!_this._shouldWrapFocus(_this._activeElement, NO_VERTICAL_WRAP)) {\n return LARGE_NEGATIVE_DISTANCE_FROM_CENTER;\n }\n return LARGE_DISTANCE_FROM_CENTER;\n }\n if ((targetTop === -1 && targetRectBottom <= activeRectTop) || targetRectTop === targetTop) {\n targetTop = targetRectTop;\n if (leftAlignment >= targetRect.left && leftAlignment <= targetRect.left + targetRect.width) {\n distance = 0;\n }\n else {\n distance = Math.abs(targetRect.left + targetRect.width / 2 - leftAlignment);\n }\n }\n return distance;\n })) {\n this._setFocusAlignment(this._activeElement, false, true);\n return true;\n }\n return false;\n };\n FocusZone.prototype._moveFocusLeft = function (theme) {\n var _this = this;\n var shouldWrap = this._shouldWrapFocus(this._activeElement, NO_HORIZONTAL_WRAP);\n if (this._moveFocus(getRTL(theme), function (activeRect, targetRect) {\n var distance = -1;\n var topBottomComparison;\n if (getRTL(theme)) {\n // When in RTL, this comparison should be the same as the one in _moveFocusRight for LTR.\n // Going left at a leftmost rectangle will go down a line instead of up a line like in LTR.\n // This is important, because we want to be comparing the top of the target rect\n // with the bottom of the active rect.\n topBottomComparison = parseFloat(targetRect.top.toFixed(3)) < parseFloat(activeRect.bottom.toFixed(3));\n }\n else {\n topBottomComparison = parseFloat(targetRect.bottom.toFixed(3)) > parseFloat(activeRect.top.toFixed(3));\n }\n if (topBottomComparison &&\n targetRect.right <= activeRect.right &&\n _this.props.direction !== FocusZoneDirection.vertical) {\n distance = activeRect.right - targetRect.right;\n }\n else if (!shouldWrap) {\n distance = LARGE_NEGATIVE_DISTANCE_FROM_CENTER;\n }\n return distance;\n }, undefined /*ev*/, shouldWrap)) {\n this._setFocusAlignment(this._activeElement, true, false);\n return true;\n }\n return false;\n };\n FocusZone.prototype._moveFocusRight = function (theme) {\n var _this = this;\n var shouldWrap = this._shouldWrapFocus(this._activeElement, NO_HORIZONTAL_WRAP);\n if (this._moveFocus(!getRTL(theme), function (activeRect, targetRect) {\n var distance = -1;\n var topBottomComparison;\n if (getRTL(theme)) {\n // When in RTL, this comparison should be the same as the one in _moveFocusLeft for LTR.\n // Going right at a rightmost rectangle will go up a line instead of down a line like in LTR.\n // This is important, because we want to be comparing the bottom of the target rect\n // with the top of the active rect.\n topBottomComparison = parseFloat(targetRect.bottom.toFixed(3)) > parseFloat(activeRect.top.toFixed(3));\n }\n else {\n topBottomComparison = parseFloat(targetRect.top.toFixed(3)) < parseFloat(activeRect.bottom.toFixed(3));\n }\n if (topBottomComparison &&\n targetRect.left >= activeRect.left &&\n _this.props.direction !== FocusZoneDirection.vertical) {\n distance = targetRect.left - activeRect.left;\n }\n else if (!shouldWrap) {\n distance = LARGE_NEGATIVE_DISTANCE_FROM_CENTER;\n }\n return distance;\n }, undefined /*ev*/, shouldWrap)) {\n this._setFocusAlignment(this._activeElement, true, false);\n return true;\n }\n return false;\n };\n FocusZone.prototype._moveFocusPaging = function (isForward, useDefaultWrap) {\n if (useDefaultWrap === void 0) { useDefaultWrap = true; }\n var element = this._activeElement;\n if (!element || !this._root.current) {\n return false;\n }\n if (this._isElementInput(element)) {\n if (!this._shouldInputLoseFocus(element, isForward)) {\n return false;\n }\n }\n var scrollableParent = findScrollableParent(element);\n if (!scrollableParent) {\n return false;\n }\n var candidateDistance = -1;\n var candidateElement = undefined;\n var targetTop = -1;\n var targetBottom = -1;\n var pagesize = scrollableParent.clientHeight;\n var activeRect = element.getBoundingClientRect();\n do {\n element = isForward\n ? getNextElement(this._root.current, element)\n : getPreviousElement(this._root.current, element);\n if (element) {\n var targetRect = element.getBoundingClientRect();\n var targetRectTop = Math.floor(targetRect.top);\n var activeRectBottom = Math.floor(activeRect.bottom);\n var targetRectBottom = Math.floor(targetRect.bottom);\n var activeRectTop = Math.floor(activeRect.top);\n var elementDistance = this._getHorizontalDistanceFromCenter(isForward, activeRect, targetRect);\n var isElementPassedPageSizeOnPagingDown = isForward && targetRectTop > activeRectBottom + pagesize;\n var isElementPassedPageSizeOnPagingUp = !isForward && targetRectBottom < activeRectTop - pagesize;\n if (isElementPassedPageSizeOnPagingDown || isElementPassedPageSizeOnPagingUp) {\n break;\n }\n if (elementDistance > -1) {\n // for paging down\n if (isForward && targetRectTop > targetTop) {\n targetTop = targetRectTop;\n candidateDistance = elementDistance;\n candidateElement = element;\n }\n else if (!isForward && targetRectBottom < targetBottom) {\n // for paging up\n targetBottom = targetRectBottom;\n candidateDistance = elementDistance;\n candidateElement = element;\n }\n else if (candidateDistance === -1 || elementDistance <= candidateDistance) {\n candidateDistance = elementDistance;\n candidateElement = element;\n }\n }\n }\n } while (element);\n var changedFocus = false;\n // Focus the closest candidate\n if (candidateElement && candidateElement !== this._activeElement) {\n changedFocus = true;\n this.focusElement(candidateElement);\n this._setFocusAlignment(candidateElement, false, true);\n }\n else if (this.props.isCircularNavigation && useDefaultWrap) {\n if (isForward) {\n return this.focusElement(getNextElement(this._root.current, this._root.current.firstElementChild, true));\n }\n return this.focusElement(getPreviousElement(this._root.current, this._root.current.lastElementChild, true, true, true));\n }\n return changedFocus;\n };\n FocusZone.prototype._setFocusAlignment = function (element, isHorizontal, isVertical) {\n if (this.props.direction === FocusZoneDirection.bidirectional &&\n (!this._focusAlignment || isHorizontal || isVertical)) {\n var rect = element.getBoundingClientRect();\n var left = rect.left + rect.width / 2;\n var top_1 = rect.top + rect.height / 2;\n if (!this._focusAlignment) {\n this._focusAlignment = { left: left, top: top_1 };\n }\n if (isHorizontal) {\n this._focusAlignment.left = left;\n }\n if (isVertical) {\n this._focusAlignment.top = top_1;\n }\n }\n };\n FocusZone.prototype._isImmediateDescendantOfZone = function (element) {\n return this._getOwnerZone(element) === this._root.current;\n };\n FocusZone.prototype._getOwnerZone = function (element) {\n var parentElement = getParent(element, ALLOW_VIRTUAL_ELEMENTS);\n while (parentElement && parentElement !== this._root.current && parentElement !== this._getDocument().body) {\n if (isElementFocusZone(parentElement)) {\n return parentElement;\n }\n parentElement = getParent(parentElement, ALLOW_VIRTUAL_ELEMENTS);\n }\n return parentElement;\n };\n FocusZone.prototype._updateTabIndexes = function (element) {\n if (!this._activeElement &&\n this.props.defaultTabbableElement &&\n typeof this.props.defaultTabbableElement === 'function') {\n this._activeElement = this.props.defaultTabbableElement(this._root.current);\n }\n if (!element && this._root.current) {\n this._defaultFocusElement = null;\n element = this._root.current;\n if (this._activeElement && !elementContains(element, this._activeElement)) {\n this._activeElement = null;\n }\n }\n // If active element changes state to disabled, set it to null.\n // Otherwise, we lose keyboard accessibility to other elements in focus zone.\n if (this._activeElement && !isElementTabbable(this._activeElement)) {\n this._activeElement = null;\n }\n var childNodes = element && element.children;\n for (var childIndex = 0; childNodes && childIndex < childNodes.length; childIndex++) {\n var child = childNodes[childIndex];\n if (!isElementFocusZone(child)) {\n // If the item is explicitly set to not be focusable then TABINDEX needs to be set to -1.\n if (child.getAttribute && child.getAttribute(IS_FOCUSABLE_ATTRIBUTE) === 'false') {\n child.setAttribute(TABINDEX, '-1');\n }\n if (isElementTabbable(child)) {\n if (this.props.disabled) {\n child.setAttribute(TABINDEX, '-1');\n }\n else if (!this._isInnerZone &&\n ((!this._activeElement && !this._defaultFocusElement) || this._activeElement === child)) {\n this._defaultFocusElement = child;\n if (child.getAttribute(TABINDEX) !== '0') {\n child.setAttribute(TABINDEX, '0');\n }\n }\n else if (child.getAttribute(TABINDEX) !== '-1') {\n child.setAttribute(TABINDEX, '-1');\n }\n }\n else if (child.tagName === 'svg' && child.getAttribute('focusable') !== 'false') {\n // Disgusting IE hack. Sad face.\n child.setAttribute('focusable', 'false');\n }\n }\n else if (child.getAttribute(IS_FOCUSABLE_ATTRIBUTE) === 'true') {\n if (!this._isInnerZone &&\n ((!this._activeElement && !this._defaultFocusElement) || this._activeElement === child)) {\n this._defaultFocusElement = child;\n if (child.getAttribute(TABINDEX) !== '0') {\n child.setAttribute(TABINDEX, '0');\n }\n }\n else if (child.getAttribute(TABINDEX) !== '-1') {\n child.setAttribute(TABINDEX, '-1');\n }\n }\n this._updateTabIndexes(child);\n }\n };\n FocusZone.prototype._isContentEditableElement = function (element) {\n return element && element.getAttribute('contenteditable') === 'true';\n };\n FocusZone.prototype._isElementInput = function (element) {\n if (element &&\n element.tagName &&\n (element.tagName.toLowerCase() === 'input' || element.tagName.toLowerCase() === 'textarea')) {\n return true;\n }\n return false;\n };\n FocusZone.prototype._shouldInputLoseFocus = function (element, isForward) {\n // If a tab was used, we want to focus on the next element.\n if (!this._processingTabKey &&\n element &&\n element.type &&\n ALLOWED_INPUT_TYPES.indexOf(element.type.toLowerCase()) > -1) {\n var selectionStart = element.selectionStart;\n var selectionEnd = element.selectionEnd;\n var isRangeSelected = selectionStart !== selectionEnd;\n var inputValue = element.value;\n var isReadonly = element.readOnly;\n // We shouldn't lose focus in the following cases:\n // 1. There is range selected.\n // 2. When selection start is larger than 0 and it is backward and not readOnly.\n // 3. when selection start is not the end of length, it is forward and not readOnly.\n // 4. We press any of the arrow keys when our handleTabKey isn't none or undefined (only losing focus if we hit\n // tab) and if shouldInputLoseFocusOnArrowKey is defined, if scenario prefers to not loose the focus which is\n // determined by calling the callback shouldInputLoseFocusOnArrowKey\n if (isRangeSelected ||\n (selectionStart > 0 && !isForward && !isReadonly) ||\n (selectionStart !== inputValue.length && isForward && !isReadonly) ||\n (!!this.props.handleTabKey &&\n !(this.props.shouldInputLoseFocusOnArrowKey && this.props.shouldInputLoseFocusOnArrowKey(element)))) {\n return false;\n }\n }\n return true;\n };\n FocusZone.prototype._shouldWrapFocus = function (element, noWrapDataAttribute) {\n return this.props.checkForNoWrap ? shouldWrapFocus(element, noWrapDataAttribute) : true;\n };\n /**\n * Returns true if the element is a descendant of the FocusZone through a React portal.\n */\n FocusZone.prototype._portalContainsElement = function (element) {\n return element && !!this._root.current && portalContainsElement(element, this._root.current);\n };\n FocusZone.prototype._getDocument = function () {\n return getDocument(this._root.current);\n };\n FocusZone.defaultProps = {\n isCircularNavigation: false,\n direction: FocusZoneDirection.bidirectional,\n shouldRaiseClicks: true,\n };\n return FocusZone;\n}(React.Component));\nexport { FocusZone };\n//# sourceMappingURL=FocusZone.js.map","export { DirectionalHint } from '../../common/DirectionalHint';\n/**\n * {@docCategory ContextualMenu}\n */\nexport var ContextualMenuItemType;\n(function (ContextualMenuItemType) {\n ContextualMenuItemType[ContextualMenuItemType[\"Normal\"] = 0] = \"Normal\";\n ContextualMenuItemType[ContextualMenuItemType[\"Divider\"] = 1] = \"Divider\";\n ContextualMenuItemType[ContextualMenuItemType[\"Header\"] = 2] = \"Header\";\n ContextualMenuItemType[ContextualMenuItemType[\"Section\"] = 3] = \"Section\";\n})(ContextualMenuItemType || (ContextualMenuItemType = {}));\n//# sourceMappingURL=ContextualMenu.types.js.map","/**\n * Determines the effective checked state of a menu item.\n *\n * @param item {IContextualMenuItem} to get the check state of.\n * @returns {true} if the item is checked.\n * @returns {false} if the item is unchecked.\n * @returns {null} if the item is not checkable.\n */\nexport function getIsChecked(item) {\n if (item.canCheck) {\n return !!(item.isChecked || item.checked);\n }\n if (typeof item.isChecked === 'boolean') {\n return item.isChecked;\n }\n if (typeof item.checked === 'boolean') {\n return item.checked;\n }\n // Item is not checkable.\n return null;\n}\nexport function hasSubmenu(item) {\n return !!(item.subMenuProps || item.items);\n}\nexport function isItemDisabled(item) {\n return !!(item.isDisabled || item.disabled);\n}\nexport function getMenuItemAriaRole(item) {\n var isChecked = getIsChecked(item);\n var canCheck = isChecked !== null;\n return canCheck ? 'menuitemcheckbox' : 'menuitem';\n}\n//# sourceMappingURL=contextualMenuUtility.js.map","import { __assign, __extends } from \"tslib\";\nimport * as React from 'react';\nimport { hasSubmenu, getIsChecked } from '../../utilities/contextualMenu/index';\nimport { getRTL, initializeComponentRef } from '../../Utilities';\nimport { Icon } from '../../Icon';\nvar renderItemIcon = function (props) {\n var item = props.item, hasIcons = props.hasIcons, classNames = props.classNames;\n var iconProps = item.iconProps;\n if (!hasIcons) {\n return null;\n }\n if (item.onRenderIcon) {\n return item.onRenderIcon(props);\n }\n return React.createElement(Icon, __assign({}, iconProps, { className: classNames.icon }));\n};\nvar renderCheckMarkIcon = function (_a) {\n var onCheckmarkClick = _a.onCheckmarkClick, item = _a.item, classNames = _a.classNames;\n var isItemChecked = getIsChecked(item);\n if (onCheckmarkClick) {\n // Ensures that the item is passed as the first argument to the checkmark click callback.\n var onClick = function (e) { return onCheckmarkClick(item, e); };\n return (React.createElement(Icon, { iconName: item.canCheck !== false && isItemChecked ? 'CheckMark' : '', className: classNames.checkmarkIcon, \n // eslint-disable-next-line react/jsx-no-bind\n onClick: onClick }));\n }\n return null;\n};\nvar renderItemName = function (_a) {\n var item = _a.item, classNames = _a.classNames;\n /* eslint-disable deprecation/deprecation */\n if (item.text || item.name) {\n return React.createElement(\"span\", { className: classNames.label }, item.text || item.name);\n }\n /* eslint-enable deprecation/deprecation */\n return null;\n};\nvar renderSecondaryText = function (_a) {\n var item = _a.item, classNames = _a.classNames;\n if (item.secondaryText) {\n return React.createElement(\"span\", { className: classNames.secondaryText }, item.secondaryText);\n }\n return null;\n};\nvar renderSubMenuIcon = function (_a) {\n var item = _a.item, classNames = _a.classNames, theme = _a.theme;\n if (hasSubmenu(item)) {\n return (React.createElement(Icon, __assign({ iconName: getRTL(theme) ? 'ChevronLeft' : 'ChevronRight' }, item.submenuIconProps, { className: classNames.subMenuIcon })));\n }\n return null;\n};\nvar ContextualMenuItemBase = /** @class */ (function (_super) {\n __extends(ContextualMenuItemBase, _super);\n function ContextualMenuItemBase(props) {\n var _this = _super.call(this, props) || this;\n _this.openSubMenu = function () {\n var _a = _this.props, item = _a.item, openSubMenu = _a.openSubMenu, getSubmenuTarget = _a.getSubmenuTarget;\n if (getSubmenuTarget) {\n var submenuTarget = getSubmenuTarget();\n if (hasSubmenu(item) && openSubMenu && submenuTarget) {\n openSubMenu(item, submenuTarget);\n }\n }\n };\n _this.dismissSubMenu = function () {\n var _a = _this.props, item = _a.item, dismissSubMenu = _a.dismissSubMenu;\n if (hasSubmenu(item) && dismissSubMenu) {\n dismissSubMenu();\n }\n };\n _this.dismissMenu = function (dismissAll) {\n var dismissMenu = _this.props.dismissMenu;\n if (dismissMenu) {\n dismissMenu(undefined /* ev */, dismissAll);\n }\n };\n initializeComponentRef(_this);\n return _this;\n }\n ContextualMenuItemBase.prototype.render = function () {\n var _a = this.props, item = _a.item, classNames = _a.classNames;\n var renderContent = item.onRenderContent || this._renderLayout;\n return (React.createElement(\"div\", { className: item.split ? classNames.linkContentMenu : classNames.linkContent }, renderContent(this.props, {\n renderCheckMarkIcon: renderCheckMarkIcon,\n renderItemIcon: renderItemIcon,\n renderItemName: renderItemName,\n renderSecondaryText: renderSecondaryText,\n renderSubMenuIcon: renderSubMenuIcon,\n })));\n };\n ContextualMenuItemBase.prototype._renderLayout = function (props, defaultRenders) {\n return (React.createElement(React.Fragment, null,\n defaultRenders.renderCheckMarkIcon(props),\n defaultRenders.renderItemIcon(props),\n defaultRenders.renderItemName(props),\n defaultRenders.renderSecondaryText(props),\n defaultRenders.renderSubMenuIcon(props)));\n };\n return ContextualMenuItemBase;\n}(React.Component));\nexport { ContextualMenuItemBase };\n//# sourceMappingURL=ContextualMenuItem.base.js.map","import { getDividerClassNames } from '../Divider/VerticalDivider.classNames';\nimport { getMenuItemStyles } from './ContextualMenu.cnstyles';\nimport { mergeStyleSets, getGlobalClassNames, getScreenSelector, ScreenWidthMaxMedium, hiddenContentStyle, } from '../../Styling';\nimport { memoizeFunction, IsFocusVisibleClassName } from '../../Utilities';\nvar CONTEXTUAL_SPLIT_MENU_MINWIDTH = '28px';\nvar MediumScreenSelector = getScreenSelector(0, ScreenWidthMaxMedium);\nexport var getSplitButtonVerticalDividerClassNames = memoizeFunction(\n/* eslint-disable deprecation/deprecation */\nfunction (theme) {\n var _a;\n return mergeStyleSets(getDividerClassNames(theme), {\n /* eslint-enable deprecation/deprecation */\n wrapper: {\n position: 'absolute',\n right: 28,\n selectors: (_a = {},\n _a[MediumScreenSelector] = {\n right: 32,\n },\n _a),\n },\n divider: {\n height: 16,\n width: 1,\n },\n });\n});\nvar GlobalClassNames = {\n item: 'ms-ContextualMenu-item',\n divider: 'ms-ContextualMenu-divider',\n root: 'ms-ContextualMenu-link',\n isChecked: 'is-checked',\n isExpanded: 'is-expanded',\n isDisabled: 'is-disabled',\n linkContent: 'ms-ContextualMenu-linkContent',\n linkContentMenu: 'ms-ContextualMenu-linkContent',\n icon: 'ms-ContextualMenu-icon',\n iconColor: 'ms-ContextualMenu-iconColor',\n checkmarkIcon: 'ms-ContextualMenu-checkmarkIcon',\n subMenuIcon: 'ms-ContextualMenu-submenuIcon',\n label: 'ms-ContextualMenu-itemText',\n secondaryText: 'ms-ContextualMenu-secondaryText',\n splitMenu: 'ms-ContextualMenu-splitMenu',\n screenReaderText: 'ms-ContextualMenu-screenReaderText',\n};\n/**\n * @deprecated Will be removed in \\>= 7.0.\n * This is a package-internal method that has been depended on.\n * It is being kept in this form for backwards compatibility.\n * @internal\n */\n// TODO: Audit perf. impact of and potentially remove memoizeFunction.\n// https://github.com/microsoft/fluentui/issues/5534\nexport var getItemClassNames = memoizeFunction(function (theme, disabled, expanded, checked, isAnchorLink, knownIcon, itemClassName, dividerClassName, iconClassName, subMenuClassName, primaryDisabled, className) {\n var _a, _b, _c, _d;\n var styles = getMenuItemStyles(theme);\n var classNames = getGlobalClassNames(GlobalClassNames, theme);\n return mergeStyleSets({\n item: [classNames.item, styles.item, itemClassName],\n divider: [classNames.divider, styles.divider, dividerClassName],\n root: [\n classNames.root,\n styles.root,\n checked && [classNames.isChecked, styles.rootChecked],\n isAnchorLink && styles.anchorLink,\n expanded && [classNames.isExpanded, styles.rootExpanded],\n disabled && [classNames.isDisabled, styles.rootDisabled],\n !disabled &&\n !expanded && [\n {\n selectors: (_a = {\n ':hover': styles.rootHovered,\n ':active': styles.rootPressed\n },\n _a[\".\" + IsFocusVisibleClassName + \" &:focus, .\" + IsFocusVisibleClassName + \" &:focus:hover\"] = styles.rootFocused,\n _a[\".\" + IsFocusVisibleClassName + \" &:hover\"] = { background: 'inherit;' },\n _a),\n },\n ],\n className,\n ],\n splitPrimary: [\n styles.root,\n {\n width: \"calc(100% - \" + CONTEXTUAL_SPLIT_MENU_MINWIDTH + \")\",\n },\n checked && ['is-checked', styles.rootChecked],\n (disabled || primaryDisabled) && ['is-disabled', styles.rootDisabled],\n !(disabled || primaryDisabled) &&\n !checked && [\n {\n selectors: (_b = {\n ':hover': styles.rootHovered\n },\n // when hovering over the splitPrimary also affect the splitMenu\n _b[\":hover ~ .\" + classNames.splitMenu] = styles.rootHovered,\n _b[':active'] = styles.rootPressed,\n _b[\".\" + IsFocusVisibleClassName + \" &:focus, .\" + IsFocusVisibleClassName + \" &:focus:hover\"] = styles.rootFocused,\n _b[\".\" + IsFocusVisibleClassName + \" &:hover\"] = { background: 'inherit;' },\n _b),\n },\n ],\n ],\n splitMenu: [\n classNames.splitMenu,\n styles.root,\n {\n flexBasis: '0',\n padding: '0 8px',\n minWidth: CONTEXTUAL_SPLIT_MENU_MINWIDTH,\n },\n expanded && ['is-expanded', styles.rootExpanded],\n disabled && ['is-disabled', styles.rootDisabled],\n !disabled &&\n !expanded && [\n {\n selectors: (_c = {\n ':hover': styles.rootHovered,\n ':active': styles.rootPressed\n },\n _c[\".\" + IsFocusVisibleClassName + \" &:focus, .\" + IsFocusVisibleClassName + \" &:focus:hover\"] = styles.rootFocused,\n _c[\".\" + IsFocusVisibleClassName + \" &:hover\"] = { background: 'inherit;' },\n _c),\n },\n ],\n ],\n anchorLink: styles.anchorLink,\n linkContent: [classNames.linkContent, styles.linkContent],\n linkContentMenu: [\n classNames.linkContentMenu,\n styles.linkContent,\n {\n justifyContent: 'center',\n },\n ],\n icon: [\n classNames.icon,\n knownIcon && styles.iconColor,\n styles.icon,\n iconClassName,\n disabled && [classNames.isDisabled, styles.iconDisabled],\n ],\n iconColor: styles.iconColor,\n checkmarkIcon: [classNames.checkmarkIcon, knownIcon && styles.checkmarkIcon, styles.icon, iconClassName],\n subMenuIcon: [\n classNames.subMenuIcon,\n styles.subMenuIcon,\n subMenuClassName,\n expanded && { color: theme.palette.neutralPrimary },\n disabled && [styles.iconDisabled],\n ],\n label: [classNames.label, styles.label],\n secondaryText: [classNames.secondaryText, styles.secondaryText],\n splitContainer: [\n styles.splitButtonFlexContainer,\n !disabled &&\n !checked && [\n {\n selectors: (_d = {},\n _d[\".\" + IsFocusVisibleClassName + \" &:focus, .\" + IsFocusVisibleClassName + \" &:focus:hover\"] = styles.rootFocused,\n _d),\n },\n ],\n ],\n screenReaderText: [\n classNames.screenReaderText,\n styles.screenReaderText,\n hiddenContentStyle,\n { visibility: 'hidden' },\n ],\n });\n});\n/**\n * Wrapper function for generating ContextualMenuItem classNames which adheres to\n * the getStyles API, but invokes memoized className generator function with\n * primitive values.\n *\n * @param props the ContextualMenuItem style props used to generate its styles.\n */\nexport var getItemStyles = function (props) {\n var theme = props.theme, disabled = props.disabled, expanded = props.expanded, checked = props.checked, isAnchorLink = props.isAnchorLink, knownIcon = props.knownIcon, itemClassName = props.itemClassName, dividerClassName = props.dividerClassName, iconClassName = props.iconClassName, subMenuClassName = props.subMenuClassName, primaryDisabled = props.primaryDisabled, className = props.className;\n // eslint-disable-next-line deprecation/deprecation\n return getItemClassNames(theme, disabled, expanded, checked, isAnchorLink, knownIcon, itemClassName, dividerClassName, iconClassName, subMenuClassName, primaryDisabled, className);\n};\n//# sourceMappingURL=ContextualMenu.classNames.js.map","import { memoizeFunction } from '../../Utilities';\nimport { mergeStyleSets } from '../../Styling';\n/**\n * @deprecated use getStyles exported from VerticalDivider.styles.ts\n */\nexport var getDividerClassNames = memoizeFunction(\n// eslint-disable-next-line deprecation/deprecation\nfunction (theme) {\n return mergeStyleSets({\n wrapper: {\n display: 'inline-flex',\n height: '100%',\n alignItems: 'center',\n },\n divider: {\n width: 1,\n height: '100%',\n backgroundColor: theme.palette.neutralTertiaryAlt,\n },\n });\n});\n//# sourceMappingURL=VerticalDivider.classNames.js.map","import { __extends } from \"tslib\";\nimport * as React from 'react';\nimport { initializeComponentRef, shallowCompare } from '../../../Utilities';\nvar ContextualMenuItemWrapper = /** @class */ (function (_super) {\n __extends(ContextualMenuItemWrapper, _super);\n function ContextualMenuItemWrapper(props) {\n var _this = _super.call(this, props) || this;\n _this._onItemMouseEnter = function (ev) {\n var _a = _this.props, item = _a.item, onItemMouseEnter = _a.onItemMouseEnter;\n if (onItemMouseEnter) {\n onItemMouseEnter(item, ev, ev.currentTarget);\n }\n };\n _this._onItemClick = function (ev) {\n var _a = _this.props, item = _a.item, onItemClickBase = _a.onItemClickBase;\n if (onItemClickBase) {\n onItemClickBase(item, ev, ev.currentTarget);\n }\n };\n _this._onItemMouseLeave = function (ev) {\n var _a = _this.props, item = _a.item, onItemMouseLeave = _a.onItemMouseLeave;\n if (onItemMouseLeave) {\n onItemMouseLeave(item, ev);\n }\n };\n _this._onItemKeyDown = function (ev) {\n var _a = _this.props, item = _a.item, onItemKeyDown = _a.onItemKeyDown;\n if (onItemKeyDown) {\n onItemKeyDown(item, ev);\n }\n };\n _this._onItemMouseMove = function (ev) {\n var _a = _this.props, item = _a.item, onItemMouseMove = _a.onItemMouseMove;\n if (onItemMouseMove) {\n onItemMouseMove(item, ev, ev.currentTarget);\n }\n };\n _this._getSubmenuTarget = function () {\n return undefined;\n };\n initializeComponentRef(_this);\n return _this;\n }\n ContextualMenuItemWrapper.prototype.shouldComponentUpdate = function (newProps) {\n return !shallowCompare(newProps, this.props);\n };\n return ContextualMenuItemWrapper;\n}(React.Component));\nexport { ContextualMenuItemWrapper };\n//# sourceMappingURL=ContextualMenuItemWrapper.js.map","import { __assign } from \"tslib\";\nimport { concatStyleSets, getFocusStyle, HighContrastSelector, getScreenSelector, ScreenWidthMaxMedium, IconFontSizes, getHighContrastNoAdjustStyle, } from '../../Styling';\nimport { memoizeFunction } from '../../Utilities';\nexport var CONTEXTUAL_MENU_ITEM_HEIGHT = 36;\nvar MediumScreenSelector = getScreenSelector(0, ScreenWidthMaxMedium);\nvar getItemHighContrastStyles = memoizeFunction(function () {\n var _a;\n return {\n selectors: (_a = {},\n _a[HighContrastSelector] = __assign({ backgroundColor: 'Highlight', borderColor: 'Highlight', color: 'HighlightText' }, getHighContrastNoAdjustStyle()),\n _a),\n };\n});\nexport var getMenuItemStyles = memoizeFunction(function (theme) {\n var _a, _b, _c, _d, _e, _f, _g;\n var semanticColors = theme.semanticColors, fonts = theme.fonts, palette = theme.palette;\n var ContextualMenuItemBackgroundHoverColor = semanticColors.menuItemBackgroundHovered;\n var ContextualMenuItemTextHoverColor = semanticColors.menuItemTextHovered;\n var ContextualMenuItemBackgroundSelectedColor = semanticColors.menuItemBackgroundPressed;\n var ContextualMenuItemDividerColor = semanticColors.bodyDivider;\n var menuItemStyles = {\n item: [\n fonts.medium,\n {\n color: semanticColors.bodyText,\n position: 'relative',\n boxSizing: 'border-box',\n },\n ],\n divider: {\n display: 'block',\n height: '1px',\n backgroundColor: ContextualMenuItemDividerColor,\n position: 'relative',\n },\n root: [\n getFocusStyle(theme),\n fonts.medium,\n {\n color: semanticColors.bodyText,\n backgroundColor: 'transparent',\n border: 'none',\n width: '100%',\n height: CONTEXTUAL_MENU_ITEM_HEIGHT,\n lineHeight: CONTEXTUAL_MENU_ITEM_HEIGHT,\n display: 'block',\n cursor: 'pointer',\n padding: '0px 8px 0 4px',\n textAlign: 'left',\n },\n ],\n rootDisabled: {\n color: semanticColors.disabledBodyText,\n cursor: 'default',\n pointerEvents: 'none',\n selectors: (_a = {},\n _a[HighContrastSelector] = __assign({ color: 'GrayText', opacity: 1 }, getHighContrastNoAdjustStyle()),\n _a),\n },\n rootHovered: __assign({ backgroundColor: ContextualMenuItemBackgroundHoverColor, color: ContextualMenuItemTextHoverColor, selectors: {\n '.ms-ContextualMenu-icon': {\n color: palette.themeDarkAlt,\n },\n '.ms-ContextualMenu-submenuIcon': {\n color: palette.neutralPrimary,\n },\n } }, getItemHighContrastStyles()),\n rootFocused: __assign({ backgroundColor: palette.white }, getItemHighContrastStyles()),\n rootChecked: __assign({ selectors: {\n '.ms-ContextualMenu-checkmarkIcon': {\n color: palette.neutralPrimary,\n },\n } }, getItemHighContrastStyles()),\n rootPressed: __assign({ backgroundColor: ContextualMenuItemBackgroundSelectedColor, selectors: {\n '.ms-ContextualMenu-icon': {\n color: palette.themeDark,\n },\n '.ms-ContextualMenu-submenuIcon': {\n color: palette.neutralPrimary,\n },\n } }, getItemHighContrastStyles()),\n rootExpanded: __assign({ backgroundColor: ContextualMenuItemBackgroundSelectedColor, color: semanticColors.bodyTextChecked }, getItemHighContrastStyles()),\n linkContent: {\n whiteSpace: 'nowrap',\n height: 'inherit',\n display: 'flex',\n alignItems: 'center',\n maxWidth: '100%',\n },\n anchorLink: {\n padding: '0px 8px 0 4px',\n textRendering: 'auto',\n color: 'inherit',\n letterSpacing: 'normal',\n wordSpacing: 'normal',\n textTransform: 'none',\n textIndent: '0px',\n textShadow: 'none',\n textDecoration: 'none',\n boxSizing: 'border-box',\n },\n label: {\n margin: '0 4px',\n verticalAlign: 'middle',\n display: 'inline-block',\n flexGrow: '1',\n textOverflow: 'ellipsis',\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n },\n secondaryText: {\n color: theme.palette.neutralSecondary,\n paddingLeft: '20px',\n textAlign: 'right',\n },\n icon: {\n display: 'inline-block',\n minHeight: '1px',\n maxHeight: CONTEXTUAL_MENU_ITEM_HEIGHT,\n fontSize: IconFontSizes.medium,\n width: IconFontSizes.medium,\n margin: '0 4px',\n verticalAlign: 'middle',\n flexShrink: '0',\n selectors: (_b = {},\n _b[MediumScreenSelector] = {\n fontSize: IconFontSizes.large,\n width: IconFontSizes.large,\n },\n _b),\n },\n iconColor: {\n color: semanticColors.menuIcon,\n selectors: (_c = {},\n _c[HighContrastSelector] = {\n color: 'inherit',\n },\n _c['$root:hover &'] = {\n selectors: (_d = {},\n _d[HighContrastSelector] = {\n color: 'HighlightText',\n },\n _d),\n },\n _c['$root:focus &'] = {\n selectors: (_e = {},\n _e[HighContrastSelector] = {\n color: 'HighlightText',\n },\n _e),\n },\n _c),\n },\n iconDisabled: {\n color: semanticColors.disabledBodyText,\n },\n checkmarkIcon: {\n color: semanticColors.bodySubtext,\n selectors: (_f = {},\n _f[HighContrastSelector] = {\n color: 'HighlightText',\n },\n _f),\n },\n subMenuIcon: {\n height: CONTEXTUAL_MENU_ITEM_HEIGHT,\n lineHeight: CONTEXTUAL_MENU_ITEM_HEIGHT,\n color: palette.neutralSecondary,\n textAlign: 'center',\n display: 'inline-block',\n verticalAlign: 'middle',\n flexShrink: '0',\n fontSize: IconFontSizes.small,\n selectors: (_g = {\n ':hover': {\n color: palette.neutralPrimary,\n },\n ':active': {\n color: palette.neutralPrimary,\n }\n },\n _g[MediumScreenSelector] = {\n fontSize: IconFontSizes.medium,\n },\n _g[HighContrastSelector] = {\n color: 'HighlightText',\n },\n _g),\n },\n splitButtonFlexContainer: [\n getFocusStyle(theme),\n {\n display: 'flex',\n height: CONTEXTUAL_MENU_ITEM_HEIGHT,\n flexWrap: 'nowrap',\n justifyContent: 'center',\n alignItems: 'flex-start',\n },\n ],\n };\n return concatStyleSets(menuItemStyles);\n});\n//# sourceMappingURL=ContextualMenu.cnstyles.js.map","import { styled } from '../../Utilities';\nimport { ContextualMenuItemBase } from './ContextualMenuItem.base';\nimport { getItemStyles } from './ContextualMenu.classNames';\n/**\n * ContextualMenuItem description\n */\nexport var ContextualMenuItem = styled(ContextualMenuItemBase, getItemStyles, undefined, { scope: 'ContextualMenuItem' });\n//# sourceMappingURL=ContextualMenuItem.js.map","export var KTP_PREFIX = 'ktp';\nexport var KTP_SEPARATOR = '-';\nexport var KTP_FULL_PREFIX = KTP_PREFIX + KTP_SEPARATOR;\nexport var DATAKTP_TARGET = 'data-ktp-target';\nexport var DATAKTP_EXECUTE_TARGET = 'data-ktp-execute-target';\nexport var DATAKTP_ARIA_TARGET = 'data-ktp-aria-target';\nexport var KTP_LAYER_ID = 'ktp-layer-id';\nexport var KTP_ARIA_SEPARATOR = ', ';\n// Events\nexport var KeytipEvents;\n(function (KeytipEvents) {\n KeytipEvents.KEYTIP_ADDED = 'keytipAdded';\n KeytipEvents.KEYTIP_REMOVED = 'keytipRemoved';\n KeytipEvents.KEYTIP_UPDATED = 'keytipUpdated';\n KeytipEvents.PERSISTED_KEYTIP_ADDED = 'persistedKeytipAdded';\n KeytipEvents.PERSISTED_KEYTIP_REMOVED = 'persistedKeytipRemoved';\n KeytipEvents.PERSISTED_KEYTIP_EXECUTE = 'persistedKeytipExecute';\n KeytipEvents.ENTER_KEYTIP_MODE = 'enterKeytipMode';\n KeytipEvents.EXIT_KEYTIP_MODE = 'exitKeytipMode';\n})(KeytipEvents || (KeytipEvents = {}));\n//# sourceMappingURL=KeytipConstants.js.map","import { __assign, __spreadArrays } from \"tslib\";\nimport { EventGroup, getId } from '../../Utilities';\nimport { KeytipEvents } from '../../utilities/keytips/KeytipConstants';\n/**\n * This class is responsible for handling registering, updating, and unregistering of keytips\n */\nvar KeytipManager = /** @class */ (function () {\n function KeytipManager() {\n this.keytips = {};\n this.persistedKeytips = {};\n this.sequenceMapping = {};\n // This is (and should be) updated and kept in sync\n // with the inKeytipMode in KeytipLayer.\n this.inKeytipMode = false;\n // Boolean that gets checked before entering keytip mode by the KeytipLayer\n // Used for an override in special cases (e.g. Disable entering keytip mode when a modal is shown)\n this.shouldEnterKeytipMode = true;\n // Boolean to indicate whether to delay firing an event to update subscribers of\n // keytip data changed.\n this.delayUpdatingKeytipChange = false;\n }\n /**\n * Static function to get singleton KeytipManager instance\n *\n * @returns Singleton KeytipManager instance\n */\n KeytipManager.getInstance = function () {\n return this._instance;\n };\n /**\n * Initialization code to set set parameters to define\n * how the KeytipManager handles keytip data.\n *\n * @param delayUpdatingKeytipChange - T/F if we should delay notifiying keytip subscribers\n * of keytip changes\n */\n KeytipManager.prototype.init = function (delayUpdatingKeytipChange) {\n this.delayUpdatingKeytipChange = delayUpdatingKeytipChange;\n };\n /**\n * Registers a keytip\n *\n * @param keytipProps - Keytip to register\n * @param persisted - T/F if this keytip should be persisted, default is false\n * @returns Unique ID for this keytip\n */\n KeytipManager.prototype.register = function (keytipProps, persisted) {\n if (persisted === void 0) { persisted = false; }\n var props = keytipProps;\n if (!persisted) {\n // Add the overflowSetSequence if necessary\n props = this.addParentOverflow(keytipProps);\n this.sequenceMapping[props.keySequences.toString()] = props;\n }\n // Create a unique keytip\n var uniqueKeytip = this._getUniqueKtp(props);\n // Add to dictionary\n persisted\n ? (this.persistedKeytips[uniqueKeytip.uniqueID] = uniqueKeytip)\n : (this.keytips[uniqueKeytip.uniqueID] = uniqueKeytip);\n // We only want to add something new if we are currently showing keytip mode\n if (this.inKeytipMode || !this.delayUpdatingKeytipChange) {\n var event_1 = persisted ? KeytipEvents.PERSISTED_KEYTIP_ADDED : KeytipEvents.KEYTIP_ADDED;\n EventGroup.raise(this, event_1, {\n keytip: props,\n uniqueID: uniqueKeytip.uniqueID,\n });\n }\n return uniqueKeytip.uniqueID;\n };\n /**\n * Update a keytip\n *\n * @param keytipProps - Keytip to update\n * @param uniqueID - Unique ID of this keytip\n */\n KeytipManager.prototype.update = function (keytipProps, uniqueID) {\n var newKeytipProps = this.addParentOverflow(keytipProps);\n var uniqueKeytip = this._getUniqueKtp(newKeytipProps, uniqueID);\n var oldKeyTip = this.keytips[uniqueID];\n if (oldKeyTip) {\n // Update everything except 'visible'\n uniqueKeytip.keytip.visible = oldKeyTip.keytip.visible;\n // Update keytip in this.keytips\n this.keytips[uniqueID] = uniqueKeytip;\n // Update the sequence to be up to date\n delete this.sequenceMapping[oldKeyTip.keytip.keySequences.toString()];\n this.sequenceMapping[uniqueKeytip.keytip.keySequences.toString()] = uniqueKeytip.keytip;\n // Raise event only if we are currently in keytip mode\n if (this.inKeytipMode || !this.delayUpdatingKeytipChange) {\n EventGroup.raise(this, KeytipEvents.KEYTIP_UPDATED, {\n keytip: uniqueKeytip.keytip,\n uniqueID: uniqueKeytip.uniqueID,\n });\n }\n }\n };\n /**\n * Unregisters a keytip\n *\n * @param keytipToRemove - IKeytipProps of the keytip to remove\n * @param uniqueID - Unique ID of this keytip\n * @param persisted - T/F if this keytip should be persisted, default is false\n */\n KeytipManager.prototype.unregister = function (keytipToRemove, uniqueID, persisted) {\n if (persisted === void 0) { persisted = false; }\n persisted ? delete this.persistedKeytips[uniqueID] : delete this.keytips[uniqueID];\n !persisted && delete this.sequenceMapping[keytipToRemove.keySequences.toString()];\n var event = persisted ? KeytipEvents.PERSISTED_KEYTIP_REMOVED : KeytipEvents.KEYTIP_REMOVED;\n // Update keytips only if we're in keytip mode\n if (this.inKeytipMode || !this.delayUpdatingKeytipChange) {\n EventGroup.raise(this, event, {\n keytip: keytipToRemove,\n uniqueID: uniqueID,\n });\n }\n };\n /**\n * Manual call to enter keytip mode\n */\n KeytipManager.prototype.enterKeytipMode = function () {\n EventGroup.raise(this, KeytipEvents.ENTER_KEYTIP_MODE);\n };\n /**\n * Manual call to exit keytip mode\n */\n KeytipManager.prototype.exitKeytipMode = function () {\n EventGroup.raise(this, KeytipEvents.EXIT_KEYTIP_MODE);\n };\n /**\n * Gets all IKeytipProps from this.keytips\n *\n * @returns All keytips stored in the manager\n */\n KeytipManager.prototype.getKeytips = function () {\n var _this = this;\n return Object.keys(this.keytips).map(function (key) { return _this.keytips[key].keytip; });\n };\n /**\n * Adds the overflowSetSequence to the keytipProps if its parent keytip also has it\n *\n * @param keytipProps - Keytip props to add overflowSetSequence to if necessary\n * @returns - Modified keytip props, if needed to be modified\n */\n KeytipManager.prototype.addParentOverflow = function (keytipProps) {\n var fullSequence = __spreadArrays(keytipProps.keySequences);\n fullSequence.pop();\n if (fullSequence.length !== 0) {\n var parentKeytip = this.sequenceMapping[fullSequence.toString()];\n if (parentKeytip && parentKeytip.overflowSetSequence) {\n return __assign(__assign({}, keytipProps), { overflowSetSequence: parentKeytip.overflowSetSequence });\n }\n }\n return keytipProps;\n };\n /**\n * Public function to bind for overflow items that have a submenu\n */\n KeytipManager.prototype.menuExecute = function (overflowButtonSequences, keytipSequences) {\n EventGroup.raise(this, KeytipEvents.PERSISTED_KEYTIP_EXECUTE, {\n overflowButtonSequences: overflowButtonSequences,\n keytipSequences: keytipSequences,\n });\n };\n /**\n * Creates an IUniqueKeytip object\n *\n * @param keytipProps - IKeytipProps\n * @param uniqueID - Unique ID, will default to the next unique ID if not passed\n * @returns IUniqueKeytip object\n */\n KeytipManager.prototype._getUniqueKtp = function (keytipProps, uniqueID) {\n if (uniqueID === void 0) { uniqueID = getId(); }\n return { keytip: __assign({}, keytipProps), uniqueID: uniqueID };\n };\n KeytipManager._instance = new KeytipManager();\n return KeytipManager;\n}());\nexport { KeytipManager };\n//# sourceMappingURL=KeytipManager.js.map","import { __spreadArrays } from \"tslib\";\nimport { KTP_SEPARATOR, KTP_PREFIX, DATAKTP_TARGET, DATAKTP_EXECUTE_TARGET, KTP_LAYER_ID } from './KeytipConstants';\nimport { addElementAtIndex } from '../../Utilities';\n/**\n * Converts a whole set of KeySequences into one keytip ID, which will be the ID for the last keytip sequence specified\n * keySequences should not include the initial keytip 'start' sequence.\n *\n * @param keySequences - Full path of IKeySequences for one keytip.\n * @returns String to use for the keytip ID.\n */\nexport function sequencesToID(keySequences) {\n return keySequences.reduce(function (prevValue, keySequence) {\n return prevValue + KTP_SEPARATOR + keySequence.split('').join(KTP_SEPARATOR);\n }, KTP_PREFIX);\n}\n/**\n * Merges an overflow sequence with a key sequence.\n *\n * @param keySequences - Full sequence for one keytip.\n * @param overflowKeySequences - Full overflow keytip sequence.\n * @returns Sequence that will be used by the keytip when in the overflow.\n */\nexport function mergeOverflows(keySequences, overflowKeySequences) {\n var overflowSequenceLen = overflowKeySequences.length;\n var overflowSequence = __spreadArrays(overflowKeySequences).pop();\n var newKeySequences = __spreadArrays(keySequences);\n return addElementAtIndex(newKeySequences, overflowSequenceLen - 1, overflowSequence);\n}\n/**\n * Constructs the data-ktp-target attribute selector from a full key sequence.\n *\n * @param keySequences - Full string[] for a Keytip.\n * @returns String selector to use to query for the keytip target.\n */\nexport function ktpTargetFromSequences(keySequences) {\n return '[' + DATAKTP_TARGET + '=\"' + sequencesToID(keySequences) + '\"]';\n}\n/**\n * Constructs the data-ktp-execute-target attribute selector from a keytip ID.\n *\n * @param keytipId - ID of the Keytip.\n * @returns String selector to use to query for the keytip execute target.\n */\nexport function ktpTargetFromId(keytipId) {\n return '[' + DATAKTP_EXECUTE_TARGET + '=\"' + keytipId + '\"]';\n}\n/**\n * Gets the aria-describedby value to put on the component with this keytip.\n *\n * @param keySequences - KeySequences of the keytip.\n * @returns The aria-describedby value to set on the component with this keytip.\n */\nexport function getAriaDescribedBy(keySequences) {\n var describedby = ' ' + KTP_LAYER_ID;\n if (!keySequences.length) {\n // Return just the layer ID\n return describedby;\n }\n return describedby + ' ' + sequencesToID(keySequences);\n}\n//# sourceMappingURL=KeytipUtils.js.map","import { __assign, __spreadArrays } from \"tslib\";\nimport * as React from 'react';\nimport { useConst, usePrevious } from '@fluentui/react-hooks';\nimport { mergeAriaAttributeValues } from '../../Utilities';\nimport { KeytipManager, mergeOverflows, sequencesToID, getAriaDescribedBy } from '../../utilities/keytips/index';\n/**\n * Hook that creates attributes for components which are enabled with Keytip.\n */\nexport function useKeytipData(options) {\n var uniqueId = React.useRef();\n var keytipProps = options.keytipProps\n ? __assign({ disabled: options.disabled }, options.keytipProps) : undefined;\n var keytipManager = useConst(KeytipManager.getInstance());\n var prevOptions = usePrevious(options);\n // useLayoutEffect used to strictly emulate didUpdate/didMount behavior\n // eslint-disable-next-line no-restricted-properties\n React.useLayoutEffect(function () {\n if (uniqueId.current &&\n keytipProps &&\n ((prevOptions === null || prevOptions === void 0 ? void 0 : prevOptions.keytipProps) !== options.keytipProps || (prevOptions === null || prevOptions === void 0 ? void 0 : prevOptions.disabled) !== options.disabled)) {\n keytipManager.update(keytipProps, uniqueId.current);\n }\n });\n // eslint-disable-next-line no-restricted-properties\n React.useLayoutEffect(function () {\n // Register Keytip in KeytipManager\n if (keytipProps) {\n uniqueId.current = keytipManager.register(keytipProps);\n }\n return function () {\n // Unregister Keytip in KeytipManager\n keytipProps && keytipManager.unregister(keytipProps, uniqueId.current);\n };\n // this is meant to run only at mount, and updates are handled separately\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n var nativeKeytipProps = {\n ariaDescribedBy: undefined,\n keytipId: undefined,\n };\n if (keytipProps) {\n nativeKeytipProps = getKeytipData(keytipManager, keytipProps, options.ariaDescribedBy);\n }\n return nativeKeytipProps;\n}\n/**\n * Gets the aria- and data- attributes to attach to the component\n * @param keytipProps - options for Keytip\n * @param describedByPrepend - ariaDescribedBy value to prepend\n */\nfunction getKeytipData(keytipManager, keytipProps, describedByPrepend) {\n // Add the parent overflow sequence if necessary\n var newKeytipProps = keytipManager.addParentOverflow(keytipProps);\n // Construct aria-describedby and data-ktp-id attributes\n var ariaDescribedBy = mergeAriaAttributeValues(describedByPrepend, getAriaDescribedBy(newKeytipProps.keySequences));\n var keySequences = __spreadArrays(newKeytipProps.keySequences);\n if (newKeytipProps.overflowSetSequence) {\n keySequences = mergeOverflows(keySequences, newKeytipProps.overflowSetSequence);\n }\n var keytipId = sequencesToID(keySequences);\n return {\n ariaDescribedBy: ariaDescribedBy,\n keytipId: keytipId,\n };\n}\n//# sourceMappingURL=useKeytipData.js.map","import { __rest } from \"tslib\";\nimport { DATAKTP_TARGET, DATAKTP_EXECUTE_TARGET } from '../../utilities/keytips/index';\nimport { useKeytipData } from './useKeytipData';\n/**\n * A small element to help the target component correctly read out its aria-describedby for its Keytip\n * {@docCategory Keytips}\n */\nexport var KeytipData = function (props) {\n var _a;\n var children = props.children, keytipDataProps = __rest(props, [\"children\"]);\n var _b = useKeytipData(keytipDataProps), keytipId = _b.keytipId, ariaDescribedBy = _b.ariaDescribedBy;\n return children((_a = {},\n _a[DATAKTP_TARGET] = keytipId,\n _a[DATAKTP_EXECUTE_TARGET] = keytipId,\n _a['aria-describedby'] = ariaDescribedBy,\n _a));\n};\n//# sourceMappingURL=KeytipData.js.map","import { __assign, __extends } from \"tslib\";\nimport * as React from 'react';\nimport { anchorProperties, getNativeProps, memoizeFunction, getId, mergeAriaAttributeValues } from '../../../Utilities';\nimport { ContextualMenuItemWrapper } from './ContextualMenuItemWrapper';\nimport { KeytipData } from '../../../KeytipData';\nimport { isItemDisabled, hasSubmenu } from '../../../utilities/contextualMenu/index';\nimport { ContextualMenuItem } from '../ContextualMenuItem';\nvar ContextualMenuAnchor = /** @class */ (function (_super) {\n __extends(ContextualMenuAnchor, _super);\n function ContextualMenuAnchor() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._anchor = React.createRef();\n _this._getMemoizedMenuButtonKeytipProps = memoizeFunction(function (keytipProps) {\n return __assign(__assign({}, keytipProps), { hasMenu: true });\n });\n _this._getSubmenuTarget = function () {\n return _this._anchor.current ? _this._anchor.current : undefined;\n };\n _this._onItemClick = function (ev) {\n var _a = _this.props, item = _a.item, onItemClick = _a.onItemClick;\n if (onItemClick) {\n onItemClick(item, ev);\n }\n };\n _this._renderAriaDescription = function (ariaDescription, className) {\n // If ariaDescription is given, descriptionId will be assigned to ariaDescriptionSpan\n return ariaDescription ? (React.createElement(\"span\", { id: _this._ariaDescriptionId, className: className }, ariaDescription)) : null;\n };\n return _this;\n }\n ContextualMenuAnchor.prototype.render = function () {\n var _this = this;\n var _a = this.props, item = _a.item, classNames = _a.classNames, index = _a.index, focusableElementIndex = _a.focusableElementIndex, totalItemCount = _a.totalItemCount, hasCheckmarks = _a.hasCheckmarks, hasIcons = _a.hasIcons, _b = _a.contextualMenuItemAs, ChildrenRenderer = _b === void 0 ? ContextualMenuItem : _b, expandedMenuItemKey = _a.expandedMenuItemKey, onItemClick = _a.onItemClick, openSubMenu = _a.openSubMenu, dismissSubMenu = _a.dismissSubMenu, dismissMenu = _a.dismissMenu;\n var anchorRel = item.rel;\n if (item.target && item.target.toLowerCase() === '_blank') {\n anchorRel = anchorRel ? anchorRel : 'nofollow noopener noreferrer'; // Safe default to prevent tabjacking\n }\n var itemHasSubmenu = hasSubmenu(item);\n var nativeProps = getNativeProps(item, anchorProperties);\n var disabled = isItemDisabled(item);\n var itemProps = item.itemProps, ariaDescription = item.ariaDescription;\n var keytipProps = item.keytipProps;\n if (keytipProps && itemHasSubmenu) {\n keytipProps = this._getMemoizedMenuButtonKeytipProps(keytipProps);\n }\n // Check for ariaDescription to set the _ariaDescriptionId and render a hidden span with\n // the description in it to be added to ariaDescribedBy\n if (ariaDescription) {\n this._ariaDescriptionId = getId();\n }\n var ariaDescribedByIds = mergeAriaAttributeValues(item.ariaDescribedBy, ariaDescription ? this._ariaDescriptionId : undefined, nativeProps['aria-describedby']);\n var additionalItemProperties = {\n 'aria-describedby': ariaDescribedByIds,\n };\n return (React.createElement(\"div\", null,\n React.createElement(KeytipData, { keytipProps: item.keytipProps, ariaDescribedBy: ariaDescribedByIds, disabled: disabled }, function (keytipAttributes) { return (React.createElement(\"a\", __assign({}, additionalItemProperties, nativeProps, keytipAttributes, { ref: _this._anchor, href: item.href, target: item.target, rel: anchorRel, className: classNames.root, role: \"menuitem\", \"aria-haspopup\": itemHasSubmenu || undefined, \"aria-expanded\": itemHasSubmenu ? item.key === expandedMenuItemKey : undefined, \"aria-posinset\": focusableElementIndex + 1, \"aria-setsize\": totalItemCount, \"aria-disabled\": isItemDisabled(item), \n // eslint-disable-next-line deprecation/deprecation\n style: item.style, onClick: _this._onItemClick, onMouseEnter: _this._onItemMouseEnter, onMouseLeave: _this._onItemMouseLeave, onMouseMove: _this._onItemMouseMove, onKeyDown: itemHasSubmenu ? _this._onItemKeyDown : undefined }),\n React.createElement(ChildrenRenderer, __assign({ componentRef: item.componentRef, item: item, classNames: classNames, index: index, onCheckmarkClick: hasCheckmarks && onItemClick ? onItemClick : undefined, hasIcons: hasIcons, openSubMenu: openSubMenu, dismissSubMenu: dismissSubMenu, dismissMenu: dismissMenu, getSubmenuTarget: _this._getSubmenuTarget }, itemProps)),\n _this._renderAriaDescription(ariaDescription, classNames.screenReaderText))); })));\n };\n return ContextualMenuAnchor;\n}(ContextualMenuItemWrapper));\nexport { ContextualMenuAnchor };\n//# sourceMappingURL=ContextualMenuAnchor.js.map","import { __assign, __extends } from \"tslib\";\nimport * as React from 'react';\nimport { buttonProperties, getNativeProps, memoizeFunction, getId, mergeAriaAttributeValues } from '../../../Utilities';\nimport { ContextualMenuItemWrapper } from './ContextualMenuItemWrapper';\nimport { KeytipData } from '../../../KeytipData';\nimport { getIsChecked, isItemDisabled, hasSubmenu, getMenuItemAriaRole } from '../../../utilities/contextualMenu/index';\nimport { ContextualMenuItem } from '../ContextualMenuItem';\nvar ContextualMenuButton = /** @class */ (function (_super) {\n __extends(ContextualMenuButton, _super);\n function ContextualMenuButton() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._btn = React.createRef();\n _this._getMemoizedMenuButtonKeytipProps = memoizeFunction(function (keytipProps) {\n return __assign(__assign({}, keytipProps), { hasMenu: true });\n });\n _this._renderAriaDescription = function (ariaDescription, className) {\n // If ariaDescription is given, descriptionId will be assigned to ariaDescriptionSpan\n return ariaDescription ? (React.createElement(\"span\", { id: _this._ariaDescriptionId, className: className }, ariaDescription)) : null;\n };\n _this._getSubmenuTarget = function () {\n return _this._btn.current ? _this._btn.current : undefined;\n };\n return _this;\n }\n ContextualMenuButton.prototype.render = function () {\n var _this = this;\n var _a = this.props, item = _a.item, classNames = _a.classNames, index = _a.index, focusableElementIndex = _a.focusableElementIndex, totalItemCount = _a.totalItemCount, hasCheckmarks = _a.hasCheckmarks, hasIcons = _a.hasIcons, _b = _a.contextualMenuItemAs, ChildrenRenderer = _b === void 0 ? ContextualMenuItem : _b, expandedMenuItemKey = _a.expandedMenuItemKey, onItemMouseDown = _a.onItemMouseDown, onItemClick = _a.onItemClick, openSubMenu = _a.openSubMenu, dismissSubMenu = _a.dismissSubMenu, dismissMenu = _a.dismissMenu;\n var isChecked = getIsChecked(item);\n var canCheck = isChecked !== null;\n var defaultRole = getMenuItemAriaRole(item);\n var itemHasSubmenu = hasSubmenu(item);\n var itemProps = item.itemProps, ariaLabel = item.ariaLabel, ariaDescription = item.ariaDescription;\n var buttonNativeProperties = getNativeProps(item, buttonProperties);\n // Do not add the disabled attribute to the button so that it is focusable\n delete buttonNativeProperties.disabled;\n var itemRole = item.role || defaultRole;\n // Check for ariaDescription to set the _ariaDescriptionId and render a hidden span with\n // the description in it to be added to ariaDescribedBy\n if (ariaDescription) {\n this._ariaDescriptionId = getId();\n }\n var ariaDescribedByIds = mergeAriaAttributeValues(item.ariaDescribedBy, ariaDescription ? this._ariaDescriptionId : undefined, buttonNativeProperties['aria-describedby']);\n var itemButtonProperties = {\n className: classNames.root,\n onClick: this._onItemClick,\n onKeyDown: itemHasSubmenu ? this._onItemKeyDown : undefined,\n onMouseEnter: this._onItemMouseEnter,\n onMouseLeave: this._onItemMouseLeave,\n onMouseDown: function (ev) {\n return onItemMouseDown ? onItemMouseDown(item, ev) : undefined;\n },\n onMouseMove: this._onItemMouseMove,\n href: item.href,\n title: item.title,\n 'aria-label': ariaLabel,\n 'aria-describedby': ariaDescribedByIds,\n 'aria-haspopup': itemHasSubmenu || undefined,\n 'aria-expanded': itemHasSubmenu ? item.key === expandedMenuItemKey : undefined,\n 'aria-posinset': focusableElementIndex + 1,\n 'aria-setsize': totalItemCount,\n 'aria-disabled': isItemDisabled(item),\n 'aria-checked': (itemRole === 'menuitemcheckbox' || itemRole === 'menuitemradio') && canCheck ? !!isChecked : undefined,\n 'aria-selected': itemRole === 'menuitem' && canCheck ? !!isChecked : undefined,\n role: itemRole,\n // eslint-disable-next-line deprecation/deprecation\n style: item.style,\n };\n var keytipProps = item.keytipProps;\n if (keytipProps && itemHasSubmenu) {\n keytipProps = this._getMemoizedMenuButtonKeytipProps(keytipProps);\n }\n return (React.createElement(KeytipData, { keytipProps: keytipProps, ariaDescribedBy: ariaDescribedByIds, disabled: isItemDisabled(item) }, function (keytipAttributes) { return (React.createElement(\"button\", __assign({ ref: _this._btn }, buttonNativeProperties, itemButtonProperties, keytipAttributes),\n React.createElement(ChildrenRenderer, __assign({ componentRef: item.componentRef, item: item, classNames: classNames, index: index, onCheckmarkClick: hasCheckmarks && onItemClick ? onItemClick : undefined, hasIcons: hasIcons, openSubMenu: openSubMenu, dismissSubMenu: dismissSubMenu, dismissMenu: dismissMenu, getSubmenuTarget: _this._getSubmenuTarget }, itemProps)),\n _this._renderAriaDescription(ariaDescription, classNames.screenReaderText))); }));\n };\n return ContextualMenuButton;\n}(ContextualMenuItemWrapper));\nexport { ContextualMenuButton };\n//# sourceMappingURL=ContextualMenuButton.js.map","export var getStyles = function (props) {\n // eslint-disable-next-line deprecation/deprecation\n var theme = props.theme, getClassNames = props.getClassNames, className = props.className;\n if (!theme) {\n throw new Error('Theme is undefined or null.');\n }\n if (getClassNames) {\n var names = getClassNames(theme);\n return {\n wrapper: [names.wrapper],\n divider: [names.divider],\n };\n }\n return {\n wrapper: [\n {\n display: 'inline-flex',\n height: '100%',\n alignItems: 'center',\n },\n className,\n ],\n divider: [\n {\n width: 1,\n height: '100%',\n backgroundColor: theme.palette.neutralTertiaryAlt,\n },\n ],\n };\n};\n//# sourceMappingURL=VerticalDivider.styles.js.map","import * as React from 'react';\nimport { classNamesFunction } from '../../Utilities';\nvar getClassNames = classNamesFunction();\nexport var VerticalDividerBase = React.forwardRef(function (props, ref) {\n // eslint-disable-next-line deprecation/deprecation\n var styles = props.styles, theme = props.theme, deprecatedGetClassNames = props.getClassNames, className = props.className;\n var classNames = getClassNames(styles, { theme: theme, getClassNames: deprecatedGetClassNames, className: className });\n return (React.createElement(\"span\", { className: classNames.wrapper, ref: ref },\n React.createElement(\"span\", { className: classNames.divider })));\n});\nVerticalDividerBase.displayName = 'VerticalDividerBase';\n//# sourceMappingURL=VerticalDivider.base.js.map","import { getStyles } from './VerticalDivider.styles';\nimport { VerticalDividerBase } from './VerticalDivider.base';\nimport { styled } from '../../Utilities';\nexport var VerticalDivider = styled(VerticalDividerBase, getStyles, undefined, {\n scope: 'VerticalDivider',\n});\n//# sourceMappingURL=VerticalDivider.js.map","import { __assign, __extends } from \"tslib\";\nimport * as React from 'react';\nimport { buttonProperties, getNativeProps, KeyCodes, mergeAriaAttributeValues, memoizeFunction, Async, EventGroup, getId, } from '../../../Utilities';\nimport { ContextualMenuItem } from '../ContextualMenuItem';\nimport { getSplitButtonVerticalDividerClassNames } from '../ContextualMenu.classNames';\nimport { KeytipData } from '../../../KeytipData';\nimport { isItemDisabled, hasSubmenu, getMenuItemAriaRole } from '../../../utilities/contextualMenu/index';\nimport { VerticalDivider } from '../../../Divider';\nimport { ContextualMenuItemWrapper } from './ContextualMenuItemWrapper';\nvar TouchIdleDelay = 500; /* ms */\nvar ContextualMenuSplitButton = /** @class */ (function (_super) {\n __extends(ContextualMenuSplitButton, _super);\n function ContextualMenuSplitButton(props) {\n var _this = _super.call(this, props) || this;\n _this._getMemoizedMenuButtonKeytipProps = memoizeFunction(function (keytipProps) {\n return __assign(__assign({}, keytipProps), { hasMenu: true });\n });\n _this._onItemKeyDown = function (ev) {\n var _a = _this.props, item = _a.item, onItemKeyDown = _a.onItemKeyDown;\n // eslint-disable-next-line deprecation/deprecation\n if (ev.which === KeyCodes.enter) {\n _this._executeItemClick(ev);\n ev.preventDefault();\n ev.stopPropagation();\n }\n else if (onItemKeyDown) {\n onItemKeyDown(item, ev);\n }\n };\n _this._getSubmenuTarget = function () {\n return _this._splitButton;\n };\n _this._renderAriaDescription = function (ariaDescription, className) {\n // If ariaDescription is given, descriptionId will be assigned to ariaDescriptionSpan\n return ariaDescription ? (React.createElement(\"span\", { id: _this._ariaDescriptionId, className: className }, ariaDescription)) : null;\n };\n _this._onItemMouseEnterPrimary = function (ev) {\n var _a = _this.props, item = _a.item, onItemMouseEnter = _a.onItemMouseEnter;\n if (onItemMouseEnter) {\n onItemMouseEnter(__assign(__assign({}, item), { subMenuProps: undefined, items: undefined }), ev, _this._splitButton);\n }\n };\n _this._onItemMouseEnterIcon = function (ev) {\n var _a = _this.props, item = _a.item, onItemMouseEnter = _a.onItemMouseEnter;\n if (onItemMouseEnter) {\n onItemMouseEnter(item, ev, _this._splitButton);\n }\n };\n _this._onItemMouseMovePrimary = function (ev) {\n var _a = _this.props, item = _a.item, onItemMouseMove = _a.onItemMouseMove;\n if (onItemMouseMove) {\n onItemMouseMove(__assign(__assign({}, item), { subMenuProps: undefined, items: undefined }), ev, _this._splitButton);\n }\n };\n _this._onItemMouseMoveIcon = function (ev) {\n var _a = _this.props, item = _a.item, onItemMouseMove = _a.onItemMouseMove;\n if (onItemMouseMove) {\n onItemMouseMove(item, ev, _this._splitButton);\n }\n };\n _this._onIconItemClick = function (ev) {\n var _a = _this.props, item = _a.item, onItemClickBase = _a.onItemClickBase;\n if (onItemClickBase) {\n onItemClickBase(item, ev, (_this._splitButton ? _this._splitButton : ev.currentTarget));\n }\n };\n _this._executeItemClick = function (ev) {\n var _a = _this.props, item = _a.item, executeItemClick = _a.executeItemClick, onItemClick = _a.onItemClick;\n if (item.disabled || item.isDisabled) {\n return;\n }\n if (_this._processingTouch && onItemClick) {\n return onItemClick(item, ev);\n }\n if (executeItemClick) {\n executeItemClick(item, ev);\n }\n };\n _this._onTouchStart = function (ev) {\n if (_this._splitButton && !('onpointerdown' in _this._splitButton)) {\n _this._handleTouchAndPointerEvent(ev);\n }\n };\n _this._onPointerDown = function (ev) {\n if (ev.pointerType === 'touch') {\n _this._handleTouchAndPointerEvent(ev);\n ev.preventDefault();\n ev.stopImmediatePropagation();\n }\n };\n _this._async = new Async(_this);\n _this._events = new EventGroup(_this);\n return _this;\n }\n ContextualMenuSplitButton.prototype.componentDidMount = function () {\n if (this._splitButton && 'onpointerdown' in this._splitButton) {\n this._events.on(this._splitButton, 'pointerdown', this._onPointerDown, true);\n }\n };\n ContextualMenuSplitButton.prototype.componentWillUnmount = function () {\n this._async.dispose();\n this._events.dispose();\n };\n ContextualMenuSplitButton.prototype.render = function () {\n var _this = this;\n var _a = this.props, item = _a.item, classNames = _a.classNames, index = _a.index, focusableElementIndex = _a.focusableElementIndex, totalItemCount = _a.totalItemCount, hasCheckmarks = _a.hasCheckmarks, hasIcons = _a.hasIcons, onItemMouseLeave = _a.onItemMouseLeave, expandedMenuItemKey = _a.expandedMenuItemKey;\n var itemHasSubmenu = hasSubmenu(item);\n var keytipProps = item.keytipProps;\n if (keytipProps) {\n keytipProps = this._getMemoizedMenuButtonKeytipProps(keytipProps);\n }\n // Check for ariaDescription to set the _ariaDescriptionId and render a hidden span with\n // the description in it to be added to ariaDescribedBy\n var ariaDescription = item.ariaDescription;\n if (ariaDescription) {\n this._ariaDescriptionId = getId();\n }\n return (React.createElement(KeytipData, { keytipProps: keytipProps, disabled: isItemDisabled(item) }, function (keytipAttributes) { return (React.createElement(\"div\", { \"data-ktp-target\": keytipAttributes['data-ktp-target'], ref: function (splitButton) { return (_this._splitButton = splitButton); }, role: getMenuItemAriaRole(item), \"aria-label\": item.ariaLabel, className: classNames.splitContainer, \"aria-disabled\": isItemDisabled(item), \"aria-expanded\": itemHasSubmenu ? item.key === expandedMenuItemKey : undefined, \"aria-haspopup\": true, \"aria-describedby\": mergeAriaAttributeValues(item.ariaDescribedBy, ariaDescription ? _this._ariaDescriptionId : undefined, keytipAttributes['aria-describedby']), \"aria-checked\": item.isChecked || item.checked, \"aria-posinset\": focusableElementIndex + 1, \"aria-setsize\": totalItemCount, onMouseEnter: _this._onItemMouseEnterPrimary, onMouseLeave: onItemMouseLeave ? onItemMouseLeave.bind(_this, __assign(__assign({}, item), { subMenuProps: null, items: null })) : undefined, onMouseMove: _this._onItemMouseMovePrimary, onKeyDown: _this._onItemKeyDown, onClick: _this._executeItemClick, onTouchStart: _this._onTouchStart, tabIndex: 0, \"data-is-focusable\": true, \"aria-roledescription\": item['aria-roledescription'] },\n _this._renderSplitPrimaryButton(item, classNames, index, hasCheckmarks, hasIcons),\n _this._renderSplitDivider(item),\n _this._renderSplitIconButton(item, classNames, index, keytipAttributes),\n _this._renderAriaDescription(ariaDescription, classNames.screenReaderText))); }));\n };\n ContextualMenuSplitButton.prototype._renderSplitPrimaryButton = function (item, \n // eslint-disable-next-line deprecation/deprecation\n classNames, index, hasCheckmarks, hasIcons) {\n var _a = this.props, _b = _a.contextualMenuItemAs, ChildrenRenderer = _b === void 0 ? ContextualMenuItem : _b, onItemClick = _a.onItemClick;\n var itemProps = {\n key: item.key,\n disabled: isItemDisabled(item) || item.primaryDisabled,\n /* eslint-disable deprecation/deprecation */\n name: item.name,\n text: item.text || item.name,\n secondaryText: item.secondaryText,\n /* eslint-enable deprecation/deprecation */\n className: classNames.splitPrimary,\n canCheck: item.canCheck,\n isChecked: item.isChecked,\n checked: item.checked,\n iconProps: item.iconProps,\n onRenderIcon: item.onRenderIcon,\n data: item.data,\n 'data-is-focusable': false,\n };\n var itemComponentProps = item.itemProps;\n return (React.createElement(\"button\", __assign({}, getNativeProps(itemProps, buttonProperties)),\n React.createElement(ChildrenRenderer, __assign({ \"data-is-focusable\": false, item: itemProps, classNames: classNames, index: index, onCheckmarkClick: hasCheckmarks && onItemClick ? onItemClick : undefined, hasIcons: hasIcons }, itemComponentProps))));\n };\n ContextualMenuSplitButton.prototype._renderSplitDivider = function (item) {\n var getDividerClassNames = item.getSplitButtonVerticalDividerClassNames || getSplitButtonVerticalDividerClassNames;\n return React.createElement(VerticalDivider, { getClassNames: getDividerClassNames });\n };\n ContextualMenuSplitButton.prototype._renderSplitIconButton = function (item, classNames, // eslint-disable-line deprecation/deprecation\n index, keytipAttributes) {\n var _a = this.props, _b = _a.contextualMenuItemAs, ChildrenRenderer = _b === void 0 ? ContextualMenuItem : _b, onItemMouseLeave = _a.onItemMouseLeave, onItemMouseDown = _a.onItemMouseDown, openSubMenu = _a.openSubMenu, dismissSubMenu = _a.dismissSubMenu, dismissMenu = _a.dismissMenu;\n var itemProps = {\n onClick: this._onIconItemClick,\n disabled: isItemDisabled(item),\n className: classNames.splitMenu,\n subMenuProps: item.subMenuProps,\n submenuIconProps: item.submenuIconProps,\n split: true,\n key: item.key,\n };\n var buttonProps = __assign(__assign({}, getNativeProps(itemProps, buttonProperties)), {\n onMouseEnter: this._onItemMouseEnterIcon,\n onMouseLeave: onItemMouseLeave ? onItemMouseLeave.bind(this, item) : undefined,\n onMouseDown: function (ev) {\n return onItemMouseDown ? onItemMouseDown(item, ev) : undefined;\n },\n onMouseMove: this._onItemMouseMoveIcon,\n 'data-is-focusable': false,\n 'data-ktp-execute-target': keytipAttributes['data-ktp-execute-target'],\n 'aria-hidden': true,\n });\n var itemComponentProps = item.itemProps;\n return (React.createElement(\"button\", __assign({}, buttonProps),\n React.createElement(ChildrenRenderer, __assign({ componentRef: item.componentRef, item: itemProps, classNames: classNames, index: index, hasIcons: false, openSubMenu: openSubMenu, dismissSubMenu: dismissSubMenu, dismissMenu: dismissMenu, getSubmenuTarget: this._getSubmenuTarget }, itemComponentProps))));\n };\n ContextualMenuSplitButton.prototype._handleTouchAndPointerEvent = function (ev) {\n var _this = this;\n var onTap = this.props.onTap;\n if (onTap) {\n onTap(ev);\n }\n // If we already have an existing timeout from a previous touch/pointer event\n // cancel that timeout so we can set a new one.\n if (this._lastTouchTimeoutId) {\n this._async.clearTimeout(this._lastTouchTimeoutId);\n this._lastTouchTimeoutId = undefined;\n }\n this._processingTouch = true;\n this._lastTouchTimeoutId = this._async.setTimeout(function () {\n _this._processingTouch = false;\n _this._lastTouchTimeoutId = undefined;\n }, TouchIdleDelay);\n };\n return ContextualMenuSplitButton;\n}(ContextualMenuItemWrapper));\nexport { ContextualMenuSplitButton };\n//# sourceMappingURL=ContextualMenuSplitButton.js.map","import { __assign, __extends } from \"tslib\";\nimport * as React from 'react';\nimport { BaseDecorator } from './BaseDecorator';\nimport { getWindow, hoistStatics, EventGroup } from '../../Utilities';\nimport { WindowContext } from '../../WindowProvider';\nexport var ResponsiveMode;\n(function (ResponsiveMode) {\n /** Width \\<= 479px */\n ResponsiveMode[ResponsiveMode[\"small\"] = 0] = \"small\";\n /** Width \\> 479px and \\<= 639px */\n ResponsiveMode[ResponsiveMode[\"medium\"] = 1] = \"medium\";\n /** Width \\> 639px and \\<= 1023px */\n ResponsiveMode[ResponsiveMode[\"large\"] = 2] = \"large\";\n /** Width \\> 1023px and \\<= 1365px */\n ResponsiveMode[ResponsiveMode[\"xLarge\"] = 3] = \"xLarge\";\n /** Width \\> 1365px and \\<= 1919px */\n ResponsiveMode[ResponsiveMode[\"xxLarge\"] = 4] = \"xxLarge\";\n /** Width \\> 1919px */\n ResponsiveMode[ResponsiveMode[\"xxxLarge\"] = 5] = \"xxxLarge\";\n ResponsiveMode[ResponsiveMode[\"unknown\"] = 999] = \"unknown\";\n})(ResponsiveMode || (ResponsiveMode = {}));\nvar RESPONSIVE_MAX_CONSTRAINT = [479, 639, 1023, 1365, 1919, 99999999];\n/**\n * User specified mode to default to, useful for server side rendering scenarios.\n */\nvar _defaultMode;\n/**\n * Tracking the last mode we successfully rendered, which allows us to\n * paint initial renders with the correct size.\n */\nvar _lastMode;\n/**\n * Allows a server rendered scenario to provide a **default** responsive mode.\n * This WILL NOT trigger any updates to components that have already consumed the responsive mode!\n */\nexport function setResponsiveMode(responsiveMode) {\n _defaultMode = responsiveMode;\n}\n/**\n * Initializes the responsive mode to the current window size. This can be used to avoid\n * a re-render during first component mount since the window would otherwise not be measured\n * until after mounting.\n *\n * This WILL NOT trigger any updates to components that have already consumed the responsive mode!\n */\nexport function initializeResponsiveMode(element) {\n var currentWindow = getWindow(element);\n if (currentWindow) {\n getResponsiveMode(currentWindow);\n }\n}\nexport function getInitialResponsiveMode() {\n return _defaultMode || _lastMode || ResponsiveMode.large;\n}\n/**\n * @deprecated Decorator usage is deprecated. Either call `getResponsiveMode` manually, or\n * use the `useResponsiveMode` hook within a function component.\n */\nexport function withResponsiveMode(ComposedComponent) {\n var _a;\n // eslint-disable-next-line deprecation/deprecation\n var resultClass = (_a = /** @class */ (function (_super) {\n __extends(WithResponsiveMode, _super);\n function WithResponsiveMode(props) {\n var _this = _super.call(this, props) || this;\n _this._onResize = function () {\n var responsiveMode = getResponsiveMode(_this.context.window);\n if (responsiveMode !== _this.state.responsiveMode) {\n _this.setState({\n responsiveMode: responsiveMode,\n });\n }\n };\n _this._events = new EventGroup(_this);\n _this._updateComposedComponentRef = _this._updateComposedComponentRef.bind(_this);\n _this.state = {\n responsiveMode: getInitialResponsiveMode(),\n };\n return _this;\n }\n WithResponsiveMode.prototype.componentDidMount = function () {\n this._events.on(this.context.window, 'resize', this._onResize);\n this._onResize();\n };\n WithResponsiveMode.prototype.componentWillUnmount = function () {\n this._events.dispose();\n };\n WithResponsiveMode.prototype.render = function () {\n var responsiveMode = this.state.responsiveMode;\n return responsiveMode === ResponsiveMode.unknown ? null : (React.createElement(ComposedComponent, __assign({ ref: this._updateComposedComponentRef, responsiveMode: responsiveMode }, this.props)));\n };\n return WithResponsiveMode;\n }(BaseDecorator)),\n _a.contextType = WindowContext,\n _a);\n return hoistStatics(ComposedComponent, resultClass);\n}\n/**\n * Hook to get the current responsive mode (window size category).\n * @param currentWindow - Use this window when determining the responsive mode.\n */\nexport function getResponsiveMode(currentWindow) {\n var responsiveMode = ResponsiveMode.small;\n if (currentWindow) {\n try {\n while (currentWindow.innerWidth > RESPONSIVE_MAX_CONSTRAINT[responsiveMode]) {\n responsiveMode++;\n }\n }\n catch (e) {\n // Return a best effort result in cases where we're in the browser but it throws on getting innerWidth.\n responsiveMode = getInitialResponsiveMode();\n }\n // Tracking last mode just gives us a better default in future renders,\n // which avoids starting with the wrong value if we've measured once.\n _lastMode = responsiveMode;\n }\n else {\n if (_defaultMode !== undefined) {\n responsiveMode = _defaultMode;\n }\n else {\n throw new Error('Content was rendered in a server environment without providing a default responsive mode. ' +\n 'Call setResponsiveMode to define what the responsive mode is.');\n }\n }\n return responsiveMode;\n}\n//# sourceMappingURL=withResponsiveMode.js.map","import * as React from 'react';\nimport { getWindow } from '@fluentui/utilities';\nimport { useOnEvent } from '@fluentui/react-hooks';\nimport { getResponsiveMode, getInitialResponsiveMode } from '../decorators/withResponsiveMode';\nimport { useWindow } from '../../WindowProvider';\n/**\n * Hook to get the current responsive mode (window size category).\n * @param elementRef - Use this element's parent window when determining the responsive mode.\n * @param overrideResponsiveMode - Override the responsive mode. If this param is present, it's always returned.\n */\nexport var useResponsiveMode = function (elementRef, overrideResponsiveMode) {\n var _a = React.useState(getInitialResponsiveMode()), lastResponsiveMode = _a[0], setLastResponsiveMode = _a[1];\n var onResize = React.useCallback(function () {\n var newResponsiveMode = getResponsiveMode(getWindow(elementRef.current));\n // Setting the same value should not cause a re-render.\n if (lastResponsiveMode !== newResponsiveMode) {\n setLastResponsiveMode(newResponsiveMode);\n }\n }, [elementRef, lastResponsiveMode]);\n var win = useWindow();\n useOnEvent(win, 'resize', onResize);\n // Call resize function initially on mount, or if the override changes from defined to undefined\n // (the effect will run on all override changes, but onResize will only be called if it changed to undefined)\n React.useEffect(function () {\n if (overrideResponsiveMode === undefined) {\n onResize();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps -- only meant to run on mount or when override changes\n }, [overrideResponsiveMode]);\n return overrideResponsiveMode !== null && overrideResponsiveMode !== void 0 ? overrideResponsiveMode : lastResponsiveMode;\n};\n//# sourceMappingURL=useResponsiveMode.js.map","import * as React from 'react';\nexport var MenuContext = React.createContext({});\nexport var useMenuContext = function () {\n return React.useContext(MenuContext);\n};\n//# sourceMappingURL=MenuContext.js.map","import { __assign, __extends, __rest, __spreadArrays } from \"tslib\";\nimport * as React from 'react';\nimport { ContextualMenuItemType, } from './ContextualMenu.types';\nimport { DirectionalHint } from '../../common/DirectionalHint';\nimport { FocusZone, FocusZoneDirection, FocusZoneTabbableElements } from '../../FocusZone';\nimport { divProperties, getNativeProps, shallowCompare, warnDeprecations, Async, EventGroup, assign, classNamesFunction, css, getFirstFocusable, getId, getLastFocusable, getRTL, KeyCodes, shouldWrapFocus, isIOS, isMac, initializeComponentRef, memoizeFunction, getPropsWithDefaults, getDocument, } from '../../Utilities';\nimport { hasSubmenu, getIsChecked, isItemDisabled } from '../../utilities/contextualMenu/index';\nimport { Callout } from '../../Callout';\nimport { ContextualMenuItem } from './ContextualMenuItem';\nimport { ContextualMenuSplitButton, ContextualMenuButton, ContextualMenuAnchor, } from './ContextualMenuItemWrapper/index';\nimport { concatStyleSetsWithProps } from '../../Styling';\nimport { getItemStyles } from './ContextualMenu.classNames';\nimport { useTarget, usePrevious, useMergedRefs } from '@fluentui/react-hooks';\nimport { useResponsiveMode, ResponsiveMode } from '../../ResponsiveMode';\nimport { MenuContext } from '../../utilities/MenuContext/index';\nvar getClassNames = classNamesFunction();\nvar getContextualMenuItemClassNames = classNamesFunction();\n// The default ContextualMenu properties have no items and beak, the default submenu direction is right and top.\nvar DEFAULT_PROPS = {\n items: [],\n shouldFocusOnMount: true,\n gapSpace: 0,\n directionalHint: DirectionalHint.bottomAutoEdge,\n beakWidth: 16,\n};\nexport function getSubmenuItems(item) {\n return item.subMenuProps ? item.subMenuProps.items : item.items;\n}\n/**\n * Returns true if a list of menu items can contain a checkbox\n */\nexport function canAnyMenuItemsCheck(items) {\n return items.some(function (item) {\n if (item.canCheck) {\n return true;\n }\n // If the item is a section, check if any of the items in the section can check.\n if (item.sectionProps && item.sectionProps.items.some(function (submenuItem) { return submenuItem.canCheck === true; })) {\n return true;\n }\n return false;\n });\n}\nvar NavigationIdleDelay = 250; /* ms */\nvar COMPONENT_NAME = 'ContextualMenu';\nvar _getMenuItemStylesFunction = memoizeFunction(function () {\n var styles = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n styles[_i] = arguments[_i];\n }\n return function (styleProps) {\n return concatStyleSetsWithProps.apply(void 0, __spreadArrays([styleProps, getItemStyles], styles));\n };\n});\nfunction useVisibility(props, targetWindow) {\n var _a = props.hidden, hidden = _a === void 0 ? false : _a, onMenuDismissed = props.onMenuDismissed, onMenuOpened = props.onMenuOpened;\n var previousHidden = usePrevious(hidden);\n var onMenuOpenedRef = React.useRef(onMenuOpened);\n var onMenuClosedRef = React.useRef(onMenuDismissed);\n var propsRef = React.useRef(props);\n onMenuOpenedRef.current = onMenuOpened;\n onMenuClosedRef.current = onMenuDismissed;\n propsRef.current = props;\n React.useEffect(function () {\n var _a, _b;\n // Don't issue dismissed callbacks on initial mount\n if (hidden && previousHidden === false) {\n (_a = onMenuClosedRef.current) === null || _a === void 0 ? void 0 : _a.call(onMenuClosedRef, propsRef.current);\n }\n else if (!hidden && previousHidden !== false) {\n (_b = onMenuOpenedRef.current) === null || _b === void 0 ? void 0 : _b.call(onMenuOpenedRef, propsRef.current);\n }\n }, [hidden, previousHidden]);\n // Issue onDismissedCallback on unmount\n React.useEffect(function () { return function () { var _a; return (_a = onMenuClosedRef.current) === null || _a === void 0 ? void 0 : _a.call(onMenuClosedRef, propsRef.current); }; }, []);\n}\nfunction useSubMenuState(_a) {\n var hidden = _a.hidden;\n var _b = React.useState(), expandedMenuItemKey = _b[0], setExpandedMenuItemKey = _b[1];\n var _c = React.useState(), submenuTarget = _c[0], setSubmenuTarget = _c[1];\n /** True if the menu was expanded by mouse click OR hover (as opposed to by keyboard) */\n var _d = React.useState(), expandedByMouseClick = _d[0], setExpandedByMouseClick = _d[1];\n var closeSubMenu = React.useCallback(function () {\n setExpandedByMouseClick(undefined);\n setExpandedMenuItemKey(undefined);\n setSubmenuTarget(undefined);\n }, []);\n var openSubMenu = React.useCallback(function (_a, target, openedByMouseClick) {\n var submenuItemKey = _a.key;\n if (expandedMenuItemKey === submenuItemKey) {\n return;\n }\n target.focus();\n setExpandedByMouseClick(openedByMouseClick);\n setExpandedMenuItemKey(submenuItemKey);\n setSubmenuTarget(target);\n }, [expandedMenuItemKey]);\n React.useEffect(function () {\n if (hidden) {\n closeSubMenu();\n }\n }, [hidden, closeSubMenu]);\n return [expandedMenuItemKey, submenuTarget, expandedByMouseClick, openSubMenu, closeSubMenu];\n}\nfunction useShouldUpdateFocusOnMouseMove(_a) {\n var delayUpdateFocusOnHover = _a.delayUpdateFocusOnHover, hidden = _a.hidden;\n var shouldUpdateFocusOnMouseEvent = React.useRef(!delayUpdateFocusOnHover);\n var gotMouseMove = React.useRef(false);\n React.useEffect(function () {\n shouldUpdateFocusOnMouseEvent.current = !delayUpdateFocusOnHover;\n gotMouseMove.current = hidden ? false : !delayUpdateFocusOnHover && gotMouseMove.current;\n }, [delayUpdateFocusOnHover, hidden]);\n var onMenuFocusCapture = React.useCallback(function () {\n if (delayUpdateFocusOnHover) {\n shouldUpdateFocusOnMouseEvent.current = true;\n }\n }, [delayUpdateFocusOnHover]);\n return [shouldUpdateFocusOnMouseEvent, gotMouseMove, onMenuFocusCapture];\n}\nexport var ContextualMenuBase = React.forwardRef(function (propsWithoutDefaults, forwardedRef) {\n var _a = getPropsWithDefaults(DEFAULT_PROPS, propsWithoutDefaults), ref = _a.ref, props = __rest(_a, [\"ref\"]);\n var rootRef = React.useRef(null);\n var hostElement = useMergedRefs(rootRef, forwardedRef);\n var _b = useTarget(props.target, hostElement), targetRef = _b[0], targetWindow = _b[1];\n var _c = useSubMenuState(props), expandedMenuItemKey = _c[0], submenuTarget = _c[1], expandedByMouseClick = _c[2], openSubMenu = _c[3], closeSubMenu = _c[4];\n var _d = useShouldUpdateFocusOnMouseMove(props), shouldUpdateFocusOnMouseEvent = _d[0], gotMouseMove = _d[1], onMenuFocusCapture = _d[2];\n var responsiveMode = useResponsiveMode(hostElement, props.responsiveMode);\n useVisibility(props, targetWindow);\n return (React.createElement(ContextualMenuInternal, __assign({}, props, { hoisted: {\n hostElement: hostElement,\n targetRef: targetRef,\n targetWindow: targetWindow,\n expandedMenuItemKey: expandedMenuItemKey,\n submenuTarget: submenuTarget,\n expandedByMouseClick: expandedByMouseClick,\n openSubMenu: openSubMenu,\n closeSubMenu: closeSubMenu,\n shouldUpdateFocusOnMouseEvent: shouldUpdateFocusOnMouseEvent,\n gotMouseMove: gotMouseMove,\n onMenuFocusCapture: onMenuFocusCapture,\n }, responsiveMode: responsiveMode })));\n});\nContextualMenuBase.displayName = 'ContextualMenuBase';\nvar ContextualMenuInternal = /** @class */ (function (_super) {\n __extends(ContextualMenuInternal, _super);\n function ContextualMenuInternal(props) {\n var _this = _super.call(this, props) || this;\n _this._mounted = false;\n _this.dismiss = function (ev, dismissAll) {\n var onDismiss = _this.props.onDismiss;\n if (onDismiss) {\n onDismiss(ev, dismissAll);\n }\n };\n _this._tryFocusPreviousActiveElement = function (options) {\n var _a, _b;\n if (options && options.documentContainsFocus && _this._previousActiveElement) {\n // Make sure that the focus method actually exists\n // In some cases the object might exist but not be a real element.\n // This is primarily for IE 11 and should be removed once IE 11 is no longer in use.\n (_b = (_a = _this._previousActiveElement).focus) === null || _b === void 0 ? void 0 : _b.call(_a);\n }\n };\n _this._onRenderMenuList = function (menuListProps, defaultRender) {\n var indexCorrection = 0;\n var items = menuListProps.items, totalItemCount = menuListProps.totalItemCount, hasCheckmarks = menuListProps.hasCheckmarks, hasIcons = menuListProps.hasIcons;\n return (React.createElement(\"ul\", { className: _this._classNames.list, onKeyDown: _this._onKeyDown, onKeyUp: _this._onKeyUp, role: 'presentation' }, items.map(function (item, index) {\n var menuItem = _this._renderMenuItem(item, index, indexCorrection, totalItemCount, hasCheckmarks, hasIcons);\n if (item.itemType !== ContextualMenuItemType.Divider && item.itemType !== ContextualMenuItemType.Header) {\n var indexIncrease = item.customOnRenderListLength ? item.customOnRenderListLength : 1;\n indexCorrection += indexIncrease;\n }\n return menuItem;\n })));\n };\n /**\n * !!!IMPORTANT!!! Avoid mutating `item: IContextualMenuItem` argument. It will\n * cause the menu items to always re-render because the component update is based on shallow comparison.\n */\n _this._renderMenuItem = function (item, index, focusableElementIndex, totalItemCount, hasCheckmarks, hasIcons) {\n var _a;\n var renderedItems = [];\n var iconProps = item.iconProps || { iconName: 'None' };\n var getItemClassNames = item.getItemClassNames, // eslint-disable-line deprecation/deprecation\n itemProps = item.itemProps;\n var styles = itemProps ? itemProps.styles : undefined;\n var expandedMenuItemKey = _this.props.hoisted.expandedMenuItemKey;\n // We only send a dividerClassName when the item to be rendered is a divider.\n // For all other cases, the default divider style is used.\n var dividerClassName = item.itemType === ContextualMenuItemType.Divider ? item.className : undefined;\n var subMenuIconClassName = item.submenuIconProps ? item.submenuIconProps.className : '';\n // eslint-disable-next-line deprecation/deprecation\n var itemClassNames;\n // IContextualMenuItem#getItemClassNames for backwards compatibility\n // otherwise uses mergeStyles for class names.\n if (getItemClassNames) {\n itemClassNames = getItemClassNames(_this.props.theme, isItemDisabled(item), expandedMenuItemKey === item.key, !!getIsChecked(item), !!item.href, iconProps.iconName !== 'None', item.className, dividerClassName, iconProps.className, subMenuIconClassName, item.primaryDisabled);\n }\n else {\n var itemStyleProps = {\n theme: _this.props.theme,\n disabled: isItemDisabled(item),\n expanded: expandedMenuItemKey === item.key,\n checked: !!getIsChecked(item),\n isAnchorLink: !!item.href,\n knownIcon: iconProps.iconName !== 'None',\n itemClassName: item.className,\n dividerClassName: dividerClassName,\n iconClassName: iconProps.className,\n subMenuClassName: subMenuIconClassName,\n primaryDisabled: item.primaryDisabled,\n };\n // We need to generate default styles then override if styles are provided\n // since the ContextualMenu currently handles item classNames.\n itemClassNames = getContextualMenuItemClassNames(_getMenuItemStylesFunction((_a = _this._classNames.subComponentStyles) === null || _a === void 0 ? void 0 : _a.menuItem, styles), itemStyleProps);\n }\n // eslint-disable-next-line deprecation/deprecation\n if (item.text === '-' || item.name === '-') {\n item.itemType = ContextualMenuItemType.Divider;\n }\n switch (item.itemType) {\n case ContextualMenuItemType.Divider:\n renderedItems.push(_this._renderSeparator(index, itemClassNames));\n break;\n case ContextualMenuItemType.Header:\n renderedItems.push(_this._renderSeparator(index, itemClassNames));\n var headerItem = _this._renderHeaderMenuItem(item, itemClassNames, index, hasCheckmarks, hasIcons);\n renderedItems.push(_this._renderListItem(headerItem, item.key || index, itemClassNames, item.title));\n break;\n case ContextualMenuItemType.Section:\n renderedItems.push(_this._renderSectionItem(item, itemClassNames, index, hasCheckmarks, hasIcons));\n break;\n default:\n var menuItem = _this._renderNormalItem(item, itemClassNames, index, focusableElementIndex, totalItemCount, hasCheckmarks, hasIcons);\n renderedItems.push(_this._renderListItem(menuItem, item.key || index, itemClassNames, item.title));\n break;\n }\n // Since multiple nodes *could* be rendered, wrap them all in a fragment with this item's key.\n // This ensures the reconciler handles multi-item output per-node correctly and does not re-mount content.\n return React.createElement(React.Fragment, { key: item.key }, renderedItems);\n };\n _this._defaultMenuItemRenderer = function (item) {\n var index = item.index, focusableElementIndex = item.focusableElementIndex, totalItemCount = item.totalItemCount, hasCheckmarks = item.hasCheckmarks, hasIcons = item.hasIcons;\n return _this._renderMenuItem(item, index, focusableElementIndex, totalItemCount, hasCheckmarks, hasIcons);\n };\n _this._onKeyDown = function (ev) {\n // Take note if we are processing an alt (option) or meta (command) keydown.\n // See comment in _shouldHandleKeyUp for reasoning.\n _this._lastKeyDownWasAltOrMeta = _this._isAltOrMeta(ev);\n // On Mac, pressing escape dismisses all levels of native context menus\n // eslint-disable-next-line deprecation/deprecation\n var dismissAllMenus = ev.which === KeyCodes.escape && (isMac() || isIOS());\n return _this._keyHandler(ev, _this._shouldHandleKeyDown, dismissAllMenus);\n };\n _this._shouldHandleKeyDown = function (ev) {\n return (\n // eslint-disable-next-line deprecation/deprecation\n ev.which === KeyCodes.escape ||\n _this._shouldCloseSubMenu(ev) ||\n // eslint-disable-next-line deprecation/deprecation\n (ev.which === KeyCodes.up && (ev.altKey || ev.metaKey)));\n };\n _this._onKeyUp = function (ev) {\n return _this._keyHandler(ev, _this._shouldHandleKeyUp, true /* dismissAllMenus */);\n };\n /**\n * We close the menu on key up only if ALL of the following are true:\n * - Most recent key down was alt or meta (command)\n * - The alt/meta key down was NOT followed by some other key (such as down/up arrow to\n * expand/collapse the menu)\n * - We're not on a Mac (or iOS)\n *\n * This is because on Windows, pressing alt moves focus to the application menu bar or similar,\n * closing any open context menus. There is not a similar behavior on Macs.\n */\n _this._shouldHandleKeyUp = function (ev) {\n var keyPressIsAltOrMetaAlone = _this._lastKeyDownWasAltOrMeta && _this._isAltOrMeta(ev);\n _this._lastKeyDownWasAltOrMeta = false;\n return !!keyPressIsAltOrMetaAlone && !(isIOS() || isMac());\n };\n /**\n * Calls `shouldHandleKey` to determine whether the keyboard event should be handled;\n * if so, stops event propagation and dismisses menu(s).\n * @param ev - The keyboard event.\n * @param shouldHandleKey - Returns whether we should handle this keyboard event.\n * @param dismissAllMenus - If true, dismiss all menus. Otherwise, dismiss only the current menu.\n * Only does anything if `shouldHandleKey` returns true.\n * @returns Whether the event was handled.\n */\n _this._keyHandler = function (ev, shouldHandleKey, dismissAllMenus) {\n var handled = false;\n if (shouldHandleKey(ev)) {\n _this.dismiss(ev, dismissAllMenus);\n ev.preventDefault();\n ev.stopPropagation();\n handled = true;\n }\n return handled;\n };\n /**\n * Checks if the submenu should be closed\n */\n _this._shouldCloseSubMenu = function (ev) {\n var submenuCloseKey = getRTL(_this.props.theme) ? KeyCodes.right : KeyCodes.left;\n // eslint-disable-next-line deprecation/deprecation\n if (ev.which !== submenuCloseKey || !_this.props.isSubMenu) {\n return false;\n }\n return (_this._adjustedFocusZoneProps.direction === FocusZoneDirection.vertical ||\n (!!_this._adjustedFocusZoneProps.checkForNoWrap &&\n !shouldWrapFocus(ev.target, 'data-no-horizontal-wrap')));\n };\n _this._onMenuKeyDown = function (ev) {\n // Mark as handled if onKeyDown returns true (for handling collapse cases)\n // or if we are attempting to expand a submenu\n var handled = _this._onKeyDown(ev);\n var hostElement = _this.props.hoisted.hostElement;\n if (handled || !hostElement.current) {\n return;\n }\n // If we have a modifier key being pressed, we do not want to move focus.\n // Otherwise, handle up and down keys.\n var hasModifier = !!(ev.altKey || ev.metaKey);\n // eslint-disable-next-line deprecation/deprecation\n var isUp = ev.which === KeyCodes.up;\n // eslint-disable-next-line deprecation/deprecation\n var isDown = ev.which === KeyCodes.down;\n if (!hasModifier && (isUp || isDown)) {\n var elementToFocus = isUp\n ? getLastFocusable(hostElement.current, hostElement.current.lastChild, true)\n : getFirstFocusable(hostElement.current, hostElement.current.firstChild, true);\n if (elementToFocus) {\n elementToFocus.focus();\n ev.preventDefault();\n ev.stopPropagation();\n }\n }\n };\n /**\n * Scroll handler for the callout to make sure the mouse events\n * for updating focus are not interacting during scroll\n */\n _this._onScroll = function () {\n if (!_this._isScrollIdle && _this._scrollIdleTimeoutId !== undefined) {\n _this._async.clearTimeout(_this._scrollIdleTimeoutId);\n _this._scrollIdleTimeoutId = undefined;\n }\n else {\n _this._isScrollIdle = false;\n }\n _this._scrollIdleTimeoutId = _this._async.setTimeout(function () {\n _this._isScrollIdle = true;\n }, NavigationIdleDelay);\n };\n _this._onItemMouseEnterBase = function (item, ev, target) {\n if (_this._shouldIgnoreMouseEvent()) {\n return;\n }\n _this._updateFocusOnMouseEvent(item, ev, target);\n };\n _this._onItemMouseMoveBase = function (item, ev, target) {\n var targetElement = ev.currentTarget;\n var _a = _this.props.hoisted, shouldUpdateFocusOnMouseEvent = _a.shouldUpdateFocusOnMouseEvent, gotMouseMove = _a.gotMouseMove, targetWindow = _a.targetWindow;\n // Always do this check to make sure we record a mouseMove if needed (even if we are timed out)\n if (shouldUpdateFocusOnMouseEvent.current) {\n gotMouseMove.current = true;\n }\n else {\n return;\n }\n if (!_this._isScrollIdle ||\n _this._enterTimerId !== undefined ||\n targetElement === (targetWindow === null || targetWindow === void 0 ? void 0 : targetWindow.document.activeElement)) {\n return;\n }\n _this._updateFocusOnMouseEvent(item, ev, target);\n };\n _this._onMouseItemLeave = function (item, ev) {\n var _a;\n var _b = _this.props.hoisted, expandedMenuItemKey = _b.expandedMenuItemKey, hostElement = _b.hostElement;\n if (_this._shouldIgnoreMouseEvent()) {\n return;\n }\n if (_this._enterTimerId !== undefined) {\n _this._async.clearTimeout(_this._enterTimerId);\n _this._enterTimerId = undefined;\n }\n if (expandedMenuItemKey !== undefined) {\n return;\n }\n /**\n * IE11 focus() method forces parents to scroll to top of element.\n * Edge and IE expose a setActive() function for focusable divs that\n * sets the page focus but does not scroll the parent element.\n */\n if (hostElement.current.setActive) {\n try {\n hostElement.current.setActive();\n }\n catch (e) {\n /* no-op */\n }\n }\n else {\n (_a = hostElement.current) === null || _a === void 0 ? void 0 : _a.focus();\n }\n };\n _this._onItemMouseDown = function (item, ev) {\n if (item.onMouseDown) {\n item.onMouseDown(item, ev);\n }\n };\n _this._onItemClick = function (item, ev) {\n _this._onItemClickBase(item, ev, ev.currentTarget);\n };\n _this._onItemClickBase = function (item, ev, target) {\n var items = getSubmenuItems(item);\n var _a = _this.props.hoisted, expandedMenuItemKey = _a.expandedMenuItemKey, openSubMenu = _a.openSubMenu;\n // Cancel a async menu item hover timeout action from being taken and instead\n // just trigger the click event instead.\n _this._cancelSubMenuTimer();\n if (!hasSubmenu(item) && (!items || !items.length)) {\n // This is an item without a menu. Click it.\n _this._executeItemClick(item, ev);\n }\n else {\n if (item.key !== expandedMenuItemKey) {\n // This has a collapsed sub menu. Expand it.\n openSubMenu(item, target, \n // When Edge + Narrator are used together (regardless of if the button is in a form or not), pressing\n // \"Enter\" fires this method and not _onMenuKeyDown. Checking ev.nativeEvent.detail differentiates\n // between a real click event and a keypress event (detail should be the number of mouse clicks).\n // ...Plot twist! For a real click event in IE 11, detail is always 0 (Edge sets it properly to 1).\n // So we also check the pointerType property, which both Edge and IE set to \"mouse\" for real clicks\n // and \"\" for pressing \"Enter\" with Narrator on.\n ev.nativeEvent.detail !== 0 || ev.nativeEvent.pointerType === 'mouse');\n }\n }\n ev.stopPropagation();\n ev.preventDefault();\n };\n _this._onAnchorClick = function (item, ev) {\n _this._executeItemClick(item, ev);\n ev.stopPropagation();\n };\n _this._executeItemClick = function (item, ev) {\n if (item.disabled || item.isDisabled) {\n return;\n }\n var dismiss = false;\n if (item.onClick) {\n dismiss = !!item.onClick(ev, item);\n }\n else if (_this.props.onItemClick) {\n dismiss = !!_this.props.onItemClick(ev, item);\n }\n if (dismiss || !ev.defaultPrevented) {\n _this.dismiss(ev, true);\n }\n };\n _this._onItemKeyDown = function (item, ev) {\n var openKey = getRTL(_this.props.theme) ? KeyCodes.left : KeyCodes.right;\n if (!item.disabled &&\n // eslint-disable-next-line deprecation/deprecation\n (ev.which === openKey || ev.which === KeyCodes.enter || (ev.which === KeyCodes.down && (ev.altKey || ev.metaKey)))) {\n _this.props.hoisted.openSubMenu(item, ev.currentTarget, false);\n ev.preventDefault();\n }\n };\n // Cancel a async menu item hover timeout action from being taken and instead\n // do new upcoming behavior\n _this._cancelSubMenuTimer = function () {\n if (_this._enterTimerId !== undefined) {\n _this._async.clearTimeout(_this._enterTimerId);\n _this._enterTimerId = undefined;\n }\n };\n /**\n * This function is called ASYNCHRONOUSLY, and so there is a chance it is called\n * after the component is unmounted. The _mounted property is added to prevent\n * from calling setState() after unmount. Do NOT copy this pattern in synchronous\n * code.\n */\n _this._onSubMenuDismiss = function (ev, dismissAll) {\n if (dismissAll) {\n _this.dismiss(ev, dismissAll);\n }\n else if (_this._mounted) {\n _this.props.hoisted.closeSubMenu();\n }\n };\n _this._onPointerAndTouchEvent = function (ev) {\n _this._cancelSubMenuTimer();\n };\n _this._async = new Async(_this);\n _this._events = new EventGroup(_this);\n initializeComponentRef(_this);\n warnDeprecations(COMPONENT_NAME, props, {\n getMenuClassNames: 'styles',\n });\n _this.state = {\n contextualMenuItems: undefined,\n subMenuId: getId('ContextualMenu'),\n };\n _this._id = props.id || getId('ContextualMenu');\n _this._isScrollIdle = true;\n return _this;\n }\n ContextualMenuInternal.prototype.shouldComponentUpdate = function (newProps, newState) {\n if (!newProps.shouldUpdateWhenHidden && this.props.hidden && newProps.hidden) {\n // Do not update when hidden.\n return false;\n }\n return !shallowCompare(this.props, newProps) || !shallowCompare(this.state, newState);\n };\n ContextualMenuInternal.prototype.getSnapshotBeforeUpdate = function (prevProps) {\n var hoisted = this.props.hoisted;\n if (this._isHidden(prevProps) !== this._isHidden(this.props)) {\n if (this._isHidden(this.props)) {\n this._onMenuClosed();\n }\n else {\n this._previousActiveElement = hoisted.targetWindow\n ? hoisted.targetWindow.document.activeElement\n : undefined;\n }\n }\n return null;\n };\n // Invoked once, only on the client (not on the server), immediately after the initial rendering occurs.\n ContextualMenuInternal.prototype.componentDidMount = function () {\n var _a = this.props, hidden = _a.hidden, hoisted = _a.hoisted;\n if (!hidden) {\n this._previousActiveElement = hoisted.targetWindow\n ? hoisted.targetWindow.document.activeElement\n : undefined;\n }\n this._mounted = true;\n };\n // Invoked immediately before a component is unmounted from the DOM.\n ContextualMenuInternal.prototype.componentWillUnmount = function () {\n if (this.props.onMenuDismissed) {\n this.props.onMenuDismissed(this.props);\n }\n this._events.dispose();\n this._async.dispose();\n this._mounted = false;\n };\n ContextualMenuInternal.prototype.render = function () {\n var _this = this;\n var isBeakVisible = this.props.isBeakVisible;\n var _a = this.props, items = _a.items, labelElementId = _a.labelElementId, id = _a.id, className = _a.className, beakWidth = _a.beakWidth, directionalHint = _a.directionalHint, directionalHintForRTL = _a.directionalHintForRTL, alignTargetEdge = _a.alignTargetEdge, gapSpace = _a.gapSpace, coverTarget = _a.coverTarget, ariaLabel = _a.ariaLabel, doNotLayer = _a.doNotLayer, target = _a.target, bounds = _a.bounds, useTargetWidth = _a.useTargetWidth, useTargetAsMinWidth = _a.useTargetAsMinWidth, directionalHintFixed = _a.directionalHintFixed, shouldFocusOnMount = _a.shouldFocusOnMount, shouldFocusOnContainer = _a.shouldFocusOnContainer, title = _a.title, styles = _a.styles, theme = _a.theme, calloutProps = _a.calloutProps, _b = _a.onRenderSubMenu, onRenderSubMenu = _b === void 0 ? this._onRenderSubMenu : _b, _c = _a.onRenderMenuList, onRenderMenuList = _c === void 0 ? this._onRenderMenuList : _c, focusZoneProps = _a.focusZoneProps, \n // eslint-disable-next-line deprecation/deprecation\n getMenuClassNames = _a.getMenuClassNames, _d = _a.hoisted, expandedMenuItemKey = _d.expandedMenuItemKey, targetRef = _d.targetRef, onMenuFocusCapture = _d.onMenuFocusCapture, hostElement = _d.hostElement;\n this._classNames = getMenuClassNames\n ? getMenuClassNames(theme, className)\n : getClassNames(styles, {\n theme: theme,\n className: className,\n });\n var hasIcons = itemsHaveIcons(items);\n function itemsHaveIcons(contextualMenuItems) {\n for (var _i = 0, contextualMenuItems_1 = contextualMenuItems; _i < contextualMenuItems_1.length; _i++) {\n var item = contextualMenuItems_1[_i];\n if (item.iconProps) {\n return true;\n }\n if (item.itemType === ContextualMenuItemType.Section &&\n item.sectionProps &&\n itemsHaveIcons(item.sectionProps.items)) {\n return true;\n }\n }\n return false;\n }\n this._adjustedFocusZoneProps = __assign(__assign({}, focusZoneProps), { className: this._classNames.root, isCircularNavigation: true, handleTabKey: FocusZoneTabbableElements.all, direction: this._getFocusZoneDirection() });\n var hasCheckmarks = canAnyMenuItemsCheck(items);\n var submenuProps = expandedMenuItemKey && this.props.hidden !== true ? this._getSubmenuProps() : null;\n isBeakVisible = isBeakVisible === undefined ? this.props.responsiveMode <= ResponsiveMode.medium : isBeakVisible;\n /**\n * When useTargetWidth is true, get the width of the target element and apply it for the context menu container\n */\n var contextMenuStyle;\n var targetAsHtmlElement = targetRef.current;\n if ((useTargetWidth || useTargetAsMinWidth) && targetAsHtmlElement && targetAsHtmlElement.offsetWidth) {\n var targetBoundingRect = targetAsHtmlElement.getBoundingClientRect();\n var targetWidth = targetBoundingRect.width - 2; /* Accounts for 1px border */\n if (useTargetWidth) {\n contextMenuStyle = {\n width: targetWidth,\n };\n }\n else if (useTargetAsMinWidth) {\n contextMenuStyle = {\n minWidth: targetWidth,\n };\n }\n }\n // The menu should only return if items were provided, if no items were provided then it should not appear.\n if (items && items.length > 0) {\n var totalItemCount_1 = 0;\n for (var _i = 0, items_1 = items; _i < items_1.length; _i++) {\n var item = items_1[_i];\n if (item.itemType !== ContextualMenuItemType.Divider && item.itemType !== ContextualMenuItemType.Header) {\n var itemCount = item.customOnRenderListLength ? item.customOnRenderListLength : 1;\n totalItemCount_1 += itemCount;\n }\n }\n var calloutStyles_1 = this._classNames.subComponentStyles\n ? this._classNames.subComponentStyles.callout\n : undefined;\n return (React.createElement(MenuContext.Consumer, null, function (menuContext) { return (React.createElement(Callout, __assign({ styles: calloutStyles_1, onRestoreFocus: _this._tryFocusPreviousActiveElement }, calloutProps, { target: target || menuContext.target, isBeakVisible: isBeakVisible, beakWidth: beakWidth, directionalHint: directionalHint, directionalHintForRTL: directionalHintForRTL, gapSpace: gapSpace, coverTarget: coverTarget, doNotLayer: doNotLayer, className: css('ms-ContextualMenu-Callout', calloutProps && calloutProps.className), setInitialFocus: shouldFocusOnMount, onDismiss: _this.props.onDismiss || menuContext.onDismiss, onScroll: _this._onScroll, bounds: bounds, directionalHintFixed: directionalHintFixed, alignTargetEdge: alignTargetEdge, hidden: _this.props.hidden || menuContext.hidden, ref: hostElement }),\n React.createElement(\"div\", { style: contextMenuStyle, id: id, className: _this._classNames.container, tabIndex: shouldFocusOnContainer ? 0 : -1, onKeyDown: _this._onMenuKeyDown, onKeyUp: _this._onKeyUp, onFocusCapture: onMenuFocusCapture, \"aria-label\": ariaLabel, \"aria-labelledby\": labelElementId, role: 'menu' },\n title && React.createElement(\"div\", { className: _this._classNames.title },\n \" \",\n title,\n \" \"),\n items && items.length\n ? _this._renderFocusZone(onRenderMenuList({\n ariaLabel: ariaLabel,\n items: items,\n totalItemCount: totalItemCount_1,\n hasCheckmarks: hasCheckmarks,\n hasIcons: hasIcons,\n defaultMenuItemRenderer: _this._defaultMenuItemRenderer,\n labelElementId: labelElementId,\n }, _this._onRenderMenuList))\n : null,\n submenuProps && onRenderSubMenu(submenuProps, _this._onRenderSubMenu)))); }));\n }\n else {\n return null;\n }\n };\n ContextualMenuInternal.prototype._onMenuClosed = function () {\n var _a, _b;\n (_a = this._tryFocusPreviousActiveElement) === null || _a === void 0 ? void 0 : _a.call(this, {\n originalElement: this._previousActiveElement,\n containsFocus: true,\n documentContainsFocus: ((_b = getDocument()) === null || _b === void 0 ? void 0 : _b.hasFocus()) || false,\n });\n };\n /**\n * Return whether the contextual menu is hidden.\n * Undefined value for hidden is equivalent to hidden being false.\n * @param props - Props for the component\n */\n ContextualMenuInternal.prototype._isHidden = function (props) {\n return !!props.hidden;\n };\n /**\n * Gets the focusZoneDirection by using the arrowDirection if specified,\n * the direction specified in the focusZoneProps, or defaults to FocusZoneDirection.vertical\n */\n ContextualMenuInternal.prototype._getFocusZoneDirection = function () {\n var focusZoneProps = this.props.focusZoneProps;\n return focusZoneProps && focusZoneProps.direction !== undefined\n ? focusZoneProps.direction\n : FocusZoneDirection.vertical;\n };\n ContextualMenuInternal.prototype._onRenderSubMenu = function (subMenuProps, defaultRender) {\n throw Error('ContextualMenuBase: onRenderSubMenu callback is null or undefined. ' +\n 'Please ensure to set `onRenderSubMenu` property either manually or with `styled` helper.');\n };\n ContextualMenuInternal.prototype._renderFocusZone = function (children) {\n var _a = this.props.focusZoneAs, ChildrenRenderer = _a === void 0 ? FocusZone : _a;\n return React.createElement(ChildrenRenderer, __assign({}, this._adjustedFocusZoneProps), children);\n };\n ContextualMenuInternal.prototype._renderSectionItem = function (sectionItem, \n // eslint-disable-next-line deprecation/deprecation\n menuClassNames, index, hasCheckmarks, hasIcons) {\n var _this = this;\n var sectionProps = sectionItem.sectionProps;\n if (!sectionProps) {\n return;\n }\n var headerItem;\n var groupProps;\n if (sectionProps.title) {\n // Since title is a user-facing string, it needs to be stripped of whitespace in order to build a valid element ID\n var id = this._id + sectionProps.title.replace(/\\s/g, '');\n var headerContextualMenuItem = {\n key: \"section-\" + sectionProps.title + \"-title\",\n itemType: ContextualMenuItemType.Header,\n text: sectionProps.title,\n id: id,\n };\n groupProps = {\n role: 'group',\n 'aria-labelledby': id,\n };\n headerItem = this._renderHeaderMenuItem(headerContextualMenuItem, menuClassNames, index, hasCheckmarks, hasIcons);\n }\n if (sectionProps.items && sectionProps.items.length > 0) {\n return (React.createElement(\"li\", { role: \"presentation\", key: sectionProps.key || sectionItem.key || \"section-\" + index },\n React.createElement(\"div\", __assign({}, groupProps),\n React.createElement(\"ul\", { className: this._classNames.list, role: \"presentation\" },\n sectionProps.topDivider && this._renderSeparator(index, menuClassNames, true, true),\n headerItem &&\n this._renderListItem(headerItem, sectionItem.key || index, menuClassNames, sectionItem.title),\n sectionProps.items.map(function (contextualMenuItem, itemsIndex) {\n return _this._renderMenuItem(contextualMenuItem, itemsIndex, itemsIndex, sectionProps.items.length, hasCheckmarks, hasIcons);\n }),\n sectionProps.bottomDivider && this._renderSeparator(index, menuClassNames, false, true)))));\n }\n };\n ContextualMenuInternal.prototype._renderListItem = function (content, key, classNames, // eslint-disable-line deprecation/deprecation\n title) {\n return (React.createElement(\"li\", { role: \"presentation\", title: title, key: key, className: classNames.item }, content));\n };\n ContextualMenuInternal.prototype._renderSeparator = function (index, classNames, // eslint-disable-line deprecation/deprecation\n top, fromSection) {\n if (fromSection || index > 0) {\n return (React.createElement(\"li\", { role: \"separator\", key: 'separator-' + index + (top === undefined ? '' : top ? '-top' : '-bottom'), className: classNames.divider, \"aria-hidden\": \"true\" }));\n }\n return null;\n };\n ContextualMenuInternal.prototype._renderNormalItem = function (item, classNames, // eslint-disable-line deprecation/deprecation\n index, focusableElementIndex, totalItemCount, hasCheckmarks, hasIcons) {\n if (item.onRender) {\n return item.onRender(__assign({ 'aria-posinset': focusableElementIndex + 1, 'aria-setsize': totalItemCount }, item), this.dismiss);\n }\n if (item.href) {\n return this._renderAnchorMenuItem(item, classNames, index, focusableElementIndex, totalItemCount, hasCheckmarks, hasIcons);\n }\n if (item.split && hasSubmenu(item)) {\n return this._renderSplitButton(item, classNames, index, focusableElementIndex, totalItemCount, hasCheckmarks, hasIcons);\n }\n return this._renderButtonItem(item, classNames, index, focusableElementIndex, totalItemCount, hasCheckmarks, hasIcons);\n };\n ContextualMenuInternal.prototype._renderHeaderMenuItem = function (item, \n // eslint-disable-next-line deprecation/deprecation\n classNames, index, hasCheckmarks, hasIcons) {\n var _a = this.props.contextualMenuItemAs, ChildrenRenderer = _a === void 0 ? ContextualMenuItem : _a;\n var itemProps = item.itemProps, id = item.id;\n var divHtmlProperties = itemProps && getNativeProps(itemProps, divProperties);\n return (\n // eslint-disable-next-line deprecation/deprecation\n React.createElement(\"div\", __assign({ id: id, className: this._classNames.header }, divHtmlProperties, { style: item.style }),\n React.createElement(ChildrenRenderer, __assign({ item: item, classNames: classNames, index: index, onCheckmarkClick: hasCheckmarks ? this._onItemClick : undefined, hasIcons: hasIcons }, itemProps))));\n };\n ContextualMenuInternal.prototype._renderAnchorMenuItem = function (item, \n // eslint-disable-next-line deprecation/deprecation\n classNames, index, focusableElementIndex, totalItemCount, hasCheckmarks, hasIcons) {\n var _a = this.props, contextualMenuItemAs = _a.contextualMenuItemAs, _b = _a.hoisted, expandedMenuItemKey = _b.expandedMenuItemKey, openSubMenu = _b.openSubMenu;\n return (React.createElement(ContextualMenuAnchor, { item: item, classNames: classNames, index: index, focusableElementIndex: focusableElementIndex, totalItemCount: totalItemCount, hasCheckmarks: hasCheckmarks, hasIcons: hasIcons, contextualMenuItemAs: contextualMenuItemAs, onItemMouseEnter: this._onItemMouseEnterBase, onItemMouseLeave: this._onMouseItemLeave, onItemMouseMove: this._onItemMouseMoveBase, onItemMouseDown: this._onItemMouseDown, executeItemClick: this._executeItemClick, onItemClick: this._onAnchorClick, onItemKeyDown: this._onItemKeyDown, expandedMenuItemKey: expandedMenuItemKey, openSubMenu: openSubMenu, dismissSubMenu: this._onSubMenuDismiss, dismissMenu: this.dismiss }));\n };\n ContextualMenuInternal.prototype._renderButtonItem = function (item, \n // eslint-disable-next-line deprecation/deprecation\n classNames, index, focusableElementIndex, totalItemCount, hasCheckmarks, hasIcons) {\n var _a = this.props, contextualMenuItemAs = _a.contextualMenuItemAs, _b = _a.hoisted, expandedMenuItemKey = _b.expandedMenuItemKey, openSubMenu = _b.openSubMenu;\n return (React.createElement(ContextualMenuButton, { item: item, classNames: classNames, index: index, focusableElementIndex: focusableElementIndex, totalItemCount: totalItemCount, hasCheckmarks: hasCheckmarks, hasIcons: hasIcons, contextualMenuItemAs: contextualMenuItemAs, onItemMouseEnter: this._onItemMouseEnterBase, onItemMouseLeave: this._onMouseItemLeave, onItemMouseMove: this._onItemMouseMoveBase, onItemMouseDown: this._onItemMouseDown, executeItemClick: this._executeItemClick, onItemClick: this._onItemClick, onItemClickBase: this._onItemClickBase, onItemKeyDown: this._onItemKeyDown, expandedMenuItemKey: expandedMenuItemKey, openSubMenu: openSubMenu, dismissSubMenu: this._onSubMenuDismiss, dismissMenu: this.dismiss }));\n };\n ContextualMenuInternal.prototype._renderSplitButton = function (item, \n // eslint-disable-next-line deprecation/deprecation\n classNames, index, focusableElementIndex, totalItemCount, hasCheckmarks, hasIcons) {\n var _a = this.props, contextualMenuItemAs = _a.contextualMenuItemAs, _b = _a.hoisted, expandedMenuItemKey = _b.expandedMenuItemKey, openSubMenu = _b.openSubMenu;\n return (React.createElement(ContextualMenuSplitButton, { item: item, classNames: classNames, index: index, focusableElementIndex: focusableElementIndex, totalItemCount: totalItemCount, hasCheckmarks: hasCheckmarks, hasIcons: hasIcons, contextualMenuItemAs: contextualMenuItemAs, onItemMouseEnter: this._onItemMouseEnterBase, onItemMouseLeave: this._onMouseItemLeave, onItemMouseMove: this._onItemMouseMoveBase, onItemMouseDown: this._onItemMouseDown, executeItemClick: this._executeItemClick, onItemClick: this._onItemClick, onItemClickBase: this._onItemClickBase, onItemKeyDown: this._onItemKeyDown, openSubMenu: openSubMenu, dismissSubMenu: this._onSubMenuDismiss, dismissMenu: this.dismiss, expandedMenuItemKey: expandedMenuItemKey, onTap: this._onPointerAndTouchEvent }));\n };\n /**\n * Returns true if the key for the event is alt (Mac option) or meta (Mac command).\n */\n ContextualMenuInternal.prototype._isAltOrMeta = function (ev) {\n // eslint-disable-next-line deprecation/deprecation\n return ev.which === KeyCodes.alt || ev.key === 'Meta';\n };\n ContextualMenuInternal.prototype._shouldIgnoreMouseEvent = function () {\n return !this._isScrollIdle || !this.props.hoisted.gotMouseMove.current;\n };\n /**\n * Handles updating focus when mouseEnter or mouseMove fire.\n * As part of updating focus, This function will also update\n * the expand/collapse state accordingly.\n */\n ContextualMenuInternal.prototype._updateFocusOnMouseEvent = function (item, ev, target) {\n var _this = this;\n var targetElement = target ? target : ev.currentTarget;\n var _a = this.props, _b = _a.subMenuHoverDelay, timeoutDuration = _b === void 0 ? NavigationIdleDelay : _b, _c = _a.hoisted, expandedMenuItemKey = _c.expandedMenuItemKey, openSubMenu = _c.openSubMenu;\n if (item.key === expandedMenuItemKey) {\n return;\n }\n if (this._enterTimerId !== undefined) {\n this._async.clearTimeout(this._enterTimerId);\n this._enterTimerId = undefined;\n }\n // If the menu is not expanded we can update focus without any delay\n if (expandedMenuItemKey === undefined) {\n targetElement.focus();\n }\n // Delay updating expanding/dismissing the submenu\n // and only set focus if we have not already done so\n if (hasSubmenu(item)) {\n ev.stopPropagation();\n this._enterTimerId = this._async.setTimeout(function () {\n targetElement.focus();\n openSubMenu(item, targetElement, true);\n _this._enterTimerId = undefined;\n }, timeoutDuration);\n }\n else {\n this._enterTimerId = this._async.setTimeout(function () {\n _this._onSubMenuDismiss(ev);\n targetElement.focus();\n _this._enterTimerId = undefined;\n }, timeoutDuration);\n }\n };\n ContextualMenuInternal.prototype._getSubmenuProps = function () {\n var _a = this.props.hoisted, submenuTarget = _a.submenuTarget, expandedMenuItemKey = _a.expandedMenuItemKey, expandedByMouseClick = _a.expandedByMouseClick;\n var item = this._findItemByKey(expandedMenuItemKey);\n var submenuProps = null;\n if (item) {\n submenuProps = {\n items: getSubmenuItems(item),\n target: submenuTarget,\n onDismiss: this._onSubMenuDismiss,\n isSubMenu: true,\n id: this.state.subMenuId,\n shouldFocusOnMount: true,\n shouldFocusOnContainer: expandedByMouseClick,\n directionalHint: getRTL(this.props.theme) ? DirectionalHint.leftTopEdge : DirectionalHint.rightTopEdge,\n className: this.props.className,\n gapSpace: 0,\n isBeakVisible: false,\n };\n if (item.subMenuProps) {\n assign(submenuProps, item.subMenuProps);\n }\n }\n return submenuProps;\n };\n ContextualMenuInternal.prototype._findItemByKey = function (key) {\n var items = this.props.items;\n return this._findItemByKeyFromItems(key, items);\n };\n /**\n * Returns the item that matches a given key if any.\n * @param key - The key of the item to match\n * @param items - The items to look for the key\n */\n ContextualMenuInternal.prototype._findItemByKeyFromItems = function (key, items) {\n for (var _i = 0, items_2 = items; _i < items_2.length; _i++) {\n var item = items_2[_i];\n if (item.itemType === ContextualMenuItemType.Section && item.sectionProps) {\n var match = this._findItemByKeyFromItems(key, item.sectionProps.items);\n if (match) {\n return match;\n }\n }\n else if (item.key && item.key === key) {\n return item;\n }\n }\n };\n return ContextualMenuInternal;\n}(React.Component));\n//# sourceMappingURL=ContextualMenu.base.js.map","import { getGlobalClassNames, FontWeights } from '../../Styling';\nimport { CONTEXTUAL_MENU_ITEM_HEIGHT } from './ContextualMenu.cnstyles';\nvar GlobalClassNames = {\n root: 'ms-ContextualMenu',\n container: 'ms-ContextualMenu-container',\n list: 'ms-ContextualMenu-list',\n header: 'ms-ContextualMenu-header',\n title: 'ms-ContextualMenu-title',\n isopen: 'is-open',\n};\nexport var getStyles = function (props) {\n var className = props.className, theme = props.theme;\n var classNames = getGlobalClassNames(GlobalClassNames, theme);\n var fonts = theme.fonts, semanticColors = theme.semanticColors, effects = theme.effects;\n return {\n root: [\n theme.fonts.medium,\n classNames.root,\n classNames.isopen,\n {\n backgroundColor: semanticColors.menuBackground,\n minWidth: '180px',\n },\n className,\n ],\n container: [\n classNames.container,\n {\n selectors: {\n ':focus': { outline: 0 },\n },\n },\n ],\n list: [\n classNames.list,\n classNames.isopen,\n {\n listStyleType: 'none',\n margin: '0',\n padding: '0',\n },\n ],\n header: [\n classNames.header,\n fonts.small,\n {\n fontWeight: FontWeights.semibold,\n color: semanticColors.menuHeader,\n background: 'none',\n backgroundColor: 'transparent',\n border: 'none',\n height: CONTEXTUAL_MENU_ITEM_HEIGHT,\n lineHeight: CONTEXTUAL_MENU_ITEM_HEIGHT,\n cursor: 'default',\n padding: '0px 6px',\n userSelect: 'none',\n textAlign: 'left',\n },\n ],\n title: [\n classNames.title,\n {\n fontSize: fonts.mediumPlus.fontSize,\n paddingRight: '14px',\n paddingLeft: '14px',\n paddingBottom: '5px',\n paddingTop: '5px',\n backgroundColor: semanticColors.menuItemBackgroundPressed,\n },\n ],\n subComponentStyles: {\n callout: {\n root: {\n boxShadow: effects.elevation8,\n },\n },\n menuItem: {},\n },\n };\n};\n//# sourceMappingURL=ContextualMenu.styles.js.map","import { __assign } from \"tslib\";\nimport * as React from 'react';\nimport { styled } from '../../Utilities';\nimport { ContextualMenuBase } from './ContextualMenu.base';\nimport { getStyles } from './ContextualMenu.styles';\nfunction onRenderSubMenu(subMenuProps) {\n return React.createElement(LocalContextualMenu, __assign({}, subMenuProps));\n}\n// This is to prevent cyclic import with ContextualMenu.base.tsx.\nvar LocalContextualMenu = styled(ContextualMenuBase, getStyles, function () { return ({ onRenderSubMenu: onRenderSubMenu }); }, { scope: 'ContextualMenu' });\n/**\n * ContextualMenu description\n */\nexport var ContextualMenu = LocalContextualMenu;\nContextualMenu.displayName = 'ContextualMenu';\n//# sourceMappingURL=ContextualMenu.js.map","import { memoizeFunction } from '../../Utilities';\nimport { getGlobalClassNames, mergeStyleSets } from '../../Styling';\nexport var ButtonGlobalClassNames = {\n msButton: 'ms-Button',\n msButtonHasMenu: 'ms-Button--hasMenu',\n msButtonIcon: 'ms-Button-icon',\n msButtonMenuIcon: 'ms-Button-menuIcon',\n msButtonLabel: 'ms-Button-label',\n msButtonDescription: 'ms-Button-description',\n msButtonScreenReaderText: 'ms-Button-screenReaderText',\n msButtonFlexContainer: 'ms-Button-flexContainer',\n msButtonTextContainer: 'ms-Button-textContainer',\n};\nexport var getBaseButtonClassNames = memoizeFunction(function (theme, styles, className, variantClassName, iconClassName, menuIconClassName, disabled, hasMenu, checked, expanded, isSplit) {\n var _a, _b;\n var classNames = getGlobalClassNames(ButtonGlobalClassNames, theme || {});\n var isExpanded = expanded && !isSplit;\n return mergeStyleSets({\n root: [\n classNames.msButton,\n styles.root,\n variantClassName,\n checked && ['is-checked', styles.rootChecked],\n isExpanded && [\n 'is-expanded',\n styles.rootExpanded,\n {\n selectors: (_a = {},\n _a[\":hover .\" + classNames.msButtonIcon] = styles.iconExpandedHovered,\n // menuIcon falls back to rootExpandedHovered to support original behavior\n _a[\":hover .\" + classNames.msButtonMenuIcon] = styles.menuIconExpandedHovered || styles.rootExpandedHovered,\n _a[':hover'] = styles.rootExpandedHovered,\n _a),\n },\n ],\n hasMenu && [ButtonGlobalClassNames.msButtonHasMenu, styles.rootHasMenu],\n disabled && ['is-disabled', styles.rootDisabled],\n !disabled &&\n !isExpanded &&\n !checked && {\n selectors: (_b = {\n ':hover': styles.rootHovered\n },\n _b[\":hover .\" + classNames.msButtonLabel] = styles.labelHovered,\n _b[\":hover .\" + classNames.msButtonIcon] = styles.iconHovered,\n _b[\":hover .\" + classNames.msButtonDescription] = styles.descriptionHovered,\n _b[\":hover .\" + classNames.msButtonMenuIcon] = styles.menuIconHovered,\n _b[':focus'] = styles.rootFocused,\n _b[':active'] = styles.rootPressed,\n _b[\":active .\" + classNames.msButtonIcon] = styles.iconPressed,\n _b[\":active .\" + classNames.msButtonDescription] = styles.descriptionPressed,\n _b[\":active .\" + classNames.msButtonMenuIcon] = styles.menuIconPressed,\n _b),\n },\n disabled && checked && [styles.rootCheckedDisabled],\n !disabled &&\n checked && {\n selectors: {\n ':hover': styles.rootCheckedHovered,\n ':active': styles.rootCheckedPressed,\n },\n },\n className,\n ],\n flexContainer: [classNames.msButtonFlexContainer, styles.flexContainer],\n textContainer: [classNames.msButtonTextContainer, styles.textContainer],\n icon: [\n classNames.msButtonIcon,\n iconClassName,\n styles.icon,\n isExpanded && styles.iconExpanded,\n checked && styles.iconChecked,\n disabled && styles.iconDisabled,\n ],\n label: [classNames.msButtonLabel, styles.label, checked && styles.labelChecked, disabled && styles.labelDisabled],\n menuIcon: [\n classNames.msButtonMenuIcon,\n menuIconClassName,\n styles.menuIcon,\n checked && styles.menuIconChecked,\n disabled && !isSplit && styles.menuIconDisabled,\n !disabled &&\n !isExpanded &&\n !checked && {\n selectors: {\n ':hover': styles.menuIconHovered,\n ':active': styles.menuIconPressed,\n },\n },\n isExpanded && ['is-expanded', styles.menuIconExpanded],\n ],\n description: [\n classNames.msButtonDescription,\n styles.description,\n checked && styles.descriptionChecked,\n disabled && styles.descriptionDisabled,\n ],\n screenReaderText: [classNames.msButtonScreenReaderText, styles.screenReaderText],\n });\n});\n//# sourceMappingURL=BaseButton.classNames.js.map","import { __assign, __extends, __rest } from \"tslib\";\nimport * as React from 'react';\nimport { anchorProperties, assign, buttonProperties, createMergedRef, css, getId, getNativeProps, initializeComponentRef, memoizeFunction, mergeAriaAttributeValues, nullRender, portalContainsElement, setFocusVisibility, warnConditionallyRequiredProps, warnDeprecations, Async, EventGroup, FocusRects, KeyCodes, } from '../../Utilities';\nimport { Icon, FontIcon, ImageIcon } from '../../Icon';\nimport { DirectionalHint } from '../../common/DirectionalHint';\nimport { ContextualMenu } from '../../ContextualMenu';\nimport { getBaseButtonClassNames } from './BaseButton.classNames';\nimport { getSplitButtonClassNames as getBaseSplitButtonClassNames, } from './SplitButton/SplitButton.classNames';\nimport { KeytipData } from '../../KeytipData';\nvar TouchIdleDelay = 500; /* ms */\nvar COMPONENT_NAME = 'BaseButton';\n/**\n * {@docCategory Button}\n */\nvar BaseButton = /** @class */ (function (_super) {\n __extends(BaseButton, _super);\n function BaseButton(props) {\n var _this = _super.call(this, props) || this;\n _this._buttonElement = React.createRef();\n _this._splitButtonContainer = React.createRef();\n _this._mergedRef = createMergedRef();\n _this._renderedVisibleMenu = false;\n _this._getMemoizedMenuButtonKeytipProps = memoizeFunction(function (keytipProps) {\n return __assign(__assign({}, keytipProps), { hasMenu: true });\n });\n _this._onRenderIcon = function (buttonProps, defaultRender) {\n var iconProps = _this.props.iconProps;\n if (iconProps && (iconProps.iconName !== undefined || iconProps.imageProps)) {\n var className = iconProps.className, imageProps = iconProps.imageProps, rest = __rest(iconProps, [\"className\", \"imageProps\"]);\n // If the styles prop is specified as part of iconProps, fall back to regular Icon as FontIcon and ImageIcon\n // do not have this prop.\n if (iconProps.styles) {\n return React.createElement(Icon, __assign({ className: css(_this._classNames.icon, className), imageProps: imageProps }, rest));\n }\n if (iconProps.iconName) {\n return React.createElement(FontIcon, __assign({ className: css(_this._classNames.icon, className) }, rest));\n }\n if (imageProps) {\n return React.createElement(ImageIcon, __assign({ className: css(_this._classNames.icon, className), imageProps: imageProps }, rest));\n }\n }\n return null;\n };\n _this._onRenderTextContents = function () {\n var _a = _this.props, text = _a.text, children = _a.children, \n // eslint-disable-next-line deprecation/deprecation\n _b = _a.secondaryText, \n // eslint-disable-next-line deprecation/deprecation\n secondaryText = _b === void 0 ? _this.props.description : _b, _c = _a.onRenderText, onRenderText = _c === void 0 ? _this._onRenderText : _c, _d = _a.onRenderDescription, onRenderDescription = _d === void 0 ? _this._onRenderDescription : _d;\n if (text || typeof children === 'string' || secondaryText) {\n return (React.createElement(\"span\", { className: _this._classNames.textContainer },\n onRenderText(_this.props, _this._onRenderText),\n onRenderDescription(_this.props, _this._onRenderDescription)));\n }\n return [onRenderText(_this.props, _this._onRenderText), onRenderDescription(_this.props, _this._onRenderDescription)];\n };\n _this._onRenderText = function () {\n var text = _this.props.text;\n var children = _this.props.children;\n // For backwards compat, we should continue to take in the text content from children.\n if (text === undefined && typeof children === 'string') {\n text = children;\n }\n if (_this._hasText()) {\n return (React.createElement(\"span\", { key: _this._labelId, className: _this._classNames.label, id: _this._labelId }, text));\n }\n return null;\n };\n _this._onRenderChildren = function () {\n var children = _this.props.children;\n // If children is just a string, either it or the text will be rendered via onRenderLabel\n // If children is another component, it will be rendered after text\n if (typeof children === 'string') {\n return null;\n }\n return children;\n };\n _this._onRenderDescription = function (props) {\n // eslint-disable-next-line deprecation/deprecation\n var _a = props.secondaryText, secondaryText = _a === void 0 ? _this.props.description : _a;\n // ms-Button-description is only shown when the button type is compound.\n // In other cases it will not be displayed.\n return secondaryText ? (React.createElement(\"span\", { key: _this._descriptionId, className: _this._classNames.description, id: _this._descriptionId }, secondaryText)) : null;\n };\n _this._onRenderAriaDescription = function () {\n var ariaDescription = _this.props.ariaDescription;\n // If ariaDescription is given, descriptionId will be assigned to ariaDescriptionSpan,\n // otherwise it will be assigned to descriptionSpan.\n return ariaDescription ? (React.createElement(\"span\", { className: _this._classNames.screenReaderText, id: _this._ariaDescriptionId }, ariaDescription)) : null;\n };\n _this._onRenderMenuIcon = function (props) {\n var menuIconProps = _this.props.menuIconProps;\n return React.createElement(FontIcon, __assign({ iconName: \"ChevronDown\" }, menuIconProps, { className: _this._classNames.menuIcon }));\n };\n _this._onRenderMenu = function (menuProps) {\n var persistMenu = _this.props.persistMenu;\n var menuHidden = _this.state.menuHidden;\n var MenuType = _this.props.menuAs || ContextualMenu;\n // the accessible menu label (accessible name) has a relationship to the button.\n // If the menu props do not specify an explicit value for aria-label or aria-labelledBy,\n // AND the button has text, we'll set the menu aria-labelledBy to the text element id.\n if (!menuProps.ariaLabel && !menuProps.labelElementId && _this._hasText()) {\n menuProps = __assign(__assign({}, menuProps), { labelElementId: _this._labelId });\n }\n return (React.createElement(MenuType, __assign({ id: _this._labelId + '-menu', directionalHint: DirectionalHint.bottomLeftEdge }, menuProps, { shouldFocusOnContainer: _this._menuShouldFocusOnContainer, shouldFocusOnMount: _this._menuShouldFocusOnMount, hidden: persistMenu ? menuHidden : undefined, className: css('ms-BaseButton-menuhost', menuProps.className), target: _this._isSplitButton ? _this._splitButtonContainer.current : _this._buttonElement.current, onDismiss: _this._onDismissMenu })));\n };\n _this._onDismissMenu = function (ev) {\n var menuProps = _this.props.menuProps;\n if (menuProps && menuProps.onDismiss) {\n menuProps.onDismiss(ev);\n }\n if (!ev || !ev.defaultPrevented) {\n _this._dismissMenu();\n }\n };\n _this._dismissMenu = function () {\n _this._menuShouldFocusOnMount = undefined;\n _this._menuShouldFocusOnContainer = undefined;\n _this.setState({ menuHidden: true });\n };\n _this._openMenu = function (shouldFocusOnContainer, shouldFocusOnMount) {\n if (shouldFocusOnMount === void 0) { shouldFocusOnMount = true; }\n if (_this.props.menuProps) {\n _this._menuShouldFocusOnContainer = shouldFocusOnContainer;\n _this._menuShouldFocusOnMount = shouldFocusOnMount;\n _this._renderedVisibleMenu = true;\n _this.setState({ menuHidden: false });\n }\n };\n _this._onToggleMenu = function (shouldFocusOnContainer) {\n var shouldFocusOnMount = true;\n if (_this.props.menuProps && _this.props.menuProps.shouldFocusOnMount === false) {\n shouldFocusOnMount = false;\n }\n _this.state.menuHidden ? _this._openMenu(shouldFocusOnContainer, shouldFocusOnMount) : _this._dismissMenu();\n };\n _this._onSplitContainerFocusCapture = function (ev) {\n var container = _this._splitButtonContainer.current;\n // If the target is coming from the portal we do not need to set focus on the container.\n if (!container || (ev.target && portalContainsElement(ev.target, container))) {\n return;\n }\n // We should never be able to focus the individual buttons in a split button. Focus\n // should always remain on the container.\n container.focus();\n };\n _this._onSplitButtonPrimaryClick = function (ev) {\n if (!_this.state.menuHidden) {\n _this._dismissMenu();\n }\n if (!_this._processingTouch && _this.props.onClick) {\n _this.props.onClick(ev);\n }\n else if (_this._processingTouch) {\n _this._onMenuClick(ev);\n }\n };\n _this._onKeyDown = function (ev) {\n // explicity cancelling event so click won't fire after this\n // eslint-disable-next-line deprecation/deprecation\n if (_this.props.disabled && (ev.which === KeyCodes.enter || ev.which === KeyCodes.space)) {\n ev.preventDefault();\n ev.stopPropagation();\n }\n else if (!_this.props.disabled) {\n if (_this.props.menuProps) {\n _this._onMenuKeyDown(ev);\n }\n else if (_this.props.onKeyDown !== undefined) {\n _this.props.onKeyDown(ev); // not cancelling event because it's not disabled\n }\n }\n };\n _this._onKeyUp = function (ev) {\n if (!_this.props.disabled && _this.props.onKeyUp !== undefined) {\n _this.props.onKeyUp(ev); // not cancelling event because it's not disabled\n }\n };\n _this._onKeyPress = function (ev) {\n if (!_this.props.disabled && _this.props.onKeyPress !== undefined) {\n _this.props.onKeyPress(ev); // not cancelling event because it's not disabled\n }\n };\n _this._onMouseUp = function (ev) {\n if (!_this.props.disabled && _this.props.onMouseUp !== undefined) {\n _this.props.onMouseUp(ev); // not cancelling event because it's not disabled\n }\n };\n _this._onMouseDown = function (ev) {\n if (!_this.props.disabled && _this.props.onMouseDown !== undefined) {\n _this.props.onMouseDown(ev); // not cancelling event because it's not disabled\n }\n };\n _this._onClick = function (ev) {\n if (!_this.props.disabled) {\n if (_this.props.menuProps) {\n _this._onMenuClick(ev);\n }\n else if (_this.props.onClick !== undefined) {\n _this.props.onClick(ev); // not cancelling event because it's not disabled\n }\n }\n };\n _this._onSplitButtonContainerKeyDown = function (ev) {\n // eslint-disable-next-line deprecation/deprecation\n if (ev.which === KeyCodes.enter || ev.which === KeyCodes.space) {\n if (_this._buttonElement.current) {\n _this._buttonElement.current.click();\n ev.preventDefault();\n ev.stopPropagation();\n }\n }\n else {\n _this._onMenuKeyDown(ev);\n }\n };\n _this._onMenuKeyDown = function (ev) {\n if (_this.props.disabled) {\n return;\n }\n if (_this.props.onKeyDown) {\n _this.props.onKeyDown(ev);\n }\n // eslint-disable-next-line deprecation/deprecation\n var isUp = ev.which === KeyCodes.up;\n // eslint-disable-next-line deprecation/deprecation\n var isDown = ev.which === KeyCodes.down;\n if (!ev.defaultPrevented && _this._isValidMenuOpenKey(ev)) {\n var onMenuClick = _this.props.onMenuClick;\n if (onMenuClick) {\n onMenuClick(ev, _this.props);\n }\n _this._onToggleMenu(false);\n ev.preventDefault();\n ev.stopPropagation();\n }\n // eslint-disable-next-line deprecation/deprecation\n if (ev.which === KeyCodes.enter || ev.which === KeyCodes.space) {\n // We manually set the focus visibility to true if opening via Enter or Space to account for the scenario where\n // a user clicks on the button, closes the menu and then opens it via keyboard. In this scenario our default logic\n // for setting focus visibility is not triggered since there is no keyboard navigation present beforehand.\n setFocusVisibility(true, ev.target);\n }\n if (!(ev.altKey || ev.metaKey) && (isUp || isDown)) {\n // Suppose a menu, with shouldFocusOnMount: false, is open, and user wants to keyboard to the menu items\n // We need to re-render the menu with shouldFocusOnMount as true.\n if (!_this.state.menuHidden && _this.props.menuProps) {\n var currentShouldFocusOnMount = _this._menuShouldFocusOnMount !== undefined\n ? _this._menuShouldFocusOnMount\n : _this.props.menuProps.shouldFocusOnMount;\n if (!currentShouldFocusOnMount) {\n ev.preventDefault();\n ev.stopPropagation();\n _this._menuShouldFocusOnMount = true;\n _this.forceUpdate();\n }\n }\n }\n };\n _this._onTouchStart = function () {\n if (_this._isSplitButton &&\n _this._splitButtonContainer.current &&\n !('onpointerdown' in _this._splitButtonContainer.current)) {\n _this._handleTouchAndPointerEvent();\n }\n };\n _this._onMenuClick = function (ev) {\n var onMenuClick = _this.props.onMenuClick;\n if (onMenuClick) {\n onMenuClick(ev, _this.props);\n }\n if (!ev.defaultPrevented) {\n // When Edge + Narrator are used together (regardless of if the button is in a form or not), pressing\n // \"Enter\" fires this method and not _onMenuKeyDown. Checking ev.nativeEvent.detail differentiates\n // between a real click event and a keypress event (detail should be the number of mouse clicks).\n // ...Plot twist! For a real click event in IE 11, detail is always 0 (Edge sets it properly to 1).\n // So we also check the pointerType property, which both Edge and IE set to \"mouse\" for real clicks\n // and \"\" for pressing \"Enter\" with Narrator on.\n var shouldFocusOnContainer = ev.nativeEvent.detail !== 0 || ev.nativeEvent.pointerType === 'mouse';\n _this._onToggleMenu(shouldFocusOnContainer);\n ev.preventDefault();\n ev.stopPropagation();\n }\n };\n initializeComponentRef(_this);\n _this._async = new Async(_this);\n _this._events = new EventGroup(_this);\n warnConditionallyRequiredProps(COMPONENT_NAME, props, ['menuProps', 'onClick'], 'split', _this.props.split);\n warnDeprecations(COMPONENT_NAME, props, {\n rootProps: undefined,\n description: 'secondaryText',\n toggled: 'checked',\n });\n _this._labelId = getId();\n _this._descriptionId = getId();\n _this._ariaDescriptionId = getId();\n _this.state = {\n menuHidden: true,\n };\n return _this;\n }\n Object.defineProperty(BaseButton.prototype, \"_isSplitButton\", {\n get: function () {\n return !!this.props.menuProps && !!this.props.onClick && this.props.split === true;\n },\n enumerable: false,\n configurable: true\n });\n BaseButton.prototype.render = function () {\n var _a;\n var _b = this.props, ariaDescription = _b.ariaDescription, ariaLabel = _b.ariaLabel, ariaHidden = _b.ariaHidden, className = _b.className, disabled = _b.disabled, allowDisabledFocus = _b.allowDisabledFocus, primaryDisabled = _b.primaryDisabled, \n // eslint-disable-next-line deprecation/deprecation\n _c = _b.secondaryText, \n // eslint-disable-next-line deprecation/deprecation\n secondaryText = _c === void 0 ? this.props.description : _c, href = _b.href, iconProps = _b.iconProps, menuIconProps = _b.menuIconProps, styles = _b.styles, checked = _b.checked, variantClassName = _b.variantClassName, theme = _b.theme, toggle = _b.toggle, getClassNames = _b.getClassNames, role = _b.role;\n var menuHidden = this.state.menuHidden;\n // Button is disabled if the whole button (in case of splitButton is disabled) or if the primary action is disabled\n var isPrimaryButtonDisabled = disabled || primaryDisabled;\n this._classNames = getClassNames\n ? getClassNames(theme, className, variantClassName, iconProps && iconProps.className, menuIconProps && menuIconProps.className, isPrimaryButtonDisabled, checked, !menuHidden, !!this.props.menuProps, this.props.split, !!allowDisabledFocus)\n : getBaseButtonClassNames(theme, styles, className, variantClassName, iconProps && iconProps.className, menuIconProps && menuIconProps.className, isPrimaryButtonDisabled, !!this.props.menuProps, checked, !menuHidden, this.props.split);\n var _d = this, _ariaDescriptionId = _d._ariaDescriptionId, _labelId = _d._labelId, _descriptionId = _d._descriptionId;\n // Anchor tag cannot be disabled hence in disabled state rendering\n // anchor button as normal button\n var renderAsAnchor = !isPrimaryButtonDisabled && !!href;\n var tag = renderAsAnchor ? 'a' : 'button';\n var nativeProps = getNativeProps(\n // eslint-disable-next-line deprecation/deprecation\n assign(renderAsAnchor ? {} : { type: 'button' }, this.props.rootProps, this.props), renderAsAnchor ? anchorProperties : buttonProperties, [\n 'disabled',\n ]);\n // Check for ariaLabel passed in via Button props, and fall back to aria-label passed in via native props\n var resolvedAriaLabel = ariaLabel || nativeProps['aria-label'];\n // Check for ariaDescription, secondaryText or aria-describedby in the native props to determine source of\n // aria-describedby. Otherwise default to undefined so property does not appear in output.\n var ariaDescribedBy = undefined;\n if (ariaDescription) {\n ariaDescribedBy = _ariaDescriptionId;\n }\n else if (secondaryText && this.props.onRenderDescription !== nullRender) {\n // for buttons like CompoundButton with a valid onRenderDescription, we need to set an ariaDescribedBy\n // for buttons that do not render anything (via nullRender), we should not set an ariaDescribedBy\n ariaDescribedBy = _descriptionId;\n }\n else if (nativeProps['aria-describedby']) {\n ariaDescribedBy = nativeProps['aria-describedby'];\n }\n // If an explicit aria-labelledby is given, use that and we're done.\n // If any kind of description is given (which will end up as an aria-describedby attribute)\n // and no ariaLabel is specified, set the labelledby element.\n // Otherwise, the button is labeled implicitly by the descendent text on the button (if it exists).\n var ariaLabelledBy = undefined;\n if (nativeProps['aria-labelledby']) {\n ariaLabelledBy = nativeProps['aria-labelledby'];\n }\n else if (ariaDescribedBy && !resolvedAriaLabel) {\n ariaLabelledBy = this._hasText() ? _labelId : undefined;\n }\n var dataIsFocusable = this.props['data-is-focusable'] === false || (disabled && !allowDisabledFocus) || this._isSplitButton\n ? false\n : true;\n var isCheckboxTypeRole = role === 'menuitemcheckbox' || role === 'checkbox';\n // if isCheckboxTypeRole, always return a checked value.\n // Otherwise only return checked value if toggle is set to true.\n // This is because role=\"checkbox\" always needs to have an aria-checked value\n // but our checked prop only sets aria-pressed if we mark the button as a toggle=\"true\"\n var checkedOrPressedValue = isCheckboxTypeRole ? !!checked : toggle === true ? !!checked : undefined;\n var buttonProps = assign(nativeProps, (_a = {\n className: this._classNames.root,\n // eslint-disable-next-line deprecation/deprecation\n ref: this._mergedRef(this.props.elementRef, this._buttonElement),\n disabled: isPrimaryButtonDisabled && !allowDisabledFocus,\n onKeyDown: this._onKeyDown,\n onKeyPress: this._onKeyPress,\n onKeyUp: this._onKeyUp,\n onMouseDown: this._onMouseDown,\n onMouseUp: this._onMouseUp,\n onClick: this._onClick,\n 'aria-label': resolvedAriaLabel,\n 'aria-labelledby': ariaLabelledBy,\n 'aria-describedby': ariaDescribedBy,\n 'aria-disabled': isPrimaryButtonDisabled,\n 'data-is-focusable': dataIsFocusable\n },\n // aria-pressed attribute should only be present for toggle buttons\n // aria-checked attribute should only be present for toggle buttons with checkbox type role\n _a[isCheckboxTypeRole ? 'aria-checked' : 'aria-pressed'] = checkedOrPressedValue,\n _a));\n if (ariaHidden) {\n buttonProps['aria-hidden'] = true;\n }\n if (this._isSplitButton) {\n return this._onRenderSplitButtonContent(tag, buttonProps);\n }\n else if (this.props.menuProps) {\n var _e = this.props.menuProps.id, id = _e === void 0 ? this._labelId + \"-menu\" : _e;\n assign(buttonProps, {\n 'aria-expanded': !menuHidden,\n 'aria-controls': !menuHidden ? id : null,\n 'aria-haspopup': true,\n });\n }\n return this._onRenderContent(tag, buttonProps);\n };\n BaseButton.prototype.componentDidMount = function () {\n // For split buttons, touching anywhere in the button should drop the dropdown, which should contain the\n // primary action. This gives more hit target space for touch environments. We're setting the onpointerdown here,\n // because React does not support Pointer events yet.\n if (this._isSplitButton && this._splitButtonContainer.current) {\n if ('onpointerdown' in this._splitButtonContainer.current) {\n this._events.on(this._splitButtonContainer.current, 'pointerdown', this._onPointerDown, true);\n }\n if ('onpointerup' in this._splitButtonContainer.current && this.props.onPointerUp) {\n this._events.on(this._splitButtonContainer.current, 'pointerup', this.props.onPointerUp, true);\n }\n }\n };\n BaseButton.prototype.componentDidUpdate = function (prevProps, prevState) {\n // If Button's menu was closed, run onAfterMenuDismiss.\n if (this.props.onAfterMenuDismiss && !prevState.menuHidden && this.state.menuHidden) {\n this.props.onAfterMenuDismiss();\n }\n };\n BaseButton.prototype.componentWillUnmount = function () {\n this._async.dispose();\n this._events.dispose();\n };\n BaseButton.prototype.focus = function () {\n if (this._isSplitButton && this._splitButtonContainer.current) {\n setFocusVisibility(true);\n this._splitButtonContainer.current.focus();\n }\n else if (this._buttonElement.current) {\n setFocusVisibility(true);\n this._buttonElement.current.focus();\n }\n };\n BaseButton.prototype.dismissMenu = function () {\n this._dismissMenu();\n };\n BaseButton.prototype.openMenu = function (shouldFocusOnContainer, shouldFocusOnMount) {\n this._openMenu(shouldFocusOnContainer, shouldFocusOnMount);\n };\n BaseButton.prototype._onRenderContent = function (tag, buttonProps) {\n var _this = this;\n var props = this.props;\n var Tag = tag;\n var menuIconProps = props.menuIconProps, menuProps = props.menuProps, _a = props.onRenderIcon, onRenderIcon = _a === void 0 ? this._onRenderIcon : _a, _b = props.onRenderAriaDescription, onRenderAriaDescription = _b === void 0 ? this._onRenderAriaDescription : _b, _c = props.onRenderChildren, onRenderChildren = _c === void 0 ? this._onRenderChildren : _c, \n // eslint-disable-next-line deprecation/deprecation\n _d = props.onRenderMenu, \n // eslint-disable-next-line deprecation/deprecation\n onRenderMenu = _d === void 0 ? this._onRenderMenu : _d, _e = props.onRenderMenuIcon, onRenderMenuIcon = _e === void 0 ? this._onRenderMenuIcon : _e, disabled = props.disabled;\n var keytipProps = props.keytipProps;\n if (keytipProps && menuProps) {\n keytipProps = this._getMemoizedMenuButtonKeytipProps(keytipProps);\n }\n var Button = function (keytipAttributes) { return (React.createElement(Tag, __assign({}, buttonProps, keytipAttributes),\n React.createElement(\"span\", { className: _this._classNames.flexContainer, \"data-automationid\": \"splitbuttonprimary\" },\n onRenderIcon(props, _this._onRenderIcon),\n _this._onRenderTextContents(),\n onRenderAriaDescription(props, _this._onRenderAriaDescription),\n onRenderChildren(props, _this._onRenderChildren),\n !_this._isSplitButton &&\n (menuProps || menuIconProps || _this.props.onRenderMenuIcon) &&\n onRenderMenuIcon(_this.props, _this._onRenderMenuIcon),\n menuProps &&\n !menuProps.doNotLayer &&\n _this._shouldRenderMenu() &&\n onRenderMenu(menuProps, _this._onRenderMenu)))); };\n var Content = keytipProps ? (\n // If we're making a split button, we won't put the keytip here\n React.createElement(KeytipData, { keytipProps: !this._isSplitButton ? keytipProps : undefined, ariaDescribedBy: buttonProps['aria-describedby'], disabled: disabled }, function (keytipAttributes) { return Button(keytipAttributes); })) : (Button());\n if (menuProps && menuProps.doNotLayer) {\n return (React.createElement(React.Fragment, null,\n Content,\n this._shouldRenderMenu() && onRenderMenu(menuProps, this._onRenderMenu)));\n }\n return (React.createElement(React.Fragment, null,\n Content,\n React.createElement(FocusRects, null)));\n };\n /**\n * Method to help determine if the menu's component tree should\n * be rendered. It takes into account whether the menu is expanded,\n * whether it is a persisted menu and whether it has been shown to the user.\n */\n BaseButton.prototype._shouldRenderMenu = function () {\n var menuHidden = this.state.menuHidden;\n // eslint-disable-next-line deprecation/deprecation\n var _a = this.props, persistMenu = _a.persistMenu, renderPersistedMenuHiddenOnMount = _a.renderPersistedMenuHiddenOnMount;\n if (!menuHidden) {\n // Always should render a menu when it is expanded\n return true;\n }\n else if (persistMenu && (this._renderedVisibleMenu || renderPersistedMenuHiddenOnMount)) {\n // _renderedVisibleMenu ensures that the first rendering of\n // the menu happens on-screen, as edge's scrollbar calculations are off if done while hidden.\n return true;\n }\n return false;\n };\n BaseButton.prototype._hasText = function () {\n // _onRenderTextContents and _onRenderText do not perform the same checks. Below is parity with what _onRenderText\n // used to have before the refactor that introduced this function. _onRenderTextContents does not require props.\n // text to be undefined in order for props.children to be used as a fallback.\n // Purely a code maintainability/reuse issue, but logged as Issue #4979.\n return this.props.text !== null && (this.props.text !== undefined || typeof this.props.children === 'string');\n };\n BaseButton.prototype._onRenderSplitButtonContent = function (tag, buttonProps) {\n var _this = this;\n var _a = this.props, _b = _a.styles, styles = _b === void 0 ? {} : _b, disabled = _a.disabled, allowDisabledFocus = _a.allowDisabledFocus, checked = _a.checked, getSplitButtonClassNames = _a.getSplitButtonClassNames, primaryDisabled = _a.primaryDisabled, menuProps = _a.menuProps, toggle = _a.toggle, role = _a.role, primaryActionButtonProps = _a.primaryActionButtonProps;\n var keytipProps = this.props.keytipProps;\n var menuHidden = this.state.menuHidden;\n var classNames = getSplitButtonClassNames\n ? getSplitButtonClassNames(!!disabled, !menuHidden, !!checked, !!allowDisabledFocus)\n : styles && getBaseSplitButtonClassNames(styles, !!disabled, !menuHidden, !!checked, !!primaryDisabled);\n assign(buttonProps, {\n onClick: undefined,\n onPointerDown: undefined,\n onPointerUp: undefined,\n tabIndex: -1,\n 'data-is-focusable': false,\n });\n if (keytipProps && menuProps) {\n keytipProps = this._getMemoizedMenuButtonKeytipProps(keytipProps);\n }\n var containerProps = getNativeProps(buttonProps, [], ['disabled']);\n // Add additional props to apply on primary action button\n if (primaryActionButtonProps) {\n assign(buttonProps, primaryActionButtonProps);\n }\n var SplitButton = function (keytipAttributes) { return (React.createElement(\"div\", __assign({}, containerProps, { \"data-ktp-target\": keytipAttributes ? keytipAttributes['data-ktp-target'] : undefined, role: role ? role : 'button', \"aria-disabled\": disabled, \"aria-haspopup\": true, \"aria-expanded\": !menuHidden, \"aria-pressed\": toggle ? !!checked : undefined, \"aria-describedby\": mergeAriaAttributeValues(buttonProps['aria-describedby'], keytipAttributes ? keytipAttributes['aria-describedby'] : undefined), className: classNames && classNames.splitButtonContainer, onKeyDown: _this._onSplitButtonContainerKeyDown, onTouchStart: _this._onTouchStart, ref: _this._splitButtonContainer, \"data-is-focusable\": true, onClick: !disabled && !primaryDisabled ? _this._onSplitButtonPrimaryClick : undefined, tabIndex: (!disabled && !primaryDisabled) || allowDisabledFocus ? 0 : undefined, \"aria-roledescription\": buttonProps['aria-roledescription'], onFocusCapture: _this._onSplitContainerFocusCapture }),\n React.createElement(\"span\", { style: { display: 'flex' } },\n _this._onRenderContent(tag, buttonProps),\n _this._onRenderSplitButtonMenuButton(classNames, keytipAttributes),\n _this._onRenderSplitButtonDivider(classNames)))); };\n return keytipProps ? (React.createElement(KeytipData, { keytipProps: keytipProps, disabled: disabled }, function (keytipAttributes) { return SplitButton(keytipAttributes); })) : (SplitButton());\n };\n BaseButton.prototype._onRenderSplitButtonDivider = function (classNames) {\n if (classNames && classNames.divider) {\n var onClick = function (ev) {\n ev.stopPropagation();\n };\n return React.createElement(\"span\", { className: classNames.divider, \"aria-hidden\": true, onClick: onClick });\n }\n return null;\n };\n BaseButton.prototype._onRenderSplitButtonMenuButton = function (classNames, keytipAttributes) {\n var _a = this.props, allowDisabledFocus = _a.allowDisabledFocus, checked = _a.checked, disabled = _a.disabled, splitButtonMenuProps = _a.splitButtonMenuProps, splitButtonAriaLabel = _a.splitButtonAriaLabel, primaryDisabled = _a.primaryDisabled;\n var menuHidden = this.state.menuHidden;\n var menuIconProps = this.props.menuIconProps;\n if (menuIconProps === undefined) {\n menuIconProps = {\n iconName: 'ChevronDown',\n };\n }\n var splitButtonProps = __assign(__assign({}, splitButtonMenuProps), { styles: classNames, checked: checked, disabled: disabled, allowDisabledFocus: allowDisabledFocus, onClick: this._onMenuClick, menuProps: undefined, iconProps: __assign(__assign({}, menuIconProps), { className: this._classNames.menuIcon }), ariaLabel: splitButtonAriaLabel, 'aria-haspopup': true, 'aria-expanded': !menuHidden, 'data-is-focusable': false });\n // Add data-ktp-execute-target to the split button if the keytip is defined\n return (React.createElement(BaseButton, __assign({}, splitButtonProps, { \"data-ktp-execute-target\": keytipAttributes ? keytipAttributes['data-ktp-execute-target'] : keytipAttributes, onMouseDown: this._onMouseDown, tabIndex: primaryDisabled && !allowDisabledFocus ? 0 : -1 })));\n };\n BaseButton.prototype._onPointerDown = function (ev) {\n var onPointerDown = this.props.onPointerDown;\n if (onPointerDown) {\n onPointerDown(ev);\n }\n if (ev.pointerType === 'touch') {\n this._handleTouchAndPointerEvent();\n ev.preventDefault();\n ev.stopImmediatePropagation();\n }\n };\n BaseButton.prototype._handleTouchAndPointerEvent = function () {\n var _this = this;\n // If we already have an existing timeout from a previous touch and pointer event\n // cancel that timeout so we can set a new one.\n if (this._lastTouchTimeoutId !== undefined) {\n this._async.clearTimeout(this._lastTouchTimeoutId);\n this._lastTouchTimeoutId = undefined;\n }\n this._processingTouch = true;\n this._lastTouchTimeoutId = this._async.setTimeout(function () {\n _this._processingTouch = false;\n _this._lastTouchTimeoutId = undefined;\n // Touch and pointer events don't focus the button naturally,\n // so adding an imperative focus call to guarantee this behavior.\n _this.focus();\n }, TouchIdleDelay);\n };\n /**\n * Returns if the user hits a valid keyboard key to open the menu\n * @param ev - the keyboard event\n * @returns True if user clicks on custom trigger key if enabled or alt + down arrow if not. False otherwise.\n */\n BaseButton.prototype._isValidMenuOpenKey = function (ev) {\n if (this.props.menuTriggerKeyCode) {\n // eslint-disable-next-line deprecation/deprecation\n return ev.which === this.props.menuTriggerKeyCode;\n }\n else if (this.props.menuProps) {\n // eslint-disable-next-line deprecation/deprecation\n return ev.which === KeyCodes.down && (ev.altKey || ev.metaKey);\n }\n // Note: When enter is pressed, we will let the event continue to propagate\n // to trigger the onClick event on the button\n return false;\n };\n BaseButton.defaultProps = {\n baseClassName: 'ms-Button',\n styles: {},\n split: false,\n };\n return BaseButton;\n}(React.Component));\nexport { BaseButton };\n//# sourceMappingURL=BaseButton.js.map","import { memoizeFunction } from '../../../Utilities';\nimport { mergeStyles } from '../../../Styling';\nexport var getSplitButtonClassNames = memoizeFunction(function (styles, disabled, expanded, checked, primaryDisabled) {\n return {\n root: mergeStyles(styles.splitButtonMenuButton, expanded && [styles.splitButtonMenuButtonExpanded], disabled && [styles.splitButtonMenuButtonDisabled], checked && !disabled && [styles.splitButtonMenuButtonChecked], primaryDisabled &&\n !disabled && [\n {\n selectors: {\n ':focus': styles.splitButtonMenuFocused,\n },\n },\n ]),\n splitButtonContainer: mergeStyles(styles.splitButtonContainer, !disabled &&\n checked && [\n styles.splitButtonContainerChecked,\n {\n selectors: {\n ':hover': styles.splitButtonContainerCheckedHovered,\n },\n },\n ], !disabled &&\n !checked && [\n {\n selectors: {\n ':hover': styles.splitButtonContainerHovered,\n ':focus': styles.splitButtonContainerFocused,\n },\n },\n ], disabled && styles.splitButtonContainerDisabled),\n icon: mergeStyles(styles.splitButtonMenuIcon, disabled && styles.splitButtonMenuIconDisabled, !disabled && primaryDisabled && styles.splitButtonMenuIcon),\n flexContainer: mergeStyles(styles.splitButtonFlexContainer),\n divider: mergeStyles(styles.splitButtonDivider, (primaryDisabled || disabled) && styles.splitButtonDividerDisabled),\n };\n});\n//# sourceMappingURL=SplitButton.classNames.js.map","import { memoizeFunction } from '../../Utilities';\nimport { HighContrastSelector, getFocusStyle, hiddenContentStyle } from '../../Styling';\nvar noOutline = {\n outline: 0,\n};\nvar iconStyle = function (fontSize) {\n return {\n fontSize: fontSize,\n margin: '0 4px',\n height: '16px',\n lineHeight: '16px',\n textAlign: 'center',\n flexShrink: 0,\n };\n};\n/**\n * Gets the base button styles. Note: because it is a base class to be used with the `mergeRules`\n * helper, it should have values for all class names in the interface. This let `mergeRules` optimize\n * mixing class names together.\n */\nexport var getStyles = memoizeFunction(function (theme) {\n var _a, _b;\n var semanticColors = theme.semanticColors, effects = theme.effects, fonts = theme.fonts;\n var border = semanticColors.buttonBorder;\n var disabledBackground = semanticColors.disabledBackground;\n var disabledText = semanticColors.disabledText;\n var buttonHighContrastFocus = {\n left: -2,\n top: -2,\n bottom: -2,\n right: -2,\n outlineColor: 'ButtonText',\n };\n return {\n root: [\n getFocusStyle(theme, { inset: 1, highContrastStyle: buttonHighContrastFocus, borderColor: 'transparent' }),\n theme.fonts.medium,\n {\n boxSizing: 'border-box',\n border: '1px solid ' + border,\n userSelect: 'none',\n display: 'inline-block',\n textDecoration: 'none',\n textAlign: 'center',\n cursor: 'pointer',\n padding: '0 16px',\n borderRadius: effects.roundedCorner2,\n selectors: {\n // IE11 workaround for preventing shift of child elements of a button when active.\n ':active > *': {\n position: 'relative',\n left: 0,\n top: 0,\n },\n },\n },\n ],\n rootDisabled: [\n getFocusStyle(theme, { inset: 1, highContrastStyle: buttonHighContrastFocus, borderColor: 'transparent' }),\n {\n backgroundColor: disabledBackground,\n borderColor: disabledBackground,\n color: disabledText,\n cursor: 'default',\n selectors: {\n ':hover': noOutline,\n ':focus': noOutline,\n },\n },\n ],\n iconDisabled: {\n color: disabledText,\n selectors: (_a = {},\n _a[HighContrastSelector] = {\n color: 'GrayText',\n },\n _a),\n },\n menuIconDisabled: {\n color: disabledText,\n selectors: (_b = {},\n _b[HighContrastSelector] = {\n color: 'GrayText',\n },\n _b),\n },\n flexContainer: {\n display: 'flex',\n height: '100%',\n flexWrap: 'nowrap',\n justifyContent: 'center',\n alignItems: 'center',\n },\n description: {\n display: 'block',\n },\n textContainer: {\n flexGrow: 1,\n display: 'block',\n },\n icon: iconStyle(fonts.mediumPlus.fontSize),\n menuIcon: iconStyle(fonts.small.fontSize),\n label: {\n margin: '0 4px',\n lineHeight: '100%',\n display: 'block',\n },\n screenReaderText: hiddenContentStyle,\n };\n});\n//# sourceMappingURL=BaseButton.styles.js.map","import { __assign } from \"tslib\";\nimport { HighContrastSelector, getHighContrastNoAdjustStyle } from '../../Styling';\nimport { IsFocusVisibleClassName } from '../../Utilities';\nvar splitButtonDividerBaseStyles = function () {\n return {\n position: 'absolute',\n width: 1,\n right: 31,\n top: 8,\n bottom: 8,\n };\n};\nexport function standardStyles(theme) {\n var _a, _b, _c, _d, _e;\n var s = theme.semanticColors, p = theme.palette;\n var buttonBackground = s.buttonBackground;\n var buttonBackgroundPressed = s.buttonBackgroundPressed;\n var buttonBackgroundHovered = s.buttonBackgroundHovered;\n var buttonBackgroundDisabled = s.buttonBackgroundDisabled;\n var buttonText = s.buttonText;\n var buttonTextHovered = s.buttonTextHovered;\n var buttonTextDisabled = s.buttonTextDisabled;\n var buttonTextChecked = s.buttonTextChecked;\n var buttonTextCheckedHovered = s.buttonTextCheckedHovered;\n return {\n root: {\n backgroundColor: buttonBackground,\n color: buttonText,\n },\n rootHovered: {\n backgroundColor: buttonBackgroundHovered,\n color: buttonTextHovered,\n selectors: (_a = {},\n _a[HighContrastSelector] = {\n borderColor: 'Highlight',\n color: 'Highlight',\n },\n _a),\n },\n rootPressed: {\n backgroundColor: buttonBackgroundPressed,\n color: buttonTextChecked,\n },\n rootExpanded: {\n backgroundColor: buttonBackgroundPressed,\n color: buttonTextChecked,\n },\n rootChecked: {\n backgroundColor: buttonBackgroundPressed,\n color: buttonTextChecked,\n },\n rootCheckedHovered: {\n backgroundColor: buttonBackgroundPressed,\n color: buttonTextCheckedHovered,\n },\n rootDisabled: {\n color: buttonTextDisabled,\n backgroundColor: buttonBackgroundDisabled,\n selectors: (_b = {},\n _b[HighContrastSelector] = {\n color: 'GrayText',\n borderColor: 'GrayText',\n backgroundColor: 'Window',\n },\n _b),\n },\n // Split button styles\n splitButtonContainer: {\n selectors: (_c = {},\n _c[HighContrastSelector] = {\n border: 'none',\n },\n _c),\n },\n splitButtonMenuButton: {\n color: p.white,\n backgroundColor: 'transparent',\n selectors: {\n ':hover': {\n backgroundColor: p.neutralLight,\n selectors: (_d = {},\n _d[HighContrastSelector] = {\n color: 'Highlight',\n },\n _d),\n },\n },\n },\n splitButtonMenuButtonDisabled: {\n backgroundColor: s.buttonBackgroundDisabled,\n selectors: {\n ':hover': {\n backgroundColor: s.buttonBackgroundDisabled,\n },\n },\n },\n splitButtonDivider: __assign(__assign({}, splitButtonDividerBaseStyles()), { backgroundColor: p.neutralTertiaryAlt, selectors: (_e = {},\n _e[HighContrastSelector] = {\n backgroundColor: 'WindowText',\n },\n _e) }),\n splitButtonDividerDisabled: {\n backgroundColor: theme.palette.neutralTertiaryAlt,\n },\n splitButtonMenuButtonChecked: {\n backgroundColor: p.neutralQuaternaryAlt,\n selectors: {\n ':hover': {\n backgroundColor: p.neutralQuaternaryAlt,\n },\n },\n },\n splitButtonMenuButtonExpanded: {\n backgroundColor: p.neutralQuaternaryAlt,\n selectors: {\n ':hover': {\n backgroundColor: p.neutralQuaternaryAlt,\n },\n },\n },\n splitButtonMenuIcon: {\n color: s.buttonText,\n },\n splitButtonMenuIconDisabled: {\n color: s.buttonTextDisabled,\n },\n };\n}\nexport function primaryStyles(theme) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j;\n var p = theme.palette, s = theme.semanticColors;\n return {\n root: {\n backgroundColor: s.primaryButtonBackground,\n border: \"1px solid \" + s.primaryButtonBackground,\n color: s.primaryButtonText,\n selectors: (_a = {},\n _a[HighContrastSelector] = __assign({ color: 'Window', backgroundColor: 'WindowText', borderColor: 'WindowText' }, getHighContrastNoAdjustStyle()),\n _a[\".\" + IsFocusVisibleClassName + \" &:focus\"] = {\n selectors: {\n ':after': {\n border: \"none\",\n outlineColor: p.white,\n },\n },\n },\n _a),\n },\n rootHovered: {\n backgroundColor: s.primaryButtonBackgroundHovered,\n border: \"1px solid \" + s.primaryButtonBackgroundHovered,\n color: s.primaryButtonTextHovered,\n selectors: (_b = {},\n _b[HighContrastSelector] = {\n color: 'Window',\n backgroundColor: 'Highlight',\n borderColor: 'Highlight',\n },\n _b),\n },\n rootPressed: {\n backgroundColor: s.primaryButtonBackgroundPressed,\n border: \"1px solid \" + s.primaryButtonBackgroundPressed,\n color: s.primaryButtonTextPressed,\n selectors: (_c = {},\n _c[HighContrastSelector] = __assign({ color: 'Window', backgroundColor: 'WindowText', borderColor: 'WindowText' }, getHighContrastNoAdjustStyle()),\n _c),\n },\n rootExpanded: {\n backgroundColor: s.primaryButtonBackgroundPressed,\n color: s.primaryButtonTextPressed,\n },\n rootChecked: {\n backgroundColor: s.primaryButtonBackgroundPressed,\n color: s.primaryButtonTextPressed,\n },\n rootCheckedHovered: {\n backgroundColor: s.primaryButtonBackgroundPressed,\n color: s.primaryButtonTextPressed,\n },\n rootDisabled: {\n color: s.primaryButtonTextDisabled,\n backgroundColor: s.primaryButtonBackgroundDisabled,\n selectors: (_d = {},\n _d[HighContrastSelector] = {\n color: 'GrayText',\n borderColor: 'GrayText',\n backgroundColor: 'Window',\n },\n _d),\n },\n // Split button styles\n splitButtonContainer: {\n selectors: (_e = {},\n _e[HighContrastSelector] = {\n border: 'none',\n },\n _e),\n },\n splitButtonDivider: __assign(__assign({}, splitButtonDividerBaseStyles()), { backgroundColor: p.white, selectors: (_f = {},\n _f[HighContrastSelector] = {\n backgroundColor: 'Window',\n },\n _f) }),\n splitButtonMenuButton: {\n backgroundColor: s.primaryButtonBackground,\n color: s.primaryButtonText,\n selectors: (_g = {},\n _g[HighContrastSelector] = {\n backgroundColor: 'WindowText',\n },\n _g[':hover'] = {\n backgroundColor: s.primaryButtonBackgroundHovered,\n selectors: (_h = {},\n _h[HighContrastSelector] = {\n color: 'Highlight',\n },\n _h),\n },\n _g),\n },\n splitButtonMenuButtonDisabled: {\n backgroundColor: s.primaryButtonBackgroundDisabled,\n selectors: {\n ':hover': {\n backgroundColor: s.primaryButtonBackgroundDisabled,\n },\n },\n },\n splitButtonMenuButtonChecked: {\n backgroundColor: s.primaryButtonBackgroundPressed,\n selectors: {\n ':hover': {\n backgroundColor: s.primaryButtonBackgroundPressed,\n },\n },\n },\n splitButtonMenuButtonExpanded: {\n backgroundColor: s.primaryButtonBackgroundPressed,\n selectors: {\n ':hover': {\n backgroundColor: s.primaryButtonBackgroundPressed,\n },\n },\n },\n splitButtonMenuIcon: {\n color: s.primaryButtonText,\n },\n splitButtonMenuIconDisabled: {\n color: p.neutralTertiary,\n selectors: (_j = {},\n _j[HighContrastSelector] = {\n color: 'GrayText',\n },\n _j),\n },\n };\n}\n//# sourceMappingURL=ButtonThemes.js.map","import { __assign } from \"tslib\";\nimport { HighContrastSelector, concatStyleSets, getFocusStyle, getHighContrastNoAdjustStyle, } from '../../../Styling';\nimport { memoizeFunction } from '../../../Utilities';\nexport var getStyles = memoizeFunction(function (theme, customStyles) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;\n var effects = theme.effects, palette = theme.palette, semanticColors = theme.semanticColors;\n var buttonHighContrastFocus = {\n left: -2,\n top: -2,\n bottom: -2,\n right: -2,\n border: 'none',\n };\n var splitButtonDividerBaseStyles = {\n position: 'absolute',\n width: 1,\n right: 31,\n top: 8,\n bottom: 8,\n };\n var splitButtonStyles = {\n splitButtonContainer: [\n getFocusStyle(theme, { highContrastStyle: buttonHighContrastFocus, inset: 2 }),\n {\n display: 'inline-flex',\n selectors: {\n '.ms-Button--default': {\n borderTopRightRadius: '0',\n borderBottomRightRadius: '0',\n borderRight: 'none',\n },\n '.ms-Button--primary': {\n borderTopRightRadius: '0',\n borderBottomRightRadius: '0',\n border: 'none',\n selectors: (_a = {},\n _a[HighContrastSelector] = __assign({ color: 'WindowText', backgroundColor: 'Window', border: '1px solid WindowText', borderRightWidth: '0' }, getHighContrastNoAdjustStyle()),\n _a),\n },\n '.ms-Button--primary + .ms-Button': {\n border: 'none',\n selectors: (_b = {},\n _b[HighContrastSelector] = {\n border: '1px solid WindowText',\n borderLeftWidth: '0',\n },\n _b),\n },\n },\n },\n ],\n splitButtonContainerHovered: {\n selectors: {\n '.ms-Button--primary': {\n selectors: (_c = {},\n _c[HighContrastSelector] = {\n color: 'Window',\n backgroundColor: 'Highlight',\n },\n _c),\n },\n '.ms-Button.is-disabled': {\n color: semanticColors.buttonTextDisabled,\n selectors: (_d = {},\n _d[HighContrastSelector] = {\n color: 'GrayText',\n borderColor: 'GrayText',\n backgroundColor: 'Window',\n },\n _d),\n },\n },\n },\n splitButtonContainerChecked: {\n selectors: {\n '.ms-Button--primary': {\n selectors: (_e = {},\n _e[HighContrastSelector] = __assign({ color: 'Window', backgroundColor: 'WindowText' }, getHighContrastNoAdjustStyle()),\n _e),\n },\n },\n },\n splitButtonContainerCheckedHovered: {\n selectors: {\n '.ms-Button--primary': {\n selectors: (_f = {},\n _f[HighContrastSelector] = __assign({ color: 'Window', backgroundColor: 'WindowText' }, getHighContrastNoAdjustStyle()),\n _f),\n },\n },\n },\n splitButtonContainerFocused: {\n outline: 'none!important',\n },\n splitButtonMenuButton: (_g = {\n padding: 6,\n height: 'auto',\n boxSizing: 'border-box',\n borderRadius: 0,\n borderTopRightRadius: effects.roundedCorner2,\n borderBottomRightRadius: effects.roundedCorner2,\n border: \"1px solid \" + palette.neutralSecondaryAlt,\n borderLeft: 'none',\n outline: 'transparent',\n userSelect: 'none',\n display: 'inline-block',\n textDecoration: 'none',\n textAlign: 'center',\n cursor: 'pointer',\n verticalAlign: 'top',\n width: 32,\n marginLeft: -1,\n marginTop: 0,\n marginRight: 0,\n marginBottom: 0\n },\n _g[HighContrastSelector] = {\n '.ms-Button-menuIcon': {\n color: 'WindowText',\n },\n },\n _g),\n splitButtonDivider: __assign(__assign({}, splitButtonDividerBaseStyles), { selectors: (_h = {},\n _h[HighContrastSelector] = {\n backgroundColor: 'WindowText',\n },\n _h) }),\n splitButtonDividerDisabled: __assign(__assign({}, splitButtonDividerBaseStyles), { selectors: (_j = {},\n _j[HighContrastSelector] = {\n backgroundColor: 'GrayText',\n },\n _j) }),\n splitButtonMenuButtonDisabled: {\n pointerEvents: 'none',\n border: 'none',\n selectors: (_k = {\n ':hover': {\n cursor: 'default',\n },\n '.ms-Button--primary': {\n selectors: (_l = {},\n _l[HighContrastSelector] = {\n color: 'GrayText',\n borderColor: 'GrayText',\n backgroundColor: 'Window',\n },\n _l),\n },\n '.ms-Button-menuIcon': {\n selectors: (_m = {},\n _m[HighContrastSelector] = {\n color: 'GrayText',\n },\n _m),\n }\n },\n _k[HighContrastSelector] = {\n color: 'GrayText',\n border: '1px solid GrayText',\n backgroundColor: 'Window',\n },\n _k),\n },\n splitButtonFlexContainer: {\n display: 'flex',\n height: '100%',\n flexWrap: 'nowrap',\n justifyContent: 'center',\n alignItems: 'center',\n },\n splitButtonContainerDisabled: {\n outline: 'none',\n border: 'none',\n selectors: (_o = {},\n _o[HighContrastSelector] = __assign({ color: 'GrayText', borderColor: 'GrayText', backgroundColor: 'Window' }, getHighContrastNoAdjustStyle()),\n _o),\n },\n splitButtonMenuFocused: __assign({}, getFocusStyle(theme, { highContrastStyle: buttonHighContrastFocus, inset: 2 })),\n };\n return concatStyleSets(splitButtonStyles, customStyles);\n});\n//# sourceMappingURL=SplitButton.styles.js.map","import { concatStyleSets, FontWeights } from '../../../Styling';\nimport { memoizeFunction } from '../../../Utilities';\nimport { getStyles as getBaseButtonStyles } from '../BaseButton.styles';\nimport { getStyles as getSplitButtonStyles } from '../SplitButton/SplitButton.styles';\nimport { primaryStyles, standardStyles } from '../ButtonThemes';\nvar DEFAULT_BUTTON_HEIGHT = '32px';\nvar DEFAULT_BUTTON_MIN_WIDTH = '80px';\nexport var getStyles = memoizeFunction(function (theme, customStyles, primary) {\n var baseButtonStyles = getBaseButtonStyles(theme);\n var splitButtonStyles = getSplitButtonStyles(theme);\n var defaultButtonStyles = {\n root: {\n minWidth: DEFAULT_BUTTON_MIN_WIDTH,\n height: DEFAULT_BUTTON_HEIGHT,\n },\n label: {\n fontWeight: FontWeights.semibold,\n },\n };\n return concatStyleSets(baseButtonStyles, defaultButtonStyles, primary ? primaryStyles(theme) : standardStyles(theme), splitButtonStyles, customStyles);\n});\n//# sourceMappingURL=DefaultButton.styles.js.map","import { __assign, __decorate, __extends } from \"tslib\";\nimport * as React from 'react';\nimport { BaseButton } from '../BaseButton';\nimport { customizable, nullRender } from '../../../Utilities';\nimport { getStyles } from './DefaultButton.styles';\n/**\n * {@docCategory Button}\n */\nvar DefaultButton = /** @class */ (function (_super) {\n __extends(DefaultButton, _super);\n function DefaultButton() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n DefaultButton.prototype.render = function () {\n var _a = this.props, _b = _a.primary, primary = _b === void 0 ? false : _b, styles = _a.styles, theme = _a.theme;\n return (React.createElement(BaseButton, __assign({}, this.props, { variantClassName: primary ? 'ms-Button--primary' : 'ms-Button--default', styles: getStyles(theme, styles, primary), onRenderDescription: nullRender })));\n };\n DefaultButton = __decorate([\n customizable('DefaultButton', ['theme', 'styles'], true)\n ], DefaultButton);\n return DefaultButton;\n}(React.Component));\nexport { DefaultButton };\n//# sourceMappingURL=DefaultButton.js.map","import { __assign, __decorate, __extends } from \"tslib\";\nimport * as React from 'react';\nimport { customizable, nullRender } from '../../../Utilities';\nimport { DefaultButton } from '../DefaultButton/DefaultButton';\n/**\n * {@docCategory Button}\n */\nvar PrimaryButton = /** @class */ (function (_super) {\n __extends(PrimaryButton, _super);\n function PrimaryButton() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n PrimaryButton.prototype.render = function () {\n return React.createElement(DefaultButton, __assign({}, this.props, { primary: true, onRenderDescription: nullRender }));\n };\n PrimaryButton = __decorate([\n customizable('PrimaryButton', ['theme', 'styles'], true)\n ], PrimaryButton);\n return PrimaryButton;\n}(React.Component));\nexport { PrimaryButton };\n//# sourceMappingURL=PrimaryButton.js.map","import { AnimationVariables, getGlobalClassNames, ZIndexes } from '../../Styling';\nexport var animationDuration = AnimationVariables.durationValue2;\nvar globalClassNames = {\n root: 'ms-Modal',\n main: 'ms-Dialog-main',\n scrollableContent: 'ms-Modal-scrollableContent',\n isOpen: 'is-open',\n layer: 'ms-Modal-Layer',\n};\nexport var getStyles = function (props) {\n var _a;\n var className = props.className, containerClassName = props.containerClassName, scrollableContentClassName = props.scrollableContentClassName, isOpen = props.isOpen, isVisible = props.isVisible, hasBeenOpened = props.hasBeenOpened, modalRectangleTop = props.modalRectangleTop, theme = props.theme, topOffsetFixed = props.topOffsetFixed, isModeless = props.isModeless, layerClassName = props.layerClassName, isDefaultDragHandle = props.isDefaultDragHandle, windowInnerHeight = props.windowInnerHeight;\n var palette = theme.palette, effects = theme.effects, fonts = theme.fonts;\n var classNames = getGlobalClassNames(globalClassNames, theme);\n return {\n root: [\n classNames.root,\n fonts.medium,\n {\n backgroundColor: 'transparent',\n position: isModeless ? 'absolute' : 'fixed',\n height: '100%',\n width: '100%',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n opacity: 0,\n pointerEvents: 'none',\n transition: \"opacity \" + animationDuration,\n },\n topOffsetFixed &&\n typeof modalRectangleTop === 'number' &&\n hasBeenOpened && {\n alignItems: 'flex-start',\n },\n isOpen && classNames.isOpen,\n isVisible && {\n opacity: 1,\n pointerEvents: 'auto',\n },\n className,\n ],\n main: [\n classNames.main,\n {\n boxShadow: effects.elevation64,\n borderRadius: effects.roundedCorner2,\n backgroundColor: palette.white,\n boxSizing: 'border-box',\n position: 'relative',\n textAlign: 'left',\n outline: '3px solid transparent',\n maxHeight: 'calc(100% - 32px)',\n maxWidth: 'calc(100% - 32px)',\n minHeight: '176px',\n minWidth: '288px',\n overflowY: 'auto',\n zIndex: isModeless ? ZIndexes.Layer : undefined,\n },\n topOffsetFixed &&\n typeof modalRectangleTop === 'number' &&\n hasBeenOpened && {\n top: modalRectangleTop,\n },\n isDefaultDragHandle && {\n cursor: 'move',\n },\n containerClassName,\n ],\n scrollableContent: [\n classNames.scrollableContent,\n {\n overflowY: 'auto',\n flexGrow: 1,\n maxHeight: '100vh',\n selectors: (_a = {},\n _a['@supports (-webkit-overflow-scrolling: touch)'] = {\n maxHeight: windowInnerHeight,\n },\n _a),\n },\n scrollableContentClassName,\n ],\n layer: isModeless && [\n layerClassName,\n classNames.layer,\n {\n position: 'static',\n width: 'unset',\n height: 'unset',\n },\n ],\n keyboardMoveIconContainer: {\n position: 'absolute',\n display: 'flex',\n justifyContent: 'center',\n width: '100%',\n padding: '3px 0px',\n },\n keyboardMoveIcon: {\n // eslint-disable-next-line deprecation/deprecation\n fontSize: fonts.xLargePlus.fontSize,\n width: '24px',\n },\n };\n};\n//# sourceMappingURL=Modal.styles.js.map","import { __assign, __extends } from \"tslib\";\nimport * as React from 'react';\nimport { classNamesFunction, getNativeProps, divProperties, enableBodyScroll, disableBodyScroll, initializeComponentRef, } from '../../Utilities';\nvar getClassNames = classNamesFunction();\nvar OverlayBase = /** @class */ (function (_super) {\n __extends(OverlayBase, _super);\n function OverlayBase(props) {\n var _this = _super.call(this, props) || this;\n initializeComponentRef(_this);\n var _a = _this.props.allowTouchBodyScroll, allowTouchBodyScroll = _a === void 0 ? false : _a;\n _this._allowTouchBodyScroll = allowTouchBodyScroll;\n return _this;\n }\n OverlayBase.prototype.componentDidMount = function () {\n !this._allowTouchBodyScroll && disableBodyScroll();\n };\n OverlayBase.prototype.componentWillUnmount = function () {\n !this._allowTouchBodyScroll && enableBodyScroll();\n };\n OverlayBase.prototype.render = function () {\n var _a = this.props, isDark = _a.isDarkThemed, className = _a.className, theme = _a.theme, styles = _a.styles;\n var divProps = getNativeProps(this.props, divProperties);\n var classNames = getClassNames(styles, {\n theme: theme,\n className: className,\n isDark: isDark,\n });\n return React.createElement(\"div\", __assign({}, divProps, { className: classNames.root }));\n };\n return OverlayBase;\n}(React.Component));\nexport { OverlayBase };\n//# sourceMappingURL=Overlay.base.js.map","import { HighContrastSelector, getGlobalClassNames } from '../../Styling';\nvar GlobalClassNames = {\n root: 'ms-Overlay',\n rootDark: 'ms-Overlay--dark',\n};\nexport var getStyles = function (props) {\n var _a;\n var className = props.className, theme = props.theme, isNone = props.isNone, isDark = props.isDark;\n var palette = theme.palette;\n var classNames = getGlobalClassNames(GlobalClassNames, theme);\n return {\n root: [\n classNames.root,\n theme.fonts.medium,\n {\n backgroundColor: palette.whiteTranslucent40,\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n position: 'absolute',\n selectors: (_a = {},\n _a[HighContrastSelector] = {\n border: '1px solid WindowText',\n opacity: 0,\n },\n _a),\n },\n isNone && {\n visibility: 'hidden',\n },\n isDark && [\n classNames.rootDark,\n {\n backgroundColor: palette.blackTranslucent40,\n },\n ],\n className,\n ],\n };\n};\n//# sourceMappingURL=Overlay.styles.js.map","import { __assign, __extends } from \"tslib\";\nimport * as React from 'react';\nimport { getClassNames } from './DraggableZone.styles';\nimport { on } from '../../Utilities';\nvar eventMapping = {\n touch: {\n start: 'touchstart',\n move: 'touchmove',\n stop: 'touchend',\n },\n mouse: {\n start: 'mousedown',\n move: 'mousemove',\n stop: 'mouseup',\n },\n};\nvar DraggableZone = /** @class */ (function (_super) {\n __extends(DraggableZone, _super);\n function DraggableZone(props) {\n var _this = _super.call(this, props) || this;\n _this._currentEventType = eventMapping.mouse;\n _this._events = [];\n _this._onMouseDown = function (event) {\n var onMouseDown = React.Children.only(_this.props.children).props.onMouseDown;\n if (onMouseDown) {\n onMouseDown(event);\n }\n _this._currentEventType = eventMapping.mouse;\n return _this._onDragStart(event);\n };\n _this._onMouseUp = function (event) {\n var onMouseUp = React.Children.only(_this.props.children).props.onMouseUp;\n if (onMouseUp) {\n onMouseUp(event);\n }\n _this._currentEventType = eventMapping.mouse;\n return _this._onDragStop(event);\n };\n _this._onTouchStart = function (event) {\n var onTouchStart = React.Children.only(_this.props.children).props.onTouchStart;\n if (onTouchStart) {\n onTouchStart(event);\n }\n _this._currentEventType = eventMapping.touch;\n return _this._onDragStart(event);\n };\n _this._onTouchEnd = function (event) {\n var onTouchEnd = React.Children.only(_this.props.children).props.onTouchEnd;\n if (onTouchEnd) {\n onTouchEnd(event);\n }\n _this._currentEventType = eventMapping.touch;\n _this._onDragStop(event);\n };\n _this._onDragStart = function (event) {\n // Only handle left click for dragging\n if (typeof event.button === 'number' && event.button !== 0) {\n return false;\n }\n // If the target doesn't match the handleSelector OR\n // if the target does match the preventDragSelector, bail out\n if ((_this.props.handleSelector && !_this._matchesSelector(event.target, _this.props.handleSelector)) ||\n (_this.props.preventDragSelector &&\n _this._matchesSelector(event.target, _this.props.preventDragSelector))) {\n return;\n }\n // Remember the touch identifier if this is a touch event so we can\n // distinguish between individual touches in multitouch scenarios\n // by remembering which touch point we were given\n _this._touchId = _this._getTouchId(event);\n var position = _this._getControlPosition(event);\n if (position === undefined) {\n return;\n }\n var dragData = _this._createDragDataFromPosition(position);\n _this.props.onStart && _this.props.onStart(event, dragData);\n _this.setState({\n isDragging: true,\n lastPosition: position,\n });\n // hook up the appropriate mouse/touch events to the body to ensure\n // smooth dragging\n _this._events = [\n on(document.body, _this._currentEventType.move, _this._onDrag, true /* use capture phase */),\n on(document.body, _this._currentEventType.stop, _this._onDragStop, true /* use capture phase */),\n ];\n };\n _this._onDrag = function (event) {\n // Prevent scrolling on mobile devices\n if (event.type === 'touchmove') {\n event.preventDefault();\n }\n var position = _this._getControlPosition(event);\n if (!position) {\n return;\n }\n // create the updated drag data from the position data\n var updatedData = _this._createUpdatedDragData(_this._createDragDataFromPosition(position));\n var updatedPosition = updatedData.position;\n _this.props.onDragChange && _this.props.onDragChange(event, updatedData);\n _this.setState({\n position: updatedPosition,\n lastPosition: position,\n });\n };\n _this._onDragStop = function (event) {\n if (!_this.state.isDragging) {\n return;\n }\n var position = _this._getControlPosition(event);\n if (!position) {\n return;\n }\n var baseDragData = _this._createDragDataFromPosition(position);\n // Set dragging to false and reset the lastPosition\n _this.setState({\n isDragging: false,\n lastPosition: undefined,\n });\n _this.props.onStop && _this.props.onStop(event, baseDragData);\n if (_this.props.position) {\n _this.setState({\n position: _this.props.position,\n });\n }\n // Remove event handlers\n _this._events.forEach(function (dispose) { return dispose(); });\n };\n _this.state = {\n isDragging: false,\n position: _this.props.position || { x: 0, y: 0 },\n lastPosition: undefined,\n };\n return _this;\n }\n DraggableZone.prototype.componentDidUpdate = function (prevProps) {\n if (this.props.position && (!prevProps.position || this.props.position !== prevProps.position)) {\n this.setState({ position: this.props.position });\n }\n };\n DraggableZone.prototype.componentWillUnmount = function () {\n this._events.forEach(function (dispose) { return dispose(); });\n };\n DraggableZone.prototype.render = function () {\n var child = React.Children.only(this.props.children);\n var props = child.props;\n var position = this.props.position;\n var _a = this.state, statePosition = _a.position, isDragging = _a.isDragging;\n var x = statePosition.x;\n var y = statePosition.y;\n if (position && !isDragging) {\n x = position.x;\n y = position.y;\n }\n return React.cloneElement(child, {\n style: __assign(__assign({}, props.style), { transform: \"translate(\" + x + \"px, \" + y + \"px)\" }),\n className: getClassNames(props.className, this.state.isDragging).root,\n onMouseDown: this._onMouseDown,\n onMouseUp: this._onMouseUp,\n onTouchStart: this._onTouchStart,\n onTouchEnd: this._onTouchEnd,\n });\n };\n /**\n * Get the control position based off the event that fired\n * @param event - The event to get offsets from\n */\n DraggableZone.prototype._getControlPosition = function (event) {\n var touchObj = this._getActiveTouch(event);\n // did we get the right touch?\n if (this._touchId !== undefined && !touchObj) {\n return undefined;\n }\n var eventToGetOffset = touchObj || event;\n return {\n x: eventToGetOffset.clientX,\n y: eventToGetOffset.clientY,\n };\n };\n /**\n * Get the active touch point that we have saved from the event's TouchList\n * @param event - The event used to get the TouchList for the active touch point\n */\n DraggableZone.prototype._getActiveTouch = function (event) {\n return ((event.targetTouches && this._findTouchInTouchList(event.targetTouches)) ||\n (event.changedTouches && this._findTouchInTouchList(event.changedTouches)));\n };\n /**\n * Get the initial touch identifier associated with the given event\n * @param event - The event that contains the TouchList\n */\n DraggableZone.prototype._getTouchId = function (event) {\n var touch = (event.targetTouches && event.targetTouches[0]) || (event.changedTouches && event.changedTouches[0]);\n if (touch) {\n return touch.identifier;\n }\n };\n /**\n * Returns if an element (or any of the element's parents) match the given selector\n */\n DraggableZone.prototype._matchesSelector = function (element, selector) {\n if (!element || element === document.body) {\n return false;\n }\n var matchesSelectorFn = element.matches || element.webkitMatchesSelector || element.msMatchesSelector; /* for IE */\n if (!matchesSelectorFn) {\n return false;\n }\n return matchesSelectorFn.call(element, selector) || this._matchesSelector(element.parentElement, selector);\n };\n /**\n * Attempts to find the Touch that matches the identifier we stored in dragStart\n * @param touchList The TouchList to look for the stored identifier from dragStart\n */\n DraggableZone.prototype._findTouchInTouchList = function (touchList) {\n if (this._touchId === undefined) {\n return;\n }\n for (var i = 0; i < touchList.length; i++) {\n if (touchList[i].identifier === this._touchId) {\n return touchList[i];\n }\n }\n return undefined;\n };\n /**\n * Create DragData based off of the last known position and the new position passed in\n * @param position The new position as part of the drag\n */\n DraggableZone.prototype._createDragDataFromPosition = function (position) {\n var lastPosition = this.state.lastPosition;\n // If we have no lastPosition, use the given position\n // for last position\n if (lastPosition === undefined) {\n return {\n delta: { x: 0, y: 0 },\n lastPosition: position,\n position: position,\n };\n }\n return {\n delta: {\n x: position.x - lastPosition.x,\n y: position.y - lastPosition.y,\n },\n lastPosition: lastPosition,\n position: position,\n };\n };\n /**\n * Creates an updated DragData based off the current position and given baseDragData\n * @param baseDragData The base DragData (from _createDragDataFromPosition) used to calculate the updated positions\n */\n DraggableZone.prototype._createUpdatedDragData = function (baseDragData) {\n var position = this.state.position;\n return {\n position: {\n x: position.x + baseDragData.delta.x,\n y: position.y + baseDragData.delta.y,\n },\n delta: baseDragData.delta,\n lastPosition: position,\n };\n };\n return DraggableZone;\n}(React.Component));\nexport { DraggableZone };\n//# sourceMappingURL=DraggableZone.js.map","import { styled } from '../../Utilities';\nimport { OverlayBase } from './Overlay.base';\nimport { getStyles } from './Overlay.styles';\nexport var Overlay = styled(OverlayBase, getStyles, undefined, {\n scope: 'Overlay',\n});\n//# sourceMappingURL=Overlay.js.map","import { memoizeFunction } from '../../Utilities';\nimport { mergeStyles } from '../../Styling';\nexport var getClassNames = memoizeFunction(function (className, isDragging) {\n return {\n root: mergeStyles(className, isDragging && {\n touchAction: 'none',\n selectors: {\n '& *': {\n userSelect: 'none',\n },\n },\n }),\n };\n});\n//# sourceMappingURL=DraggableZone.styles.js.map","import { __assign } from \"tslib\";\nimport * as React from 'react';\nimport { classNamesFunction, allowScrollOnElement, allowOverscrollOnElement, getPropsWithDefaults, KeyCodes, elementContains, EventGroup, } from '../../Utilities';\nimport { FocusTrapZone } from '../../FocusTrapZone';\nimport { animationDuration } from './Modal.styles';\nimport { Overlay } from '../../Overlay';\nimport { Layer } from '../../Layer';\nimport { Popup } from '../../Popup';\nimport { ResponsiveMode, useResponsiveMode } from '../../ResponsiveMode';\nimport { DirectionalHint } from '../../common/DirectionalHint';\nimport { Icon } from '../../Icon';\nimport { DraggableZone } from '../../utilities/DraggableZone/index';\nimport { useWindow } from '@fluentui/react-window-provider';\nimport { useBoolean, useMergedRefs, useWarnings, useConst, useSetTimeout, useId, useUnmount, } from '@fluentui/react-hooks';\nvar ZERO = { x: 0, y: 0 };\nvar DEFAULT_PROPS = {\n isOpen: false,\n isDarkOverlay: true,\n className: '',\n containerClassName: '',\n};\nvar getClassNames = classNamesFunction();\nvar getMoveDelta = function (ev) {\n var delta = 10;\n if (ev.shiftKey) {\n if (!ev.ctrlKey) {\n delta = 50;\n }\n }\n else if (ev.ctrlKey) {\n delta = 1;\n }\n return delta;\n};\nvar useComponentRef = function (props, focusTrapZone) {\n React.useImperativeHandle(props.componentRef, function () { return ({\n focus: function () {\n if (focusTrapZone.current) {\n focusTrapZone.current.focus();\n }\n },\n }); }, [focusTrapZone]);\n};\nexport var ModalBase = React.forwardRef(function (propsWithoutDefaults, ref) {\n var props = getPropsWithDefaults(DEFAULT_PROPS, propsWithoutDefaults);\n var allowTouchBodyScroll = props.allowTouchBodyScroll, className = props.className, children = props.children, containerClassName = props.containerClassName, scrollableContentClassName = props.scrollableContentClassName, elementToFocusOnDismiss = props.elementToFocusOnDismiss, firstFocusableSelector = props.firstFocusableSelector, forceFocusInsideTrap = props.forceFocusInsideTrap, ignoreExternalFocusing = props.ignoreExternalFocusing, isBlocking = props.isBlocking, isClickableOutsideFocusTrap = props.isClickableOutsideFocusTrap, isDarkOverlay = props.isDarkOverlay, onDismiss = props.onDismiss, layerProps = props.layerProps, overlay = props.overlay, isOpen = props.isOpen, titleAriaId = props.titleAriaId, styles = props.styles, subtitleAriaId = props.subtitleAriaId, theme = props.theme, topOffsetFixed = props.topOffsetFixed, responsiveMode = props.responsiveMode, \n // eslint-disable-next-line deprecation/deprecation\n onLayerDidMount = props.onLayerDidMount, isModeless = props.isModeless, dragOptions = props.dragOptions, onDismissed = props.onDismissed, enableAriaHiddenSiblings = props.enableAriaHiddenSiblings;\n var rootRef = React.useRef(null);\n var focusTrapZone = React.useRef(null);\n var focusTrapZoneElm = React.useRef(null);\n var mergedRef = useMergedRefs(rootRef, ref);\n var modalResponsiveMode = useResponsiveMode(mergedRef);\n var focusTrapZoneId = useId('ModalFocusTrapZone');\n var win = useWindow();\n var _a = useSetTimeout(), setTimeout = _a.setTimeout, clearTimeout = _a.clearTimeout;\n var _b = React.useState(isOpen), isModalOpen = _b[0], setIsModalOpen = _b[1];\n var _c = React.useState(isOpen), isVisible = _c[0], setIsVisible = _c[1];\n var _d = React.useState(ZERO), coordinates = _d[0], setCoordinates = _d[1];\n var _e = React.useState(), modalRectangleTop = _e[0], setModalRectangleTop = _e[1];\n var _f = useBoolean(false), isModalMenuOpen = _f[0], _g = _f[1], toggleModalMenuOpen = _g.toggle, setModalMenuClose = _g.setFalse;\n var internalState = useConst(function () { return ({\n onModalCloseTimer: 0,\n allowTouchBodyScroll: allowTouchBodyScroll,\n scrollableContent: null,\n lastSetCoordinates: ZERO,\n events: new EventGroup({}),\n }); });\n var keepInBounds = (dragOptions || {}).keepInBounds;\n var layerClassName = layerProps === undefined ? '' : layerProps.className;\n var classNames = getClassNames(styles, {\n theme: theme,\n className: className,\n containerClassName: containerClassName,\n scrollableContentClassName: scrollableContentClassName,\n isOpen: isOpen,\n isVisible: isVisible,\n hasBeenOpened: internalState.hasBeenOpened,\n modalRectangleTop: modalRectangleTop,\n topOffsetFixed: topOffsetFixed,\n isModeless: isModeless,\n layerClassName: layerClassName,\n windowInnerHeight: win === null || win === void 0 ? void 0 : win.innerHeight,\n isDefaultDragHandle: dragOptions && !dragOptions.dragHandleSelector,\n });\n var mergedLayerProps = __assign(__assign({ eventBubblingEnabled: false }, layerProps), { onLayerDidMount: layerProps && layerProps.onLayerDidMount ? layerProps.onLayerDidMount : onLayerDidMount, insertFirst: isModeless, className: classNames.layer });\n // Allow the user to scroll within the modal but not on the body\n var allowScrollOnModal = React.useCallback(function (elt) {\n if (elt) {\n if (internalState.allowTouchBodyScroll) {\n allowOverscrollOnElement(elt, internalState.events);\n }\n else {\n allowScrollOnElement(elt, internalState.events);\n }\n }\n else {\n internalState.events.off(internalState.scrollableContent);\n }\n internalState.scrollableContent = elt;\n }, [internalState]);\n var registerInitialModalPosition = function () {\n var dialogMain = focusTrapZoneElm.current;\n var modalRectangle = dialogMain === null || dialogMain === void 0 ? void 0 : dialogMain.getBoundingClientRect();\n if (modalRectangle) {\n if (topOffsetFixed) {\n setModalRectangleTop(modalRectangle.top);\n }\n if (keepInBounds) {\n // x/y are unavailable in IE, so use the equivalent left/top\n internalState.minPosition = { x: -modalRectangle.left, y: -modalRectangle.top };\n internalState.maxPosition = { x: modalRectangle.left, y: modalRectangle.top };\n }\n }\n };\n /**\n * Clamps an axis to a specified min and max position.\n *\n * @param axis A string that represents the axis (x/y).\n * @param position The position on the axis.\n */\n var getClampedAxis = React.useCallback(function (axis, position) {\n var minPosition = internalState.minPosition, maxPosition = internalState.maxPosition;\n if (keepInBounds && minPosition && maxPosition) {\n position = Math.max(minPosition[axis], position);\n position = Math.min(maxPosition[axis], position);\n }\n return position;\n }, [keepInBounds, internalState]);\n var handleModalClose = function () {\n var _a;\n internalState.lastSetCoordinates = ZERO;\n setModalMenuClose();\n internalState.isInKeyboardMoveMode = false;\n setIsModalOpen(false);\n setCoordinates(ZERO);\n (_a = internalState.disposeOnKeyUp) === null || _a === void 0 ? void 0 : _a.call(internalState);\n onDismissed === null || onDismissed === void 0 ? void 0 : onDismissed();\n };\n var handleDragStart = React.useCallback(function () {\n setModalMenuClose();\n internalState.isInKeyboardMoveMode = false;\n }, [internalState, setModalMenuClose]);\n var handleDrag = React.useCallback(function (ev, dragData) {\n setCoordinates(function (prevValue) { return ({\n x: getClampedAxis('x', prevValue.x + dragData.delta.x),\n y: getClampedAxis('y', prevValue.y + dragData.delta.y),\n }); });\n }, [getClampedAxis]);\n var handleDragStop = React.useCallback(function () {\n if (focusTrapZone.current) {\n focusTrapZone.current.focus();\n }\n }, []);\n var handleEnterKeyboardMoveMode = function () {\n // We need a global handleKeyDown event when we are in the move mode so that we can\n // handle the key presses and the components inside the modal do not get the events\n var handleKeyDown = function (ev) {\n if (ev.altKey && ev.ctrlKey && ev.keyCode === KeyCodes.space) {\n // CTRL + ALT + SPACE is handled during keyUp\n ev.preventDefault();\n ev.stopPropagation();\n return;\n }\n if (isModalMenuOpen && (ev.altKey || ev.keyCode === KeyCodes.escape)) {\n setModalMenuClose();\n }\n if (internalState.isInKeyboardMoveMode && (ev.keyCode === KeyCodes.escape || ev.keyCode === KeyCodes.enter)) {\n internalState.isInKeyboardMoveMode = false;\n ev.preventDefault();\n ev.stopPropagation();\n }\n if (internalState.isInKeyboardMoveMode) {\n var handledEvent = true;\n var delta_1 = getMoveDelta(ev);\n switch (ev.keyCode) {\n /* eslint-disable no-fallthrough */\n case KeyCodes.escape:\n setCoordinates(internalState.lastSetCoordinates);\n case KeyCodes.enter: {\n // TODO: determine if fallthrough was intentional\n /* eslint-enable no-fallthrough */\n internalState.lastSetCoordinates = ZERO;\n // setIsInKeyboardMoveMode(false);\n break;\n }\n case KeyCodes.up: {\n setCoordinates(function (prevValue) { return ({ x: prevValue.x, y: getClampedAxis('y', prevValue.y - delta_1) }); });\n break;\n }\n case KeyCodes.down: {\n setCoordinates(function (prevValue) { return ({ x: prevValue.x, y: getClampedAxis('y', prevValue.y + delta_1) }); });\n break;\n }\n case KeyCodes.left: {\n setCoordinates(function (prevValue) { return ({ x: getClampedAxis('x', prevValue.x - delta_1), y: prevValue.y }); });\n break;\n }\n case KeyCodes.right: {\n setCoordinates(function (prevValue) { return ({ x: getClampedAxis('x', prevValue.x + delta_1), y: prevValue.y }); });\n break;\n }\n default: {\n handledEvent = false;\n }\n }\n if (handledEvent) {\n ev.preventDefault();\n ev.stopPropagation();\n }\n }\n };\n internalState.lastSetCoordinates = coordinates;\n setModalMenuClose();\n internalState.isInKeyboardMoveMode = true;\n internalState.events.on(win, 'keydown', handleKeyDown, true /* useCapture */);\n internalState.disposeOnKeyDown = function () {\n internalState.events.off(win, 'keydown', handleKeyDown, true /* useCapture */);\n internalState.disposeOnKeyDown = undefined;\n };\n };\n var handleExitKeyboardMoveMode = function () {\n var _a;\n internalState.lastSetCoordinates = ZERO;\n internalState.isInKeyboardMoveMode = false;\n (_a = internalState.disposeOnKeyDown) === null || _a === void 0 ? void 0 : _a.call(internalState);\n };\n var registerForKeyUp = function () {\n var handleKeyUp = function (ev) {\n // Needs to handle the CTRL + ALT + SPACE key during keyup due to FireFox bug:\n // https://bugzilla.mozilla.org/show_bug.cgi?id=1220143\n if (ev.altKey && ev.ctrlKey && ev.keyCode === KeyCodes.space) {\n if (elementContains(internalState.scrollableContent, ev.target)) {\n toggleModalMenuOpen();\n ev.preventDefault();\n ev.stopPropagation();\n }\n }\n };\n if (!internalState.disposeOnKeyUp) {\n internalState.events.on(win, 'keyup', handleKeyUp, true /* useCapture */);\n internalState.disposeOnKeyUp = function () {\n internalState.events.off(win, 'keyup', handleKeyUp, true /* useCapture */);\n internalState.disposeOnKeyUp = undefined;\n };\n }\n };\n React.useEffect(function () {\n clearTimeout(internalState.onModalCloseTimer);\n // Opening the dialog\n if (isOpen) {\n // This must be done after the modal content has rendered\n requestAnimationFrame(function () { return setTimeout(registerInitialModalPosition, 0); });\n setIsModalOpen(true);\n // Add a keyUp handler for all key up events once the dialog is open.\n if (dragOptions) {\n registerForKeyUp();\n }\n internalState.hasBeenOpened = true;\n setIsVisible(true);\n }\n // Closing the dialog\n if (!isOpen && isModalOpen) {\n internalState.onModalCloseTimer = setTimeout(handleModalClose, parseFloat(animationDuration) * 1000);\n setIsVisible(false);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps -- should only run if isModalOpen or isOpen mutates.\n }, [isModalOpen, isOpen]);\n useUnmount(function () {\n internalState.events.dispose();\n });\n useComponentRef(props, focusTrapZone);\n useDebugWarnings(props);\n var modalContent = (React.createElement(FocusTrapZone, { id: focusTrapZoneId, ref: focusTrapZoneElm, componentRef: focusTrapZone, className: classNames.main, elementToFocusOnDismiss: elementToFocusOnDismiss, isClickableOutsideFocusTrap: isModeless || isClickableOutsideFocusTrap || !isBlocking, ignoreExternalFocusing: ignoreExternalFocusing, forceFocusInsideTrap: isModeless ? !isModeless : forceFocusInsideTrap, firstFocusableSelector: firstFocusableSelector, focusPreviouslyFocusedInnerElement: true, onBlur: internalState.isInKeyboardMoveMode ? handleExitKeyboardMoveMode : undefined, enableAriaHiddenSiblings: enableAriaHiddenSiblings },\n dragOptions && internalState.isInKeyboardMoveMode && (React.createElement(\"div\", { className: classNames.keyboardMoveIconContainer }, dragOptions.keyboardMoveIconProps ? (React.createElement(Icon, __assign({}, dragOptions.keyboardMoveIconProps))) : (React.createElement(Icon, { iconName: \"move\", className: classNames.keyboardMoveIcon })))),\n React.createElement(\"div\", { ref: allowScrollOnModal, className: classNames.scrollableContent, \"data-is-scrollable\": true },\n dragOptions && isModalMenuOpen && (React.createElement(dragOptions.menu, { items: [\n { key: 'move', text: dragOptions.moveMenuItemText, onClick: handleEnterKeyboardMoveMode },\n { key: 'close', text: dragOptions.closeMenuItemText, onClick: handleModalClose },\n ], onDismiss: setModalMenuClose, alignTargetEdge: true, coverTarget: true, directionalHint: DirectionalHint.topLeftEdge, directionalHintFixed: true, shouldFocusOnMount: true, target: internalState.scrollableContent })),\n children)));\n return ((isModalOpen && modalResponsiveMode >= (responsiveMode || ResponsiveMode.small) && (React.createElement(Layer, __assign({ ref: mergedRef }, mergedLayerProps),\n React.createElement(Popup, { role: isModeless || !isBlocking ? 'dialog' : 'alertdialog', \"aria-modal\": !isModeless, ariaLabelledBy: titleAriaId, ariaDescribedBy: subtitleAriaId, onDismiss: onDismiss, shouldRestoreFocus: !ignoreExternalFocusing },\n React.createElement(\"div\", { className: classNames.root, role: !isModeless ? 'document' : undefined },\n !isModeless && (React.createElement(Overlay, __assign({ \"aria-hidden\": true, isDarkThemed: isDarkOverlay, onClick: isBlocking ? undefined : onDismiss, allowTouchBodyScroll: allowTouchBodyScroll }, overlay))),\n dragOptions ? (React.createElement(DraggableZone, { handleSelector: dragOptions.dragHandleSelector || \"#\" + focusTrapZoneId, preventDragSelector: \"button\", onStart: handleDragStart, onDragChange: handleDrag, onStop: handleDragStop, position: coordinates }, modalContent)) : (modalContent)))))) ||\n null);\n});\nModalBase.displayName = 'Modal';\nfunction useDebugWarnings(props) {\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks -- build-time conditional\n useWarnings({\n name: 'Modal',\n props: props,\n deprecations: { onLayerDidMount: 'layerProps.onLayerDidMount' },\n });\n }\n}\n//# sourceMappingURL=Modal.base.js.map","import * as React from 'react';\nimport { useConst } from './useConst';\n/**\n * Hook to store a value and generate callbacks for setting the value to true or false.\n * The identity of the callbacks will always stay the same.\n *\n * @param initialState - Initial value\n * @returns Array with the current value and an object containing the updater callbacks.\n */\nexport function useBoolean(initialState) {\n var _a = React.useState(initialState), value = _a[0], setValue = _a[1];\n var setTrue = useConst(function () { return function () {\n setValue(true);\n }; });\n var setFalse = useConst(function () { return function () {\n setValue(false);\n }; });\n var toggle = useConst(function () { return function () {\n setValue(function (currentValue) { return !currentValue; });\n }; });\n return [value, { setTrue: setTrue, setFalse: setFalse, toggle: toggle }];\n}\n//# sourceMappingURL=useBoolean.js.map","import * as React from 'react';\n/**\n * Hook which synchronously executes a callback when the component is about to unmount.\n *\n * @param callback - Function to call during unmount.\n */\nexport var useUnmount = function (callback) {\n var unmountRef = React.useRef(callback);\n unmountRef.current = callback;\n React.useEffect(function () { return function () {\n var _a;\n (_a = unmountRef.current) === null || _a === void 0 ? void 0 : _a.call(unmountRef);\n }; }, []);\n};\n//# sourceMappingURL=useUnmount.js.map","import { styled } from '../../Utilities';\nimport { ModalBase } from './Modal.base';\nimport { getStyles } from './Modal.styles';\nexport var Modal = styled(ModalBase, getStyles, undefined, {\n scope: 'Modal',\n fields: ['theme', 'styles', 'enableAriaHiddenSiblings'],\n});\nModal.displayName = 'Modal';\n//# sourceMappingURL=Modal.js.map","import { __assign } from 'tslib';\nexport var assign = __assign;\n//# sourceMappingURL=utilities.js.map","import { __assign, __spreadArrays } from \"tslib\";\nimport * as React from 'react';\nimport { mergeCss } from '@fluentui/merge-styles';\nimport { getRTL, memoizeFunction } from '@fluentui/utilities';\nimport { assign } from './utilities';\n/**\n * This function is required for any module that uses slots.\n *\n * This function is a slot resolver that automatically evaluates slot functions to generate React elements.\n * A byproduct of this resolver is that it removes slots from the React hierarchy by bypassing React.createElement.\n *\n * To use this function on a per-file basis, use the jsx directive targeting withSlots.\n * This directive must be the FIRST LINE in the file to work correctly.\n * Usage of this pragma also requires withSlots import statement.\n *\n * See React.createElement\n */\n// Can't use typeof on React.createElement since it's overloaded. Approximate createElement's signature for now\n// and widen as needed.\nexport function withSlots(type, props) {\n var children = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n children[_i - 2] = arguments[_i];\n }\n var slotType = type;\n if (slotType.isSlot) {\n // Since we are bypassing createElement, use React.Children.toArray to make sure children are\n // properly assigned keys.\n // TODO: should this be mutating? does React mutate children subprop with createElement?\n // TODO: will toArray clobber existing keys?\n // TODO: React generates warnings because it doesn't detect hidden member _store that is set in createElement.\n // Even children passed to createElement without keys don't generate this warning.\n // Is there a better way to prevent slots from appearing in hierarchy? toArray doesn't address root issue.\n children = React.Children.toArray(children);\n // TODO: There is something weird going on here with children embedded in props vs. rest args.\n // Comment out these lines to see. Make sure this function is doing the right things.\n if (children.length === 0) {\n return slotType(props);\n }\n return slotType(__assign(__assign({}, props), { children: children }));\n }\n else {\n // TODO: Are there some cases where children should NOT be spread? Also, spreading reraises perf question.\n // Children had to be spread to avoid breaking KeytipData in Toggle.view:\n // react-dom.development.js:18931 Uncaught TypeError: children is not a function\n // Without spread, function child is a child array of one element\n // TODO: is there a reason this can't be:\n // return React.createElement.apply(this, arguments);\n return React.createElement.apply(React, __spreadArrays([type, props], children));\n }\n}\n/**\n * This function creates factories that render ouput depending on the user ISlotProp props passed in.\n * @param DefaultComponent - Base component to render when not overridden by user props.\n * @param options - Factory options, including defaultProp value for shorthand prop mapping.\n * @returns ISlotFactory function used for rendering slots.\n */\nexport function createFactory(DefaultComponent, options) {\n if (options === void 0) { options = {}; }\n var _a = options.defaultProp, defaultProp = _a === void 0 ? 'children' : _a;\n var result = function (componentProps, userProps, userSlotOptions, defaultStyles, theme) {\n // If they passed in raw JSX, just return that.\n if (React.isValidElement(userProps)) {\n return userProps;\n }\n var flattenedUserProps = _translateShorthand(defaultProp, userProps);\n var finalProps = _constructFinalProps(defaultStyles, theme, componentProps, flattenedUserProps);\n if (userSlotOptions) {\n if (userSlotOptions.component) {\n // TODO: Remove cast if possible. This cast is needed because TS errors on the intrinsic portion of ReactType.\n // return ;\n var UserComponent = userSlotOptions.component;\n return React.createElement(UserComponent, __assign({}, finalProps));\n }\n if (userSlotOptions.render) {\n return userSlotOptions.render(finalProps, DefaultComponent);\n }\n }\n return React.createElement(DefaultComponent, __assign({}, finalProps));\n };\n return result;\n}\n/**\n * Default factory for components without explicit factories.\n */\nvar defaultFactory = memoizeFunction(function (type) { return createFactory(type); });\n/**\n * This function generates slots that can be used in JSX given a definition of slots and their corresponding types.\n * @param userProps - Props as pass to component.\n * @param slots - Slot definition object defining the default slot component for each slot.\n * @returns A set of created slots that components can render in JSX.\n */\nexport function getSlots(userProps, slots) {\n var result = {};\n // userProps already has default props mixed in by createComponent. Recast here to gain typing for this function.\n var mixedProps = userProps;\n var _loop_1 = function (name_1) {\n if (slots.hasOwnProperty(name_1)) {\n // This closure method requires the use of withSlots to prevent unnecessary rerenders. This is because React\n // detects each closure as a different component (since it is a new instance) from the previous one and then\n // forces a rerender of the entire slot subtree. For now, the only way to avoid this is to use withSlots, which\n // bypasses the call to React.createElement.\n var slot = function (componentProps) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n if (args.length > 0) {\n // If React.createElement is being incorrectly used with slots, there will be additional arguments.\n // We can detect these additional arguments and error on their presence.\n throw new Error('Any module using getSlots must use withSlots. Please see withSlots javadoc for more info.');\n }\n // TODO: having TS infer types here seems to cause infinite loop.\n // use explicit types or casting to preserve typing if possible.\n // TODO: this should be a lookup on TProps property instead of being TProps directly, which is probably\n // causing the infinite loop\n return _renderSlot(slots[name_1], \n // TODO: this cast to any is hiding a relationship issue between the first two args\n componentProps, mixedProps[name_1], mixedProps.slots && mixedProps.slots[name_1], \n // _defaultStyles should always be present, but a check for existence is added to make view tests\n // easier to use.\n mixedProps._defaultStyles && mixedProps._defaultStyles[name_1], mixedProps.theme);\n };\n slot.isSlot = true;\n result[name_1] = slot;\n }\n };\n for (var name_1 in slots) {\n _loop_1(name_1);\n }\n return result;\n}\n/**\n * Helper function that translates shorthand as needed.\n * @param defaultProp\n * @param slotProps\n */\nfunction _translateShorthand(defaultProp, slotProps) {\n var _a;\n var transformedProps;\n if (typeof slotProps === 'string' || typeof slotProps === 'number' || typeof slotProps === 'boolean') {\n transformedProps = (_a = {},\n _a[defaultProp] = slotProps,\n _a);\n }\n else {\n transformedProps = slotProps;\n }\n return transformedProps;\n}\n/**\n * Helper function that constructs final styles and props given a series of props ordered by increasing priority.\n */\nfunction _constructFinalProps(defaultStyles, theme) {\n var allProps = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n allProps[_i - 2] = arguments[_i];\n }\n var finalProps = {};\n var classNames = [];\n for (var _a = 0, allProps_1 = allProps; _a < allProps_1.length; _a++) {\n var props = allProps_1[_a];\n classNames.push(props && props.className);\n assign(finalProps, props);\n }\n finalProps.className = mergeCss([defaultStyles, classNames], { rtl: getRTL(theme) });\n return finalProps;\n}\n/**\n * Render a slot given component and user props. Uses component factory if available, otherwise falls back\n * to default factory.\n * @param ComponentType Factory component type.\n * @param componentProps The properties passed into slot from within the component.\n * @param userProps The user properties passed in from outside of the component.\n */\nfunction _renderSlot(ComponentType, componentProps, userProps, slotOptions, defaultStyles, theme) {\n if (ComponentType.create !== undefined) {\n return ComponentType.create(componentProps, userProps, slotOptions, defaultStyles);\n }\n else {\n // TODO: need to resolve typing / generic issues passing through memoizeFunction. for now, cast to 'unknown'\n return defaultFactory(ComponentType)(componentProps, userProps, slotOptions, defaultStyles, theme);\n }\n}\n//# sourceMappingURL=slots.js.map","import { __assign, __spreadArrays } from \"tslib\";\nimport * as React from 'react';\nimport { concatStyleSets } from '@fluentui/style-utilities';\nimport { Customizations, CustomizerContext } from '@fluentui/utilities';\nimport { createFactory } from './slots';\nimport { assign } from './utilities';\n/**\n * Assembles a higher order component based on the following: styles, theme, view, and state.\n * Imposes a separation of concern and centralizes styling processing to increase ease of use and robustness\n * in how components use and apply styling and theming.\n *\n * Automatically merges and applies themes and styles with theme / styleprops having the highest priority.\n * State component, if provided, is passed in props for processing. Props from state / user are automatically processed\n * and styled before finally being passed to view.\n *\n * State components should contain all stateful behavior and should not generate any JSX, but rather simply call\n * the view prop.\n *\n * Views should simply be stateless pure functions that receive all props needed for rendering their output.\n *\n * State component is optional. If state is not provided, created component is essentially a functional\n * stateless component.\n *\n * @param options - component Component options. See IComponentOptions for more detail.\n */\nexport function createComponent(view, options) {\n if (options === void 0) { options = {}; }\n var _a = options.factoryOptions, factoryOptions = _a === void 0 ? {} : _a;\n var defaultProp = factoryOptions.defaultProp;\n var ResultComponent = function (componentProps) {\n var settings = _getCustomizations(options.displayName, React.useContext(CustomizerContext), options.fields);\n var stateReducer = options.state;\n if (stateReducer) {\n // Don't assume state will return all props, so spread useState result over component props.\n componentProps = __assign(__assign({}, componentProps), stateReducer(componentProps));\n }\n var theme = componentProps.theme || settings.theme;\n var tokens = _resolveTokens(componentProps, theme, options.tokens, settings.tokens, componentProps.tokens);\n var styles = _resolveStyles(componentProps, theme, tokens, options.styles, settings.styles, componentProps.styles);\n var viewProps = __assign(__assign({}, componentProps), { styles: styles,\n tokens: tokens, _defaultStyles: styles, theme: theme });\n return view(viewProps);\n };\n ResultComponent.displayName = options.displayName || view.name;\n // If a shorthand prop is defined, create a factory for the component.\n // TODO: This shouldn't be a concern of createComponent.. factoryOptions should just be forwarded.\n // Need to weigh creating default factories on component creation vs. memoizing them on use in slots.tsx.\n if (defaultProp) {\n ResultComponent.create = createFactory(ResultComponent, { defaultProp: defaultProp });\n }\n assign(ResultComponent, options.statics);\n // Later versions of TypeSript should allow us to merge objects in a type safe way and avoid this cast.\n return ResultComponent;\n}\n/**\n * Resolve all styles functions with both props and tokens and flatten results along with all styles objects.\n */\nfunction _resolveStyles(props, theme, tokens) {\n var allStyles = [];\n for (var _i = 3; _i < arguments.length; _i++) {\n allStyles[_i - 3] = arguments[_i];\n }\n return concatStyleSets.apply(void 0, allStyles.map(function (styles) {\n return typeof styles === 'function' ? styles(props, theme, tokens) : styles;\n }));\n}\n/**\n * Resolve all tokens functions with props flatten results along with all tokens objects.\n */\nfunction _resolveTokens(props, theme) {\n var allTokens = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n allTokens[_i - 2] = arguments[_i];\n }\n var tokens = {};\n for (var _a = 0, allTokens_1 = allTokens; _a < allTokens_1.length; _a++) {\n var currentTokens = allTokens_1[_a];\n if (currentTokens) {\n // TODO: why is this cast needed? TS seems to think there is a (TToken | Function) union from somewhere.\n currentTokens =\n typeof currentTokens === 'function'\n ? currentTokens(props, theme)\n : currentTokens;\n if (Array.isArray(currentTokens)) {\n currentTokens = _resolveTokens.apply(void 0, __spreadArrays([props, theme], currentTokens));\n }\n assign(tokens, currentTokens);\n }\n }\n return tokens;\n}\n/**\n * Helper function for calling Customizations.getSettings falling back to default fields.\n *\n * @param displayName Displayable name for component.\n * @param context React context passed to component containing contextual settings.\n * @param fields Optional list of properties to grab from global store and context.\n */\nfunction _getCustomizations(displayName, context, fields) {\n // TODO: do we want field props? should fields be part of IComponent and used here?\n // TODO: should we centrally define DefaultFields? (not exported from styling)\n // TODO: tie this array to ICustomizationProps, such that each array element is keyof ICustomizationProps\n var DefaultFields = ['theme', 'styles', 'tokens'];\n return Customizations.getSettings(fields || DefaultFields, displayName, context.customizations);\n}\n//# sourceMappingURL=createComponent.js.map","import { __assign, __rest } from \"tslib\";\n/** @jsxRuntime classic */\n/** @jsx withSlots */\nimport { withSlots, getSlots } from '@fluentui/foundation-legacy';\nimport { getNativeProps, htmlElementProperties } from '../../Utilities';\nexport var TextView = function (props) {\n // eslint-disable-next-line eqeqeq\n if (props.children == null) {\n return null;\n }\n var block = props.block, className = props.className, _a = props.as, RootType = _a === void 0 ? 'span' : _a, variant = props.variant, nowrap = props.nowrap, rest = __rest(props, [\"block\", \"className\", \"as\", \"variant\", \"nowrap\"]);\n var Slots = getSlots(props, {\n root: RootType,\n });\n return withSlots(Slots.root, __assign({}, getNativeProps(rest, htmlElementProperties)));\n};\n//# sourceMappingURL=Text.view.js.map","import { createComponent } from '@fluentui/foundation-legacy';\nimport { TextView } from './Text.view';\nimport { TextStyles as styles } from './Text.styles';\nexport var Text = createComponent(TextView, {\n displayName: 'Text',\n styles: styles,\n});\nexport default Text;\n//# sourceMappingURL=Text.js.map","export var TextStyles = function (props, theme) {\n var as = props.as, className = props.className, block = props.block, nowrap = props.nowrap, variant = props.variant;\n var fonts = theme.fonts, semanticColors = theme.semanticColors;\n var variantObject = fonts[variant || 'medium'];\n return {\n root: [\n variantObject,\n {\n color: variantObject.color || semanticColors.bodyText,\n display: block ? (as === 'td' ? 'table-cell' : 'block') : 'inline',\n mozOsxFontSmoothing: variantObject.MozOsxFontSmoothing,\n webkitFontSmoothing: variantObject.WebkitFontSmoothing,\n },\n nowrap && {\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n },\n className,\n ],\n };\n};\n//# sourceMappingURL=Text.styles.js.map","/**\n * The base implementation of `_.isNaN` without support for number objects.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\n */\nfunction baseIsNaN(value) {\n return value !== value;\n}\n\nmodule.exports = baseIsNaN;\n","var baseFindIndex = require('./_baseFindIndex'),\n baseIsNaN = require('./_baseIsNaN'),\n strictIndexOf = require('./_strictIndexOf');\n\n/**\n * The base implementation of `_.indexOf` without `fromIndex` bounds checks.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseIndexOf(array, value, fromIndex) {\n return value === value\n ? strictIndexOf(array, value, fromIndex)\n : baseFindIndex(array, baseIsNaN, fromIndex);\n}\n\nmodule.exports = baseIndexOf;\n","/**\n * The base implementation of `_.findIndex` and `_.findLastIndex` without\n * support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} predicate The function invoked per iteration.\n * @param {number} fromIndex The index to search from.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseFindIndex(array, predicate, fromIndex, fromRight) {\n var length = array.length,\n index = fromIndex + (fromRight ? 1 : -1);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (predicate(array[index], index, array)) {\n return index;\n }\n }\n return -1;\n}\n\nmodule.exports = baseFindIndex;\n","/**\n * A specialized version of `_.indexOf` which performs strict equality\n * comparisons of values, i.e. `===`.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction strictIndexOf(array, value, fromIndex) {\n var index = fromIndex - 1,\n length = array.length;\n\n while (++index < length) {\n if (array[index] === value) {\n return index;\n }\n }\n return -1;\n}\n\nmodule.exports = strictIndexOf;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","var baseGetTag = require('./_baseGetTag'),\n isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nmodule.exports = isFunction;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n","var isFunction = require('./isFunction'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nmodule.exports = isArrayLike;\n","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nmodule.exports = isArray;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n","/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\nmodule.exports = arrayMap;\n","/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\nmodule.exports = baseTimes;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\nmodule.exports = baseIsArguments;\n","var baseIsArguments = require('./_baseIsArguments'),\n isObjectLike = require('./isObjectLike');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\nmodule.exports = isArguments;\n","var root = require('./_root'),\n stubFalse = require('./stubFalse');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\nmodule.exports = isBuffer;\n","/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = stubFalse;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\nmodule.exports = isIndex;\n","var baseGetTag = require('./_baseGetTag'),\n isLength = require('./isLength'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\nmodule.exports = baseIsTypedArray;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\nmodule.exports = nodeUtil;\n","/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\nmodule.exports = baseUnary;\n","var baseIsTypedArray = require('./_baseIsTypedArray'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\nmodule.exports = isTypedArray;\n","var baseTimes = require('./_baseTimes'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isIndex = require('./_isIndex'),\n isTypedArray = require('./isTypedArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = arrayLikeKeys;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\nmodule.exports = isPrototype;\n","/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nmodule.exports = overArg;\n","var overArg = require('./_overArg');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\nmodule.exports = nativeKeys;\n","var isPrototype = require('./_isPrototype'),\n nativeKeys = require('./_nativeKeys');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeys;\n","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeys = require('./_baseKeys'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\nmodule.exports = keys;\n","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nmodule.exports = eq;\n","var eq = require('./eq');\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\nmodule.exports = assocIndexOf;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\nmodule.exports = listCacheDelete;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\nmodule.exports = listCacheGet;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\nmodule.exports = listCacheHas;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\nmodule.exports = listCacheSet;\n","var listCacheClear = require('./_listCacheClear'),\n listCacheDelete = require('./_listCacheDelete'),\n listCacheGet = require('./_listCacheGet'),\n listCacheHas = require('./_listCacheHas'),\n listCacheSet = require('./_listCacheSet');\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\nmodule.exports = ListCache;\n","/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\nmodule.exports = listCacheClear;\n","var ListCache = require('./_ListCache');\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\nmodule.exports = stackClear;\n","/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\nmodule.exports = stackDelete;\n","/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\nmodule.exports = stackGet;\n","/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\nmodule.exports = stackHas;\n","var root = require('./_root');\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nmodule.exports = coreJsData;\n","var coreJsData = require('./_coreJsData');\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\nmodule.exports = isMasked;\n","/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nmodule.exports = toSource;\n","var isFunction = require('./isFunction'),\n isMasked = require('./_isMasked'),\n isObject = require('./isObject'),\n toSource = require('./_toSource');\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nmodule.exports = baseIsNative;\n","var baseIsNative = require('./_baseIsNative'),\n getValue = require('./_getValue');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n","/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\nmodule.exports = getValue;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nmodule.exports = Map;\n","var getNative = require('./_getNative');\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nmodule.exports = nativeCreate;\n","var nativeCreate = require('./_nativeCreate');\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\nmodule.exports = hashClear;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\nmodule.exports = hashGet;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\nmodule.exports = hashHas;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\nmodule.exports = hashSet;\n","var hashClear = require('./_hashClear'),\n hashDelete = require('./_hashDelete'),\n hashGet = require('./_hashGet'),\n hashHas = require('./_hashHas'),\n hashSet = require('./_hashSet');\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\nmodule.exports = Hash;\n","/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = hashDelete;\n","var Hash = require('./_Hash'),\n ListCache = require('./_ListCache'),\n Map = require('./_Map');\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\nmodule.exports = mapCacheClear;\n","var isKeyable = require('./_isKeyable');\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\nmodule.exports = getMapData;\n","/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\nmodule.exports = isKeyable;\n","var getMapData = require('./_getMapData');\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = mapCacheDelete;\n","var getMapData = require('./_getMapData');\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\nmodule.exports = mapCacheGet;\n","var getMapData = require('./_getMapData');\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\nmodule.exports = mapCacheHas;\n","var getMapData = require('./_getMapData');\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\nmodule.exports = mapCacheSet;\n","var mapCacheClear = require('./_mapCacheClear'),\n mapCacheDelete = require('./_mapCacheDelete'),\n mapCacheGet = require('./_mapCacheGet'),\n mapCacheHas = require('./_mapCacheHas'),\n mapCacheSet = require('./_mapCacheSet');\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\nmodule.exports = MapCache;\n","var ListCache = require('./_ListCache'),\n Map = require('./_Map'),\n MapCache = require('./_MapCache');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\nmodule.exports = stackSet;\n","var ListCache = require('./_ListCache'),\n stackClear = require('./_stackClear'),\n stackDelete = require('./_stackDelete'),\n stackGet = require('./_stackGet'),\n stackHas = require('./_stackHas'),\n stackSet = require('./_stackSet');\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\nmodule.exports = Stack;\n","var getNative = require('./_getNative');\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\nmodule.exports = defineProperty;\n","var defineProperty = require('./_defineProperty');\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\nmodule.exports = baseAssignValue;\n","var baseAssignValue = require('./_baseAssignValue'),\n eq = require('./eq');\n\n/**\n * This function is like `assignValue` except that it doesn't assign\n * `undefined` values.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignMergeValue(object, key, value) {\n if ((value !== undefined && !eq(object[key], value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignMergeValue;\n","var root = require('./_root');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined;\n\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var length = buffer.length,\n result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n buffer.copy(result);\n return result;\n}\n\nmodule.exports = cloneBuffer;\n","var createBaseFor = require('./_createBaseFor');\n\n/**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nmodule.exports = baseFor;\n","/**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nmodule.exports = createBaseFor;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nmodule.exports = Uint8Array;\n","var Uint8Array = require('./_Uint8Array');\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n}\n\nmodule.exports = cloneArrayBuffer;\n","var cloneArrayBuffer = require('./_cloneArrayBuffer');\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\nmodule.exports = cloneTypedArray;\n","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = copyArray;\n","var isObject = require('./isObject');\n\n/** Built-in value references. */\nvar objectCreate = Object.create;\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nvar baseCreate = (function() {\n function object() {}\n return function(proto) {\n if (!isObject(proto)) {\n return {};\n }\n if (objectCreate) {\n return objectCreate(proto);\n }\n object.prototype = proto;\n var result = new object;\n object.prototype = undefined;\n return result;\n };\n}());\n\nmodule.exports = baseCreate;\n","var overArg = require('./_overArg');\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nmodule.exports = getPrototype;\n","var baseCreate = require('./_baseCreate'),\n getPrototype = require('./_getPrototype'),\n isPrototype = require('./_isPrototype');\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n}\n\nmodule.exports = initCloneObject;\n","var isArrayLike = require('./isArrayLike'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\nmodule.exports = isArrayLikeObject;\n","var baseGetTag = require('./_baseGetTag'),\n getPrototype = require('./_getPrototype'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n}\n\nmodule.exports = isPlainObject;\n","/**\n * Gets the value at `key`, unless `key` is \"__proto__\" or \"constructor\".\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction safeGet(object, key) {\n if (key === 'constructor' && typeof object[key] === 'function') {\n return;\n }\n\n if (key == '__proto__') {\n return;\n }\n\n return object[key];\n}\n\nmodule.exports = safeGet;\n","var baseAssignValue = require('./_baseAssignValue'),\n eq = require('./eq');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignValue;\n","var assignValue = require('./_assignValue'),\n baseAssignValue = require('./_baseAssignValue');\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n}\n\nmodule.exports = copyObject;\n","var isObject = require('./isObject'),\n isPrototype = require('./_isPrototype'),\n nativeKeysIn = require('./_nativeKeysIn');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeysIn;\n","/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = nativeKeysIn;\n","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeysIn = require('./_baseKeysIn'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\nmodule.exports = keysIn;\n","var copyObject = require('./_copyObject'),\n keysIn = require('./keysIn');\n\n/**\n * Converts `value` to a plain object flattening inherited enumerable string\n * keyed properties of `value` to own properties of the plain object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {Object} Returns the converted plain object.\n * @example\n *\n * function Foo() {\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.assign({ 'a': 1 }, new Foo);\n * // => { 'a': 1, 'b': 2 }\n *\n * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));\n * // => { 'a': 1, 'b': 2, 'c': 3 }\n */\nfunction toPlainObject(value) {\n return copyObject(value, keysIn(value));\n}\n\nmodule.exports = toPlainObject;\n","var assignMergeValue = require('./_assignMergeValue'),\n cloneBuffer = require('./_cloneBuffer'),\n cloneTypedArray = require('./_cloneTypedArray'),\n copyArray = require('./_copyArray'),\n initCloneObject = require('./_initCloneObject'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isArrayLikeObject = require('./isArrayLikeObject'),\n isBuffer = require('./isBuffer'),\n isFunction = require('./isFunction'),\n isObject = require('./isObject'),\n isPlainObject = require('./isPlainObject'),\n isTypedArray = require('./isTypedArray'),\n safeGet = require('./_safeGet'),\n toPlainObject = require('./toPlainObject');\n\n/**\n * A specialized version of `baseMerge` for arrays and objects which performs\n * deep merges and tracks traversed objects enabling objects with circular\n * references to be merged.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {string} key The key of the value to merge.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} mergeFunc The function to merge values.\n * @param {Function} [customizer] The function to customize assigned values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {\n var objValue = safeGet(object, key),\n srcValue = safeGet(source, key),\n stacked = stack.get(srcValue);\n\n if (stacked) {\n assignMergeValue(object, key, stacked);\n return;\n }\n var newValue = customizer\n ? customizer(objValue, srcValue, (key + ''), object, source, stack)\n : undefined;\n\n var isCommon = newValue === undefined;\n\n if (isCommon) {\n var isArr = isArray(srcValue),\n isBuff = !isArr && isBuffer(srcValue),\n isTyped = !isArr && !isBuff && isTypedArray(srcValue);\n\n newValue = srcValue;\n if (isArr || isBuff || isTyped) {\n if (isArray(objValue)) {\n newValue = objValue;\n }\n else if (isArrayLikeObject(objValue)) {\n newValue = copyArray(objValue);\n }\n else if (isBuff) {\n isCommon = false;\n newValue = cloneBuffer(srcValue, true);\n }\n else if (isTyped) {\n isCommon = false;\n newValue = cloneTypedArray(srcValue, true);\n }\n else {\n newValue = [];\n }\n }\n else if (isPlainObject(srcValue) || isArguments(srcValue)) {\n newValue = objValue;\n if (isArguments(objValue)) {\n newValue = toPlainObject(objValue);\n }\n else if (!isObject(objValue) || isFunction(objValue)) {\n newValue = initCloneObject(srcValue);\n }\n }\n else {\n isCommon = false;\n }\n }\n if (isCommon) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, newValue);\n mergeFunc(newValue, srcValue, srcIndex, customizer, stack);\n stack['delete'](srcValue);\n }\n assignMergeValue(object, key, newValue);\n}\n\nmodule.exports = baseMergeDeep;\n","var Stack = require('./_Stack'),\n assignMergeValue = require('./_assignMergeValue'),\n baseFor = require('./_baseFor'),\n baseMergeDeep = require('./_baseMergeDeep'),\n isObject = require('./isObject'),\n keysIn = require('./keysIn'),\n safeGet = require('./_safeGet');\n\n/**\n * The base implementation of `_.merge` without support for multiple sources.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} [customizer] The function to customize merged values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMerge(object, source, srcIndex, customizer, stack) {\n if (object === source) {\n return;\n }\n baseFor(source, function(srcValue, key) {\n stack || (stack = new Stack);\n if (isObject(srcValue)) {\n baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);\n }\n else {\n var newValue = customizer\n ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack)\n : undefined;\n\n if (newValue === undefined) {\n newValue = srcValue;\n }\n assignMergeValue(object, key, newValue);\n }\n }, keysIn);\n}\n\nmodule.exports = baseMerge;\n","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n","/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\nmodule.exports = apply;\n","var apply = require('./_apply');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * A specialized version of `baseRest` which transforms the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\nfunction overRest(func, start, transform) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = transform(array);\n return apply(func, this, otherArgs);\n };\n}\n\nmodule.exports = overRest;\n","var constant = require('./constant'),\n defineProperty = require('./_defineProperty'),\n identity = require('./identity');\n\n/**\n * The base implementation of `setToString` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar baseSetToString = !defineProperty ? identity : function(func, string) {\n return defineProperty(func, 'toString', {\n 'configurable': true,\n 'enumerable': false,\n 'value': constant(string),\n 'writable': true\n });\n};\n\nmodule.exports = baseSetToString;\n","/**\n * Creates a function that returns `value`.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {*} value The value to return from the new function.\n * @returns {Function} Returns the new constant function.\n * @example\n *\n * var objects = _.times(2, _.constant({ 'a': 1 }));\n *\n * console.log(objects);\n * // => [{ 'a': 1 }, { 'a': 1 }]\n *\n * console.log(objects[0] === objects[1]);\n * // => true\n */\nfunction constant(value) {\n return function() {\n return value;\n };\n}\n\nmodule.exports = constant;\n","/** Used to detect hot functions by number of calls within a span of milliseconds. */\nvar HOT_COUNT = 800,\n HOT_SPAN = 16;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeNow = Date.now;\n\n/**\n * Creates a function that'll short out and invoke `identity` instead\n * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n * milliseconds.\n *\n * @private\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new shortable function.\n */\nfunction shortOut(func) {\n var count = 0,\n lastCalled = 0;\n\n return function() {\n var stamp = nativeNow(),\n remaining = HOT_SPAN - (stamp - lastCalled);\n\n lastCalled = stamp;\n if (remaining > 0) {\n if (++count >= HOT_COUNT) {\n return arguments[0];\n }\n } else {\n count = 0;\n }\n return func.apply(undefined, arguments);\n };\n}\n\nmodule.exports = shortOut;\n","var baseSetToString = require('./_baseSetToString'),\n shortOut = require('./_shortOut');\n\n/**\n * Sets the `toString` method of `func` to return `string`.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar setToString = shortOut(baseSetToString);\n\nmodule.exports = setToString;\n","var identity = require('./identity'),\n overRest = require('./_overRest'),\n setToString = require('./_setToString');\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n return setToString(overRest(func, start, identity), func + '');\n}\n\nmodule.exports = baseRest;\n","var eq = require('./eq'),\n isArrayLike = require('./isArrayLike'),\n isIndex = require('./_isIndex'),\n isObject = require('./isObject');\n\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n}\n\nmodule.exports = isIterateeCall;\n","var baseRest = require('./_baseRest'),\n isIterateeCall = require('./_isIterateeCall');\n\n/**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\nfunction createAssigner(assigner) {\n return baseRest(function(object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n\n customizer = (assigner.length > 3 && typeof customizer == 'function')\n ? (length--, customizer)\n : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n}\n\nmodule.exports = createAssigner;\n","export var callable = function callable(possibleFunction) {\n return function () {\n return typeof possibleFunction === 'function' ? possibleFunction.apply(void 0, arguments) : possibleFunction;\n };\n};\n//# sourceMappingURL=callable.js.map\n","import { isEnabled as isDebugEnabled } from './debugEnabled';\nexport var withDebugId = process.env.NODE_ENV === 'production' ? function (data, debugId) {\n return data;\n} : function (data, debugId) {\n if (!isDebugEnabled || debugId === undefined) {\n return data;\n }\n\n if (typeof data === 'object' && data !== null) {\n if (!Object.prototype.hasOwnProperty.call(data, '_debugId')) {\n var copy = Object.assign({}, data);\n Object.defineProperty(copy, '_debugId', {\n value: debugId,\n writable: false,\n enumerable: false\n });\n return copy;\n }\n }\n\n if (typeof data === 'function') {\n return function () {\n var result = data.apply(void 0, arguments);\n return withDebugId(result, debugId);\n };\n }\n\n return data;\n};\n//# sourceMappingURL=withDebugId.js.map\n","var isObject = function isObject(o) {\n return o !== null && typeof o === 'object' && !Array.isArray(o);\n};\n\nvar isValid = function isValid(k) {\n return k !== '__proto__' && k !== 'prototype' && k !== 'constructor';\n}; // Heads Up!\n// Changes here need to consider breaking all object references.\n// Merging should result in a themes that are non-mutated and have broken references.\n\n\nexport var deepmerge = function deepmerge() {\n var inner = function inner(target, source) {\n Object.keys(source).forEach(function (k) {\n if (isValid(k)) {\n if (isObject(source[k])) {\n if (!isObject(target[k])) {\n target[k] = {};\n }\n\n inner(target[k], source[k]);\n } else {\n target[k] = source[k]; // TODO: do deep clone for arrays? We currently do not have any deep arrays in variables\n }\n }\n });\n return target;\n };\n\n for (var _len = arguments.length, sources = new Array(_len), _key = 0; _key < _len; _key++) {\n sources[_key] = arguments[_key];\n }\n\n return sources.filter(Boolean).reduce(function (acc, src) {\n return inner(acc, src);\n }, {});\n};\n//# sourceMappingURL=deepmerge.js.map\n","var baseMerge = require('./_baseMerge'),\n createAssigner = require('./_createAssigner');\n\n/**\n * This method is like `_.assign` except that it recursively merges own and\n * inherited enumerable string keyed properties of source objects into the\n * destination object. Source properties that resolve to `undefined` are\n * skipped if a destination value exists. Array and plain object properties\n * are merged recursively. Other objects and value types are overridden by\n * assignment. Source objects are applied from left to right. Subsequent\n * sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {\n * 'a': [{ 'b': 2 }, { 'd': 4 }]\n * };\n *\n * var other = {\n * 'a': [{ 'c': 3 }, { 'e': 5 }]\n * };\n *\n * _.merge(object, other);\n * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }\n */\nvar merge = createAssigner(function(object, source, srcIndex) {\n baseMerge(object, source, srcIndex);\n});\n\nmodule.exports = merge;\n","import { withDebugId } from './withDebugId';\nexport var createTheme = function createTheme(themeInput, debugId) {\n return withDebugId(themeInput, debugId);\n};\n//# sourceMappingURL=createTheme.js.map\n","var baseFor = require('./_baseFor'),\n keys = require('./keys');\n\n/**\n * The base implementation of `_.forOwn` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return object && baseFor(object, iteratee, keys);\n}\n\nmodule.exports = baseForOwn;\n","var isArrayLike = require('./isArrayLike');\n\n/**\n * Creates a `baseEach` or `baseEachRight` function.\n *\n * @private\n * @param {Function} eachFunc The function to iterate over a collection.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseEach(eachFunc, fromRight) {\n return function(collection, iteratee) {\n if (collection == null) {\n return collection;\n }\n if (!isArrayLike(collection)) {\n return eachFunc(collection, iteratee);\n }\n var length = collection.length,\n index = fromRight ? length : -1,\n iterable = Object(collection);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (iteratee(iterable[index], index, iterable) === false) {\n break;\n }\n }\n return collection;\n };\n}\n\nmodule.exports = createBaseEach;\n","var baseForOwn = require('./_baseForOwn'),\n createBaseEach = require('./_createBaseEach');\n\n/**\n * The base implementation of `_.forEach` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n */\nvar baseEach = createBaseEach(baseForOwn);\n\nmodule.exports = baseEach;\n","var identity = require('./identity');\n\n/**\n * Casts `value` to `identity` if it's not a function.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {Function} Returns cast function.\n */\nfunction castFunction(value) {\n return typeof value == 'function' ? value : identity;\n}\n\nmodule.exports = castFunction;\n","/**\n * A specialized version of `_.forEach` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\nmodule.exports = arrayEach;\n","var arrayEach = require('./_arrayEach'),\n baseEach = require('./_baseEach'),\n castFunction = require('./_castFunction'),\n isArray = require('./isArray');\n\n/**\n * Iterates over elements of `collection` and invokes `iteratee` for each element.\n * The iteratee is invoked with three arguments: (value, index|key, collection).\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * **Note:** As with other \"Collections\" methods, objects with a \"length\"\n * property are iterated like arrays. To avoid this behavior use `_.forIn`\n * or `_.forOwn` for object iteration.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @alias each\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n * @see _.forEachRight\n * @example\n *\n * _.forEach([1, 2], function(value) {\n * console.log(value);\n * });\n * // => Logs `1` then `2`.\n *\n * _.forEach({ 'a': 1, 'b': 2 }, function(value, key) {\n * console.log(key);\n * });\n * // => Logs 'a' then 'b' (iteration order is not guaranteed).\n */\nfunction forEach(collection, iteratee) {\n var func = isArray(collection) ? arrayEach : baseEach;\n return func(collection, castFunction(iteratee));\n}\n\nmodule.exports = forEach;\n","var MapCache = require('./_MapCache'),\n setCacheAdd = require('./_setCacheAdd'),\n setCacheHas = require('./_setCacheHas');\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\nmodule.exports = SetCache;\n","/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\nmodule.exports = setCacheHas;\n","/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\nmodule.exports = setCacheAdd;\n","/**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n\nmodule.exports = cacheHas;\n","var SetCache = require('./_SetCache'),\n arraySome = require('./_arraySome'),\n cacheHas = require('./_cacheHas');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Check that cyclic values are equal.\n var arrStacked = stack.get(array);\n var othStacked = stack.get(other);\n if (arrStacked && othStacked) {\n return arrStacked == other && othStacked == array;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalArrays;\n","/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arraySome;\n","/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\nmodule.exports = mapToArray;\n","var Symbol = require('./_Symbol'),\n Uint8Array = require('./_Uint8Array'),\n eq = require('./eq'),\n equalArrays = require('./_equalArrays'),\n mapToArray = require('./_mapToArray'),\n setToArray = require('./_setToArray');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]';\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\nmodule.exports = equalByTag;\n","/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\nmodule.exports = setToArray;\n","/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\nmodule.exports = arrayPush;\n","var arrayPush = require('./_arrayPush'),\n isArray = require('./isArray');\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\nmodule.exports = baseGetAllKeys;\n","var arrayFilter = require('./_arrayFilter'),\n stubArray = require('./stubArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\nmodule.exports = getSymbols;\n","/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\nmodule.exports = arrayFilter;\n","var baseGetAllKeys = require('./_baseGetAllKeys'),\n getSymbols = require('./_getSymbols'),\n keys = require('./keys');\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\nmodule.exports = getAllKeys;\n","/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\nmodule.exports = stubArray;\n","var getAllKeys = require('./_getAllKeys');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Check that cyclic values are equal.\n var objStacked = stack.get(object);\n var othStacked = stack.get(other);\n if (objStacked && othStacked) {\n return objStacked == other && othStacked == object;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalObjects;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView');\n\nmodule.exports = DataView;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Promise = getNative(root, 'Promise');\n\nmodule.exports = Promise;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Set = getNative(root, 'Set');\n\nmodule.exports = Set;\n","var DataView = require('./_DataView'),\n Map = require('./_Map'),\n Promise = require('./_Promise'),\n Set = require('./_Set'),\n WeakMap = require('./_WeakMap'),\n baseGetTag = require('./_baseGetTag'),\n toSource = require('./_toSource');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n setTag = '[object Set]',\n weakMapTag = '[object WeakMap]';\n\nvar dataViewTag = '[object DataView]';\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\nmodule.exports = getTag;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar WeakMap = getNative(root, 'WeakMap');\n\nmodule.exports = WeakMap;\n","var Stack = require('./_Stack'),\n equalArrays = require('./_equalArrays'),\n equalByTag = require('./_equalByTag'),\n equalObjects = require('./_equalObjects'),\n getTag = require('./_getTag'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isTypedArray = require('./isTypedArray');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\n\nmodule.exports = baseIsEqualDeep;\n","var baseIsEqualDeep = require('./_baseIsEqualDeep'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\nmodule.exports = baseIsEqual;\n","var Stack = require('./_Stack'),\n baseIsEqual = require('./_baseIsEqual');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * The base implementation of `_.isMatch` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @param {Array} matchData The property names, values, and compare flags to match.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n */\nfunction baseIsMatch(object, source, matchData, customizer) {\n var index = matchData.length,\n length = index,\n noCustomizer = !customizer;\n\n if (object == null) {\n return !length;\n }\n object = Object(object);\n while (index--) {\n var data = matchData[index];\n if ((noCustomizer && data[2])\n ? data[1] !== object[data[0]]\n : !(data[0] in object)\n ) {\n return false;\n }\n }\n while (++index < length) {\n data = matchData[index];\n var key = data[0],\n objValue = object[key],\n srcValue = data[1];\n\n if (noCustomizer && data[2]) {\n if (objValue === undefined && !(key in object)) {\n return false;\n }\n } else {\n var stack = new Stack;\n if (customizer) {\n var result = customizer(objValue, srcValue, key, object, source, stack);\n }\n if (!(result === undefined\n ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack)\n : result\n )) {\n return false;\n }\n }\n }\n return true;\n}\n\nmodule.exports = baseIsMatch;\n","var isObject = require('./isObject');\n\n/**\n * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` if suitable for strict\n * equality comparisons, else `false`.\n */\nfunction isStrictComparable(value) {\n return value === value && !isObject(value);\n}\n\nmodule.exports = isStrictComparable;\n","var isStrictComparable = require('./_isStrictComparable'),\n keys = require('./keys');\n\n/**\n * Gets the property names, values, and compare flags of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the match data of `object`.\n */\nfunction getMatchData(object) {\n var result = keys(object),\n length = result.length;\n\n while (length--) {\n var key = result[length],\n value = object[key];\n\n result[length] = [key, value, isStrictComparable(value)];\n }\n return result;\n}\n\nmodule.exports = getMatchData;\n","/**\n * A specialized version of `matchesProperty` for source values suitable\n * for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction matchesStrictComparable(key, srcValue) {\n return function(object) {\n if (object == null) {\n return false;\n }\n return object[key] === srcValue &&\n (srcValue !== undefined || (key in Object(object)));\n };\n}\n\nmodule.exports = matchesStrictComparable;\n","var baseIsMatch = require('./_baseIsMatch'),\n getMatchData = require('./_getMatchData'),\n matchesStrictComparable = require('./_matchesStrictComparable');\n\n/**\n * The base implementation of `_.matches` which doesn't clone `source`.\n *\n * @private\n * @param {Object} source The object of property values to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatches(source) {\n var matchData = getMatchData(source);\n if (matchData.length == 1 && matchData[0][2]) {\n return matchesStrictComparable(matchData[0][0], matchData[0][1]);\n }\n return function(object) {\n return object === source || baseIsMatch(object, source, matchData);\n };\n}\n\nmodule.exports = baseMatches;\n","var isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/;\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\nmodule.exports = isKey;\n","var MapCache = require('./_MapCache');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `clear`, `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result) || cache;\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Expose `MapCache`.\nmemoize.Cache = MapCache;\n\nmodule.exports = memoize;\n","var memoize = require('./memoize');\n\n/** Used as the maximum memoize cache size. */\nvar MAX_MEMOIZE_SIZE = 500;\n\n/**\n * A specialized version of `_.memoize` which clears the memoized function's\n * cache when it exceeds `MAX_MEMOIZE_SIZE`.\n *\n * @private\n * @param {Function} func The function to have its output memoized.\n * @returns {Function} Returns the new memoized function.\n */\nfunction memoizeCapped(func) {\n var result = memoize(func, function(key) {\n if (cache.size === MAX_MEMOIZE_SIZE) {\n cache.clear();\n }\n return key;\n });\n\n var cache = result.cache;\n return result;\n}\n\nmodule.exports = memoizeCapped;\n","var memoizeCapped = require('./_memoizeCapped');\n\n/** Used to match property names within property paths. */\nvar rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoizeCapped(function(string) {\n var result = [];\n if (string.charCodeAt(0) === 46 /* . */) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, subString) {\n result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\nmodule.exports = stringToPath;\n","var Symbol = require('./_Symbol'),\n arrayMap = require('./_arrayMap'),\n isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isArray(value)) {\n // Recursively convert values (susceptible to call stack limits).\n return arrayMap(value, baseToString) + '';\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = baseToString;\n","var baseToString = require('./_baseToString');\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\nmodule.exports = toString;\n","var isArray = require('./isArray'),\n isKey = require('./_isKey'),\n stringToPath = require('./_stringToPath'),\n toString = require('./toString');\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {Object} [object] The object to query keys on.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value, object) {\n if (isArray(value)) {\n return value;\n }\n return isKey(value, object) ? [value] : stringToPath(toString(value));\n}\n\nmodule.exports = castPath;\n","var isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = toKey;\n","var castPath = require('./_castPath'),\n toKey = require('./_toKey');\n\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n path = castPath(path, object);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n}\n\nmodule.exports = baseGet;\n","var baseGet = require('./_baseGet');\n\n/**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\nfunction get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n}\n\nmodule.exports = get;\n","var castPath = require('./_castPath'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isIndex = require('./_isIndex'),\n isLength = require('./isLength'),\n toKey = require('./_toKey');\n\n/**\n * Checks if `path` exists on `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @param {Function} hasFunc The function to check properties.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n */\nfunction hasPath(object, path, hasFunc) {\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n result = false;\n\n while (++index < length) {\n var key = toKey(path[index]);\n if (!(result = object != null && hasFunc(object, key))) {\n break;\n }\n object = object[key];\n }\n if (result || ++index != length) {\n return result;\n }\n length = object == null ? 0 : object.length;\n return !!length && isLength(length) && isIndex(key, length) &&\n (isArray(object) || isArguments(object));\n}\n\nmodule.exports = hasPath;\n","/**\n * The base implementation of `_.hasIn` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\nfunction baseHasIn(object, key) {\n return object != null && key in Object(object);\n}\n\nmodule.exports = baseHasIn;\n","var baseHasIn = require('./_baseHasIn'),\n hasPath = require('./_hasPath');\n\n/**\n * Checks if `path` is a direct or inherited property of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.hasIn(object, 'a');\n * // => true\n *\n * _.hasIn(object, 'a.b');\n * // => true\n *\n * _.hasIn(object, ['a', 'b']);\n * // => true\n *\n * _.hasIn(object, 'b');\n * // => false\n */\nfunction hasIn(object, path) {\n return object != null && hasPath(object, path, baseHasIn);\n}\n\nmodule.exports = hasIn;\n","var baseIsEqual = require('./_baseIsEqual'),\n get = require('./get'),\n hasIn = require('./hasIn'),\n isKey = require('./_isKey'),\n isStrictComparable = require('./_isStrictComparable'),\n matchesStrictComparable = require('./_matchesStrictComparable'),\n toKey = require('./_toKey');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.\n *\n * @private\n * @param {string} path The path of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatchesProperty(path, srcValue) {\n if (isKey(path) && isStrictComparable(srcValue)) {\n return matchesStrictComparable(toKey(path), srcValue);\n }\n return function(object) {\n var objValue = get(object, path);\n return (objValue === undefined && objValue === srcValue)\n ? hasIn(object, path)\n : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);\n };\n}\n\nmodule.exports = baseMatchesProperty;\n","var baseGet = require('./_baseGet');\n\n/**\n * A specialized version of `baseProperty` which supports deep paths.\n *\n * @private\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction basePropertyDeep(path) {\n return function(object) {\n return baseGet(object, path);\n };\n}\n\nmodule.exports = basePropertyDeep;\n","var baseProperty = require('./_baseProperty'),\n basePropertyDeep = require('./_basePropertyDeep'),\n isKey = require('./_isKey'),\n toKey = require('./_toKey');\n\n/**\n * Creates a function that returns the value at `path` of a given object.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n * @example\n *\n * var objects = [\n * { 'a': { 'b': 2 } },\n * { 'a': { 'b': 1 } }\n * ];\n *\n * _.map(objects, _.property('a.b'));\n * // => [2, 1]\n *\n * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b');\n * // => [1, 2]\n */\nfunction property(path) {\n return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path);\n}\n\nmodule.exports = property;\n","/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = baseProperty;\n","var baseMatches = require('./_baseMatches'),\n baseMatchesProperty = require('./_baseMatchesProperty'),\n identity = require('./identity'),\n isArray = require('./isArray'),\n property = require('./property');\n\n/**\n * The base implementation of `_.iteratee`.\n *\n * @private\n * @param {*} [value=_.identity] The value to convert to an iteratee.\n * @returns {Function} Returns the iteratee.\n */\nfunction baseIteratee(value) {\n // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.\n // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.\n if (typeof value == 'function') {\n return value;\n }\n if (value == null) {\n return identity;\n }\n if (typeof value == 'object') {\n return isArray(value)\n ? baseMatchesProperty(value[0], value[1])\n : baseMatches(value);\n }\n return property(value);\n}\n\nmodule.exports = baseIteratee;\n","var baseEach = require('./_baseEach'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * The base implementation of `_.map` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction baseMap(collection, iteratee) {\n var index = -1,\n result = isArrayLike(collection) ? Array(collection.length) : [];\n\n baseEach(collection, function(value, key, collection) {\n result[++index] = iteratee(value, key, collection);\n });\n return result;\n}\n\nmodule.exports = baseMap;\n","var arrayMap = require('./_arrayMap'),\n baseIteratee = require('./_baseIteratee'),\n baseMap = require('./_baseMap'),\n isArray = require('./isArray');\n\n/**\n * Creates an array of values by running each element in `collection` thru\n * `iteratee`. The iteratee is invoked with three arguments:\n * (value, index|key, collection).\n *\n * Many lodash methods are guarded to work as iteratees for methods like\n * `_.every`, `_.filter`, `_.map`, `_.mapValues`, `_.reject`, and `_.some`.\n *\n * The guarded methods are:\n * `ary`, `chunk`, `curry`, `curryRight`, `drop`, `dropRight`, `every`,\n * `fill`, `invert`, `parseInt`, `random`, `range`, `rangeRight`, `repeat`,\n * `sampleSize`, `slice`, `some`, `sortBy`, `split`, `take`, `takeRight`,\n * `template`, `trim`, `trimEnd`, `trimStart`, and `words`\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n * @example\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * _.map([4, 8], square);\n * // => [16, 64]\n *\n * _.map({ 'a': 4, 'b': 8 }, square);\n * // => [16, 64] (iteration order is not guaranteed)\n *\n * var users = [\n * { 'user': 'barney' },\n * { 'user': 'fred' }\n * ];\n *\n * // The `_.property` iteratee shorthand.\n * _.map(users, 'user');\n * // => ['barney', 'fred']\n */\nfunction map(collection, iteratee) {\n var func = isArray(collection) ? arrayMap : baseMap;\n return func(collection, baseIteratee(iteratee, 3));\n}\n\nmodule.exports = map;\n","var Symbol = require('./_Symbol'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray');\n\n/** Built-in value references. */\nvar spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined;\n\n/**\n * Checks if `value` is a flattenable `arguments` object or array.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is flattenable, else `false`.\n */\nfunction isFlattenable(value) {\n return isArray(value) || isArguments(value) ||\n !!(spreadableSymbol && value && value[spreadableSymbol]);\n}\n\nmodule.exports = isFlattenable;\n","var arrayPush = require('./_arrayPush'),\n isFlattenable = require('./_isFlattenable');\n\n/**\n * The base implementation of `_.flatten` with support for restricting flattening.\n *\n * @private\n * @param {Array} array The array to flatten.\n * @param {number} depth The maximum recursion depth.\n * @param {boolean} [predicate=isFlattenable] The function invoked per iteration.\n * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks.\n * @param {Array} [result=[]] The initial result value.\n * @returns {Array} Returns the new flattened array.\n */\nfunction baseFlatten(array, depth, predicate, isStrict, result) {\n var index = -1,\n length = array.length;\n\n predicate || (predicate = isFlattenable);\n result || (result = []);\n\n while (++index < length) {\n var value = array[index];\n if (depth > 0 && predicate(value)) {\n if (depth > 1) {\n // Recursively flatten arrays (susceptible to call stack limits).\n baseFlatten(value, depth - 1, predicate, isStrict, result);\n } else {\n arrayPush(result, value);\n }\n } else if (!isStrict) {\n result[result.length] = value;\n }\n }\n return result;\n}\n\nmodule.exports = baseFlatten;\n","var baseIndexOf = require('./_baseIndexOf');\n\n/**\n * A specialized version of `_.includes` for arrays without support for\n * specifying an index to search from.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludes(array, value) {\n var length = array == null ? 0 : array.length;\n return !!length && baseIndexOf(array, value, 0) > -1;\n}\n\nmodule.exports = arrayIncludes;\n","/**\n * This function is like `arrayIncludes` except that it accepts a comparator.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @param {Function} comparator The comparator invoked per element.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludesWith(array, value, comparator) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (comparator(value, array[index])) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arrayIncludesWith;\n","var Set = require('./_Set'),\n noop = require('./noop'),\n setToArray = require('./_setToArray');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Creates a set object of `values`.\n *\n * @private\n * @param {Array} values The values to add to the set.\n * @returns {Object} Returns the new set.\n */\nvar createSet = !(Set && (1 / setToArray(new Set([,-0]))[1]) == INFINITY) ? noop : function(values) {\n return new Set(values);\n};\n\nmodule.exports = createSet;\n","/**\n * This method returns `undefined`.\n *\n * @static\n * @memberOf _\n * @since 2.3.0\n * @category Util\n * @example\n *\n * _.times(2, _.noop);\n * // => [undefined, undefined]\n */\nfunction noop() {\n // No operation performed.\n}\n\nmodule.exports = noop;\n","var SetCache = require('./_SetCache'),\n arrayIncludes = require('./_arrayIncludes'),\n arrayIncludesWith = require('./_arrayIncludesWith'),\n cacheHas = require('./_cacheHas'),\n createSet = require('./_createSet'),\n setToArray = require('./_setToArray');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * The base implementation of `_.uniqBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n */\nfunction baseUniq(array, iteratee, comparator) {\n var index = -1,\n includes = arrayIncludes,\n length = array.length,\n isCommon = true,\n result = [],\n seen = result;\n\n if (comparator) {\n isCommon = false;\n includes = arrayIncludesWith;\n }\n else if (length >= LARGE_ARRAY_SIZE) {\n var set = iteratee ? null : createSet(array);\n if (set) {\n return setToArray(set);\n }\n isCommon = false;\n includes = cacheHas;\n seen = new SetCache;\n }\n else {\n seen = iteratee ? [] : result;\n }\n outer:\n while (++index < length) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n value = (comparator || value !== 0) ? value : 0;\n if (isCommon && computed === computed) {\n var seenIndex = seen.length;\n while (seenIndex--) {\n if (seen[seenIndex] === computed) {\n continue outer;\n }\n }\n if (iteratee) {\n seen.push(computed);\n }\n result.push(value);\n }\n else if (!includes(seen, computed, comparator)) {\n if (seen !== result) {\n seen.push(computed);\n }\n result.push(value);\n }\n }\n return result;\n}\n\nmodule.exports = baseUniq;\n","export var toCompactArray = function toCompactArray() {\n var _ref;\n\n return (_ref = []).concat.apply(_ref, arguments).filter(Boolean);\n};\n//# sourceMappingURL=toCompactArray.js.map\n","var baseFlatten = require('./_baseFlatten'),\n baseRest = require('./_baseRest'),\n baseUniq = require('./_baseUniq'),\n isArrayLikeObject = require('./isArrayLikeObject');\n\n/**\n * Creates an array of unique values, in order, from all given arrays using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @returns {Array} Returns the new array of combined values.\n * @example\n *\n * _.union([2], [1, 2]);\n * // => [2, 1]\n */\nvar union = baseRest(function(arrays) {\n return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true));\n});\n\nmodule.exports = union;\n","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _forEach from \"lodash/forEach\";\nimport _keys from \"lodash/keys\";\nimport _map from \"lodash/map\";\nimport _union from \"lodash/union\";\nimport _merge from \"lodash/merge\";\nimport { callable } from './callable';\nimport { isEnabled as isDebugEnabled } from './debugEnabled';\nimport { deepmerge } from './deepmerge';\nimport { objectKeyToValues } from './objectKeysToValues';\nimport { toCompactArray } from './toCompactArray';\nimport { withDebugId } from './withDebugId';\nexport var emptyTheme = {\n siteVariables: {\n fontSizes: {}\n },\n componentVariables: {},\n componentStyles: {},\n fontFaces: [],\n staticStyles: [],\n animations: {}\n}; // ----------------------------------------\n// Component level merge functions\n// ----------------------------------------\n\n/**\n * Merges a single component's styles (keyed by component part) with another component's styles.\n */\n\nexport var mergeComponentStyles__PROD = function mergeComponentStyles__PROD(stylesA, stylesB) {\n var result = {};\n\n if (stylesA) {\n Object.keys(stylesA).forEach(function (partName) {\n var slotA = stylesA[partName];\n var slotB = stylesB == null ? void 0 : stylesB[partName]; // if there is no source, merging is a no-op, skip it\n\n if (typeof slotA === 'undefined' || slotA === null) {\n return;\n } // no target means source doesn't need to merge onto anything\n // just ensure source is callable (prepared format)\n\n\n if (typeof slotB === 'undefined' || slotB === null) {\n result[partName] = typeof slotA === 'function' ? slotA : function () {\n return slotA;\n };\n return;\n }\n\n if (slotA === slotB) {\n result[partName] = typeof slotA === 'function' ? slotA : function () {\n return slotA;\n };\n }\n });\n }\n\n if (stylesB) {\n Object.keys(stylesB).forEach(function (partName) {\n var slotA = stylesA == null ? void 0 : stylesA[partName];\n var slotB = stylesB[partName]; // if there is no source, merging is a no-op, skip it\n\n if (typeof slotB === 'undefined' || slotB === null) {\n return;\n } // no target means source doesn't need to merge onto anything\n // just ensure source is callable (prepared format)\n\n\n if (typeof slotA === 'undefined' || slotA === null) {\n result[partName] = typeof slotB === 'function' ? slotB : function () {\n return slotB;\n };\n return;\n }\n\n if (slotA === slotB) {\n return;\n } // We have both target and source, replace with merge fn\n\n\n result[partName] = function mergedStyleFunction(styleParam) {\n // originalTarget is always prepared, fn is guaranteed\n return _merge(typeof slotA === 'function' ? slotA(styleParam) : slotA, typeof slotB === 'function' ? slotB(styleParam) : slotB);\n };\n });\n }\n\n return result;\n};\nexport var mergeComponentStyles__DEV = function mergeComponentStyles__DEV(stylesA, stylesB) {\n if (!isDebugEnabled) {\n return mergeComponentStyles__PROD(stylesA, stylesB);\n }\n\n var mergedKeys = [].concat(stylesA ? Object.keys(stylesA) : [], stylesB ? Object.keys(stylesB) : []);\n var result = {};\n mergedKeys.forEach(function (slotName) {\n var slotA = function slotA(styleParam) {\n var _ref = callable(stylesA == null ? void 0 : stylesA[slotName])(styleParam) || {},\n _ref$_debug = _ref._debug,\n _debug = _ref$_debug === void 0 ? undefined : _ref$_debug,\n styles = _objectWithoutPropertiesLoose(_ref, [\"_debug\"]); // new object required to prevent circular JSON structure error in \n\n\n return Object.assign({}, styles, {\n _debug: _debug || [{\n styles: Object.assign({}, styles),\n debugId: stylesA._debugId\n }]\n });\n };\n\n var slotB = function slotB(styleParam) {\n var _ref2 = callable(stylesB == null ? void 0 : stylesB[slotName])(styleParam) || {},\n _ref2$_debug = _ref2._debug,\n _debug = _ref2$_debug === void 0 ? undefined : _ref2$_debug,\n styles = _objectWithoutPropertiesLoose(_ref2, [\"_debug\"]); // new object required to prevent circular JSON structure error in \n\n\n return Object.assign({}, styles, {\n _debug: _debug || [{\n styles: Object.assign({}, styles),\n debugId: stylesB._debugId\n }]\n });\n };\n\n if (stylesA != null && stylesA[slotName] && stylesB != null && stylesB[slotName]) {\n // We have both, replace with merge fn\n result[slotName] = function (styleParam) {\n // slot* are always prepared, fn is guaranteed, _debug always exists\n var _slotA = slotA(styleParam),\n debugA = _slotA._debug,\n resolvedStylesA = _objectWithoutPropertiesLoose(_slotA, [\"_debug\"]);\n\n var _slotB = slotB(styleParam),\n debugB = _slotB._debug,\n resolvedStylesB = _objectWithoutPropertiesLoose(_slotB, [\"_debug\"]);\n\n var merged = _merge(resolvedStylesA, resolvedStylesB);\n\n merged._debug = debugA.concat(debugB || {\n styles: resolvedStylesB,\n debugId: resolvedStylesB._debugId\n });\n return merged;\n };\n } else if (stylesA != null && stylesA[slotName]) {\n result[slotName] = slotA;\n } else if (stylesB != null && stylesB[slotName]) {\n result[slotName] = slotB;\n }\n });\n return result;\n};\nexport var mergeComponentStyles = process.env.NODE_ENV === 'production' ? mergeComponentStyles__PROD : mergeComponentStyles__DEV;\n/**\n * Merges a single component's variables with another component's variables.\n */\n\nexport var mergeComponentVariables__PROD = function mergeComponentVariables__PROD() {\n var initial = function initial() {\n return {};\n }; // filtering is required as some arguments can be undefined\n\n\n for (var _len = arguments.length, sources = new Array(_len), _key = 0; _key < _len; _key++) {\n sources[_key] = arguments[_key];\n }\n\n var filteredSources = sources.filter(Boolean); // a short circle to avoid calls of deepmerge()\n\n if (filteredSources.length === 1) {\n return typeof filteredSources[0] === 'function' ? filteredSources[0] : callable(filteredSources[0]);\n }\n\n return filteredSources.reduce(function (acc, next) {\n return function mergeComponentVariables() {\n var accumulatedVariables = acc.apply(void 0, arguments);\n var fn = typeof next === 'function' ? next : callable(next);\n var computedComponentVariables = fn.apply(void 0, arguments);\n return deepmerge(accumulatedVariables, computedComponentVariables);\n };\n }, initial);\n};\nexport var mergeComponentVariables__DEV = function mergeComponentVariables__DEV() {\n for (var _len2 = arguments.length, sources = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n sources[_key2] = arguments[_key2];\n }\n\n if (!isDebugEnabled) {\n return mergeComponentVariables__PROD.apply(void 0, sources);\n }\n\n var initial = function initial() {\n return {};\n };\n\n return sources.reduce(function (acc, next) {\n return function (siteVariables) {\n var _acc = acc(siteVariables),\n _acc$_debug = _acc._debug,\n _debug = _acc$_debug === void 0 ? [] : _acc$_debug,\n accumulatedVariables = _objectWithoutPropertiesLoose(_acc, [\"_debug\"]);\n\n var _ref3 = callable(next)(siteVariables) || {},\n _ref3$_debug = _ref3._debug,\n computedDebug = _ref3$_debug === void 0 ? undefined : _ref3$_debug,\n _ref3$_debugId = _ref3._debugId,\n _debugId = _ref3$_debugId === void 0 ? undefined : _ref3$_debugId,\n computedComponentVariables = _objectWithoutPropertiesLoose(_ref3, [\"_debug\", \"_debugId\"]);\n\n var merged = deepmerge(accumulatedVariables, computedComponentVariables);\n merged._debug = _debug.concat(computedDebug || {\n resolved: computedComponentVariables,\n debugId: _debugId,\n input: siteVariables ? siteVariables._invertedKeys && callable(next)(siteVariables._invertedKeys) : callable(next)()\n });\n return merged;\n };\n }, initial);\n};\nexport var mergeComponentVariables = process.env.NODE_ENV === 'production' ? mergeComponentVariables__PROD : mergeComponentVariables__DEV; // ----------------------------------------\n// Theme level merge functions\n// ----------------------------------------\n\n/**\n * Site variables can safely be merged at each Provider in the tree.\n * They are flat objects and do not depend on render-time values, such as props.\n */\n\nexport var mergeSiteVariables__PROD = function mergeSiteVariables__PROD() {\n var initial = {\n fontSizes: {}\n };\n\n for (var _len3 = arguments.length, sources = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n sources[_key3] = arguments[_key3];\n }\n\n return deepmerge.apply(void 0, [initial].concat(sources));\n};\nexport var mergeSiteVariables__DEV = function mergeSiteVariables__DEV() {\n for (var _len4 = arguments.length, sources = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n sources[_key4] = arguments[_key4];\n }\n\n if (!isDebugEnabled) {\n return mergeSiteVariables__PROD.apply(void 0, sources);\n }\n\n var initial = {\n fontSizes: {}\n };\n return sources.reduce(function (acc, next) {\n var _acc$_debug2 = acc._debug,\n _debug = _acc$_debug2 === void 0 ? [] : _acc$_debug2,\n accumulatedSiteVariables = _objectWithoutPropertiesLoose(acc, [\"_debug\"]);\n\n var _ref4 = next || {},\n _ref4$_debug = _ref4._debug,\n computedDebug = _ref4$_debug === void 0 ? undefined : _ref4$_debug,\n _ref4$_invertedKeys = _ref4._invertedKeys,\n _invertedKeys = _ref4$_invertedKeys === void 0 ? undefined : _ref4$_invertedKeys,\n _ref4$_debugId = _ref4._debugId,\n _debugId = _ref4$_debugId === void 0 ? undefined : _ref4$_debugId,\n nextSiteVariables = _objectWithoutPropertiesLoose(_ref4, [\"_debug\", \"_invertedKeys\", \"_debugId\"]);\n\n var merged = deepmerge(Object.assign({}, accumulatedSiteVariables, {\n _invertedKeys: undefined\n }), nextSiteVariables);\n merged._debug = _debug.concat(computedDebug || {\n resolved: nextSiteVariables,\n debugId: _debugId\n });\n merged._invertedKeys = _invertedKeys || objectKeyToValues(merged, function (key) {\n return \"siteVariables.\" + key;\n });\n return merged;\n }, initial);\n};\nexport var mergeSiteVariables = process.env.NODE_ENV === 'production' ? mergeSiteVariables__PROD : mergeSiteVariables__DEV;\n/**\n * Component variables can be objects, functions, or an array of these.\n * The functions must be called with the final result of siteVariables, otherwise\n * the component variable objects would have no ability to apply siteVariables.\n * Therefore, componentVariables must be resolved by the component at render time.\n * We instead pass down call stack of component variable functions to be resolved later.\n */\n\nexport var mergeThemeVariables__PROD = function mergeThemeVariables__PROD() {\n for (var _len5 = arguments.length, sources = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {\n sources[_key5] = arguments[_key5];\n }\n\n var displayNames = _union.apply(void 0, _map(sources, _keys));\n\n return displayNames.reduce(function (componentVariables, displayName) {\n componentVariables[displayName] = mergeComponentVariables.apply(void 0, _map(sources, displayName));\n return componentVariables;\n }, {});\n};\nexport var mergeThemeVariables__DEV = function mergeThemeVariables__DEV() {\n for (var _len6 = arguments.length, sources = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {\n sources[_key6] = arguments[_key6];\n }\n\n if (!isDebugEnabled) {\n return mergeThemeVariables__PROD.apply(void 0, sources);\n }\n\n var displayNames = _union.apply(void 0, _map(sources, _keys));\n\n return displayNames.reduce(function (componentVariables, displayName) {\n componentVariables[displayName] = mergeComponentVariables.apply(void 0, _map(sources, function (source) {\n return source && withDebugId(source[displayName], source._debugId);\n }));\n return componentVariables;\n }, {});\n};\nexport var mergeThemeVariables = process.env.NODE_ENV === 'production' ? mergeThemeVariables__PROD : mergeThemeVariables__DEV;\n/**\n * See mergeThemeVariables() description.\n * Component styles adhere to the same pattern as component variables, except\n * that they return style objects.\n */\n\nexport var mergeThemeStyles = function mergeThemeStyles() {\n var initial = {};\n\n for (var _len7 = arguments.length, sources = new Array(_len7), _key7 = 0; _key7 < _len7; _key7++) {\n sources[_key7] = arguments[_key7];\n }\n\n return sources.reduce(function (themeComponentStyles, next) {\n _forEach(next, function (stylesByPart, displayName) {\n themeComponentStyles[displayName] = mergeComponentStyles(themeComponentStyles[displayName], withDebugId(stylesByPart, next._debugId));\n });\n\n return themeComponentStyles;\n }, initial);\n};\nexport var mergeFontFaces = function mergeFontFaces() {\n return toCompactArray.apply(void 0, arguments);\n};\nexport var mergeStaticStyles = function mergeStaticStyles() {\n return toCompactArray.apply(void 0, arguments);\n};\nexport var mergeAnimations = function mergeAnimations() {\n for (var _len8 = arguments.length, sources = new Array(_len8), _key8 = 0; _key8 < _len8; _key8++) {\n sources[_key8] = arguments[_key8];\n }\n\n return Object.assign.apply(Object, [{}].concat(sources));\n};\nexport var mergeStyles = function mergeStyles() {\n for (var _len9 = arguments.length, sources = new Array(_len9), _key9 = 0; _key9 < _len9; _key9++) {\n sources[_key9] = arguments[_key9];\n }\n\n return function () {\n for (var _len10 = arguments.length, args = new Array(_len10), _key10 = 0; _key10 < _len10; _key10++) {\n args[_key10] = arguments[_key10];\n }\n\n return sources.reduce(function (acc, next) {\n return _merge(acc, callable(next).apply(void 0, args));\n }, {});\n };\n};\nexport var mergeThemes = function mergeThemes() {\n for (var _len11 = arguments.length, themes = new Array(_len11), _key11 = 0; _key11 < _len11; _key11++) {\n themes[_key11] = arguments[_key11];\n }\n\n return themes.reduce(function (acc, next) {\n if (!next) return acc;\n var nextDebugId = next['_debugId'];\n acc.siteVariables = mergeSiteVariables(acc.siteVariables, withDebugId(next.siteVariables, nextDebugId));\n acc.componentVariables = mergeThemeVariables(acc.componentVariables, withDebugId(next.componentVariables, nextDebugId));\n acc.componentStyles = mergeThemeStyles(acc.componentStyles, withDebugId(next.componentStyles, nextDebugId));\n acc.fontFaces = mergeFontFaces.apply(void 0, acc.fontFaces.concat(next.fontFaces || []));\n acc.staticStyles = mergeStaticStyles.apply(void 0, acc.staticStyles.concat(next.staticStyles || []));\n acc.animations = mergeAnimations(acc.animations, next.animations);\n return acc;\n }, // .reduce() will modify \"emptyTheme\" object, so we should clone it before actual usage\n Object.assign({}, emptyTheme));\n};\n//# sourceMappingURL=mergeThemes.js.map\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\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\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\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","/**\n * Gets the last element of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to query.\n * @returns {*} Returns the last element of `array`.\n * @example\n *\n * _.last([1, 2, 3]);\n * // => 3\n */\nfunction last(array) {\n var length = array == null ? 0 : array.length;\n return length ? array[length - 1] : undefined;\n}\n\nmodule.exports = last;\n","var baseGet = require('./_baseGet'),\n baseSlice = require('./_baseSlice');\n\n/**\n * Gets the parent value at `path` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array} path The path to get the parent value of.\n * @returns {*} Returns the parent value.\n */\nfunction parent(object, path) {\n return path.length < 2 ? object : baseGet(object, baseSlice(path, 0, -1));\n}\n\nmodule.exports = parent;\n","/**\n * The base implementation of `_.slice` without an iteratee call guard.\n *\n * @private\n * @param {Array} array The array to slice.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the slice of `array`.\n */\nfunction baseSlice(array, start, end) {\n var index = -1,\n length = array.length;\n\n if (start < 0) {\n start = -start > length ? 0 : (length + start);\n }\n end = end > length ? length : end;\n if (end < 0) {\n end += length;\n }\n length = start > end ? 0 : ((end - start) >>> 0);\n start >>>= 0;\n\n var result = Array(length);\n while (++index < length) {\n result[index] = array[index + start];\n }\n return result;\n}\n\nmodule.exports = baseSlice;\n","var apply = require('./_apply'),\n castPath = require('./_castPath'),\n last = require('./last'),\n parent = require('./_parent'),\n toKey = require('./_toKey');\n\n/**\n * The base implementation of `_.invoke` without support for individual\n * method arguments.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the method to invoke.\n * @param {Array} args The arguments to invoke the method with.\n * @returns {*} Returns the result of the invoked method.\n */\nfunction baseInvoke(object, path, args) {\n path = castPath(path, object);\n object = parent(object, path);\n var func = object == null ? object : object[toKey(last(path))];\n return func == null ? undefined : apply(func, object, args);\n}\n\nmodule.exports = baseInvoke;\n","var baseInvoke = require('./_baseInvoke'),\n baseRest = require('./_baseRest');\n\n/**\n * Invokes the method at `path` of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the method to invoke.\n * @param {...*} [args] The arguments to invoke the method with.\n * @returns {*} Returns the result of the invoked method.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': [1, 2, 3, 4] } }] };\n *\n * _.invoke(object, 'a[0].b.c.slice', 1, 3);\n * // => [2, 3]\n */\nvar invoke = baseRest(baseInvoke);\n\nmodule.exports = invoke;\n","/*!\n Copyright (c) 2018 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString === Object.prototype.toString) {\n\t\t\t\t\tfor (var key in arg) {\n\t\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import { isBrowser } from './isBrowser';\nvar DEFAULT_REM_SIZE_IN_PX = 16;\nvar _documentRemSize = null;\nexport var getDocumentRemSize = function getDocumentRemSize() {\n if (isBrowser()) {\n try {\n // eslint-disable-next-line no-undef\n return getFontSizeValue(getComputedStyle(document.documentElement).fontSize) || DEFAULT_REM_SIZE_IN_PX;\n } catch (e) {\n return DEFAULT_REM_SIZE_IN_PX;\n }\n }\n\n return DEFAULT_REM_SIZE_IN_PX;\n};\n\nvar getFontSizeValue = function getFontSizeValue(size) {\n return size && parseFloat(size) || null;\n}; // A replacement for a Lodash's one, way more faster on our cases as handles specific scenario\n\n\nexport var round = function round(n) {\n return (n * 10000 + (n > 0 ? 0.5 : -0.5) << 0) / 10000;\n};\n/**\n * Converts the provided px size to rem based on the default font size of 16px unless\n * the HTML font size has been previously defined with setHTMLFontSize().\n * @param valueInPx - The px value to convert to rem.\n * @param baseRemSize - Rem size to use for conversions. Optional - document's font size will be taken otherwise.\n * @example\n * ```\n * // Returns '1rem' for default document font size (16px).\n * pxToRem(16)\n *\n * // Returns '2rem'.\n * pxToRem(32, 16)\n * ```\n * @returns The value converted to the rem.\n */\n\nexport var pxToRem = function pxToRem(valueInPx, baseRemSize) {\n if (!baseRemSize && !_documentRemSize) {\n // there is no way how to reset the cached value\n // invalidating the cache is not possible as resetting cached value won't trigger recalculation of site variables,\n // for which originally computed values will stay unchanged\n _documentRemSize = getDocumentRemSize();\n }\n\n var remSize = baseRemSize || _documentRemSize || DEFAULT_REM_SIZE_IN_PX;\n var convertedValueInRems = valueInPx / remSize;\n return round(convertedValueInRems) + \"rem\";\n};\n//# sourceMappingURL=fontSizeUtility.js.map\n","/* eslint-disable no-undef */\nvar hasDocument = typeof document === 'object' && document !== null;\nvar hasWindow = typeof window === 'object' && window !== null && window.self === window;\n/* eslint-enable no-undef */\n\nexport var isBrowser = function isBrowser() {\n return hasDocument && hasWindow;\n};\n//# sourceMappingURL=isBrowser.js.map\n","/**\n * Checks if `value` is `null` or `undefined`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is nullish, else `false`.\n * @example\n *\n * _.isNil(null);\n * // => true\n *\n * _.isNil(void 0);\n * // => true\n *\n * _.isNil(NaN);\n * // => false\n */\nfunction isNil(value) {\n return value == null;\n}\n\nmodule.exports = isNil;\n","import * as React from 'react';\nimport { useFluentContext, useStyles, getUnhandledProps } from '@fluentui/react-bindings';\nexport var svgIconClassName = 'ui-icon';\nexport var svgIconDisplayName = 'SvgIcon';\nexport var svgIconHandledProps = ['bordered', 'className', 'circular', 'design', 'disabled', 'outline', 'size', 'rotate', 'styles', 'variables', 'xSpacing'];\nexport var createSvgIcon = function createSvgIcon(_ref) {\n var svg = _ref.svg,\n displayName = _ref.displayName,\n _ref$handledProps = _ref.handledProps,\n handledProps = _ref$handledProps === void 0 ? [] : _ref$handledProps;\n\n var Component = function Component(props) {\n var context = useFluentContext();\n var alt = props.alt,\n ariaLabel = props['aria-label'],\n bordered = props.bordered,\n circular = props.circular,\n className = props.className,\n design = props.design,\n disabled = props.disabled,\n outline = props.outline,\n _props$rotate = props.rotate,\n rotate = _props$rotate === void 0 ? 0 : _props$rotate,\n _props$size = props.size,\n size = _props$size === void 0 ? 'medium' : _props$size,\n styles = props.styles,\n variables = props.variables,\n xSpacing = props.xSpacing;\n\n var _useStyles = useStyles(svgIconDisplayName, {\n className: svgIconClassName,\n mapPropsToStyles: function mapPropsToStyles() {\n return {\n bordered: bordered,\n circular: circular,\n disabled: disabled,\n outline: outline,\n rotate: rotate,\n size: size,\n xSpacing: xSpacing\n };\n },\n mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n return {\n className: className,\n design: design,\n styles: styles,\n variables: variables\n };\n },\n rtl: context.rtl\n }),\n classes = _useStyles.classes;\n\n var unhandledProps = getUnhandledProps([].concat(svgIconHandledProps, handledProps), props);\n return /*#__PURE__*/React.createElement('span', Object.assign({\n role: 'img',\n 'aria-hidden': alt || ariaLabel ? undefined : 'true',\n 'aria-label': ariaLabel,\n className: classes.root\n }, unhandledProps), svg({\n classes: classes,\n rtl: context.rtl,\n props: props\n }));\n };\n\n Component.displayName = displayName;\n Component.handledProps = [].concat(svgIconHandledProps, handledProps);\n return Component;\n};\n//# sourceMappingURL=createSvgIcon.js.map\n","export var iconClassNames = {\n filled: 'ui-icon__filled',\n outline: 'ui-icon__outline'\n};\n//# sourceMappingURL=iconClassNames.js.map\n","export var accelerateMax = 'cubic-bezier(1,0,1,1)';\nexport var accelerateMid = 'cubic-bezier(0.7,0,1,0.5)';\nexport var accelerateMin = 'cubic-bezier(0.8,0,1,1)';\nexport var decelerateMax = 'cubic-bezier(0,0,0,1)';\nexport var decelerateMid = 'cubic-bezier(0.1,0.9,0.2,1)';\nexport var decelerateMin = 'cubic-bezier(0.33,0,0.1,1)';\nexport var maxEasyEase = 'cubic-bezier(0.8,0,0.1,1)';\nexport var easyEase = 'cubic-bezier(0.33,0,0.67,1)';\nexport var linear = 'cubic-bezier(0,0,1,1)';\n//# sourceMappingURL=timingFunctions.js.map\n","export var ultraFast = '50ms';\nexport var faster = '100ms';\nexport var fast = '150ms';\nexport var normal = '200ms';\nexport var slow = '300ms';\nexport var slower = '400ms';\nexport var ultraSlow = '500ms';\n//# sourceMappingURL=durations.js.map\n","import { linear } from './timingFunctions';\nimport { ultraFast, faster, fast, normal, slow, slower, ultraSlow } from './durations';\nexport var fadeInOutAnimations = {\n // Fade Ins\n // Basic Fade In Animation -- Ultra Fast\n fadeEnterUltraFast: {\n keyframe: function keyframe(_ref) {\n var delta = _ref.delta;\n return {\n '0%': {\n opacity: delta\n },\n '100%': {\n opacity: 1\n }\n };\n },\n keyframeParams: {\n delta: 0\n },\n duration: ultraFast,\n timingFunction: linear,\n fillMode: 'forwards'\n },\n // Basic Fade In Animation -- Faster\n fadeEnterFaster: {\n keyframe: function keyframe(_ref2) {\n var delta = _ref2.delta;\n return {\n '0%': {\n opacity: delta\n },\n '100%': {\n opacity: 1\n }\n };\n },\n keyframeParams: {\n delta: 0\n },\n duration: faster,\n timingFunction: linear,\n fillMode: 'forwards'\n },\n // Basic Fade In Animation -- Fast\n fadeEnterFast: {\n keyframe: function keyframe(_ref3) {\n var delta = _ref3.delta;\n return {\n '0%': {\n opacity: delta\n },\n '100%': {\n opacity: 1\n }\n };\n },\n keyframeParams: {\n delta: 0\n },\n duration: fast,\n timingFunction: linear,\n fillMode: 'forwards'\n },\n // Basic Fade In Animation --Normal\n fadeEnterNormal: {\n keyframe: function keyframe(_ref4) {\n var delta = _ref4.delta;\n return {\n '0%': {\n opacity: delta\n },\n '100%': {\n opacity: 1\n }\n };\n },\n keyframeParams: {\n delta: 0\n },\n duration: normal,\n timingFunction: linear,\n fillMode: 'forwards'\n },\n // Basic Fade In Animation --Slow\n fadeEnterSlow: {\n keyframe: function keyframe(_ref5) {\n var delta = _ref5.delta;\n return {\n '0%': {\n opacity: delta\n },\n '100%': {\n opacity: 1\n }\n };\n },\n keyframeParams: {\n delta: 0\n },\n duration: slow,\n timingFunction: linear,\n fillMode: 'forwards'\n },\n // Basic Fade In Animation --Slow\n fadeEnterSlower: {\n keyframe: function keyframe(_ref6) {\n var delta = _ref6.delta;\n return {\n '0%': {\n opacity: delta\n },\n '100%': {\n opacity: 1\n }\n };\n },\n keyframeParams: {\n delta: 0\n },\n duration: slower,\n timingFunction: linear,\n fillMode: 'forwards'\n },\n // Basic Fade In Animation --UltraSlow\n fadeEnterUltraSlow: {\n keyframe: function keyframe(_ref7) {\n var delta = _ref7.delta;\n return {\n '0%': {\n opacity: delta\n },\n '100%': {\n opacity: 1\n }\n };\n },\n keyframeParams: {\n delta: 0\n },\n duration: ultraSlow,\n timingFunction: linear,\n fillMode: 'forwards'\n },\n // Fade Outs\n // Basic Fade Out Animation --UltraFast\n fadeExitUltraFast: {\n keyframe: function keyframe(_ref8) {\n var delta = _ref8.delta;\n return {\n '0%': {\n opacity: 1\n },\n '100%': {\n opacity: delta\n }\n };\n },\n keyframeParams: {\n delta: 0\n },\n duration: ultraFast,\n timingFunction: linear,\n fillMode: 'forwards'\n },\n // Basic Fade Out Animation --Faster\n fadeExitFaster: {\n keyframe: function keyframe(_ref9) {\n var delta = _ref9.delta;\n return {\n '0%': {\n opacity: 1\n },\n '100%': {\n opacity: delta\n }\n };\n },\n keyframeParams: {\n delta: 0\n },\n duration: faster,\n timingFunction: linear,\n fillMode: 'forwards'\n },\n // Basic Fade Out Animation --Fast\n fadeExitFast: {\n keyframe: function keyframe(_ref10) {\n var delta = _ref10.delta;\n return {\n '0%': {\n opacity: 1\n },\n '100%': {\n opacity: delta\n }\n };\n },\n keyframeParams: {\n delta: 0\n },\n duration: fast,\n timingFunction: linear,\n fillMode: 'forwards'\n },\n // Basic Fade Out Animation --Normal\n fadeExitNormal: {\n keyframe: function keyframe(_ref11) {\n var delta = _ref11.delta;\n return {\n '0%': {\n opacity: 1\n },\n '100%': {\n opacity: delta\n }\n };\n },\n keyframeParams: {\n delta: 0\n },\n duration: normal,\n timingFunction: linear,\n fillMode: 'forwards'\n },\n // Basic Fade Out Animation --Slow\n fadeExitSlow: {\n keyframe: function keyframe(_ref12) {\n var delta = _ref12.delta;\n return {\n '0%': {\n opacity: 1\n },\n '100%': {\n opacity: delta\n }\n };\n },\n keyframeParams: {\n delta: 0\n },\n duration: slow,\n timingFunction: linear,\n fillMode: 'forwards'\n },\n // Basic Fade Out Animation --Slower\n fadeExitSlower: {\n keyframe: function keyframe(_ref13) {\n var delta = _ref13.delta;\n return {\n '0%': {\n opacity: 1\n },\n '100%': {\n opacity: delta\n }\n };\n },\n keyframeParams: {\n delta: 0\n },\n duration: slower,\n timingFunction: linear,\n fillMode: 'forwards'\n },\n // Basic Fade Out Animation --UltraSlow\n fadeExitUltraSlow: {\n keyframe: function keyframe(_ref14) {\n var delta = _ref14.delta;\n return {\n '0%': {\n opacity: 1\n },\n '100%': {\n opacity: delta\n }\n };\n },\n keyframeParams: {\n delta: 0\n },\n duration: ultraSlow,\n timingFunction: linear,\n fillMode: 'forwards'\n }\n};\n//# sourceMappingURL=fade.js.map\n","import { decelerateMax, accelerateMax } from './timingFunctions';\nimport { ultraFast, faster, fast, normal, slow, slower, ultraSlow } from './durations';\nexport var slideAnimations = {\n // Slide Down Animations\n // Slides object down to original position --ultrafast\n slideDownEnterUltraFast: {\n keyframe: function keyframe(_ref) {\n var delta = _ref.delta;\n return {\n '0%': {\n transform: \"translateY(-\" + delta + \")\",\n opacity: 0\n },\n '100%': {\n transform: 'translateY(0px)',\n opacity: 1\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: ultraFast,\n timingFunction: decelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slides object down to original position -Faster\n slideDownEnterFaster: {\n keyframe: function keyframe(_ref2) {\n var delta = _ref2.delta;\n return {\n '0%': {\n transform: \"translateY(-\" + delta + \")\",\n opacity: 0\n },\n '100%': {\n transform: 'translateY(0px)',\n opacity: 1\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: faster,\n timingFunction: decelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slides object down to original position -fast\n slideDownEnterFast: {\n keyframe: function keyframe(_ref3) {\n var delta = _ref3.delta;\n return {\n '0%': {\n transform: \"translateY(-\" + delta + \")\",\n opacity: 0\n },\n '100%': {\n transform: 'translateY(0px)',\n opacity: 1\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: fast,\n timingFunction: decelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slides object in from top to bottom --normal\n slideDownEnterNormal: {\n keyframe: function keyframe(_ref4) {\n var delta = _ref4.delta;\n return {\n '0%': {\n transform: \"translateY(-\" + delta + \")\",\n opacity: 0\n },\n '100%': {\n transform: 'translateY(0px)',\n opacity: 1\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: normal,\n timingFunction: decelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slides object in from top to bottom --slow\n slideDownEnterSlow: {\n keyframe: function keyframe(_ref5) {\n var delta = _ref5.delta;\n return {\n '0%': {\n transform: \"translateY(-\" + delta + \")\",\n opacity: 0\n },\n '100%': {\n transform: 'translateY(0px)',\n opacity: 1\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: slow,\n timingFunction: decelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slides object in from top to bottom --slower\n slideDownEnterSlower: {\n keyframe: function keyframe(_ref6) {\n var delta = _ref6.delta;\n return {\n '0%': {\n transform: \"translateY(-\" + delta + \")\",\n opacity: 0\n },\n '100%': {\n transform: 'translateY(0px)',\n opacity: 1\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: slower,\n timingFunction: decelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slides object in from top to bottom - Slow\n slideDownEnterUltraSlow: {\n keyframe: function keyframe(_ref7) {\n var delta = _ref7.delta;\n return {\n '0%': {\n transform: \"translateY(-\" + delta + \")\",\n opacity: 0\n },\n '100%': {\n transform: 'translateY(0px)',\n opacity: 1\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: ultraSlow,\n timingFunction: decelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slide Up Animations\n // Slides object in from top to bottom --ultrafast\n slideUpEnterUltraFast: {\n keyframe: function keyframe(_ref8) {\n var delta = _ref8.delta;\n return {\n '0%': {\n transform: \"translateY(\" + delta + \")\",\n opacity: 0\n },\n '100%': {\n transform: 'translateY(0px)',\n opacity: 1\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: ultraFast,\n timingFunction: decelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slides object in from top to bottom --faster\n slideUpEnterFaster: {\n keyframe: function keyframe(_ref9) {\n var delta = _ref9.delta;\n return {\n '0%': {\n transform: \"translateY(\" + delta + \")\",\n opacity: 0\n },\n '100%': {\n transform: 'translateY(0px)',\n opacity: 1\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: faster,\n timingFunction: decelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slides object in from top to bottom --fast\n slideUpEnterFast: {\n keyframe: function keyframe(_ref10) {\n var delta = _ref10.delta;\n return {\n '0%': {\n transform: \"translateY(\" + delta + \")\",\n opacity: 0\n },\n '100%': {\n transform: 'translateY(0px)',\n opacity: 1\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: fast,\n timingFunction: decelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slides object in from down to up-normal\n slideUpEnterNormal: {\n keyframe: function keyframe(_ref11) {\n var delta = _ref11.delta;\n return {\n '0%': {\n transform: \"translateY(\" + delta + \")\",\n opacity: 0\n },\n '100%': {\n transform: 'translateY(0px)',\n opacity: 1\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: normal,\n timingFunction: decelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slides object in from top to bottom --slow\n slideUpEnterSlow: {\n keyframe: function keyframe(_ref12) {\n var delta = _ref12.delta;\n return {\n '0%': {\n transform: \"translateY(\" + delta + \")\",\n opacity: 0\n },\n '100%': {\n transform: 'translateY(0px)',\n opacity: 1\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: slow,\n timingFunction: decelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slides object in from bottom to top - slower\n slideUpEnterSlower: {\n keyframe: function keyframe(_ref13) {\n var delta = _ref13.delta;\n return {\n '0%': {\n transform: \"translateY(\" + delta + \")\",\n opacity: 0\n },\n '100%': {\n transform: 'translateY(0px)',\n opacity: 1\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: slower,\n timingFunction: decelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slides object in from bottom to top - ultraslow\n slideUpEnterUltraSlow: {\n keyframe: function keyframe(_ref14) {\n var delta = _ref14.delta;\n return {\n '0%': {\n transform: \"translateY(\" + delta + \")\",\n opacity: 0\n },\n '100%': {\n transform: 'translateY(0px)',\n opacity: 1\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: ultraSlow,\n timingFunction: decelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // ---Horizontal Slide Animations---- //\n // Slide Left Animations\n // Slides object in from right to left --ultrafast\n slideLeftEnterUltraFast: {\n keyframe: function keyframe(_ref15) {\n var delta = _ref15.delta;\n return {\n '0%': {\n transform: \"translateX(\" + delta + \")\",\n opacity: 0\n },\n '100%': {\n transform: 'translateX(0px)',\n opacity: 1\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: ultraFast,\n timingFunction: decelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slides object in from right to left -faster\n slideLeftEnterFaster: {\n keyframe: function keyframe(_ref16) {\n var delta = _ref16.delta;\n return {\n '0%': {\n transform: \"translateX(\" + delta + \")\",\n opacity: 0\n },\n '100%': {\n transform: 'translateX(0px)',\n opacity: 1\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: faster,\n timingFunction: decelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slides object in from right to left -Fast\n slideLeftEnterFast: {\n keyframe: function keyframe(_ref17) {\n var delta = _ref17.delta;\n return {\n '0%': {\n transform: \"translateX(\" + delta + \")\",\n opacity: 0\n },\n '100%': {\n transform: 'translateX(0px)',\n opacity: 1\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: fast,\n timingFunction: decelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slides object in from right to left -Normal\n slideLeftEnterNormal: {\n keyframe: function keyframe(_ref18) {\n var delta = _ref18.delta;\n return {\n '0%': {\n transform: \"translateX(\" + delta + \")\",\n opacity: 0\n },\n '100%': {\n transform: 'translateX(0px)',\n opacity: 1\n }\n };\n },\n keyframeParams: {\n delta: '200px'\n },\n duration: normal,\n timingFunction: decelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slides object in from right to left -Slow\n slideLeftEnterSlow: {\n keyframe: function keyframe(_ref19) {\n var delta = _ref19.delta;\n return {\n '0%': {\n transform: \"translateX(\" + delta + \")\",\n opacity: 0\n },\n '100%': {\n transform: 'translateX(0px)',\n opacity: 1\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: slow,\n timingFunction: decelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slides object in from right to left - slower\n slideLeftEnterSlower: {\n keyframe: function keyframe(_ref20) {\n var delta = _ref20.delta;\n return {\n '0%': {\n transform: \"translateX(\" + delta + \")\",\n opacity: 0\n },\n '100%': {\n transform: 'translateX(0px)',\n opacity: 1\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: slower,\n timingFunction: decelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slides object in from right to left - ultraslow\n slideLeftEnterUltraSlow: {\n keyframe: function keyframe(_ref21) {\n var delta = _ref21.delta;\n return {\n '0%': {\n transform: \"translateX(\" + delta + \")\",\n opacity: 0\n },\n '100%': {\n transform: 'translateX(0px)',\n opacity: 1\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: ultraSlow,\n timingFunction: decelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slide Right Animations\n // Slides object in from left to right -ultrafast\n slideRightEnterUltraFast: {\n keyframe: function keyframe(_ref22) {\n var delta = _ref22.delta;\n return {\n '0%': {\n transform: \"translateX(-\" + delta + \")\",\n opacity: 0\n },\n '100%': {\n transform: 'translateX(0px)',\n opacity: 1\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: ultraFast,\n timingFunction: decelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slides object in from left to right - Faster\n slideRightEnterFaster: {\n keyframe: function keyframe(_ref23) {\n var delta = _ref23.delta;\n return {\n '0%': {\n transform: \"translateX(-\" + delta + \")\",\n opacity: 0\n },\n '100%': {\n transform: 'translateX(0px)',\n opacity: 1\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: faster,\n timingFunction: decelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slides object in from left to right -fast\n slideRightEnterFast: {\n keyframe: function keyframe(_ref24) {\n var delta = _ref24.delta;\n return {\n '0%': {\n transform: \"translateX(-\" + delta + \")\",\n opacity: 0\n },\n '100%': {\n transform: 'translateX(0px)',\n opacity: 1\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: fast,\n timingFunction: decelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slides object in from left to right -normal\n slideRightEnterNormal: {\n keyframe: function keyframe(_ref25) {\n var delta = _ref25.delta;\n return {\n '0%': {\n transform: \"translateX(-\" + delta + \")\",\n opacity: 0\n },\n '100%': {\n transform: 'translateX(0px)',\n opacity: 1\n }\n };\n },\n keyframeParams: {\n delta: '200px'\n },\n duration: normal,\n timingFunction: decelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slides object in from left to right -slow\n slideRightEnterSlow: {\n keyframe: function keyframe(_ref26) {\n var delta = _ref26.delta;\n return {\n '0%': {\n transform: \"translateX(-\" + delta + \")\",\n opacity: 0\n },\n '100%': {\n transform: 'translateX(0px)',\n opacity: 1\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: slow,\n timingFunction: decelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slides object in from left to right- slower\n slideRightEnterSlower: {\n keyframe: function keyframe(_ref27) {\n var delta = _ref27.delta;\n return {\n '0%': {\n transform: \"translateX(-\" + delta + \")\",\n opacity: 0\n },\n '100%': {\n transform: 'translateX(0px)',\n opacity: 1\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: slower,\n timingFunction: decelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slides object in from left to right- ultraslow\n slideRightEnterUltraSlow: {\n keyframe: function keyframe(_ref28) {\n var delta = _ref28.delta;\n return {\n '0%': {\n transform: \"translateX(-\" + delta + \")\",\n opacity: 0\n },\n '100%': {\n transform: 'translateX(0px)',\n opacity: 1\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: ultraSlow,\n timingFunction: decelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slide Exit Animation///\n // Slide Down - Exit - UltraFast\n slideDownExitUltraFast: {\n keyframe: function keyframe(_ref29) {\n var delta = _ref29.delta;\n return {\n '0%': {\n transform: 'translateY(0px)',\n opacity: 1\n },\n '100%': {\n transform: \"translateY(\" + delta + \")\",\n opacity: 0\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: ultraFast,\n timingFunction: accelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slide Down - Exit - Faster\n slideDownExitFaster: {\n keyframe: function keyframe(_ref30) {\n var delta = _ref30.delta;\n return {\n '0%': {\n transform: 'translateY(0px)',\n opacity: 1\n },\n '100%': {\n transform: \"translateY(\" + delta + \")\",\n opacity: 0\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: faster,\n timingFunction: accelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slide Down - Exit - Fast\n slideDownExitFast: {\n keyframe: function keyframe(_ref31) {\n var delta = _ref31.delta;\n return {\n '0%': {\n transform: 'translateY(0px)',\n opacity: 1\n },\n '100%': {\n transform: \"translateY(\" + delta + \")\",\n opacity: 0\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: fast,\n timingFunction: accelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slide Down - Exit - Normal\n slideDownExitNormal: {\n keyframe: function keyframe(_ref32) {\n var delta = _ref32.delta;\n return {\n '0%': {\n transform: 'translateY(0px)',\n opacity: 1\n },\n '100%': {\n transform: \"translateY(\" + delta + \")\",\n opacity: 0\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: normal,\n timingFunction: accelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slide Down - Exit - Slow\n slideDownExitSlow: {\n keyframe: function keyframe(_ref33) {\n var delta = _ref33.delta;\n return {\n '0%': {\n transform: 'translateY(0px)',\n opacity: 1\n },\n '100%': {\n transform: \"translateY(\" + delta + \")\",\n opacity: 0\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: slow,\n timingFunction: accelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slide Down - Exit - Slower\n slideDownExitSlower: {\n keyframe: function keyframe(_ref34) {\n var delta = _ref34.delta;\n return {\n '0%': {\n transform: 'translateY(0px)',\n opacity: 1\n },\n '100%': {\n transform: \"translateY(\" + delta + \")\",\n opacity: 0\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: slower,\n timingFunction: accelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slide Down - Exit - Ultraslow\n slideDownExitUltraSlow: {\n keyframe: function keyframe(_ref35) {\n var delta = _ref35.delta;\n return {\n '0%': {\n transform: 'translateY(0px)',\n opacity: 1\n },\n '100%': {\n transform: \"translateY(\" + delta + \")\",\n opacity: 0\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: ultraSlow,\n timingFunction: accelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slide Up - Exit- Animations\n // Slide Up - Exit - UltraFast\n slideUpExitUltraFast: {\n keyframe: function keyframe(_ref36) {\n var delta = _ref36.delta;\n return {\n '0%': {\n transform: 'translateY(0px)',\n opacity: 1\n },\n '100%': {\n transform: \"translateY(-\" + delta + \")\",\n opacity: 0\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: ultraFast,\n timingFunction: accelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slide Up - Exit - Faster\n slideUpExitFaster: {\n keyframe: function keyframe(_ref37) {\n var delta = _ref37.delta;\n return {\n '0%': {\n transform: 'translateY(0px)',\n opacity: 1\n },\n '100%': {\n transform: \"translateY(-\" + delta + \")\",\n opacity: 0\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: faster,\n timingFunction: accelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slide Up - Exit - Fast\n slideUpExitFast: {\n keyframe: function keyframe(_ref38) {\n var delta = _ref38.delta;\n return {\n '0%': {\n transform: 'translateY(0px)',\n opacity: 1\n },\n '100%': {\n transform: \"translateY(-\" + delta + \")\",\n opacity: 0\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: fast,\n timingFunction: accelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slide Up - Exit - Normal\n slideUpExitNormal: {\n keyframe: function keyframe(_ref39) {\n var delta = _ref39.delta;\n return {\n '0%': {\n transform: 'translateY(0px)',\n opacity: 1\n },\n '100%': {\n transform: \"translateY(-\" + delta + \")\",\n opacity: 0\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: normal,\n timingFunction: accelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slide Up - Exit - Slow\n slideUpExitSlow: {\n keyframe: function keyframe(_ref40) {\n var delta = _ref40.delta;\n return {\n '0%': {\n transform: 'translateY(0px)',\n opacity: 1\n },\n '100%': {\n transform: \"translateY(-\" + delta + \")\",\n opacity: 0\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: slow,\n timingFunction: accelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slide Up - Exit - Slower\n slideUpExitSlower: {\n keyframe: function keyframe(_ref41) {\n var delta = _ref41.delta;\n return {\n '0%': {\n transform: 'translateY(0px)',\n opacity: 1\n },\n '100%': {\n transform: \"translateY(-\" + delta + \")\",\n opacity: 0\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: slower,\n timingFunction: accelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slide Up - Exit - Ultra Slow\n slideUpExitUltraSlow: {\n keyframe: function keyframe(_ref42) {\n var delta = _ref42.delta;\n return {\n '0%': {\n transform: 'translateY(0px)',\n opacity: 1\n },\n '100%': {\n transform: \"translateY(-\" + delta + \")\",\n opacity: 0\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: ultraSlow,\n timingFunction: accelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slide Right Exit Animations\n // Slide Right Exit - Ultrafast\n slideRightExitUltraFast: {\n keyframe: function keyframe(_ref43) {\n var delta = _ref43.delta;\n return {\n '0%': {\n transform: 'translateX(0px)',\n opacity: 1\n },\n '100%': {\n transform: \"translateX(\" + delta + \")\",\n opacity: 0\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: ultraFast,\n timingFunction: accelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slide Right Exit - Faster\n slideRightExitFaster: {\n keyframe: function keyframe(_ref44) {\n var delta = _ref44.delta;\n return {\n '0%': {\n transform: 'translateX(0px)',\n opacity: 1\n },\n '100%': {\n transform: \"translateX(\" + delta + \")\",\n opacity: 0\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: faster,\n timingFunction: accelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slide Right Exit - Fast\n slideRightExitFast: {\n keyframe: function keyframe(_ref45) {\n var delta = _ref45.delta;\n return {\n '0%': {\n transform: 'translateX(0px)',\n opacity: 1\n },\n '100%': {\n transform: \"translateX(\" + delta + \")\",\n opacity: 0\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: fast,\n timingFunction: accelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slide Right Exit - Normal\n slideRightExitNormal: {\n keyframe: function keyframe(_ref46) {\n var delta = _ref46.delta;\n return {\n '0%': {\n transform: 'translateX(0px)',\n opacity: 1\n },\n '100%': {\n transform: \"translateX(\" + delta + \")\",\n opacity: 0\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: normal,\n timingFunction: accelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slide Right Exit - Slow\n slideRightExitSlow: {\n keyframe: function keyframe(_ref47) {\n var delta = _ref47.delta;\n return {\n '0%': {\n transform: 'translateX(0px)',\n opacity: 1\n },\n '100%': {\n transform: \"translateX(\" + delta + \")\",\n opacity: 0\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: slow,\n timingFunction: accelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slide Right Exit - Ultrafast\n slideRightExitSlower: {\n keyframe: function keyframe(_ref48) {\n var delta = _ref48.delta;\n return {\n '0%': {\n transform: 'translateX(0px)',\n opacity: 1\n },\n '100%': {\n transform: \"translateX(\" + delta + \")\",\n opacity: 0\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: slower,\n timingFunction: accelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slide Right Exit - Ultraslow\n slideRightExitUltraSlow: {\n keyframe: function keyframe(_ref49) {\n var delta = _ref49.delta;\n return {\n '0%': {\n transform: 'translateX(0px)',\n opacity: 1\n },\n '100%': {\n transform: \"translateX(\" + delta + \")\",\n opacity: 0\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: ultraSlow,\n timingFunction: accelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slide Left Exit Aniamtions\n // Slide Left Exit -ultrafast\n slideLeftExitUltraFast: {\n keyframe: function keyframe(_ref50) {\n var delta = _ref50.delta;\n return {\n '0%': {\n transform: 'translateX(0px)',\n opacity: 1\n },\n '100%': {\n transform: \"translateX(-\" + delta + \")\",\n opacity: 0\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: ultraFast,\n timingFunction: accelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slide Left Exit -Faster\n slideLeftExitFaster: {\n keyframe: function keyframe(_ref51) {\n var delta = _ref51.delta;\n return {\n '0%': {\n transform: 'translateX(0px)',\n opacity: 1\n },\n '100%': {\n transform: \"translateX(-\" + delta + \")\",\n opacity: 0\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: faster,\n timingFunction: accelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slide Left Exit -Fast\n slideLeftExitFast: {\n keyframe: function keyframe(_ref52) {\n var delta = _ref52.delta;\n return {\n '0%': {\n transform: 'translateX(0px)',\n opacity: 1\n },\n '100%': {\n transform: \"translateX(-\" + delta + \")\",\n opacity: 0\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: fast,\n timingFunction: accelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slide Left Exit -Normal\n slideLeftExitNormal: {\n keyframe: function keyframe(_ref53) {\n var delta = _ref53.delta;\n return {\n '0%': {\n transform: 'translateX(0px)',\n opacity: 1\n },\n '100%': {\n transform: \"translateX(-\" + delta + \")\",\n opacity: 0\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: normal,\n timingFunction: accelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slide Left Exit -Slow\n slideLeftExitSlow: {\n keyframe: function keyframe(_ref54) {\n var delta = _ref54.delta;\n return {\n '0%': {\n transform: 'translateX(0px)',\n opacity: 1\n },\n '100%': {\n transform: \"translateX(-\" + delta + \")\",\n opacity: 0\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: slow,\n timingFunction: accelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slide Left Exit -Slower\n slideLeftExitSlower: {\n keyframe: function keyframe(_ref55) {\n var delta = _ref55.delta;\n return {\n '0%': {\n transform: 'translateX(0px)',\n opacity: 1\n },\n '100%': {\n transform: \"translateX(-\" + delta + \")\",\n opacity: 0\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: slower,\n timingFunction: accelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slide Left Exit -Ultraslow\n slideLeftExitUltraSlow: {\n keyframe: function keyframe(_ref56) {\n var delta = _ref56.delta;\n return {\n '0%': {\n transform: 'translateX(0px)',\n opacity: 1\n },\n '100%': {\n transform: \"translateX(-\" + delta + \")\",\n opacity: 0\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: ultraSlow,\n timingFunction: accelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n }\n};\n//# sourceMappingURL=slide.js.map\n","import { scaleAnimations } from './scale';\nimport { fadeInOutAnimations as fadeAnimations } from './fade';\nimport { slideAnimations } from './slide';\nexport var animations = Object.assign({}, fadeAnimations, scaleAnimations, slideAnimations, {\n 'carousel-slide-to-next-enter': slideAnimations.slideLeftEnterNormal,\n 'carousel-slide-to-previous-enter': slideAnimations.slideRightEnterNormal,\n 'popup-show': fadeAnimations.fadeEnterUltraFast,\n 'popup-hide': fadeAnimations.fadeExitUltraFast\n});\n//# sourceMappingURL=index.js.map\n","import { decelerateMax, accelerateMax } from './timingFunctions';\nimport { ultraFast, faster, fast, normal, slow, slower, ultraSlow } from './durations';\nexport var scaleAnimations = {\n // Scale in w/ fade- UltraFast\n scaleEnterUltraFast: {\n keyframe: function keyframe(_ref) {\n var delta = _ref.delta;\n return {\n '0%': {\n transform: \"scale(\" + delta + \")\",\n opacity: 0\n },\n '100%': {\n transform: 'scale(1)',\n opacity: 1\n }\n };\n },\n keyframeParams: {\n delta: 0.88\n },\n duration: ultraFast,\n timingFunction: decelerateMax,\n fillMode: 'forwards'\n },\n // Scale in w/ fade- Faster\n scaleEnterFaster: {\n keyframe: function keyframe(_ref2) {\n var delta = _ref2.delta;\n return {\n '0%': {\n transform: \"scale(\" + delta + \")\",\n opacity: 0\n },\n '100%': {\n transform: 'scale(1)',\n opacity: 1\n }\n };\n },\n keyframeParams: {\n delta: 0.88\n },\n duration: faster,\n timingFunction: decelerateMax,\n fillMode: 'forwards'\n },\n // Scale in w/ fade- Fast\n scaleEnterFast: {\n keyframe: function keyframe(_ref3) {\n var delta = _ref3.delta;\n return {\n '0%': {\n transform: \"scale(\" + delta + \")\",\n opacity: 0\n },\n '100%': {\n transform: 'scale(1)',\n opacity: 1\n }\n };\n },\n keyframeParams: {\n delta: 0.88\n },\n duration: fast,\n timingFunction: decelerateMax,\n fillMode: 'forwards'\n },\n // Scale in w/ fade- Normal\n scaleEnterNormal: {\n keyframe: function keyframe(_ref4) {\n var delta = _ref4.delta;\n return {\n '0%': {\n transform: \"scale(\" + delta + \")\",\n opacity: 0\n },\n '100%': {\n transform: 'scale(1)',\n opacity: 1\n }\n };\n },\n keyframeParams: {\n delta: 0.88\n },\n duration: normal,\n timingFunction: decelerateMax,\n fillMode: 'forwards'\n },\n // Scale in w/ fade - Slow\n scaleEnterSlow: {\n keyframe: function keyframe(_ref5) {\n var delta = _ref5.delta;\n return {\n '0%': {\n transform: \"scale(\" + delta + \")\",\n opacity: 0\n },\n '100%': {\n transform: 'scale(1)',\n opacity: 1\n }\n };\n },\n keyframeParams: {\n delta: 0.88\n },\n duration: slow,\n timingFunction: decelerateMax,\n fillMode: 'forwards'\n },\n // Scale in w/ fade - Slower\n scaleEnterSlower: {\n keyframe: function keyframe(_ref6) {\n var delta = _ref6.delta;\n return {\n '0%': {\n transform: \"scale(\" + delta + \")\",\n opacity: 0\n },\n '100%': {\n transform: 'scale(1)',\n opacity: 1\n }\n };\n },\n keyframeParams: {\n delta: 0.88\n },\n duration: slower,\n timingFunction: decelerateMax,\n fillMode: 'forwards'\n },\n // Scale in w/ fade - UlrtaSlow\n scaleEnterUltraSlow: {\n keyframe: function keyframe(_ref7) {\n var delta = _ref7.delta;\n return {\n '0%': {\n transform: \"scale(\" + delta + \")\",\n opacity: 0\n },\n '100%': {\n transform: 'scale(1)',\n opacity: 1\n }\n };\n },\n keyframeParams: {\n delta: 0.88\n },\n duration: ultraSlow,\n timingFunction: decelerateMax,\n fillMode: 'forwards'\n },\n // Scale Out w/ Fade - UltraFast\n scaleExitUltraFast: {\n keyframe: function keyframe(_ref8) {\n var delta = _ref8.delta;\n return {\n '0%': {\n transform: 'scale(1)',\n opacity: 1\n },\n '100%': {\n transform: \"scale(\" + delta + \")\",\n opacity: 0\n }\n };\n },\n keyframeParams: {\n delta: 0.9\n },\n duration: ultraFast,\n timingFunction: accelerateMax,\n fillMode: 'forwards'\n },\n // Scale Out w/ Fade - Faster\n scaleExitFaster: {\n keyframe: function keyframe(_ref9) {\n var delta = _ref9.delta;\n return {\n '0%': {\n transform: 'scale(1)',\n opacity: 1\n },\n '100%': {\n transform: \"scale(\" + delta + \")\",\n opacity: 0\n }\n };\n },\n keyframeParams: {\n delta: 0.9\n },\n duration: faster,\n timingFunction: accelerateMax,\n fillMode: 'forwards'\n },\n // Scale Out w/ Fade - Fast\n scaleExitFast: {\n keyframe: function keyframe(_ref10) {\n var delta = _ref10.delta;\n return {\n '0%': {\n transform: 'scale(1)',\n opacity: 1\n },\n '100%': {\n transform: \"scale(\" + delta + \")\",\n opacity: 0\n }\n };\n },\n keyframeParams: {\n delta: 0.9\n },\n duration: fast,\n timingFunction: accelerateMax,\n fillMode: 'forwards'\n },\n // Scale Out w/ Fade - Normal\n scaleExitNormal: {\n keyframe: function keyframe(_ref11) {\n var delta = _ref11.delta;\n return {\n '0%': {\n transform: 'scale(1)',\n opacity: 1\n },\n '100%': {\n transform: \"scale(\" + delta + \")\",\n opacity: 0\n }\n };\n },\n keyframeParams: {\n delta: 0.9\n },\n duration: normal,\n timingFunction: accelerateMax,\n fillMode: 'forwards'\n },\n // Scale Out w/ Fade - Slow\n scaleExitSlow: {\n keyframe: function keyframe(_ref12) {\n var delta = _ref12.delta;\n return {\n '0%': {\n transform: 'scale(1)',\n opacity: 1\n },\n '100%': {\n transform: \"scale(\" + delta + \")\",\n opacity: 0\n }\n };\n },\n keyframeParams: {\n delta: 0.9\n },\n duration: slow,\n timingFunction: accelerateMax,\n fillMode: 'forwards'\n },\n // Scale Out w/ Fade - Slower\n scaleExitSlower: {\n keyframe: function keyframe(_ref13) {\n var delta = _ref13.delta;\n return {\n '0%': {\n transform: 'scale(1)',\n opacity: 1\n },\n '100%': {\n transform: \"scale(\" + delta + \")\",\n opacity: 0\n }\n };\n },\n keyframeParams: {\n delta: 0.9\n },\n duration: slower,\n timingFunction: accelerateMax,\n fillMode: 'forwards'\n },\n // Scale Out w/ Fade - UltraSlow\n scaleExitUltraSlow: {\n keyframe: function keyframe(_ref14) {\n var delta = _ref14.delta;\n return {\n '0%': {\n transform: 'scale(1)',\n opacity: 1\n },\n '100%': {\n transform: \"scale(\" + delta + \")\",\n opacity: 0\n }\n };\n },\n keyframeParams: {\n delta: 0.9\n },\n duration: ultraSlow,\n timingFunction: accelerateMax,\n fillMode: 'forwards'\n },\n scaleDownSoft: {\n keyframe: function keyframe(_ref15) {\n var delta = _ref15.delta;\n return {\n '0%': {\n transform: 'scale(1)',\n opacity: 1\n },\n '100%': {\n transform: \"scale(\" + delta + \")\",\n opacity: 0\n }\n };\n },\n keyframeParams: {\n delta: 0.9\n },\n duration: '100ms',\n timingFunction: 'cubic-bezier(.78, 0, .22, 1)',\n fillMode: 'both'\n }\n};\n//# sourceMappingURL=scale.js.map\n","export var stringLiteralsArray = function stringLiteralsArray() {\n var tuple = function tuple() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return args;\n };\n\n return tuple.apply(void 0, arguments);\n};\n//# sourceMappingURL=stringLiteralsArray.js.map\n","// Visually hides elements which remain visible for screen reader\nexport var screenReaderContainerStyles = {\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 width: '1px'\n};\n//# sourceMappingURL=accessibilityStyles.js.map\n","var SetCache = require('./_SetCache'),\n arrayIncludes = require('./_arrayIncludes'),\n arrayIncludesWith = require('./_arrayIncludesWith'),\n arrayMap = require('./_arrayMap'),\n baseUnary = require('./_baseUnary'),\n cacheHas = require('./_cacheHas');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * The base implementation of methods like `_.difference` without support\n * for excluding multiple arrays or iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Array} values The values to exclude.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n */\nfunction baseDifference(array, values, iteratee, comparator) {\n var index = -1,\n includes = arrayIncludes,\n isCommon = true,\n length = array.length,\n result = [],\n valuesLength = values.length;\n\n if (!length) {\n return result;\n }\n if (iteratee) {\n values = arrayMap(values, baseUnary(iteratee));\n }\n if (comparator) {\n includes = arrayIncludesWith;\n isCommon = false;\n }\n else if (values.length >= LARGE_ARRAY_SIZE) {\n includes = cacheHas;\n isCommon = false;\n values = new SetCache(values);\n }\n outer:\n while (++index < length) {\n var value = array[index],\n computed = iteratee == null ? value : iteratee(value);\n\n value = (comparator || value !== 0) ? value : 0;\n if (isCommon && computed === computed) {\n var valuesIndex = valuesLength;\n while (valuesIndex--) {\n if (values[valuesIndex] === computed) {\n continue outer;\n }\n }\n result.push(value);\n }\n else if (!includes(values, computed, comparator)) {\n result.push(value);\n }\n }\n return result;\n}\n\nmodule.exports = baseDifference;\n","export var contextualColors = {\n brand: {\n 50: '#F4F4FC',\n // siteVariables.brand16, same as prev\n 100: '#E5E5F1',\n // brand15\n 200: '#E2E2F6',\n // 100, light brand14, dark theme brand02\n 300: '#BDBDE6',\n // 200, light brand12, dark theme brand04\n 400: '#A6A7DC',\n // dark theme brand06 (dark06)\n 450: '#9EA2FF',\n 500: '#8B8CC7',\n // light08, dark08\n 600: '#6264A7',\n // 500, siteVariables.brand, siteVariables.brand06, dark theme brand, brand12\n 700: '#585A96',\n // light05\n 800: '#464775',\n // light04, dark14\n 900: '#33344A',\n // siteVariables.brand02, dark theme brand16, same as 900 prev\n 1000: '#373644'\n }\n};\nexport var naturalColors = {\n grey: {\n 0: '#FFFFFF',\n // white\n 25: '#FCFCFB',\n // old $app-density-message-initial-hover-focus\n 50: '#FAF9F8',\n // light14\n 100: '#F3F2F1',\n // light10, old $app-density-message-background-replay-hover-focus\n 150: '#EDEBE9',\n // light09, old $app-density-border-gray\n 200: '#E1DFDD',\n // light08\n 250: '#C8C6C4',\n // light06, dark02\n 300: '#B3B0AD',\n // dark03\n 350: '#979593',\n // light04\n 400: '#8A8886',\n // dark04\n 440: '#666666',\n 450: '#605E5C',\n // light03, dark06, $app-gray-20-theme-agnostic, old $message-highlight-color-darktheme\n 500: '#484644',\n // light02, dark08\n 550: '#3B3A39',\n // dark09\n 600: '#323131',\n // dark10, in call audio only grid slot 4\n 650: '#2D2C2C',\n // in call audio only grid slot 3\n 700: '#292828',\n // dark14, in call audio only grid slot 2, old $app-density-message-background-initial-hover-focus-darktheme\n 750: '#252423',\n // 900 - different [#252424] , old $app-black, in call audio only grid slot 1, old $app-density-message-background-replay-hover-focus-darktheme\n 800: '#201F1F',\n // app black darktheme, in call title bar, in call audio only pip\n 850: '#1B1A1A',\n // in call background behind presented doc, old $app-density-message-border-darktheme\n 900: '#11100F',\n // dark theme borders\n 1000: '#000000' // black\n\n },\n orange: {\n 50: '#F9ECEA',\n // darkOrange[50]\n 100: '#EFDBD3',\n // app orange14\n 200: '#EDC2A7',\n // old message highlight border\n 300: '#E97548',\n // orange[900]\n 400: '#CC4A31',\n // app orange04 darkOrange[400]\n 500: '#BD432C',\n // app orange03\n 600: '#A33D2A',\n // app orange02\n 700: '#833122',\n // app orange01 darkOrange[900]\n 800: '#664134',\n // app orange14 dark\n 900: '#51332C' // app orange16 dark\n\n },\n pink: {\n 50: '#FCF2FA',\n // app orchid opacity, oof message, oof banner bg\n 100: '#F1DFEE',\n // new oof banner border default theme\n 200: '#EC6FAE',\n // new oof text for better contrast in dark theme\n 300: '#DE569A',\n // magenta dark theme\n 400: '#E959D9',\n // oof presence icon dark theme\n 500: '#B4009E',\n // merge oof presence icon, odl $app-magenta\n 600: '#943670',\n // old $app-orchid, use for oof banner text\n 700: undefined,\n //\n 800: '#3E2D3B',\n // old @app orchid opacity, oof message bg, oof banner bg\n 900: '#1F191D' // new oof banner border dark theme\n\n },\n red: {\n 50: '#FCF4F6',\n // app red 10\n 100: '#F3D6D8',\n // postOrange[900] app red 08\n 200: '#F9526B',\n // new, error banner string\n 300: '#E73550',\n // merge old @app-red-dark-theme\n 400: '#C4314B',\n // red[900], app red 06, siteVariables.red\n 500: '#A72037',\n // app red 04\n 600: '#8E192E',\n // app red 02\n 700: '#4F222B',\n // old app red 10 dark\n 800: '#3E1F25',\n // new error banner bg\n 900: '#1E040A' // app red08 dark\n\n },\n green: {\n 50: '#E7F2DA',\n 100: '#BDDA9B',\n 200: '#92C353',\n // lightGreen[900] old $app-green, available presence dark theme, siteVars.green\n 300: '#6BB700',\n // new Available presence\n 400: '#13A40E',\n // dual presence Available\n 500: undefined,\n 600: '#237B4B',\n // old $app-green-04, siteVariables.green04, green[900]\n 700: undefined,\n 800: '#0D2E0D',\n 900: '#032003'\n },\n yellow: {\n 50: undefined,\n 100: '#FBF6D9',\n // old message highlight color\n 200: '#F2E384',\n 300: '#F9EC02',\n // old acc critical ufd icon color\n 400: '#F8D22A',\n // old siteVariables.yellow, $app-yellow, yellow[900]\n 500: '#FFB900',\n // old $bcast pre live color\n 600: '#FFAA44',\n // new away presence\n 700: '#835C00',\n 800: '#463100',\n 900: '#261A00'\n }\n};\nvar contextualAndNaturalColors = Object.assign({}, contextualColors, naturalColors);\nexport var primitiveColors = {\n black: '#000',\n white: '#fff'\n};\nexport var transparentColors = {\n silver: {\n 100: undefined,\n 200: 'rgba(255,255,255,0.75)',\n 300: 'rgba(255,255,255,0.65)',\n 400: 'rgba(255,255,255,0.5)',\n 500: 'rgba(255,255,255,0.4)',\n 600: 'rgba(255,255,255,0.3)',\n 700: 'rgba(255,255,255,0.2)',\n 800: 'rgba(255,255,255,0.1)',\n 900: 'rgba(255,255,255,0.05)'\n },\n ruby: {\n 100: undefined,\n 200: undefined,\n 300: undefined,\n 400: undefined,\n 500: 'rgba(196,49,75,0.9)',\n 600: 'rgba(167,32,55,0.9)',\n 700: 'rgba(142,25,46,0.9)',\n 800: undefined,\n 900: undefined\n },\n onyx: {\n 100: 'rgba(59,58,57,0.9)',\n 200: 'rgba(45,44,44,0.4)',\n 300: 'rgba(37,36,35,0.2)',\n 400: 'rgba(37,36,35,0.65)',\n 500: 'rgba(41,40,40,0.9)',\n 600: undefined,\n 700: 'rgba(0,0,0,0.5)',\n 800: 'rgba(27,26,26,0.9)',\n 900: 'rgba(0,0,0,0.8)'\n },\n amethyst: {\n 100: undefined,\n 200: undefined,\n 300: undefined,\n 400: 'rgba(98,100,167,0.75)',\n 500: 'rgba(51,52,74,0.5)',\n 600: 'rgba(70,71,117,0.4)',\n 700: 'rgba(98,100,167,0.15)',\n 800: undefined,\n 900: undefined\n }\n};\nexport var colors = Object.assign({}, contextualAndNaturalColors, primitiveColors, transparentColors);\nexport var createColorScheme = function createColorScheme(customValues) {\n if (customValues === void 0) {\n customValues = {};\n }\n\n return Object.assign({\n foreground: undefined,\n background: undefined,\n border: undefined,\n shadow: undefined,\n foregroundHover: undefined,\n backgroundHover: undefined,\n borderHover: undefined,\n shadowHover: undefined,\n foregroundActive: undefined,\n backgroundActive: undefined,\n borderActive: undefined,\n shadowActive: undefined,\n foregroundFocus: undefined,\n backgroundFocus: undefined,\n borderFocus: undefined,\n shadowFocus: undefined,\n foregroundPressed: undefined,\n backgroundPressed: undefined,\n borderPressed: undefined,\n shadowPressed: undefined,\n foregroundDisabled: undefined,\n backgroundDisabled: undefined,\n borderDisabled: undefined,\n shadowDisabled: undefined\n }, customValues);\n};\nexport var colorScheme = /*#__PURE__*/function () {\n var colorScheme = {\n default: createColorScheme({\n foreground: colors.grey[750],\n foreground1: colors.grey[500],\n foreground2: colors.grey[450],\n foreground3: colors.white,\n foreground4: colors.white,\n foreground5: colors.grey[100],\n foreground6: colors.grey[200],\n foreground7: colors.grey[750],\n foreground8: colors.grey[750],\n background: colors.white,\n background1: colors.grey[50],\n background2: colors.grey[100],\n background3: colors.grey[150],\n background4: colors.grey[100],\n background5: colors.grey[350],\n border: colors.grey[200],\n // buttons\n border1: colors.grey[150],\n border2: colors.grey[200],\n border3: colors.grey[150],\n // divider\n shadow: colors.black,\n // opacity 10%\n shadowHover: colors.black,\n // opacity 10%\n foregroundHover: colors.grey[750],\n foregroundHover1: colors.white,\n foregroundHover2: colors.white,\n backgroundHover: colors.grey[100],\n backgroundHover1: colors.grey[150],\n backgroundHover2: 'transparent',\n backgroundHover3: colors.grey[150],\n backgroundHover4: colors.grey[50],\n borderHover: colors.grey[250],\n // buttons\n foregroundPressed: colors.grey[750],\n backgroundPressed: colors.grey[200],\n backgroundPressed3: colors.grey[150],\n borderPressed: colors.grey[250],\n foregroundActive: colors.grey[750],\n foregroundActive1: colors.white,\n backgroundActive: colors.grey[100],\n backgroundActive1: colors.grey[150],\n backgroundActive2: colors.grey[150],\n borderActive: colors.grey[200],\n // buttons\n borderActive1: colors.grey[150],\n borderActive2: colors.grey[200],\n borderActive3: colors.grey[150],\n // divider\n borderActive4: colors.grey[400],\n foregroundFocus: colors.grey[750],\n foregroundFocus1: colors.grey[500],\n foregroundFocus2: colors.grey[450],\n foregroundFocus3: colors.white,\n backgroundFocus: colors.white,\n backgroundFocus1: colors.grey[50],\n backgroundFocus2: colors.grey[100],\n backgroundFocus3: colors.grey[150],\n borderFocusWithin: colors.white,\n borderFocus: colors.black,\n foregroundDisabled1: colors.grey[250],\n foregroundDisabled: colors.grey[250],\n backgroundDisabled: colors.grey[150],\n backgroundDisabled1: colors.grey[150],\n backgroundDisabled2: colors.grey[50],\n backgroundDisabled3: colors.grey[50],\n borderDisabled: colors.grey[150]\n }),\n brand: createColorScheme({\n foreground: colors.brand[600],\n foreground1: colors.brand[600],\n foreground2: colors.brand[700],\n foreground3: colors.brand[200],\n foreground4: colors.white,\n foreground5: colors.white,\n background: colors.brand[600],\n background1: colors.brand[100],\n background2: colors.brand[900],\n background3: colors.brand[1000],\n background4: colors.brand[800],\n background5: colors.brand[100],\n background6: colors.brand[600],\n border: colors.grey[200],\n border1: colors.brand[200],\n border2: colors.brand[300],\n shadow: colors.black,\n // opacity 25%\n shadowHover: colors.black,\n foregroundHover: colors.brand[600],\n foregroundHover1: colors.white,\n foregroundHover2: colors.brand[200],\n borderHover: colors.brand[300],\n backgroundHover: colors.brand[700],\n backgroundHover1: colors.brand[50],\n backgroundHover2: colors.brand[100],\n foregroundPressed: colors.brand[800],\n foregroundPressed1: colors.white,\n backgroundPressed: colors.brand[800],\n // it's 900 on the button - 800 is same as hover\n backgroundPressed1: colors.brand[100],\n borderPressed: colors.brand[300],\n foregroundActive: colors.brand[600],\n foregroundActive1: colors.brand[600],\n foregroundActive2: colors.brand[200],\n backgroundActive: colors.brand[600],\n backgroundActive1: colors.brand[600],\n borderActive: colors.grey[200],\n borderActive1: colors.brand[200],\n borderActive2: colors.brand[300],\n foregroundFocus: colors.brand[600],\n foregroundFocus1: colors.brand[600],\n foregroundFocus2: colors.brand[700],\n foregroundFocus3: colors.brand[200],\n foregroundFocus4: colors.white,\n backgroundFocus: colors.brand[600],\n backgroundFocus1: colors.brand[100],\n backgroundFocus2: colors.brand[900],\n backgroundFocus3: colors.brand[1000],\n borderFocus: colors.black,\n borderFocusWithin: colors.white,\n borderFocus1: colors.brand[600],\n // only input\n foregroundDisabled: colors.grey[250],\n foregroundDisabled1: colors.grey[250],\n backgroundDisabled: colors.grey[150],\n backgroundDisabled1: colors.grey[150],\n borderDisabled: colors.grey[150]\n }),\n black: {\n foreground: colors.black,\n foreground1: colors.white,\n background: colors.white,\n background1: colors.grey[750],\n border: colors.black,\n shadow: colors.black,\n foregroundHover: colors.white,\n backgroundHover: colors.black,\n borderHover: colors.black,\n shadowHover: colors.black,\n foregroundActive: colors.white,\n backgroundActive: colors.black,\n borderActive: colors.black,\n shadowActive: colors.black,\n foregroundFocus: colors.white,\n backgroundFocus: colors.black,\n borderFocus: colors.black,\n shadowFocus: colors.black,\n foregroundPressed: colors.white,\n backgroundPressed: colors.black,\n borderPressed: colors.black,\n shadowPressed: colors.black,\n foregroundDisabled: colors.white,\n backgroundDisabled: colors.black,\n borderDisabled: colors.black,\n shadowDisabled: colors.black\n },\n white: {\n foreground: colors.white,\n foreground1: colors.grey[750],\n background: colors.black,\n background1: colors.white,\n border: colors.white,\n shadow: colors.white,\n foregroundHover: colors.black,\n backgroundHover: colors.white,\n borderHover: colors.white,\n shadowHover: colors.white,\n foregroundActive: colors.black,\n backgroundActive: colors.white,\n borderActive: colors.white,\n shadowActive: colors.white,\n foregroundFocus: colors.black,\n backgroundFocus: colors.white,\n borderFocus: colors.white,\n shadowFocus: colors.white,\n foregroundPressed: colors.black,\n backgroundPressed: colors.white,\n borderPressed: colors.white,\n shadowPressed: colors.white,\n foregroundDisabled: colors.black,\n backgroundDisabled: colors.white,\n borderDisabled: colors.white,\n shadowDisabled: colors.white\n },\n green: createColorScheme({\n foreground: colors.green[600],\n foreground1: colors.white,\n foreground2: colors.green[400],\n foreground3: colors.white,\n background: colors.green[300],\n background1: colors.green[600],\n background2: colors.green[50],\n border: colors.green[100]\n }),\n orange: createColorScheme({\n foreground: colors.orange[400],\n foreground1: colors.orange[300],\n foreground2: colors.white,\n background: colors.orange[400],\n background1: colors.orange[400],\n border: colors.orange[200]\n }),\n pink: createColorScheme({\n foreground: colors.pink[600],\n foreground1: colors.pink[500],\n background: colors.pink[50],\n border: colors.pink[100]\n }),\n red: createColorScheme({\n foreground: colors.red[400],\n foreground1: colors.white,\n foreground2: colors.white,\n background: colors.red[400],\n background1: colors.red[50],\n background2: colors.ruby[500],\n background3: colors.red[400],\n border: colors.red[100],\n foregroundHover: colors.white,\n backgroundHover: colors.ruby[600],\n backgroundHover1: colors.red[400],\n foregroundPressed: colors.white,\n backgroundPressed: colors.ruby[700]\n }),\n yellow: createColorScheme({\n foreground: colors.yellow[300],\n foreground1: colors.grey[800],\n foreground2: colors.white,\n foreground3: colors.grey[750],\n foreground4: colors.yellow[700],\n background: colors.yellow[600],\n background1: colors.yellow[100],\n background2: colors.yellow[500],\n background3: colors.yellow[100],\n border: colors.yellow[200]\n }),\n silver: createColorScheme({\n foreground: colors.white,\n foreground1: colors.silver[200],\n foregroundHover: colors.white,\n foregroundPressed: colors.white,\n border: colors.silver[600],\n background: 'transparent',\n backgroundHover: colors.silver[800],\n borderHover: colors.silver[600],\n backgroundPressed: colors.silver[700],\n borderPressed: colors.silver[600],\n foregroundDisabled: colors.silver[600],\n backgroundDisabled: colors.silver[900]\n }),\n onyx: createColorScheme({\n background: colors.onyx[500],\n background1: colors.onyx[100],\n background2: colors.onyx[500],\n background3: colors.onyx[400],\n backgroundHover: colors.onyx[500],\n backgroundPressed: colors.onyx[800],\n border: colors.onyx[800],\n border1: 'transparent',\n border2: colors.onyx[300]\n }),\n amethyst: createColorScheme({\n background: colors.amethyst[600],\n backgroundHover: colors.amethyst[700],\n backgroundHover1: colors.amethyst[500],\n backgroundActive: colors.amethyst[700]\n })\n };\n colorScheme.grey = colorScheme.default;\n return colorScheme;\n}();\nexport var availableColors = ['default', 'black', 'white', 'brand', 'grey', 'red', 'yellow', 'green', 'pink', 'orange'];\nexport var isValidColor = function isValidColor(color) {\n return color && availableColors.indexOf(color) >= 0;\n};\nexport var getColorSchemeKey = function getColorSchemeKey(color, primary) {\n return color && isValidColor(color) ? color : primary ? 'brand' : 'default';\n};\nexport var getColorScheme = function getColorScheme(colorScheme, color, primary) {\n return colorScheme[getColorSchemeKey(color, primary)];\n};\n//# sourceMappingURL=colors.js.map\n","export var categoryColors = {\n redDark: {\n 100: '#FAF6F6',\n 150: '#F2E4E5',\n 200: '#E7CED1',\n 250: '#CF9BA1',\n 300: '#C07B82',\n 350: '#C98289',\n 400: '#A23D48',\n 450: '#A03843',\n 500: '#96232F',\n 550: '#88232E',\n 600: '#861F2A',\n 650: '#721A23',\n 700: '#69232A',\n 750: '#521319',\n 800: '#4D2327',\n 850: '#3D2326',\n 900: '#292424'\n },\n red: {\n 100: '#FCF7F8',\n 150: '#F8E8EA',\n 200: '#F3D7D9',\n 250: '#E7ADB2',\n 300: '#DF9299',\n 350: '#DC8990',\n 400: '#D06069',\n 450: '#CF5B65',\n 500: '#CA4A55',\n 550: '#B6454F',\n 600: '#B6424C',\n 650: '#993840',\n 700: '#883B42',\n 750: '#6E282E',\n 800: '#603135',\n 850: '#492C2E',\n 900: '#2A2425'\n },\n orangeDark: {\n 100: '#FCF7F6',\n 150: '#F8E8E4',\n 200: '#F2D5CD',\n 250: '#E5AA99',\n 300: '#DD8E77',\n 350: '#DA846B',\n 400: '#CD5937',\n 450: '#CC5634',\n 500: '#C7431D',\n 550: '#B33F1E',\n 600: '#B23C1A',\n 650: '#973216',\n 700: '#85361F',\n 750: '#6D240F',\n 800: '#5E2F21',\n 850: '#482A22',\n 900: '#2B2423'\n },\n orange: {\n 100: '#FEF9F7',\n 150: '#FCECE9',\n 200: '#FBDED7',\n 250: '#F7BBAD',\n 300: '#F4A593',\n 350: '#F39D89',\n 400: '#F07A60',\n 450: '#EF785D',\n 500: '#EE694B',\n 550: '#D66046',\n 600: '#D65E43',\n 650: '#B24932',\n 700: '#9C4D3B',\n 750: '#823929',\n 800: '#6D3C32',\n 850: '#51332C',\n 900: '#2D2725'\n },\n orangeLight: {\n 100: '#FEFBF7',\n 150: '#FEF3E8',\n 200: '#FDEAD4',\n 250: '#FCD4A8',\n 300: '#FCC68B',\n 350: '#FBC181',\n 400: '#FAAB54',\n 450: '#FAA950',\n 500: '#FAA03E',\n 550: '#E0903A',\n 600: '#E08F37',\n 650: '#A45D11',\n 700: '#A56F34',\n 750: '#895722',\n 800: '#72502D',\n 850: '#533F29',\n 900: '#2D2925'\n },\n yellowDark: {\n 100: '#FDFBF6',\n 150: '#FBF3E4',\n 200: '#F8EACD',\n 250: '#F1D499',\n 300: '#EDC678',\n 350: '#ECC26E',\n 400: '#E5AC39',\n 450: '#E4AA35',\n 500: '#E2A11F',\n 550: '#CA911F',\n 600: '#CA901B',\n 650: '#92660D',\n 700: '#966E20',\n 750: '#7C5811',\n 800: '#685022',\n 850: '#4E3F22',\n 900: '#2C2924'\n },\n yellow: {\n 100: '#FEFCF5',\n 150: '#FEF6E2',\n 200: '#FEEFCB',\n 250: '#FEDF95',\n 300: '#FDD472',\n 350: '#FDD066',\n 400: '#FDC030',\n 450: '#FDBF2B',\n 500: '#FDB814',\n 550: '#E3A615',\n 600: '#E4A512',\n 650: '#8F680D',\n 700: '#A67D1B',\n 750: '#805E0B',\n 800: '#72581E',\n 850: '#544420',\n 900: '#2D2922'\n },\n brown: {\n 100: '#FBF9F8',\n 150: '#F3EDEA',\n 200: '#E9DDD8',\n 250: '#D3BBAF',\n 300: '#C4A494',\n 350: '#BF9D8C',\n 400: '#A87A63',\n 450: '#A67760',\n 500: '#9D684E',\n 550: '#8E6049',\n 600: '#8C5D46',\n 650: '#764E3B',\n 700: '#6D4C3C',\n 750: '#56392B',\n 800: '#503C33',\n 850: '#3F322D',\n 900: '#292625'\n },\n oliveDark: {\n 100: '#F8F9F7',\n 150: '#EBEEE7',\n 200: '#DBE1D5',\n 250: '#B7C2AA',\n 300: '#9EAD8D',\n 350: '#96A683',\n 400: '#708757',\n 450: '#6D8453',\n 500: '#5E7741',\n 550: '#566C3D',\n 600: '#546B3A',\n 650: '#475A31',\n 700: '#465535',\n 750: '#334123',\n 800: '#38412E',\n 850: '#31362A',\n 900: '#272724'\n },\n olive: {\n 100: '#FAFBF8',\n 150: '#F1F5EC',\n 200: '#E6EDDC',\n 250: '#CCDBB8',\n 300: '#BBD0A1',\n 350: '#B5CC99',\n 400: '#9BBA75',\n 450: '#99B872',\n 500: '#8EB163',\n 550: '#809F5A',\n 600: '#7F9E58',\n 650: '#56742F',\n 700: '#637849',\n 750: '#4E6136',\n 800: '#4B563A',\n 850: '#3C4231',\n 900: '#292926'\n },\n greenDark: {\n 100: '#F5F9F7',\n 150: '#E5EFE9',\n 200: '#CFE1D7',\n 250: '#9EC3AE',\n 300: '#7DAE93',\n 350: '#72A78A',\n 400: '#408861',\n 450: '#3C865D',\n 500: '#27794C',\n 550: '#266E46',\n 600: '#236D44',\n 650: '#1D5C39',\n 700: '#26563B',\n 750: '#154229',\n 800: '#254232',\n 850: '#25362C',\n 900: '#252725'\n },\n green: {\n 100: '#F6FBF9',\n 150: '#E5F5ED',\n 200: '#D1ECDF',\n 250: '#A1DABD',\n 300: '#82CDA8',\n 350: '#78C9A0',\n 400: '#48B67F',\n 450: '#45B57C',\n 500: '#30AD6E',\n 550: '#2F9B64',\n 600: '#2B9B62',\n 650: '#248353',\n 700: '#2B7550',\n 750: '#1A5E3C',\n 800: '#29553E',\n 850: '#274134',\n 900: '#242826'\n },\n tealDark: {\n 100: '#F6F8F9',\n 150: '#E5EBED',\n 200: '#CEDADD',\n 250: '#9BB4BA',\n 300: '#7B9CA3',\n 350: '#7FA3AB',\n 400: '#3D6E79',\n 450: '#386A75',\n 500: '#235A67',\n 550: '#23535E',\n 600: '#1F515C',\n 650: '#1A444E',\n 700: '#24454C',\n 750: '#133138',\n 800: '#23373C',\n 850: '#243033',\n 900: '#252627'\n },\n teal: {\n 100: '#F6F9FA',\n 150: '#E9F0F2',\n 200: '#D6E3E7',\n 250: '#ABC6CE',\n 300: '#8FB3BE',\n 350: '#85ACB8',\n 400: '#5A8F9F',\n 450: '#578D9E',\n 500: '#458193',\n 550: '#417686',\n 600: '#3E7484',\n 650: '#34626F',\n 700: '#375B66',\n 750: '#254650',\n 800: '#2F454C',\n 850: '#2C383C',\n 900: '#262828'\n },\n tealLight: {\n 100: '#F8FCFC',\n 150: '#EBF7F7',\n 200: '#DBF1F1',\n 250: '#B5E3E3',\n 300: '#9DD9DB',\n 350: '#96D6D8',\n 400: '#70C8CA',\n 450: '#6DC7C9',\n 500: '#5DC1C3',\n 550: '#55ADAF',\n 600: '#53AEAF',\n 650: '#37797B',\n 700: '#468183',\n 750: '#33696B',\n 800: '#395B5C',\n 850: '#314646',\n 900: '#272A2A'\n },\n blueDark: {\n 100: '#F5F7FA',\n 150: '#E0E7F2',\n 200: '#C7D4E8',\n 250: '#8CA7D0',\n 300: '#668AC0',\n 350: '#6991CC',\n 400: '#1E53A3',\n 450: '#1A50A1',\n 500: '#003D97',\n 550: '#053988',\n 600: '#003788',\n 650: '#002E72',\n 700: '#0F3268',\n 750: '#002152',\n 800: '#182D4D',\n 850: '#1D293D',\n 900: '#242528'\n },\n blue: {\n 100: '#F6F8FB',\n 150: '#E3EAF3',\n 200: '#CDDAEA',\n 250: '#99B3D4',\n 300: '#779AC6',\n 350: '#7FA3D0',\n 400: '#376BAB',\n 450: '#3469A9',\n 500: '#1D58A0',\n 550: '#1D5190',\n 600: '#1A4F90',\n 650: '#164279',\n 700: '#20426E',\n 750: '#0F3057',\n 800: '#213650',\n 850: '#232F3F',\n 900: '#252629'\n },\n purpleDark: {\n 100: '#F7F6FA',\n 150: '#E8E7F2',\n 200: '#D6D4E8',\n 250: '#ADA8D1',\n 300: '#918AC2',\n 350: '#928BC5',\n 400: '#5D53A5',\n 450: '#5A50A4',\n 500: '#483D9A',\n 550: '#443A8C',\n 600: '#40368A',\n 650: '#362E75',\n 700: '#3A336B',\n 750: '#272154',\n 800: '#312D4E',\n 850: '#2C293D',\n 900: '#262529'\n },\n purple: {\n 100: '#F9F9FB',\n 150: '#EFEDF5',\n 200: '#E2DEED',\n 250: '#C3BDDC',\n 300: '#AFA6D0',\n 350: '#A99FCC',\n 400: '#8B7DBA',\n 450: '#877AB8',\n 500: '#7B6CB1',\n 550: '#70629F',\n 600: '#6E609E',\n 650: '#5D5286',\n 700: '#584E78',\n 750: '#443B61',\n 800: '#443D56',\n 850: '#383342',\n 900: '#282729'\n },\n maroon: {\n 100: '#FBF7F9',\n 150: '#F4E6EE',\n 200: '#EBD3E1',\n 250: '#D6A5C3',\n 300: '#C988AF',\n 350: '#CC87B1',\n 400: '#AF5089',\n 450: '#AD4C87',\n 500: '#A5397A',\n 550: '#953770',\n 600: '#94336D',\n 650: '#7D2B5C',\n 700: '#723057',\n 750: '#5A1F42',\n 800: '#522B42',\n 850: '#412836',\n 900: '#2A2527'\n },\n pink: {\n 100: '#FDF7F9',\n 150: '#FAE7EE',\n 200: '#F5D3DF',\n 250: '#ECA4BE',\n 300: '#E687A8',\n 350: '#E47CA1',\n 400: '#DA4E7F',\n 450: '#DA4A7D',\n 500: '#D6376F',\n 550: '#C03465',\n 600: '#C13164',\n 650: '#A22954',\n 700: '#8F2F50',\n 750: '#751E3C',\n 800: '#642A3E',\n 850: '#4B2834',\n 900: '#2B2426'\n },\n smokeDark: {\n 100: '#F6F6F6',\n 150: '#E8E8E8',\n 200: '#D5D5D5',\n 250: '#AAAAAA',\n 300: '#8E8E8E',\n 350: '#939393',\n 400: '#5A5A5A',\n 450: '#565656',\n 500: '#444444',\n 550: '#404040',\n 600: '#3D3D3D',\n 650: '#333333',\n 700: '#373737',\n 750: '#252525',\n 800: '#2B2A2A',\n 850: '#282828',\n 900: '#262525'\n },\n smokeLight: {\n 100: '#F9F9F9',\n 150: '#EDEDED',\n 200: '#DFDFDF',\n 250: '#BEBEBE',\n 300: '#A9A9A9',\n 350: '#A1A1A1',\n 400: '#818181',\n 450: '#7E7E7E',\n 500: '#707070',\n 550: '#676767',\n 600: '#646464',\n 650: '#555555',\n 700: '#525151',\n 750: '#3D3D3D',\n 800: '#353434',\n 850: '#2E2D2D',\n 900: '#272626'\n },\n steelDark: {\n 100: '#F8F9F9',\n 150: '#ECEEEF',\n 200: '#DDE1E2',\n 250: '#BBC2C4',\n 300: '#A5AEB1',\n 350: '#9DA7AB',\n 400: '#7B898D',\n 450: '#78868B',\n 500: '#69797E',\n 550: '#606E73',\n 600: '#5E6D71',\n 650: '#4F5B5F',\n 700: '#4E5659',\n 750: '#394245',\n 800: '#3D4244',\n 850: '#343637',\n 900: '#272727'\n },\n steelLight: {\n 100: '#FBFBFB',\n 150: '#F3F3F5',\n 200: '#EAEDEE',\n 250: '#D4DADC',\n 300: '#C7C6D0',\n 350: '#C1CACC',\n 400: '#ACABBB',\n 450: '#A9B5B9',\n 500: '#A0AEB2',\n 550: '#919DA1',\n 600: '#8F9C9F',\n 650: '#637074',\n 700: '#6F7678',\n 750: '#585761',\n 800: '#515556',\n 850: '#404243',\n 900: '#292828'\n },\n neon: {\n 100: '#FAFEDF',\n 150: '#F4FBC4',\n 200: '#E9F1AC',\n 250: '#E5F18F',\n 300: '#D9E388',\n 350: '#C8D464',\n 400: '#BDCB4C',\n 450: '#B7C640',\n 500: '#A8B63A',\n 550: '#99A43B',\n 600: '#909A45',\n 650: '#899338',\n 700: '#7A8337',\n 750: '#656C2B',\n 800: '#50571E',\n 850: '#3C4212',\n 900: '#272B0E'\n }\n};\n\nvar createCategoryColorScheme = function createCategoryColorScheme(color, customValues) {\n if (customValues === void 0) {\n customValues = {};\n }\n\n return Object.assign({\n foreground: categoryColors[color][750],\n foreground1: categoryColors[color][400],\n background: categoryColors[color][200],\n borderActive: categoryColors[color][650]\n }, customValues);\n};\n\nexport var categoryColorScheme = {\n redDark: createCategoryColorScheme('redDark'),\n red: createCategoryColorScheme('red'),\n orangeDark: createCategoryColorScheme('orangeDark'),\n orange: createCategoryColorScheme('orange'),\n orangeLight: createCategoryColorScheme('orangeLight'),\n yellowDark: createCategoryColorScheme('yellowDark'),\n yellow: createCategoryColorScheme('yellow'),\n brown: createCategoryColorScheme('brown'),\n oliveDark: createCategoryColorScheme('oliveDark'),\n olive: createCategoryColorScheme('olive'),\n greenDark: createCategoryColorScheme('greenDark'),\n green: createCategoryColorScheme('green'),\n tealDark: createCategoryColorScheme('tealDark'),\n teal: createCategoryColorScheme('teal'),\n tealLight: createCategoryColorScheme('tealLight'),\n blueDark: createCategoryColorScheme('blueDark'),\n blue: createCategoryColorScheme('blue'),\n purpleDark: createCategoryColorScheme('purpleDark'),\n purple: createCategoryColorScheme('purple'),\n maroon: createCategoryColorScheme('maroon'),\n pink: createCategoryColorScheme('pink'),\n smokeDark: createCategoryColorScheme('smokeDark'),\n smokeLight: createCategoryColorScheme('smokeLight'),\n steelDark: createCategoryColorScheme('steelDark'),\n steelLight: createCategoryColorScheme('steelLight'),\n neon: createCategoryColorScheme('neon'),\n formatting: {\n foreground1: categoryColors.red[600],\n background1: categoryColors.red[300],\n foreground2: categoryColors.orangeDark[400],\n background2: categoryColors.orange[300],\n foreground3: categoryColors.yellow[400],\n background3: categoryColors.yellow[300],\n foreground4: categoryColors.neon[450],\n background4: categoryColors.neon[200],\n foreground5: categoryColors.green[600],\n background5: categoryColors.green[300],\n foreground6: categoryColors.tealLight[650],\n background6: categoryColors.tealLight[300],\n foreground7: categoryColors.blueDark[400],\n background7: categoryColors.blueDark[200],\n foreground8: categoryColors.maroon[500],\n background8: categoryColors.maroon[200]\n }\n};\n//# sourceMappingURL=categoryColors.js.map\n","import { pxToRem } from '../../utils';\nimport { colors } from './colors'; //\n// COLORS\n//\n\nexport { categoryColors, categoryColorScheme } from './categoryColors';\nexport { colors, contextualColors, naturalColors, primitiveColors, colorScheme, transparentColors } from './colors'; //\n// BORDER STYLES\n//\n\nexport var borderWidth = '1px';\nexport var borderRadius = '2px';\nexport var focusInnerBorderColor = colors.white;\nexport var focusOuterBorderColor = colors.black; //\n// SHADOW LEVELS\n//\n\nexport var shadowLevel1 = '0 .2rem .4rem -.075rem rgba(0, 0, 0, .1)';\nexport var shadowLevel2 = '0 .4rem .7rem -.1rem rgba(0, 0, 0, .1)';\nexport var shadowLevel3 = '0 .8rem 1rem -.2rem rgba(0, 0, 0, .1)';\nexport var shadowLevel4 = '0 1.6rem 1.8rem -.4rem rgba(0, 0, 0, .1)';\nexport var shadowLevel1Dark = '0 .2rem .4rem -.075rem rgba(0, 0, 0, .25)'; //\n// FONT SIZES\n//\n\nexport var fontSizes = {\n smaller: pxToRem(10),\n small: pxToRem(12),\n medium: pxToRem(14),\n large: pxToRem(18),\n larger: pxToRem(24),\n largest: pxToRem(28)\n}; //\n// FONT WEIGHTS\n//\n\nexport var fontWeightLight = 200;\nexport var fontWeightSemilight = 300;\nexport var fontWeightRegular = 400;\nexport var fontWeightSemibold = 600;\nexport var fontWeightBold = 700; //\n// LINE HEIGHTS\n//\n\nexport var lineHeightDefault = 1;\nexport var lineHeightSmaller = 1.2;\nexport var lineHeightSmall = 1.3333;\nexport var lineHeightMedium = 1.4286;\nexport var lineHeightLarge = 1.3333;\nexport var lineHeightLarger = 1.3333;\nexport var lineHeightLargest = 1.3333; //\n// Z-INDEX\n// Used to maintain proper stack order of components\n//\n\nexport var zIndexes = {\n background: 0,\n // Default value\n foreground: 1,\n // Put a component in front\n menuItem: 2,\n // Currently used only for menu item beak element\n overlay: 1000,\n // Dialog/popup/menu overlays\n overlayPriority: 1001,\n // for nested overlays, like tooltip in dialog.\n debug: 999999999 // for debug purposes\n\n}; //\n// SEMANTIC ASSIGNMENTS\n//\n\nexport var bodyPadding = 0;\nexport var bodyMargin = 0;\nexport var bodyFontFamily = '\"Segoe UI\", system-ui, \"Apple Color Emoji\", \"Segoe UI Emoji\", sans-serif';\nexport var bodyFontSize = fontSizes.medium;\nexport var bodyBackground = colors.white;\nexport var bodyColor = colors.grey[750];\nexport var bodyLineHeight = lineHeightMedium;\n//# sourceMappingURL=siteVariables.js.map\n","export var accordionVariables = function accordionVariables(siteVariables) {\n return {\n color: siteVariables.bodyColor\n };\n};\n//# sourceMappingURL=accordionVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var attachmentVariables = function attachmentVariables(siteVariables) {\n return {\n padding: pxToRem(7) + \" \" + pxToRem(3) + \" \" + pxToRem(7) + \" \" + pxToRem(11),\n // padding set to 1px less to account for 1px border\n iconSpace: pxToRem(12),\n iconSize: pxToRem(32),\n borderColor: siteVariables.colorScheme.default.border3,\n borderRadius: pxToRem(3),\n backgroundColor: siteVariables.colorScheme.default.background4,\n backgroundColorHover: siteVariables.colorScheme.default.backgroundHover1,\n textColor: siteVariables.colorScheme.default.foreground,\n textColorHover: siteVariables.colorScheme.default.foregroundHover,\n boxShadow: siteVariables.shadowLevel1,\n focusBackgroundColor: undefined,\n focusColor: undefined,\n progressColor: siteVariables.colorScheme.green.background,\n progressHeight: pxToRem(4),\n headerFontSize: siteVariables.fontSizes.medium,\n headerFontWeight: siteVariables.fontWeightSemibold,\n headerLineHeight: siteVariables.lineHeightMedium,\n descriptionFontSize: siteVariables.fontSizes.small,\n descriptionFontWeight: siteVariables.fontWeightRegular,\n descriptionLineHeight: siteVariables.lineHeightDefault,\n // action variables\n actionHeight: pxToRem(32),\n actionMaxWidth: pxToRem(280),\n actionColor: siteVariables.colorScheme.default.foreground,\n actionPrimaryColor: siteVariables.colorScheme.brand.foreground,\n actionColorDisabled: siteVariables.colorScheme.brand.foregroundDisabled1,\n actionIconSize: pxToRem(16),\n actionLoaderBorderSize: pxToRem(2),\n actionLoaderSize: pxToRem(20),\n actionLoaderSvgHeight: pxToRem(1220),\n actionLoaderSvgAnimationHeight: pxToRem(-1200),\n actionFocusBorderRadius: pxToRem(3)\n };\n};\n//# sourceMappingURL=attachmentVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var alertVariables = function alertVariables(siteVars) {\n var minHeight = pxToRem(28);\n return {\n borderStyle: 'solid',\n borderWidth: '1px',\n borderRadius: pxToRem(3),\n backgroundColor: siteVars.colorScheme.default.background4,\n borderColor: siteVars.colorScheme.default.border2,\n color: siteVars.colorScheme.default.foreground1,\n fontWeight: siteVars.fontWeightRegular,\n minHeight: minHeight,\n padding: \"0 \" + pxToRem(16),\n actionsMargin: pxToRem(5),\n hoverBorderColor: undefined,\n hoverBackgroundColor: undefined,\n focusBackgroundColor: undefined,\n dismissActionHoverBorderRadius: undefined,\n dismissActionHoverBorderWidth: undefined,\n dismissActionHoverInnerBorderColor: undefined,\n dismissActionHoverOuterBorderColor: undefined,\n dismissActionHoverZIndex: undefined,\n dismissActionSize: minHeight,\n dismissActionColor: undefined,\n dismissiblePadding: \"0 0 0 \" + pxToRem(16),\n dangerColor: siteVars.colorScheme.red.foreground,\n dangerBackgroundColor: siteVars.colorScheme.red.background1,\n dangerBorderColor: siteVars.colorScheme.red.border,\n oof: false,\n oofColor: siteVars.colorScheme.pink.foreground,\n oofBackgroundColor: siteVars.colorScheme.pink.background,\n oofBorderColor: siteVars.colorScheme.pink.border,\n successColor: siteVars.colorScheme.green.foreground,\n successBackgroundColor: siteVars.colorScheme.green.background2,\n successBorderColor: siteVars.colorScheme.green.border,\n urgent: false,\n urgentColor: siteVars.colorScheme.red.foreground1,\n urgentBackgroundColor: siteVars.colorScheme.red.background3,\n urgentBorderColor: siteVars.colorScheme.red.background3,\n warningColor: siteVars.colorScheme.yellow.foreground4,\n warningBackgroundColor: siteVars.colorScheme.yellow.background3,\n warningBorderColor: siteVars.colorScheme.yellow.border,\n headerFontWeight: siteVars.fontWeightSemibold,\n headerMargin: \"0 \" + pxToRem(10) + \" 0 0\",\n iconMargin: \"0 \" + pxToRem(10) + \" 0 0\",\n iconSize: pxToRem(16),\n dismissActionBackgroundColor: 'transparent',\n dismissActionBorderRadius: siteVars.borderRadius,\n dismissActionBorderColor: 'transparent',\n dismissActionColorHover: siteVars.colorScheme.brand.foregroundHover,\n dismissActionBackgroundColorHover: siteVars.colorScheme.default.backgroundHover2,\n dismissActionBorderColorHover: siteVars.colorScheme.default.borderHover,\n dismissActionContentFontWeight: siteVars.fontWeightSemibold,\n dismissActionBackgroundColorFocus: undefined,\n dismissActionBorderColorFocus: undefined,\n dismissActionColorFocus: undefined,\n dismissActionColorDisabled: siteVars.colorScheme.brand.foregroundDisabled,\n dismissActionBackgroundColorDisabled: siteVars.colorScheme.default.backgroundDisabled,\n dismissActionBorderColorDisabled: 'transparent',\n dismissActionIndicatorSize: pxToRem(16),\n focusBorderRadius: siteVars.borderRadius,\n focusBorderWidth: siteVars.borderWidth,\n focusInnerBorderColor: siteVars.focusInnerBorderColor,\n focusOuterBorderColor: siteVars.focusOuterBorderColor,\n focusBorderZIndex: siteVars.zIndexes.foreground\n };\n};\n//# sourceMappingURL=alertVariables.js.map\n","import { pxToRem, stringLiteralsArray } from '../../../../utils';\nexport var labelColorAreas = stringLiteralsArray('foreground', 'background');\nexport var avatarVariables = function avatarVariables(siteVariables) {\n return {\n avatarBorderColor: '',\n avatarBorderWidth: '0',\n squareAvatarBorderRadius: pxToRem(3),\n iconColor: siteVariables.colors.white,\n iconBackgroundColor: siteVariables.colors.brand[600],\n statusBorderWidth: '2px',\n statusIconSize: pxToRem(7),\n statusBorderColor: siteVariables.bodyBackground,\n statusSuccessBackgroundColor: siteVariables.colorScheme.green.background,\n statusSuccessColor: siteVariables.colorScheme.green.foreground1,\n statusInfoBackgroundColor: siteVariables.colorScheme.brand.background,\n statusInfoColor: siteVariables.colorScheme.default.foreground2,\n statusWarningBackgroundColor: siteVariables.colorScheme.yellow.background,\n statusWarningColor: siteVariables.colorScheme.yellow.foreground2,\n statusErrorBackgroundColor: siteVariables.colorScheme.red.background,\n statusErrorColor: siteVariables.colorScheme.red.foreground2,\n statusBackgroundColor: siteVariables.colorScheme.default.background5,\n statusColor: siteVariables.colorScheme.default.foreground4,\n imageWidth: undefined,\n imageHeight: undefined,\n imageAvatarRadius: pxToRem(9999),\n imageAvatarSize: pxToRem(32),\n imageCircularRadius: pxToRem(9999),\n labelCircularRadius: pxToRem(9999),\n labelColor: 'rgba(0, 0, 0, 0.6)',\n labelBackground: 'rgb(232, 232, 232)'\n };\n};\n//# sourceMappingURL=avatarVariables.js.map\n","export var extendColorScheme = function extendColorScheme(colorScheme, overrides) {\n var result = colorScheme;\n Object.keys(overrides).forEach(function (color) {\n var _Object$assign;\n\n result = Object.assign({}, result, (_Object$assign = {}, _Object$assign[color] = Object.assign({}, colorScheme[color], overrides[color]), _Object$assign));\n });\n return result;\n};\nexport function pickValuesFromColorScheme(colorScheme, componentAreas) {\n var result = {};\n Object.keys(colorScheme).forEach(function (color) {\n var _Object$assign3;\n\n var colorValues = componentAreas.reduce(function (accumulator, area) {\n var _Object$assign2;\n\n return Object.assign({}, accumulator, (_Object$assign2 = {}, _Object$assign2[area] = colorScheme[color][area], _Object$assign2));\n }, {});\n result = Object.assign({}, result, (_Object$assign3 = {}, _Object$assign3[color] = colorValues, _Object$assign3));\n });\n return result;\n}\n//# sourceMappingURL=colorUtils.js.map\n","import { pxToRem } from '../../../../utils';\nexport var buttonVariables = function buttonVariables(siteVars) {\n return {\n padding: \"0 \" + pxToRem(20),\n height: pxToRem(32),\n minWidth: pxToRem(96),\n loadingMinWidth: pxToRem(118),\n maxWidth: pxToRem(280),\n borderRadius: siteVars.borderRadius,\n contentFontSize: siteVars.fontSizes.medium,\n contentFontWeight: siteVars.fontWeightSemibold,\n contentLineHeight: siteVars.lineHeightMedium,\n color: siteVars.colorScheme.default.foreground,\n colorHover: siteVars.colorScheme.default.foregroundHover,\n colorActive: siteVars.colorScheme.default.foregroundPressed,\n colorDisabled: siteVars.colorScheme.brand.foregroundDisabled,\n colorFocus: undefined,\n iconSize: pxToRem(16),\n backgroundColor: siteVars.colorScheme.default.background,\n backgroundColorActive: siteVars.colorScheme.default.backgroundPressed,\n backgroundColorHover: siteVars.colorScheme.default.backgroundHover1,\n backgroundColorFocus: undefined,\n backgroundColorDisabled: siteVars.colorScheme.default.backgroundDisabled,\n borderColor: siteVars.colorScheme.default.border,\n borderColorHover: siteVars.colorScheme.default.borderHover,\n borderColorFocus: undefined,\n borderColorActive: siteVars.colorScheme.default.borderPressed,\n borderColorDisabled: 'transparent',\n backgroundColorIconOnlyHover: siteVars.colorScheme.default.backgroundHover2,\n primaryColor: siteVars.colorScheme.brand.foreground4,\n primaryColorHover: siteVars.colorScheme.brand.foreground4,\n primaryBackgroundColor: siteVars.colorScheme.brand.background,\n primaryBackgroundColorActive: siteVars.colorScheme.brand.backgroundPressed,\n primaryBackgroundColorHover: siteVars.colorScheme.brand.backgroundHover,\n primaryBackgroundColorDisabled: siteVars.colorScheme.default.backgroundDisabled,\n primaryBackgroundColorFocus: undefined,\n primaryBorderColor: 'transparent',\n tintedColor: siteVars.colorScheme.brand.foreground,\n tintedColorHover: siteVars.colorScheme.brand.foreground,\n tintedBackgroundColor: siteVars.colorScheme.default.background,\n tintedBackgroundColorActive: siteVars.colorScheme.brand.backgroundHover1,\n tintedBackgroundColorHover: siteVars.colorScheme.brand.backgroundHover1,\n tintedBorderColor: siteVars.colorScheme.brand.border1,\n tintedBorderColorHover: siteVars.colorScheme.brand.borderHover,\n circularBorderRadius: pxToRem(999),\n textColor: siteVars.colorScheme.default.foreground1,\n textColorHover: siteVars.colorScheme.brand.foreground1,\n textPrimaryColor: siteVars.colorScheme.brand.foreground,\n textPrimaryColorHover: siteVars.colorScheme.brand.foreground1,\n textColorDisabled: siteVars.colorScheme.brand.foregroundDisabled1,\n textColorIconOnlyHover: siteVars.colorScheme.brand.foregroundHover,\n primaryBoxShadow: siteVars.shadowLevel1Dark,\n boxShadow: siteVars.shadowLevel1,\n loaderBorderSize: pxToRem(2),\n loaderSize: pxToRem(20),\n loaderSvgHeight: pxToRem(1220),\n loaderSvgAnimationHeight: pxToRem(-1200),\n sizeSmallContentFontSize: siteVars.fontSizes.small,\n sizeSmallContentLineHeight: siteVars.lineHeightSmall,\n sizeSmallHeight: pxToRem(24),\n sizeSmallMinWidth: pxToRem(72),\n sizeSmallPadding: \"0 \" + pxToRem(8),\n sizeSmallLoaderBorderSize: pxToRem(2),\n sizeSmallLoaderSize: pxToRem(15),\n sizeSmallLoaderSvgHeight: pxToRem(895),\n sizeSmallLoaderSvgAnimationHeight: pxToRem(-880)\n };\n};\n//# sourceMappingURL=buttonVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var breadcrumbVariables = function breadcrumbVariables(siteVars) {\n return {\n dividerMargin: \"0 \" + pxToRem(8),\n fontSizeSmaller: pxToRem(12),\n fontSizeSmall: pxToRem(12),\n fontSizeMedium: pxToRem(14),\n fontSizeLarge: pxToRem(18),\n // Breadcrumb Item\n itemCurrentFontWeight: siteVars.fontWeightBold,\n // Breadcrumb Link\n linkPaddingTop: pxToRem(6),\n linkPaddingBottom: pxToRem(6),\n linkPaddingLeftSmaller: pxToRem(4),\n linkPaddingRightSmaller: pxToRem(4),\n linkPaddingLeftSmall: pxToRem(8),\n linkPaddingRightSmall: pxToRem(8),\n linkPaddingLeftMedium: pxToRem(12),\n linkPaddingRightMedium: pxToRem(12),\n linkPaddingLeftLarge: pxToRem(12),\n linkPaddingRightLarge: pxToRem(12),\n linkSmallerGap: pxToRem(2),\n linkSmallGap: pxToRem(8),\n linkMediumGap: pxToRem(8),\n linkLargeGap: pxToRem(8),\n disabledColor: siteVars.colorScheme.default.foregroundDisabled\n };\n};\n//# sourceMappingURL=breadcrumbVariables.js.map\n","import _get from \"lodash/get\";\nimport { pxToRem } from '../../../../utils';\nvar toggleMovementDistance = pxToRem(20);\nvar padding = pxToRem(2);\nvar defaultValue = 'red';\nexport var checkboxVariables = function checkboxVariables(siteVars) {\n return {\n checkboxColor: 'transparent',\n toggleBackground: 'transparent',\n toggleBorderColor: siteVars.colors.grey[300],\n toggleBorderStyle: \"solid\",\n toggleBorderWidth: pxToRem(1),\n toggleIndicatorColor: 'inherit',\n checkboxCheckedColor: siteVars.colors.grey[500],\n checkboxToggleCheckedBackground: 'transparent',\n checkboxToggleCheckedBorderColor: siteVars.colors.grey[500],\n checkboxToggleCheckedColor: 'inherit',\n disabledColor: siteVars.colors.grey[300],\n disabledCheckboxColor: siteVars.colors.grey[300],\n disabledToggleBackground: 'transparent',\n disabledToggleBorderColor: siteVars.colors.grey[200],\n textColor: _get(siteVars, 'colorScheme.default.foreground1', defaultValue),\n background: 'transparent',\n borderColor: _get(siteVars, 'colorScheme.default.foreground1', defaultValue),\n borderStyle: 'solid',\n borderRadius: pxToRem(3),\n borderWidth: pxToRem(1),\n indicatorColor: 'transparent',\n gap: pxToRem(12),\n margin: pxToRem(2.8) + \" 0 0 0\",\n padding: padding,\n rootPadding: '3px 5px',\n textColorHover: _get(siteVars, 'colorScheme.default.foreground', defaultValue),\n borderColorHover: _get(siteVars, 'colorScheme.default.foreground', defaultValue),\n checkedBackgroundHover: _get(siteVars, 'colorScheme.brand.backgroundHover', defaultValue),\n toggleBorderRadius: pxToRem(999),\n toggleIndicatorSize: pxToRem(14),\n toggleMargin: '0',\n togglePadding: padding + \" \" + toggleMovementDistance + \" \" + padding + \" \" + padding,\n toggleWidth: pxToRem(38),\n toggleHeight: pxToRem(20),\n checkedTextColor: _get(siteVars, 'colorScheme.default.foreground', defaultValue),\n checkedBackground: _get(siteVars, 'colorScheme.brand.backgroundActive1', defaultValue),\n checkedBorderColor: _get(siteVars, 'colorScheme.brand.backgroundActive1', defaultValue),\n checkedIndicatorColor: _get(siteVars, 'colorScheme.default.background', defaultValue),\n toggleCheckedPadding: padding + \" \" + padding + \" \" + padding + \" \" + toggleMovementDistance,\n disabledBackground: _get(siteVars, 'colorScheme.default.background', defaultValue),\n disabledBackgroundChecked: _get(siteVars, 'colorScheme.default.backgroundDisabled', defaultValue),\n disabledBorderColor: _get(siteVars, 'colorScheme.default.foregroundDisabled1', defaultValue),\n disabledCheckedIndicatorColor: _get(siteVars, 'colorScheme.default.foregroundDisabled', defaultValue),\n disabledToggleIndicatorColor: _get(siteVars, 'colorScheme.default.foregroundDisabled', defaultValue)\n };\n};\n//# sourceMappingURL=checkboxVariables.js.map\n","import { pxToRem, stringLiteralsArray } from '../../../../utils';\nimport { pickValuesFromColorScheme } from '../../../colorUtils';\nexport var dividerColorAreas = stringLiteralsArray('foreground');\nexport var dividerVariables = function dividerVariables(siteVars) {\n return {\n colorScheme: pickValuesFromColorScheme(siteVars.colorScheme, dividerColorAreas),\n dividerColor: siteVars.colors.grey[150],\n textColor: siteVars.colors.grey[450],\n textFontSize: siteVars.fontSizeSmall,\n textLineHeight: siteVars.lineHeightSmall,\n importantFontWeight: siteVars.fontWeightBold,\n dividerPadding: pxToRem(4)\n };\n};\n//# sourceMappingURL=dividerVariables.js.map\n","import { pxToRem } from '../../../../utils';\n\nvar _map = [3, 12].map(function (v) {\n return pxToRem(v);\n}),\n cornerRadius = _map[0],\n _12px_asRem = _map[1];\n\nexport var dropdownVariables = function dropdownVariables(siteVars) {\n return {\n backgroundColor: siteVars.colorScheme.default.background2,\n backgroundColorHover: siteVars.colorScheme.default.backgroundHover3,\n invertedBackgroundColor: siteVars.colorScheme.default.background,\n invertedBackgroundColorHover: siteVars.colorScheme.default.backgroundHover4,\n borderColor: 'transparent',\n borderColorHover: 'transparent',\n borderColorFocus: siteVars.colorScheme.brand.borderFocus1,\n borderError: siteVars.colorScheme.red.background,\n borderWidth: '0px',\n openBorderColorHover: undefined,\n containerBorderRadius: \"\" + cornerRadius,\n disabledColor: siteVars.colorScheme.default.foregroundDisabled,\n openAboveContainerBorderRadius: \"0 0 \" + cornerRadius + \" \" + cornerRadius,\n openBelowContainerBorderRadius: cornerRadius + \" \" + cornerRadius + \" 0 0\",\n searchBorderBottomWidth: pxToRem(2),\n color: siteVars.colorScheme.default.foreground1,\n comboboxPaddingButton: \"0 \" + _12px_asRem,\n comboboxFlexBasis: pxToRem(50),\n aboveListBorderRadius: cornerRadius + \" \" + cornerRadius + \" 0 0\",\n belowListBorderRadius: \"0 0 \" + cornerRadius + \" \" + cornerRadius,\n listBackgroundColor: siteVars.colorScheme.default.background,\n listBorderColor: 'transparent',\n listBorderWidth: '0px',\n listPadding: pxToRem(8) + \" 0 \" + pxToRem(6),\n listBoxShadow: siteVars.shadowLevel3,\n listMaxHeight: pxToRem(296),\n listItemFocusBorderWidth: pxToRem(1),\n listItemBackgroundColor: 'transparent',\n listItemBackgroundColorActive: siteVars.colorScheme.default.backgroundActive,\n listItemBackgroundColorHover: siteVars.colorScheme.default.backgroundHover,\n listItemColorActive: siteVars.colorScheme.default.backgroundFocus3,\n listItemColorHover: siteVars.colorScheme.default.foregroundHover,\n listItemSelectedColor: siteVars.colorScheme.default.foreground,\n listItemSelectedFontWeight: siteVars.fontWeightSemibold,\n // TODO: prod app uses 17.5px here, it should be 16px per the design guide!\n listItemHeaderLineHeight: siteVars.lineHeightSmall,\n listItemContentLineHeight: siteVars.lineHeightSmall,\n selectedItemBackgroundColor: siteVars.colorScheme.default.background,\n selectedItemBackgroundColorHover: siteVars.colorScheme.brand.backgroundHover2,\n selectedItemBorder: 'none',\n selectedItemColor: siteVars.colorScheme.default.foreground,\n selectedItemColorHover: siteVars.colorScheme.default.foregroundHover,\n selectedItemIconColor: siteVars.colorScheme.default.foreground1,\n selectedItemIconColorHover: siteVars.colorScheme.brand.foregroundHover,\n selectedItemsMaxWidth: pxToRem(140),\n selectedItemColorFocus: siteVars.bodyColor,\n selectedItemsMaxHeight: pxToRem(82),\n toggleIndicatorSize: pxToRem(32),\n triggerButtonColorFocusActive: undefined,\n triggerButtonColorHover: siteVars.bodyColor,\n width: pxToRem(356),\n overlayZIndex: siteVars.zIndexes.overlay,\n // disabled state\n disabledBorderColorHover: 'transparent',\n disabledTriggerColorHover: siteVars.colorScheme.brand.foregroundDisabled,\n disabledBackgroundColorHover: siteVars.colorScheme.brand.backgroundDisabled,\n // these should only apply when there is content in the image/media slot:\n listItemHeaderFontSize: siteVars.fontSizes.medium,\n listItemHeaderColor: siteVars.colorScheme.default.foreground1,\n listItemContentFontSize: siteVars.fontSizes.small,\n listItemContentColor: siteVars.colorScheme.default.foreground2,\n headerMessageBackgroundColor: siteVars.colors.white,\n noResultsMessageBackgroundColor: 'transparent',\n loadingMessageBackgroundColor: 'transparent'\n };\n};\n//# sourceMappingURL=dropdownVariables.js.map\n","import { pickValuesFromColorScheme } from '../../../colorUtils';\nimport { stringLiteralsArray, pxToRem } from '../../../../utils';\nexport var formFieldColorAreas = stringLiteralsArray('foreground', 'background');\nexport var formFieldVariables = function formFieldVariables(siteVariables) {\n return {\n colorScheme: pickValuesFromColorScheme(siteVariables.colorScheme, formFieldColorAreas),\n messagePaddingLeft: pxToRem(12)\n };\n};\n//# sourceMappingURL=formFieldVariables.js.map\n","import { pickValuesFromColorScheme } from '../../../colorUtils';\nimport { stringLiteralsArray, pxToRem } from '../../../../utils';\nexport var formMessageColorAreas = stringLiteralsArray('foreground');\nexport var formMessageVariables = function formMessageVariables(siteVariables) {\n return {\n colorScheme: pickValuesFromColorScheme(siteVariables.colorScheme, formMessageColorAreas),\n paddingLeft: pxToRem(12)\n };\n};\n//# sourceMappingURL=formMessageVariables.js.map\n","import { pickValuesFromColorScheme } from '../../../colorUtils';\nimport { stringLiteralsArray } from '../../../../utils';\nexport var headerColorAreas = stringLiteralsArray('foreground');\nexport var headerVariables = function headerVariables(siteVars) {\n return {\n colorScheme: pickValuesFromColorScheme(siteVars.colorScheme, headerColorAreas),\n color: siteVars.colors.grey[750],\n descriptionColor: undefined\n };\n};\n//# sourceMappingURL=headerVariables.js.map\n","import { pickValuesFromColorScheme } from '../../../colorUtils';\nimport { stringLiteralsArray } from '../../../../utils';\nexport var headerDescriptionColorAreas = stringLiteralsArray('foreground');\nexport var headerDescriptionVariables = function headerDescriptionVariables(siteVariables) {\n return {\n colorScheme: pickValuesFromColorScheme(siteVariables.colorScheme, headerDescriptionColorAreas),\n color: siteVariables.colors.grey[350]\n };\n};\n//# sourceMappingURL=headerDescriptionVariables.js.map\n","import { pxToRem, stringLiteralsArray } from '../../../../utils';\nimport { pickValuesFromColorScheme } from '../../../colorUtils';\nexport var iconColorAreas = stringLiteralsArray('foreground');\nexport var svgIconVariables = function svgIconVariables(siteVars) {\n return {\n colorScheme: pickValuesFromColorScheme(siteVars.colorScheme, iconColorAreas),\n color: undefined,\n borderColor: undefined,\n backgroundColor: undefined,\n brandColor: siteVars.brandColor,\n secondaryColor: siteVars.colors.white,\n redColor: siteVars.colors.red[400],\n disabledColor: siteVars.colors.grey[250],\n smallestSize: pxToRem(7),\n smallerSize: pxToRem(10),\n smallSize: pxToRem(12),\n mediumSize: pxToRem(16),\n largeSize: pxToRem(20),\n largerSize: pxToRem(32),\n largestSize: pxToRem(40),\n horizontalSpace: pxToRem(10)\n };\n};\n//# sourceMappingURL=svgIconVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var listItemVariables = function listItemVariables(siteVariables) {\n return {\n minHeight: pxToRem(48),\n rootPadding: \"0 \" + pxToRem(18) + \" 0 \" + pxToRem(20),\n gap: pxToRem(8),\n zIndex: siteVariables.zIndexes.foreground,\n // Header\n // TODO: prod app uses 17.5px here, it should be 16px per the design guide!\n headerLineHeight: siteVariables.lineHeightSmall,\n headerFontSize: siteVariables.fontSizes.medium,\n // Header Media\n headerMediaFontSize: siteVariables.fontSizes.small,\n // TODO: prod app uses 17.5px here, it should be 16px per the design guide!\n headerMediaLineHeight: siteVariables.lineHeightSmall,\n importantFontWeight: siteVariables.fontWeightBold,\n // Content\n contentFontSize: siteVariables.fontSizes.small,\n contentLineHeight: siteVariables.lineHeightSmall,\n // Content Media\n contentMediaFontSize: siteVariables.fontSizes.small,\n contentMediaLineHeight: siteVariables.lineHeightSmall,\n // Selectable\n selectableFocusHoverColor: siteVariables.colorScheme.default.foregroundHover,\n selectableFocusHoverBackgroundColor: siteVariables.colorScheme.default.backgroundHover,\n // Selected\n selectedColor: siteVariables.colorScheme.default.foregroundPressed,\n selectedBackgroundColor: siteVariables.colorScheme.default.backgroundActive1\n };\n};\n//# sourceMappingURL=listItemVariables.js.map\n","import { pxToRem, stringLiteralsArray } from '../../../../utils';\nimport { extendColorScheme, pickValuesFromColorScheme } from '../../../colorUtils';\nexport var menuColorAreas = stringLiteralsArray('border', 'borderActive', 'foregroundActive', 'foregroundFocus', 'foregroundHover', 'backgroundHover', 'backgroundActive', 'backgroundFocus', 'foregroundDisabled');\nexport var menuVariables = function menuVariables(siteVars) {\n return {\n colorScheme: pickValuesFromColorScheme(extendColorScheme(siteVars.colorScheme, {\n default: {\n borderActive: siteVars.colorScheme.default.border2,\n backgroundActive: siteVars.colorScheme.default.backgroundActive1,\n backgroundFocus: siteVars.colorScheme.default.backgroundFocus1,\n foregroundDisabled: siteVars.colorScheme.default.foregroundDisabled1\n },\n brand: {\n foregroundHover: siteVars.colors.white,\n backgroundHover: siteVars.colors.brand[300],\n foregroundActive: siteVars.colors.white,\n borderActive: siteVars.colors.brand[600],\n backgroundActive: siteVars.colors.brand[500],\n // it's 600 in the color scheme\n foregroundFocus: siteVars.colors.white,\n backgroundFocus: siteVars.colors.brand[300],\n foregroundDisabled: siteVars.colorScheme.brand.foregroundDisabled1\n }\n }), menuColorAreas),\n color: siteVars.colors.grey[500],\n colorActive: siteVars.colors.black,\n colorFocus: undefined,\n colorHover: 'inherit',\n colorDisabled: undefined,\n borderColor: undefined,\n borderColorHover: undefined,\n borderColorActive: undefined,\n borderColorFocus: siteVars.colors.white,\n outlineColorFocus: siteVars.colors.black,\n backgroundColor: undefined,\n backgroundColorFocus: undefined,\n backgroundColorHover: undefined,\n backgroundColorActive: undefined,\n iconSize: pxToRem(16),\n iconOnlyColorActive: siteVars.colors.brand[600],\n iconOnlyColorFocus: siteVars.colors.brand[600],\n iconOnlyWrapperBackgroundColorFocus: undefined,\n activeIconOnlyWrapperBackgroundColor: undefined,\n iconOnlyBackgroundColorHover: undefined,\n iconOnlyColorHover: siteVars.colors.brand[600],\n underlinedBorderColor: siteVars.colors.grey[200],\n lineHeightBase: siteVars.lineHeightMedium,\n horizontalPadding: pxToRem(14) + \" \" + pxToRem(18),\n verticalBackgroundColor: siteVars.colorScheme.default.background,\n verticalItemPadding: pxToRem(7) + \" \" + pxToRem(14),\n verticalBoxShadow: siteVars.shadowLevel3,\n verticalDividerMargin: pxToRem(8) + \" 0\",\n verticalItemBorderWidth: pxToRem(2),\n verticalItemBorderColor: 'transparent',\n verticalPointingBorderColor: siteVars.colorScheme.brand.borderActive,\n verticalBackgroundColorFocus: undefined,\n activeUnderlinedColor: undefined,\n activeUnderlinedPrimaryColor: siteVars.colors.brand[600],\n activeUnderlinedBorderBottomColor: siteVars.colors.black,\n activeUnderlinedWrapperColor: undefined,\n pointingIndicatorBackgroundColor: siteVars.colors.brand[600],\n underlinedBottomBorderWidth: pxToRem(2),\n underlinedColorHover: 'inherit',\n primaryBorderColor: siteVars.colorScheme.default.border2,\n primaryWrapperColorFocus: siteVars.colors.white,\n primaryWrapperBackgroundColorFocus: siteVars.colors.brand[500],\n underlinedWrapperColorHover: siteVars.colors.black,\n underlinedWrapperBackgroundHover: 'transparent',\n dividerHeight: pxToRem(1),\n borderWidth: pxToRem(1),\n menuZIndex: siteVars.zIndexes.overlay,\n beakZIndex: siteVars.zIndexes.menuItem,\n wrapperColorActive: siteVars.colors.grey[500],\n wrapperColorFocus: siteVars.colors.grey[500],\n wrapperColorHover: undefined,\n primaryWrapperColorHover: siteVars.colors.white,\n wrapperBackgroundColorFocus: siteVars.colors.grey[150],\n activeWrapperBackgroundColorHover: undefined,\n indicatorColor: siteVars.colors.grey[500],\n activeIndicatorColor: siteVars.colors.grey[750],\n activePrimaryIndicatorColor: siteVars.colors.grey[750],\n activePrimaryVerticalIndicatorColor: siteVars.colors.white,\n primaryIndicatorColorHover: siteVars.colors.white,\n indicatorColorHover: siteVars.colors.grey[500]\n };\n};\n//# sourceMappingURL=menuVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var pillVariables = function pillVariables(siteVars) {\n return {\n background: siteVars.colorScheme.default.background3,\n backgroundHover: siteVars.colorScheme.default.background1,\n borderRadius: '9999px',\n smallerRoundedBorderRadius: pxToRem(2),\n // Disabled\n disabledBackground: siteVars.colorScheme.default.backgroundDisabled,\n disabledColor: siteVars.colorScheme.default.foregroundDisabled,\n // Inverted\n invertedBackground: siteVars.colorScheme.default.background,\n // Outline\n outlineBackground: 'transparent',\n // TODO: The design spec maps to Neutral Stroke 1 that is equivalent to gre[440]\n // but we don't have this token\n outlineBorderColor: siteVars.colorScheme.default.borderActive4,\n outlineDisabledborder: siteVars.colorScheme.default.borderDisabled,\n // Smaller\n smallerHeight: pxToRem(20),\n smallerMinWidth: pxToRem(80),\n smallerMargin: pxToRem(6) + \" \" + pxToRem(2),\n // Small\n smallHeight: pxToRem(24),\n smallMinWidth: pxToRem(80),\n smallMargin: pxToRem(4),\n // Medium (default)\n height: pxToRem(32),\n minWidth: pxToRem(90),\n margin: pxToRem(6) + \" \" + pxToRem(4),\n roundedBorderRadius: pxToRem(4),\n // Content Smaller\n contentPaddingSmaller: pxToRem(2) + \" \" + pxToRem(8),\n contentFontSizeSmaller: pxToRem(12),\n // Content Small\n contentFontSizeSmall: pxToRem(12),\n contentPaddingSmall: pxToRem(4) + \" \" + pxToRem(8),\n // Content Medium\n contentFontSize: pxToRem(14),\n contentPadding: pxToRem(6) + \" \" + pxToRem(8),\n // Action Pill\n actionMargin: \"0 \" + pxToRem(8),\n actionWidth: pxToRem(16),\n smallOrSmallerActionWidth: pxToRem(12),\n // Icon Pill\n iconMargin: \"0 0 0 \" + pxToRem(8),\n iconWidth: pxToRem(20),\n smallOrSmallerIconWidth: pxToRem(16),\n selectedIconColor: siteVars.colorScheme.default.border,\n selectedIconCheckColor: siteVars.colorScheme.brand.background2,\n selectedImageIconWidth: pxToRem(32),\n smallSelectedImageIconWidth: pxToRem(24),\n smallerSelectedImageIconWidth: pxToRem(20),\n // Image Pill\n imageWidth: pxToRem(32),\n imageHeight: pxToRem(32),\n smallImageWidth: pxToRem(24),\n smallImageHeight: pxToRem(24),\n smallerImageWidth: pxToRem(20),\n smallerImageHeight: pxToRem(20)\n };\n};\n//# sourceMappingURL=pillVariables.js.map\n","import { pickValuesFromColorScheme } from '../../../colorUtils';\nimport { stringLiteralsArray } from '../../../../utils';\nexport var segmentColorAreas = stringLiteralsArray('foreground');\nexport var segmentVariables = function segmentVariables(siteVariables) {\n return {\n colorScheme: pickValuesFromColorScheme(siteVariables.colorScheme, segmentColorAreas),\n color: siteVariables.bodyColor,\n disabledColor: siteVariables.colors.grey[250],\n backgroundColor: siteVariables.bodyBackground,\n disabledBackgroundColor: siteVariables.colors.grey[150],\n disabledBorderColor: 'transparent',\n borderRadius: 0,\n borderStyle: 'solid',\n borderWidth: '2px 0 0 0',\n boxShadow: '0 1px 1px 1px rgba(34,36,38,.15)',\n padding: '1em'\n };\n};\n//# sourceMappingURL=segmentVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var skeletonVariables = function skeletonVariables(siteVariables) {\n return {\n lineBackground: siteVariables.colorScheme.default.foreground5,\n shapeBackground: siteVariables.colorScheme.default.foreground5,\n animationBackground: siteVariables.colorScheme.default.foreground5,\n animationBackgroundSecondary: siteVariables.colorScheme.default.foreground6,\n lineMargin: \"0 0 \" + pxToRem(2) + \" 0\",\n shapeMargin: \"0 0 \" + pxToRem(2) + \" 0\",\n // Skeleton Button\n buttonHeight: pxToRem(32),\n buttonWidth: pxToRem(96),\n buttonSmallHeight: pxToRem(24),\n buttonSmallWidth: pxToRem(72),\n buttonBackground: siteVariables.colorScheme.default.foreground5,\n buttonCircularBorderRadius: pxToRem(999),\n // Skeleton Text\n textBackground: siteVariables.colorScheme.default.foreground5,\n textWidth: '100%',\n textSmallerHeight: pxToRem(14),\n textSmallHeight: pxToRem(16),\n textMediumHeight: pxToRem(19),\n textLargeHeight: pxToRem(24),\n textLargerHeight: pxToRem(32),\n // Skeleton Input\n inputHeight: pxToRem(32),\n inputWidth: pxToRem(154),\n inputBackground: siteVariables.colorScheme.default.foreground5,\n // Skeleton Avatar\n avatarBackground: siteVariables.colorScheme.default.foreground5,\n avatarSmallest: pxToRem(20),\n avatarSmaller: pxToRem(24),\n avatarSmall: pxToRem(28),\n avatarMedium: pxToRem(32),\n avatarLarge: pxToRem(44),\n avatarLarger: pxToRem(64),\n avatarLargest: pxToRem(96)\n };\n};\n//# sourceMappingURL=skeletonVariables.js.map\n","import { stringLiteralsArray } from '../../../../utils';\nimport { pickValuesFromColorScheme } from '../../../colorUtils';\nexport var textColorAreas = stringLiteralsArray('foreground');\nexport var textVariables = function textVariables(siteVariables) {\n return {\n colorScheme: pickValuesFromColorScheme(siteVariables.colorScheme, textColorAreas),\n fontSizeSmallest: siteVariables.fontSizes.smallest,\n fontLineHeightSmallest: siteVariables.lineHeightSmallest,\n fontSizeSmaller: siteVariables.fontSizes.smaller,\n fontLineHeightSmaller: siteVariables.lineHeightSmaller,\n fontSizeSmall: siteVariables.fontSizes.small,\n fontLineHeightSmall: siteVariables.lineHeightSmall,\n fontSizeMedium: siteVariables.fontSizes.medium,\n fontLineHeightMedium: siteVariables.lineHeightMedium,\n fontSizeLarge: siteVariables.fontSizes.large,\n fontLineHeightLarge: siteVariables.lineHeightLarge,\n fontSizeLarger: siteVariables.fontSizes.larger,\n fontLineHeightLarger: siteVariables.lineHeightLarger,\n fontSizeLargest: siteVariables.fontSizes.largest,\n fontLineHeightLargest: siteVariables.lineHeightLargest,\n fontWeightLight: siteVariables.fontWeightLight,\n fontWeightSemilight: siteVariables.fontWeightSemilight,\n fontWeightRegular: siteVariables.fontWeightRegular,\n fontWeightSemibold: siteVariables.fontWeightSemibold,\n fontWeightBold: siteVariables.fontWeightBold,\n atMentionOtherColor: siteVariables.colors.brand[600],\n atMentionMeColor: siteVariables.colors.orange[400],\n atMentionMeFontWeight: siteVariables.fontWeightBold,\n disabledColor: siteVariables.colors.grey[250],\n errorColor: siteVariables.colors.red[400],\n importantWeight: siteVariables.fontWeightBold,\n importantColor: siteVariables.colors.red[400],\n successColor: siteVariables.colors.green[600],\n timestampColor: siteVariables.colorScheme.default.foreground1\n };\n};\n//# sourceMappingURL=textVariables.js.map\n","import { pxToRem, stringLiteralsArray } from '../../../../utils';\nimport { extendColorScheme, pickValuesFromColorScheme } from '../../../colorUtils';\nexport var toolbarColorAreas = stringLiteralsArray('foreground1', 'background', 'border', 'foregroundActive', 'foregroundHover', 'backgroundHover', 'foregroundDisabled1', // custom\n'menuItemForegroundHover', 'menuItemBackgroundHover');\nexport var toolbarVariables = function toolbarVariables(siteVars) {\n return {\n colorScheme: pickValuesFromColorScheme(extendColorScheme(siteVars.colorScheme, {\n default: {\n foregroundHover: siteVars.colorScheme.brand.foregroundHover,\n backgroundHover: 'transparent',\n foregroundActive: siteVars.colorScheme.brand.foregroundActive,\n menuItemForegroundHover: siteVars.colorScheme.default.foregroundHover,\n menuItemBackgroundHover: siteVars.colorScheme.default.backgroundHover\n }\n }), toolbarColorAreas),\n foreground: undefined,\n background: 'transparent',\n dividerBorder: undefined,\n foregroundHover: undefined,\n backgroundHover: undefined,\n foregroundActive: undefined,\n backgroundActive: 'transparent',\n foregroundDisabled: undefined,\n backgroundDisabled: 'transparent',\n itemHeight: pxToRem(32),\n itemPadding: '0',\n borderWidth: '2px',\n borderRadius: '50%',\n dividerMargin: pxToRem(10) + \" \" + pxToRem(4),\n menuMaxWidth: pxToRem(312),\n menuPadding: pxToRem(8) + \" 0\",\n menuBackground: undefined,\n menuBorder: undefined,\n menuBorderWidth: '1px',\n menuBorderRadius: pxToRem(4),\n menuBoxShadow: siteVars.shadowLevel3,\n menuItemForeground: undefined,\n menuItemForegroundHover: undefined,\n menuItemBackgroundHover: undefined,\n menuItemForegroundDisabled: undefined,\n menuItemBackgroundDisabled: 'transparent',\n menuItemPadding: pxToRem(5) + \" \" + pxToRem(15),\n menuDividerBorder: undefined,\n menuDividerMargin: pxToRem(8) + \" 0\",\n customItemHorizontalPadding: pxToRem(16),\n customItemVerticalPadding: pxToRem(4),\n overlayZIndex: siteVars.zIndexes.overlay,\n lineHeightBase: siteVars.lineHeightMedium\n };\n};\n//# sourceMappingURL=toolbarVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var splitButtonVariables = function splitButtonVariables(siteVars) {\n return {\n borderRadius: siteVars.borderRadius,\n borderColor: siteVars.colorScheme.default.border,\n borderColorPrimary: siteVars.colors.brand[500],\n borderColorDisabled: siteVars.colorScheme.brand.foregroundDisabled,\n smallDimension: pxToRem(24),\n smallPadding: \"0 \" + pxToRem(8),\n smallMinWidth: '0',\n smallBoxShadow: 'none',\n padding: \"0 \" + pxToRem(12),\n minWidth: '0',\n toggleButtonHeight: pxToRem(32),\n toggleButtonColor: siteVars.colorScheme.default.foreground,\n toggleButtonBackgroundColor: siteVars.colorScheme.default.background,\n toggleButtonBorderRadius: siteVars.borderRadius,\n toggleButtonBorderColor: siteVars.colorScheme.default.border,\n toggleButtonBoxShadow: siteVars.shadowLevel1,\n toggleButtonColorHover: siteVars.colorScheme.brand.foregroundHover,\n toggleButtonBackgroundColorHover: siteVars.colorScheme.default.backgroundHover2,\n toggleButtonBorderColorHover: siteVars.colorScheme.default.borderHover,\n toggleButtonColorActive: siteVars.colorScheme.default.foregroundPressed,\n toggleButtonBackgroundColorActive: siteVars.colorScheme.default.backgroundPressed,\n toggleButtonBorderColorActive: siteVars.colorScheme.default.borderPressed,\n toggleButtonBackgroundColorFocus: undefined,\n toggleButtonBorderColorFocus: undefined,\n toggleButtonColorFocus: undefined,\n toggleButtonPrimaryHoverBackgroundColor: siteVars.colorScheme.brand.backgroundHover,\n toggleButtonPrimaryHoverColor: siteVars.colorScheme.brand.foregroundHover1,\n toggleButtonPrimaryColor: siteVars.colorScheme.brand.foreground4,\n toggleButtonPrimaryBackgroundColor: siteVars.colorScheme.brand.background,\n toggleButtonPrimaryBorderColor: 'transparent',\n toggleButtonPrimaryBoxShadow: siteVars.shadowLevel1Dark,\n toggleButtonPrimaryBackgroundColorActive: siteVars.colorScheme.brand.backgroundPressed,\n toggleButtonPrimaryBackgroundColorFocus: undefined,\n toggleButtonColorDisabled: siteVars.colorScheme.brand.foregroundDisabled,\n toggleButtonBackgroundColorDisabled: siteVars.colorScheme.default.backgroundDisabled,\n toggleButtonIndicatorSize: pxToRem(16),\n focusBorderRadius: siteVars.borderRadius,\n focusBorderWidth: siteVars.borderWidth,\n focusInnerBorderColor: siteVars.focusInnerBorderColor,\n focusOuterBorderColor: siteVars.focusOuterBorderColor,\n focusBorderZIndex: siteVars.zIndexes.foreground\n };\n};\n//# sourceMappingURL=splitButtonVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var carouselVariables = function carouselVariables(siteVars) {\n return {\n width: 300,\n height: 300,\n focusOuterBorderColor: siteVars.focusOuterBorderColor,\n focusOuterBorderRadius: siteVars.borderRadius,\n paddleColor: siteVars.colorScheme.default.foreground4,\n paddleColorDisabled: siteVars.colorScheme.brand.foregroundDisabled,\n paddleBackgroundColor: siteVars.colorScheme.onyx.background3,\n paddleBackgroundColorActive: siteVars.colorScheme.onyx.backgroundPressed,\n paddleBackgroundColorHover: siteVars.colorScheme.onyx.backgroundHover,\n paddleBackgroundColorDisabled: siteVars.colorScheme.default.backgroundDisabled,\n paddleBorderColor: 'transparent',\n paddleBorderRadius: siteVars.borderRadius,\n paddleHeight: pxToRem(32),\n paddleIndicatorSize: pxToRem(16),\n focusBorderRadius: siteVars.borderRadius,\n focusBorderWidth: siteVars.borderWidth,\n focusInnerBorderColor: siteVars.focusInnerBorderColor,\n focusBorderZIndex: siteVars.zIndexes.foreground\n };\n};\n//# sourceMappingURL=carouselVariables.js.map\n","import { pxToRem, stringLiteralsArray } from '../../../../utils';\nimport { extendColorScheme, pickValuesFromColorScheme } from '../../../colorUtils';\nexport var menuColorAreas = stringLiteralsArray('border', 'borderActive', 'foregroundActive', 'foregroundFocus', 'foregroundHover', 'backgroundHover', 'backgroundActive', 'backgroundFocus', 'foregroundDisabled');\nexport var carouselNavigationVariables = function carouselNavigationVariables(siteVars) {\n return {\n width: 300,\n colorScheme: pickValuesFromColorScheme(extendColorScheme(siteVars.colorScheme, {\n default: {\n borderActive: siteVars.colorScheme.default.border2,\n backgroundActive: siteVars.colorScheme.default.backgroundActive1,\n backgroundFocus: siteVars.colorScheme.default.backgroundFocus1,\n foregroundDisabled: siteVars.colorScheme.default.foregroundDisabled1\n },\n brand: {\n foregroundHover: siteVars.colors.white,\n backgroundHover: siteVars.colors.brand[300],\n foregroundActive: siteVars.colors.white,\n borderActive: siteVars.colors.brand[600],\n backgroundActive: siteVars.colors.brand[500],\n // it's 600 in the color scheme\n foregroundFocus: siteVars.colors.white,\n backgroundFocus: siteVars.colors.brand[300],\n foregroundDisabled: siteVars.colorScheme.brand.foregroundDisabled1\n }\n }), menuColorAreas),\n color: siteVars.colors.grey[500],\n colorActive: siteVars.colors.black,\n borderColor: undefined,\n borderColorActive: undefined,\n borderColorFocus: siteVars.colors.white,\n outlineColorFocus: siteVars.colors.black,\n backgroundColor: undefined,\n backgroundColorFocus: undefined,\n backgroundColorHover: undefined,\n backgroundColorActive: undefined,\n iconOnlyColorActive: siteVars.colors.brand[600],\n lineHeightBase: siteVars.lineHeightMedium,\n horizontalPadding: pxToRem(14) + \" \" + pxToRem(18),\n verticalBackgroundColor: siteVars.colors.white,\n verticalItemPadding: pxToRem(7) + \" \" + pxToRem(14),\n verticalItemBorderWidth: pxToRem(2),\n verticalItemBorderColor: 'transparent',\n verticalBackgroundColorFocus: siteVars.colors.grey[150],\n primaryBorderColor: siteVars.colorScheme.default.border2,\n indicatorBackgroundColor: siteVars.colors.grey[500],\n indicatorActiveBackgroundColor: siteVars.colors.brand[600],\n borderWidth: pxToRem(1),\n thumbnailWidth: 75\n };\n};\n//# sourceMappingURL=carouselNavigationVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var tableVariables = function tableVariables(siteVariables) {\n return {\n color: siteVariables.colorScheme.default.foreground,\n hoverColor: siteVariables.colorScheme.default.foregroundHover,\n backgroundColor: siteVariables.colorScheme.default.background,\n backgroundHoverColor: siteVariables.colorScheme.default.backgroundHover1,\n defaultRowHeight: pxToRem(48),\n compactRowHeight: pxToRem(36),\n minCellWidth: '0',\n cellPadding: \"0 \" + pxToRem(8),\n rowPadding: '0',\n headerFontSize: pxToRem(12),\n bodyFontSize: pxToRem(13),\n borderWidth: pxToRem(1),\n headerBorderColor: siteVariables.colorScheme.default.backgroundHover1,\n headerBorderHoverColor: 'transparent',\n headerBorderFocusColor: 'transparent',\n rowBorderColor: siteVariables.colorScheme.default.backgroundHover1,\n rowBorderHoverColor: siteVariables.colorScheme.default.backgroundHover1,\n rowBorderFocusColor: siteVariables.colorScheme.default.borderFocus,\n cellBorderColor: 'transparent',\n cellBorderHoverColor: 'transparent',\n cellBorderFocusColor: siteVariables.colorScheme.default.borderFocus\n };\n};\n//# sourceMappingURL=tableVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var cardVariables = function cardVariables(siteVars) {\n return {\n backgroundColor: siteVars.colorScheme.default.background1,\n backgroundColorDisabled: siteVars.colorScheme.default.backgroundDisabled1,\n backgroundColorFocus: siteVars.colorScheme.default.backgroundFocus1,\n backgroundColorHover: siteVars.colorScheme.default.backgroundHover1,\n backgroundColorPressed: siteVars.colorScheme.default.backgroundPressed,\n ghostBackgroundColor: 'none',\n ghostBackgroundColorDisabled: siteVars.colorScheme.default.backgroundDisabled,\n ghostBackgroundColorFocus: 'none',\n ghostBackgroundColorHover: siteVars.colorScheme.default.backgroundHover,\n ghostBackgroundColorPressed: siteVars.colorScheme.default.backgroundPressed,\n invertedBackgroundColor: siteVars.colorScheme.default.background2,\n invertedBackgroundColorDisabled: siteVars.colorScheme.default.backgroundDisabled2,\n invertedBackgroundColorFocus: siteVars.colorScheme.default.background2,\n invertedBackgroundColorHover: siteVars.colorScheme.default.backgroundHover2,\n invertedBackgroundColorPressed: siteVars.colorScheme.default.backgroundPressed,\n borderStyle: 'solid',\n borderColor: 'transparent',\n borderColorDisabled: 'transparent',\n borderColorHover: 'transparent',\n borderColorPressed: 'transparent',\n borderWidth: siteVars.borderWidth,\n borderRadius: pxToRem(3),\n boxShadow: 'none',\n boxShadowDisabled: 'none',\n boxShadowHover: 'none',\n boxShadowFocus: 'none',\n boxShadowPressed: 'none',\n elevatedBoxShadow: siteVars.shadowLevel1,\n elevatedBoxShadowDisabled: siteVars.shadowLevel1,\n elevatedBoxShadowHover: siteVars.shadowLevel3,\n elevatedBoxShadowFocus: siteVars.shadowLevel1,\n elevatedBoxShadowPressed: siteVars.shadowLevel1,\n padding: pxToRem(16),\n margin: pxToRem(0),\n colorDisabled: siteVars.colorScheme.default.foregroundDisabled,\n compactPadding: pxToRem(0),\n previewMargin: \"0 0 \" + pxToRem(10) + \" 0\",\n headerMargin: \"0 0 \" + pxToRem(10) + \" 0\",\n bodyMargin: \"0 0 \" + pxToRem(10) + \" 0\",\n footerMargin: \"0 0 \" + pxToRem(10) + \" 0\",\n fittedPreviewMargin: pxToRem(0),\n fittedHeaderMargin: pxToRem(0),\n fittedBodyMargin: pxToRem(0),\n fittedFooterMargin: pxToRem(0),\n previewMarginHorizontal: \"0 \" + pxToRem(10) + \" 0 0\",\n topControlsTop: pxToRem(10),\n topControlsRight: pxToRem(0),\n // TODO: update with latest values from design\n width: pxToRem(300),\n height: '100%',\n sizeSmallWidth: pxToRem(200),\n sizeSmallHeight: '100%',\n sizeSmallPadding: pxToRem(0),\n sizeLargeWidth: pxToRem(500),\n sizeLargeHeight: '100%',\n sizeLargePadding: pxToRem(16),\n fluidWidth: '100%',\n fluidHeight: '100%',\n expandableBoxStartMaxHeight: pxToRem(20),\n expandableBoxEndMaxHeight: pxToRem(500),\n expandableBoxShrinkTransition: 'max-height 0.5s ease-in',\n expandableBoxExpandTransition: 'max-height 1s ease-in',\n selectedBackgroundColor: siteVars.colorScheme.default.backgroundFocus3,\n selectedBorderColor: siteVars.colorScheme.default.borderActive,\n selectedBoxShadow: siteVars.shadowLevel4,\n selectedBackgroundColorDisabled: siteVars.colorScheme.default.backgroundDisabled3,\n selectedBackgroundColorFocus: siteVars.colorScheme.default.backgroundFocus3,\n selectedBackgroundColorHover: siteVars.colorScheme.default.backgroundHover3,\n selectedBackgroundColorPressed: siteVars.colorScheme.default.backgroundPressed3\n };\n};\n//# sourceMappingURL=cardVariables.js.map\n","/**\n * The days of the week\n * {@docCategory DayOfWeek}\n */\nexport var DayOfWeek;\n/**\n * The months\n * {@docCategory MonthOfYear}\n */\n\n(function (DayOfWeek) {\n DayOfWeek[DayOfWeek[\"Sunday\"] = 0] = \"Sunday\";\n DayOfWeek[DayOfWeek[\"Monday\"] = 1] = \"Monday\";\n DayOfWeek[DayOfWeek[\"Tuesday\"] = 2] = \"Tuesday\";\n DayOfWeek[DayOfWeek[\"Wednesday\"] = 3] = \"Wednesday\";\n DayOfWeek[DayOfWeek[\"Thursday\"] = 4] = \"Thursday\";\n DayOfWeek[DayOfWeek[\"Friday\"] = 5] = \"Friday\";\n DayOfWeek[DayOfWeek[\"Saturday\"] = 6] = \"Saturday\";\n})(DayOfWeek || (DayOfWeek = {}));\n\nexport var MonthOfYear;\n/**\n * First week of the year settings types\n * {@docCategory FirstWeekOfYear}\n */\n\n(function (MonthOfYear) {\n MonthOfYear[MonthOfYear[\"January\"] = 0] = \"January\";\n MonthOfYear[MonthOfYear[\"February\"] = 1] = \"February\";\n MonthOfYear[MonthOfYear[\"March\"] = 2] = \"March\";\n MonthOfYear[MonthOfYear[\"April\"] = 3] = \"April\";\n MonthOfYear[MonthOfYear[\"May\"] = 4] = \"May\";\n MonthOfYear[MonthOfYear[\"June\"] = 5] = \"June\";\n MonthOfYear[MonthOfYear[\"July\"] = 6] = \"July\";\n MonthOfYear[MonthOfYear[\"August\"] = 7] = \"August\";\n MonthOfYear[MonthOfYear[\"September\"] = 8] = \"September\";\n MonthOfYear[MonthOfYear[\"October\"] = 9] = \"October\";\n MonthOfYear[MonthOfYear[\"November\"] = 10] = \"November\";\n MonthOfYear[MonthOfYear[\"December\"] = 11] = \"December\";\n})(MonthOfYear || (MonthOfYear = {}));\n\nexport var FirstWeekOfYear;\n/**\n * The supported date range types\n * {@docCategory DateRangeType}\n */\n\n(function (FirstWeekOfYear) {\n FirstWeekOfYear[FirstWeekOfYear[\"FirstDay\"] = 0] = \"FirstDay\";\n FirstWeekOfYear[FirstWeekOfYear[\"FirstFullWeek\"] = 1] = \"FirstFullWeek\";\n FirstWeekOfYear[FirstWeekOfYear[\"FirstFourDayWeek\"] = 2] = \"FirstFourDayWeek\";\n})(FirstWeekOfYear || (FirstWeekOfYear = {}));\n\nexport var DateRangeType;\n\n(function (DateRangeType) {\n DateRangeType[DateRangeType[\"Day\"] = 0] = \"Day\";\n DateRangeType[DateRangeType[\"Week\"] = 1] = \"Week\";\n DateRangeType[DateRangeType[\"Month\"] = 2] = \"Month\";\n DateRangeType[DateRangeType[\"WorkWeek\"] = 3] = \"WorkWeek\";\n})(DateRangeType || (DateRangeType = {}));\n\nexport var DAYS_IN_WEEK = 7;\n//# sourceMappingURL=dateValues.js.map\n","export var getIntentColorsFromProps = function getIntentColorsFromProps(p, v, siteVars) {\n if (p.danger) {\n return {\n color: v.dangerColor,\n backgroundColor: v.dangerBackgroundColor,\n borderColor: v.dangerBorderColor\n };\n }\n\n if (p.info) {\n return {\n color: v.color,\n backgroundColor: v.backgroundColor,\n borderColor: v.borderColor\n };\n }\n\n if (v.oof) {\n return {\n color: v.oofColor,\n backgroundColor: v.oofBackgroundColor,\n borderColor: v.oofBorderColor\n };\n }\n\n if (v.urgent) {\n return {\n color: v.urgentColor,\n backgroundColor: v.urgentBackgroundColor,\n borderColor: v.urgentBorderColor\n };\n }\n\n if (p.success) {\n return {\n color: v.successColor,\n backgroundColor: v.successBackgroundColor,\n borderColor: v.successBorderColor\n };\n }\n\n if (p.warning) {\n return {\n color: v.warningColor,\n backgroundColor: v.warningBackgroundColor,\n borderColor: v.warningBorderColor\n };\n }\n\n return {\n color: v.color,\n backgroundColor: v.backgroundColor,\n borderColor: v.borderColor\n };\n};\nexport var alertStyles = {\n root: function root(_ref) {\n var p = _ref.props,\n v = _ref.variables,\n siteVariables = _ref.theme.siteVariables;\n return Object.assign({\n display: 'flex',\n alignItems: 'center',\n position: 'relative',\n borderStyle: v.borderStyle,\n borderWidth: v.borderWidth,\n borderRadius: v.borderRadius,\n minHeight: v.minHeight,\n padding: v.padding,\n fontWeight: v.fontWeight,\n visibility: 'visible',\n boxSizing: 'border-box'\n }, getIntentColorsFromProps(p, v, siteVariables), (p.attached === 'top' || p.attached === true) && {\n borderRadius: v.borderRadius + \" \" + v.borderRadius + \" 0 0\"\n }, p.attached === 'bottom' && {\n borderRadius: \"0 0 \" + v.borderRadius + \" \" + v.borderRadius\n }, p.fitted && {\n display: 'inline-flex'\n }, p.dismissible && {\n padding: v.dismissiblePadding\n }, !p.visible && {\n visibility: 'hidden'\n });\n },\n actions: function actions(_ref2) {\n var v = _ref2.variables;\n return {\n margin: v.actionsMargin\n };\n },\n header: function header(_ref3) {\n var v = _ref3.variables;\n return {\n fontWeight: v.headerFontWeight,\n margin: v.headerMargin\n };\n },\n body: function body() {\n return {\n display: 'flex',\n flexGrow: 1\n };\n },\n content: function content() {\n return {\n flexGrow: 1\n };\n },\n icon: function icon(_ref4) {\n var v = _ref4.variables;\n return {\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: v.iconSize,\n height: v.iconSize,\n '& > :first-child': {\n height: '100%',\n width: '100%',\n '& svg': {\n height: '100%',\n width: '100%'\n }\n },\n margin: v.iconMargin\n };\n }\n};\n//# sourceMappingURL=alertStyles.js.map\n","var defaultColor = 'transparent';\n/**\n * Returns style object that can be used for styling components on focus state.\n * NOTE: the element where this is used needs to have relative positioning so that the\n * pseudo elements created on focus can be properly positioned.\n */\n\nexport var getBorderFocusStyles = function getBorderFocusStyles(args) {\n var sv = args.variables;\n var _args$borderWidth = args.borderWidth,\n borderWidth = _args$borderWidth === void 0 ? sv.borderWidth : _args$borderWidth,\n _args$borderRadius = args.borderRadius,\n borderRadius = _args$borderRadius === void 0 ? sv.borderRadius : _args$borderRadius,\n _args$focusInnerBorde = args.focusInnerBorderColor,\n focusInnerBorderColor = _args$focusInnerBorde === void 0 ? sv.focusInnerBorderColor || defaultColor : _args$focusInnerBorde,\n _args$focusOuterBorde = args.focusOuterBorderColor,\n focusOuterBorderColor = _args$focusOuterBorde === void 0 ? sv.focusOuterBorderColor || defaultColor : _args$focusOuterBorde,\n borderPadding = args.borderPadding;\n var defaultPreudoStyles = {\n content: '\"\"',\n position: 'absolute',\n borderStyle: 'solid',\n pointerEvents: 'none',\n borderWidth: borderWidth,\n borderRadius: borderRadius\n };\n var borderPaddingTop = (borderPadding == null ? void 0 : borderPadding.top) || borderPadding;\n var borderPaddingBottom = (borderPadding == null ? void 0 : borderPadding.bottom) || borderPadding;\n var borderPaddingLeft = (borderPadding == null ? void 0 : borderPadding.left) || borderPadding;\n var borderPaddingRight = (borderPadding == null ? void 0 : borderPadding.right) || borderPadding;\n return {\n ':focus': {\n outline: 'none'\n },\n ':focus-visible': {\n borderColor: 'transparent',\n ':before': Object.assign({}, defaultPreudoStyles, {\n zIndex: sv.zIndexes.foreground,\n borderColor: focusInnerBorderColor,\n top: borderPadding == null ? '0' : \"-\" + borderPaddingTop,\n bottom: borderPadding == null ? '0' : \"-\" + borderPaddingBottom,\n left: borderPadding == null ? '0' : \"-\" + borderPaddingLeft,\n right: borderPadding == null ? '0' : \"-\" + borderPaddingRight\n }),\n ':after': Object.assign({}, defaultPreudoStyles, {\n zIndex: sv.zIndexes.foreground,\n borderColor: focusOuterBorderColor,\n top: borderPadding == null ? \"-\" + borderWidth : \"calc(0px - \" + borderPaddingTop + \" - \" + borderWidth + \")\",\n bottom: borderPadding == null ? \"-\" + borderWidth : \"calc(0px - \" + borderPaddingBottom + \" - \" + borderWidth + \")\",\n left: borderPadding == null ? \"-\" + borderWidth : \"calc(0px - \" + borderPaddingLeft + \" - \" + borderWidth + \")\",\n right: borderPadding == null ? \"-\" + borderWidth : \"calc(0px - \" + borderPaddingRight + \" - \" + borderWidth + \")\"\n })\n }\n };\n};\n//# sourceMappingURL=getBorderFocusStyles.js.map\n","import { iconClassNames } from '@fluentui/react-icons-northstar';\nexport var getIconFillOrOutlineStyles = function getIconFillOrOutlineStyles(_ref) {\n var _ref2;\n\n var outline = _ref.outline;\n return _ref2 = {}, _ref2[\"& .\" + iconClassNames.filled] = {\n display: outline ? 'none' : 'block'\n }, _ref2[\"& .\" + iconClassNames.outline] = {\n display: outline ? 'block' : 'none'\n }, _ref2;\n};\n//# sourceMappingURL=getIconFillOrOutlineStyles.js.map\n","import { alertDismissActionSlotClassNames } from '../../../../components/Alert/AlertDismissAction';\nimport { getBorderFocusStyles } from '../../getBorderFocusStyles';\nimport { getIconFillOrOutlineStyles } from '../../getIconFillOrOutlineStyles';\nimport { dismissIndicatorUrl } from './dismissIndicatorUrl';\nimport { getIntentColorsFromProps } from './alertStyles';\nimport { faster } from '../../animations/durations';\n\nvar getIndicatorStyles = function getIndicatorStyles(color, outline, size) {\n return {\n width: size,\n height: size,\n backgroundImage: dismissIndicatorUrl(color, outline),\n backgroundRepeat: 'no-repeat'\n };\n};\n\nexport var alertDismissActionStyles = {\n root: function root(_ref) {\n var _ref2, _ref3, _ref4;\n\n var p = _ref.props,\n v = _ref.variables,\n theme = _ref.theme;\n var siteVariables = theme.siteVariables;\n var borderWidth = siteVariables.borderWidth;\n\n var _getIntentColorsFromP = getIntentColorsFromProps(p, v, siteVariables),\n dismissActionIndicatorColor = _getIntentColorsFromP.color;\n\n var borderFocusStyles = getBorderFocusStyles({\n variables: {\n borderRadius: v.focusBorderRadius,\n borderWidth: v.focusBorderWidth,\n focusInnerBorderColor: v.focusInnerBorderColor,\n focusOuterBorderColor: v.focusOuterBorderColor,\n zIndexes: {\n foreground: v.focusBorderZIndex\n }\n },\n borderPadding: borderWidth\n });\n return Object.assign({\n height: v.dismissActionSize,\n minWidth: v.dismissActionSize,\n color: v.dismissActionColor || 'currentColor',\n outline: 0,\n padding: 0,\n borderWidth: 0,\n backgroundColor: v.dismissActionBackgroundColor,\n borderRadius: v.borderRadius,\n display: 'inline-flex',\n justifyContent: 'center',\n alignItems: 'center',\n position: 'relative',\n verticalAlign: 'middle',\n cursor: 'pointer',\n transition: faster\n }, getIconFillOrOutlineStyles({\n outline: true\n }), !p.hasContent && (_ref2 = {}, _ref2[\"& .\" + alertDismissActionSlotClassNames.content] = Object.assign({}, getIndicatorStyles(dismissActionIndicatorColor, true, v.dismissActionIndicatorSize)), _ref2), {\n ':hover': Object.assign({\n backgroundColor: v.hoverBackgroundColor,\n color: 'currentColor'\n }, getIconFillOrOutlineStyles({\n outline: false\n }), !p.hasContent && (_ref3 = {}, _ref3[\"& .\" + alertDismissActionSlotClassNames.content] = Object.assign({}, getIndicatorStyles(dismissActionIndicatorColor, false, v.dismissActionIndicatorSize)), _ref3), getBorderFocusStyles({\n variables: {\n borderRadius: v.dismissActionHoverBorderRadius,\n borderWidth: v.dismissActionHoverBorderWidth,\n focusInnerBorderColor: v.dismissActionHoverInnerBorderColor,\n focusOuterBorderColor: v.dismissActionHoverOuterBorderColor,\n zIndexes: {\n foreground: v.dismissActionHoverZIndex\n }\n }\n })[':focus-visible']),\n ':focus': borderFocusStyles[':focus'],\n ':focus-visible': Object.assign({\n backgroundColor: v.focusBackgroundColor,\n borderColor: v.dismissActionBorderColorFocus,\n color: v.dismissActionColorFocus,\n borderWidth: borderWidth\n }, borderFocusStyles[':focus-visible'], getIconFillOrOutlineStyles({\n outline: false\n }), !p.hasContent && (_ref4 = {}, _ref4[\"& .\" + alertDismissActionSlotClassNames.content] = Object.assign({}, getIndicatorStyles(dismissActionIndicatorColor, false, v.dismissActionIndicatorSize)), _ref4), {\n ':hover': {\n borderColor: v.dismissActionBorderColorHover\n }\n })\n }, p.disabled && {\n cursor: 'default',\n color: v.dismissActionColorDisabled,\n boxShadow: 'none',\n pointerEvents: 'none',\n ':hover': {\n color: v.dismissActionColorDisabled\n },\n backgroundColor: v.dismissActionBackgroundColorDisabled,\n borderColor: v.dismissActionBorderColorDisabled\n });\n },\n content: function content(_ref5) {\n var p = _ref5.props,\n v = _ref5.variables,\n theme = _ref5.theme;\n var siteVariables = theme.siteVariables;\n\n var _getIntentColorsFromP2 = getIntentColorsFromProps(p, v, siteVariables),\n dismissActionIndicatorColor = _getIntentColorsFromP2.color;\n\n return Object.assign({\n fontWeight: v.dismissActionContentFontWeight\n }, !p.hasContent && Object.assign({}, getIndicatorStyles(dismissActionIndicatorColor, false, v.dismissActionIndicatorSize)));\n }\n};\n//# sourceMappingURL=alertDismissActionStyles.js.map\n","export var dismissIndicatorUrl = function dismissIndicatorUrl(color, outline) {\n if (outline) {\n return \"url(\\\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' role='presentation' focusable='false' viewBox='8 8 16 16'%3E%3Cg%3E%3Cpath fill='\" + encodeURIComponent(color) + \"' d='M16.707 16l4.243-4.243a.5.5 0 1 0-.707-.707L16 15.293l-4.243-4.243a.5.5 0 1 0-.707.707L15.293 16l-4.243 4.243a.5.5 0 1 0 .707.707L16 16.707l4.243 4.243a.498.498 0 0 0 .707 0 .5.5 0 0 0 0-.707L16.707 16z' /%3E%3C/g%3E%3C/svg%3E\\\")\";\n }\n\n return \"url(\\\"data:image/svg+xml, %3Csvg xmlns='http://www.w3.org/2000/svg' role='presentation' focusable='false' viewBox='8 8 16 16'%3E%3Cg%3E%3Cpath fill='\" + encodeURIComponent(color) + \"' d='M17.414 16l3.89-3.89a1 1 0 1 0-1.415-1.413L16 14.586l-3.89-3.89a1 1 0 1 0-1.413 1.415L14.586 16l-3.89 3.89a1 1 0 1 0 1.415 1.413L16 17.414l3.89 3.89a.997.997 0 0 0 1.413 0 1 1 0 0 0 0-1.415L17.414 16z' /%3E%3C/g%3E%3C/svg%3E\\\")\";\n};\n//# sourceMappingURL=dismissIndicatorUrl.js.map\n","import { pxToRem } from '../../../../utils';\n\nvar commonButtonsStyles = function commonButtonsStyles(circular) {\n return circular ? {\n marginRight: pxToRem(8)\n } : {\n borderRadius: 0\n };\n};\n\nexport var buttonGroupStyles = {\n root: function root() {\n return {};\n },\n middleButton: function middleButton(_ref) {\n var p = _ref.props;\n return Object.assign({}, commonButtonsStyles(p.circular));\n },\n firstButton: function firstButton(_ref2) {\n var p = _ref2.props,\n v = _ref2.variables;\n return Object.assign({}, commonButtonsStyles(p.circular), !p.circular && {\n borderTopLeftRadius: v.borderRadius,\n borderBottomLeftRadius: v.borderRadius\n });\n },\n lastButton: function lastButton(_ref3) {\n var p = _ref3.props,\n v = _ref3.variables;\n return Object.assign({}, commonButtonsStyles(p.circular), !p.circular && {\n borderTopRightRadius: v.borderRadius,\n borderBottomRightRadius: v.borderRadius\n });\n }\n};\n//# sourceMappingURL=buttonGroupStyles.js.map\n","export var checkboxIndicatorUrl = function checkboxIndicatorUrl(color, backgroundColor) {\n return \"url(\\\"data:image/svg+xml, %3Csvg xmlns='http://www.w3.org/2000/svg' role='presentation' style='background-color: \" + encodeURIComponent(backgroundColor) + \"; padding: 2px;' focusable='false' viewBox='8 8 22.5 22.5'%3E%3Cg%3E%3Cpath fill='\" + encodeURIComponent(color) + \"' d='M23.5 11.875a.968.968 0 0 1-.289.711l-8.25 8.25c-.192.193-.43.289-.711.289s-.519-.096-.711-.289l-4.75-4.75a.965.965 0 0 1-.289-.711c0-.125.027-.25.082-.375s.129-.234.223-.328a.953.953 0 0 1 .695-.297c.135 0 .266.025.391.074.125.05.231.121.32.215l4.039 4.047 7.539-7.547a.886.886 0 0 1 .32-.215c.125-.049.255-.074.391-.074a1.004 1.004 0 0 1 .922.625.97.97 0 0 1 .078.375z' /%3E%3C/g%3E%3C/svg%3E\\\")\";\n};\n//# sourceMappingURL=checkboxIndicatorUrl.js.map\n","export var checkboxIndicatorIndeterminateUrl = function checkboxIndicatorIndeterminateUrl(color, backgroundColor) {\n return \"url(\\\"data:image/svg+xml, %3Csvg xmlns='http://www.w3.org/2000/svg' role='presentation' style='background-color: \" + escape(backgroundColor) + \"; padding: 2px;' focusable='false' viewBox='8 8 22.5 22.5'%3E%3Cg%3E%3Cpath fill='\" + escape(color) + \"' d='M10 16v-1h12v1H10z 11.875a.968.968 0 0 1-.289.711l-8.25 8.25c-.192.193-.43.289-.711.289s-.519-.096-.711-.289l-4.75-4.75a.965.965 0 0 1-.289-.711c0-.125.027-.25.082-.375s.129-.234.223-.328a.953.953 0 0 1 .695-.297c.135 0 .266.025.391.074.125.05.231.121.32.215l4.039 4.047 7.539-7.547a.886.886 0 0 1 .32-.215c.125-.049.255-.074.391-.074a1.004 1.004 0 0 1 .922.625.97.97 0 0 1 .078.375z' /%3E%3C/g%3E%3C/svg%3E\\\")\";\n};\n//# sourceMappingURL=checkboxIndeterminateIndicatorUrl.js.map\n","import { checkboxSlotClassNames } from '../../../../components/Checkbox/Checkbox';\nimport { getBorderFocusStyles } from '../../getBorderFocusStyles';\nimport { checkboxIndicatorUrl } from './checkboxIndicatorUrl';\nimport { checkboxIndicatorIndeterminateUrl } from './checkboxIndeterminateIndicatorUrl';\nimport { pxToRem } from '../../../../utils';\n\nvar commonToggleBeforeStyles = function commonToggleBeforeStyles(v) {\n return {\n content: \"' '\",\n display: 'block',\n borderRadius: '50%',\n width: v.toggleIndicatorSize,\n height: v.toggleIndicatorSize,\n transition: 'margin .3s ease'\n };\n};\n\nexport var checkboxStyles = {\n root: function root(_ref) {\n var _hover;\n\n var p = _ref.props,\n v = _ref.variables,\n t = _ref.theme;\n return Object.assign({\n position: 'relative',\n display: ['inline-grid', '-ms-inline-grid'],\n gridTemplateColumns: \"auto \" + v.gap + \" 1fr\",\n // IE11: Gap is done via virtual column as in autoprefixer\n msGridColumns: \"auto \" + v.gap + \" 1fr\"\n }, p.labelPosition === 'start' && {\n gridTemplateColumns: \"1fr \" + v.gap + \" auto\",\n msGridColumns: \"1fr \" + v.gap + \" auto\"\n }, {\n cursor: 'pointer',\n outline: 0,\n color: v.textColor,\n padding: v.rootPadding,\n verticalAlign: 'middle',\n alignItems: 'start'\n }, getBorderFocusStyles({\n variables: t.siteVariables,\n borderRadius: '3px'\n }), {\n ':hover': (_hover = {\n color: v.textColorHover\n }, _hover[\"& .\" + checkboxSlotClassNames.indicator] = Object.assign({}, !p.toggle && Object.assign({}, p.checked && p.checked !== 'mixed' && {\n borderColor: v.checkedBackgroundHover,\n backgroundImage: checkboxIndicatorUrl(v.checkedIndicatorColor, v.checkedBackgroundHover)\n }, !p.checked && {\n borderColor: v.borderColorHover\n }), p.toggle && !p.disabled && Object.assign({\n borderColor: v.borderColorHover,\n ':before': Object.assign({}, commonToggleBeforeStyles(v), {\n borderColor: v.borderColorHover,\n borderStyle: v.borderStyle,\n borderWidth: v.borderWidth,\n margin: v.togglePadding,\n background: 'transparent'\n })\n }, p.checked && {\n borderColor: v.checkedBorderColor,\n background: v.checkedBackgroundHover,\n ':before': Object.assign({}, commonToggleBeforeStyles(v), {\n margin: v.toggleCheckedPadding,\n background: v.checkedIndicatorColor\n })\n })), _hover)\n }, p.checked && {\n color: v.checkedTextColor\n }, p.disabled && {\n cursor: 'default',\n pointerEvents: 'none',\n color: v.disabledColor\n });\n },\n checkbox: function checkbox(_ref2) {\n var p = _ref2.props,\n v = _ref2.variables;\n return Object.assign({\n msGridRowAlign: 'center',\n gridColumn: 1,\n msGridColumn: 1\n }, p.labelPosition === 'start' && {\n gridColumn: 3,\n msGridColumn: 3\n }, {\n boxShadow: 'unset',\n width: pxToRem(16),\n height: pxToRem(16),\n borderColor: v.borderColor,\n borderStyle: v.borderStyle,\n borderRadius: v.borderRadius,\n borderWidth: v.borderWidth,\n color: v.indicatorColor,\n margin: v.margin,\n padding: v.padding,\n userSelect: 'none',\n backgroundImage: checkboxIndicatorUrl(v.indicatorColor, v.background),\n backgroundPosition: 'center',\n backgroundRepeat: 'no-repeat'\n }, p.checked && p.checked && {\n borderColor: v.checkedBorderColor,\n backgroundImage: checkboxIndicatorUrl(v.checkedIndicatorColor, v.checkedBackground)\n }, p.checked === 'mixed' && {\n borderColor: v.checkedBorderColor,\n backgroundImage: checkboxIndicatorIndeterminateUrl(v.checkedIndicatorColor, v.checkedBackground)\n }, p.disabled && {\n backgroundColor: v.disabledBackground,\n borderColor: v.disabledBorderColor\n }, p.disabled && p.checked && {\n color: v.disabledCheckedIndicatorColor,\n borderColor: v.disabledBackgroundChecked,\n backgroundImage: checkboxIndicatorUrl(v.disabledCheckedIndicatorColor, v.disabledBackgroundChecked)\n }, p.disabled && p.checked === 'mixed' && {\n color: v.disabledCheckedIndicatorColor,\n borderColor: v.disabledBackgroundChecked,\n backgroundImage: checkboxIndicatorIndeterminateUrl(v.disabledCheckedIndicatorColor, v.disabledBackgroundChecked)\n });\n },\n toggle: function toggle(_ref3) {\n var p = _ref3.props,\n v = _ref3.variables;\n return Object.assign({\n msGridRowAlign: 'center',\n gridColumn: 1,\n msGridColumn: 1\n }, p.labelPosition === 'start' && {\n gridColumn: 3,\n msGridColumn: 3\n }, {\n boxShadow: 'unset',\n boxSizing: 'border-box',\n background: v.background,\n borderColor: v.borderColor,\n borderStyle: v.borderStyle,\n borderRadius: v.toggleBorderRadius,\n borderWidth: v.borderWidth,\n margin: v.toggleMargin,\n userSelect: 'none',\n width: v.toggleWidth,\n height: v.toggleHeight,\n ':before': Object.assign({}, commonToggleBeforeStyles(v), {\n borderColor: p.disabled ? v.disabledToggleIndicatorColor : v.borderColor,\n borderStyle: v.borderStyle,\n borderWidth: v.borderWidth,\n margin: v.togglePadding\n })\n }, p.checked && {\n borderColor: v.checkedBorderColor,\n background: v.checkedBackground,\n ':before': Object.assign({}, commonToggleBeforeStyles(v), {\n margin: v.toggleCheckedPadding,\n background: v.checkedIndicatorColor\n })\n }, p.disabled && Object.assign({\n background: v.disabledBackground,\n borderColor: v.disabledBorderColor\n }, p.checked && {\n background: v.disabledBackgroundChecked,\n borderColor: 'transparent',\n ':before': Object.assign({}, commonToggleBeforeStyles(v), {\n margin: v.toggleCheckedPadding,\n background: v.disabledCheckedIndicatorColor\n })\n }));\n },\n label: function label(_ref4) {\n var p = _ref4.props;\n return Object.assign({\n display: 'block',\n // IE11: should be forced to be block, as inline-block is not supported\n gridColumn: 3,\n msGridColumn: 3\n }, p.labelPosition === 'start' && {\n gridColumn: 1,\n msGridColumn: 1\n });\n }\n};\n//# sourceMappingURL=checkboxStyles.js.map\n","import _get from \"lodash/get\";\nimport { pxToRem } from '../../../../utils';\n\nvar beforeAndAfter = function beforeAndAfter(size, variables, colors, props) {\n return Object.assign({\n content: '\"\"',\n flex: 1\n }, props.vertical ? {\n width: size + 1 + \"px\",\n height: '100%'\n } : {\n height: size + 1 + \"px\"\n }, {\n background: _get(colors, 'foreground', variables.dividerColor)\n });\n};\n\nexport var dividerStyles = {\n root: function root(_ref) {\n var props = _ref.props,\n variables = _ref.variables;\n var color = props.color,\n fitted = props.fitted,\n size = props.size,\n important = props.important,\n hasContent = props.hasContent,\n vertical = props.vertical;\n var colors = variables.colorScheme[color];\n return Object.assign({\n color: _get(colors, 'foreground', variables.textColor),\n display: 'flex',\n alignItems: 'center'\n }, !fitted && {\n padding: vertical ? \"0 \" + variables.dividerPadding : variables.dividerPadding + \" 0\"\n }, important && {\n fontWeight: variables.importantFontWeight\n }, vertical && {\n height: '100%'\n }, hasContent ? {\n textAlign: 'center',\n fontSize: pxToRem(12 + size),\n lineHeight: variables.textLineHeight,\n '::before': Object.assign({}, beforeAndAfter(size, variables, colors, props)),\n '::after': Object.assign({}, beforeAndAfter(size, variables, colors, props))\n } : {\n '::before': Object.assign({}, beforeAndAfter(size, variables, colors, props))\n });\n }\n};\n//# sourceMappingURL=dividerStyles.js.map\n","import { pxToRem } from '../../../../utils';\nimport { DAYS_IN_WEEK } from '../../../../utils/date-time-utilities';\nexport var datepickerVariables = function datepickerVariables(siteVars) {\n return {\n calendarCellBorder: 'none',\n calendarCellHeight: pxToRem(34),\n calendarCellWidth: pxToRem(34),\n calendarCellPadding: pxToRem(0),\n calendarCellMargin: pxToRem(0),\n calendarCellBackgroundColor: siteVars.colorScheme.default.background,\n calendarCellColor: 'inherit',\n calendarCellQuietColor: siteVars.colorScheme.default.foreground2,\n calendarCellSelectedColor: siteVars.colorScheme.brand.background4,\n calendarCellSelectedBackgroundColor: siteVars.colorScheme.brand.borderActive1,\n calendarCellTodayBackgroundColor: siteVars.colorScheme.brand.backgroundFocus,\n calendarCellTodayColor: siteVars.colorScheme.white.foreground,\n calendarCellTodayBorderRadius: '50%',\n calendarCellHoverBackgroundColor: siteVars.colorScheme.brand.backgroundHover2,\n calendarCellHoverColor: 'inherit',\n calendarCellDisabledColor: siteVars.colorScheme.brand.foregroundDisabled,\n calendarCellDisabledBackgroundColor: siteVars.colorScheme.default.background,\n calendarHeaderCellFontWeight: siteVars.fontWeightRegular,\n calendarHeaderCellHeight: pxToRem(32),\n calendarHeaderCellPadding: pxToRem(2) + \" \" + pxToRem(0) + \" \" + pxToRem(2) + \" \" + pxToRem(0),\n calendarHeaderCellWidth: \"calc(100%/\" + DAYS_IN_WEEK + \")\",\n calendarHeaderPaddingTop: pxToRem(5),\n calendarHeaderPaddingBottom: pxToRem(5),\n calendarHeaderLabelPaddingLeft: pxToRem(10),\n calendarHeaderLabelFontWeight: siteVars.fontWeightBold,\n calendarMinHeight: pxToRem(282)\n };\n};\n//# sourceMappingURL=datepickerVariables.js.map\n","export var chatVariables = function chatVariables(siteVars) {\n return {\n backgroundColor: siteVars.colors.grey[100]\n };\n};\n//# sourceMappingURL=chatVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var chatItemVariables = function chatItemVariables() {\n return {\n margin: pxToRem(8),\n gutterMargin: pxToRem(10),\n messageMargin: pxToRem(40)\n };\n};\n//# sourceMappingURL=chatItemVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var chatMessageVariables = function chatMessageVariables(siteVars) {\n return {\n actionMenuBoxShadow: siteVars.shadowLevel1,\n actionMenuPositionRight: pxToRem(5),\n actionMenuPositionTop: pxToRem(-30),\n backgroundColor: siteVars.colors.white,\n backgroundColorMine: siteVars.colors.brand[100],\n borderRadius: pxToRem(3),\n color: 'rgb(64, 64, 64)',\n offset: pxToRem(100),\n padding: pxToRem(16),\n authorMarginRight: pxToRem(12),\n authorColor: siteVars.colorScheme.default.foreground,\n authorFontWeight: siteVars.fontWeightSemibold,\n headerMarginBottom: pxToRem(2),\n contentColor: siteVars.colors.grey[750],\n linkColor: siteVars.colorScheme.brand.foreground1,\n linkColorMine: siteVars.colorScheme.brand.foreground2,\n border: 'none',\n badgeShadow: siteVars.shadowLevel1Dark,\n isImportant: false,\n hasMention: false,\n hasMentionColor: siteVars.colors.orange[300],\n hasMentionNubbinColor: siteVars.colors.orange[400],\n isImportantColor: siteVars.colors.red[400],\n badgeTextColor: siteVars.colors.white,\n reactionGroupMarginLeft: pxToRem(12),\n reactionGroupBorderColor: 'transparent',\n showActionMenu: undefined,\n timestampColorMine: siteVars.colorScheme.default.foreground1,\n zIndex: siteVars.zIndexes.foreground,\n overlayZIndex: siteVars.zIndexes.overlay\n };\n};\n//# sourceMappingURL=chatMessageVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var chatMessageDetailsVariables = function chatMessageDetailsVariables(siteVars) {\n return {\n detailsColor: siteVars.colors.grey[350],\n detailsHoverColor: siteVars.colors.grey[500],\n detailsColorMine: siteVars.colors.grey[500],\n detailsHoverColorMine: siteVars.colors.grey[500],\n detailsFontSize: siteVars.fontSizes.small,\n detailsMargin: pxToRem(12)\n };\n};\n//# sourceMappingURL=chatMessageDetailsVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var chatMessageReadStatusVariables = function chatMessageReadStatusVariables(siteVars) {\n return {\n rightPoistion: pxToRem(-24),\n bottomPoistion: pxToRem(0)\n };\n};\n//# sourceMappingURL=chatMessageReadStatusVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var dialogVariables = function dialogVariables(siteVariables) {\n return {\n border: 'none',\n rootBackground: siteVariables.colors.white,\n rootBorderRadius: pxToRem(3),\n rootWidth: '50vw',\n rootPadding: pxToRem(27) + \" \" + pxToRem(32) + \" \" + pxToRem(32) + \" \" + pxToRem(32),\n contentMargin: \"0 0 \" + pxToRem(20) + \" 0\",\n boxShadow: siteVariables.shadowLevel4,\n foregroundColor: siteVariables.colors.grey[900],\n headerFontSize: siteVariables.fontSizes.large,\n headerFontWeight: siteVariables.fontWeightBold,\n headerMargin: \"0 0 \" + pxToRem(8) + \" 0\",\n overlayBackground: 'rgba(37, 36, 36, .75)',\n // todo: update to a palette value when daisy has mapped one\n overlayZIndex: siteVariables.zIndexes.overlay,\n headerActionMargin: pxToRem(-3) + \" \" + pxToRem(-8) + \" 0 0\"\n };\n};\n//# sourceMappingURL=dialogVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var embedVariables = function embedVariables(siteVariables) {\n return {\n controlColor: siteVariables.colors.white,\n controlBackgroundColor: siteVariables.colors.onyx[900],\n controlBackgroundSize: pxToRem(24) + \" \" + pxToRem(24),\n width: undefined,\n height: undefined,\n focusBorderColor: siteVariables.colors.brand[500],\n zIndex: siteVariables.zIndexes.foreground\n };\n};\n//# sourceMappingURL=embedVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var flexVariables = function flexVariables() {\n return {\n // GAP VALUES\n 'gap.smaller': pxToRem(8),\n 'gap.small': pxToRem(10),\n 'gap.medium': pxToRem(15),\n 'gap.large': pxToRem(30),\n // PADDING VALUES\n 'padding.medium': pxToRem(10)\n };\n};\n//# sourceMappingURL=flexVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var flexItemVariables = function flexItemVariables() {\n return {\n 'size.half': '50%',\n 'size.quarter': '25%',\n 'size.small': pxToRem(150),\n 'size.medium': pxToRem(200),\n 'size.large': pxToRem(300)\n };\n};\n//# sourceMappingURL=flexItemVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var formVariables = function formVariables(siteVariables) {\n return {\n lastChildMarginTop: pxToRem(12),\n fieldsMarginBottom: pxToRem(20)\n };\n};\n//# sourceMappingURL=formVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var formLabelVariables = function formLabelVariables(siteVariables) {\n return {\n lineHeight: pxToRem(16),\n marginBottom: pxToRem(4)\n };\n};\n//# sourceMappingURL=formLabelVariables.js.map\n","export var gridVariables = function gridVariables() {\n return {\n defaultColumnCount: 5,\n gridGap: undefined,\n padding: undefined\n };\n};\n//# sourceMappingURL=gridVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var imageVariables = function imageVariables() {\n return {\n width: undefined,\n height: undefined,\n avatarRadius: pxToRem(9999),\n avatarSize: pxToRem(32),\n circularRadius: pxToRem(9999)\n };\n};\n//# sourceMappingURL=imageVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var inputVariables = function inputVariables(siteVars) {\n return {\n colorDisabled: siteVars.colorScheme.brand.foregroundDisabled,\n colorError: siteVars.colorScheme.red.foreground,\n borderColorError: siteVars.colorScheme.red.background,\n iconPosition: 'absolute',\n iconRight: pxToRem(10),\n iconLeft: pxToRem(9),\n inputPaddingWithIconAtStart: pxToRem(5) + \" \" + pxToRem(12) + \" \" + pxToRem(5) + \" \" + pxToRem(34),\n inputPaddingWithIconAtEnd: pxToRem(5) + \" \" + pxToRem(35) + \" \" + pxToRem(5) + \" \" + pxToRem(12),\n inputPadding: pxToRem(5) + \" \" + pxToRem(12),\n inputInsideLabelPaddingTop: pxToRem(14),\n borderColor: 'transparent',\n borderRadius: pxToRem(3) + \" \" + pxToRem(3) + \" \" + pxToRem(2) + \" \" + pxToRem(2),\n borderWidth: \"0 0 \" + pxToRem(2) + \" 0\",\n backgroundColor: siteVars.colorScheme.default.background2,\n backgroundColorInverted: siteVars.colorScheme.default.background,\n fontColor: siteVars.colorScheme.default.foreground,\n fontSize: siteVars.fontSizes.medium,\n iconColor: siteVars.colorScheme.default.foreground,\n successfulColor: siteVars.colorScheme.green.foreground,\n inputFocusBorderColor: \"transparent transparent \" + siteVars.colorScheme.brand.borderFocus1 + \" transparent\",\n inputFocusBorderRadius: pxToRem(3) + \" \" + pxToRem(3) + \" \" + pxToRem(2) + \" \" + pxToRem(2),\n placeholderColor: siteVars.colorScheme.default.foreground1\n };\n};\n//# sourceMappingURL=inputVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var inputLabelVariables = function inputLabelVariables(siteVars) {\n return {\n insideLabelBottom: pxToRem(-8),\n insideLabelPaddingLeft: pxToRem(12),\n insideLabelActiveFontSize: pxToRem(12),\n inlineLabelPaddingRight: pxToRem(10),\n lineHeight: pxToRem(16),\n marginBottom: pxToRem(4)\n };\n};\n//# sourceMappingURL=inputLabelVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var labelVariables = function labelVariables(siteVars) {\n return {\n circularRadius: pxToRem(9999),\n iconSize: pxToRem(16),\n padding: \"0 \" + pxToRem(4) + \" 0 \" + pxToRem(4),\n startPaddingLeft: '0px',\n endPaddingRight: '0px',\n height: pxToRem(20),\n foreground: 'rgba(0, 0, 0, 0.6)',\n background: 'rgb(232, 232, 232)',\n blackForeground: siteVars.colorScheme.black.foreground1,\n blackBackground: siteVars.colorScheme.black.background1,\n whiteForeground: siteVars.colorScheme.white.foreground1,\n whiteBackground: siteVars.colorScheme.white.background1,\n brandForeground: siteVars.colorScheme.brand.foreground5,\n brandBackground: siteVars.colorScheme.brand.background6,\n greyForeground: siteVars.colorScheme.grey.foreground2,\n greyBackground: siteVars.colorScheme.grey.background3,\n orangeForeground: siteVars.colorScheme.orange.foreground2,\n orangeBackground: siteVars.colorScheme.orange.background1,\n redForeground: siteVars.colorScheme.red.foreground1,\n redBackground: siteVars.colorScheme.red.background,\n greenForeground: siteVars.colorScheme.green.foreground3,\n greenBackground: siteVars.colorScheme.green.background1,\n yellowForeground: siteVars.colorScheme.yellow.foreground3,\n yellowBackground: siteVars.colorScheme.yellow.background\n };\n};\n//# sourceMappingURL=labelVariables.js.map\n","export var layoutVariables = function layoutVariables() {\n return {};\n};\n//# sourceMappingURL=layoutVariables.js.map\n","import { pxToRem } from '../../../../utils';\nimport { loaderSvgDataUrl } from './loaderSvgDataUrl';\nexport var loaderVariables = function loaderVariables() {\n return {\n containerHeights: {\n smallest: pxToRem(24),\n smaller: pxToRem(24),\n small: pxToRem(24),\n medium: pxToRem(36),\n large: pxToRem(72),\n larger: pxToRem(72),\n largest: pxToRem(72)\n },\n containerWidths: {\n smallest: pxToRem(24),\n smaller: pxToRem(24),\n small: pxToRem(24),\n medium: pxToRem(36),\n large: pxToRem(72),\n larger: pxToRem(72),\n largest: pxToRem(72)\n },\n svgContent: loaderSvgDataUrl,\n svgHeights: {\n smaller: pxToRem(1464),\n smallest: pxToRem(1464),\n small: pxToRem(1464),\n medium: pxToRem(2196),\n large: pxToRem(4392),\n larger: pxToRem(4392),\n largest: pxToRem(4392)\n },\n svgTranslatePosition: {\n smallest: pxToRem(-1440),\n smaller: pxToRem(-1440),\n small: pxToRem(-1440),\n medium: pxToRem(-2160),\n large: pxToRem(-4320),\n larger: pxToRem(-4320),\n largest: pxToRem(-4320)\n },\n svgWidths: {\n smallest: pxToRem(24),\n smaller: pxToRem(24),\n small: pxToRem(24),\n medium: pxToRem(36),\n large: pxToRem(72),\n larger: pxToRem(72),\n largest: pxToRem(72)\n }\n };\n};\n//# sourceMappingURL=loaderVariables.js.map\n","export var loaderSvgDataUrl = \"url(\\\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 4880'%3E%3Cg role='presentation'%3E%3Cpath fill='%236264a7' d='M67.4 26.4c5.8-2 12.4 3.3 11.4 9.4-.4 6.5-8.8 10-13.8 6-5.6-3.6-4.2-13.5 2.4-15.3zM66.5 113.7c5.7-3.3 13.6 1.8 12.7 8.4 0 6.4-8 10.4-13.2 7-5.6-3.2-5.4-12.5.5-15.3z'%3E%3C/path%3E%3Cpath fill='%235659b0' d='M65.5 200.4c5.7-3.4 13.6 2 12.6 8.5 0 6-7 10.7-12.7 7.7-6.4-3-6-13.2.2-16.3z'%3E%3C/path%3E%3Cpath fill='%23575ab1' d='M64.3 286.2c5-2 11.3 2.3 11.2 7.8 0 5.4-4.5 11.7-10.5 11-5.4-.3-9.2-6.3-7.3-11.2 1.2-3.2 3.2-6.5 6.6-7.6z'%3E%3C/path%3E%3Cpath fill='%23585bb2' d='M59.4 372.5c5-2.6 11.6 1 12 6.5.8 5-3.4 8.6-7 11.3-4.5 3.2-11.7.2-12.6-5.3-1.4-5.5 3.6-9.7 7.6-12.5z'%3E%3C/path%3E%3Cpath fill='%235a5db4' d='M54.3 457.4c4-2.2 9.6 0 11.2 4.2 1.7 3.7 0 8.4-3.5 10.5-3.7 2.5-8.2 5.6-12.8 4-4.3-1.6-6.5-6.8-4.8-11 1.5-4.2 6.4-5.4 10-7.6z'%3E%3C/path%3E%3Cpath fill='%235b5fb6' d='M48.6 540.7c4.4-2 10 1 11 5.7 1 4-1.4 8.4-5.4 9.7-4 1.6-8.5 3-13 2.5-5.6-.8-8.6-8-5.3-12.6 2.7-4.4 8.4-3.5 12.6-5.3z'%3E%3C/path%3E%3Cpath fill='%235d60b8' d='M29.4 622.4c3-1.5 6.4 0 9.6 0 3.4.3 7.3-1 10.3 1.3 4.6 3 4.4 10.4-.2 13.3-3.7 2-8.2 1.7-12.4 1.5-3.6-.5-7.8-.7-10.2-4-3.2-3.7-1.6-10.2 3-12z'%3E%3C/path%3E%3Cpath fill='%235f63ba' d='M20.3 698.3c4-2 7.8 1.3 11.4 2.8 4 2 9.6 1 12.2 5 3.3 4.7-.2 12-6 12.3-7 0-14-2.6-19.7-6.6-4.7-3.4-3.5-11.6 2-13.4z'%3E%3C/path%3E%3Cpath fill='%236165bc' d='M12.3 771.3c3-1.5 7-.6 9 2 3 3.8 6.7 6.7 11 8.3 3.3 1 5.7 4 5.5 7.4.2 4.8-4.8 8.7-9.3 7.4-7.7-2.2-14.5-7.2-19.3-13.6-2.8-3.7-1.2-9.8 3-11.5z'%3E%3C/path%3E%3Cpath fill='%236467bf' d='M7.5 841.7c4-2 9.2.3 10.3 4.6 1.7 5.4 5 10 9.7 13 4 2.5 4.6 8.4 1.4 11.6-2.5 2.6-7 3-10 1-7.4-5-13-12.6-15.5-21-1.2-3.6.5-8 4-9.3z'%3E%3C/path%3E%3Cpath fill='%23666ac1' d='M6.5 910.8c3-1.6 7.3-.4 9 2.6 1.7 2.2 1 5 1.4 7.6 0 5.6 2.5 11 6 15 2.5 2.5 2.7 6.7.5 9.5-2.4 3.3-7.8 3.8-10.7 1-7.6-7.8-11.5-19-10.6-29.6.2-2.7 1.8-5.2 4.3-6.2z'%3E%3C/path%3E%3Cpath fill='%23696cc4' d='M9.3 980c3.7-2 9 .3 10 4.4 1 2.4-.2 4.8-1 7-2.4 5.7-2.3 12.4.3 18 1 2.3 2.4 5 1.5 7.6-1 4-5.7 6.2-9.5 4.5-2.6-1-3.8-3.7-5-6-4.4-10-4.3-21.8.4-31.6.6-1.7 1.7-3 3.3-4z'%3E%3C/path%3E%3Cpath fill='%236b6fc7' d='M16.3 1051.2c4-2.6 10 1 10 5.8.5 3-2 5.3-4 7.4-5.3 5.7-7 14-5.2 21.6 1 3.5-1 7.4-4.4 8.5-3.4 1.2-7.6-.8-8.7-4.3-4.2-13.8.7-30.2 12.3-39z'%3E%3C/path%3E%3Cpath fill='%236e72ca' d='M26.4 1125.3c4.5-2.6 10.7 1.5 10 6.7-.4 3.3-3.3 5.2-6 6.3-8.2 3.4-14 11.8-14.2 20.6 0 2.6-.6 5.6-3.2 7-4 2.8-10 0-10.2-5-.8-15.3 9.2-30.3 23.6-35.7z'%3E%3C/path%3E%3Cpath fill='%237175cd' d='M35.3 1203.2c3.7-.3 8.6-1.2 11.2 2.3 2.7 3.2 1 8.8-3 10-3.7.8-7.7.3-11.3 1.7-8 2.6-13.8 9.5-15.8 17.5-1 4.7-7.6 6.2-10.8 2.7-2.8-2.7-1.7-7-.4-10 4.5-13 16.6-22.6 30-24.2z'%3E%3C/path%3E%3Cpath fill='%237478d0' d='M36.4 1283.3c7-.6 14.2.5 20.3 4 3.8 2.4 3.3 8.7-.8 10.6-3 1.5-6-.2-8.6-1-9.8-3.5-21.6.5-27.3 9-1.5 2.4-3 5.6-6 6-4.6 1-9-4.4-6.8-8.7 5.4-11 17-18.8 29.2-20z'%3E%3C/path%3E%3Cpath fill='%23777bd3' d='M36.5 1363.5c11.6-1 23.8 3.6 31.3 12.7 2.7 3.6-.3 9.5-4.8 9.4-3.2.3-5-2.6-7.3-4.4-8.4-7.4-22.2-7.6-31-.4-2.3 1.8-4.3 5-7.7 4.7-4.7 0-7.5-6.3-4.4-9.8 6-7 14.8-11.3 24-12.2z'%3E%3C/path%3E%3Cpath fill='%237a7ed6' d='M31.4 1444.6c18-4.8 38.3 6.6 43.3 24.6 1 4-3.5 8-7.4 6.6-3.5-1-4-4.8-5.5-7.5-5.5-10.8-19.6-16-30.8-11.4-3.2 1-6.2 4.3-10 3-3.8-1.4-5-7.2-1.7-9.8 3.5-2.8 7.8-4.4 12-5.6z'%3E%3C/path%3E%3Cpath fill='%237d81da' d='M32.4 1524.6c15-3.4 31.8 4 39.2 17.8 3.5 6.5 5.3 14 4.3 21.5-1 4-6.7 5.5-9.5 2.4-2-2-1.4-5-1.6-7.4-.2-11.6-9.6-22-21-23.7-4.4-.8-8.8 0-13 1-4 1.2-7.7-3.5-6-7.2 1-3 4.6-3.7 7.4-4.4z'%3E%3C/path%3E%3Cpath fill='%238084dd' d='M36.3 1604.4c14-2 28.5 6 35 18.2 6 10.6 6 24.3 0 34.8-2 3.5-7.6 3-9-.6-1.8-3.5 1.4-6.8 2-10.2 3.8-12.4-4-26.7-16.3-30.5-4-1.6-8.3-.8-12.4-1.6-4.6-1.7-4-9 .7-10z'%3E%3C/path%3E%3Cpath fill='%238387e0' d='M43.3 1685.3c4-1.2 8.2 1 12 2.5 14.7 6.6 23.3 24.2 19.5 40-1.8 8-6.5 15.7-13.4 20.6-3 2.2-8-.6-7.7-4.4 0-2.3 1.8-3.7 3.3-5 7-6 10-16 7.8-24.7-1.8-8-7.6-15-15.3-18-2.2-.8-4.6-1-6.8-2-3.4-2-3-7.5.6-9z'%3E%3C/path%3E%3Cpath fill='%23868be4' d='M50.2 1768c1.4-.8 3.2-.8 4.7 0 13.2 5.7 21.7 20.5 20.3 35-1 15-12.6 28.5-27.3 31.4-3.4.6-6.4-3-5-6.3.6-2.6 3.7-3 6-4 8.2-2.8 14.5-10.4 16.2-19 2-9-1.5-18.8-8.6-24.6-2.2-2-5-3-7.2-4.8-2.2-2-1.7-6 .8-7.5z'%3E%3C/path%3E%3Cpath fill='%238a8ee7' d='M57.4 1852.2c3.7-1.8 6.6 2 9 4.5 11 12 11.7 31.6 1.7 44.5-6.8 9.3-18.5 14.6-30 14-2.4-.3-5.3-.2-7-2.2-1.6-2-1-5.4 1.3-6.8 1.7-1 3.8-.3 5.6-.4 9.8 1 20-4.5 24.7-13.2 4.6-8 4.3-18.7-.8-26.5-1.8-3-4.5-5-6.6-7.4-1.4-2.2-.4-5.4 2-6.4z'%3E%3C/path%3E%3Cpath fill='%238d91ea' d='M62.3 1938.3c1.7-1 4.3-1 5.6.8 9 11.5 9.2 28.8.8 40.8-7 10.4-20 16.4-32.6 15-5.7-.7-11.3-2.7-16-6-2.6-1.8-2-6.4 1-7.5 2.2-1 4.2.6 6 1.5 8.6 5 20 4.4 28-1.5 7.7-5.4 12-15 10.8-24.3-.3-4.5-2.3-8.6-4.7-12.4-1.6-2-1-5 1-6.3z'%3E%3C/path%3E%3Cpath fill='%239095ee' d='M66.3 2025.2c2-1.2 4.8-.5 5.7 1.6 5.6 12.8 2.2 28.7-8 38.2-9.4 9.2-24.2 12.2-36.5 7.4-7-2.8-13.5-8-17.3-14.7-1.2-2.6 1-5.8 3.8-5.7 2.5 0 3.7 2.4 5 4 7 9.5 20.5 13 31.2 8.4 12-4.7 19-18.8 15.3-31-.8-2.7-2.3-6.5.8-8.2z'%3E%3C/path%3E%3Cpath fill='%239398f1' d='M68.6 2112.7c2-1 5 0 5.4 2.4 2.4 14.5-5.8 30-19.2 36-12.5 6.2-28.7 3.6-38.7-6.2-5.6-5.5-9.4-13-10-21-.4-4 6-5 7.2-1.2 1 5.5 3 11 7 15.3 7 7.8 19 11 28.8 7 10.7-3.6 18.4-14.7 17.7-26-.2-2.2-.6-5.3 2-6.3z'%3E%3C/path%3E%3Cpath fill='%23969bf5' d='M8.4 2188.4c2-2 6-.3 6 2.6-.4 2-1 4-1.2 5.8-1 8.8 2.5 18 9.3 23.7 7 6 17.2 8 26 5 10-3 17-12.3 18.4-22.5.3-4 6.7-3.6 7 .3-1 15-13.3 28-28 30.3-13 2.5-27.4-3.6-34.6-15-5.2-7.8-6.8-17.8-4.6-27 .4-1 .6-2.4 1.6-3.2z'%3E%3C/path%3E%3Cpath fill='%23999ef8' d='M15.3 2257c2-1 4.4 0 5 2.2.3 2-1.3 3.3-2.3 4.8-5.7 7.6-6.8 18.2-3 27 4.3 10 15 16.7 26 16.2 10-.3 19.4-6.6 23.7-15.6 1.2-3.4 6.7-2.2 6.4 1.4-.7 3.4-3 6.3-5 9-9.3 11-26 15-39.3 9.2C13.8 2306 5 2292 6 2278c.7-7.8 3.7-15.7 9.3-21z'%3E%3C/path%3E%3Cpath fill='%239ca1fb' d='M25.6 2329.6c1.8-1.2 4.5.2 4.6 2.5.2 2.7-2.8 3.4-4.6 4.7-12 7-16.6 23.5-10 35.7 5.8 12.2 21.6 18.4 34.2 13.2 3.6-1.2 6.4-3.6 9.5-5.7 2.8-2 6 2.5 3.6 4.7-11.4 11-30.5 12-43 2.4-12.8-9-17.4-27.3-10.5-41.3 3.3-7 9-13 16-16z'%3E%3C/path%3E%3Cpath fill='%236264a7' d='M33.2 2407.2c2.3-.4 4.6-.8 7-.6 2.4.5 3 4.2.6 5.4-4 .7-8.3 1-12 2.8-12.6 5.3-19.5 20.5-15.2 33.4 4 13.3 18.8 22 32.3 18.8 2-.6 6-2 6.7 1.3.7 3.7-4 4-6.6 4.6-15.4 3-32.3-6.4-37.4-21.4-5.3-13.8 0-30.6 12-39 3.8-2.6 8-4.4 12.6-5.4z'%3E%3C/path%3E%3Cpath fill='%239ca1fb' d='M37.4 2486.4c5.5-.4 11.3.4 16.3 3 2 1.6.8 5.3-2 5.4-3.5-.8-7-2.3-10.8-2.2-13-.7-25.2 9-27.8 21.4-3 12 3.4 25 14.4 30.5 3.4 2 7.3 2.3 11 3 2.7 1 2.3 5.6-.6 6-17.3-.3-32-16.3-31.7-33.5-.4-17 14-32.7 31-33.6z'%3E%3C/path%3E%3Cpath fill='%23999ef8' d='M33.5 2566.7c10.8-2.2 22.7 1.3 30.5 9.3 1.8 1.6 1 5-1.3 5.6-2.3 1-4-1.5-5.6-2.7-9.6-8.4-25-8-34.6.3-8.6 7-12 19.7-8 30 2.3 6.4 7 11.4 12.7 14.8 3.2 2 .6 7.3-2.8 6-13.8-6.8-21.2-24-17-38.7 3-12.3 13.8-22.3 26.3-24.6z'%3E%3C/path%3E%3Cpath fill='%23969bf5' d='M32.4 2646.7c15-3.7 32 4.3 38.3 18.5.8 2.3-1.4 4.8-3.8 4.5-2.2 0-3-2.2-4-3.7-5.6-9.7-17.8-14.8-28.6-12.4-9.8 2-18 10-20.5 19.6-2 7.2-.8 15.2 3.4 21.4 1 1.5 2.4 3.3 1.4 5.2-1 2.4-4.7 2.8-6 .7-9.2-11.7-9.2-29.2-.2-41 4.8-6.4 12-11 19.8-12.8z'%3E%3C/path%3E%3Cpath fill='%239398f1' d='M31.4 2726.7c14.6-4 31.3 3 38.5 16.3 1.7 3.3 3.4 7 3.7 10.8-.3 2.8-4 4.3-6 2.6-1.6-1-1.7-3-2.3-4.6-2.5-8.4-9.6-15-18-17.5-8.6-2.6-18.6-.3-25.2 5.8-6.5 6-10 15-8.6 23.5 0 1.8 1 4-.5 5.6-1.5 2.2-5.2 1.8-6.3-.7-5.2-17.5 7-37.5 24.7-41.6z'%3E%3C/path%3E%3Cpath fill='%239095ee' d='M36.4 2805.5c14.7-1.7 29.7 7 35.4 20.6 2 5 3.2 10.4 2.8 15.7-.5 4-6.7 4.5-7.8.7-.6-3.3-.3-6.8-1.5-10-3-10.4-12.7-18.2-23.4-18.8-11.8-1-23.7 6.8-27 18-1 2.2-1 5-3.4 6-2.7 1.2-6-1.4-5.6-4.3 2.6-14.6 15.7-26.5 30.4-27.8z'%3E%3C/path%3E%3Cpath fill='%238d91ea' d='M33.5 2885.7c14-2.8 29.3 4 36.5 16.3 5 8.4 6.4 19 3.3 28.2-1 3-5.7 3.6-7.5 1-1.5-2.2 0-4.8 0-7 2.3-12-5-24.4-16.3-28.6-9.8-4-22-1.2-29 7-1.5 1.5-2.8 4-5.4 3.8-3.2 0-5.3-4-3.3-6.8 5-7.2 13-12.3 21.8-14z'%3E%3C/path%3E%3Cpath fill='%238a8ee7' d='M32.4 2965.7c15-3.5 31.4 4 38.5 17.4 5.8 10.8 5.6 24.7-1 35.2-1.6 3-6.4 2.6-7.8-.5-1.4-2.3.4-4.7 1.3-7 4.2-8.3 3-19-2.8-26.4-6-8-17-12-27-9.5-3 .6-5.7 2.6-8.8 3.3-4 .4-6.4-5-3.6-7.6 3.2-2.5 7.2-3.8 11-4.8z'%3E%3C/path%3E%3Cpath fill='%23868be4' d='M34.4 3045.4c14.2-3.4 29.8 4.8 36.7 17.5 7.7 13.5 5 32-6.5 42.5-2.5 2.2-7 .7-7.6-2.5-1-3.2 2-5.3 3.5-7.6 6-7.6 7-18.6 2.4-27-4.4-8.5-13.5-14.3-23-14-2-.2-4.6.4-6.3-1.2-2.5-2-2-6.3.7-7.8z'%3E%3C/path%3E%3Cpath fill='%238387e0' d='M48.2 3126c4.2-.4 8 2.2 11.5 4.2 13 8.3 19 25.5 14.5 40-2.6 8.7-8.6 16.4-16.5 20.7-3.2 2-7.7-1-7.4-4.8 0-2.7 2.5-4 4.5-5.5 7.5-5 11.6-14.7 10.5-23.6-1-9-7.2-17.2-15.7-20.5-1.8-1-4-1.5-4.8-3.6-1.3-2.8.5-6.3 3.4-7z'%3E%3C/path%3E%3Cpath fill='%238084dd' d='M58.3 3212.3c3.8-1.7 6.8 1.8 9 4.4 9.5 10.8 11.3 27.5 4.5 40-4.6 8.7-12.8 15.4-22.2 18-3.7 1-7.6-2.8-6.5-6.5 1-3.7 5-4 7.8-5.4 11.3-5 17.4-19.2 13-30.8-1.3-4.5-4.2-8.2-7.5-11.4-2.4-2.5-1.2-7 2-8.3z'%3E%3C/path%3E%3Cpath fill='%237d81da' d='M65.2 3302.3c2.8-1.5 6.5-.2 7.7 2.7 2.6 6 3.6 12.6 3 19-1.7 17.8-18.2 32.7-36 32-4.5 0-6.6-6.3-3.4-9.3 2.6-2.5 6.6-1.5 9.7-2.5 10.8-2.6 19-13 18.7-24.2 0-4-1.2-7.6-2.5-11.3-1-2.4.5-5.3 2.7-6.4z'%3E%3C/path%3E%3Cpath fill='%237a7ed6' d='M67.4 3394.4c3-2.2 8-.2 8.8 3.6 1.3 15-8.5 30.3-22.6 35.8-7.2 2.8-15.4 3.5-23 1.3-3.8-1.3-4.7-7.2-1.3-9.7 2.8-2.4 6.5-.6 9.7-.6 12 .8 23.8-8.7 25.4-20.7.6-3.3-.3-7.6 3-9.5z'%3E%3C/path%3E%3Cpath fill='%23777bd3' d='M66.5 3485.7c4.3-1.7 9.2 2.8 7.7 7.2-5 14.3-20 24.2-35.2 23.6-6-.2-12-1.6-17-4.8-3.5-2.5-2.8-8.7 1.3-10.2 3-1.5 6 .6 8.7 1.5 10.6 4.2 23.8-.8 29.2-10.8 1.4-2.4 2.3-5.7 5.3-6.5z'%3E%3C/path%3E%3Cpath fill='%237478d0' d='M59.5 3575.7c3.7-1.5 8.3 1.4 8.4 5.4.3 4.4-4 7-6.8 9.2-13.7 10-34.2 8.6-46.3-3.2-3.4-3.2-1.5-9.6 3-10.4 3-1 5.4 1.3 7.6 3 7.4 5.7 18.3 6.3 26.4 1.5 2.8-1.3 4.8-4 7.5-5.3z'%3E%3C/path%3E%3Cpath fill='%237175cd' d='M11.4 3651.2c2.5-1.4 6-1 8 1.4 2 2.5 4 5.3 6.8 7 6.6 5 15.5 5.6 23 2.7 4.7-2.3 10.3 2.6 8.8 7.6-1 4-5.6 5-9 6-15 4-32-2.8-40-16-2-3-.7-7.2 2.4-8.8z'%3E%3C/path%3E%3Cpath fill='%236e72ca' d='M9.5 3723.6c3.4-1 7 1.2 8 4.6 3 8.3 11 14.7 19.8 15.4 2.4.4 5.3 0 7.2 2 3 2.4 3 7.4 0 10-2.5 2.4-6.4 1.7-9.6 1.3C21 3755 9 3745 4.6 3732c-1.2-3.5 1-7.6 4.8-8.4z'%3E%3C/path%3E%3Cpath fill='%236b6fc7' d='M6.4 3796.4c3.3-1.6 7.6-.2 9.3 3 1 2.7 1 5.5 2 8.2 2 6 6.3 11 12 13.6 2.5 1.2 5.2 2.8 5.6 5.8 1.2 4.7-3.6 9.4-8.3 8-13.5-4.5-23.5-17.8-24.4-32-.2-2.8 1.5-5.4 3.8-6.6z'%3E%3C/path%3E%3Cpath fill='%23696cc4' d='M7.3 3868.4c3.3-1.3 7.3.3 9 3.5 1 1.8.4 4 .4 6-.7 7 2 13.7 6.7 18.6 2.4 2 3.4 5.8 1.8 8.7-1.8 4-7.5 5.2-10.8 2.3C5 3899.4.7 3886 2.8 3874c.4-2.6 2.2-4.7 4.5-5.6z'%3E%3C/path%3E%3Cpath fill='%23666ac1' d='M8.5 3941.4c4.6-2.7 11 1.3 10.7 6.7-.7 4-2.7 7.8-2.4 12-.2 4 1.3 7.5 2.5 11 1.2 4-1.6 8.3-5.5 9-3.4.8-7-1-8.3-4.4-4.3-9.3-4.5-20.3-.7-29.8.7-1.8 2-3.5 3.7-4.4z'%3E%3C/path%3E%3Cpath fill='%236467bf' d='M12.5 4014.7c4.2-2.2 9.8.6 10.5 5.3 1 5-4 8.3-5 13-2 4.6.7 10.7-3.4 14.6-3.8 4-11.3 1.7-12.4-3.7-1.2-8.7 1.2-17.6 6-25 1-1.6 2.3-3.5 4.3-4.3z'%3E%3C/path%3E%3Cpath fill='%236165bc' d='M17.4 4089.3c4.7-2.6 11.3 1.2 11 6.7.5 5-5 7.3-7.3 11-2.7 3.7-2.6 9.7-7.5 11.4-5.3 2.3-11.6-2.8-10.4-8.4 2.2-8.2 7.3-16 14.4-20.7z'%3E%3C/path%3E%3Cpath fill='%235f63ba' d='M25.4 4164.6c5.4-1.4 11 4 9.3 9.5-.7 4.2-5 5.6-8 7.7-4 2.3-5.7 7.7-10.7 7.8-6 .8-10.6-6.7-7.3-11.8 4-6 10-10.7 16.7-13z'%3E%3C/path%3E%3Cpath fill='%235d60b8' d='M30.3 4242.6c4.3-1.7 10 0 11.3 4.8 1.8 4.7-1.7 10-6.6 10.6-5 .8-9 6-14.3 4.2-5.6-1.3-7.6-9-3.6-13 3.8-3.4 8.6-5.2 13.3-6.6z'%3E%3C/path%3E%3Cpath fill='%235b5fb6' d='M35.4 4321.5c4.2-.4 9.4-1 12.3 2.8 3.6 4.3 1.3 12-4.3 13l-11.4 1.2c-6 .3-10-6.8-7-11.8 1.7-4 6.5-4.7 10.4-5.2z'%3E%3C/path%3E%3Cpath fill='%235a5db4' d='M39.3 4401.5c4.3-.8 8.7.2 12.7 1.6 5.2 2.3 6.2 10.2 2 13.8-4.4 3.8-10.4 1.2-15.3.4-7.2-2.4-6.6-14 .6-15.7z'%3E%3C/path%3E%3Cpath fill='%23585bb2' d='M49.3 4483c4-.5 7.7 1.7 11 3.8 4.5 3.5 3.7 11.5-1.6 14-4.6 2.4-9.5-.6-13.4-3-5.3-4.2-2.7-13.8 4-14.7z'%3E%3C/path%3E%3Cpath fill='%23575ab1' d='M56.3 4567.4c7-1.7 15 6.2 12 13.2-1.6 4.6-7.8 6.7-12 4-2.8-1.6-5.7-4-6.2-7.7-.6-4.2 2.2-8.6 6.3-9.6z'%3E%3C/path%3E%3Cpath fill='%235659b0' d='M61.4 4653.5c7-3 14.7 5.6 11.5 12.3-2.3 6-11 7-14.8 2-4.2-4.3-2.7-12.4 3-14.3z'%3E%3C/path%3E%3Cpath fill='%236264a7' d='M64.5 4740.3c5.7-3 13.2 2.2 12.4 8.6-.3 6.3-8.4 10.2-13.6 6.5-5.5-3.4-5-12.7 1-15.2zM67.3 4826.3c6.2-2.4 13 4 11.3 10.3-1 6-9.3 9-14 4.8-5.2-4-3.7-13.4 2.7-15z'%3E%3C/path%3E%3C/g%3E%3C/svg%3E\\\")\";\n//# sourceMappingURL=loaderSvgDataUrl.js.map\n","import { pxToRem } from '../../../../utils';\nexport var itemLayoutVariables = function itemLayoutVariables() {\n return {\n paddingLeft: pxToRem(20),\n paddingRight: pxToRem(18),\n columnGap: pxToRem(8),\n height: pxToRem(48)\n };\n};\n//# sourceMappingURL=itemLayoutVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var popupContentVariables = function popupContentVariables(siteVars) {\n return {\n borderColor: siteVars.colorScheme.default.border2,\n borderRadius: pxToRem(3),\n borderSize: '1px',\n backgroundColor: siteVars.colorScheme.default.background,\n color: siteVars.colorScheme.default.foreground,\n boxShadow: siteVars.shadowLevel3,\n padding: pxToRem(10) + \" \" + pxToRem(14),\n pointerGap: pxToRem(5),\n pointerMargin: pxToRem(10),\n pointerHeight: pxToRem(7),\n pointerWidth: pxToRem(14),\n zIndex: siteVars.zIndexes.overlay\n };\n};\n//# sourceMappingURL=popupContentVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var providerVariables = function providerVariables(siteVariables) {\n return {\n background: siteVariables.bodyBackground,\n color: siteVariables.bodyColor,\n scrollbarHeight: pxToRem(16),\n scrollbarWidth: pxToRem(16),\n scrollbarThumbBackgroundColor: siteVariables.colors.onyx[700],\n scrollbarThumbBorderRadius: pxToRem(9),\n scrollbarThumbBorderSize: pxToRem(4),\n scrollbarThumbHoverBackgroundColor: siteVariables.colors.onyx[700],\n scrollbarThumbHoverBorderSize: pxToRem(2)\n };\n};\n//# sourceMappingURL=providerVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var radioGroupItemVariables = function radioGroupItemVariables(siteVars) {\n return {\n colorDisabled: siteVars.colors.grey[250],\n textFontSize: siteVars.fontSizes.medium,\n textColorDefault: siteVars.colors.grey[500],\n textColorDefaultHoverFocus: siteVars.colors.grey[750],\n textColorChecked: siteVars.colors.grey[750],\n indicatorColorDefault: siteVars.colors.grey[500],\n indicatorBorderColorDefaultHover: siteVars.colors.grey[750],\n indicatorBorderColorChecked: siteVars.colors.brand[600],\n indicatorBackgroundColorChecked: siteVars.colors.brand[600],\n padding: \"0 \" + pxToRem(2),\n margin: pxToRem(5) + \" \" + pxToRem(8) + \" \" + pxToRem(5) + \" \" + pxToRem(2)\n };\n};\n//# sourceMappingURL=radioGroupItemVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var reactionVariables = function reactionVariables(siteVars) {\n return {\n meReactingColor: siteVars.colors.brand[600],\n meReactingColorHover: siteVars.colors.brand[800],\n otherReactingColor: siteVars.colors.grey[450],\n otherReactingColorHover: siteVars.colors.grey[750],\n contentFontSize: siteVars.fontSizes.small,\n fontWeightHover: siteVars.fontWeightBold,\n outlineColorFocus: siteVars.colors.brand[600],\n outlineWidthFocus: pxToRem(2),\n outlineOffsetFocus: pxToRem(-2),\n meReacting: false,\n boxShadowColor: siteVars.colors.white,\n borderColorFocus: siteVars.colors.grey[750]\n };\n};\n//# sourceMappingURL=reactionVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var reactionGroupVariables = function reactionGroupVariables() {\n return {\n reactionSpacing: pxToRem(8)\n };\n};\n//# sourceMappingURL=reactionGroupVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var sliderVariables = function sliderVariables(siteVars) {\n var colorScheme = siteVars.colorScheme;\n return {\n height: pxToRem(16),\n length: pxToRem(320),\n railColor: colorScheme.default.border,\n disabledRailColor: colorScheme.default.backgroundDisabled1,\n railHeight: pxToRem(2),\n thumbColor: colorScheme.default.foreground2,\n activeThumbColor: colorScheme.default.foreground1,\n disabledThumbColor: colorScheme.default.foregroundDisabled1,\n thumbHeight: pxToRem(10),\n activeThumbHeight: pxToRem(14),\n thumbBorderPadding: pxToRem(4),\n thumbWidth: pxToRem(10),\n activeThumbWidth: pxToRem(14),\n trackColor: colorScheme.brand.foregroundActive,\n disabledTrackColor: colorScheme.default.foregroundDisabled1\n };\n};\n//# sourceMappingURL=sliderVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var statusVariables = function statusVariables(siteVariables) {\n return {\n borderColor: undefined,\n borderWidth: 2,\n iconSize: pxToRem(7),\n successBackgroundColor: siteVariables.colorScheme.green.background,\n successTextColor: siteVariables.colorScheme.green.foreground1,\n infoBackgroundColor: siteVariables.colorScheme.brand.background,\n infoTextColor: siteVariables.colorScheme.default.foreground2,\n warningBackgroundColor: siteVariables.colorScheme.yellow.background,\n warningTextColor: siteVariables.colorScheme.yellow.foreground2,\n errorBackgroundColor: siteVariables.colorScheme.red.background,\n errorTextColor: siteVariables.colorScheme.red.foreground2,\n defaultBackgroundColor: siteVariables.colorScheme.default.background5,\n defaultTextColor: siteVariables.colorScheme.default.foreground4\n };\n};\n//# sourceMappingURL=statusVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var textAreaVariables = function textAreaVariables(siteVars) {\n return {\n margin: '0',\n padding: pxToRem(7) + \" \" + pxToRem(12),\n borderColor: 'transparent',\n borderRadius: pxToRem(3) + \" \" + pxToRem(3) + \" \" + pxToRem(2) + \" \" + pxToRem(2),\n borderWidth: \"0 0 \" + pxToRem(2) + \" 0\",\n backgroundColor: siteVars.colorScheme.default.background2,\n invertedBackgroundColor: siteVars.colorScheme.default.background,\n placeholderColor: siteVars.colorScheme.default.foreground1,\n disabledColor: siteVars.colorScheme.brand.foregroundDisabled,\n fontColor: siteVars.colorScheme.default.foreground,\n fontSize: siteVars.fontSizes.medium,\n borderColorFocus: \"transparent transparent \" + siteVars.colorScheme.brand.borderFocus1 + \" transparent\",\n height: 'auto',\n borderColorError: siteVars.colorScheme.red.background\n };\n};\n//# sourceMappingURL=textAreaVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var treeTitleVariables = function treeTitleVariables(siteVars) {\n return {\n color: siteVars.colorScheme.default.foreground,\n padding: pxToRem(1) + \" 0\",\n paddingRight: pxToRem(20),\n paddingLeft: pxToRem(20),\n borderColor: siteVars.colorScheme.default.foreground1,\n borderStyle: 'solid',\n borderRadius: pxToRem(3),\n borderWidth: pxToRem(1),\n indicatorColor: 'transparent',\n selectionIndicatorMargin: \"0 0 0 0\",\n background: 'transparent',\n hoverBackground: siteVars.colorScheme.default.background1,\n checkedBackground: siteVars.colorScheme.brand.backgroundActive1,\n checkedBorderColor: siteVars.colorScheme.brand.backgroundActive1,\n checkedIndicatorColor: siteVars.colorScheme.default.background,\n disabledBackground: siteVars.colorScheme.default.background,\n disabledBackgroundChecked: siteVars.colorScheme.default.backgroundDisabled,\n disabledBorderColor: siteVars.colorScheme.default.foregroundDisabled1,\n disabledCheckedIndicatorColor: siteVars.colorScheme.default.foregroundDisabled\n };\n};\n//# sourceMappingURL=treeTitleVariables.js.map\n","export var videoVariables = function videoVariables() {\n return {\n width: undefined,\n height: undefined\n };\n};\n//# sourceMappingURL=videoVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var tooltipContentVariables = function tooltipContentVariables(siteVars) {\n return {\n boxShadow: siteVars.shadowLevel2,\n borderRadius: pxToRem(3),\n borderSize: '1px',\n padding: pxToRem(5) + \" \" + pxToRem(12) + \" \" + pxToRem(7) + \" \" + pxToRem(12),\n maxWidth: pxToRem(246),\n pointerMargin: pxToRem(6),\n pointerGap: pxToRem(5),\n pointerWidth: pxToRem(16),\n pointerHeight: pxToRem(6),\n color: siteVars.colorScheme.default.foreground3,\n backgroundColor: siteVars.colors.grey[500],\n zIndex: siteVars.zIndexes.overlayPriority\n };\n};\n//# sourceMappingURL=tooltipContentVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var accordionContentStyles = {\n root: function root(_ref) {\n var props = _ref.props;\n return Object.assign({\n display: 'none',\n verticalAlign: 'middle'\n }, props.active && {\n display: 'block'\n }, {\n marginInlineStart: \"\" + pxToRem(20)\n });\n }\n};\n//# sourceMappingURL=accordionContentStyles.js.map\n","import { activeIndicatorUrl } from './activeIndicatorUrl';\nimport { pxToRem } from '../../../../utils';\nexport var accordionTitleStyles = {\n root: function root(_ref) {\n var p = _ref.props;\n return {\n display: 'inline-block',\n verticalAlign: 'middle',\n padding: '.5rem 0',\n cursor: p.disabled ? 'default' : 'pointer'\n };\n },\n contentWrapper: function contentWrapper(_ref2) {\n var p = _ref2.props;\n return Object.assign({\n display: ['grid', '-ms-grid'],\n gridTemplateColumns: 'auto',\n msGridColumns: 'auto'\n }, p.content && {\n gridTemplateColumns: 'auto 1fr',\n msGridColumns: 'auto 1fr'\n });\n },\n indicator: function indicator(_ref3) {\n var p = _ref3.props,\n v = _ref3.variables,\n rtl = _ref3.rtl;\n return Object.assign({\n alignItems: 'center',\n display: 'inline-flex',\n backgroundImage: activeIndicatorUrl(v.color, p.active),\n backgroundPosition: 'center'\n }, rtl && {\n transform: \"scaleX(-1)\"\n }, {\n content: '\" \"',\n overflow: 'hidden',\n height: '100%',\n width: pxToRem(16),\n msGridColumn: '1',\n marginRight: \"\" + pxToRem(4)\n });\n },\n content: function content() {\n return {\n alignItems: 'center',\n display: 'grid',\n msGridColumn: '2'\n };\n }\n};\n//# sourceMappingURL=accordionTitleStyles.js.map\n","export var activeIndicatorUrl = function activeIndicatorUrl(color, active) {\n return active ? \"url(\\\"data:image/svg+xml, %3Csvg xmlns='http://www.w3.org/2000/svg' role='presentation' focusable='false' fill='\" + encodeURIComponent(color) + \"' viewBox='8 8 16 16'%3E%3Cpath d='M16 19l3.5-4h-7z' /%3E%3C/svg%3E\\\")\" : \"url(\\\"data:image/svg+xml, %3Csvg xmlns='http://www.w3.org/2000/svg' role='presentation' focusable='false' fill='\" + encodeURIComponent(color) + \"' viewBox='8 8 16 16'%3E%3Cpath d='M19 16l-4-3.5v7z' /%3E%3C/svg%3E\\\")\";\n};\n//# sourceMappingURL=activeIndicatorUrl.js.map\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _invoke from \"lodash/invoke\";\nimport _isEmpty from \"lodash/isEmpty\";\nimport { buttonBehavior } from '@fluentui/accessibility';\nimport * as PropTypes from 'prop-types';\nimport * as React from 'react';\nimport { childrenExist, createShorthandFactory, commonPropTypes, rtlTextContainer } from '../../utils';\nimport { getElementType, useAccessibility, useFluentContext, useStyles, useTelemetry, useUnhandledProps } from '@fluentui/react-bindings';\nimport { Box } from '../Box/Box';\nexport var alertDismissActionClassName = 'ui-alert__dismissaction';\nexport var alertDismissActionSlotClassNames = {\n content: alertDismissActionClassName + \"__content\"\n};\n/**\n * A AlertDismissAction allows users to customize the dismissAction slot inside the Alert component.\n *\n * @accessibility\n * Implements [ARIA Button](https://www.w3.org/TR/wai-aria-practices-1.1/#button) design pattern.\n */\n\nexport var AlertDismissAction = /*#__PURE__*/function () {\n var AlertDismissAction = function AlertDismissAction(props) {\n var context = useFluentContext();\n\n var _useTelemetry = useTelemetry(AlertDismissAction.displayName, context.telemetry),\n setStart = _useTelemetry.setStart,\n setEnd = _useTelemetry.setEnd;\n\n setStart();\n var accessibility = props.accessibility,\n as = props.as,\n children = props.children,\n className = props.className,\n content = props.content,\n disabled = props.disabled,\n design = props.design,\n styles = props.styles,\n variables = props.variables,\n danger = props.danger,\n warning = props.warning,\n info = props.info,\n success = props.success;\n var hasChildren = childrenExist(children);\n var hasContent = !!content && !_isEmpty(content);\n var getA11Props = useAccessibility(accessibility, {\n debugName: AlertDismissAction.displayName,\n mapPropsToBehavior: function mapPropsToBehavior() {\n return {\n as: String(as),\n disabled: disabled\n };\n },\n actionHandlers: {\n performClick: function performClick(event) {\n event.preventDefault();\n handleClick(event);\n }\n },\n rtl: context.rtl\n });\n\n var _useStyles = useStyles(AlertDismissAction.displayName, {\n className: alertDismissActionClassName,\n mapPropsToStyles: function mapPropsToStyles() {\n return {\n disabled: disabled,\n danger: danger,\n warning: warning,\n info: info,\n success: success,\n hasContent: hasContent || hasChildren\n };\n },\n mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n return {\n className: className,\n design: design,\n styles: styles,\n variables: variables\n };\n },\n rtl: context.rtl\n }),\n classes = _useStyles.classes,\n resolvedStyles = _useStyles.styles;\n\n var unhandledProps = useUnhandledProps(AlertDismissAction.handledProps, props);\n var ElementType = getElementType(props);\n\n var handleClick = function handleClick(e) {\n if (disabled) {\n e.preventDefault();\n return;\n }\n\n _invoke(props, 'onClick', e, props);\n };\n\n var result = /*#__PURE__*/React.createElement(ElementType, _extends({}, rtlTextContainer.getAttributes({\n forElements: [children]\n }), getA11Props('root', Object.assign({\n onClick: handleClick,\n disabled: disabled,\n className: classes.root\n }, unhandledProps))), hasChildren ? children : Box.create(content, {\n defaultProps: function defaultProps() {\n return getA11Props('content', {\n as: 'span',\n className: alertDismissActionSlotClassNames.content,\n styles: resolvedStyles.content\n });\n }\n }));\n setEnd();\n return result;\n };\n\n AlertDismissAction.defaultProps = {\n as: 'button',\n accessibility: buttonBehavior,\n content: {}\n };\n AlertDismissAction.displayName = 'AlertDismissAction';\n AlertDismissAction.propTypes = Object.assign({}, commonPropTypes.createCommon({\n content: 'shorthand'\n }), {\n disabled: PropTypes.bool,\n danger: PropTypes.bool,\n warning: PropTypes.bool,\n info: PropTypes.bool,\n onClick: PropTypes.func,\n success: PropTypes.bool\n });\n AlertDismissAction.handledProps = Object.keys(AlertDismissAction.propTypes);\n AlertDismissAction.create = createShorthandFactory({\n Component: AlertDismissAction,\n mappedProp: 'content'\n });\n return AlertDismissAction;\n}();\n//# sourceMappingURL=AlertDismissAction.js.map\n","import { loaderBehavior } from '@fluentui/accessibility';\nimport * as customPropTypes from '@fluentui/react-proptypes';\nimport { useTelemetry, useFluentContext, getElementType, useUnhandledProps, useStyles, useAccessibility } from '@fluentui/react-bindings';\nimport * as PropTypes from 'prop-types';\nimport * as React from 'react';\nimport { createShorthandFactory, commonPropTypes, getOrGenerateIdFromShorthand } from '../../utils';\nimport { Box } from '../Box/Box';\nimport { Text } from '../Text/Text';\nexport var loaderClassName = 'ui-loader';\nexport var loaderSlotClassNames = {\n indicator: loaderClassName + \"__indicator\",\n label: loaderClassName + \"__label\",\n svg: loaderClassName + \"__svg\"\n};\n\n/**\n * A loader alerts a user that content is being loaded or processed and they should wait for the activity to complete.\n *\n * @accessibility\n * Implements [ARIA progressbar](https://www.w3.org/TR/wai-aria-1.1/#progressbar) role.\n */\nexport var Loader = /*#__PURE__*/function () {\n var Loader = function Loader(props) {\n var context = useFluentContext();\n\n var _useTelemetry = useTelemetry(Loader.displayName, context.telemetry),\n setStart = _useTelemetry.setStart,\n setEnd = _useTelemetry.setEnd;\n\n setStart();\n var delay = props.delay,\n label = props.label,\n indicator = props.indicator,\n svg = props.svg,\n inline = props.inline,\n labelPosition = props.labelPosition,\n className = props.className,\n design = props.design,\n styles = props.styles,\n variables = props.variables,\n size = props.size;\n var ElementType = getElementType(props);\n var unhandledProps = useUnhandledProps(Loader.handledProps, props);\n var delayTimer = React.useRef();\n\n var _React$useState = React.useState(props.delay === 0),\n visible = _React$useState[0],\n setVisible = _React$useState[1];\n\n var labelId = React.useRef();\n labelId.current = getOrGenerateIdFromShorthand('loader-label-', label, labelId.current);\n\n var _useStyles = useStyles(Loader.displayName, {\n className: loaderClassName,\n mapPropsToStyles: function mapPropsToStyles() {\n return {\n inline: inline,\n labelPosition: labelPosition,\n size: size\n };\n },\n mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n return {\n className: className,\n design: design,\n styles: styles,\n variables: variables\n };\n },\n rtl: context.rtl\n }),\n classes = _useStyles.classes,\n resolvedStyles = _useStyles.styles;\n\n var getA11yProps = useAccessibility(props.accessibility, {\n debugName: Loader.displayName,\n mapPropsToBehavior: function mapPropsToBehavior() {\n return {\n labelId: labelId.current\n };\n },\n rtl: context.rtl\n });\n React.useEffect(function () {\n if (delay > 0) {\n // @ts-ignore We have a collision between types from DOM and @types/node\n delayTimer.current = setTimeout(function () {\n setVisible(true);\n }, delay);\n }\n\n return function () {\n return clearTimeout(delayTimer.current);\n };\n }, [delay]);\n var svgElement = Box.create(svg, {\n defaultProps: function defaultProps() {\n return {\n className: loaderSlotClassNames.svg,\n styles: resolvedStyles.svg\n };\n }\n });\n var element = visible && /*#__PURE__*/React.createElement(ElementType, getA11yProps('root', Object.assign({\n className: classes.root\n }, unhandledProps)), Box.create(indicator, {\n defaultProps: function defaultProps() {\n return getA11yProps('indicator', {\n children: svgElement,\n className: loaderSlotClassNames.indicator,\n styles: resolvedStyles.indicator\n });\n }\n }), Text.create(label, {\n defaultProps: function defaultProps() {\n return getA11yProps('label', {\n className: loaderSlotClassNames.label,\n styles: resolvedStyles.label,\n id: labelId.current\n });\n }\n }));\n setEnd();\n return element;\n };\n\n Loader.displayName = 'Loader';\n Loader.propTypes = Object.assign({}, commonPropTypes.createCommon({\n children: false,\n content: false\n }), {\n delay: PropTypes.number,\n indicator: customPropTypes.itemShorthand,\n inline: PropTypes.bool,\n label: customPropTypes.itemShorthand,\n labelPosition: PropTypes.oneOf(['above', 'below', 'start', 'end']),\n size: customPropTypes.size,\n svg: customPropTypes.itemShorthand\n });\n Loader.defaultProps = {\n accessibility: loaderBehavior,\n delay: 0,\n indicator: {},\n labelPosition: 'below',\n svg: '',\n size: 'medium'\n };\n Loader.handledProps = Object.keys(Loader.propTypes);\n Loader.create = createShorthandFactory({\n Component: Loader,\n mappedProp: 'label'\n });\n Loader.shorthandConfig = {\n mappedProp: 'label'\n };\n return Loader;\n}();\n//# sourceMappingURL=Loader.js.map\n","import { buttonBehavior } from '@fluentui/accessibility';\nimport * as customPropTypes from '@fluentui/react-proptypes';\nimport * as PropTypes from 'prop-types';\nimport { compose } from '@fluentui/react-bindings';\nimport { commonPropTypes } from '../../utils';\nimport { Button } from '../Button/Button';\nexport var attachmentActionClassName = 'ui-attachment__action';\n/**\n * An AttachmentAction provides a slot for actions in the Attachment.\n */\n\nexport var AttachmentAction = /*#__PURE__*/function () {\n var AttachmentAction = compose(Button, {\n className: attachmentActionClassName,\n displayName: 'AttachmentAction',\n overrideStyles: true,\n shorthandConfig: {\n mappedProp: 'content'\n }\n });\n AttachmentAction.defaultProps = {\n accessibility: buttonBehavior,\n as: 'button'\n };\n AttachmentAction.propTypes = Object.assign({}, commonPropTypes.createCommon({\n content: 'shorthand'\n }), {\n disabled: PropTypes.bool,\n icon: customPropTypes.shorthandAllowingChildren,\n iconPosition: PropTypes.oneOf(['before', 'after']),\n loader: customPropTypes.itemShorthandWithoutJSX,\n loading: PropTypes.bool,\n onClick: PropTypes.func,\n onFocus: PropTypes.func,\n primary: customPropTypes.every([customPropTypes.disallow(['secondary']), PropTypes.bool]),\n secondary: customPropTypes.every([customPropTypes.disallow(['primary']), PropTypes.bool])\n });\n return AttachmentAction;\n}();\n//# sourceMappingURL=AttachmentAction.js.map\n","import { svgIconClassName } from '@fluentui/react-icons-northstar';\nimport { attachmentActionClassName } from '../../../../components/Attachment/AttachmentAction';\nimport { pxToRem } from '../../../../utils';\nimport { getBorderFocusStyles } from '../../getBorderFocusStyles';\nexport var attachmentStyles = {\n root: function root(_ref) {\n var _Object$assign, _hover;\n\n var p = _ref.props,\n v = _ref.variables,\n siteVariables = _ref.theme.siteVariables;\n var borderFocusStyles = getBorderFocusStyles({\n variables: siteVariables,\n borderRadius: v.borderRadius\n });\n return Object.assign({\n position: 'relative',\n display: 'inline-flex',\n alignItems: 'center',\n width: '100%',\n maxWidth: pxToRem(440),\n minHeight: pxToRem(48),\n padding: v.padding,\n marginBottom: pxToRem(2),\n marginRight: pxToRem(2),\n background: v.backgroundColor,\n color: v.textColor,\n boxShadow: v.boxShadow,\n border: siteVariables.borderWidth + \" solid \" + v.borderColor,\n borderRadius: v.borderRadius\n }, borderFocusStyles, {\n '& .ui-attachment__progress': {\n transition: 'width 0.2s',\n position: 'absolute',\n display: 'block',\n bottom: 0,\n left: 0,\n maxWidth: '100%',\n height: v.progressHeight,\n background: v.progressColor\n }\n }, p.actionable && {\n cursor: 'pointer',\n ':focus-visible': Object.assign({}, borderFocusStyles[':focus-visible'], (_Object$assign = {\n backgroundColor: v.focusBackgroundColor,\n color: v.focusColor\n }, _Object$assign[\"& .\" + attachmentActionClassName] = {\n color: v.focusColor\n }, _Object$assign[\"& .\" + svgIconClassName] = {\n color: v.focusColor\n }, _Object$assign)),\n ':hover': (_hover = {\n backgroundColor: v.backgroundColorHover,\n color: v.textColorHover\n }, _hover[\"& .\" + attachmentActionClassName] = {\n color: v.textColorHover\n }, _hover[\"& .\" + svgIconClassName] = {\n color: v.textColorHover\n }, _hover)\n });\n }\n};\n//# sourceMappingURL=attachmentStyles.js.map\n","import { getIconFillOrOutlineStyles } from '../../getIconFillOrOutlineStyles';\nimport { getBorderFocusStyles } from '../../getBorderFocusStyles';\nimport { pxToRem } from '../../../../utils';\nimport { loaderSlotClassNames } from '../../../../components/Loader/Loader';\nexport var attachmentActionStyles = {\n root: function root(_ref) {\n var p = _ref.props,\n v = _ref.variables,\n theme = _ref.theme;\n var siteVariables = theme.siteVariables;\n var iconFilledStyles = getIconFillOrOutlineStyles({\n outline: false\n });\n var borderFocusStyles = getBorderFocusStyles({\n variables: siteVariables,\n borderRadius: v.actionFocusBorderRadius\n });\n return Object.assign({\n height: v.actionHeight,\n maxWidth: v.actionMaxWidth,\n display: 'inline-flex',\n justifyContent: 'center',\n alignItems: 'center',\n position: 'relative',\n verticalAlign: 'middle',\n cursor: 'pointer',\n // text button defaults\n color: v.actionColor,\n // textColor\n backgroundColor: 'transparent',\n borderColor: 'transparent',\n padding: 0\n }, getIconFillOrOutlineStyles({\n outline: true\n }), {\n ':focus': Object.assign({\n boxShadow: 'none'\n }, borderFocusStyles[':focus']),\n ':focus-visible': Object.assign({}, iconFilledStyles, borderFocusStyles[':focus-visible'])\n }, p.primary && {\n color: v.actionPrimaryColor\n }, p.disabled && {\n cursor: 'default',\n boxShadow: 'none',\n pointerEvents: 'none',\n color: v.actionColorDisabled,\n backgroundColor: 'transparent',\n ':hover': {\n color: v.actionColorDisabled\n }\n }, {\n minWidth: v.actionHeight,\n ':hover': Object.assign({}, getIconFillOrOutlineStyles({\n outline: false\n }))\n });\n },\n icon: function icon(_ref2) {\n var p = _ref2.props,\n v = _ref2.variables;\n return Object.assign({\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: v.actionIconSize,\n height: v.actionIconSize\n }, p.loading && {\n margin: 0,\n opacity: 0,\n width: 0\n }, p.hasContent && Object.assign({\n margin: \"0 \" + pxToRem(10) + \" 0 0\"\n }, p.iconPosition === 'after' && {\n margin: \"0 0 0 \" + pxToRem(10)\n }));\n },\n loader: function loader(_ref3) {\n var _Object$assign;\n\n var p = _ref3.props,\n v = _ref3.variables;\n return Object.assign((_Object$assign = {}, _Object$assign[\"& .\" + loaderSlotClassNames.indicator] = {\n width: v.actionLoaderSize,\n height: v.actionLoaderSize\n }, _Object$assign[\"& .\" + loaderSlotClassNames.svg] = {\n ':before': {\n animationName: {\n to: {\n transform: \"translate3d(0, \" + v.actionLoaderSvgAnimationHeight + \", 0)\"\n }\n },\n borderWidth: v.actionLoaderBorderSize,\n width: v.actionLoaderSize,\n height: v.actionLoaderSvgHeight\n }\n }, _Object$assign), p.hasContent && {\n marginRight: pxToRem(4)\n });\n }\n};\n//# sourceMappingURL=attachmentActionStyles.js.map\n","import { svgIconClassName } from '@fluentui/react-icons-northstar';\nexport var attachmentIconStyles = {\n root: function root(_ref) {\n var _ref2;\n\n var v = _ref.variables;\n return _ref2 = {\n height: v.iconSize,\n width: v.iconSize,\n marginRight: v.iconSpace\n }, _ref2[\"& .\" + svgIconClassName] = {\n height: '100%',\n width: '100%',\n '& svg': {\n height: '100%',\n width: '100%'\n }\n }, _ref2;\n }\n};\n//# sourceMappingURL=attachmentIconStyles.js.map\n","import { pxToRem } from '../../../../utils';\nvar sizeToPxValue = {\n smallest: 20,\n smaller: 24,\n small: 28,\n medium: 32,\n large: 44,\n larger: 64,\n largest: 96\n};\nexport var avatarStyles = {\n root: function root(_ref) {\n var size = _ref.props.size;\n var sizeInRem = pxToRem(sizeToPxValue[size]);\n return {\n position: 'relative',\n backgroundColor: 'inherit',\n display: 'inline-block',\n verticalAlign: 'middle',\n height: sizeInRem,\n width: sizeInRem\n };\n }\n};\n//# sourceMappingURL=avatarStyles.js.map\n","import { pxToRem } from '../../../../utils';\nvar sizeToPxValue = {\n smallest: 6,\n smaller: 10,\n small: 10,\n medium: 10,\n large: 10,\n larger: 16,\n largest: 0\n};\nexport var getSizeStyles = function getSizeStyles(sizeInPx) {\n var sizeInRem = pxToRem(sizeInPx);\n return {\n height: sizeInRem,\n width: sizeInRem\n };\n};\nexport var avatarStatusStyles = {\n root: function root(_ref) {\n var v = _ref.variables,\n _ref$props = _ref.props,\n color = _ref$props.color,\n size = _ref$props.size,\n state = _ref$props.state;\n return Object.assign({\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center'\n }, getSizeStyles(sizeToPxValue[size]), {\n verticalAlign: 'middle',\n borderRadius: '9999px',\n position: 'absolute',\n bottom: 0,\n right: 0,\n boxShadow: \"0 0 0 \" + v.statusBorderWidth + \" \" + v.statusBorderColor\n }, state === 'success' && {\n backgroundColor: v.statusSuccessBackgroundColor\n }, state === 'info' && {\n backgroundColor: v.statusInfoBackgroundColor\n }, state === 'warning' && {\n backgroundColor: v.statusWarningBackgroundColor\n }, state === 'error' && {\n backgroundColor: v.statusErrorBackgroundColor\n }, state === 'unknown' && {\n backgroundColor: v.statusBackgroundColor\n }, !!color && {\n backgroundColor: color\n });\n }\n};\n//# sourceMappingURL=avatarStatusStyles.js.map\n","export var avatarStatusIconStyles = {\n root: function root(_ref) {\n var state = _ref.props.state,\n v = _ref.variables;\n return Object.assign({\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: v.statusIconSize,\n height: v.statusIconSize,\n color: v.statusColor\n }, state === 'success' && {\n color: v.statusSuccessColor\n }, state === 'info' && {\n color: v.statusInfoColor\n }, state === 'error' && {\n color: v.statusErrorColor\n }, state === 'warning' && {\n color: v.statusWarningColor\n }, {\n '& > :first-child': {\n height: '100%',\n width: '100%',\n '& svg': {\n height: '100%',\n width: '100%'\n }\n }\n });\n }\n};\n//# sourceMappingURL=avatarStatusIconStyles.js.map\n","export var avatarImageStyles = {\n root: function root(_ref) {\n var v = _ref.variables,\n p = _ref.props;\n return Object.assign({\n boxSizing: 'border-box',\n display: 'inline-block'\n }, p.circular && {\n borderRadius: v.imageCircularRadius\n }, p.avatar && {\n width: p.fluid && '100%' || v.imageAvatarSize,\n borderRadius: v.imageAvatarRadius\n }, {\n borderColor: v.avatarBorderColor,\n borderStyle: 'solid',\n borderWidth: v.avatarBorderWidth,\n height: '100%',\n objectFit: 'cover',\n verticalAlign: 'top',\n width: '100%'\n }, !p.avatar && {\n borderRadius: v.squareAvatarBorderRadius\n });\n }\n};\n//# sourceMappingURL=avatarImageStyles.js.map\n","import { pxToRem } from '../../../../utils';\nvar sizeToPxValue = {\n smallest: 20,\n smaller: 24,\n small: 28,\n medium: 32,\n large: 44,\n larger: 64,\n largest: 96\n};\nvar iconSizeToPxValue = {\n smallest: 10,\n smaller: 12,\n small: 16,\n medium: 16,\n large: 20,\n larger: 32,\n largest: 40\n};\nexport var avatarIconStyles = {\n root: function root(_ref) {\n var v = _ref.variables,\n p = _ref.props;\n var sizeInRem = pxToRem(sizeToPxValue[p.size]);\n var iconsizeInRem = pxToRem(iconSizeToPxValue[p.size]);\n return Object.assign({\n color: v.iconColor,\n background: v.iconBackgroundColor,\n width: sizeInRem,\n height: sizeInRem,\n borderRadius: '50%',\n display: 'inline-flex',\n alignItems: 'center'\n }, p.square && {\n borderRadius: v.squareAvatarBorderRadius\n }, {\n '& > :first-child': {\n margin: '0 auto',\n width: iconsizeInRem,\n height: iconsizeInRem,\n '& svg': {\n width: '100%',\n height: '100%'\n }\n }\n });\n }\n};\n//# sourceMappingURL=avatarIconStyles.js.map\n","import { pxToRem } from '../../../../utils';\nvar sizeToPxValue = {\n smallest: 20,\n smaller: 24,\n small: 28,\n medium: 32,\n large: 44,\n larger: 64,\n largest: 96\n};\nexport var avatarLabelStyles = {\n root: function root(_ref) {\n var p = _ref.props,\n v = _ref.variables;\n var sizeInRem = pxToRem(sizeToPxValue[p.size]);\n return Object.assign({\n alignItems: 'center',\n overflow: 'hidden',\n color: v.labelColor,\n backgroundColor: v.labelBackground,\n borderRadius: '50%',\n display: 'inline-block',\n width: sizeInRem,\n height: sizeInRem,\n lineHeight: sizeInRem,\n fontSize: pxToRem(sizeToPxValue[p.size] / 2.333),\n verticalAlign: 'top',\n textAlign: 'center',\n padding: '0'\n }, p.square && {\n borderRadius: v.squareAvatarBorderRadius\n }, p.circular && {\n borderRadius: v.labelCircularRadius\n });\n }\n};\n//# sourceMappingURL=avatarLabelStyles.js.map\n","import _isNil from \"lodash/isNil\";\nimport { pxToRem } from '../../../../utils';\nimport { loaderSlotClassNames } from '../../../../components/Loader/Loader';\nimport { getBorderFocusStyles } from '../../getBorderFocusStyles';\nimport { getIconFillOrOutlineStyles } from '../../getIconFillOrOutlineStyles';\nimport { faster, ultraFast } from '../../animations/durations';\nexport var buttonStyles = {\n root: function root(_ref) {\n var p = _ref.props,\n v = _ref.variables,\n theme = _ref.theme;\n var siteVariables = theme.siteVariables;\n var borderWidth = siteVariables.borderWidth;\n var borderFocusStyles = getBorderFocusStyles(Object.assign({\n variables: siteVariables,\n borderPadding: borderWidth\n }, p.circular && {\n borderPadding: pxToRem(4)\n }));\n return Object.assign({\n height: v.height,\n minWidth: _isNil(p.loading) ? v.minWidth : v.loadingMinWidth,\n maxWidth: v.maxWidth,\n color: v.color,\n backgroundColor: v.backgroundColor,\n borderRadius: v.borderRadius,\n display: 'inline-flex',\n justifyContent: 'center',\n alignItems: 'center',\n position: 'relative',\n padding: v.padding,\n verticalAlign: 'middle',\n cursor: 'pointer',\n transition: faster\n }, p.size === 'small' && {\n padding: v.sizeSmallPadding,\n height: v.sizeSmallHeight,\n minWidth: v.sizeSmallMinWidth\n }, !p.text && Object.assign({\n outline: 0,\n borderWidth: borderWidth,\n borderStyle: 'solid',\n borderColor: v.borderColor,\n boxShadow: v.boxShadow,\n ':hover': {\n color: v.colorHover,\n backgroundColor: v.backgroundColorHover,\n borderColor: v.borderColorHover\n }\n }, !p.disabledFocusable && {\n ':active': {\n transition: ultraFast,\n color: v.colorActive,\n backgroundColor: v.backgroundColorActive,\n borderColor: v.borderColorActive,\n boxShadow: 'none'\n }\n }, {\n ':focus': borderFocusStyles[':focus'],\n ':focus-visible': Object.assign({}, borderFocusStyles[':focus-visible'], {\n backgroundColor: v.backgroundColorFocus,\n borderColor: v.borderColorFocus,\n color: v.colorFocus,\n borderWidth: borderWidth,\n ':hover': {\n borderColor: v.borderColorHover\n }\n })\n }, p.size === 'small' && {\n boxShadow: 'none'\n }), p.circular && !p.text && Object.assign({\n minWidth: v.height,\n padding: 0,\n borderRadius: v.circularBorderRadius\n }, p.size === 'small' && {\n minWidth: v.sizeSmallHeight\n }), p.text && Object.assign({\n color: v.textColor,\n backgroundColor: 'transparent',\n borderColor: 'transparent',\n padding: \"0 \" + pxToRem(8)\n }, getIconFillOrOutlineStyles({\n outline: true\n }), {\n ':hover': Object.assign({\n color: v.textColorHover\n }, getIconFillOrOutlineStyles({\n outline: false\n })),\n ':focus': Object.assign({\n boxShadow: 'none'\n }, borderFocusStyles[':focus']),\n ':focus-visible': borderFocusStyles[':focus-visible']\n }, p.primary && {\n color: v.textPrimaryColor\n }), p.primary && !p.text && Object.assign({\n color: v.primaryColor,\n backgroundColor: v.primaryBackgroundColor,\n borderColor: v.primaryBorderColor,\n boxShadow: v.primaryBoxShadow\n }, !p.disabledFocusable && {\n ':active': {\n transition: ultraFast,\n backgroundColor: v.primaryBackgroundColorActive,\n boxShadow: 'none'\n }\n }, {\n ':focus': borderFocusStyles[':focus'],\n ':focus-visible': Object.assign({}, borderFocusStyles[':focus-visible'], {\n backgroundColor: v.primaryBackgroundColorFocus\n }),\n ':hover': {\n color: v.primaryColorHover,\n backgroundColor: v.primaryBackgroundColorHover\n }\n }), p.inverted && Object.assign({\n backgroundColor: siteVariables.colorScheme.silver.background,\n borderColor: siteVariables.colorScheme.silver.border,\n color: siteVariables.colorScheme.silver.foreground\n }, !p.disabledFocusable && {\n ':active': {\n transition: ultraFast,\n backgroundColor: siteVariables.colorScheme.silver.backgroundPressed,\n color: siteVariables.colorScheme.silver.foregroundHover\n }\n }, {\n ':hover': {\n backgroundColor: siteVariables.colorScheme.silver.backgroundHover,\n color: siteVariables.colorScheme.silver.foregroundHover\n },\n ':focus': Object.assign({}, borderFocusStyles[':focus'], {\n boxShadow: 'none'\n }),\n ':focus-visible': Object.assign({}, borderFocusStyles[':focus-visible'], !p.disabledFocusable && {\n backgroundColor: siteVariables.colorScheme.silver.backgroundPressed,\n color: siteVariables.colorScheme.silver.foregroundHover\n })\n }), p.tinted && Object.assign({\n backgroundColor: v.tintedBackgroundColor,\n borderColor: v.tintedBorderColor,\n color: v.tintedColor\n }, !p.disabledFocusable && {\n ':active': {\n transition: ultraFast,\n backgroundColor: v.tintedBackgroundColorActive\n }\n }, {\n ':hover': {\n backgroundColor: v.tintedBackgroundColorHover\n },\n ':focus': {\n boxShadow: 'none'\n }\n }), p.disabled && {\n // pointer events intentionally not disabled for focusable disabled buttons\n // so that hover events work\n pointerEvents: 'none'\n }, (p.disabled || p.disabledFocusable) && Object.assign({\n cursor: 'default',\n color: v.colorDisabled,\n boxShadow: 'none',\n ':hover': {\n color: v.colorDisabled\n }\n }, p.text && {\n color: v.textColorDisabled,\n backgroundColor: 'transparent',\n ':hover': {\n color: v.textColorDisabled\n }\n }, !p.text && {\n backgroundColor: v.backgroundColorDisabled,\n borderColor: v.borderColorDisabled\n }), p.fluid && {\n width: '100%',\n maxWidth: '100%'\n }, p.iconOnly && Object.assign({\n minWidth: v.height,\n padding: 0\n }, !p.inverted && {\n ':hover': Object.assign({}, getIconFillOrOutlineStyles({\n outline: false\n }), {\n color: v.textColorIconOnlyHover,\n background: v.backgroundColorIconOnlyHover\n })\n }, p.size === 'small' && {\n minWidth: v.sizeSmallHeight\n }));\n },\n icon: function icon(_ref2) {\n var p = _ref2.props,\n v = _ref2.variables;\n return Object.assign({\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: v.iconSize,\n height: v.iconSize\n }, p.loading && {\n margin: 0,\n opacity: 0,\n width: 0\n }, p.hasContent && Object.assign({\n margin: \"0 \" + pxToRem(10) + \" 0 0\"\n }, p.iconPosition === 'after' && {\n margin: \"0 0 0 \" + pxToRem(10)\n }));\n },\n loader: function loader(_ref3) {\n var _Object$assign;\n\n var p = _ref3.props,\n v = _ref3.variables;\n return Object.assign((_Object$assign = {}, _Object$assign[\"& .\" + loaderSlotClassNames.indicator] = {\n width: p.size === 'small' ? v.sizeSmallLoaderSize : v.loaderSize,\n height: p.size === 'small' ? v.sizeSmallLoaderSize : v.loaderSize\n }, _Object$assign[\"& .\" + loaderSlotClassNames.svg] = {\n ':before': {\n animationName: {\n to: {\n transform: \"translate3d(0, \" + (p.size === 'small' ? v.sizeSmallLoaderSvgAnimationHeight : v.loaderSvgAnimationHeight) + \", 0)\"\n }\n },\n borderWidth: p.size === 'small' ? v.sizeSmallLoaderBorderSize : v.loaderBorderSize,\n width: p.size === 'small' ? v.sizeSmallLoaderSize : v.loaderSize,\n height: p.size === 'small' ? v.sizeSmallLoaderSvgHeight : v.loaderSvgHeight\n }\n }, _Object$assign), p.hasContent && {\n marginRight: pxToRem(4)\n });\n }\n};\n//# sourceMappingURL=buttonStyles.js.map\n","export var buttonContentStyles = {\n root: function root(_ref) {\n var p = _ref.props,\n v = _ref.variables;\n return Object.assign({\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n fontSize: v.contentFontSize,\n fontWeight: v.contentFontWeight,\n lineHeight: v.contentLineHeight\n }, p.size === 'small' && {\n fontSize: v.sizeSmallContentFontSize,\n lineHeight: v.sizeSmallContentLineHeight\n });\n }\n};\n//# sourceMappingURL=buttonContentStyles.js.map\n","export var breadcrumbItemStyles = {\n root: function root(_ref) {\n var p = _ref.props,\n v = _ref.variables;\n return Object.assign({\n display: 'inline-flex',\n alignItems: 'center',\n verticalAlign: 'middle'\n }, p.active && {\n fontWeight: v.itemCurrentFontWeight\n }, p.disabled && {\n color: v.disabledColor\n }, p.size === 'smaller' && {\n paddingLeft: v.linkPaddingLeftSmaller,\n paddingRight: v.linkPaddingRightSmaller,\n gap: v.linkSmallerGap\n }, p.size === 'small' && {\n paddingLeft: v.linkPaddingLeftSmall,\n paddingRight: v.linkPaddingRightSmall,\n gap: v.linkSmallGap\n }, p.size === 'medium' && {\n paddingLeft: v.linkPaddingLeftMedium,\n paddingRight: v.linkPaddingRightMedium,\n gap: v.linkMediumGap\n }, p.size === 'large' && {\n paddingLeft: v.linkPaddingLeftLarge,\n paddingRight: v.linkPaddingRightLarge,\n gap: v.linkLargeGap\n });\n }\n};\n//# sourceMappingURL=breadcrumbItemStyles.js.map\n","import { getBorderFocusStyles } from '../../getBorderFocusStyles';\nexport var breadcrumbLinkStyles = {\n root: function root(_ref) {\n var p = _ref.props,\n v = _ref.variables,\n siteVariables = _ref.theme.siteVariables;\n var borderFocusStyles = getBorderFocusStyles(Object.assign({\n variables: siteVariables\n }, p.size === 'smaller' && {\n borderPadding: {\n top: v.linkPaddingTop,\n right: v.linkPaddingRightSmaller,\n bottom: v.linkPaddingBottom,\n left: v.linkPaddingLeftSmaller\n }\n }, p.size === 'small' && {\n borderPadding: {\n top: v.linkPaddingTop,\n right: v.linkPaddingRightSmall,\n bottom: v.linkPaddingBottom,\n left: v.linkPaddingLeftSmall\n }\n }, p.size === 'medium' && {\n borderPadding: {\n top: v.linkPaddingTop,\n right: v.linkPaddingRightMedium,\n bottom: v.linkPaddingBottom,\n left: v.linkPaddingLeftMedium\n }\n }, p.size === 'large' && {\n borderPadding: {\n top: v.linkPaddingTop,\n right: v.linkPaddingRightLarge,\n bottom: v.linkPaddingBottom,\n left: v.linkPaddingLeftLarge\n }\n }));\n return Object.assign({\n display: 'flex',\n alignItems: 'center',\n position: 'relative',\n ':visited': {\n color: 'inherit'\n }\n }, borderFocusStyles);\n }\n};\n//# sourceMappingURL=breadcrumbLinkStyles.js.map\n","export var breadcrumbStyles = {\n root: function root(_ref) {\n var p = _ref.props,\n v = _ref.variables;\n return Object.assign({\n display: 'inline-flex',\n alignItems: 'center'\n }, p.size === 'smaller' && {\n fontSize: v.fontSizeSmaller\n }, p.size === 'small' && {\n fontSize: v.fontSizeSmall\n }, p.size === 'medium' && {\n fontSize: v.fontSizeMedium\n }, p.size === 'large' && {\n fontSize: v.fontSizeLarge\n });\n }\n};\n//# sourceMappingURL=breadcrumbStyles.js.map\n","import { pxToRem } from '../../../../utils';\nexport var chatStyles = {\n root: function root(_ref) {\n var v = _ref.variables;\n return {\n backgroundColor: v.backgroundColor,\n border: \"1px solid \" + v.backgroundColor,\n display: 'flex',\n flexDirection: 'column',\n listStyle: 'none',\n padding: \"0 \" + pxToRem(10) + \" 0 \" + pxToRem(10),\n margin: 0\n };\n }\n};\n//# sourceMappingURL=chatStyles.js.map\n","import { pxToRem } from '../../../../utils';\nexport var chatItemStyles = {\n root: function root(_ref) {\n var p = _ref.props,\n v = _ref.variables;\n return Object.assign({\n position: 'relative'\n }, (!p.attached || p.attached === 'top') && {\n paddingTop: pxToRem(16)\n }, (p.attached === 'bottom' || p.attached === true) && {\n paddingTop: pxToRem(2)\n }, {\n paddingBottom: 0\n });\n },\n gutter: function gutter(_ref2) {\n var _Object$assign;\n\n var p = _ref2.props,\n v = _ref2.variables;\n return Object.assign((_Object$assign = {\n position: 'absolute',\n marginTop: v.gutterMargin\n }, _Object$assign[p.contentPosition === 'end' ? 'right' : 'left'] = 0, _Object$assign), (p.attached === 'bottom' || p.attached === true) && {\n display: 'none'\n });\n },\n message: function message(_ref3) {\n var p = _ref3.props,\n v = _ref3.variables;\n return {\n position: 'relative',\n float: p.contentPosition === 'end' ? 'right' : 'left',\n marginLeft: v.messageMargin,\n marginRight: v.messageMargin\n };\n }\n};\n//# sourceMappingURL=chatItemStyles.js.map\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as customPropTypes from '@fluentui/react-proptypes';\nimport * as React from 'react';\nimport { childrenExist, commonPropTypes, rtlTextContainer, createShorthandFactory } from '../../utils';\nimport { Box } from '../Box/Box';\nimport { ReactionGroup } from './ReactionGroup';\nimport { useTelemetry, useFluentContext, getElementType, useUnhandledProps, useAccessibility, useStyles } from '@fluentui/react-bindings';\nexport var reactionClassName = 'ui-reaction';\nexport var reactionSlotClassNames = {\n icon: reactionClassName + \"__icon\",\n content: reactionClassName + \"__content\"\n};\n/**\n * A Reaction indicates user's emotion or perception.\n * Used to display user's reaction for entity in Chat (e.g. message).\n */\n\nexport var Reaction = /*#__PURE__*/function () {\n var Reaction = function Reaction(props) {\n var context = useFluentContext();\n\n var _useTelemetry = useTelemetry(Reaction.displayName, context.telemetry),\n setStart = _useTelemetry.setStart,\n setEnd = _useTelemetry.setEnd;\n\n setStart();\n var children = props.children,\n icon = props.icon,\n content = props.content,\n className = props.className,\n design = props.design,\n styles = props.styles,\n variables = props.variables;\n var ElementType = getElementType(props);\n var unhandledProps = useUnhandledProps(Reaction.handledProps, props);\n var getA11yProps = useAccessibility(props.accessibility, {\n debugName: Reaction.displayName,\n rtl: context.rtl\n });\n\n var _useStyles = useStyles(Reaction.displayName, {\n className: reactionClassName,\n mapPropsToStyles: function mapPropsToStyles() {\n return {\n hasContent: !!content\n };\n },\n mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n return {\n className: className,\n design: design,\n styles: styles,\n variables: variables\n };\n },\n rtl: context.rtl\n }),\n classes = _useStyles.classes,\n resolvedStyles = _useStyles.styles;\n\n var element = /*#__PURE__*/React.createElement(ElementType, _extends({}, getA11yProps('root', Object.assign({\n className: classes.root\n }, unhandledProps)), rtlTextContainer.getAttributes({\n forElements: [children]\n })), childrenExist(children) ? children : /*#__PURE__*/React.createElement(React.Fragment, null, Box.create(icon, {\n defaultProps: function defaultProps() {\n return getA11yProps('icon', {\n className: reactionSlotClassNames.icon,\n styles: resolvedStyles.icon\n });\n }\n }), Box.create(content, {\n defaultProps: function defaultProps() {\n return getA11yProps('content', {\n className: reactionSlotClassNames.content,\n styles: resolvedStyles.content\n });\n }\n })));\n setEnd();\n return element;\n };\n\n Reaction.displayName = 'Reaction';\n Reaction.propTypes = Object.assign({}, commonPropTypes.createCommon({\n content: 'shorthand'\n }), {\n icon: customPropTypes.shorthandAllowingChildren\n });\n Reaction.defaultProps = {\n as: 'span'\n };\n Reaction.handledProps = Object.keys(Reaction.propTypes);\n Reaction.Group = ReactionGroup;\n Reaction.create = createShorthandFactory({\n Component: Reaction,\n mappedProp: 'content'\n });\n return Reaction;\n}();\n//# sourceMappingURL=Reaction.js.map\n","import _invoke from \"lodash/invoke\";\nimport _isNil from \"lodash/isNil\";\nimport { IS_FOCUSABLE_ATTRIBUTE, chatMessageBehavior, menuAsToolbarBehavior } from '@fluentui/accessibility';\nimport { getElementType, useUnhandledProps, useAccessibility, useFluentContext, useStyles, useTelemetry, useContextSelector } from '@fluentui/react-bindings';\nimport { Ref } from '@fluentui/react-component-ref';\nimport * as customPropTypes from '@fluentui/react-proptypes';\nimport cx from 'classnames';\nimport * as PropTypes from 'prop-types';\nimport * as React from 'react';\nimport { getScrollParent, partitionPopperPropsFromShorthand, usePopper } from '../../utils/positioner';\nimport { childrenExist, createShorthandFactory, commonPropTypes, rtlTextContainer, createShorthand } from '../../utils';\nimport { Box } from '../Box/Box';\nimport { Label } from '../Label/Label';\nimport { Menu } from '../Menu/Menu';\nimport { Text } from '../Text/Text';\nimport { Reaction } from '../Reaction/Reaction';\nimport { ChatItemContext } from './chatItemContext';\nimport { ChatMessageHeader } from './ChatMessageHeader';\nimport { ChatMessageDetails } from './ChatMessageDetails';\nimport { ChatMessageReadStatus } from './ChatMessageReadStatus';\nexport var chatMessageClassName = 'ui-chat__message';\nexport var chatMessageSlotClassNames = {\n actionMenu: chatMessageClassName + \"__actions\",\n author: chatMessageClassName + \"__author\",\n timestamp: chatMessageClassName + \"__timestamp\",\n badge: chatMessageClassName + \"__badge\",\n content: chatMessageClassName + \"__content\",\n reactionGroup: chatMessageClassName + \"__reactions\"\n};\n/**\n * A ChatMessage represents a single message in chat.\n */\n\nexport var ChatMessage = /*#__PURE__*/function () {\n var ChatMessage = function ChatMessage(props) {\n var context = useFluentContext();\n\n var _useTelemetry = useTelemetry(ChatMessage.displayName, context.telemetry),\n setStart = _useTelemetry.setStart,\n setEnd = _useTelemetry.setEnd;\n\n setStart();\n var parentAttached = useContextSelector(ChatItemContext, function (v) {\n return v.attached;\n });\n var accessibility = props.accessibility,\n _props$attached = props.attached,\n attached = _props$attached === void 0 ? parentAttached : _props$attached,\n author = props.author,\n badge = props.badge,\n badgePosition = props.badgePosition,\n children = props.children,\n className = props.className,\n content = props.content,\n design = props.design,\n mine = props.mine,\n positionActionMenu = props.positionActionMenu,\n reactionGroup = props.reactionGroup,\n reactionGroupPosition = props.reactionGroupPosition,\n timestamp = props.timestamp,\n styles = props.styles,\n variables = props.variables,\n header = props.header,\n details = props.details,\n readStatus = props.readStatus,\n overflow = props.unstable_overflow;\n\n var _partitionPopperProps = partitionPopperPropsFromShorthand(props.actionMenu),\n actionMenu = _partitionPopperProps[0],\n positioningProps = _partitionPopperProps[1];\n\n var hasActionMenu = !_isNil(actionMenu);\n var modifiers = React.useCallback(function (target, container) {\n return positionActionMenu && [// https://popper.js.org/docs/v2/modifiers/flip/\n // Forces to flip only in \"top-*\" positions\n {\n name: 'flip',\n options: {\n fallbackPlacements: ['top']\n }\n }, overflow && {\n name: 'preventOverflow',\n options: {\n boundary: getScrollParent(container)\n }\n }];\n }, [positionActionMenu, overflow]);\n var popperRef = React.useRef();\n\n var _usePopper = usePopper(Object.assign({\n align: 'end',\n position: 'above',\n positionFixed: overflow,\n enabled: hasActionMenu && positionActionMenu,\n modifiers: modifiers,\n popperRef: popperRef\n }, positioningProps)),\n messageRef = _usePopper.targetRef,\n actionsMenuRef = _usePopper.containerRef;\n\n var _React$useState = React.useState(false),\n focused = _React$useState[0],\n setFocused = _React$useState[1];\n\n var getA11Props = useAccessibility(accessibility, {\n actionHandlers: {\n // prevents default FocusZone behavior, e.g., in ChatMessageBehavior, it prevents FocusZone from using arrow keys\n // as navigation (only Tab key should work)\n preventDefault: function preventDefault(event) {\n // preventDefault only if event coming from inside the message\n if (event.currentTarget !== event.target) {\n event.preventDefault();\n }\n },\n focus: function focus(event) {\n if (messageRef.current) {\n messageRef.current.focus();\n event.stopPropagation();\n }\n }\n }\n });\n\n var _useStyles = useStyles(ChatMessage.displayName, {\n className: chatMessageClassName,\n mapPropsToStyles: function mapPropsToStyles() {\n return {\n attached: attached,\n badgePosition: badgePosition,\n focused: focused,\n mine: mine,\n hasBadge: !!badge,\n hasReactionGroup: !!reactionGroup\n };\n },\n mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n return {\n className: className,\n design: design,\n styles: styles,\n variables: variables\n };\n },\n rtl: context.rtl\n }),\n classes = _useStyles.classes,\n resolvedStyles = _useStyles.styles;\n\n var handleFocus = function handleFocus(e) {\n var _popperRef$current;\n\n (_popperRef$current = popperRef.current) == null ? void 0 : _popperRef$current.updatePosition();\n setFocused(true);\n\n _invoke(props, 'onFocus', e, props);\n };\n\n var handleBlur = function handleBlur(e) {\n // `focused` controls is focused the whole `ChatMessage` or any of its children. When we're navigating\n // with keyboard the focused element will be changed and there is no way to use `:focus` selector\n var shouldPreserveFocusState = _invoke(e, 'currentTarget.contains', e.relatedTarget);\n\n setFocused(shouldPreserveFocusState);\n\n _invoke(props, 'onBlur', e, props);\n };\n\n var handleMouseEnter = function handleMouseEnter(e) {\n var _popperRef$current2;\n\n (_popperRef$current2 = popperRef.current) == null ? void 0 : _popperRef$current2.updatePosition();\n\n _invoke(props, 'onMouseEnter', e, props);\n };\n\n var renderActionMenu = function renderActionMenu() {\n var actionMenuElement = Menu.create(actionMenu, {\n defaultProps: function defaultProps() {\n var _ref;\n\n return _ref = {}, _ref[IS_FOCUSABLE_ATTRIBUTE] = true, _ref.accessibility = menuAsToolbarBehavior, _ref.className = chatMessageSlotClassNames.actionMenu, _ref.styles = resolvedStyles.actionMenu, _ref;\n }\n });\n\n if (!actionMenuElement) {\n return actionMenuElement;\n }\n\n return /*#__PURE__*/React.createElement(Ref, {\n innerRef: actionsMenuRef\n }, actionMenuElement);\n };\n\n var childrenPropExists = childrenExist(children);\n var rootClasses = childrenPropExists ? cx(classes.root, classes.content) : classes.root;\n var ElementType = getElementType(props);\n var unhandledProps = useUnhandledProps(ChatMessage.handledProps, props);\n var badgeElement = Label.create(badge, {\n defaultProps: function defaultProps() {\n return {\n className: chatMessageSlotClassNames.badge,\n styles: resolvedStyles.badge\n };\n }\n });\n var reactionGroupElement = Reaction.Group.create(reactionGroup, {\n defaultProps: function defaultProps() {\n return {\n className: chatMessageSlotClassNames.reactionGroup,\n styles: resolvedStyles.reactionGroup\n };\n }\n });\n var actionMenuElement = renderActionMenu();\n var authorElement = Text.create(author, {\n defaultProps: function defaultProps() {\n return {\n size: 'small',\n styles: resolvedStyles.author,\n className: chatMessageSlotClassNames.author\n };\n }\n });\n var timestampElement = Text.create(timestamp, {\n defaultProps: function defaultProps() {\n return {\n size: 'small',\n styles: resolvedStyles.timestamp,\n timestamp: true,\n className: chatMessageSlotClassNames.timestamp\n };\n }\n });\n var messageContent = Box.create(content, {\n defaultProps: function defaultProps() {\n return {\n className: chatMessageSlotClassNames.content,\n styles: resolvedStyles.content\n };\n }\n });\n var detailsElement = createShorthand(ChatMessageDetails, details, {\n defaultProps: function defaultProps() {\n return {\n mine: mine\n };\n }\n });\n var readStatusElement = createShorthand(ChatMessageReadStatus, readStatus, {});\n var headerElement = createShorthand(ChatMessageHeader, header || {}, {\n overrideProps: function overrideProps() {\n return {\n content: /*#__PURE__*/React.createElement(React.Fragment, null, authorElement, timestampElement, detailsElement, reactionGroupPosition === 'start' && reactionGroupElement)\n };\n }\n });\n var element = /*#__PURE__*/React.createElement(Ref, {\n innerRef: messageRef\n }, getA11Props.unstable_wrapWithFocusZone( /*#__PURE__*/React.createElement(ElementType, getA11Props('root', Object.assign({\n className: rootClasses,\n onBlur: handleBlur,\n onFocus: handleFocus,\n onMouseEnter: handleMouseEnter\n }, rtlTextContainer.getAttributes({\n forElements: [children]\n }), unhandledProps)), childrenPropExists ? children : /*#__PURE__*/React.createElement(React.Fragment, null, actionMenuElement, badgePosition === 'start' && badgeElement, headerElement, messageContent, reactionGroupPosition === 'end' && reactionGroupElement, badgePosition === 'end' && badgeElement, readStatusElement))));\n setEnd();\n return element;\n };\n\n ChatMessage.displayName = 'ChatMessage';\n ChatMessage.defaultProps = {\n accessibility: chatMessageBehavior,\n badgePosition: 'end',\n positionActionMenu: true,\n reactionGroupPosition: 'start'\n };\n ChatMessage.propTypes = Object.assign({}, commonPropTypes.createCommon({\n content: 'shorthand'\n }), {\n actionMenu: PropTypes.oneOfType([customPropTypes.itemShorthand, customPropTypes.collectionShorthand]),\n attached: PropTypes.oneOfType([PropTypes.bool, PropTypes.oneOf(['top', 'bottom'])]),\n author: customPropTypes.itemShorthand,\n badge: customPropTypes.itemShorthand,\n details: customPropTypes.itemShorthand,\n badgePosition: PropTypes.oneOf(['start', 'end']),\n header: customPropTypes.itemShorthand,\n mine: PropTypes.bool,\n timestamp: customPropTypes.itemShorthand,\n onBlur: PropTypes.func,\n onFocus: PropTypes.func,\n onMouseEnter: PropTypes.func,\n positionActionMenu: PropTypes.bool,\n reactionGroup: PropTypes.oneOfType([customPropTypes.collectionShorthand, customPropTypes.itemShorthand]),\n reactionGroupPosition: PropTypes.oneOf(['start', 'end']),\n unstable_overflow: PropTypes.bool,\n readStatus: customPropTypes.itemShorthand\n });\n ChatMessage.handledProps = Object.keys(ChatMessage.propTypes);\n ChatMessage.create = createShorthandFactory({\n Component: ChatMessage,\n mappedProp: 'content'\n });\n return ChatMessage;\n}();\n//# sourceMappingURL=ChatMessage.js.map\n","import _isNil from \"lodash/isNil\";\nimport { chatMessageSlotClassNames } from '../../../../components/Chat/ChatMessage';\nimport { screenReaderContainerStyles } from '../../../../utils/accessibility/Styles/accessibilityStyles';\nimport { pxToRem } from '../../../../utils';\nimport { getBorderFocusStyles } from '../../getBorderFocusStyles';\nexport var chatMessageStyles = {\n root: function root(_ref) {\n var _hover, _ref2, _ref3, _ref4;\n\n var p = _ref.props,\n v = _ref.variables,\n siteVariables = _ref.theme.siteVariables;\n return Object.assign({\n display: 'inline-block',\n position: 'relative',\n marginLeft: p.mine ? v.offset : 0,\n marginRight: !p.mine ? v.offset : 0,\n maxWidth: \"calc(100% - \" + v.offset + \")\",\n minWidth: v.offset,\n paddingLeft: v.padding,\n paddingRight: v.padding,\n paddingTop: pxToRem(8),\n paddingBottom: pxToRem(10),\n borderRadius: v.borderRadius,\n border: v.border,\n outline: 0,\n color: v.color,\n backgroundColor: p.mine ? v.backgroundColorMine : v.backgroundColor,\n wordBreak: 'break-word',\n wordWrap: 'break-word'\n }, (v.hasMention || v.isImportant) && {\n '::before': {\n content: '\"\"',\n backgroundColor: v.hasMention ? v.hasMentionColor : v.isImportantColor,\n height: '100%',\n left: '0',\n position: 'absolute',\n top: '0',\n width: pxToRem(3),\n borderBottomLeftRadius: 'inherit',\n borderTopLeftRadius: 'inherit'\n }\n }, getBorderFocusStyles({\n variables: siteVariables\n }), _isNil(v.showActionMenu) && {\n ':hover': (_hover = {}, _hover[\"> .\" + chatMessageSlotClassNames.actionMenu] = {\n opacity: 1,\n zIndex: v.overlayZIndex,\n '[data-popper-escaped]': {\n opacity: 0\n }\n }, _hover)\n }, p.attached === true && (_ref2 = {}, _ref2[p.mine ? 'borderTopRightRadius' : 'borderTopLeftRadius'] = 0, _ref2[p.mine ? 'borderBottomRightRadius' : 'borderBottomLeftRadius'] = 0, _ref2.paddingTop = pxToRem(5), _ref2.paddingBottom = pxToRem(7), _ref2), p.attached === 'top' && (_ref3 = {}, _ref3[p.mine ? 'borderBottomRightRadius' : 'borderBottomLeftRadius'] = 0, _ref3), p.attached === 'bottom' && (_ref4 = {}, _ref4[p.mine ? 'borderTopRightRadius' : 'borderTopLeftRadius'] = 0, _ref4.paddingTop = pxToRem(5), _ref4.paddingBottom = pxToRem(7), _ref4));\n },\n actionMenu: function actionMenu(_ref5) {\n var p = _ref5.props,\n v = _ref5.variables;\n return Object.assign({\n backgroundColor: v.backgroundColor,\n border: '1px solid',\n borderColor: v.reactionGroupBorderColor,\n borderRadius: v.borderRadius,\n boxShadow: v.actionMenuBoxShadow,\n // we need higher zIndex for the action menu in order to be displayed above the focus border of the chat message\n zIndex: p.focused || !_isNil(v.showActionMenu) ? v.overlayZIndex : -1\n }, _isNil(v.showActionMenu) && {\n overflow: p.focused ? 'visible' : 'hidden',\n // hide and squash actions menu to prevent accidental hovers over its invisible area\n opacity: p.focused ? 1 : 0,\n width: 'auto'\n }, !_isNil(v.showActionMenu) && {\n overflow: v.showActionMenu ? 'visible' : 'hidden',\n // opacity should always be preferred over visibility in order to avoid accessibility bugs in\n // JAWS behavior on Windows\n opacity: v.showActionMenu ? 1 : 0,\n width: v.showActionMenu ? 'auto' : 0\n }, {\n '[data-popper-escaped]': {\n opacity: 0\n }\n });\n },\n author: function author(_ref6) {\n var p = _ref6.props,\n v = _ref6.variables;\n return Object.assign({}, (p.mine || p.attached === 'bottom' || p.attached === true) && screenReaderContainerStyles, {\n color: v.authorColor,\n marginRight: v.authorMarginRight,\n marginBottom: v.headerMarginBottom,\n fontWeight: v.authorFontWeight\n });\n },\n timestamp: function timestamp(_ref7) {\n var p = _ref7.props,\n v = _ref7.variables;\n return Object.assign({\n marginBottom: v.headerMarginBottom\n }, p.mine && {\n color: v.timestampColorMine\n }, (p.attached === 'bottom' || p.attached === true) && !p.hasReactionGroup && screenReaderContainerStyles);\n },\n content: function content(_ref8) {\n var p = _ref8.props,\n v = _ref8.variables;\n return Object.assign({\n color: v.contentColor,\n display: 'block',\n '& a': {\n outline: 'none',\n color: p.mine ? v.linkColorMine : v.linkColor,\n ':focus': {\n textDecoration: 'underline'\n }\n }\n }, p.hasBadge && p.badgePosition === 'end' && {\n marginRight: pxToRem(4)\n });\n },\n badge: function badge(_ref9) {\n var _ref10;\n\n var p = _ref9.props,\n v = _ref9.variables;\n var sidePosition = p.badgePosition === 'start' ? 'left' : 'right';\n return _ref10 = {\n backgroundColor: v.hasMention ? v.hasMentionNubbinColor : v.isImportantColor,\n color: v.badgeTextColor,\n boxShadow: v.badgeShadow,\n position: 'absolute',\n padding: pxToRem(4),\n height: 'auto',\n width: 'auto',\n borderRadius: '50%',\n top: pxToRem(4),\n zIndex: v.zIndex\n }, _ref10[sidePosition] = 0, _ref10.transform = p.badgePosition === 'start' ? 'translateX(-50%)' : 'translateX(50%)', _ref10['& > :first-child'] = {\n display: 'inline-flex'\n }, _ref10;\n },\n reactionGroup: function reactionGroup(_ref11) {\n var p = _ref11.props,\n v = _ref11.variables;\n return Object.assign({\n marginLeft: v.reactionGroupMarginLeft\n }, p.hasBadge && p.badgePosition === 'end' && {\n marginRight: pxToRem(2)\n }, {\n float: 'right'\n });\n }\n};\n//# sourceMappingURL=chatMessageStyles.js.map\n","export var chatMessageDetailsStyles = {\n root: function root(_ref) {\n var p = _ref.props,\n v = _ref.variables;\n return Object.assign({\n marginLeft: v.detailsMargin,\n fontSize: v.detailsFontSize,\n display: 'inline-block',\n color: v.detailsColor,\n ':hover': {\n color: v.detailsHoverColor\n }\n }, p.mine && {\n color: v.detailsColorMine,\n ':hover': {\n color: v.detailsHoverColorMine\n }\n });\n }\n};\n//# sourceMappingURL=chatMessageDetailsStyles.js.map\n","import { screenReaderContainerStyles } from '../../../../utils';\nexport var chatMessageReadStatusStyles = {\n root: function root(_ref) {\n var p = _ref.props,\n v = _ref.variables;\n return {\n position: 'absolute',\n right: v.rightPoistion,\n bottom: v.bottomPoistion,\n ':after': Object.assign({\n content: \"\\\"\" + p.title + \"\\\"\"\n }, screenReaderContainerStyles)\n };\n }\n};\n//# sourceMappingURL=chatMessageReadStatusStyles.js.map\n","import _invoke from \"lodash/invoke\";\nimport { checkboxBehavior } from '@fluentui/accessibility';\nimport { getElementType, useUnhandledProps, useAccessibility, useStateManager, useFluentContext, useStyles, useTelemetry } from '@fluentui/react-bindings';\nimport * as customPropTypes from '@fluentui/react-proptypes';\nimport { createCheckboxManager } from '@fluentui/state';\nimport * as PropTypes from 'prop-types';\nimport * as React from 'react';\nimport { createShorthandFactory, commonPropTypes } from '../../utils';\nimport { Box } from '../Box/Box';\nimport { Text } from '../Text/Text';\nexport var checkboxClassName = 'ui-checkbox';\nexport var checkboxSlotClassNames = {\n label: checkboxClassName + \"__label\",\n indicator: checkboxClassName + \"__indicator\"\n};\n/**\n * A Checkbox allows a user to make a choice between two mutually exclusive options.\n *\n * @accessibility\n * Implements [ARIA Checkbox](https://www.w3.org/TR/wai-aria-practices-1.1/#checkbox) design pattern.\n */\n\nexport var Checkbox = /*#__PURE__*/function () {\n var Checkbox = function Checkbox(props) {\n var context = useFluentContext();\n\n var _useTelemetry = useTelemetry(Checkbox.displayName, context.telemetry),\n setStart = _useTelemetry.setStart,\n setEnd = _useTelemetry.setEnd;\n\n setStart();\n var checked = props.checked,\n className = props.className,\n defaultChecked = props.defaultChecked,\n design = props.design,\n disabled = props.disabled,\n label = props.label,\n labelPosition = props.labelPosition,\n indicator = props.indicator,\n styles = props.styles,\n toggle = props.toggle,\n variables = props.variables;\n\n var _useStateManager = useStateManager(createCheckboxManager, {\n mapPropsToInitialState: function mapPropsToInitialState() {\n return {\n checked: defaultChecked\n };\n },\n mapPropsToState: function mapPropsToState() {\n return {\n checked: checked === 'mixed' ? false : checked\n };\n }\n }),\n state = _useStateManager.state,\n actions = _useStateManager.actions;\n\n var getA11Props = useAccessibility(props.accessibility, {\n debugName: Checkbox.displayName,\n mapPropsToBehavior: function mapPropsToBehavior() {\n return {\n checked: state.checked,\n disabled: disabled\n };\n },\n actionHandlers: {\n performClick: function performClick(e) {\n e.preventDefault();\n handleClick(e);\n }\n },\n rtl: context.rtl\n });\n\n var _useStyles = useStyles(Checkbox.displayName, {\n className: checkboxClassName,\n mapPropsToStyles: function mapPropsToStyles() {\n return {\n checked: checked === 'mixed' ? 'mixed' : state.checked,\n disabled: disabled,\n labelPosition: labelPosition,\n toggle: toggle\n };\n },\n mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n return {\n className: className,\n design: design,\n styles: styles,\n variables: variables\n };\n },\n rtl: context.rtl\n }),\n classes = _useStyles.classes,\n resolvedStyles = _useStyles.styles;\n\n var ElementType = getElementType(props);\n var unhandledProps = useUnhandledProps(Checkbox.handledProps, props);\n\n var handleChange = function handleChange(e) {\n if (!disabled) {\n // Checkbox component doesn't present any `input` component in markup, however all of our\n // components should handle events transparently.\n var _checked = !state.checked;\n\n actions.toggle(_checked);\n\n _invoke(props, 'onChange', e, Object.assign({}, props, {\n checked: _checked\n }));\n }\n };\n\n var handleClick = function handleClick(e) {\n if (!disabled) {\n var _checked2 = !state.checked;\n\n actions.toggle(_checked2);\n\n _invoke(props, 'onClick', e, Object.assign({}, props, {\n checked: _checked2\n }));\n\n _invoke(props, 'onChange', e, Object.assign({}, props, {\n checked: _checked2\n }));\n }\n };\n\n var labelElement = Text.create(label, {\n defaultProps: function defaultProps() {\n return getA11Props('label', {\n styles: resolvedStyles.label,\n className: checkboxSlotClassNames.label\n });\n }\n });\n var element = /*#__PURE__*/React.createElement(ElementType, getA11Props('root', Object.assign({\n className: classes.root,\n onClick: handleClick,\n onChange: handleChange\n }, unhandledProps)), labelPosition === 'start' && labelElement, Box.create(indicator, {\n defaultProps: function defaultProps() {\n return getA11Props('indicator', {\n className: checkboxSlotClassNames.indicator,\n styles: toggle ? resolvedStyles.toggle : resolvedStyles.checkbox\n });\n }\n }), labelPosition === 'end' && labelElement);\n setEnd();\n return element;\n };\n\n Checkbox.displayName = 'Checkbox';\n Checkbox.defaultProps = {\n accessibility: checkboxBehavior,\n indicator: {},\n labelPosition: 'end'\n };\n Checkbox.propTypes = Object.assign({}, commonPropTypes.createCommon({\n content: false\n }), {\n checked: PropTypes.oneOf([true, false, 'mixed']),\n defaultChecked: PropTypes.bool,\n disabled: PropTypes.bool,\n indicator: customPropTypes.shorthandAllowingChildren,\n label: customPropTypes.itemShorthand,\n labelPosition: PropTypes.oneOf(['start', 'end']),\n onChange: PropTypes.func,\n onClick: PropTypes.func,\n toggle: PropTypes.bool\n });\n Checkbox.handledProps = Object.keys(Checkbox.propTypes);\n Checkbox.create = createShorthandFactory({\n Component: Checkbox,\n mappedProp: 'label'\n });\n return Checkbox;\n}();\n//# sourceMappingURL=Checkbox.js.map\n","export var dialogStyles = {\n root: function root(_ref) {\n var v = _ref.variables;\n return {\n background: v.rootBackground,\n border: v.border,\n borderRadius: v.rootBorderRadius,\n outline: 'none',\n padding: v.rootPadding,\n position: 'relative',\n width: v.rootWidth,\n display: ['grid', '-ms-grid'],\n gridTemplateColumns: '1fr auto',\n msGridColumns: '1fr auto',\n boxShadow: v.boxShadow,\n color: v.foregroundColor\n };\n },\n footer: function footer() {\n return {\n gridColumn: '1 / -1',\n gridRow: 3,\n msGridRow: 3\n };\n },\n actions: function actions() {\n return {\n display: 'inline-block'\n };\n },\n content: function content(_ref2) {\n var v = _ref2.variables;\n return {\n margin: v.contentMargin,\n gridColumn: '1 / span 2',\n gridRow: 2,\n msGridColumn: 1,\n msGridColumnSpan: 2,\n msGridRow: 2,\n justifySelf: 'left',\n width: '100%'\n };\n },\n header: function header(_ref3) {\n var v = _ref3.variables;\n return {\n margin: v.headerMargin,\n gridRow: 1,\n msGridRow: 1,\n gridColumn: 1,\n msGridColumn: 1,\n justifySelf: 'left',\n fontSize: v.headerFontSize,\n fontWeight: v.headerFontWeight\n };\n },\n headerAction: function headerAction(_ref4) {\n var v = _ref4.variables;\n return {\n gridRow: 1,\n msGridRow: 1,\n gridColumn: 2,\n msGridColumn: 2,\n color: v.foregroundColor,\n margin: v.headerActionMargin\n };\n },\n overlay: function overlay(_ref5) {\n var p = _ref5.props,\n v = _ref5.variables;\n return Object.assign({\n alignItems: 'center',\n background: 'transparent',\n bottom: 0,\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'center',\n left: 0,\n overflow: 'auto',\n position: 'fixed',\n right: 0,\n top: 0,\n zIndex: v.overlayZIndex\n }, p.backdrop && {\n background: v.overlayBackground\n });\n }\n};\n//# sourceMappingURL=dialogStyles.js.map\n","import { pxToRem } from '../../../../utils';\nexport var dividerContentStyles = {\n root: function root() {\n return {\n marginLeft: pxToRem(20),\n marginRight: pxToRem(20)\n };\n }\n};\n//# sourceMappingURL=dividerContentStyles.js.map\n","var baseDifference = require('./_baseDifference'),\n baseFlatten = require('./_baseFlatten'),\n baseIteratee = require('./_baseIteratee'),\n baseRest = require('./_baseRest'),\n isArrayLikeObject = require('./isArrayLikeObject'),\n last = require('./last');\n\n/**\n * This method is like `_.difference` except that it accepts `iteratee` which\n * is invoked for each element of `array` and `values` to generate the criterion\n * by which they're compared. The order and references of result values are\n * determined by the first array. The iteratee is invoked with one argument:\n * (value).\n *\n * **Note:** Unlike `_.pullAllBy`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {...Array} [values] The values to exclude.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n * @example\n *\n * _.differenceBy([2.1, 1.2], [2.3, 3.4], Math.floor);\n * // => [1.2]\n *\n * // The `_.property` iteratee shorthand.\n * _.differenceBy([{ 'x': 2 }, { 'x': 1 }], [{ 'x': 1 }], 'x');\n * // => [{ 'x': 2 }]\n */\nvar differenceBy = baseRest(function(array, values) {\n var iteratee = last(values);\n if (isArrayLikeObject(iteratee)) {\n iteratee = undefined;\n }\n return isArrayLikeObject(array)\n ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true), baseIteratee(iteratee, 2))\n : [];\n});\n\nmodule.exports = differenceBy;\n","import { dropdownSlotClassNames } from '../../../../components/Dropdown/Dropdown';\nimport { pxToRem } from '../../../../utils';\nimport { getBorderFocusStyles } from '../../getBorderFocusStyles';\nvar transparentColorStyle = {\n backgroundColor: 'transparent',\n borderColor: 'transparent',\n borderBottomColor: 'transparent'\n};\nvar transparentColorStyleObj = Object.assign({}, transparentColorStyle, {\n ':hover': transparentColorStyle,\n ':active': transparentColorStyle,\n ':focus': Object.assign({}, transparentColorStyle, {\n ':active': transparentColorStyle\n })\n});\n\nvar getWidth = function getWidth(p, v) {\n if (p.fluid) {\n return '100%';\n }\n\n if (p.inline) {\n return 'initial';\n }\n\n return v.width;\n};\n\nexport var dropdownStyles = {\n root: function root(_ref) {\n var p = _ref.props;\n return Object.assign({}, p.inline && {\n display: 'inline-flex'\n });\n },\n clearIndicator: function clearIndicator(_ref2) {\n var v = _ref2.variables,\n siteVariables = _ref2.theme.siteVariables;\n return Object.assign({\n alignItems: 'center',\n alignSelf: 'center',\n display: 'flex',\n justifyContent: 'center',\n cursor: 'pointer',\n userSelect: 'none',\n margin: 0,\n position: 'absolute',\n right: pxToRem(6),\n padding: pxToRem(2),\n color: v.color\n }, getBorderFocusStyles({\n variables: siteVariables\n }));\n },\n container: function container(_ref3) {\n var _Object$assign;\n\n var p = _ref3.props,\n v = _ref3.variables,\n siteVariables = _ref3.theme.siteVariables;\n return Object.assign({\n display: 'flex',\n flexWrap: 'wrap',\n position: 'relative',\n borderStyle: 'solid',\n borderColor: v.borderColor,\n outline: 0,\n width: getWidth(p, v),\n borderWidth: p.search ? \"0 0 \" + v.searchBorderBottomWidth + \" 0\" : v.borderWidth,\n color: v.color,\n backgroundColor: v.backgroundColor,\n borderRadius: v.containerBorderRadius\n }, p.open && p.position === 'above' && {\n borderRadius: v.openAboveContainerBorderRadius\n }, p.open && p.position === 'below' && {\n borderRadius: v.openBelowContainerBorderRadius\n }, {\n ':hover': Object.assign({\n backgroundColor: v.backgroundColorHover,\n borderColor: v.borderColorHover\n }, p.open && {\n borderColor: v.openBorderColorHover\n })\n }, p.error && {\n border: pxToRem(1) + \" solid \" + v.borderError,\n ':hover': {\n border: pxToRem(1) + \" solid \" + v.borderError\n }\n }, {\n ':active': {\n backgroundColor: v.backgroundColor\n },\n ':focus-within': {\n // when dropdown's selected items are focused\n // keep the focus border style\n borderBottomColor: v.borderColorFocus\n }\n }, p.focused && Object.assign({\n backgroundColor: v.backgroundColor\n }, p.search && {\n borderBottomColor: v.borderColorFocus\n }, !p.search && !p.open && p.isFromKeyboard && getBorderFocusStyles({\n variables: siteVariables\n })[':focus-visible']), p.inline && Object.assign({}, transparentColorStyleObj, {\n alignItems: 'center'\n }), p.inverted && {\n backgroundColor: v.invertedBackgroundColor,\n ':hover': {\n backgroundColor: v.invertedBackgroundColorHover\n },\n ':active': {\n backgroundColor: v.invertedBackgroundColorHover\n },\n ':focus': {\n backgroundColor: v.invertedBackgroundColorHover\n }\n }, p.disabled && {\n backgroundColor: siteVariables.colorScheme.default.backgroundDisabled,\n borderColor: siteVariables.colorScheme.default.borderDisabled,\n userSelect: 'none',\n ':hover': {\n backgroundColor: siteVariables.colorScheme.default.backgroundDisabled\n },\n ':active': {\n backgroundColor: siteVariables.colorScheme.default.backgroundDisabled\n }\n }, (_Object$assign = {}, _Object$assign[\"& .\" + dropdownSlotClassNames.triggerButton] = Object.assign({}, p.disabled && {\n color: siteVariables.colorScheme.default.foregroundDisabled\n }), _Object$assign));\n },\n selectedItems: function selectedItems(_ref4) {\n var p = _ref4.props,\n v = _ref4.variables;\n return Object.assign({\n display: 'flex',\n flexWrap: 'wrap',\n overflowY: 'auto',\n maxHeight: v.selectedItemsMaxHeight,\n width: '100%'\n }, p.hasToggleIndicator && {\n paddingRight: v.toggleIndicatorSize\n }, p.multiple && p.hasItemsSelected && {\n paddingTop: pxToRem(1),\n paddingBottom: pxToRem(4)\n });\n },\n triggerButton: function triggerButton(_ref5) {\n var p = _ref5.props,\n v = _ref5.variables;\n return Object.assign({\n overflow: 'hidden',\n boxShadow: 'none',\n minHeight: pxToRem(32)\n }, transparentColorStyleObj, {\n margin: '0',\n justifyContent: 'left',\n padding: v.comboboxPaddingButton\n }, p.multiple && Object.assign({\n minWidth: 0,\n flex: 1\n }, p.hasItemsSelected && {\n position: 'absolute',\n top: 0,\n right: 0,\n left: 0,\n bottom: 0,\n height: '100%'\n }), transparentColorStyleObj, {\n ':focus': Object.assign({\n color: v.color\n }, transparentColorStyleObj),\n ':focus-visible': Object.assign({\n color: v.color\n }, transparentColorStyle, {\n ':after': {\n borderColor: 'transparent',\n borderRightWidth: 0\n },\n ':before': {\n borderColor: 'transparent',\n borderRightWidth: 0\n }\n }),\n ':active': Object.assign({\n color: v.color\n }, transparentColorStyle, {\n animationName: 'unset',\n animationDuration: 'unset'\n }),\n ':hover': Object.assign({}, transparentColorStyle, {\n color: v.color // required for HC theme\n\n })\n }, p.inline && {\n paddingLeft: 0,\n paddingRight: 0,\n width: 'initial'\n });\n },\n list: function list(_ref6) {\n var p = _ref6.props,\n v = _ref6.variables;\n return Object.assign({\n outline: 0,\n borderStyle: 'solid',\n borderWidth: p.open ? v.listBorderWidth : '0px',\n borderColor: v.listBorderColor,\n zIndex: v.overlayZIndex,\n maxHeight: v.listMaxHeight,\n overflowY: 'auto',\n width: getWidth(p, v),\n background: v.listBackgroundColor\n }, p.position === 'above' && {\n borderRadius: v.aboveListBorderRadius\n }, p.position === 'below' && {\n borderRadius: v.belowListBorderRadius\n }, p.open && {\n boxShadow: v.listBoxShadow,\n padding: v.listPadding\n });\n },\n loadingMessage: function loadingMessage(_ref7) {\n var v = _ref7.variables;\n return {\n backgroundColor: v.loadingMessageBackgroundColor\n };\n },\n noResultsMessage: function noResultsMessage(_ref8) {\n var v = _ref8.variables;\n return {\n backgroundColor: v.noResultsMessageBackgroundColor\n };\n },\n headerMessage: function headerMessage(_ref9) {\n var v = _ref9.variables;\n return {\n backgroundColor: v.headerMessageBackgroundColor\n };\n },\n toggleIndicator: function toggleIndicator(_ref10) {\n var p = _ref10.props,\n v = _ref10.variables;\n return Object.assign({\n alignItems: 'center',\n display: 'flex',\n justifyContent: 'center',\n alignSelf: 'center',\n cursor: 'pointer'\n }, p.disabled && {\n cursor: 'default'\n }, {\n userSelect: 'none',\n margin: 0,\n position: 'absolute',\n right: pxToRem(8)\n }, p.multiple && p.hasItemsSelected && {\n top: pxToRem(8)\n }, {\n color: v.color\n }, p.disabled && {\n color: v.disabledColor\n });\n }\n};\n//# sourceMappingURL=dropdownStyles.js.map\n","export var toFlexAlignment = function toFlexAlignment(propValue) {\n var trimmedValue = propValue.trim();\n\n if (trimmedValue === 'start' || trimmedValue === 'end') {\n return \"flex-\" + trimmedValue;\n }\n\n return trimmedValue;\n};\nexport var toFlexItemSizeValues = function toFlexItemSizeValues(sizeValue) {\n return {\n flexBasis: sizeValue\n };\n};\n//# sourceMappingURL=utils.js.map\n","var getCSSTemplateValue = function getCSSTemplateValue(template) {\n var templateAsNumber = Number(template);\n return !isNaN(templateAsNumber) && templateAsNumber > 0 ? \"repeat(\" + template + \", 1fr)\" : String(template);\n};\n\nexport var gridStyles = {\n root: function root(_ref) {\n var props = _ref.props,\n _ref$variables = _ref.variables,\n height = _ref$variables.height,\n width = _ref$variables.width,\n defaultColumnCount = _ref$variables.defaultColumnCount,\n gridGap = _ref$variables.gridGap,\n padding = _ref$variables.padding;\n var rows = props.rows,\n _props$columns = props.columns,\n columns = _props$columns === void 0 ? !props.rows && defaultColumnCount : _props$columns;\n return Object.assign({\n height: height,\n width: width,\n padding: padding,\n gridGap: gridGap,\n display: ['grid', '-ms-grid'],\n justifyContent: 'space-evenly'\n }, rows && !columns && {\n gridAutoFlow: 'column'\n }, rows && {\n gridTemplateRows: getCSSTemplateValue(rows),\n msGridRows: getCSSTemplateValue(rows)\n }, columns && {\n gridTemplateColumns: getCSSTemplateValue(columns),\n msGridColumns: getCSSTemplateValue(columns)\n }, {\n '& > *': {\n outlineOffset: '-3px'\n }\n });\n }\n};\n//# sourceMappingURL=gridStyles.js.map\n","/** Copy of TextAlignProperty from csstype (works around TS error) */\n// This is probably removable if we turn off isolatedModules in the future (then we can just\n// re-export TextAlignProperty).)\nexport var translateAlignProp = function translateAlignProp(textAlignProp) {\n // This assignment verifies that the copy of TextAlignProperty matches up with the real one.\n var alignProp = textAlignProp;\n\n switch (alignProp) {\n case 'start':\n return 'left';\n\n case 'end':\n return 'right';\n\n default:\n return alignProp;\n }\n};\n//# sourceMappingURL=translateAlignProp.js.map\n","import { callable } from '@fluentui/styles';\nimport { pxToRem } from '../../../../utils';\n\nvar getPaddedStyle = function getPaddedStyle() {\n return {\n padding: pxToRem(4)\n };\n};\n\nvar getBorderedStyles = function getBorderedStyles(boxShadowColor) {\n return Object.assign({}, getPaddedStyle(), {\n boxShadow: \"0 0 0 .05rem \" + boxShadowColor + \" inset\"\n });\n};\n\nvar getIconSize = function getIconSize(size, v) {\n var modifiedSizes = {\n large: {\n x: 24,\n xx: 28\n }\n };\n return v.sizeModifier && modifiedSizes[size] && modifiedSizes[size][v.sizeModifier] ? pxToRem(modifiedSizes[size][v.sizeModifier]) : v[size + \"Size\"];\n};\n\nvar getXSpacingStyles = function getXSpacingStyles(xSpacing, horizontalSpace) {\n switch (xSpacing) {\n case 'none':\n return {\n marginLeft: 0,\n marginRight: 0\n };\n\n case 'before':\n return {\n marginLeft: horizontalSpace,\n marginRight: 0\n };\n\n case 'after':\n return {\n marginLeft: 0,\n marginRight: horizontalSpace\n };\n\n case 'both':\n return {\n marginLeft: horizontalSpace,\n marginRight: horizontalSpace\n };\n }\n};\n\nexport var svgIconStyles = {\n root: function root(_ref) {\n var p = _ref.props,\n v = _ref.variables;\n return Object.assign({\n speak: 'none',\n verticalAlign: 'middle'\n }, getXSpacingStyles(p.xSpacing, v.horizontalSpace), p.circular && Object.assign({}, getPaddedStyle(), {\n borderRadius: '50%'\n }), p.disabled && {\n color: v.disabledColor\n }, {\n display: 'inline-block'\n }, (p.bordered || v.borderColor) && getBorderedStyles(v.borderColor || v.color || 'currentColor'), {\n backgroundColor: v.backgroundColor\n });\n },\n outlinePart: function outlinePart(_ref2) {\n var p = _ref2.props;\n return Object.assign({\n display: 'none'\n }, p.outline && {\n display: 'block'\n });\n },\n filledPart: function filledPart(_ref3) {\n var p = _ref3.props;\n return Object.assign({}, p.outline && {\n display: 'none'\n });\n },\n svg: function svg(_ref4) {\n var _ref4$props = _ref4.props,\n size = _ref4$props.size,\n disabled = _ref4$props.disabled,\n rotate = _ref4$props.rotate,\n v = _ref4.variables,\n rtl = _ref4.rtl;\n var iconSizeInRems = getIconSize(size, v);\n return Object.assign({\n display: 'block',\n width: iconSizeInRems,\n height: iconSizeInRems,\n fill: v.color || 'currentColor'\n }, disabled && {\n fill: v.disabledColor\n }, {\n // Manual flipping to make it compatible with Emotion and Fela in the same time\n transform: \"rotate(\" + rotate + \"deg) /* @noflip */\"\n }, rtl && {\n transform: \"rotate(\" + -1 * rotate + \"deg) /* @noflip */\"\n });\n },\n svgFlippingInRtl: function svgFlippingInRtl(config) {\n var props = config.props,\n rtl = config.rtl;\n return Object.assign({}, callable(svgIconStyles.svg)(config), rtl && {\n transform: \"scaleX(-1) rotate(\" + props.rotate + \"deg) /* @noflip */\"\n });\n },\n redPath: function redPath(_ref5) {\n var v = _ref5.variables;\n return {\n fill: v.redColor\n };\n }\n};\n//# sourceMappingURL=svgIconStyles.js.map\n","var debugStyle = function debugStyle(_ref) {\n var name = _ref.name,\n color = _ref.color,\n style = _ref.style;\n return {\n position: 'relative',\n border: \"2px \" + style + \" \" + color,\n '::before': {\n content: \"'\" + name + \"'\",\n position: 'absolute',\n padding: '1px 4px 1px',\n top: '-2px',\n left: '-2px',\n fontSize: '8px',\n fontWeight: 900,\n lineHeight: 1,\n letterSpacing: '1px',\n color: '#fff',\n background: color\n }\n };\n};\n\nexport var debugRoot = function debugRoot() {\n return Object.assign({}, debugStyle({\n name: 'LAYOUT',\n color: 'cornflowerblue',\n style: 'solid'\n }), {\n padding: '8px',\n margin: '2px'\n });\n};\nexport var debugArea = function debugArea() {\n return Object.assign({}, debugStyle({\n name: 'AREA',\n color: 'lightsalmon',\n style: 'dashed'\n }), {\n padding: '8px',\n margin: '2px'\n });\n};\nexport var debugGap = function debugGap(_ref2) {\n var vertical = _ref2.vertical;\n return {\n display: 'grid',\n background: '#ccc',\n '::before': Object.assign({\n content: '\"GAP\"'\n }, vertical ? {\n letterSpacing: '1px'\n } : {\n textOrientation: 'upright',\n writingMode: 'vertical-rl'\n }, {\n alignSelf: 'center',\n justifySelf: 'center',\n fontSize: '8px',\n fontWeight: 900,\n lineHeight: 0,\n color: '#fff'\n })\n };\n};\n//# sourceMappingURL=debugStyles.js.map\n","import { debugRoot, debugArea, debugGap } from '../../../../styles/debugStyles';\n\nvar countTrue = function countTrue(items) {\n return items.filter(Boolean).length;\n};\n\nexport var layoutStyles = {\n root: function root(_ref) {\n var _Object$assign;\n\n var props = _ref.props;\n var alignItems = props.alignItems,\n debug = props.debug,\n gap = props.gap,\n justifyItems = props.justifyItems,\n hasMain = props.hasMain,\n mainSize = props.mainSize,\n hasEnd = props.hasEnd,\n endSize = props.endSize,\n hasStart = props.hasStart,\n startSize = props.startSize,\n vertical = props.vertical;\n return Object.assign({}, debug && debugRoot(), (_Object$assign = {\n justifyItems: justifyItems,\n alignItems: alignItems,\n display: ['grid', '-ms-grid']\n }, _Object$assign[vertical ? 'gridTemplateRows' : 'gridTemplateColumns'] = [// Heads up!\n // IE11 Doesn't support grid-gap, insert virtual columns instead\n hasStart && startSize, gap && hasStart && hasMain && gap, hasMain && mainSize, gap && (hasStart || hasMain) && hasEnd && gap, hasEnd && endSize].filter(Boolean).join(' '), _Object$assign), vertical && {\n gridAutoFlow: 'row',\n msGridColumns: '1fr'\n });\n },\n gap: function gap(_ref2) {\n var props = _ref2.props;\n return Object.assign({}, props.debug && debugGap({\n vertical: props.vertical\n }));\n },\n start: function start(_ref3) {\n var _Object$assign2;\n\n var p = _ref3.props;\n return Object.assign({}, p.debug && debugArea(), (_Object$assign2 = {\n alignItems: 'center',\n display: 'inline-flex'\n }, _Object$assign2[p.vertical ? 'msGridRow' : 'msGridColumn'] = '1', _Object$assign2));\n },\n main: function main(_ref4) {\n var _Object$assign3;\n\n var p = _ref4.props;\n return Object.assign({}, p.debug && debugArea(), (_Object$assign3 = {\n alignItems: 'center',\n display: ['grid', '-ms-grid']\n }, _Object$assign3[p.vertical ? 'msGridRow' : 'msGridColumn'] = countTrue([p.hasStart, p.hasStart && p.gap, p.hasMain]), _Object$assign3));\n },\n end: function end(_ref5) {\n var _Object$assign4;\n\n var p = _ref5.props;\n return Object.assign({}, p.debug && debugArea(), (_Object$assign4 = {\n alignItems: 'center',\n display: 'inline-flex'\n }, _Object$assign4[p.vertical ? 'msGridRow' : 'msGridColumn'] = countTrue([p.hasStart, p.hasStart && p.gap, p.hasMain && p.gap]), _Object$assign4));\n }\n};\n//# sourceMappingURL=layoutStyles.js.map\n","import { pxToRem } from '../../../../utils';\nimport { getColorScheme } from '../../colors';\nimport { getIconFillOrOutlineStyles } from '../../getIconFillOrOutlineStyles';\nimport { getBorderFocusStyles } from '../../getBorderFocusStyles';\nexport var verticalPillsBottomMargin = pxToRem(5);\nexport var horizontalPillsRightMargin = pxToRem(8);\nexport var verticalPointingBottomMargin = pxToRem(12);\nexport var underlinedItem = function underlinedItem(color) {\n return {\n paddingBottom: 0,\n borderBottom: \"solid \" + pxToRem(4) + \" \" + color,\n transition: 'color .1s ease'\n };\n};\nexport var getFocusedStyles = function getFocusedStyles(_ref) {\n var props = _ref.props,\n v = _ref.variables,\n colors = _ref.colors;\n var primary = props.primary,\n underlined = props.underlined,\n active = props.active,\n vertical = props.vertical;\n if (active && !underlined && !vertical) return {};\n return Object.assign({\n color: v.colorActive || colors.foregroundActive,\n background: v.backgroundColorFocus || colors.backgroundFocus\n }, primary && {\n color: colors.foregroundFocus,\n background: colors.backgroundFocus\n }, vertical && Object.assign({\n border: \"solid 1px \" + v.borderColorFocus,\n outline: \"solid 1px \" + v.outlineColorFocus,\n margin: pxToRem(1),\n background: v.verticalBackgroundColorFocus,\n color: v.colorFocus || colors.foregroundFocus\n }, primary && {\n color: v.color\n }, active && Object.assign({\n color: v.colorActive,\n background: v.backgroundColorActive || colors.backgroundActive\n }, primary && {\n color: colors.foregroundFocus\n })));\n};\nexport var pointingBeak = function pointingBeak(_ref2) {\n var props = _ref2.props,\n v = _ref2.variables,\n colors = _ref2.colors;\n var pointing = props.pointing,\n primary = props.primary;\n var top;\n var borders;\n var backgroundColor = v.backgroundColorActive || colors.backgroundActive;\n var borderColor = v.borderColor || primary ? v.primaryBorderColor : colors.border;\n\n if (pointing === 'start') {\n borders = {\n borderTop: \"1px solid \" + borderColor,\n borderLeft: \"1px solid \" + borderColor\n };\n top = '-1px'; // 1px for the border\n } else {\n borders = {\n borderBottom: \"1px solid \" + borderColor,\n borderRight: \"1px solid \" + borderColor\n };\n top = '100%';\n }\n\n return {\n '::after': Object.assign({\n visibility: 'visible',\n background: backgroundColor,\n position: 'absolute',\n content: '\"\"',\n top: top,\n left: '50%',\n transform: 'translateX(-50%) translateY(-50%) rotate(45deg)',\n margin: '.5px 0 0',\n width: pxToRem(10),\n height: pxToRem(10),\n border: 'none'\n }, borders, {\n zIndex: v.beakZIndex,\n transition: 'background .1s ease'\n })\n };\n};\nexport var menuItemStyles = {\n root: function root(_ref3) {\n var p = _ref3.props,\n v = _ref3.variables,\n siteVariables = _ref3.theme.siteVariables;\n var active = p.active,\n iconOnly = p.iconOnly,\n isFromKeyboard = p.isFromKeyboard,\n pointing = p.pointing,\n primary = p.primary,\n underlined = p.underlined,\n vertical = p.vertical,\n disabled = p.disabled;\n var colors = getColorScheme(v.colorScheme, null, primary);\n return Object.assign({\n color: 'inherit',\n display: 'block',\n cursor: 'pointer',\n whiteSpace: 'nowrap',\n overflow: 'hidden'\n }, pointing && vertical && {\n border: '1px solid transparent'\n }, iconOnly && {\n border: pxToRem(2) + \" solid transparent\"\n }, {\n padding: v.horizontalPadding\n }, vertical && {\n padding: v.verticalItemPadding\n }, pointing && vertical && {\n padding: pxToRem(8) + \" \" + pxToRem(18)\n }, underlined && {\n padding: pxToRem(4) + \" 0\"\n }, iconOnly && {\n margin: pxToRem(1),\n padding: pxToRem(5),\n // padding works this way to get the border to only be 30x30px on focus which is the current design\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n overflow: 'visible'\n }, active && Object.assign({}, iconOnly && Object.assign({\n color: v.iconOnlyColorActive\n }, getIconFillOrOutlineStyles({\n outline: false\n })), underlined && Object.assign({\n color: v.activeUnderlinedColor\n }, underlinedItem(v.activeUnderlinedBorderBottomColor), primary && Object.assign({\n color: v.activeUnderlinedPrimaryColor\n }, underlinedItem(v.borderColorActive || colors.borderActive)), !primary && {\n fontWeight: 700\n })), isFromKeyboard && Object.assign({\n color: 'inherit'\n }, iconOnly && Object.assign({}, getBorderFocusStyles({\n variables: siteVariables\n }), getIconFillOrOutlineStyles({\n outline: false\n })), primary ? Object.assign({}, iconOnly && {\n borderColor: v.borderColorActive || colors.borderActive\n }) : Object.assign({}, underlined && {\n fontWeight: 700\n }, underlined && active && underlinedItem(v.colorActive)), underlined && Object.assign({}, getBorderFocusStyles({\n variables: siteVariables\n }), {\n ':focus-visible': Object.assign({}, getBorderFocusStyles({\n variables: siteVariables\n })[':focus-visible'], {\n borderColor: v.borderColorActive\n })\n })), {\n ':focus': {\n outline: 0\n },\n // hover styles\n ':hover': Object.assign({\n color: v.colorHover\n }, underlined && {\n color: v.underlinedColorHover\n }, !disabled && Object.assign({}, iconOnly && getIconFillOrOutlineStyles({\n outline: false\n }), primary ? Object.assign({}, iconOnly && {\n color: 'inherit'\n }, !active && underlined && underlinedItem(v.underlinedBorderColor || colors.backgroundActive)) : !active && underlined && underlinedItem(v.backgroundColorActive || colors.backgroundActive)))\n }, disabled && {\n cursor: 'default'\n });\n },\n menu: function menu(_ref4) {\n var v = _ref4.variables;\n return {\n zIndex: v.menuZIndex\n };\n }\n};\n//# sourceMappingURL=menuItemStyles.js.map\n","export var submenuIndicatorUrl = function submenuIndicatorUrl(color) {\n return \"url(\\\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' role='presentation' fill='\" + encodeURIComponent(color) + \"' focusable='false' viewBox='8 8 16 16'%3E%3Cpath d='M19.49,16a.91.91,0,0,1-.29.7l-5,5a1,1,0,0,1-.71.3,1,1,0,0,1-1-1,1,1,0,0,1,.29-.7L17.08,16l-4.3-4.29a1,1,0,0,1-.29-.71,1,1,0,0,1,1.71-.71l5,5A1,1,0,0,1,19.49,16Z' /%3E%3C/svg%3E\\\")\";\n};\nexport var submenuIndicatorDirection = function submenuIndicatorDirection(vertical, rtl) {\n return vertical ? rtl ? {\n transform: \"scaleX(-1)\"\n } : {} : {\n transform: \"rotate(\" + (rtl ? -90 : 90) + \"deg)\"\n };\n};\n//# sourceMappingURL=submenuIndicatorUrl.js.map\n","export var getContainerStyles = function getContainerStyles(options) {\n var padding = options.padding,\n placement = options.placement;\n return Object.assign({}, placement === 'bottom' && {\n paddingTop: padding\n }, placement === 'top' && {\n paddingBottom: padding\n }, placement === 'left' && {\n paddingRight: padding\n }, placement === 'right' && {\n paddingLeft: padding\n });\n};\nexport var getPointerStyles = function getPointerStyles(options) {\n var backgroundColor = options.backgroundColor,\n borderColor = options.borderColor,\n borderSize = options.borderSize,\n gap = options.gap,\n height = options.height,\n padding = options.padding,\n placement = options.placement,\n rtl = options.rtl,\n svg = options.svg,\n width = options.width;\n return Object.assign({\n display: 'block',\n position: 'absolute',\n zIndex: 1\n }, (placement === 'bottom' || placement === 'top') && {\n paddingLeft: gap,\n paddingRight: gap,\n height: height,\n width: \"calc(\" + width + \" + (\" + gap + \" * 2))\"\n }, (placement === 'left' || placement === 'right') && {\n paddingBottom: gap,\n paddingTop: gap,\n height: \"calc(\" + width + \" + (\" + gap + \" * 2))\",\n width: height\n }, placement === 'bottom' && {\n top: \"calc(\" + padding + \" - \" + height + \" + (\" + borderSize + \" * 2))\"\n }, placement === 'top' && {\n bottom: \"calc(\" + padding + \" - \" + height + \" + \" + borderSize + \")\"\n }, placement === 'left' && {\n right: \"calc(\" + padding + \" - \" + height + \" + \" + borderSize + \")\"\n }, placement === 'right' && {\n left: \"calc(\" + padding + \" - \" + height + \" + \" + borderSize + \")\"\n }, {\n '::before': Object.assign({\n content: '\" \"',\n display: 'block',\n height: height,\n position: 'relative',\n transformOrigin: 'center top',\n borderBottomColor: 'transparent',\n borderLeftColor: 'transparent',\n borderRightColor: 'transparent',\n borderTopColor: 'transparent',\n borderStyle: 'solid',\n left: 0,\n top: 0\n }, placement === 'bottom' && {\n borderBottomColor: backgroundColor,\n borderWidth: \"0 \" + height + \" \" + height\n }, placement === 'top' && {\n borderTopColor: backgroundColor,\n borderWidth: height + \" \" + height + \" 0\",\n top: \"calc(\" + borderSize + \" * -1)\"\n }, placement === 'left' && {\n borderLeftColor: backgroundColor,\n borderWidth: height + \" 0 \" + height + \" \" + height\n }, placement === 'right' && {\n borderRightColor: backgroundColor,\n borderWidth: height + \" \" + height + \" \" + height + \" 0\"\n }),\n '::after': Object.assign({\n content: '\" \"',\n display: 'block',\n height: height,\n position: 'relative',\n transformOrigin: 'center top',\n zIndex: -1,\n borderBottomColor: 'transparent',\n borderLeftColor: 'transparent',\n borderRightColor: 'transparent',\n borderTopColor: 'transparent',\n borderStyle: 'solid'\n }, placement === 'bottom' && {\n borderBottomColor: borderColor,\n borderWidth: \"0 \" + height + \" \" + height,\n left: 0,\n bottom: \"calc(\" + height + \" + 1px)\"\n }, placement === 'top' && {\n borderTopColor: borderColor,\n borderWidth: height + \" \" + height + \" 0\",\n left: 0,\n bottom: height\n }, placement === 'left' && {\n borderLeftColor: borderColor,\n borderWidth: height + \" 0 \" + height + \" \" + height,\n left: borderSize,\n bottom: width\n }, placement === 'right' && {\n borderRightColor: borderColor,\n borderWidth: height + \" \" + height + \" \" + height + \" 0\",\n right: borderSize,\n bottom: width\n })\n }, svg && {\n // :before & :after are used to draw CSS triangles, not valid for SVG\n '::before': Object.assign({\n content: '\" \"',\n backgroundImage: svg,\n backgroundRepeat: 'no-repeat',\n backgroundPosition: 'center',\n display: 'block',\n position: 'relative'\n }, placement === 'bottom' && {\n height: \"calc(\" + width + \" + (\" + gap + \" * 2))\",\n width: height,\n left: gap,\n bottom: \"calc(\" + width + \" - \" + height + \" + \" + borderSize + \")\",\n transform: \"rotate(\" + (rtl ? -90 : 90) + \"deg)\"\n }, placement === 'top' && {\n height: \"calc(\" + width + \" + (\" + gap + \" * 2))\",\n width: height,\n left: gap,\n bottom: \"calc(\" + gap + \" + \" + height + \" - \" + borderSize + \")\",\n transform: \"rotate(\" + (rtl ? 90 : -90) + \"deg)\"\n }, placement === 'left' && {\n height: width,\n width: height,\n left: 0,\n transform: \"rotate(\" + (rtl ? 0 : 180) + \"deg)\"\n }, placement === 'right' && {\n height: width,\n width: height,\n right: 0,\n transform: \"rotate(\" + (rtl ? 180 : 0) + \"deg)\"\n }),\n '::after': undefined\n });\n};\n//# sourceMappingURL=getPointerStyles.js.map\n","import { radioGroupItemSlotClassNames } from '../../../../components/RadioGroup/RadioGroupItem';\nimport { pxToRem } from '../../../../utils';\nimport { getBorderFocusStyles } from '../../getBorderFocusStyles';\n\nvar restHoverFocusTextColor = function restHoverFocusTextColor(textColor) {\n return {\n color: textColor,\n ':hover': {\n color: textColor\n },\n ':focus': {\n color: textColor\n }\n };\n};\n\nexport var radioGroupItemStyles = {\n root: function root(_ref) {\n var _hover;\n\n var p = _ref.props,\n v = _ref.variables,\n siteVariables = _ref.theme.siteVariables;\n return Object.assign({\n position: 'relative',\n alignItems: 'center',\n borderStyle: 'solid',\n borderWidth: \"\" + pxToRem(1),\n borderColor: 'transparent',\n borderRadius: \"\" + pxToRem(2),\n color: v.textColorDefault,\n cursor: 'pointer',\n display: p.vertical ? 'flex' : 'inline-flex',\n fontSize: v.textFontSize,\n padding: v.padding,\n margin: v.margin,\n ':hover': (_hover = {\n color: v.textColorDefaultHoverFocus\n }, _hover[\"& .\" + radioGroupItemSlotClassNames.indicator] = Object.assign({\n borderColor: v.textColorDefaultHoverFocus\n }, !p.disabled && !p.checked && {\n borderColor: v.indicatorBorderColorDefaultHover\n }), _hover),\n ':focus': {\n color: v.textColorDefaultHoverFocus\n }\n }, p.checked && Object.assign({}, restHoverFocusTextColor(v.textColorChecked)), p.disabled && Object.assign({}, restHoverFocusTextColor(v.colorDisabled)), getBorderFocusStyles({\n variables: siteVariables\n }));\n },\n indicator: function indicator(_ref2) {\n var p = _ref2.props,\n v = _ref2.variables;\n return Object.assign({\n margin: pxToRem(2) + \" 0\",\n outline: 0,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: pxToRem(16),\n height: pxToRem(16),\n verticalAlign: 'midddle',\n color: v.indicatorColorDefault\n }, p.checked && {\n color: v.indicatorBackgroundColorChecked\n }, p.disabled && {\n color: v.colorDisabled\n });\n },\n label: function label() {\n return {\n margin: \"0 0 0 \" + pxToRem(12)\n };\n }\n};\n//# sourceMappingURL=radioGroupItemStyles.js.map\n","import { pulse, wave } from './keyframes';\nimport { skeletonLineClassName } from '../../../../../components/Skeleton/SkeletonLine';\nimport { skeletonShapeClassName } from '../../../../../components/Skeleton/SkeletonShape';\nimport { skeletonButtonClassName } from '../../../../../components/Skeleton/SkeletonButton';\nimport { skeletonInputClassName } from '../../../../../components/Skeleton/SkeletonInput';\nimport { skeletonAvatarClassName } from '../../../../../components/Skeleton/SkeletonAvatar';\n\nvar waveStyles = function waveStyles(primaryColor, secondoryColor) {\n return {\n position: 'static',\n overflow: 'hidden',\n animationDuration: '4.5s',\n animationName: wave,\n animationIterationCount: 'infinite',\n backgroundColor: '#FFFFFF',\n animationTimingFunction: 'linear',\n backgroundImage: \"linear-gradient(to right, \" + secondoryColor + \" 0%, \" + primaryColor + \" 20%, \" + secondoryColor + \" 40%)\",\n backgroundSize: '1200px 100%'\n };\n};\n\nvar pulseStyles = {\n animationName: pulse,\n animationDuration: '1.5s',\n animationIterationCount: 'infinite'\n};\nexport var getAnimations = function getAnimations(primaryColor, secondoryColor) {\n var _pulse, _wave;\n\n return {\n pulse: (_pulse = {}, _pulse[\"& .\" + skeletonLineClassName] = pulseStyles, _pulse[\"& .\" + skeletonShapeClassName] = pulseStyles, _pulse[\"& .\" + skeletonButtonClassName] = pulseStyles, _pulse[\"& .\" + skeletonAvatarClassName] = pulseStyles, _pulse[\"& .\" + skeletonInputClassName] = pulseStyles, _pulse),\n wave: (_wave = {}, _wave[\"& .\" + skeletonLineClassName] = waveStyles(primaryColor, secondoryColor), _wave[\"& .\" + skeletonShapeClassName] = waveStyles(primaryColor, secondoryColor), _wave[\"& .\" + skeletonButtonClassName] = waveStyles(primaryColor, secondoryColor), _wave[\"& .\" + skeletonAvatarClassName] = waveStyles(primaryColor, secondoryColor), _wave[\"& .\" + skeletonInputClassName] = waveStyles(primaryColor, secondoryColor), _wave)\n };\n};\n//# sourceMappingURL=animations.js.map\n","import { sliderSlotClassNames } from '../../../../components/Slider/Slider';\nimport { getBorderFocusStyles } from '../../getBorderFocusStyles';\nvar selectors = {\n WEBKIT_THUMB: '::-webkit-slider-thumb',\n MOZ_THUMB: '::-moz-range-thumb',\n MS_FILL_LOWER: '::-ms-fill-lower',\n MS_FILL_UPPER: '::-ms-fill-upper',\n MS_THUMB: '::-ms-thumb'\n};\n\nvar getCommonSlotStyles = function getCommonSlotStyles(p, v) {\n return {\n cursor: 'pointer',\n pointerEvents: 'none',\n position: 'absolute',\n border: 0,\n height: v.railHeight,\n marginTop: \"calc(\" + v.height + \" / 2 - \" + v.railHeight + \" / 2)\"\n };\n}; // this selector is used to identify the thumb slot from a previous sibling\n\n\nvar thumbFromPreviousSiblingSelector = \"&+ .\" + sliderSlotClassNames.thumb;\n\nvar getFluidStyles = function getFluidStyles(p) {\n return p.fluid && !p.vertical && {\n width: '100%'\n };\n};\n\nexport var sliderStyles = {\n root: function root(_ref) {\n var p = _ref.props,\n v = _ref.variables;\n return Object.assign({\n height: v.height\n }, p.disabled && {\n pointerEvents: 'none'\n }, p.vertical && {\n height: v.length,\n width: v.height\n }, getFluidStyles(p));\n },\n input: function input(_ref2) {\n var _Object$assign, _active, _focus, _focusVisible;\n\n var p = _ref2.props,\n v = _ref2.variables,\n siteVariables = _ref2.theme.siteVariables;\n var activeThumbStyles = {\n height: v.activeThumbHeight,\n width: v.activeThumbWidth,\n background: v.activeThumbColor,\n marginTop: \"calc(\" + v.height + \" / 2 - \" + v.activeThumbHeight + \" / 2)\",\n marginLeft: \"calc(-\" + v.activeThumbWidth + \" / 2)\"\n };\n var borderFocusStyles = getBorderFocusStyles({\n variables: siteVariables,\n borderPadding: v.thumbBorderPadding\n });\n var thumbStyles = {\n border: 0,\n width: '1px'\n };\n return Object.assign((_Object$assign = {\n '-webkit-appearance': 'none',\n cursor: 'pointer',\n height: '100%',\n width: '100%',\n margin: 0,\n padding: 0,\n opacity: 0\n }, _Object$assign[selectors.WEBKIT_THUMB] = Object.assign({}, thumbStyles, {\n '-webkit-appearance': 'none'\n }), _Object$assign[selectors.MOZ_THUMB] = thumbStyles, _Object$assign[selectors.MS_THUMB] = Object.assign({}, thumbStyles, {\n marginTop: \"calc(-\" + v.thumbHeight + \" / 2)\"\n }), _Object$assign[selectors.MS_FILL_LOWER] = {\n display: 'none'\n }, _Object$assign[selectors.MS_FILL_UPPER] = {\n display: 'none'\n }, _Object$assign), getFluidStyles(p), {\n ':active': (_active = {}, _active[thumbFromPreviousSiblingSelector] = activeThumbStyles, _active),\n ':focus': (_focus = {\n outline: 0\n }, _focus[thumbFromPreviousSiblingSelector] = borderFocusStyles[':focus'], _focus),\n ':focus-visible': (_focusVisible = {}, _focusVisible[thumbFromPreviousSiblingSelector] = Object.assign({}, borderFocusStyles[':focus-visible'], activeThumbStyles), _focusVisible)\n });\n },\n inputWrapper: function inputWrapper(_ref3) {\n var p = _ref3.props,\n v = _ref3.variables;\n var transformOriginValue = \"calc(\" + v.length + \" / 2)\";\n return Object.assign({\n position: 'relative',\n display: 'inline-block',\n height: v.height,\n width: v.length\n }, p.vertical && {\n transform: 'rotate(-90deg)',\n transformOrigin: transformOriginValue + \" \" + transformOriginValue\n }, getFluidStyles(p));\n },\n rail: function rail(_ref4) {\n var p = _ref4.props,\n v = _ref4.variables;\n return Object.assign({\n width: '100%',\n background: v.railColor\n }, getCommonSlotStyles(p, v), p.disabled && {\n background: v.disabledRailColor\n });\n },\n track: function track(_ref5) {\n var p = _ref5.props,\n v = _ref5.variables;\n return Object.assign({\n background: v.trackColor\n }, getCommonSlotStyles(p, v), p.disabled && {\n background: v.disabledTrackColor\n });\n },\n thumb: function thumb(_ref6) {\n var p = _ref6.props,\n v = _ref6.variables;\n return Object.assign({\n border: 0,\n borderRadius: '100%',\n cursor: 'pointer',\n pointerEvents: 'none',\n position: 'absolute',\n background: v.thumbColor,\n height: v.thumbHeight,\n width: v.thumbWidth,\n marginTop: \"calc(\" + v.height + \" / 2 - \" + v.thumbHeight + \" / 2)\",\n marginLeft: \"calc(-\" + v.thumbWidth + \" / 2)\"\n }, p.disabled && {\n background: v.disabledThumbColor\n });\n }\n};\n//# sourceMappingURL=sliderStyles.js.map\n","import { getBorderFocusStyles } from '../../getBorderFocusStyles';\nimport { getIconFillOrOutlineStyles } from '../../getIconFillOrOutlineStyles';\nimport { toggleIndicatorUrl } from './toggleIndicatorUrl';\n\nvar getIndicatorStyles = function getIndicatorStyles(color, outline, size) {\n return {\n content: '\"\"',\n width: size,\n height: size,\n backgroundImage: toggleIndicatorUrl(color, outline),\n backgroundRepeat: 'no-repeat'\n };\n};\n\nexport var splitButtonToggleStyles = {\n root: function root(_ref) {\n var p = _ref.props,\n v = _ref.variables,\n theme = _ref.theme;\n var siteVariables = theme.siteVariables;\n var borderWidth = siteVariables.borderWidth;\n var borderFocusStyles = getBorderFocusStyles({\n variables: {\n borderRadius: v.focusBorderRadius,\n borderWidth: v.focusBorderWidth,\n focusInnerBorderColor: v.focusInnerBorderColor,\n focusOuterBorderColor: v.focusOuterBorderColor,\n zIndexes: {\n foreground: v.focusBorderZIndex\n }\n },\n borderPadding: borderWidth\n });\n return Object.assign({\n height: v.toggleButtonHeight,\n minWidth: v.toggleButtonHeight,\n color: v.toggleButtonColor,\n backgroundColor: v.toggleButtonBackgroundColor,\n borderRadius: v.toggleButtonBorderRadius,\n display: 'inline-flex',\n justifyContent: 'center',\n alignItems: 'center',\n position: 'relative',\n verticalAlign: 'middle',\n cursor: 'pointer',\n outline: 0,\n padding: 0,\n borderWidth: borderWidth,\n borderStyle: 'solid',\n borderColor: v.toggleButtonBorderColor,\n boxShadow: v.toggleButtonBoxShadow,\n borderTopLeftRadius: 0,\n borderBottomLeftRadius: 0\n }, getIconFillOrOutlineStyles({\n outline: true\n }), {\n ':before': Object.assign({}, getIndicatorStyles(p.disabled ? v.toggleButtonColorDisabled : p.primary ? v.toggleButtonPrimaryColor : v.toggleButtonColor, true, v.toggleButtonIndicatorSize)),\n ':hover': Object.assign({}, getIconFillOrOutlineStyles({\n outline: false\n }), {\n ':before': Object.assign({}, getIndicatorStyles(v.toggleButtonColorHover, false, v.toggleButtonIndicatorSize)),\n color: v.toggleButtonColorHover,\n background: v.toggleButtonBackgroundColorHover\n }),\n ':active': {\n color: v.toggleButtonColorActive,\n backgroundColor: v.toggleButtonBackgroundColorActive,\n borderColor: v.toggleButtonBorderColorActive,\n boxShadow: 'none'\n },\n ':focus': borderFocusStyles[':focus'],\n ':focus-visible': {\n backgroundColor: v.toggleButtonBackgroundColorFocus,\n borderColor: v.toggleButtonBorderColorFocus,\n color: v.toggleButtonColorFocus,\n borderWidth: borderWidth,\n ':hover': {\n borderColor: v.toggleButtonBorderColorHover\n }\n }\n }, p.primary && {\n color: v.toggleButtonPrimaryColor,\n backgroundColor: v.toggleButtonPrimaryBackgroundColor,\n borderColor: v.toggleButtonPrimaryBorderColor,\n boxShadow: v.toggleButtonPrimaryBoxShadow,\n borderWidth: \"0 0 0 \" + siteVariables.borderWidth,\n ':active': {\n backgroundColor: v.toggleButtonPrimaryBackgroundColorActive,\n boxShadow: 'none'\n },\n ':focus': borderFocusStyles[':focus'],\n ':focus-visible': {\n backgroundColor: v.toggleButtonPrimaryBackgroundColorFocus\n },\n ':hover': {\n color: v.toggleButtonPrimaryHoverColor,\n backgroundColor: v.toggleButtonPrimaryHoverBackgroundColor\n }\n }, p.disabled && {\n cursor: 'default',\n color: v.toggleButtonColorDisabled,\n boxShadow: 'none',\n pointerEvents: 'none',\n ':hover': {\n color: v.toggleButtonColorDisabled\n },\n backgroundColor: v.toggleButtonBackgroundColorDisabled,\n borderWidth: \"0 0 0 \" + siteVariables.borderWidth,\n borderColor: v.borderColorDisabled\n }, p.size === 'small' && {\n height: v.smallDimension,\n width: v.smallDimension,\n minWidth: v.smallMinWidth,\n boxShadow: v.smallBoxShadow\n });\n }\n};\n//# sourceMappingURL=splitButtonToggleStyles.js.map\n","export var toggleIndicatorUrl = function toggleIndicatorUrl(color, outline) {\n if (outline) {\n return \"url(\\\"data:image/svg+xml, %3Csvg xmlns='http://www.w3.org/2000/svg' role='presentation' focusable='false' viewBox='8 8 16 16'%3E%3Cpath fill='\" + encodeURIComponent(color) + \"' d='M21.5,13.5c0,0.1,0,0.3-0.1,0.4l-5,5C16.3,19,16.1,19,16,19c-0.1,0-0.3-0.1-0.4-0.1l-5-5c-0.1-0.1-0.2-0.2-0.1-0.4 c0-0.3,0.2-0.5,0.5-0.5c0.1,0,0.3,0.1,0.4,0.1l4.6,4.6l4.7-4.6c0.1-0.1,0.2-0.1,0.4-0.1C21.3,13,21.5,13.2,21.5,13.5z' /%3E%3C/svg%3E\\\")\";\n }\n\n return \"url(\\\"data:image/svg+xml, %3Csvg xmlns='http://www.w3.org/2000/svg' role='presentation' focusable='false' viewBox='8 8 16 16'%3E%3Cpath fill='\" + encodeURIComponent(color) + \"' d='M16,19.5c-0.3,0-0.5-0.1-0.7-0.3l-5-5C10.1,14,10,13.8,10,13.5c0-0.6,0.4-1,1-1c0.3,0,0.5,0.1,0.7,0.3l4.3,4.3l4.3-4.3 c0.2-0.2,0.4-0.3,0.7-0.3c0.6,0,1,0.4,1,1c0,0.3-0.1,0.5-0.3,0.7l-5,5C16.5,19.4,16.3,19.5,16,19.5z' /%3E%3C/svg%3E\\\")\";\n};\n//# sourceMappingURL=toggleIndicatorUrl.js.map\n","export var submenuIndicatorUrl = function submenuIndicatorUrl(color) {\n return \"url(\\\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' role='presentation' fill='\" + encodeURIComponent(color) + \"' focusable='false' viewBox='8 8 16 16'%3E%3Cpath d='M19.49,16a.91.91,0,0,1-.29.7l-5,5a1,1,0,0,1-.71.3,1,1,0,0,1-1-1,1,1,0,0,1,.29-.7L17.08,16l-4.3-4.29a1,1,0,0,1-.29-.71,1,1,0,0,1,1.71-.71l5,5A1,1,0,0,1,19.49,16Z' /%3E%3C/svg%3E\\\")\";\n};\n//# sourceMappingURL=submenuIndicatorUrl.js.map\n","export var activeIndicatorUrl = function activeIndicatorUrl(color) {\n return \"url(\\\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' role='presentation' fill='\" + encodeURIComponent(color) + \"' focusable='false' view-box='8 8 16 16'%3E%3Cg%3E%3Cpath d='M23.5 11.875a.968.968 0 0 1-.289.711l-8.25 8.25c-.192.193-.43.289-.711.289s-.519-.096-.711-.289l-4.75-4.75a.965.965 0 0 1-.289-.711c0-.125.027-.25.082-.375s.129-.234.223-.328a.953.953 0 0 1 .695-.297c.135 0 .266.025.391.074.125.05.231.121.32.215l4.039 4.047 7.539-7.547a.886.886 0 0 1 .32-.215c.125-.049.255-.074.391-.074a1.004 1.004 0 0 1 .922.625.97.97 0 0 1 .078.375z' /%3E%3C/g%3E%3C/svg%3E\\\")\";\n};\n//# sourceMappingURL=activeIndicatorUrl.js.map\n","import { carouselPaddleSlotClassNames } from '../../../../components/Carousel/CarouselPaddle';\nimport { getBorderFocusStyles } from '../../getBorderFocusStyles';\nimport { getIconFillOrOutlineStyles } from '../../getIconFillOrOutlineStyles';\nimport { paddleIndicatorUrl } from './paddleIndicatorUrl';\nimport { faster, ultraFast } from '../../animations/durations';\nimport { pxToRem } from '../../../../utils';\n\nvar getIndicatorStyles = function getIndicatorStyles(color, next, size) {\n return {\n width: size,\n height: size,\n backgroundImage: paddleIndicatorUrl(color, next),\n backgroundRepeat: 'no-repeat'\n };\n};\n\nexport var carouselPaddleStyles = {\n root: function root(_ref) {\n var _Object$assign;\n\n var p = _ref.props,\n v = _ref.variables,\n theme = _ref.theme;\n var siteVariables = theme.siteVariables;\n var borderWidth = siteVariables.borderWidth;\n var borderFocusStyles = getBorderFocusStyles({\n variables: {\n borderRadius: v.focusBorderRadius,\n borderWidth: v.focusBorderWidth,\n focusInnerBorderColor: v.focusInnerBorderColor,\n focusOuterBorderColor: v.focusOuterBorderColor,\n zIndexes: {\n foreground: v.focusBorderZIndex\n }\n },\n borderPadding: borderWidth\n });\n return Object.assign({\n height: v.paddleHeight,\n minWidth: v.paddleHeight,\n color: v.paddleColor,\n backgroundColor: v.paddleBackgroundColor,\n borderRadius: v.paddleBorderRadius,\n border: 0,\n display: 'inline-flex',\n justifyContent: 'center',\n alignItems: 'center',\n position: 'relative',\n verticalAlign: 'middle',\n cursor: 'pointer',\n marginBottom: pxToRem(40),\n outline: 0,\n padding: 0,\n transition: faster,\n zIndex: 1\n }, p.hidden && {\n visibility: 'hidden'\n }, {\n ':hover': Object.assign({}, getIconFillOrOutlineStyles({\n outline: false\n }), (_Object$assign = {}, _Object$assign[\"& .\" + carouselPaddleSlotClassNames.content] = Object.assign({}, getIndicatorStyles(v.paddleColor, p.next, v.paddleIndicatorSize)), _Object$assign.background = v.paddleBackgroundColorHover, _Object$assign)),\n ':active': {\n transition: ultraFast,\n backgroundColor: v.paddleBackgroundColorActive\n },\n ':focus': borderFocusStyles[':focus'],\n ':focus-visible': Object.assign({}, borderFocusStyles[':focus-visible'])\n }, p.disabled && {\n cursor: 'default',\n color: v.paddleColorDisabled,\n pointerEvents: 'none',\n ':hover': {\n color: v.paddleColorDisabled\n },\n backgroundColor: v.paddleBackgroundColorDisabled\n });\n },\n content: function content(_ref2) {\n var p = _ref2.props,\n v = _ref2.variables,\n rtl = _ref2.rtl;\n return Object.assign({}, getIndicatorStyles(p.disabled ? v.paddleColorDisabled : v.paddleColor, p.next, v.paddleIndicatorSize), rtl && {\n transform: 'scaleX(-1)'\n });\n }\n};\n//# sourceMappingURL=carouselPaddleStyles.js.map\n","export var paddleIndicatorUrl = function paddleIndicatorUrl(color, next) {\n return next ? \"url(\\\"data:image/svg+xml, %3Csvg xmlns='http://www.w3.org/2000/svg' role='presentation' focusable='false' viewBox='8 8 16 16'%3E%3Cg%3E%3Cpath fill='\" + encodeURIComponent(color) + \"' d='M21.5 15.97c0 .28-.1.52-.29.71l-7 7c-.19.19-.43.29-.71.29-.14 0-.26-.03-.38-.08s-.23-.13-.32-.22-.16-.2-.22-.32a1.036 1.036 0 0 1-.01-.77c.05-.12.12-.23.21-.32l6.3-6.29-6.3-6.29a.85.85 0 0 1-.21-.32c-.05-.13-.07-.26-.07-.39a.995.995 0 0 1 .3-.7c.09-.09.2-.16.32-.22.12-.05.24-.08.38-.08.28 0 .52.1.71.29l7 7c.19.19.29.43.29.71z' /%3E%3C/g%3E%3C/svg%3E\\\")\" : \"url(\\\"data:image/svg+xml, %3Csvg xmlns='http://www.w3.org/2000/svg' role='presentation' focusable='false' viewBox='8 8 16 16'%3E%3Cg%3E%3Cpath fill='\" + encodeURIComponent(color) + \"' d='M19.5 8.97c0 .14-.03.27-.07.39-.05.12-.12.23-.21.32l-6.3 6.29 6.3 6.29c.09.09.17.2.21.32a1.036 1.036 0 0 1-.01.77c-.05.12-.13.23-.22.32s-.2.16-.32.22a.995.995 0 0 1-1.09-.21l-7-7c-.19-.19-.29-.43-.29-.71s.1-.52.29-.71l7-7a.995.995 0 0 1 1.09-.21c.12.06.23.13.32.22s.16.2.22.32c.05.12.08.25.08.38z' /%3E%3C/g%3E%3C/svg%3E\\\")\";\n};\n//# sourceMappingURL=paddleIndicatorUrl.js.map\n","import { compose } from '@fluentui/react-bindings';\nimport { commonPropTypes } from '../../utils';\nimport { Box } from '../Box/Box';\nexport var listItemContentClassName = 'ui-list__itemcontent';\n/**\n * Provides a content for the ListItem.\n */\n\nexport var ListItemContent = /*#__PURE__*/function () {\n var ListItemContent = compose(Box, {\n className: listItemContentClassName,\n displayName: 'ListItemContent',\n mapPropsToStylesProps: function mapPropsToStylesProps(_ref) {\n var hasContentMedia = _ref.hasContentMedia,\n hasHeader = _ref.hasHeader,\n truncate = _ref.truncate;\n return {\n hasContentMedia: hasContentMedia,\n hasHeader: hasHeader,\n truncate: truncate\n };\n },\n handledProps: ['hasContentMedia', 'hasHeader', 'truncate'],\n overrideStyles: true,\n shorthandConfig: {\n mappedProp: 'content'\n }\n });\n ListItemContent.propTypes = commonPropTypes.createCommon();\n return ListItemContent;\n}();\n//# sourceMappingURL=ListItemContent.js.map\n","import { compose } from '@fluentui/react-bindings';\nimport { commonPropTypes } from '../../utils';\nimport { Box } from '../Box/Box';\nexport var listItemEndMediaClassName = 'ui-list__itemendmedia';\n/**\n * Provides a header media for the ListItem.\n */\n\nexport var ListItemEndMedia = /*#__PURE__*/function () {\n var ListItemEndMedia = compose(Box, {\n className: listItemEndMediaClassName,\n displayName: 'ListItemEndMedia',\n mapPropsToStylesProps: function mapPropsToStylesProps(_ref) {\n var navigable = _ref.navigable,\n selectable = _ref.selectable;\n return {\n navigable: navigable,\n selectable: selectable\n };\n },\n handledProps: ['navigable', 'selectable'],\n overrideStyles: true,\n shorthandConfig: {\n mappedProp: 'content'\n }\n });\n ListItemEndMedia.propTypes = commonPropTypes.createCommon();\n return ListItemEndMedia;\n}();\n//# sourceMappingURL=ListItemEndMedia.js.map\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _invoke from \"lodash/invoke\";\nimport * as customPropTypes from '@fluentui/react-proptypes';\nimport { indicatorBehavior } from '@fluentui/accessibility';\nimport * as React from 'react';\nimport * as PropTypes from 'prop-types';\nimport { getElementType, useUnhandledProps, useFluentContext, useStyles, useTelemetry } from '@fluentui/react-bindings';\nimport cx from 'classnames';\nimport { createShorthandFactory, commonPropTypes } from '../../utils';\nimport { Image } from '../Image/Image';\nimport { Box } from '../Box/Box';\nexport var dropdownItemClassName = 'ui-dropdown__item';\nexport var dropdownItemSlotClassNames = {\n main: dropdownItemClassName + \"__main\",\n content: dropdownItemClassName + \"__content\",\n header: dropdownItemClassName + \"__header\",\n image: dropdownItemClassName + \"__image\",\n checkableIndicator: dropdownItemClassName + \"__checkable-indicator\"\n};\n/**\n * A DropdownItem represents an option of Dropdown list.\n * Displays an item with optional rich media metadata.\n */\n\nexport var DropdownItem = /*#__PURE__*/function () {\n var DropdownItem = function DropdownItem(props) {\n var context = useFluentContext();\n\n var _useTelemetry = useTelemetry(DropdownItem.displayName, context.telemetry),\n setStart = _useTelemetry.setStart,\n setEnd = _useTelemetry.setEnd;\n\n setStart();\n var active = props.active,\n accessibilityItemProps = props.accessibilityItemProps,\n className = props.className,\n content = props.content,\n design = props.design,\n header = props.header,\n image = props.image,\n isFromKeyboard = props.isFromKeyboard,\n styles = props.styles,\n checkable = props.checkable,\n checkableIndicator = props.checkableIndicator,\n selected = props.selected,\n variables = props.variables;\n\n var _useStyles = useStyles(DropdownItem.displayName, {\n className: dropdownItemClassName,\n mapPropsToStyles: function mapPropsToStyles() {\n return {\n active: active,\n isFromKeyboard: isFromKeyboard,\n selected: selected,\n hasContent: !!content,\n hasHeader: !!header\n };\n },\n mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n return {\n className: className,\n design: design,\n styles: styles,\n variables: variables\n };\n },\n rtl: context.rtl\n }),\n classes = _useStyles.classes,\n resolvedStyles = _useStyles.styles;\n\n var ElementType = getElementType(props);\n var unhandledProps = useUnhandledProps(DropdownItem.handledProps, props);\n\n var handleClick = function handleClick(e) {\n _invoke(props, 'onClick', e, props);\n };\n\n var contentElement = Box.create(content, {\n defaultProps: function defaultProps() {\n return {\n className: dropdownItemSlotClassNames.content,\n styles: resolvedStyles.content\n };\n }\n });\n var headerElement = Box.create(header, {\n defaultProps: function defaultProps() {\n return {\n className: dropdownItemSlotClassNames.header,\n styles: resolvedStyles.header\n };\n }\n });\n var endMediaElement = selected && checkable ? Box.create(checkableIndicator, {\n defaultProps: function defaultProps() {\n return {\n className: dropdownItemSlotClassNames.checkableIndicator,\n styles: resolvedStyles.checkableIndicator,\n accessibility: indicatorBehavior\n };\n }\n }) : null;\n var imageElement = Box.create(Image.create(image, {\n defaultProps: function defaultProps() {\n return {\n avatar: true,\n className: dropdownItemSlotClassNames.image,\n styles: resolvedStyles.image\n };\n }\n }), {\n defaultProps: function defaultProps() {\n return {\n className: dropdownItemSlotClassNames.image,\n styles: resolvedStyles.media\n };\n }\n });\n var element = /*#__PURE__*/React.createElement(ElementType, _extends({\n className: classes.root,\n onClick: handleClick\n }, accessibilityItemProps, unhandledProps), imageElement, /*#__PURE__*/React.createElement(\"div\", {\n className: cx(dropdownItemSlotClassNames.main, classes.main)\n }, headerElement, contentElement), endMediaElement);\n setEnd();\n return element;\n };\n\n DropdownItem.displayName = 'DropdownItem';\n DropdownItem.defaultProps = {\n as: 'li',\n checkableIndicator: {}\n };\n DropdownItem.propTypes = Object.assign({}, commonPropTypes.createCommon({\n accessibility: false,\n children: false,\n content: false\n }), {\n accessibilityItemProps: PropTypes.object,\n active: PropTypes.bool,\n content: customPropTypes.itemShorthand,\n checkable: PropTypes.bool,\n checkableIndicator: customPropTypes.shorthandAllowingChildren,\n disabled: PropTypes.bool,\n header: customPropTypes.itemShorthand,\n image: customPropTypes.itemShorthandWithoutJSX,\n onClick: PropTypes.func,\n isFromKeyboard: PropTypes.bool,\n selected: PropTypes.bool\n });\n DropdownItem.handledProps = Object.keys(DropdownItem.propTypes);\n DropdownItem.create = createShorthandFactory({\n Component: DropdownItem,\n mappedProp: 'header'\n });\n return DropdownItem;\n}();\n//# sourceMappingURL=DropdownItem.js.map\n","import _invoke from \"lodash/invoke\";\nimport { dropdownSelectedItemBehavior, getCode, keyboardKey } from '@fluentui/accessibility';\nimport { Ref } from '@fluentui/react-component-ref';\nimport * as customPropTypes from '@fluentui/react-proptypes';\nimport * as React from 'react';\nimport * as PropTypes from 'prop-types';\nimport { CloseIcon } from '@fluentui/react-icons-northstar';\nimport { createShorthandFactory, commonPropTypes } from '../../utils';\nimport { Image } from '../Image/Image';\nimport { Box } from '../Box/Box';\nimport { useUnhandledProps, useStyles, useFluentContext, useTelemetry, getElementType, useAccessibility } from '@fluentui/react-bindings';\nexport var dropdownSelectedItemClassName = 'ui-dropdown__selecteditem';\nexport var dropdownSelectedItemSlotClassNames = {\n header: dropdownSelectedItemClassName + \"__header\",\n icon: dropdownSelectedItemClassName + \"__icon\",\n image: dropdownSelectedItemClassName + \"__image\"\n};\n\n/**\n * A DropdownSelectedItem represents a selected item of 'multiple-selection' Dropdown.\n */\nexport var DropdownSelectedItem = /*#__PURE__*/function () {\n var DropdownSelectedItem = function DropdownSelectedItem(props) {\n var context = useFluentContext();\n\n var _useTelemetry = useTelemetry(DropdownSelectedItem.displayName, context.telemetry),\n setStart = _useTelemetry.setStart,\n setEnd = _useTelemetry.setEnd;\n\n setStart();\n var active = props.active,\n header = props.header,\n icon = props.icon,\n image = props.image,\n className = props.className,\n design = props.design,\n styles = props.styles,\n variables = props.variables;\n var itemRef = React.useRef();\n var ElementType = getElementType(props);\n var unhandledProps = useUnhandledProps(DropdownSelectedItem.handledProps, props);\n var getA11yProps = useAccessibility(props.accessibility, {\n debugName: DropdownSelectedItem.displayName,\n mapPropsToBehavior: function mapPropsToBehavior() {\n return {\n header: header,\n active: active\n };\n },\n rtl: context.rtl\n });\n React.useEffect(function () {\n if (active) {\n itemRef.current.focus();\n }\n }, [active]);\n\n var _useStyles = useStyles(DropdownSelectedItem.displayName, {\n className: dropdownSelectedItemClassName,\n mapPropsToStyles: function mapPropsToStyles() {\n return {\n hasImage: !!image\n };\n },\n mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n return {\n className: className,\n design: design,\n styles: styles,\n variables: variables\n };\n },\n rtl: context.rtl\n }),\n classes = _useStyles.classes,\n resolvedStyles = _useStyles.styles;\n\n var handleClick = function handleClick(e) {\n _invoke(props, 'onClick', e, props);\n };\n\n var handleKeyDown = function handleKeyDown(e) {\n _invoke(props, 'onKeyDown', e, props);\n };\n\n var handleIconOverrides = function handleIconOverrides(iconProps) {\n return Object.assign({}, iconProps, {\n onClick: function onClick(e, iconProps) {\n e.stopPropagation();\n\n _invoke(props, 'onRemove', e, iconProps);\n\n _invoke(props, 'onClick', e, iconProps);\n },\n onKeyDown: function onKeyDown(e, iconProps) {\n e.stopPropagation();\n\n if (getCode(e) === keyboardKey.Enter) {\n _invoke(props, 'onRemove', e, iconProps);\n }\n\n _invoke(props, 'onKeyDown', e, iconProps);\n }\n });\n };\n\n var headerElement = Box.create(header, {\n defaultProps: function defaultProps() {\n return getA11yProps('header', {\n as: 'span',\n className: dropdownSelectedItemSlotClassNames.header,\n styles: resolvedStyles.header\n });\n }\n });\n var iconElement = Box.create(icon, {\n defaultProps: function defaultProps() {\n return getA11yProps('icon', {\n className: dropdownSelectedItemSlotClassNames.icon,\n styles: resolvedStyles.icon\n });\n },\n overrideProps: handleIconOverrides\n });\n var imageElement = Image.create(image, {\n defaultProps: function defaultProps() {\n return getA11yProps('image', {\n avatar: true,\n className: dropdownSelectedItemSlotClassNames.image,\n styles: resolvedStyles.image\n });\n }\n });\n var element = /*#__PURE__*/React.createElement(Ref, {\n innerRef: itemRef\n }, /*#__PURE__*/React.createElement(ElementType, getA11yProps('root', Object.assign({\n className: classes.root,\n onClick: handleClick,\n onKeyDown: handleKeyDown\n }, unhandledProps)), imageElement, headerElement, iconElement));\n setEnd();\n return element;\n };\n\n DropdownSelectedItem.displayName = 'DropdownSelectedItem';\n DropdownSelectedItem.propTypes = Object.assign({}, commonPropTypes.createCommon({\n children: false\n }), {\n active: PropTypes.bool,\n header: customPropTypes.itemShorthand,\n icon: customPropTypes.shorthandAllowingChildren,\n image: customPropTypes.itemShorthandWithoutJSX,\n onClick: PropTypes.func,\n onKeyDown: PropTypes.func,\n onRemove: PropTypes.func\n });\n DropdownSelectedItem.handledProps = Object.keys(DropdownSelectedItem.propTypes);\n DropdownSelectedItem.defaultProps = {\n accessibility: dropdownSelectedItemBehavior,\n as: 'span',\n icon: /*#__PURE__*/React.createElement(CloseIcon, null)\n };\n DropdownSelectedItem.create = createShorthandFactory({\n Component: DropdownSelectedItem,\n mappedProp: 'header'\n });\n return DropdownSelectedItem;\n}();\n//# sourceMappingURL=DropdownSelectedItem.js.map\n","import _get from \"lodash/get\";\nimport _invoke from \"lodash/invoke\";\nimport _isNil from \"lodash/isNil\";\nimport { inputBehavior } from '@fluentui/accessibility';\nimport { handleRef, Ref } from '@fluentui/react-component-ref';\nimport * as customPropTypes from '@fluentui/react-proptypes';\nimport * as React from 'react';\nimport * as PropTypes from 'prop-types';\nimport { partitionHTMLProps, commonPropTypes, createShorthandFactory, createShorthand, getOrGenerateIdFromShorthand } from '../../utils';\nimport { Box } from '../Box/Box';\nimport { useAutoControlled, getElementType, useUnhandledProps, useTelemetry, useFluentContext, useStyles, useAccessibility, compose } from '@fluentui/react-bindings';\nimport { ExclamationCircleIcon, CheckmarkCircleIcon, CloseIcon } from '@fluentui/react-icons-northstar';\nimport { InputLabel } from './InputLabel';\nimport { FormFieldBaseContext } from '../Form/utils/formFieldBaseContext';\nexport var inputClassName = 'ui-input';\nexport var inputSlotClassNames = {\n input: inputClassName + \"__input\",\n icon: inputClassName + \"__icon\"\n};\n/**\n * An Input is a field used to elicit an input from a user.\n *\n * @accessibility\n * For good screen reader experience set `aria-label` or `aria-labelledby` attribute for input.\n */\n\nexport var Input = /*#__PURE__*/function () {\n var Input = compose(function (props, ref, composeOptions) {\n var context = useFluentContext();\n\n var _useTelemetry = useTelemetry(composeOptions.displayName, context.telemetry),\n setStart = _useTelemetry.setStart,\n setEnd = _useTelemetry.setEnd;\n\n setStart();\n var className = props.className,\n input = props.input,\n type = props.type,\n wrapper = props.wrapper,\n disabled = props.disabled,\n fluid = props.fluid,\n inverted = props.inverted,\n inline = props.inline,\n clearable = props.clearable,\n icon = props.icon,\n iconPosition = props.iconPosition,\n design = props.design,\n styles = props.styles,\n variables = props.variables,\n required = props.required,\n successIndicator = props.successIndicator,\n error = props.error,\n errorIndicator = props.errorIndicator,\n showSuccessIndicator = props.showSuccessIndicator,\n label = props.label,\n labelPosition = props.labelPosition;\n var inputRef = React.useRef();\n\n var _React$useContext = React.useContext(FormFieldBaseContext),\n labelId = _React$useContext.labelId;\n\n var inputId = React.useRef();\n inputId.current = props.id || getOrGenerateIdFromShorthand('ui-input-', '', inputId.current);\n var ElementType = getElementType(props);\n var unhandledProps = useUnhandledProps(composeOptions.handledProps, props);\n\n var _partitionHTMLProps = partitionHTMLProps(unhandledProps),\n htmlInputProps = _partitionHTMLProps[0],\n restProps = _partitionHTMLProps[1];\n\n var _useAutoControlled = useAutoControlled({\n defaultValue: props.defaultValue,\n value: props.value,\n initialValue: ''\n }),\n value = _useAutoControlled[0],\n setValue = _useAutoControlled[1];\n\n var hasValue = !!value && (value == null ? void 0 : value.length) !== 0;\n var isShowSuccessIndicatorUndefined = typeof showSuccessIndicator === 'undefined';\n var requiredAndSuccessful = isShowSuccessIndicatorUndefined ? (required && hasValue || showSuccessIndicator) && !error : showSuccessIndicator;\n var hasIcon = !!icon || showSuccessIndicator || required && isShowSuccessIndicatorUndefined || !_isNil(error);\n\n var _useStyles = useStyles(composeOptions.displayName, {\n className: inputClassName,\n mapPropsToStyles: function mapPropsToStyles() {\n return {\n fluid: fluid,\n inverted: inverted,\n inline: inline,\n disabled: disabled,\n clearable: clearable,\n hasIcon: hasIcon,\n requiredAndSuccessful: requiredAndSuccessful,\n iconPosition: iconPosition,\n hasValue: hasValue,\n labelPosition: labelPosition,\n error: error\n };\n },\n mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n return {\n className: className,\n design: design,\n styles: styles,\n variables: variables\n };\n },\n rtl: context.rtl,\n composeOptions: composeOptions,\n unstable_props: props\n }),\n classes = _useStyles.classes,\n resolvedStyles = _useStyles.styles;\n\n var getA11yProps = useAccessibility(props.accessibility, {\n debugName: composeOptions.displayName,\n actionHandlers: {\n clear: function clear(e) {\n if (clearable && value !== '') {\n e.stopPropagation();\n e.nativeEvent && e.nativeEvent.stopPropagation();\n handleOnClear(e);\n }\n }\n },\n mapPropsToBehavior: function mapPropsToBehavior() {\n return {\n disabled: disabled,\n required: required,\n error: error\n };\n },\n rtl: context.rtl\n });\n\n var handleIconOverrides = function handleIconOverrides(predefinedProps) {\n return {\n onClick: function onClick(e) {\n if (!disabled) {\n handleOnClear(e);\n inputRef.current.focus();\n }\n\n _invoke(predefinedProps, 'onClick', e, props);\n }\n };\n };\n\n var handleChange = function handleChange(e) {\n if (disabled) {\n return;\n }\n\n var newValue = _get(e, 'target.value');\n\n _invoke(props, 'onChange', e, Object.assign({}, props, {\n value: newValue\n }));\n\n setValue(newValue);\n };\n\n var handleOnClear = function handleOnClear(e) {\n if (clearable) {\n _invoke(props, 'onChange', e, Object.assign({}, props, {\n value: ''\n }));\n\n setValue('');\n }\n };\n\n var computeIcon = function computeIcon() {\n if (clearable && (value == null ? void 0 : value.length) !== 0) {\n return /*#__PURE__*/React.createElement(CloseIcon, {\n outline: true\n });\n }\n\n if (requiredAndSuccessful) {\n return successIndicator;\n }\n\n if (error) {\n return errorIndicator;\n }\n\n return icon || null;\n };\n\n var labelElement = createShorthand(composeOptions.slots.label, label, {\n defaultProps: function defaultProps() {\n return {\n labelPosition: labelPosition,\n label: label,\n required: required,\n htmlFor: inputId.current,\n hasValue: hasValue,\n id: labelId\n };\n }\n });\n var inputElement = Box.create({}, {\n defaultProps: function defaultProps() {\n return {\n children: /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Ref, {\n innerRef: function innerRef(inputElement) {\n handleRef(inputRef, inputElement);\n handleRef(props.inputRef, inputElement);\n handleRef(ref, inputElement);\n }\n }, createShorthand(composeOptions.slots.control, input || type, {\n defaultProps: function defaultProps() {\n return getA11yProps('input', Object.assign({}, htmlInputProps, {\n as: 'input',\n disabled: disabled,\n type: type,\n required: required,\n value: value || '',\n id: inputId.current,\n className: inputSlotClassNames.input,\n styles: resolvedStyles.input,\n onChange: handleChange\n }));\n }\n })), createShorthand(composeOptions.slots.icon, computeIcon(), {\n defaultProps: function defaultProps() {\n return getA11yProps('icon', {\n className: inputSlotClassNames.icon,\n styles: resolvedStyles.icon\n });\n },\n overrideProps: handleIconOverrides\n })),\n styles: resolvedStyles.inputContainer\n };\n }\n });\n var element = Box.create(wrapper, {\n defaultProps: function defaultProps() {\n return getA11yProps('root', Object.assign({\n className: classes.root,\n children: /*#__PURE__*/React.createElement(React.Fragment, null, labelElement, inputElement),\n styles: resolvedStyles.root\n }, restProps));\n },\n overrideProps: {\n as: wrapper && wrapper.as || ElementType\n }\n });\n setEnd();\n return element;\n }, {\n className: inputClassName,\n displayName: 'Input',\n slots: {\n control: Box,\n icon: Box,\n label: InputLabel\n },\n handledProps: ['accessibility', 'as', 'children', 'className', 'design', 'styles', 'variables', 'clearable', 'defaultValue', 'disabled', 'fluid', 'icon', 'iconPosition', 'input', 'inputRef', 'inline', 'inverted', 'onChange', 'type', 'value', 'wrapper', 'required', 'successIndicator', 'error', 'errorIndicator', 'showSuccessIndicator', 'label', 'labelPosition']\n });\n Input.propTypes = Object.assign({}, commonPropTypes.createCommon({\n content: false\n }), {\n clearable: PropTypes.bool,\n defaultValue: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]),\n disabled: PropTypes.bool,\n fluid: PropTypes.bool,\n label: customPropTypes.itemShorthand,\n labelPosition: PropTypes.oneOf(['inside', 'inline']),\n icon: customPropTypes.shorthandAllowingChildren,\n iconPosition: PropTypes.oneOf(['start', 'end']),\n input: customPropTypes.itemShorthand,\n inputRef: customPropTypes.ref,\n inline: PropTypes.bool,\n inverted: PropTypes.bool,\n onChange: PropTypes.func,\n type: PropTypes.string,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n wrapper: customPropTypes.wrapperShorthand,\n required: PropTypes.bool,\n successIndicator: customPropTypes.shorthandAllowingChildren,\n error: PropTypes.bool,\n errorIndicator: customPropTypes.shorthandAllowingChildren,\n showSuccessIndicator: PropTypes.bool\n });\n Input.defaultProps = {\n accessibility: inputBehavior,\n type: 'text',\n wrapper: {},\n iconPosition: 'end',\n errorIndicator: /*#__PURE__*/React.createElement(ExclamationCircleIcon, null),\n successIndicator: /*#__PURE__*/React.createElement(CheckmarkCircleIcon, {\n outline: true\n })\n };\n Input.Label = InputLabel;\n Input.create = createShorthandFactory({\n Component: Input\n });\n return Input;\n}();\n//# sourceMappingURL=Input.js.map\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _findIndex from \"lodash/findIndex\";\nimport _isNil from \"lodash/isNil\";\nimport _isEmpty from \"lodash/isEmpty\";\nimport _isNumber from \"lodash/isNumber\";\nimport _invoke from \"lodash/invoke\";\nimport _debounce from \"lodash/debounce\";\nimport _uniqueId from \"lodash/uniqueId\";\nimport _get from \"lodash/get\";\nimport _isFunction from \"lodash/isFunction\";\nimport _map from \"lodash/map\";\nimport _differenceBy from \"lodash/differenceBy\";\nimport { getElementType, useAutoControlled, useStyles, useUnhandledProps, useFluentContext, useTelemetry } from '@fluentui/react-bindings';\nimport { handleRef, Ref } from '@fluentui/react-component-ref';\nimport * as customPropTypes from '@fluentui/react-proptypes';\nimport { indicatorBehavior, getCode, keyboardKey } from '@fluentui/accessibility';\nimport * as React from 'react';\nimport * as PropTypes from 'prop-types';\nimport cx from 'classnames';\nimport computeScrollIntoView from 'compute-scroll-into-view';\nimport Downshift from 'downshift';\nimport { commonPropTypes, isFromKeyboard as detectIsFromKeyboard, createShorthand } from '../../utils';\nimport { List } from '../List/List';\nimport { DropdownItem } from './DropdownItem';\nimport { DropdownSelectedItem } from './DropdownSelectedItem';\nimport { DropdownSearchInput } from './DropdownSearchInput';\nimport { Button } from '../Button/Button';\nimport { screenReaderContainerStyles } from '../../utils/accessibility/Styles/accessibilityStyles';\nimport { Box } from '../Box/Box';\nimport { Portal } from '../Portal/Portal';\nimport { ALIGNMENTS, POSITIONS, Popper, partitionPopperPropsFromShorthand, AUTOSIZES } from '../../utils/positioner';\nimport { CloseIcon, ChevronDownIcon } from '@fluentui/react-icons-northstar';\nexport var dropdownClassName = 'ui-dropdown';\nexport var dropdownSlotClassNames = {\n clearIndicator: dropdownClassName + \"__clear-indicator\",\n container: dropdownClassName + \"__container\",\n toggleIndicator: dropdownClassName + \"__toggle-indicator\",\n item: dropdownClassName + \"__item\",\n itemsList: dropdownClassName + \"__items-list\",\n searchInput: dropdownClassName + \"__searchinput\",\n selectedItem: dropdownClassName + \"__selecteditem\",\n selectedItems: dropdownClassName + \"__selected-items\",\n triggerButton: dropdownClassName + \"__trigger-button\"\n};\nvar a11yStatusCleanupTime = 500;\nvar charKeyPressedCleanupTime = 500;\n/** `normalizedValue` should be normalized always as it can be received from props */\n\nfunction normalizeValue(multiple, rawValue) {\n var normalizedValue = Array.isArray(rawValue) ? rawValue : [rawValue];\n return multiple ? normalizedValue : normalizedValue.slice(0, 1);\n}\n/**\n * Used to compute the filtered items (by value and search query) and, if needed,\n * their string equivalents, in order to be used throughout the component.\n */\n\n\nfunction getFilteredValues(options) {\n var items = options.items,\n itemToString = options.itemToString,\n itemToValue = options.itemToValue,\n multiple = options.multiple,\n search = options.search,\n searchQuery = options.searchQuery,\n value = options.value;\n var filteredItemsByValue = multiple ? _differenceBy(items, value, itemToValue) : items;\n\n var filteredItemStrings = _map(filteredItemsByValue, function (filteredItem) {\n return itemToString(filteredItem).toLowerCase();\n });\n\n if (search) {\n if (_isFunction(search)) {\n return {\n filteredItems: search(filteredItemsByValue, searchQuery),\n filteredItemStrings: filteredItemStrings\n };\n }\n\n return {\n filteredItems: filteredItemsByValue.filter(function (item) {\n return itemToString(item).toLowerCase().indexOf(searchQuery.toLowerCase()) !== -1;\n }),\n filteredItemStrings: filteredItemStrings\n };\n }\n\n return {\n filteredItems: filteredItemsByValue,\n filteredItemStrings: filteredItemStrings\n };\n}\n\nvar isEmpty = function isEmpty(prop) {\n return typeof prop === 'object' && !prop.props && !_get(prop, 'children') && !_get(prop, 'content');\n};\n/**\n * A Dropdown allows user to select one or more values from a list of options.\n * Can be created with search and multi-selection capabilities.\n *\n * @accessibility\n * Implements [ARIA Combo Box](https://www.w3.org/TR/wai-aria-practices-1.1/#combobox) design pattern, uses aria-live to announce state changes.\n * @accessibilityIssues\n * [Issue 991203: VoiceOver doesn't narrate properly elements in the input/combobox](https://bugs.chromium.org/p/chromium/issues/detail?id=991203)\n */\n\n\nexport var Dropdown = /*#__PURE__*/function () {\n var Dropdown = function Dropdown(props) {\n var _context$target;\n\n var context = useFluentContext();\n\n var _useTelemetry = useTelemetry(Dropdown.displayName, context.telemetry),\n setStart = _useTelemetry.setStart,\n setEnd = _useTelemetry.setEnd;\n\n setStart();\n var align = props.align,\n ariaLabelledby = props['aria-labelledby'],\n ariaInvalid = props['aria-invalid'],\n clearable = props.clearable,\n clearIndicator = props.clearIndicator,\n checkable = props.checkable,\n checkableIndicator = props.checkableIndicator,\n className = props.className,\n design = props.design,\n disabled = props.disabled,\n error = props.error,\n fluid = props.fluid,\n getA11ySelectionMessage = props.getA11ySelectionMessage,\n a11ySelectedItemsMessage = props.a11ySelectedItemsMessage,\n getA11yStatusMessage = props.getA11yStatusMessage,\n inline = props.inline,\n inverted = props.inverted,\n itemToString = props.itemToString,\n itemToValue = props.itemToValue,\n items = props.items,\n highlightFirstItemOnOpen = props.highlightFirstItemOnOpen,\n multiple = props.multiple,\n headerMessage = props.headerMessage,\n moveFocusOnTab = props.moveFocusOnTab,\n noResultsMessage = props.noResultsMessage,\n loading = props.loading,\n loadingMessage = props.loadingMessage,\n placeholder = props.placeholder,\n position = props.position,\n offset = props.offset,\n renderItem = props.renderItem,\n renderSelectedItem = props.renderSelectedItem,\n search = props.search,\n searchInput = props.searchInput,\n styles = props.styles,\n toggleIndicator = props.toggleIndicator,\n triggerButton = props.triggerButton,\n unstable_disableTether = props.unstable_disableTether,\n unstable_pinned = props.unstable_pinned,\n autoSize = props.autoSize,\n variables = props.variables;\n\n var _partitionPopperProps = partitionPopperPropsFromShorthand(props.list),\n list = _partitionPopperProps[0],\n positioningProps = _partitionPopperProps[1];\n\n var buttonRef = React.useRef();\n\n var _inputRef = React.useRef();\n\n var listRef = React.useRef();\n var selectedItemsRef = React.useRef();\n var containerRef = React.useRef();\n var defaultTriggerButtonId = React.useMemo(function () {\n return _uniqueId('dropdown-trigger-button-');\n }, []);\n var ElementType = getElementType(props);\n var unhandledProps = useUnhandledProps(Dropdown.handledProps, props);\n\n var _useAutoControlled = useAutoControlled({\n defaultValue: props.defaultActiveSelectedIndex,\n initialValue: multiple ? null : undefined,\n value: props.activeSelectedIndex\n }),\n activeSelectedIndex = _useAutoControlled[0],\n setActiveSelectedIndex = _useAutoControlled[1];\n\n var _useAutoControlled2 = useAutoControlled({\n defaultValue: props.defaultHighlightedIndex,\n initialValue: highlightFirstItemOnOpen ? 0 : null,\n value: props.highlightedIndex\n }),\n highlightedIndex = _useAutoControlled2[0],\n setHighlightedIndex = _useAutoControlled2[1];\n\n var _useAutoControlled3 = useAutoControlled({\n defaultValue: props.defaultOpen,\n initialValue: false,\n value: props.open\n }),\n open = _useAutoControlled3[0],\n setOpen = _useAutoControlled3[1];\n\n var _useAutoControlled4 = useAutoControlled({\n defaultValue: props.defaultSearchQuery,\n initialValue: search ? '' : undefined,\n value: props.searchQuery\n }),\n searchQuery = _useAutoControlled4[0],\n setSearchQuery = _useAutoControlled4[1];\n\n var _useAutoControlled5 = useAutoControlled({\n defaultValue: props.defaultValue,\n initialValue: [],\n value: props.value\n }),\n rawValue = _useAutoControlled5[0],\n setValue = _useAutoControlled5[1];\n\n var value = normalizeValue(multiple, rawValue);\n\n var _React$useState = React.useState(''),\n a11ySelectionStatus = _React$useState[0],\n setA11ySelectionStatus = _React$useState[1];\n\n var _React$useState2 = React.useState(false),\n focused = _React$useState2[0],\n setFocused = _React$useState2[1];\n\n var _React$useState3 = React.useState(false),\n isFromKeyboard = _React$useState3[0],\n setIsFromKeyboard = _React$useState3[1];\n\n var _React$useState4 = React.useState(false),\n itemIsFromKeyboard = _React$useState4[0],\n setItemIsFromKeyboard = _React$useState4[1];\n\n var _React$useState5 = React.useState(search ? undefined : ''),\n startingString = _React$useState5[0],\n setStartingString = _React$useState5[1];\n\n var _getFilteredValues = getFilteredValues({\n itemToString: itemToString,\n itemToValue: itemToValue,\n items: items,\n multiple: multiple,\n search: search,\n searchQuery: searchQuery,\n value: value\n }),\n filteredItems = _getFilteredValues.filteredItems,\n filteredItemStrings = _getFilteredValues.filteredItemStrings;\n\n var _useStyles = useStyles(Dropdown.displayName, {\n className: dropdownClassName,\n mapPropsToStyles: function mapPropsToStyles() {\n return {\n disabled: disabled,\n error: error,\n fluid: fluid,\n focused: focused,\n isEmptyClearIndicator: isEmpty(clearIndicator),\n hasToggleIndicator: !!toggleIndicator,\n inline: inline,\n inverted: inverted,\n isFromKeyboard: isFromKeyboard,\n multiple: multiple,\n open: open,\n position: position,\n search: !!search,\n hasItemsSelected: value.length > 0\n };\n },\n mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n return {\n className: className,\n design: design,\n styles: styles,\n variables: variables\n };\n },\n rtl: context.rtl\n }),\n classes = _useStyles.classes,\n resolvedStyles = _useStyles.styles;\n\n var clearA11ySelectionMessage = React.useMemo(function () {\n return _debounce(function () {\n setA11ySelectionStatus('');\n }, a11yStatusCleanupTime);\n }, []);\n var clearStartingString = React.useMemo(function () {\n return _debounce(function () {\n setStartingString('');\n }, charKeyPressedCleanupTime);\n }, []);\n\n var handleChange = function handleChange(e) {\n // Dropdown component doesn't present any `input` component in markup, however all of our\n // components should handle events transparently.\n _invoke(props, 'onChange', e, Object.assign({}, props, {\n value: value\n }));\n };\n\n var handleOnBlur = function handleOnBlur(e) {\n // Dropdown component doesn't present any `input` component in markup, however all of our\n // components should handle events transparently.\n if (e.target !== buttonRef.current) {\n _invoke(props, 'onBlur', e, props);\n }\n };\n\n var renderTriggerButton = function renderTriggerButton(getToggleButtonProps) {\n var content = getSelectedItemAsString(value[0]);\n var triggerButtonId = triggerButton['id'] || defaultTriggerButtonId;\n var triggerButtonProps = getToggleButtonProps({\n disabled: disabled,\n onFocus: handleTriggerButtonOrListFocus,\n onBlur: handleTriggerButtonBlur,\n onKeyDown: function onKeyDown(e) {\n handleTriggerButtonKeyDown(e);\n },\n 'aria-invalid': ariaInvalid,\n 'aria-label': undefined,\n 'aria-labelledby': [ariaLabelledby, triggerButtonId].filter(function (l) {\n return !!l;\n }).join(' ')\n });\n\n var _onClick = triggerButtonProps.onClick,\n _onFocus = triggerButtonProps.onFocus,\n _onBlur = triggerButtonProps.onBlur,\n _onKeyDown = triggerButtonProps.onKeyDown,\n restTriggerButtonProps = _objectWithoutPropertiesLoose(triggerButtonProps, [\"onClick\", \"onFocus\", \"onBlur\", \"onKeyDown\"]);\n\n return /*#__PURE__*/React.createElement(Ref, {\n innerRef: buttonRef\n }, createShorthand(Button, triggerButton, {\n defaultProps: function defaultProps() {\n return Object.assign({\n className: dropdownSlotClassNames.triggerButton,\n content: content,\n disabled: disabled,\n id: triggerButtonId,\n fluid: true,\n styles: resolvedStyles.triggerButton\n }, restTriggerButtonProps);\n },\n overrideProps: function overrideProps(predefinedProps) {\n return {\n onClick: function onClick(e) {\n _onClick(e);\n\n _invoke(predefinedProps, 'onClick', e, predefinedProps);\n },\n onFocus: function onFocus(e) {\n _onFocus(e);\n\n _invoke(predefinedProps, 'onFocus', e, predefinedProps);\n },\n onBlur: function onBlur(e) {\n if (!disabled) {\n _onBlur(e);\n }\n\n _invoke(predefinedProps, 'onBlur', e, predefinedProps);\n },\n onKeyDown: function onKeyDown(e) {\n if (!disabled) {\n _onKeyDown(e);\n }\n\n _invoke(predefinedProps, 'onKeyDown', e, predefinedProps);\n }\n };\n }\n }));\n };\n\n var renderSearchInput = function renderSearchInput(accessibilityComboboxProps, highlightedIndex, getInputProps, selectItemAtIndex, toggleMenu, variables) {\n var noPlaceholder = searchQuery.length > 0 || multiple && value.length > 0;\n return DropdownSearchInput.create(searchInput || {}, {\n defaultProps: function defaultProps() {\n return {\n className: dropdownSlotClassNames.searchInput,\n placeholder: noPlaceholder ? '' : placeholder,\n inline: inline,\n variables: variables,\n disabled: disabled\n };\n },\n overrideProps: handleSearchInputOverrides(highlightedIndex, selectItemAtIndex, toggleMenu, accessibilityComboboxProps, getInputProps)\n });\n };\n\n var renderItemsList = function renderItemsList(highlightedIndex, toggleMenu, selectItemAtIndex, getMenuProps, getItemProps, getInputProps) {\n var items = open ? renderItems(getItemProps) : [];\n\n var _getMenuProps = getMenuProps({\n refKey: 'innerRef'\n }, {\n suppressRefError: true\n }),\n _innerRef = _getMenuProps.innerRef,\n accessibilityMenuProps = _objectWithoutPropertiesLoose(_getMenuProps, [\"innerRef\"]); // If it's just a selection, some attributes and listeners from Downshift input need to go on the menu list.\n\n\n if (!search) {\n var accessibilityInputProps = getInputProps();\n accessibilityMenuProps['aria-activedescendant'] = accessibilityInputProps['aria-activedescendant'];\n\n accessibilityMenuProps['onKeyDown'] = function (e) {\n handleListKeyDown(e, highlightedIndex, accessibilityInputProps['onKeyDown'], toggleMenu, selectItemAtIndex);\n };\n }\n\n return /*#__PURE__*/React.createElement(Ref, {\n innerRef: function innerRef(listElement) {\n handleRef(listRef, listElement);\n handleRef(_innerRef, listElement);\n }\n }, /*#__PURE__*/React.createElement(Popper, _extends({\n align: align,\n position: position,\n offset: offset,\n rtl: context.rtl,\n enabled: open,\n targetRef: containerRef,\n unstable_disableTether: unstable_disableTether,\n unstable_pinned: unstable_pinned,\n positioningDependencies: [items.length],\n autoSize: autoSize\n }, positioningProps), List.create(list, {\n defaultProps: function defaultProps() {\n return Object.assign({\n className: dropdownSlotClassNames.itemsList\n }, accessibilityMenuProps, {\n styles: resolvedStyles.list,\n items: items,\n tabIndex: search ? undefined : -1,\n // needs to be focused when trigger button is activated.\n 'aria-hidden': !open\n });\n },\n overrideProps: function overrideProps(predefinedProps) {\n return {\n onFocus: function onFocus(e, listProps) {\n handleTriggerButtonOrListFocus();\n\n _invoke(predefinedProps, 'onClick', e, listProps);\n },\n onBlur: function onBlur(e, listProps) {\n handleListBlur(e);\n\n _invoke(predefinedProps, 'onBlur', e, listProps);\n }\n };\n }\n })));\n };\n\n var renderItems = function renderItems(getItemProps) {\n var footerItem = renderItemsListFooter();\n var headerItem = renderItemsListHeader();\n\n var items = _map(filteredItems, function (item, index) {\n return {\n children: function children() {\n var selected = value.indexOf(item) !== -1;\n return DropdownItem.create(item, {\n defaultProps: function defaultProps() {\n return Object.assign({\n className: dropdownSlotClassNames.item,\n active: highlightedIndex === index,\n selected: selected,\n checkable: checkable,\n checkableIndicator: checkableIndicator,\n isFromKeyboard: itemIsFromKeyboard,\n variables: variables\n }, typeof item === 'object' && !item.hasOwnProperty('key') && {\n key: item.header\n });\n },\n overrideProps: handleItemOverrides(item, index, getItemProps, selected),\n render: renderItem\n });\n }\n };\n });\n\n if (footerItem) {\n items.push(footerItem);\n }\n\n return headerItem ? [headerItem].concat(items) : items;\n };\n\n var renderItemsListHeader = function renderItemsListHeader() {\n if (headerMessage) {\n return {\n children: function children() {\n return DropdownItem.create(headerMessage, {\n defaultProps: function defaultProps() {\n return {\n key: 'items-list-footer-message',\n styles: resolvedStyles.headerMessage\n };\n }\n });\n }\n };\n }\n\n return null;\n };\n\n var renderItemsListFooter = function renderItemsListFooter() {\n if (loading) {\n return {\n children: function children() {\n return DropdownItem.create(loadingMessage, {\n defaultProps: function defaultProps() {\n return {\n key: 'loading-message',\n styles: resolvedStyles.loadingMessage\n };\n }\n });\n }\n };\n }\n\n if (filteredItems && filteredItems.length === 0) {\n return {\n children: function children() {\n return DropdownItem.create(noResultsMessage, {\n defaultProps: function defaultProps() {\n return {\n key: 'no-results-message',\n styles: resolvedStyles.noResultsMessage\n };\n }\n });\n }\n };\n }\n\n return null;\n };\n\n var renderSelectedItems = function renderSelectedItems() {\n if (value.length === 0) {\n return null;\n }\n\n var selectedItems = value.map(function (item, index) {\n return (// (!) an item matches DropdownItemProps\n DropdownSelectedItem.create(item, {\n defaultProps: function defaultProps() {\n return Object.assign({\n className: dropdownSlotClassNames.selectedItem,\n active: isSelectedItemActive(index),\n variables: variables\n }, typeof item === 'object' && !item.hasOwnProperty('key') && {\n key: item.header\n });\n },\n overrideProps: handleSelectedItemOverrides(item),\n render: renderSelectedItem\n })\n );\n });\n return /*#__PURE__*/React.createElement(\"div\", {\n role: \"listbox\",\n tabIndex: -1,\n \"aria-label\": a11ySelectedItemsMessage\n }, selectedItems);\n };\n\n var downshiftStateReducer = function downshiftStateReducer(state, changes) {\n var activeElement = context.target.activeElement;\n\n switch (changes.type) {\n case Downshift.stateChangeTypes.blurButton:\n // Downshift closes the list by default on trigger blur. It does not support the case when dropdown is\n // single selection and focuses list on trigger click/up/down/space/enter. Treating that here.\n if (state.isOpen && activeElement === listRef.current) {\n return {}; // won't change state in this case.\n }\n\n _invoke(props, 'onBlur', null);\n\n default:\n return changes;\n }\n };\n\n var handleStateChange = function handleStateChange(changes) {\n var type = changes.type;\n var newState = {};\n\n switch (type) {\n case Downshift.stateChangeTypes.changeInput:\n {\n var shouldValueChange = changes.inputValue === '' && !multiple && value.length > 0;\n newState.searchQuery = changes.inputValue;\n newState.highlightedIndex = highlightFirstItemOnOpen ? 0 : null;\n\n if (shouldValueChange) {\n newState.value = [];\n }\n\n if (open) {\n // we clear value when in single selection user cleared the query.\n var shouldMenuClose = changes.inputValue === '' || changes.selectedItem !== undefined;\n\n if (shouldMenuClose) {\n newState.open = false;\n }\n } else {\n newState.open = true;\n }\n\n break;\n }\n\n case Downshift.stateChangeTypes.keyDownEnter:\n case Downshift.stateChangeTypes.clickItem:\n var shouldAddHighlightedIndex = !multiple && items && items.length > 0;\n var isSameItemSelected = changes.selectedItem === undefined;\n var newValue = isSameItemSelected ? value[0] : changes.selectedItem;\n newState.searchQuery = getSelectedItemAsString(newValue);\n newState.open = false;\n newState.highlightedIndex = shouldAddHighlightedIndex ? items.indexOf(newValue) : null;\n\n if (!isSameItemSelected) {\n newState.value = multiple ? [].concat(value, [changes.selectedItem]) : [changes.selectedItem];\n\n if (getA11ySelectionMessage && getA11ySelectionMessage.onAdd) {\n setA11ySelectionMessage(getA11ySelectionMessage.onAdd(newValue));\n }\n }\n\n if (multiple) {\n setTimeout(function () {\n return selectedItemsRef.current.scrollTop = selectedItemsRef.current.scrollHeight;\n }, 0);\n }\n\n tryFocusTriggerButton();\n break;\n\n case Downshift.stateChangeTypes.keyDownEscape:\n if (search) {\n newState.searchQuery = '';\n\n if (!multiple) {\n newState.value = [];\n }\n }\n\n newState.open = false;\n newState.highlightedIndex = highlightFirstItemOnOpen ? 0 : null;\n break;\n\n case Downshift.stateChangeTypes.keyDownArrowDown:\n case Downshift.stateChangeTypes.keyDownArrowUp:\n if (changes.isOpen !== undefined) {\n newState.open = changes.isOpen;\n newState.highlightedIndex = changes.highlightedIndex;\n\n if (changes.isOpen) {\n var highlightedIndexOnArrowKeyOpen = getHighlightedIndexOnArrowKeyOpen(changes);\n\n if (_isNumber(highlightedIndexOnArrowKeyOpen)) {\n newState.highlightedIndex = highlightedIndexOnArrowKeyOpen;\n }\n\n if (!search) {\n listRef.current.focus();\n }\n } else {\n newState.highlightedIndex = null;\n }\n }\n\n case Downshift.stateChangeTypes['keyDownHome']:\n case Downshift.stateChangeTypes['keyDownEnd']:\n if (open && _isNumber(changes.highlightedIndex)) {\n newState.highlightedIndex = changes.highlightedIndex;\n newState.itemIsFromKeyboard = true;\n }\n\n break;\n\n case Downshift.stateChangeTypes.mouseUp:\n if (open) {\n newState.open = false;\n newState.highlightedIndex = null;\n }\n\n break;\n\n case Downshift.stateChangeTypes.clickButton:\n case Downshift.stateChangeTypes.keyDownSpaceButton:\n newState.open = changes.isOpen;\n\n if (changes.isOpen) {\n var _highlightedIndexOnArrowKeyOpen = getHighlightedIndexOnArrowKeyOpen(changes);\n\n if (_isNumber(_highlightedIndexOnArrowKeyOpen)) {\n newState.highlightedIndex = _highlightedIndexOnArrowKeyOpen;\n }\n\n if (!search) {\n listRef.current.focus();\n }\n } else {\n newState.highlightedIndex = null;\n }\n\n break;\n\n case Downshift.stateChangeTypes.itemMouseEnter:\n newState.highlightedIndex = changes.highlightedIndex;\n newState.itemIsFromKeyboard = false;\n break;\n\n case Downshift.stateChangeTypes.unknown:\n if (changes.selectedItem) {\n newState.value = multiple ? [].concat(value, [changes.selectedItem]) : [changes.selectedItem];\n newState.searchQuery = multiple ? '' : changes.inputValue;\n newState.open = false;\n newState.highlightedIndex = changes.highlightedIndex;\n tryFocusTriggerButton();\n } else {\n newState.open = changes.isOpen;\n }\n\n default:\n break;\n }\n\n if (_isEmpty(newState)) {\n return;\n }\n\n var handlers = [newState.highlightedIndex !== undefined && 'onHighlightedIndexChange', newState.open !== undefined && 'onOpenChange', newState.searchQuery !== undefined && 'onSearchQueryChange', newState.value !== undefined && 'onChange'].filter(Boolean);\n setStateAndInvokeHandler(handlers, null, newState);\n };\n\n var isSelectedItemActive = function isSelectedItemActive(index) {\n return index === activeSelectedIndex;\n };\n\n var handleItemOverrides = function handleItemOverrides(item, index, getItemProps, selected) {\n return function (predefinedProps) {\n return {\n accessibilityItemProps: Object.assign({}, getItemProps({\n item: item,\n index: index,\n disabled: item['disabled'],\n onClick: function onClick(e) {\n e.stopPropagation();\n e.nativeEvent.stopImmediatePropagation();\n\n _invoke(predefinedProps, 'onClick', e, predefinedProps);\n }\n }), !multiple && {\n 'aria-selected': selected\n })\n };\n };\n };\n\n var handleSelectedItemOverrides = function handleSelectedItemOverrides(item) {\n return function (predefinedProps) {\n return {\n onRemove: function onRemove(e, dropdownSelectedItemProps) {\n handleSelectedItemRemove(e, item, predefinedProps, dropdownSelectedItemProps);\n },\n onClick: function onClick(e, dropdownSelectedItemProps) {\n setStateAndInvokeHandler(['onActiveSelectedIndexChange'], null, {\n activeSelectedIndex: value.indexOf(item)\n });\n e.stopPropagation();\n\n _invoke(predefinedProps, 'onClick', e, dropdownSelectedItemProps);\n },\n onKeyDown: function onKeyDown(e, dropdownSelectedItemProps) {\n handleSelectedItemKeyDown(e, item, predefinedProps, dropdownSelectedItemProps);\n }\n };\n };\n };\n\n var handleSearchInputOverrides = function handleSearchInputOverrides(highlightedIndex, selectItemAtIndex, toggleMenu, accessibilityComboboxProps, getInputProps) {\n return function (predefinedProps) {\n var handleInputBlur = function handleInputBlur(e, searchInputProps) {\n if (!disabled) {\n setFocused(false);\n setIsFromKeyboard(detectIsFromKeyboard());\n e.nativeEvent['preventDownshiftDefault'] = true;\n }\n\n _invoke(predefinedProps, 'onInputBlur', e, searchInputProps);\n };\n\n var handleInputKeyDown = function handleInputKeyDown(e, searchInputProps) {\n if (!disabled) {\n switch (getCode(e)) {\n // https://github.com/downshift-js/downshift/issues/1097\n // Downshift skips Home/End if Deopdown is opened\n case keyboardKey.Home:\n e.nativeEvent['preventDownshiftDefault'] = filteredItems.length === 0;\n break;\n\n case keyboardKey.End:\n e.nativeEvent['preventDownshiftDefault'] = filteredItems.length === 0;\n break;\n\n case keyboardKey.Tab:\n e.stopPropagation();\n handleTabSelection(e, highlightedIndex, selectItemAtIndex, toggleMenu);\n break;\n\n case keyboardKey.ArrowLeft:\n e.stopPropagation();\n\n if (!context.rtl) {\n trySetLastSelectedItemAsActive();\n }\n\n break;\n\n case keyboardKey.ArrowRight:\n e.stopPropagation();\n\n if (context.rtl) {\n trySetLastSelectedItemAsActive();\n }\n\n break;\n\n case keyboardKey.Backspace:\n e.stopPropagation();\n tryRemoveItemFromValue();\n break;\n\n case keyboardKey.Escape:\n // If dropdown list is open ESC should close it and not propagate to the parent\n // otherwise event should propagate\n if (open) {\n e.stopPropagation();\n }\n\n default:\n break;\n }\n }\n\n _invoke(predefinedProps, 'onInputKeyDown', e, Object.assign({}, searchInputProps, {\n highlightedIndex: highlightedIndex,\n selectItemAtIndex: selectItemAtIndex\n }));\n };\n\n return {\n // getInputProps adds Downshift handlers. We also add our own by passing them as params to that function.\n // user handlers were also added to our handlers previously, at the beginning of this function.\n accessibilityInputProps: Object.assign({}, getInputProps({\n disabled: disabled,\n onBlur: function onBlur(e) {\n handleInputBlur(e, predefinedProps);\n },\n onKeyDown: function onKeyDown(e) {\n handleInputKeyDown(e, predefinedProps);\n },\n onChange: function onChange(e) {\n // we prevent the onChange input event to bubble up to our Dropdown handler,\n // since in Dropdown it gets handled as onSearchQueryChange.\n e.stopPropagation(); // A state modification should be triggered there otherwise it will go to an another frame and will break\n // cursor position:\n // https://github.com/facebook/react/issues/955#issuecomment-469352730\n\n setSearchQuery(e.target.value);\n }\n })),\n // same story as above for getRootProps.\n accessibilityComboboxProps: accessibilityComboboxProps,\n inputRef: function inputRef(node) {\n handleRef(predefinedProps.inputRef, node);\n _inputRef.current = node;\n },\n onFocus: function onFocus(e, searchInputProps) {\n if (!disabled) {\n setFocused(true);\n setIsFromKeyboard(detectIsFromKeyboard());\n }\n\n _invoke(predefinedProps, 'onFocus', e, searchInputProps);\n },\n onInputBlur: function onInputBlur(e, searchInputProps) {\n handleInputBlur(e, searchInputProps);\n },\n onInputKeyDown: function onInputKeyDown(e, searchInputProps) {\n handleInputKeyDown(e, searchInputProps);\n }\n };\n };\n };\n /**\n * Custom Tab selection logic, at least until Downshift will implement selection on blur.\n * Also keeps focus on multiple selection dropdown when selecting by Tab.\n */\n\n\n var handleTabSelection = function handleTabSelection(e, highlightedIndex, selectItemAtIndex, toggleMenu) {\n if (open) {\n if (!_isNil(highlightedIndex) && filteredItems.length && !items[highlightedIndex]['disabled']) {\n selectItemAtIndex(highlightedIndex);\n\n if (multiple && !moveFocusOnTab) {\n e.preventDefault();\n }\n } else {\n toggleMenu();\n }\n }\n };\n\n var trySetLastSelectedItemAsActive = function trySetLastSelectedItemAsActive() {\n if (!multiple || _inputRef.current && _inputRef.current.selectionStart !== 0) {\n return;\n }\n\n if (value.length > 0) {\n // If last element was already active, perform a 'reset' of activeSelectedIndex.\n if (activeSelectedIndex === value.length - 1) {\n setStateAndInvokeHandler(['onActiveSelectedIndexChange'], null, {\n activeSelectedIndex: value.length - 1\n });\n } else {\n setStateAndInvokeHandler(['onActiveSelectedIndexChange'], null, {\n activeSelectedIndex: value.length - 1\n });\n }\n }\n };\n\n var tryRemoveItemFromValue = function tryRemoveItemFromValue() {\n if (multiple && (searchQuery === '' || _inputRef.current.selectionStart === 0 && _inputRef.current.selectionEnd === 0) && value.length > 0) {\n removeItemFromValue();\n }\n };\n\n var handleClear = function handleClear(e) {\n setStateAndInvokeHandler(['onChange', 'onActiveSelectedIndexChange', 'onHighlightedIndexChange'], e, {\n activeSelectedIndex: multiple ? null : undefined,\n highlightedIndex: highlightFirstItemOnOpen ? 0 : null,\n open: false,\n searchQuery: search ? '' : undefined,\n value: []\n });\n tryFocusSearchInput();\n tryFocusTriggerButton();\n };\n\n var handleContainerClick = function handleContainerClick() {\n tryFocusSearchInput();\n };\n\n var handleTriggerButtonKeyDown = function handleTriggerButtonKeyDown(e) {\n switch (getCode(e)) {\n case keyboardKey.ArrowLeft:\n if (!context.rtl) {\n trySetLastSelectedItemAsActive();\n }\n\n return;\n\n case keyboardKey.ArrowRight:\n if (context.rtl) {\n trySetLastSelectedItemAsActive();\n }\n\n return;\n\n default:\n return;\n }\n };\n\n var handleListKeyDown = function handleListKeyDown(e, highlightedIndex, accessibilityInputPropsKeyDown, toggleMenu, selectItemAtIndex) {\n var keyCode = getCode(e);\n\n switch (keyCode) {\n case keyboardKey.Tab:\n handleTabSelection(e, highlightedIndex, selectItemAtIndex, toggleMenu);\n return;\n\n case keyboardKey.Escape:\n accessibilityInputPropsKeyDown(e);\n tryFocusTriggerButton();\n e.stopPropagation();\n return;\n\n default:\n var keyString = String.fromCharCode(keyCode);\n\n if (/[a-zA-Z0-9]/.test(keyString)) {\n setHighlightedIndexOnCharKeyDown(keyString);\n }\n\n accessibilityInputPropsKeyDown(e);\n return;\n }\n };\n\n var handleSelectedItemKeyDown = function handleSelectedItemKeyDown(e, item, predefinedProps, dropdownSelectedItemProps) {\n var previousKey = context.rtl ? keyboardKey.ArrowRight : keyboardKey.ArrowLeft;\n var nextKey = context.rtl ? keyboardKey.ArrowLeft : keyboardKey.ArrowRight;\n\n switch (getCode(e)) {\n case keyboardKey.Delete:\n case keyboardKey.Backspace:\n handleSelectedItemRemove(e, item, predefinedProps, dropdownSelectedItemProps);\n break;\n\n case previousKey:\n if (value.length > 0 && !_isNil(activeSelectedIndex) && activeSelectedIndex > 0) {\n setStateAndInvokeHandler(['onActiveSelectedIndexChange'], null, {\n activeSelectedIndex: activeSelectedIndex - 1\n });\n }\n\n break;\n\n case nextKey:\n if (value.length > 0 && !_isNil(activeSelectedIndex)) {\n if (activeSelectedIndex < value.length - 1) {\n setStateAndInvokeHandler(['onActiveSelectedIndexChange'], null, {\n activeSelectedIndex: activeSelectedIndex + 1\n });\n } else {\n setStateAndInvokeHandler(['onActiveSelectedIndexChange'], null, {\n activeSelectedIndex: null\n });\n\n if (search) {\n e.preventDefault(); // prevents caret to forward one position in input.\n\n _inputRef.current.focus();\n } else {\n buttonRef.current.focus();\n }\n }\n }\n\n break;\n\n default:\n break;\n }\n\n _invoke(predefinedProps, 'onKeyDown', e, dropdownSelectedItemProps);\n };\n\n var handleTriggerButtonOrListFocus = function handleTriggerButtonOrListFocus() {\n setFocused(true);\n setIsFromKeyboard(detectIsFromKeyboard());\n };\n\n var handleTriggerButtonBlur = function handleTriggerButtonBlur(e) {\n if (listRef.current !== e.relatedTarget) {\n setFocused(false);\n setIsFromKeyboard(detectIsFromKeyboard());\n }\n };\n\n var handleListBlur = function handleListBlur(e) {\n if (buttonRef.current !== e.relatedTarget) {\n setFocused(false);\n setIsFromKeyboard(detectIsFromKeyboard());\n }\n };\n /**\n * Sets highlightedIndex to be the item that starts with the character keys the\n * user has typed. Only used in non-search dropdowns.\n *\n * @param keystring - The string the item needs to start with. It is composed by typing keys in fast succession.\n */\n\n\n var setHighlightedIndexOnCharKeyDown = function setHighlightedIndexOnCharKeyDown(keyString) {\n var newStartingString = \"\" + startingString + keyString.toLowerCase();\n var newHighlightedIndex = -1;\n setStartingString(newStartingString);\n clearStartingString();\n\n if (_isNumber(highlightedIndex)) {\n newHighlightedIndex = _findIndex(filteredItemStrings, function (item) {\n return item.startsWith(newStartingString);\n }, highlightedIndex + (startingString.length > 0 ? 0 : 1));\n }\n\n if (newHighlightedIndex < 0) {\n newHighlightedIndex = _findIndex(filteredItemStrings, function (item) {\n return item.startsWith(newStartingString);\n });\n }\n\n if (newHighlightedIndex >= 0) {\n setStateAndInvokeHandler(['onHighlightedIndexChange'], null, {\n highlightedIndex: newHighlightedIndex\n });\n }\n };\n\n var handleSelectedItemRemove = function handleSelectedItemRemove(e, item, predefinedProps, dropdownSelectedItemProps) {\n setStateAndInvokeHandler(['onActiveSelectedIndexChange'], null, {\n activeSelectedIndex: null\n });\n removeItemFromValue(item);\n tryFocusSearchInput();\n tryFocusTriggerButton();\n\n _invoke(predefinedProps, 'onRemove', e, dropdownSelectedItemProps);\n };\n\n var removeItemFromValue = function removeItemFromValue(item) {\n var poppedItem = item;\n var newValue = [].concat(value);\n\n if (poppedItem) {\n newValue = newValue.filter(function (currentElement) {\n return currentElement !== item;\n });\n } else {\n poppedItem = newValue.pop();\n }\n\n if (getA11ySelectionMessage && getA11ySelectionMessage.onRemove) {\n setA11ySelectionMessage(getA11ySelectionMessage.onRemove(poppedItem));\n }\n\n setStateAndInvokeHandler(['onChange'], null, {\n value: newValue\n });\n };\n /**\n * Calls setState and invokes event handler exposed to user.\n * We don't have the event object for most events coming from Downshift se we send an empty event\n * because we want to keep the event handling interface\n */\n\n\n var setStateAndInvokeHandler = function setStateAndInvokeHandler(handlerNames, event, newState) {\n var proposedValue = _isNil(newState.value) ? value : newState.value; // `proposedValue` should be normalized for single/multiple variations, `null` condition is\n // required as first item can be undefined\n\n var newValue = multiple ? proposedValue : proposedValue[0] || null;\n\n if (newState.hasOwnProperty('activeSelectedIndex')) {\n setActiveSelectedIndex(newState.activeSelectedIndex);\n }\n\n if (newState.hasOwnProperty('highlightedIndex')) {\n setHighlightedIndex(newState.highlightedIndex);\n }\n\n if (newState.hasOwnProperty('itemIsFromKeyboard')) {\n setItemIsFromKeyboard(newState.itemIsFromKeyboard);\n }\n\n if (newState.hasOwnProperty('open')) {\n setOpen(newState.open);\n }\n\n if (newState.hasOwnProperty('searchQuery')) {\n setSearchQuery(newState.searchQuery);\n }\n\n if (newState.hasOwnProperty('value')) {\n setValue(newState.value);\n }\n\n handlerNames.forEach(function (handlerName) {\n _invoke(props, handlerName, event, Object.assign({}, props, newState, {\n value: newValue\n }));\n });\n };\n\n var tryFocusTriggerButton = function tryFocusTriggerButton() {\n if (!search && buttonRef.current) {\n buttonRef.current.focus();\n }\n };\n\n var tryFocusSearchInput = function tryFocusSearchInput() {\n if (search && _inputRef.current) {\n _inputRef.current.focus();\n }\n };\n /**\n * If there is no value we use the placeholder value\n * otherwise, for single selection we convert the value with itemToString\n * and for multiple selection we return empty string, the values are rendered by renderSelectedItems\n */\n\n\n var getSelectedItemAsString = function getSelectedItemAsString(value) {\n if (!value) {\n return search ? '' : placeholder;\n }\n\n if (multiple) {\n return '';\n }\n\n return itemToString(value);\n };\n\n var getHighlightedIndexOnArrowKeyOpen = function getHighlightedIndexOnArrowKeyOpen(changes) {\n var isArrowUp = changes.type === Downshift.stateChangeTypes.keyDownArrowUp;\n var isArrowDown = changes.type === Downshift.stateChangeTypes.keyDownArrowDown;\n var itemsLength = filteredItems.length;\n\n if (highlightedIndex) {\n return highlightedIndex;\n }\n\n if (highlightFirstItemOnOpen) {\n // otherwise, if highlightFirstItemOnOpen prop is provied, highlight first item.\n return 0;\n }\n\n if (!multiple && !search && value.length > 0) {\n // in single selection, if there is a selected item, highlight it.\n var _offset = isArrowUp ? -1 : isArrowDown ? 1 : 0;\n\n var newHighlightedIndex = items.indexOf(value[0]) + _offset;\n\n if (newHighlightedIndex >= itemsLength) {\n return 0;\n }\n\n if (newHighlightedIndex < 0) {\n return itemsLength - 1;\n }\n\n return newHighlightedIndex;\n }\n\n if (isArrowDown) {\n return 0;\n }\n\n if (isArrowUp) {\n return itemsLength - 1;\n }\n\n return null;\n };\n /**\n * Function that sets and cleans the selection message after it has been set,\n * so it is not read anymore via virtual cursor.\n */\n\n\n var setA11ySelectionMessage = function setA11ySelectionMessage(a11ySelectionStatus) {\n setA11ySelectionStatus(a11ySelectionStatus);\n clearA11ySelectionMessage();\n };\n\n React.useEffect(function () {\n return function () {\n clearStartingString.cancel();\n clearA11ySelectionMessage.cancel();\n };\n }, [clearA11ySelectionMessage, clearStartingString]);\n var element = /*#__PURE__*/React.createElement(ElementType, _extends({\n className: classes.root,\n onBlur: handleOnBlur,\n onChange: handleChange\n }, unhandledProps, process.env.NODE_ENV === 'test' && {\n 'data-test-focused': focused\n }), /*#__PURE__*/React.createElement(Downshift, {\n isOpen: open,\n inputValue: search ? searchQuery : null,\n stateReducer: downshiftStateReducer,\n itemToString: itemToString // downshift does not work with arrays as selectedItem.\n ,\n selectedItem: multiple || !value.length ? null : value[0],\n scrollIntoView: function scrollIntoView(node, menu) {\n if (node) {\n var children = menu.children;\n var nodeToScroll = node;\n /**\n * If it's loading downshift doesn't take the last node with loadingMessage\n * in consideration to scrolld so we need to check if the current is the\n * antepenultimate and is so scroll the loading into view, same for headerMessage\n */\n\n if (loading && children[children.length - 2] === node) {\n nodeToScroll = children[children.length - 1];\n } else if (headerMessage && children[1] === node) {\n nodeToScroll = children[0];\n } // Replicating same config that Downshift uses\n\n\n var actions = computeScrollIntoView(nodeToScroll, {\n boundary: menu,\n // Explicitly set boundary to avoid unnecessary scrolling by checking all parent elements\n scrollMode: 'if-needed',\n block: 'nearest',\n inline: 'nearest'\n });\n actions.forEach(function (_ref) {\n var el = _ref.el,\n top = _ref.top,\n left = _ref.left;\n el.scrollTop = top;\n el.scrollLeft = left;\n });\n }\n },\n getA11yStatusMessage: getA11yStatusMessage,\n highlightedIndex: highlightedIndex,\n onStateChange: handleStateChange,\n labelId: ariaLabelledby,\n environment: (_context$target = context.target) == null ? void 0 : _context$target.defaultView,\n inputId: searchInput && searchInput['id'] ? searchInput['id'] : undefined\n }, function (_ref2) {\n var getInputProps = _ref2.getInputProps,\n getItemProps = _ref2.getItemProps,\n getMenuProps = _ref2.getMenuProps,\n getRootProps = _ref2.getRootProps,\n getToggleButtonProps = _ref2.getToggleButtonProps,\n toggleMenu = _ref2.toggleMenu,\n highlightedIndex = _ref2.highlightedIndex,\n selectItemAtIndex = _ref2.selectItemAtIndex;\n\n var _getRootProps = getRootProps({\n refKey: 'innerRef'\n }, {\n suppressRefError: true\n }),\n innerRef = _getRootProps.innerRef,\n accessibilityRootPropsRest = _objectWithoutPropertiesLoose(_getRootProps, [\"innerRef\"]);\n\n var showClearIndicator = clearable && value.length > 0;\n return /*#__PURE__*/React.createElement(Ref, {\n innerRef: innerRef\n }, /*#__PURE__*/React.createElement(\"div\", {\n ref: containerRef,\n className: cx(dropdownSlotClassNames.container, classes.container),\n onClick: search && !open ? handleContainerClick : undefined\n }, /*#__PURE__*/React.createElement(\"div\", {\n ref: selectedItemsRef,\n className: cx(dropdownSlotClassNames.selectedItems, classes.selectedItems)\n }, !search && renderTriggerButton(getToggleButtonProps), multiple && renderSelectedItems(), search && renderSearchInput(accessibilityRootPropsRest, highlightedIndex, getInputProps, selectItemAtIndex, toggleMenu, variables)), showClearIndicator ? Box.create(clearIndicator, {\n defaultProps: function defaultProps() {\n return Object.assign({\n className: dropdownSlotClassNames.clearIndicator,\n styles: resolvedStyles.clearIndicator,\n accessibility: indicatorBehavior\n }, !search && {\n tabIndex: 0,\n role: 'button'\n });\n },\n overrideProps: function overrideProps(predefinedProps) {\n return {\n onClick: function onClick(e) {\n _invoke(predefinedProps, 'onClick', e);\n\n handleClear(e);\n }\n };\n }\n }) : Box.create(toggleIndicator, {\n defaultProps: function defaultProps() {\n return {\n className: dropdownSlotClassNames.toggleIndicator,\n styles: resolvedStyles.toggleIndicator,\n accessibility: indicatorBehavior\n };\n },\n overrideProps: function overrideProps(predefinedProps) {\n return {\n onClick: function onClick(e) {\n if (!disabled) {\n getToggleButtonProps({\n disabled: disabled\n }).onClick(e);\n }\n\n _invoke(predefinedProps, 'onClick', e);\n }\n };\n }\n }), renderItemsList(highlightedIndex, toggleMenu, selectItemAtIndex, getMenuProps, getItemProps, getInputProps)));\n }), /*#__PURE__*/React.createElement(Portal, {\n open: !!getA11ySelectionMessage\n }, /*#__PURE__*/React.createElement(\"div\", {\n role: \"status\",\n \"aria-live\": \"polite\",\n \"aria-relevant\": \"additions text\",\n style: screenReaderContainerStyles\n }, a11ySelectionStatus)));\n setEnd();\n return element;\n };\n\n Dropdown.displayName = 'Dropdown';\n Dropdown.propTypes = Object.assign({}, commonPropTypes.createCommon({\n accessibility: false,\n children: false,\n content: false\n }), {\n activeSelectedIndex: PropTypes.number,\n align: PropTypes.oneOf(ALIGNMENTS),\n checkable: PropTypes.bool,\n checkableIndicator: customPropTypes.shorthandAllowingChildren,\n clearable: PropTypes.bool,\n clearIndicator: customPropTypes.shorthandAllowingChildren,\n defaultActiveSelectedIndex: PropTypes.number,\n defaultOpen: PropTypes.bool,\n defaultHighlightedIndex: PropTypes.number,\n defaultSearchQuery: PropTypes.string,\n defaultValue: PropTypes.oneOfType([customPropTypes.itemShorthand, customPropTypes.collectionShorthand]),\n disabled: PropTypes.bool,\n error: PropTypes.bool,\n fluid: PropTypes.bool,\n getA11ySelectionMessage: PropTypes.object,\n getA11yStatusMessage: PropTypes.func,\n highlightFirstItemOnOpen: PropTypes.bool,\n highlightedIndex: PropTypes.number,\n inline: PropTypes.bool,\n inverted: PropTypes.bool,\n items: customPropTypes.collectionShorthand,\n itemToString: PropTypes.func,\n itemToValue: PropTypes.func,\n headerMessage: customPropTypes.itemShorthand,\n list: customPropTypes.itemShorthand,\n loading: PropTypes.bool,\n loadingMessage: customPropTypes.itemShorthand,\n moveFocusOnTab: PropTypes.bool,\n multiple: PropTypes.bool,\n noResultsMessage: customPropTypes.itemShorthand,\n offset: PropTypes.oneOfType([PropTypes.func, PropTypes.arrayOf(PropTypes.number)]),\n onOpenChange: PropTypes.func,\n onSearchQueryChange: PropTypes.func,\n onBlur: PropTypes.func,\n onChange: PropTypes.func,\n onActiveSelectedIndexChange: PropTypes.func,\n onHighlightedIndexChange: PropTypes.func,\n open: PropTypes.bool,\n placeholder: PropTypes.string,\n position: PropTypes.oneOf(POSITIONS),\n renderItem: PropTypes.func,\n renderSelectedItem: PropTypes.func,\n search: PropTypes.oneOfType([PropTypes.bool, PropTypes.func]),\n searchQuery: PropTypes.string,\n searchInput: customPropTypes.itemShorthand,\n toggleIndicator: customPropTypes.shorthandAllowingChildren,\n triggerButton: customPropTypes.itemShorthand,\n unstable_disableTether: PropTypes.oneOf([true, false, 'all']),\n unstable_pinned: PropTypes.bool,\n autoSize: PropTypes.oneOf(AUTOSIZES),\n value: PropTypes.oneOfType([customPropTypes.itemShorthand, customPropTypes.collectionShorthand]),\n 'aria-labelledby': PropTypes.string,\n 'aria-invalid': PropTypes.bool,\n a11ySelectedItemsMessage: PropTypes.string\n });\n Dropdown.handledProps = Object.keys(Dropdown.propTypes);\n Dropdown.defaultProps = {\n align: 'start',\n clearIndicator: /*#__PURE__*/React.createElement(CloseIcon, {\n outline: true\n }),\n itemToString: function itemToString(item) {\n if (!item || /*#__PURE__*/React.isValidElement(item)) {\n return '';\n } // targets DropdownItem shorthand objects\n\n\n return item.header || String(item);\n },\n itemToValue: function itemToValue(item) {\n if (!item || /*#__PURE__*/React.isValidElement(item)) {\n return '';\n } // targets DropdownItem shorthand objects\n\n\n return item.header || String(item);\n },\n list: {},\n position: 'below',\n toggleIndicator: /*#__PURE__*/React.createElement(ChevronDownIcon, {\n outline: true\n }),\n triggerButton: {}\n };\n Dropdown.Item = DropdownItem;\n Dropdown.SearchInput = DropdownSearchInput;\n Dropdown.SelectedItem = DropdownSelectedItem;\n return Dropdown;\n}();\n//# sourceMappingURL=Dropdown.js.map\n","export var dropdownSearchInputStyles = {\n root: function root(_ref) {\n var v = _ref.variables;\n return {\n flexBasis: v.comboboxFlexBasis,\n flexGrow: 1\n };\n },\n input: function input(_ref2) {\n var p = _ref2.props;\n return Object.assign({\n width: '100%',\n backgroundColor: 'transparent',\n borderWidth: 0\n }, p.inline && {\n padding: 0,\n lineHeight: 'initial'\n });\n }\n};\n//# sourceMappingURL=dropdownSearchInputStyles.js.map\n","import { dropdownSelectedItemSlotClassNames } from '../../../../components/Dropdown/DropdownSelectedItem';\nimport { getIconFillOrOutlineStyles } from '../../getIconFillOrOutlineStyles';\nimport { getBorderFocusStyles } from '../../getBorderFocusStyles';\nimport { pxToRem } from '../../../../utils';\nexport var dropdownSelectedItemStyles = {\n root: function root(_ref) {\n var _hover;\n\n var p = _ref.props,\n v = _ref.variables,\n siteVariables = _ref.theme.siteVariables;\n var borderFocusStyles = getBorderFocusStyles({\n variables: siteVariables\n });\n return Object.assign({\n maxWidth: v.selectedItemsMaxWidth,\n display: 'inline-flex',\n alignItems: 'center',\n padding: \"0 \" + pxToRem(8),\n startPaddingLeft: '0px',\n lineHeight: pxToRem(20),\n borderRadius: pxToRem(9999),\n fontSize: pxToRem(14)\n }, p.hasImage && {\n paddingLeft: '0px'\n }, {\n cursor: 'pointer',\n margin: '.25rem 0 0 .4rem',\n color: v.selectedItemColor,\n position: 'relative',\n border: v.selectedItemBorder,\n height: pxToRem(24),\n overflow: 'visible',\n outline: 0,\n fontWeight: siteVariables.fontWeightSemibold\n }, v.selectedItemBackgroundColor && {\n backgroundColor: v.selectedItemBackgroundColor\n }, {\n ':focus': {\n color: v.selectedItemColorFocus\n },\n ':hover': (_hover = {\n color: v.selectedItemColorHover,\n backgroundColor: v.selectedItemBackgroundColorHover\n }, _hover[\"& .\" + dropdownSelectedItemSlotClassNames.icon] = {\n color: v.selectedItemIconColorHover\n }, _hover),\n ':focus-visible': {\n ':after': borderFocusStyles[':focus-visible'][':after']\n }\n });\n },\n image: function image() {\n return {\n height: pxToRem(20),\n width: pxToRem(20)\n };\n },\n header: function header(_ref2) {\n var p = _ref2.props,\n v = _ref2.variables;\n return Object.assign({}, p.hasImage && {\n marginLeft: pxToRem(3)\n }, {\n marginRight: pxToRem(3),\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap'\n });\n },\n icon: function icon(_ref3) {\n var v = _ref3.variables;\n return Object.assign({\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: pxToRem(16),\n minWidth: pxToRem(16),\n height: pxToRem(16),\n '& > :first-child': {\n width: pxToRem(16),\n height: pxToRem(16),\n '& svg': {\n width: pxToRem(16),\n height: pxToRem(16)\n }\n },\n cursor: 'pointer',\n color: v.selectedItemIconColor\n }, getIconFillOrOutlineStyles({\n outline: true\n }), {\n ':hover': Object.assign({\n color: v.selectedItemIconColorHover\n }, getIconFillOrOutlineStyles({\n outline: false\n }))\n });\n }\n};\n//# sourceMappingURL=dropdownSelectedItemStyles.js.map\n","import { dropdownItemSlotClassNames } from '../../../../components/Dropdown/DropdownItem';\nimport { getBorderFocusStyles } from '../../getBorderFocusStyles';\nimport { pxToRem } from '../../../../utils';\nimport { checkableIndicatorUrl } from './checkableIndicatorUrl';\nexport var dropdownItemStyles = {\n root: function root(_ref) {\n var _ref2, _ref3;\n\n var p = _ref.props,\n v = _ref.variables,\n siteVariables = _ref.theme.siteVariables;\n return Object.assign({\n display: 'flex',\n alignItems: 'center',\n minHeight: 0,\n padding: pxToRem(4) + \" \" + pxToRem(11),\n whiteSpace: 'nowrap',\n border: v.listItemFocusBorderWidth + \" solid transparent\",\n backgroundColor: v.listItemBackgroundColor\n }, p.selected && {\n fontWeight: v.listItemSelectedFontWeight,\n color: v.listItemSelectedColor\n }, {\n position: 'relative'\n }, p.active && Object.assign({}, p.isFromKeyboard && getBorderFocusStyles({\n variables: siteVariables,\n borderRadius: 0\n })[':focus-visible'], !p.isFromKeyboard && Object.assign({\n color: v.listItemColorHover,\n backgroundColor: v.listItemBackgroundColorHover\n }, p.hasHeader && (_ref2 = {}, _ref2[\"& .\" + dropdownItemSlotClassNames.header] = {\n color: v.listItemColorHover\n }, _ref2), p.hasContent && (_ref3 = {}, _ref3[\"& .\" + dropdownItemSlotClassNames.content] = {\n color: v.listItemColorHover\n }, _ref3))));\n },\n image: function image() {\n return {\n margin: pxToRem(3) + \" \" + pxToRem(12) + \" \" + pxToRem(3) + \" \" + pxToRem(4)\n };\n },\n header: function header(_ref4) {\n var p = _ref4.props,\n v = _ref4.variables;\n return Object.assign({\n flexGrow: 1,\n lineHeight: v.listItemHeaderLineHeight,\n fontSize: v.listItemHeaderFontSize,\n // if the item doesn't have content - i.e. it is header only - then it should use the content color\n color: v.listItemContentColor\n }, p.hasContent && {\n // if there is content it needs to be \"tightened up\" to the header\n marginBottom: pxToRem(-1),\n color: v.listItemHeaderColor\n }, p.selected && {\n fontWeight: v.listItemSelectedFontWeight,\n color: v.listItemSelectedColor\n }, {\n whiteSpace: 'normal'\n });\n },\n content: function content(_ref5) {\n var v = _ref5.variables;\n return {\n flexGrow: 1,\n lineHeight: v.listItemContentLineHeight,\n fontSize: v.listItemContentFontSize,\n color: v.listItemContentColor\n };\n },\n checkableIndicator: function checkableIndicator(_ref6) {\n var v = _ref6.variables;\n return {\n backgroundImage: checkableIndicatorUrl(v.listItemSelectedColor),\n backgroundPosition: 'center',\n backgroundRepeat: 'no-repeat',\n position: 'absolute',\n width: pxToRem(24),\n height: pxToRem(24),\n right: pxToRem(7),\n top: pxToRem(-3)\n };\n },\n endMedia: function endMedia() {\n return {\n flexShrink: 0,\n lineHeight: pxToRem(16)\n };\n },\n main: function main() {\n return {\n display: 'flex',\n flexDirection: 'column',\n flexGrow: 1,\n minWidth: 0 // needed for the truncate styles to work\n\n };\n }\n};\n//# sourceMappingURL=dropdownItemStyles.js.map\n","export var checkableIndicatorUrl = function checkableIndicatorUrl(color) {\n return \"url(\\\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' role='presentation' fill='\" + encodeURIComponent(color) + \"' focusable='false' view-box='8 8 16 16'%3E%3Cg%3E%3Cpath d='M23.5 11.875a.968.968 0 0 1-.289.711l-8.25 8.25c-.192.193-.43.289-.711.289s-.519-.096-.711-.289l-4.75-4.75a.965.965 0 0 1-.289-.711c0-.125.027-.25.082-.375s.129-.234.223-.328a.953.953 0 0 1 .695-.297c.135 0 .266.025.391.074.125.05.231.121.32.215l4.039 4.047 7.539-7.547a.886.886 0 0 1 .32-.215c.125-.049.255-.074.391-.074a1.004 1.004 0 0 1 .922.625.97.97 0 0 1 .078.375z' /%3E%3C/g%3E%3C/svg%3E\\\")\";\n};\n//# sourceMappingURL=checkableIndicatorUrl.js.map\n","import _invoke from \"lodash/invoke\";\nimport _isNil from \"lodash/isNil\";\nimport { embedBehavior } from '@fluentui/accessibility';\nimport * as PropTypes from 'prop-types';\nimport * as React from 'react';\nimport * as customPropTypes from '@fluentui/react-proptypes';\nimport { createShorthandFactory, commonPropTypes } from '../../utils';\nimport { Image } from '../Image/Image';\nimport { Video } from '../Video/Video';\nimport { Box } from '../Box/Box';\nimport { Ref } from '@fluentui/react-component-ref';\nimport { getElementType, useUnhandledProps, useFluentContext, useAutoControlled, useAccessibility, useTelemetry, useStyles } from '@fluentui/react-bindings';\nexport var embedClassName = 'ui-embed';\nexport var embedSlotClassNames = {\n control: embedClassName + \"__control\"\n};\n\n/**\n * An Embed displays content from external websites, like a post from external social network.\n *\n * @accessibility\n * A `placeholder` slot represents an [`Image`](/components/image/definition) component, please follow recommendations from its\n * accessibility section.\n */\nexport var Embed = /*#__PURE__*/function () {\n var Embed = function Embed(props) {\n var context = useFluentContext();\n\n var _useTelemetry = useTelemetry(Embed.displayName, context.telemetry),\n setStart = _useTelemetry.setStart,\n setEnd = _useTelemetry.setEnd;\n\n setStart();\n var alt = props.alt,\n title = props.title,\n control = props.control,\n iframe = props.iframe,\n placeholder = props.placeholder,\n video = props.video,\n variables = props.variables,\n styles = props.styles,\n className = props.className,\n design = props.design;\n var ElementType = getElementType(props);\n var unhandledProps = useUnhandledProps(Embed.handledProps, props);\n var getA11yProps = useAccessibility(props.accessibility, {\n debugName: Embed.displayName,\n actionHandlers: {\n performClick: function performClick(event) {\n return handleClick(event);\n }\n },\n mapPropsToBehavior: function mapPropsToBehavior() {\n return {\n alt: alt,\n title: title\n };\n },\n rtl: context.rtl\n });\n\n var _useAutoControlled = useAutoControlled({\n defaultValue: props.defaultActive,\n value: props.active,\n initialValue: false\n }),\n active = _useAutoControlled[0],\n setACtive = _useAutoControlled[1];\n\n var _React$useState = React.useState(false),\n iframeLoaded = _React$useState[0],\n setIframeLoaded = _React$useState[1];\n\n var frameRef = React.useRef();\n\n var handleClick = function handleClick(e) {\n e.stopPropagation();\n e.preventDefault();\n\n var iframeNil = _isNil(props.iframe);\n\n var newActive = !active;\n\n if (iframeNil || !iframeNil && newActive) {\n setACtive(newActive);\n\n _invoke(props, 'onActiveChange', e, Object.assign({}, props, {\n active: newActive\n }));\n }\n\n _invoke(props, 'onClick', e, Object.assign({}, props, {\n active: newActive\n }));\n };\n\n var handleFrameOverrides = function handleFrameOverrides(predefinedProps) {\n return {\n onLoad: function onLoad(e) {\n _invoke(predefinedProps, 'onLoad', e);\n\n setIframeLoaded(true);\n frameRef.current.contentWindow.focus();\n }\n };\n };\n\n var _useStyles = useStyles(Embed.displayName, {\n className: embedClassName,\n mapPropsToStyles: function mapPropsToStyles() {\n return {\n iframeLoaded: iframeLoaded,\n active: active\n };\n },\n mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n return {\n className: className,\n design: design,\n styles: styles,\n variables: variables\n };\n },\n rtl: context.rtl\n }),\n classes = _useStyles.classes,\n resolvedStyles = _useStyles.styles;\n\n var placeholderElement = placeholder ? /*#__PURE__*/React.createElement(Image, {\n src: placeholder,\n styles: resolvedStyles.image,\n variables: {\n width: variables.width,\n height: variables.height\n }\n }) : null;\n var hasIframe = !_isNil(iframe);\n var hasVideo = !_isNil(video);\n var controlVisible = !active || hasVideo;\n var placeholderVisible = !active || hasIframe && active && !iframeLoaded;\n var element = /*#__PURE__*/React.createElement(ElementType, getA11yProps('root', Object.assign({\n className: classes.root,\n onClick: handleClick\n }, unhandledProps)), active && /*#__PURE__*/React.createElement(React.Fragment, null, Video.create(video, {\n defaultProps: function defaultProps() {\n return getA11yProps('video', {\n autoPlay: true,\n controls: false,\n loop: true,\n muted: true,\n poster: placeholder,\n styles: resolvedStyles.video,\n variables: {\n width: variables.width,\n height: variables.height\n }\n });\n }\n }), iframe && /*#__PURE__*/React.createElement(Ref, {\n innerRef: frameRef\n }, Box.create(iframe, {\n defaultProps: function defaultProps() {\n return getA11yProps('iframe', {\n as: 'iframe',\n styles: resolvedStyles.iframe\n });\n },\n overrideProps: handleFrameOverrides\n }))), placeholderVisible && placeholderElement, controlVisible && Box.create(control, {\n defaultProps: function defaultProps() {\n return getA11yProps('control', {\n className: embedSlotClassNames.control,\n styles: resolvedStyles.control\n });\n }\n }));\n setEnd();\n return element;\n };\n\n Embed.displayName = 'Embed';\n Embed.propTypes = Object.assign({}, commonPropTypes.createCommon({\n children: false,\n content: false\n }), {\n active: PropTypes.bool,\n defaultActive: PropTypes.bool,\n control: customPropTypes.itemShorthand,\n iframe: customPropTypes.every([customPropTypes.disallow(['video']), customPropTypes.itemShorthand]),\n onActiveChange: PropTypes.func,\n onClick: PropTypes.func,\n placeholder: PropTypes.string,\n video: customPropTypes.every([customPropTypes.disallow(['iframe']), customPropTypes.itemShorthand])\n });\n Embed.defaultProps = {\n as: 'span',\n accessibility: embedBehavior,\n control: {},\n variables: {}\n };\n Embed.handledProps = Object.keys(Embed.propTypes);\n Embed.create = createShorthandFactory({\n Component: Embed\n });\n return Embed;\n}();\n//# sourceMappingURL=Embed.js.map\n","import { pxToRem } from '../../../../utils';\nimport { embedSlotClassNames } from '../../../../components/Embed/Embed';\nimport { getBorderFocusStyles } from '../../getBorderFocusStyles';\nimport { playIndicatorUrl } from './playIndicatorUrl';\nimport { pauseIndicatorUrl } from './pauseIndicatorUrl';\nexport var embedStyles = {\n root: function root(_ref) {\n var _focusVisible, _hover;\n\n var v = _ref.variables,\n siteVariables = _ref.theme.siteVariables;\n var borderFocusStyles = getBorderFocusStyles({\n variables: siteVariables\n });\n return Object.assign({\n display: 'inline-block',\n verticalAlign: 'middle',\n position: 'relative',\n cursor: 'pointer',\n width: v.width,\n height: v.height || 'auto',\n outline: 0\n }, borderFocusStyles[':focus'], {\n ':focus-visible': (_focusVisible = {}, _focusVisible[\"& .\" + embedSlotClassNames.control] = Object.assign({\n borderColor: v.focusBorderColor,\n opacity: 1\n }, borderFocusStyles[':focus-visible']), _focusVisible),\n ':hover': (_hover = {}, _hover[\"& .\" + embedSlotClassNames.control] = {\n opacity: 1,\n zIndex: v.zIndex\n }, _hover)\n });\n },\n control: function control(_ref2) {\n var p = _ref2.props,\n v = _ref2.variables;\n return Object.assign({\n width: pxToRem(48),\n height: pxToRem(48),\n color: v.controlColor,\n padding: pxToRem(4),\n borderRadius: '50%',\n backgroundColor: v.controlBackgroundColor,\n backgroundImage: playIndicatorUrl(v.controlColor),\n backgroundRepeat: 'no-repeat',\n backgroundPosition: 'center',\n backgroundSize: v.controlBackgroundSize,\n backgroundPositionX: pxToRem(12)\n }, p.active && {\n backgroundImage: pauseIndicatorUrl(v.controlColor)\n }, {\n opacity: p.active ? 0 : 1,\n pointerEvents: 'none',\n transition: 'opacity .22s ease-in-out',\n left: '50%',\n position: 'absolute',\n top: '50%',\n transform: 'translate(-50%, -50%)'\n });\n },\n iframe: function iframe(_ref3) {\n var p = _ref3.props;\n return Object.assign({\n display: 'block'\n }, !p.iframeLoaded && {\n display: 'none'\n });\n }\n};\n//# sourceMappingURL=embedStyles.js.map\n","export var playIndicatorUrl = function playIndicatorUrl(color) {\n return \"url(\\\"data:image/svg+xml, %3Csvg xmlns='http://www.w3.org/2000/svg' role='presentation' focusable='false' viewBox='0 0 24 24'%3E%3Cg%3E%3Cpath fill='\" + encodeURIComponent(color) + \"' d='M5 5.27368C5 3.56682 6.82609 2.48151 8.32538 3.2973L20.687 10.0235C22.2531 10.8756 22.2531 13.124 20.687 13.9762L8.32538 20.7024C6.82609 21.5181 5 20.4328 5 18.726V5.27368Z' /%3E%3C/g%3E%3C/svg%3E\\\")\";\n};\n//# sourceMappingURL=playIndicatorUrl.js.map\n","export var pauseIndicatorUrl = function pauseIndicatorUrl(color) {\n return \"url(\\\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' role='presentation' focusable='false' viewBox='0 0 24 24'%3E%3Cg%3E%3Cpath fill='\" + encodeURIComponent(color) + \"' d='M5.74609 3C4.7796 3 3.99609 3.7835 3.99609 4.75V19.25C3.99609 20.2165 4.7796 21 5.74609 21H9.24609C10.2126 21 10.9961 20.2165 10.9961 19.25V4.75C10.9961 3.7835 10.2126 3 9.24609 3H5.74609Z' /%3E%3Cpath fill='\" + encodeURIComponent(color) + \"' d='M14.7461 3C13.7796 3 12.9961 3.7835 12.9961 4.75V19.25C12.9961 20.2165 13.7796 21 14.7461 21H18.2461C19.2126 21 19.9961 20.2165 19.9961 19.25V4.75C19.9961 3.7835 19.2126 3 18.2461 3H14.7461Z' /%3E%3C/g%3E%3C/svg%3E\\\")\";\n};\n//# sourceMappingURL=pauseIndicatorUrl.js.map\n","import { pxToRem } from '../../../../utils';\nexport var formFieldStyles = {\n root: function root(_ref) {\n var props = _ref.props,\n variables = _ref.variables;\n return {};\n },\n label: function label(_ref2) {\n var props = _ref2.props;\n var type = props.type,\n inline = props.inline,\n required = props.required;\n return Object.assign({}, (!type || type !== 'radio' && type !== 'checkbox') && {\n display: 'block',\n marginBottom: pxToRem(4)\n }, inline && {\n marginRight: pxToRem(10),\n display: 'inline'\n }, required && {\n '::after': {\n content: '\"*\"'\n }\n });\n },\n control: function control(_ref3) {\n var props = _ref3.props,\n v = _ref3.variables;\n var type = props.type;\n return Object.assign({}, type && (type === 'radio' || type === 'checkbox') && {\n marginRight: pxToRem(10)\n });\n },\n message: function message(_ref4) {\n var p = _ref4.props,\n v = _ref4.variables;\n return Object.assign({}, p.hasErrorMessage && {\n color: v.colorScheme.red.foreground\n }, {\n display: 'block',\n paddingLeft: v.messagePaddingLeft\n });\n },\n icon: function icon(_ref5) {\n var p = _ref5.props,\n v = _ref5.variables;\n return Object.assign({}, p.hasErrorMessage && {\n color: v.colorScheme.red.foreground\n });\n }\n};\n//# sourceMappingURL=formFieldStyles.js.map\n","import { pxToRem } from '../../../../utils';\nexport var formLabelStyles = {\n root: function root(_ref) {\n var p = _ref.props,\n v = _ref.variables;\n return Object.assign({\n display: 'block',\n lineHeight: v.lineHeight,\n marginBottom: v.marginBottom\n }, p.inline && {\n marginRight: pxToRem(10),\n display: 'inline'\n }, p.required && {\n '::after': {\n content: '\"*\"'\n }\n });\n }\n};\n//# sourceMappingURL=formLabelStyles.js.map\n","export var formMessageStyles = {\n root: function root(_ref) {\n var p = _ref.props,\n v = _ref.variables;\n return Object.assign({\n display: 'block',\n paddingLeft: v.paddingLeft\n }, p.error && {\n color: v.colorScheme.red.foreground\n });\n }\n};\n//# sourceMappingURL=formMessageStyles.js.map\n","import { toFlexAlignment } from './utils';\nexport var flexStyles = {\n root: function root(_ref) {\n var _notLastChild;\n\n var p = _ref.props,\n v = _ref.variables;\n return Object.assign({\n display: 'flex'\n }, p.debug && {\n border: '1px dotted grey',\n background: 'lightgrey'\n }, p.inline && {\n display: 'inline-flex'\n }, p.column && {\n flexDirection: 'column'\n }, p.hAlign && (p.column ? {\n alignItems: toFlexAlignment(p.hAlign)\n } : {\n justifyContent: toFlexAlignment(p.hAlign)\n }), p.vAlign && (p.column ? {\n justifyContent: toFlexAlignment(p.vAlign)\n } : {\n alignItems: toFlexAlignment(p.vAlign)\n }), p.space && {\n justifyContent: \"space-\" + p.space\n }, p.wrap && {\n flexWrap: 'wrap'\n }, p.fill && {\n width: '100%',\n height: '100%'\n }, p.padding && {\n padding: v[p.padding]\n }, p.gap && {\n '> *:not(:last-child)': (_notLastChild = {}, _notLastChild[p.column ? 'marginBottom' : 'marginRight'] = v[p.gap], _notLastChild)\n });\n }\n};\n//# sourceMappingURL=flexStyles.js.map\n","import { toFlexAlignment, toFlexItemSizeValues } from './utils';\nexport var flexItemStyles = {\n root: function root(_ref) {\n var p = _ref.props,\n v = _ref.variables;\n return Object.assign({}, p.align && {\n alignSelf: toFlexAlignment(p.align)\n }, p.size && toFlexItemSizeValues(v.hasOwnProperty(p.size) ? v[p.size] : p.size), typeof p.shrink === 'number' && {\n flexShrink: p.shrink\n }, p.shrink === false && {\n flexShrink: 0\n }, p.grow && {\n flexGrow: p.grow\n }, p.grow === true && {\n flexGrow: 1\n }, p.push && (p.flexDirection === 'column' ? {\n marginTop: 'auto'\n } : {\n marginLeft: 'auto'\n }));\n }\n};\n//# sourceMappingURL=flexItemStyles.js.map\n","import _get from \"lodash/get\";\nimport { translateAlignProp } from '../../../../styles/translateAlignProp';\nexport var headerStyles = {\n root: function root(_ref) {\n var p = _ref.props,\n v = _ref.variables;\n var colors = v.colorScheme[p.color];\n return Object.assign({\n display: 'block',\n color: _get(colors, 'foreground', v.color),\n textAlign: translateAlignProp(p.align)\n }, p.hasDescription && {\n marginBottom: 0\n });\n }\n};\n//# sourceMappingURL=headerStyles.js.map\n","import _get from \"lodash/get\";\nimport { pxToRem } from '../../../../utils';\nexport var headerDescriptionStyles = {\n root: function root(_ref) {\n var p = _ref.props,\n v = _ref.variables;\n var colors = v.colorScheme[p.color];\n return {\n display: 'block',\n color: _get(colors, 'foreground', v.color),\n fontSize: pxToRem(22),\n fontWeight: 400\n };\n }\n};\n//# sourceMappingURL=headerDescriptionStyles.js.map\n","export var imageStyles = {\n root: function root(_ref) {\n var props = _ref.props,\n variables = _ref.variables;\n return Object.assign({\n boxSizing: 'border-box',\n display: 'inline-block',\n verticalAlign: 'middle',\n width: props.fluid && '100%' || variables.width,\n height: variables.height || 'auto'\n }, props.circular && {\n borderRadius: variables.circularRadius\n }, props.avatar && {\n width: props.fluid && '100%' || variables.avatarSize,\n borderRadius: variables.avatarRadius\n });\n }\n};\n//# sourceMappingURL=imageStyles.js.map\n","import { pxToRem } from '../../../../utils';\nexport var inputStyles = {\n root: function root(_ref) {\n var p = _ref.props,\n v = _ref.variables;\n return Object.assign({\n flexDirection: 'column',\n justifyContent: 'center',\n display: 'inline-flex',\n position: 'relative',\n outline: 0,\n verticalAlign: 'middle'\n }, p.fluid && {\n width: '100%'\n }, p.labelPosition === 'inline' && {\n flexDirection: 'row',\n alignItems: 'center'\n });\n },\n input: function input(_ref2) {\n var p = _ref2.props,\n v = _ref2.variables;\n return Object.assign({\n backgroundColor: v.backgroundColor\n }, p.inverted && {\n backgroundColor: v.backgroundColorInverted\n }, {\n lineHeight: 'unset',\n color: v.fontColor,\n borderColor: v.borderColor,\n borderRadius: v.borderRadius,\n borderStyle: 'solid',\n borderWidth: v.borderWidth,\n outline: 'none',\n padding: v.inputPadding,\n position: 'relative'\n }, p.fluid && {\n width: '100%'\n }, p.inline && {\n float: 'left'\n }, p.disabled && {\n color: v.colorDisabled,\n boxShadow: 'none'\n }, {\n '::placeholder': Object.assign({\n color: v.placeholderColor,\n opacity: 1\n }, p.disabled && {\n color: v.colorDisabled\n }),\n ':focus': Object.assign({}, !p.error && {\n borderColor: v.inputFocusBorderColor\n })\n }, !p.hasValue && {\n ':-webkit-autofill:focus': {\n '-webkit-text-fill-color': 'transparent'\n }\n }, p.clearable && {\n padding: v.inputPaddingWithIconAtEnd\n }, p.hasIcon && {\n padding: p.iconPosition === 'start' ? v.inputPaddingWithIconAtStart : v.inputPaddingWithIconAtEnd\n }, p.labelPosition === 'inside' && {\n paddingTop: v.inputInsideLabelPaddingTop\n }, p.error && {\n border: pxToRem(1) + \" solid \" + v.borderColorError\n }, {\n '::-ms-clear': {\n display: 'none'\n }\n });\n },\n icon: function icon(_ref3) {\n var p = _ref3.props,\n v = _ref3.variables;\n return Object.assign({\n color: v.iconColor,\n outline: 0,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n position: v.iconPosition,\n top: 0,\n bottom: 0\n }, p.error && {\n color: v.colorError\n }, p.requiredAndSuccessful && {\n color: v.successfulColor\n }, p.disabled && {\n color: v.colorDisabled\n }, p.iconPosition === 'start' && {\n left: v.iconLeft\n }, p.iconPosition === 'end' && {\n right: v.iconRight\n }, p.clearable && p.hasValue && Object.assign({\n height: '100%',\n width: pxToRem(16),\n color: v.iconColor\n }, p.disabled && {\n color: v.colorDisabled\n }));\n },\n inputContainer: function inputContainer() {\n return {\n position: 'relative'\n };\n }\n};\n//# sourceMappingURL=inputStyles.js.map\n","export var inputLabelStyles = {\n root: function root(_ref) {\n var p = _ref.props,\n v = _ref.variables;\n return Object.assign({\n display: 'block',\n transition: 'all .2s',\n lineHeight: v.lineHeight,\n marginBottom: v.marginBottom\n }, p.labelPosition === 'inside' && Object.assign({\n bottom: v.insideLabelBottom,\n top: 0,\n left: 0,\n margin: 0,\n position: 'absolute',\n display: 'flex',\n alignItems: 'center',\n zIndex: 100,\n paddingLeft: v.insideLabelPaddingLeft\n }, p.hasValue && {\n transform: 'translateY(-16px)',\n fontSize: v.insideLabelActiveFontSize\n }), p.labelPosition === 'inline' && {\n paddingRight: v.inlineLabelPaddingRight\n }, p.required && {\n '::after': {\n content: '\"*\"'\n }\n });\n }\n};\n//# sourceMappingURL=inputLabelStyles.js.map\n","import { pxToRem } from '../../../../utils';\nexport var labelStyles = {\n root: function root(_ref) {\n var p = _ref.props,\n v = _ref.variables;\n return Object.assign({\n display: 'inline-flex',\n alignItems: 'center',\n overflow: 'hidden',\n height: v.height,\n lineHeight: v.height,\n color: v.foreground,\n backgroundColor: v.background,\n fontSize: pxToRem(14),\n borderRadius: pxToRem(3),\n padding: v.padding\n }, p.hasImage && (p.imagePosition === 'start' ? {\n paddingLeft: v.startPaddingLeft\n } : {\n paddingRight: v.endPaddingRight\n }), p.circular && {\n borderRadius: v.circularRadius\n }, p.color === 'black' && {\n color: v.blackForeground,\n backgroundColor: v.blackBackground\n }, p.color === 'white' && {\n color: v.whiteForeground,\n backgroundColor: v.whiteBackground\n }, p.color === 'brand' && {\n color: v.brandForeground,\n backgroundColor: v.brandBackground\n }, p.color === 'grey' && {\n color: v.greyForeground,\n backgroundColor: v.greyBackground\n }, p.color === 'orange' && {\n color: v.orangeForeground,\n backgroundColor: v.orangeBackground\n }, p.color === 'red' && {\n color: v.redForeground,\n backgroundColor: v.redBackground\n }, p.color === 'green' && {\n color: v.greenForeground,\n backgroundColor: v.greenBackground\n }, p.color === 'yellow' && {\n color: v.yellowForeground,\n backgroundColor: v.yellowBackground\n });\n },\n content: function content(_ref2) {\n var p = _ref2.props,\n v = _ref2.variables;\n var hasStartElement = p.hasImage && p.imagePosition === 'start' || p.hasIcon && p.iconPosition === 'start';\n var hasEndElement = p.hasImage && p.imagePosition === 'end' || p.hasIcon && p.iconPosition === 'end';\n return Object.assign({}, hasStartElement && {\n marginLeft: pxToRem(3)\n }, !hasStartElement && p.circular && {\n marginLeft: pxToRem(4)\n }, hasEndElement && {\n marginRight: pxToRem(3)\n }, !hasEndElement && p.circular && {\n marginRight: pxToRem(4)\n });\n },\n image: function image(_ref3) {\n var v = _ref3.variables;\n return {\n height: v.height,\n width: v.height\n };\n },\n icon: function icon(_ref4) {\n var p = _ref4.props,\n v = _ref4.variables;\n return Object.assign({\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: v.iconSize,\n height: v.iconSize,\n '& > :first-child': {\n height: '100%',\n width: '100%',\n '& svg': {\n height: '100%',\n width: '100%'\n }\n }\n }, p.hasActionableIcon && {\n cursor: 'pointer'\n });\n }\n};\n//# sourceMappingURL=labelStyles.js.map\n","import { pxToRem } from '../../../../utils';\nvar rootFlexDirections = {\n above: 'column-reverse',\n below: 'column',\n start: 'row-reverse',\n end: 'row'\n};\nexport var loaderStyles = {\n root: function root(_ref) {\n var p = _ref.props;\n return {\n alignItems: 'center',\n display: p.inline ? 'inline-flex' : 'flex',\n justifyContent: 'center',\n flexDirection: rootFlexDirections[p.labelPosition]\n };\n },\n indicator: function indicator(_ref2) {\n var p = _ref2.props,\n v = _ref2.variables;\n return {\n height: v.containerHeights[p.size],\n width: v.containerWidths[p.size],\n overflow: 'hidden'\n };\n },\n svg: function svg(_ref3) {\n var p = _ref3.props,\n t = _ref3.theme,\n v = _ref3.variables;\n var outerAnimation = {\n animationName: {\n to: {\n opacity: 1\n }\n },\n animationDelay: '1.5s',\n animationDirection: 'normal',\n animationDuration: '.3s',\n animationFillMode: 'both',\n animationIterationCount: '1',\n animationPlayState: 'running',\n animationTimingFunction: 'ease-out',\n display: 'block',\n overflow: 'hidden',\n position: 'relative'\n };\n var svgAnimation = {\n animationName: {\n to: {\n transform: \"translate3d(0, \" + v.svgTranslatePosition[p.size] + \", 0)\"\n }\n },\n animationDelay: '0s',\n animationDirection: 'normal',\n animationDuration: '2s',\n animationFillMode: 'both',\n animationPlayState: 'running',\n animationTimingFunction: 'steps(60, end)',\n animationIterationCount: 'infinite'\n };\n return Object.assign({}, outerAnimation, {\n ':before': Object.assign({}, svgAnimation, {\n backgroundImage: v.svgContent,\n content: '\" \"',\n display: 'block',\n overflow: 'hidden',\n height: v.svgHeights[p.size],\n width: v.svgWidths[p.size]\n })\n });\n },\n label: function label() {\n return {\n margin: pxToRem(10)\n };\n }\n};\n//# sourceMappingURL=loaderStyles.js.map\n","import { debugRoot } from '../../../../styles/debugStyles';\nexport var listStyles = {\n root: function root(_ref) {\n var p = _ref.props;\n return Object.assign({}, p.debug && debugRoot(), {\n display: p.horizontal ? 'inline-flex' : 'block'\n }, p.isListTag && {\n listStyle: 'none',\n padding: 0,\n margin: 0\n });\n }\n};\n//# sourceMappingURL=listStyles.js.map\n","import { screenReaderContainerStyles } from '../../../../utils/accessibility/Styles/accessibilityStyles';\nimport { listItemContentClassName } from '../../../../components/List/ListItemContent';\nimport { listItemContentMediaClassName } from '../../../../components/List/ListItemContentMedia';\nimport { listItemEndMediaClassName } from '../../../../components/List/ListItemEndMedia';\nimport { listItemHeaderClassName } from '../../../../components/List/ListItemHeader';\nimport { listItemHeaderMediaClassName } from '../../../../components/List/ListItemHeaderMedia';\nimport { getBorderFocusStyles } from '../../getBorderFocusStyles';\n\nvar selectableHoverStyle = function selectableHoverStyle(p, v) {\n var _ref;\n\n return _ref = {\n background: v.selectableFocusHoverBackgroundColor,\n color: v.selectableFocusHoverColor,\n cursor: 'pointer'\n }, _ref[\"& .\" + listItemHeaderClassName] = {\n color: 'inherit'\n }, _ref[\"& .\" + listItemContentClassName] = {\n color: 'inherit'\n }, _ref[\"& .\" + listItemHeaderMediaClassName] = Object.assign({}, screenReaderContainerStyles, {\n color: 'inherit'\n }), _ref[\"& .\" + listItemContentMediaClassName] = {\n display: 'none',\n color: 'inherit'\n }, _ref[\"& .\" + listItemEndMediaClassName] = {\n display: 'block',\n color: 'inherit'\n }, _ref;\n};\n\nvar selectedStyle = function selectedStyle(variables) {\n return {\n background: variables.selectedBackgroundColor,\n color: variables.selectedColor\n };\n};\n\nexport var listItemStyles = {\n root: function root(_ref2) {\n var _Object$assign;\n\n var p = _ref2.props,\n v = _ref2.variables,\n siteVariables = _ref2.theme.siteVariables;\n var borderFocusStyles = getBorderFocusStyles({\n variables: siteVariables\n });\n return Object.assign({\n display: 'flex',\n alignItems: 'center',\n minHeight: v.minHeight,\n padding: v.rootPadding\n }, (p.selectable || p.navigable) && Object.assign((_Object$assign = {\n position: 'relative'\n }, _Object$assign[\"& .\" + listItemEndMediaClassName] = {\n display: 'none'\n }, _Object$assign['&:hover'] = selectableHoverStyle(p, v), _Object$assign[':focus'] = borderFocusStyles[':focus'], _Object$assign[':focus-visible'] = Object.assign({}, borderFocusStyles[':focus-visible'], {\n zIndex: v.zIndex\n }), _Object$assign), p.selected && selectedStyle(v)), p.important && {\n fontWeight: v.importantFontWeight\n });\n },\n headerWrapper: function headerWrapper() {\n return {\n display: 'flex'\n };\n },\n contentWrapper: function contentWrapper() {\n return {\n display: 'flex'\n };\n },\n main: function main() {\n return {\n display: 'flex',\n flexDirection: 'column',\n flexGrow: 1,\n minWidth: 0 // needed for the truncate styles to work\n\n };\n }\n};\n//# sourceMappingURL=listItemStyles.js.map\n","export var listItemContentStyles = {\n root: function root(_ref) {\n var p = _ref.props,\n v = _ref.variables;\n return Object.assign({\n flexGrow: 1,\n fontSize: v.contentFontSize,\n lineHeight: v.contentLineHeight\n }, p.truncate && {\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap'\n }, (!p.hasHeader || p.hasContentMedia) && {\n marginRight: v.gap\n });\n }\n};\n//# sourceMappingURL=listItemContentStyles.js.map\n","export var listItemEndMediaStyles = {\n root: function root(_ref) {\n var p = _ref.props;\n return Object.assign({\n flexShrink: 0\n }, (p.selectable || p.navigable) && {\n display: 'none'\n });\n }\n};\n//# sourceMappingURL=listItemEndMediaStyles.js.map\n","export var listItemHeaderStyles = {\n root: function root(_ref) {\n var p = _ref.props,\n v = _ref.variables;\n return Object.assign({\n flexGrow: 1,\n fontSize: v.headerFontSize,\n lineHeight: v.headerLineHeight\n }, p.truncate && {\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap'\n }, (!p.hasContent || p.hasHeaderMedia) && {\n marginRight: v.gap\n });\n }\n};\n//# sourceMappingURL=listItemHeaderStyles.js.map\n","import { pxToRem } from '../../../../utils';\nexport var listItemMediaStyles = {\n root: function root(_ref) {\n var p = _ref.props,\n v = _ref.variables;\n return Object.assign({}, p.important && {\n '::before': {\n content: '\"\"',\n position: 'absolute',\n left: pxToRem(8),\n width: pxToRem(2),\n height: pxToRem(2),\n background: '#000'\n }\n }, (p.hasHeader || p.hasContent) && {\n marginRight: v.gap\n });\n }\n};\n//# sourceMappingURL=listItemMediaStyles.js.map\n","import { pxToRem } from '../../../../utils';\nimport { getColorScheme } from '../../colors';\nexport var menuStyles = {\n root: function root(_ref) {\n var p = _ref.props,\n v = _ref.variables;\n var iconOnly = p.iconOnly,\n fluid = p.fluid,\n pointing = p.pointing,\n pills = p.pills,\n primary = p.primary,\n underlined = p.underlined,\n vertical = p.vertical,\n submenu = p.submenu;\n var colors = getColorScheme(v.colorScheme, null, primary);\n return Object.assign({\n display: 'flex',\n minHeight: pxToRem(24),\n margin: 0,\n padding: 0,\n color: v.color,\n backgroundColor: v.backgroundColor || 'inherit',\n listStyleType: 'none'\n }, iconOnly && {\n alignItems: 'center'\n }, vertical && Object.assign({\n flexDirection: 'column',\n backgroundColor: v.verticalBackgroundColor,\n padding: pxToRem(8) + \" 0\"\n }, submenu && {\n boxShadow: v.verticalBoxShadow\n }, !fluid && !submenu && {\n width: 'fit-content'\n }, iconOnly && {\n display: 'inline-block',\n width: 'auto'\n }), !pills && !iconOnly && !(pointing && vertical) && !underlined && {\n // primary has hardcoded grey border color\n border: v.borderWidth + \" solid \" + (primary ? v.primaryBorderColor : v.borderColor || colors.border),\n borderRadius: pxToRem(4)\n }, underlined && {\n borderBottom: v.underlinedBottomBorderWidth + \" solid \" + v.underlinedBorderColor\n });\n }\n};\n//# sourceMappingURL=menuStyles.js.map\n","import { pxToRem } from '../../../../utils';\nexport var menuItemIconStyles = {\n root: function root(_ref) {\n var p = _ref.props,\n v = _ref.variables;\n return Object.assign({\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: v.iconSize,\n height: v.iconSize,\n '& > :first-child': {\n height: '100%',\n width: '100%',\n '& svg': {\n height: '100%',\n width: '100%'\n }\n }\n }, p.hasContent && {\n marginRight: pxToRem(10)\n }, !p.iconOnly && {\n // reduce margins so text has the dominant influence on the vertical height\n marginTop: 0,\n marginBottom: pxToRem(-8),\n verticalAlign: 'top'\n });\n }\n};\n//# sourceMappingURL=menuItemIconStyles.js.map\n","import { pxToRem } from '../../../../utils';\nexport var menuItemContentStyles = {\n root: function root(_ref) {\n var p = _ref.props;\n var widthAdjust = (p.hasIcon ? 26 : 0) + (p.hasMenu ? 16 : 0);\n return Object.assign({\n whiteSpace: 'normal',\n lineHeight: 1.5,\n marginTop: pxToRem(-4),\n marginBottom: pxToRem(-4),\n display: 'inline-block'\n }, (p.inSubmenu || p.vertical) && {\n width: 'max-content',\n minWidth: pxToRem(46 - widthAdjust),\n maxWidth: pxToRem(262 - widthAdjust),\n marginRight: pxToRem(16)\n });\n }\n};\n//# sourceMappingURL=menuItemContentStyles.js.map\n","import { pxToRem } from '../../../../utils';\nimport { submenuIndicatorUrl, submenuIndicatorDirection } from './submenuIndicatorUrl';\nexport var menuItemIndicatorStyles = {\n root: function root(_ref) {\n var p = _ref.props,\n v = _ref.variables,\n rtl = _ref.rtl;\n return Object.assign({\n position: 'relative',\n float: 'right',\n left: pxToRem(12),\n userSelect: 'none',\n marginRight: pxToRem(4)\n }, p.inSubmenu && {\n position: 'absolute',\n top: pxToRem(6),\n right: pxToRem(2),\n left: 'unset'\n }, {\n content: '\" \"',\n display: 'block',\n overflow: 'hidden',\n height: pxToRem(16),\n width: pxToRem(16),\n backgroundSize: pxToRem(16),\n backgroundImage: submenuIndicatorUrl(v.indicatorColor)\n }, p.active && Object.assign({\n backgroundImage: submenuIndicatorUrl(v.activeIndicatorColor)\n }, p.primary && Object.assign({\n backgroundImage: submenuIndicatorUrl(v.activePrimaryIndicatorColor)\n }, p.vertical && {\n backgroundImage: submenuIndicatorUrl(v.activePrimaryVerticalIndicatorColor)\n })), p.underlined && {\n backgroundImage: submenuIndicatorUrl(v.indicatorColor)\n }, p.iconOnly && {\n backgroundImage: submenuIndicatorUrl(v.indicatorColor)\n }, submenuIndicatorDirection(p.vertical, rtl));\n }\n};\n//# sourceMappingURL=menuItemIndicatorStyles.js.map\n","import { pxToRem } from '../../../../utils';\nimport { menuItemClassName } from '../../../../components/Menu/MenuItem';\nimport { menuItemIndicatorClassName } from '../../../../components/Menu/MenuItemIndicator';\nimport { getColorScheme } from '../../colors';\nimport { submenuIndicatorUrl, submenuIndicatorDirection } from './submenuIndicatorUrl';\nimport { horizontalPillsRightMargin, verticalPillsBottomMargin, pointingBeak, getFocusedStyles } from './menuItemStyles';\nexport var menuItemWrapperStyles = {\n root: function root(_ref) {\n var _Object$assign;\n\n var props = _ref.props,\n v = _ref.variables,\n rtl = _ref.rtl;\n var active = props.active,\n disabled = props.disabled,\n iconOnly = props.iconOnly,\n isFromKeyboard = props.isFromKeyboard,\n pills = props.pills,\n pointing = props.pointing,\n secondary = props.secondary,\n underlined = props.underlined,\n vertical = props.vertical,\n primary = props.primary,\n on = props.on;\n var colors = getColorScheme(v.colorScheme, null, primary);\n return Object.assign({\n color: 'inherit',\n lineHeight: 1,\n position: 'relative',\n verticalAlign: 'middle',\n display: 'block'\n }, secondary && {\n background: 'salmon'\n }, vertical && {\n border: \"solid \" + v.verticalItemBorderWidth + \" \" + v.verticalItemBorderColor\n }, pills && Object.assign({}, vertical ? {\n margin: \"0 0 \" + verticalPillsBottomMargin + \" 0\"\n } : {\n margin: \"0 \" + horizontalPillsRightMargin + \" 0 0\"\n }, {\n borderRadius: pxToRem(5)\n }), underlined && {\n display: 'flex',\n alignItems: 'center',\n height: pxToRem(29),\n lineHeight: v.lineHeightBase,\n padding: \"0 \" + pxToRem(4),\n margin: \"0 \" + pxToRem(4) + \" 0 0\",\n ':nth-child(n+2)': {\n marginLeft: \"\" + pxToRem(4)\n },\n boxShadow: 'none'\n }, !vertical && !pills && !underlined && !iconOnly && {\n boxShadow: \"-1px 0 0 0 \" + (primary ? v.primaryBorderColor : v.borderColor || colors.border) + \" inset\"\n }, active && Object.assign({\n color: v.wrapperColorActive\n }, !underlined && on !== 'hover' && Object.assign({\n background: v.backgroundColorActive || colors.backgroundActive\n }, iconOnly && {\n background: v.activeIconOnlyWrapperBackgroundColor\n }, !iconOnly && primary && {\n color: colors.foregroundActive\n }), underlined && {\n color: v.activeUnderlinedWrapperColor\n }, pointing && vertical && {\n '::before': Object.assign({\n content: \"''\",\n position: 'absolute',\n width: pxToRem(3),\n height: \"calc(100% + \" + pxToRem(4) + \")\",\n top: pxToRem(-2),\n backgroundColor: v.pointingIndicatorBackgroundColor\n }, isFromKeyboard && {\n display: 'none'\n }, pointing === 'end' ? {\n right: pxToRem(-2)\n } : {\n left: pxToRem(-2)\n })\n }, pointing && !vertical && Object.assign({}, pointingBeak({\n props: props,\n variables: v,\n colors: colors\n }))), isFromKeyboard && Object.assign({\n color: v.wrapperColorFocus\n }, !underlined && Object.assign({\n background: v.wrapperBackgroundColorFocus\n }, primary && {\n background: v.primaryWrapperBackgroundColorFocus,\n color: v.primaryWrapperColorFocus\n }), !iconOnly && !underlined && getFocusedStyles({\n props: props,\n variables: v,\n colors: colors\n }), iconOnly && {\n background: v.iconOnlyWrapperBackgroundColorFocus,\n color: v.iconOnlyColorActive\n }), {\n // hover styles\n ':hover': Object.assign({\n color: v.wrapperColorHover,\n background: v.backgroundColorHover || colors.backgroundHover\n }, active && {\n background: v.activeWrapperBackgroundColorHover\n }, vertical && {\n color: v.wrapperColorHover,\n background: v.backgroundColorHover || colors.backgroundHover\n }, primary && {\n color: v.primaryWrapperColorHover\n }, underlined && {\n color: v.underlinedWrapperColorHover,\n background: v.underlinedWrapperBackgroundHover\n }, iconOnly && {\n background: v.iconOnlyBackgroundColorHover,\n color: v.iconOnlyColorHover\n }, (_Object$assign = {}, _Object$assign[\"&>.\" + menuItemClassName + \">.\" + menuItemIndicatorClassName] = Object.assign({\n backgroundImage: submenuIndicatorUrl(v.indicatorColorHover)\n }, primary && {\n backgroundImage: submenuIndicatorUrl(v.primaryIndicatorColorHover)\n }, submenuIndicatorDirection(vertical, rtl)), _Object$assign))\n }, iconOnly && {\n display: 'flex'\n }, {\n ':first-child': Object.assign({}, !pills && !iconOnly && !(pointing && vertical) && !underlined && Object.assign({}, vertical && {\n '::before': {\n display: 'none'\n }\n }, !vertical && {\n borderBottomLeftRadius: pxToRem(3),\n borderTopLeftRadius: pxToRem(3)\n }))\n }, disabled && {\n color: v.colorDisabled || colors.foregroundDisabled,\n cursor: 'default',\n ':hover': {// empty - overwrite all existing hover styles\n }\n });\n }\n};\n//# sourceMappingURL=menuItemWrapperStyles.js.map\n","import { getColorScheme } from '../../colors';\nimport { verticalPillsBottomMargin, horizontalPillsRightMargin, verticalPointingBottomMargin } from './menuItemStyles';\nexport var menuDividerStyles = {\n root: function root(_ref) {\n var _Object$assign;\n\n var p = _ref.props,\n v = _ref.variables;\n var colors = getColorScheme(v.colorScheme, null, p.primary);\n var borderColor = p.primary ? v.primaryBorderColor : v.borderColor || colors.border;\n var borderType = p.vertical ? 'borderTop' : 'borderLeft';\n return Object.assign({}, p.pointing && p.vertical && {\n marginBottom: verticalPointingBottomMargin\n }, p.pills && Object.assign({}, p.vertical ? {\n margin: \"0 0 \" + verticalPillsBottomMargin + \" 0\"\n } : {\n margin: \"0 \" + horizontalPillsRightMargin + \" 0 0\"\n }), p.hasContent ? {\n display: 'flex',\n justifyContent: 'center',\n flexDirection: 'column',\n textAlign: 'center'\n } : Object.assign((_Object$assign = {}, _Object$assign[borderType] = \"1px solid \" + borderColor, _Object$assign), !p.vertical && {\n alignSelf: 'stretch'\n }, p.vertical && p.inSubmenu && {\n margin: '8px 0'\n }));\n }\n};\n//# sourceMappingURL=menuDividerStyles.js.map\n","import _keys from \"lodash/keys\";\nimport _invoke from \"lodash/invoke\";\nimport { AutoFocusZone, FocusTrapZone, getElementType, useAccessibility, useFluentContext, useStyles, useTelemetry, useUnhandledProps } from '@fluentui/react-bindings';\nimport * as customPropTypes from '@fluentui/react-proptypes';\nimport cx from 'classnames';\nimport * as PropTypes from 'prop-types';\nimport * as React from 'react';\nimport { childrenExist, createShorthandFactory, commonPropTypes, rtlTextContainer } from '../../utils';\nimport { getBasePlacement, AUTOSIZES } from '../../utils/positioner';\nexport var popupContentClassName = 'ui-popup__content';\nexport var popupContentSlotClassNames = {\n content: popupContentClassName + \"__content\"\n};\n/**\n * A PopupContent displays the content of a Popup component.\n */\n\nexport var PopupContent = /*#__PURE__*/function () {\n var PopupContent = function PopupContent(props) {\n var context = useFluentContext();\n\n var _useTelemetry = useTelemetry(PopupContent.displayName, context.telemetry),\n setStart = _useTelemetry.setStart,\n setEnd = _useTelemetry.setEnd;\n\n setStart();\n var accessibility = props.accessibility,\n autoFocus = props.autoFocus,\n children = props.children,\n className = props.className,\n content = props.content,\n design = props.design,\n placement = props.placement,\n pointing = props.pointing,\n pointerRef = props.pointerRef,\n styles = props.styles,\n trapFocus = props.trapFocus,\n variables = props.variables,\n autoSize = props.autoSize;\n var getA11yProps = useAccessibility(accessibility, {\n debugName: PopupContent.displayName,\n rtl: context.rtl\n });\n\n var _useStyles = useStyles(PopupContent.displayName, {\n className: popupContentClassName,\n mapPropsToStyles: function mapPropsToStyles() {\n return {\n basePlacement: getBasePlacement(placement, context.rtl),\n pointing: pointing,\n autoSize: autoSize\n };\n },\n mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n return {\n className: className,\n design: design,\n styles: styles,\n variables: variables\n };\n },\n rtl: context.rtl\n }),\n classes = _useStyles.classes;\n\n var ElementType = getElementType(props);\n var unhandledProps = useUnhandledProps(PopupContent.handledProps, props);\n\n var handleMouseEnter = function handleMouseEnter(e) {\n _invoke(props, 'onMouseEnter', e, props);\n };\n\n var handleMouseLeave = function handleMouseLeave(e) {\n _invoke(props, 'onMouseLeave', e, props);\n };\n\n var popupContentProps = getA11yProps('root', Object.assign({\n className: classes.root\n }, rtlTextContainer.getAttributes({\n forElements: [children, content]\n }), unhandledProps, {\n onMouseEnter: handleMouseEnter,\n onMouseLeave: handleMouseLeave\n }));\n var popupContent = /*#__PURE__*/React.createElement(React.Fragment, null, pointing && /*#__PURE__*/React.createElement(\"div\", {\n className: classes.pointer,\n ref: pointerRef\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: cx(popupContentSlotClassNames.content, classes.content)\n }, childrenExist(children) ? children : content));\n var element;\n\n if (trapFocus) {\n var focusTrapZoneProps = Object.assign({}, popupContentProps, _keys(trapFocus).length && trapFocus, {\n as: ElementType\n });\n element = /*#__PURE__*/React.createElement(FocusTrapZone, focusTrapZoneProps, popupContent);\n } else if (autoFocus) {\n var autoFocusZoneProps = Object.assign({}, popupContentProps, _keys(autoFocus).length && autoFocus, {\n as: ElementType\n });\n element = /*#__PURE__*/React.createElement(AutoFocusZone, autoFocusZoneProps, popupContent);\n } else {\n element = /*#__PURE__*/React.createElement(ElementType, popupContentProps, popupContent);\n }\n\n setEnd();\n return element;\n };\n\n PopupContent.displayName = 'PopupContent';\n PopupContent.propTypes = Object.assign({}, commonPropTypes.createCommon(), {\n placement: PropTypes.oneOf(['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start']),\n pointing: PropTypes.bool,\n onMouseEnter: PropTypes.func,\n onMouseLeave: PropTypes.func,\n pointerRef: customPropTypes.ref,\n trapFocus: PropTypes.oneOfType([PropTypes.bool, PropTypes.object]),\n autoFocus: PropTypes.oneOfType([PropTypes.bool, PropTypes.object]),\n autoSize: PropTypes.oneOf(AUTOSIZES)\n });\n PopupContent.handledProps = Object.keys(PopupContent.propTypes);\n PopupContent.create = createShorthandFactory({\n Component: PopupContent,\n mappedProp: 'content'\n });\n return PopupContent;\n}();\n//# sourceMappingURL=PopupContent.js.map\n","import { popupContentSlotClassNames } from '../../../../components/Popup/PopupContent';\nexport var menuButtonStyles = {\n root: function root() {\n return {\n boxSizing: 'border-box',\n display: 'inline-block'\n };\n },\n popupContent: function popupContent() {\n var _ref;\n\n return _ref = {}, _ref[\"& .\" + popupContentSlotClassNames.content] = {\n borderWidth: '0px',\n padding: '0px'\n }, _ref;\n }\n};\n//# sourceMappingURL=menuButtonStyles.js.map\n","import { getBorderFocusStyles } from '../../getBorderFocusStyles';\nexport var pillStyles = {\n root: function root(_ref) {\n var p = _ref.props,\n v = _ref.variables,\n siteVariables = _ref.theme.siteVariables;\n return Object.assign({\n display: 'inline-flex',\n width: 'fit-content',\n position: 'relative',\n height: v.height,\n maxHeight: v.height,\n borderRadius: v.borderRadius,\n background: v.background,\n margin: v.margin,\n minWidth: v.minWidth,\n ':hover': {\n background: v.backgroundHover\n }\n }, p.rectangular && Object.assign({\n borderRadius: v.roundedBorderRadius\n }, (p.size === 'small' || p.size === 'smaller') && {\n borderRadius: v.smallerRoundedBorderRadius\n }), p.size === 'smaller' && {\n minWidth: v.smallerMinWidth,\n margin: v.smallerMargin,\n height: v.smallerHeight,\n maxHeight: v.smallerHeight\n }, p.size === 'small' && {\n minWidth: v.smallMinWidth,\n margin: v.smallMargin,\n height: v.smallHeight,\n maxHeight: v.smallHeight\n }, p.disabled && {\n pointerEvents: 'none',\n cursor: 'not-allowed',\n background: v.disabledBackground,\n color: v.disabledColor,\n ':hover': {\n background: v.disabledBackground\n }\n }, p.appearance === 'outline' && Object.assign({\n borderWidth: '1px',\n borderStyle: 'solid',\n background: v.outlineBackground,\n borderColor: v.outlineBorderColor,\n ':hover': {\n background: v.outlineBackground\n }\n }, p.disabled && {\n borderColor: v.outlineDisabledborder\n }), p.appearance === 'inverted' && Object.assign({\n background: v.invertedBackground,\n ':hover': {\n background: v.invertedBackground\n }\n }, p.disabled && {\n background: v.disabledBackground\n }), p.selectable && Object.assign({\n cursor: 'pointer'\n }, p.selected && {\n background: 'transparent',\n boxShadow: \"inset \" + v.selectedIconColor + \" 0px 0px 0px 1px\"\n }), getBorderFocusStyles({\n variables: siteVariables\n }));\n }\n};\n//# sourceMappingURL=pillStyles.js.map\n","export var pillContentStyles = {\n root: function root(_ref) {\n var p = _ref.props,\n v = _ref.variables;\n return Object.assign({\n fontSize: v.contentFontSize,\n padding: v.contentPadding,\n alignSelf: 'center'\n }, p.size === 'small' && {\n fontSize: v.contentFontSizeSmall,\n padding: v.contentPaddingSmall\n }, p.size === 'smaller' && {\n fontSize: v.contentFontSizeSmaller,\n padding: v.contentPaddingSmaller\n }, p.actionable && {\n paddingRight: 0\n });\n }\n};\n//# sourceMappingURL=pillContentStyles.js.map\n","import { svgIconClassName } from '@fluentui/react-icons-northstar';\nexport var pillActionStyles = {\n root: function root(_ref) {\n var _Object$assign;\n\n var p = _ref.props,\n v = _ref.variables;\n return Object.assign({\n border: 'none',\n background: 'transparent',\n margin: v.actionMargin,\n width: v.actionWidth,\n cursor: 'pointer',\n outline: 'none'\n }, (p.size === 'small' || p.size === 'smaller') && {\n width: v.smallOrSmallerActionWidth\n }, (_Object$assign = {}, _Object$assign[\"& .\" + svgIconClassName] = {\n height: '100%',\n width: '100%',\n '& svg': {\n height: '100%',\n width: '100%'\n }\n }, _Object$assign));\n }\n};\n//# sourceMappingURL=pillActionStyles.js.map\n","export var pillImageStyles = {\n root: function root(_ref) {\n var p = _ref.props,\n v = _ref.variables;\n return Object.assign({\n width: v.imageWidth,\n height: v.imageHeight,\n borderRadius: '50%'\n }, p.size === 'small' && {\n width: v.smallImageWidth,\n height: v.smallImageHeight\n }, p.size === 'smaller' && {\n width: v.smallerImageWidth,\n height: v.smallerImageHeight\n });\n }\n};\n//# sourceMappingURL=pillImageStyles.js.map\n","import { svgIconClassName } from '@fluentui/react-icons-northstar';\nexport var pillIconStyles = {\n root: function root(_ref) {\n var _Object$assign;\n\n var p = _ref.props,\n v = _ref.variables;\n return Object.assign({\n border: 'none',\n background: 'transparent',\n margin: v.iconMargin,\n width: v.iconWidth,\n cursor: 'pointer',\n outline: 'none'\n }, (p.size === 'small' || p.size === 'smaller') && {\n width: v.smallOrSmallerIconWidth\n }, p.selectable && p.hasImage && Object.assign({\n width: v.selectedImageIconWidth,\n height: v.selectedImageIconWidth,\n marginLeft: 0,\n color: v.selectedIconColor\n }, p.size === 'small' && {\n width: v.smallSelectedImageIconWidth,\n height: v.smallSelectedImageIconWidth\n }, p.size === 'smaller' && {\n width: v.smallerSelectedImageIconWidth,\n height: v.smallerSelectedImageIconWidth\n }), (_Object$assign = {}, _Object$assign[\"& .\" + svgIconClassName] = Object.assign({\n height: '100%',\n width: '100%'\n }, p.selectable && p.hasImage && {\n position: 'relative',\n // TODO: Remove this workaround once we have proper icon from designer\n '::after': {\n content: '\"\"',\n position: 'absolute',\n background: v.selectedIconCheckColor,\n left: '10%',\n top: '10%',\n borderRadius: '50%',\n width: '80%',\n height: '80%'\n }\n }, {\n '& svg': Object.assign({}, p.selectable && p.hasImage && {\n position: 'absolute'\n }, {\n zIndex: 100,\n height: '100%',\n width: '100%'\n })\n }), _Object$assign));\n }\n};\n//# sourceMappingURL=pillIconStyles.js.map\n","import { getContainerStyles, getPointerStyles } from '../../getPointerStyles';\nexport var popupContentStyles = {\n root: function root(_ref) {\n var p = _ref.props,\n v = _ref.variables;\n return Object.assign({\n display: 'block',\n zIndex: v.zIndex\n }, p.pointing && Object.assign({\n pointerEvents: 'none'\n }, getContainerStyles({\n placement: p.basePlacement,\n padding: v.pointerMargin\n })), p.autoSize && {\n // when autoSize is true, root will have inline style maxWidth and maxHeight set by popper\n display: 'flex',\n overflow: 'hidden'\n });\n },\n pointer: function pointer(_ref2) {\n var p = _ref2.props,\n v = _ref2.variables,\n rtl = _ref2.rtl;\n return getPointerStyles({\n backgroundColor: v.backgroundColor,\n borderColor: v.borderColor,\n borderSize: v.borderSize,\n gap: v.pointerGap,\n padding: v.pointerMargin,\n height: v.pointerHeight,\n width: v.pointerWidth,\n placement: p.basePlacement,\n rtl: rtl\n });\n },\n content: function content(_ref3) {\n var p = _ref3.props,\n v = _ref3.variables;\n return Object.assign({\n display: 'block',\n background: v.backgroundColor,\n color: v.color,\n boxShadow: v.boxShadow,\n border: v.borderSize + \" solid \" + v.borderColor,\n borderRadius: v.borderRadius,\n padding: v.padding,\n transform: 'rotate(360deg)'\n }, p.pointing && {\n pointerEvents: 'all'\n }, p.autoSize && {\n overflow: 'auto'\n });\n }\n};\n//# sourceMappingURL=popupContentStyles.js.map\n","import _invoke from \"lodash/invoke\";\nimport { radioGroupItemBehavior } from '@fluentui/accessibility';\nimport { Ref } from '@fluentui/react-component-ref';\nimport * as customPropTypes from '@fluentui/react-proptypes';\nimport * as React from 'react';\nimport * as PropTypes from 'prop-types';\nimport { createShorthandFactory, commonPropTypes, shouldPreventDefaultOnKeyDown } from '../../utils';\nimport { Box } from '../Box/Box';\nimport { useAutoControlled, getElementType, useAccessibility, useFluentContext, useStyles, useTelemetry, useUnhandledProps } from '@fluentui/react-bindings';\nimport { RadioButtonIcon } from '@fluentui/react-icons-northstar';\nexport var radioGroupItemClassName = 'ui-radiogroup__item';\nexport var radioGroupItemSlotClassNames = {\n indicator: radioGroupItemClassName + \"__indicator\",\n label: radioGroupItemClassName + \"__label\"\n};\n\n/**\n * A RadioGroupItem represents single input element within a RadioGroup.\n *\n * @accessibility\n * Radio items need to be grouped to correctly handle accessibility.\n */\nexport var RadioGroupItem = /*#__PURE__*/function () {\n var RadioGroupItem = function RadioGroupItem(props) {\n var context = useFluentContext();\n\n var _useTelemetry = useTelemetry(RadioGroupItem.displayName, context.telemetry),\n setStart = _useTelemetry.setStart,\n setEnd = _useTelemetry.setEnd;\n\n setStart();\n var label = props.label,\n checkedIndicator = props.checkedIndicator,\n indicator = props.indicator,\n disabled = props.disabled,\n vertical = props.vertical,\n className = props.className,\n design = props.design,\n styles = props.styles,\n variables = props.variables,\n shouldFocus = props.shouldFocus;\n var elementRef = React.useRef();\n var ElementType = getElementType(props);\n var unhandledProps = useUnhandledProps(RadioGroupItem.handledProps, props);\n\n var _useAutoControlled = useAutoControlled({\n defaultValue: props.defaultChecked,\n value: props.checked,\n initialValue: false\n }),\n checked = _useAutoControlled[0],\n setChecked = _useAutoControlled[1];\n\n var prevChecked = React.useRef(checked);\n\n var handleClick = function handleClick(e) {\n _invoke(props, 'onClick', e, props);\n\n setChecked(function (prevChecked) {\n return !prevChecked;\n });\n }; // This behavior is not conformant with native input radio, it was added to avoid breaking change\n // and it should be fixed to be conformant with native, only calling onChange when item is clicked (checked will always be true)\n\n\n React.useEffect(function () {\n if (prevChecked.current !== checked) {\n _invoke(props, 'onChange', undefined, Object.assign({}, props, {\n checked: checked\n }));\n\n prevChecked.current = checked;\n }\n });\n React.useEffect(function () {\n if (checked && shouldFocus) elementRef.current.focus();\n }, [checked, shouldFocus]);\n\n var _useStyles = useStyles(RadioGroupItem.displayName, {\n className: radioGroupItemClassName,\n mapPropsToStyles: function mapPropsToStyles() {\n return {\n vertical: vertical,\n disabled: disabled,\n checked: checked\n };\n },\n mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n return {\n className: className,\n design: design,\n styles: styles,\n variables: variables\n };\n },\n rtl: context.rtl\n }),\n classes = _useStyles.classes,\n resolvedStyles = _useStyles.styles;\n\n var getA11yProps = useAccessibility(props.accessibility, {\n debugName: RadioGroupItem.displayName,\n actionHandlers: {\n performClick: function performClick(e) {\n if (shouldPreventDefaultOnKeyDown(e)) {\n e.preventDefault();\n }\n\n handleClick(e);\n }\n },\n mapPropsToBehavior: function mapPropsToBehavior() {\n return {\n checked: checked,\n disabled: disabled\n };\n },\n rtl: context.rtl\n });\n\n var handleChange = function handleChange(e) {\n // RadioGroupItem component doesn't present any `input` component in markup, however all of our\n // components should handle events transparently.\n _invoke(props, 'onChange', e, Object.assign({}, props, {\n checked: checked\n }));\n };\n\n var element = getA11yProps.unstable_wrapWithFocusZone( /*#__PURE__*/React.createElement(Ref, {\n innerRef: elementRef\n }, /*#__PURE__*/React.createElement(ElementType, getA11yProps('root', Object.assign({\n className: classes.root,\n onClick: handleClick,\n onChange: handleChange\n }, unhandledProps)), Box.create(checked ? checkedIndicator : indicator, {\n defaultProps: function defaultProps() {\n return {\n className: radioGroupItemSlotClassNames.indicator,\n styles: resolvedStyles.indicator\n };\n }\n }), Box.create(label, {\n defaultProps: function defaultProps() {\n return {\n as: 'span',\n className: radioGroupItemSlotClassNames.label,\n styles: resolvedStyles.label\n };\n }\n }))));\n setEnd();\n return element;\n };\n\n RadioGroupItem.displayName = 'RadioGroupItem';\n RadioGroupItem.propTypes = Object.assign({}, commonPropTypes.createCommon({\n content: false\n }), {\n checked: PropTypes.bool,\n defaultChecked: PropTypes.bool,\n disabled: PropTypes.bool,\n indicator: customPropTypes.shorthandAllowingChildren,\n checkedIndicator: customPropTypes.shorthandAllowingChildren,\n label: customPropTypes.itemShorthand,\n name: PropTypes.string,\n onClick: PropTypes.func,\n onChange: PropTypes.func,\n shouldFocus: PropTypes.bool,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n vertical: PropTypes.bool\n });\n RadioGroupItem.defaultProps = {\n accessibility: radioGroupItemBehavior,\n indicator: /*#__PURE__*/React.createElement(RadioButtonIcon, {\n outline: true\n }),\n checkedIndicator: /*#__PURE__*/React.createElement(RadioButtonIcon, null)\n };\n RadioGroupItem.handledProps = Object.keys(RadioGroupItem.propTypes);\n RadioGroupItem.create = createShorthandFactory({\n Component: RadioGroupItem,\n mappedProp: 'label'\n });\n return RadioGroupItem;\n}();\n//# sourceMappingURL=RadioGroupItem.js.map\n","import { getColorScheme } from '../../colors';\nexport var segmentStyles = {\n root: function root(_ref) {\n var p = _ref.props,\n v = _ref.variables;\n var colors = getColorScheme(v.colorScheme, p.color);\n return Object.assign({\n borderColor: 'transparent',\n borderRadius: v.borderRadius,\n borderStyle: v.borderStyle,\n borderWidth: v.borderWidth,\n boxShadow: v.boxShadow,\n padding: v.padding,\n color: v.color,\n backgroundColor: v.backgroundColor\n }, p.color && {\n borderColor: colors.foreground\n }, p.inverted && {\n color: v.backgroundColor,\n backgroundColor: p.color ? colors.foreground : v.color\n }, p.disabled && Object.assign({\n boxShadow: 'none',\n borderColor: v.disabledBorderColor,\n color: v.disabledColor,\n backgroundColor: v.disabledBackgroundColor\n }, p.inverted && {\n color: v.disabledBackgroundColor,\n backgroundColor: v.disabledColor\n }));\n }\n};\n//# sourceMappingURL=segmentStyles.js.map\n","export var pulse = {\n from: {\n opacity: 1\n },\n '50%': {\n opacity: 0.5\n },\n to: {\n opacity: 1\n }\n};\nexport var wave = {\n '0%': {\n backgroundPosition: '-1200px 0'\n },\n '100%': {\n backgroundPosition: '1200px 0'\n }\n};\n//# sourceMappingURL=keyframes.js.map\n","import { compose } from '@fluentui/react-bindings';\nimport * as PropTypes from 'prop-types';\nimport { commonPropTypes } from '../../utils';\nimport { Box } from '../Box/Box';\nexport var skeletonLineClassName = 'ui-skeleton__line';\n/**\n * A SkeletonLine represents a text line that will be loaded\n */\n\nexport var SkeletonLine = /*#__PURE__*/function () {\n var SkeletonLine = compose(Box, {\n className: skeletonLineClassName,\n displayName: 'SkeletonLine',\n overrideStyles: true,\n shorthandConfig: {},\n handledProps: ['width', 'height'],\n mapPropsToStylesProps: function mapPropsToStylesProps(_ref) {\n var width = _ref.width,\n height = _ref.height;\n return {\n width: width,\n height: height\n };\n }\n });\n SkeletonLine.propTypes = Object.assign({}, commonPropTypes.createCommon(), {\n width: PropTypes.string,\n height: PropTypes.string\n });\n SkeletonLine.defaultProps = {\n as: 'span',\n width: '100%',\n height: '1rem'\n };\n return SkeletonLine;\n}();\n//# sourceMappingURL=SkeletonLine.js.map\n","import * as PropTypes from 'prop-types';\nimport { compose } from '@fluentui/react-bindings';\nimport { commonPropTypes } from '../../utils';\nimport { Box } from '../Box/Box';\nexport var skeletonShapeClassName = 'ui-skeleton__shape';\n/**\n * A SkeletonShape represents a shape (Image/Button/etc...) that will be loaded\n */\n\nexport var SkeletonShape = /*#__PURE__*/function () {\n var SkeletonShape = compose(Box, {\n className: skeletonShapeClassName,\n displayName: 'SkeletonShape',\n overrideStyles: true,\n shorthandConfig: {},\n handledProps: ['round', 'width', 'height'],\n mapPropsToStylesProps: function mapPropsToStylesProps(_ref) {\n var width = _ref.width,\n height = _ref.height,\n round = _ref.round;\n return {\n width: width,\n height: height,\n round: round\n };\n }\n });\n SkeletonShape.propTypes = Object.assign({}, commonPropTypes.createCommon(), {\n width: PropTypes.string,\n height: PropTypes.string,\n round: PropTypes.bool\n });\n SkeletonShape.defaultProps = {\n as: 'span',\n width: '100px',\n height: '100px',\n round: false\n };\n return SkeletonShape;\n}();\n//# sourceMappingURL=SkeletonShape.js.map\n","import * as customPropTypes from '@fluentui/react-proptypes';\nimport * as PropTypes from 'prop-types';\nimport { compose } from '@fluentui/react-bindings';\nimport { commonPropTypes } from '../../utils';\nimport { SkeletonShape } from './SkeletonShape';\nexport var skeletonButtonClassName = 'ui-skeleton__button';\n/**\n * An SkeletonButton represents a buton component that will be loaded\n */\n\nexport var SkeletonButton = /*#__PURE__*/function () {\n var SkeletonButton = compose(SkeletonShape, {\n className: skeletonButtonClassName,\n displayName: 'SkeletonButton',\n overrideStyles: true,\n shorthandConfig: {},\n handledProps: ['size', 'circular', 'iconOnly', 'fluid'],\n mapPropsToStylesProps: function mapPropsToStylesProps(_ref) {\n var size = _ref.size,\n fluid = _ref.fluid,\n iconOnly = _ref.iconOnly,\n circular = _ref.circular;\n return {\n size: size,\n fluid: fluid,\n iconOnly: iconOnly,\n circular: circular\n };\n }\n });\n SkeletonButton.propTypes = Object.assign({}, commonPropTypes.createCommon(), {\n size: customPropTypes.size,\n circular: PropTypes.bool,\n iconOnly: PropTypes.bool,\n fluid: PropTypes.bool\n });\n SkeletonButton.defaultProps = {\n as: 'span',\n size: 'medium'\n };\n return SkeletonButton;\n}();\n//# sourceMappingURL=SkeletonButton.js.map\n","import * as PropTypes from 'prop-types';\nimport { compose } from '@fluentui/react-bindings';\nimport { commonPropTypes } from '../../utils';\nimport { SkeletonShape } from './SkeletonShape';\nexport var skeletonInputClassName = 'ui-skeleton__input';\n/**\n * An SkeletonInput represents a input component that will be loaded\n */\n\nexport var SkeletonInput = /*#__PURE__*/function () {\n var SkeletonInput = compose(SkeletonShape, {\n className: skeletonInputClassName,\n displayName: 'SkeletonInput',\n overrideStyles: true,\n shorthandConfig: {},\n handledProps: ['fluid'],\n mapPropsToStylesProps: function mapPropsToStylesProps(_ref) {\n var fluid = _ref.fluid;\n return {\n fluid: fluid\n };\n }\n });\n SkeletonInput.propTypes = Object.assign({}, commonPropTypes.createCommon(), {\n fluid: PropTypes.bool\n });\n SkeletonInput.defaultProps = {\n as: 'span'\n };\n return SkeletonInput;\n}();\n//# sourceMappingURL=SkeletonInput.js.map\n","import * as customPropTypes from '@fluentui/react-proptypes';\nimport { compose } from '@fluentui/react-bindings';\nimport { commonPropTypes } from '../../utils';\nimport { SkeletonShape } from './SkeletonShape';\nexport var skeletonAvatarClassName = 'ui-skeleton__avatar';\n/**\n * An SkeletonAvatar represents an avatar component that will be loaded\n */\n\nexport var SkeletonAvatar = /*#__PURE__*/function () {\n var SkeletonAvatar = compose(SkeletonShape, {\n className: skeletonAvatarClassName,\n displayName: 'SkeletonAvatar',\n overrideStyles: true,\n shorthandConfig: {},\n handledProps: ['size'],\n mapPropsToStylesProps: function mapPropsToStylesProps(_ref) {\n var size = _ref.size;\n return {\n size: size\n };\n }\n });\n SkeletonAvatar.propTypes = Object.assign({}, commonPropTypes.createCommon(), {\n size: customPropTypes.size\n });\n SkeletonAvatar.defaultProps = {\n as: 'span',\n size: 'medium'\n };\n return SkeletonAvatar;\n}();\n//# sourceMappingURL=SkeletonAvatar.js.map\n","import { getAnimations } from './utils/animations';\nexport var skeletonStyles = {\n root: function root(_ref) {\n var p = _ref.props,\n v = _ref.variables;\n var animations = getAnimations(v.animationBackground, v.animationBackgroundSecondary);\n return Object.assign({\n width: '100%'\n }, p.animation && animations[p.animation]);\n }\n};\n//# sourceMappingURL=skeletonStyles.js.map\n","export var skeletonShapeStyles = {\n root: function root(_ref) {\n var p = _ref.props,\n v = _ref.variables;\n return Object.assign({\n display: 'block',\n width: p.width,\n height: p.height,\n backgroundColor: v.shapeBackground,\n margin: v.shapeMargin\n }, p.round && {\n borderRadius: '50%'\n });\n }\n};\n//# sourceMappingURL=skeletonShapeStyles.js.map\n","export var skeletonButtonStyles = {\n root: function root(_ref) {\n var p = _ref.props,\n v = _ref.variables;\n return Object.assign({\n display: 'inline-block',\n background: v.buttonBackground,\n height: v.buttonHeight,\n width: v.buttonWidth\n }, p.size === 'small' && {\n height: v.buttonSmallHeight,\n width: v.buttonSmallWidth\n }, p.circular && Object.assign({\n width: v.buttonHeight,\n borderRadius: v.buttonCircularBorderRadius\n }, p.size === 'small' && {\n width: v.buttonSmallHeight\n }), p.iconOnly && Object.assign({\n width: v.buttonHeight\n }, p.size === 'small' && {\n width: v.buttonSmallHeight\n }), p.fluid && {\n width: '100%',\n maxWidth: '100%'\n });\n }\n};\n//# sourceMappingURL=skeletonButtonStyles.js.map\n","export var skeletonTextStyles = {\n root: function root(_ref) {\n var p = _ref.props,\n v = _ref.variables;\n return Object.assign({\n display: 'block',\n background: v.textBackground,\n height: v.textMediumHeight,\n width: v.textWidth\n }, p.size === 'smaller' && {\n height: v.textSmallerHeight\n }, p.size === 'small' && {\n height: v.textSmallHeight\n }, p.size === 'large' && {\n height: v.textLargeHeight\n }, p.size === 'larger' && {\n height: v.textLargerHeight\n });\n }\n};\n//# sourceMappingURL=skeletonTextStyles.js.map\n","export var skeletonInputStyles = {\n root: function root(_ref) {\n var p = _ref.props,\n v = _ref.variables;\n return Object.assign({\n flexDirection: 'column',\n justifyContent: 'center',\n display: 'inline-flex',\n position: 'relative',\n height: v.inputHeight,\n width: v.inputWidth,\n background: v.inputBackground\n }, p.fluid && {\n width: '100%'\n });\n }\n};\n//# sourceMappingURL=skeletonInputStyles.js.map\n","export var skeletonAvatarStyles = {\n root: function root(_ref) {\n var p = _ref.props,\n v = _ref.variables;\n return Object.assign({\n display: 'inline-block',\n verticalAlign: 'middle',\n borderRadius: '50%',\n background: v.buttonBackground,\n height: v.avatarMedium,\n width: v.avatarMedium\n }, p.size === 'smallest' && {\n height: v.avatarSmallest,\n width: v.avatarSmallest\n }, p.size === 'smaller' && {\n height: v.avatarSmaller,\n width: v.avatarSmaller\n }, p.size === 'small' && {\n height: v.avatarSmall,\n width: v.avatarSmall\n }, p.size === 'large' && {\n height: v.avatarLarge,\n width: v.avatarLarge\n }, p.size === 'larger' && {\n height: v.avatarLarger,\n width: v.avatarLarger\n }, p.size === 'largest' && {\n height: v.avatarLargest,\n width: v.avatarLargest\n });\n }\n};\n//# sourceMappingURL=skeletonAvatarStyles.js.map\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _invoke from \"lodash/invoke\";\nimport _get from \"lodash/get\";\nimport _toNumber from \"lodash/toNumber\";\nimport { sliderBehavior } from '@fluentui/accessibility';\nimport { getElementType, useUnhandledProps, useAccessibility, useStateManager, useFluentContext, useStyles, useTelemetry } from '@fluentui/react-bindings';\nimport { handleRef, Ref } from '@fluentui/react-component-ref';\nimport * as customPropTypes from '@fluentui/react-proptypes';\nimport { createSliderManager } from '@fluentui/state';\nimport cx from 'classnames';\nimport * as PropTypes from 'prop-types';\nimport * as React from 'react';\nimport { commonPropTypes, partitionHTMLProps, setWhatInputSource, createShorthandFactory } from '../../utils';\nimport { Box } from '../Box/Box';\n\nvar processInputValues = function processInputValues(p) {\n var min = _toNumber(p.min);\n\n var max = _toNumber(p.max);\n\n var value = _toNumber(p.value);\n\n if (isNaN(min)) min = Number(Slider.defaultProps.min);\n if (isNaN(max)) max = Number(Slider.defaultProps.max);\n value = isNaN(value) ? min + (max - min) / 2 : Math.min(max, Math.max(min, value));\n var valueAsPercentage = 100 * (value - min) / (max - min) + \"%\";\n return {\n min: min,\n max: max,\n value: value,\n valueAsPercentage: valueAsPercentage\n };\n};\n\nexport var sliderClassName = 'ui-slider';\nexport var sliderSlotClassNames = {\n input: sliderClassName + \"__input\",\n inputWrapper: sliderClassName + \"__input-wrapper\",\n rail: sliderClassName + \"__rail\",\n thumb: sliderClassName + \"__thumb\",\n track: sliderClassName + \"__track\"\n};\n/**\n * A Slider represents an input that allows user to choose a value from within a specific range.\n *\n * @accessibility\n * Implements [ARIA Slider](https://www.w3.org/TR/wai-aria-practices-1.1/#slider) design pattern.\n * @accessibilityIssues\n * [Slider - JAWS narrates slider value twice when using PageUp / PageDown](https://github.com/FreedomScientific/VFO-standards-support/issues/220)\n * [Slider - JAWS narrates current and new value in vertical slider](https://github.com/FreedomScientific/VFO-standards-support/issues/219)\n */\n\nexport var Slider = /*#__PURE__*/function () {\n var Slider = function Slider(props) {\n var _ref;\n\n var context = useFluentContext();\n\n var _useTelemetry = useTelemetry(Slider.displayName, context.telemetry),\n setStart = _useTelemetry.setStart,\n setEnd = _useTelemetry.setEnd;\n\n setStart();\n var accessibility = props.accessibility,\n min = props.min,\n max = props.max,\n value = props.value,\n getA11yValueMessageOnChange = props.getA11yValueMessageOnChange,\n defaultValue = props.defaultValue,\n input = props.input,\n userInputRef = props.inputRef,\n step = props.step,\n className = props.className,\n styles = props.styles,\n variables = props.variables,\n design = props.design,\n fluid = props.fluid,\n vertical = props.vertical,\n disabled = props.disabled;\n var inputRef = React.useRef();\n\n var _useStateManager = useStateManager(createSliderManager, {\n mapPropsToInitialState: function mapPropsToInitialState() {\n return {\n value: defaultValue\n };\n },\n mapPropsToState: function mapPropsToState() {\n return {\n value: value\n };\n }\n }),\n state = _useStateManager.state,\n actions = _useStateManager.actions;\n\n var _processInputValues = processInputValues({\n min: min,\n max: max,\n value: state.value || ''\n }),\n numericMin = _processInputValues.min,\n numericMax = _processInputValues.max,\n numericValue = _processInputValues.value,\n valueAsPercentage = _processInputValues.valueAsPercentage;\n\n var getA11Props = useAccessibility(accessibility, {\n debugName: Slider.displayName,\n rtl: context.rtl,\n mapPropsToBehavior: function mapPropsToBehavior() {\n return {\n disabled: disabled,\n getA11yValueMessageOnChange: getA11yValueMessageOnChange,\n max: numericMax,\n min: numericMax,\n value: numericValue,\n vertical: vertical\n };\n }\n });\n\n var _useStyles = useStyles(Slider.displayName, {\n className: sliderClassName,\n mapPropsToStyles: function mapPropsToStyles() {\n return {\n fluid: fluid,\n vertical: vertical,\n disabled: disabled\n };\n },\n mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n return {\n className: className,\n styles: styles,\n variables: variables,\n design: design\n };\n },\n rtl: context.rtl\n }),\n classes = _useStyles.classes,\n resolvedStyles = _useStyles.styles;\n\n var handleInputOverrides = function handleInputOverrides() {\n return {\n onChange: function onChange(e) {\n var value = _get(e, 'target.value');\n\n _invoke(props, 'onChange', e, Object.assign({}, props, {\n value: value\n }));\n\n actions.change(value);\n },\n onMouseDown: function onMouseDown(e) {\n setWhatInputSource(context.target, 'mouse');\n\n _invoke(props, 'onMouseDown', e, props);\n }\n };\n };\n\n var ElementType = getElementType(props);\n var unhandledProps = useUnhandledProps(Slider.handledProps, props);\n\n var _partitionHTMLProps = partitionHTMLProps(unhandledProps),\n htmlInputProps = _partitionHTMLProps[0],\n restProps = _partitionHTMLProps[1];\n\n var type = 'range'; // we need 2 wrappers around the slider rail, track, input and thumb slots to achieve correct component sizes\n\n var inputElement = Box.create(input || type, {\n defaultProps: function defaultProps() {\n return getA11Props('input', Object.assign({}, htmlInputProps, {\n as: 'input',\n className: sliderSlotClassNames.input,\n min: numericMin,\n max: numericMax,\n step: step,\n styles: resolvedStyles.input,\n type: type,\n value: numericValue\n }));\n },\n overrideProps: handleInputOverrides\n });\n var element = /*#__PURE__*/React.createElement(ElementType, getA11Props('root', Object.assign({\n className: classes.root\n }, restProps)), /*#__PURE__*/React.createElement(\"div\", getA11Props('inputWrapper', {\n className: cx(sliderSlotClassNames.inputWrapper, classes.inputWrapper)\n }), /*#__PURE__*/React.createElement(\"span\", getA11Props('rail', {\n className: cx(sliderSlotClassNames.rail, classes.rail)\n })), /*#__PURE__*/React.createElement(\"span\", _extends({}, getA11Props('track', {\n className: cx(sliderSlotClassNames.track, classes.track)\n }), {\n style: {\n width: valueAsPercentage\n }\n })), /*#__PURE__*/React.createElement(Ref, {\n innerRef: function innerRef(inputElement) {\n handleRef(inputRef, inputElement);\n handleRef(userInputRef, inputElement);\n }\n }, inputElement), /*#__PURE__*/React.createElement(\"span\", _extends({}, getA11Props('thumb', {\n className: cx(sliderSlotClassNames.thumb, classes.thumb)\n }), {\n style: (_ref = {}, _ref[context.rtl ? 'right' : 'left'] = valueAsPercentage, _ref)\n }))));\n setEnd();\n return element;\n };\n\n Slider.displayName = 'Slider';\n Slider.defaultProps = {\n accessibility: sliderBehavior,\n getA11yValueMessageOnChange: function getA11yValueMessageOnChange(_ref2) {\n var value = _ref2.value;\n return String(value);\n },\n max: 100,\n min: 0,\n step: 1\n };\n Slider.propTypes = Object.assign({}, commonPropTypes.createCommon({\n content: false\n }), {\n defaultValue: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n fluid: PropTypes.bool,\n getA11yValueMessageOnChange: PropTypes.func,\n input: customPropTypes.itemShorthand,\n inputRef: customPropTypes.ref,\n max: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n min: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n onChange: PropTypes.func,\n step: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n vertical: PropTypes.bool\n });\n Slider.handledProps = Object.keys(Slider.propTypes);\n Slider.create = createShorthandFactory({\n Component: Slider,\n mappedProp: 'value'\n });\n return Slider;\n}();\n//# sourceMappingURL=Slider.js.map\n","import { reactionSlotClassNames } from '../../../../components/Reaction/Reaction';\nimport { pxToRem } from '../../../../utils';\nvar contentClassNameSelector = \"& .\" + reactionSlotClassNames.content;\nexport var reactionStyles = {\n root: function root(_ref) {\n var _hover;\n\n var p = _ref.props,\n v = _ref.variables;\n return {\n cursor: 'pointer',\n background: 'transparent',\n border: pxToRem(0),\n padding: pxToRem(0),\n display: 'inline-flex',\n justifyContent: 'center',\n alignItems: 'center',\n color: v.meReacting ? v.meReactingColor : v.otherReactingColor,\n ':hover': (_hover = {\n color: v.meReacting ? v.meReactingColorHover : v.otherReactingColorHover\n }, _hover[contentClassNameSelector] = {\n fontWeight: v.fontWeightHover\n }, _hover),\n position: 'relative',\n ':focus': {\n outline: 'none'\n },\n ':focus-visible': {\n ':after': {\n content: '\"\"',\n position: 'absolute',\n top: \"-\" + pxToRem(2),\n right: \"-\" + pxToRem(2),\n bottom: \"-\" + pxToRem(2),\n left: \"-\" + pxToRem(2),\n borderWidth: '1px',\n borderStyle: 'solid',\n borderColor: v.borderColorFocus,\n borderRadius: pxToRem(2),\n boxShadow: \"0px 0px 0px 1px \" + v.boxShadowColor + \" inset\"\n }\n }\n };\n },\n icon: function icon(_ref2) {\n var p = _ref2.props;\n return {\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n marginRight: p.hasContent ? pxToRem(4) : pxToRem(0)\n };\n },\n content: function content(_ref3) {\n var v = _ref3.variables;\n return {\n fontSize: v.contentFontSize\n };\n }\n};\n//# sourceMappingURL=reactionStyles.js.map\n","import { pxToRem } from '../../../../utils';\n\nvar getBackgroundColor = function getBackgroundColor(state, variables) {\n switch (state) {\n case 'success':\n return variables.successBackgroundColor;\n\n case 'info':\n return variables.infoBackgroundColor;\n\n case 'warning':\n return variables.warningBackgroundColor;\n\n case 'error':\n return variables.errorBackgroundColor;\n\n case 'unknown':\n default:\n return variables.defaultBackgroundColor;\n }\n};\n\nvar getTextColor = function getTextColor(state, variables) {\n switch (state) {\n case 'success':\n return variables.successTextColor;\n\n case 'info':\n return variables.infoTextColor;\n\n case 'warning':\n return variables.warningTextColor;\n\n case 'error':\n return variables.errorTextColor;\n\n case 'unknown':\n default:\n return variables.defaultTextColor;\n }\n};\n\nvar sizeToPxValue = {\n smallest: 6,\n smaller: 10,\n small: 10,\n medium: 10,\n large: 10,\n larger: 16,\n largest: 0\n};\nexport var getSizeStyles = function getSizeStyles(sizeInPx, variables) {\n var borderWidth = variables.borderColor && variables.borderWidth || 0;\n var sizeInRem = pxToRem(sizeInPx + 2 * borderWidth);\n return {\n height: sizeInRem,\n width: sizeInRem\n };\n};\nexport var statusStyles = {\n root: function root(_ref) {\n var _ref$props = _ref.props,\n color = _ref$props.color,\n size = _ref$props.size,\n state = _ref$props.state,\n variables = _ref.variables;\n return Object.assign({\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center'\n }, getSizeStyles(sizeToPxValue[size], variables), {\n verticalAlign: 'middle',\n borderRadius: '9999px'\n }, variables.borderColor && {\n borderColor: variables.borderColor,\n borderWidth: pxToRem(variables.borderWidth),\n borderStyle: 'solid'\n }, {\n backgroundColor: color || getBackgroundColor(state, variables)\n });\n },\n icon: function icon(_ref2) {\n var state = _ref2.props.state,\n v = _ref2.variables;\n return {\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: v.iconSize,\n height: v.iconSize,\n color: getTextColor(state, v),\n '& > :first-child': {\n height: '100%',\n width: '100%',\n '& svg': {\n height: '100%',\n width: '100%'\n }\n }\n };\n }\n};\n//# sourceMappingURL=statusStyles.js.map\n","import { getBorderFocusStyles } from '../../getBorderFocusStyles';\nexport var splitButtonStyles = {\n menuButton: function menuButton(_ref) {\n var p = _ref.props,\n v = _ref.variables;\n return Object.assign({\n borderTopRightRadius: 0,\n borderBottomRightRadius: 0,\n borderRightWidth: 0,\n padding: v.padding,\n minWidth: v.minWidth\n }, p.size === 'small' && {\n height: v.smallDimension,\n padding: v.smallPadding,\n minWidth: v.smallMinWidth,\n boxShadow: v.smallBoxShadow\n }, {\n ':focus-visible': {\n borderRightWidth: 0,\n ':before': {\n borderRightWidth: 0\n },\n ':after': {\n borderRightWidth: 0\n }\n },\n ':active': {\n animationName: 'unset',\n animationDuration: 'unset'\n }\n });\n },\n root: function root(_ref2) {\n var p = _ref2.props,\n v = _ref2.variables,\n siteVariables = _ref2.theme.siteVariables;\n var borderFocusStyles = getBorderFocusStyles({\n variables: {\n borderRadius: v.focusBorderRadius,\n borderWidth: v.focusBorderWidth,\n focusInnerBorderColor: v.focusInnerBorderColor,\n focusOuterBorderColor: v.focusOuterBorderColor,\n zIndexes: {\n foreground: v.focusBorderZIndex\n }\n }\n });\n return {\n borderRadius: v.borderRadius,\n position: 'relative',\n whiteSpace: 'nowrap',\n display: 'inline-block',\n width: 'fit-content',\n ':focus-within': Object.assign({\n boxShadow: 'none'\n }, p.isFromKeyboard && Object.assign({}, borderFocusStyles[':focus-visible']))\n };\n }\n};\n//# sourceMappingURL=splitButtonStyles.js.map\n","import { getColorSchemeKey } from '../../colors';\nimport { translateAlignProp } from '../../../../styles/translateAlignProp';\nexport var textStyles = {\n root: function root(_ref) {\n var p = _ref.props,\n v = _ref.variables;\n var colors = v.colorScheme[getColorSchemeKey(p.color)];\n return Object.assign({}, p.color && {\n color: colors.foreground\n }, p.atMention === true && {\n color: v.atMentionOtherColor\n }, p.truncated && {\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap'\n }, p.disabled && {\n color: v.disabledColor\n }, p.error && {\n color: v.errorColor\n }, p.success && {\n color: v.successColor\n }, p.temporary && {\n fontStyle: 'italic'\n }, p.align && {\n display: 'block',\n textAlign: translateAlignProp(p.align)\n }, p.weight === 'light' && {\n fontWeight: v.fontWeightLight\n }, p.weight === 'semilight' && {\n fontWeight: v.fontWeightSemilight\n }, p.weight === 'regular' && {\n fontWeight: v.fontWeightRegular\n }, p.weight === 'semibold' && {\n fontWeight: v.fontWeightSemibold\n }, p.weight === 'bold' && {\n fontWeight: v.fontWeightBold\n }, p.size === 'smallest' && {\n fontSize: v.fontSizeSmallest,\n lineHeight: v.fontLineHeightSmallest\n }, p.size === 'smaller' && {\n fontSize: v.fontSizeSmaller,\n lineHeight: v.fontLineHeightSmaller\n }, p.size === 'small' && {\n fontSize: v.fontSizeSmall,\n lineHeight: v.fontLineHeightSmall\n }, p.size === 'medium' && {\n fontSize: v.fontSizeMedium,\n lineHeight: v.fontLineHeightMedium\n }, p.size === 'large' && {\n fontSize: v.fontSizeLarge,\n lineHeight: v.fontLineHeightLarge\n }, p.size === 'larger' && {\n fontSize: v.fontSizeLarger,\n lineHeight: v.fontLineHeightLarger\n }, p.size === 'largest' && {\n fontSize: v.fontSizeLargest,\n lineHeight: v.fontLineHeightLargest\n }, p.atMention === 'me' && {\n color: v.atMentionMeColor,\n fontWeight: v.atMentionMeFontWeight\n }, p.timestamp && {\n color: v.timestampColor\n }, p.important && {\n color: v.importantColor,\n fontWeight: v.importantWeight\n });\n }\n};\n//# sourceMappingURL=textStyles.js.map\n","import { pxToRem } from '../../../../utils';\nexport var textAreaStyles = {\n root: function root(_ref) {\n var p = _ref.props,\n v = _ref.variables;\n return Object.assign({\n margin: v.margin,\n height: v.height,\n backgroundColor: v.backgroundColor\n }, p.inverted && {\n backgroundColor: v.invertedBackgroundColor\n }, {\n color: v.fontColor,\n borderColor: v.borderColor,\n borderRadius: v.borderRadius,\n borderStyle: 'solid',\n borderWidth: v.borderWidth,\n outline: 0,\n padding: v.padding,\n resize: p.resize || 'none'\n }, p.fluid && {\n width: '100%'\n }, p.disabled && {\n pointerEvents: 'none',\n color: v.disabledColor,\n boxShadow: 'none'\n }, p.error && {\n border: pxToRem(1) + \" solid \" + v.borderColorError\n }, {\n '::placeholder': Object.assign({\n color: v.placeholderColor,\n opacity: 1\n }, p.disabled && {\n color: v.disabledColor\n }),\n ':focus': {\n borderColor: v.borderColorFocus\n }\n });\n }\n};\n//# sourceMappingURL=textAreaStyles.js.map\n","import { getColorScheme } from '../../colors';\nimport { getBorderFocusStyles } from '../../getBorderFocusStyles';\nexport var toolbarCustomItemStyles = {\n root: function root(_ref) {\n var p = _ref.props,\n v = _ref.variables,\n siteVariables = _ref.theme.siteVariables;\n var colors = getColorScheme(v.colorScheme);\n var borderWidth = siteVariables.borderWidth;\n var borderFocusStyles = getBorderFocusStyles({\n variables: siteVariables\n });\n return Object.assign({\n position: 'relative',\n backgroundColor: v.background,\n borderColor: 'transparent',\n borderWidth: borderWidth,\n borderStyle: 'solid',\n height: v.itemHeight,\n color: v.foreground || colors.foreground1,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center'\n }, p.fitted !== true && p.fitted !== 'horizontally' && {\n paddingLeft: v.customItemHorizontalPadding,\n paddingRight: v.customItemHorizontalPadding\n }, p.fitted !== true && p.fitted !== 'vertically' && {\n paddingTop: v.customItemVerticalPadding,\n paddingBottom: v.customItemVerticalPadding\n }, {\n ':focus': borderFocusStyles[':focus'],\n ':focus-visible': borderFocusStyles[':focus-visible']\n });\n }\n};\n//# sourceMappingURL=toolbarCustomItemStyles.js.map\n","import { getIconFillOrOutlineStyles } from '../../getIconFillOrOutlineStyles';\nimport { getColorScheme } from '../../colors';\nimport { getBorderFocusStyles } from '../../getBorderFocusStyles';\nexport var toolbarItemStyles = {\n root: function root(_ref) {\n var p = _ref.props,\n v = _ref.variables,\n siteVariables = _ref.theme.siteVariables;\n var colors = getColorScheme(v.colorScheme);\n var borderWidth = siteVariables.borderWidth;\n var borderFocusStyles = getBorderFocusStyles({\n variables: siteVariables\n });\n return Object.assign({\n position: 'relative',\n backgroundColor: v.background,\n borderWidth: borderWidth,\n borderStyle: 'solid',\n borderColor: 'transparent',\n borderRadius: v.borderRadius,\n height: v.itemHeight,\n minWidth: v.itemHeight,\n padding: v.itemPadding,\n color: v.foreground || colors.foreground1,\n cursor: 'pointer',\n ':focus': borderFocusStyles[':focus']\n }, p.active && Object.assign({\n color: v.foregroundActive || colors.foregroundActive,\n backgroundColor: v.backgroundActive\n }, getIconFillOrOutlineStyles({\n outline: false\n })), {\n ':hover': Object.assign({\n color: v.foregroundHover || colors.foregroundHover,\n backgroundColor: v.backgroundHover || colors.backgroundHover\n }, getIconFillOrOutlineStyles({\n outline: false\n })),\n ':focus-visible': borderFocusStyles[':focus-visible']\n }, p.disabled && {\n color: v.foregroundDisabled || colors.foregroundDisabled1,\n backgroundColor: v.backgroundDisabled,\n cursor: 'default',\n pointerEvents: 'none',\n ':hover': {// empty to overwrite all existing hover styles\n }\n });\n }\n};\n//# sourceMappingURL=toolbarItemStyles.js.map\n","import { compose } from '@fluentui/react-bindings';\nimport { commonPropTypes } from '../../utils';\nimport { Box } from '../Box/Box';\nexport var toolbarMenuItemSubmenuIndicatorClassName = 'ui-toolbar__menuitemsubmenuindicator';\n/**\n * A ToolbarMenuItemSubmenuIndicator allows a user to have a dedicated component that can be targeted from the theme.\n */\n\nexport var ToolbarMenuItemSubmenuIndicator = /*#__PURE__*/function () {\n var ToolbarMenuItemSubmenuIndicator = compose(Box, {\n className: toolbarMenuItemSubmenuIndicatorClassName,\n displayName: 'ToolbarMenuItemSubmenuIndicator',\n mapPropsToStylesProps: function mapPropsToStylesProps(props) {\n return {\n hasContent: props.hasContent\n };\n },\n shorthandConfig: {\n mappedProp: 'content'\n },\n overrideStyles: true\n });\n ToolbarMenuItemSubmenuIndicator.defaultProps = {\n as: 'span'\n };\n ToolbarMenuItemSubmenuIndicator.propTypes = commonPropTypes.createCommon();\n return ToolbarMenuItemSubmenuIndicator;\n}();\n//# sourceMappingURL=ToolbarMenuItemSubmenuIndicator.js.map\n","import { compose } from '@fluentui/react-bindings';\nimport { commonPropTypes } from '../../utils';\nimport { Box } from '../Box/Box';\nexport var toolbarMenuItemActiveIndicatorClassName = 'ui-toolbar__menuitemactiveindicator';\n/**\n * A ToolbarMenuItemActiveIndicator allows a user to have a dedicated component that can be targeted from the theme.\n */\n\nexport var ToolbarMenuItemActiveIndicator = /*#__PURE__*/function () {\n var ToolbarMenuItemActiveIndicator = compose(Box, {\n className: toolbarMenuItemActiveIndicatorClassName,\n displayName: 'ToolbarMenuItemActiveIndicator',\n shorthandConfig: {\n mappedProp: 'content'\n },\n overrideStyles: true\n });\n ToolbarMenuItemActiveIndicator.defaultProps = {\n as: 'span'\n };\n ToolbarMenuItemActiveIndicator.propTypes = commonPropTypes.createCommon();\n return ToolbarMenuItemActiveIndicator;\n}();\n//# sourceMappingURL=ToolbarMenuItemActiveIndicator.js.map\n","import { getColorScheme } from '../../colors';\nimport { getBorderFocusStyles } from '../../getBorderFocusStyles';\nimport { submenuIndicatorUrl } from './submenuIndicatorUrl';\nimport { activeIndicatorUrl } from './activeIndicatorUrl';\nimport { toolbarMenuItemSubmenuIndicatorClassName } from '../../../../components/Toolbar/ToolbarMenuItemSubmenuIndicator';\nimport { toolbarMenuItemActiveIndicatorClassName } from '../../../../components/Toolbar/ToolbarMenuItemActiveIndicator';\nexport var toolbarMenuItemStyles = {\n root: function root(_ref) {\n var _hover, _ref2;\n\n var p = _ref.props,\n v = _ref.variables,\n siteVariables = _ref.theme.siteVariables;\n var colors = getColorScheme(v.colorScheme);\n var borderFocusStyles = getBorderFocusStyles({\n variables: siteVariables,\n borderRadius: 0\n });\n return Object.assign({\n position: 'relative',\n color: v.menuItemForeground || colors.foreground1,\n borderWidth: v.menuBorderWidth,\n backgroundColor: 'transparent',\n borderColor: 'transparent',\n display: 'flex',\n alignItems: 'center',\n textAlign: 'left',\n width: '100%',\n maxWidth: '100%',\n padding: v.menuItemPadding,\n cursor: 'pointer',\n minHeight: v.itemHeight,\n lineHeight: v.lineHeightBase,\n ':focus': {\n outline: 0\n },\n ':hover': (_hover = {\n color: v.menuItemForegroundHover || colors.menuItemForegroundHover,\n backgroundColor: v.menuItemBackgroundHover || colors.menuItemBackgroundHover\n }, _hover[\"& .\" + toolbarMenuItemSubmenuIndicatorClassName] = {\n backgroundImage: submenuIndicatorUrl(v.menuItemForegroundHover || colors.menuItemForegroundHover)\n }, _hover[\"& .\" + toolbarMenuItemActiveIndicatorClassName] = {\n backgroundImage: activeIndicatorUrl(v.menuItemForegroundHover || colors.menuItemForegroundHover)\n }, _hover),\n ':focus-visible': borderFocusStyles[':focus-visible']\n }, p.disabled && (_ref2 = {\n cursor: 'default',\n color: v.menuItemForegroundDisabled || colors.foregroundDisabled1,\n backgroundColor: v.menuItemBackgroundDisabled\n }, _ref2[\"& .\" + toolbarMenuItemSubmenuIndicatorClassName] = {\n backgroundImage: submenuIndicatorUrl(v.menuItemForegroundDisabled || colors.foregroundDisabled1)\n }, _ref2[\"& .\" + toolbarMenuItemActiveIndicatorClassName] = {\n backgroundImage: activeIndicatorUrl(v.menuItemForegroundDisabled || colors.foregroundDisabled1)\n }, _ref2[':hover'] = {// empty to overwrite all existing hover styles\n }, _ref2));\n },\n wrapper: function wrapper() {\n return {\n display: 'block'\n };\n }\n};\n//# sourceMappingURL=toolbarMenuItemStyles.js.map\n","import { pxToRem } from '../../../../utils';\nexport var toolbarMenuItemIconStyles = {\n root: function root(_ref) {\n var p = _ref.props;\n return Object.assign({}, p.hasContent && {\n marginRight: pxToRem(10),\n marginTop: pxToRem(3),\n display: 'flex',\n alignSelf: 'start'\n });\n }\n};\n//# sourceMappingURL=toolbarMenuItemIconStyles.js.map\n","import { getColorScheme } from '../../colors';\nimport { pxToRem } from '../../../../utils';\nimport { submenuIndicatorUrl } from './submenuIndicatorUrl';\nexport var toolbarMenuItemSubmenuIndicatorStyles = {\n root: function root(_ref) {\n var v = _ref.variables,\n rtl = _ref.rtl;\n var colors = getColorScheme(v.colorScheme);\n return Object.assign({\n backgroundImage: submenuIndicatorUrl(v.menuItemForeground || colors.foreground1),\n backgroundPosition: 'center',\n backgroundRepeat: 'no-repeat'\n }, rtl && {\n transform: \"scaleX(-1)\"\n }, {\n width: pxToRem(16),\n height: '100%',\n position: 'absolute',\n right: pxToRem(7),\n top: 0\n });\n }\n};\n//# sourceMappingURL=toolbarMenuItemSubmenuIndicatorStyles.js.map\n","import _invoke from \"lodash/invoke\";\nimport { treeTitleBehavior } from '@fluentui/accessibility';\nimport { getElementType, useUnhandledProps, useAccessibility, useStyles, useFluentContext, useTelemetry } from '@fluentui/react-bindings';\nimport { Box } from '../Box/Box';\nimport * as customPropTypes from '@fluentui/react-proptypes';\nimport * as PropTypes from 'prop-types';\nimport * as React from 'react';\nimport { childrenExist, createShorthandFactory, commonPropTypes, rtlTextContainer, shouldPreventDefaultOnKeyDown } from '../../utils';\nimport { TreeContext } from './context';\nexport var treeTitleClassName = 'ui-tree__title';\nexport var treeTitleSlotClassNames = {\n indicator: treeTitleClassName + \"__selection-indicator\"\n};\n/**\n * A TreeTitle renders a title of TreeItem.\n */\n\nexport var TreeTitle = /*#__PURE__*/function () {\n var TreeTitle = function TreeTitle(props) {\n var context = useFluentContext();\n\n var _useTelemetry = useTelemetry(TreeTitle.displayName, context.telemetry),\n setStart = _useTelemetry.setStart,\n setEnd = _useTelemetry.setEnd;\n\n setStart();\n\n var _React$useContext = React.useContext(TreeContext),\n focusItemById = _React$useContext.focusItemById,\n toggleItemActive = _React$useContext.toggleItemActive,\n toggleItemSelect = _React$useContext.toggleItemSelect;\n\n var accessibility = props.accessibility,\n id = props.id,\n children = props.children,\n className = props.className,\n content = props.content,\n design = props.design,\n hasSubtree = props.hasSubtree,\n level = props.level,\n index = props.index,\n styles = props.styles,\n treeSize = props.treeSize,\n variables = props.variables,\n selectionIndicator = props.selectionIndicator,\n disabled = props.disabled,\n selected = props.selected,\n selectable = props.selectable,\n expanded = props.expanded,\n indeterminate = props.indeterminate;\n var getA11Props = useAccessibility(accessibility, {\n debugName: TreeTitle.displayName,\n actionHandlers: {\n performClick: function performClick(e) {\n if (shouldPreventDefaultOnKeyDown(e)) {\n e.preventDefault();\n }\n\n e.stopPropagation();\n handleClick(e);\n },\n focusParent: function focusParent(e) {\n // allow bubbling up to parent treeItem\n focusItemById(props.parent);\n }\n },\n mapPropsToBehavior: function mapPropsToBehavior() {\n return {\n hasSubtree: hasSubtree,\n level: level,\n index: index,\n treeSize: treeSize,\n selected: selected,\n selectable: selectable\n };\n },\n rtl: context.rtl\n });\n\n var _useStyles = useStyles(TreeTitle.displayName, {\n className: treeTitleClassName,\n mapPropsToStyles: function mapPropsToStyles() {\n return {\n selected: selected,\n disabled: disabled,\n selectable: selectable,\n indeterminate: indeterminate,\n level: level,\n showIndicator: selectable && (hasSubtree && expanded || selected || indeterminate)\n };\n },\n mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n return {\n className: className,\n design: design,\n styles: styles,\n variables: variables\n };\n },\n rtl: context.rtl\n }),\n classes = _useStyles.classes,\n resolvedStyles = _useStyles.styles;\n\n var ElementType = getElementType(props);\n var unhandledProps = useUnhandledProps(TreeTitle.handledProps, props);\n\n var handleClick = function handleClick(e) {\n if (hasSubtree) {\n toggleItemActive(e, id);\n } else {\n toggleItemSelect(e, id);\n }\n\n _invoke(props, 'onClick', e, props);\n };\n\n var selectionIndicatorOverrideProps = function selectionIndicatorOverrideProps(predefinedProps) {\n return {\n onClick: function onClick(e) {\n e.stopPropagation(); // otherwise onClick on title will also be executed\n\n if (selectable) {\n toggleItemSelect(e, id);\n }\n\n _invoke(predefinedProps, 'onClick', e);\n }\n };\n };\n\n var selectIndicator = Box.create(selectionIndicator, {\n defaultProps: function defaultProps() {\n return Object.assign({\n as: 'span',\n selected: selected\n }, getA11Props('indicator', {\n className: treeTitleSlotClassNames.indicator,\n styles: resolvedStyles.selectionIndicator\n }));\n },\n overrideProps: selectionIndicatorOverrideProps\n });\n var element = /*#__PURE__*/React.createElement(ElementType, getA11Props('root', Object.assign({\n className: classes.root,\n onClick: handleClick,\n selected: selected\n }, rtlTextContainer.getAttributes({\n forElements: [children, content]\n }), unhandledProps)), childrenExist(children) ? children : content, selectIndicator);\n setEnd();\n return element;\n };\n\n TreeTitle.displayName = 'TreeTitle';\n TreeTitle.propTypes = Object.assign({}, commonPropTypes.createCommon(), {\n id: PropTypes.string,\n hasSubtree: PropTypes.bool,\n index: PropTypes.number,\n level: PropTypes.number,\n onClick: PropTypes.func,\n expanded: PropTypes.bool,\n selected: PropTypes.bool,\n selectable: PropTypes.bool,\n treeSize: PropTypes.number,\n selectionIndicator: customPropTypes.shorthandAllowingChildren,\n indeterminate: PropTypes.bool,\n parent: PropTypes.string\n });\n TreeTitle.defaultProps = {\n as: 'a',\n selectionIndicator: {},\n accessibility: treeTitleBehavior\n };\n TreeTitle.handledProps = Object.keys(TreeTitle.propTypes);\n TreeTitle.create = createShorthandFactory({\n Component: TreeTitle,\n mappedProp: 'content'\n });\n return TreeTitle;\n}();\n//# sourceMappingURL=TreeTitle.js.map\n","import { getBorderFocusStyles } from '../../getBorderFocusStyles';\nimport { treeTitleClassName, treeTitleSlotClassNames } from '../../../../components/Tree/TreeTitle';\nexport var treeItemStyles = {\n root: function root(_ref) {\n var _ref2, _ref3, _Object$assign;\n\n var siteVariables = _ref.theme.siteVariables,\n p = _ref.props;\n var borderFocusStyles = getBorderFocusStyles({\n variables: siteVariables\n });\n return {\n listStyleType: 'none',\n ':focus': Object.assign({}, p.selectable && (_ref2 = {}, _ref2[\"& .\" + treeTitleSlotClassNames.indicator] = {\n display: 'inline-block'\n }, _ref2), borderFocusStyles[':focus']),\n ':focus-visible': Object.assign({\n outline: 0\n }, p.selectable && (_ref3 = {}, _ref3[\"& .\" + treeTitleSlotClassNames.indicator] = {\n display: 'inline-block'\n }, _ref3), (_Object$assign = {}, _Object$assign[\"> .\" + treeTitleClassName] = Object.assign({\n position: 'relative'\n }, borderFocusStyles[':focus-visible']), _Object$assign))\n };\n }\n};\n//# sourceMappingURL=treeItemStyles.js.map\n","import { getBorderFocusStyles } from '../../getBorderFocusStyles';\nimport { treeTitleSlotClassNames } from '../../../../components/Tree/TreeTitle';\nimport { pxToRem } from '../../../../utils';\nimport { checkboxIndicatorUrl } from '../Checkbox/checkboxIndicatorUrl';\nimport { checkboxIndicatorIndeterminatedUrl } from './checkboxIndicatorIndeterminatedUrl';\nexport var treeTitleStyles = {\n root: function root(_ref) {\n var _ref2, _ref3, _ref4;\n\n var p = _ref.props,\n v = _ref.variables,\n siteVariables = _ref.theme.siteVariables;\n var borderFocusStyles = getBorderFocusStyles({\n variables: siteVariables\n });\n return Object.assign({\n padding: v.padding,\n cursor: 'pointer',\n color: v.color,\n position: 'relative',\n marginLeft: pxToRem(1 + (p.level - 1) * 10),\n paddingRight: v.paddingRight,\n paddingLeft: v.paddingLeft\n }, p.selectable && {\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center'\n }, {\n ':focus': Object.assign({}, p.selectable && (_ref2 = {}, _ref2[\"> .\" + treeTitleSlotClassNames.indicator] = {\n display: 'inline-block'\n }, _ref2), borderFocusStyles[':focus']),\n ':focus-visible': borderFocusStyles[':focus-visible'],\n ':hover': Object.assign({}, p.selectable && (_ref3 = {\n background: v.hoverBackground\n }, _ref3[\"> .\" + treeTitleSlotClassNames.indicator] = {\n display: 'inline-block'\n }, _ref3))\n }, p.showIndicator && (_ref4 = {}, _ref4[\"> .\" + treeTitleSlotClassNames.indicator] = {\n display: 'inline-block'\n }, _ref4));\n },\n selectionIndicator: function selectionIndicator(_ref5) {\n var p = _ref5.props,\n v = _ref5.variables;\n return Object.assign({\n display: 'none',\n float: 'right',\n verticalAlign: 'middle',\n boxShadow: 'unset',\n width: pxToRem(16),\n height: pxToRem(16),\n borderColor: v.borderColor,\n borderStyle: v.borderStyle,\n borderRadius: v.borderRadius,\n borderWidth: v.borderWidth,\n color: v.indicatorColor,\n margin: v.selectionIndicatorMargin,\n padding: v.padding,\n userSelect: 'none',\n backgroundImage: checkboxIndicatorUrl(v.indicatorColor, v.background),\n backgroundPosition: 'center',\n backgroundRepeat: 'no-repeat'\n }, p.selected && {\n borderColor: v.checkedBorderColor,\n backgroundImage: checkboxIndicatorUrl(v.checkedIndicatorColor, v.checkedBackground)\n }, p.indeterminate && {\n borderColor: v.checkedBorderColor,\n backgroundImage: checkboxIndicatorIndeterminatedUrl(v.checkedIndicatorColor, v.checkedBackground)\n }, p.disabled && {\n background: v.disabledBackground,\n borderColor: v.disabledBorderColor\n }, p.disabled && p.selected && {\n color: v.disabledCheckedIndicatorColor,\n borderColor: v.disabledBackgroundChecked,\n backgroundImage: checkboxIndicatorUrl(v.disabledCheckedIndicatorColor, v.disabledBackgroundChecked)\n });\n }\n};\n//# sourceMappingURL=treeTitleStyles.js.map\n","export var checkboxIndicatorIndeterminatedUrl = function checkboxIndicatorIndeterminatedUrl(color, backgroundColor) {\n return \"url(\\\"data:image/svg+xml, %3Csvg xmlns='http://www.w3.org/2000/svg' role='presentation' style='background-color: \" + escape(backgroundColor) + \"; padding: 2px;' focusable='false' viewBox='8 8 22.5 22.5'%3E%3Cg%3E%3Cpath fill='\" + escape(color) + \"' d='M10 16v-1h12v1H10z 11.875a.968.968 0 0 1-.289.711l-8.25 8.25c-.192.193-.43.289-.711.289s-.519-.096-.711-.289l-4.75-4.75a.965.965 0 0 1-.289-.711c0-.125.027-.25.082-.375s.129-.234.223-.328a.953.953 0 0 1 .695-.297c.135 0 .266.025.391.074.125.05.231.121.32.215l4.039 4.047 7.539-7.547a.886.886 0 0 1 .32-.215c.125-.049.255-.074.391-.074a1.004 1.004 0 0 1 .922.625.97.97 0 0 1 .078.375z' /%3E%3C/g%3E%3C/svg%3E\\\")\";\n};\n//# sourceMappingURL=checkboxIndicatorIndeterminatedUrl.js.map\n","import { getContainerStyles, getPointerStyles } from '../../getPointerStyles';\nimport { pointerSvgUrl } from '../../pointerSvgUrl';\nexport var tooltipContentStyles = {\n root: function root(_ref) {\n var p = _ref.props,\n v = _ref.variables;\n return Object.assign({\n display: 'none',\n position: 'absolute',\n maxWidth: v.maxWidth,\n zIndex: v.zIndex\n }, p.pointing && Object.assign({\n pointerEvents: 'all'\n }, getContainerStyles({\n placement: p.basePlacement,\n padding: v.pointerMargin\n })), p.open && {\n display: 'block'\n });\n },\n pointer: function pointer(_ref2) {\n var p = _ref2.props,\n v = _ref2.variables,\n rtl = _ref2.rtl;\n return Object.assign({\n display: 'block',\n position: 'absolute',\n width: v.pointerWidth,\n height: v.pointerHeight\n }, getPointerStyles({\n backgroundColor: v.backgroundColor,\n borderSize: v.borderSize,\n borderColor: 'transparent',\n gap: v.pointerGap,\n padding: v.pointerMargin,\n height: v.pointerHeight,\n width: v.pointerWidth,\n placement: p.basePlacement,\n rtl: rtl,\n svg: pointerSvgUrl(v.backgroundColor)\n }));\n },\n content: function content(_ref3) {\n var p = _ref3.props,\n v = _ref3.variables;\n return Object.assign({\n display: 'block',\n padding: v.padding,\n textAlign: 'left',\n color: v.color,\n background: v.backgroundColor,\n borderRadius: v.borderRadius,\n boxShadow: v.boxShadow\n }, p.pointing && {\n pointerEvents: 'all'\n });\n }\n};\n//# sourceMappingURL=tooltipContentStyles.js.map\n","export var pointerSvgUrl = function pointerSvgUrl(backgroundColor) {\n return \"url(\\\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='\" + encodeURIComponent(backgroundColor) + \"' viewBox='0 0 6 16'%3E%3Cpath d='M.708 9.527a2.002 2.002 0 0 1 0-3.055l3.284-2.78C5.324 2.562 5.991 1.332 5.991 0c0 1.002.02 15.013 0 16 0-1.333-.665-2.562-1.995-3.689L.708 9.527z' fill-rule='evenodd' clip-rule='evenodd'/%3E%3C/svg%3E%0A\\\");\";\n};\n//# sourceMappingURL=pointerSvgUrl.js.map\n","import { pxToRem } from '../../../../utils';\nexport var carouselStyles = {\n root: function root() {\n return {\n display: 'inline-block',\n position: 'relative'\n };\n },\n itemsContainerWrapper: function itemsContainerWrapper(_ref) {\n var v = _ref.variables,\n p = _ref.props;\n return Object.assign({\n display: 'flex',\n width: pxToRem(v.width),\n overflowX: 'hidden'\n }, p.shouldFocusContainer && p.isFromKeyboard && {\n border: \"1px solid \" + v.focusOuterBorderColor,\n borderRadius: v.focusOuterBorderRadius\n });\n },\n itemsContainer: function itemsContainer() {\n return {\n padding: 0,\n margin: 0,\n display: 'flex',\n listStyle: 'none',\n willChange: 'transform'\n };\n }\n};\n//# sourceMappingURL=carouselStyles.js.map\n","import { pxToRem } from '../../../../utils';\nimport { getColorScheme } from '../../colors';\nexport var carouselNavigationStyles = {\n root: function root(_ref) {\n var p = _ref.props,\n v = _ref.variables;\n var iconOnly = p.iconOnly,\n primary = p.primary,\n vertical = p.vertical,\n thumbnails = p.thumbnails;\n var colors = getColorScheme(v.colorScheme, null, primary);\n return Object.assign({\n display: 'flex',\n minHeight: pxToRem(24),\n margin: 0,\n padding: 0,\n color: v.color,\n backgroundColor: v.backgroundColor || 'inherit',\n listStyleType: 'none',\n justifyContent: 'center'\n }, !vertical && thumbnails && {\n justifyContent: 'start',\n transform: \"translateX(\" + pxToRem(v.width / 2 - v.thumbnailWidth / 2 - +p.activeIndex * v.thumbnailWidth) + \")\",\n transition: 'transform .5s ease'\n }, iconOnly && {\n alignItems: 'center'\n }, vertical && Object.assign({\n flexDirection: 'column',\n backgroundColor: v.verticalBackgroundColor,\n width: 'fit-content',\n padding: pxToRem(8) + \" 0\"\n }, iconOnly && {\n display: 'inline-block',\n width: 'auto'\n }), !iconOnly && !vertical && {\n // primary has hardcoded grey border color\n border: v.borderWidth + \" solid \" + (primary ? v.primaryBorderColor : v.borderColor || colors.border),\n borderRadius: pxToRem(4)\n });\n }\n};\n//# sourceMappingURL=carouselNavigationStyles.js.map\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _invoke from \"lodash/invoke\";\nimport * as PropTypes from 'prop-types';\nimport * as React from 'react';\nimport * as customPropTypes from '@fluentui/react-proptypes';\nimport { tabBehavior } from '@fluentui/accessibility';\nimport { childrenExist, createShorthandFactory, commonPropTypes, rtlTextContainer } from '../../utils';\nimport { Box } from '../Box/Box';\nimport { useTelemetry, getElementType, useFluentContext, useUnhandledProps, useAccessibility, useStyles } from '@fluentui/react-bindings';\nexport var carouselNavigationItemClassName = 'ui-carousel__navigationitem';\nexport var carouselNavigationItemSlotClassNames = {\n indicator: carouselNavigationItemClassName + \"__indicator\",\n content: carouselNavigationItemClassName + \"__content\"\n};\n/**\n * A CarouselItem is an actionable item within a Carousel.\n */\n\nexport var CarouselNavigationItem = /*#__PURE__*/function () {\n var CarouselNavigationItem = function CarouselNavigationItem(props) {\n var context = useFluentContext();\n\n var _useTelemetry = useTelemetry(CarouselNavigationItem.displayName, context.telemetry),\n setStart = _useTelemetry.setStart,\n setEnd = _useTelemetry.setEnd;\n\n setStart();\n var children = props.children,\n thumbnails = props.thumbnails,\n vertical = props.vertical,\n active = props.active,\n content = props.content,\n iconOnly = props.iconOnly,\n primary = props.primary,\n indicator = props.indicator,\n className = props.className,\n design = props.design,\n styles = props.styles,\n variables = props.variables;\n var ElementType = getElementType(props);\n var unhandledProps = useUnhandledProps(CarouselNavigationItem.handledProps, props);\n var getA11yProps = useAccessibility(props.accessibility, {\n debugName: CarouselNavigationItem.displayName,\n actionHandlers: {\n performClick: function performClick(event) {\n return !event.defaultPrevented && handleClick(event);\n }\n },\n mapPropsToBehavior: function mapPropsToBehavior() {\n return {\n active: active\n };\n }\n });\n\n var _useStyles = useStyles(CarouselNavigationItem.displayName, {\n className: carouselNavigationItemClassName,\n mapPropsToStyles: function mapPropsToStyles() {\n return {\n thumbnails: thumbnails,\n vertical: vertical,\n active: active,\n hasContent: !!content,\n iconOnly: iconOnly,\n primary: primary,\n hasIndicator: !!indicator\n };\n },\n mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n return {\n className: className,\n design: design,\n styles: styles,\n variables: variables\n };\n },\n rtl: context.rtl\n }),\n classes = _useStyles.classes,\n resolvedStyles = _useStyles.styles;\n\n var renderContent = function renderContent() {\n return content ? Box.create(content, {\n defaultProps: function defaultProps() {\n return {\n as: 'span',\n className: carouselNavigationItemSlotClassNames.content,\n styles: resolvedStyles.content\n };\n }\n }) : Box.create(indicator, {\n defaultProps: function defaultProps() {\n return {\n className: carouselNavigationItemSlotClassNames.indicator,\n styles: resolvedStyles.indicator\n };\n }\n });\n };\n\n var handleClick = function handleClick(e) {\n _invoke(props, 'onClick', e, props);\n };\n\n var handleBlur = function handleBlur(e) {\n _invoke(props, 'onBlur', e, props);\n };\n\n var handleFocus = function handleFocus(e) {\n _invoke(props, 'onFocus', e, props);\n };\n\n var element = /*#__PURE__*/React.createElement(ElementType, _extends({}, getA11yProps('root', Object.assign({\n className: classes.root,\n onBlur: handleBlur,\n onFocus: handleFocus,\n onClick: handleClick\n }, unhandledProps)), rtlTextContainer.getAttributes({\n forElements: [children]\n })), childrenExist(children) ? children : renderContent());\n setEnd();\n return element;\n };\n\n CarouselNavigationItem.displayName = 'CarouselNavigationItem';\n CarouselNavigationItem.propTypes = Object.assign({}, commonPropTypes.createCommon(), {\n active: PropTypes.bool,\n indicator: customPropTypes.shorthandAllowingChildren,\n iconOnly: PropTypes.bool,\n index: PropTypes.number,\n onClick: PropTypes.func,\n primary: customPropTypes.every([customPropTypes.disallow(['secondary']), PropTypes.bool]),\n secondary: customPropTypes.every([customPropTypes.disallow(['primary']), PropTypes.bool]),\n vertical: PropTypes.bool,\n thumbnails: PropTypes.bool\n });\n CarouselNavigationItem.handledProps = Object.keys(CarouselNavigationItem.propTypes);\n CarouselNavigationItem.defaultProps = {\n accessibility: tabBehavior,\n as: 'li',\n indicator: {}\n };\n CarouselNavigationItem.create = createShorthandFactory({\n Component: CarouselNavigationItem,\n mappedArrayProp: 'content'\n });\n return CarouselNavigationItem;\n}();\n//# sourceMappingURL=CarouselNavigationItem.js.map\n","import { pxToRem } from '../../../../utils';\nimport { carouselNavigationItemSlotClassNames } from '../../../../components/Carousel/CarouselNavigationItem';\nimport { getColorScheme } from '../../colors';\nimport { getIconFillOrOutlineStyles } from '../../getIconFillOrOutlineStyles';\nexport var carouselNavigationItemStyles = {\n root: function root(_ref) {\n var _Object$assign;\n\n var p = _ref.props,\n v = _ref.variables;\n var active = p.active,\n iconOnly = p.iconOnly,\n primary = p.primary,\n vertical = p.vertical,\n thumbnails = p.thumbnails;\n var colors = getColorScheme(v.colorScheme, null, primary);\n return Object.assign({\n color: 'inherit',\n display: 'block',\n cursor: 'pointer',\n whiteSpace: 'nowrap'\n }, iconOnly && {\n border: pxToRem(2) + \" solid transparent\"\n }, vertical ? {\n padding: v.verticalItemPadding\n } : {\n padding: v.horizontalPadding\n }, iconOnly && {\n margin: pxToRem(1),\n padding: pxToRem(5),\n // padding works this way to get the border to only be 30x30px on focus which is the current design\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center'\n }, active && iconOnly && Object.assign({\n color: v.iconOnlyColorActive\n }, getIconFillOrOutlineStyles({\n outline: false\n })), {\n // focus styles\n ':focus-visible': Object.assign({}, iconOnly && Object.assign({\n borderRadius: '50%'\n }, thumbnails && {\n borderRadius: '0'\n }, {\n borderColor: v.iconOnlyColorActive\n }, getIconFillOrOutlineStyles({\n outline: false\n })))\n }, iconOnly && primary && {\n color: 'inherit',\n borderColor: v.borderColorActive || colors.borderActive\n }, {\n ':focus': {\n outline: 0\n },\n // hover styles\n ':hover': Object.assign((_Object$assign = {\n color: 'inherit'\n }, _Object$assign[\"& .\" + carouselNavigationItemSlotClassNames.indicator] = {\n background: v.indicatorBackgroundColor\n }, _Object$assign), iconOnly && getIconFillOrOutlineStyles({\n outline: false\n }), primary && iconOnly && {\n color: 'inherit'\n })\n });\n },\n content: function content(_ref2) {\n var p = _ref2.props;\n var widthAdjust = p.hasIndicator ? 26 : 0;\n return Object.assign({\n whiteSpace: 'normal',\n lineHeight: 1.5,\n marginTop: pxToRem(-4),\n marginBottom: pxToRem(-4),\n display: 'inline-block'\n }, p.thumbnails && Object.assign({\n width: pxToRem(60)\n }, !p.active && {\n opacity: 0.4\n }), p.vertical && {\n width: 'max-content',\n minWidth: pxToRem(46 - widthAdjust),\n maxWidth: pxToRem(262 - widthAdjust),\n marginRight: pxToRem(16)\n });\n },\n indicator: function indicator(_ref3) {\n var p = _ref3.props,\n v = _ref3.variables;\n return Object.assign({\n borderRadius: '50%',\n width: pxToRem(7),\n height: pxToRem(7),\n background: v.indicatorBackgroundColor\n }, p.active && {\n background: v.indicatorActiveBackgroundColor\n }, p.hasContent && {\n marginRight: pxToRem(10)\n }, !p.iconOnly && {\n // reduce margins so text has the dominant influence on the vertical height\n marginTop: 0,\n marginBottom: pxToRem(-8),\n verticalAlign: 'top'\n });\n }\n};\n//# sourceMappingURL=carouselNavigationItemStyles.js.map\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _invoke from \"lodash/invoke\";\nimport { buttonBehavior } from '@fluentui/accessibility';\nimport * as customPropTypes from '@fluentui/react-proptypes';\nimport * as PropTypes from 'prop-types';\nimport * as React from 'react';\nimport { childrenExist, createShorthandFactory, commonPropTypes, rtlTextContainer } from '../../utils';\nimport { getElementType, useFluentContext, useAccessibility, useStyles, useTelemetry, useUnhandledProps } from '@fluentui/react-bindings';\nimport { Box } from '../Box/Box';\nexport var carouselPaddleClassName = 'ui-carousel__paddle';\nexport var carouselPaddleSlotClassNames = {\n content: carouselPaddleClassName + \"__content\"\n};\n/**\n * A CarouselPaddle allows users to customize the paddles inside the Carousel component.\n *\n * @accessibility\n * Implements [ARIA Button](https://www.w3.org/TR/wai-aria-practices-1.1/#button) design pattern.\n */\n\nexport var CarouselPaddle = /*#__PURE__*/function () {\n var CarouselPaddle = function CarouselPaddle(props) {\n var context = useFluentContext();\n\n var _useTelemetry = useTelemetry(CarouselPaddle.displayName, context.telemetry),\n setStart = _useTelemetry.setStart,\n setEnd = _useTelemetry.setEnd;\n\n setStart();\n var accessibility = props.accessibility,\n as = props.as,\n children = props.children,\n className = props.className,\n content = props.content,\n disabled = props.disabled,\n design = props.design,\n hidden = props.hidden,\n next = props.next,\n previous = props.previous,\n styles = props.styles,\n variables = props.variables;\n var hasChildren = childrenExist(children);\n var getA11Props = useAccessibility(accessibility, {\n debugName: CarouselPaddle.displayName,\n mapPropsToBehavior: function mapPropsToBehavior() {\n return {\n as: String(as),\n disabled: disabled\n };\n },\n actionHandlers: {\n performClick: function performClick(event) {\n event.preventDefault();\n handleClick(event);\n }\n },\n rtl: context.rtl\n });\n\n var _useStyles = useStyles(CarouselPaddle.displayName, {\n className: carouselPaddleClassName,\n mapPropsToStyles: function mapPropsToStyles() {\n return {\n disabled: disabled,\n hidden: hidden,\n next: next,\n previous: previous\n };\n },\n mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n return {\n className: className,\n design: design,\n styles: styles,\n variables: variables\n };\n },\n rtl: context.rtl\n }),\n classes = _useStyles.classes,\n resolvedStyles = _useStyles.styles;\n\n var unhandledProps = useUnhandledProps(CarouselPaddle.handledProps, props);\n var ElementType = getElementType(props);\n\n var handleClick = function handleClick(e) {\n if (disabled) {\n e.preventDefault();\n return;\n }\n\n _invoke(props, 'onClick', e, props);\n };\n\n var result = /*#__PURE__*/React.createElement(ElementType, _extends({}, rtlTextContainer.getAttributes({\n forElements: [children]\n }), getA11Props('root', Object.assign({\n onClick: handleClick,\n disabled: disabled,\n className: classes.root\n }, unhandledProps))), hasChildren ? children : Box.create(content, {\n defaultProps: function defaultProps() {\n return getA11Props('content', {\n as: 'span',\n className: carouselPaddleSlotClassNames.content,\n styles: resolvedStyles.content\n });\n }\n }));\n setEnd();\n return result;\n };\n\n CarouselPaddle.defaultProps = {\n as: 'button',\n accessibility: buttonBehavior,\n content: {}\n };\n CarouselPaddle.displayName = 'CarouselPaddle';\n CarouselPaddle.propTypes = Object.assign({}, commonPropTypes.createCommon({\n content: 'shorthand'\n }), {\n disabled: PropTypes.bool,\n hidden: PropTypes.bool,\n onClick: PropTypes.func,\n next: customPropTypes.every([customPropTypes.disallow(['previous']), PropTypes.bool]),\n previous: customPropTypes.every([customPropTypes.disallow(['next']), PropTypes.bool])\n });\n CarouselPaddle.handledProps = Object.keys(CarouselPaddle.propTypes);\n CarouselPaddle.create = createShorthandFactory({\n Component: CarouselPaddle,\n mappedProp: 'content'\n });\n return CarouselPaddle;\n}();\n//# sourceMappingURL=CarouselPaddle.js.map\n","import { getBorderFocusStyles } from '../../getBorderFocusStyles';\nexport var tableRowStyles = {\n root: function root(_ref) {\n var p = _ref.props,\n v = _ref.variables,\n siteVariables = _ref.theme.siteVariables;\n var borderFocusStyles = getBorderFocusStyles({\n variables: siteVariables\n });\n return Object.assign({\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'center',\n fontSize: v.bodyFontSize,\n height: v.defaultRowHeight,\n color: v.color,\n backgroundColor: v.backgroundColor,\n borderWidth: v.borderWidth,\n borderStyle: 'solid',\n borderColor: 'transparent',\n borderBottomColor: v.rowBorderColor,\n padding: v.rowPadding,\n position: 'relative',\n width: '100%',\n ':hover': {\n color: v.hoverColor,\n backgroundColor: v.backgroundHoverColor,\n borderColor: v.rowBorderHoverColor\n }\n }, borderFocusStyles, p.header && {\n fontSize: v.headerFontSize,\n ':hover': {\n color: v.color,\n backgroundColor: v.backgroundColor\n }\n }, p.compact && {\n height: v.compactRowHeight\n });\n }\n};\n//# sourceMappingURL=tableRowStyles.js.map\n","import { getBorderFocusStyles } from '../../getBorderFocusStyles';\nexport var tableCellStyles = {\n root: function root(_ref) {\n var v = _ref.variables,\n siteVariables = _ref.theme.siteVariables;\n var borderFocusStyles = getBorderFocusStyles({\n variables: siteVariables\n });\n return Object.assign({\n display: 'flex',\n flexFlow: 'row nowrap',\n flexGrow: 1,\n flexBasis: 0,\n minWidth: v.minCellWidth,\n outline: 0,\n borderWidth: v.borderWidth,\n borderStyle: 'solid',\n borderColor: 'transparent'\n }, borderFocusStyles, {\n padding: v.cellPadding,\n position: 'relative',\n height: '100%'\n });\n },\n content: function content(_ref2) {\n var p = _ref2.props;\n return Object.assign({\n alignSelf: 'center'\n }, p.truncateContent && {\n display: 'block',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap'\n });\n }\n};\n//# sourceMappingURL=tableCellStyles.js.map\n","import { compose } from '@fluentui/react-bindings';\nimport { commonPropTypes } from '../../utils';\nimport { Box } from '../Box/Box';\nexport var cardExpandableBoxClassName = 'ui-card__expandablebox';\n/**\n * A CardExpandableBox is used to display data in which is partially hidden and shown on focus/hover.\n */\n\nexport var CardExpandableBox = /*#__PURE__*/function () {\n var CardExpandableBox = compose(Box, {\n className: cardExpandableBoxClassName,\n displayName: 'CardExpandableBox',\n shorthandConfig: {\n mappedProp: 'content'\n }\n });\n CardExpandableBox.propTypes = commonPropTypes.createCommon();\n return CardExpandableBox;\n}();\n//# sourceMappingURL=CardExpandableBox.js.map\n","import { cardExpandableBoxClassName } from '../../../../components/Card/CardExpandableBox';\nimport { getBorderFocusStyles } from '../../getBorderFocusStyles';\nexport var cardStyles = {\n root: function root(_ref) {\n var _ref2;\n\n var p = _ref.props,\n v = _ref.variables,\n theme = _ref.theme;\n var siteVariables = theme.siteVariables;\n var borderFocusStyles = getBorderFocusStyles({\n variables: siteVariables,\n borderRadius: v.borderRadius\n });\n return Object.assign({\n display: 'flex',\n flexDirection: 'column',\n position: 'relative',\n padding: v.padding,\n margin: v.margin,\n width: v.width,\n height: v.height,\n borderWidth: v.borderWidth,\n borderStyle: v.borderStyle,\n borderColor: v.borderColor,\n borderRadius: v.borderRadius,\n backgroundColor: v.backgroundColor\n }, p.ghost && {\n backgroundColor: v.ghostBackgroundColor\n }, p.inverted && {\n backgroundColor: v.invertedBackgroundColor\n }, p.selected && {\n backgroundColor: v.selectedBackgroundColor\n }, {\n boxShadow: v.boxShadow\n }, p.elevated && {\n boxShadow: v.elevatedBoxShadow\n }, {\n ':hover': Object.assign({\n backgroundColor: v.backgroundColorHover\n }, p.ghost && {\n backgroundColor: v.ghostBackgroundColorHover\n }, p.inverted && {\n backgroundColor: v.invertedBackgroundColorHover\n }, p.selected && {\n backgroundColor: v.selectedBackgroundColorHover\n }, {\n borderColor: v.borderColorHover,\n boxShadow: v.boxShadowHover\n }, p.elevated && {\n boxShadow: v.elevatedBoxShadowHover\n })\n }, borderFocusStyles, p.actionable && {\n cursor: 'pointer',\n ':focus-visible': Object.assign({\n backgroundColor: v.backgroundColorFocus\n }, p.ghost && {\n backgroundColor: v.ghostBackgroundColorFocus\n }, p.inverted && {\n backgroundColor: v.invertedBackgroundColorFocus\n }, p.selected && {\n backgroundColor: v.selectedBackgroundColorFocus\n }, {\n boxShadow: v.boxShadowFocus\n }, p.elevated && {\n boxShadow: v.elevatedBoxShadowFocus\n }, borderFocusStyles[':focus-visible']),\n ':active': Object.assign({\n backgroundColor: v.backgroundColorPressed\n }, p.ghost && {\n backgroundColor: v.ghostBackgroundColorPressed\n }, p.inverted && {\n backgroundColor: v.invertedBackgroundColorPressed\n }, p.selected && {\n backgroundColor: v.selectedBackgroundColorPressed\n }, {\n borderColor: v.borderColorPressed,\n boxShadow: v.boxShadowPressed\n }, p.elevated && {\n boxShadow: v.elevatedBoxShadowPressed\n })\n }, p.size === 'small' && {\n width: v.sizeSmallWidth,\n height: v.sizeSmallHeight,\n padding: v.sizeSmallPadding\n }, p.size === 'large' && {\n width: v.sizeLargeWidth,\n height: v.sizeLargeHeight,\n padding: v.sizeLargePadding\n }, p.fluid && {\n width: v.fluidWidth,\n height: v.fluidHeight\n }, p.horizontal && {\n flexDirection: 'row'\n }, p.compact && {\n padding: v.compactPadding\n }, p.centered && {\n alignItems: 'center'\n }, p.disabled && Object.assign({\n cursor: 'not-allowed',\n color: v.colorDisabled,\n backgroundColor: v.backgroundColorDisabled,\n borderColor: v.borderColorDisabled,\n boxShadow: v.boxShadowDisabled\n }, p.inverted && {\n backgroundColor: v.invertedBackgroundColorDisabled\n }, p.ghost && {\n backgroundColor: v.ghostBackgroundColorDisabled\n }, p.selected && {\n backgroundColor: v.selectedBackgroundColorDisabled\n }, {\n ':hover': {\n boxShadow: v.boxShadowDisabled\n },\n ':focus-visible': Object.assign({\n boxShadow: v.boxShadowDisabled\n }, borderFocusStyles[':focus-visible']),\n ':active': {\n boxShadow: v.boxShadowDisabled\n }\n }), p.expandable && (_ref2 = {}, _ref2[\"& .\" + cardExpandableBoxClassName] = {\n maxHeight: v.expandableBoxStartMaxHeight,\n transition: v.expandableBoxExpandTransition,\n overflow: 'hidden'\n }, _ref2[\"&:hover .\" + cardExpandableBoxClassName] = {\n maxHeight: v.expandableBoxEndMaxHeight,\n transition: v.expandableBoxExpandTransition\n }, _ref2[\"&:focus .\" + cardExpandableBoxClassName] = {\n maxHeight: v.expandableBoxEndMaxHeight,\n transition: v.expandableBoxExpandTransition\n }, _ref2));\n }\n};\n//# sourceMappingURL=cardStyles.js.map\n","export var cardHeaderStyles = {\n root: function root(_ref) {\n var v = _ref.variables,\n p = _ref.props;\n return Object.assign({\n display: 'flex',\n flexDirection: 'column',\n margin: v.headerMargin\n }, p.fitted && {\n margin: v.fittedHeaderMargin\n });\n }\n};\n//# sourceMappingURL=cardHeaderStyles.js.map\n","export var cardBodyStyles = {\n root: function root(_ref) {\n var v = _ref.variables,\n p = _ref.props;\n return Object.assign({\n display: 'flex',\n flexDirection: 'column',\n margin: v.bodyMargin\n }, p.fitted && {\n margin: v.fittedBodyMargin\n });\n }\n};\n//# sourceMappingURL=cardBodyStyles.js.map\n","export var cardFooterStyles = {\n root: function root(_ref) {\n var v = _ref.variables,\n p = _ref.props;\n return Object.assign({\n display: 'flex',\n flexDirection: 'column',\n margin: v.footerMargin\n }, p.fitted && {\n margin: v.fittedFooterMargin\n });\n }\n};\n//# sourceMappingURL=cardFooterStyles.js.map\n","export var cardPreviewStyles = {\n root: function root(_ref) {\n var p = _ref.props,\n v = _ref.variables;\n return Object.assign({\n margin: v.previewMargin\n }, p.horizontal && {\n margin: v.previewMarginHorizontal\n }, p.fitted && {\n margin: v.fittedPreviewMargin\n });\n }\n};\n//# sourceMappingURL=cardPreviewStyles.js.map\n","import { inputSlotClassNames } from '../../../../components/Input/Input';\nexport var datepickerStyles = {\n root: function root(_ref) {\n var _ref2;\n\n var p = _ref.props;\n return Object.assign({}, !p.allowManualInput && (_ref2 = {}, _ref2[\"& .\" + inputSlotClassNames.input] = {\n cursor: 'pointer'\n }, _ref2));\n }\n};\n//# sourceMappingURL=datepickerStyles.js.map\n","export var datepickerCalendarCellStyles = {\n root: function root(_ref) {\n var p = _ref.props,\n v = _ref.variables;\n return Object.assign({\n height: v.calendarCellHeight,\n width: v.calendarCellWidth,\n padding: v.calendarCellPadding,\n ':hover': {\n backgroundColor: v.calendarCellHoverBackgroundColor,\n color: v.calendarCellHoverColor\n }\n }, p.quiet && {\n color: v.calendarCellQuietColor\n }, p.selected && {\n color: v.calendarCellSelectedColor,\n backgroundColor: v.calendarCellSelectedBackgroundColor\n }, p.disabled && {\n color: v.calendarCellDisabledColor,\n cursor: 'default',\n backgroundColor: v.calendarCellDisabledBackgroundColor,\n ':hover': {}\n });\n }\n};\n//# sourceMappingURL=datepickerCalendarCellStyles.js.map\n","import { getBorderFocusStyles } from '../../getBorderFocusStyles';\nexport var datepickerCalendarCellButtonStyles = {\n root: function root(_ref) {\n var p = _ref.props,\n v = _ref.variables,\n theme = _ref.theme;\n var siteVariables = theme.siteVariables;\n var borderWidth = siteVariables.borderWidth;\n var borderFocusStyles = getBorderFocusStyles({\n variables: siteVariables,\n borderPadding: borderWidth\n });\n return Object.assign({\n textAlign: 'center',\n height: '100%',\n width: '100%',\n cursor: 'pointer',\n border: v.calendarCellBorder,\n padding: v.calendarCellPadding,\n margin: v.calendarCellMargin,\n display: 'table-cell',\n position: 'relative'\n }, borderFocusStyles, {\n backgroundColor: v.calendarCellBackgroundColor,\n color: v.calendarCellColor,\n ':hover': {\n backgroundColor: v.calendarCellHoverBackgroundColor,\n color: v.calendarCellHoverColor\n }\n }, p.quiet && {\n color: v.calendarCellQuietColor\n }, p.selected && {\n color: v.calendarCellSelectedColor,\n backgroundColor: v.calendarCellSelectedBackgroundColor\n }, p.disabled && {\n color: v.calendarCellDisabledColor,\n cursor: 'default',\n backgroundColor: v.calendarCellDisabledBackgroundColor,\n ':hover': {}\n }, p.today && {\n backgroundColor: v.calendarCellTodayBackgroundColor,\n color: v.calendarCellTodayColor,\n borderRadius: v.calendarCellTodayBorderRadius\n });\n }\n};\n//# sourceMappingURL=datepickerCalendarCellButtonStyles.js.map\n","import { datepickerCalendarCellButtonClassName } from '../../../../components/Datepicker/DatepickerCalendarCellButton';\nexport var datepickerCalendarGridRowStyles = {\n root: function root(_ref) {\n var _ref2;\n\n var p = _ref.props,\n v = _ref.variables;\n return Object.assign({}, p.isRowSelectionActive && (_ref2 = {}, _ref2[\":hover .\" + datepickerCalendarCellButtonClassName] = {\n backgroundColor: v.calendarCellHoverBackgroundColor,\n color: v.calendarCellHoverColor\n }, _ref2));\n }\n};\n//# sourceMappingURL=datepickerCalendarGridRowStyles.js.map\n","import { createTheme } from '@fluentui/styles';\nimport { animations } from './animations';\nimport * as siteVariables from './siteVariables';\nimport * as componentVariables from './componentVariables';\nimport * as componentStyles from './componentStyles';\nimport { fontFaces } from './fontFaces';\nimport { staticStyles } from './staticStyles';\nexport var teamsTheme = createTheme({\n siteVariables: siteVariables,\n componentVariables: componentVariables,\n componentStyles: componentStyles,\n fontFaces: fontFaces,\n staticStyles: staticStyles,\n animations: animations\n}, 'teams');\n//# sourceMappingURL=index.js.map\n","export var accordionStyles = {\n root: function root() {\n return {\n verticalAlign: 'middle',\n display: 'flex',\n flexDirection: 'column',\n marginBlockEnd: 0,\n marginBlockStart: 0\n };\n }\n};\n//# sourceMappingURL=accordionStyles.js.map\n","export var attachmentBodyStyles = {\n root: function root() {\n return {\n flex: 1\n };\n }\n};\n//# sourceMappingURL=attachmentBodyStyles.js.map\n","export var attachmentDescriptionStyles = {\n root: function root(_ref) {\n var v = _ref.variables;\n return {\n display: 'block',\n fontSize: v.descriptionFontSize,\n fontWeight: v.descriptionFontWeight,\n lineHeight: v.descriptionLineHeight\n };\n }\n};\n//# sourceMappingURL=attachmentDescriptionStyles.js.map\n","export var attachmentHeaderStyles = {\n root: function root(_ref) {\n var v = _ref.variables;\n return {\n display: 'block',\n fontSize: v.headerFontSize,\n fontWeight: v.headerFontWeight,\n lineHeight: v.headerLineHeight\n };\n }\n};\n//# sourceMappingURL=attachmentHeaderStyles.js.map\n","export var breadcrumbDividerStyles = {\n root: function root(_ref) {\n var p = _ref.props,\n v = _ref.variables;\n return {\n verticalAlign: 'middle'\n };\n }\n};\n//# sourceMappingURL=breadcrumbDividerStyles.js.map\n","export var dialogFooterStyles = {\n root: function root() {\n return {\n textAlign: 'right'\n };\n }\n};\n//# sourceMappingURL=dialogFooterStyles.js.map\n","export var formStyles = {\n root: function root(_ref) {\n var props = _ref.props,\n v = _ref.variables;\n return {\n height: '100%',\n width: '100%',\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'space-evenly',\n justifyItems: 'start',\n '> *:not(:last-child)': {\n marginBottom: v.fieldsMarginBottom\n },\n '> :last-child': {\n marginTop: v.lastChildMarginTop\n }\n };\n }\n};\n//# sourceMappingURL=formStyles.js.map\n","export var itemLayoutStyles = {\n root: function root(_ref) {\n var variables = _ref.variables;\n return {\n gridTemplateRows: \"minmax(\" + variables.height + \", max-content)\",\n paddingLeft: variables.paddingLeft,\n paddingRight: variables.paddingRight\n };\n }\n};\n//# sourceMappingURL=itemLayoutStyles.js.map\n","export var listItemContentMediaStyles = {\n root: function root(_ref) {\n var v = _ref.variables;\n return {\n fontSize: v.contentMediaFontSize,\n lineHeight: v.contentMediaLineHeight\n };\n }\n};\n//# sourceMappingURL=listItemContentMediaStyles.js.map\n","export var listItemHeaderMediaStyles = {\n root: function root(_ref) {\n var v = _ref.variables;\n return {\n alignSelf: 'flex-end',\n fontSize: v.headerMediaFontSize,\n lineHeight: v.headerMediaLineHeight\n };\n }\n};\n//# sourceMappingURL=listItemHeaderMediaStyles.js.map\n","export var providerStyles = {\n root: function root(_ref) {\n var v = _ref.variables;\n return {\n background: v.background,\n color: v.color,\n textAlign: 'left',\n '& ::-webkit-scrollbar': {\n height: v.scrollbarHeight,\n width: v.scrollbarWidth,\n ':disabled': {\n display: 'none'\n }\n },\n '& ::-webkit-scrollbar-thumb': {\n borderRadius: v.scrollbarThumbBorderRadius,\n border: \"solid \" + v.scrollbarThumbBorderSize + \" transparent\",\n backgroundClip: 'content-box',\n backgroundColor: v.scrollbarThumbBackgroundColor,\n ':hover': {\n backgroundColor: v.scrollbarThumbHoverBackgroundColor,\n border: \"solid \" + v.scrollbarThumbHoverBorderSize + \" transparent\"\n }\n },\n '& ::-webkit-scrollbar-track': {\n background: 'transparent'\n }\n };\n }\n};\n//# sourceMappingURL=providerStyles.js.map\n","export var radioGroupStyles = {\n root: function root(_ref) {\n var p = _ref.props;\n return {\n display: 'flex',\n flexDirection: p.vertical ? 'column' : 'row'\n };\n }\n};\n//# sourceMappingURL=radioGroupStyles.js.map\n","export var skeletonLineStyles = {\n root: function root(_ref) {\n var p = _ref.props,\n v = _ref.variables;\n return {\n display: 'block',\n width: p.width,\n height: p.height,\n backgroundColor: v.lineBackground,\n margin: v.lineMargin\n };\n }\n};\n//# sourceMappingURL=skeletonLineStyles.js.map\n","export var reactionGroupStyles = {\n root: function root() {\n return {};\n },\n reaction: function reaction(_ref) {\n var v = _ref.variables;\n return {\n ':not(:last-child)': {\n marginRight: v.reactionSpacing\n }\n };\n }\n};\n//# sourceMappingURL=reactionGroupStyles.js.map\n","import { pxToRem } from '../../../../utils/index';\nexport var toolbarStyles = {\n root: function root() {\n return {\n display: 'flex',\n alignItems: 'center',\n position: 'relative'\n };\n },\n offsetMeasure: function offsetMeasure() {\n return {\n position: 'absolute',\n visibility: 'hidden',\n left: 0,\n top: 0\n };\n },\n overflowContainer: function overflowContainer() {\n return {\n display: 'flex',\n overflow: 'hidden',\n flexGrow: 1\n };\n },\n overflowSentinel: function overflowSentinel(_ref) {\n var props = _ref.props;\n return {\n width: pxToRem(100),\n display: props.overflowOpen ? 'block' : 'none',\n visibility: 'hidden'\n };\n }\n};\n//# sourceMappingURL=toolbarStyles.js.map\n","export var toolbarRadioGroupStyles = {\n root: function root() {\n return {\n display: 'flex',\n whiteSpace: 'nowrap'\n };\n }\n};\n//# sourceMappingURL=toolbarRadioGroupStyles.js.map\n","import { getColorScheme } from '../../colors';\nexport var toolbarDividerStyles = {\n root: function root(_ref) {\n var v = _ref.variables;\n var colors = getColorScheme(v.colorScheme);\n return {\n borderLeft: \"1px solid \" + (v.dividerBorder || colors.border),\n margin: v.dividerMargin,\n alignSelf: 'stretch'\n };\n }\n};\n//# sourceMappingURL=toolbarDividerStyles.js.map\n","import { getColorScheme } from '../../colors';\nexport var toolbarMenuStyles = {\n root: function root(_ref) {\n var v = _ref.variables;\n var colors = getColorScheme(v.colorScheme);\n return {\n display: 'flex',\n flexDirection: 'column',\n listStyleType: 'none',\n margin: 0,\n padding: v.menuPadding,\n backgroundColor: v.menuBackground || colors.background,\n boxShadow: v.menuBoxShadow,\n borderStyle: 'solid',\n borderColor: v.menuBorder || colors.border,\n borderWidth: v.menuBorderWidth,\n borderRadius: v.menuBorderRadius,\n maxWidth: v.menuMaxWidth,\n zIndex: v.overlayZIndex\n };\n }\n};\n//# sourceMappingURL=toolbarMenuStyles.js.map\n","import { getColorScheme } from '../../colors';\nexport var toolbarMenuDividerStyles = {\n root: function root(_ref) {\n var v = _ref.variables;\n var colors = getColorScheme(v.colorScheme);\n return {\n borderTop: \"1px solid \" + (v.menuDividerBorder || colors.border),\n margin: v.menuDividerMargin,\n alignSelf: 'stretch'\n };\n }\n};\n//# sourceMappingURL=toolbarMenuDividerStyles.js.map\n","import { getColorScheme } from '../../colors';\nimport { pxToRem } from '../../../../utils';\nimport { activeIndicatorUrl } from './activeIndicatorUrl';\nexport var toolbarMenuItemActiveIndicatorStyles = {\n root: function root(_ref) {\n var v = _ref.variables;\n var colors = getColorScheme(v.colorScheme);\n return {\n backgroundImage: activeIndicatorUrl(v.menuItemForeground || colors.foreground1),\n backgroundPosition: 'center',\n backgroundRepeat: 'no-repeat',\n width: pxToRem(24),\n height: '100%',\n position: 'absolute',\n right: pxToRem(7)\n };\n }\n};\n//# sourceMappingURL=toolbarMenuItemActiveIndicatorStyles.js.map\n","export var toolbarMenuRadioGroupStyles = {\n root: function root() {\n return {\n padding: 0\n };\n }\n};\n//# sourceMappingURL=toolbarMenuRadioGroupStyles.js.map\n","export var toolbarMenuRadioGroupWrapperStyles = {\n root: function root() {\n return {};\n }\n};\n//# sourceMappingURL=toolbarMenuRadioGroupWrapperStyles.js.map\n","import { pxToRem } from '../../../../utils';\nexport var treeStyles = {\n root: function root() {\n return {\n display: 'block',\n paddingLeft: \"\" + pxToRem(10)\n };\n }\n};\n//# sourceMappingURL=treeStyles.js.map\n","export var videoStyles = {\n root: function root(_ref) {\n var v = _ref.variables;\n return {\n display: 'inline-block',\n verticalAlign: 'middle',\n width: v.width,\n height: v.height || 'auto'\n };\n }\n};\n//# sourceMappingURL=videoStyles.js.map\n","import { pxToRem } from '../../../../utils';\nexport var carouselItemStyles = {\n root: function root(_ref) {\n var v = _ref.variables;\n return {\n width: pxToRem(v.width),\n marginBottom: pxToRem(16),\n ':focus': {\n outline: 'none'\n }\n };\n }\n};\n//# sourceMappingURL=carouselItemStyles.js.map\n","import { pxToRem } from '../../../../utils';\nexport var carouselPaddlesContainerStyles = {\n root: function root(_ref) {\n var v = _ref.variables;\n return {\n display: 'flex',\n width: pxToRem(v.width),\n justifyContent: 'space-between',\n alignItems: 'center',\n position: 'absolute',\n top: 0,\n right: 0,\n left: 0,\n bottom: 0\n };\n }\n};\n//# sourceMappingURL=carouselPaddlesContainerStyles.js.map\n","export var tableStyles = {\n root: function root(_ref) {\n var v = _ref.variables;\n return {\n display: 'flex',\n flexDirection: 'column',\n background: v.backgroundColor\n };\n }\n};\n//# sourceMappingURL=tableStyles.js.map\n","export var cardTopControlsStyles = {\n root: function root(_ref) {\n var v = _ref.variables;\n return {\n position: 'absolute',\n top: v.topControlsTop,\n right: v.topControlsRight\n };\n }\n};\n//# sourceMappingURL=cardTopControlsStyles.js.map\n","export var cardExpandableBoxStyles = {\n root: function root() {\n return {\n display: 'flex'\n };\n }\n};\n//# sourceMappingURL=cardExpandableBoxStyles.js.map\n","export var datepickerCalendarStyles = {\n root: function root(_ref) {\n var v = _ref.variables;\n return {\n minHeight: v.calendarMinHeight\n };\n }\n};\n//# sourceMappingURL=datepickerCalendarStyles.js.map\n","export var datepickerCalendarHeaderStyles = {\n root: function root(_ref) {\n var v = _ref.variables;\n return {\n display: 'flex',\n alignItems: 'center',\n paddingTop: v.calendarHeaderPaddingTop,\n paddingBottom: v.calendarHeaderPaddingBottom\n };\n },\n label: function label(_ref2) {\n var v = _ref2.variables;\n return {\n fontWeight: v.calendarHeaderLabelFontWeight,\n flexGrow: 1,\n paddingLeft: v.calendarHeaderLabelPaddingLeft\n };\n }\n};\n//# sourceMappingURL=datepickerCalendarHeaderStyles.js.map\n","export var datepickerCalendarHeaderCellStyles = {\n root: function root(_ref) {\n var v = _ref.variables;\n return {\n textAlign: 'center',\n verticalAlign: 'middle',\n fontWeight: v.calendarHeaderCellFontWeight,\n height: v.calendarHeaderCellHeight,\n width: v.calendarHeaderCellWidth,\n padding: v.calendarHeaderCellPadding,\n display: 'table-cell'\n };\n }\n};\n//# sourceMappingURL=datepickerCalendarHeaderCellStyles.js.map\n","export var datepickerCalendarGridStyles = {\n root: function root() {\n return {\n 'border-spacing': '0rem',\n tableLayout: 'fixed'\n };\n }\n};\n//# sourceMappingURL=datepickerCalendarGridStyles.js.map\n","export var fontFaces = [{\n name: 'Segoe UI',\n paths: ['https://static2.sharepointonline.com/files/fabric/assets/fonts/segoeui-westeuropean/segoeui-regular.woff2'],\n props: {\n fontWeight: 400\n }\n}, {\n name: 'Segoe UI',\n paths: ['https://static2.sharepointonline.com/files/fabric/assets/fonts/segoeui-westeuropean/segoeui-semibold.woff2'],\n props: {\n fontWeight: 600\n }\n}, {\n name: 'Segoe UI',\n paths: ['https://static2.sharepointonline.com/files/fabric/assets/fonts/segoeui-westeuropean/segoeui-bold.woff2'],\n props: {\n fontWeight: 700\n }\n}];\n//# sourceMappingURL=fontFaces.js.map\n","import { globalStyles } from './globalStyles';\nimport { normalizeCSS } from './normalizeCSS';\nexport var staticStyles = [normalizeCSS, globalStyles];\n//# sourceMappingURL=index.js.map\n","// TODO: this would have to be packaged as a string or object during the build step\n//\n// import normalizeCSS from 'normalize.css'\n// Taken from https://cdnjs.cloudflare.com/ajax/libs/normalize/8.0.1/normalize.min.css\nexport var normalizeCSS = \"/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}\";\n//# sourceMappingURL=normalizeCSS.js.map\n","export var globalStyles = function globalStyles(siteVars) {\n return {\n body: {\n padding: siteVars.bodyPadding,\n margin: siteVars.bodyMargin,\n fontFamily: siteVars.bodyFontFamily,\n fontSize: siteVars.bodyFontSize,\n lineHeight: siteVars.bodyLineHeight\n },\n '*': {\n boxSizing: 'border-box'\n },\n '*:before': {\n boxSizing: 'border-box'\n },\n '*:after': {\n boxSizing: 'border-box'\n },\n\n /* Adding priority for HTML `hidden` attribute to be applied correctly */\n '[hidden]': {\n display: 'none!important'\n }\n };\n};\n//# sourceMappingURL=globalStyles.js.map\n","import { categoryColors, colors } from '../teams/siteVariables';\nimport { createColorScheme } from '../teams/colors';\nexport var colorScheme = /*#__PURE__*/function () {\n var colorScheme = {\n default: createColorScheme({\n foreground: colors.white,\n foreground1: colors.grey[250],\n foreground2: colors.grey[300],\n foreground3: colors.white,\n foreground4: colors.white,\n foreground5: colors.grey[450],\n foreground6: colors.grey[550],\n foreground7: colors.white,\n foreground8: colors.grey[200],\n background: colors.grey[650],\n background1: colors.grey[700],\n background2: colors.grey[800],\n background3: colors.grey[550],\n background4: colors.grey[600],\n background5: colors.grey[250],\n background6: colors.grey[900],\n border: colors.grey[450],\n // buttons\n border1: colors.grey[850],\n border2: colors.grey[900],\n border3: colors.grey[650],\n shadow: colors.black,\n // opacity 25%\n shadowHover: colors.black,\n // opacity 25%\n foregroundHover: colors.white,\n foregroundHover1: colors.white,\n foregroundHover2: colors.white,\n backgroundHover: colors.grey[550],\n backgroundHover1: colors.grey[550],\n backgroundHover2: 'transparent',\n backgroundHover3: colors.grey[850],\n backgroundHover4: colors.grey[600],\n borderHover: colors.grey[400],\n foregroundPressed: colors.white,\n backgroundPressed: colors.grey[500],\n backgroundPressed3: colors.grey[450],\n borderPressed: colors.grey[400],\n foregroundActive: colors.white,\n foregroundActive1: colors.white,\n backgroundActive: colors.grey[800],\n backgroundActive1: colors.grey[500],\n backgroundActive2: colors.grey[600],\n borderActive: colors.grey[450],\n // buttons\n borderActive1: colors.grey[850],\n borderActive2: colors.grey[900],\n borderActive3: colors.grey[650],\n borderActive4: colors.grey[440],\n foregroundFocus: colors.white,\n foregroundFocus1: colors.grey[250],\n foregroundFocus2: colors.grey[300],\n foregroundFocus3: colors.white,\n backgroundFocus: colors.grey[650],\n backgroundFocus1: colors.grey[700],\n backgroundFocus2: colors.grey[800],\n backgroundFocus3: colors.grey[550],\n borderFocusWithin: colors.black,\n borderFocus: colors.white,\n foregroundDisabled1: colors.grey[450],\n foregroundDisabled: colors.grey[450],\n backgroundDisabled: colors.grey[550],\n backgroundDisabled1: colors.grey[550],\n backgroundDisabled2: colors.grey[650],\n backgroundDisabled3: colors.grey[850],\n borderDisabled: colors.grey[550]\n }),\n brand: createColorScheme({\n foreground: colors.brand[400],\n foreground1: colors.brand[400],\n foreground2: colors.brand[400],\n foreground3: colors.brand[200],\n foreground4: colors.white,\n foreground5: colors.grey[750],\n background: colors.brand[600],\n background1: colors.brand[900],\n background2: colors.brand[900],\n background3: colors.brand[1000],\n background4: colors.grey[650],\n background5: colors.brand[900],\n background6: colors.brand[450],\n border: colors.grey[450],\n border1: colors.brand[800],\n border2: colors.brand[800],\n shadow: colors.black,\n // opacity 25%\n shadowHover: colors.black,\n foregroundHover: colors.brand[400],\n foregroundHover1: colors.white,\n foregroundHover2: colors.brand[200],\n borderHover: colors.brand[600],\n backgroundHover: colors.brand[500],\n backgroundHover1: colors.brand[900],\n backgroundHover2: colors.brand[900],\n foregroundPressed: colors.brand[200],\n foregroundPressed1: colors.white,\n backgroundPressed: colors.brand[700],\n backgroundPressed1: colors.brand[800],\n borderPressed: colors.brand[800],\n foregroundActive: colors.brand[400],\n foregroundActive1: colors.brand[400],\n foregroundActive2: colors.brand[200],\n backgroundActive: colors.brand[400],\n backgroundActive1: colors.brand[400],\n // active border no change (just copied)\n borderActive: colors.grey[450],\n // buttons\n borderActive1: colors.brand[800],\n borderActive2: colors.brand[800],\n foregroundFocus: colors.brand[400],\n foregroundFocus1: colors.brand[400],\n foregroundFocus2: colors.brand[400],\n foregroundFocus3: colors.brand[200],\n foregroundFocus4: colors.white,\n backgroundFocus: colors.brand[600],\n backgroundFocus1: colors.brand[900],\n backgroundFocus2: colors.brand[900],\n backgroundFocus3: colors.brand[1000],\n borderFocus: colors.white,\n borderFocusWithin: colors.black,\n borderFocus1: colors.brand[400],\n // only input\n foregroundDisabled1: colors.grey[450],\n foregroundDisabled: colors.grey[450],\n backgroundDisabled1: colors.grey[550],\n backgroundDisabled: colors.grey[550],\n backgroundDisabled2: colors.grey[650],\n borderDisabled: colors.grey[550]\n }),\n black: {\n foreground: colors.black,\n foreground1: colors.grey[750],\n background: colors.white,\n background1: colors.white,\n border: colors.black,\n shadow: colors.black,\n foregroundHover: colors.white,\n backgroundHover: colors.black,\n borderHover: colors.black,\n shadowHover: colors.black,\n foregroundActive: colors.white,\n backgroundActive: colors.black,\n borderActive: colors.black,\n shadowActive: colors.black,\n foregroundFocus: colors.white,\n backgroundFocus: colors.black,\n borderFocus: colors.black,\n shadowFocus: colors.black,\n foregroundPressed: colors.white,\n backgroundPressed: colors.black,\n borderPressed: colors.black,\n shadowPressed: colors.black,\n foregroundDisabled: colors.white,\n backgroundDisabled: colors.black,\n borderDisabled: colors.black,\n shadowDisabled: colors.black\n },\n white: {\n foreground: colors.white,\n foreground1: colors.white,\n background: colors.black,\n background1: colors.grey[700],\n border: colors.white,\n shadow: colors.white,\n foregroundHover: colors.black,\n backgroundHover: colors.white,\n borderHover: colors.white,\n shadowHover: colors.white,\n foregroundActive: colors.black,\n backgroundActive: colors.white,\n borderActive: colors.white,\n shadowActive: colors.white,\n foregroundFocus: colors.black,\n backgroundFocus: colors.white,\n borderFocus: colors.white,\n shadowFocus: colors.white,\n foregroundPressed: colors.black,\n backgroundPressed: colors.white,\n borderPressed: colors.white,\n shadowPressed: colors.white,\n foregroundDisabled: colors.black,\n backgroundDisabled: colors.white,\n borderDisabled: colors.white,\n shadowDisabled: colors.white\n },\n green: createColorScheme({\n foreground: colors.green[200],\n foreground1: colors.grey[800],\n foreground2: colors.green[200],\n foreground3: colors.green[750],\n background: colors.green[200],\n background1: colors.green[200],\n background2: colors.green[800],\n border: colors.green[900]\n }),\n orange: createColorScheme({\n foreground: colors.orange[300],\n foreground1: colors.orange[300],\n foreground2: colors.grey[750],\n background: colors.orange[300],\n background1: colors.orange[300],\n border: colors.grey[400]\n }),\n pink: createColorScheme({\n foreground: colors.pink[200],\n foreground1: colors.pink[400],\n background: colors.pink[800],\n border: colors.pink[900]\n }),\n red: createColorScheme({\n foreground: colors.red[200],\n foreground1: colors.white,\n foreground2: colors.grey[800],\n background: colors.red[300],\n background1: colors.red[800],\n background2: colors.ruby[500],\n background3: colors.red[400],\n border: colors.red[900],\n foregroundHover: colors.white,\n backgroundHover: colors.ruby[600],\n backgroundHover1: colors.red[400],\n foregroundPressed: colors.white,\n backgroundPressed: colors.ruby[700]\n }),\n yellow: createColorScheme({\n foreground: colors.yellow[300],\n foreground1: colors.grey[800],\n foreground2: colors.grey[800],\n foreground3: colors.grey[750],\n foreground4: colors.yellow[200],\n background: colors.yellow[400],\n background1: colors.grey[450],\n background2: colors.yellow[500],\n background3: colors.yellow[800],\n border: colors.yellow[900]\n }),\n silver: createColorScheme({\n foreground: colors.white,\n foreground1: colors.silver[200],\n foregroundHover: colors.white,\n foregroundPressed: colors.white,\n border: colors.silver[600],\n background: 'transparent',\n backgroundHover: colors.silver[800],\n borderHover: colors.silver[600],\n backgroundPressed: colors.silver[700],\n borderPressed: colors.silver[600],\n foregroundDisabled: colors.silver[600],\n backgroundDisabled: colors.silver[900]\n }),\n onyx: createColorScheme({\n background: colors.onyx[500],\n background1: colors.onyx[100],\n background2: colors.onyx[500],\n background3: colors.onyx[700],\n backgroundHover: colors.onyx[900],\n backgroundPressed: colors.onyx[900],\n border: colors.onyx[800],\n border1: 'transparent',\n border2: colors.silver[400]\n }),\n amethyst: createColorScheme({\n background: colors.onyx[200],\n backgroundHover: colors.amethyst[700],\n backgroundHover1: colors.grey[750],\n backgroundActive: colors.amethyst[700]\n })\n };\n colorScheme.grey = colorScheme.default;\n return colorScheme;\n}();\n\nvar createCategoryColorScheme = function createCategoryColorScheme(color, customValues) {\n if (customValues === void 0) {\n customValues = {};\n }\n\n return Object.assign({\n foreground: categoryColors[color][250],\n foreground1: categoryColors[color][550],\n background: categoryColors[color][800],\n borderActive: categoryColors[color][350]\n }, customValues);\n};\n\nexport var categoryColorScheme = {\n redDark: createCategoryColorScheme('redDark'),\n red: createCategoryColorScheme('red'),\n orangeDark: createCategoryColorScheme('orangeDark'),\n orange: createCategoryColorScheme('orange'),\n orangeLight: createCategoryColorScheme('orangeLight'),\n yellowDark: createCategoryColorScheme('yellowDark'),\n yellow: createCategoryColorScheme('yellow'),\n brown: createCategoryColorScheme('brown'),\n oliveDark: createCategoryColorScheme('oliveDark'),\n olive: createCategoryColorScheme('olive'),\n greenDark: createCategoryColorScheme('greenDark'),\n green: createCategoryColorScheme('green'),\n tealDark: createCategoryColorScheme('tealDark'),\n teal: createCategoryColorScheme('teal'),\n tealLight: createCategoryColorScheme('tealLight'),\n blueDark: createCategoryColorScheme('blueDark'),\n blue: createCategoryColorScheme('blue'),\n purpleDark: createCategoryColorScheme('purpleDark'),\n purple: createCategoryColorScheme('purple'),\n maroon: createCategoryColorScheme('maroon'),\n pink: createCategoryColorScheme('pink'),\n smokeDark: createCategoryColorScheme('smokeDark'),\n smokeLight: createCategoryColorScheme('smokeLight'),\n steelDark: createCategoryColorScheme('steelDark'),\n steelLight: createCategoryColorScheme('steelLight'),\n neon: createCategoryColorScheme('neon'),\n formatting: {\n foreground1: categoryColors.red[250],\n background1: categoryColors.red[700],\n foreground2: categoryColors.orangeDark[350],\n background2: categoryColors.orange[700],\n foreground3: categoryColors.yellow[250],\n background3: categoryColors.yellow[800],\n foreground4: categoryColors.neon[150],\n background4: categoryColors.neon[800],\n foreground5: categoryColors.green[250],\n background5: categoryColors.green[700],\n foreground6: categoryColors.tealLight[250],\n background6: categoryColors.tealLight[700],\n foreground7: categoryColors.blueDark[250],\n background7: categoryColors.blueDark[450],\n foreground8: categoryColors.maroon[350],\n background8: categoryColors.maroon[800]\n }\n};\n//# sourceMappingURL=colors.js.map\n","import { colors } from '../teams/siteVariables';\nexport { colorScheme, categoryColorScheme } from './colors'; //\n// BORDER STYLES\n//\n\nexport var focusInnerBorderColor = colors.black;\nexport var focusOuterBorderColor = colors.white; //\n// SHADOW LEVELS\n//\n\nexport var shadowLevel1 = '0 .2rem .4rem -.075rem rgba(0, 0, 0, .25)';\nexport var shadowLevel2 = '0 .4rem 0.7rem -0.1rem rgba(0, 0, 0, .25)';\nexport var shadowLevel3 = '0 .8rem 1rem -0.2rem rgba(0, 0, 0, .25)';\nexport var shadowLevel4 = '0 .6rem 1.8rem -0.4rem rgba(0, 0, 0, .25)'; //\n// SEMANTIC ASSIGNMENTS\n//\n\nexport var bodyBackground = colors.grey[650];\nexport var bodyColor = colors.white;\n//# sourceMappingURL=siteVariables.js.map\n","import { menuColorAreas } from '../../../teams/components/Menu/menuVariables';\nimport { extendColorScheme, pickValuesFromColorScheme } from '../../../colorUtils';\nexport var menuVariables = function menuVariables(siteVars) {\n return {\n colorScheme: pickValuesFromColorScheme(extendColorScheme(siteVars.colorScheme, {\n default: {\n borderActive: siteVars.colors.grey[600],\n backgroundFocus: siteVars.colors.grey[500],\n backgroundActive: siteVars.colorScheme.default.backgroundActive1,\n foregroundDisabled: siteVars.colorScheme.default.foregroundDisabled1\n },\n brand: {\n foregroundHover: siteVars.colors.white,\n backgroundHover: siteVars.colors.brand[300],\n borderActive: siteVars.colors.brand[400],\n foregroundActive: siteVars.colors.white,\n foregroundFocus: siteVars.colors.white,\n backgroundFocus: siteVars.colors.brand[300],\n foregroundDisabled: siteVars.colorScheme.brand.foregroundDisabled1\n }\n }), menuColorAreas),\n color: siteVars.colors.grey[250],\n colorActive: siteVars.colors.white,\n borderColor: siteVars.colorScheme.default.border2,\n primaryBorderColor: siteVars.colors.grey[600],\n pointingIndicatorBackgroundColor: siteVars.colors.brand[400],\n activeUnderlinedBorderBottomColor: siteVars.colors.white,\n activeUnderlinedPrimaryColor: siteVars.colors.brand[400],\n verticalBackgroundColorFocus: siteVars.colors.grey[550],\n iconOnlyColorActive: siteVars.colors.brand[400],\n iconOnlyColorFocus: siteVars.colors.brand[400],\n iconOnlyColorHover: siteVars.colors.brand[400],\n wrapperColorActive: siteVars.colors.grey[250],\n wrapperColorFocus: siteVars.colors.white,\n wrapperColorHover: siteVars.colors.white,\n primaryIndicatorColorHover: siteVars.colors.white,\n wrapperBackgroundColorFocus: siteVars.colors.brand[400],\n underlinedWrapperColorHover: siteVars.colors.white,\n primaryWrapperColorFocus: siteVars.colors.white,\n primaryWrapperBackgroundColorFocus: siteVars.colors.brand[400],\n indicatorColor: siteVars.colors.grey[250],\n activeIndicatorColor: siteVars.colors.white,\n activePrimaryIndicatorColor: siteVars.colors.white,\n activePrimaryVerticalIndicatorColor: siteVars.colors.white,\n indicatorColorHover: siteVars.colors.white\n };\n};\n//# sourceMappingURL=menuVariables.js.map\n","import { createTheme, mergeThemes } from '@fluentui/styles';\nimport * as siteVariables from './siteVariables';\nimport * as componentVariables from './componentVariables';\nimport { teamsTheme } from '../teams';\nexport var teamsDarkTheme = mergeThemes(teamsTheme, createTheme({\n siteVariables: siteVariables,\n componentVariables: componentVariables\n}, 'teams-dark'));\n//# sourceMappingURL=index.js.map\n","export var avatarVariables = function avatarVariables(siteVariables) {\n return {\n iconColor: siteVariables.colors.grey[800],\n iconBackgroundColor: siteVariables.colors.brand[400]\n };\n};\n//# sourceMappingURL=avatarVariables.js.map\n","export var chatVariables = function chatVariables(siteVars) {\n return {\n backgroundColor: siteVars.colors.grey[800]\n };\n};\n//# sourceMappingURL=chatVariables.js.map\n","export var chatMessageVariables = function chatMessageVariables(siteVars) {\n return {\n backgroundColor: siteVars.colors.grey[600],\n backgroundColorMine: siteVars.colors.brand[900],\n authorColor: siteVars.colors.grey[250],\n contentColor: siteVars.colors.white,\n color: siteVars.colors.white,\n timestampColorMine: siteVars.colors.grey[250],\n hasMentionNubbinColor: siteVars.colors.orange[300],\n isImportantColor: siteVars.colors.red[300]\n };\n};\n//# sourceMappingURL=chatMessageVariables.js.map\n","export var dialogVariables = function dialogVariables(siteVars) {\n return {\n rootBackground: siteVars.colors.grey[650],\n foregroundColor: siteVars.colors.white\n };\n};\n//# sourceMappingURL=dialogVariables.js.map\n","import { dividerColorAreas } from '../../../teams/components/Divider/dividerVariables';\nimport { extendColorScheme, pickValuesFromColorScheme } from '../../../colorUtils';\nexport var dividerVariables = function dividerVariables(siteVars) {\n return {\n colorScheme: pickValuesFromColorScheme(extendColorScheme(siteVars.colorScheme, {\n brand: {\n foreground: siteVars.colors.brand[400],\n border: siteVars.colors.brand[400]\n }\n }), dividerColorAreas),\n textColor: siteVars.colors.grey[250],\n dividerColor: siteVars.colors.grey[550]\n };\n};\n//# sourceMappingURL=dividerVariables.js.map\n","export var headerVariables = function headerVariables(siteVars) {\n return {\n color: siteVars.colors.white,\n descriptionColor: siteVars.colors.grey[250]\n };\n};\n//# sourceMappingURL=headerVariables.js.map\n","export var headerDescriptionVariables = function headerDescriptionVariables(siteVariables) {\n return {\n color: siteVariables.colors.grey[250]\n };\n};\n//# sourceMappingURL=headerDescriptionVariables.js.map\n","export var radioGroupItemVariables = function radioGroupItemVariables(siteVars) {\n return {\n colorDisabled: siteVars.colors.grey[450],\n textColorDefault: siteVars.colors.grey[250],\n textColorDefaultHoverFocus: siteVars.colors.white,\n textColorChecked: siteVars.colors.white,\n indicatorColorDefault: siteVars.colors.grey[250],\n indicatorBorderColorDefaultHover: siteVars.colors.white,\n indicatorBorderColorChecked: siteVars.colors.brand[400],\n indicatorBackgroundColorChecked: siteVars.colors.brand[400]\n };\n};\n//# sourceMappingURL=radioGroupItemVariables.js.map\n","export var segmentVariables = function segmentVariables(siteVars) {\n return {\n disabledColor: siteVars.colors.grey[450],\n disabledBackgroundColor: siteVars.colors.grey[550]\n };\n};\n//# sourceMappingURL=segmentVariables.js.map\n","export var textVariables = function textVariables(siteVariables) {\n return {\n atMentionMeColor: siteVariables.colors.orange[300],\n atMentionOtherColor: siteVariables.colors.brand[400],\n disabledColor: siteVariables.colors.grey[450],\n errorColor: siteVariables.colors.red[300],\n importantColor: siteVariables.colors.red[300],\n successColor: siteVariables.colors.green[200],\n timestampColor: siteVariables.colors.grey[400]\n };\n};\n//# sourceMappingURL=textVariables.js.map\n","export var svgIconVariables = function svgIconVariables(siteVars) {\n return {\n disabledColor: siteVars.colors.grey[450]\n };\n};\n//# sourceMappingURL=svgIconVariables.js.map\n","export var reactionVariables = function reactionVariables(siteVars) {\n return {\n meReactingColor: siteVars.colors.brand[400],\n meReactingColorHover: siteVars.colors.brand[300],\n otherReactingColor: siteVars.colors.grey[300],\n otherReactingColorHover: siteVars.colors.white\n };\n};\n//# sourceMappingURL=reactionVariables.js.map\n","export var providerVariables = function providerVariables(siteVariables) {\n return {\n scrollbarThumbBackgroundColor: siteVariables.colors.silver[500],\n scrollbarThumbHoverBackgroundColor: siteVariables.colors.silver[500]\n };\n};\n//# sourceMappingURL=providerVariables.js.map\n","export var labelVariables = function labelVariables(siteVars) {\n return {\n foreground: 'rgba(45, 44, 44, 1)',\n background: 'rgb(255, 255, 255)',\n blackForeground: siteVars.colorScheme.black.foreground1,\n blackBackground: siteVars.colorScheme.black.background1,\n whiteForeground: siteVars.colorScheme.white.foreground1,\n whiteBackground: siteVars.colorScheme.white.background1,\n brandForeground: siteVars.colorScheme.brand.foreground5,\n brandBackground: siteVars.colorScheme.brand.background6,\n greyForeground: siteVars.colorScheme.grey.foreground7,\n greyBackground: siteVars.colorScheme.grey.background6,\n orangeForeground: siteVars.colorScheme.orange.foreground2,\n orangeBackground: siteVars.colorScheme.orange.background1,\n redForeground: siteVars.colorScheme.red.foreground1,\n redBackground: siteVars.colorScheme.red.background,\n greenForeground: siteVars.colorScheme.green.foreground3,\n greenBackground: siteVars.colorScheme.green.background1,\n yellowForeground: siteVars.colorScheme.yellow.foreground3,\n yellowBackground: siteVars.colorScheme.yellow.background\n };\n};\n//# sourceMappingURL=labelVariables.js.map\n","export var datepickerCalendarCellVariables = function datepickerCalendarCellVariables(siteVars) {\n return {\n calendarCellSelectedColor: siteVars.colors.white\n };\n};\n//# sourceMappingURL=datepickerCalendarCellVariables.js.map\n","export var datepickerCalendarCellButtonVariables = function datepickerCalendarCellButtonVariables(siteVars) {\n return {\n calendarCellSelectedColor: siteVars.colors.white\n };\n};\n//# sourceMappingURL=datepickerCalendarCellButtonVariables.js.map\n","import { colors } from '../teams/siteVariables';\nimport { createColorScheme as createEmptyColorScheme } from '../teams/colors';\nexport var accessibleYellow = '#ffff01';\nexport var accessibleGreen = '#3ff23f'; // always disabled color in high contrast\n\nexport var accessibleCyan = '#1aebff';\nexport var red = '#f00'; // COLOR SCHEME\n\nvar createColorScheme = function createColorScheme(customValues) {\n if (customValues === void 0) {\n customValues = {};\n }\n\n return Object.assign({\n foreground: colors.white,\n foreground1: colors.black,\n background: colors.black,\n background1: colors.white,\n border: colors.white,\n shadow: colors.white,\n foregroundHover: accessibleYellow,\n backgroundHover: colors.black,\n borderHover: accessibleCyan,\n shadowHover: accessibleCyan,\n foregroundActive: accessibleCyan,\n backgroundActive: colors.black,\n borderActive: accessibleCyan,\n shadowActive: accessibleCyan,\n foregroundFocus: colors.black,\n backgroundFocus: accessibleCyan,\n borderFocus: colors.white,\n shadowFocus: colors.white,\n foregroundPressed: colors.black,\n backgroundPressed: accessibleCyan,\n borderPressed: colors.white,\n shadowPressed: colors.white,\n foregroundDisabled: colors.black,\n backgroundDisabled: accessibleGreen,\n borderDisabled: colors.black,\n shadowDisabled: colors.black\n }, customValues);\n};\n\nexport var colorScheme = {\n default: createEmptyColorScheme({\n foreground: colors.white,\n foreground1: colors.white,\n foreground2: colors.white,\n foreground3: colors.white,\n foreground4: colors.black,\n foreground5: colors.grey[600],\n foreground6: colors.grey[750],\n foreground7: colors.black,\n foreground8: colors.black,\n background: colors.black,\n background1: colors.black,\n background2: colors.black,\n background3: colors.black,\n background4: colors.black,\n background5: accessibleYellow,\n border: colors.white,\n border1: colors.white,\n border2: colors.white,\n border3: colors.white,\n shadow: colors.black,\n // opacity 25%\n shadowHover: colors.black,\n // opacity 25%\n foregroundHover: colors.black,\n foregroundHover1: colors.black,\n foregroundHover2: accessibleCyan,\n backgroundHover: accessibleCyan,\n backgroundHover1: accessibleCyan,\n backgroundHover2: accessibleCyan,\n backgroundHover3: colors.black,\n backgroundHover4: colors.black,\n borderHover: accessibleCyan,\n foregroundPressed: colors.black,\n backgroundPressed: accessibleCyan,\n backgroundPressed3: accessibleCyan,\n borderPressed: accessibleCyan,\n foregroundActive: accessibleCyan,\n foregroundActive1: colors.black,\n backgroundActive: colors.black,\n backgroundActive1: accessibleCyan,\n backgroundActive2: accessibleCyan,\n borderActive: accessibleCyan,\n // buttons\n borderActive1: accessibleCyan,\n borderActive2: accessibleCyan,\n borderActive3: accessibleCyan,\n borderActive4: accessibleCyan,\n foregroundFocus: colors.black,\n foregroundFocus1: colors.black,\n foregroundFocus2: colors.black,\n foregroundFocus3: colors.black,\n backgroundFocus: accessibleCyan,\n backgroundFocus1: accessibleCyan,\n backgroundFocus2: accessibleCyan,\n backgroundFocus3: accessibleCyan,\n borderFocusWithin: colors.black,\n borderFocus: accessibleCyan,\n foregroundDisabled1: accessibleGreen,\n foregroundDisabled: colors.black,\n backgroundDisabled: accessibleGreen,\n backgroundDisabled1: colors.black,\n backgroundDisabled2: accessibleGreen,\n backgroundDisabled3: accessibleGreen,\n borderDisabled: accessibleGreen\n }),\n brand: createEmptyColorScheme({\n foreground: colors.white,\n foreground1: accessibleYellow,\n foreground2: accessibleYellow,\n foreground3: accessibleYellow,\n foreground4: colors.black,\n foreground5: colors.black,\n background: colors.white,\n background1: colors.black,\n background2: colors.black,\n background3: colors.black,\n background4: colors.black,\n background5: colors.white,\n background6: colors.white,\n border: colors.white,\n // buttons\n border1: colors.white,\n border2: colors.white,\n shadow: colors.black,\n // opacity 25%\n shadowHover: colors.black,\n foregroundHover: colors.black,\n foregroundHover1: colors.black,\n foregroundHover2: colors.black,\n borderHover: accessibleCyan,\n backgroundHover: accessibleCyan,\n backgroundHover1: accessibleCyan,\n backgroundHover2: accessibleYellow,\n foregroundPressed: colors.black,\n foregroundPressed1: colors.black,\n backgroundPressed: accessibleCyan,\n backgroundPressed1: accessibleCyan,\n borderPressed: accessibleCyan,\n foregroundActive: accessibleCyan,\n foregroundActive1: colors.black,\n foregroundActive2: accessibleCyan,\n backgroundActive: colors.black,\n backgroundActive1: accessibleCyan,\n borderActive: accessibleCyan,\n // buttons\n borderActive1: accessibleCyan,\n borderActive2: accessibleCyan,\n foregroundFocus: colors.black,\n foregroundFocus1: colors.black,\n foregroundFocus2: colors.black,\n foregroundFocus3: colors.black,\n foregroundFocus4: colors.black,\n backgroundFocus: accessibleCyan,\n backgroundFocus1: accessibleCyan,\n backgroundFocus2: accessibleCyan,\n backgroundFocus3: accessibleCyan,\n borderFocus: accessibleCyan,\n borderFocusWithin: colors.black,\n borderFocus1: accessibleCyan,\n foregroundDisabled: colors.black,\n foregroundDisabled1: accessibleGreen,\n backgroundDisabled: accessibleGreen,\n backgroundDisabled1: colors.black,\n borderDisabled: accessibleGreen\n }),\n black: createColorScheme(),\n white: createColorScheme(),\n grey: createColorScheme(),\n green: createEmptyColorScheme({\n foreground: colors.white,\n foreground1: colors.black,\n foreground2: colors.white,\n foreground3: colors.black,\n background: colors.white,\n background1: colors.white,\n background2: colors.black,\n border: colors.white,\n shadow: undefined,\n foregroundHover: undefined,\n backgroundHover: undefined,\n borderHover: undefined,\n shadowHover: undefined,\n foregroundActive: undefined,\n backgroundActive: undefined,\n borderActive: undefined,\n shadowActive: undefined,\n foregroundFocus: undefined,\n backgroundFocus: undefined,\n borderFocus: undefined,\n shadowFocus: undefined,\n foregroundPressed: undefined,\n backgroundPressed: undefined,\n borderPressed: undefined,\n shadowPressed: undefined,\n foregroundDisabled: undefined,\n backgroundDisabled: undefined,\n borderDisabled: undefined,\n shadowDisabled: undefined\n }),\n orange: createEmptyColorScheme({\n foreground: accessibleYellow,\n foreground1: accessibleYellow,\n foreground2: colors.black,\n background: accessibleYellow,\n background1: colors.white,\n border: accessibleCyan\n }),\n pink: createEmptyColorScheme({\n foreground: colors.white,\n foreground1: colors.white,\n background: colors.black,\n border: colors.white\n }),\n red: createEmptyColorScheme({\n foreground: colors.white,\n foreground1: colors.black,\n foreground2: colors.black,\n background: colors.white,\n background1: colors.black,\n background2: colors.black,\n background3: accessibleYellow,\n border: colors.white,\n foregroundHover: colors.black,\n backgroundHover: accessibleCyan,\n backgroundHover1: accessibleCyan,\n foregroundPressed: colors.black,\n backgroundPressed: accessibleCyan\n }),\n yellow: createEmptyColorScheme({\n foreground: colors.white,\n foreground1: colors.black,\n foreground2: colors.black,\n foreground3: colors.black,\n foreground4: colors.white,\n background: colors.white,\n background2: colors.white,\n background3: colors.black,\n border: colors.white\n }),\n silver: createEmptyColorScheme({\n foreground: colors.white,\n foreground1: colors.white,\n foregroundHover: colors.black,\n foregroundPressed: colors.black,\n background: colors.black,\n border: colors.white,\n backgroundHover: accessibleCyan,\n borderHover: colors.white,\n backgroundPressed: accessibleCyan,\n borderPressed: colors.white,\n foregroundDisabled: accessibleGreen,\n backgroundDisabled: colors.black,\n borderDisabled: accessibleGreen\n }),\n onyx: createEmptyColorScheme({\n background: colors.black,\n background1: colors.black,\n background2: colors.white,\n background3: colors.white,\n backgroundHover: accessibleCyan,\n backgroundPressed: accessibleCyan,\n border: colors.white,\n border1: colors.white,\n border2: colors.white\n }),\n amethyst: createEmptyColorScheme({\n background: colors.silver[900],\n backgroundHover: accessibleCyan,\n backgroundHover1: accessibleCyan,\n backgroundActive: accessibleCyan\n })\n};\n\nvar createCategoryColorScheme = function createCategoryColorScheme(customValues) {\n if (customValues === void 0) {\n customValues = {};\n }\n\n return Object.assign({\n foreground: colors.black,\n foreground1: accessibleYellow,\n background: accessibleYellow,\n borderActive: accessibleCyan\n }, customValues);\n};\n\nexport var categoryColorScheme = {\n redDark: createCategoryColorScheme(),\n red: createCategoryColorScheme(),\n orangeDark: createCategoryColorScheme(),\n orange: createCategoryColorScheme(),\n orangeLight: createCategoryColorScheme(),\n yellowDark: createCategoryColorScheme(),\n yellow: createCategoryColorScheme(),\n brown: createCategoryColorScheme(),\n oliveDark: createCategoryColorScheme(),\n olive: createCategoryColorScheme(),\n greenDark: createCategoryColorScheme(),\n green: createCategoryColorScheme(),\n tealDark: createCategoryColorScheme(),\n teal: createCategoryColorScheme(),\n tealLight: createCategoryColorScheme(),\n blueDark: createCategoryColorScheme(),\n blue: createCategoryColorScheme(),\n purpleDark: createCategoryColorScheme(),\n purple: createCategoryColorScheme(),\n maroon: createCategoryColorScheme(),\n pink: createCategoryColorScheme(),\n smokeDark: createCategoryColorScheme(),\n smokeLight: createCategoryColorScheme(),\n steelDark: createCategoryColorScheme(),\n steelLight: createCategoryColorScheme(),\n neon: createCategoryColorScheme(),\n formatting: {\n foreground1: undefined,\n background1: undefined,\n foreground2: undefined,\n background2: undefined,\n foreground3: undefined,\n background3: undefined,\n foreground4: undefined,\n background4: undefined,\n foreground5: undefined,\n background5: undefined,\n foreground6: undefined,\n background6: undefined,\n foreground7: undefined,\n background7: undefined,\n foreground8: undefined,\n background8: undefined\n }\n};\n//# sourceMappingURL=colors.js.map\n","import { colors } from '../teams/siteVariables';\nimport { accessibleCyan } from './colors';\nexport * from './colors'; //\n// BORDER STYLES\n//\n\nexport var focusInnerBorderColor = colors.black;\nexport var focusOuterBorderColor = accessibleCyan; //\n// SEMANTIC ASSIGNMENTS\n//\n\nexport var bodyBackground = colors.black;\nexport var bodyColor = colors.white;\n//# sourceMappingURL=siteVariables.js.map\n","export var avatarVariables = function avatarVariables(siteVariables) {\n return {\n avatarBorderColor: siteVariables.colors.white,\n avatarBorderWidth: '2px',\n statusBorderColor: siteVariables.colors.black,\n iconColor: siteVariables.colors.black,\n iconBackgroundColor: siteVariables.accessibleYellow\n };\n};\n//# sourceMappingURL=avatarVariables.js.map\n","import { menuColorAreas } from '../../../teams/components/Menu/menuVariables';\nimport { extendColorScheme, pickValuesFromColorScheme } from '../../../colorUtils';\nexport var menuVariables = function menuVariables(siteVars) {\n return {\n colorScheme: pickValuesFromColorScheme(extendColorScheme(siteVars.colorScheme, {\n default: {\n backgroundActive: siteVars.colorScheme.default.backgroundActive1,\n backgroundFocus: siteVars.colorScheme.default.backgroundFocus1,\n foregroundDisabled: siteVars.colorScheme.default.foregroundDisabled1\n },\n brand: {\n foregroundActive: siteVars.colors.black,\n foregroundDisabled: siteVars.colorScheme.brand.foregroundDisabled1\n }\n }), menuColorAreas),\n color: siteVars.colors.white,\n colorActive: siteVars.colors.black,\n colorFocus: siteVars.colors.white,\n backgroundColorFocus: siteVars.accessibleCyan,\n backgroundColorActive: siteVars.accessibleCyan,\n primaryBorderColor: siteVars.colors.white,\n activeUnderlinedColor: siteVars.colors.white,\n activeUnderlinedBorderBottomColor: siteVars.colors.white,\n activeUnderlinedWrapperColor: siteVars.colors.white,\n pointingIndicatorBackgroundColor: 'transparent',\n verticalBackgroundColorFocus: undefined,\n iconOnlyColorActive: siteVars.colors.black,\n iconOnlyColorFocus: 'transparent',\n iconOnlyColorHover: siteVars.colors.black,\n iconOnlyWrapperBackgroundColorFocus: siteVars.accessibleCyan,\n activeIconOnlyWrapperBackgroundColor: siteVars.accessibleCyan,\n activeUnderlinedPrimaryColor: siteVars.colors.white,\n wrapperColorActive: siteVars.colors.black,\n wrapperBackgroundColorFocus: siteVars.accessibleCyan,\n wrapperColorFocus: siteVars.colors.black,\n primaryWrapperColorHover: siteVars.colors.black,\n wrapperColorHover: siteVars.colors.black,\n primaryWrapperColorFocus: siteVars.colors.black,\n primaryWrapperBackgroundColorFocus: siteVars.accessibleCyan,\n underlinedColorHover: siteVars.colors.white,\n underlinedWrapperColorHover: siteVars.colors.white,\n iconOnlyBackgroundColorHover: siteVars.accessibleCyan,\n indicatorColor: siteVars.colors.white,\n activeIndicatorColor: siteVars.colors.black,\n activePrimaryIndicatorColor: siteVars.colors.black,\n activePrimaryVerticalIndicatorColor: siteVars.colors.black,\n indicatorColorHover: siteVars.colors.black,\n primaryIndicatorColorHover: siteVars.colors.black,\n borderColorFocus: siteVars.colors.black,\n outlineColorFocus: siteVars.accessibleCyan\n };\n};\n//# sourceMappingURL=menuVariables.js.map\n","import { toolbarColorAreas } from '../../../teams/components/Toolbar/toolbarVariables';\nimport { extendColorScheme, pickValuesFromColorScheme } from '../../../colorUtils';\nexport var toolbarVariables = function toolbarVariables(siteVars) {\n return {\n colorScheme: pickValuesFromColorScheme(extendColorScheme(siteVars.colorScheme, {\n default: {\n foregroundHover: siteVars.colorScheme.brand.foregroundHover,\n foregroundActive: siteVars.accessibleYellow,\n menuItemForegroundHover: siteVars.colorScheme.default.foregroundHover,\n menuItemBackgroundHover: siteVars.colorScheme.default.backgroundHover\n }\n }), toolbarColorAreas),\n borderWidth: '0',\n borderRadius: undefined,\n menuBoxShadow: undefined\n };\n};\n//# sourceMappingURL=toolbarVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var dropdownVariables = function dropdownVariables(siteVars) {\n return {\n borderColor: siteVars.colorScheme.default.border,\n borderColorHover: siteVars.colorScheme.default.borderHover,\n borderWidth: pxToRem(1),\n listBorderColor: siteVars.colors.white,\n listBoxShadow: undefined,\n listBorderWidth: pxToRem(1),\n listItemSelectedColor: siteVars.accessibleCyan,\n selectedItemBorder: pxToRem(1) + \" solid \" + siteVars.colors.white\n };\n};\n//# sourceMappingURL=dropdownVariables.js.map\n","import { mergeThemes, createTheme } from '@fluentui/styles';\nimport * as siteVariables from './siteVariables';\nimport * as componentVariables from './componentVariables';\nimport { teamsTheme } from '../teams';\nexport var teamsHighContrastTheme = mergeThemes(teamsTheme, createTheme({\n siteVariables: siteVariables,\n componentVariables: componentVariables\n}, 'teams-high-contrast'));\n//# sourceMappingURL=index.js.map\n","export var buttonVariables = function buttonVariables(siteVars) {\n return {\n backgroundColorActive: siteVars.colors.white,\n backgroundColorFocus: siteVars.accessibleCyan,\n borderColorActive: siteVars.colors.white,\n borderColorHover: 'transparent',\n borderColorFocus: 'transparent',\n backgroundColorDisabled: siteVars.accessibleGreen,\n colorFocus: siteVars.colorScheme.default.foregroundHover,\n primaryBackgroundColorActive: siteVars.colors.white,\n primaryBackgroundColorFocus: siteVars.accessibleCyan,\n boxShadow: 'none',\n primaryBoxShadow: 'none'\n };\n};\n//# sourceMappingURL=buttonVariables.js.map\n","export var chatVariables = function chatVariables(siteVars) {\n return {\n backgroundColor: siteVars.colors.black\n };\n};\n//# sourceMappingURL=chatVariables.js.map\n","export var chatMessageVariables = function chatMessageVariables(siteVars) {\n return {\n backgroundColor: siteVars.colors.black,\n backgroundColorMine: siteVars.colors.black,\n authorColor: siteVars.colors.white,\n contentColor: siteVars.colors.white,\n color: siteVars.colors.white,\n border: \"1px solid \" + siteVars.colors.white,\n hasMentionColor: siteVars.accessibleYellow,\n hasMentionNubbinColor: siteVars.accessibleYellow,\n isImportantColor: siteVars.accessibleYellow,\n badgeTextColor: siteVars.colors.black,\n timestampColorMine: siteVars.colors.white,\n reactionGroupBorderColor: siteVars.colors.white\n };\n};\n//# sourceMappingURL=chatMessageVariables.js.map\n","export var checkboxVariables = function checkboxVariables(siteVars) {\n return {\n borderColorHover: siteVars.accessibleCyan,\n disabledToggleIndicatorColor: siteVars.accessibleGreen\n };\n};\n//# sourceMappingURL=checkboxVariables.js.map\n","export var dialogVariables = function dialogVariables(siteVars) {\n return {\n boxShadow: 'none',\n border: \"1px solid \" + siteVars.colors.white,\n rootBackground: siteVars.colors.black,\n foregroundColor: siteVars.colors.white\n };\n};\n//# sourceMappingURL=dialogVariables.js.map\n","export var dividerVariables = function dividerVariables(siteVars) {\n return {\n dividerColor: siteVars.colors.white,\n textColor: siteVars.colors.white\n };\n};\n//# sourceMappingURL=dividerVariables.js.map\n","export var embedVariables = function embedVariables(siteVariables) {\n return {\n controlColor: siteVariables.bodyColor,\n controlBackgroundColor: siteVariables.bodyBackground\n };\n};\n//# sourceMappingURL=embedVariables.js.map\n","export var headerVariables = function headerVariables(siteVars) {\n return {\n color: siteVars.colors.white,\n descriptionColor: siteVars.colors.white\n };\n};\n//# sourceMappingURL=headerVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var inputVariables = function inputVariables(siteVars) {\n return {\n borderColor: siteVars.bodyColor,\n borderWidth: pxToRem(1) + \" \" + pxToRem(1) + \" \" + pxToRem(2) + \" \" + pxToRem(1),\n inputFocusBorderColor: siteVars.colors.white + \" \" + siteVars.colors.white + \" \" + siteVars.colorScheme.brand.borderFocus1 + \" \" + siteVars.colors.white\n };\n};\n//# sourceMappingURL=inputVariables.js.map\n","export var radioGroupItemVariables = function radioGroupItemVariables(siteVars) {\n return {\n colorDisabled: siteVars.accessibleGreen,\n textColorDefault: siteVars.colors.white,\n textColorDefaultHoverFocus: siteVars.colors.white,\n textColorChecked: siteVars.colors.white,\n indicatorColorDefault: siteVars.colors.white,\n indicatorBorderColorDefaultHover: siteVars.accessibleCyan,\n indicatorBorderColorChecked: siteVars.accessibleCyan,\n indicatorBackgroundColorChecked: siteVars.accessibleCyan\n };\n};\n//# sourceMappingURL=radioGroupItemVariables.js.map\n","export var segmentVariables = function segmentVariables(siteVars) {\n return {\n disabledColor: siteVars.colors.black,\n disabledBackgroundColor: siteVars.accessibleGreen\n };\n};\n//# sourceMappingURL=segmentVariables.js.map\n","export var textVariables = function textVariables(siteVariables) {\n return {\n atMentionMeColor: siteVariables.accessibleYellow,\n atMentionOtherColor: siteVariables.accessibleYellow,\n disabledColor: siteVariables.accessibleGreen,\n errorColor: siteVariables.red,\n importantColor: siteVariables.red,\n successColor: siteVariables.colors.green[200],\n timestampColor: siteVariables.colors.white\n };\n};\n//# sourceMappingURL=textVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var textAreaVariables = function textAreaVariables(siteVars) {\n return {\n borderColor: siteVars.bodyColor,\n borderWidth: pxToRem(1) + \" \" + pxToRem(1) + \" \" + pxToRem(2) + \" \" + pxToRem(1),\n borderColorFocus: siteVars.colors.white + \" \" + siteVars.colors.white + \" \" + siteVars.colorScheme.brand.borderFocus1 + \" \" + siteVars.colors.white\n };\n};\n//# sourceMappingURL=textAreaVariables.js.map\n","export var reactionVariables = function reactionVariables(siteVars) {\n return {\n meReactingColor: siteVars.accessibleCyan,\n meReactingColorHover: siteVars.accessibleCyan,\n otherReactingColor: siteVars.accessibleYellow,\n otherReactingColorHover: siteVars.accessibleYellow\n };\n};\n//# sourceMappingURL=reactionVariables.js.map\n","export var providerVariables = function providerVariables(siteVariables) {\n return {\n scrollbarThumbBackgroundColor: siteVariables.colors.white,\n scrollbarThumbHoverBackgroundColor: siteVariables.colors.white\n };\n};\n//# sourceMappingURL=providerVariables.js.map\n","export var labelVariables = function labelVariables(siteVars) {\n return {\n foreground: 'rgb(0, 0, 0)',\n background: 'rgb(255, 255, 255)',\n blackForeground: siteVars.colorScheme.black.foreground1,\n blackBackground: siteVars.colorScheme.black.background1,\n whiteForeground: siteVars.colorScheme.white.foreground1,\n whiteBackground: siteVars.colorScheme.white.background1,\n brandForeground: siteVars.colorScheme.brand.foreground5,\n brandBackground: siteVars.colorScheme.brand.background6,\n greyForeground: siteVars.colorScheme.grey.foreground1,\n greyBackground: siteVars.colorScheme.grey.background1,\n orangeForeground: siteVars.colorScheme.orange.foreground2,\n orangeBackground: siteVars.colorScheme.orange.background1,\n redForeground: siteVars.colorScheme.red.foreground1,\n redBackground: siteVars.colorScheme.red.background,\n greenForeground: siteVars.colorScheme.green.foreground3,\n greenBackground: siteVars.colorScheme.green.background1,\n yellowForeground: siteVars.colorScheme.yellow.foreground3,\n yellowBackground: siteVars.colorScheme.yellow.background\n };\n};\n//# sourceMappingURL=labelVariables.js.map\n","export var tooltipContentVariables = function tooltipContentVariables(siteVars) {\n return {\n boxShadow: undefined,\n color: siteVars.colors.black,\n backgroundColor: siteVars.colors.white\n };\n};\n//# sourceMappingURL=tooltipContentVariables.js.map\n","export var datepickerCalendarCellVariables = function datepickerCalendarCellVariables(siteVars) {\n return {\n calendarCellSelectedColor: siteVars.colors.black,\n calendarCellHoverColor: siteVars.colors.black,\n calendarCellTodayColor: siteVars.colors.black,\n calendarCellQuietColor: siteVars.colors.white,\n calendarCellDisabledColor: siteVars.colors.white\n };\n};\n//# sourceMappingURL=datepickerCalendarCellVariables.js.map\n","export var datepickerCalendarCellButtonVariables = function datepickerCalendarCellButtonVariables(siteVars) {\n return {\n calendarCellSelectedColor: siteVars.colors.black,\n calendarCellHoverColor: siteVars.colors.black,\n calendarCellTodayColor: siteVars.colors.black,\n calendarCellQuietColor: siteVars.colors.white,\n calendarCellDisabledColor: siteVars.colors.white\n };\n};\n//# sourceMappingURL=datepickerCalendarCellButtonVariables.js.map\n","import * as microsoftTeams from \"@microsoft/teams-js\";\r\nimport * as ReactDOM from \"react-dom\";\r\nimport * as React from \"react\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport { Text, PrimaryButton, Modal } from \"@fluentui/react\";\r\nimport {\r\n ThemePrepared,\r\n teamsTheme,\r\n teamsDarkTheme,\r\n teamsHighContrastTheme,\r\n} from \"@fluentui/react-northstar\";\r\n\r\nexport namespace businessCenter {\r\n /**\r\n * Application context for teams app\r\n */\r\n export interface AppContext {\r\n /**\r\n * The Azure AD object id of the current user.\r\n */\r\n userId?: string;\r\n /**\r\n * The Azure AD tenant ID of the current user.\r\n */\r\n tenantId?: string;\r\n /**\r\n * The current UI Theme.\r\n */\r\n theme?: string;\r\n /**\r\n * The current locale that the user has configured for the app formatted as\r\n * languageId-countryId (for example, en-us).\r\n */\r\n locale: string;\r\n /**\r\n * The type of the host client. Possible values are : android, ios, web, desktop\r\n */\r\n hostClientType?: string;\r\n /**\r\n * The developer-defined unique ID for the sub-entity this content points to.\r\n * This field should be used to restore to a specific state within an entity,\r\n * such as scrolling to or activating a specific piece of content.\r\n */\r\n subEntityId?: string;\r\n }\r\n\r\n class GlobalVars {\r\n /* Microsoft Business Center service domain*/\r\n static readonly BIZ_CONSOLE_DOMAIN = \"https://businesscenter.kaiza.la\";\r\n /* div id to render popups. A div with this id needs to be added to the parent document. */\r\n static readonly BIZ_CENTER_DIV = \"biz-center-div\";\r\n static readonly MSFT_TID = \"72f988bf-86f1-41af-91ab-2d7cd011db47\";\r\n /* service API endpoints */\r\n static readonly CALENDAR_EVENT_CREATION_ENDPOINT =\r\n \"/api/O365Calendar/AddEntry\";\r\n static readonly NOTIFICATION_ENDPOINT =\r\n \"/api/HealthCenterNotify/notifyUser\";\r\n static readonly WEBHOOK_CREATE_ENDPOINT = \"/api/WebhookSubscription/Create\";\r\n static readonly WEBHOOK_UPDATE_ENDPOINT = \"/api/WebhookSubscription/Update\";\r\n static readonly WEBHOOK_DELETE_ENDPOINT = \"/api/WebhookSubscription/Remove\";\r\n static readonly GRAPH_PERMISSION_ENDPOINT =\r\n \"/api/Permission/?tabId=Health Center\";\r\n static readonly APP_URL_TOKEN_ENDPOINT =\r\n \"/api/Application/GetApplicationToken\";\r\n\r\n /* scope definitions */\r\n static readonly TEAMS_DEFAULT_SCOPE =\r\n \"https://graph.microsoft.com/User.Read email profile offline_access openid\";\r\n static readonly WEBHOOK_USER_RESOURCE_SCOPE =\r\n \"https://graph.microsoft.com/User.Read.All\";\r\n static readonly CALENDAR_INTEGRATION_SCOPE =\r\n \"https://graph.microsoft.com/Calendars.ReadWrite\";\r\n static readonly SCOPE_SEPARATOR = \" \";\r\n\r\n /* sdk instance variables*/\r\n static isInitComplete: boolean;\r\n static instance: GlobalVars = new GlobalVars();\r\n private _userIdToken: string;\r\n\r\n /* \r\n getter and setter for userIdToken. This token is used for user identity verification\r\n */\r\n get userIdToken() {\r\n return this._userIdToken;\r\n }\r\n\r\n set userIdToken(token: string) {\r\n this._userIdToken = token;\r\n }\r\n }\r\n\r\n /**\r\n * Initializes the library. This must be called before any other SDK calls\r\n * but after the frame is loaded successfully.\r\n * @param callback Optionally specify a callback to invoke when Teams SDK has successfully initialized\r\n */\r\n export function initialize(callback?: () => void) {\r\n if (!GlobalVars.isInitComplete) {\r\n microsoftTeams.initialize();\r\n GlobalVars.isInitComplete = true;\r\n console.log(\"initialize: true\");\r\n if (callback) {\r\n callback();\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Ensure SDk is initialized before accessing other apis\r\n * @private\r\n * Hide from docs\r\n */\r\n export function ensureInitialized() {\r\n if (!GlobalVars.isInitComplete) {\r\n throw new Error(\r\n \"SDK instance not initialized. Initialize sdk instance in teams platform.\"\r\n );\r\n }\r\n }\r\n\r\n /**\r\n * Handles app initialization events like theme change, teams platform validation etc..\r\n * @param themeChangeHandler Theme change handler which is passed the new theme string on theme change to update the theme accordingly\r\n */\r\n export async function onAppInitialization(\r\n themeChangeHandler: (theme: string) => void\r\n ) {\r\n if (await inTeams()) {\r\n microsoftTeams.registerOnThemeChangeHandler(themeChangeHandler);\r\n microsoftTeams.appInitialization.notifySuccess();\r\n }\r\n }\r\n\r\n /**\r\n * Retrieves the current context the app is running in.\r\n * @param callback The callback to invoke when the {@link AppContext} object is retrieved.\r\n */\r\n export function getContext(callback: (context: AppContext) => void) {\r\n ensureInitialized();\r\n microsoftTeams.getContext((context) => {\r\n let appContext: AppContext = {\r\n userId: context.userObjectId,\r\n tenantId: context.tid,\r\n theme: context.theme,\r\n locale: context.locale,\r\n hostClientType: context.hostClientType,\r\n subEntityId: context.subEntityId,\r\n };\r\n callback(appContext);\r\n });\r\n }\r\n\r\n /**\r\n * Gets the value of query variable\r\n * @param variable\r\n */\r\n export function getQueryVariable(variable: string): string | undefined {\r\n var query = window.location.search.substring(1);\r\n var vars = query.split(\"&\");\r\n for (var _i = 0, vars_1 = vars; _i < vars_1.length; _i++) {\r\n var varPairs = vars_1[_i];\r\n var pair = varPairs.split(\"=\");\r\n if (decodeURIComponent(pair[0]) === variable) {\r\n return decodeURIComponent(pair[1]);\r\n }\r\n }\r\n return undefined;\r\n }\r\n\r\n /**\r\n * Validate if the app is rendered in teams.\r\n * @param timeout default value is 1000 i.e 1sec.\r\n */\r\n export function inTeams(timeout?: number): Promise {\r\n if (timeout == void 0) {\r\n timeout = 1000;\r\n }\r\n return new Promise(function (resolve, reject) {\r\n try {\r\n initialize(function () {\r\n resolve(true);\r\n });\r\n setTimeout(function () {\r\n resolve(false);\r\n }, timeout);\r\n } catch (e) {\r\n reject(e);\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Gets the theme accordingly on theme change in teams.\r\n * @param themeStr theme string\r\n */\r\n export function getTheme(themeStr?: string | undefined): ThemePrepared {\r\n var themeString = themeStr ?? getQueryVariable(\"theme\");\r\n var theme: ThemePrepared;\r\n switch (themeString) {\r\n case \"dark\":\r\n theme = teamsDarkTheme;\r\n break;\r\n case \"contrast\":\r\n theme = teamsHighContrastTheme;\r\n break;\r\n case \"default\":\r\n default:\r\n theme = teamsTheme;\r\n }\r\n return theme;\r\n }\r\n\r\n function isNullOrUndefined(obj: T | null | undefined): boolean {\r\n return obj === undefined || obj === null;\r\n }\r\n\r\n /**\r\n * Namespace to access Business Center services.\r\n */\r\n export namespace services {\r\n /**\r\n * Gets the application url token\r\n * @param onSuccess token is returned in this success callback\r\n * @param onFailure error is returned in this failure callback\r\n */\r\n export function getApplicationUrlToken(\r\n onSuccess: (token: string) => void,\r\n onFailure: (error: SdkError) => void\r\n ) {\r\n ensureInitialized();\r\n performRestAPICall(GlobalVars.APP_URL_TOKEN_ENDPOINT, \"GET\")\r\n .then((token: string) => {\r\n onSuccess(token);\r\n })\r\n .catch((error: string) => {\r\n let sdkError: SdkError = JSON.parse(error);\r\n onFailure(sdkError);\r\n });\r\n }\r\n\r\n /**\r\n * Verifies required graph permissions for the app.\r\n * @private\r\n * @param onSuccess\r\n * @param onFailure\r\n */\r\n export function verifyGraphPermissions(\r\n onSuccess: (response?: string) => void,\r\n onFailure: (error: SdkError) => void\r\n ) {\r\n ensureInitialized();\r\n performRestAPICall(GlobalVars.GRAPH_PERMISSION_ENDPOINT, \"GET\")\r\n .then((data: string) => {\r\n onSuccess();\r\n })\r\n .catch((error: string) => {\r\n let sdkError: SdkError = JSON.parse(error);\r\n onFailure(sdkError);\r\n });\r\n }\r\n\r\n /**\r\n * Namespace to access calendar services such as\r\n * -> Sending a O365 calendar invite to users.\r\n */\r\n export namespace calendar {\r\n /**\r\n * Creates a calendar invite for a given user.\r\n * Depending on the tenant permissions this can add the event to user calendar otherwise an email is sent to user with calendar event attachment file (.ics).\r\n * @param eventData calendar event data object. {@link CalendarEventRequest}\r\n * @param onSuccess success callback with response. Response can either be {@link CalendarEventResponse} or undefined depending on the tenant permissions.\r\n * @param onFailure failure callback with error. {@link SdkError}\r\n */\r\n export function createCalendarEvent(\r\n eventData: CalendarEventRequest,\r\n onSuccess: (response?: CalendarEventResponse) => void,\r\n onFailure: (error: SdkError) => void\r\n ) {\r\n ensureInitialized();\r\n if (\r\n isNullOrUndefined(eventData.entry.icalContent) &&\r\n (isNullOrUndefined(eventData.entry.startDateTime) ||\r\n isNullOrUndefined(eventData.entry.endDateTime))\r\n ) {\r\n let sdkError: SdkError = {\r\n ErrorCode: ErrorCode.INVALID_ARGUMENTS,\r\n Exception: { Message: \"Invalid calendar request\" },\r\n };\r\n onFailure(sdkError);\r\n }\r\n performRestAPICall(\r\n GlobalVars.CALENDAR_EVENT_CREATION_ENDPOINT,\r\n \"POST\",\r\n JSON.stringify(eventData)\r\n )\r\n .then((data: string) => {\r\n try {\r\n let response = JSON.parse(data);\r\n onSuccess(response);\r\n } catch (e) {\r\n onSuccess();\r\n }\r\n })\r\n .catch((error: string) => {\r\n let sdkError: SdkError = JSON.parse(error);\r\n onFailure(sdkError);\r\n });\r\n }\r\n\r\n /**\r\n * Calendar Event creation request\r\n */\r\n export interface CalendarEventRequest {\r\n /**\r\n * Event request type {@link CalendarEventRequestType}\r\n */\r\n requestType: CalendarEventRequestType;\r\n /**\r\n * Calendar entry request data {@link CalendarEntry}\r\n */\r\n entry: CalendarEntryRequest;\r\n }\r\n\r\n /**\r\n * Calendar Event creation request type\r\n */\r\n export enum CalendarEventRequestType {\r\n DATA = \"data\",\r\n ICAL = \"ical\",\r\n }\r\n\r\n /**\r\n * Calendar event entry request data object\r\n * For event request type \"ical\" icalContent is to be provided and properties summary, description, startDateTime, endDateTime, location are taken from icalContent.\r\n * If provided explicitly are ignored\r\n *\r\n * For event request type \"data\" icalContent if provided will be ignored.\r\n */\r\n export interface CalendarEntryRequest {\r\n /**\r\n * AAD Id of the tenant of user creating this event\r\n */\r\n creatorTenantId: string;\r\n /**\r\n * AAD Id of the user creating this calendar event\r\n */\r\n creatorAADId: string;\r\n /**\r\n * Base64 encoded string of the ical event.\r\n */\r\n icalContent?: string;\r\n /**\r\n * Event summary\r\n */\r\n summary?: string;\r\n /**\r\n * Event Description object {@link EventDescription}\r\n */\r\n description?: EventDescription;\r\n /**\r\n * Event start time represented using ISO 8601 format (without time zone) and is always in IST time.\r\n * For example, midnight IST on Jan 1, 2014 would look like this: '2014-01-01T00:00:00'\r\n */\r\n startDateTime?: string;\r\n /**\r\n * Event end time represented using ISO 8601 format (without time zone) and is always in IST time.\r\n */\r\n endDateTime?: string;\r\n /**\r\n * Event Location object {@link EventLocation}\r\n */\r\n location?: EventLocation;\r\n /**\r\n * Event Attendees list {@link EventAttendee}\r\n */\r\n attendees: EventAttendee[];\r\n /**\r\n * Specifies if the meeting is an online meeting\r\n */\r\n isOnlineMeeting: boolean;\r\n }\r\n\r\n export interface CalendarEventResponse {\r\n /**\r\n * base64 encoded string of Ical event.\r\n * Returns a value only for event request type \"data\"\r\n * for event request type \"ical\" it is null\r\n */\r\n iCalContent: string;\r\n /**\r\n * Calendar event entry object {@link CalendarEventEntry}\r\n * multiple event entries are created only when event request type is \"ical\" and icalContent has multiple events\r\n */\r\n eventsCreated: CalendarEventEntry[];\r\n }\r\n\r\n /**\r\n * Event entry added to users calendars\r\n */\r\n export interface CalendarEventEntry {\r\n /**\r\n * List of Attendees added to the event created {@link EventAttendee}\r\n */\r\n attendees: EventAttendee[];\r\n /**\r\n * Preview of the event body\r\n */\r\n bodyPreview: string;\r\n /**\r\n * Event creation DateTime string in ISO 8601.\r\n */\r\n createdDateTime: string;\r\n /**\r\n * Content/Details of the event as seen in event email sent in outlook. {@link EventDescription}\r\n */\r\n description: EventDescription;\r\n /**\r\n * Event end DateTime string in ISO 8601. For example, midnight Jan 1, 2014 would look like this: '2014-01-01T00:00:00'\r\n */\r\n endTime: string;\r\n /**\r\n * A unique identifier for an event across calendars.\r\n */\r\n iCalUId: string;\r\n /**\r\n * Specifies If the event created is an online meeting\r\n */\r\n isOnlineMeeting: boolean;\r\n /**\r\n * Specifies the event location {@link EventLocation}\r\n */\r\n location: EventLocation;\r\n /**\r\n * O365 Calendar event unique ID\r\n */\r\n o365EventId: string;\r\n /**\r\n * Meeting url to join if it is an online event\r\n */\r\n onlineMeetingJoinUrl: string;\r\n /**\r\n * Event start DateTime string in ISO 8601.\r\n */\r\n startTime: string;\r\n /**\r\n * Event Summary/Subject string.\r\n */\r\n summary: string;\r\n /**\r\n * The URL to open the event in Outlook on the web.\r\n */\r\n eventWebLink: string;\r\n }\r\n\r\n export interface EventDescription {\r\n /**\r\n * Event content containing details/body of the event\r\n */\r\n content: string;\r\n /**\r\n * Defines the content type of the event. Possible values are “html” and “text” {@link DescriptionContentType}\r\n */\r\n contentType: DescriptionContentType;\r\n }\r\n\r\n /**\r\n * Description Type\r\n */\r\n export enum DescriptionContentType {\r\n Text = \"text\",\r\n Html = \"html\",\r\n }\r\n\r\n /**\r\n * Event Location description\r\n */\r\n export interface EventLocation {\r\n /**\r\n * Location description string\r\n */\r\n displayName: string;\r\n }\r\n\r\n export interface EventAttendee {\r\n /**\r\n * Event attendee’s email address info\r\n */\r\n emailAddress: AttendeeEmailAddress;\r\n /**\r\n * Defines whether the attendee is required or optional to attend the event. Possible values are “required” and “optional” {@link AttendeeType}\r\n */\r\n attendeeType: AttendeeType;\r\n }\r\n\r\n export interface AttendeeEmailAddress {\r\n /**\r\n * O365 emailId of the user to be added to the event.\r\n */\r\n emailId: string;\r\n /**\r\n * Name of the attendee.\r\n */\r\n name: string;\r\n }\r\n\r\n /**\r\n * Attendee Type\r\n */\r\n export enum AttendeeType {\r\n Optional = \"optional\",\r\n Required = \"required\",\r\n }\r\n }\r\n\r\n /**\r\n * Namespace to access notification services via Azure bot framework\r\n * -> Send a notification to a specific user on teams (appears on activity feed and bot conversation of the app)\r\n */\r\n export namespace notification {\r\n /**\r\n * Sends notification to a user using bot service in the app\r\n * @param notification notification request object. {@link UserNotificationRequest}\r\n * @param onSuccess success callback with response.\r\n * @param onFailure failure callback with error. {@link SdkError}\r\n */\r\n export function notifyUser(\r\n notification: UserNotificationRequest,\r\n onSuccess: (response?: UserNotificationResponse) => void,\r\n onFailure: (error: SdkError) => void\r\n ) {\r\n ensureInitialized();\r\n performRestAPICall(\r\n GlobalVars.NOTIFICATION_ENDPOINT,\r\n \"POST\",\r\n JSON.stringify(notification)\r\n )\r\n .then((data: string) => {\r\n onSuccess();\r\n })\r\n .catch((error: string) => {\r\n let sdkError: SdkError = JSON.parse(error);\r\n onFailure(sdkError);\r\n });\r\n }\r\n\r\n export interface UserNotificationRequest {\r\n /**\r\n * User Conversation Reference List\r\n */\r\n userConversationReferences: UserConversationReference[];\r\n /**\r\n * Message Type of the notification {@link MessageType}\r\n */\r\n messageType: MessageType;\r\n /**\r\n * Serves as:\r\n * Text for TextMessage\r\n * Body for other MessageType(s)\r\n */\r\n text: string;\r\n /**\r\n * valid urls for attachments i.e images\r\n * Not supported for TextMessage\r\n * Only one attachment is supported for HeroCard. If multiple are provided first one will be picked, rest are ignored.\r\n */\r\n attachments: string[];\r\n /**\r\n * Card title for HeroCard\r\n */\r\n cardTitle: string;\r\n /**\r\n * Card sub title for HeroCard\r\n */\r\n cardSubTitle: string;\r\n /**\r\n * summary of the notification\r\n * This will appear in the activity feed of the teams as a notification\r\n */\r\n summary: string;\r\n /**\r\n * Actions for HeroCard MessageType\r\n * At max 2 actions are supported\r\n */\r\n actions: CardAction[];\r\n }\r\n\r\n /**\r\n * User bot conversation reference object\r\n */\r\n export interface UserConversationReference {\r\n /**\r\n * Bot reference id\r\n */\r\n botRefId: string;\r\n /**\r\n * User reference id\r\n */\r\n userRefId: string;\r\n /**\r\n * Conversation reference id\r\n */\r\n convRefId: string;\r\n /**\r\n * Service Url\r\n */\r\n serviceUrl: string;\r\n /**\r\n * Azure AD Id of the User\r\n */\r\n userAADId: string;\r\n /**\r\n *AAD id of the tenant\r\n */\r\n tenantId: string;\r\n }\r\n\r\n /**\r\n * Message Type for Notification to be sent to Bot conversation with user\r\n */\r\n export enum MessageType {\r\n TextMessage,\r\n Attachments,\r\n HeroCard,\r\n }\r\n\r\n /**\r\n * Card Action object.\r\n * Supported with MessageType -> HeroCard.\r\n */\r\n export interface CardAction {\r\n /**\r\n * Action Type of the action {@link ActionType}\r\n */\r\n actionType: ActionType;\r\n /**\r\n * Text to show on the action button.\r\n */\r\n buttonText: string;\r\n /**\r\n * Content Url corresponding to the action.\r\n */\r\n contentUrl: string;\r\n }\r\n\r\n /**\r\n * Action Type specifies what the action does\r\n */\r\n export enum ActionType {\r\n OpenUrl,\r\n }\r\n\r\n /**\r\n * User Notification request response object\r\n * Currently nothing is passed in the response onSuccess.\r\n */\r\n export interface UserNotificationResponse {}\r\n }\r\n\r\n /**\r\n * Namespace for webhook Subscription services to subscribe for notification on resources changes.\r\n * For example: changeType: removed on resource: user i.e User Removed from tenant\r\n */\r\n export namespace webhook {\r\n /**\r\n *\r\n * @param webhookRequest webhook creation request object. {@link WebhookSubscriptionResource} Needs all params except for subscriptionId which is generated and passed in the response onSuccess.\r\n * @param onSuccess success callback with response.Response contains subscriptionId of the subscription created.\r\n * @param onFailure failure callback with error. {@link SdkError}\r\n */\r\n export function createWebHookSubscription(\r\n webhookRequest: WebhookSubscriptionResource,\r\n onSuccess: (response?: WebhookSubscriptionResource) => void,\r\n onFailure: (error: SdkError) => void\r\n ) {\r\n if (\r\n webhookRequest.notificationEndpointUrl?.protocol.startsWith(\"https\")\r\n ) {\r\n let request: any = webhookRequest;\r\n request.notificationEndpointUrl =\r\n webhookRequest.notificationEndpointUrl?.toString();\r\n ensureInitialized();\r\n performRestAPICall(\r\n GlobalVars.WEBHOOK_CREATE_ENDPOINT,\r\n \"POST\",\r\n JSON.stringify(request)\r\n )\r\n .then((data: string) => {\r\n try {\r\n let response: WebhookSubscriptionResource = JSON.parse(data);\r\n onSuccess(response);\r\n } catch (e) {\r\n onSuccess();\r\n }\r\n })\r\n .catch((error: string) => {\r\n let sdkError: SdkError = JSON.parse(error);\r\n onFailure(sdkError);\r\n });\r\n } else {\r\n let sdkError: SdkError = {\r\n ErrorCode: ErrorCode.BAD_REQUEST,\r\n Exception: {\r\n Message:\r\n \"Not a valid https url provided for notificationEndpointUrl\",\r\n },\r\n };\r\n onFailure(sdkError);\r\n }\r\n }\r\n\r\n /**\r\n *\r\n * @param webhookRequest webhook update request object. {@link WebhookSubscriptionResource} Should contain subscriptionId of the subscription. Others params are not required.\r\n * @param onSuccess success callback with response.Response contains subscriptionId of the subscription passed in the request.\r\n * @param onFailure failure callback with error. {@link SdkError}\r\n */\r\n export function updateWebHookSubscription(\r\n webhookRequest: WebhookSubscriptionResource,\r\n onSuccess: (response?: WebhookSubscriptionResource) => void,\r\n onFailure: (error: SdkError) => void\r\n ) {\r\n ensureInitialized();\r\n performRestAPICall(\r\n GlobalVars.WEBHOOK_UPDATE_ENDPOINT,\r\n \"PATCH\",\r\n JSON.stringify(webhookRequest)\r\n )\r\n .then((data: string) => {\r\n try {\r\n let response: WebhookSubscriptionResource = JSON.parse(data);\r\n onSuccess(response);\r\n } catch (e) {\r\n onSuccess();\r\n }\r\n })\r\n .catch((error: string) => {\r\n let sdkError: SdkError = JSON.parse(error);\r\n onFailure(sdkError);\r\n });\r\n }\r\n\r\n /**\r\n *\r\n * @param webhookRequest webhook deletion request object. {@link WebhookSubscriptionResource} Should contain subscriptionId of the subscription. Others params are not required.\r\n * @param onSuccess success callback with response.Response contains subscriptionId of the subscription passed in the request.\r\n * @param onFailure failure callback with error.{@link SdkError}\r\n */\r\n export function deleteWebHookSubscription(\r\n webhookRequest: WebhookSubscriptionResource,\r\n onSuccess: (response?: WebhookSubscriptionResource) => void,\r\n onFailure: (error: SdkError) => void\r\n ) {\r\n ensureInitialized();\r\n performRestAPICall(\r\n GlobalVars.WEBHOOK_DELETE_ENDPOINT,\r\n \"DELETE\",\r\n JSON.stringify(webhookRequest)\r\n )\r\n .then((data: string) => {\r\n try {\r\n let response: WebhookSubscriptionResource = JSON.parse(data);\r\n onSuccess(response);\r\n } catch (e) {\r\n onSuccess();\r\n }\r\n })\r\n .catch((error: string) => {\r\n let sdkError: SdkError = JSON.parse(error);\r\n onFailure(sdkError);\r\n });\r\n }\r\n\r\n export interface WebhookSubscriptionResource {\r\n /**\r\n * AAD Id of the Tenant for the subscription\r\n * Needs to be passed in the subscription creation request {@link createWebHookSubscription}.\r\n */\r\n tenantId?: string;\r\n\r\n /**\r\n * Resource to subscribe to {@link Resource}\r\n * Needs to be passed in the subscription creation request {@link createWebHookSubscription}.\r\n */\r\n resource?: Resource;\r\n\r\n /**\r\n * Change type of the resource to subscribe to {@link ChangeType}\r\n * Needs to be passed in the subscription creation request {@link createWebHookSubscription}.\r\n */\r\n changeType?: ChangeType;\r\n\r\n /**\r\n * Endpoint url that will receive the notifications on any changes to the resource/changeType subscribed to.\r\n * Needs to be passed in the subscription creation request {@link createWebHookSubscription}.\r\n * This should be a valid https url.\r\n */\r\n notificationEndpointUrl?: URL;\r\n\r\n /**\r\n * This unique id needs to be passed in each subscription creation request {@link createWebHookSubscription}.\r\n * The notifications received by the endpoint specified contain this paramter.\r\n * This needs to be used to validate the notifications received from Business Center service\r\n */\r\n clientState?: string;\r\n\r\n /**\r\n * subscription Id of the subscription.\r\n * Provided in the response on subscription creation request.\r\n * This needs to be stored and passed in the request to update/delete the subscription {@link updateWebHookSubscription} {@link deleteWebHookSubscription}\r\n */\r\n subscriptionId?: string;\r\n }\r\n\r\n export interface WebhookNotification {\r\n /**\r\n * AAD Id of the Tenant for the subscription\r\n */\r\n tenantId: string;\r\n\r\n /**\r\n * subscription Id of the subscription for which the notification is sent.\r\n */\r\n subscriptionId: string;\r\n\r\n /**\r\n * AAD Id of the Resource that has changed which triggered this notification.\r\n * For User Deleted this will be userId of the user.\r\n */\r\n resourceId: string;\r\n\r\n /**\r\n * Resource for the notification {@link Resource}\r\n */\r\n resource: Resource;\r\n\r\n /**\r\n * Change type of the resource for the notification {@link ChangeType}\r\n */\r\n changeType: ChangeType;\r\n\r\n /**\r\n * Client State unique id passed while subscription creation {@link createWebHookSubscription}.\r\n * Verify validity of the notification using this id.\r\n */\r\n clientState: string;\r\n }\r\n\r\n /**\r\n * Change Types supported for webhook subscriptions\r\n */\r\n export enum ChangeType {\r\n CREATED = \"created\",\r\n UPDATED = \"updated\",\r\n DELETED = \"deleted\",\r\n }\r\n\r\n /**\r\n * Resources supported for webhook subscription\r\n */\r\n export enum Resource {\r\n USERS = \"users\",\r\n }\r\n }\r\n\r\n /**\r\n * Underlying function performing the rest calls to the Business Center service.\r\n * @private\r\n * @param endpoint service endpoint.\r\n * @param method rest api method.\r\n * @param body optional (for GET). rest api call body.\r\n */\r\n function performRestAPICall(\r\n endpoint: string,\r\n method: string,\r\n body?: string\r\n ) {\r\n return new Promise((resolve, reject) => {\r\n fetch(GlobalVars.BIZ_CONSOLE_DOMAIN + endpoint, {\r\n method: method,\r\n headers: new Headers({\r\n Authorization: \"Bearer \" + GlobalVars.instance.userIdToken,\r\n \"Content-Type\": \"application/json\",\r\n }),\r\n body: body,\r\n })\r\n .then(async (response) => {\r\n if (response.ok && response.status === 200) {\r\n return await response.text();\r\n } else {\r\n const exception = await response.text();\r\n let sdkError: SdkError = { ErrorCode: response.status };\r\n try {\r\n let sdkException: SdkException = JSON.parse(exception);\r\n sdkError.Exception = sdkException;\r\n } catch (e) {}\r\n throw new Error(JSON.stringify(sdkError));\r\n }\r\n })\r\n .then((data) => {\r\n console.log(\r\n \"performRestAPICall endpoint:\" + endpoint + \"response: success\"\r\n );\r\n resolve(data);\r\n })\r\n .catch((error) => {\r\n console.log(\r\n \"performRestAPICall endpoint:\" +\r\n endpoint +\r\n \"response: failure message: \" +\r\n error.message\r\n );\r\n reject(error.message);\r\n });\r\n });\r\n }\r\n }\r\n\r\n /** \r\n Namespace for payment support on teams platform using popups.\r\n */\r\n export namespace payments {\r\n /**\r\n * Initiates a payment flow on teams platform.\r\n * @param redirectionUrl initial redirection url to start payment flow.\r\n * @param paymentUrl payments page url which redirectionUrl will redirect to. Passed to {@link redirectionUrl} in query param \"pU\", url-encoded.\r\n * @param resolutionUrl resolution url which the payments page passes the end result to. Passed as query param \"rU\", url-encoded.\r\n * @param onSuccess success callback with result, if any from payments page.\r\n * @param onFailure failure callback with result, if any from payments page.\r\n * @param paymentContext payment context data to be passed on to the {@link redirectionUrl} in query param \"pC\". The same context string will be passed on to {@link paymentUrl}.\r\n */\r\n export function initiatePayment(\r\n redirectionUrl: string,\r\n paymentUrl: string,\r\n resolutionUrl: string,\r\n onSuccess: (result?: string) => void,\r\n onFailure: (reason?: string) => void,\r\n paymentContext?: string\r\n ) {\r\n ensureInitialized();\r\n microsoftTeams.authentication.authenticate({\r\n url:\r\n redirectionUrl +\r\n \"?pU=\" +\r\n encodeURIComponent(paymentUrl) +\r\n \"&pC=\" +\r\n encodeURIComponent(paymentContext ?? \"\") +\r\n \"&rU=\" +\r\n encodeURIComponent(resolutionUrl ?? \"\"),\r\n width: 600,\r\n height: 535,\r\n successCallback: (result) => {\r\n onSuccess(result);\r\n },\r\n failureCallback: (reason) => {\r\n onFailure(reason);\r\n },\r\n });\r\n }\r\n\r\n /**\r\n * Handles the redirection from payments redirection page to payments page with payment context passed as query param \"pC\"\r\n * and resolutionUrl as query param \"rU\".\r\n */\r\n export function redirectToPaymentsPage() {\r\n var url_string = window.location.href;\r\n var url = new URL(url_string);\r\n var pC = url.searchParams.get(\"pC\");\r\n var pU = url.searchParams.get(\"pU\");\r\n var rU = url.searchParams.get(\"rU\");\r\n var payment_url = new URL(decodeURIComponent(pU || \"\"));\r\n payment_url.searchParams.set(\"pC\", pC || \"\");\r\n payment_url.searchParams.set(\"rU\", rU || \"\");\r\n window.location.replace(payment_url.toString());\r\n }\r\n\r\n /**\r\n * Resolves the payment by passing the payment result back to SDK \r\n */\r\n export function resolvePayment() {\r\n var url_string = window.location.href;\r\n var url = new URL(url_string);\r\n var result = url.searchParams.get(\"res\");\r\n var error = url.searchParams.get(\"err\");\r\n\r\n if (result) {\r\n businessCenter.popupContext.notifySuccess(result);\r\n } else {\r\n businessCenter.popupContext.notifyFailure(error || \"\");\r\n }\r\n }\r\n\r\n /**\r\n * payments page should call this function on success with success result, if any.\r\n * @param resolutionUrl resolution url string.\r\n * @param result success result, if any.\r\n */\r\n export function notifyPaymentSuccess(resolutionUrl: string, result?: string) {\r\n ensureInitialized();\r\n var redirectionUrl = new URL(decodeURIComponent(resolutionUrl));\r\n redirectionUrl.searchParams.set(\"res\", result || \"\");\r\n window.location.replace(redirectionUrl.toString());\r\n }\r\n\r\n /**\r\n * payments page should call this function on failure with error, if any.\r\n * @param resolutionUrl resolution url string.\r\n * @param error error, if any.\r\n */\r\n export function notifyPaymentFailure(resolutionUrl: string, error?: string) {\r\n ensureInitialized();\r\n var redirectionUrl = new URL(decodeURIComponent(resolutionUrl));\r\n redirectionUrl.searchParams.set(\"err\", error || \"\");\r\n window.location.replace(redirectionUrl.toString());\r\n }\r\n }\r\n\r\n /**\r\n * Namespace for media permission support\r\n * */\r\n export namespace media {\r\n /**\r\n * Gets required media permissions from the user for the app in web and desktop.\r\n * @param mediaConstraints specifies the required media permissions {@link MediaConstraints}\r\n * @param onSuccess success callback.\r\n * @param onFailure failure callback with failure reason, if any.\r\n */\r\n export function getMediaPermissions(\r\n mediaConstraints: MediaConstraints,\r\n onSuccess: () => void,\r\n onFailure: (reason?: string) => void\r\n ) {\r\n ensureInitialized();\r\n microsoftTeams.getContext((context) => {\r\n const cardJson = {\r\n type: \"AdaptiveCard\",\r\n body: [\r\n {\r\n type: \"TextBlock\",\r\n text: \"Please provide the required media permissions to access all features.\",\r\n wrap: true,\r\n color: \"Attention\",\r\n size: \"Medium\",\r\n },\r\n {\r\n type: \"TextBlock\",\r\n text: \"Go to settings on Teams desktop to provide the required media permissions.\",\r\n weight: \"Bolder\",\r\n wrap: true,\r\n },\r\n ],\r\n version: \"1.0\",\r\n };\r\n const taskInfo = {\r\n title: \"Missing Permissions\",\r\n height: 100,\r\n width: 500,\r\n card: JSON.stringify(cardJson),\r\n };\r\n\r\n if (\r\n context.hostClientType === \"desktop\" ||\r\n context.hostClientType === \"web\"\r\n ) {\r\n navigator.mediaDevices\r\n .getUserMedia({\r\n audio: mediaConstraints.audio,\r\n video: mediaConstraints.video,\r\n })\r\n .then((stream) => {\r\n stream.getTracks().forEach((track) => {\r\n track.stop();\r\n });\r\n onSuccess();\r\n })\r\n .catch((error) => {\r\n console.log(\r\n \"Error: getMediaPermissions: \" + JSON.stringify(error)\r\n );\r\n microsoftTeams.tasks.startTask(taskInfo);\r\n onFailure();\r\n });\r\n }\r\n });\r\n }\r\n\r\n /* \r\n Media Constraints for getting media permissions\r\n supported for web and desktop\r\n */\r\n interface MediaConstraints {\r\n audio: boolean;\r\n video: boolean;\r\n }\r\n }\r\n\r\n /**\r\n * Namespace to handle popup context success and failure calls\r\n * Popup context refers to any popup scenario like during auth or payments which involves redirection.\r\n */\r\n export namespace popupContext {\r\n /**\r\n * Notify success for a popup context created for auth and payments\r\n * @param result result of the popup context on success, if any.\r\n */\r\n export function notifySuccess(result?: string) {\r\n microsoftTeams.authentication.notifySuccess(result);\r\n }\r\n\r\n /**\r\n * Notify failure for a popup context created for auth and payments\r\n * @param reason reason of the popup context on failure, if any.\r\n */\r\n export function notifyFailure(reason?: string) {\r\n microsoftTeams.authentication.notifyFailure(reason);\r\n }\r\n }\r\n\r\n /**\r\n * Namespace for user authentication\r\n */\r\n export namespace authentication {\r\n /**\r\n * Authenticates the user logged in on teams platform. Initiates SSO and checks for required app permissions.\r\n * If SSO fails or required graph permissions are missing a user login flow is initiated using popup to get required permissions and login user.\r\n * @param authenticateParameters {@link AuthenticateParameters}\r\n */\r\n export function authenticateUser(\r\n authenticateParameters: AuthenticateParameters\r\n ) {\r\n ensureInitialized();\r\n microsoftTeams.authentication.getAuthToken({\r\n successCallback: (token) => {\r\n GlobalVars.instance.userIdToken = token;\r\n businessCenter.services.verifyGraphPermissions(\r\n (response) => {\r\n var decodedToken: UserContext = jwt_decode(token);\r\n authenticateParameters.onSuccess(decodedToken);\r\n },\r\n (error) => {\r\n console.log(\r\n \"Error: authenticateUser: Missing delegated permissions \" +\r\n error\r\n );\r\n renderPermissionPopup(authenticateParameters);\r\n }\r\n );\r\n },\r\n failureCallback: (error) => {\r\n console.log(\" Error: authenticateUser: \" + error);\r\n renderPermissionPopup(authenticateParameters);\r\n },\r\n resources: [\r\n GlobalVars.BIZ_CONSOLE_DOMAIN,\r\n \"https://graph.microsoft.com/\",\r\n ],\r\n });\r\n }\r\n\r\n /**\r\n * Renders UI Component to initiate user login flow for any missing graph permissions or SSO failure.\r\n * User initiation is needed to render a popup in teams platform.\r\n * {@link PopupPermission} component gets the user initiation using a button to start the login flow.\r\n * @private\r\n * @param authenticateParameters {@link AuthenticateParameters}\r\n */\r\n function renderPermissionPopup(\r\n authenticateParameters: AuthenticateParameters\r\n ) {\r\n var popupDiv = document.getElementById(GlobalVars.BIZ_CENTER_DIV);\r\n if (isNullOrUndefined(popupDiv)) {\r\n authenticateParameters.onFailure(\r\n \"Error: Provided div element does not exist.\"\r\n );\r\n return;\r\n }\r\n // popupDiv!.style.display = \"block\";\r\n ReactDOM.render(\r\n {\r\n initiateUserLogin(authenticateParameters);\r\n }}\r\n />,\r\n popupDiv\r\n );\r\n }\r\n\r\n /**\r\n * Initiates user login flow on user initiation in the popup.\r\n * @private\r\n * @param authenticateParameters {@link AuthenticateParameters}\r\n */\r\n function initiateUserLogin(authenticateParameters: AuthenticateParameters) {\r\n // unmount the component\r\n let popupDiv = document.getElementById(GlobalVars.BIZ_CENTER_DIV);\r\n if (isNullOrUndefined(popupDiv)) {\r\n authenticateParameters.onFailure(\r\n \"Error: Provided div element does not exist.\"\r\n );\r\n return;\r\n }\r\n ReactDOM.unmountComponentAtNode(popupDiv!);\r\n\r\n let currentUrl = new URL(window.location.href);\r\n let tid = currentUrl.searchParams.get(\"tenant\");\r\n let redirectUrl = new URL(authenticateParameters.url);\r\n redirectUrl.searchParams.append(\"tid\", tid ?? \"\");\r\n console.log(\"redirection url: \" + redirectUrl);\r\n\r\n microsoftTeams.authentication.authenticate({\r\n url: redirectUrl.toString(),\r\n width: authenticateParameters.width ?? 600,\r\n height: authenticateParameters.height ?? 535,\r\n successCallback: (key) => {\r\n const tokenResultString = localStorage.getItem(key || \"\");\r\n const tokenResult: TokenResult = JSON.parse(\r\n tokenResultString || \"{}\"\r\n );\r\n if (\r\n !isNullOrUndefined(tokenResult) &&\r\n !isNullOrUndefined(tokenResult.idToken) &&\r\n tokenResult.idToken !== \"\"\r\n ) {\r\n console.log(\"initiateUserLogin: Successfully obtained user token.\");\r\n GlobalVars.instance.userIdToken = tokenResult.idToken;\r\n var decodedToken: UserContext = jwt_decode(tokenResult.idToken);\r\n authenticateParameters.onSuccess(decodedToken);\r\n } else {\r\n authenticateParameters.onFailure(\r\n \"Error getting id token. Please try again.\"\r\n );\r\n }\r\n },\r\n failureCallback: (reason) => {\r\n console.log(\"initiateUserLogin: failed: \" + reason);\r\n authenticateParameters.onFailure(\r\n \"Login Failed. Reason: \" + reason + \" Please try again.\"\r\n );\r\n },\r\n });\r\n }\r\n\r\n /**\r\n * Redirects the initial login popup page to Azure Ad login page with required params\r\n * @param clientId App AAD ID\r\n * @param authResolutionUrl Resolution url which the Azure AD page should revert back to with the result.\r\n */\r\n export function redirectToAADLoginPage(\r\n clientId: string,\r\n authResolutionUrl: string\r\n ) {\r\n getContext((context) => {\r\n let tid = context.tenantId;\r\n // Generate random state string and store it, so we can verify it in the callback\r\n let state = uuid();\r\n localStorage.setItem(\"state\", state);\r\n localStorage.removeItem(\"error\");\r\n let authScope =\r\n GlobalVars.TEAMS_DEFAULT_SCOPE +\r\n GlobalVars.SCOPE_SEPARATOR +\r\n GlobalVars.WEBHOOK_USER_RESOURCE_SCOPE;\r\n\r\n /**\r\n * For msft tenant calendar graph permissions are not obtained. Instead we send a ics event over email for msft tenant.\r\n * Event addition to calendar can be done for all other tenants by obtaining calendar permissions for the tenant.\r\n * So for msft tenant we don't need calendar scope.\r\n */\r\n if (tid !== GlobalVars.MSFT_TID) {\r\n authScope +=\r\n GlobalVars.SCOPE_SEPARATOR + GlobalVars.CALENDAR_INTEGRATION_SCOPE;\r\n }\r\n // Go to the Azure AD authorization endpoint\r\n let queryParams: AADLoginQueryParams = {\r\n client_id: encodeURIComponent(clientId),\r\n response_type: encodeURIComponent(\"id_token\"),\r\n response_mode: encodeURIComponent(\"fragment\"),\r\n // openId is required to prevent user explicit login\r\n scope: encodeURIComponent(authScope),\r\n redirect_uri: encodeURIComponent(authResolutionUrl),\r\n nonce: uuid(),\r\n state: encodeURIComponent(state),\r\n };\r\n let authorizeEndpoint =\r\n \"https://login.microsoftonline.com/\" +\r\n tid +\r\n \"/oauth2/v2.0/authorize?\" +\r\n toQueryString(queryParams);\r\n window.location.assign(authorizeEndpoint);\r\n });\r\n }\r\n\r\n export function resolveADAuth() {\r\n localStorage.removeItem(\"error\");\r\n let hashParams = getHashParameters();\r\n if (hashParams[\"error\"]) {\r\n // Authentication/authorization failed\r\n localStorage.setItem(\"error\", JSON.stringify(hashParams));\r\n businessCenter.popupContext.notifyFailure(hashParams[\"error\"]);\r\n } else if (hashParams[\"id_token\"]) {\r\n // Get the stored state parameter and compare with incoming state\r\n let expectedState = localStorage.getItem(\"state\");\r\n if (expectedState !== hashParams[\"state\"]) {\r\n // State does not match, report error\r\n localStorage.setItem(\"error\", JSON.stringify(hashParams));\r\n businessCenter.popupContext.notifyFailure(\r\n \"StateDoesNotMatch: \" + JSON.stringify(hashParams)\r\n );\r\n } else {\r\n // Success -- return token information to the parent page.\r\n // Use localStorage to avoid passing the token via notifySuccess; instead we send the item key.\r\n let key = \"tokenResult\";\r\n localStorage.setItem(\r\n key,\r\n JSON.stringify({\r\n idToken: hashParams[\"id_token\"],\r\n })\r\n );\r\n businessCenter.popupContext.notifySuccess(key);\r\n }\r\n } else {\r\n // Unexpected condition: hash does not contain error or access_token parameter\r\n localStorage.setItem(\"error\", JSON.stringify(hashParams));\r\n businessCenter.popupContext.notifyFailure(\r\n \"UnexpectedFailure: \" + JSON.stringify(hashParams)\r\n );\r\n }\r\n }\r\n\r\n /**\r\n * Parse hash parameters into key-value pairs\r\n * @private\r\n * @returns\r\n */\r\n function getHashParameters() {\r\n let hashParams = {};\r\n location.hash\r\n .substr(1)\r\n .split(\"&\")\r\n .forEach(function (item) {\r\n let s = item.split(\"=\"),\r\n k = s[0],\r\n v = s[1] && decodeURIComponent(s[1]);\r\n hashParams[k] = v;\r\n });\r\n return hashParams;\r\n }\r\n\r\n /**\r\n * Gets the query param string with all the params to be appended to the AAD Login base url\r\n * @private\r\n * @param queryParams\r\n * @returns query param string\r\n */\r\n function toQueryString(queryParams: AADLoginQueryParams) {\r\n let encodedQueryParams: string[] = [];\r\n for (let key in queryParams) {\r\n encodedQueryParams.push(key + \"=\" + queryParams[key]);\r\n }\r\n return encodedQueryParams.join(\"&\");\r\n }\r\n\r\n /**\r\n * Generates a random guid\r\n * This guid does not need to be unique.\r\n * So, using Math.Random should suffice to generate a random identifier.\r\n * @private\r\n * @returns random guid string\r\n */\r\n function uuid() {\r\n return (\r\n Math.random().toString(36).substring(2, 15) +\r\n \"-\" +\r\n Math.random().toString(36).substring(2, 15)\r\n );\r\n }\r\n\r\n /**\r\n * Query Params for AAD Login page\r\n * @private\r\n */\r\n interface AADLoginQueryParams {\r\n /**\r\n * App AAD Id\r\n */\r\n client_id: string;\r\n /**\r\n * response type\r\n */\r\n response_type: string;\r\n /**\r\n * response mode\r\n */\r\n response_mode: string;\r\n /**\r\n * permissions scope\r\n */\r\n scope: string;\r\n /**\r\n * redirection url on auth resolution\r\n */\r\n redirect_uri: string;\r\n /**\r\n * additional salt\r\n */\r\n nonce: string;\r\n /**\r\n * unique guid to validate the source of the response\r\n */\r\n state: string;\r\n }\r\n\r\n /**\r\n * @private\r\n */\r\n interface TokenResult {\r\n /**\r\n * User AAD token\r\n */\r\n idToken: string;\r\n }\r\n\r\n /**\r\n * Parameters required for user authentication request\r\n */\r\n export interface AuthenticateParameters {\r\n /**\r\n * The URL for the authentication pop-up.\r\n */\r\n url: string;\r\n /**\r\n * The preferred width for the pop-up. This value can be ignored if outside the acceptable bounds.\r\n */\r\n width?: number;\r\n /**\r\n * The preferred height for the pop-up. This value can be ignored if outside the acceptable bounds.\r\n */\r\n height?: number;\r\n /**\r\n * A function that is called if the authentication succeeds, with the result returned from the authentication pop-up.\r\n */\r\n onSuccess: (userContext: UserContext) => void;\r\n /**\r\n * A function that is called if the authentication fails, with the reason for the failure returned from the authentication pop-up.\r\n */\r\n onFailure: (reason?: string) => void;\r\n }\r\n\r\n /**\r\n * User Context of the user logged in\r\n */\r\n export interface UserContext {\r\n /**\r\n * AAD User Id\r\n * */\r\n oid: string;\r\n /**\r\n * AAD User Tenant Id\r\n * */\r\n tid: string;\r\n }\r\n }\r\n\r\n export interface SdkError {\r\n /**\r\n error code\r\n */\r\n ErrorCode: ErrorCode;\r\n /**\r\n Optional description for the error. This may contain useful information for web-app developers.\r\n This string will not be localized and is not for end-user consumption.\r\n App should not depend on the string content. The exact value may change. This is only for debugging purposes.\r\n */\r\n Exception?: SdkException;\r\n }\r\n export interface SdkException {\r\n /**\r\n * Exception type\r\n */\r\n Type?: string;\r\n /**\r\n Exception message\r\n */\r\n Message?: string;\r\n }\r\n export enum ErrorCode {\r\n /**\r\n * API not supported in the current platform.\r\n */\r\n BAD_REQUEST = 400,\r\n /**\r\n * Internal error encountered while performing the required operation.\r\n */\r\n INTERNAL_ERROR = 500,\r\n /**\r\n * One or more arguments are invalid\r\n */\r\n INVALID_ARGUMENTS = 4000,\r\n /**\r\n * Platform throttled the request because of API was invoked too frequently\r\n */\r\n THROTTLE = 5000,\r\n /**\r\n * User aborted the operation\r\n */\r\n USER_ABORT = 6000,\r\n /**\r\n * Could not complete the operation in the given time interval\r\n */\r\n OPERATION_TIMED_OUT = 7000,\r\n }\r\n\r\n interface PopupPermissionProps {\r\n domain: string;\r\n initiateUserLogin: () => void;\r\n }\r\n\r\n interface PopupPermissionState {\r\n isOpen: boolean;\r\n }\r\n\r\n /**\r\n * Component to get user initiation to trigger user login flow for missing graph permissions or on SSO failure.\r\n * @private\r\n */\r\n class PopupPermission extends React.Component<\r\n PopupPermissionProps,\r\n PopupPermissionState\r\n > {\r\n constructor(props) {\r\n super(props);\r\n this.state = { isOpen: false };\r\n }\r\n componentDidMount() {\r\n this.setState({\r\n isOpen: true,\r\n });\r\n }\r\n\r\n public render() {\r\n return (\r\n \r\n {/*
*/}\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n {document.title} will need access to certain permissions for\r\n your tenant.\r\n \r\n
\r\n
\r\n \r\n Please provide access to {document.title} by logging in.\r\n \r\n
\r\n
\r\n {\r\n this.setState({ isOpen: false });\r\n this.props.initiateUserLogin();\r\n }}\r\n />\r\n
\r\n \r\n {/* */}\r\n
\r\n );\r\n }\r\n }\r\n}\r\n"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","prototype","hasOwnProperty","call","__extends","TypeError","String","__","this","constructor","create","__assign","assign","t","s","i","n","arguments","length","apply","__rest","e","indexOf","getOwnPropertySymbols","propertyIsEnumerable","__decorate","decorators","target","key","desc","c","r","getOwnPropertyDescriptor","Reflect","decorate","defineProperty","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","rejected","result","done","then","__generator","body","f","y","_","label","sent","trys","ops","g","verb","throw","return","Symbol","iterator","v","op","pop","push","__spreadArrays","il","k","a","j","jl","window","exports","l","m","o","enumerable","get","toStringTag","__esModule","bind","default","Communication","parentMessageQueue","childMessageQueue","nextMessageId","callbacks","Function","parentWindow","id","func","timestamp","Date","now","args","GlobalVars","isFramelessWindow","currentWindow","nativeInterface","framelessPostMessage","JSON","stringify","u","C","postMessage","data","source","originalEvent","origin","location","validOriginRegExp","test","toLowerCase","additionalValidOriginsRegexp","closed","childWindow","childOrigin","parentOrigin","h","callHandler","isArray","concat","isPartialResponse","shift","initializeCommunication","messageListener","parent","self","opener","addEventListener","onNativeMessage","version","uninitializeCommunication","removeEventListener","sendMessageToParent","waitForMessageQueue","setInterval","clearInterval","sendMessageEventToChild","ensureInitialized","initializeCalled","Error","frameContext","isAPISupportedByPlatform","defaultSDKVersionForCompatCheck","compareSDKVersions","clientSupportedSDKVersion","isNaN","processAdditionalValidOrigins","additionalValidOrigins","filter","userOriginUrlValidationRegExp","generateRegExpFromUrls","HostClientType","desktop","web","android","ios","rigel","surfaceHub","FrameContexts","settings","content","authentication","remove","task","sidePanel","stage","meetingStage","TeamType","Standard","Edu","Class","Plc","Staff","UserTeamRole","Admin","User","Guest","TaskModuleDimension","Large","Medium","Small","ChannelType","Regular","Private","Shared","handlers","themeChangeHandler","backButtonPressHandler","navigateBack","loadHandler","beforeUnloadHandler","initializeHandlers","themeChange","backButtonPress","load","beforeUnload","registerHandler","removeHandler","registerOnThemeChangeHandler","handleThemeChange","registerBackButtonHandler","registerOnLoadHandler","registerBeforeUnloadHandler","getUserJoinedTeamsSupportedAndroidClientVersion","locationAPIsRequiredVersion","peoplePickerRequiredVersion","captureImageMobileSupportVersion","mediaAPISupportVersion","getMediaCallbackSupportVersion","scanBarCodeAPIMobileSupportVersion","validOrigins","split","replace","RegExp","getGenericOnCompleteHandler","NaN","every","Number","generateGUID","v4","initializeCompleted","initializeCallbacks","printCapabilityEnabled","FileOpenPreference","Inline","Desktop","Web","ErrorCode","NOT_SUPPORTED_ON_PLATFORM","INTERNAL_ERROR","NOT_SUPPORTED_IN_CURRENT_CONTEXT","PERMISSION_DENIED","NETWORK_ERROR","NO_HW_SUPPORT","INVALID_ARGUMENTS","UNAUTHORIZED_USER_OPERATION","INSUFFICIENT_RESOURCES","THROTTLE","USER_ABORT","OPERATION_TIMED_OUT","OLD_PLATFORM","FILE_NOT_FOUND","SIZE_EXCEEDED","appInitialization","enablePrintCapability","executeDeepLink","getContext","getMruTabInstances","getTabInstances","initialize","initializeWithFrameContext","print","registerChangeSettingsHandler","registerFullScreenHandler","registerAppButtonClickHandler","registerAppButtonHoverEnterHandler","registerAppButtonHoverLeaveHandler","setFrameContext","shareDeepLink","returnFocus","navigateCrossDomain","navigateToTab","tasks","ChildAppWindow","ParentAppWindow","media","meeting","people","crypto","getRandomValues","msCrypto","Uint8Array","Math","random","toString","substr","join","close","width","height","min","outerWidth","outerHeight","document","createElement","href","url","screenLeft","screenX","screenTop","screenY","open","hostClientType","successCallback","failureCallback","decodeURIComponent","host","search","registerAuthenticationHandlers","authenticate","getAuthToken","resources","claims","silent","getUser","notifySuccess","setTimeout","notifyFailure","setValidityState","getSettings","setSettings","registerOnSaveHandler","registerOnRemoveHandler","ensureNotNotified","notified","logs","registerGetLogHandler","initializePrivateApis","menus","getUserJoinedTeams","errorCode","enterFullscreen","exitFullscreen","openFilePreview","entityId","title","description","type","objectUrl","downloadUrl","webPreviewUrl","webEditUrl","baseUrl","editFile","subEntityId","viewerAction","fileOpenPreference","showNotification","message","notificationType","uploadCustomApp","sendCustomMessage","sendCustomEvent","registerCustomHandler","getChatMembers","getConfigSetting","registerUserSettingsChangeHandler","MenuItem","enabled","selected","MenuListType","dropDown","popOver","setUpViews","setNavBarMenu","showActionMenu","_instance","configurable","FileFormat","Base64","ID","File","captureImage","getMedia","validateGetMediaInputs","mimeType","format","getMediaViaCallback","getMediaViaHandler","mediaMimeType","assembleAttachment","error","mediaChunk","chunkSequence","createFile","decodeAttachment","parse","name","preview","size","Media","CameraStartMode","Photo","Document","Whiteboard","BusinessCard","Source","Camera","Gallery","MediaType","Image","Audio","ImageUriType","URL","selectMedia","validateSelectMediaInputs","viewImages","validateViewImagesInput","scanBarCode","validateScanBarCodeInput","sort","sequence","forEach","Blob","file","atob","chunk","charCodeAt","maxMediaCount","timeOutIntervalInSec","validatePeoplePickerInput","setSelected","openOrgWideSearchInChatOrChannel","singleSelect","bot","NotificationTypes","ViewerActionTypes","UserSettingTypes","conversations","meetingRoom","remoteCamera","files","appEntity","sendQuery","getSupportedCommands","ResponseType","Results","Auth","v1","node","clockseq","msecs","getTime","nsecs","rng","Messages","AppLoaded","Success","Failure","ExpectedFailure","FailedReason","AuthFailed","Timeout","Other","ExpectedFailureReason","PermissionError","NotFound","Throttling","Offline","notifyAppLoaded","reason","notifyExpectedFailure","_uninitialize","T","w","_initialize","ctrlKey","metaKey","keyCode","cancelBubble","preventDefault","stopImmediatePropagation","subEntityLabel","subEntityWebUrl","startTask","updateTask","keys","submitTask","getLocation","showLocation","MeetingType","Unknown","Adhoc","Scheduled","Recurring","Broadcast","MeetNow","getIncomingClientAudioState","toggleIncomingClientAudio","getMeetingDetails","getAuthenticationTokenForAnonymousUser","getLiveStreamState","requestStartLiveStreaming","requestStopLiveStreaming","registerLiveStreamChangedHandler","selectPeople","fileDownloadStart","fileDownloadComplete","view","edit","editNew","theme","openConversation","conversationId","channelId","onStartConversation","onCloseConversation","closeConversation","Capability","toggleMute","toggleCamera","toggleCaptions","volume","showVideoGallery","showContent","showVideoGalleryAndContent","showLargeGallery","showTogether","leaveMeeting","getPairedMeetingRoomInfo","sendCommandToPairedMeetingRoom","registerMeetingRoomCapabilitiesUpdateHandler","registerMeetingRoomStatesUpdateHandler","ControlCommand","Reset","ZoomIn","ZoomOut","PanLeft","PanRight","TiltUp","TiltDown","ErrorReason","CommandResetError","CommandZoomInError","CommandZoomOutError","CommandPanLeftError","CommandPanRightError","CommandTiltUpError","CommandTiltDownError","SendDataError","SessionTerminatedReason","None","ControlDenied","ControlNoResponse","ControlBusy","AckTimeout","ControlTerminated","ControllerTerminated","DataChannelError","ControllerCancelled","ControlDisabled","getCapableParticipants","requestControl","sendControlCommand","terminateSession","registerOnCapableParticipantsChangeHandler","registerOnErrorHandler","registerOnDeviceStateChangeHandler","registerOnSessionStatusChangeHandler","CloudStorageProvider","Dropbox","Box","Sharefile","GoogleDrive","Egnyte","CloudStorageProviderType","Sharepoint","WopiIntegration","Google","getCloudStorageFolders","addCloudStorageFolder","deleteCloudStorageFolder","getCloudStorageFolderContents","isSubdirectory","openCloudStorageFile","selectAppEntity","propIsEnumerable","objectAssign","test1","getOwnPropertyNames","test2","fromCharCode","map","test3","letter","err","shouldUseNative","from","to","val","toObject","symbols","require$$0","q","for","x","z","encodeURIComponent","A","isMounted","enqueueForceUpdate","enqueueReplaceState","enqueueSetState","B","props","context","refs","updater","D","E","isReactComponent","setState","forceUpdate","F","isPureReactComponent","G","current","H","I","ref","__self","__source","J","children","defaultProps","$$typeof","_owner","L","M","N","=",":","O","Q","_status","_result","R","S","ReactCurrentDispatcher","ReactCurrentBatchConfig","transition","ReactCurrentOwner","IsSomeRendererActing","count","toArray","only","_calculateChangedBits","_currentValue","_currentValue2","_threadCount","Provider","Consumer","_context","render","_payload","_init","compare","useCallback","useContext","useEffect","useImperativeHandle","useLayoutEffect","useMemo","useReducer","useRef","useState","reactModule","K","sortIndex","performance","MessageChannel","unstable_now","clearTimeout","console","cancelAnimationFrame","requestAnimationFrame","floor","port2","port1","onmessage","callback","startTime","expirationTime","U","V","unstable_shouldYield","priorityLevel","W","delay","schedulerModule","aa","require$$1","require$$2","ba","Set","ca","da","ea","add","fa","ha","ia","ja","ka","na","acceptsBooleans","slice","ma","attributeName","attributeNamespace","mustUseProperty","propertyName","sanitizeURL","removeEmptyString","oa","pa","toUpperCase","qa","removeAttribute","setAttribute","setAttributeNS","xlinkHref","ra","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","sa","ta","ua","wa","xa","ya","za","Aa","Ba","Ca","Da","Ea","Fa","Ga","Ha","Ia","Ja","Ma","Ka","La","Na","stack","trim","match","Oa","Pa","prepareStackTrace","set","construct","displayName","Ra","_render","Sa","Ta","nodeName","Va","_valueTracker","getValue","setValue","stopTracking","Ua","Wa","checked","Xa","activeElement","Ya","defaultChecked","defaultValue","_wrapperState","initialChecked","Za","initialValue","controlled","$a","ab","bb","cb","ownerDocument","eb","Children","fb","options","defaultSelected","disabled","gb","dangerouslySetInnerHTML","hb","ib","jb","textContent","kb","html","mathml","svg","lb","mb","nb","ob","namespaceURI","innerHTML","valueOf","firstChild","removeChild","appendChild","MSApp","execUnsafeLocalFunction","pb","lastChild","nodeType","nodeValue","qb","animationIterationCount","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridArea","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","fontWeight","lineClamp","lineHeight","opacity","order","orphans","tabSize","widows","zIndex","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","rb","sb","tb","style","setProperty","charAt","substring","ub","menuitem","area","base","br","col","embed","hr","img","input","keygen","link","meta","param","track","wbr","vb","wb","is","xb","srcElement","correspondingUseElement","parentNode","yb","zb","Ab","Bb","Cb","stateNode","Db","Eb","Fb","Gb","Hb","Ib","Jb","Kb","Lb","Mb","Ob","Pb","Qb","Sb","Tb","Ub","Vb","Wb","onError","Xb","Zb","alternate","flags","tag","$b","memoizedState","dehydrated","ac","cc","child","sibling","bc","dc","ec","fc","gc","hc","ic","jc","kc","lc","mc","nc","Map","oc","pc","qc","rc","blockedOn","domEventName","eventSystemFlags","nativeEvent","targetContainers","sc","delete","pointerId","tc","xc","yc","zc","Ac","Bc","unstable_scheduleCallback","unstable_NormalPriority","Cc","wc","lanePriority","unstable_runWithPriority","priority","hydrate","containerInfo","vc","Dc","Ec","animationend","animationiteration","animationstart","transitionend","Fc","Gc","Hc","animation","Ic","Jc","Kc","Lc","Mc","Nc","Oc","Pc","Qc","Rc","Uc","pendingLanes","expiredLanes","suspendedLanes","pingedLanes","Vc","entangledLanes","entanglements","Wc","Xc","Yc","Zc","$c","eventTimes","clz32","bd","cd","log","LN2","dd","unstable_UserBlockingPriority","ed","fd","gd","hd","uc","jd","kd","ld","md","nd","od","charCode","pd","qd","rd","_reactName","_targetInst","currentTarget","isDefaultPrevented","defaultPrevented","returnValue","isPropagationStopped","stopPropagation","persist","isPersistent","wd","xd","yd","sd","eventPhase","bubbles","cancelable","timeStamp","isTrusted","td","ud","detail","vd","Ad","clientX","clientY","pageX","pageY","shiftKey","altKey","getModifierState","zd","button","buttons","relatedTarget","fromElement","toElement","movementX","movementY","Bd","Dd","dataTransfer","Fd","Hd","animationName","elapsedTime","pseudoElement","Jd","clipboardData","Ld","Md","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Menu","Apps","Scroll","MozPrintableKey","Nd","8","9","12","13","16","17","18","19","20","27","32","33","34","35","36","37","38","39","40","45","46","112","113","114","115","116","117","118","119","120","121","122","123","144","145","224","Od","Alt","Control","Meta","Shift","Pd","Rd","code","repeat","locale","which","Td","pressure","tangentialPressure","tiltX","tiltY","twist","pointerType","isPrimary","Vd","touches","targetTouches","changedTouches","Xd","Zd","deltaX","wheelDeltaX","deltaY","wheelDeltaY","wheelDelta","deltaZ","deltaMode","$d","ae","be","documentMode","ce","de","ee","fe","ge","he","ie","le","color","date","datetime","datetime-local","email","month","number","password","range","tel","text","time","week","me","ne","oe","event","listeners","pe","qe","re","se","te","ue","ve","we","Ae","detachEvent","Be","Ce","attachEvent","De","Ee","Fe","xe","ye","ze","oninput","He","Ie","Je","Ke","Le","offset","nextSibling","Ne","HTMLIFrameElement","contentWindow","Oe","contentEditable","Pe","Qe","Re","Se","Te","Ue","start","selectionStart","end","selectionEnd","anchorNode","defaultView","getSelection","anchorOffset","focusNode","focusOffset","Ve","We","Xe","Ye","Ze","Yb","instance","listener","$e","has","af","bf","cf","df","capture","passive","Nb","ef","ff","gf","hf","char","unshift","jf","kf","lf","mf","autoFocus","nf","__html","of","pf","qf","rf","sf","previousSibling","tf","vf","wf","xf","yf","zf","Af","Bf","Cf","Df","Ef","contextTypes","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","Ff","childContextTypes","Gf","Hf","If","getChildContext","Jf","__reactInternalMemoizedMergedChildContext","Kf","Lf","Mf","Nf","Of","Pf","unstable_cancelCallback","Qf","Rf","unstable_requestPaint","Sf","Tf","unstable_getCurrentPriorityLevel","Uf","unstable_ImmediatePriority","Vf","Wf","Xf","unstable_LowPriority","Yf","unstable_IdlePriority","Zf","$f","ag","bg","cg","dg","eg","fg","gg","hg","ig","jg","kg","lg","mg","ng","og","pg","qg","rg","sg","childLanes","tg","dependencies","firstContext","lanes","ug","vg","observedBits","responders","wg","xg","updateQueue","baseState","firstBaseUpdate","lastBaseUpdate","shared","pending","effects","yg","zg","eventTime","lane","payload","Ag","Bg","Cg","Dg","Eg","Fg","Component","Gg","Kg","_reactInternals","Hg","Ig","Jg","Lg","shouldComponentUpdate","Mg","contextType","state","Ng","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","Og","getDerivedStateFromProps","getSnapshotBeforeUpdate","UNSAFE_componentWillMount","componentWillMount","componentDidMount","Pg","Qg","_stringRef","Rg","Sg","lastEffect","nextEffect","firstEffect","index","Tg","Ug","mode","elementType","Vg","implementation","Wg","Xg","Yg","Zg","$g","ah","bh","ch","dh","eh","documentElement","tagName","fh","gh","hh","ih","memoizedProps","revealOrder","jh","kh","lh","mh","nh","oh","pendingProps","ph","qh","rh","sh","th","uh","_workInProgressVersionPrimary","vh","wh","xh","yh","zh","Ah","Bh","Ch","Dh","Eh","Fh","Gh","Hh","baseQueue","queue","Ih","Jh","Kh","lastRenderedReducer","action","eagerReducer","eagerState","lastRenderedState","dispatch","Lh","Mh","_getVersion","_source","mutableReadLanes","Nh","getSnapshot","subscribe","setSnapshot","Oh","Ph","Qh","Rh","destroy","deps","Sh","Th","Uh","Vh","Wh","Xh","Yh","Zh","$h","ai","bi","ci","readContext","useDebugValue","useDeferredValue","useTransition","useMutableSource","useOpaqueIdentifier","unstable_isNewReconciler","ei","fi","gi","hi","ii","ji","ki","li","mi","baseLanes","ni","oi","pi","UNSAFE_componentWillUpdate","componentWillUpdate","componentDidUpdate","qi","getDerivedStateFromError","ri","pendingContext","si","retryLane","ti","fallback","unstable_avoidThisFallback","ui","unstable_expectedLoadTime","vi","wi","xi","yi","zi","isBackwards","rendering","renderingStartTime","last","tail","tailMode","Ai","Fi","Mi","Qa","Ni","Bi","Ci","Di","onClick","onclick","Ei","Oi","WeakMap","Pi","element","Qi","Ri","Si","componentDidCatch","Ti","componentStack","Ui","WeakSet","Vi","Wi","Yi","Zi","Aj","xj","Oj","__reactInternalSnapshotBeforeUpdate","focus","aj","display","bj","onCommitFiberUnmount","componentWillUnmount","cj","dj","ej","fj","gj","insertBefore","_reactRootContainer","hj","ij","wasMultiple","multiple","jj","kj","Gj","tj","Kj","Mj","nj","ceil","oj","pj","X","Y","qj","rj","sj","Hi","uj","vj","Ji","Infinity","wj","ck","Z","yj","zj","Bj","Cj","Dj","Ej","Fj","Hj","Ij","Jj","Sc","Ii","Lj","callbackNode","expirationTimes","callbackPriority","Tc","Nj","Pj","Qj","bk","Rj","Sj","Tj","finishedWork","finishedLanes","Uj","timeoutHandle","Wj","Xj","Ki","pingCache","Yj","Zj","va","ak","createElementNS","createTextNode","Gi","Li","rangeCount","focusedElem","selectionRange","mj","Xi","ek","Me","contains","compareDocumentPosition","extend","createRange","setStart","removeAllRanges","addRange","setEnd","left","scrollLeft","top","scrollTop","onCommitFiberRoot","fk","gk","ik","pendingChildren","jk","mutableSourceEagerHydrationData","lk","mk","nk","ok","qk","hydrationOptions","mutableSources","_internalRoot","rk","tk","hasAttribute","sk","uk","kk","hk","unstable_observedBits","unmount","querySelectorAll","form","vk","Events","wk","findFiberByHostInstance","bundleType","rendererPackageName","xk","rendererConfig","overrideHookState","overrideHookStateDeletePath","overrideHookStateRenamePath","overrideProps","overridePropsDeletePath","overridePropsRenamePath","setSuspenseHandler","scheduleUpdate","currentDispatcherRef","findHostInstanceByFiber","findHostInstancesForRefresh","scheduleRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","__REACT_DEVTOOLS_GLOBAL_HOOK__","yk","isDisabled","supportsFiber","inject","checkDCE","reactDomModule","header","packagesCache","_win","undefined","setVersion","packageName","packageVersion","packages","__packages__","_stylesheet","InjectionMode","STYLESHEET_SETTING","REUSE_STYLE_NODE","navigator","userAgent","_global","_a","Stylesheet","getInstance","fabricConfig","_lastStyleElement","FabricConfig","mergeStyles","setConfig","config","_config","onReset","_onResetCallbacks","getClassName","namespace","defaultPrefix","_counter","cacheClassName","className","rules","_keyToClassName","_classNameToArgs","classNameFromKey","getClassNameCache","argsFromClassName","entry","insertedRulesFromClassName","insertRule","rule","preserve","injectionMode","_getStyleElement","_preservedRules","sheet","cssRules","_rules","onInsertRule","getRules","includePreservedRules","_rulesToInsert","reset","resetKeys","_this","_styleElement","_createStyleElement","head","styleElement","cspSettings","nonce","nextElementSibling","placeholderStyleTag","_findPlaceholderStyleTag","childNodes","querySelector","classNameCache","extractStyleParts","_i","classes","objects","stylesheet","_processArgs","argsList","argsList_1","translatedArgs","arg","setRTL","isRTL","_rtl","getRTL","getAttribute","getStyleOptions","rtl","_vendorSettings","autoPrefixNames","user-select","prefixRules","rulePairs","doc","vendorSettings","nav","isWebkit","isMoz","isOpera","isMs","NON_PIXEL_NUMBER_PROPS","LEFT","RIGHT","NO_FLIP","NAME_REPLACEMENTS","VALUE_REPLACEMENTS","w-resize","sw-resize","nw-resize","rtlifyRules","name_1","parts","flipQuad","partIndex","numberVal","parseInt","negateNum","DISPLAY_NAME","globalSelectorRegExp","expandSelector","newSelector","currentSelector","extractSelector","selector","__order","extractRules","selectorWithGlobals","replacementInfo","findGlobal","exec","reverse","reduce","matchIndex","matchEndIndex","replacement","expandCommaSeparatedGlobals","separatedSelector","currentRules","args_1","expandedRules","prop","propValue","selectors","partStart","parens","tokenizeWithParentheses","expandQuads","serializeRuleEntries","ruleEntries","allEntries","isNonPixelProp","isVariableOrPrefixed","splice","styleToRegistration","serialized","hasProps","propName","rulesForSelector","getKeyForRules","registration","rootStyle","rulesToInsert","_b","applyRegistration","specificityMultiplier","processedRule","repeatString","mergeCss","styleToClassName","concatStyleSets","styleSets","subComponentStyles","mergedSet","workingSubcomponentStyles","styleSets_1","currentSet","mergedValue","currentValue","currentComponentStyles","subCompProp","mergedSubStyles","workingSet_1","styleProps","styleFunctionOrObject","_loop_1","mergeStyleSets","mergeCssSets","classNameSet","styleSetArea","concatenatedStyleSet","registrations","registrations_1","concatStyleSetsWithProps","allStyles","allStyles_1","styles","fontFace","font","keyframes","timeline","rulesArray","_window","getWindow","rootElement","Async","dispose","_isDisposed","_parent","_timeoutIds","_immediateIds","clearImmediate","_intervalIds","_animationFrameIds","duration","timeoutId","_logError","setImmediate","targetElement","immediateId","win","intervalId","throttle","wait","_noop","lastResult","lastArgs","waitMS","leading","trailing","lastExecuteTime","userCall","delta","waitLength","debounce","noOpFunction","cancel","flush","maxWait","lastCallTime","markExecuted","invokeFunction","executeImmediately","maxWaitDelta","maxWaitExpired","resultFunction","animationFrameId","animationFrameCallback","_onErrorHandler","shallowCompare","isAllowed","sourceObject","_scrollbarWidth","EventGroup","raise","eventName","eventArgs","bubbleEvent","retVal","evObj","_isElement","createEvent","ev","initEvent","dispatchEvent","createEventObject","fireEvent","events","__events__","eventRecords","eventRecordList","listIndex","record","objectCallback","isObserved","isDeclared","declaredEvents","__declaredEvents","HTMLElement","off","onAll","useCapture","on","processElementEvent","parent_1","eventRecord","_id","elementCallback","_eventRecords","targetArrayLookup","targetArray","declare","_uniqueId","getDocument","_disableIosBodyScroll","_super","_bodyScrollDisabledCount","DisabledScrollClassName","overflow","DATA_IS_SCROLLABLE_ATTRIBUTE","getScrollbarWidth","scrollDiv","offsetWidth","clientWidth","findScrollableParent","startingElement","el","parentElement","computedStyles","getComputedStyle","overflowY","getPropertyValue","warn","BaseComponent","obj","methodNames","len","methodName","classMethod","prototypeMethod","_makeSafe","_makeAllSafe","nullRender","React.Component","prevProps","prevState","_updateComponentRef","_setComponentRef","componentRef","__disposables","_disposables","disposable","results","__className","__async","__events","_resolveRef","refName","__resolves","currentProps","newProps","_warnDeprecations","deprecationMap","_warnMutuallyExclusive","mutuallyExclusiveMap","_warnConditionallyRequiredProps","requiredProps","conditionalPropName","condition","_skipComponentRefResolution","GLOBAL_SETTINGS_PROP_NAME","CALLBACK_STATE_PROP_NAME","GlobalSettings","globalSettings","_getGlobalSettings","oldValue","changeDescription","addChangeListener","__id__","_getCallbacks","removeChangeListener","globalObj","KeyCodes","Rectangle","right","bottom","equals","rect","parseFloat","toFixed","mergeAriaAttributeValues","ariaAttributes","mergedAttribute","getItem","sessionStorage","_isRTL","RTL_LOCAL_STORAGE_KEY","savedRTL","persistSetting","setItem","mergeStylesSetRTL","getParent","allowVirtualParents","_virtual","elementContains","isContained","nextParent","findElementRecursive","matchFunction","DATA_PORTAL_ATTRIBUTE","portalContainsElement","elementMatch","testElement","raiseClick","Event","createNewEvent","_memoizedClassNames","classNamesFunction","styleCalcCount","getClassNamesCount","currentMemoizedClassNames","useStaticStyles","__noStyleOverride__","disableCaching","_traverseMap","cacheSize","enableClassNameCacheFullWarning","trace","clear","_traverseEdge","_normalizeValue","inputs","__cachedInputs__","_initializedStylesheetResets","_resetCounter","_emptyObject","empty","_dictionary","_weakMap","resetMemoizations","memoizeFunction","maxCacheSize","ignoreNullOrUndefinedResult","rootNode","localResetCounter","currentNode","_createNode","_normalizeArg","css","NO_CUSTOMIZATIONS","scopedSettings","inCustomizerContext","_allSettings","_events","Customizations","applySettings","_raiseChange","applyScopedSettings","scopeName","properties","localSettings","localScopedSettings","globalScopedSettings","properties_1","property","applyBatchedUpdates","suppressUpdate","_suppressUpdates","observe","onChange","unobserve","CustomizerContext","React.createContext","customizations","mergeSettings","oldSettings","newSettings","_isSettingsFunction","mergeScopedSettings","scopedSettingsFromProps","oldScopedSettings","newScopedSettings","_scopedSettingsMergeWith","Customizer","_onCustomizationChange","contextTransform","React.createElement","parentContext","newContext","customizable","scope","fields","concatStyles","ComposedComponent","resultClass","ComponentWithInjectedProps","_onSettingChanged","componentProps","_styleCache","component","mergedStyles","merged","dest","hoistStatics","useCustomizationSettings","React.useState","React.useContext","React.useEffect","extendComponent","methods","functions","appendFunction","IS_FOCUSABLE_ATTRIBUTE","IS_VISIBLE_ATTRIBUTE","FOCUSZONE_ID_ATTRIBUTE","FOCUSZONE_SUB_ATTRIBUTE","getPreviousElement","currentElement","checkNode","suppressParentTraversal","traverseChildren","includeElementsInFocusZones","allowFocusRoot","tabbable","isCurrentElementVisible","isElementVisible","isElementFocusZone","isElementFocusSubZone","childMatch","lastElementChild","isElementTabbable","childMatchSiblingMatch","previousElementSibling","childMatchParent","childMatchParentMatch","siblingMatch","getNextElement","suppressChildTraversal","firstElementChild","visibilityAttribute","offsetHeight","offsetParent","isVisible","checkTabIndex","tabIndex","tabIndexAttributeValue","isFocusableAttribute","shouldWrapFocus","noWrapDataAttribute","attribute","targetToFocusOnNextRepaint","focusAsync","CURRENT_ID_PROPERTY","DEFAULT_ID_STRING","getId","prefix","resetIds","counter","toObjectMap","items","items_1","item","keys_1","baseElementEvents","htmlElementProperties","anchorProperties","buttonProperties","imgProperties","divProperties","getNativeProps","allowedPropNames","excludedPropNames","keys_2","initializeComponentRef","_onMount","_onUpdate","_onUnmount","DirectionalKeyCodes","IsFocusVisibleClassName","IsFocusHiddenClassName","setFocusVisibility","classList","mountCounters","setMountCounters","currValue","newValue","useFocusRects","rootRef","disableFocusRects","_onMouseDown","_onPointerDown","_onKeyDown","FocusRects","_language","STORAGE_KEY","merge","_merge","circularReferences","isCircularReference","isIOS","isMacResult","isMac","DefaultFields","styled","baseStyles","getProps","pure","Wrapped","React.forwardRef","forwardedRef","React.useRef","customizedStyles","dir","rest","additionalProps","cache","concatenatedStyles","pureComponent","React.memo","getPropsWithDefaults","propsWithoutDefaults","createMergedRef","local","newRefs","resolver","array1","array2","arraysEqual","_iconSettings","__options","disableWarnings","warnOnMissingIcons","__remapped","subset","EASING_FUNCTION_1","EASING_FUNCTION_2","DURATION_1","DURATION_2","DURATION_3","DURATION_4","FADE_IN","FADE_OUT","visibility","SLIDE_RIGHT_IN10","_createSlideInX","SLIDE_RIGHT_IN20","SLIDE_RIGHT_IN40","SLIDE_RIGHT_IN400","SLIDE_LEFT_IN10","SLIDE_LEFT_IN20","SLIDE_LEFT_IN40","SLIDE_LEFT_IN400","SLIDE_UP_IN10","_createSlideInY","SLIDE_UP_IN20","SLIDE_DOWN_IN10","SLIDE_DOWN_IN20","SLIDE_RIGHT_OUT10","_createSlideOutX","SLIDE_RIGHT_OUT20","SLIDE_RIGHT_OUT40","SLIDE_RIGHT_OUT400","SLIDE_LEFT_OUT10","SLIDE_LEFT_OUT20","SLIDE_LEFT_OUT40","SLIDE_LEFT_OUT400","SLIDE_UP_OUT10","_createSlideOutY","SLIDE_UP_OUT20","SLIDE_DOWN_OUT10","SLIDE_DOWN_OUT20","SCALE_UP100","transform","SCALE_DOWN98","SCALE_DOWN100","SCALE_UP103","ROTATE90","ROTATE_N90","AnimationVariables","AnimationStyles","slideRightIn10","_createAnimation","slideRightIn20","slideRightIn40","slideRightIn400","slideLeftIn10","slideLeftIn20","slideLeftIn40","slideLeftIn400","slideUpIn10","slideUpIn20","slideDownIn10","slideDownIn20","slideRightOut10","slideRightOut20","slideRightOut40","slideRightOut400","slideLeftOut10","slideLeftOut20","slideLeftOut40","slideLeftOut400","slideUpOut10","slideUpOut20","slideDownOut10","slideDownOut20","scaleUpIn100","scaleDownIn100","scaleUpOut103","scaleDownOut98","fadeIn100","fadeIn200","fadeIn400","fadeIn500","fadeOut100","fadeOut200","fadeOut400","fadeOut500","rotate90deg","rotateN90deg","animationDuration","animationTimingFunction","animationFillMode","fromX","pointerEvents","fromY","toX","toY","DefaultPalette","themeDarker","themeDark","themeDarkAlt","themePrimary","themeSecondary","themeTertiary","themeLight","themeLighter","themeLighterAlt","black","blackTranslucent40","neutralDark","neutralPrimary","neutralPrimaryAlt","neutralSecondary","neutralSecondaryAlt","neutralTertiary","neutralTertiaryAlt","neutralQuaternary","neutralQuaternaryAlt","neutralLight","neutralLighter","neutralLighterAlt","accent","white","whiteTranslucent40","yellowDark","yellow","yellowLight","orange","orangeLight","orangeLighter","redDark","red","magentaDark","magenta","magentaLight","purpleDark","purple","purpleLight","blueDark","blueMid","blue","blueLight","tealDark","teal","tealLight","greenDark","green","greenLight","Depths","depth0","depth4","depth8","depth16","depth64","LocalizedFontNames","LocalizedFontFamilies","FontSizes","FontWeights","IconFontSizes","DefaultEffects","elevation4","elevation8","elevation16","elevation64","roundedCorner2","roundedCorner4","roundedCorner6","Arabic","Cyrillic","EastEuropean","Greek","Hebrew","Thai","Vietnamese","WestEuropean","Selawik","Armenian","Georgian","ChineseSimplified","ChineseTraditional","Hindi","Japanese","Korean","size10","size12","size14","size16","size18","size20","size24","size28","size32","size42","size68","mini","xSmall","small","smallPlus","medium","mediumPlus","icon","large","xLarge","xLargePlus","xxLarge","xxLargePlus","superLarge","mega","light","semilight","regular","semibold","bold","FontFamilyFallbacks","defaultFontFamily","LanguageToFontMap","ar","cs","et","hu","ko","lt","lv","pl","ru","sr-latn","tr","zh-hans","zh-hant","hy","_createFont","weight","fontFamily","MozOsxFontSmoothing","WebkitFontSmoothing","fontSize","localeCode","persistenceType","DefaultFontStyles","savedLanguage","localStorage","localStorage.getItem","sessionStorage.getItem","fontFamilyWithFallback","language","lang","_getLocalizedFontFamily","tiny","_registerFontFace","localFontName","src","fontStyle","fontDisplay","_registerFontFaceSet","cdnFolder","cdnFontName","urlBase","fontBaseUrl","fontUrl","ZIndexes","HighContrastSelector","getScreenSelector","max","getHighContrastNoAdjustStyle","forcedColorAdjust","MsHighContrastAdjust","getFocusStyle","insetOrOptions","position","highContrastStyle","borderColor","outlineColor","isFocusedOnly","_getFocusStyleInternal","inset","_c","_d","_e","_f","palette","_g","_h","outline","::-moz-focus-inner","border","FocusStyle","Nav","ScrollablePane","Coachmark","Layer","KeytipLayer","hiddenContentStyle","margin","padding","_getGlobalClassNames","classNames","disableGlobalClassNames","styleSheet","acc","getGlobalClassNames","_root","global","makeSemanticColors","isInverted","depComments","dep","listTextColor","listText","menuItemBackgroundChecked","warningHighlight","warningText","messageText","successText","_fixDeprecatedSlots","getSemanticColors","primaryButtonBorder","errorText","messageLink","messageLinkHovered","infoIcon","errorIcon","blockingIcon","warningIcon","severeWarningIcon","successIcon","infoBackground","errorBackground","blockingBackground","warningBackground","severeWarningBackground","successBackground","bodyBackground","bodyFrameBackground","accentButtonText","buttonBackground","primaryButtonText","primaryButtonTextHovered","primaryButtonTextPressed","inputBackground","inputForegroundChecked","listBackground","menuBackground","cardStandoutBackground","bodyTextChecked","buttonTextCheckedHovered","primaryButtonBackground","inputBackgroundChecked","inputIcon","inputFocusBorderAlt","menuIcon","menuHeader","accentButtonBackground","primaryButtonBackgroundPressed","inputBackgroundCheckedHovered","inputIconHovered","linkHovered","primaryButtonBackgroundHovered","inputPlaceholderBackgroundChecked","bodyBackgroundChecked","bodyFrameDivider","bodyDivider","variantBorder","buttonBackgroundCheckedHovered","buttonBackgroundPressed","listItemBackgroundChecked","listHeaderBackgroundPressed","menuItemBackgroundPressed","bodyBackgroundHovered","buttonBackgroundHovered","buttonBackgroundDisabled","buttonBorderDisabled","primaryButtonBackgroundDisabled","disabledBackground","listItemBackgroundHovered","listHeaderBackgroundHovered","menuItemBackgroundHovered","primaryButtonTextDisabled","disabledSubtext","listItemBackgroundCheckedHovered","disabledBodyText","variantBorderHovered","buttonTextDisabled","inputIconDisabled","disabledText","bodyText","actionLink","buttonText","inputBorderHovered","inputText","menuItemText","bodyStandoutBackground","defaultStateBackground","actionLinkHovered","buttonTextHovered","buttonTextChecked","buttonTextPressed","inputTextHovered","menuItemTextHovered","bodySubtext","focusBorder","inputBorder","smallInputBorder","inputPlaceholderText","buttonBorder","disabledBodySubtext","disabledBorder","buttonBackgroundChecked","menuDivider","cardShadow","cardShadowHovered","CSPSettings","__themeState__","lastStyleElement","registeredStyles","runState","perf","flushTimer","buffer","registeredThemableStyles","initializeThemeState","DefaultSpacing","s2","s1","l1","l2","createTheme","partialTheme","mergedTheme","semanticColors","defaultFontStyle","fonts","mergeThemes","spacing","_theme","initializeThemeInCustomizations","AnimationClassNames","styleName","className_1","buildClassMap","RectangleEdge","DirectionalHint","topLeftEdge","topCenter","topRightEdge","topAutoEdge","bottomLeftEdge","bottomCenter","bottomRightEdge","bottomAutoEdge","leftTopEdge","leftCenter","leftBottomEdge","rightTopEdge","rightCenter","rightBottomEdge","_createPositionData","targetEdge","alignmentEdge","isAuto","Position","DirectionalDictionary","_isRectangleWithinBounds","boundingRect","_getOutOfBoundsEdges","outOfBounds","_getEdgeValue","edge","_setEdgeValue","_getCenterValue","edges","_getFlankingEdges","positiveEdge","negativeEdge","_getRelativeEdgeValue","_getRelativeRectEdgeValue","_getRelativeEdgeDifference","hostRect","_moveEdge","difference","_alignEdges","gap","_isEdgeInBounds","bounds","_adjustFitWithinBounds","bounding","positionData","directionalHintFixed","coverTarget","alignTargetEdge","elementEstimate","elementRectangle","directions","currentEstimate","currentEdge","currentAlignment","_estimatePosition","_flipToFit","flippedElementEstimate","oppositeEdge","_alignOutOfBoundsEdges","outOfBoundsEdges","outOfBoundsEdges_1","direction","_centerEdgeToPoint","point","elementToPosition","estimatedElementPosition","elementEdge","adjustedGap","_finalizeReturnEdge","returnEdge","abs","getClosestEdge","targetCenter","boundingCenter","_getRectangleFromElement","clientRect","getBoundingClientRect","_getRectangleFromIRect","_positionElementRelative","previousPositions","gapSpace","targetRect","targetRectangle","top_1","outOfBounds_1","_getTargetRect","directionalHint","directionalHintForRTL","positionInformation","positionedElement","_finalizePositionData","hostElement","doNotFinalizeReturnEdge","elementPosition","elementEdgeString","_positionCallout","callout","beakWidth","isBeakVisible","sqrt","positionProps","positionedBeak","innerWidth","innerHeight","beakPositioned","beakTargetPoint","elementBounds","beakPosition","finalizedBeakPosition","actualElement","closestEdge","positionCard","getMaxHeight","mouseTarget","elementTarget","rectOrPointTarget","boundingRectangle","maxHeight","getBoundsFromTargetWindow","targetWindow","segments","getWindowSegments","segments_1","segment","_getBoundsFromTargetWindow","useConst","useAsync","async","useId","providedId","useMergedRefs","mergedCallback","React.useCallback","refs_1","useOnEvent","callbackRef","usePrevious","useWindow","WindowContext","useDocument","useTarget","previousTargetProp","targetRef","currentDoc","defaultFocusRestorer","originalElement","containsFocus","useRestoreFocus","root","onRestoreFocus","originalFocusedElement","currentActiveElement","documentContainsFocus","hasFocus","Popup","shouldRestoreFocus","isModalOrPanel","mergedRootRef","targetDocument","nodesToHide_1","needsVerticalScrollBarState","setNeedsVerticalScrollBar","role","ariaLabel","ariaLabelledBy","ariaDescribedBy","onDismiss","needsVerticalScrollBar","rootHeight","firstChildHeight","clientHeight","onKeyDown","aria-label","aria-labelledby","aria-describedby","ANIMATIONS","getClassNames","BEAK_ORIGIN_POSITION","OFF_SCREEN_STYLE","ARIA_ROLE_ATTRIBUTES","DEFAULT_PROPS","preventDismissOnLostFocus","preventDismissOnScroll","preventDismissOnResize","minPagePadding","usePositions","calloutElement","getBounds","positions","setPositions","positionAttempts","hidden","finalHeight","onPositioned","timerId_1","newPositions","newPosition","comparePositions","useAutoFocus","setInitialFocus","hasPositions","timerId_2","useDismissHandlers","dismissOnTargetClick","shouldDismissOnWindowFocus","preventDismissOnEvent","isMouseDownOnPopup","mouseDownHandlers","positionsExists","dismissOnScroll","dismissOnClickOrScroll","dismissOnResize","dismissOnLostFocus","dismissOnTargetWindowBlur","isEventTargetOutsideCallout","disposablesPromise","disposables_1","CalloutContentBase","cachedBounds","setMaxHeight","setHeightOffset","setHeightOffsetTimer","setHeightOffsetEveryFrame","calloutWidth","calloutMaxWidth","calloutMinWidth","hideOverflow","backgroundColor","calloutMaxHeight","onScroll","onLayerMounted","currentBounds","totalGap_1","heightOffset","scrollDiff","calloutMainElem","scrollHeight","currentHeightOffset","mouseDownOnPopup","mouseUpOnPopup","getContentMaxHeight","contentMaxHeight","beakVisible","overflowYHidden","overflowStyle","visibilityStyle","container","beak","beakPositionStyle","getBeakPosition","beakCurtain","calloutMain","onMouseDown","onMouseUp","previousProps","nextProps","shouldUpdateWhenHidden","oldPositions","oldPositionEdge","newPositionEdge","GlobalClassNames","CalloutContent","boxSizing","borderRadius","boxShadow","borderWidth","borderStyle","&::-moz-focus-inner","&","maxWidth","minWidth","overflowX","getFabricTheme","FabricBase","applyThemeToBody","bodyThemed","applyTheme","currentDoc_1","React.Fragment","as","Root","divProps","contextDir","pageDir","componentDir","rootDir","needsTheme","getDir","renderedContent","useRenderedContent","inheritFont","Fabric","& button","& input","& textarea","_layersByHostId","filteredEventProps","LayerBase","layerElement","setLayerElement","refLayerElement","removeLayerElement","onLayerWillUnmount","elem","createLayerElement","virtualChild","virtualParent","hostId","getElementById","getHost","oldParent","insertFirst","onLayerDidMount","mergedRef","eventBubblingEnabled","isNotHost","React.useLayoutEffect","idx","ReactDOM.createPortal","onFilterEvent","getFilteredEvents","BUBBLING_PHASE","rootNoHost","Callout","layerProps","doNotLayer","IconType","ImageFit","ImageCoverStyle","ImageLoadState","FocusTrapZone","previouslyFocusedElement","firstBumper","lastBumper","internalState","previouslyFocusedElementOutsideTrapZone","previouslyFocusedElementInTrapZone","disposeFocusHandler","disposeClickHandler","unmodalize","disableFirstFocus","currentDisabledValue","elementToFocusOnDismiss","forceFocusInsideTrap","focusPreviouslyFocusedInnerElement","firstFocusableSelector","ignoreExternalFocusing","isClickableOutsideFocusTrap","onFocus","onBlur","onFocusCapture","onBlurCapture","enableAriaHiddenSiblings","bumperProps","aria-hidden","data-is-visible","focusSelector","firstFocusableChild","onBumperFocus","isFirstBumper","currentBumper","nextFocusable","onRootBlurCapture","onRootFocusCapture","returnFocusToInitiator","focusStack","forceFocusInTrap","focusedElement","forceClickInTrap","clickedElement","updateEventHandlers","parentRoot","newForceFocusInsideTrap","newDisabled","affectedNodes","modalize","useUnmount","React.useImperativeHandle","unmountFunction","unmountRef","SVG_REGEX","ImageBase","imageElement","onLoadingStateChange","onLoad","loadState","setLoadState","frameElement","notLoaded","naturalWidth","naturalHeight","complete","loaded","onImageLoaded","onImageError","imageProps","alt","shouldFadeIn","shouldStartVisible","imageFit","maximizeFrame","loading","coverStyle","previousLoadState","cover","contain","centerContain","centerCover","desiredRatio","naturalRatio","landscape","portrait","computeCoverStyle","useCoverStyle","isLoaded","isLandscape","isCenter","center","isCenterContain","isCenterCover","isContain","isCover","isNone","none","isError","isNotImageFit","image","rootMaximizeFrame","imageCenter","imageContain","imageCover","imageCenterContain","imageCenterCover","imageNone","imageLandscape","imagePortrait","ImageFitStyles","supportsObjectFit","msMaxTouchPoints","fallbackObjectFitStyles","objectFit","FontIcon","iconName","iconClassName","iconContent","getIconContent","nativeProps","containerProps","data-icon-name","MS_ICON","placeholder","isRegistered","IconBase","_onImageLoadingStateChange","imageLoadError","Icon","imageErrorAs","isPlaceholder","isImage","iconType","iconContentChildren","RootType","ImageType","accessibleName","hasName","imageContainer","ImageIcon","altText","imageNameProps","FocusZoneDirection","FocusZoneTabbableElements","focusZoneStyles","TABINDEX","NO_VERTICAL_WRAP","NO_HORIZONTAL_WRAP","LARGE_DISTANCE_FROM_CENTER","LARGE_NEGATIVE_DISTANCE_FROM_CENTER","ContextualMenuItemType","_allInstances","_outerZones","ALLOWED_INPUT_TYPES","FocusZone","getOuterZones","_onKeyDownCapture","zone","_updateTabIndexes","_windowElement","_getDocument","_isInnerZone","_onBlur","defaultTabbableElement","_activeElement","defaultActiveElement","shouldFocusOnMount","_lastIndexPath","preventFocusRestoration","elementToFocus","path","path_1","nextChild","getFocusableByIndexPath","_setActiveElement","_setParkedFocus","_defaultFocusElement","rootProps","Tag","_evaluateFocusBeforeRender",":focus","_mergedRef","elementRef","data-focuszone-id","_onFocus","onMouseDownCapture","forceIntoFirstElement","ownerZoneElement","_getOwnerZone","ownerZone","focusElement","focusLast","forceAlignment","onBeforeFocus","shouldReceiveFocus","setFocusAlignment","_focusAlignment","getElementIndexPath","isParked","_isParked","_parkedTabIndex","previousActiveElement","_setFocusAlignment","_preventDefaultWhenHandled","preventDefaultWhenHandled","_tryInvokeClickForFocusable","shouldRaiseClicks","_isImmediateDescendantOfZone","_getFirstInnerZone","_moveFocus","isForward","getDistanceFromCenter","useDefaultWrap","candidateDistance","candidateElement","changedFocus","isBidirectional","bidirectional","_isElementInput","_shouldInputLoseFocus","activeRect","elementDistance","isCircularNavigation","_moveFocusDown","targetTop","leftAlignment","distance","targetRectTop","activeRectBottom","_shouldWrapFocus","_moveFocusUp","targetRectBottom","activeRectTop","_moveFocusLeft","shouldWrap","topBottomComparison","vertical","_moveFocusRight","_moveFocusPaging","scrollableParent","targetBottom","pagesize","_getHorizontalDistanceFromCenter","isHorizontal","isVertical","childIndex","_isContentEditableElement","_processingTabKey","inputValue","isReadonly","readOnly","handleTabKey","shouldInputLoseFocusOnArrowKey","checkForNoWrap","_portalContainsElement","React.createRef","newActiveElement","onActiveElementChanged","doNotAllowFocusEventToPropagate","stopFocusPropagation","onFocusNotification","shouldFocusInnerElementWhenReceivedFocus","isImmediateDescendant","maybeElementToFocus","initialElementFocused","isInnerZoneKeystroke","pagingSupportDisabled","shouldEnterInnerZone","innerZone","horizontal","allowTabKey","focusChanged","shouldResetActiveElementWhenTabFromZone","getIsChecked","canCheck","isChecked","hasSubmenu","subMenuProps","isItemDisabled","getMenuItemAriaRole","renderItemIcon","hasIcons","iconProps","onRenderIcon","renderCheckMarkIcon","onCheckmarkClick","isItemChecked","checkmarkIcon","renderItemName","renderSecondaryText","secondaryText","renderSubMenuIcon","submenuIconProps","subMenuIcon","ContextualMenuItemBase","renderContent","onRenderContent","_renderLayout","linkContentMenu","linkContent","defaultRenders","openSubMenu","getSubmenuTarget","submenuTarget","dismissSubMenu","dismissMenu","dismissAll","getItemStyles","expanded","isAnchorLink","knownIcon","itemClassName","dividerClassName","subMenuClassName","primaryDisabled","getItemClassNames","getDividerClassNames","wrapper","alignItems","divider","MediumScreenSelector","ScreenWidthMinLarge","getItemHighContrastStyles","getMenuItemStyles","ContextualMenuItemBackgroundHoverColor","ContextualMenuItemTextHoverColor","ContextualMenuItemBackgroundSelectedColor","ContextualMenuItemDividerColor","cursor","textAlign","rootDisabled","rootHovered",".ms-ContextualMenu-icon",".ms-ContextualMenu-submenuIcon","rootFocused","rootChecked",".ms-ContextualMenu-checkmarkIcon","rootPressed","rootExpanded","whiteSpace","anchorLink","textRendering","letterSpacing","wordSpacing","textTransform","textIndent","textShadow","textDecoration","verticalAlign","textOverflow","paddingLeft","minHeight","iconColor","iconDisabled",":hover",":active","splitButtonFlexContainer","flexWrap","justifyContent","getSplitButtonVerticalDividerClassNames","isExpanded","splitMenu","screenReaderText","background","splitPrimary","flexBasis","splitContainer","ContextualMenuItem","ContextualMenuItemWrapper","_onItemMouseEnter","onItemMouseEnter","_onItemClick","onItemClickBase","_onItemMouseLeave","onItemMouseLeave","_onItemKeyDown","onItemKeyDown","_onItemMouseMove","onItemMouseMove","_getSubmenuTarget","KeytipEvents","KTP_PREFIX","KTP_SEPARATOR","KTP_LAYER_ID","KEYTIP_ADDED","KEYTIP_REMOVED","KEYTIP_UPDATED","PERSISTED_KEYTIP_ADDED","PERSISTED_KEYTIP_REMOVED","PERSISTED_KEYTIP_EXECUTE","ENTER_KEYTIP_MODE","EXIT_KEYTIP_MODE","KeytipManager","init","delayUpdatingKeytipChange","register","keytipProps","persisted","addParentOverflow","sequenceMapping","keySequences","uniqueKeytip","_getUniqueKtp","persistedKeytips","uniqueID","keytips","inKeytipMode","event_1","keytip","update","newKeytipProps","oldKeyTip","visible","unregister","keytipToRemove","enterKeytipMode","exitKeytipMode","getKeytips","fullSequence","parentKeytip","overflowSetSequence","menuExecute","overflowButtonSequences","keytipSequences","shouldEnterKeytipMode","sequencesToID","prevValue","keySequence","useKeytipData","uniqueId","keytipManager","prevOptions","nativeKeytipProps","keytipId","describedByPrepend","describedby","getAriaDescribedBy","overflowKeySequences","overflowSequenceLen","overflowSequence","newKeySequences","itemToAdd","copy","array","mergeOverflows","getKeytipData","KeytipData","ContextualMenuAnchor","focusableElementIndex","totalItemCount","hasCheckmarks","contextualMenuItemAs","ChildrenRenderer","expandedMenuItemKey","onItemClick","anchorRel","rel","itemHasSubmenu","itemProps","ariaDescription","_getMemoizedMenuButtonKeytipProps","_ariaDescriptionId","ariaDescribedByIds","additionalItemProperties","keytipAttributes","_anchor","aria-haspopup","aria-expanded","aria-posinset","aria-setsize","aria-disabled","onMouseEnter","onMouseLeave","onMouseMove","_renderAriaDescription","hasMenu","ContextualMenuButton","onItemMouseDown","defaultRole","buttonNativeProperties","itemRole","itemButtonProperties","aria-checked","aria-selected","_btn","VerticalDividerBase","deprecatedGetClassNames","ResponsiveMode","VerticalDivider","names","ContextualMenuSplitButton","_splitButton","_async","data-ktp-target","splitButton","_onItemMouseEnterPrimary","_onItemMouseMovePrimary","_executeItemClick","onTouchStart","_onTouchStart","data-is-focusable","aria-roledescription","_renderSplitPrimaryButton","_renderSplitDivider","_renderSplitIconButton","itemComponentProps","_onIconItemClick","buttonProps","_onItemMouseEnterIcon","_onItemMouseMoveIcon","data-ktp-execute-target","_handleTouchAndPointerEvent","onTap","_lastTouchTimeoutId","_processingTouch","executeItemClick","_lastMode","RESPONSIVE_MAX_CONSTRAINT","getInitialResponsiveMode","useResponsiveMode","overrideResponsiveMode","lastResponsiveMode","setLastResponsiveMode","onResize","newResponsiveMode","responsiveMode","getResponsiveMode","MenuContext","getContextualMenuItemClassNames","getSubmenuItems","_getMenuItemStylesFunction","ContextualMenuBase","setExpandedMenuItemKey","setSubmenuTarget","setExpandedByMouseClick","closeSubMenu","delayUpdateFocusOnHover","shouldUpdateFocusOnMouseEvent","gotMouseMove","previousHidden","onMenuOpenedRef","onMenuClosedRef","propsRef","expandedByMouseClick","openedByMouseClick","submenuItemKey","onMenuFocusCapture","onMenuDismissed","onMenuOpened","ContextualMenuInternal","hoisted","newState","_isHidden","_onMenuClosed","_previousActiveElement","_mounted","labelElementId","useTargetWidth","useTargetAsMinWidth","shouldFocusOnContainer","calloutProps","onRenderSubMenu","_onRenderSubMenu","onRenderMenuList","_onRenderMenuList","focusZoneProps","getMenuClassNames","_classNames","itemsHaveIcons","contextualMenuItems","contextualMenuItems_1","itemType","Section","sectionProps","_adjustedFocusZoneProps","_getFocusZoneDirection","contextMenuStyle","some","submenuItem","submenuProps","_getSubmenuProps","targetAsHtmlElement","targetWidth","totalItemCount_1","Divider","Header","itemCount","customOnRenderListLength","calloutStyles_1","menuContext","_tryFocusPreviousActiveElement","_onScroll","_onMenuKeyDown","onKeyUp","_onKeyUp","_renderFocusZone","defaultMenuItemRenderer","_defaultMenuItemRenderer","defaultRender","focusZoneAs","_renderSectionItem","sectionItem","menuClassNames","groupProps","headerItem","headerContextualMenuItem","_renderHeaderMenuItem","list","topDivider","_renderSeparator","_renderListItem","contextualMenuItem","itemsIndex","_renderMenuItem","bottomDivider","fromSection","_renderNormalItem","onRender","dismiss","_renderAnchorMenuItem","_renderSplitButton","_renderButtonItem","divHtmlProperties","_onItemMouseEnterBase","_onMouseItemLeave","_onItemMouseMoveBase","_onItemMouseDown","_onAnchorClick","_onSubMenuDismiss","_onItemClickBase","_onPointerAndTouchEvent","_isAltOrMeta","_shouldIgnoreMouseEvent","_isScrollIdle","_updateFocusOnMouseEvent","subMenuHoverDelay","timeoutDuration","_enterTimerId","_findItemByKey","isSubMenu","subMenuId","_findItemByKeyFromItems","items_2","menuListProps","indexCorrection","menuItem","indexIncrease","itemClassNames","renderedItems","subMenuIconClassName","itemStyleProps","_lastKeyDownWasAltOrMeta","dismissAllMenus","_keyHandler","_shouldHandleKeyDown","_shouldCloseSubMenu","_shouldHandleKeyUp","keyPressIsAltOrMetaAlone","shouldHandleKey","handled","submenuCloseKey","hasModifier","isUp","isDown","_scrollIdleTimeoutId","setActive","_cancelSubMenuTimer","openKey","isopen","LocalContextualMenu","listStyleType","userSelect","paddingRight","paddingBottom","paddingTop","ContextualMenu","ButtonGlobalClassNames","msButton","msButtonHasMenu","msButtonIcon","msButtonMenuIcon","msButtonLabel","msButtonDescription","msButtonScreenReaderText","msButtonFlexContainer","msButtonTextContainer","getBaseButtonClassNames","variantClassName","menuIconClassName","isSplit","iconExpandedHovered","menuIconExpandedHovered","rootExpandedHovered","rootHasMenu","labelHovered","iconHovered","descriptionHovered","menuIconHovered","iconPressed","descriptionPressed","menuIconPressed","rootCheckedDisabled","rootCheckedHovered","rootCheckedPressed","flexContainer","textContainer","iconExpanded","iconChecked","labelChecked","labelDisabled","menuIconChecked","menuIconDisabled","menuIconExpanded","descriptionChecked","descriptionDisabled","getSplitButtonClassNames","splitButtonMenuButton","splitButtonMenuButtonExpanded","splitButtonMenuButtonDisabled","splitButtonMenuButtonChecked","splitButtonMenuFocused","splitButtonContainer","splitButtonContainerChecked","splitButtonContainerCheckedHovered","splitButtonContainerHovered","splitButtonContainerFocused","splitButtonContainerDisabled","splitButtonMenuIcon","splitButtonMenuIconDisabled","splitButtonDivider","splitButtonDividerDisabled","BaseButton","menuProps","ariaHidden","allowDisabledFocus","menuIconProps","toggle","menuHidden","isPrimaryButtonDisabled","_labelId","_descriptionId","renderAsAnchor","resolvedAriaLabel","onRenderDescription","_hasText","dataIsFocusable","_isSplitButton","isCheckboxTypeRole","checkedOrPressedValue","_buttonElement","onKeyPress","_onKeyPress","_onMouseUp","_onClick","_onRenderSplitButtonContent","aria-controls","_onRenderContent","_splitButtonContainer","onPointerUp","onAfterMenuDismiss","_dismissMenu","openMenu","_openMenu","_onRenderIcon","onRenderAriaDescription","_onRenderAriaDescription","onRenderChildren","_onRenderChildren","onRenderMenu","_onRenderMenu","onRenderMenuIcon","_onRenderMenuIcon","Button","data-automationid","_onRenderTextContents","_shouldRenderMenu","Content","persistMenu","renderPersistedMenuHiddenOnMount","_renderedVisibleMenu","primaryActionButtonProps","getBaseSplitButtonClassNames","onPointerDown","SplitButton","aria-pressed","_onSplitButtonContainerKeyDown","_onSplitButtonPrimaryClick","_onSplitContainerFocusCapture","_onRenderSplitButtonMenuButton","_onRenderSplitButtonDivider","splitButtonMenuProps","splitButtonAriaLabel","splitButtonProps","_onMenuClick","_isValidMenuOpenKey","menuTriggerKeyCode","baseClassName","onRenderText","_onRenderText","_onRenderDescription","MenuType","menuAs","_menuShouldFocusOnContainer","_menuShouldFocusOnMount","_onDismissMenu","_onToggleMenu","click","onMenuClick","iconStyle","splitButtonDividerBaseStyles","noOutline","getStyles","buttonHighContrastFocus",":active > *","customStyles",".ms-Button--default","borderTopRightRadius","borderBottomRightRadius","borderRight",".ms-Button--primary","borderRightWidth",".ms-Button--primary + .ms-Button","borderLeftWidth",".ms-Button.is-disabled","borderLeft","marginLeft","marginTop","marginRight","marginBottom",".ms-Button-menuIcon","_j","_k","_l","_m","_o","primary","baseButtonStyles","getBaseButtonStyles","splitButtonStyles","getSplitButtonStyles",":after","DefaultButton","PrimaryButton","globalClassNames","main","scrollableContent","isOpen","layer","OverlayBase","_allowTouchBodyScroll","isDark","isDarkThemed","allowTouchBodyScroll","rootDark","Overlay","isDragging","touchAction","& *","eventMapping","move","stop","DraggableZone","React.Children","statePosition","React.cloneElement","onTouchEnd","_onTouchEnd","_getControlPosition","touchObj","_getActiveTouch","_touchId","eventToGetOffset","_findTouchInTouchList","_getTouchId","touch","identifier","_matchesSelector","matchesSelectorFn","matches","webkitMatchesSelector","msMatchesSelector","touchList","_createDragDataFromPosition","lastPosition","_createUpdatedDragData","baseDragData","_currentEventType","_onDragStart","_onDragStop","dragData","handleSelector","preventDragSelector","onStart","_onDrag","updatedData","updatedPosition","onDragChange","onStop","ZERO","isDarkOverlay","containerClassName","ModalBase","registerInitialModalPosition","dialogMain","focusTrapZoneElm","modalRectangle","topOffsetFixed","setModalRectangleTop","keepInBounds","minPosition","maxPosition","handleModalClose","lastSetCoordinates","setModalMenuClose","isInKeyboardMoveMode","setIsModalOpen","setCoordinates","disposeOnKeyUp","onDismissed","registerForKeyUp","handleKeyUp","toggleModalMenuOpen","timeoutIds","focusTrapZone","scrollableContentClassName","isBlocking","overlay","titleAriaId","subtitleAriaId","isModeless","dragOptions","modalResponsiveMode","focusTrapZoneId","isModalOpen","setIsVisible","coordinates","modalRectangleTop","initialState","setTrue","setFalse","isModalMenuOpen","onModalCloseTimer","layerClassName","hasBeenOpened","windowInnerHeight","isDefaultDragHandle","dragHandleSelector","mergedLayerProps","allowScrollOnModal","elt","_previousClientY","_element","getClampedAxis","axis","handleDragStart","handleDrag","handleDragStop","modalContent","disposeOnKeyDown","keyboardMoveIconContainer","keyboardMoveIconProps","keyboardMoveIcon","data-is-scrollable","menu","moveMenuItemText","handleKeyDown","handledEvent","delta_1","closeMenuItemText","aria-modal","Modal","createFactory","DefaultComponent","defaultProp","userProps","userSlotOptions","defaultStyles","React.isValidElement","finalProps","allProps","allProps_1","_constructFinalProps","slotProps","transformedProps","_translateShorthand","UserComponent","defaultFactory","getSlots","slots","slot","ComponentType","slotOptions","mixedProps","_defaultStyles","isSlot","_resolveTokens","allTokens","tokens","allTokens_1","currentTokens","Text","block","variant","nowrap","slotType","React","withSlots","variantObject","mozOsxFontSmoothing","webkitFontSmoothing","factoryOptions","ResultComponent","stateReducer","_resolveStyles","viewProps","statics","baseIsNaN","baseFindIndex","predicate","fromIndex","fromRight","strictIndexOf","_baseIndexOf","_freeGlobal","freeSelf","_Symbol","objectProto","nativeObjectToString","symToStringTag","getRawTag","isOwn","unmasked","objectToString","_baseGetTag","isObject_1","baseGetTag","isObject","isFunction_1","isLength_1","isFunction","isLength","isArrayLike_1","isArray_1","isObjectLike_1","isObjectLike","isSymbol_1","_arrayMap","iteratee","_baseTimes","baseIsArguments","isArguments_1","nativeIsBuffer","Buffer","freeModule","freeExports","module","isBuffer","reIsUint","_isIndex","typedArrayTags","_baseIsTypedArray","freeProcess","_baseUnary","process","nodeUtil","types","require","binding","baseIsTypedArray","baseUnary","nodeIsTypedArray","isTypedArray","isTypedArray_1","baseTimes","isArguments","require$$3","isIndex","require$$4","require$$5","_arrayLikeKeys","inherited","isArr","isArg","isBuff","isType","skipIndexes","_isPrototype","Ctor","_overArg","nativeKeys","isPrototype","arrayLikeKeys","baseKeys","object","isArrayLike","eq_1","other","eq","_assocIndexOf","assocIndexOf","listCacheDelete","__data__","listCacheGet","listCacheHas","listCacheSet","ListCache","entries","_ListCache","_stackClear","_stackDelete","_stackGet","_stackHas","coreJsData","maskSrcKey","uid","IE_PROTO","funcToString","_toSource","isMasked","toSource","reIsHostCtor","funcProto","reIsNative","baseIsNative","_getNative","_Map","nativeCreate","hashDelete","hashGet","hashHas","hashSet","Hash","_mapCacheClear","hash","string","isKeyable","_getMapData","getMapData","mapCacheDelete","mapCacheGet","mapCacheHas","mapCacheSet","MapCache","_MapCache","stackDelete","stackGet","stackHas","stackSet","pairs","LARGE_ARRAY_SIZE","Stack","_Stack","getNative","_defineProperty","_baseAssignValue","writable","baseAssignValue","_assignMergeValue","allocUnsafe","_baseFor","keysFunc","iterable","createBaseFor","isDeep","_Uint8Array","cloneArrayBuffer","arrayBuffer","byteLength","_cloneTypedArray","typedArray","byteOffset","_copyArray","objectCreate","getPrototype","getPrototypeOf","baseCreate","proto","_initCloneObject","isArrayLikeObject_1","objectCtorString","_safeGet","assignValue","objValue","_copyObject","customizer","isNew","nativeKeysIn","baseKeysIn","isProto","keysIn_1","copyObject","keysIn","assignMergeValue","cloneBuffer","cloneTypedArray","copyArray","initCloneObject","require$$6","isArrayLikeObject","require$$7","require$$8","require$$9","require$$10","isPlainObject","require$$12","safeGet","require$$13","toPlainObject","baseFor","baseMergeDeep","srcIndex","mergeFunc","isCommon","srcValue","stacked","isTyped","_baseMerge","baseMerge","identity_1","_apply","nativeMax","_overRest","otherArgs","constant","nativeNow","setToString","lastCalled","stamp","remaining","shortOut","identity","overRest","_baseRest","baseRest","isIterateeCall","callable","possibleFunction","withDebugId","debugId","deepmerge","inner","_len","sources","_key","Boolean","merge_1","assigner","guard","createAssigner","themeInput","_baseEach","eachFunc","collection","createBaseEach","arrayEach","baseEach","castFunction","forEach_1","setCacheHas","SetCache","values","_SetCache","_cacheHas","arraySome","cacheHas","_equalArrays","bitmask","equalFunc","isPartial","arrLength","othLength","arrStacked","othStacked","seen","compared","arrValue","othValue","othIndex","mapToArray","_setToArray","equalArrays","setToArray","symbolProto","symbolValueOf","_equalByTag","convert","_arrayPush","arrayPush","arrayFilter","resIndex","nativeGetSymbols","baseGetAllKeys","symbolsFunc","getSymbols","symbol","getAllKeys","_equalObjects","objProps","objLength","objStacked","skipCtor","objCtor","othCtor","_DataView","_Promise","_Set","DataView","mapTag","promiseTag","setTag","weakMapTag","dataViewTag","dataViewCtorString","mapCtorString","promiseCtorString","setCtorString","weakMapCtorString","getTag","ArrayBuffer","ctorString","equalByTag","equalObjects","argsTag","arrayTag","objectTag","baseIsEqualDeep","objIsArr","othIsArr","objTag","othTag","objIsObj","othIsObj","isSameTag","objIsWrapped","othIsWrapped","_baseIsEqual","baseIsEqual","_isStrictComparable","isStrictComparable","_matchesStrictComparable","baseIsMatch","matchData","noCustomizer","COMPARE_PARTIAL_FLAG","getMatchData","matchesStrictComparable","_baseMatches","isSymbol","reIsDeepProp","reIsPlainProp","_isKey","FUNC_ERROR_TEXT","memoize","memoized","Cache","rePropName","reEscapeChar","stringToPath","memoizeCapped","quote","subString","arrayMap","INFINITY","symbolToString","baseToString","isKey","_castPath","_toKey","castPath","toKey","_baseGet","baseGet","get_1","baseHasIn","hasPath","hasFunc","hasIn","baseProperty","basePropertyDeep","baseMatches","baseMatchesProperty","_baseIteratee","baseMap","baseIteratee","map_1","spreadableSymbol","isConcatSpreadable","isFlattenable","_baseFlatten","baseFlatten","depth","isStrict","baseIndexOf","_arrayIncludes","_arrayIncludesWith","comparator","noop","createSet","arrayIncludes","arrayIncludesWith","toCompactArray","_ref","baseUniq","includes","outer","computed","seenIndex","union_1","arrays","emptyTheme","siteVariables","fontSizes","componentVariables","componentStyles","fontFaces","staticStyles","animations","mergeComponentStyles","stylesA","stylesB","partName","slotA","slotB","styleParam","mergeComponentVariables","filteredSources","accumulatedVariables","computedComponentVariables","mergeSiteVariables","_len3","_key3","mergeThemeVariables","_len5","_key5","_union","_map","_keys","_len11","themes","_key11","_len7","_key7","themeComponentStyles","_forEach","stylesByPart","_debugId","mergeThemeStyles","_len8","_key8","mergeAnimations","emptyFunction","emptyFunctionWithReset","resetWarningCache","ReactPropTypes","shim","componentName","propFullName","secret","getShim","isRequired","bool","any","arrayOf","instanceOf","objectOf","oneOf","oneOfType","shape","exact","checkPropTypes","PropTypes","last_1","baseSlice","hasOwn","argType","getDocumentRemSize","hasDocument","hasWindow","getFontSizeValue","pxToRem","valueInPx","baseRemSize","_documentRemSize","convertedValueInRems","isNil_1","svgIconClassName","iconClassNames","accelerateMax","decelerateMax","linear","ultraFast","faster","fast","normal","slow","slower","ultraSlow","fadeInOutAnimations","fadeEnterUltraFast","keyframe","0%","100%","keyframeParams","timingFunction","fillMode","fadeEnterFaster","_ref2","fadeEnterFast","_ref3","fadeEnterNormal","_ref4","fadeEnterSlow","_ref5","fadeEnterSlower","_ref6","fadeEnterUltraSlow","_ref7","fadeExitUltraFast","_ref8","fadeExitFaster","_ref9","fadeExitFast","_ref10","fadeExitNormal","_ref11","fadeExitSlow","_ref12","fadeExitSlower","_ref13","fadeExitUltraSlow","_ref14","slideAnimations","slideDownEnterUltraFast","slideDownEnterFaster","slideDownEnterFast","slideDownEnterNormal","slideDownEnterSlow","slideDownEnterSlower","slideDownEnterUltraSlow","slideUpEnterUltraFast","slideUpEnterFaster","slideUpEnterFast","slideUpEnterNormal","slideUpEnterSlow","slideUpEnterSlower","slideUpEnterUltraSlow","slideLeftEnterUltraFast","_ref15","slideLeftEnterFaster","_ref16","slideLeftEnterFast","_ref17","slideLeftEnterNormal","_ref18","slideLeftEnterSlow","_ref19","slideLeftEnterSlower","_ref20","slideLeftEnterUltraSlow","_ref21","slideRightEnterUltraFast","_ref22","slideRightEnterFaster","_ref23","slideRightEnterFast","_ref24","slideRightEnterNormal","_ref25","slideRightEnterSlow","_ref26","slideRightEnterSlower","_ref27","slideRightEnterUltraSlow","_ref28","slideDownExitUltraFast","_ref29","slideDownExitFaster","_ref30","slideDownExitFast","_ref31","slideDownExitNormal","_ref32","slideDownExitSlow","_ref33","slideDownExitSlower","_ref34","slideDownExitUltraSlow","_ref35","slideUpExitUltraFast","_ref36","slideUpExitFaster","_ref37","slideUpExitFast","_ref38","slideUpExitNormal","_ref39","slideUpExitSlow","_ref40","slideUpExitSlower","_ref41","slideUpExitUltraSlow","_ref42","slideRightExitUltraFast","_ref43","slideRightExitFaster","_ref44","slideRightExitFast","_ref45","slideRightExitNormal","_ref46","slideRightExitSlow","_ref47","slideRightExitSlower","_ref48","slideRightExitUltraSlow","_ref49","slideLeftExitUltraFast","_ref50","slideLeftExitFaster","_ref51","slideLeftExitFast","_ref52","slideLeftExitNormal","_ref53","slideLeftExitSlow","_ref54","slideLeftExitSlower","_ref55","slideLeftExitUltraSlow","_ref56","fadeAnimations","scaleEnterUltraFast","scaleEnterFaster","scaleEnterFast","scaleEnterNormal","scaleEnterSlow","scaleEnterSlower","scaleEnterUltraSlow","scaleExitUltraFast","scaleExitFaster","scaleExitFast","scaleExitNormal","scaleExitSlow","scaleExitSlower","scaleExitUltraSlow","scaleDownSoft","carousel-slide-to-next-enter","carousel-slide-to-previous-enter","popup-show","popup-hide","stringLiteralsArray","screenReaderContainerStyles","clip","createColorScheme","customValues","foreground","shadow","foregroundHover","backgroundHover","borderHover","shadowHover","foregroundActive","backgroundActive","borderActive","shadowActive","foregroundFocus","backgroundFocus","borderFocus","shadowFocus","foregroundPressed","backgroundPressed","borderPressed","shadowPressed","foregroundDisabled","backgroundDisabled","borderDisabled","shadowDisabled","getColorSchemeKey","availableColors","getColorScheme","colorScheme","_baseDifference","valuesLength","valuesIndex","contextualColors","brand","50","100","200","300","400","450","500","600","700","800","900","1000","naturalColors","grey","0","25","150","250","350","440","550","650","750","850","pink","contextualAndNaturalColors","primitiveColors","transparentColors","silver","ruby","onyx","amethyst","colors","foreground1","foreground2","foreground3","foreground4","foreground5","foreground6","foreground7","foreground8","background1","background2","background3","background4","background5","border1","border2","border3","foregroundHover1","foregroundHover2","backgroundHover1","backgroundHover2","backgroundHover3","backgroundHover4","backgroundPressed3","foregroundActive1","backgroundActive1","backgroundActive2","borderActive1","borderActive2","borderActive3","borderActive4","foregroundFocus1","foregroundFocus2","foregroundFocus3","backgroundFocus1","backgroundFocus2","backgroundFocus3","borderFocusWithin","foregroundDisabled1","backgroundDisabled1","backgroundDisabled2","backgroundDisabled3","background6","foregroundPressed1","backgroundPressed1","foregroundActive2","foregroundFocus4","borderFocus1","categoryColors","orangeDark","brown","oliveDark","olive","maroon","smokeDark","smokeLight","steelDark","steelLight","neon","createCategoryColorScheme","categoryColorScheme","formatting","background7","background8","focusInnerBorderColor","focusOuterBorderColor","smaller","larger","largest","bodyColor","overlayPriority","debug","accordionVariables","attachmentVariables","iconSpace","iconSize","backgroundColorHover","textColor","textColorHover","shadowLevel1","focusBackgroundColor","focusColor","progressColor","progressHeight","headerFontSize","headerFontWeight","fontWeightSemibold","headerLineHeight","lineHeightMedium","descriptionFontSize","descriptionFontWeight","fontWeightRegular","descriptionLineHeight","lineHeightDefault","actionHeight","actionMaxWidth","actionColor","actionPrimaryColor","actionColorDisabled","actionIconSize","actionLoaderBorderSize","actionLoaderSize","actionLoaderSvgHeight","actionLoaderSvgAnimationHeight","actionFocusBorderRadius","alertVariables","siteVars","actionsMargin","hoverBorderColor","hoverBackgroundColor","dismissActionHoverBorderRadius","dismissActionHoverBorderWidth","dismissActionHoverInnerBorderColor","dismissActionHoverOuterBorderColor","dismissActionHoverZIndex","dismissActionSize","dismissActionColor","dismissiblePadding","dangerColor","dangerBackgroundColor","dangerBorderColor","oof","oofColor","oofBackgroundColor","oofBorderColor","successColor","successBackgroundColor","successBorderColor","urgent","urgentColor","urgentBackgroundColor","urgentBorderColor","warningColor","warningBackgroundColor","warningBorderColor","headerMargin","iconMargin","dismissActionBackgroundColor","dismissActionBorderRadius","dismissActionBorderColor","dismissActionColorHover","dismissActionBackgroundColorHover","dismissActionBorderColorHover","dismissActionContentFontWeight","dismissActionBackgroundColorFocus","dismissActionBorderColorFocus","dismissActionColorFocus","dismissActionColorDisabled","dismissActionBackgroundColorDisabled","dismissActionBorderColorDisabled","dismissActionIndicatorSize","focusBorderRadius","focusBorderWidth","focusBorderZIndex","zIndexes","extendColorScheme","overrides","_Object$assign","avatarVariables","avatarBorderColor","avatarBorderWidth","squareAvatarBorderRadius","iconBackgroundColor","statusBorderWidth","statusIconSize","statusBorderColor","statusSuccessBackgroundColor","statusSuccessColor","statusInfoBackgroundColor","statusInfoColor","statusWarningBackgroundColor","statusWarningColor","statusErrorBackgroundColor","statusErrorColor","statusBackgroundColor","statusColor","imageWidth","imageHeight","imageAvatarRadius","imageAvatarSize","imageCircularRadius","labelCircularRadius","labelColor","labelBackground","buttonVariables","loadingMinWidth","contentFontSize","contentFontWeight","contentLineHeight","colorHover","colorActive","colorDisabled","colorFocus","backgroundColorActive","backgroundColorFocus","backgroundColorDisabled","borderColorHover","borderColorFocus","borderColorActive","borderColorDisabled","backgroundColorIconOnlyHover","primaryColor","primaryColorHover","primaryBackgroundColor","primaryBackgroundColorActive","primaryBackgroundColorHover","primaryBackgroundColorDisabled","primaryBackgroundColorFocus","primaryBorderColor","tintedColor","tintedColorHover","tintedBackgroundColor","tintedBackgroundColorActive","tintedBackgroundColorHover","tintedBorderColor","tintedBorderColorHover","circularBorderRadius","textPrimaryColor","textPrimaryColorHover","textColorDisabled","textColorIconOnlyHover","primaryBoxShadow","shadowLevel1Dark","loaderBorderSize","loaderSize","loaderSvgHeight","loaderSvgAnimationHeight","sizeSmallContentFontSize","sizeSmallContentLineHeight","lineHeightSmall","sizeSmallHeight","sizeSmallMinWidth","sizeSmallPadding","sizeSmallLoaderBorderSize","sizeSmallLoaderSize","sizeSmallLoaderSvgHeight","sizeSmallLoaderSvgAnimationHeight","breadcrumbVariables","dividerMargin","fontSizeSmaller","fontSizeSmall","fontSizeMedium","fontSizeLarge","itemCurrentFontWeight","fontWeightBold","linkPaddingTop","linkPaddingBottom","linkPaddingLeftSmaller","linkPaddingRightSmaller","linkPaddingLeftSmall","linkPaddingRightSmall","linkPaddingLeftMedium","linkPaddingRightMedium","linkPaddingLeftLarge","linkPaddingRightLarge","linkSmallerGap","linkSmallGap","linkMediumGap","linkLargeGap","disabledColor","toggleMovementDistance","pickValuesFromColorScheme","componentAreas","_Object$assign3","colorValues","accumulator","_Object$assign2","dividerColorAreas","cornerRadius","_12px_asRem","dropdownVariables","invertedBackgroundColor","invertedBackgroundColorHover","borderError","openBorderColorHover","containerBorderRadius","openAboveContainerBorderRadius","openBelowContainerBorderRadius","searchBorderBottomWidth","comboboxPaddingButton","comboboxFlexBasis","aboveListBorderRadius","belowListBorderRadius","listBackgroundColor","listBorderColor","listBorderWidth","listPadding","listBoxShadow","shadowLevel3","listMaxHeight","listItemFocusBorderWidth","listItemBackgroundColor","listItemBackgroundColorActive","listItemBackgroundColorHover","listItemColorActive","listItemColorHover","listItemSelectedColor","listItemSelectedFontWeight","listItemHeaderLineHeight","listItemContentLineHeight","selectedItemBackgroundColor","selectedItemBackgroundColorHover","selectedItemBorder","selectedItemColor","selectedItemColorHover","selectedItemIconColor","selectedItemIconColorHover","selectedItemsMaxWidth","selectedItemColorFocus","selectedItemsMaxHeight","toggleIndicatorSize","triggerButtonColorFocusActive","triggerButtonColorHover","overlayZIndex","disabledBorderColorHover","disabledTriggerColorHover","disabledBackgroundColorHover","listItemHeaderFontSize","listItemHeaderColor","listItemContentFontSize","listItemContentColor","headerMessageBackgroundColor","noResultsMessageBackgroundColor","loadingMessageBackgroundColor","formFieldColorAreas","formFieldVariables","messagePaddingLeft","formMessageColorAreas","headerColorAreas","headerDescriptionColorAreas","iconColorAreas","listItemVariables","rootPadding","headerMediaFontSize","headerMediaLineHeight","importantFontWeight","contentMediaFontSize","contentMediaLineHeight","selectableFocusHoverColor","selectableFocusHoverBackgroundColor","selectedColor","selectedBackgroundColor","menuColorAreas","menuVariables","outlineColorFocus","iconOnlyColorActive","iconOnlyColorFocus","iconOnlyWrapperBackgroundColorFocus","activeIconOnlyWrapperBackgroundColor","iconOnlyBackgroundColorHover","iconOnlyColorHover","underlinedBorderColor","lineHeightBase","horizontalPadding","verticalBackgroundColor","verticalItemPadding","verticalBoxShadow","verticalDividerMargin","verticalItemBorderWidth","verticalItemBorderColor","verticalPointingBorderColor","verticalBackgroundColorFocus","activeUnderlinedColor","activeUnderlinedPrimaryColor","activeUnderlinedBorderBottomColor","activeUnderlinedWrapperColor","pointingIndicatorBackgroundColor","underlinedBottomBorderWidth","underlinedColorHover","primaryWrapperColorFocus","primaryWrapperBackgroundColorFocus","underlinedWrapperColorHover","underlinedWrapperBackgroundHover","dividerHeight","menuZIndex","beakZIndex","wrapperColorActive","wrapperColorFocus","wrapperColorHover","primaryWrapperColorHover","wrapperBackgroundColorFocus","activeWrapperBackgroundColorHover","indicatorColor","activeIndicatorColor","activePrimaryIndicatorColor","activePrimaryVerticalIndicatorColor","primaryIndicatorColorHover","indicatorColorHover","pillVariables","smallerRoundedBorderRadius","invertedBackground","outlineBackground","outlineBorderColor","outlineDisabledborder","smallerHeight","smallerMinWidth","smallerMargin","smallHeight","smallMinWidth","smallMargin","roundedBorderRadius","contentPaddingSmaller","contentFontSizeSmaller","contentFontSizeSmall","contentPaddingSmall","contentPadding","actionMargin","actionWidth","smallOrSmallerActionWidth","iconWidth","smallOrSmallerIconWidth","selectedIconColor","selectedIconCheckColor","selectedImageIconWidth","smallSelectedImageIconWidth","smallerSelectedImageIconWidth","smallImageWidth","smallImageHeight","smallerImageWidth","smallerImageHeight","segmentColorAreas","skeletonVariables","lineBackground","shapeBackground","animationBackground","animationBackgroundSecondary","lineMargin","shapeMargin","buttonHeight","buttonWidth","buttonSmallHeight","buttonSmallWidth","buttonCircularBorderRadius","textBackground","textWidth","textSmallerHeight","textSmallHeight","textMediumHeight","textLargeHeight","textLargerHeight","inputHeight","inputWidth","avatarBackground","avatarSmallest","avatarSmaller","avatarSmall","avatarMedium","avatarLarge","avatarLarger","avatarLargest","textColorAreas","toolbarColorAreas","toolbarVariables","menuItemForegroundHover","menuItemBackgroundHover","dividerBorder","itemHeight","itemPadding","menuMaxWidth","menuPadding","menuBorder","menuBorderWidth","menuBorderRadius","menuBoxShadow","menuItemForeground","menuItemForegroundDisabled","menuItemBackgroundDisabled","menuItemPadding","menuDividerBorder","menuDividerMargin","customItemHorizontalPadding","customItemVerticalPadding","splitButtonVariables","borderColorPrimary","smallDimension","smallPadding","smallBoxShadow","toggleButtonHeight","toggleButtonColor","toggleButtonBackgroundColor","toggleButtonBorderRadius","toggleButtonBorderColor","toggleButtonBoxShadow","toggleButtonColorHover","toggleButtonBackgroundColorHover","toggleButtonBorderColorHover","toggleButtonColorActive","toggleButtonBackgroundColorActive","toggleButtonBorderColorActive","toggleButtonBackgroundColorFocus","toggleButtonBorderColorFocus","toggleButtonColorFocus","toggleButtonPrimaryHoverBackgroundColor","toggleButtonPrimaryHoverColor","toggleButtonPrimaryColor","toggleButtonPrimaryBackgroundColor","toggleButtonPrimaryBorderColor","toggleButtonPrimaryBoxShadow","toggleButtonPrimaryBackgroundColorActive","toggleButtonPrimaryBackgroundColorFocus","toggleButtonColorDisabled","toggleButtonBackgroundColorDisabled","toggleButtonIndicatorSize","carouselVariables","focusOuterBorderRadius","paddleColor","paddleColorDisabled","paddleBackgroundColor","paddleBackgroundColorActive","paddleBackgroundColorHover","paddleBackgroundColorDisabled","paddleBorderColor","paddleBorderRadius","paddleHeight","paddleIndicatorSize","carouselNavigationVariables","indicatorBackgroundColor","indicatorActiveBackgroundColor","thumbnailWidth","tableVariables","hoverColor","backgroundHoverColor","defaultRowHeight","compactRowHeight","minCellWidth","cellPadding","rowPadding","bodyFontSize","headerBorderColor","headerBorderHoverColor","headerBorderFocusColor","rowBorderColor","rowBorderHoverColor","rowBorderFocusColor","cellBorderColor","cellBorderHoverColor","cellBorderFocusColor","cardVariables","backgroundColorPressed","ghostBackgroundColor","ghostBackgroundColorDisabled","ghostBackgroundColorFocus","ghostBackgroundColorHover","ghostBackgroundColorPressed","invertedBackgroundColorDisabled","invertedBackgroundColorFocus","invertedBackgroundColorPressed","borderColorPressed","boxShadowDisabled","boxShadowHover","boxShadowFocus","boxShadowPressed","elevatedBoxShadow","elevatedBoxShadowDisabled","elevatedBoxShadowHover","elevatedBoxShadowFocus","elevatedBoxShadowPressed","compactPadding","previewMargin","bodyMargin","footerMargin","fittedPreviewMargin","fittedHeaderMargin","fittedBodyMargin","fittedFooterMargin","previewMarginHorizontal","topControlsTop","topControlsRight","sizeSmallWidth","sizeLargeWidth","sizeLargeHeight","sizeLargePadding","fluidWidth","fluidHeight","expandableBoxStartMaxHeight","expandableBoxEndMaxHeight","expandableBoxShrinkTransition","expandableBoxExpandTransition","selectedBorderColor","selectedBoxShadow","shadowLevel4","selectedBackgroundColorDisabled","selectedBackgroundColorFocus","selectedBackgroundColorHover","selectedBackgroundColorPressed","DayOfWeek","MonthOfYear","FirstWeekOfYear","DateRangeType","getIntentColorsFromProps","danger","info","success","warning","getBorderFocusStyles","sv","variables","_args$borderWidth","_args$borderRadius","_args$focusInnerBorde","defaultColor","_args$focusOuterBorde","borderPadding","defaultPreudoStyles","borderPaddingTop","borderPaddingBottom","borderPaddingLeft","borderPaddingRight",":focus-visible",":before","getIconFillOrOutlineStyles","getIndicatorStyles","backgroundImage","backgroundRepeat","commonButtonsStyles","circular","checkboxIndicatorUrl","checkboxIndicatorIndeterminateUrl","escape","commonToggleBeforeStyles","beforeAndAfter","_get","dividerColor","datepickerVariables","calendarCellBorder","calendarCellHeight","calendarCellWidth","calendarCellPadding","calendarCellMargin","calendarCellBackgroundColor","calendarCellColor","calendarCellQuietColor","calendarCellSelectedColor","calendarCellSelectedBackgroundColor","calendarCellTodayBackgroundColor","calendarCellTodayColor","calendarCellTodayBorderRadius","calendarCellHoverBackgroundColor","calendarCellHoverColor","calendarCellDisabledColor","calendarCellDisabledBackgroundColor","calendarHeaderCellFontWeight","calendarHeaderCellHeight","calendarHeaderCellPadding","calendarHeaderCellWidth","calendarHeaderPaddingTop","calendarHeaderPaddingBottom","calendarHeaderLabelPaddingLeft","calendarHeaderLabelFontWeight","calendarMinHeight","gutterMargin","messageMargin","actionMenuBoxShadow","actionMenuPositionRight","actionMenuPositionTop","backgroundColorMine","authorMarginRight","authorColor","authorFontWeight","headerMarginBottom","contentColor","linkColor","linkColorMine","badgeShadow","isImportant","hasMention","hasMentionColor","hasMentionNubbinColor","isImportantColor","badgeTextColor","reactionGroupMarginLeft","reactionGroupBorderColor","timestampColorMine","detailsColor","detailsHoverColor","detailsColorMine","detailsHoverColorMine","detailsFontSize","detailsMargin","rightPoistion","bottomPoistion","checkboxColor","toggleBackground","toggleBorderColor","toggleBorderStyle","toggleBorderWidth","toggleIndicatorColor","checkboxCheckedColor","checkboxToggleCheckedBackground","checkboxToggleCheckedBorderColor","checkboxToggleCheckedColor","disabledCheckboxColor","disabledToggleBackground","disabledToggleBorderColor","checkedBackgroundHover","toggleBorderRadius","toggleMargin","togglePadding","toggleWidth","toggleHeight","checkedTextColor","checkedBackground","checkedBorderColor","checkedIndicatorColor","toggleCheckedPadding","disabledBackgroundChecked","disabledBorderColor","disabledCheckedIndicatorColor","disabledToggleIndicatorColor","rootBackground","rootBorderRadius","rootWidth","contentMargin","foregroundColor","overlayBackground","headerActionMargin","textFontSize","textLineHeight","dividerPadding","controlColor","controlBackgroundColor","controlBackgroundSize","focusBorderColor","gap.smaller","gap.small","gap.medium","gap.large","padding.medium","size.half","size.quarter","size.small","size.medium","size.large","lastChildMarginTop","fieldsMarginBottom","defaultColumnCount","gridGap","descriptionColor","brandColor","secondaryColor","redColor","smallestSize","smallerSize","smallSize","mediumSize","largeSize","largerSize","largestSize","horizontalSpace","avatarRadius","avatarSize","circularRadius","colorError","borderColorError","iconPosition","iconRight","iconLeft","inputPaddingWithIconAtStart","inputPaddingWithIconAtEnd","inputPadding","inputInsideLabelPaddingTop","backgroundColorInverted","fontColor","successfulColor","inputFocusBorderColor","inputFocusBorderRadius","placeholderColor","insideLabelBottom","insideLabelPaddingLeft","insideLabelActiveFontSize","inlineLabelPaddingRight","startPaddingLeft","endPaddingRight","blackForeground","blackBackground","whiteForeground","whiteBackground","brandForeground","brandBackground","greyForeground","greyBackground","orangeForeground","orangeBackground","redForeground","redBackground","greenForeground","greenBackground","yellowForeground","yellowBackground","containerHeights","smallest","containerWidths","svgContent","svgHeights","svgTranslatePosition","svgWidths","columnGap","borderSize","pointerGap","pointerMargin","pointerHeight","pointerWidth","scrollbarHeight","scrollbarWidth","scrollbarThumbBackgroundColor","scrollbarThumbBorderRadius","scrollbarThumbBorderSize","scrollbarThumbHoverBackgroundColor","scrollbarThumbHoverBorderSize","textColorDefault","textColorDefaultHoverFocus","textColorChecked","indicatorColorDefault","indicatorBorderColorDefaultHover","indicatorBorderColorChecked","indicatorBackgroundColorChecked","meReactingColor","meReactingColorHover","otherReactingColor","otherReactingColorHover","fontWeightHover","outlineWidthFocus","outlineOffsetFocus","meReacting","boxShadowColor","reactionSpacing","disabledBackgroundColor","railColor","disabledRailColor","railHeight","thumbColor","activeThumbColor","disabledThumbColor","thumbHeight","activeThumbHeight","thumbBorderPadding","thumbWidth","activeThumbWidth","trackColor","disabledTrackColor","successTextColor","infoBackgroundColor","infoTextColor","warningTextColor","errorBackgroundColor","errorTextColor","defaultBackgroundColor","defaultTextColor","fontSizeSmallest","fontLineHeightSmallest","lineHeightSmallest","fontLineHeightSmaller","lineHeightSmaller","fontLineHeightSmall","fontLineHeightMedium","fontLineHeightLarge","lineHeightLarge","fontSizeLarger","fontLineHeightLarger","lineHeightLarger","fontSizeLargest","fontLineHeightLargest","lineHeightLargest","fontWeightLight","fontWeightSemilight","atMentionOtherColor","atMentionMeColor","atMentionMeFontWeight","errorColor","importantWeight","importantColor","timestampColor","selectionIndicatorMargin","hoverBackground","shadowLevel2","accordionContentStyles","active","marginInlineStart","accordionTitleStyles","contentWrapper","gridTemplateColumns","msGridColumns","indicator","backgroundPosition","msGridColumn","alertStyles","attached","fitted","dismissible","actions","& > :first-child","& svg","alertDismissActionSlotClassNames","alertDismissActionClassName","alertDismissActionStyles","dismissActionIndicatorColor","borderFocusStyles","hasContent","loaderClassName","loaderSlotClassNames","attachmentActionClassName","attachmentStyles","& .ui-attachment__progress","actionable","_hover","attachmentActionStyles","iconFilledStyles","loader","attachmentIconStyles","& .ui-icon","sizeToPxValue","avatarStyles","sizeInRem","avatarStatusStyles","_ref$props","sizeInPx","getSizeStyles","avatarStatusIconStyles","avatarImageStyles","avatar","fluid","iconSizeToPxValue","avatarIconStyles","iconsizeInRem","square","avatarLabelStyles","buttonStyles","_isNil","disabledFocusable","inverted","tinted","iconOnly","buttonGroupStyles","middleButton","firstButton","borderTopLeftRadius","borderBottomLeftRadius","lastButton","buttonContentStyles","breadcrumbItemStyles","breadcrumbLinkStyles",":visited","breadcrumbStyles","chatStyles","flexDirection","listStyle","chatItemStyles","gutter","contentPosition","float","reactionClassName","reactionSlotClassNames","chatMessageClassName","chatMessageSlotClassNames","chatMessageStyles","mine","wordBreak","wordWrap","::before","[data-popper-escaped]","actionMenu","focused","author","hasReactionGroup","& a","hasBadge","badgePosition","badge","sidePosition","reactionGroup","chatMessageDetailsStyles","chatMessageReadStatusStyles","checkboxClassName","checkboxSlotClassNames","checkboxStyles","labelPosition","checkbox","msGridRowAlign","dialogStyles","footer","msGridRow","msGridColumnSpan","justifySelf","headerAction","backdrop","dividerStyles","important","::after","dividerContentStyles","baseDifference","getWidth","inline","toFlexAlignment","trimmedValue","getCSSTemplateValue","template","templateAsNumber","translateAlignProp","textAlignProp","alignProp","getPaddedStyle","debugStyle","debugRoot","debugArea","countTrue","underlinedItem","borderBottom","submenuIndicatorUrl","submenuIndicatorDirection","getContainerStyles","placement","getPointerStyles","transformOrigin","borderBottomColor","borderLeftColor","borderRightColor","borderTopColor","restHoverFocusTextColor","waveStyles","secondoryColor","wave","backgroundSize","getCommonSlotStyles","getFluidStyles","activeIndicatorUrl","listItemEndMediaClassName","dropdownItemClassName","dropdownItemSlotClassNames","dropdownSelectedItemClassName","dropdownSelectedItemSlotClassNames","inputClassName","inputSlotClassNames","dropdownClassName","dropdownSlotClassNames","transparentColorStyle","transparentColorStyleObj","dropdownStyles","clearIndicator","alignSelf",":focus-within","isFromKeyboard","selectedItems","hasToggleIndicator","hasItemsSelected","triggerButton","loadingMessage","noResultsMessage","headerMessage","toggleIndicator","dropdownSearchInputStyles","dropdownSelectedItemStyles","hasImage","dropdownItemStyles","hasHeader","checkableIndicator","endMedia","embedSlotClassNames","embedClassName","embedStyles","_focusVisible","control","backgroundPositionX","iframe","iframeLoaded","formFieldStyles","required","hasErrorMessage","formLabelStyles","formMessageStyles","flexStyles","column","hAlign","vAlign","space","wrap","fill","> *:not(:last-child)","_notLastChild","flexItemStyles","align","shrink","grow","gridStyles","_ref$variables","rows","_props$columns","gridAutoFlow","gridTemplateRows","msGridRows","& > *","outlineOffset","headerStyles","hasDescription","headerDescriptionStyles","svgIconStyles","speak","xSpacing","getXSpacingStyles","bordered","outlinePart","filledPart","_ref4$props","rotate","iconSizeInRems","modifiedSizes","xx","sizeModifier","svgFlippingInRtl","redPath","imageStyles","inputStyles","::placeholder","hasValue",":-webkit-autofill:focus","-webkit-text-fill-color","clearable","hasIcon","::-ms-clear","requiredAndSuccessful","inputContainer","inputLabelStyles","labelStyles","imagePosition","hasStartElement","hasEndElement","hasActionableIcon","layoutStyles","justifyItems","hasMain","mainSize","hasEnd","endSize","hasStart","startSize","textOrientation","writingMode","debugGap","_Object$assign4","rootFlexDirections","above","below","loaderStyles","svgAnimation","animationDelay","animationDirection","animationPlayState","listStyles","isListTag","listItemStyles","selectable","navigable","& .ui-list__itemheader","& .ui-list__itemcontent","selectableHoverStyle","headerWrapper","listItemContentStyles","truncate","hasContentMedia","listItemEndMediaStyles","listItemHeaderStyles","hasHeaderMedia","listItemMediaStyles","menuStyles","pointing","pills","underlined","submenu","verticalPillsBottomMargin","horizontalPillsRightMargin","verticalPointingBottomMargin","menuItemStyles","menuItemIconStyles","menuItemContentStyles","widthAdjust","inSubmenu","menuItemIndicatorStyles","menuItemWrapperStyles","borders","secondary",":nth-child(n+2)","borderTop",":first-child","menuDividerStyles","borderType","popupContentSlotClassNames","popupContentClassName","menuButtonStyles","popupContent","pillStyles","rectangular","appearance","pillContentStyles","pillActionStyles","pillImageStyles","pillIconStyles","popupContentStyles","basePlacement","autoSize","pointer","radioGroupItemClassName","radioGroupItemSlotClassNames","radioGroupItemStyles","segmentStyles","skeletonLineClassName","skeletonShapeClassName","skeletonButtonClassName","skeletonInputClassName","skeletonAvatarClassName","pulseStyles","50%","skeletonStyles","pulse","_pulse","_wave","skeletonShapeStyles","round","skeletonButtonStyles","skeletonTextStyles","skeletonInputStyles","skeletonAvatarStyles","sliderClassName","thumbFromPreviousSiblingSelector","sliderStyles","activeThumbStyles","thumbStyles","-webkit-appearance","_active","_focus","inputWrapper","transformOriginValue","rail","thumb","contentClassNameSelector","statusStyles","getBackgroundColor","getTextColor","menuButton","splitButtonToggleStyles","textStyles","atMention","truncated","temporary","textAreaStyles","resize","toolbarCustomItemStyles","toolbarItemStyles","toolbarMenuItemSubmenuIndicatorClassName","toolbarMenuItemActiveIndicatorClassName","toolbarMenuItemStyles","toolbarMenuItemIconStyles","toolbarMenuItemSubmenuIndicatorStyles","treeTitleClassName","treeTitleSlotClassNames","treeItemStyles","treeTitleStyles","level","showIndicator","selectionIndicator","indeterminate","tooltipContentStyles","carouselStyles","itemsContainerWrapper","shouldFocusContainer","itemsContainer","willChange","carouselNavigationStyles","thumbnails","activeIndex","carouselNavigationItemClassName","carouselNavigationItemSlotClassNames","carouselNavigationItemStyles","hasIndicator","carouselPaddleSlotClassNames","carouselPaddleClassName","carouselPaddleStyles","tableRowStyles","compact","tableCellStyles","flexFlow","truncateContent","cardExpandableBoxClassName","cardStyles","ghost","elevated","centered","expandable","cardHeaderStyles","cardBodyStyles","cardFooterStyles","cardPreviewStyles","datepickerStyles","allowManualInput","datepickerCalendarCellStyles","quiet","datepickerCalendarCellButtonStyles","today","datepickerCalendarGridRowStyles","isRowSelectionActive","teamsTheme","marginBlockEnd","marginBlockStart","> :last-child","& ::-webkit-scrollbar",":disabled","& ::-webkit-scrollbar-thumb","backgroundClip","& ::-webkit-scrollbar-track","reaction",":not(:last-child)","offsetMeasure","overflowContainer","overflowSentinel","overflowOpen","border-spacing","tableLayout","paths","bodyPadding","bodyFontFamily","bodyLineHeight","*","*:before","*:after","[hidden]","teamsDarkTheme","accessibleYellow","accessibleGreen","accessibleCyan","createEmptyColorScheme","teamsHighContrastTheme","businessCenter","services","MessageType","_userIdToken","token","isInitComplete","microsoftTeams.initialize","microsoftTeams.getContext","appContext","userId","userObjectId","tenantId","tid","getQueryVariable","variable","vars_1","pair","inTeams","timeout","isNullOrUndefined","performRestAPICall","endpoint","method","fetch","BIZ_CONSOLE_DOMAIN","headers","Headers","Authorization","userIdToken","Content-Type","response","status","exception","sdkError","sdkException","Exception","catch","renderPermissionPopup","authenticateParameters","popupDiv","BIZ_CENTER_DIV","onFailure","ReactDOM.render","PopupPermission","domain","initiateUserLogin","ReactDOM.unmountComponentAtNode","searchParams","redirectUrl","append","microsoftTeams.authentication","tokenResultString","tokenResult","idToken","decodedToken","jwt_decode","onSuccess","uuid","microsoftTeams.registerOnThemeChangeHandler","microsoftTeams.appInitialization","themeStr","APP_URL_TOKEN_ENDPOINT","GRAPH_PERMISSION_ENDPOINT","calendar","eventData","icalContent","startDateTime","endDateTime","Message","CALENDAR_EVENT_CREATION_ENDPOINT","CalendarEventRequestType","DescriptionContentType","AttendeeType","notification_1","notification","NOTIFICATION_ENDPOINT","ActionType","webhook","webhookRequest","notificationEndpointUrl","protocol","startsWith","request","WEBHOOK_CREATE_ENDPOINT","BAD_REQUEST","WEBHOOK_UPDATE_ENDPOINT","WEBHOOK_DELETE_ENDPOINT","ChangeType","payments","redirectionUrl","paymentUrl","resolutionUrl","paymentContext","url_string","pC","pU","rU","payment_url","popupContext","mediaConstraints","taskInfo","card","mediaDevices","getUserMedia","audio","video","stream","getTracks","microsoftTeams.tasks","verifyGraphPermissions","clientId","authResolutionUrl","removeItem","authScope","TEAMS_DEFAULT_SCOPE","SCOPE_SEPARATOR","WEBHOOK_USER_RESOURCE_SCOPE","MSFT_TID","CALENDAR_INTEGRATION_SCOPE","authorizeEndpoint","queryParams","encodedQueryParams","toQueryString","client_id","response_type","response_mode","redirect_uri","hashParams"],"mappings":"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AQmgB,IADkBK,OAAV,IAAZA,EAAgC,EACLA,ECnCnC,IAAIC,GAAc,WAEd,IADA,IAAIC,EAAQ,GACHld,EAAK,EAAGA,EAAKluD,UAAUC,OAAQiuD,IACpCkd,EAAMld,GAAMluD,UAAUkuD,GAG1B,IADA,IAAIlsD,EAAS,GACJ2oD,EAAK,EAAG0gB,EAAUD,EAAOzgB,EAAK0gB,EAAQprE,OAAQ0qD,IAGnD,IAFA,IAAI2gB,EAAOD,EAAQ1gB,GAEViJ,EAAK,EAAG2X,EADNzsE,MAAM+H,QAAQykE,GAAQA,EAAO3sE,OAAO8d,KAAK6uD,GACpB1X,EAAK2X,EAAOtrE,OAAQ2zD,IAEhD5xD,EADUupE,EAAO3X,IACH,EAGtB,OAAO5xD,GAOAwpE,GAAoBL,GAAY,CACvC,SACA,QACA,UACA,mBACA,qBACA,sBACA,UACA,iBACA,SACA,gBACA,WACA,UACA,WACA,SACA,UACA,YACA,mBACA,aACA,UACA,UACA,YACA,mBACA,mBACA,YACA,cACA,UACA,eACA,mBACA,cACA,UACA,SACA,YACA,aACA,eACA,WACA,YACA,YACA,YACA,eACA,iBACA,YACA,UACA,iBACA,gBACA,gBACA,SACA,YACA,cACA,aACA,cACA,aACA,cACA,SACA,cACA,qBACA,eACA,eACA,cACA,aACA,cACA,YACA,mBACA,WACA,gBACA,aACA,cACA,eACA,WACA,UACA,kBACA,gBACA,iBACA,iBACA,gBACA,eACA,gBACA,cACA,sBACA,yBAgCOM,GAAwBN,GAzBAA,GAAY,CAC3C,YACA,WACA,YACA,kBACA,MACA,YACA,SACA,UACA,KACA,OACA,MACA,OACA,QACA,WACA,QACA,YACA,aACA,SAOkEK,IAMzCL,GAAYM,GAAuB,CAC5D,SAoByBN,GAbAA,GAAYM,GAAuB,CAC5D,SACA,OACA,QACA,UACA,MACA,UAOsD,CACtD,WAOsBN,GAAYM,GAAuB,CACzD,UAOsBN,GAAYM,GAAuB,CACzD,UAOG,IAAIC,GAAmBP,GAAYM,GAAuB,CAC7D,WACA,OACA,WACA,QACA,MACA,SACA,SAOOE,GAAmBR,GAAYM,GAAuB,CAC7D,YACA,WACA,OACA,aACA,cACA,aACA,iBACA,aACA,OACA,UAOyBN,GAAYQ,GAAkB,CACvD,SACA,MACA,iBACA,eACA,UACA,UACA,OACA,SACA,YACA,OACA,MACA,YACA,MACA,WACA,UACA,cACA,WACA,WACA,MACA,OACA,OACA,OACA,QACA,UAO4BR,GAAYQ,GAAkB,CAC1D,iBACA,OACA,UACA,OACA,YACA,cACA,WACA,WACA,OACA,SAO0BR,GAAYQ,GAAkB,CACxD,OACA,WACA,aAE0BR,GAAYM,GAAuB,CAC7D,WACA,UAOyBN,GAAYM,GAAuB,CAC5D,cACA,gBAasBN,GAAYM,GAAuB,CACzD,UACA,UAOsBN,GAAYM,GAAuB,CACzD,UACA,UACA,UACA,UAE4BN,GAAYM,GAAuB,CAC/D,SAEuBN,GAAYM,GAAuB,CAC1D,SAOwBN,GAAYM,GAAuB,CAC3D,gBACA,SACA,UACA,UACA,SACA,aACA,WAO0BN,GAAYM,GAAuB,CAC7D,QACA,kBACA,sBACA,oBACA,MACA,SACA,aACA,iBACA,UACA,MACA,SACA,UAOG,IAAIG,GAAgBT,GAAYM,GAAuB,CAC1D,MACA,cACA,SACA,MACA,SACA,SACA,UAWOI,GAAgBJ,GAgBpB,SAASK,GAEhBrnD,EAAOsnD,EAAkBC,GAUrB,IAJA,IAAInlE,EAAU/H,MAAM+H,QAAQklE,GAExB/pE,EAAS,GAEJksD,EAAK,EAAG+d,EADNttE,OAAO8d,KAAKgI,GACSypC,EAAK+d,EAAOhsE,OAAQiuD,IAAM,CACtD,IAAIvtD,EAAMsrE,EAAO/d,MACIrnD,GAAWklE,EAAiBprE,IAC5CkG,GAA4C,GAAjCklE,EAAiB1rE,QAAQM,IACZ,IAAzBA,EAAIN,QAAQ,UACa,IAAzBM,EAAIN,QAAQ,WACM2rE,IAAiI,KAA3GA,MAAAA,OAA6D,EAASA,EAAkB3rE,QAAQM,MAExIqB,EAAOrB,GAAO8jB,EAAM9jB,IAG5B,OAAOqB,EChZJ,SAASkqE,GAAuB/O,GACnC8K,GAAgB9K,EAAK,CACjBloB,kBAAmBk3B,GACnBzvB,mBAAoB0vB,GACpB/rB,qBAAsBgsB,KAI9B,SAASF,KACLnO,GAAiBz+D,KAAKklB,MAAMw5C,aAAc1+D,MAG9C,SAAS6sE,GAAUvO,GACXA,EAAUI,eAAiB1+D,KAAKklB,MAAMw5C,eAEtCD,GAAiBH,EAAUI,aAAc,MACzCD,GAAiBz+D,KAAKklB,MAAMw5C,aAAc1+D,OAIlD,SAAS8sE,KACLrO,GAAiBz+D,KAAKklB,MAAMw5C,aAAc,MAE9C,SAASD,GAAiBC,EAAcr8D,GAChCq8D,IAC4B,iBAAjBA,EACPA,EAAa54C,QAAUzjB,EAEM,mBAAjBq8D,GACZA,EAAar8D,IClCzB,IAAI0qE,KAAuB3hB,GAAK,IACzBwV,IAAe,EAClBxV,GAAGwV,IAAiB,EACpBxV,GAAGwV,IAAiB,EACpBxV,GAAGwV,IAAkB,EACrBxV,GAAGwV,IAAiB,EACpBxV,GAAGwV,IAAgB,EACnBxV,GAAGwV,IAAgB,EACnBxV,GAAGwV,IAAmB,EACtBxV,GAAGwV,IAAqB,EACxBxV,ICXG,IAAI4hB,GAA0B,4BAC1BC,GAAyB,2BAc7B,SAASC,GAAmBt3D,EAASzU,GACpC22D,EAAM32D,EAAS01D,GAAU11D,GAAU01D,KACnCiB,KACIqV,EAAYrV,EAAInmD,SAAS9O,KAAKsqE,WACxBniD,IAAIpV,EAAUo3D,GAA0BC,IAClDE,EAAUjjE,OAAO0L,EAAUq3D,GAAyBD,KCb5D,IAAII,GAAgB,IAAI9tB,QACxB,SAAS+tB,GAAiBjsE,EAAKs3D,GAC3B,IACI4U,EAAYF,GAAczoE,IAAIvD,GAE9BmsE,EADAD,EACWA,EAAY5U,EAGZ,EAGf,OADA0U,GAAc/+C,IAAIjtB,EAAKmsE,GAChBA,EAiBJ,SAASC,GAAcC,GAC1BhF,qBAAgB,WACZ,IAAIrd,EACA0M,EAAMjB,GAAU4W,MAAAA,OAAyC,EAASA,EAAQ3nD,SAC9E,GAAKgyC,IAA+F,KAA3D,QAA3B1M,EAAK0M,EAAIrM,oBAAiC,IAAPL,OAAgB,EAASA,EAAGsiB,mBAS7E,OANYL,GAAiBvV,EAAK,IACrB,IACTA,EAAI/vD,iBAAiB,YAAa4lE,IAAc,GAChD7V,EAAI/vD,iBAAiB,cAAe6lE,IAAgB,GACpD9V,EAAI/vD,iBAAiB,UAAW8lE,IAAY,IAEzC,WACH,IAAIziB,EACC0M,IAA+F,KAA3D,QAA3B1M,EAAK0M,EAAIrM,oBAAiC,IAAPL,OAAgB,EAASA,EAAGsiB,oBAI/D,IADNL,GAAiBvV,GAAM,KAE3BA,EAAI3vD,oBAAoB,YAAawlE,IAAc,GACnD7V,EAAI3vD,oBAAoB,cAAeylE,IAAgB,GACvD9V,EAAI3vD,oBAAoB,UAAW0lE,IAAY,MAGxD,CAACJ,IAMgB,SAAbK,GAAuB5oD,GAE9B,OADAsoD,GAActoD,EAAMuoD,SACb,KAFJ,IC/DHM,GDmEJ,SAASJ,GAAanT,GAClB0S,IAAmB,EAAO1S,EAAGr5D,QAEjC,SAASysE,GAAepT,GACG,UAAnBA,EAAGh0B,aACH0mC,IAAmB,EAAO1S,EAAGr5D,QAGrC,SAAS0sE,GAAWrT,GF/Db,IAA8Bv0B,EAAAA,EEiERu0B,EAAGv0B,MFhEnB8mC,GAAoB9mC,IEiEzBinC,IAAmB,EAAM1S,EAAGr5D,QC7EpC,IAAI6sE,GAAc,WCAX,SAASC,GAAM9sE,GAElB,IADA,IAAIyE,EAAO,GACF+oD,EAAK,EAAGA,EAAKluD,UAAUC,OAAQiuD,IACpC/oD,EAAK+oD,EAAK,GAAKluD,UAAUkuD,GAE7B,IAAK,IAAIvD,EAAK,EAAGyH,EAASjtD,EAAMwlD,EAAKyH,EAAOnyD,OAAQ0qD,KAaxD,SAAS8iB,EAAO/sE,EAAQqF,EAAQ2nE,QACD,IAAvBA,IAAiCA,EAAqB,IAC1DA,EAAmBrqE,KAAK0C,GACxB,IAAK,IAAIyqD,KAAUzqD,EAAQ,CACvB,IAEYnE,EAEI+rE,EAJZ5nE,EAAO9G,eAAeuxD,IACP,cAAXA,GAAqC,gBAAXA,GAAuC,cAAXA,IAEjC,iBADjB5uD,EAAQmE,EAAOyqD,KACwB,OAAV5uD,GAAmB9C,MAAM+H,QAAQjF,GAO9DlB,EAAO8vD,GAAU5uD,GANb+rE,GAA2D,EAArCD,EAAmBrtE,QAAQuB,GACrDlB,EAAO8vD,GAAWmd,EACZ/rE,EACA6rE,EAAO/sE,EAAO8vD,IAAW,GAAI5uD,EAAO8rE,KAQ1DA,EAAmBtqE,MACnB,OAAO1C,EA/BH+sE,CAAO/sE,GAAU,GADP0xD,EAAOzH,IAGrB,OAAOjqD,ECVQ,SAARktE,KACP,SAAKhqE,QAAWA,OAAO4mD,WAAc5mD,OAAO4mD,UAAUC,YAG/C,oBAAoBrkD,KAAKxC,OAAO4mD,UAAUC,WAJ9C,ICHHojB,GAKG,SAASC,GAAM5gB,GAMlB,YAL2B,IAAhB2gB,KAA+B3gB,IAElCzC,GADA4M,EAAMjB,OACaiB,EAAI7M,UAAUC,UACrCojB,KAAgBpjB,IAAiD,IAApCA,EAAUpqD,QAAQ,gBAE1CwtE,GCRb,IAAIE,GAAgB,CAAC,QAAS,UACvB,SAASC,GAAOn6B,EAAWo6B,EAAYC,EAAUpH,EAAcqH,GAElE,IAAIpH,GADJD,EAAeA,GAAgB,CAAEC,MAAO,GAAIC,YAAQld,IAC3Bid,MAAOpc,EAAKmc,EAAaE,OAAQA,OAAgB,IAAPrc,EAAgBojB,GAAgBpjB,EAC/FyjB,EAAUC,sBAAiB,SAAU5pD,EAAO6pD,GAC5C,IAAIzY,EAAS0Y,oBACTjlE,EAAWu+D,GAAyBb,EAAQD,GAC5CyH,EAAmBllE,EAASusD,OAAcvsD,EAASmlE,QAAKC,EAAOvuE,EAAOmJ,EAAU,CAAC,SAAU,QAC3FqlE,EAAkBT,EAAWA,EAASzpD,QAASqlC,EAE/C8kB,EAAS/Y,EAAOxwC,SAAWwwC,EAAOxwC,QAAQg+C,kBAAqB,GAiBnE,OAhBKxN,EAAOxwC,SAAWmpD,IAAqBI,EAAM,IAAMnqD,EAAMoxC,SAAW+Y,EAAM,MAEvEC,EAAqB,SAAU7Z,GAC/B,OAAOU,GAAyBV,EAAYiZ,EAAYO,EAAkB/pD,EAAMoxC,UAIjEwN,iBAAmB,CAClC4K,EACAO,EACA/pD,EAAMoxC,QAEVgZ,EAAmBlM,qBACd6L,IAAqB/pD,EAAMoxC,OAChCA,EAAOxwC,QAAUwpD,GAEdlI,yBAAoB9yB,EAAWn0C,GAAS,CAAE8lB,IAAK8oD,GAAgBI,EAAMC,EAAiBlqD,EAAO,CAAEoxC,OAAQA,EAAOxwC,aAKzH+oD,EAAQtgD,YAAc,UAAY+lB,EAAU/lB,aAAe+lB,EAAU78B,MAEjE83D,EAAgBX,EAAOY,gBAAWX,GAAWA,EAKjD,OAHIA,EAAQtgD,cACRghD,EAAchhD,YAAcsgD,EAAQtgD,aAEjCghD,ECnCJ,SAASE,GAAqBnpD,EAAcopD,GAE/C,IADA,IAAIxqD,EAAQ/kB,GAAS,GAAIuvE,GAChB/gB,EAAK,EAAGvD,EAAKhsD,OAAO8d,KAAKoJ,GAAeqoC,EAAKvD,EAAG1qD,OAAQiuD,IAAM,CACnE,IAAIvtD,EAAMgqD,EAAGuD,QACMpE,IAAfrlC,EAAM9jB,KACN8jB,EAAM9jB,GAAOklB,EAAallB,IAGlC,OAAO8jB,ECIkB,SAAlByqD,GAA4BttE,GACnC,IAAIutE,EAAQ,CACRxqD,KAAM,IAEV,OAAO,WAEH,IADA,IApBuBwqD,EAoBnBC,EAAU,GACLlhB,EAAK,EAAGA,EAAKluD,UAAUC,OAAQiuD,IACpCkhB,EAAQlhB,GAAMluD,UAAUkuD,GAM5B,OAJKihB,EAAME,UCmFZ,SAAqBC,EAAQC,GAChC,GAAID,EAAOrvE,SAAWsvE,EAAOtvE,OAA7B,CAGA,IAAK,IAAIH,EAAI,EAAGA,EAAIwvE,EAAOrvE,OAAQH,IAC/B,GAAIwvE,EAAOxvE,KAAOyvE,EAAOzvE,GACrB,OAGR,OAAO,GD5FqB0vE,CAAYL,EAAMxqD,KAAMyqD,KAC5CD,EAAME,UAzBaF,EAyBaA,EAzBG,SAAUrC,GACrD,IAAK,IAAI5e,EAAK,EAAGvD,EAAKwkB,EAAMxqD,KAAMupC,EAAKvD,EAAG1qD,OAAQiuD,IAAM,CACpD,IAAI1oC,EAAMmlC,EAAGuD,GACM,mBAAR1oC,EACPA,EAAIsnD,GAECtnD,IAELA,EAAIH,QAAUynD,OAmBlBqC,EAAMxqD,KAAOyqD,EACND,EAAME,UA5BrB,IEDII,GAAgBhQ,GAAenxC,SADX,QACuC,CAC3DohD,UAAW,CACPC,iBAAiB,EACjBC,oBAAoB,GAExBC,WAAY,KAGZxhB,GAAazD,GAAWC,cACxBwD,IAAcA,GAAWhD,SACzBgD,GAAWhD,QAAQ,WACf,IAAK,IAAImF,KAAUif,GACXA,GAAcxwE,eAAeuxD,IAAaif,GAAcjf,GAAQsf,SAChEL,GAAcjf,GAAQsf,OAAOlkB,eAAY9B,KCfzD,IAAIimB,GAAoB,2BACpBC,GAAoB,8BACpBC,GAAa,SACbC,GAAa,SACbC,GAAa,SACbC,GAAa,SACbC,GAAUra,GAAU,CACpBxyC,KAAM,CAAE+P,QAAS,GACjB9P,GAAI,CAAE8P,QAAS,KAEf+8C,GAAWta,GAAU,CACrBxyC,KAAM,CAAE+P,QAAS,GACjB9P,GAAI,CAAE8P,QAAS,EAAGg9C,WAAY,YAE9BC,GAAmBC,IAAiB,IACpCC,GAAmBD,IAAiB,IACpCE,GAAmBF,IAAiB,IACpCG,GAAoBH,IAAiB,KACrCI,GAAkBJ,GAAgB,IAClCK,GAAkBL,GAAgB,IAClCM,GAAkBN,GAAgB,IAClCO,GAAmBP,GAAgB,KACnCQ,GAAgBC,GAAgB,IAChCC,GAAgBD,GAAgB,IAChCE,GAAkBF,IAAiB,IACnCG,GAAkBH,IAAiB,IACnCI,GAAoBC,GAAiB,IACrCC,GAAoBD,GAAiB,IACrCE,GAAoBF,GAAiB,IACrCG,GAAqBH,GAAiB,KACtCI,GAAmBJ,IAAkB,IACrCK,GAAmBL,IAAkB,IACrCM,GAAmBN,IAAkB,IACrCO,GAAoBP,IAAkB,KACtCQ,GAAiBC,IAAkB,IACnCC,GAAiBD,IAAkB,IACnCE,GAAmBF,GAAiB,IACpCG,GAAmBH,GAAiB,IACpCI,GAAcpc,GAAU,CACxBxyC,KAAM,CAAE6uD,UAAW,sBACnB5uD,GAAI,CAAE4uD,UAAW,oBAEjBC,GAAetc,GAAU,CACzBxyC,KAAM,CAAE6uD,UAAW,kBACnB5uD,GAAI,CAAE4uD,UAAW,wBAEjBE,GAAgBvc,GAAU,CAC1BxyC,KAAM,CAAE6uD,UAAW,wBACnB5uD,GAAI,CAAE4uD,UAAW,oBAEjBG,GAAcxc,GAAU,CACxBxyC,KAAM,CAAE6uD,UAAW,kBACnB5uD,GAAI,CAAE4uD,UAAW,0BAEjBI,GAAWzc,GAAU,CACrBxyC,KAAM,CAAE6uD,UAAW,iBACnB5uD,GAAI,CAAE4uD,UAAW,oBAEjBK,GAAa1c,GAAU,CACvBxyC,KAAM,CAAE6uD,UAAW,iBACnB5uD,GAAI,CAAE4uD,UAAW,qBAKVM,GAISzC,GAQT0C,GAAkB,CACzBC,eAAgBC,GAAiBzC,GAAU,IAAMG,GAAkBL,GAAYJ,IAC/EgD,eAAgBD,GAAiBzC,GAAU,IAAMK,GAAkBP,GAAYJ,IAC/EiD,eAAgBF,GAAiBzC,GAAU,IAAMM,GAAkBR,GAAYJ,IAC/EkD,gBAAiBH,GAAiBzC,GAAU,IAAMO,GAAmBT,GAAYJ,IACjFmD,cAAeJ,GAAiBzC,GAAU,IAAMQ,GAAiBV,GAAYJ,IAC7EoD,cAAeL,GAAiBzC,GAAU,IAAMS,GAAiBX,GAAYJ,IAC7EqD,cAAeN,GAAiBzC,GAAU,IAAMU,GAAiBZ,GAAYJ,IAC7EsD,eAAgBP,GAAiBzC,GAAU,IAAMW,GAAkBb,GAAYJ,IAC/EuD,YAAaR,GAAiBzC,GAAU,IAAMY,GAAed,GAAYJ,IACzEwD,YAAaT,GAAiBzC,GAAU,IAAMc,GAAehB,GAAYJ,IACzEyD,cAAeV,GAAiBzC,GAAU,IAAMe,GAAiBjB,GAAYJ,IAC7E0D,cAAeX,GAAiBzC,GAAU,IAAMgB,GAAiBlB,GAAYJ,IAC7E2D,gBAAiBZ,GAAiBxC,GAAW,IAAMgB,GAAmBnB,GAAYJ,IAClF4D,gBAAiBb,GAAiBxC,GAAW,IAAMkB,GAAmBrB,GAAYJ,IAClF6D,gBAAiBd,GAAiBxC,GAAW,IAAMmB,GAAmBtB,GAAYJ,IAClF8D,iBAAkBf,GAAiBxC,GAAW,IAAMoB,GAAoBvB,GAAYJ,IACpF+D,eAAgBhB,GAAiBxC,GAAW,IAAMqB,GAAkBxB,GAAYJ,IAChFgE,eAAgBjB,GAAiBxC,GAAW,IAAMsB,GAAkBzB,GAAYJ,IAChFiE,eAAgBlB,GAAiBxC,GAAW,IAAMuB,GAAkB1B,GAAYJ,IAChFkE,gBAAiBnB,GAAiBxC,GAAW,IAAMwB,GAAmB3B,GAAYJ,IAClFmE,aAAcpB,GAAiBxC,GAAW,IAAMyB,GAAgB5B,GAAYJ,IAC5EoE,aAAcrB,GAAiBxC,GAAW,IAAM2B,GAAgB9B,GAAYJ,IAC5EqE,eAAgBtB,GAAiBxC,GAAW,IAAM4B,GAAkB/B,GAAYJ,IAChFsE,eAAgBvB,GAAiBxC,GAAW,IAAM6B,GAAkBhC,GAAYJ,IAChFuE,aAAcxB,GAAiBzC,GAAU,IAAM+B,GAAajC,GAAYJ,IACxEwE,eAAgBzB,GAAiBzC,GAAU,IAAMkC,GAAepC,GAAYJ,IAC5EyE,cAAe1B,GAAiBxC,GAAW,IAAMkC,GAAavC,GAAYD,IAC1EyE,eAAgB3B,GAAiBxC,GAAW,IAAMgC,GAAcrC,GAAYD,IAC5E0E,UAAW5B,GAAiBzC,GAASJ,GAAYD,IACjD2E,UAAW7B,GAAiBzC,GAASH,GAAYF,IACjD4E,UAAW9B,GAAiBzC,GAASF,GAAYH,IACjD6E,UAAW/B,GAAiBzC,GAASD,GAAYJ,IACjD8E,WAAYhC,GAAiBxC,GAAUL,GAAYD,IACnD+E,WAAYjC,GAAiBxC,GAAUJ,GAAYF,IACnDgF,WAAYlC,GAAiBxC,GAAUH,GAAYH,IACnDiF,WAAYnC,GAAiBxC,GAAUF,GAAYJ,IACnDkF,YAAapC,GAAiBL,GAAU,OAAQzC,IAChDmF,aAAcrC,GAAiBJ,GAAY,OAAQ1C,KAEvD,SAAS8C,GAAiBxxC,EAAe8zC,EAAmBC,GACxD,MAAO,CACH/zC,cAAeA,EACf8zC,kBAAmBA,EACnBC,wBAAyBA,EACzBC,kBAAmB,QAG3B,SAAS7E,GAAgB8E,GACrB,OAAOvf,GAAU,CACbxyC,KAAM,CAAE6uD,UAAW,eAAiBkD,EAAQ,UAAWC,cAAe,QACtE/xD,GAAI,CAAE4uD,UAAW,qBAAsBmD,cAAe,UAG9D,SAAStE,GAAgBuE,GACrB,OAAOzf,GAAU,CACbxyC,KAAM,CAAE6uD,UAAW,iBAAmBoD,EAAQ,QAASD,cAAe,QACtE/xD,GAAI,CAAE4uD,UAAW,qBAAsBmD,cAAe,UAG9D,SAASjE,GAAiBmE,GACtB,OAAO1f,GAAU,CACbxyC,KAAM,CAAE6uD,UAAW,sBACnB5uD,GAAI,CAAE4uD,UAAW,eAAiBqD,EAAM,aAGhD,SAAS1D,GAAiB2D,GACtB,OAAO3f,GAAU,CACbxyC,KAAM,CAAE6uD,UAAW,sBACnB5uD,GAAI,CAAE4uD,UAAW,iBAAmBsD,EAAM,WClJ3C,IAAIC,GAAiB,CACxBC,YAAa,UACbC,UAAW,UACXC,aAAc,UACdC,aAAc,UACdC,eAAgB,UAChBC,cAAe,UACfC,WAAY,UACZC,aAAc,UACdC,gBAAiB,UACjBC,MAAO,UACPC,mBAAoB,iBACpBC,YAAa,UACbC,eAAgB,UAChBC,kBAAmB,UACnBC,iBAAkB,UAClBC,oBAAqB,UACrBC,gBAAiB,UACjBC,mBAAoB,UACpBC,kBAAmB,UACnBC,qBAAsB,UACtBC,aAAc,UACdC,eAAgB,UAChBC,kBAAmB,UACnBC,OAAQ,UACRC,MAAO,UACPC,mBAAoB,uBACpBC,WAAY,UACZC,OAAQ,UACRC,YAAa,UACbC,OAAQ,UACRC,YAAa,UACbC,cAAe,UACfC,QAAS,UACTC,IAAK,UACLC,YAAa,UACbC,QAAS,UACTC,aAAc,UACdC,WAAY,UACZC,OAAQ,UACRC,YAAa,UACbC,SAAU,UACVC,QAAS,UACTC,KAAM,UACNC,UAAW,UACXC,SAAU,UACVC,KAAM,UACNC,UAAW,UACXC,UAAW,UACXC,MAAO,UACPC,WAAY,YCnDLC,GAMGA,GAAXA,IAAoB,IALZC,OAAS,sBAChBD,GAAOE,OAAS,6EAChBF,GAAOG,OAAS,6EAChBH,GAAOI,QAAU,8EACjBJ,GAAOK,QAAU,8ECLd,ICAIC,GAeAC,GAoBAC,GA6BAC,GASAC,GDzEAC,GAAiB,CACxBC,WAAYZ,GAAOE,OACnBW,WAAYb,GAAOG,OACnBW,YAAad,GAAOI,QACpBW,YAAaf,GAAOK,QACpBW,eAAgB,MAChBC,eAAgB,MAChBC,eAAgB,QCNTZ,GAYeA,GAAvBA,IAA4C,IAXxBa,OAAS,wBAC5Bb,GAAmBc,SAAW,0BAC9Bd,GAAmBe,aAAe,+BAClCf,GAAmBgB,MAAQ,uBAC3BhB,GAAmBiB,OAAS,wBAC5BjB,GAAmBkB,KAAO,oBAC1BlB,GAAmBmB,WAAa,4BAChCnB,GAAmBoB,aAAe,+BAClCpB,GAAmBqB,QAAU,cAC7BrB,GAAmBsB,SAAW,0BAC9BtB,GAAmBuB,SAAW,2BAIvBtB,GAiBkBA,GAA1BA,IAAkD,IAhB3BY,OAAS,IAAMb,GAAmBa,OAAS,IACjEZ,GAAsBuB,kBAAoB,wCAC1CvB,GAAsBwB,mBAAqB,oCAC3CxB,GAAsBa,SAAW,IAAMd,GAAmBc,SAAW,IACrEb,GAAsBc,aAAe,IAAMf,GAAmBe,aAAe,IAC7Ed,GAAsBe,MAAQ,IAAMhB,GAAmBgB,MAAQ,IAC/Df,GAAsBgB,OAAS,IAAMjB,GAAmBiB,OAAS,IACjEhB,GAAsByB,MAAQ,eAC9BzB,GAAsB0B,SAAW,2DACjC1B,GAAsB2B,OAAS,yBAC/B3B,GAAsBoB,QAAU,IAAMrB,GAAmBqB,QAAU,IACnEpB,GAAsBiB,KAAO,iCAC7BjB,GAAsBkB,WAAa,IAAMnB,GAAmBmB,WAAa,IACzElB,GAAsBmB,aAAe,IAAMpB,GAAmBoB,aAAe,IAC7EnB,GAAsBqB,SAAW,IAAMtB,GAAmBsB,SAAW,IACrErB,GAAsBsB,SAAW,IAAMvB,GAAmBuB,SAAW,KAI9DrB,GA0BMA,GAAdA,IAA0B,IAzBf2B,OAAS,OACnB3B,GAAU4B,OAAS,OACnB5B,GAAU6B,OAAS,OACnB7B,GAAU8B,OAAS,OACnB9B,GAAU+B,OAAS,OACnB/B,GAAUgC,OAAS,OACnBhC,GAAUiC,OAAS,OACnBjC,GAAUkC,OAAS,OACnBlC,GAAUmC,OAAS,OACnBnC,GAAUoC,OAAS,OACnBpC,GAAUqC,OAAS,OACnBrC,GAAUsC,KAAO,OACjBtC,GAAUuC,OAAS,OACnBvC,GAAUwC,MAAQ,OAClBxC,GAAUyC,UAAY,OACtBzC,GAAU0C,OAAS,OACnB1C,GAAU2C,WAAa,OACvB3C,GAAU4C,KAAO,OACjB5C,GAAU6C,MAAQ,OAClB7C,GAAU8C,OAAS,OACnB9C,GAAU+C,WAAa,OACvB/C,GAAUgD,QAAU,OACpBhD,GAAUiD,YAAc,OACxBjD,GAAUkD,WAAa,OACvBlD,GAAUmD,KAAO,QAIVlD,GAMQA,GAAhBA,IAA8B,IALjBmD,MAAQ,IACpBnD,GAAYoD,UAAY,IACxBpD,GAAYqD,QAAU,IACtBrD,GAAYsD,SAAW,IACvBtD,GAAYuD,KAAO,KAIZtD,GAKUA,GAAlBA,IAAkC,IAJnBqC,OAAS,OACvBrC,GAAcsC,MAAQ,OACtBtC,GAAcwC,OAAS,OACvBxC,GAAc2C,MAAQ,OC7E1B,IAAIY,GAAsB,wFAGtBC,GAAoB,gBAAkB5D,GAAmBoB,aAAe,IAExEyC,GAAoB,CACpBC,GAAI7D,GAAsBY,OAC1BppC,GAAIwoC,GAAsBa,SAC1BiD,GAAI9D,GAAsBc,aAC1Bzd,GAAI2c,GAAsBe,MAC1BgD,GAAI/D,GAAsBc,aAC1B7yC,GAAI+xC,GAAsBgB,OAC1Bx+B,GAAIw9B,GAAsByB,MAC1B3lD,GAAIkkD,GAAsBc,aAC1BkD,GAAIhE,GAAsBc,aAC1BzvD,GAAI2uD,GAAsB0B,SAC1BzzB,GAAI+xB,GAAsBc,aAC1BmD,GAAIjE,GAAsB2B,OAC1BuC,GAAIlE,GAAsBc,aAC1BqD,GAAInE,GAAsBc,aAC1BsD,GAAIpE,GAAsBc,aAC1BuD,GAAIrE,GAAsBa,SAC1B9yB,GAAIiyB,GAAsBc,aAC1BwD,UAAWtE,GAAsBc,aACjCtiC,GAAIwhC,GAAsBiB,KAC1BsD,GAAIvE,GAAsBc,aAC1B9yB,GAAIgyB,GAAsBa,SAC1B78B,GAAIg8B,GAAsBkB,WAC1BsD,UAAWxE,GAAsBuB,kBACjCkD,UAAWzE,GAAsBwB,mBACjCkD,GAAI1E,GAAsBqB,SAC1B/vD,GAAI0uD,GAAsBsB,UAkB9B,SAASqD,GAAY/mE,EAAMgnE,EAAQC,GAC/B,MAAO,CACHA,WAAYA,EACZC,oBAAqB,YACrBC,oBAAqB,cACrBC,SAAUpnE,EACVkc,WAAY8qD,GCpDpB,IDuDiCK,GdlDLC,GAGhBjvB,Gee6Bp7C,GA6BjC22C,GAlDG2zB,SfIiB,IAApBD,KAA8BA,GAAkB,uBAClC10B,IAAdwjB,KACI/d,GAAMuM,KACN4iB,GAAoC,iBAApBF,GgBTrB,SAAiB79E,GACpB,IAAIqB,EAAS,KACb,IACI,IAAIq1D,EAAMjB,KACVp0D,EAASq1D,EAAMA,EAAIsnB,aAAa7d,QAAQngE,GAAO,KAEnD,MAAOP,IAGP,OAAO4B,EhBCG48E,CAAqBrR,IACD,mBAApBiR,GACIK,GAAuBtR,SACvBzjB,OAOQA,KAFdwjB,QADcxjB,KAFdwjB,GADAoR,GACYA,GAEZpR,KAA2B/d,GACfA,GAAI5Y,gBAAgBoY,aAAa,QAE7Cue,MACAA,GAAY,OcoChBwR,GApBR,SAAiCC,GAC7B,IAAK,IAAIC,KAAQ9B,GACb,GAAIA,GAAkBj+E,eAAe+/E,IAASD,GAAuC,IAA3BC,EAAK3+E,QAAQ0+E,GAEnE,OAAO7B,GAAkB8B,GAGjC,OAAO/B,GAYagC,CADSV,Gd/BtBjR,IcOa,KAAO0P,GA2BV,CACbkC,KAAMjB,GAAY1E,GAAUsC,KAAMrC,GAAYqD,QAASiC,IACvDhD,OAAQmC,GAAY1E,GAAUuC,OAAQtC,GAAYqD,QAASiC,IAC3D/C,MAAOkC,GAAY1E,GAAUwC,MAAOvC,GAAYqD,QAASiC,IACzD9C,UAAWiC,GAAY1E,GAAUyC,UAAWxC,GAAYqD,QAASiC,IACjE7C,OAAQgC,GAAY1E,GAAU0C,OAAQzC,GAAYqD,QAASiC,IAC3D5C,WAAY+B,GAAY1E,GAAU2C,WAAY1C,GAAYqD,QAASiC,IACnE1C,MAAO6B,GAAY1E,GAAU6C,MAAO5C,GAAYqD,QAASiC,IACzDzC,OAAQ4B,GAAY1E,GAAU8C,OAAQ7C,GAAYsD,SAAUgC,IAC5DxC,WAAY2B,GAAY1E,GAAU+C,WAAY9C,GAAYsD,SAAUgC,IACpEvC,QAAS0B,GAAY1E,GAAUgD,QAAS/C,GAAYsD,SAAUgC,IAC9DtC,YAAayB,GAAY1E,GAAUiD,YAAahD,GAAYsD,SAAUgC,IACtErC,WAAYwB,GAAY1E,GAAUkD,WAAYjD,GAAYsD,SAAUgC,IACpEpC,KAAMuB,GAAY1E,GAAUmD,KAAMlD,GAAYsD,SAAUgC,MCpEhE,SAASK,GAAkBhB,EAAY9sE,EAAK+hB,EAAYgsD,GAGpDtpB,GAAS,CACLqoB,WAHJA,EAAa,IAAMA,EAAa,IAI5BkB,UAHiCv1B,IAAlBs1B,EAA8B,UAAYA,EAAgB,MAAQ,IAG5D,QAAU/tE,EAAM,iCAA0CA,EAAM,yBACrF+hB,WAAYA,EACZksD,UAAW,SACXC,YAAa,SAGrB,SAASC,GAAqBrrE,EAASgqE,EAAYsB,EAAWC,EAAaN,GAEnEO,EAAUxrE,EAAU,IAAMsrE,EAAY,KADZC,OAAV,IAAhBA,EAAwC,UACIA,GAChDP,GAAkBhB,EAAYwB,EAAU,SAAUnG,GAAYmD,MAAOyC,GAAiBA,EAAgB,UACtGD,GAAkBhB,EAAYwB,EAAU,aAAcnG,GAAYoD,UAAWwC,GAAiBA,EAAgB,cAC9GD,GAAkBhB,EAAYwB,EAAU,WAAYnG,GAAYqD,QAASuC,GACzED,GAAkBhB,EAAYwB,EAAU,YAAanG,GAAYsD,SAAUsC,GAAiBA,EAAgB,aAC5GD,GAAkBhB,EAAYwB,EAAU,QAASnG,GAAYuD,KAAMqC,GAAiBA,EAAgB,SA+BhGt0B,GAAsC,QAAtBH,GAAKyL,YAAgC,IAAPzL,QAAgB,EAASA,GAAGK,cA7BzC72C,GA8BkE,QAA/Fy/C,GAAK9I,MAAAA,QAAmD,EAASA,GAAa80B,mBAAgC,IAAPhsB,GAAgBA,GArD9G,8DA2Bb4rB,GAFIK,GAAU1rE,GAAU,SAEMklE,GAAmBkB,KAAM,oBAAqB,gBAC5EiF,GAAqBK,GAASxG,GAAmBa,OAAQ,kBACzDsF,GAAqBK,GAASxG,GAAmBc,SAAU,oBAC3DqF,GAAqBK,GAASxG,GAAmBe,aAAc,wBAC/DoF,GAAqBK,GAASxG,GAAmBgB,MAAO,iBACxDmF,GAAqBK,GAASxG,GAAmBiB,OAAQ,kBACzDkF,GAAqBK,GAASxG,GAAmBmB,WAAY,sBAC7DgF,GAAqBK,GAASxG,GAAmBoB,aAAc,uBAAwB,UAAW,YAClG+E,GAAqBK,GAASvG,GAAsBoB,QAAS,UAAW,WACxE8E,GAAqBK,GAASxG,GAAmBsB,SAAU,oBAC3D6E,GAAqBK,GAASxG,GAAmBuB,SAAU,oBAG3DuE,GAAkB,oBAAqBU,GAAU,4CAA6CrG,GAAYmD,OAG1GwC,GAAkB,oBAAqBU,GAAU,uCAAwCrG,GAAYsD,WEhDtG,ICAIgD,GDAAC,GAAuB,yEAgB3B,SAASC,GAAkBjvE,EAAKkvE,GAGnC,MAAO,sBAF0B,iBAARlvE,EAAmB,oBAAsBA,EAAM,MAAQ,KAC/C,iBAARkvE,EAAmB,oBAAsBA,EAAM,MAAQ,IAM7E,SAASC,KACZ,MAAO,CACHC,kBAAmB,OACnBC,qBAAsB,QExBvB,SAASC,GAAcniE,EAAOoiE,EAAgBC,EAAUC,EAAmBC,EAAaC,EAAcC,GACzG,OAWWC,GAAuB1iE,EAXJ,iBAAnBoiE,GAAgCA,EAWFA,EAVA,CACjCO,MAAOP,EACPC,SAAUA,EACVC,kBAAmBA,EACnBC,YAAaA,EACbC,aAAcA,EACdC,cAAeA,IAO3B,SAASC,GAAuB1iE,EAAO4R,GACnC,IAEIgxD,GADsBhxD,OAAV,IAAZA,EAAgC,GAC3BA,GAAQ+wD,MAAOA,OAAe,IAAPC,EAAgB,EAAIA,EAAIC,EAAKjxD,EAAQjf,MAAOA,OAAe,IAAPkwE,EAAgB,EAAIA,EAAIC,EAAKlxD,EAAQywD,SAAsDC,EAAoB1wD,EAAQ0wD,kBAAmBS,EAAKnxD,EAAQ2wD,YAAaA,OAAqB,IAAPQ,EAAgB/iE,EAAMgjE,QAAQ7J,MAAQ4J,EAAIE,EAAKrxD,EAAQ4wD,aAAcA,OAAsB,IAAPS,EAAgBjjE,EAAMgjE,QAAQvK,iBAAmBwK,EAAIC,EAAKtxD,EAAQ6wD,cAC5Z,MAAO,CAEHU,QAAS,cAETd,cALiJ,IAAPS,EAAgB,WAAaA,EAMvKxuB,YAAY7H,EAAK,CAGT22B,qBAAsB,CAClBC,OAAQ,OAKb,IAAMhV,GAA0B,WAfuZ,IAAP6U,GAAuBA,EAe/Y,SAAW,IAAM,UAAY,CACpF73E,QAAS,KACTg3E,SAAU,WACVx6B,KAAM86B,EAAQ,EACd56B,IAAK46B,EAAQ,EACbvgB,OAAQugB,EAAQ,EAChBxgB,MAAOwgB,EAAQ,EACfU,OAAQ1wE,EAAQ,YAAc4vE,EAC9BY,QAASxwE,EAAQ,YAAc6vE,EAC/B9sD,OAAQksD,GAAS0B,WACjBhvB,YAAYoB,EAAK,IACVmsB,IAAwBS,EAC3B5sB,IAERjJ,KDjDDm1B,GAUKA,GAAbA,IAAwB,IATd2B,IAAM,EAIf3B,GAAS4B,eAAiB,EAC1B5B,GAAS0B,WAAa,EACtB1B,GAAS6B,UAAY,IACrB7B,GAAS8B,MAAQ,IACjB9B,GAAS+B,YAAc,QEVpB,IAAIC,GAAqB,CAC5BvB,SAAU,WACV1vE,MAAO,EACPC,OAAQ,EACRixE,QAAS,EACTC,QAAS,EACTT,OAAQ,EACRplB,SAAU,UCDV8lB,GAAuBpe,GAAgB,SAAUqe,EAAYC,GAC7D,IAAIC,EAAax3B,GAAWC,cAC5B,OAAIs3B,EAEOxjF,OAAO8d,KAAKylE,GAAYrwB,OAAO,SAAUwwB,EAAKz2B,GAEjD,OADAy2B,EAAIz2B,GAAaw2B,EAAW72B,aAAa22B,EAAWt2B,IAC7Cy2B,GACR,IAGAH,IAWJ,SAASI,GAAoBJ,EAAYhkE,EAAOikE,GACnD,OAAOF,GAAqBC,OAAwCp4B,IAA5Bq4B,EAAwCA,EAA0BjkE,EAAMikE,yBC1BpH,IAAIziF,GAAsC,WAStC,OARAA,GAAWf,OAAOgB,QAAU,SAASC,GACjC,IAAK,IAAIC,EAAGC,EAAI,EAAGC,EAAIC,UAAUC,OAAQH,EAAIC,EAAGD,IAE5C,IAAK,IAAIf,KADTc,EAAIG,UAAUF,GACOnB,OAAOK,UAAUC,eAAeC,KAAKW,EAAGd,KACzDa,EAAEb,GAAKc,EAAEd,IAEjB,OAAOa,IAEKM,MAAMX,KAAMS,YAI5BuiF,GAA0B,oBAAX3+E,OAAyB4+E,OAAS5+E,OCV9C,SAAS6+E,GAAmB1jF,EAAGqB,EAAGP,EAAG6iF,EAAYC,GAMpD,YALoB,IAAhBA,IAA0BA,GAAc,GAoJhD,SAA6B9iF,EAAG8iF,GAE5B,IAAIC,EAAM,IACU,IAAhBD,IACAC,EAAM,sBASV,OANA/iF,EAAEgjF,cAAgBhjF,EAAEijF,SAAWF,EAC/B/iF,EAAEkjF,2BAA6BH,EAC/B/iF,EAAEmjF,kBAAoBJ,EACtB/iF,EAAEojF,YAAcpjF,EAAEqjF,YAAcN,EAChC/iF,EAAEsjF,aAAeP,EAEV/iF,EA5JAujF,CADkBC,GAAkBtkF,EAAGqB,EAHzBV,GAAS,CAAE4jF,oBAAqB,cAAeC,UAAYb,EAAyB,UAAZ,UAAuBQ,YAAcR,EAAyB,UAAZ,UAAuBc,YAAcd,EAAyB,UAAZ,UAAuBe,mBAAqBf,EAAyB,UAAZ,UAAuBgB,SAAWhB,EAAyB,UAAZ,UAAuBiB,UAAYjB,EAAyB,UAAZ,UAAuBkB,aAAelB,EAAyB,UAAZ,UAAuBmB,YAAcnB,EAAyB,UAAZ,UAAuBoB,kBAAoBpB,EAAyB,UAAZ,UAAuBqB,YAAcrB,EAAyB,UAAZ,UAAuBsB,eAAiBtB,EAAyB,UAAZ,UAAuBuB,gBAAkBvB,EAAyB,UAAZ,UAAuBwB,mBAAqBxB,EAAyB,UAAZ,UAAuByB,kBAAoBzB,EAAyB,UAAZ,UAAuB0B,wBAA0B1B,EAAyB,UAAZ,UAAuB2B,kBAAoB3B,EAAyB,UAAZ,UAEt3BM,iBAAmBN,EAAyB,UAAZ,UAAuBS,YAAcT,EAAyB,UAAZ,WAAyB7iF,GAC9C6iF,GAClBC,GAK5C,SAASU,GAAkBtkF,EAAGqB,EAAGP,EAAG6iF,GAEvC,IAAI1gF,EAAS,GAET2oD,EAAK5rD,GAAK,GAAIs4E,EAAQ1sB,EAAG0sB,MAAOf,EAAQ3rB,EAAG2rB,MAAON,EAAerrB,EAAGqrB,aAAcF,EAAYnrB,EAAGmrB,UAAWD,EAAclrB,EAAGkrB,YAAaE,EAAeprB,EAAGorB,aAAcK,EAAezrB,EAAGyrB,aAAca,EAAetsB,EAAGssB,aAAcC,EAAiBvsB,EAAGusB,eAAgBV,EAAc7rB,EAAG6rB,YAAaO,EAAoBpsB,EAAGosB,kBAAmBC,EAAuBrsB,EAAGqsB,qBAAsBP,EAAiB9rB,EAAG8rB,eAAgBE,EAAmBhsB,EAAGgsB,iBAAkBC,EAAsBjsB,EAAGisB,oBAAqBC,EAAkBlsB,EAAGksB,gBAAiBC,EAAqBnsB,EAAGmsB,mBAAoBK,EAAoBxsB,EAAGwsB,kBAAmBC,EAASzsB,EAAGysB,OAoI5oB,OAnIIC,IACAr1E,EAAOsiF,eAAiBjN,EACxBr1E,EAAOuiF,oBAAsBlN,EAC7Br1E,EAAOwiF,iBAAmBnN,EAC1Br1E,EAAOyiF,iBAAmBpN,EAC1Br1E,EAAO0iF,kBAAoBrN,EAC3Br1E,EAAO2iF,yBAA2BtN,EAClCr1E,EAAO4iF,yBAA2BvN,EAClCr1E,EAAO6iF,gBAAkBxN,EACzBr1E,EAAO8iF,uBAAyBzN,EAChCr1E,EAAO+iF,eAAiB1N,EACxBr1E,EAAOgjF,eAAiB3N,EACxBr1E,EAAOijF,uBAAyB5N,GAEhCf,IACAt0E,EAAOkjF,gBAAkB5O,EACzBt0E,EAAOmjF,yBAA2B7O,GAElCN,IACAh0E,EAAOwzB,KAAOwgD,EACdh0E,EAAOojF,wBAA0BpP,EACjCh0E,EAAOqjF,uBAAyBrP,EAChCh0E,EAAOsjF,UAAYtP,EACnBh0E,EAAOujF,oBAAsBvP,EAC7Bh0E,EAAOwjF,SAAWxP,EAClBh0E,EAAOyjF,WAAazP,EACpBh0E,EAAO0jF,uBAAyB1P,GAEhCF,IACA9zE,EAAO2jF,+BAAiC7P,EACxC9zE,EAAO4jF,8BAAgC9P,EACvC9zE,EAAO6jF,iBAAmB/P,GAE1BD,IACA7zE,EAAO8jF,YAAcjQ,GAErBE,IACA/zE,EAAO+jF,+BAAiChQ,GAExCK,IACAp0E,EAAOgkF,kCAAoC5P,GAE3Ca,IACAj1E,EAAOikF,sBAAwBhP,EAC/Bj1E,EAAOkkF,iBAAmBjP,EAC1Bj1E,EAAOmkF,YAAclP,EACrBj1E,EAAOokF,cAAgBnP,EACvBj1E,EAAOqkF,+BAAiCpP,EACxCj1E,EAAOskF,wBAA0BrP,EACjCj1E,EAAOukF,0BAA4BtP,EACnCj1E,EAAOwkF,4BAA8BvP,EACrCj1E,EAAOykF,0BAA4BxP,EAEnCj1E,EAAO+gF,0BAA4B9L,GAEnCC,IACAl1E,EAAO0kF,sBAAwBxP,EAC/Bl1E,EAAO2kF,wBAA0BzP,EACjCl1E,EAAO4kF,yBAA2B1P,EAClCl1E,EAAO6kF,qBAAuB3P,EAC9Bl1E,EAAO8kF,gCAAkC5P,EACzCl1E,EAAO+kF,mBAAqB7P,EAC5Bl1E,EAAOglF,0BAA4B9P,EACnCl1E,EAAOilF,4BAA8B/P,EACrCl1E,EAAOklF,0BAA4BhQ,GAEnCH,IACA/0E,EAAOmlF,0BAA4BpQ,EACnC/0E,EAAOolF,gBAAkBrQ,GAEzBC,IACAh1E,EAAOqlF,iCAAmCrQ,GAE1CH,IACA70E,EAAOslF,iBAAmBzQ,EAC1B70E,EAAOulF,sBAAwB1nF,MAAAA,OAA6B,EAASA,EAAE0nF,uBAAyB1Q,EAChG70E,EAAOwlF,mBAAqB3Q,EAC5B70E,EAAOylF,kBAAoB5Q,EAC3B70E,EAAO0lF,aAAe7Q,GAEtBJ,IACAz0E,EAAO2lF,SAAWlR,EAClBz0E,EAAO4lF,WAAanR,EACpBz0E,EAAO6lF,WAAapR,EACpBz0E,EAAO8lF,mBAAqBrR,EAC5Bz0E,EAAO+lF,UAAYtR,EACnBz0E,EAAO8gF,SAAWrM,EAClBz0E,EAAOgmF,aAAevR,GAEtBU,IACAn1E,EAAOimF,uBAAyB9Q,EAChCn1E,EAAOkmF,uBAAyB/Q,GAEhCX,IACAx0E,EAAOmmF,kBAAoB3R,EAC3Bx0E,EAAOomF,kBAAoB5R,EAC3Bx0E,EAAOqmF,kBAAoB7R,EAC3Bx0E,EAAOsmF,kBAAoB9R,EAC3Bx0E,EAAOumF,iBAAmB/R,EAC1Bx0E,EAAOwmF,oBAAsBhS,GAE7BG,IACA30E,EAAOymF,YAAc9R,EACrB30E,EAAO0mF,YAAc/R,EACrB30E,EAAO2mF,YAAchS,EACrB30E,EAAO4mF,iBAAmBjS,EAC1B30E,EAAO6mF,qBAAuBlS,GAE9BC,IACA50E,EAAO8mF,aAAelS,GAEtBE,IACA90E,EAAO+mF,oBAAsBjS,EAC7B90E,EAAOgnF,eAAiBlS,EACxB90E,EAAOinF,wBAA0BnS,EACjC90E,EAAOknF,YAAcpS,GAErBM,IACAp1E,EAAO0jF,uBAAyBtO,GAGhCh3E,MAAAA,GAAsCA,EAAEu5E,aACxC33E,EAAOmnF,WAAa/oF,EAAEu5E,aAErB+I,GAAetiF,MAAAA,GAAsCA,EAAEw5E,WACxD53E,EAAOonF,kBAAoBhpF,EAAEw5E,WAExB53E,EAAOulF,uBACZvlF,EAAOonF,kBAAoB,WAAapnF,EAAOulF,sBAEnDvlF,EAAStC,GAASA,GAAS,GAAIsC,GAASnC,ODtIjB0iF,GAAM8G,aAAe9G,GAAM8G,YAAY37B,MAkBlE,WACI,IAAIlZ,EAAQ+tC,GAAM+G,gBAAkB,CAChCprE,WAAO4rC,EACPy/B,sBAAkBz/B,EAClB0/B,iBAAkB,IAEjBh1C,EAAMi1C,WACPj1C,EAAQ90C,GAASA,GAAS,GAAI80C,GAAQ,CAAEk1C,KAAM,CACtC1iE,MAAO,EACP+vC,SAAU,GACX0yB,SAAU,CACTE,WAAY,EACZ9zC,KAAM,EACN+zC,OAAQ,OAGfp1C,EAAMq1C,2BACPr1C,EAAQ90C,GAASA,GAAS,GAAI80C,GAAQ,CAAEq1C,yBAA0B,MAEtEtH,GAAM+G,eAAiB90C,EApCTs1C,GElBX,IAAIC,GAAiB,CACxBC,GAAI,MACJC,GAAI,MACJlmF,EAAG,OACHmmF,GAAI,OACJC,GAAI,QCMD,SAASC,GAAYlsE,EAAOykE,GAG/B,IAAID,KAFoBxkE,OAAV,IAAVA,EAA4B,GAEbA,GAAMwkE,WAWzB,OCpBG,SAAqBxkE,EAAOmsE,GAC/B,IAAYvJ,EAERwJ,EAAc9c,GAAM,GAAItvD,EADGmsE,OAAV,IAAjBA,EAA0C,GACXA,EAAc,CAC7CE,eAAgBlH,GAAkBgH,EAAanJ,QAASmJ,EAAap3C,QAASo3C,EAAaE,qBAA4CzgC,IAA5BugC,EAAa3H,WAA2BxkE,EAAmBmsE,GAAb3H,cAK7J,GAHqC,QAA/B/3B,EAAK0/B,EAAanJ,eAA4B,IAAPv2B,IAAyBA,EAAGqrB,cAAmD,QAA/BpiB,EAAKy2B,EAAanJ,eAA4B,IAAPttB,GAAyBA,EAAGwjB,SAC5JkT,EAAYpJ,QAAQ9J,OAASiT,EAAanJ,QAAQlL,cAElDqU,EAAaG,iBACb,IAAK,IAAIt8B,EAAK,EAAG6yB,EAAKpiF,OAAO8d,KAAK6tE,EAAYG,OAAQv8B,EAAK6yB,EAAG9gF,OAAQiuD,IAAM,CACxE,IAAIoxB,EAAYyB,EAAG7yB,GACnBo8B,EAAYG,MAAMnL,GAAa9R,GAAM8c,EAAYG,MAAMnL,GAAY+K,EAAaG,iBAA4G,QAAzF1J,EAAKuJ,MAAAA,OAAmD,EAASA,EAAaI,aAA0B,IAAP3J,OAAgB,EAASA,EAAGxB,IAGxO,OAAOgL,EDKAI,CAVS,CACZxJ,QAAStL,GACT3iC,QAASymC,GACT+Q,MAAOhM,GACPkM,QAASZ,GACTrH,WAAYA,EACZP,yBAAyB,EACzBoI,eAAgB9H,GAAmB7M,GAAgB8D,QAAgB5vB,EAAW44B,EATpDC,OAAV,IAAhBA,GAAwC,EASkDA,GAC1F1zB,SAAKnF,GAEqB5rC,GEpBlC,IAAI0sE,GAASR,GAAY,IAGlB,SAASS,KACZ,IACIj3B,EAGIyD,EAFHsN,GAAe/xD,YAAY,CAJN,UAI0BsL,QAG0B,QAArE01C,EAAKyD,OADNA,EAAMjB,WACiC,EAASiB,EAAIrM,oBAAiC,IAAP4I,GAAyBA,EAAG11C,QAC1G0sE,GAASR,GAAY/yB,EAAIrM,aAAa9sC,QAG1CymD,GAAeC,gBAAeja,EAAK,IAAuB,MAAIigC,GAAQjgC,KAG9EkgC,KChBO,IAAIC,GCEJ,SAAuBj1B,GAC1B,IAiBSk1B,EAjBL58B,EAAU,GAiBd,IAAS48B,KAAal1B,GAhBR,SAAUk1B,GACpB,IACQC,EADJn1B,EAAO52D,eAAe8rF,IAEtBpsF,OAAOuC,eAAeitD,EAAS48B,EAAW,CACtC7mF,IAAK,WAKD,OAFI8mF,OAFgBlhC,IAAhBkhC,EAEc//B,GAAY4K,EAAOk1B,IAAYt6E,WAE1Cu6E,GAEX/mF,YAAY,EACZ2R,cAAc,IAKtBs/C,CAAQ61B,GAEZ,OAAO58B,EDvBsB88B,CAAcrY,IEF/C7oB,GAAW,4BAA6B,SCKxC8gC,KCRO,ICAIK,GDAAC,GAAkB,CAIzBC,YAAa,EAIbC,UAAW,EAIXC,aAAc,EAKdC,YAAa,EAIbC,eAAgB,EAIhBC,aAAc,EAIdC,gBAAiB,EAKjBC,eAAgB,EAIhBC,YAAa,EAIbC,WAAY,EAIZC,eAAgB,GAIhBC,aAAc,GAIdC,YAAa,GAIbC,gBAAiB,IEpDrB,SAASC,GAAoBC,EAAYC,EAAeC,GACpD,MAAO,CACHF,WAAYA,EACZC,cAAeA,EACfC,OAAQA,IDTLnB,GAKUA,GAAlBA,IAAkC,IAJnBA,GAAmB,IAAI,GAAK,MAC1CA,GAAcA,GAAsB,QAAK,GAAK,SAC9CA,GAAcA,GAAoB,KAAI,GAAK,OAC3CA,GAAcA,GAAqB,OAAK,GAAK,SAGtCoB,GAKgB,IAJdA,GAAc,IAAI,GAAK,MAChCA,GAASA,GAAiB,OAAI,GAAK,SACnCA,GAASA,GAAgB,MAAI,GAAK,QAClCA,GAASA,GAAc,IAAI,GAAK,MCEpC,IAAIC,KAAyB5hC,GAAK,IAC3BwgC,GAAgBC,aAAec,GAAoBhB,GAAcjlC,IAAKilC,GAAcnlC,MACvF4E,GAAGwgC,GAAgBE,WAAaa,GAAoBhB,GAAcjlC,KAClE0E,GAAGwgC,GAAgBG,cAAgBY,GAAoBhB,GAAcjlC,IAAKilC,GAAc7qB,OACxF1V,GAAGwgC,GAAgBI,aAAeW,GAAoBhB,GAAcjlC,SAAK6D,GAAW,GACpFa,GAAGwgC,GAAgBK,gBAAkBU,GAAoBhB,GAAc5qB,OAAQ4qB,GAAcnlC,MAC7F4E,GAAGwgC,GAAgBM,cAAgBS,GAAoBhB,GAAc5qB,QACrE3V,GAAGwgC,GAAgBO,iBAAmBQ,GAAoBhB,GAAc5qB,OAAQ4qB,GAAc7qB,OAC9F1V,GAAGwgC,GAAgBQ,gBAAkBO,GAAoBhB,GAAc5qB,YAAQxW,GAAW,GAC1Fa,GAAGwgC,GAAgBS,aAAeM,GAAoBhB,GAAcnlC,KAAMmlC,GAAcjlC,KACxF0E,GAAGwgC,GAAgBU,YAAcK,GAAoBhB,GAAcnlC,MACnE4E,GAAGwgC,GAAgBW,gBAAkBI,GAAoBhB,GAAcnlC,KAAMmlC,GAAc5qB,QAC3F3V,GAAGwgC,GAAgBY,cAAgBG,GAAoBhB,GAAc7qB,MAAO6qB,GAAcjlC,KAC1F0E,GAAGwgC,GAAgBa,aAAeE,GAAoBhB,GAAc7qB,OACpE1V,GAAGwgC,GAAgBc,iBAAmBC,GAAoBhB,GAAc7qB,MAAO6qB,GAAc5qB,QAC7F3V,IACJ,SAAS6hC,GAAyBhsB,EAAMisB,GACpC,QAAIjsB,EAAKva,IAAMwmC,EAAaxmC,SAGxBua,EAAKF,OAASmsB,EAAansB,YAG3BE,EAAKza,KAAO0mC,EAAa1mC,SAGzBya,EAAKH,MAAQosB,EAAapsB,SASlC,SAASqsB,GAAqBlsB,EAAMisB,GAChC,IAAIE,EAAc,GAalB,OAZInsB,EAAKva,IAAMwmC,EAAaxmC,KACxB0mC,EAAYtpF,KAAK6nF,GAAcjlC,KAE/Bua,EAAKF,OAASmsB,EAAansB,QAC3BqsB,EAAYtpF,KAAK6nF,GAAc5qB,QAE/BE,EAAKza,KAAO0mC,EAAa1mC,MACzB4mC,EAAYtpF,KAAK6nF,GAAcnlC,MAE/Bya,EAAKH,MAAQosB,EAAapsB,OAC1BssB,EAAYtpF,KAAK6nF,GAAc7qB,OAE5BssB,EAEX,SAASC,GAAcpsB,EAAMqsB,GACzB,OAAOrsB,EAAK0qB,GAAc2B,IAE9B,SAASC,GAActsB,EAAMqsB,EAAMjrF,GAE/B,OADA4+D,EAAK0qB,GAAc2B,IAASjrF,EACrB4+D,EAOX,SAASusB,GAAgBvsB,EAAMqsB,GACvBG,EAAQC,GAAkBJ,GAC9B,OAAQD,GAAcpsB,EAAMwsB,EAAME,cAAgBN,GAAcpsB,EAAMwsB,EAAMG,eAAiB,EAajG,SAASC,GAAsBP,EAAMjrF,GACjC,OAAW,EAAPirF,EACOjrF,GAGS,EAATA,EAGf,SAASyrF,GAA0BR,EAAMrsB,GACrC,OAAO4sB,GAAsBP,EAAMD,GAAcpsB,EAAMqsB,IAE3D,SAASS,GAA2B9sB,EAAM+sB,EAAUV,GAEhD,OAAOO,GAAsBP,EADRD,GAAcpsB,EAAMqsB,GAAQD,GAAcW,EAAUV,IAO7E,SAASW,GAAUhtB,EAAMqsB,EAAM/f,GAC3B,IAAI2gB,EAAab,GAAcpsB,EAAMqsB,GAAQ/f,EAG7C,OAFAtM,EAAOssB,GAActsB,EAAMqsB,EAAM/f,GACjCtM,EAAOssB,GAActsB,GAAc,EAARqsB,EAAWD,GAAcpsB,GAAc,EAARqsB,GAAaY,GAM3E,SAASC,GAAYltB,EAAM9/D,EAAQmsF,EAAMc,GAErC,OAAOH,GAAUhtB,EAAMqsB,EAAMD,GAAclsF,EAAQmsF,GAAQO,GAAsBP,EAD3Dc,OAAV,IAARA,EAAwB,EAC2DA,IAe3F,SAASC,GAAgBptB,EAAMqtB,EAAQhB,GAEnC,OADwBQ,GAA0BR,EAAMrsB,GAC7B6sB,GAA0BR,EAAMgB,GAsE/D,SAASC,GAAuB/uC,EAASr+C,EAAQqtF,EAAUC,EAAcL,EAAKM,EAAsBC,QACpF,IAARP,IAAkBA,EAAM,GAC5B,IAAIvB,EAAgB4B,EAAa5B,cAAe+B,EAAkBH,EAAaG,gBAC3EC,EAAkB,CAClBC,iBAAkBtvC,EAClBotC,WAAY6B,EAAa7B,WACzBC,cAAeA,GAEd6B,GAAyBC,IAC1BE,EAzER,SAAoB5tB,EAAM9/D,EAAQqtF,EAAUC,EAAcL,QAC1C,IAARA,IAAkBA,EAAM,GAC5B,IAAIW,EAAa,CACbpD,GAAcnlC,KACdmlC,GAAc7qB,MACd6qB,GAAc5qB,OACd4qB,GAAcjlC,KAGd6I,OACAw/B,EAAW,KAAO,EAClBA,EAAW,KAAO,GAOtB,IALA,IAAIC,EAAkB/tB,EAClBguB,EAAcR,EAAa7B,WAC3BsC,EAAmBT,EAAa5B,cAG3BtsF,EAAI,EAAGA,EAAI,EAAGA,IAAK,CACxB,GAAK8tF,GAAgBW,EAAiBR,EAAUS,GAc5C,MAAO,CACHH,iBAAkBE,EAClBpC,WAAYqC,EACZpC,cAAeqC,GAhBnBH,EAAWp7B,OAAOo7B,EAAWjuF,QAAQmuF,GAAc,GAC3B,EAApBF,EAAWruF,UACiC,EAAxCquF,EAAWjuF,SAAuB,EAAfmuF,GACnBA,IAA6B,GAG7BC,EAAmBD,EACnBA,EAAcF,EAAWvjE,OAAO,GAAG,IAEvCwjE,EAAkBG,GAAkBluB,EAAM9/D,EAAQ,CAAEyrF,WAAYqC,EAAapC,cAAeqC,GAAoBd,IAW5H,MAAO,CACHU,iBAAkB7tB,EAClB2rB,WAAY6B,EAAa7B,WACzBC,cAAe4B,EAAa5B,eA8BVuC,CAAW5vC,EAASr+C,EAAQqtF,EAAUC,EAAcL,IAEtEhB,EAAcD,GAAqB3tC,EAASgvC,GAChD,GAAII,GAGA,GAAIC,EAAgBhC,gBAA4E,EAA3DO,EAAYtsF,SAAyC,EAAjC+tF,EAAgBhC,eAA0B,CAC3FwC,GA9BqCjB,EA8BgCA,EA7B7EvB,GADoBgC,EA8BgCA,GA7BpBhC,cAAeD,EAAaiC,EAAgBjC,WAC5E0C,IAAgC,EAE7B,CACHR,iBAFcK,GAF6FN,EAAgBC,iBA6BtD3tF,EA3BX,CAAEyrF,WAAYA,EAAYC,cAAeyC,GAAgBlB,EA2BjCO,GAxBlF/B,WAAYA,EACZC,cAAeyC,IAwBX,GAAIrC,GAAyBoC,EAAuBP,iBAAkBN,GAClE,OAAOa,EAIPR,EAAkBU,GAAuBpC,GAAqBkC,EAAuBP,iBAAkBN,GAAWK,EAAiBL,SAK3IK,EAAkBU,GAAuBnC,EAAayB,EAAiBL,GAE3E,OAAOK,EAQX,SAASU,GAAuBC,EAAkBX,EAAiBL,GAC/D,IAAK,IAAI7/B,EAAK,EAAG8gC,EAAqBD,EAAkB7gC,EAAK8gC,EAAmB/uF,OAAQiuD,IAAM,CAC1F,IAAI+gC,EAAYD,EAAmB9gC,GACnCkgC,EAAgBC,iBAAmBX,GAAYU,EAAgBC,iBAAkBN,EAAUkB,GAE/F,OAAOb,EAOX,SAASc,GAAmB1uB,EAAMqsB,EAAMsC,GACpC,IAAIjC,EAAeD,GAAkBJ,GAAMK,aAG3C,OAAOM,GAAUhtB,EAAM0sB,EAAciC,GAFjBpC,GAAgBvsB,EAAMqsB,GACHD,GAAcpsB,EAAM0sB,KAO/D,SAASwB,GAAkBU,EAAmB1uF,EAAQstF,EAAcL,EAAKO,QACzD,IAARP,IAAkBA,EAAM,GAE5B,IAQI0B,EARAjD,EAAgB4B,EAAa5B,cAAeD,EAAa6B,EAAa7B,WACtEmD,EAAcpB,EAAc/B,GAA2B,EAAdA,EAY7C,OAXAkD,EAA2BnB,EACrBR,GAAY0B,EAAmB1uF,EAAQyrF,EAAYwB,IAlJNA,EAmJcA,EAhJ7D4B,EAAcnC,IADe,EAiJoBjB,EAlJ/BwB,OAAV,IAkJqDA,EAlJrC,EAE0BA,GAC/CH,GA+ImB4B,GA/IW,EA+IgBjD,EA/IbS,GA+IKlsF,EAAQyrF,GA/IuBoD,IAsJxEF,EALCjD,EAK0BsB,GAAY2B,EAA0B3uF,EAAQ0rF,GAH9C8C,GAAmBG,EAA0BC,EADhDvC,GAAgBrsF,EAAQyrF,IAYxD,SAASc,GAAkBJ,GACvB,OAAIA,IAAS3B,GAAcjlC,KAAO4mC,IAAS3B,GAAc5qB,OAC9C,CACH4sB,aAAchC,GAAcnlC,KAC5BonC,aAAcjC,GAAc7qB,OAIzB,CACH6sB,aAAchC,GAAcjlC,IAC5BknC,aAAcjC,GAAc5qB,QAQxC,SAASkvB,GAAoBnB,EAAkBoB,EAAY5B,GACvD,OAAIA,GACAt9E,KAAKm/E,IAAIpC,GAA2Be,EAAkBR,EAAQ4B,IAC1Dl/E,KAAKm/E,IAAIpC,GAA2Be,EAAkBR,GAAsB,EAAd4B,KAC7C,EAAdA,EAEJA,EAmEX,SAASE,GAAexD,EAAYzrF,EAAQ+rF,GACxC,IAAImD,EAAe7C,GAAgBrsF,EAAQyrF,GACvC0D,EAAiB9C,GAAgBN,EAAcN,GAC/CxhC,EAAKsiC,GAAkBd,GAAae,EAAeviC,EAAGuiC,aAAcC,EAAexiC,EAAGwiC,aAC1F,OAAIyC,GAAgBC,EACT3C,EAGAC,EAoDf,SAAS2C,GAAyB/wC,GAC1BgxC,EAAahxC,EAAQixC,wBACzB,OAAO,IAAI5vB,GAAU2vB,EAAWhqC,KAAMgqC,EAAW1vB,MAAO0vB,EAAW9pC,IAAK8pC,EAAWzvB,QAEvF,SAAS2vB,GAAuBzvB,GAC5B,OAAO,IAAIJ,GAAUI,EAAKza,KAAMya,EAAKH,MAAOG,EAAKva,IAAKua,EAAKF,QA6D/D,SAAS4vB,GAAyBzrE,EAAO2qE,EAAmB3C,EAAc0D,GACtE,IApHkCf,EAAmB1uF,EAAqCutF,EAoHtFN,EAAMlpE,EAAM2rE,UAA4B,EACxCC,EA7DR,SAAwBxC,EAAQntF,GAC5B,IAKQ4vF,EAUIvqC,EAEAwqC,EACAlwB,EAjBZ,GAAI3/D,GAqBA,IAAK8rF,GAjBD8D,EAFE5vF,EAAOyb,eAES,IAAIikD,GADb1/D,EAC0Bw/B,QAD1Bx/B,EACsCw/B,QADtCx/B,EACkDy/B,QADlDz/B,EAC8Dy/B,SAGhEz/B,EAAOsvF,sBACIF,GAAyBpvF,IAMvCqlD,EAFcrlD,EAEKqlD,MAFLrlD,EAEyBsjB,EAEvCusE,EAJc7vF,EAIMulD,KAJNvlD,EAIyB4B,EACvC+9D,EALc3/D,EAKM2/D,OAASta,EAC7Bua,EANc5/D,EAMO4/D,QAAUiwB,EACjB,IAAInwB,GAAUra,EAAMsa,EAAOkwB,EAAOjwB,IAETutB,GAE3C,IADA,IACS3/B,EAAK,EAAGsiC,EADC9D,GAAqB4D,EAAiBzC,GACV3/B,EAAKsiC,EAAcvwF,OAAQiuD,IAAM,CAC3E,IAAI+gC,EAAYuB,EAActiC,GAC9BoiC,EAAgBpF,GAAc+D,IAAcpB,EAAO3C,GAAc+D,UAKzEqB,EAAkB,IAAIlwB,GAAU,EAAG,EAAG,EAAG,GAE7C,OAAOkwB,EA2BUG,CAAehE,EAAchoE,EAAM/jB,QAChDstF,GAhKkB0C,EAgKgCjsE,EAAMisE,gBAhKrBC,EAgKsClsE,EAAMksE,sBAhKrBR,EAgK4CA,OA/JlF,IAApBO,IAA8BA,EAAkBvF,GAAgBQ,gBAuB7CqC,EAtBnBmC,EACO,CACH/D,cAAe+D,EAAkB/D,cACjCC,OAAQ8D,EAAkB9D,OAC1BF,WAAYgE,EAAkBhE,aAGlCyE,EAAsBlxF,GAAS,GAAI6sF,GAAsBmE,IACzD5hC,MAEI8hC,EAAoBxE,eAAiBwE,EAAoBxE,cAAgB,GAAM,IAC/EwE,EAAoBxE,eAAqD,EAArCwE,EAAoBxE,oBAE3BtiC,IAA1B6mC,EAAsCpE,GAAsBoE,GAAyBC,GAEzFA,GAO8BlwF,EAwIyF2vF,EAxIjF5D,EAwI6FA,EAAchoE,EAAMypE,YAxItFC,EAwImG1pE,EAAM0pE,gBAvI7KH,EAAa3B,SACb2B,EAAa5B,cAAgBuD,GAAe3B,EAAa7B,WAAYzrF,EAAQ+rF,IAEjFuB,EAAaG,gBAAkBA,EACxBH,GAoIH6C,GAvH8BzB,EAuHmBU,GAAyBV,GAvHzB1uF,EAuH6C2vF,EAvHrCtC,EAuHiDtB,EAvHvCuB,EAuHqDA,EAvHvCL,EAuHqDA,EAvHhDM,EAuHqDxpE,EAAMwpE,qBAvHrCC,EAuH2DzpE,EAAMypE,YArH7K1B,GADA6C,EAA2BX,GAAkBU,EAAmB1uF,EAAQstF,EAAcL,EAAKO,GACxCH,GAC5C,CACHM,iBAAkBgB,EAClBlD,WAAY6B,EAAa7B,WACzBC,cAAe4B,EAAa5B,eAIzB0B,GAAuBsB,EAAmB1uF,EAAQqtF,EAAUC,EAAcL,EAAKM,EAAsBC,IA8GhH,OAAOxuF,GAASA,GAAS,GAAImxF,GAAoB,CAAEP,gBAAiBD,IAExE,SAASS,GAAsBD,EAAmBE,EAAalD,EAAQK,EAAa8C,GAChF,IAhM8B3C,EAAkB0C,EAAa5E,EAAY0B,EAAQzB,EAiMjF,MAAO,CACH6E,iBAlM0B5C,EAgMkBwC,EAAkBxC,iBAhMlB0C,EAgMoCA,EAhMvB5E,EAgMoC0E,EAAkB1E,WAhM1C0B,EAgMsDA,EAhM9CzB,EAgMsDyE,EAAkBzE,cAhMzD8B,EAgMwEA,EAhM3D8C,EAgMwEA,EA/LjLjyD,EAAc,GACdwuD,EAAWuC,GAAyBiB,GAEpCG,EAAoBhG,GADpBoE,EAAcpB,EAAc/B,GAA2B,EAAdA,GAEzCsD,EAAarD,GAAgCa,GAAkBd,GAAYe,aAC1E8D,IACDvB,EAAaD,GAAoBnB,EAAkBoB,EAAY5B,IAEnE9uD,EAAYmyD,GAAqB5D,GAA2Be,EAAkBd,EAAU+B,GACxFvwD,EAAYmsD,GAAcuE,IAAenC,GAA2Be,EAAkBd,EAAUkC,GACzF1wD,GAwLHotD,WAAY0E,EAAkB1E,WAC9BC,cAAeyE,EAAkBzE,eAUzC,SAAS+E,GAAiB1sE,EAAOssE,EAAaK,EAASjB,EAAmBa,GACtE,IAAIK,EAAY5sE,EAAM6sE,eAAgB7sE,EAAM4sE,WAAiB,EACzD1D,EA/LGp9E,KAAKghF,KA+LgCF,EAAAA,EA/LH,GA+LgB,GAAK5sE,EAAM2rE,UAA4B,GAC5FoB,EAAgB/sE,EACpB+sE,EAAcpB,SAAWzC,EACzB,IAnHmB0D,EAdyBI,EAiIxChF,EAAehoE,EAAMopE,OACnBoC,GAAuBxrE,EAAMopE,QAC7B,IAAIztB,GAAU,EAAGx8D,OAAO8tF,WAAar1B,KAAqB,EAAGz4D,OAAO+tF,aACtEd,EAAoBX,GAAyBsB,EAAeJ,EAAS3E,EAAc0D,GACnFyB,GAvHeP,EAuHgBA,EAtH/B3wF,GAD0BuwF,EAuHgBJ,GAtHjBP,gBAO2BpD,GAApDviC,EAAKsiC,GAAkBgE,EAAgB9E,aAA+Be,aAAcC,EAAexiC,EAAGwiC,aACtG0E,EAAkB9E,GAAgBrsF,EAAQuwF,EAAgB9E,YAC1D2F,EAAgB,IAAI1xB,GAAUixB,EAAY,EAAGJ,EAAgB5C,iBAAiBx9E,MAAQwgF,EAAY,EAAGA,EAAY,EAAGJ,EAAgB5C,iBAAiBv9E,OAASugF,EAAY,GAIzKzD,GADLmE,EAAe7C,GADf6C,EAAevE,GADXuE,EAAe,IAAI3xB,GAAU,EAAGixB,EAAW,EAAGA,IACmB,EAA9BJ,EAAgB9E,YAAkBkF,EAAY,IACP,EAA9BJ,EAAgB9E,WAAiB0F,EAAkBxE,GAA0BH,EAAc+D,EAAgB5C,mBACxHyD,EAAe5E,GAGxCU,GAAgBmE,EAAcD,EAAe3E,KACnD4E,EAAerE,GAAYqE,EAAcD,EAAe3E,IAHxD4E,EAAerE,GAAYqE,EAAcD,EAAe5E,GAKrD6E,GAoGHC,GAtIwCP,EAsIyBG,EAtIT/D,EAsIyBpB,EArIjFN,GAA2C,GADpB8E,EAsIuBJ,GArIjB1E,WAE7B8F,EAAgB,IAAI7xB,GAAU,EAAG6wB,EAAgB5C,iBAAiBx9E,MAAO,EAAGogF,EAAgB5C,iBAAiBv9E,QAC7GiuB,EAAc,GACd0wD,EAAaD,GAAoByB,EAAgB5C,iBAAkB4C,EAAgB7E,eAAgDa,GAAkBd,GAAYe,aAAcW,GACnL9uD,EAAYmsD,GAAciB,IAAeS,GAAc6E,EAAgBtF,GACvEptD,EAAYmsD,GAAcuE,IAAenC,GAA2BmE,EAAgBQ,EAAexC,GAC5F,CACHwB,gBAAiBvxF,GAAS,GAAIq/B,GAC9BmzD,YAAavC,GAAesB,EAAgB9E,WAAYsF,EAAgBQ,GACxE9F,WAAYA,IA4HhB,OAAOzsF,GAASA,GAAS,GAAIoxF,GAAsBD,EAAmBE,EAAatE,EAAchoE,EAAMypE,YAAa8C,IAA2B,CAAEe,aAAcC,IA0B5J,SAASG,GAAa1tE,EAAOssE,EAAa3B,EAAmBe,GAChE,OAxBOgB,GAwBc1sE,EAAOssE,EAAa3B,EAAmBe,GAxBY,GAgCrE,SAASiC,GAAa1xF,EAAQyrF,EAAYiE,EAAUvC,EAAQK,QAC9C,IAAbkC,IAAuBA,EAAW,GACtC,IAAIiC,EAAc3xF,EACd4xF,EAAgB5xF,EAChB6xF,EAAoB7xF,EAEpB8xF,EAAoB3E,EAClBoC,GAAuBpC,GACvB,IAAIztB,GAAU,EAAGx8D,OAAO8tF,WAAar1B,KAAqB,EAAGz4D,OAAO+tF,aAEtE5rC,EAAOwsC,EAAkBxsC,MAAQwsC,EAAkBvuE,EAEnDiiC,EAAMssC,EAAkBtsC,KAAOssC,EAAkBjwF,EACjD+9D,EAAQkyB,EAAkBlyB,OAASta,EACnCua,EAASiyB,EAAkBjyB,QAAUra,EAGrCoqC,EADEgC,EAAYpzD,gBACD,IAAImhC,GAAUiyB,EAAYnyD,QAASmyD,EAAYnyD,QAASmyD,EAAYlyD,QAASkyD,EAAYlyD,cAExF2pB,IAAT/D,QAA8B+D,IAAR7D,EACd,IAAIma,GAAUra,EAAMsa,EAAOpa,EAAKqa,GAGhCwvB,GAAyBwC,GAE1C,OAjHsChC,EAiHED,EAjH2BD,EAiHHA,EAjHavC,EAiHH2E,EAjHWtE,EAiHQA,EAhHzFuE,EAAY,EACZ/B,EAAkBnE,GAFiCJ,EAiHHA,GAzGhDzrF,EAASwtF,GAA4C,EAA9BwC,EAAgBvE,WAAkBuE,EAAgBvE,WAU1D,GARfsG,EADA/xF,IAAWwqF,GAAcjlC,IACb2mC,GAAc0D,EAAiBI,EAAgBvE,YAAc0B,EAAO5nC,IAAMmqC,EAEjF1vF,IAAWwqF,GAAc5qB,OAClButB,EAAOvtB,OAASssB,GAAc0D,EAAiBI,EAAgBvE,YAAciE,EAG7EvC,EAAOvtB,OAASgwB,EAAgBrqC,IAAMmqC,GAE/BqC,EAAY5E,EAAO/8E,OAwJvC,SAAS4hF,GAA0BhyF,EAAQiyF,GAC9C,OAlDJ,SAAoCjyF,EAAQiyF,GACxC,IAAIC,OAAW9oC,EAKf,QAAiBA,KAHb8oC,EADAD,EAAaE,kBACFF,EAAaE,oBAGxBD,IAA0BA,EAAS3yF,QAAU,EAC7C,MAAO,CACHgmD,IAAK,EACLF,KAAM,EACNsa,MAAOsyB,EAAajB,WACpBpxB,OAAQqyB,EAAahB,YACrB9gF,MAAO8hF,EAAajB,WACpB5gF,OAAQ6hF,EAAahB,aAI7B,IAAI3tE,EAAI,EACJ1hB,EAAI,EAEO,OAAX5B,GAAqBA,EAAOsvF,uBAE5BhsE,IADI+rE,EAAarvF,EAAOsvF,yBACRjqC,KAAOgqC,EAAW1vB,OAAS,EAC3C/9D,GAAKytF,EAAW9pC,IAAM8pC,EAAWzvB,QAAU,GAG3B,OAAX5/D,IAELsjB,EAAItjB,EAAOqlD,MAAQrlD,EAAOsjB,EAE1B1hB,EAAI5B,EAAOulD,KAAOvlD,EAAO4B,GAI7B,IAFA,IAAIurF,EAAS,CAAE5nC,IAAK,EAAGF,KAAM,EAAGsa,MAAO,EAAGC,OAAQ,EAAGzvD,MAAO,EAAGC,OAAQ,GAE9Do9C,EAAK,EAAG4kC,EAAaF,EAAU1kC,EAAK4kC,EAAW7yF,OAAQiuD,IAAM,CAClE,IAAI6kC,EAAUD,EAAW5kC,GACrBlqC,GAAK+uE,EAAQhtC,MAAQ/hC,GAAK+uE,EAAQ1yB,OAASr8C,GAAK1hB,GAAKywF,EAAQ9sC,KAAO3jD,GAAKywF,EAAQzyB,QAAUh+D,IAC3FurF,EAAS,CACL5nC,IAAK8sC,EAAQ9sC,IACbF,KAAMgtC,EAAQhtC,KACdsa,MAAO0yB,EAAQ1yB,MACfC,OAAQyyB,EAAQzyB,OAChBzvD,MAAOkiF,EAAQliF,MACfC,OAAQiiF,EAAQjiF,SAI5B,OAAO+8E,EAGAmF,CAA2BtyF,EAAQiyF,GCtoBvC,SAASM,GAAS7jE,GAIrB,IAAI5J,EAAM+oD,oBAQV,YAPoBzkB,IAAhBtkC,EAAIH,UAGJG,EAAIH,QAAU,CACVzjB,MAA+B,mBAAjBwtB,EAA8BA,IAAiBA,IAG9D5J,EAAIH,QAAQzjB,MClBhB,SAASsxF,KACZ,IAAIC,EAAQF,GAAS,WAAc,OAAO,IAAI38B,KAG9C,OADA0R,qBAAgB,WAAc,OAAO,WAAc,OAAOmrB,EAAM58B,YAAiB,CAAC48B,IAC3EA,ECAJ,SAASC,GAAMpoB,EAAQqoB,GAGtB7tE,EAAM+oD,kBAAa8kB,GAIvB,OAHK7tE,EAAIH,UACLG,EAAIH,QAAU0lD,GAAMC,IAEjBxlD,EAAIH,QCTR,SAASiuE,KAEZ,IADA,IAAI3uE,EAAO,GACFupC,EAAK,EAAGA,EAAKluD,UAAUC,OAAQiuD,IACpCvpC,EAAKupC,GAAMluD,UAAUkuD,GAEzB,IAAIqlC,EAAiBC,uBAAkB,SAAU5xF,GAE7C2xF,EAAeluE,QAAUzjB,EACzB,IAAK,IAAIssD,EAAK,EAAGulC,EAAS9uE,EAAMupC,EAAKulC,EAAOxzF,OAAQiuD,IAAM,CACtD,IAAI1oC,EAAMiuE,EAAOvlC,GACE,mBAAR1oC,EACPA,EAAI5jB,GAEC4jB,IAELA,EAAIH,QAAUzjB,KAGvB0B,EAAeqhB,IAClB,OAAO4uE,EClBJ,SAASG,GAAW30C,EAASya,EAAWnwC,EAAU6xC,GAErD,IAAIy4B,EAAcplB,kBAAallD,GAC/BsqE,EAAYtuE,QAAUgE,EACtB2+C,qBAAgB,WACZ,IAAIiqB,EAAgBlzC,GAAW,YAAaA,EAAUA,EAAQ15B,QAAU05B,EACxE,GAAKkzC,EAIL,OADc92B,GAAG82B,EAAez4B,EAAW,SAAUO,GAAM,OAAO45B,EAAYtuE,QAAQ00C,IAAQmB,IAE/F,CAACnc,EAASya,EAAW0B,ICdrB,SAAS04B,GAAYhyF,GACxB,IAAI4jB,EAAM6C,oBAIV,OAHAL,qBAAU,WACNxC,EAAIH,QAAUzjB,IAEX4jB,EAAIH,QCDQ,SAAZwuE,KAA0B,OAAO9rB,sBAAiB+rB,IAAelwF,OAInD,SAAdmwF,KAA4B,IAAIppC,EAAI,OAAyD,QAAjDA,EAAKod,sBAAiB+rB,IAAelwF,cAA2B,IAAP+mD,OAAgB,EAASA,EAAGz5C,SCTrI,IDDI4iF,GAAgBjuB,yBAAoB,CAC3CjiE,OAA0B,iBAAXA,OAAsBA,YAASkmD,IEK3C,SAASkqC,GAAUtzF,EAAQqwF,GAC9B,IAAIkD,EAAqB1lB,oBACrB2lB,EAAY3lB,kBAAa,MAKzBokB,EAAekB,KA0BnB,OAtBKnzF,GAAUA,IAAWuzF,EAAmB5uE,SAA6B,iBAAX3kB,IACvDgoE,EAAiBqoB,MAAAA,OAAiD,EAASA,EAAY1rE,QACvF3kB,IACsB,iBAAXA,GACHyzF,EAAar4B,GAAY4M,GAC7BwrB,EAAU7uE,QAAU8uE,EAAaA,EAAWpmC,cAAcrtD,GAAU,QAE/D,oBAAqBA,MAGrB,0BAA2BA,IAG3B,YAAaA,EAClBwzF,EAAU7uE,QAAU3kB,EAAO2kB,QAN3B6uE,EAAU7uE,QAAU3kB,GAY5BuzF,EAAmB5uE,QAAU3kB,GAE1B,CAACwzF,EAAWvB,GCHvB,SAASyB,GAAqBtkE,GAC1B,IAAIukE,EAAkBvkE,EAAQukE,gBAAiBC,EAAgBxkE,EAAQwkE,cACnED,GAAmBC,GAAiBD,IAAoBj+B,MAMxD3jD,WAAW,WACP,IAAIk4C,EAC6B,QAAhCA,EAAK0pC,EAAgBr0C,aAA0B,IAAP2K,GAAyBA,EAAGzrD,KAAKm1F,IAC3E,GAGX,SAASE,GAAgB9vE,EAAO+vE,GAC5B,IAAI7pC,EAAKlmC,EAAMgwE,eAAgBA,OAAwB,IAAP9pC,EAAgBypC,GAAuBzpC,EACnF+pC,EAAyBnmB,oBACzB+lB,EAAgB/lB,mBAAa,GACjCvG,qBAAgB,WpDgLb,IAAiCjpB,EAChC7tC,EoD5KA,OAJAwjF,EAAuBrvE,QAAUy2C,KAAcjtC,cpD+KfkwB,EoD9KJy1C,EAAKnvE,SpDgLjCsvE,GADAzjF,EAAW4qD,GAAY/c,KACY7tC,EAAS2d,gBACpB4yC,GAAgB1iB,EAAS41C,KoDhL7CL,EAAcjvE,SAAU,GAErB,WACH,IAAIslC,EACJ8pC,MAAAA,GAAgEA,EAAe,CAC3EJ,gBAAiBK,EAAuBrvE,QACxCivE,cAAeA,EAAcjvE,QAC7BuvE,uBAAiD,QAAxBjqC,EAAKmR,YAAkC,IAAPnR,OAAgB,EAASA,EAAGkqC,cAAe,IAGxGH,EAAuBrvE,aAAUykC,IAGtC,IACH4pC,GAAWc,EAAM,QAAShB,uBAAkB,WACxCc,EAAcjvE,SAAU,GACzB,KAAK,GACRquE,GAAWc,EAAM,OAAQhB,uBAAkB,SAAUz5B,GAS7Cy6B,EAAKnvE,SAAW00C,EAAGn5B,gBAAkB4zD,EAAKnvE,QAAQkgC,SAASwU,EAAGn5B,iBAC9D0zD,EAAcjvE,SAAU,IAG7B,KAAK,GA0BL,ICrHHslC,GDqHOmqC,GAAQzmB,sBAAiB,SAAU5pD,EAAO6pD,GAGjD7pD,EAAQ/kB,GAAS,CAAEq1F,oBAAoB,GAAQtwE,GAC/C,IA3BIuwE,EA2BAR,EAAOjmB,oBACP0mB,EAAgB3B,GAAckB,EAAMlmB,GA5BpC0mB,EA6BgBvwE,EA7BO,cAC3BujD,qBAAgB,WACZ,IAAIktB,EAAiBp5B,KACrB,GAAIk5B,GAAkBE,EAAgB,CAGlC,IAFA,IAAItvE,EAAWsvE,EAAe9yF,KAAKwjB,SAC/BuvE,EAAgB,GACXr1F,EAAI,EAAGA,EAAI8lB,EAAS3lB,OAAS,EAAGH,IACrCq1F,EAAc9xF,KAAKuiB,EAAS9lB,IAShC,OAPAq1F,EAAgBA,EAAcxsF,OAAO,SAAU4vB,GAC3C,MAAyB,aAAlBA,EAAMqe,SACS,WAAlBre,EAAMqe,SACY,UAAlBre,EAAMqe,UACLre,EAAM6uB,aAAa,kBAEd3uC,QAAQ,SAAU2B,GAAQ,OAAOA,EAAKwR,aAAa,cAAe,UACzE,WAAc,OAAOupE,EAAc18E,QAAQ,SAAU8f,GAAS,OAAOA,EAAM5M,gBAAgB,oBAEvG,CAACqpE,IAYJT,GAAgB9vE,EAAO+vE,GACvB,IAxHuB/vE,EAAO+vE,EAC1BrB,EAC4BiC,EAAqCC,EAsHjEC,EAAO7wE,EAAM6wE,KAAM1pC,EAAYnnC,EAAMmnC,UAAW2pC,EAAY9wE,EAAM8wE,UAAWC,EAAiB/wE,EAAM+wE,eAAgBC,EAAkBhxE,EAAMgxE,gBAAiBhhE,EAAQhQ,EAAMgQ,MAAO7O,EAAWnB,EAAMmB,SAAU8vE,EAAYjxE,EAAMixE,UAC/NC,GAzHmBlxE,EAyHwBA,EAzHjB+vE,EAyHwBA,EAxHlDrB,EAAQD,KACRvoC,EAAKmd,qBAAe,GAAQstB,EAA8BzqC,EAAG,GAAI0qC,EAA4B1qC,EAAG,GACpGqd,qBAAgB,WA4BZ,OA3BAmrB,EAAMnqE,sBAAsB,WACxB,IAKI2sE,EAWIC,EACAC,EAfJpxE,EAAMgQ,OAAShQ,EAAMgQ,MAAMsoC,YAG3B44B,GAAyB,EACzBnB,GAAQA,EAAKnvE,SAAoC,QAAvBslC,EAAK6pC,EAAKnvE,eAA4B,IAAPslC,GAAyBA,EAAGof,oBAUjF6rB,EAAapB,EAAKnvE,QAAQywE,aAC1BD,EAAmBrB,EAAKnvE,QAAQ0kD,kBAAkB+rB,aACrC,EAAbF,GAAqCA,EAAnBC,IAClBF,EAAyD,EAAhCE,EAAmBD,IAGhDR,IAAgCO,GAChCN,EAA0BM,MAG3B,WAAc,OAAOxC,EAAM58B,aAE/B6+B,GAyFHW,EAAYvC,uBAAkB,SAAUz5B,GAEhCA,EAAGv0B,QACF26B,IACGu1B,IACAA,EAAU37B,GACVA,EAAG59C,iBACH49C,EAAG96B,oBAIhB,CAACy2D,IAGJ,OADAhC,GADUG,KACM,UAAWkC,GACnBpvB,yBAAoB,MAAOjnE,GAAS,CAAE8lB,IAAKyvE,GAAiBnpB,GAAernD,EAAOonD,IAAgB,CAAEjgB,UAAWA,EAAW0pC,KAAMA,EAAMU,aAAcT,EAAWU,kBAAmBT,EAAgBU,mBAAoBT,EAAiBM,UAAWA,EAAWthE,MAAO/0B,GAAS,CAAEq9D,UAAW44B,EAAyB,cAAW7rC,EAAWu3B,QAAS,QAAU5sD,KAAW7O,KCnI/WuwE,KAAcxrC,GAAK,IAChBugC,GAAcjlC,KAAO6kC,GAAoBxX,YAC5C3oB,GAAGugC,GAAc5qB,QAAUwqB,GAAoBtX,cAC/C7oB,GAAGugC,GAAcnlC,MAAQ+kC,GAAoB5X,cAC7CvoB,GAAGugC,GAAc7qB,OAASyqB,GAAoBjY,eAC9CloB,IACAyrC,GAAgB9zB,GAAmB,CACnCM,gBAAgB,IAEhByzB,GAA8B,EAA9BA,GAAuC,EAMvCC,GAAmB,CAAE/iE,QAAS,EAAG5qB,OAAQ,aAAc6sE,cAAe,QAItE+gB,GAAuB,CAAC,OAAQ,wBAChCC,GAAgB,CAChBC,2BAA2B,EAC3BC,wBAAwB,EACxBC,wBAAwB,EACxBrF,eAAe,EACfD,UAAW,GACXjB,SAAU,EACVwG,eAAgB,EAChBlG,gBAAiBvF,GAAgBQ,gBAkHrC,SAASkL,GAAapyE,EAAOssE,EAAa+F,EAAgB5C,EAAW6C,GACjE,IAAIpsC,EAAKmd,sBAAkBkvB,EAAYrsC,EAAG,GAAIssC,EAAetsC,EAAG,GAC5DusC,EAAmB3oB,kBAAa,GAChC4kB,EAAQD,KACRiE,EAAS1yE,EAAM0yE,OAAQz2F,EAAS+jB,EAAM/jB,OAAQ02F,EAAc3yE,EAAM2yE,YAAaC,EAAe5yE,EAAM4yE,aAAc3G,EAAkBjsE,EAAMisE,gBA8C9I,OA7CA1oB,qBAAgB,WACZ,IAAKmvB,EAAQ,CACT,IAAIG,EAAYnE,EAAMnqE,sBAAsB,WAGxC,IAKQuuE,EX4YexG,EAAa3B,EWhZhC2B,EAAY1rE,SAAWyxE,EAAezxE,aADpB3kB,GACkDwzF,EAAU7uE,WAC1Eu5C,EAAel/D,GAASA,GAAS,GAAI+kB,GAAQ,CAAE/jB,OAAQwzF,EAAU7uE,QAASwoE,OAAQkJ,MAGlFQ,EAAeH,EACbjF,GAAavzB,EAAcmyB,EAAY1rE,QAASyxE,EAAezxE,QAAS2xE,IX2Y3DjG,EW1YiBA,EAAY1rE,QX0YhB+pE,EW1YyB0H,EAAezxE,QX2YjF8rE,GW3Y+BvyB,EX2YPmyB,EAAa3B,EW3YqD4H,KAG3EA,GAAaO,GACdP,GAAaO,IAmOAC,EAnO8CD,GAoOxEE,IADeT,EAnO8CA,GAoOlC/F,gBAAiBuG,EAAYvG,mBAC5DwG,GAAiBT,EAAUjF,aAAad,gBAAiBuG,EAAYzF,aAAad,mBArOWiG,EAAiB7xE,QAAU,GAGxG6xE,EAAiB7xE,UACjB4xE,EAAaM,IAEmB,EAA3BL,EAAiB7xE,UAEtB6xE,EAAiB7xE,QAAU,EAC3BgyE,MAAAA,GAA4DA,EAAaL,MAGlFF,EAAezxE,SAClB,OAAO,WAAc,OAAO8tE,EAAMpqE,qBAAqBuuE,MAE5D,CACCH,EACAzG,EACAyC,EACA2D,EACA/F,EACAmD,EACAkD,EACAL,EACAM,EACAL,EACAvyE,EACA/jB,IAEGs2F,EAKX,SAASU,GAAa/sC,EAAIqsC,EAAWF,GACjC,IAAIK,EAASxsC,EAAGwsC,OAAQQ,EAAkBhtC,EAAGgtC,gBACzCxE,EAAQD,KACR0E,IAAiBZ,EACrBhvB,qBAAgB,WACZ,IAAKmvB,GAAUQ,GAAmBC,GAAgBd,EAAezxE,QAAS,CACtE,IAAIwyE,EAAY1E,EAAMnqE,sBAAsB,WAAc,SrDxJ9D+1B,EAAU8qB,GADcxT,EqDyJ6DygC,EAAezxE,QrDxJ9DgxC,GAAa,GAAM,GAAO,GAAO,MAEvEuU,GAAW7rB,IACJ,GAJR,IAAyBsX,GqDyJyFygC,EAAezxE,SAC5H,OAAO,WAAc,OAAO8tE,EAAMpqE,qBAAqB8uE,MAE5D,CAACV,EAAQS,EAAczE,EAAO2D,EAAgBa,IAKrD,SAASG,GAAmBntC,EAAIqsC,EAAWjG,EAAamD,EAAWvB,GAC/D,IAAIwE,EAASxsC,EAAGwsC,OAAQzB,EAAY/qC,EAAG+qC,UAEvCgB,EAAyB/rC,EAAG+rC,uBAE5BC,EAAyBhsC,EAAGgsC,uBAE5BF,EAA4B9rC,EAAG8rC,0BAA2BsB,EAAuBptC,EAAGotC,qBAAsBC,EAA6BrtC,EAAGqtC,2BAA4BC,EAAwBttC,EAAGstC,sBAC7LC,EAAqB3pB,mBAAa,GAClC4kB,EAAQD,KACRiF,EAAoBlF,GAAS,CAC7B,WACIiF,EAAmB7yE,SAAU,GAEjC,WACI6yE,EAAmB7yE,SAAU,KAGjC+yE,IAAoBpB,EAqFxB,OApFAhvB,qBAAgB,WACU,SAAlBqwB,EAA4Bt+B,GACxBq+B,IAAoB1B,GACpB4B,EAAuBv+B,GAGT,SAAlBw+B,EAA4Bx+B,GACvB48B,GACDjB,MAAAA,GAAsDA,EAAU37B,GAG/C,SAArBy+B,EAA+Bz+B,GAC1B08B,GACD6B,EAAuBv+B,GAqBC,SAA5B0+B,EAAsC1+B,GAEjCi+B,MAGCC,GAA0BA,EAAsBl+B,MAChDk+B,GAA0BxB,IAC1B9D,MAAAA,GAA4DA,EAAazhF,SAAS2jF,YAC/D,OAArB96B,EAAGn5B,eACH80D,MAAAA,GAAsDA,EAAU37B,IA1CxE,IAeIu+B,EAAyB,SAAUv+B,GACnC,IAAIr5D,EAASq5D,EAAGr5D,OACZg4F,EAA8B3H,EAAY1rE,UAAYo8C,GAAgBsvB,EAAY1rE,QAAS3kB,GAE3Fg4F,GAA+BR,EAAmB7yE,QAClD6yE,EAAmB7yE,SAAU,IAG3B6uE,EAAU7uE,SAAWqzE,GACtB3+B,EAAGr5D,SAAWiyF,GACX+F,KACExE,EAAU7uE,SACR,oBAAqB6uE,EAAU7uE,SAC/B0yE,GACCr3F,IAAWwzF,EAAU7uE,UAAYo8C,GAAgByyB,EAAU7uE,QAAS3kB,MAC7Eg1F,MAAAA,GAAsDA,EAAU37B,IAmBpE4+B,EAAqB,IAAIn3F,QAAQ,SAAUC,GAC3C0xF,EAAM1gF,WAAW,WACb,IACQmmF,GADHzB,GAAUxE,IACPiG,EAAgB,CAChBz9B,GAAGw3B,EAAc,SAAU0F,GAAiB,GAC5Cl9B,GAAGw3B,EAAc,SAAU4F,GAAiB,GAC5Cp9B,GAAGw3B,EAAazhF,SAASylC,gBAAiB,QAAS6hD,GAAoB,GACvEr9B,GAAGw3B,EAAazhF,SAASylC,gBAAiB,QAAS6hD,GAAoB,GACvEr9B,GAAGw3B,EAAc,OAAQ8F,GAA2B,IAExDh3F,EAAQ,WACJm3F,EAAcngF,QAAQ,SAAU89C,GAAW,OAAOA,UAG3D,KAEP,OAAO,WACHoiC,EAAmBz2F,KAAK,SAAUq0D,GAAW,OAAOA,QAEzD,CACC4gC,EACAhE,EACApC,EACAmD,EACAvB,EACA+C,EACAsC,EACAD,EACAtB,EACAE,EACAD,EACA0B,EACAH,IAEGE,EAEX,IACWU,GAAqB9pB,gBAAWV,sBAAiB,SAAUY,EAAsBX,GACxF,IA7RmB4lB,EAAWvB,EAC1B9E,EAA4C+I,EAAoEl2F,EAChHo4F,EAwBkB5E,EAAW6C,EAC7B1F,EAA0BnD,EAA8BwC,EAAsCzC,EAAgDmC,EAAwBkB,EAAkC6F,EACjL1E,EAAmBsG,EAC1C5F,EAGAv0D,EAwCqBk4D,EACrBM,EAA8BD,EACgB6B,EAC9C7F,EACA8F,EACAC,EAgNAz0E,EAAQuqD,GAAqBwnB,GAAevnB,GAC5CpZ,EAASpxC,EAAMoxC,OAAQphC,EAAQhQ,EAAMgQ,MAAO8gE,EAAY9wE,EAAM8wE,UAAWE,EAAkBhxE,EAAMgxE,gBAAiBD,EAAiB/wE,EAAM+wE,eAAgB5pC,EAAYnnC,EAAMmnC,UAAW0lC,EAAgB7sE,EAAM6sE,cAAe1rE,EAAWnB,EAAMmB,SAAUyrE,EAAY5sE,EAAM4sE,UAAW8H,EAAe10E,EAAM00E,aAAcC,EAAkB30E,EAAM20E,gBAAiBC,EAAkB50E,EAAM40E,gBAAiBjC,EAAc3yE,EAAM2yE,YAAazsC,EAAKlmC,EAAM60E,aAAcA,OAAsB,IAAP3uC,IAAkBysC,EAAczsC,EAAI4uC,EAAkB90E,EAAM80E,gBAAiBC,EAAmB/0E,EAAM+0E,iBAAkBC,EAAWh1E,EAAMg1E,SAE9lB7lC,EAAKnvC,EAAMswE,mBAEXA,OAA4B,IAAPnhC,GAAuBA,EAAIlzD,EAAS+jB,EAAM/jB,OAAQy2F,EAAS1yE,EAAM0yE,OAAQuC,EAAiBj1E,EAAMi1E,eACjH3I,EAAcxiB,kBAAa,MAC3BuoB,EAAiBvoB,kBAAa,MAC9BvB,GAAUsmB,GAAcvC,EAAaziB,GACrCwS,GAAKkT,GAAUvvE,EAAM/jB,OAAQo2F,GAAiB5C,EAAYpT,GAAG,GAAI6R,EAAe7R,GAAG,GACnFiW,GAvSe7C,EAuScA,EAvSHvB,EAuScA,EAtSxC9E,EAsSsBppE,EAtSVopE,OAAQj6B,EAsSEnvC,EAtSMmyE,eAAgBA,OAAwB,IAAPhjC,EAAgB4iC,GAAcI,eAAiBhjC,EAAIlzD,EAsS1F+jB,EAtSsG/jB,OAC5Ho4F,EAAevqB,oBACHilB,uBAAkB,WAC9B,IACQmG,EAcR,OAfKb,EAAazzE,YACVs0E,EAAkC,mBAAX9L,EAAyB8E,EAAe9E,EAAOntF,EAAQiyF,QAAgB7oC,EAAa+jC,IACzF8E,IAElBgH,EAAgB,CACZ1zC,KAFJ0zC,EAAgBjH,GAA0BwB,EAAU7uE,QAASstE,IAEtC1sC,IAAM2wC,EACzB7wC,KAAM4zC,EAAc5zC,KAAO6wC,EAC3Bv2B,MAAOs5B,EAAct5B,MAAQu2B,EAC7Bt2B,OAAQq5B,EAAcr5B,OAASs2B,EAC/B/lF,MAAO8oF,EAAc9oF,MAAyB,EAAjB+lF,EAC7B9lF,OAAQ6oF,EAAc7oF,OAA0B,EAAjB8lF,IAGvCkC,EAAazzE,QAAUs0E,GAEpBb,EAAazzE,SACrB,CAACwoE,EAAQ+I,EAAgBl2F,EAAQwzF,EAAWvB,KAoR3CF,IA9Qc9nC,EA8QWlmC,EA9QPyvE,EA8QcA,EA9QH6C,EA8QcA,EA7Q3C1F,EA6QyB5sE,EA7QV4sE,UAAWnD,EA6QDzpE,EA7QkBypE,YAAawC,EA6Q/BjsE,EA7QoDisE,gBAAiBzC,EA6QrExpE,EA7Q+FwpE,qBAAsBmC,EA6QrH3rE,EA7QmI2rE,SAAUkB,EA6Q7I7sE,EA7QgK6sE,cAAe6F,EA6Q/K1yE,EA7Q2L0yE,OAC7L1E,GAAvB7+B,EAAKkU,uBAAiC,GAAIixB,EAAenlC,EAAG,GAC5Du/B,EAAQD,KAGRt0D,EAAgBs1D,EAAU7uE,QAC9B2iD,qBAAgB,WACZ,IAAIrd,EAKQivC,EAJPnH,GAAc0E,EAeVA,GACL4B,OAAajvC,GAfTmkC,GAAwBrvD,GAGpBg7D,GAAcxJ,MAAAA,EAA2CA,EAAW,IAAMkB,GAAiBD,EAAYA,EAAY,GACvH8B,EAAMnqE,sBAAsB,WACpBkrE,EAAU7uE,SACV0zE,EAAa3G,GAAa8B,EAAU7uE,QAASqrE,EAAiBkJ,EAAY7C,IAAa7I,OAK/F6K,EAAoC,QAAtBpuC,EAAKosC,WAAgC,IAAPpsC,OAAgB,EAASA,EAAG75C,SAMjF,CACCojF,EACAt1D,EACAwxD,EACAiB,EACA0F,EACAI,EACAhE,EACAjF,EACAwC,EACAzC,EACAqD,EACAmB,IAEGA,GAsOHoH,GAjOqB/C,EAiOiBA,EAhOtCM,GADiBzsC,EAiOclmC,GAhOd2yE,YAAaD,EAASxsC,EAAGwsC,OAC1CvjC,EAAKkU,oBAAe,GAAI+xB,EAAejmC,EAAG,GAAIolC,EAAkBplC,EAAG,GACnEu/B,EAAQD,KACR+F,EAAuB1qB,oBACvB2qB,EAA4B1F,uBAAkB,WAC1CsD,EAAezxE,SAAW+xE,IAC1B6B,EAAqB5zE,QAAU8tE,EAAMnqE,sBAAsB,WACvD,IAOI8wE,EANAC,EAAoD,QAAjCpvC,EAAKmsC,EAAezxE,eAA4B,IAAPslC,OAAgB,EAASA,EAAGn5B,UACvFuoE,IAKDD,EAFmBC,EAAgBC,aAClBD,EAAgB9vB,aAErC+uB,EAAgB,SAAUiB,GAAuB,OAAOA,EAAsBH,IAC1EC,EAAgB9vB,aAAemtB,EAC/B8B,IAGA/F,EAAMpqE,qBAAqBkwE,EAAqB5zE,QAASyxE,EAAezxE,WAE7EyxE,EAAezxE,WAEvB,CAAC8tE,EAAO2D,EAAgBM,IAC3BpvB,qBAAgB,WACPmvB,GACD+B,KAEL,CAAC9B,EAAaD,EAAQ+B,IAClBW,GAmMH7C,EAAYH,GAAapyE,EAAOssE,EAAa+F,EAAgB5C,EAAW6C,GACxEhW,EAAK+W,GAAmBrzE,EAAOuyE,EAAWjG,EAAamD,EAAWvB,GAAeuH,EAAmBnZ,EAAG,GAAIoZ,EAAiBpZ,EAAG,GASnI,GARA2W,GAAajzE,EAAOuyE,EAAWF,GAC/B9uB,qBAAgB,WACPmvB,GACDuC,MAAAA,GAAgEA,KAGrE,CAACvC,KAECxE,EACD,OAAO,KAEPyH,EAAsB3H,GAAYA,GAAYoH,OAAe/vC,EAC7DuwC,EAAmBb,GAAoBY,GAAuBZ,EAAmBY,EAC/EZ,EACAY,EAEFE,EAAchJ,KAAmB5wF,EACjCwhF,EAAakU,GAAcvgC,EAAQ,CACnC33C,MAAOuG,EAAMvG,MACb0tC,UAAWA,EACX2uC,gBAAiBA,EACjBpB,aAAcA,EACdnC,UAAWA,EACX3F,UAAWA,EACXkI,gBAAiBA,EACjBH,gBAAiBA,EACjBC,gBAAiBA,IAEjBmB,EAAgB96F,GAASA,GAASA,GAAS,GAAI+0B,GAAQ,CAAEg+D,UAAW4H,IAAsBE,GAAmB,CAAEx9B,UAAW,WAC1H09B,EAAkBh2E,EAAM0yE,OAAS,CAAE5mB,WAAY,eAAazmB,EAUhE,OARe6c,yBAAoB,MAAO,CAAEnhD,IAAKwnD,GAASphB,UAAWs2B,EAAWwY,UAAWjmE,MAAOgmE,GAC9F9zB,yBAAoB,MAAOjnE,GAAS,GAAIosE,GAAernD,EAAOonD,GAAe0qB,IAAuB,CAAE3qC,UAAWyY,GAAI6d,EAAWsS,KAAMwC,GAAaA,EAAU7K,YAAcgK,GAAWa,EAAU7K,aAAc13D,MAAOuiE,EAAYA,EAAU/F,gBAAkBqF,GAGzPjsB,UAAW,EAAG7kD,IAAKsxE,IACnBwD,GAAe3zB,yBAAoB,MAAO,CAAE/a,UAAWs2B,EAAWyY,KAAMlmE,MAYpF,SAAyBuiE,GAEjB4D,EAAoBl7F,GAAS,GAA4F,QAAvFirD,EAAKqsC,MAAAA,OAA6C,EAASA,EAAUjF,oBAAiC,IAAPpnC,OAAgB,EAASA,EAAGsmC,iBAC5J2J,EAAkB30C,KAAQ20C,EAAkBt6B,QAAWs6B,EAAkB70C,MAAS60C,EAAkBv6B,QACrGu6B,EAAkB70C,KAAOswC,GACzBuE,EAAkB30C,IAAMowC,IAE5B,OAAOuE,EAnBgFC,CAAgB7D,KAC/FsD,GAAe3zB,yBAAoB,MAAO,CAAE/a,UAAWs2B,EAAW4Y,cAClEn0B,yBAAoBmuB,GAAOp1F,GAAS,GAAIosE,GAAernD,EAAO8xE,IAAuB,CAAEhB,UAAWA,EAAWd,eAAgBhwE,EAAMgwE,eAAgBgB,gBAAiBA,EAAiBD,eAAgBA,EAAgB5pC,UAAWs2B,EAAW6Y,YAAarF,UAAWjxE,EAAMixE,UAAW+D,SAAUA,EAAU1E,mBAAoBA,EAAoBtgE,MAAO+lE,EAAeQ,YAAad,EAAkBe,UAAWd,IAAmBv0E,OAE3a,SAAUs1E,EAAeC,GACzB,QAAKA,EAAUC,yBAA0BF,EAAc/D,SAAUgE,EAAUhE,SAIpEj+B,GAAegiC,EAAeC,KAgBzC,SAAS1D,GAAiB4D,EAAc9D,GACpC,IAAK,IAAI52F,KAAO42F,EACZ,GAAIA,EAAat4F,eAAe0B,GAAM,CAClC,IAAI26F,EAAkBD,EAAa16F,GAC/B46F,EAAkBhE,EAAa52F,GACnC,QAAwBmpD,IAApBwxC,QAAqDxxC,IAApByxC,EAMjC,OAAO,EALP,GAAID,EAAgB56B,QAAQ,KAAO66B,EAAgB76B,QAAQ,GACvD,OAAO,EAQvB,OAAO,EA7BXm4B,GAAmB/qE,YAhEE,qBC/TrB,IAAI0tE,GAAmB,CACnBd,UAAW,uBACXlG,KAAM,aACNmG,KAAM,kBACNG,YAAa,yBACbC,YAAa,mBCTNU,GAAiBztB,GAAO6qB,GDWZ,SAAUp0E,GAC7B,IACIvG,EAAQuG,EAAMvG,MAAO0tC,EAAYnnC,EAAMmnC,UAAW2uC,EAAkB91E,EAAM81E,gBAAiBpB,EAAe10E,EAAM00E,aAAc9H,EAAY5sE,EAAM4sE,UAAWkI,EAAkB90E,EAAM80E,gBAAiBH,EAAkB30E,EAAM20E,gBAAiBC,EAAkB50E,EAAM40E,gBACrQnX,EAAaI,GAAoBkZ,GAAkBt9E,GACnDqsE,EAAiBrsE,EAAMqsE,eAAgBt3C,EAAU/0B,EAAM+0B,QAC3D,MAAO,CACHynD,UAAW,CACPxY,EAAWwY,UACX,CACIna,SAAU,aAGlBiU,KAAM,CACFtS,EAAWsS,KACXt2E,EAAMusE,MAAMxO,OACZ,CACIsE,SAAU,WACVmb,UAAW,aACXC,aAAc1oD,EAAQ8mC,eACtB6hB,UAAW3oD,EAAQ4mC,YACnBrnB,YAAY7H,EAAK,IACVo1B,IAAwB,CACvB8b,YAAa,EACbC,YAAa,QACbrb,YAAa,cAEjB91B,I3BiBT,CACH6H,UAAW,CACPupC,sBAAuB,CAEnBxa,OAAQ,GAEZya,IAAK,CAED3a,QAAS,iB2BtBbz1B,IACEutC,GAAgB,CAAEtoF,MAAOsoF,KACzBC,GAAmB,CAAE6C,SAAU7C,KAC/BC,GAAmB,CAAE6C,SAAU7C,IAErCsB,KAAM,CACFzY,EAAWyY,KACX,CACIpa,SAAU,WACVgZ,gBAAiBhP,EAAevF,eAChC4W,UAAW,UACXra,OAAQ,UACRma,UAAW,aACXrpB,UAAW,iBAtDhB,CACHvhE,OAuDiBugF,EAtDjBxgF,MAsDiBwgF,GACbkI,GAAmB,CACfA,gBAAiBA,IAGzBuB,YAAa,CACT5Y,EAAW4Y,YACX,CACIva,SAAU,WACVt6B,IAAK,EACLoa,MAAO,EACPC,OAAQ,EACRva,KAAM,EACNwzC,gBAAiBhP,EAAevF,eAChC2W,aAAc1oD,EAAQ8mC,iBAG9BghB,YAAa,CACT7Y,EAAW6Y,YACX,CACIxB,gBAAiBhP,EAAevF,eAChCmX,UAAW,SACXp/B,UAAW,OACXwjB,SAAU,WACVob,aAAc1oD,EAAQ8mC,gBAE1BwgB,GAAmB,CACfx9B,UAAW,UAEfw8B,GAAmB,CACfA,gBAAiBA,WCrFiCzvC,EAAW,CACzEid,MAAO,mBCCPqvB,GAAgB9zB,KAChB85B,GAAiBv4B,GAAgB,SAAU3lD,EAAO0wC,GAAS,OAAOw7B,GAAY1qF,GAASA,GAAS,GAAIwe,GAAQ,CAAE+wC,IAAKL,OAgB5GytC,GAAahuB,sBAAiB,SAAU5pD,EAAOe,GACtD,IA2ByB82E,EAAsBjmC,EAC3CkmC,EA5BA3wC,EAAYnnC,EAAMmnC,UAAW1tC,EAAQuG,EAAMvG,MAAOs+E,EAAa/3E,EAAM+3E,WAAYF,EAAmB73E,EAAM63E,iBAAkBzmC,EAASpxC,EAAMoxC,OAC3IqsB,EAAakU,GAAcvgC,EAAQ,CACnC33C,MAAOA,EACPs+E,WAAYA,EACZ5wC,UAAWA,IAEXyK,EAAckY,kBAAa,MAG/B,OAkByB+tB,EApBLA,EAoB2BjmC,EApBGA,EAqB9CkmC,EArBkCra,EAqBlBqa,WACpBv0B,qBAAgB,WACZ,GAAIs0B,EAAkB,CAClB,IAAIG,EAAe3gC,GAAYzF,EAAYhxC,SAC3C,GAAIo3E,EAEA,OADAA,EAAar6F,KAAKsqE,UAAUniD,IAAIgyE,GACzB,WACHE,EAAar6F,KAAKsqE,UAAUjjE,OAAO8yF,MAIhD,CAACA,EAAYD,EAAkBjmC,IA/BlC0W,GAAc1W,GACPsQ,yBAAoB+1B,oBAAgB,KAG/C,SAA4Bj4E,EAAOkmC,EAAI0L,EAAa7wC,GAChD,IAAIgvE,EAAO7pC,EAAG6pC,KACV5gC,EAAKnvC,EAAMk4E,GAAIC,OAAc,IAAPhpC,EAAgB,MAAQA,EAAI6a,EAAMhqD,EAAMgqD,IAAKvwD,EAAQuG,EAAMvG,MACjF2+E,EAAW/wB,GAAernD,EAAOonD,GAAe,CAAC,QACjDiV,EAhCK,SAAUn2B,GACnB,IAAIzsC,EAAQysC,EAAGzsC,MAAOuwD,EAAM9jB,EAAG8jB,IAC3BquB,EAAahuC,GAAO5wC,GAAS,MAAQ,MACrC6+E,EAAUjuC,KAAW,MAAQ,MAC7BkuC,EAAevuB,GAAYquB,EAC/B,MAAO,CAIHG,QAASD,IAAiBF,GAAcE,IAAiBD,EAAUC,EAAevuB,EAGlFyuB,WAAYF,IAAiBF,GAoBxBK,CAAO14E,GAAQw4E,EAAUnc,EAAGmc,QAASC,EAAapc,EAAGoc,WAC1DE,EAAkBz2B,yBAAoBi2B,EAAMl9F,GAAS,CAAE+uE,IAAKwuB,GAAWJ,EAAU,CAAEjxC,UAAW4oC,EAAMhvE,IAAK8tE,GAAcj9B,EAAa7wC,MAEpI03E,IAEAE,EAEAz2B,yBAAoBH,GAAY,CAAEl9D,SAAU,CAAE4U,MAAOk+E,GAAel+E,EAAe,QAARuwD,KAAoB2uB,IAEnG,OAAOA,EAhB0CC,CAAmB54E,EAAOy9D,EAAY7rB,EAAa7wC,MAExG62E,GAAWvuE,YAAc,aCjCzB,IAAIwvE,GAAc,CAAEnf,WAAY,WAC5Bqd,GAAmB,CACnBhH,KAAM,YACN+H,WAAY,wBCELgB,GAASvvB,GAAOquB,GDAJ,SAAU53E,GAC7B,IAAIvG,EAAQuG,EAAMvG,MAAO0tC,EAAYnnC,EAAMmnC,UAAW4wC,EAAa/3E,EAAM+3E,WAEzE,MAAO,CACHhI,KAAM,CAFOlS,GAAoBkZ,GAAkBt9E,GAGpCs2E,KACXt2E,EAAMusE,MAAMxO,OACZ,CACIv0C,MAAOxpB,EAAMgjE,QAAQzK,eACrBjkB,UAAW,CACPgrC,WAAYF,GACZG,UAAWH,GACXI,aAAcJ,KAItBd,GAAc,CACV90D,MAAOxpB,EAAMqsE,eAAe5C,SAC5B4R,gBAAiBr7E,EAAMqsE,eAAejG,gBAE1C14B,GAEJ2wC,WAAY,CACR,CACIhD,gBAAiBr7E,EAAMqsE,eAAejG,wBCxBJx6B,EAAW,CACzDid,MAAO,WCPP42B,GAAkB,GCQtB,IAoFIC,GApFAxH,GAAgB9zB,KACTu7B,GAAYxvB,sBAAiB,SAAU5pD,EAAOe,GACrD,IAAImlC,EAAKmd,sBAAkBg2B,EAAenzC,EAAG,GAAIozC,EAAkBpzC,EAAG,GAClEqzC,EAAkBzvB,kBAAauvB,GACnCE,EAAgB34E,QAAUy4E,EA6BD,SAArBG,IACAC,MAAAA,GAAwEA,IACxE,IAEQ/nE,EAFJgoE,EAAOH,EAAgB34E,QACvB84E,GAAQA,EAAKhoE,cACTA,EAAagoE,EAAKhoE,aAElBA,EAAWhF,YAAYgtE,IAKV,SAArBC,IACA,IAMIzhC,ECrDqBpkC,EAAOpxB,EAChCk3F,EACAC,ED6CIvsF,EAzBM,WACV,GAAKw9C,EAAL,CAGA,GAAIgvC,EACA,OAAOhvC,EAAIivC,eAAeD,GAI1B,OAAsEhvC,EAAIntD,MAgBnEq8F,GACNlvC,GAAQx9C,IAIbksF,KACIthC,EAAKpN,EAAIp+C,cAAc,QACxBy6C,UAAYs2B,EAAWsS,KACP73B,E7EvDf/wC,aAAak2C,GAAuB,Q8EAfvpC,EDwDRokC,ECxDex1D,EDwDX6lE,EAAQ3nD,QCtD7Bi5E,EAAgBn3F,GADhBk3F,EAAe9lE,GAEDipC,WACd68B,EAAa78B,SAAW,CACpB57C,SAAU,OAGd84E,EAAYL,EAAa78B,SAASr6D,SACrBu3F,IAAcv3F,IAGd,GADTuuC,EAAQgpD,EAAUl9B,SAAS57C,SAASvlB,QAAQg+F,KAE5CK,EAAUl9B,SAAS57C,SAASstC,OAAOxd,EAAO,GAGlD2oD,EAAa78B,SAASr6D,OAASm3F,QAAiBx0C,EAC5Cw0C,IACKA,EAAc98B,WACf88B,EAAc98B,SAAW,CACrB57C,SAAU,KAGlB04E,EAAc98B,SAAS57C,SAASviB,KAAKg7F,IDkCrCM,EAAc5sF,EAAK4uC,aAAagc,EAAI5qD,EAAKmf,YAAcnf,EAAKqf,YAAYurC,GACxEohC,EAAgBphC,GAChB+8B,MAAAA,GAAgEA,IAChEkF,MAAAA,GAAkEA,KArDtE,IAAI5xB,EAAUuB,kBAAa,MACvBswB,EAAYvL,GAActmB,EAASxnD,GACnC+pC,EAAMwkC,KACN+K,EAAuBr6E,EAAMq6E,qBAAsBjpC,EAASpxC,EAAMoxC,OAAQ33C,EAAQuG,EAAMvG,MAAO0tC,EAAYnnC,EAAMmnC,UAAWhmC,EAAWnB,EAAMmB,SAAU24E,EAAS95E,EAAM85E,OAAQ3qC,EAAKnvC,EAAMm6E,gBAAiBA,OAAyB,IAAPhrC,EAAgB,aAAoCA,EAEpRktB,EAAKr8D,EAAMi1E,eAEXA,OAAwB,IAAP5Y,EAAgB,aAAoCA,EAAIod,EAAqBz5E,EAAMy5E,mBAAoBS,EAAcl6E,EAAMk6E,YACxIzc,EAAakU,GAAcvgC,EAAQ,CACnC33C,MAAOA,EACP0tC,UAAWA,EACXmzC,WAAYR,IA4DhB,OAfAS,2BAAsB,WD9DnB,IAAuBT,EAAQl1E,ECoE9B,OALA+0E,IAEIG,IDjE0Bl1E,ECkEJ+0E,EDjEzBT,GADqBY,ECkEJA,KDhElBZ,GAAgBY,GAAU,IAE9BZ,GAAgBY,GAAQl7F,KAAKgmB,ICgElB,WDzDR,IAAyBk1E,EAAQl1E,EC0D5B40E,IACIM,ID3DwBl1E,EC4DA+0E,GD3DhCT,GADwBY,EC4DAA,IDzDb,IADPU,EAAMtB,GAAgBY,GAAQl+F,QAAQgpB,MAEtCs0E,GAAgBY,GAAQrrC,OAAO+rC,EAAK,GACG,IAAnCtB,GAAgBY,GAAQt+F,eACjB09F,GAAgBY,OC0DhC,CAACA,IAEI53B,yBAAoB,OAAQ,CAAE/a,UAAW,WAAYpmC,IAAKq5E,GAAaf,GAC3EoB,uBAEAv4B,yBAAoB42B,GAAQ79F,GAAS,IAAMo/F,GAkBnD,WACSlB,KACDA,GAAqB,GACrB,CACI,UACA,gBACA,gBACA,SACA,YACA,cACA,aACA,cACA,aACA,cACA,SACA,cACA,eACA,eACA,cACA,cACA,aACA,YACA,cACA,eACA,gBACA,aACA,YACA,aACA,UACA,UACA,SACA,WACA,UACA,YACA,YACFnlF,QAAQ,SAAUzB,GAAQ,OAAQ4mF,GAAmB5mF,GAAQmoF,MAEnE,OAAOvB,GAvDgEwB,GAAsB,CAAExzC,UAAWs2B,EAAW34E,UAAYqc,GAE7Hk4E,MAERD,GAAU/vE,YAAc,YAExB,IAAIqxE,GAAgB,SAAUplC,GAItBA,EAAGv6B,aAAe2iC,MAAMk9B,gBACZ,eAAZtlC,EAAGjmD,MACS,eAAZimD,EAAGjmD,MACS,eAAZimD,EAAGjmD,MACS,aAAZimD,EAAGjmD,MACHimD,EAAG96B,mBErGX,IAAIu8D,GAAmB,CACnBhH,KAAM,WACN8K,WAAY,kBACZ/1F,QAAS,oBCDFq4E,GAAQ5T,GAAO6vB,GDGH,SAAUp5E,GAC7B,IAAImnC,EAAYnnC,EAAMmnC,UAAWmzC,EAAYt6E,EAAMs6E,UAAW7gF,EAAQuG,EAAMvG,MACxEgkE,EAAaI,GAAoBkZ,GAAkBt9E,GACvD,MAAO,CACHs2E,KAAM,CACFtS,EAAWsS,KACXt2E,EAAMusE,MAAMxO,OACZ8iB,GAAa,CACT7c,EAAWod,WACX,CACI/e,SAAU,QACV3sD,OAAQksD,GAAS8B,MACjB37B,IAAK,EACLF,KAAM,EACNua,OAAQ,EACRD,MAAO,EACPkQ,WAAY,WAGpB3kB,GAEJriD,QAAS,CACL24E,EAAW34E,QACX,CACIgnE,WAAY,mBC3BoBzmB,EAAW,CACvDid,MAAO,QACPC,OAAQ,CAAC,SAAU,QAAS,YCDrBu4B,GAAUlxB,sBAAiB,SAAU1jB,EAAI2jB,GAChD,IAAIkxB,EAAa70C,EAAG60C,WAAYC,EAAa90C,EAAG80C,WAAY/wB,EAAOvuE,EAAOwqD,EAAI,CAAC,aAAc,eACzFphD,EAAUo9D,yBAAoB80B,GAAgB/7F,GAAS,GAAIgvE,EAAM,CAAElpD,IAAK8oD,KAC5E,OAAOmxB,EAAal2F,EAAUo9D,yBAAoBib,GAAOliF,GAAS,GAAI8/F,GAAaj2F,KAEvFg2F,GAAQzxE,YAAc,UCJtB,ICDW4xE,GCAAC,GAuCAC,GAcAC,GF3CAC,GAAgBzxB,sBAAiB,SAAU5pD,EAAOe,GACzD,IAT0Cu6E,EAA0B//C,EAShEw0C,EAAOjmB,kBAAa,MACpByxB,EAAczxB,kBAAa,MAC3B0xB,EAAa1xB,kBAAa,MAC1B0mB,EAAgB3B,GAAckB,EAAMhvE,GACpC1gB,EAAKsuF,QAAMtpC,EAAWrlC,EAAM3f,IAC5ByqD,EAAMwkC,KACN8I,EAAW/wB,GAAernD,EAAOonD,IACjCq0B,EAAgBjN,GAAS,WAAc,OACvCkN,6CAAyCr2C,EACzCs2C,wCAAoCt2C,EACpCu2C,yBAAqBv2C,EACrBw2C,yBAAqBx2C,EACrB+qC,UAAU,EACV0L,gBAAYz2C,KAEZ0rC,EAAiB/wE,EAAM+wE,eAAgB5pC,EAAYnnC,EAAMmnC,UAAWhmC,EAAWnB,EAAMmB,SAAUq4C,EAAex5C,EAAMw5C,aAAcjuC,EAAWvL,EAAMuL,SAAU26B,EAAKlmC,EAAM+7E,kBAAmBA,OAA2B,IAAP71C,GAAwBA,EAAIiJ,EAAKnvC,EAAMuL,SAAUywE,OAA8B,IAAP7sC,GAAwBA,EAAI8sC,EAA0Bj8E,EAAMi8E,wBAAyB5f,EAAKr8D,EAAMk8E,qBAAsBA,OAA8B,IAAP7f,GAAuBA,EAAI8f,EAAqCn8E,EAAMm8E,mCAAoCC,EAAyBp8E,EAAMo8E,uBAAwBC,EAAyBr8E,EAAMq8E,uBAAwB/f,EAAKt8D,EAAMs8E,4BAA6BA,OAAqC,IAAPhgB,GAAwBA,EAAIigB,EAAUv8E,EAAMu8E,QAASC,EAASx8E,EAAMw8E,OAAQC,EAAiBz8E,EAAMy8E,eAAgBC,EAAgB18E,EAAM08E,cAAeC,EAA2B38E,EAAM28E,yBAC33BC,EAAc,CACdC,eAAe,EACf7sE,MAAO,CACH+gD,cAAe,OACf+K,SAAU,SAEdlW,SAAUr6C,GAAY,EAAI,EAC1BuxE,mBAAmB,GAEnBvhD,EAAQwzC,uBAAkB,WAC1B,IAOIgO,EAGAC,EAVAb,GACAV,EAAcE,oCACd3+B,GAAgB+yB,EAAKnvE,QAAS66E,EAAcE,oCAE5Cx1B,GAAWs1B,EAAcE,qCAGzBoB,EAAkD,iBAA3BX,EACrBA,EACAA,GAA0BA,IAC5BY,EAAsB,MAOlBA,EANJjN,EAAKnvE,SAEDo8E,EADAD,EACsBhN,EAAKnvE,QAAQ0oC,cAAc,IAAMyzC,GAGtDC,IACqB53B,GAAe2qB,EAAKnvE,QAASmvE,EAAKnvE,QAAQ6L,YAAY,GAAO,GAAO,GAAO,GAGrGuwE,IACA72B,GAAW62B,KAEhB,CAACZ,EAAwBD,EAAoCV,IAC5DwB,EAAgBlO,uBAAkB,SAAUmO,GAC5C,IjE/BsD74B,EAA6BH,EAc9BG,EiEiBjD94C,IAGA4xE,GAAiBD,IAAkBzB,EAAcrL,SAC/CoL,EACAD,GADW36E,SAEbmvE,EAAKnvE,UACDw8E,EAAgBF,IAAkBzB,EAAcrL,SjEtBrDpsB,GiEuBuB+rB,EAAKnvE,QAASu8E,EjExBhBj5B,OAAV,KADoEA,IAA7BG,GiEyBE,KjExBnB,EACeH,GAAW,GAAmC,EAA2BG,GAA6B,GAA0B,GAdhLe,GiEsCwB2qB,EAAKnvE,QAASu8E,EjEvCjBj5B,OAAV,KADqEA,IAA7BG,GiEwCE,KjEvCpB,EACWH,GAAW,GAAmC,EAAkCG,GAA6B,GAA0B,MiEwC1K+4B,IAAkB7B,EAAY36E,SAAWw8E,IAAkB5B,EAAW56E,QAGtE26B,IAGA6hD,EAAc7hD,WAI3B,CAAChwB,EAAUgwB,EAAOkgD,IACjB4B,EAAoBtO,uBAAkB,SAAUz5B,GAChDonC,MAAAA,GAA8DA,EAAcpnC,GAC5E,IAAIn5B,EAAgBm5B,EAAGn5B,cACE,OAArBm5B,EAAGn5B,gBAMHA,EAAgB2uB,EAAI1gC,eAEnB4yC,GAAgB+yB,EAAKnvE,QAASub,KAC/Bs/D,EAAcrL,UAAW,IAE9B,CAACtlC,EAAK2wC,EAAeiB,IACpBY,EAAqBvO,uBAAkB,SAAUz5B,GACjDmnC,MAAAA,GAAgEA,EAAennC,GAC3EA,EAAGr5D,SAAWs/F,EAAY36E,QAC1Bq8E,GAAc,GAET3nC,EAAGr5D,SAAWu/F,EAAW56E,SAC9Bq8E,GAAc,GAElBxB,EAAcrL,UAAW,EACrB96B,EAAGr5D,SAAWq5D,EAAGn7B,eAAmBm7B,EAAGr5D,SAAWs/F,EAAY36E,SAAW00C,EAAGr5D,SAAWu/F,EAAW56E,UAGlG66E,EAAcE,mCAAqCrmC,EAAGr5D,SAE3D,CAACwgG,EAAgBhB,EAAewB,IAC/BM,EAAyBxO,uBAAkB,WAI3C,IACQ3kE,EAJRixE,GAAcmC,WAAanC,GAAcmC,WAAWt5F,OAAO,SAAU/G,GACjE,OAAOkD,IAAOlD,IAEd2tD,IACI1gC,EAAgB0gC,EAAI1gC,cACnBiyE,IACDZ,EAAcC,yCACyD,mBAAhED,EAAcC,wCAAwCngD,QAC5DyhB,GAAgB+yB,EAAKnvE,QAASwJ,IAAkBA,IAAkB0gC,EAAIntD,MACjE89F,EAAcC,0CAA4CH,EAAY36E,SACxE66E,EAAcC,0CAA4CF,EAAW56E,SACrEulD,GAAWs1B,EAAcC,2CAItC,CAAC5wC,EAAKzqD,EAAIg8F,EAAwBZ,IACjCgC,EAAmB1O,uBAAkB,SAAUz5B,GAC/C,IAIQooC,EAJJnyE,GAGA8vE,GAAcmC,WAAWhiG,QAAU6E,IAAOg7F,GAAcmC,WAAWnC,GAAcmC,WAAWhiG,OAAS,KACjGkiG,EAAiBpoC,EAAGr5D,OACnB+gE,GAAgB+yB,EAAKnvE,QAAS88E,KAC/BniD,IACAkgD,EAAcrL,UAAW,EACzB96B,EAAG59C,iBACH49C,EAAG96B,qBAGZ,CAACjP,EAAUlrB,EAAIk7C,EAAOkgD,IACrBkC,EAAmB5O,uBAAkB,SAAUz5B,GAC/C,IAIQsoC,EAJJryE,IAGA8vE,GAAcmC,WAAWhiG,QAAU6E,IAAOg7F,GAAcmC,WAAWnC,GAAcmC,WAAWhiG,OAAS,KACjGoiG,EAAiBtoC,EAAGr5D,UACD+gE,GAAgB+yB,EAAKnvE,QAASg9E,KACjDriD,IACAkgD,EAAcrL,UAAW,EACzB96B,EAAG59C,iBACH49C,EAAG96B,oBAGZ,CAACjP,EAAUlrB,EAAIk7C,EAAOkgD,IACrBoC,EAAsB9O,uBAAkB,WACpCmN,IAAyBT,EAAcG,oBACvCH,EAAcG,oBAAsBllC,GAAGv3D,OAAQ,QAASs+F,GAAkB,IAEpEvB,GAAwBT,EAAcG,sBAC5CH,EAAcG,sBACdH,EAAcG,yBAAsBv2C,GAEnCi3C,GAAgCb,EAAcI,oBAG1CS,GAA+Bb,EAAcI,sBAClDJ,EAAcI,sBACdJ,EAAcI,yBAAsBx2C,GAJpCo2C,EAAcI,oBAAsBnlC,GAAGv3D,OAAQ,QAASw+F,GAAkB,IAM/E,CAACA,EAAkBF,EAAkBvB,EAAsBI,EAA6Bb,IAgE3F,OA9DAl4B,qBAAgB,WACZ,IAAIu6B,EAAa/N,EAAKnvE,QAEtB,OADAi9E,IACO,WAEEtyE,IAAY2wE,GAAyBl/B,GAAgB8gC,EAAYhzC,MAAAA,OAAiC,EAASA,EAAI1gC,gBAChHmzE,MAIT,CAACM,IAEJt6B,qBAAgB,WACZ,IAAIw6B,OAAmD14C,IAAzB62C,GAAqCA,EAC/D8B,OAA2B34C,IAAb95B,GAAyBA,EAE3C,IAAKyyE,GAAeD,EAAyB,CACzC,GAAI/B,EACA,OAEJX,GAAcmC,WAAW5+F,KAAKyB,GAC9Bo7F,EAAcC,wCAA0CO,GAElDnxC,EAAI1gC,cACL2xE,GAAsB/+B,GAAgB+yB,EAAKnvE,QAAS66E,EAAcC,0CACnEngD,KAECkgD,EAAcK,YAAc/L,EAAKnvE,SAAW+7E,IAC7ClB,EAAcK,WGtMvB,SAAkB7/F,GAKrB,IAJA,IAAIiqD,EACA+3C,EAAgB,GAChBxN,EAAiBp5B,GAAYp7D,IAAWwQ,SAErCxQ,IAAWw0F,EAAe9yF,MAAM,CAEnC,IAAK,IAAI8rD,EAAK,EAAG0F,EAAKlzD,EAAOk8D,cAAch3C,SAAUsoC,EAAK0F,EAAG3zD,OAAQiuD,IAAM,CACvE,IAAI11B,EAAUo7B,EAAG1F,GAEb11B,IAAY93B,GAAiH,UAAvD,QAA9CiqD,EAAKnyB,EAAQu2B,aAAa,sBAAmC,IAAPpE,OAAgB,EAASA,EAAGtkD,gBAC1Gq8F,EAAcr/F,KAAKm1B,GAG3B,IAAK93B,EAAOk8D,cACR,MAEJl8D,EAASA,EAAOk8D,cAMpB,OAHA8lC,EAAcjqF,QAAQ,SAAU2B,GAC5BA,EAAKwR,aAAa,cAAe,UAE9B,WACQ82E,EAQDjqF,QAAQ,SAAU2B,GAE5BA,EAAKwR,aAAa,cAAe,WATjC82E,EAAgB,IH6KmBC,CAASnO,EAAKnvE,eAGvCm9E,IAA2BC,IAEjCT,IACI9B,EAAcK,YACdL,EAAcK,cAGlBG,GAA2BR,EAAcC,0CAA4CO,IACrFR,EAAcC,wCAA0CO,IAG7D,CAACA,EAAyBC,EAAsB3wE,IAEnD4yE,GAAW,WAEH1C,EAAcI,sBACdJ,EAAcI,sBACdJ,EAAcI,yBAAsBx2C,GAEpCo2C,EAAcG,sBACdH,EAAcG,sBACdH,EAAcG,yBAAsBv2C,GAEpCo2C,EAAcK,YACdL,EAAcK,oBAGXL,EAAcE,0CACdF,EAAcC,0CAzOiBJ,EA2OZG,EAAcE,mCA3OwBpgD,EA2OYA,EA1OhF6iD,+BA0OgB5kC,EA1OwB,WAAc,OAClD8hC,+BACI,OAAOA,GAEX//C,MAAOA,IACJ,CAAC+/C,EAA0B//C,IAsO1B2mB,yBAAoB,MAAOjnE,GAAS,GAAIm9F,EAAU,CAAEjxC,UAAWA,EAAWpmC,IAAKyvE,EAAegB,kBAAmBT,EAAgB0L,eAAgBa,EAAoBf,QAASA,EAASC,OAAQA,EAAQE,cAAeW,IAC1Nn7B,yBAAoB,MAAOjnE,GAAS,GAAI2hG,EAAa,CAAE77E,IAAKw6E,KAC5Dp6E,EACA+gD,yBAAoB,MAAOjnE,GAAS,GAAI2hG,EAAa,CAAE77E,IAAKy6E,QAEhE2C,GAAa,SAAUE,GACvB,IAAIC,EAAax0B,kBAAau0B,GAC9BC,EAAW19E,QAAUy9E,EACrB96B,qBAAgB,WAAc,OAAO,WAC7B+6B,EAAW19E,SACX09E,EAAW19E,YAEb,CAACy9E,KAEXhD,GAAchyE,YA3PO,gBA4PrBgyE,GAAcmC,WAAa,IC5PhBvC,GAmBKA,GAAbA,IAAwB,IAddA,GAAkB,QAAI,GAAK,UAKpCA,GAASA,GAAgB,MAAI,GAAK,QAIlCA,GAASA,GAAkB,QAAI,KAAU,UAIzCA,GAASA,GAAgB,MAAI,QAAU,SClBhCC,GAiCKA,GAAbA,IAAwB,IA7BdA,GAAiB,OAAI,GAAK,SAMnCA,GAASA,GAAkB,QAAI,GAAK,UAKpCA,GAASA,GAAgB,MAAI,GAAK,QAKlCA,GAASA,GAAe,KAAI,GAAK,OAMjCA,GAASA,GAAsB,YAAI,GAAK,cAMxCA,GAASA,GAAwB,cAAI,GAAK,iBAOnCC,GASYA,GAApBA,IAAsC,IALrBA,GAA2B,UAAI,GAAK,YAIpDA,GAAgBA,GAA0B,SAAI,GAAK,YAM5CC,GAiBWA,GAAnBA,IAAoC,IAbpBA,GAA0B,UAAI,GAAK,YAIlDA,GAAeA,GAAuB,OAAI,GAAK,SAI/CA,GAAeA,GAAsB,MAAI,GAAK,QAI9CA,GAAeA,GAA4B,YAAI,GAAK,cErExD,IAAIzJ,GAAgB9zB,KAChB0gC,GAAY,UA2CT,IAAIC,GAAY50B,sBAAiB,SAAU5pD,EAAO6pD,GACrD,IA1CyB40B,EACrBC,EAAmDC,EAAuBxrE,EAAyBynD,EACpDgkB,EAAmBC,EAwClEC,EAAeh1B,oBACf20B,EAAe30B,oBACf5jB,GA5CqBu4C,EA4CIA,EA3CzBC,GADc1+E,EA4CIA,GA3CW0+E,qBAAsBC,EAAS3+E,EAAM2+E,OAAQxrE,EAAUnT,EAAMmT,QAASynD,EAAM56D,EAAM46D,IAC/G10B,EAAKmd,oBAAe+3B,GAAe2D,WAAYH,EAAY14C,EAAG,GAAI24C,EAAe34C,EAAG,GAExFq0C,2BAAsB,WAGlBsE,EAAazD,GAAe2D,YAC7B,CAACnkB,IAEJrX,qBAAgB,WACRq7B,IAAcxD,GAAe2D,aAKdN,EAAa79E,UACrBg6D,GAA2C,EAApC6jB,EAAa79E,QAAQo+E,cAAyD,EAArCP,EAAa79E,QAAQq+E,eACnER,EAAa79E,QAAQs+E,UAAYX,GAAU58F,KAAKi5E,KAGrDikB,EAAazD,GAAe+D,UAIxC57B,qBAAgB,WACZm7B,MAAAA,GAA4EA,EAAqBE,IAElG,CAACA,IACAQ,EAAgBrQ,uBAAkB,SAAUz5B,GAC5CqpC,MAAAA,GAAgDA,EAAOrpC,GACnDslB,GACAikB,EAAazD,GAAe+D,SAEjC,CAACvkB,EAAK+jB,IACLU,EAAetQ,uBAAkB,SAAUz5B,GAC3CniC,MAAAA,GAAkDA,EAAQmiC,GAC1DupC,EAAazD,GAAenpF,QAC7B,CAACkhB,IACG,CAACyrE,EAAWQ,EAAeC,IAKUT,EAAY14C,EAAG,GAAIk5C,EAAgBl5C,EAAG,GAAIm5C,EAAen5C,EAAG,GACpGo5C,EAAaj4B,GAAernD,EAAOmnD,GAAe,CAClD,QACA,WAEAyT,EAAM56D,EAAM46D,IAAK2kB,EAAMv/E,EAAMu/E,IAAKnzF,EAAQ4T,EAAM5T,MAAOC,EAAS2T,EAAM3T,OAAQ8iD,EAAKnvC,EAAMw/E,aAAcA,OAAsB,IAAPrwC,GAAuBA,EAAIswC,EAAqBz/E,EAAMy/E,mBAAoBt4C,EAAYnnC,EAAMmnC,UAAWu4C,EAAW1/E,EAAM0/E,SAAU7O,EAAO7wE,EAAM6wE,KAAM8O,EAAgB3/E,EAAM2/E,cAAevuC,EAASpxC,EAAMoxC,OAAQ33C,EAAQuG,EAAMvG,MAAOmmF,EAAU5/E,EAAM4/E,QAC5WC,EAyBR,SAAuB7/E,EAAO4+E,EAAWH,EAAcK,GACnD,IAAIgB,EAAoBh2B,kBAAa80B,GACjCiB,EAAa/1B,0BACEzkB,IAAfw6C,GACCC,EAAkBl/E,UAAYw6E,GAAe2D,WAAaH,IAAcxD,GAAe+D,UACxFU,EAAWj/E,QAKnB,SAA2BZ,EAAO4+E,EAAWH,EAAcK,GACvD,IAAIY,EAAW1/E,EAAM0/E,SAAUtzF,EAAQ4T,EAAM5T,MAAOC,EAAS2T,EAAM3T,OAEnE,CAAA,QAAyBg5C,IAArBrlC,EAAM6/E,WACN,OAAO7/E,EAAM6/E,WAEZ,GAAIjB,IAAcxD,GAAe+D,SACjCO,IAAaxE,GAAS6E,OACnBL,IAAaxE,GAAS8E,SACtBN,IAAaxE,GAAS+E,eACtBP,IAAaxE,GAASgF,cAC1BzB,EAAa79E,SACbk+E,EAAal+E,QAAS,CAGlBu/E,OAAe,EAKfA,EAJiB,iBAAV/zF,GACW,iBAAXC,GACPqzF,IAAaxE,GAAS+E,eACtBP,IAAaxE,GAASgF,YACP9zF,EAAQC,EAGRyyF,EAAal+E,QAAQm3C,YAAc+mC,EAAal+E,QAAQywE,aAGvE+O,EAAe3B,EAAa79E,QAAQo+E,aAAeP,EAAa79E,QAAQq+E,cAE5E,GAAmBkB,EAAfC,EACA,OAAOjF,GAAgBkF,WAG/B,OAAOlF,GAAgBmF,SArCEC,CAAkBvgF,EAAO4+E,EAAWH,EAAcK,IAG3E,OADAgB,EAAkBl/E,QAAUg+E,EACrBiB,EAAWj/E,QAjCD4/E,CAAcxgF,EAAO4+E,EAAWH,EAAcK,GAC3DrhB,EAAakU,GAAcvgC,EAAQ,CACnC33C,MAAOA,EACP0tC,UAAWA,EACX/6C,MAAOA,EACPC,OAAQA,EACRszF,cAAeA,EACfH,aAAcA,EACdC,mBAAoBA,EACpBgB,SAAU7B,IAAcxD,GAAe+D,QAAWP,IAAcxD,GAAe2D,WAAa/+E,EAAMy/E,mBAClGiB,YAAab,IAAe1E,GAAgBkF,UAC5CM,SAAUjB,IAAaxE,GAAS0F,OAChCC,gBAAiBnB,IAAaxE,GAAS+E,cACvCa,cAAepB,IAAaxE,GAASgF,YACrCa,UAAWrB,IAAaxE,GAAS8E,QACjCgB,QAAStB,IAAaxE,GAAS6E,MAC/BkB,OAAQvB,IAAaxE,GAASgG,KAC9BC,QAASvC,IAAcxD,GAAenpF,MACtCmvF,mBAA4B/7C,IAAbq6C,IAGnB,OAAQx9B,yBAAoB,MAAO,CAAE/a,UAAWs2B,EAAWsS,KAAM//D,MAAO,CAAE5jB,MAAOA,EAAOC,OAAQA,GAAU0U,IAAK+9E,GAC3G58B,yBAAoB,MAAOjnE,GAAS,GAAIqkG,EAAY,CAAEX,OAAQS,EAAejsE,QAASksE,EAAcnjG,IAzE3F,cAyE6G8jB,EAAM46D,KAAO,GAAIzzB,UAAWs2B,EAAW4jB,MAAOtgF,IAAK8tE,GAAc4P,EAAc50B,GAAe+Q,IAAKA,EAAK2kB,IAAKA,EAAK1O,KAAMA,EAAM+O,QAASA,QAErQpB,GAAUn1E,YAAc,YChFxB,IAAI0tE,GAAmB,CACnBhH,KAAM,WACNuR,kBAAmB,0BACnBD,MAAO,iBACPE,YAAa,yBACbC,aAAc,0BACdC,WAAY,wBACZC,mBAAoB,gCACpBC,iBAAkB,8BAClBC,UAAW,uBACXC,eAAgB,4BAChBC,cAAe,4BCVR1uF,GAAQm2D,GAAOi1B,GDYH,SAAUx+E,GAC7B,IAAImnC,EAAYnnC,EAAMmnC,UAAW/6C,EAAQ4T,EAAM5T,MAAOC,EAAS2T,EAAM3T,OAAQszF,EAAgB3/E,EAAM2/E,cAAec,EAAWzgF,EAAMygF,SAAUjB,EAAex/E,EAAMw/E,aAAcC,EAAqBz/E,EAAMy/E,mBAAoBiB,EAAc1gF,EAAM0gF,YAAaC,EAAW3gF,EAAM2gF,SAAUI,EAAY/gF,EAAM+gF,UAAWC,EAAUhhF,EAAMghF,QAASH,EAAkB7gF,EAAM6gF,gBAAiBC,EAAgB9gF,EAAM8gF,cAAeG,EAASjhF,EAAMihF,OAAQE,EAAUnhF,EAAMmhF,QAASC,EAAgBphF,EAAMohF,cAAe3nF,EAAQuG,EAAMvG,MAC9fgkE,EAAaI,GAAoBkZ,GAAkBt9E,GACnDsoF,EAAiB,CACjBjmB,SAAU,WACVx6B,KAAM,oBACNE,IAAK,MACLosB,UAAW,wBAGXzuE,EAASwyD,KACTqwC,OAA+B38C,IAAXlmD,QAA8DkmD,IAAtClmD,EAAO4mD,UAAUk8C,iBAC7DC,EAA2BnB,GAAaL,GAAiBM,IAAYN,EACnE,CAAEt0F,MAAO,OAAQC,OAAQ,QACzB,CAAED,MAAO,OAAQC,OAAQ,QAC/B,MAAO,CACH0jF,KAAM,CACFtS,EAAWsS,KACXt2E,EAAMusE,MAAMxO,OACZ,CACI9f,SAAU,UAEdioC,GAAiB,CACbliB,EAAW6jB,kBACX,CACIj1F,OAAQ,OACRD,MAAO,SAGfq0F,GAAYjB,IAAiBC,GAAsBpZ,GAAoBlW,WACtEwwB,GAAYI,GAAaC,GAAWH,GAAmBC,IAAkB,CACtEhlB,SAAU,YAEd30B,GAEJk6C,MAAO,CACH5jB,EAAW4jB,MACX,CACI5lD,QAAS,QACT3sB,QAAS,GAEb2xE,GAAY,CACR,YACA,CACI3xE,QAAS,IAGjB6xE,GAAY,CAACljB,EAAW8jB,YAAaQ,GACrChB,GAAa,CACTtjB,EAAW+jB,aACXQ,GAAqB,CACjB51F,MAAO,OACPC,OAAQ,OACR81F,UAAW,YAEdH,GAAqBE,GACrBF,GAAqBD,GAE1Bf,GAAW,CACPvjB,EAAWgkB,WACXO,GAAqB,CACjB51F,MAAO,OACPC,OAAQ,OACR81F,UAAW,UAEdH,GAAqBE,GACrBF,GAAqBD,GAE1BlB,GAAmB,CACfpjB,EAAWikB,mBACXhB,GAAe,CACXlJ,SAAU,SAEbkJ,GAAe,CACZ1S,UAAW,QAEf+T,GAEJjB,GAAiB,CACbrjB,EAAWkkB,iBACXjB,GAAe,CACX1S,UAAW,SAEd0S,GAAe,CACZlJ,SAAU,QAEduK,GAEJd,GAAU,CACNxjB,EAAWmkB,UACX,CACIx1F,MAAO,OACPC,OAAQ,SAGhB+0F,GAAiB,GACXh1F,IACGC,GAAU,CACXA,OAAQ,OACRD,MAAO,SAEVA,KACKC,GAAU,CACZA,OAAQ,OACRD,MAAO,UAETA,KACIC,GAAU,CACZA,OAAQ,OACRD,MAAO,SAGfs0F,GAAejjB,EAAWokB,gBACzBnB,GAAejjB,EAAWqkB,eAC1BrB,GAAY,eACbjB,GAAgB,YAChB2B,GAAW,mBChIyB97C,EAAW,CACvDid,MAAO,UACR,GACHlvD,GAAMiW,YAAc,QCkBE,SAAX+4E,GAAqBpiF,GAC5B,IAAIqiF,EAAWriF,EAAMqiF,SAAUl7C,EAAYnnC,EAAMmnC,UAA6Bn3B,OAAe,KAAjCk2B,EAAKlmC,EAAMgQ,OAA+B,GAAKk2B,EAEvGo8C,GADAC,EAAcC,GAAeH,IAAa,IACdC,cAAenhF,EAAWohF,EAAYphF,SAAUu4D,EAAa6oB,EAAY7oB,WACrG+oB,EAAcp7B,GAAernD,EAAOgnD,IACpC07B,EAAiB1iF,EAAM,eAAiBA,EAAM,oBAAsBA,EAAM7Q,MACxE,CACE0hF,KAAM,OAER,CACEgM,eAAe,GAEvB,OAAQ36B,yBAAoB,IAAKjnE,GAAS,CAAE0nG,iBAAkBN,GAAYK,EAAgBD,EAAa,CAAEt7C,UAAWyY,GAAIgjC,GAASnlB,GAAWsS,KAAMuS,GAAgBD,GAAY5kB,GAAWolB,YAAa17C,GAGlMn3B,MAAO/0B,GAAS,CAAEy+E,WAAYA,GAAc1pD,KAAW7O,GCrCxD,IAAIs8D,GAAa/sB,GAAe,CACnCq/B,KAAM,CACFt0C,QAAS,gBAEbonD,YAAa,CACT,sBACA,CACIz2F,MAAO,QAGfi1F,MAAO,CACH,yBACA,CACI3pC,SAAU,aAKXkrC,GAAU,UDfVJ,GAAiBpjC,GAAgB,SAAUijC,GAClD,IxDiGoB9vF,EAChBmlE,EACArsD,EwDnGA66B,GxDiGgB3zC,EwDjGH8vF,ExDkGb3qB,OAAOryB,EACPh6B,EAAU2/C,GAAcC,UAC5B14D,EAAOA,EAAyBA,EA7EkB3Q,cA6EV,IACxC2Q,EAAOy4D,GAAcI,WAAW74D,IAASA,MAErCmlE,EAAO1M,GAAcz4D,KAEb84D,EAASqM,EAAKrM,SACJA,EAAOha,WACZga,EAAOy3B,eACRzxC,GAASga,EAAOha,UAChBga,EAAOy3B,cAAe,GAErBz3B,EAAOlkB,YACRkkB,EAAOlkB,UAAYX,GAAY6kB,EAAOr7C,MAAO,CACzC0pD,WAAYrO,EAAOha,SAASqoB,WAC5B/qD,WAAY08C,EAAOha,SAAS1iC,YAAc,SAC1CksD,UAAWxP,EAAOha,SAASwpB,WAAa,cAO/CxvD,EAAQ6/C,iBAAmB7/C,EAAQ8/C,oBACpC3S,GAAK,aAAgBjmD,EAAO,oHAIjCmlE,GwD/HuB,CAC1BrM,OAAQ,GACRzqC,UAAMykB,IACPzkB,EAAOslB,EAAGtlB,KAAMyqC,EAASnlB,EAAGmlB,OAC/B,OAAKzqC,EAGE,CACHzf,SAAUyf,EACV0hE,cAAej3B,EAAOlkB,UACtBuyB,WAAYrO,EAAOha,UAAYga,EAAOha,SAASqoB,YALxC,WAOZr0B,GAAW,GA8BW+Z,GAAgB,SAAUijC,EAAUl7C,EAAW2pC,GACpE,OAAOsR,GAAS,CAAEC,SAAUA,EAAUl7C,UAAWA,EAAWoqC,aAAcT,ME1C9E,IAMwCv5B,GANpCo6B,GAAgB9zB,GAAmB,CAInCQ,UAAW,MAIX,SAAS0kC,GAAS/iF,GACd,IAAI2oC,EAAQ4O,GAAO98D,KAAKK,KAAMklB,IAAUllB,KAYxC,OAXA6tD,EAAMq6C,2BAA6B,SAAUjzD,GACrC4Y,EAAM3oC,MAAMs/E,YAAc32C,EAAM3oC,MAAMs/E,WAAWZ,sBACjD/1C,EAAM3oC,MAAMs/E,WAAWZ,qBAAqB3uD,GAE5CA,IAAUqrD,GAAenpF,OACzB02C,EAAMpoC,SAAS,CAAE0iF,gBAAgB,KAGzCt6C,EAAM5Y,MAAQ,CACVkzD,gBAAgB,GAEbt6C,ECpBR,IAAIu6C,GAAO35B,IDMd7uE,EAAUqoG,GAD0BxrC,GAyDtC4B,sBAxCE4pC,GAASxoG,UAAU0oB,OAAS,WACxB,IAAIijC,EAAKprD,KAAKklB,MAAOmB,EAAW+kC,EAAG/kC,SAAUgmC,EAAYjB,EAAGiB,UAAWiK,EAASlL,EAAGkL,OAAQixC,EAAWn8C,EAAGm8C,SAAUc,EAAej9C,EAAGi9C,aAAc1pF,EAAQysC,EAAGzsC,MAC1J2pF,EAAoC,iBAAbf,GAA6C,IAApBA,EAAS7mG,OACzD6nG,IAEFvoG,KAAKklB,MAAMs/E,YAAcxkG,KAAKklB,MAAMsjF,WAAarI,GAASoG,OAASvmG,KAAKklB,MAAMsjF,WAAarI,GAAS7nF,MAClGmvF,EAAcC,GAAeH,IAAa,GAC1CC,EAAgBC,EAAYD,cAAeiB,EAAsBhB,EAAYphF,SAC7Es8D,EAAakU,GAAcvgC,EAAQ,CACnC33C,MAAOA,EACP0tC,UAAWA,EACXm7C,cAAeA,EACfe,QAASA,EACTD,cAAeA,IAEfI,EAAWH,EAAU,OAAS,IAC9BZ,EAAcp7B,GAAevsE,KAAKklB,MAAOgnD,GAAuB,CAChE,eAEAi8B,EAAiBnoG,KAAKi1C,MAAMkzD,eAC5B3D,EAAarkG,GAASA,GAAS,GAAIH,KAAKklB,MAAMs/E,YAAa,CAAEZ,qBAAsB5jG,KAAKkoG,6BACxFS,EAAaR,GAAkBE,GAAiB/vF,GAEhD09E,EAAYh2F,KAAKklB,MAAM,eAAiBllB,KAAKklB,MAAM8wE,UACnD4S,EAAiBpE,EAAWC,KAAOzO,EACnC6S,KAAaD,GACb5oG,KAAKklB,MAAM,oBACXs/E,EAAW,eACXA,EAAW,oBASf,OAAQp9B,yBAAoBshC,EAAUvoG,GAAS,CAAE0nG,iBAAkBN,GAR9CsB,EACf,CACE9S,KAAMwS,OAAUh+C,EAAY,MAC5BksC,aAAc8R,OAAUh+C,EAAYq+C,GAEtC,CACE7G,eAAe,GAEwE4F,EAAa,CAAEt7C,UAAWs2B,EAAWsS,OAASsT,EAAUnhC,yBAAoBuhC,EAAWxoG,GAAS,GAAIqkG,IAAen+E,GAAYoiF,IAE3NR,IDhDY,SAAU/iF,GAC7B,IAAImnC,EAAYnnC,EAAMmnC,UAAWm7C,EAAgBtiF,EAAMsiF,cAAec,EAAgBpjF,EAAMojF,cAAeC,EAAUrjF,EAAMqjF,QAASjyC,EAASpxC,EAAMoxC,OACnJ,MAAO,CACH2+B,KAAM,CACFqT,GAAiB3lB,GAAWolB,YAC5BplB,GAAWsS,KACXsT,GAAW5lB,GAAW4jB,MACtBiB,EACAn7C,EACAiK,GAAUA,EAAO2+B,KAEjB3+B,GAAUA,EAAOwyC,uBExBiBv+C,EAAW,CACrDid,MAAO,SACR,GACH4gC,GAAK75E,YAAc,OCDI,SAAZw6E,GAAsB7jF,GAC7B,IAAImnC,EAAYnnC,EAAMmnC,UAAWm4C,EAAat/E,EAAMs/E,WAChDmD,EAAcp7B,GAAernD,EAAOgnD,GAAuB,CAC3D,aACA,kBACA,QACA,qBAEA88B,EAAUxE,EAAWC,KAAOv/E,EAAM,cAClC2jF,EAAUG,GACV9jF,EAAM,oBACNA,EAAM7Q,OACNmwF,EAAW,eACXA,EAAW,oBACXA,EAAWnwF,MAEX40F,EAAiB,CACjBvS,kBAAmBxxE,EAAM,mBACzByxE,mBAAoBzxE,EAAM,oBAC1B7Q,MAAO6Q,EAAM7Q,OAOjB,OAAQ+yD,yBAAoB,MAAOjnE,GAAS,GALvB0oG,EACf,GACA,CACE9G,eAAe,GAEyC4F,EAAa,CAAEt7C,UAAWyY,GAAIgjC,GAASnlB,GAAWsS,KAAMtS,GAAW4jB,MAAOl6C,KACtI+a,yBAAoB9uD,GAAOnY,GAAS,GAAI8oG,EAAgBzE,EAAY,CAAEC,IAAKoE,EAAUG,EAAU,OA3BhG,ICIIE,GAXAC,GAIF,EAJEA,GAMI,GAMJD,GAYeA,GAAvBA,IAA4C,IAVxBA,GAA6B,SAAI,GAAK,WAEzDA,GAAmBA,GAA+B,WAAI,GAAK,aAE3DA,GAAmBA,GAAkC,cAAI,GAAK,gBAK9DA,GAAmBA,GAA6B,SAAI,GAAK,WCpB7D,IAQIE,GARAtgC,GAAyB,oBAEzBE,GAAyB,oBACzBqgC,GAAW,WACXC,GAAmB,wBACnBC,GAAqB,0BACrBC,GAA6B,UAC7BC,IAAuC,UAgB3C,IAIyChtC,GC7B9BitC,GDyBPC,GAAgB,GAChBC,GAAc,IAAIh/E,IAClBi/E,GAAsB,CAAC,OAAQ,SAAU,WAAY,QAAS,MAAO,MAAO,UAE5EC,IACAlqG,EAAUkqG,GAD2BrtC,GAk/BvC4B,sBA/rBEyrC,GAAUC,cAAgB,WACtB,OAAOH,GAAYjyF,MAOvBmyF,GAAUE,kBAAoB,SAAUxvC,GAEhCA,EAAGv0B,QAAU26B,IACbgpC,GAAY1wF,QAAQ,SAAU+wF,GAAQ,OAAOA,EAAKC,uBAG1DJ,GAAUrqG,UAAUi2C,kBAAoB,WACpC,IAAIu/C,EAAOj1F,KAAKgjF,MAAMl9D,QAEtB,GADA6jF,GAAc3pG,KAAKg8D,KAAOh8D,KACtBi1F,EAAM,CACNj1F,KAAKmqG,eAAiBtzC,GAAUo+B,GAEhC,IADA,IAAI53B,EAAgB0E,GAAUkzB,GAvUb,GAwUV53B,GAAiBA,IAAkBr9D,KAAKoqG,eAAevnG,MAAmC,IAA3Bw6D,EAAcnrC,UAAgB,CAChG,GAAI03C,GAAmBvM,GAAgB,CACnCr9D,KAAKqqG,cAAe,EACpB,MAEJhtC,EAAgB0E,GAAU1E,GA7Ub,GA+UZr9D,KAAKqqG,eACNT,GAAY5+E,IAAIhrB,MACZA,KAAKmqG,gBAAuC,IAArBP,GAAYjyF,MACnC3X,KAAKmqG,eAAepiG,iBAAiB,UAAW+hG,GAAUE,mBAAmB,IAGrFhqG,KAAKgjF,MAAMl9D,SAAW9lB,KAAKgjF,MAAMl9D,QAAQ/d,iBAAiB,OAAQ/H,KAAKsqG,SAAS,GAEhFtqG,KAAKkqG,oBACDlqG,KAAKklB,MAAMqlF,wBAAuE,iBAAtCvqG,KAAKklB,MAAMqlF,uBACvDvqG,KAAKwqG,eAAiBxqG,KAAKoqG,eAAe57C,cAAcxuD,KAAKklB,MAAMqlF,wBAG9DvqG,KAAKklB,MAAMulF,uBAEhBzqG,KAAKwqG,eAAiBxqG,KAAKoqG,eAAe57C,cAAcxuD,KAAKklB,MAAMulF,uBAEnEzqG,KAAKklB,MAAMwlF,oBACX1qG,KAAKygD,UAIjBqpD,GAAUrqG,UAAU09C,mBAAqB,WACrC,IAAI83C,EAAOj1F,KAAKgjF,MAAMl9D,QAClBkqC,EAAMhwD,KAAKoqG,eACXp6C,GACAhwD,KAAK2qG,iBACJ36C,EAAI1gC,gBAAkB0gC,EAAIntD,MACD,OAAtBmtD,EAAI1gC,gBACFtvB,KAAKklB,MAAM0lF,yBAA2B56C,EAAI1gC,gBAAkB2lE,MAE9D4V,E9ErHT,SAAiCjjG,EAAQkjG,GAE5C,IADA,IAAItrD,EAAU53C,EACL+mD,EAAK,EAAGo8C,EAASD,EAAMn8C,EAAKo8C,EAAOrqG,OAAQiuD,IAAM,CACtD,IAAIxY,EAAQ40D,EAAOp8C,GACfq8C,EAAYxrD,EAAQn5B,SAASrV,KAAKQ,IAAI2kC,EAAOqJ,EAAQn5B,SAAS3lB,OAAS,IAC3E,IAAKsqG,EACD,MAEJxrD,EAAUwrD,EAMd,OAJAxrD,EACIwqB,GAAkBxqB,IAAYmqB,GAAiBnqB,GACzCA,EACA8qB,GAAe1iE,EAAQ43C,GAAS,IAAS0pB,GAAmBthE,EAAQ43C,G8EwGjDyrD,CAAwBhW,EAAMj1F,KAAK2qG,kBAEpD3qG,KAAKkrG,kBAAkBL,GAAgB,GACvCA,EAAepqD,QACfzgD,KAAKmrG,iBAAgB,IAKrBnrG,KAAKmrG,iBAAgB,KAIjCrB,GAAUrqG,UAAUqhD,qBAAuB,kBAChC6oD,GAAc3pG,KAAKg8D,KACrBh8D,KAAKqqG,eACNT,GAAYnvE,OAAOz6B,MAEfA,KAAKmqG,gBAAuC,IAArBP,GAAYjyF,MACnC3X,KAAKmqG,eAAehiG,oBAAoB,UAAW2hG,GAAUE,mBAAmB,IAGpFhqG,KAAKgjF,MAAMl9D,SACX9lB,KAAKgjF,MAAMl9D,QAAQ3d,oBAAoB,OAAQnI,KAAKsqG,SAAS,GAEjEtqG,KAAKwqG,eAAiB,KACtBxqG,KAAKorG,qBAAuB,MAEhCtB,GAAUrqG,UAAU0oB,OAAS,WACzB,IAAI0lC,EAAQ7tD,KAERorD,EAAKprD,KAAKklB,MAAOwT,EAAM0yB,EAAGgyC,GAAI7mD,EAAc6U,EAAG7U,YAAa80D,EAAYjgD,EAAGigD,UAAWnV,EAAkB9qC,EAAG8qC,gBAAiBD,EAAiB7qC,EAAG6qC,eAAgB5pC,EAAYjB,EAAGiB,UAC/KixC,EAAW/wB,GAAevsE,KAAKklB,MAAOgnD,IACtCo/B,EAAM5yE,GAAO6d,GAAe,MAMhCv2C,KAAKurG,6BAEL,I3C7ZiBnoB,E2C6ZbzkE,E3C1ZJ0sE,IADgB,KADUjI,OAAV,IAAhBA,GAAwC,EACxCA,GACSyH,GAAY,GAAIzH,GAEtBiI,G2CyZH,OAAQjkB,yBAAoBkkC,EAAKnrG,GAAS,CAAEu2F,kBAAmBT,EAAgBU,mBAAoBT,GAAmBoH,EAAU+N,EAAW,CAIvIh/C,UAAWyY,GAzafskC,GADCA,IACiB19C,GAAY,CAC1BuH,UAAW,CACPu4C,SAAU,CACN1pB,QAAS,UAPR,gBA6asBz1B,GAE/BpmC,IAAKjmB,KAAKyrG,WAAWzrG,KAAKklB,MAAMwmF,WAAY1rG,KAAKgjF,OAAQ2oB,oBAAqB3rG,KAAKg8D,IAEnFw6B,UAAW,SAAUh8B,GAAM,OAAO3M,EAAMggB,WAAWrT,EAAI77C,IAAW8iF,QAASzhG,KAAK4rG,SAAUC,mBAAoB7rG,KAAK2tE,eAAiB3tE,KAAKklB,MAAMmB,WAQvJyjF,GAAUrqG,UAAUghD,MAAQ,SAAUqrD,GAElC,QAD8B,IAA1BA,IAAoCA,GAAwB,GAC5D9rG,KAAKgjF,MAAMl9D,QAAS,CACpB,IAAKgmF,GAC2D,SAA5D9rG,KAAKgjF,MAAMl9D,QAAQ0pC,aAAasZ,KAChC9oE,KAAKqqG,aAAc,CACnB,IAAI0B,EAAmB/rG,KAAKgsG,cAAchsG,KAAKgjF,MAAMl9D,SACrD,GAAIimF,IAAqB/rG,KAAKgjF,MAAMl9D,QAIpC,OAAO,EAHCmmF,EAAYtC,GAAcoC,EAAiBv8C,aAAawZ,KAC5D,QAASijC,GAAaA,EAAUC,aAAalsG,KAAKgjF,MAAMl9D,SAI3D,IAAKgmF,GACN9rG,KAAKwqG,gBACLtoC,GAAgBliE,KAAKgjF,MAAMl9D,QAAS9lB,KAAKwqG,iBACzCxgC,GAAkBhqE,KAAKwqG,gBAEvB,OADAxqG,KAAKwqG,eAAe/pD,SACb,EAGH9uB,EAAa3xB,KAAKgjF,MAAMl9D,QAAQ6L,WACpC,OAAO3xB,KAAKksG,aAAa5hC,GAAetqE,KAAKgjF,MAAMl9D,QAAS6L,GAAY,IAGhF,OAAO,GAMXm4E,GAAUrqG,UAAU0sG,UAAY,WAC5B,GAAInsG,KAAKgjF,MAAMl9D,QAAS,CACpB,IAAImM,EAAYjyB,KAAKgjF,MAAMl9D,SAAW9lB,KAAKgjF,MAAMl9D,QAAQmM,UACzD,OAAOjyB,KAAKksG,aAAahjC,GAAmBlpE,KAAKgjF,MAAMl9D,QAASmM,GAAW,GAAM,GAAM,IAE3F,OAAO,GAUX63E,GAAUrqG,UAAUysG,aAAe,SAAU1sD,EAAS4sD,GAElD,IAAIhhD,EAAKprD,KAAKklB,MAAOmnF,EAAgBjhD,EAAGihD,cAAeC,EAAqBlhD,EAAGkhD,mBAC/E,QAAKA,IAAuBA,EAAmB9sD,IAAc6sD,IAAkBA,EAAc7sD,QAGzFA,IAEAx/C,KAAKkrG,kBAAkB1rD,EAAS4sD,GAC5BpsG,KAAKwqG,gBACLxqG,KAAKwqG,eAAe/pD,SAEjB,KASfqpD,GAAUrqG,UAAU8sG,kBAAoB,SAAU3c,GAC9C5vF,KAAKwsG,gBAAkB5c,GAE3Bka,GAAUrqG,UAAU8rG,2BAA6B,WAC7C,IAGQ3I,EAHJ3N,EAAOj1F,KAAKgjF,MAAMl9D,QAClBkqC,EAAMhwD,KAAKoqG,gBACXp6C,IACI4yC,EAAiB5yC,EAAI1gC,iBAEF2lE,IACfO,EAAqBtzB,GAAgB+yB,EAAM2N,GAAgB,GAC/D5iG,KAAK2qG,eAAiBnV,E9EvO/B,SAA6Bl0D,EAAaC,GAE7C,IADA,IAAIupE,EAAO,GACJvpE,GAAaD,GAAeC,IAAcD,GAAa,CAC1D,IAAIw6B,EAAWiG,GAAUxgC,GAAW,GACpC,GAAiB,OAAbu6B,EACA,MAAO,GAEXgvC,EAAKn9D,QAAQpuC,MAAME,UAAUqB,QAAQnB,KAAKm8D,EAASz1C,SAAUkb,IAC7DA,EAAYu6B,EAEhB,OAAOgvC,E8E6NgD2B,CAAoBxX,EAAM2N,QAAkBr4C,IAUnGu/C,GAAUrqG,UAAU0rG,gBAAkB,SAAUuB,GAC5C,IAAIzX,EAAOj1F,KAAKgjF,MAAMl9D,QAClBmvE,GAAQj1F,KAAK2sG,YAAcD,KAC3B1sG,KAAK2sG,UAAYD,IAER1sG,KAAKklB,MAAMskD,iBACZxpE,KAAK4sG,gBAAkB3X,EAAKzlC,aAAa,YACzCylC,EAAK5oE,aAAa,WAAY,OAElC4oE,EAAKx0C,SAECzgD,KAAKklB,MAAMskD,iBACbxpE,KAAK4sG,iBACL3X,EAAK5oE,aAAa,WAAYrsB,KAAK4sG,iBACnC5sG,KAAK4sG,qBAAkBriD,GAGvB0qC,EAAK7oE,gBAAgB,eAKrC09E,GAAUrqG,UAAUyrG,kBAAoB,SAAU1rD,EAAS4sD,GACvD,IAAIS,EAAwB7sG,KAAKwqG,eACjCxqG,KAAKwqG,eAAiBhrD,EAClBqtD,IACIjjC,GAAmBijC,IACnB7sG,KAAKkqG,kBAAkB2C,GAE3BA,EAAsB/hC,UAAY,GAElC9qE,KAAKwqG,iBACAxqG,KAAKwsG,kBAAmBJ,GACzBpsG,KAAK8sG,mBAAmBttD,GAAS,GAAM,GAE3Cx/C,KAAKwqG,eAAe1/B,SAAW,IAGvCg/B,GAAUrqG,UAAUstG,2BAA6B,SAAUvyC,GACvDx6D,KAAKklB,MAAM8nF,2BAA6BxyC,EAAG59C,kBAK/CktF,GAAUrqG,UAAUwtG,4BAA8B,SAAU9rG,GACxD,GAAIA,IAAWnB,KAAKgjF,MAAMl9D,UAAY9lB,KAAKklB,MAAMgoF,kBAC7C,OAAO,EAEX,EAAG,CACC,GAAuB,WAAnB/rG,EAAOk2C,SACY,MAAnBl2C,EAAOk2C,SACY,UAAnBl2C,EAAOk2C,SACY,aAAnBl2C,EAAOk2C,QACP,OAAO,EAEX,GAAIr3C,KAAKmtG,6BAA6BhsG,IACc,SAAhDA,EAAOquD,aAAasZ,KACiC,SAArD3nE,EAAOquD,aAllBW,+BAolBlB,OADAmT,GAAWxhE,IACJ,SAEXA,EAAS4gE,GAAU5gE,GA7jBF,MA8jBDnB,KAAKgjF,MAAMl9D,SAC/B,OAAO,GAKXgkF,GAAUrqG,UAAU2tG,mBAAqB,SAAUt2C,GAE/C,KADAA,EAAcA,GAAe92D,KAAKwqG,gBAAkBxqG,KAAKgjF,MAAMl9D,SAE3D,OAAO,KAEX,GAAI8jD,GAAmB9S,GACnB,OAAO6yC,GAAc7yC,EAAYtH,aAAawZ,KAGlD,IADA,IAAIhwC,EAAQ89B,EAAY0T,kBACjBxxC,GAAO,CACV,GAAI4wC,GAAmB5wC,GACnB,OAAO2wE,GAAc3wE,EAAMw2B,aAAawZ,KAE5C,IAAI/6C,EAAQjuB,KAAKotG,mBAAmBp0E,GACpC,GAAI/K,EACA,OAAOA,EAEX+K,EAAQA,EAAMo1B,mBAElB,OAAO,MAEX07C,GAAUrqG,UAAU4tG,WAAa,SAAUC,EAAWC,EAAuB/yC,EAAIgzC,QACtD,IAAnBA,IAA6BA,GAAiB,GAClD,IAAIhuD,EAAUx/C,KAAKwqG,eACfiD,GAAqB,EACrBC,OAAmBnjD,EACnBojD,GAAe,EACfC,EAAkB5tG,KAAKklB,MAAMwqE,YAAcwZ,GAAmB2E,cAClE,IAAKruD,IAAYx/C,KAAKgjF,MAAMl9D,QACxB,OAAO,EAEX,GAAI9lB,KAAK8tG,gBAAgBtuD,KAChBx/C,KAAK+tG,sBAAsBvuD,EAAS8tD,GACrC,OAAO,EAGf,IAAIU,EAAaJ,EAAkBpuD,EAAQixC,wBAA0B,KACrE,EAAG,CAIC,GAHAjxC,GAAW8tD,EACLhjC,GACApB,IADelpE,KAAKgjF,MAAMl9D,QAAS05B,IAErCouD,EAiBC,CACDF,EAAmBluD,EACnB,MAlBA,GAAIA,EAAS,CACT,IACIyuD,EAAkBV,EAAsBS,EAD3BxuD,EAAQixC,yBAEzB,IAAyB,IAArBwd,IAAiD,IAAvBR,EAA0B,CACpDC,EAAmBluD,EACnB,MAMJ,IAJuB,EAAnByuD,KAAgD,IAAvBR,GAA4BQ,EAAkBR,KACvEA,EAAoBQ,EACpBP,EAAmBluD,GAEE,GAArBiuD,GAA0BQ,EAAkB,EAC5C,aAQPzuD,GAET,GAAIkuD,GAAoBA,IAAqB1tG,KAAKwqG,eAC9CmD,GAAe,EACf3tG,KAAKksG,aAAawB,QAEjB,GAAI1tG,KAAKklB,MAAMgpF,sBAAwBV,EACxC,OAAIF,EACOttG,KAAKksG,aAAa5hC,GAAetqE,KAAKgjF,MAAMl9D,QAAS9lB,KAAKgjF,MAAMl9D,QAAQ0kD,mBAAmB,IAG3FxqE,KAAKksG,aAAahjC,GAAmBlpE,KAAKgjF,MAAMl9D,QAAS9lB,KAAKgjF,MAAMl9D,QAAQikD,kBAAkB,GAAM,GAAM,IAGzH,OAAO4jC,GAEX7D,GAAUrqG,UAAU0uG,eAAiB,WACjC,IAAItgD,EAAQ7tD,KACRouG,GAAa,EAEbC,EAAgBruG,KAAKwsG,gBAAgBhmD,MAAQxmD,KAAKwsG,gBAAgB/nF,GAAK,EAC3E,QAAIzkB,KAAKqtG,YAAW,EAAM,SAAUW,EAAYld,GAC5C,IAAIwd,GAAY,EAKZC,EAAgBv9F,KAAK0Y,MAAMonE,EAAWpqC,KACtC8nD,EAAmBx9F,KAAK0Y,MAAMskF,EAAWjtC,QAC7C,OAAIwtC,EAAgBC,EACX3gD,EAAM4gD,iBAAiB5gD,EAAM28C,eAAgBlB,IAG3CE,GAFIC,MAIK,IAAf2E,GAAqCI,GAAjBD,GAAsCA,IAAkBH,KAC7EA,EAAYG,EAERD,EADAD,GAAiBvd,EAAWtqC,MAAQ6nD,GAAiBvd,EAAWtqC,KAAOsqC,EAAWx/E,MACvE,EAGAN,KAAKm/E,IAAIW,EAAWtqC,KAAOsqC,EAAWx/E,MAAQ,EAAI+8F,IAG9DC,OAEPtuG,KAAK8sG,mBAAmB9sG,KAAKwqG,gBAAgB,GAAO,IAC7C,IAIfV,GAAUrqG,UAAUivG,aAAe,WAC/B,IAAI7gD,EAAQ7tD,KACRouG,GAAa,EAEbC,EAAgBruG,KAAKwsG,gBAAgBhmD,MAAQxmD,KAAKwsG,gBAAgB/nF,GAAK,EAC3E,QAAIzkB,KAAKqtG,YAAW,EAAO,SAAUW,EAAYld,GAC7C,IAAIwd,GAAY,EAKZK,EAAmB39F,KAAK0Y,MAAMonE,EAAW/vB,QACzCwtC,EAAgBv9F,KAAK0Y,MAAMonE,EAAWpqC,KACtCkoD,EAAgB59F,KAAK0Y,MAAMskF,EAAWtnD,KAC1C,OAAuBkoD,EAAnBD,EACK9gD,EAAM4gD,iBAAiB5gD,EAAM28C,eAAgBlB,IAG3CE,GAFIC,MAIK,IAAf2E,GAAoBO,GAAoBC,GAAkBL,IAAkBH,KAC7EA,EAAYG,EAERD,EADAD,GAAiBvd,EAAWtqC,MAAQ6nD,GAAiBvd,EAAWtqC,KAAOsqC,EAAWx/E,MACvE,EAGAN,KAAKm/E,IAAIW,EAAWtqC,KAAOsqC,EAAWx/E,MAAQ,EAAI+8F,IAG9DC,OAEPtuG,KAAK8sG,mBAAmB9sG,KAAKwqG,gBAAgB,GAAO,IAC7C,IAIfV,GAAUrqG,UAAUovG,eAAiB,SAAUlwF,GAC3C,IAAIkvC,EAAQ7tD,KACR8uG,EAAa9uG,KAAKyuG,iBAAiBzuG,KAAKwqG,eAAgBjB,IAC5D,QAAIvpG,KAAKqtG,WAAW99C,GAAO5wC,GAAQ,SAAUqvF,EAAYld,GACrD,IAAIwd,GAAY,EAOZS,EALAx/C,GAAO5wC,GAKeuiD,WAAW4vB,EAAWpqC,IAAIya,QAAQ,IAAMD,WAAW8sC,EAAWjtC,OAAOI,QAAQ,IAG7ED,WAAW4vB,EAAW/vB,OAAOI,QAAQ,IAAMD,WAAW8sC,EAAWtnD,IAAIya,QAAQ,IAUvG,OARI4tC,GACAje,EAAWhwB,OAASktC,EAAWltC,OAC/BjT,EAAM3oC,MAAMwqE,YAAcwZ,GAAmB8F,SAC7CV,EAAWN,EAAWltC,MAAQgwB,EAAWhwB,MAEnCguC,IACNR,EAAW7E,IAER6E,QACR/jD,EAAkBukD,KACjB9uG,KAAK8sG,mBAAmB9sG,KAAKwqG,gBAAgB,GAAM,IAC5C,IAIfV,GAAUrqG,UAAUwvG,gBAAkB,SAAUtwF,GAC5C,IAAIkvC,EAAQ7tD,KACR8uG,EAAa9uG,KAAKyuG,iBAAiBzuG,KAAKwqG,eAAgBjB,IAC5D,QAAIvpG,KAAKqtG,YAAY99C,GAAO5wC,GAAQ,SAAUqvF,EAAYld,GACtD,IAAIwd,GAAY,EAOZS,EALAx/C,GAAO5wC,GAKeuiD,WAAW4vB,EAAW/vB,OAAOI,QAAQ,IAAMD,WAAW8sC,EAAWtnD,IAAIya,QAAQ,IAG7ED,WAAW4vB,EAAWpqC,IAAIya,QAAQ,IAAMD,WAAW8sC,EAAWjtC,OAAOI,QAAQ,IAUvG,OARI4tC,GACAje,EAAWtqC,MAAQwnD,EAAWxnD,MAC9BqH,EAAM3oC,MAAMwqE,YAAcwZ,GAAmB8F,SAC7CV,EAAWxd,EAAWtqC,KAAOwnD,EAAWxnD,KAElCsoD,IACNR,EAAW7E,IAER6E,QACR/jD,EAAkBukD,KACjB9uG,KAAK8sG,mBAAmB9sG,KAAKwqG,gBAAgB,GAAM,IAC5C,IAIfV,GAAUrqG,UAAUyvG,iBAAmB,SAAU5B,EAAWE,QACjC,IAAnBA,IAA6BA,GAAiB,GAClD,IAAIhuD,EAAUx/C,KAAKwqG,eACnB,IAAKhrD,IAAYx/C,KAAKgjF,MAAMl9D,QACxB,OAAO,EAEX,GAAI9lB,KAAK8tG,gBAAgBtuD,KAChBx/C,KAAK+tG,sBAAsBvuD,EAAS8tD,GACrC,OAAO,EAGf,IAAI6B,EAAmBjyC,GAAqB1d,GAC5C,IAAK2vD,EACD,OAAO,EAEX,IAAI1B,GAAqB,EACrBC,OAAmBnjD,EACnB6jD,GAAa,EACbgB,GAAgB,EAChBC,EAAWF,EAAiB5Y,aAC5ByX,EAAaxuD,EAAQixC,wBACzB,GAII,GAHAjxC,GAAU8tD,EACJhjC,GACApB,IADelpE,KAAKgjF,MAAMl9D,QAAS05B,GAE5B,CACT,IAAIsxC,EAAatxC,EAAQixC,wBACrB8d,EAAgBv9F,KAAK0Y,MAAMonE,EAAWpqC,KACtC8nD,EAAmBx9F,KAAK0Y,MAAMskF,EAAWjtC,QACzC4tC,EAAmB39F,KAAK0Y,MAAMonE,EAAW/vB,QACzC6tC,EAAgB59F,KAAK0Y,MAAMskF,EAAWtnD,KACtCunD,EAAkBjuG,KAAKsvG,iCAAiChC,EAAWU,EAAYld,GAGnF,GAF0Cwc,GAA6BkB,EAAmBa,EAAnCd,IACdjB,GAAaqB,EAAmBC,EAAgBS,EAErF,OAEmB,EAAnBpB,IAEIX,GAA6Bc,EAAhBG,GACbH,EAAYG,EACZd,EAAoBQ,EACpBP,EAAmBluD,IAEb8tD,GAAaqB,EAAmBS,GAEtCA,EAAeT,EACflB,EAAoBQ,EACpBP,EAAmBluD,KAES,IAAvBiuD,GAA4BQ,GAAmBR,KACpDA,EAAoBQ,EACpBP,EAAmBluD,WAI1BA,GACLmuD,GAAe,EAEnB,GAAID,GAAoBA,IAAqB1tG,KAAKwqG,eAC9CmD,GAAe,EACf3tG,KAAKksG,aAAawB,GAClB1tG,KAAK8sG,mBAAmBY,GAAkB,GAAO,QAEhD,GAAI1tG,KAAKklB,MAAMgpF,sBAAwBV,EACxC,OAAIF,EACOttG,KAAKksG,aAAa5hC,GAAetqE,KAAKgjF,MAAMl9D,QAAS9lB,KAAKgjF,MAAMl9D,QAAQ0kD,mBAAmB,IAE/FxqE,KAAKksG,aAAahjC,GAAmBlpE,KAAKgjF,MAAMl9D,QAAS9lB,KAAKgjF,MAAMl9D,QAAQikD,kBAAkB,GAAM,GAAM,IAErH,OAAO4jC,GAEX7D,GAAUrqG,UAAUqtG,mBAAqB,SAAUttD,EAAS+vD,EAAcC,GACtE,IAIQxe,EAJJhxF,KAAKklB,MAAMwqE,YAAcwZ,GAAmB2E,eAC1C7tG,KAAKwsG,kBAAmB+C,IAAgBC,IAEtChpD,GADAya,EAAOzhB,EAAQixC,yBACHjqC,KAAOya,EAAK3vD,MAAQ,EAChC0/E,EAAQ/vB,EAAKva,IAAMua,EAAK1vD,OAAS,EAChCvR,KAAKwsG,kBACNxsG,KAAKwsG,gBAAkB,CAAEhmD,KAAMA,EAAME,IAAKsqC,IAE1Cue,IACAvvG,KAAKwsG,gBAAgBhmD,KAAOA,GAE5BgpD,IACAxvG,KAAKwsG,gBAAgB9lD,IAAMsqC,KAIvC8Y,GAAUrqG,UAAU0tG,6BAA+B,SAAU3tD,GACzD,OAAOx/C,KAAKgsG,cAAcxsD,KAAax/C,KAAKgjF,MAAMl9D,SAEtDgkF,GAAUrqG,UAAUusG,cAAgB,SAAUxsD,GAE1C,IADA,IAAI6d,EAAgB0E,GAAUviB,GAp3BT,GAq3Bd6d,GAAiBA,IAAkBr9D,KAAKgjF,MAAMl9D,SAAWu3C,IAAkBr9D,KAAKoqG,eAAevnG,MAAM,CACxG,GAAI+mE,GAAmBvM,GACnB,OAAOA,EAEXA,EAAgB0E,GAAU1E,GAz3BT,GA23BrB,OAAOA,GAEXysC,GAAUrqG,UAAUyqG,kBAAoB,SAAU1qD,IACzCx/C,KAAKwqG,gBACNxqG,KAAKklB,MAAMqlF,wBACkC,mBAAtCvqG,KAAKklB,MAAMqlF,yBAClBvqG,KAAKwqG,eAAiBxqG,KAAKklB,MAAMqlF,uBAAuBvqG,KAAKgjF,MAAMl9D,WAElE05B,GAAWx/C,KAAKgjF,MAAMl9D,UACvB9lB,KAAKorG,qBAAuB,KAC5B5rD,EAAUx/C,KAAKgjF,MAAMl9D,QACjB9lB,KAAKwqG,iBAAmBtoC,GAAgB1iB,EAASx/C,KAAKwqG,kBACtDxqG,KAAKwqG,eAAiB,OAK1BxqG,KAAKwqG,iBAAmBxgC,GAAkBhqE,KAAKwqG,kBAC/CxqG,KAAKwqG,eAAiB,MAG1B,IADA,IAAIj8C,EAAa/O,GAAWA,EAAQn5B,SAC3BopF,EAAa,EAAGlhD,GAAckhD,EAAalhD,EAAW7tD,OAAQ+uG,IAAc,CACjF,IAAIz2E,EAAQu1B,EAAWkhD,GAClB7lC,GAAmB5wC,GAyBgC,SAA/CA,EAAMw2B,aAAasZ,MACnB9oE,KAAKqqG,eACHrqG,KAAKwqG,gBAAmBxqG,KAAKorG,uBAAyBprG,KAAKwqG,iBAAmBxxE,EAM3C,OAAjCA,EAAMw2B,aAAa65C,KACxBrwE,EAAM3M,aAAag9E,GAAU,MALQ,OADrCrpG,KAAKorG,qBAAuBpyE,GAClBw2B,aAAa65C,KACnBrwE,EAAM3M,aAAag9E,GAAU,OA5BjCrwE,EAAMw2B,cAA+D,UAA/Cx2B,EAAMw2B,aAAasZ,KACzC9vC,EAAM3M,aAAag9E,GAAU,MAE7Br/B,GAAkBhxC,GACdh5B,KAAKklB,MAAMuL,SACXuI,EAAM3M,aAAag9E,GAAU,MAEvBrpG,KAAKqqG,eACRrqG,KAAKwqG,gBAAmBxqG,KAAKorG,uBAAyBprG,KAAKwqG,iBAAmBxxE,EAM3C,OAAjCA,EAAMw2B,aAAa65C,KACxBrwE,EAAM3M,aAAag9E,GAAU,MALQ,OADrCrpG,KAAKorG,qBAAuBpyE,GAClBw2B,aAAa65C,KACnBrwE,EAAM3M,aAAag9E,GAAU,KAOd,QAAlBrwE,EAAMqe,SAAyD,UAApCre,EAAMw2B,aAAa,cAEnDx2B,EAAM3M,aAAa,YAAa,UAexCrsB,KAAKkqG,kBAAkBlxE,KAG/B8wE,GAAUrqG,UAAUiwG,0BAA4B,SAAUlwD,GACtD,OAAOA,GAAuD,SAA5CA,EAAQgQ,aAAa,oBAE3Cs6C,GAAUrqG,UAAUquG,gBAAkB,SAAUtuD,GAC5C,SAAIA,IACAA,EAAQnI,SAC2B,UAAlCmI,EAAQnI,QAAQvwC,eAA+D,aAAlC04C,EAAQnI,QAAQvwC,gBAKtEgjG,GAAUrqG,UAAUsuG,sBAAwB,SAAUvuD,EAAS8tD,GAE3D,IAAKttG,KAAK2vG,mBACNnwD,GACAA,EAAQjrC,OACmD,EAA3Ds1F,GAAoB/oG,QAAQ0+C,EAAQjrC,KAAKzN,eAAqB,CAC9D,IAAI8kC,EAAiB4T,EAAQ5T,eACzBE,EAAe0T,EAAQ1T,aAEvB8jE,EAAapwD,EAAQn9C,MACrBwtG,EAAarwD,EAAQswD,SAQzB,GAVsBlkE,IAAmBE,GAWnB,EAAjBF,IAAuB0hE,IAAcuC,GACrCjkE,IAAmBgkE,EAAWlvG,QAAU4sG,IAAcuC,GACpD7vG,KAAKklB,MAAM6qF,gBACR/vG,KAAKklB,MAAM8qF,iCAAkChwG,KAAKklB,MAAM8qF,+BAA+BxwD,IAC7F,OAAO,EAGf,OAAO,GAEXsqD,GAAUrqG,UAAUgvG,iBAAmB,SAAUjvD,EAAS0rB,GACtD,OAAOlrE,KAAKklB,MAAM+qF,gBAAiBhlC,GAAgBzrB,EAAS0rB,IAKhE4+B,GAAUrqG,UAAUywG,uBAAyB,SAAU1wD,GACnD,OAAOA,KAAax/C,KAAKgjF,MAAMl9D,SAAW08C,GAAsBhjB,EAASx/C,KAAKgjF,MAAMl9D,UAExFgkF,GAAUrqG,UAAU2qG,aAAe,WAC/B,OAAO7tC,GAAYv8D,KAAKgjF,MAAMl9D,UAElCgkF,GAAUxjF,aAAe,CACrB4nF,sBAAsB,EACtBxe,UAAWwZ,GAAmB2E,cAC9BX,mBAAmB,GAEhBpD,IA/+BP,SAASA,GAAU5kF,GACf,IAAI2oC,EAAQ4O,GAAO98D,KAAKK,KAAMklB,IAAUllB,KA6SxC,OA5SA6tD,EAAMm1B,MAAQmtB,uBACdtiD,EAAM49C,WAAa97B,KACnB9hB,EAAM+9C,SAAW,SAAUpxC,GACvB,IAAI3M,EAAMqiD,uBAAuB11C,EAAGr5D,QAApC,CAIA,IAMIivG,EANAhlD,EAAKyC,EAAM3oC,MAAOmrF,EAAyBjlD,EAAGilD,uBAElDC,EAAkCllD,EAAGklD,gCAAiCC,EAAuBnlD,EAAGmlD,qBAEhGC,EAAsBplD,EAAGolD,oBAAqB/O,EAAUr2C,EAAGq2C,QAASgP,EAA2CrlD,EAAGqlD,yCAA0ClG,EAAyBn/C,EAAGm/C,uBACpLmG,EAAwB7iD,EAAMs/C,6BAA6B3yC,EAAGr5D,QAElE,GAAIuvG,EACAN,EAAmB51C,EAAGr5D,YAItB,IADA,IAAIk8D,EAAgB7C,EAAGr5D,OAChBk8D,GAAiBA,IAAkBxP,EAAMm1B,MAAMl9D,SAAS,CAC3D,GAAIkkD,GAAkB3M,IAAkBxP,EAAMs/C,6BAA6B9vC,GAAgB,CACvF+yC,EAAmB/yC,EACnB,MAEJA,EAAgB0E,GAAU1E,GA7BjB,GAiCbozC,GAA4Cj2C,EAAGr5D,SAAW0sD,EAAMm1B,MAAMl9D,WAClE6qF,EAAsBpG,GACY,mBAA3BA,GACPA,EAAuB18C,EAAMm1B,MAAMl9D,WAEZkkD,GAAkB2mC,IACzCP,EAAmBO,GACClwD,SAIpBoN,EAAMpN,OAAM,GACRoN,EAAM28C,iBAEN4F,EAAmB,QAI/B,IAAIQ,GAAyB/iD,EAAM28C,eAG/B4F,GAAoBA,IAAqBviD,EAAM28C,kBAC3CkG,GAAyBE,IACzB/iD,EAAMi/C,mBAAmBsD,GAAkB,GAAM,GAErDviD,EAAM28C,eAAiB4F,EACnBQ,GACA/iD,EAAMq8C,qBAGVmG,GACAA,EAAuBxiD,EAAM28C,eAAgBhwC,IAE7C+1C,GAAwBD,IACxB91C,EAAG96B,kBAEH+hE,EACAA,EAAQjnC,GAEHg2C,GACLA,MAGR3iD,EAAMy8C,QAAU,WACZz8C,EAAMs9C,iBAAgB,IAE1Bt9C,EAAM8f,aAAe,SAAUnT,GAC3B,IAAI3M,EAAMqiD,uBAAuB11C,EAAGr5D,UAIrB0sD,EAAM3oC,MAAMuL,SAC3B,CAKA,IAFA,IAAItvB,EAASq5D,EAAGr5D,OACZ2pG,EAAO,GACJ3pG,GAAUA,IAAW0sD,EAAMm1B,MAAMl9D,SACpCglF,EAAKhnG,KAAK3C,GACVA,EAAS4gE,GAAU5gE,GA5FN,GA8FjB,KAAO2pG,EAAKpqG,UACRS,EAAS2pG,EAAKjnG,QACAmmE,GAAkB7oE,IAC5B0sD,EAAMq9C,kBAAkB/pG,GAAQ,IAEhCyoE,GAAmBzoE,SAS/B0sD,EAAMggB,WAAa,SAAUrT,EAAI77C,GAC7B,IAAIkvC,EAAMqiD,uBAAuB11C,EAAGr5D,QAApC,CAKA,IAAIiqD,EAAKyC,EAAM3oC,MAAOwqE,EAAYtkC,EAAGskC,UAAWj/D,EAAW26B,EAAG36B,SAAUogF,EAAuBzlD,EAAGylD,qBAAsBC,EAAwB1lD,EAAG0lD,sBAAuBC,EAAuB3lD,EAAG2lD,qBACpM,KAAItgF,IAGAo9B,EAAM3oC,MAAMsxE,WACZ3oC,EAAM3oC,MAAMsxE,UAAUh8B,GAGtBA,EAAGl7B,sBAGHuuB,EAAMu8C,eAAe96E,gBAAkBu+B,EAAMm1B,MAAMl9D,SAAW+nC,EAAMw8C,eAAxE,CAKA,IAAM0G,GAAwBA,EAAqBv2C,IAASq2C,GAAwBA,EAAqBr2C,KACrG3M,EAAMs/C,6BAA6B3yC,EAAGr5D,QAAS,CAE3C6vG,EAAYnjD,EAAMu/C,qBACtB,GAAI4D,GACA,IAAKA,EAAUvwD,OAAM,GACjB,WAGH,CAAA,IAAIopB,GAAsBrP,EAAGr5D,QAM9B,OALA,IAAK0sD,EAAMq+C,aAAa5hC,GAAe9P,EAAGr5D,OAAQq5D,EAAGr5D,OAAOwwB,YAAY,IACpE,YAOP,CAAA,GAAI6oC,EAAGx5B,OACR,OAIA,OAAQw5B,EAAGv0B,OACP,KAAK26B,GACD,GAAI/S,EAAMo/C,4BAA4BzyC,EAAGr5D,QACrC,MAEJ,OACJ,KAAKy/D,GACD,GAAI8uB,IAAcwZ,GAAmB8F,WACjCnhD,EAAMk/C,2BAA2BvyC,GAC7B3M,EAAMghD,eAAelwF,IACrB,MAGR,OACJ,KAAKiiD,GACD,GAAI8uB,IAAcwZ,GAAmB8F,WACjCnhD,EAAMk/C,2BAA2BvyC,GAC7B3M,EAAMohD,gBAAgBtwF,IACtB,MAGR,OACJ,KAAKiiD,GACD,GAAI8uB,IAAcwZ,GAAmB+H,aACjCpjD,EAAMk/C,2BAA2BvyC,GAC7B3M,EAAM6gD,gBACN,MAGR,OACJ,KAAK9tC,GACD,GAAI8uB,IAAcwZ,GAAmB+H,aACjCpjD,EAAMk/C,2BAA2BvyC,GAC7B3M,EAAMsgD,kBACN,MAGR,OACJ,KAAKvtC,GACD,IAAKkwC,GAAyBjjD,EAAMqhD,kBAAiB,GACjD,MAEJ,OACJ,KAAKtuC,GACD,IAAKkwC,GAAyBjjD,EAAMqhD,kBAAiB,GACjD,MAEJ,OACJ,KAAKtuC,GACD,GAEA/S,EAAM3oC,MAAMgsF,aACRrjD,EAAM3oC,MAAM6qF,eAAiB5G,IAC5Bt7C,EAAM3oC,MAAM6qF,eAAiB5G,IAC1Bt7C,EAAMigD,gBAAgBtzC,EAAGr5D,QAAU,CACvC,IAAIgwG,GAAe,EAWnB,GAVAtjD,EAAM8hD,mBAAoB,EAOtBwB,EANAzhB,IAAcwZ,GAAmB8F,UAChCnhD,EAAM4gD,iBAAiB5gD,EAAM28C,eAAgBjB,KAIvBh6C,GAAO5wC,IAAU67C,EAAGz5B,SAAWy5B,EAAGz5B,UACvB8sB,EAAMghD,eAAelwF,GAASkvC,EAAMohD,gBAAgBtwF,GAJvE67C,EAAGz5B,SAAW8sB,EAAM6gD,eAAiB7gD,EAAMsgD,iBAM9DtgD,EAAM8hD,mBAAoB,EACtBwB,EACA,MAEKtjD,EAAM3oC,MAAMksF,0CACjBvjD,EAAM28C,eAAiB,MAG/B,OACJ,KAAK5pC,GACD,GAAI/S,EAAM6hD,0BAA0Bl1C,EAAGr5D,SAClC0sD,EAAMigD,gBAAgBtzC,EAAGr5D,UACrB0sD,EAAMkgD,sBAAsBvzC,EAAGr5D,QAAQ,GAC5C,OAAO,EAEX,IAAIwwB,EAAak8B,EAAMm1B,MAAMl9D,SAAW+nC,EAAMm1B,MAAMl9D,QAAQ6L,WAC5D,GAAIk8B,EAAMm1B,MAAMl9D,SACZ6L,GACAk8B,EAAMq+C,aAAa5hC,GAAezc,EAAMm1B,MAAMl9D,QAAS6L,GAAY,IACnE,MAEJ,OACJ,KAAKivC,GACD,GAAI/S,EAAM6hD,0BAA0Bl1C,EAAGr5D,SAClC0sD,EAAMigD,gBAAgBtzC,EAAGr5D,UACrB0sD,EAAMkgD,sBAAsBvzC,EAAGr5D,QAAQ,GAC5C,OAAO,EAEP8wB,EAAY47B,EAAMm1B,MAAMl9D,SAAW+nC,EAAMm1B,MAAMl9D,QAAQmM,UAC3D,GAAI47B,EAAMm1B,MAAMl9D,SACZ+nC,EAAMq+C,aAAahjC,GAAmBrb,EAAMm1B,MAAMl9D,QAASmM,GAAW,GAAM,GAAM,IAClF,MAEJ,OACJ,KAAK2uC,GACD,GAAI/S,EAAMo/C,4BAA4BzyC,EAAGr5D,QACrC,MAEJ,OACJ,QACI,QAGZq5D,EAAG59C,iBACH49C,EAAG96B,qBAEPmuB,EAAMyhD,iCAAmC,SAAUhC,EAAWU,EAAYld,GAEtE,IAAIud,EAAgBxgD,EAAM2+C,gBAAgBhmD,MAAQqH,EAAM2+C,gBAAgB/nF,GAAK,EAKzE8pF,EAAgBv9F,KAAK0Y,MAAMonE,EAAWpqC,KACtC8nD,EAAmBx9F,KAAK0Y,MAAMskF,EAAWjtC,QACzC4tC,EAAmB39F,KAAK0Y,MAAMonE,EAAW/vB,QACzC6tC,EAAgB59F,KAAK0Y,MAAMskF,EAAWtnD,KAG1C,OAFmC4mD,GAA6BkB,EAAhBD,IACdjB,GAAaqB,EAAmBC,EAE1DP,GAAiBvd,EAAWtqC,MAAQ6nD,GAAiBvd,EAAWtqC,KAAOsqC,EAAWx/E,MAC3E,EAEJN,KAAKm/E,IAAIW,EAAWtqC,KAAOsqC,EAAWx/E,MAAQ,EAAI+8F,GAExDxgD,EAAM4gD,iBAAiB5gD,EAAM28C,eAAgBlB,IAG3CE,GAFIC,IAKf98B,GAAuB9e,GAUvBA,EAAMmO,IAAMwP,GAAM,aAClB3d,EAAM2+C,gBAAkB,CACpBhmD,KAAM,EACNE,IAAK,GAETmH,EAAM8hD,mBAAoB,EACnB9hD,EEzUR,SAASwjD,GAAatlC,GACzB,OAAIA,EAAKulC,YACKvlC,EAAKwlC,YAAaxlC,EAAK38C,SAEP,kBAAnB28C,EAAKwlC,UACLxlC,EAAKwlC,UAEY,kBAAjBxlC,EAAK38C,QACL28C,EAAK38C,QAGT,KAEJ,SAASoiF,GAAWzlC,GACvB,SAAUA,EAAK0lC,eAAgB1lC,EAAKF,OAEjC,SAAS6lC,GAAe3lC,GAC3B,SAAUA,EAAKhiB,aAAcgiB,EAAKt7C,UAE/B,SAASkhF,GAAoB5lC,GAGhC,OAD6B,OADbslC,GAAatlC,GAEX,mBAAqB,YDzBhC29B,GAKmBA,GAA3BA,IAAoD,IAJ5BA,GAA+B,OAAI,GAAK,SAC/DA,GAAuBA,GAAgC,QAAI,GAAK,UAChEA,GAAuBA,GAA+B,OAAI,GAAK,SAC/DA,GAAuBA,GAAgC,QAAI,GAAK,UEJ/C,SAAjBkI,GAA2B1sF,GAC3B,IAAI6mD,EAAO7mD,EAAM6mD,KAAM8lC,EAAW3sF,EAAM2sF,SAAUlvB,EAAaz9D,EAAMy9D,WACjEmvB,EAAY/lC,EAAK+lC,UACrB,OAAKD,EAGD9lC,EAAKgmC,aACEhmC,EAAKgmC,aAAa7sF,GAEtBkiD,yBAAoBghC,GAAMjoG,GAAS,GAAI2xG,EAAW,CAAEzlD,UAAWs2B,EAAW/F,QALtE,KAOW,SAAtBo1B,GAAgC5mD,GAChC,IAAI6mD,EAAmB7mD,EAAG6mD,iBAAkBlmC,EAAO3gB,EAAG2gB,KAAM4W,EAAav3B,EAAGu3B,WACxEuvB,EAAgBb,GAAatlC,GACjC,OAAIkmC,EAGQ7qC,yBAAoBghC,GAAM,CAAEb,UAA4B,IAAlBx7B,EAAKulC,UAAsBY,EAAgB,YAAc,GAAI7lD,UAAWs2B,EAAWwvB,cAE7HjzD,QAHU,SAAUr+C,GAAK,OAAOoxG,EAAiBlmC,EAAMlrE,MAKxD,KAEU,SAAjBuxG,GAA2BhnD,GAC3B,IAAI2gB,EAAO3gB,EAAG2gB,KAAM4W,EAAav3B,EAAGu3B,WAEpC,OAAI5W,EAAKljC,MAAQkjC,EAAKt0D,KACX2vD,yBAAoB,OAAQ,CAAE/a,UAAWs2B,EAAW1/E,OAAS8oE,EAAKljC,MAAQkjC,EAAKt0D,MAGnF,KAEe,SAAtB46F,GAAgCjnD,GAChC,IAAI2gB,EAAO3gB,EAAG2gB,KAAM4W,EAAav3B,EAAGu3B,WACpC,OAAI5W,EAAKumC,cACElrC,yBAAoB,OAAQ,CAAE/a,UAAWs2B,EAAW2vB,eAAiBvmC,EAAKumC,eAE9E,KAEa,SAApBC,GAA8BnnD,GAC9B,IAAI2gB,EAAO3gB,EAAG2gB,KAAM4W,EAAav3B,EAAGu3B,WAAYhkE,EAAQysC,EAAGzsC,MAC3D,OAAI6yF,GAAWzlC,GACH3E,yBAAoBghC,GAAMjoG,GAAS,CAAEonG,SAAUh4C,GAAO5wC,GAAS,cAAgB,gBAAkBotD,EAAKymC,iBAAkB,CAAEnmD,UAAWs2B,EAAW8vB,eAErJ,KA5CX,IA8CsDh2C,GAAlDi2C,IACA9yG,EAAU8yG,GADwCj2C,GAgDpD4B,sBApBEq0C,GAAuBjzG,UAAU0oB,OAAS,WACtC,IAAIijC,EAAKprD,KAAKklB,MAAO6mD,EAAO3gB,EAAG2gB,KAAM4W,EAAav3B,EAAGu3B,WACjDgwB,EAAgB5mC,EAAK6mC,iBAAmB5yG,KAAK6yG,cACjD,OAAQzrC,yBAAoB,MAAO,CAAE/a,UAAW0f,EAAK5+D,MAAQw1E,EAAWmwB,gBAAkBnwB,EAAWowB,aAAeJ,EAAc3yG,KAAKklB,MAAO,CAC1I8sF,oBAAqBA,GACrBJ,eAAgBA,GAChBQ,eAAgBA,GAChBC,oBAAqBA,GACrBE,kBAAmBA,OAG3BG,GAAuBjzG,UAAUozG,cAAgB,SAAU3tF,EAAO8tF,GAC9D,OAAQ5rC,yBAAoB+1B,oBAAgB,KACxC6V,EAAehB,oBAAoB9sF,GACnC8tF,EAAepB,eAAe1sF,GAC9B8tF,EAAeZ,eAAeltF,GAC9B8tF,EAAeX,oBAAoBntF,GACnC8tF,EAAeT,kBAAkBrtF,KAElCwtF,IA7CP,SAASA,GAAuBxtF,GAC5B,IAAI2oC,EAAQ4O,GAAO98D,KAAKK,KAAMklB,IAAUllB,KAuBxC,OAtBA6tD,EAAMolD,YAAc,WAChB,IAAI7nD,EAAKyC,EAAM3oC,MAAO6mD,EAAO3gB,EAAG2gB,KAAMknC,EAAc7nD,EAAG6nD,YAAaC,EAAmB9nD,EAAG8nD,iBACtFA,IACIC,EAAgBD,IAChB1B,GAAWzlC,IAASknC,GAAeE,GACnCF,EAAYlnC,EAAMonC,KAI9BtlD,EAAMulD,eAAiB,WACnB,IAAIhoD,EAAKyC,EAAM3oC,MAAO6mD,EAAO3gB,EAAG2gB,KAAMqnC,EAAiBhoD,EAAGgoD,eACtD5B,GAAWzlC,IAASqnC,GACpBA,KAGRvlD,EAAMwlD,YAAc,SAAUC,GAC1B,IAAID,EAAcxlD,EAAM3oC,MAAMmuF,YAC1BA,GACAA,OAAY9oD,EAAoB+oD,IAGxC3mC,GAAuB9e,GAChBA,ECsGY,SAAhB0lD,GAA0BruF,GACjC,IAAIvG,EAAQuG,EAAMvG,MAAO8R,EAAWvL,EAAMuL,SAAU+iF,EAAWtuF,EAAMsuF,SAAUpkF,EAAUlK,EAAMkK,QAASqkF,EAAevuF,EAAMuuF,aAAcC,EAAYxuF,EAAMwuF,UAAWC,EAAgBzuF,EAAMyuF,cAAeC,EAAmB1uF,EAAM0uF,iBAAkBpM,EAAgBtiF,EAAMsiF,cAAeqM,EAAmB3uF,EAAM2uF,iBAAkBC,EAAkB5uF,EAAM4uF,gBAAiBznD,EAAYnnC,EAAMmnC,UAEnY,OAAO0nD,GAAkBp1F,EAAO8R,EAAU+iF,EAAUpkF,EAASqkF,EAAcC,EAAWC,EAAeC,EAAkBpM,EAAeqM,EAAkBC,EAAiBznD,GCjLtK,ICFkDoQ,GDE9Cu3C,GAAuB1vC,GAElC,SAAU3lD,GACN,OAAOi3C,GAAe,CAClBq+C,QAAS,CACLtzD,QAAS,cACTpvC,OAAQ,OACR2iG,WAAY,UAEhBC,QAAS,CACL7iG,MAAO,EACPC,OAAQ,OACRyoF,gBAAiBr7E,EAAMgjE,QAAQpK,wBEbvC68B,GAAuB3zB,GAAkB,E5DOX4zB,K4DN9BC,GAA4BhwC,GAAgB,WAC5C,IAAIlZ,EACJ,MAAO,CACH6H,YAAY7H,EAAK,IACVo1B,IAAwBrgF,GAAS,CAAE65F,gBAAiB,YAAa9Y,YAAa,YAAa/4C,MAAO,iBAAmBw4C,MACxHv1B,MAGDmpD,GAAoBjwC,GAAgB,SAAU3lD,GACrD,IACIqsE,EAAiBrsE,EAAMqsE,eAAgBE,EAAQvsE,EAAMusE,MAAOvJ,EAAUhjE,EAAMgjE,QAC5E6yB,EAAyCxpB,EAAerD,0BACxD8sB,EAAmCzpB,EAAe/B,oBAClDyrB,EAA4C1pB,EAAe9D,0BAC3DytB,EAAiC3pB,EAAepE,YAqLpD,OAAOhyB,GApLc,CACjBmX,KAAM,CACFmf,EAAMxO,OACN,CACIv0C,MAAO6iD,EAAe5C,SACtBpH,SAAU,WACVmb,UAAW,eAGnBgY,QAAS,CACLxzD,QAAS,QACTpvC,OAAQ,MACRyoF,gBAAiB2a,EACjB3zB,SAAU,YAEdiU,KAAM,CACFnU,GAAcniE,GACdusE,EAAMxO,OACN,CACIv0C,MAAO6iD,EAAe5C,SACtB4R,gBAAiB,cACjBhY,OAAQ,OACR1wE,MAAO,OACPC,OAxCyB,GAyCzBwiB,WAzCyB,GA0CzB4sB,QAAS,QACTi0D,OAAQ,UACRnyB,QAAS,gBACToyB,UAAW,SAGnBC,aAAc,CACV3sE,MAAO6iD,EAAejD,iBACtB6sB,OAAQ,UACR3+B,cAAe,OACfhjB,YAAY7H,EAAK,IACVo1B,IAAwBrgF,GAAS,CAAEgoC,MAAO,WAAYnU,QAAS,GAAK2sD,MACvEv1B,IAER2pD,YAAa50G,GAAS,CAAE65F,gBAAiBwa,EAAwCrsE,MAAOssE,EAAkCxhD,UAAW,CAC7H+hD,0BAA2B,CACvB7sE,MAAOw5C,EAAQnL,cAEnBy+B,iCAAkC,CAC9B9sE,MAAOw5C,EAAQzK,kBAElBo9B,MACTY,YAAa/0G,GAAS,CAAE65F,gBAAiBrY,EAAQ7J,OAASw8B,MAC1Da,YAAah1G,GAAS,CAAE8yD,UAAW,CAC3BmiD,mCAAoC,CAChCjtE,MAAOw5C,EAAQzK,kBAElBo9B,MACTe,YAAal1G,GAAS,CAAE65F,gBAAiB0a,EAA2CzhD,UAAW,CACvF+hD,0BAA2B,CACvB7sE,MAAOw5C,EAAQpL,WAEnB0+B,iCAAkC,CAC9B9sE,MAAOw5C,EAAQzK,kBAElBo9B,MACTgB,aAAcn1G,GAAS,CAAE65F,gBAAiB0a,EAA2CvsE,MAAO6iD,EAAerF,iBAAmB2uB,MAC9HvB,YAAa,CACTwC,WAAY,SACZhkG,OAAQ,UACRovC,QAAS,OACTuzD,WAAY,SACZxX,SAAU,QAEd8Y,WAAY,CACR/yB,QAAS,gBACTgzB,cAAe,OACfttE,MAAO,UACPutE,cAAe,SACfC,YAAa,SACbC,cAAe,OACfC,WAAY,MACZC,WAAY,OACZC,eAAgB,OAChB5Z,UAAW,cAEfl5F,MAAO,CACHu/E,OAAQ,QACRwzB,cAAe,SACfr1D,QAAS,eACT5tB,SAAU,IACVkjF,aAAc,WACdr5C,SAAU,SACV24C,WAAY,UAEhBjD,cAAe,CACXnqE,MAAOxpB,EAAMgjE,QAAQvK,iBACrB8+B,YAAa,OACbrB,UAAW,SAEfj4B,KAAM,CACFj8B,QAAS,eACTw1D,UAAW,MACXjjB,UAnH6B,GAoH7BnU,SAAU7E,GAAcwC,OACxBprE,MAAO4oE,GAAcwC,OACrB8F,OAAQ,QACRwzB,cAAe,SACf/iF,WAAY,IACZggC,YAAYoB,EAAK,IACV+/C,IAAwB,CACvBr1B,SAAU7E,GAAc2C,MACxBvrE,MAAO4oE,GAAc2C,OAEzBxoB,IAER+hD,UAAW,CACPjuE,MAAO6iD,EAAe/E,SACtBhzB,YAAYsuB,EAAK,IACVf,IAAwB,CACvBr4C,MAAO,WAEXo5C,EAAG,iBAAmB,CAClBtuB,YAAYuuB,EAAK,IACVhB,IAAwB,CACvBr4C,MAAO,iBAEXq5C,IAERD,EAAG,iBAAmB,CAClBtuB,YAAYwuB,EAAK,IACVjB,IAAwB,CACvBr4C,MAAO,iBAEXs5C,IAERF,IAER80B,aAAc,CACVluE,MAAO6iD,EAAejD,kBAE1BoqB,cAAe,CACXhqE,MAAO6iD,EAAe9B,YACtBj2B,YAAYyuB,EAAK,IACVlB,IAAwB,CACvBr4C,MAAO,iBAEXu5C,IAER+wB,YAAa,CACTlhG,OAlK6B,GAmK7BwiB,WAnK6B,GAoK7BoU,MAAOw5C,EAAQvK,iBACfy9B,UAAW,SACXl0D,QAAS,eACTq1D,cAAe,SACf/iF,WAAY,IACZ8rD,SAAU7E,GAAcsC,MACxBvpB,YAAY2uB,EAAK,CACT00B,SAAU,CACNnuE,MAAOw5C,EAAQzK,gBAEnBq/B,UAAW,CACPpuE,MAAOw5C,EAAQzK,kBAGpBk9B,IAAwB,CACvBr1B,SAAU7E,GAAcwC,QAE5BkF,EAAGpB,IAAwB,CACvBr4C,MAAO,iBAEXy5C,IAER40B,yBAA0B,CACtB11B,GAAcniE,GACd,CACIgiC,QAAS,OACTpvC,OA9LyB,GA+LzBklG,SAAU,SACVC,eAAgB,SAChBxC,WAAY,mBH9LjByC,IADgBl2B,GAAkB,EzDMX4zB,KyDLmB/vC,GAErD,SAAU3lD,GAEN,OAAOi3C,GAAeo+C,GAAqBr1F,GAAQ,CAE/Cs1F,QAAS,CACLjzB,SAAU,WACVlgB,MAAO,GACP7N,YAAY7H,EAAK,IAVFq1B,kEAWgB,CACvB3f,MAAO,IAEX1V,IAER+oD,QAAS,CACL5iG,OAAQ,GACRD,MAAO,QAIf2qF,GAAmB,CACnBlwB,KAAM,yBACNooC,QAAS,4BACTlf,KAAM,yBACNsc,UAAW,aACXqF,WAAY,cACZ7sD,WAAY,cACZgpD,YAAa,gCACbD,gBAAiB,gCACjBl2B,KAAM,yBACNw5B,UAAW,8BACXjE,cAAe,kCACfM,YAAa,gCACbxvG,MAAO,6BACPqvG,cAAe,kCACfuE,UAAW,8BACXC,iBAAkB,sCAUX/C,GAAoBzvC,GAAgB,SAAU3lD,EAAO8R,EAAU+iF,EAAUpkF,EAASqkF,EAAcC,EAAWC,EAAeC,EAAkBpM,EAAeqM,EAAkBC,EAAiBznD,GACrM,IAAYk1B,EACRjrB,EAASi+C,GAAkB51F,GAC3BgkE,EAAaI,GAAoBkZ,GAAkBt9E,GACvD,OAAOi3C,GAAe,CAClBmW,KAAM,CAAC4W,EAAW5W,KAAMzV,EAAOyV,KAAM4nC,GACrCQ,QAAS,CAACxxB,EAAWwxB,QAAS79C,EAAO69C,QAASP,GAC9C3e,KAAM,CACFtS,EAAWsS,KACX3+B,EAAO2+B,KACP7lE,GAAW,CAACuzD,EAAW4uB,UAAWj7C,EAAO6+C,aACzC1B,GAAgBn9C,EAAOk/C,WACvBhC,GAAY,CAAC7wB,EAAWi0B,WAAYtgD,EAAOg/C,cAC3C7kF,GAAY,CAACkyD,EAAW54B,WAAYuM,EAAOw+C,eAC1CrkF,IACI+iF,GAAY,CACb,CACIvgD,YAAY7H,EAAK,CACTkrD,SAAUhgD,EAAOy+C,YACjBwB,UAAWjgD,EAAO++C,cAEnB,IAAMroC,GAA0B,cAAgBA,GAA0B,kBAAoB1W,EAAO4+C,YACxG9pD,EAAG,IAAM4hB,GAA0B,YAAc,CAAE+pC,WAAY,YAC/D3rD,KAGZiB,GAEJ2qD,aAAc,CACV1gD,EAAO2+B,KACP,CACI3jF,MAAO,qBAEX8d,GAAW,CAAC,aAAcknC,EAAO6+C,cAChC1kF,GAAYqjF,IAAoB,CAAC,cAAex9C,EAAOw+C,gBACtDrkF,GAAYqjF,KACT1kF,GAAW,CACZ,CACI6jC,YAAYoB,EAAK,CACTiiD,SAAUhgD,EAAOy+C,cAGlB,aAAepyB,EAAWk0B,WAAavgD,EAAOy+C,YACjD1gD,EAAG,WAAaiC,EAAO++C,YACvBhhD,EAAG,IAAM2Y,GAA0B,cAAgBA,GAA0B,kBAAoB1W,EAAO4+C,YACxG7gD,EAAG,IAAM2Y,GAA0B,YAAc,CAAE+pC,WAAY,YAC/D1iD,MAIhBwiD,UAAW,CACPl0B,EAAWk0B,UACXvgD,EAAO2+B,KACP,CACIgiB,UAAW,IACXx0B,QAAS,QACTka,SAzGqB,QA2GzB6W,GAAY,CAAC,cAAel9C,EAAOg/C,cACnC7kF,GAAY,CAAC,cAAe6lC,EAAOw+C,eAClCrkF,IACI+iF,GAAY,CACb,CACIvgD,YAAYsuB,EAAK,CACT+0B,SAAUhgD,EAAOy+C,YACjBwB,UAAWjgD,EAAO++C,cAEnB,IAAMroC,GAA0B,cAAgBA,GAA0B,kBAAoB1W,EAAO4+C,YACxG3zB,EAAG,IAAMvU,GAA0B,YAAc,CAAE+pC,WAAY,YAC/Dx1B,MAIhBi0B,WAAYl/C,EAAOk/C,WACnBzC,YAAa,CAACpwB,EAAWowB,YAAaz8C,EAAOy8C,aAC7CD,gBAAiB,CACbnwB,EAAWmwB,gBACXx8C,EAAOy8C,YACP,CACI2D,eAAgB,WAGxB95B,KAAM,CACF+F,EAAW/F,KACX82B,GAAap9C,EAAO8/C,UACpB9/C,EAAOsmB,KACP4qB,EACA/2E,GAAY,CAACkyD,EAAW54B,WAAYuM,EAAO+/C,eAE/CD,UAAW9/C,EAAO8/C,UAClBjE,cAAe,CAACxvB,EAAWwvB,cAAeuB,GAAap9C,EAAO67C,cAAe77C,EAAOsmB,KAAM4qB,GAC1FiL,YAAa,CACT9vB,EAAW8vB,YACXn8C,EAAOm8C,YACPoB,EACAL,GAAY,CAAErrE,MAAOxpB,EAAMgjE,QAAQzK,gBACnCzmD,GAAY,CAAC6lC,EAAO+/C,eAExBpzG,MAAO,CAAC0/E,EAAW1/E,MAAOqzD,EAAOrzD,OACjCqvG,cAAe,CAAC3vB,EAAW2vB,cAAeh8C,EAAOg8C,eACjD4E,eAAgB,CACZ5gD,EAAOkgD,0BACN/lF,IACIrB,GAAW,CACZ,CACI6jC,YAAYuuB,EAAK,IACV,IAAMxU,GAA0B,cAAgBA,GAA0B,kBAAoB1W,EAAO4+C,YACxG1zB,MAIhBs1B,iBAAkB,CACdn0B,EAAWm0B,iBACXxgD,EAAOwgD,iBACPv0B,GACA,CAAEvR,WAAY,eIlKfmmC,GAAqB1oC,GAAOikC,GAAwBa,QAAehpD,EAAW,CAAEid,MAAO,uBFH9F4vC,IACAx3G,EAAUw3G,GAD2C36C,GA4CvD4B,sBAJE+4C,GAA0B33G,UAAUq1C,sBAAwB,SAAUwqB,GAClE,OAAQ3F,GAAe2F,EAAUt/D,KAAKklB,QAEnCkyF,IAzCP,SAASA,GAA0BlyF,GAC/B,IAAI2oC,EAAQ4O,GAAO98D,KAAKK,KAAMklB,IAAUllB,KAmCxC,OAlCA6tD,EAAMwpD,kBAAoB,SAAU78C,GAChC,IAAIpP,EAAKyC,EAAM3oC,MAAO6mD,EAAO3gB,EAAG2gB,KAAMurC,EAAmBlsD,EAAGksD,iBACxDA,GACAA,EAAiBvrC,EAAMvR,EAAIA,EAAGn7B,gBAGtCwuB,EAAM0pD,aAAe,SAAU/8C,GAC3B,IAAIpP,EAAKyC,EAAM3oC,MAAO6mD,EAAO3gB,EAAG2gB,KAAMyrC,EAAkBpsD,EAAGosD,gBACvDA,GACAA,EAAgBzrC,EAAMvR,EAAIA,EAAGn7B,gBAGrCwuB,EAAM4pD,kBAAoB,SAAUj9C,GAChC,IAAIpP,EAAKyC,EAAM3oC,MAAO6mD,EAAO3gB,EAAG2gB,KAAM2rC,EAAmBtsD,EAAGssD,iBACxDA,GACAA,EAAiB3rC,EAAMvR,IAG/B3M,EAAM8pD,eAAiB,SAAUn9C,GAC7B,IAAIpP,EAAKyC,EAAM3oC,MAAO6mD,EAAO3gB,EAAG2gB,KAAM6rC,EAAgBxsD,EAAGwsD,cACrDA,GACAA,EAAc7rC,EAAMvR,IAG5B3M,EAAMgqD,iBAAmB,SAAUr9C,GAC/B,IAAIpP,EAAKyC,EAAM3oC,MAAO6mD,EAAO3gB,EAAG2gB,KAAM+rC,EAAkB1sD,EAAG0sD,gBACvDA,GACAA,EAAgB/rC,EAAMvR,EAAIA,EAAGn7B,gBAGrCwuB,EAAMkqD,kBAAoB,aAG1BprC,GAAuB9e,GAChBA,EGzCR,IASImqD,GATAC,GAAa,MACbC,GAAgB,IAKhBC,GAAe,gBAIfH,GASSA,GAAjBA,IAAgC,IARlBI,aAAe,cAC5BJ,GAAaK,eAAiB,gBAC9BL,GAAaM,eAAiB,gBAC9BN,GAAaO,uBAAyB,uBACtCP,GAAaQ,yBAA2B,yBACxCR,GAAaS,yBAA2B,yBACxCT,GAAaU,kBAAoB,kBACjCV,GAAaW,iBAAmB,iBCZpC,IAAIC,IAoBAA,GAActtD,YAAc,WACxB,OAAOtrD,KAAKoW,WAShBwiG,GAAcn5G,UAAUo5G,KAAO,SAAUC,GACrC94G,KAAK84G,0BAA4BA,GASrCF,GAAcn5G,UAAUs5G,SAAW,SAAUC,EAAaC,GAEtD,IAAI/zF,EAAQ8zF,GADgBC,OAAV,IAAdA,GAAoC,EAEnCA,KAED/zF,EAAQllB,KAAKk5G,kBAAkBF,GAC/Bh5G,KAAKm5G,gBAAgBj0F,EAAMk0F,aAAaloG,YAAcgU,GAGtDm0F,EAAer5G,KAAKs5G,cAAcp0F,GAatC,OAXA+zF,EACOj5G,KAAKu5G,iBAAiBF,EAAaG,UAAYH,EAC/Cr5G,KAAKy5G,QAAQJ,EAAaG,UAAYH,GAEzCr5G,KAAK05G,cAAiB15G,KAAK84G,4BACvBa,EAAUV,EAAYjB,GAAaO,uBAAyBP,GAAaI,aAC7Er+C,GAAWC,MAAMh6D,KAAM25G,EAAS,CAC5BC,OAAQ10F,EACRs0F,SAAUH,EAAaG,YAGxBH,EAAaG,UAQxBZ,GAAcn5G,UAAUo6G,OAAS,SAAUb,EAAaQ,GACpD,IAAIM,EAAiB95G,KAAKk5G,kBAAkBF,GACxCK,EAAer5G,KAAKs5G,cAAcQ,EAAgBN,GAClDO,EAAY/5G,KAAKy5G,QAAQD,GACzBO,IAEAV,EAAaO,OAAOI,QAAUD,EAAUH,OAAOI,QAE/Ch6G,KAAKy5G,QAAQD,GAAYH,SAElBr5G,KAAKm5G,gBAAgBY,EAAUH,OAAOR,aAAaloG,YAC1DlR,KAAKm5G,gBAAgBE,EAAaO,OAAOR,aAAaloG,YAAcmoG,EAAaO,QAE7E55G,KAAK05G,cAAiB15G,KAAK84G,2BAC3B/+C,GAAWC,MAAMh6D,KAAMg4G,GAAaM,eAAgB,CAChDsB,OAAQP,EAAaO,OACrBJ,SAAUH,EAAaG,aAYvCZ,GAAcn5G,UAAUw6G,WAAa,SAAUC,EAAgBV,EAAUP,IACzCA,OAAV,IAAdA,GAAoC,EACxCA,UAAmBj5G,KAAKu5G,iBAAiBC,UAAmBx5G,KAAKy5G,QAAQD,GACxEP,UAAoBj5G,KAAKm5G,gBAAgBe,EAAed,aAAaloG,YAClEi4B,EAAQ8vE,EAAYjB,GAAaQ,yBAA2BR,GAAaK,gBAEzEr4G,KAAK05G,cAAiB15G,KAAK84G,2BAC3B/+C,GAAWC,MAAMh6D,KAAMmpC,EAAO,CAC1BywE,OAAQM,EACRV,SAAUA,KAOtBZ,GAAcn5G,UAAU06G,gBAAkB,WACtCpgD,GAAWC,MAAMh6D,KAAMg4G,GAAaU,oBAKxCE,GAAcn5G,UAAU26G,eAAiB,WACrCrgD,GAAWC,MAAMh6D,KAAMg4G,GAAaW,mBAOxCC,GAAcn5G,UAAU46G,WAAa,WACjC,IAAIxsD,EAAQ7tD,KACZ,OAAOZ,OAAO8d,KAAKld,KAAKy5G,SAAS71F,IAAI,SAAUxiB,GAAO,OAAOysD,EAAM4rD,QAAQr4G,GAAKw4G,UAQpFhB,GAAcn5G,UAAUy5G,kBAAoB,SAAUF,GAClD,IAAIsB,EAAev2G,EAAei1G,EAAYI,cAE9C,GADAkB,EAAaz2G,MACe,IAAxBy2G,EAAa55G,OAAc,CACvB65G,EAAev6G,KAAKm5G,gBAAgBmB,EAAappG,YACrD,GAAIqpG,GAAgBA,EAAaC,oBAC7B,OAAOr6G,GAASA,GAAS,GAAI64G,GAAc,CAAEwB,oBAAqBD,EAAaC,sBAGvF,OAAOxB,GAKXJ,GAAcn5G,UAAUg7G,YAAc,SAAUC,EAAyBC,GACrE5gD,GAAWC,MAAMh6D,KAAMg4G,GAAaS,yBAA0B,CAC1DiC,wBAAyBA,EACzBC,gBAAiBA,KAUzB/B,GAAcn5G,UAAU65G,cAAgB,SAAUN,EAAaQ,GAE3D,YADiB,IAAbA,IAAuBA,EAAWhuC,MAC/B,CAAEouC,OAAQz5G,GAAS,GAAI64G,GAAcQ,SAAUA,IAE1DZ,GAAcxiG,UAAY,IAAIwiG,GACvBA,IAzKP,SAASA,KACL54G,KAAKy5G,QAAU,GACfz5G,KAAKu5G,iBAAmB,GACxBv5G,KAAKm5G,gBAAkB,GAGvBn5G,KAAK05G,cAAe,EAGpB15G,KAAK46G,uBAAwB,EAG7B56G,KAAK84G,2BAA4B,ECTlC,SAAS+B,GAAczB,GAC1B,OAAOA,EAAa9mD,OAAO,SAAUwoD,EAAWC,GAC5C,OAAOD,EAAY5C,GAAgB6C,EAAY5tG,MAAM,IAAIiE,KAAK8mG,KAC/DD,ICLA,SAAS+C,GAAczqF,GAC1B,IAAI0qF,EAAWjsC,oBACXgqC,EAAczoF,EAAQyoF,YACpB74G,GAAS,CAAEswB,SAAUF,EAAQE,UAAYF,EAAQyoF,kBAAezuD,EAClE2wD,EAAgBxnB,GAASklB,GAActtD,eACvC6vD,EAAc9mB,GAAY9jE,GAG9BkvE,2BAAsB,WACdwb,EAASn1F,SACTkzF,KACEmC,MAAAA,OAAiD,EAASA,EAAYnC,eAAiBzoF,EAAQyoF,cAAgBmC,MAAAA,OAAiD,EAASA,EAAY1qF,YAAcF,EAAQE,WAC7MyqF,EAAcrB,OAAOb,EAAaiC,EAASn1F,WAInD25E,2BAAsB,WAKlB,OAHIuZ,IACAiC,EAASn1F,QAAUo1F,EAAcnC,SAASC,IAEvC,WAEHA,GAAekC,EAAcjB,WAAWjB,EAAaiC,EAASn1F,WAInE,IACH,IAAIs1F,EAAoB,CACpBllB,qBAAiB3rC,EACjB8wD,cAAU9wD,GAKd,OAFI6wD,EADApC,EAUR,SAAuBkC,EAAelC,EAAasC,GAE3CxB,EAAiBoB,EAAchC,kBAAkBF,GAEjD9iB,EAAkB90B,GAAyBk6C,EDF5C,SAA4BlC,GAC/B,IAAImC,EAAc,IAAMpD,GACxB,OAAKiB,EAAa14G,OAIX66G,EAAc,IAAMV,GAAczB,GAF9BmC,ECFwDC,CAAmB1B,EAAeV,eACjGA,EAAer1G,EAAe+1G,EAAeV,cAC7CU,EAAeU,sBACfpB,EDnCD,SAAwBA,EAAcqC,GACzC,IAAIC,EAAsBD,EAAqB/6G,OAC3Ci7G,EAAmB53G,EAAe03G,GAAsB53G,MACxD+3G,EAAkB73G,EAAeq1G,GACrC,O1EiEqCjjE,E0EjEKulE,EAAsB,E1EiEpBG,E0EjEuBF,G1EkE/DG,GAD0BC,E0EjELH,G1EkERpwF,SACZmoC,OAAOxd,EAAO,EAAG0lE,GACfC,E2ErCYE,CAAe5C,EAAcU,EAAeU,sBAE3Da,EAAWR,GAAczB,GAC7B,MAAO,CACHljB,gBAAiBA,EACjBmlB,SAAUA,GArBUY,CAAcf,EAAelC,EAAazoF,EAAQ2lE,iBAEnEklB,ECpCa,SAAbc,GAAuBh3F,GAC9B,IACImB,EAAWnB,EAAMmB,SACoBg1F,GAArChnD,EAAK2mD,GADwCp6G,EAAOskB,EAAO,CAAC,eACTm2F,SAAUnlB,EAAkB7hC,EAAG6hC,gBACtF,OAAO7vE,IAAU+kC,EAAK,IJRE,mBISCiwD,EACrBjwD,EJT4B,2BISCiwD,EAC7BjwD,EAAG,oBAAsB8qC,EACzB9qC,IARD,ICA6CqR,GAAhD0/C,IACAv8G,EAAUu8G,GADsC1/C,GAuDlD26C,IAhCE+E,GAAqB18G,UAAU0oB,OAAS,WACpC,IAAI0lC,EAAQ7tD,KACRorD,EAAKprD,KAAKklB,MAAO6mD,EAAO3gB,EAAG2gB,KAAM4W,EAAav3B,EAAGu3B,WAAYxsC,EAAQiV,EAAGjV,MAAOimE,EAAwBhxD,EAAGgxD,sBAAuBC,EAAiBjxD,EAAGixD,eAAgBC,EAAgBlxD,EAAGkxD,cAAezK,EAAWzmD,EAAGymD,SAAUx9C,EAAKjJ,EAAGmxD,qBAAsBC,OAA0B,IAAPnoD,EAAgB8iD,GAAqB9iD,EAAIooD,EAAsBrxD,EAAGqxD,oBAAqBC,EAActxD,EAAGsxD,YAAazJ,EAAc7nD,EAAG6nD,YAAaG,EAAiBhoD,EAAGgoD,eAAgBC,EAAcjoD,EAAGioD,YACxdsJ,EAAY5wC,EAAK6wC,IACjB7wC,EAAK5qE,QAAwC,WAA9B4qE,EAAK5qE,OAAO2F,gBAC3B61G,EAAYA,GAAwB,gCAExC,IAAIE,EAAiBrL,GAAWzlC,GAC5B47B,EAAcp7B,GAAeR,EAAMI,IACnC17C,EAAWihF,GAAe3lC,GAC1B+wC,EAAY/wC,EAAK+wC,UAAWC,EAAkBhxC,EAAKgxC,gBACnD/D,EAAcjtC,EAAKitC,YACnBA,GAAe6D,GACD78G,KAAKg9G,kCAAkChE,GAIrD+D,IACA/8G,KAAKi9G,mBAAqBzxC,MAE9B,IAAI0xC,EAAqB97C,GAAyB2K,EAAKmqB,gBAAiB6mB,EAAkB/8G,KAAKi9G,wBAAqB1yD,EAAWo9C,EAAY,qBACvIwV,EAA2B,CAC3BxmB,mBAAoBumB,GAExB,OAAQ91C,yBAAoB,MAAO,KAC/BA,yBAAoB80C,GAAY,CAAElD,YAAajtC,EAAKitC,YAAa9iB,gBAAiBgnB,EAAoBzsF,SAAUA,GAAY,SAAU2sF,GAAoB,OAAQh2C,yBAAoB,IAAKjnE,GAAS,GAAIg9G,EAA0BxV,EAAayV,EAAkB,CAAEn3F,IAAK4nC,EAAMwvD,QAASxrG,KAAMk6D,EAAKl6D,KAAM1Q,OAAQ4qE,EAAK5qE,OAAQy7G,IAAKD,EAAWtwD,UAAWs2B,EAAWsS,KAAMc,KAAM,WAAYunB,gBAAiBT,QAAkBtyD,EAAWgzD,gBAAiBV,EAAiB9wC,EAAK3qE,MAAQq7G,OAAsBlyD,EAAWizD,gBAAiBpB,EAAwB,EAAGqB,eAAgBpB,EAAgBqB,gBAAiBhM,GAAe3lC,GAEjmB72C,MAAO62C,EAAK72C,MAAOgqB,QAAS2O,EAAM0pD,aAAcoG,aAAc9vD,EAAMwpD,kBAAmBuG,aAAc/vD,EAAM4pD,kBAAmBoG,YAAahwD,EAAMgqD,iBAAkBrhB,UAAWqmB,EAAiBhvD,EAAM8pD,oBAAiBptD,IACtN6c,yBAAoBo1C,EAAkBr8G,GAAS,CAAEu+D,aAAcqN,EAAKrN,aAAcqN,KAAMA,EAAM4W,WAAYA,EAAYxsC,MAAOA,EAAO87D,iBAAkBqK,GAAiBI,EAAcA,OAAcnyD,EAAWsnD,SAAUA,EAAUoB,YAAaA,EAAaG,eAAgBA,EAAgBC,YAAaA,EAAaH,iBAAkBrlD,EAAMkqD,mBAAqB+E,IACnWjvD,EAAMiwD,uBAAuBf,EAAiBp6B,EAAWm0B,uBAE9DqF,IApDP,SAASA,KACL,IAAItuD,EAAmB,OAAX4O,IAAmBA,GAAO97D,MAAMX,KAAMS,YAAcT,KAkBhE,OAjBA6tD,EAAMwvD,QAAUlN,uBAChBtiD,EAAMmvD,kCAAoC14C,GAAgB,SAAU00C,GAChE,OAAO74G,GAASA,GAAS,GAAI64G,GAAc,CAAE+E,SAAS,MAE1DlwD,EAAMkqD,kBAAoB,WACtB,OAAOlqD,EAAMwvD,QAAQv3F,cAAkCykC,GAE3DsD,EAAM0pD,aAAe,SAAU/8C,GAC3B,IAAIpP,EAAKyC,EAAM3oC,MAAO6mD,EAAO3gB,EAAG2gB,KAAM2wC,EAActxD,EAAGsxD,YACnDA,GACAA,EAAY3wC,EAAMvR,IAG1B3M,EAAMiwD,uBAAyB,SAAUf,EAAiB1wD,GAEtD,OAAO0wD,EAAmB31C,yBAAoB,OAAQ,CAAE7hE,GAAIsoD,EAAMovD,mBAAoB5wD,UAAWA,GAAa0wD,GAAoB,MAE/HlvD,ECrBf,IAAoD4O,GAAhDuhD,IACAp+G,EAAUo+G,GADsCvhD,GAqElD26C,IApDE4G,GAAqBv+G,UAAU0oB,OAAS,WACpC,IAAI0lC,EAAQ7tD,KACRorD,EAAKprD,KAAKklB,MAAO6mD,EAAO3gB,EAAG2gB,KAAM4W,EAAav3B,EAAGu3B,WAAYxsC,EAAQiV,EAAGjV,MAAOimE,EAAwBhxD,EAAGgxD,sBAAuBC,EAAiBjxD,EAAGixD,eAAgBC,EAAgBlxD,EAAGkxD,cAAezK,EAAWzmD,EAAGymD,SAAUx9C,EAAKjJ,EAAGmxD,qBAAsBC,OAA0B,IAAPnoD,EAAgB8iD,GAAqB9iD,EAAIooD,EAAsBrxD,EAAGqxD,oBAAqBwB,EAAkB7yD,EAAG6yD,gBAAiBvB,EAActxD,EAAGsxD,YAAazJ,EAAc7nD,EAAG6nD,YAAaG,EAAiBhoD,EAAGgoD,eAAgBC,EAAcjoD,EAAGioD,YAC9f9B,EAAYF,GAAatlC,GACzBulC,EAAyB,OAAdC,EACX2M,EAAcvM,GAAoB5lC,GAClC8wC,EAAiBrL,GAAWzlC,GAC5B+wC,EAAY/wC,EAAK+wC,UAAW9mB,EAAYjqB,EAAKiqB,UAAW+mB,EAAkBhxC,EAAKgxC,gBAC/EoB,EAAyB5xC,GAAeR,EAAMK,WAE3C+xC,EAAuB1tF,SAC1B2tF,EAAWryC,EAAKgqB,MAAQmoB,EAGxBnB,IACA/8G,KAAKi9G,mBAAqBzxC,MAE9B,IAAI0xC,EAAqB97C,GAAyB2K,EAAKmqB,gBAAiB6mB,EAAkB/8G,KAAKi9G,wBAAqB1yD,EAAW4zD,EAAuB,qBAClJE,EAAuB,CACvBhyD,UAAWs2B,EAAWsS,KACtB/1C,QAASl/C,KAAKu3G,aACd/gB,UAAWqmB,EAAiB78G,KAAK23G,oBAAiBptD,EAClDozD,aAAc39G,KAAKq3G,kBACnBuG,aAAc59G,KAAKy3G,kBACnBhc,YAAa,SAAUjhC,GACnB,OAAOyjD,EAAkBA,EAAgBlyC,EAAMvR,QAAMjQ,GAEzDszD,YAAa79G,KAAK63G,iBAClBhmG,KAAMk6D,EAAKl6D,KACXwC,MAAO03D,EAAK13D,MACZoiF,aAAcT,EACdW,mBAAoBumB,EACpBI,gBAAiBT,QAAkBtyD,EACnCgzD,gBAAiBV,EAAiB9wC,EAAK3qE,MAAQq7G,OAAsBlyD,EACrEizD,gBAAiBpB,EAAwB,EACzCqB,eAAgBpB,EAChBqB,gBAAiBhM,GAAe3lC,GAChCuyC,eAA8B,qBAAbF,GAAgD,kBAAbA,IAAiC9M,OAAyB/mD,IAAZgnD,EAClGgN,gBAA8B,aAAbH,GAA2B9M,IAAaC,OAAYhnD,EACrEwrC,KAAMqoB,EAENlpF,MAAO62C,EAAK72C,OAEZ8jF,EAAcjtC,EAAKitC,YAIvB,OAHIA,GAAe6D,IACf7D,EAAch5G,KAAKg9G,kCAAkChE,IAEjD5xC,yBAAoB80C,GAAY,CAAElD,YAAaA,EAAa9iB,gBAAiBgnB,EAAoBzsF,SAAUihF,GAAe3lC,IAAS,SAAUqxC,GAAoB,OAAQh2C,yBAAoB,SAAUjnE,GAAS,CAAE8lB,IAAK4nC,EAAM2wD,MAAQL,EAAwBE,EAAsBjB,GACvRh2C,yBAAoBo1C,EAAkBr8G,GAAS,CAAEu+D,aAAcqN,EAAKrN,aAAcqN,KAAMA,EAAM4W,WAAYA,EAAYxsC,MAAOA,EAAO87D,iBAAkBqK,GAAiBI,EAAcA,OAAcnyD,EAAWsnD,SAAUA,EAAUoB,YAAaA,EAAaG,eAAgBA,EAAgBC,YAAaA,EAAaH,iBAAkBrlD,EAAMkqD,mBAAqB+E,IACnWjvD,EAAMiwD,uBAAuBf,EAAiBp6B,EAAWm0B,sBAE1DkH,IAlEP,SAASA,KACL,IAAInwD,EAAmB,OAAX4O,IAAmBA,GAAO97D,MAAMX,KAAMS,YAAcT,KAYhE,OAXA6tD,EAAM2wD,KAAOrO,uBACbtiD,EAAMmvD,kCAAoC14C,GAAgB,SAAU00C,GAChE,OAAO74G,GAASA,GAAS,GAAI64G,GAAc,CAAE+E,SAAS,MAE1DlwD,EAAMiwD,uBAAyB,SAAUf,EAAiB1wD,GAEtD,OAAO0wD,EAAmB31C,yBAAoB,OAAQ,CAAE7hE,GAAIsoD,EAAMovD,mBAAoB5wD,UAAWA,GAAa0wD,GAAoB,MAEtIlvD,EAAMkqD,kBAAoB,WACtB,OAAOlqD,EAAM2wD,KAAK14F,cAA+BykC,GAE9CsD,ECtBR,ICEHgpC,GAAgB9zB,KACT07C,GAAsB3vC,sBAAiB,SAAU5pD,EAAOe,GAE/D,IAAIqwC,EAASpxC,EAAMoxC,OAAQ33C,EAAQuG,EAAMvG,MAAO+/F,EAA0Bx5F,EAAM2xE,cAAexqC,EAAYnnC,EAAMmnC,UAC7Gs2B,EAAakU,GAAcvgC,EAAQ,CAAE33C,MAAOA,EAAOk4E,cAAe6nB,EAAyBryD,UAAWA,IAC1G,OAAQ+a,yBAAoB,OAAQ,CAAE/a,UAAWs2B,EAAWsxB,QAAShuF,IAAKA,GACtEmhD,yBAAoB,OAAQ,CAAE/a,UAAWs2B,EAAWwxB,aAE5DsK,GAAoBlwF,YAAc,sBCP3B,ICOkDkuC,GCL9CkiD,GFFAC,GAAkBnwC,GAAOgwC,GFHb,SAAUv5F,GAE7B,IAAIvG,EAAQuG,EAAMvG,MAAOk4E,EAAgB3xE,EAAM2xE,cAAexqC,EAAYnnC,EAAMmnC,UAChF,IAAK1tC,EACD,MAAM,IAAIhW,MAAM,+BAEpB,GAAIkuF,EAAe,CACXgoB,EAAQhoB,EAAcl4E,GAC1B,MAAO,CACHs1F,QAAS,CAAC4K,EAAM5K,SAChBE,QAAS,CAAC0K,EAAM1K,UAGxB,MAAO,CACHF,QAAS,CACL,CACItzD,QAAS,cACTpvC,OAAQ,OACR2iG,WAAY,UAEhB7nD,GAEJ8nD,QAAS,CACL,CACI7iG,MAAO,EACPC,OAAQ,OACRyoF,gBAAiBr7E,EAAMgjE,QAAQpK,4BEvBqBhtB,EAAW,CAC3Eid,MAAO,oBCMPs3C,IACAl/G,EAAUk/G,GAD2CriD,GA4LvD26C,IAxGE0H,GAA0Br/G,UAAUi2C,kBAAoB,WAChD11C,KAAK++G,cAAgB,kBAAmB/+G,KAAK++G,cAC7C/+G,KAAKmlE,QAAQvJ,GAAG57D,KAAK++G,aAAc,cAAe/+G,KAAK4tE,gBAAgB,IAG/EkxC,GAA0Br/G,UAAUqhD,qBAAuB,WACvD9gD,KAAKg/G,OAAOhoD,UACZh3D,KAAKmlE,QAAQnO,WAEjB8nD,GAA0Br/G,UAAU0oB,OAAS,WACzC,IAAI0lC,EAAQ7tD,KACRorD,EAAKprD,KAAKklB,MAAO6mD,EAAO3gB,EAAG2gB,KAAM4W,EAAav3B,EAAGu3B,WAAYxsC,EAAQiV,EAAGjV,MAAOimE,EAAwBhxD,EAAGgxD,sBAAuBC,EAAiBjxD,EAAGixD,eAAgBC,EAAgBlxD,EAAGkxD,cAAezK,EAAWzmD,EAAGymD,SAAU6F,EAAmBtsD,EAAGssD,iBAAkB+E,EAAsBrxD,EAAGqxD,oBAChSI,EAAiBrL,GAAWzlC,GAG5BitC,GAFAA,EAAcjtC,EAAKitC,cAELh5G,KAAKg9G,kCAAkChE,GAIrD+D,EAAkBhxC,EAAKgxC,gBAI3B,OAHIA,IACA/8G,KAAKi9G,mBAAqBzxC,MAEtBpE,yBAAoB80C,GAAY,CAAElD,YAAaA,EAAavoF,SAAUihF,GAAe3lC,IAAS,SAAUqxC,GAAoB,OAAQh2C,yBAAoB,MAAO,CAAE63C,kBAAmB7B,EAAiB,mBAAoBn3F,IAAK,SAAUi5F,GAAe,OAAQrxD,EAAMkxD,aAAeG,GAAiBnpB,KAAM4b,GAAoB5lC,GAAO0qB,aAAc1qB,EAAKiqB,UAAW3pC,UAAWs2B,EAAWu0B,eAAgBwG,gBAAiBhM,GAAe3lC,GAAOwxC,gBAAiBV,EAAiB9wC,EAAK3qE,MAAQq7G,OAAsBlyD,EAAW+yD,iBAAiB,EAAM3mB,mBAAoBv1B,GAAyB2K,EAAKmqB,gBAAiB6mB,EAAkBlvD,EAAMovD,wBAAqB1yD,EAAW6yD,EAAiB,qBAAsBkB,eAAgBvyC,EAAKwlC,WAAaxlC,EAAK38C,QAASouF,gBAAiBpB,EAAwB,EAAGqB,eAAgBpB,EAAgBsB,aAAc9vD,EAAMsxD,yBAA0BvB,aAAclG,EAAmBA,EAAiB5yG,KAAK+oD,EAAO1tD,GAASA,GAAS,GAAI4rE,GAAO,CAAE0lC,aAAc,KAAM5lC,MAAO,aAAWthB,EAAWszD,YAAahwD,EAAMuxD,wBAAyB5oB,UAAW3oC,EAAM8pD,eAAgBz4D,QAAS2O,EAAMwxD,kBAAmBC,aAAczxD,EAAM0xD,cAAez0C,SAAU,EAAG00C,qBAAqB,EAAMC,uBAAwB1zC,EAAK,yBAC7sCle,EAAM6xD,0BAA0B3zC,EAAM4W,EAAYxsC,EAAOmmE,EAAezK,GACxEhkD,EAAM8xD,oBAAoB5zC,GAC1Ble,EAAM+xD,uBAAuB7zC,EAAM4W,EAAYxsC,EAAOinE,GACtDvvD,EAAMiwD,uBAAuBf,EAAiBp6B,EAAWm0B,sBAEjEgI,GAA0Br/G,UAAUigH,0BAA4B,SAAU3zC,EAE1E4W,EAAYxsC,EAAOmmE,EAAezK,GAC9B,IAAIzmD,EAAKprD,KAAKklB,MAAOmvC,EAAKjJ,EAAGmxD,qBAAsBC,OAA0B,IAAPnoD,EAAgB8iD,GAAqB9iD,EAAIqoD,EAActxD,EAAGsxD,YAC5HI,EAAY,CACZ17G,IAAK2qE,EAAK3qE,IACVqvB,SAAUihF,GAAe3lC,IAASA,EAAK+nC,gBAEvCr8F,KAAMs0D,EAAKt0D,KACXoxB,KAAMkjC,EAAKljC,MAAQkjC,EAAKt0D,KACxB66F,cAAevmC,EAAKumC,cAEpBjmD,UAAWs2B,EAAWq0B,aACtB1F,SAAUvlC,EAAKulC,SACfC,UAAWxlC,EAAKwlC,UAChBniF,QAAS28C,EAAK38C,QACd0iF,UAAW/lC,EAAK+lC,UAChBC,aAAchmC,EAAKgmC,aACnBxrG,KAAMwlE,EAAKxlE,KACXi5G,qBAAqB,GAErBK,EAAqB9zC,EAAK+wC,UAC9B,OAAQ11C,yBAAoB,SAAUjnE,GAAS,GAAIosE,GAAeuwC,EAAW1wC,KACzEhF,yBAAoBo1C,EAAkBr8G,GAAS,CAAEq/G,qBAAqB,EAAOzzC,KAAM+wC,EAAWn6B,WAAYA,EAAYxsC,MAAOA,EAAO87D,iBAAkBqK,GAAiBI,EAAcA,OAAcnyD,EAAWsnD,SAAUA,GAAYgO,MAE5Of,GAA0Br/G,UAAUkgH,oBAAsB,SAAU5zC,GAC5DioC,EAAuBjoC,EAAK4qC,yCAA2CA,GAC3E,OAAOvvC,yBAAoBw3C,GAAiB,CAAE/nB,cAAemd,KAEjE8K,GAA0Br/G,UAAUmgH,uBAAyB,SAAU7zC,EAAM4W,EAC7ExsC,EAAOinE,GACH,IAAIhyD,EAAKprD,KAAKklB,MAAOmvC,EAAKjJ,EAAGmxD,qBAAsBC,OAA0B,IAAPnoD,EAAgB8iD,GAAqB9iD,EAAIqjD,EAAmBtsD,EAAGssD,iBAAkBuG,EAAkB7yD,EAAG6yD,gBAAiBhL,EAAc7nD,EAAG6nD,YAAaG,EAAiBhoD,EAAGgoD,eAAgBC,EAAcjoD,EAAGioD,YAC5QyJ,EAAY,CACZ59D,QAASl/C,KAAK8/G,iBACdrvF,SAAUihF,GAAe3lC,GACzB1f,UAAWs2B,EAAWk0B,UACtBpF,aAAc1lC,EAAK0lC,aACnBe,iBAAkBzmC,EAAKymC,iBACvBrlG,OAAO,EACP/L,IAAK2qE,EAAK3qE,KAEV2+G,EAAc5/G,GAASA,GAAS,GAAIosE,GAAeuwC,EAAW1wC,KAAoB,CAClFuxC,aAAc39G,KAAKggH,sBACnBpC,aAAclG,EAAmBA,EAAiB5yG,KAAK9E,KAAM+rE,QAAQxhB,EACrEkxC,YAAa,SAAUjhC,GACnB,OAAOyjD,EAAkBA,EAAgBlyC,EAAMvR,QAAMjQ,GAEzDszD,YAAa79G,KAAKigH,qBAClBT,qBAAqB,EACrBU,0BAA2B9C,EAAiB,2BAC5Crb,eAAe,IAEf8d,EAAqB9zC,EAAK+wC,UAC9B,OAAQ11C,yBAAoB,SAAUjnE,GAAS,GAAI4/G,GAC/C34C,yBAAoBo1C,EAAkBr8G,GAAS,CAAEu+D,aAAcqN,EAAKrN,aAAcqN,KAAM+wC,EAAWn6B,WAAYA,EAAYxsC,MAAOA,EAAO07D,UAAU,EAAOoB,YAAaA,EAAaG,eAAgBA,EAAgBC,YAAaA,EAAaH,iBAAkBlzG,KAAK+3G,mBAAqB8H,MAElSf,GAA0Br/G,UAAU0gH,4BAA8B,SAAU3lD,GACxE,IAAI3M,EAAQ7tD,KACRogH,EAAQpgH,KAAKklB,MAAMk7F,MACnBA,GACAA,EAAM5lD,GAINx6D,KAAKqgH,sBACLrgH,KAAKg/G,OAAO11F,aAAatpB,KAAKqgH,qBAC9BrgH,KAAKqgH,yBAAsB91D,GAE/BvqD,KAAKsgH,kBAAmB,EACxBtgH,KAAKqgH,oBAAsBrgH,KAAKg/G,OAAO9rG,WAAW,WAC9C26C,EAAMyyD,kBAAmB,EACzBzyD,EAAMwyD,yBAAsB91D,GAzLnB,MA4LVu0D,IAzLP,SAASA,GAA0B55F,GAC/B,IAAI2oC,EAAQ4O,GAAO98D,KAAKK,KAAMklB,IAAUllB,KA+ExC,OA9EA6tD,EAAMmvD,kCAAoC14C,GAAgB,SAAU00C,GAChE,OAAO74G,GAASA,GAAS,GAAI64G,GAAc,CAAE+E,SAAS,MAE1DlwD,EAAM8pD,eAAiB,SAAUn9C,GAC7B,IAAIpP,EAAKyC,EAAM3oC,MAAO6mD,EAAO3gB,EAAG2gB,KAAM6rC,EAAgBxsD,EAAGwsD,cAErDp9C,EAAGv0B,QAAU26B,IACb/S,EAAMwxD,kBAAkB7kD,GACxBA,EAAG59C,iBACH49C,EAAG96B,mBAEEk4E,GACLA,EAAc7rC,EAAMvR,IAG5B3M,EAAMkqD,kBAAoB,WACtB,OAAOlqD,EAAMkxD,cAEjBlxD,EAAMiwD,uBAAyB,SAAUf,EAAiB1wD,GAEtD,OAAO0wD,EAAmB31C,yBAAoB,OAAQ,CAAE7hE,GAAIsoD,EAAMovD,mBAAoB5wD,UAAWA,GAAa0wD,GAAoB,MAEtIlvD,EAAMsxD,yBAA2B,SAAU3kD,GACvC,IAAIpP,EAAKyC,EAAM3oC,MAAO6mD,EAAO3gB,EAAG2gB,KAAMurC,EAAmBlsD,EAAGksD,iBACxDA,GACAA,EAAiBn3G,GAASA,GAAS,GAAI4rE,GAAO,CAAE0lC,kBAAclnD,EAAWshB,WAAOthB,IAAciQ,EAAI3M,EAAMkxD,eAGhHlxD,EAAMmyD,sBAAwB,SAAUxlD,GACpC,IAAIpP,EAAKyC,EAAM3oC,MAAO6mD,EAAO3gB,EAAG2gB,KAAMurC,EAAmBlsD,EAAGksD,iBACxDA,GACAA,EAAiBvrC,EAAMvR,EAAI3M,EAAMkxD,eAGzClxD,EAAMuxD,wBAA0B,SAAU5kD,GACtC,IAAIpP,EAAKyC,EAAM3oC,MAAO6mD,EAAO3gB,EAAG2gB,KAAM+rC,EAAkB1sD,EAAG0sD,gBACvDA,GACAA,EAAgB33G,GAASA,GAAS,GAAI4rE,GAAO,CAAE0lC,kBAAclnD,EAAWshB,WAAOthB,IAAciQ,EAAI3M,EAAMkxD,eAG/GlxD,EAAMoyD,qBAAuB,SAAUzlD,GACnC,IAAIpP,EAAKyC,EAAM3oC,MAAO6mD,EAAO3gB,EAAG2gB,KAAM+rC,EAAkB1sD,EAAG0sD,gBACvDA,GACAA,EAAgB/rC,EAAMvR,EAAI3M,EAAMkxD,eAGxClxD,EAAMiyD,iBAAmB,SAAUtlD,GAC/B,IAAIpP,EAAKyC,EAAM3oC,MAAO6mD,EAAO3gB,EAAG2gB,KAAMyrC,EAAkBpsD,EAAGosD,gBACvDA,GACAA,EAAgBzrC,EAAMvR,EAAK3M,EAAMkxD,cAAoCvkD,EAAGn7B,gBAGhFwuB,EAAMwxD,kBAAoB,SAAU7kD,GAChC,IAAIpP,EAAKyC,EAAM3oC,MAAO6mD,EAAO3gB,EAAG2gB,KAAMw0C,EAAmBn1D,EAAGm1D,iBAAkB7D,EAActxD,EAAGsxD,YAC/F,IAAI3wC,EAAKt7C,WAAYs7C,EAAKhiB,WAG1B,OAAI8D,EAAMyyD,kBAAoB5D,EACnBA,EAAY3wC,EAAMvR,QAEzB+lD,GACAA,EAAiBx0C,EAAMvR,KAG/B3M,EAAM0xD,cAAgB,SAAU/kD,IACxB3M,EAAMkxD,cAAkB,kBAAmBlxD,EAAMkxD,cACjDlxD,EAAMsyD,4BAA4B3lD,IAG1C3M,EAAM+f,eAAiB,SAAUpT,GACN,UAAnBA,EAAGh0B,cACHqnB,EAAMsyD,4BAA4B3lD,GAClCA,EAAG59C,iBACH49C,EAAG39C,6BAGXgxC,EAAMmxD,OAAS,IAAIjoD,GAAMlJ,GACzBA,EAAMsX,QAAU,IAAIpL,GAAWlM,GACxBA,GCtFJ8wD,GAcWA,GAAnBA,IAAoC,IAZpBA,GAAsB,MAAI,GAAK,QAE9CA,GAAeA,GAAuB,OAAI,GAAK,SAE/CA,GAAeA,GAAsB,MAAI,GAAK,QAE9CA,GAAeA,GAAuB,OAAI,GAAK,SAE/CA,GAAeA,GAAwB,QAAI,GAAK,UAEhDA,GAAeA,GAAyB,SAAI,GAAK,WACjDA,GAAeA,GAAwB,QAAI,KAAO,UAEtD,IASI6B,GATAC,GAA4B,CAAC,IAAK,IAAK,KAAM,KAAM,KAAM,UA8BtD,SAASC,KACZ,OAAuBF,IAAa7B,GAAe9hC,MC1CxB,SAApB8jC,GAA8BjV,EAAYkV,GACjD,IAAIx1D,EAAKmd,oBAAem4C,MAA6BG,EAAqBz1D,EAAG,GAAI01D,EAAwB11D,EAAG,GACxG21D,EAAW9sB,uBAAkB,WAC7B,IAAI+sB,EDwFL,SAA2Bj7G,GAC9B,IAAIk7G,EAAiBtC,GAAeniC,MACpC,IAAIz2E,EAmBI,MAAM,IAAI4C,MAAM,2JAlBpB,IACI,KAAO5C,EAAcosF,WAAasuB,GAA0BQ,IACxDA,IAGR,MAAOpgH,GAEHogH,EAAiBP,KAezB,OAXIF,GAAYS,ECtGYC,CAAkBrqD,GAAU60C,EAAW5lF,UAE3D+6F,IAAuBG,GACvBF,EAAsBE,IAE3B,CAACtV,EAAYmV,IAWhB,OATA1sB,GADUG,KACM,SAAUysB,GAG1Bt4C,qBAAgB,gBACmBle,IAA3Bq2D,GACAG,KAGL,CAACH,IACGA,MAAAA,EAAuEA,EAAyBC,EAnBpG,ICTIM,GAAc76C,yBAAoB,ICczCuwB,GAAgB9zB,KAChBq+C,GAAkCr+C,KAElCk0B,GAAgB,CAChBprB,MAAO,GACP6+B,oBAAoB,EACpB7Z,SAAU,EACVM,gBAAiBvF,GAAgBQ,eACjC0F,UAAW,IAER,SAASuvB,GAAgBt1C,GAC5B,OAAOA,EAAK0lC,cAAyC1lC,GAARF,MAiBjD,IAEIy1C,GAA6Bh9C,GAAgB,WAE7C,IADA,IAAIhO,EAAS,GACJ3H,EAAK,EAAGA,EAAKluD,UAAUC,OAAQiuD,IACpC2H,EAAO3H,GAAMluD,UAAUkuD,GAE3B,OAAO,SAAU8G,GACb,OAAOU,GAAyBx1D,WAAM,EAAQoD,EAAe,CAAC0xD,EAAY89C,IAAgBj9C,OAoE3F,IAAIirD,GAAqBzyC,sBAAiB,SAAUY,EAAsBX,GAC1E,IAAC3jB,EAAKqkB,GAAqBwnB,GAAevnB,GAA6BtkB,EAAGnlC,QA3CzE2xE,EACuB6kB,EAA6B+E,EACNC,EAEOC,EACrDC,EAuBAC,EAAsDhqB,EACtDiqB,EACAC,EApDmBlqB,EACnBmqB,EACAC,EACAC,EACAC,EA6D8Eh9F,EAAQtkB,EAAOwqD,EAAI,CAAC,QAElGomC,EAAcuC,GADJ/kB,kBAAa,MACcD,GACrC1a,EAAKogC,GAAUvvE,EAAM/jB,OAAQqwF,GAAcmD,EAAYtgC,EAAG,GAAI++B,EAAe/+B,EAAG,GAChFktB,GA/CAqW,GADiBxsC,EAgDIlmC,GA/CT0yE,OACW6kB,GAAvBpoD,EAAKkU,uBAA2C,GAAIi5C,EAAyBntD,EAAG,GACzD8+C,GAAvB5xB,EAAKhZ,uBAAqC,GAAIk5C,EAAmBlgC,EAAG,GAE7C4gC,GAAvB3gC,EAAKjZ,uBAA4C,GAAIm5C,EAA0BlgC,EAAG,GAClFmgC,EAAe1tB,uBAAkB,WACjCytB,OAAwBn3D,GACxBi3D,OAAuBj3D,GACvBk3D,OAAiBl3D,IAClB,IACC0oD,EAAchf,uBAAkB,SAAU7oC,EAAIjqD,EAAQihH,GAClDC,EAAiBj3D,EAAGhqD,IACpBq7G,IAAwB4F,IAG5BlhH,EAAOs/C,QACPihE,EAAwBU,GACxBZ,EAAuBa,GACvBZ,EAAiBtgH,KAClB,CAACs7G,IACJh0C,qBAAgB,WACRmvB,GACA+pB,KAEL,CAAC/pB,EAAQ+pB,IACL,CAAClF,EAAqBtJ,EAAegP,EAAsBlP,EAAa0O,IAsB9ClF,EAAsBl7B,EAAG,GAAI4xB,EAAgB5xB,EAAG,GAAI4gC,EAAuB5gC,EAAG,GAAI0xB,EAAc1xB,EAAG,GAAIogC,EAAepgC,EAAG,GACtJC,GApBAogC,GADiCx2D,EAqBIlmC,GApBR08F,wBAAyBhqB,EAASxsC,EAAGwsC,OAClEiqB,EAAgC7yC,mBAAc4yC,GAC9CE,EAAe9yC,mBAAa,GAChCvG,qBAAgB,WACZo5C,EAA8B/7F,SAAW87F,EACzCE,EAAah8F,SAAU8xE,KAAkBgqB,GAA2BE,EAAah8F,UAClF,CAAC87F,EAAyBhqB,IACzB0qB,EAAqBruB,uBAAkB,WACnC2tB,IACAC,EAA8B/7F,SAAU,IAE7C,CAAC87F,IACG,CAACC,EAA+BC,EAAcQ,IAQJT,EAAgCrgC,EAAG,GAAIsgC,EAAetgC,EAAG,GAAI8gC,EAAqB9gC,EAAG,GAClIy/B,EAAiBN,GAAkBnvB,EAAatsE,EAAM+7F,gBAE1D,OAzEuBrpB,OAAgB,KAAnCxsC,GADelmC,EAyELA,GAxEC0yE,SAAyCxsC,EAAIm3D,EAAkBr9F,EAAMq9F,gBAAiBC,EAAet9F,EAAMs9F,aACtHT,EAAiB1tB,GAAYuD,GAC7BoqB,EAAkBhzC,kBAAawzC,GAC/BP,EAAkBjzC,kBAAauzC,GAC/BL,EAAWlzC,kBAAa9pD,GAC5B88F,EAAgBl8F,QAAU08F,EAC1BP,EAAgBn8F,QAAUy8F,EAC1BL,EAASp8F,QAAUZ,EACnBujD,qBAAgB,WACZ,IAAQpU,EAEJujC,IAA6B,IAAnBmqB,EACyB,QAAlC32D,EAAK62D,EAAgBn8F,eAA4B,IAAPslC,GAAyBA,EAAGzrD,KAAKsiH,EAAiBC,EAASp8F,SAEhG8xE,IAA6B,IAAnBmqB,GACmB,QAAlC1tD,EAAK2tD,EAAgBl8F,eAA4B,IAAPuuC,GAAyBA,EAAG10D,KAAKqiH,EAAiBE,EAASp8F,UAE3G,CAAC8xE,EAAQmqB,IAEZt5C,qBAAgB,WAAc,OAAO,WAAc,IAAIrd,EAAI,OAA0C,QAAlCA,EAAK62D,EAAgBn8F,eAA4B,IAAPslC,OAAgB,EAASA,EAAGzrD,KAAKsiH,EAAiBC,EAASp8F,WAAgB,IAsDhLshD,yBAAoBq7C,GAAwBtiH,GAAS,GAAI+kB,EAAO,CAAEw9F,QAAS,CAC3ElxB,YAAaA,EACbmD,UAAWA,EACXvB,aAAcA,EACdqpB,oBAAqBA,EACrBtJ,cAAeA,EACfgP,qBAAsBA,EACtBlP,YAAaA,EACb0O,aAAcA,EACdE,8BAA+BA,EAC/BC,aAAcA,EACdQ,mBAAoBA,GACrBrB,eAAgBA,OAE3BM,GAAmBhzF,YAAc,qBACjC,IAAsDkuC,GAAlDgmD,IACA7iH,EAAU6iH,GADwChmD,GAwsBpD4B,sBA3VEokD,GAAuBhjH,UAAUq1C,sBAAwB,SAAUwqB,EAAUqjD,GACzE,SAAKrjD,EAASu8B,wBAA0B77F,KAAKklB,MAAM0yE,QAAUt4B,EAASs4B,WAI9Dj+B,GAAe35D,KAAKklB,MAAOo6C,KAAc3F,GAAe35D,KAAKi1C,MAAO0tE,KAEhFF,GAAuBhjH,UAAU81C,wBAA0B,SAAU+oB,GACjE,IAAIokD,EAAU1iH,KAAKklB,MAAMw9F,QAWzB,OAVI1iH,KAAK4iH,UAAUtkD,KAAet+D,KAAK4iH,UAAU5iH,KAAKklB,SAC9CllB,KAAK4iH,UAAU5iH,KAAKklB,OACpBllB,KAAK6iH,gBAGL7iH,KAAK8iH,uBAAyBJ,EAAQtvB,aAChCsvB,EAAQtvB,aAAazhF,SAAS2d,mBAC9Bi7B,GAGP,MAGXk4D,GAAuBhjH,UAAUi2C,kBAAoB,WACjD,IAAI0V,EAAKprD,KAAKklB,MAAO0yE,EAASxsC,EAAGwsC,OAAQ8qB,EAAUt3D,EAAGs3D,QACjD9qB,IACD53F,KAAK8iH,uBAAyBJ,EAAQtvB,aAChCsvB,EAAQtvB,aAAazhF,SAAS2d,mBAC9Bi7B,GAEVvqD,KAAK+iH,UAAW,GAGpBN,GAAuBhjH,UAAUqhD,qBAAuB,WAChD9gD,KAAKklB,MAAMq9F,iBACXviH,KAAKklB,MAAMq9F,gBAAgBviH,KAAKklB,OAEpCllB,KAAKmlE,QAAQnO,UACbh3D,KAAKg/G,OAAOhoD,UACZh3D,KAAK+iH,UAAW,GAEpBN,GAAuBhjH,UAAU0oB,OAAS,WACtC,IAAI0lC,EAAQ7tD,KACR+xF,EAAgB/xF,KAAKklB,MAAM6sE,cAC3B3mC,EAAKprD,KAAKklB,MAAO2mD,EAAQzgB,EAAGygB,MAAOm3C,EAAiB53D,EAAG43D,eAAgBz9G,EAAK6lD,EAAG7lD,GAAI8mD,EAAYjB,EAAGiB,UAAWylC,EAAY1mC,EAAG0mC,UAAWX,EAAkB/lC,EAAG+lC,gBAAiBC,EAAwBhmC,EAAGgmC,sBAAuBxC,EAAkBxjC,EAAGwjC,gBAAiBiC,EAAWzlC,EAAGylC,SAAUlC,EAAcvjC,EAAGujC,YAAaqH,EAAY5qC,EAAG4qC,UAAWkK,EAAa90C,EAAG80C,WAAY/+F,EAASiqD,EAAGjqD,OAAQmtF,EAASljC,EAAGkjC,OAAQ20B,EAAiB73D,EAAG63D,eAAgBC,EAAsB93D,EAAG83D,oBAAqBx0B,EAAuBtjC,EAAGsjC,qBAAsBgc,EAAqBt/C,EAAGs/C,mBAAoByY,EAAyB/3D,EAAG+3D,uBAAwB9uG,EAAQ+2C,EAAG/2C,MAAOiiD,EAASlL,EAAGkL,OAAQ33C,EAAQysC,EAAGzsC,MAAOykG,EAAeh4D,EAAGg4D,aAAc/uD,EAAKjJ,EAAGi4D,gBAAiBA,OAAyB,IAAPhvD,EAAgBr0D,KAAKsjH,iBAAmBjvD,EAAIktB,EAAKn2B,EAAGm4D,iBAAkBA,OAA0B,IAAPhiC,EAAgBvhF,KAAKwjH,kBAAoBjiC,EAAIkiC,EAAiBr4D,EAAGq4D,eAE55BC,EAAoBt4D,EAAGs4D,kBAAmBliC,EAAKp2B,EAAGs3D,QAASjG,EAAsBj7B,EAAGi7B,oBAAqB9nB,EAAYnT,EAAGmT,UAAW2tB,EAAqB9gC,EAAG8gC,mBAAoB9wB,EAAchQ,EAAGgQ,YAChMxxF,KAAK2jH,YAAcD,EACbA,EAAkB/kG,EAAO0tC,GACzBwqC,GAAcvgC,EAAQ,CACpB33C,MAAOA,EACP0tC,UAAWA,IAEnB,IAAIwlD,EACJ,SAAS+R,EAAeC,GACpB,IAAK,IAAIl1D,EAAK,EAAGm1D,EAAwBD,EAAqBl1D,EAAKm1D,EAAsBpjH,OAAQiuD,IAAM,CACnG,IAAIod,EAAO+3C,EAAsBn1D,GACjC,GAAIod,EAAK+lC,UACL,OAAO,EAEX,GAAI/lC,EAAKg4C,WAAara,GAAuBsa,SACzCj4C,EAAKk4C,cACLL,EAAe73C,EAAKk4C,aAAap4C,OACjC,OAAO,EAGf,OAAO,EAbI+3C,CAAe/3C,GAe9B7rE,KAAKkkH,wBAA0B/jH,GAASA,GAAS,GAAIsjH,GAAiB,CAAEp3D,UAAWrsD,KAAK2jH,YAAY1uB,KAAMiZ,sBAAsB,EAAM6B,aAAc5G,GAA+BzZ,UAAW1vF,KAAKmkH,2BACnM,IAMIC,EANA9H,EAAqCzwC,EAhiBhCw4C,KAAK,SAAUt4C,GACxB,QAAIA,EAAKulC,aAILvlC,EAAKk4C,eAAgBl4C,EAAKk4C,aAAap4C,MAAMw4C,KAAK,SAAUC,GAAe,OAAgC,IAAzBA,EAAYhT,cA4hB9FiT,EAAe9H,IAA6C,IAAtBz8G,KAAKklB,MAAM0yE,OAAkB53F,KAAKwkH,mBAAqB,KACjGzyB,OAAkCxnC,IAAlBwnC,EAA8B/xF,KAAKklB,MAAM+7F,gBAAkBtC,GAAejiC,OAASqV,EAK/F0yB,EAAsB9vB,EAAU7uE,QAgBpC,IAfKm9F,GAAkBC,IAAwBuB,GAAuBA,EAAoBznD,cAElF0nD,EADqBD,EAAoBh0B,wBACRn/E,MAAQ,EACzC2xG,EACAmB,EAAmB,CACf9yG,MAAOozG,GAGNxB,IACLkB,EAAmB,CACfznB,SAAU+nB,KAKlB74C,GAAwB,EAAfA,EAAMnrE,OAAY,CAE3B,IADA,IAAIikH,EAAmB,EACdh2D,EAAK,EAAGmd,EAAUD,EAAOld,EAAKmd,EAAQprE,OAAQiuD,IAAM,CACzD,IAAIod,EAAOD,EAAQnd,GACfod,EAAKg4C,WAAara,GAAuBkb,SAAW74C,EAAKg4C,WAAara,GAAuBmb,SACzFC,EAAY/4C,EAAKg5C,0BAA2D,EAChFJ,GAAoBG,GAG5B,IAAIE,EAAkBhlH,KAAK2jH,YAAY7uD,mBACjC90D,KAAK2jH,YAAY7uD,mBAAmB+8B,aACpCtnC,EACN,OAAQ6c,yBAAoB+5C,GAAYl5F,SAAU,KAAM,SAAUg9F,GAAe,OAAQ79C,yBAAoB44B,GAAS7/F,GAAS,CAAEm2D,OAAQ0uD,EAAiB9vB,eAAgBrnC,EAAMq3D,gCAAkC9B,EAAc,CAAEjiH,OAAQA,GAAU8jH,EAAY9jH,OAAQ4wF,cAAeA,EAAeD,UAAWA,EAAWX,gBAAiBA,EAAiBC,sBAAuBA,EAAuBP,SAAUA,EAAUlC,YAAaA,EAAauR,WAAYA,EAAY7zC,UAAWyY,GAAI,4BAA6Bs+C,GAAgBA,EAAa/2D,WAAY+rC,gBAAiBsS,EAAoBvU,UAAWtoC,EAAM3oC,MAAMixE,WAAa8uB,EAAY9uB,UAAW+D,SAAUrsC,EAAMs3D,UAAW72B,OAAQA,EAAQI,qBAAsBA,EAAsBE,gBAAiBA,EAAiBgJ,OAAQ/pC,EAAM3oC,MAAM0yE,QAAUqtB,EAAYrtB,OAAQ3xE,IAAKurE,IACnzBpqB,yBAAoB,MAAO,CAAElyC,MAAOkvF,EAAkB7+G,GAAIA,EAAI8mD,UAAWwB,EAAM81D,YAAYxoB,UAAWrwB,SAAUq4C,EAAyB,GAAK,EAAG3sB,UAAW3oC,EAAMu3D,eAAgBC,QAASx3D,EAAMy3D,SAAU3jB,eAAgB2gB,EAAoB7rB,aAAcT,EAAWU,kBAAmBssB,EAAgBjtB,KAAM,QAC7S1hF,GAAS+yD,yBAAoB,MAAO,CAAE/a,UAAWwB,EAAM81D,YAAYtvG,OAC/D,IACAA,EACA,KACJw3D,GAASA,EAAMnrE,OACTmtD,EAAM03D,iBAAiBhC,EAAiB,CACtCvtB,UAAWA,EACXnqB,MAAOA,EACPwwC,eAAgBsI,EAChBrI,cAAeA,EACfzK,SAAUA,EACV2T,wBAAyB33D,EAAM43D,yBAC/BzC,eAAgBA,GACjBn1D,EAAM21D,oBACP,KACNe,GAAgBlB,EAAgBkB,EAAc12D,EAAMy1D,sBAG5D,OAAO,MAGfb,GAAuBhjH,UAAUojH,cAAgB,WAC7C,IAAQxuD,EACuC,QAA9CjJ,EAAKprD,KAAKklH,sCAAmD,IAAP95D,GAAyBA,EAAGzrD,KAAKK,KAAM,CAC1F80F,gBAAiB90F,KAAK8iH,uBACtB/tB,eAAe,EACfM,uBAAiD,QAAxBhhC,EAAKkI,YAAkC,IAAPlI,OAAgB,EAASA,EAAGihC,cAAe,KAQ5GmtB,GAAuBhjH,UAAUmjH,UAAY,SAAU19F,GACnD,QAASA,EAAM0yE,QAMnB6qB,GAAuBhjH,UAAU0kH,uBAAyB,WACtD,IAAIV,EAAiBzjH,KAAKklB,MAAMu+F,eAChC,OAAOA,QAA+Cl5D,IAA7Bk5D,EAAe/zB,UAClC+zB,EAAe/zB,UACfwZ,GAAmB8F,UAE7ByT,GAAuBhjH,UAAU6jH,iBAAmB,SAAU7R,EAAciU,GACxE,MAAM/8G,MAAM,gKAGhB85G,GAAuBhjH,UAAU8lH,iBAAmB,SAAUl/F,GAC1D,IAAI+kC,EAAKprD,KAAKklB,MAAMygG,YACpB,OAAOv+C,8BADoD,IAAPhc,EAAgB0+C,GAAY1+C,EACnCjrD,GAAS,GAAIH,KAAKkkH,yBAA0B79F,IAE7Fo8F,GAAuBhjH,UAAUmmH,mBAAqB,SAAUC,EAEhEC,EAAgB3vE,EAAOmmE,EAAezK,GAClC,IAgBIkU,EAIAC,EApBAn4D,EAAQ7tD,KACRikH,EAAe4B,EAAY5B,aAC/B,GAAKA,EAoBL,OAfIA,EAAa5vG,QAET9O,EAAKvF,KAAKg8D,IAAMioD,EAAa5vG,MAAMjH,QAAQ,MAAO,IAClD64G,EAA2B,CAC3B7kH,IAAK,WAAa6iH,EAAa5vG,MAAQ,SACvC0vG,SAAUra,GAAuBmb,OACjCh8E,KAAMo7E,EAAa5vG,MACnB9O,GAAIA,GAERwgH,EAAa,CACThwB,KAAM,QACNW,kBAAmBnxF,GAEvBygH,EAAahmH,KAAKkmH,sBAAsBD,EAA0BH,EAAgB3vE,EAAOmmE,EAAezK,IAExGoS,EAAap4C,OAAqC,EAA5Bo4C,EAAap4C,MAAMnrE,OACjC0mE,yBAAoB,KAAM,CAAE2uB,KAAM,eAAgB30F,IAAK6iH,EAAa7iH,KAAOykH,EAAYzkH,KAAO,WAAa+0C,GAC/GixB,yBAAoB,MAAOjnE,GAAS,GAAI4lH,GACpC3+C,yBAAoB,KAAM,CAAE/a,UAAWrsD,KAAK2jH,YAAYwC,KAAMpwB,KAAM,gBAChEkuB,EAAamC,YAAcpmH,KAAKqmH,iBAAiBlwE,EAAO2vE,GAAgB,GAAM,GAC9EE,GACIhmH,KAAKsmH,gBAAgBN,EAAYH,EAAYzkH,KAAO+0C,EAAO2vE,EAAgBD,EAAYxxG,OAC3F4vG,EAAap4C,MAAMjoD,IAAI,SAAU2iG,EAAoBC,GACjD,OAAO34D,EAAM44D,gBAAgBF,EAAoBC,EAAYA,EAAYvC,EAAap4C,MAAMnrE,OAAQ47G,EAAezK,KAEvHoS,EAAayC,eAAiB1mH,KAAKqmH,iBAAiBlwE,EAAO2vE,GAAgB,GAAO,WAVlG,GAaJrD,GAAuBhjH,UAAU6mH,gBAAkB,SAAUt8G,EAAS5I,EAAKuhF,EAC3EtuE,GACI,OAAQ+yD,yBAAoB,KAAM,CAAE2uB,KAAM,eAAgB1hF,MAAOA,EAAOjT,IAAKA,EAAKirD,UAAWs2B,EAAW5W,MAAQ/hE,IAEpHy4G,GAAuBhjH,UAAU4mH,iBAAmB,SAAUlwE,EAAOwsC,EACrEj8B,EAAKigE,GACD,OAAIA,GAAuB,EAARxwE,EACPixB,yBAAoB,KAAM,CAAE2uB,KAAM,YAAa30F,IAAK,aAAe+0C,QAAiBoU,IAAR7D,EAAoB,GAAKA,EAAM,OAAS,WAAY2F,UAAWs2B,EAAWwxB,QAASpS,cAAe,SAEnL,MAEX0gB,GAAuBhjH,UAAUmnH,kBAAoB,SAAU76C,EAAM4W,EACrExsC,EAAOimE,EAAuBC,EAAgBC,EAAezK,GACzD,OAAI9lC,EAAK86C,SACE96C,EAAK86C,SAAS1mH,GAAS,CAAEq9G,gBAAiBpB,EAAwB,EAAGqB,eAAgBpB,GAAkBtwC,GAAO/rE,KAAK8mH,SAE1H/6C,EAAKl6D,KACE7R,KAAK+mH,sBAAsBh7C,EAAM4W,EAAYxsC,EAAOimE,EAAuBC,EAAgBC,EAAezK,GAEjH9lC,EAAK5+D,OAASqkG,GAAWzlC,GAClB/rE,KAAKgnH,mBAAmBj7C,EAAM4W,EAAYxsC,EAAOimE,EAAuBC,EAAgBC,EAAezK,GAE3G7xG,KAAKinH,kBAAkBl7C,EAAM4W,EAAYxsC,EAAOimE,EAAuBC,EAAgBC,EAAezK,IAEjH4Q,GAAuBhjH,UAAUymH,sBAAwB,SAAUn6C,EAEnE4W,EAAYxsC,EAAOmmE,EAAezK,GAC9B,IAAIzmD,EAAKprD,KAAKklB,MAAMq3F,qBAAsBC,OAA0B,IAAPpxD,EAAgB+rD,GAAqB/rD,EAC9F0xD,EAAY/wC,EAAK+wC,UAAWv3G,EAAKwmE,EAAKxmE,GACtC2hH,EAAoBpK,GAAavwC,GAAeuwC,EAAWxwC,IAC/D,OAEAlF,yBAAoB,MAAOjnE,GAAS,CAAEoF,GAAIA,EAAI8mD,UAAWrsD,KAAK2jH,YAAYv5D,QAAU88D,EAAmB,CAAEhyF,MAAO62C,EAAK72C,QACjHkyC,yBAAoBo1C,EAAkBr8G,GAAS,CAAE4rE,KAAMA,EAAM4W,WAAYA,EAAYxsC,MAAOA,EAAO87D,iBAAkBqK,EAAgBt8G,KAAKu3G,kBAAehtD,EAAWsnD,SAAUA,GAAYiL,MAElM2F,GAAuBhjH,UAAUsnH,sBAAwB,SAAUh7C,EAEnE4W,EAAYxsC,EAAOimE,EAAuBC,EAAgBC,EAAezK,GACrE,IAAIzmD,EAAKprD,KAAKklB,MAAOq3F,EAAuBnxD,EAAGmxD,qBAAsBloD,EAAKjJ,EAAGs3D,QAASjG,EAAsBpoD,EAAGooD,oBAAqBxJ,EAAc5+C,EAAG4+C,YACrJ,OAAQ7rC,yBAAoB+0C,GAAsB,CAAEpwC,KAAMA,EAAM4W,WAAYA,EAAYxsC,MAAOA,EAAOimE,sBAAuBA,EAAuBC,eAAgBA,EAAgBC,cAAeA,EAAezK,SAAUA,EAAU0K,qBAAsBA,EAAsBjF,iBAAkBt3G,KAAKmnH,sBAAuBzP,iBAAkB13G,KAAKonH,kBAAmBtP,gBAAiB93G,KAAKqnH,qBAAsBpJ,gBAAiBj+G,KAAKsnH,iBAAkB/G,iBAAkBvgH,KAAKq/G,kBAAmB3C,YAAa18G,KAAKunH,eAAgB3P,cAAe53G,KAAK23G,eAAgB8E,oBAAqBA,EAAqBxJ,YAAaA,EAAaG,eAAgBpzG,KAAKwnH,kBAAmBnU,YAAarzG,KAAK8mH,WAEhrBrE,GAAuBhjH,UAAUwnH,kBAAoB,SAAUl7C,EAE/D4W,EAAYxsC,EAAOimE,EAAuBC,EAAgBC,EAAezK,GACrE,IAAIzmD,EAAKprD,KAAKklB,MAAOq3F,EAAuBnxD,EAAGmxD,qBAAsBloD,EAAKjJ,EAAGs3D,QAASjG,EAAsBpoD,EAAGooD,oBAAqBxJ,EAAc5+C,EAAG4+C,YACrJ,OAAQ7rC,yBAAoB42C,GAAsB,CAAEjyC,KAAMA,EAAM4W,WAAYA,EAAYxsC,MAAOA,EAAOimE,sBAAuBA,EAAuBC,eAAgBA,EAAgBC,cAAeA,EAAezK,SAAUA,EAAU0K,qBAAsBA,EAAsBjF,iBAAkBt3G,KAAKmnH,sBAAuBzP,iBAAkB13G,KAAKonH,kBAAmBtP,gBAAiB93G,KAAKqnH,qBAAsBpJ,gBAAiBj+G,KAAKsnH,iBAAkB/G,iBAAkBvgH,KAAKq/G,kBAAmB3C,YAAa18G,KAAKu3G,aAAcC,gBAAiBx3G,KAAKynH,iBAAkB7P,cAAe53G,KAAK23G,eAAgB8E,oBAAqBA,EAAqBxJ,YAAaA,EAAaG,eAAgBpzG,KAAKwnH,kBAAmBnU,YAAarzG,KAAK8mH,WAEttBrE,GAAuBhjH,UAAUunH,mBAAqB,SAAUj7C,EAEhE4W,EAAYxsC,EAAOimE,EAAuBC,EAAgBC,EAAezK,GACrE,IAAIzmD,EAAKprD,KAAKklB,MAAOq3F,EAAuBnxD,EAAGmxD,qBAAsBloD,EAAKjJ,EAAGs3D,QAASjG,EAAsBpoD,EAAGooD,oBAAqBxJ,EAAc5+C,EAAG4+C,YACrJ,OAAQ7rC,yBAAoB03C,GAA2B,CAAE/yC,KAAMA,EAAM4W,WAAYA,EAAYxsC,MAAOA,EAAOimE,sBAAuBA,EAAuBC,eAAgBA,EAAgBC,cAAeA,EAAezK,SAAUA,EAAU0K,qBAAsBA,EAAsBjF,iBAAkBt3G,KAAKmnH,sBAAuBzP,iBAAkB13G,KAAKonH,kBAAmBtP,gBAAiB93G,KAAKqnH,qBAAsBpJ,gBAAiBj+G,KAAKsnH,iBAAkB/G,iBAAkBvgH,KAAKq/G,kBAAmB3C,YAAa18G,KAAKu3G,aAAcC,gBAAiBx3G,KAAKynH,iBAAkB7P,cAAe53G,KAAK23G,eAAgB1E,YAAaA,EAAaG,eAAgBpzG,KAAKwnH,kBAAmBnU,YAAarzG,KAAK8mH,QAASrK,oBAAqBA,EAAqB2D,MAAOpgH,KAAK0nH,2BAKhvBjF,GAAuBhjH,UAAUkoH,aAAe,SAAUntD,GAEtD,OAAOA,EAAGv0B,QAAU26B,IAA2B,SAAXpG,EAAGp5D,KAE3CqhH,GAAuBhjH,UAAUmoH,wBAA0B,WACvD,OAAQ5nH,KAAK6nH,gBAAkB7nH,KAAKklB,MAAMw9F,QAAQZ,aAAah8F,SAOnE28F,GAAuBhjH,UAAUqoH,yBAA2B,SAAU/7C,EAAMvR,EAAIr5D,GAC5E,IAAI0sD,EAAQ7tD,KACR43D,EAAgBz2D,GAAkBq5D,EAAGn7B,cACrC+rB,EAAKprD,KAAKklB,MAAOmvC,EAAKjJ,EAAG28D,kBAAmBC,OAAyB,IAAP3zD,EA9tBhD,IA8tBsFA,EAAIktB,EAAKn2B,EAAGs3D,QAASjG,EAAsBl7B,EAAGk7B,oBAAqBxJ,EAAc1xB,EAAG0xB,YACxLlnC,EAAK3qE,MAAQq7G,SAGUlyD,IAAvBvqD,KAAKioH,gBACLjoH,KAAKg/G,OAAO11F,aAAatpB,KAAKioH,eAC9BjoH,KAAKioH,mBAAgB19D,QAGGA,IAAxBkyD,GACA7kD,EAAcnX,QAId+wD,GAAWzlC,IACXvR,EAAG96B,kBACH1/B,KAAKioH,cAAgBjoH,KAAKg/G,OAAO9rG,WAAW,WACxC0kD,EAAcnX,QACdwyD,EAAYlnC,EAAMnU,GAAe,GACjC/J,EAAMo6D,mBAAgB19D,GACvBy9D,IAGHhoH,KAAKioH,cAAgBjoH,KAAKg/G,OAAO9rG,WAAW,WACxC26C,EAAM25D,kBAAkBhtD,GACxB5C,EAAcnX,QACdoN,EAAMo6D,mBAAgB19D,GACvBy9D,KAGXvF,GAAuBhjH,UAAU+kH,iBAAmB,WAChD,IAAIp5D,EAAKprD,KAAKklB,MAAMw9F,QAASvP,EAAgB/nD,EAAG+nD,cAAesJ,EAAsBrxD,EAAGqxD,oBAAqB0F,EAAuB/2D,EAAG+2D,qBACnIp2C,EAAO/rE,KAAKkoH,eAAezL,GAC3B8H,EAAe,KAmBnB,OAlBIx4C,IACAw4C,EAAe,CACX14C,MAAOw1C,GAAgBt1C,GACvB5qE,OAAQgyG,EACRhd,UAAWn2F,KAAKwnH,kBAChBW,WAAW,EACX5iH,GAAIvF,KAAKi1C,MAAMmzE,UACf1d,oBAAoB,EACpByY,uBAAwBhB,EACxBhxB,gBAAiB5hC,GAAOvvD,KAAKklB,MAAMvG,OAASitE,GAAgBS,YAAcT,GAAgBY,aAC1FngC,UAAWrsD,KAAKklB,MAAMmnC,UACtBwkC,SAAU,EACVkB,eAAe,GAEfhmB,EAAK0lC,cACLrxG,GAAOmkH,EAAcx4C,EAAK0lC,eAG3B8S,GAEX9B,GAAuBhjH,UAAUyoH,eAAiB,SAAU9mH,GACxD,IAAIyqE,EAAQ7rE,KAAKklB,MAAM2mD,MACvB,OAAO7rE,KAAKqoH,wBAAwBjnH,EAAKyqE,IAO7C42C,GAAuBhjH,UAAU4oH,wBAA0B,SAAUjnH,EAAKyqE,GACtE,IAAK,IAAIld,EAAK,EAAG25D,EAAUz8C,EAAOld,EAAK25D,EAAQ5nH,OAAQiuD,IAAM,CACzD,IAAIod,EAAOu8C,EAAQ35D,GACnB,GAAIod,EAAKg4C,WAAara,GAAuBsa,SAAWj4C,EAAKk4C,aAAc,CACvE,IAAIh2F,EAAQjuB,KAAKqoH,wBAAwBjnH,EAAK2qE,EAAKk4C,aAAap4C,OAChE,GAAI59C,EACA,OAAOA,OAGV,GAAI89C,EAAK3qE,KAAO2qE,EAAK3qE,MAAQA,EAC9B,OAAO2qE,IAIZ02C,IArsBP,SAASA,GAAuBv9F,GAC5B,IAAI2oC,EAAQ4O,GAAO98D,KAAKK,KAAMklB,IAAUllB,KAwWxC,OAvWA6tD,EAAMk1D,UAAW,EACjBl1D,EAAMi5D,QAAU,SAAUtsD,EAAI84C,GAC1B,IAAInd,EAAYtoC,EAAM3oC,MAAMixE,UACxBA,GACAA,EAAU37B,EAAI84C,IAGtBzlD,EAAMq3D,+BAAiC,SAAU30F,GAC7C,IAAI66B,EAAIiJ,EACJ9jC,GAAWA,EAAQ8kE,uBAAyBxnC,EAAMi1D,wBAIG,QAApDzuD,GAAMjJ,EAAKyC,EAAMi1D,wBAAwBriE,aAA0B,IAAP4T,GAAyBA,EAAG10D,KAAKyrD,IAGtGyC,EAAM21D,kBAAoB,SAAU+E,EAAe7C,GAC/C,IAAI8C,EAAkB,EAClB38C,EAAQ08C,EAAc18C,MAAOwwC,EAAiBkM,EAAclM,eAAgBC,EAAgBiM,EAAcjM,cAAezK,EAAW0W,EAAc1W,SACtJ,OAAQzqC,yBAAoB,KAAM,CAAE/a,UAAWwB,EAAM81D,YAAYwC,KAAM3vB,UAAW3oC,EAAMggB,WAAYw3C,QAASx3D,EAAMy3D,SAAUvvB,KAAM,gBAAkBlqB,EAAMjoD,IAAI,SAAUmoD,EAAM51B,GACvKsyE,EAAW56D,EAAM44D,gBAAgB16C,EAAM51B,EAAOqyE,EAAiBnM,EAAgBC,EAAezK,GAKlG,OAJI9lC,EAAKg4C,WAAara,GAAuBkb,SAAW74C,EAAKg4C,WAAara,GAAuBmb,SACzF6D,EAAgB38C,EAAKg5C,0BAA2D,EACpFyD,GAAmBE,GAEhBD,MAOf56D,EAAM44D,gBAAkB,SAAU16C,EAAM51B,EAAOimE,EAAuBC,EAAgBC,EAAezK,GACjG,IAkCI8W,EAjCAC,EAAgB,GAChB9W,EAAY/lC,EAAK+lC,WAAa,CAAEvK,SAAU,QAC1CwM,EAAoBhoC,EAAKgoC,kBAC7B+I,EAAY/wC,EAAK+wC,UACbxmD,EAASwmD,EAAYA,EAAUxmD,YAAS/L,EACxCkyD,EAAsB5uD,EAAM3oC,MAAMw9F,QAAQjG,oBAG1C7I,EAAmB7nC,EAAKg4C,WAAara,GAAuBkb,QAAU74C,EAAK1f,eAAY9B,EACvFs+D,EAAuB98C,EAAKymC,iBAAmBzmC,EAAKymC,iBAAiBnmD,UAAY,GA8BrF,OAxBIs8D,EADA5U,EACiBA,EAAkBlmD,EAAM3oC,MAAMvG,MAAO+yF,GAAe3lC,GAAO0wC,IAAwB1wC,EAAK3qE,MAAOiwG,GAAatlC,KAASA,EAAKl6D,KAA6B,SAAvBigG,EAAUvK,SAAqBx7B,EAAK1f,UAAWunD,EAAkB9B,EAAUzlD,UAAWw8D,EAAsB98C,EAAK+nC,kBAG9PgV,EAAiB,CACjBnqG,MAAOkvC,EAAM3oC,MAAMvG,MACnB8R,SAAUihF,GAAe3lC,GACzBynC,SAAUiJ,IAAwB1wC,EAAK3qE,IACvCguB,UAAWiiF,GAAatlC,GACxB0nC,eAAgB1nC,EAAKl6D,KACrB6hG,UAAkC,SAAvB5B,EAAUvK,SACrBoM,cAAe5nC,EAAK1f,UACpBunD,iBAAkBA,EAClBpM,cAAesK,EAAUzlD,UACzBwnD,iBAAkBgV,EAClB/U,gBAAiB/nC,EAAK+nC,iBAITsN,GAAgCE,GAA2E,QAA/Cl2D,EAAKyC,EAAM81D,YAAY7uD,0BAAuC,IAAP1J,OAAgB,EAASA,EAAGq9D,SAAUnyD,GAASwyD,IAGrK,MAAd/8C,EAAKljC,MAA8B,MAAdkjC,EAAKt0D,OAC1Bs0D,EAAKg4C,SAAWra,GAAuBkb,SAEnC74C,EAAKg4C,UACT,KAAKra,GAAuBkb,QACxBgE,EAAc9kH,KAAK+pD,EAAMw4D,iBAAiBlwE,EAAOwyE,IACjD,MACJ,KAAKjf,GAAuBmb,OACxB+D,EAAc9kH,KAAK+pD,EAAMw4D,iBAAiBlwE,EAAOwyE,IACjD,IAAI3C,EAAan4D,EAAMq4D,sBAAsBn6C,EAAM48C,EAAgBxyE,EAAOmmE,EAAezK,GACzF+W,EAAc9kH,KAAK+pD,EAAMy4D,gBAAgBN,EAAYj6C,EAAK3qE,KAAO+0C,EAAOwyE,EAAgB58C,EAAK13D,QAC7F,MACJ,KAAKq1F,GAAuBsa,QACxB4E,EAAc9kH,KAAK+pD,EAAM+3D,mBAAmB75C,EAAM48C,EAAgBxyE,EAAOmmE,EAAezK,IACxF,MACJ,QACQ4W,EAAW56D,EAAM+4D,kBAAkB76C,EAAM48C,EAAgBxyE,EAAOimE,EAAuBC,EAAgBC,EAAezK,GAC1H+W,EAAc9kH,KAAK+pD,EAAMy4D,gBAAgBmC,EAAU18C,EAAK3qE,KAAO+0C,EAAOwyE,EAAgB58C,EAAK13D,QAKnG,OAAO+yD,yBAAoB+1B,oBAAgB,CAAE/7F,IAAK2qE,EAAK3qE,KAAOwnH,IAElE/6D,EAAM43D,yBAA2B,SAAU15C,GACvC,IAAI51B,EAAQ41B,EAAK51B,MAAOimE,EAAwBrwC,EAAKqwC,sBAAuBC,EAAiBtwC,EAAKswC,eAAgBC,EAAgBvwC,EAAKuwC,cAAezK,EAAW9lC,EAAK8lC,SACtK,OAAOhkD,EAAM44D,gBAAgB16C,EAAM51B,EAAOimE,EAAuBC,EAAgBC,EAAezK,IAEpGhkD,EAAMggB,WAAa,SAAUrT,GAGzB3M,EAAMk7D,yBAA2Bl7D,EAAM85D,aAAantD,GAGpD,IAAIwuD,EAAkBxuD,EAAGv0B,QAAU26B,KAAoB2N,MAAWF,MAClE,OAAOxgB,EAAMo7D,YAAYzuD,EAAI3M,EAAMq7D,qBAAsBF,IAE7Dn7D,EAAMq7D,qBAAuB,SAAU1uD,GACnC,OAEAA,EAAGv0B,QAAU26B,IACT/S,EAAMs7D,oBAAoB3uD,IAEzBA,EAAGv0B,QAAU26B,KAAgBpG,EAAGx5B,QAAUw5B,EAAG/9C,UAEtDoxC,EAAMy3D,SAAW,SAAU9qD,GACvB,OAAO3M,EAAMo7D,YAAYzuD,EAAI3M,EAAMu7D,oBAAoB,IAY3Dv7D,EAAMu7D,mBAAqB,SAAU5uD,GAC7B6uD,EAA2Bx7D,EAAMk7D,0BAA4Bl7D,EAAM85D,aAAantD,GAEpF,OADA3M,EAAMk7D,0BAA2B,IACxBM,KAA8Bh7C,MAAWE,OAWtD1gB,EAAMo7D,YAAc,SAAUzuD,EAAI8uD,EAAiBN,GAC/C,IAAIO,GAAU,EAOd,OANID,EAAgB9uD,KAChB3M,EAAMi5D,QAAQtsD,EAAIwuD,GAClBxuD,EAAG59C,iBACH49C,EAAG96B,kBACH6pF,GAAU,GAEPA,GAKX17D,EAAMs7D,oBAAsB,SAAU3uD,GAClC,IAAIgvD,EAAkBj6D,GAAO1B,EAAM3oC,MAAMvG,OAASiiD,GAAiBA,GAEnE,QAAIpG,EAAGv0B,QAAUujF,IAAoB37D,EAAM3oC,MAAMijG,aAGzCt6D,EAAMq2D,wBAAwBx0B,YAAcwZ,GAAmB8F,YAChEnhD,EAAMq2D,wBAAwBjU,iBAC5BhlC,GAAgBzQ,EAAGr5D,OAAQ,6BAExC0sD,EAAMu3D,eAAiB,SAAU5qD,GAG7B,IAOIivD,ErGpT+ClgD,EAQ9BzS,EAA6ByS,EqGqS9CggD,EAAU17D,EAAMggB,WAAWrT,GAC3Bg3B,EAAc3jC,EAAM3oC,MAAMw9F,QAAQlxB,aAClC+3B,GAAY/3B,EAAY1rE,UAKxB2jG,KAAiBjvD,EAAGx5B,SAAUw5B,EAAG/9C,SAEjCitG,EAAOlvD,EAAGv0B,QAAU26B,GAEpB+oD,EAASnvD,EAAGv0B,QAAU26B,GACrB6oD,IAAgBC,IAAQC,IACrB9e,EAAiB6e,GrGlTJ5yD,EqGmTM06B,EAAY1rE,QrGnTLqjD,EqGmTcqoB,EAAY1rE,QAAQmM,UrGlTrEi3C,GAAmBpS,EAAaqS,EADmBI,GqGmT6B,GrGlTZ,GAAmC,EAA2BA,KAT3GzS,EqG4TM06B,EAAY1rE,QrG5TLqjD,EqG4TcqoB,EAAY1rE,QAAQ6L,WrG3TtE24C,GAAexT,EAAaqS,EADwBI,GqG4T8B,GrG3TlB,GAAmC,EAAkCA,OqG6T5HshC,EAAepqD,QACf+Z,EAAG59C,iBACH49C,EAAG96B,qBAQfmuB,EAAMs3D,UAAY,WACTt3D,EAAMg6D,oBAAgDt9D,IAA/BsD,EAAM+7D,qBAK9B/7D,EAAMg6D,eAAgB,GAJtBh6D,EAAMmxD,OAAO11F,aAAaukC,EAAM+7D,sBAChC/7D,EAAM+7D,0BAAuBr/D,GAKjCsD,EAAM+7D,qBAAuB/7D,EAAMmxD,OAAO9rG,WAAW,WACjD26C,EAAMg6D,eAAgB,GApTZ,MAuTlBh6D,EAAMs5D,sBAAwB,SAAUp7C,EAAMvR,EAAIr5D,GAC1C0sD,EAAM+5D,2BAGV/5D,EAAMi6D,yBAAyB/7C,EAAMvR,EAAIr5D,IAE7C0sD,EAAMw5D,qBAAuB,SAAUt7C,EAAMvR,EAAIr5D,GAC7C,IAAIy2D,EAAgB4C,EAAGn7B,cACnB+rB,EAAKyC,EAAM3oC,MAAMw9F,QAASb,EAAgCz2D,EAAGy2D,8BAA+BC,EAAe12D,EAAG02D,aAAc1uB,EAAehoC,EAAGgoC,aAE9IyuB,EAA8B/7F,UAC9Bg8F,EAAah8F,SAAU,EAKtB+nC,EAAMg6D,oBACiBt9D,IAAxBsD,EAAMo6D,eACNrwD,KAAmBw7B,MAAAA,OAAmD,EAASA,EAAazhF,SAAS2d,gBAGzGu+B,EAAMi6D,yBAAyB/7C,EAAMvR,EAAIr5D,KAE7C0sD,EAAMu5D,kBAAoB,SAAUr7C,EAAMvR,GACtC,IACInG,EAAKxG,EAAM3oC,MAAMw9F,QAASjG,EAAsBpoD,EAAGooD,oBAAqBjrB,EAAcn9B,EAAGm9B,YAC7F,IAAI3jC,EAAM+5D,iCAGkBr9D,IAAxBsD,EAAMo6D,gBACNp6D,EAAMmxD,OAAO11F,aAAaukC,EAAMo6D,eAChCp6D,EAAMo6D,mBAAgB19D,QAEEA,IAAxBkyD,GAQJ,GAAIjrB,EAAY1rE,QAAQ+jG,UACpB,IACIr4B,EAAY1rE,QAAQ+jG,YAExB,MAAOhpH,SAKwB,QAA9BuqD,EAAKomC,EAAY1rE,eAA4B,IAAPslC,GAAyBA,EAAG3K,SAG3EoN,EAAMy5D,iBAAmB,SAAUv7C,EAAMvR,GACjCuR,EAAK0vB,aACL1vB,EAAK0vB,YAAY1vB,EAAMvR,IAG/B3M,EAAM0pD,aAAe,SAAUxrC,EAAMvR,GACjC3M,EAAM45D,iBAAiB17C,EAAMvR,EAAIA,EAAGn7B,gBAExCwuB,EAAM45D,iBAAmB,SAAU17C,EAAMvR,EAAIr5D,GACzC,IAAI0qE,EAAQw1C,GAAgBt1C,GACxB3gB,EAAKyC,EAAM3oC,MAAMw9F,QAASjG,EAAsBrxD,EAAGqxD,oBAAqBxJ,EAAc7nD,EAAG6nD,YAG7FplD,EAAMi8D,sBACDtY,GAAWzlC,IAAWF,GAAUA,EAAMnrE,OAKnCqrE,EAAK3qE,MAAQq7G,GAEbxJ,EAAYlnC,EAAM5qE,EAOQ,IAA1Bq5D,EAAGlgC,YAAYkG,QAA+C,UAA/Bg6B,EAAGlgC,YAAYkM,aAZlDqnB,EAAMwxD,kBAAkBtzC,EAAMvR,GAelCA,EAAG96B,kBACH86B,EAAG59C,kBAEPixC,EAAM05D,eAAiB,SAAUx7C,EAAMvR,GACnC3M,EAAMwxD,kBAAkBtzC,EAAMvR,GAC9BA,EAAG96B,mBAEPmuB,EAAMwxD,kBAAoB,SAAUtzC,EAAMvR,GACtC,IAGIssD,EAHA/6C,EAAKt7C,UAAYs7C,EAAKhiB,aAGtB+8D,GAAU,EACV/6C,EAAK7sB,QACL4nE,IAAY/6C,EAAK7sB,QAAQsb,EAAIuR,GAExBle,EAAM3oC,MAAMw3F,cACjBoK,IAAYj5D,EAAM3oC,MAAMw3F,YAAYliD,EAAIuR,KAExC+6C,GAAYtsD,EAAGj7B,kBACfsuB,EAAMi5D,QAAQtsD,GAAI,KAG1B3M,EAAM8pD,eAAiB,SAAU5rC,EAAMvR,GACnC,IAAIuvD,EAAUx6D,GAAO1B,EAAM3oC,MAAMvG,OAASiiD,GAAgBA,GACrDmL,EAAKt7C,UAEL+pC,EAAGv0B,QAAU8jF,GAAWvvD,EAAGv0B,QAAU26B,KAAmBpG,EAAGv0B,QAAU26B,KAAkBpG,EAAGx5B,SAAUw5B,EAAG/9C,WACxGoxC,EAAM3oC,MAAMw9F,QAAQzP,YAAYlnC,EAAMvR,EAAGn7B,eAAe,GACxDm7B,EAAG59C,mBAKXixC,EAAMi8D,oBAAsB,gBACIv/D,IAAxBsD,EAAMo6D,gBACNp6D,EAAMmxD,OAAO11F,aAAaukC,EAAMo6D,eAChCp6D,EAAMo6D,mBAAgB19D,IAS9BsD,EAAM25D,kBAAoB,SAAUhtD,EAAI84C,GAChCA,EACAzlD,EAAMi5D,QAAQtsD,EAAI84C,GAEbzlD,EAAMk1D,UACXl1D,EAAM3oC,MAAMw9F,QAAQf,gBAG5B9zD,EAAM65D,wBAA0B,SAAUltD,GACtC3M,EAAMi8D,uBAEVj8D,EAAMmxD,OAAS,IAAIjoD,GAAMlJ,GACzBA,EAAMsX,QAAU,IAAIpL,GAAWlM,GAC/B8e,GAAuB9e,GAIvBA,EAAM5Y,MAAQ,CACV4uE,yBAAqBt5D,EACrB69D,UAAW58C,GAAM,mBAErB3d,EAAMmO,IAAM92C,EAAM3f,IAAMimE,GAAM,kBAC9B3d,EAAMg6D,eAAgB,EACfh6D,ECxff,IAAIouC,GAAmB,CACnBhH,KAAM,oBACNkG,UAAW,8BACXgrB,KAAM,yBACN/7D,OAAQ,2BACR/1C,MAAO,0BACP21G,OAAQ,WCHZ,SAAS3G,GAAgB5R,GACrB,OAAOrqC,yBAAoB6iD,GAAqB9pH,GAAS,GAAIsxG,IAGjE,IAAIwY,GAAsBx7C,GAAO8yC,GDCV,SAAUr8F,GAC7B,IAAImnC,EAAYnnC,EAAMmnC,UAAW1tC,EAAQuG,EAAMvG,MAC3CgkE,EAAaI,GAAoBkZ,GAAkBt9E,GACnDusE,EAAQvsE,EAAMusE,MAAOF,EAAiBrsE,EAAMqsE,eAAgBt3C,EAAU/0B,EAAM+0B,QAChF,MAAO,CACHuhD,KAAM,CACFt2E,EAAMusE,MAAMxO,OACZiG,EAAWsS,KACXtS,EAAWqnC,OACX,CACIhwB,gBAAiBhP,EAAevF,eAChCkX,SAAU,SAEdtwC,GAEJ8uC,UAAW,CACPxY,EAAWwY,UACX,CACIloC,UAAW,CACPu4C,SAAU,CAAE1pB,QAAS,MAIjCqkC,KAAM,CACFxjC,EAAWwjC,KACXxjC,EAAWqnC,OACX,CACIE,cAAe,OACf1nC,OAAQ,IACRC,QAAS,MAGjBr4B,OAAQ,CACJu4B,EAAWv4B,OACX8gC,EAAM1O,MACN,CACI3oD,WAAYomD,GAAYsD,SACxBp1C,MAAO6iD,EAAe9E,WACtB6wB,WAAY,OACZ/c,gBAAiB,cACjBhY,OAAQ,OACRzwE,OjBhDyB,GiBiDzBwiB,WjBjDyB,GiBkDzB6gF,OAAQ,UACRnyB,QAAS,UACT0nC,WAAY,OACZtV,UAAW,SAGnBxgG,MAAO,CACHsuE,EAAWtuE,MACX,CACI0qE,SAAUmM,EAAMvO,WAAWoC,SAC3BqrC,aAAc,OACdlU,YAAa,OACbmU,cAAe,MACfC,WAAY,MACZtwB,gBAAiBhP,EAAe9D,4BAGxCpyB,mBAAoB,CAChB+8B,QAAS,CACLoD,KAAM,CACFoH,UAAW3oD,EAAQ2mC,aAG3BouC,SAAU,MCnE0C,WAAc,OAAUpF,gBAAiBA,KAAuB,CAAE77C,MAAO,mBAI9H+iD,GAAiBN,GAC5BM,GAAeh8F,YAAc,iBCZtB,ICYmCkuC,GDZ/B+tD,GAAyB,CAChCC,SAAU,YACVC,gBAAiB,qBACjBC,aAAc,iBACdC,iBAAkB,qBAClBC,cAAe,kBACfC,oBAAqB,wBACrBC,yBAA0B,6BAC1BC,sBAAuB,0BACvBC,sBAAuB,2BAEhBC,GAA0B5mD,GAAgB,SAAU3lD,EAAO23C,EAAQjK,EAAW8+D,EAAkB3jB,EAAe4jB,EAAmB36F,EAAUstF,EAAS3uF,EAASokF,EAAU6X,GAE3K1oC,EAAaI,GAAoBynC,GAAwB7rG,GAAS,IAClEi4F,EAAapD,IAAa6X,EAC9B,OAAOz1D,GAAe,CAClBq/B,KAAM,CACFtS,EAAW8nC,SACXn0D,EAAO2+B,KACPk2B,EACA/7F,GAAW,CAAC,aAAcknC,EAAO6+C,aACjCyB,GAAc,CACV,cACAtgD,EAAOg/C,aACP,CACIriD,YAAY7H,EAAK,IACV,WAAau3B,EAAWgoC,cAAgBr0D,EAAOg1D,oBAElDlgE,EAAG,WAAau3B,EAAWioC,kBAAoBt0D,EAAOi1D,yBAA2Bj1D,EAAOk1D,oBACxFpgE,EAAG,UAAYkL,EAAOk1D,oBACtBpgE,KAGZ2yD,GAAW,CAACyM,GAAuBE,gBAAiBp0D,EAAOm1D,aAC3Dh7F,GAAY,CAAC,cAAe6lC,EAAOw+C,eAClCrkF,IACImmF,IACAxnF,GAAW,CACZ6jC,YAAYoB,EAAK,CACTiiD,SAAUhgD,EAAOy+C,cAElB,WAAapyB,EAAWkoC,eAAiBv0D,EAAOo1D,aACnDr3D,EAAG,WAAasuB,EAAWgoC,cAAgBr0D,EAAOq1D,YAClDt3D,EAAG,WAAasuB,EAAWmoC,qBAAuBx0D,EAAOs1D,mBACzDv3D,EAAG,WAAasuB,EAAWioC,kBAAoBt0D,EAAOu1D,gBACtDx3D,EAAG,UAAYiC,EAAO4+C,YACtB7gD,EAAG,WAAaiC,EAAO++C,YACvBhhD,EAAG,YAAcsuB,EAAWgoC,cAAgBr0D,EAAOw1D,YACnDz3D,EAAG,YAAcsuB,EAAWmoC,qBAAuBx0D,EAAOy1D,mBAC1D13D,EAAG,YAAcsuB,EAAWioC,kBAAoBt0D,EAAO01D,gBACvD33D,IAER5jC,GAAYrB,GAAW,CAACknC,EAAO21D,sBAC9Bx7F,GACGrB,GAAW,CACX6jC,UAAW,CACPqjD,SAAUhgD,EAAO41D,mBACjB3V,UAAWjgD,EAAO61D,qBAG1B9/D,GAEJ+/D,cAAe,CAACzpC,EAAWqoC,sBAAuB10D,EAAO81D,eACzDC,cAAe,CAAC1pC,EAAWsoC,sBAAuB30D,EAAO+1D,eACzDzvC,KAAM,CACF+F,EAAWgoC,aACXnjB,EACAlxC,EAAOsmB,KACPg6B,GAActgD,EAAOg2D,aACrBl9F,GAAWknC,EAAOi2D,YAClB97F,GAAY6lC,EAAO+/C,cAEvBpzG,MAAO,CAAC0/E,EAAWkoC,cAAev0D,EAAOrzD,MAAOmsB,GAAWknC,EAAOk2D,aAAc/7F,GAAY6lC,EAAOm2D,eACnGxmC,SAAU,CACNtD,EAAWioC,iBACXQ,EACA90D,EAAO2vB,SACP72D,GAAWknC,EAAOo2D,gBAClBj8F,IAAa46F,GAAW/0D,EAAOq2D,kBAC9Bl8F,IACImmF,IACAxnF,GAAW,CACZ6jC,UAAW,CACPqjD,SAAUhgD,EAAOu1D,gBACjBtV,UAAWjgD,EAAO01D,kBAG1BpV,GAAc,CAAC,cAAetgD,EAAOs2D,mBAEzCt4G,YAAa,CACTquE,EAAWmoC,oBACXx0D,EAAOhiD,YACP8a,GAAWknC,EAAOu2D,mBAClBp8F,GAAY6lC,EAAOw2D,qBAEvBhW,iBAAkB,CAACn0B,EAAWooC,yBAA0Bz0D,EAAOwgD,sBE/F5DiW,GAA2BzoD,GAAgB,SAAUhO,EAAQ7lC,EAAU+iF,EAAUpkF,EAAS0kF,GACjG,MAAO,CACH7e,KAAMvpC,GAAY4K,EAAO02D,sBAAuBxZ,GAAY,CAACl9C,EAAO22D,+BAAgCx8F,GAAY,CAAC6lC,EAAO42D,+BAAgC99F,IAAYqB,GAAY,CAAC6lC,EAAO62D,8BAA+BrZ,IAClNrjF,GAAY,CACb,CACIwiC,UAAW,CACPu4C,SAAUl1C,EAAO82D,2BAI7BC,qBAAsB3hE,GAAY4K,EAAO+2D,sBAAuB58F,GAC5DrB,GAAW,CACXknC,EAAOg3D,4BACP,CACIr6D,UAAW,CACPqjD,SAAUhgD,EAAOi3D,uCAGzB98F,IACCrB,GAAW,CACZ,CACI6jC,UAAW,CACPqjD,SAAUhgD,EAAOk3D,4BACjBhiB,SAAUl1C,EAAOm3D,+BAG1Bh9F,GAAY6lC,EAAOo3D,8BACtB9wC,KAAMlxB,GAAY4K,EAAOq3D,oBAAqBl9F,GAAY6lC,EAAOs3D,6BAA8Bn9F,GAAYqjF,GAAmBx9C,EAAOq3D,qBACrIvB,cAAe1gE,GAAY4K,EAAOkgD,0BAClCrC,QAASzoD,GAAY4K,EAAOu3D,oBAAqB/Z,GAAmBrjF,IAAa6lC,EAAOw3D,+BDjB5FC,IACAnuH,EAAUmuH,GAD4BtxD,GAslBxC4B,sBAvTEj/D,OAAOuC,eAAeosH,GAAWtuH,UAAW,iBAAkB,CAC1DkF,IAAK,WACD,QAAS3E,KAAKklB,MAAM8oG,aAAehuH,KAAKklB,MAAMg6B,UAAgC,IAArBl/C,KAAKklB,MAAM/X,OAExEzI,YAAY,EACZ2R,cAAc,IAElB03G,GAAWtuH,UAAU0oB,OAAS,WAC1B,IACIksC,EAAKr0D,KAAKklB,MAAO63F,EAAkB1oD,EAAG0oD,gBAAiB/mB,EAAY3hC,EAAG2hC,UAAWi4B,EAAa55D,EAAG45D,WAAY5hE,EAAYgI,EAAGhI,UAAW57B,EAAW4jC,EAAG5jC,SAAUy9F,EAAqB75D,EAAG65D,mBAAoBpa,EAAkBz/C,EAAGy/C,gBAEpOvyB,EAAKltB,EAAGi+C,cAERA,OAAuB,IAAP/wB,EAAgBvhF,KAAKklB,MAAM5Q,YAAcitE,EAAI1vE,EAAOwiD,EAAGxiD,KAAMigG,EAAYz9C,EAAGy9C,UAAWqc,EAAgB95D,EAAG85D,cAAe73D,EAASjC,EAAGiC,OAAQlnC,EAAUilC,EAAGjlC,QAAS+7F,EAAmB92D,EAAG82D,iBAAkBxsG,EAAQ01C,EAAG11C,MAAOyvG,EAAS/5D,EAAG+5D,OAAQv3B,EAAgBxiC,EAAGwiC,cAAed,EAAO1hC,EAAG0hC,KACzSs4B,EAAaruH,KAAKi1C,MAAMo5E,WAExBC,EAA0B79F,GAAYqjF,EAC1C9zG,KAAK2jH,YAAc9sB,EACbA,EAAcl4E,EAAO0tC,EAAW8+D,EAAkBrZ,GAAaA,EAAUzlD,UAAW8hE,GAAiBA,EAAc9hE,UAAWiiE,EAAyBl/F,GAAUi/F,IAAcruH,KAAKklB,MAAM8oG,UAAWhuH,KAAKklB,MAAM/X,QAAS+gH,GACzNhD,GAAwBvsG,EAAO23C,EAAQjK,EAAW8+D,EAAkBrZ,GAAaA,EAAUzlD,UAAW8hE,GAAiBA,EAAc9hE,UAAWiiE,IAA2BtuH,KAAKklB,MAAM8oG,UAAW5+F,GAAUi/F,EAAYruH,KAAKklB,MAAM/X,OACzN8vG,EAANj9G,KAA8Bi9G,mBAAoBsR,EAAlDvuH,KAAgEuuH,SAAUC,EAA1ExuH,KAA8FwuH,eAGnGC,GAAkBH,KAA6Bz8G,EAC/C6mB,EAAM+1F,EAAiB,IAAM,SAC7B9mB,EAAcp7B,GAElBnsE,GAAOquH,EAAiB,GAAK,CAAEl6G,KAAM,UAAYvU,KAAKklB,MAAMmmF,UAAWrrG,KAAKklB,OAAQupG,EAAiBtiD,GAAmBC,GAAkB,CACtI,aAGAsiD,EAAoB14B,GAAa2R,EAAY,cAG7CzR,OAAkB3rC,EAClBwyD,EACA7mB,EAAkB+mB,EAEb3K,GAAiBtyG,KAAKklB,MAAMypG,sBAAwBvwD,GAGzD83B,EAAkBs4B,EAEb7mB,EAAY,sBACjBzR,EAAkByR,EAAY,qBAM9B1R,OAAiB1rC,EACjBo9C,EAAY,mBACZ1R,EAAiB0R,EAAY,mBAExBzR,IAAoBw4B,IACzBz4B,EAAiBj2F,KAAK4uH,WAAaL,OAAWhkE,GAElD,IAAIskE,KAAsD,IAApC7uH,KAAKklB,MAAM,sBAAmCuL,IAAay9F,GAAuBluH,KAAK8uH,gBAGzGC,EAA8B,qBAATh5B,GAAwC,aAATA,EAKpDi5B,EAAwBD,IAA4C,IAAXX,IAAVh/F,OAAwCm7B,EACvFw1D,EAAc3/G,GAAOunG,IAAcv8C,EAAK,CACpCiB,UAAWrsD,KAAK2jH,YAAY1uB,KAE5BhvE,IAAKjmB,KAAKyrG,WAAWzrG,KAAKklB,MAAMwmF,WAAY1rG,KAAKivH,gBACjDx+F,SAAU69F,IAA4BJ,EACtC13B,UAAWx2F,KAAK6tE,WAChBqhD,WAAYlvH,KAAKmvH,YACjB9J,QAASrlH,KAAKslH,SACd7pB,YAAaz7F,KAAK2tE,aAClB+tB,UAAW17F,KAAKovH,WAChBlwE,QAASl/C,KAAKqvH,SACd54B,aAAci4B,EACdh4B,kBAAmBT,EACnBU,mBAAoBT,EACpBwnB,gBAAiB4Q,EACjB9O,oBAAqBqP,IAItBE,EAAqB,eAAiB,gBAAkBC,EAC3D5jE,IAIJ,OAHI6iE,IACAlO,EAAY,gBAAiB,GAE7B//G,KAAK8uH,eACE9uH,KAAKsvH,4BAA4B52F,EAAKqnF,IAExC//G,KAAKklB,MAAM8oG,YACkBzoH,OAAY,KAA1Ck8E,EAAKzhF,KAAKklB,MAAM8oG,UAAUzoH,IAAyBvF,KAAKuuH,SAAW,QAAU9sC,EACjFrhF,GAAO2/G,EAAa,CAChBxC,iBAAkB8Q,EAClBkB,gBAAkBlB,EAAkB,KAAL9oH,EAC/B+3G,iBAAiB,KAGlBt9G,KAAKwvH,iBAAiB92F,EAAKqnF,KAEtCgO,GAAWtuH,UAAUi2C,kBAAoB,WAIjC11C,KAAK8uH,gBAAkB9uH,KAAKyvH,sBAAsB3pG,UAC9C,kBAAmB9lB,KAAKyvH,sBAAsB3pG,SAC9C9lB,KAAKmlE,QAAQvJ,GAAG57D,KAAKyvH,sBAAsB3pG,QAAS,cAAe9lB,KAAK4tE,gBAAgB,GAExF,gBAAiB5tE,KAAKyvH,sBAAsB3pG,SAAW9lB,KAAKklB,MAAMwqG,aAClE1vH,KAAKmlE,QAAQvJ,GAAG57D,KAAKyvH,sBAAsB3pG,QAAS,YAAa9lB,KAAKklB,MAAMwqG,aAAa,KAIrG3B,GAAWtuH,UAAU09C,mBAAqB,SAAUmhB,EAAWC,GAEvDv+D,KAAKklB,MAAMyqG,qBAAuBpxD,EAAU8vD,YAAcruH,KAAKi1C,MAAMo5E,YACrEruH,KAAKklB,MAAMyqG,sBAGnB5B,GAAWtuH,UAAUqhD,qBAAuB,WACxC9gD,KAAKg/G,OAAOhoD,UACZh3D,KAAKmlE,QAAQnO,WAEjB+2D,GAAWtuH,UAAUghD,MAAQ,WACrBzgD,KAAK8uH,gBAAkB9uH,KAAKyvH,sBAAsB3pG,SAClDonD,IAAmB,GACnBltE,KAAKyvH,sBAAsB3pG,QAAQ26B,SAE9BzgD,KAAKivH,eAAenpG,UACzBonD,IAAmB,GACnBltE,KAAKivH,eAAenpG,QAAQ26B,UAGpCstE,GAAWtuH,UAAU4zG,YAAc,WAC/BrzG,KAAK4vH,gBAET7B,GAAWtuH,UAAUowH,SAAW,SAAU1M,EAAwBzY,GAC9D1qG,KAAK8vH,UAAU3M,EAAwBzY,IAE3CqjB,GAAWtuH,UAAU+vH,iBAAmB,SAAU92F,EAAKqnF,GACnD,IAAIlyD,EAAQ7tD,KACRklB,EAAQllB,KAAKklB,MACbomF,EAAM5yE,EACNy1F,EAAgBjpG,EAAMipG,cAAeH,EAAY9oG,EAAM8oG,UAAW5iE,EAAKlmC,EAAM6sF,aAAcA,OAAsB,IAAP3mD,EAAgBprD,KAAK+vH,cAAgB3kE,EAAIiJ,EAAKnvC,EAAM8qG,wBAAyBA,OAAiC,IAAP37D,EAAgBr0D,KAAKiwH,yBAA2B57D,EAAIktB,EAAKr8D,EAAMgrG,iBAAkBA,OAA0B,IAAP3uC,EAAgBvhF,KAAKmwH,kBAAoB5uC,EAElWC,EAAKt8D,EAAMkrG,aAEXA,OAAsB,IAAP5uC,EAAgBxhF,KAAKqwH,cAAgB7uC,EAAIC,EAAKv8D,EAAMorG,iBAAkBA,OAA0B,IAAP7uC,EAAgBzhF,KAAKuwH,kBAAoB9uC,EAAIhxD,EAAWvL,EAAMuL,SAClKuoF,EAAc9zF,EAAM8zF,YACpBA,GAAegV,IACfhV,EAAch5G,KAAKg9G,kCAAkChE,IAErDwX,EAAS,SAAUpT,GAAoB,OAAQh2C,yBAAoBkkC,EAAKnrG,GAAS,GAAI4/G,EAAa3C,GAClGh2C,yBAAoB,OAAQ,CAAE/a,UAAWwB,EAAM81D,YAAYyI,cAAeqE,oBAAqB,sBAC3F1e,EAAa7sF,EAAO2oC,EAAMkiE,eAC1BliE,EAAM6iE,wBACNV,EAAwB9qG,EAAO2oC,EAAMoiE,0BACrCC,EAAiBhrG,EAAO2oC,EAAMsiE,oBAC7BtiE,EAAMihE,iBACFd,GAAaG,GAAiBtgE,EAAM3oC,MAAMorG,mBAC3CA,EAAiBziE,EAAM3oC,MAAO2oC,EAAM0iE,mBACxCvC,IACKA,EAAU9tB,YACXryC,EAAM8iE,qBACNP,EAAapC,EAAWngE,EAAMwiE,kBACtCO,EAAU5X,EAEd5xC,yBAAoB80C,GAAY,CAAElD,YAAch5G,KAAK8uH,oBAA+BvkE,EAAdyuD,EAAyB9iB,gBAAiB6pB,EAAY,oBAAqBtvF,SAAUA,GAAiD+/F,GAAiCA,IAC7O,OAAIxC,GAAaA,EAAU9tB,WACf94B,yBAAoB+1B,oBAAgB,KACxCyzB,EACA5wH,KAAK2wH,qBAAuBP,EAAapC,EAAWhuH,KAAKqwH,gBAEzDjpD,yBAAoB+1B,oBAAgB,KACxCyzB,EACAxpD,yBAAoB0G,GAAY,QAOxCigD,GAAWtuH,UAAUkxH,kBAAoB,WACrC,IAAItC,EAAaruH,KAAKi1C,MAAMo5E,WAExBjjE,EAAKprD,KAAKklB,MAAO2rG,EAAczlE,EAAGylE,YAAaC,EAAmC1lE,EAAG0lE,iCACzF,OAAKzC,MAIIwC,IAAgB7wH,KAAK+wH,uBAAwBD,IAO1D/C,GAAWtuH,UAAUmvH,SAAW,WAK5B,OAA2B,OAApB5uH,KAAKklB,MAAM2jB,YAAsC0hB,IAApBvqD,KAAKklB,MAAM2jB,MAAqD,iBAAxB7oC,KAAKklB,MAAMmB,WAE3F0nG,GAAWtuH,UAAU6vH,4BAA8B,SAAU52F,EAAKqnF,GAC9D,IAAIlyD,EAAQ7tD,KACRorD,EAAKprD,KAAKklB,MAAOmvC,EAAKjJ,EAAGkL,OAAQA,OAAgB,IAAPjC,EAAgB,GAAKA,EAAI5jC,EAAW26B,EAAG36B,SAAUy9F,EAAqB9iE,EAAG8iE,mBAAoB9+F,EAAUg8B,EAAGh8B,QAAS29F,EAA2B3hE,EAAG2hE,yBAA0BjZ,EAAkB1oD,EAAG0oD,gBAAiBka,EAAY5iE,EAAG4iE,UAAWI,EAAShjE,EAAGgjE,OAAQr4B,EAAO3qC,EAAG2qC,KAAMi7B,EAA2B5lE,EAAG4lE,yBACvVhY,EAAch5G,KAAKklB,MAAM8zF,YACzBqV,EAAaruH,KAAKi1C,MAAMo5E,WACxB1rC,EAAaoqC,EACXA,IAA2Bt8F,GAAW49F,IAAcj/F,IAAW8+F,GAC/D53D,GAAU26D,GAA6B36D,IAAU7lC,GAAW49F,IAAcj/F,IAAW0kF,GAC3F1zG,GAAO2/G,EAAa,CAChB7gE,aAASqL,EACT2mE,mBAAe3mE,EACfmlE,iBAAanlE,EACbugB,UAAW,EACX00C,qBAAqB,IAErBxG,GAAegV,IACfhV,EAAch5G,KAAKg9G,kCAAkChE,IAEzD,IAAIpR,EAAiBr7B,GAAewzC,EAAa,GAAI,CAAC,aAElDiR,GACA5wH,GAAO2/G,EAAaiR,GAEpBG,EAAc,SAAU/T,GAAoB,OAAQh2C,yBAAoB,MAAOjnE,GAAS,GAAIynG,EAAgB,CAAEqX,kBAAmB7B,EAAmBA,EAAiB,wBAAqB7yD,EAAWwrC,KAAMA,GAAc,SAAU2nB,gBAAiBjtF,EAAU6sF,iBAAiB,EAAMC,iBAAkB8Q,EAAY+C,eAAgBhD,IAAWh/F,OAAUm7B,EAAWosC,mBAAoBv1B,GAAyB2+C,EAAY,oBAAqB3C,EAAmBA,EAAiB,yBAAsB7yD,GAAY8B,UAAWs2B,GAAcA,EAAW0qC,qBAAsB72B,UAAW3oC,EAAMwjE,+BAAgC/R,aAAczxD,EAAM0xD,cAAet5F,IAAK4nC,EAAM4hE,sBAAuBjQ,qBAAqB,EAAMtgE,QAAUzuB,GAAaqjF,OAAqDvpD,EAAnCsD,EAAMyjE,2BAAwCxmD,UAAYr6C,IAAaqjF,GAAoBoa,EAAqB,OAAI3jE,EAAWk1D,uBAAwBM,EAAY,wBAAyBpe,eAAgB9zC,EAAM0jE,gCAC77BnqD,yBAAoB,OAAQ,CAAElyC,MAAO,CAAEyrB,QAAS,SAC5CkN,EAAM2hE,iBAAiB92F,EAAKqnF,GAC5BlyD,EAAM2jE,+BAA+B7uC,EAAYy6B,GACjDvvD,EAAM4jE,4BAA4B9uC,MAC1C,OAAOq2B,EAAe5xC,yBAAoB80C,GAAY,CAAElD,YAAaA,EAAavoF,SAAUA,GAAiD0gG,GAAsCA,KAEvLpD,GAAWtuH,UAAUgyH,4BAA8B,SAAU9uC,GACzD,GAAIA,GAAcA,EAAWwxB,QAIzB,OAAO/sC,yBAAoB,OAAQ,CAAE/a,UAAWs2B,EAAWwxB,QAASpS,eAAe,EAAM7iD,QAH3E,SAAUsb,GACpBA,EAAG96B,qBAIX,OAAO,MAEXquF,GAAWtuH,UAAU+xH,+BAAiC,SAAU7uC,EAAYy6B,GACxE,IAAIhyD,EAAKprD,KAAKklB,MAAOgpG,EAAqB9iE,EAAG8iE,mBAAoB9+F,EAAUg8B,EAAGh8B,QAASqB,EAAW26B,EAAG36B,SAAUihG,EAAuBtmE,EAAGsmE,qBAAsBC,EAAuBvmE,EAAGumE,qBAAsB7d,EAAkB1oD,EAAG0oD,gBAChOua,EAAaruH,KAAKi1C,MAAMo5E,WACxBF,EAAgBnuH,KAAKklB,MAAMipG,mBACT5jE,IAAlB4jE,IACAA,EAAgB,CACZ5mB,SAAU,gBAGdqqB,EAAmBzxH,GAASA,GAAS,GAAIuxH,GAAuB,CAAEp7D,OAAQqsB,EAAYvzD,QAASA,EAASqB,SAAUA,EAAUy9F,mBAAoBA,EAAoBhvE,QAASl/C,KAAK6xH,aAAc7D,eAAWzjE,EAAWunD,UAAW3xG,GAASA,GAAS,GAAIguH,GAAgB,CAAE9hE,UAAWrsD,KAAK2jH,YAAY19B,WAAa+P,UAAW27B,EAAsBrU,iBAAiB,EAAMC,iBAAkB8Q,EAAY7O,qBAAqB,IAEja,OAAQp4C,yBAAoB2mD,GAAY5tH,GAAS,GAAIyxH,EAAkB,CAAE1R,0BAA2B9C,GAAmBA,EAAiB,2BAA+C3hB,YAAaz7F,KAAK2tE,aAAc7C,SAAUgpC,IAAoBoa,EAAqB,GAAK,MAEnRH,GAAWtuH,UAAUmuE,eAAiB,SAAUpT,GAC5C,IAAI02D,EAAgBlxH,KAAKklB,MAAMgsG,cAC3BA,GACAA,EAAc12D,GAEK,UAAnBA,EAAGh0B,cACHxmC,KAAKmgH,8BACL3lD,EAAG59C,iBACH49C,EAAG39C,6BAGXkxG,GAAWtuH,UAAU0gH,4BAA8B,WAC/C,IAAItyD,EAAQ7tD,UAGqBuqD,IAA7BvqD,KAAKqgH,sBACLrgH,KAAKg/G,OAAO11F,aAAatpB,KAAKqgH,qBAC9BrgH,KAAKqgH,yBAAsB91D,GAE/BvqD,KAAKsgH,kBAAmB,EACxBtgH,KAAKqgH,oBAAsBrgH,KAAKg/G,OAAO9rG,WAAW,WAC9C26C,EAAMyyD,kBAAmB,EACzBzyD,EAAMwyD,yBAAsB91D,EAG5BsD,EAAMpN,SAhkBG,MAwkBjBstE,GAAWtuH,UAAUqyH,oBAAsB,SAAUt3D,GACjD,OAAIx6D,KAAKklB,MAAM6sG,mBAEJv3D,EAAGv0B,QAAUjmC,KAAKklB,MAAM6sG,qBAE1B/xH,KAAKklB,MAAM8oG,YAETxzD,EAAGv0B,QAAU26B,KAAkBpG,EAAGx5B,QAAUw5B,EAAG/9C,WAM9DsxG,GAAWznG,aAAe,CACtB0rG,cAAe,YACf17D,OAAQ,GACRnpD,OAAO,GAEJ4gH,IAnlBP,SAASA,GAAW7oG,GAChB,IAAI2oC,EAAQ4O,GAAO98D,KAAKK,KAAMklB,IAAUllB,KA0RxC,OAzRA6tD,EAAMohE,eAAiB9e,uBACvBtiD,EAAM4hE,sBAAwBtf,uBAC9BtiD,EAAM49C,WAAa97B,KACnB9hB,EAAMkjE,sBAAuB,EAC7BljE,EAAMmvD,kCAAoC14C,GAAgB,SAAU00C,GAChE,OAAO74G,GAASA,GAAS,GAAI64G,GAAc,CAAE+E,SAAS,MAE1DlwD,EAAMkiE,cAAgB,SAAUhQ,EAAa2F,GACzC,IAAI5T,EAAYjkD,EAAM3oC,MAAM4sF,UAC5B,GAAIA,SAAqCvnD,IAAvBunD,EAAUvK,UAA0BuK,EAAUtN,YAAa,CACzE,IAAIn4C,EAAYylD,EAAUzlD,UAAWm4C,EAAasN,EAAUtN,WAAYr1B,EAAOvuE,EAAOkxG,EAAW,CAAC,YAAa,eAG/G,GAAIA,EAAUx7C,OACV,OAAO8Q,yBAAoBghC,GAAMjoG,GAAS,CAAEksD,UAAWyY,GAAIjX,EAAM81D,YAAY/mC,KAAMvwB,GAAYm4C,WAAYA,GAAcr1B,IAE7H,GAAI2iC,EAAUvK,SACV,OAAOngC,yBAAoBkgC,GAAUnnG,GAAS,CAAEksD,UAAWyY,GAAIjX,EAAM81D,YAAY/mC,KAAMvwB,IAAc8iB,IAEzG,GAAIq1B,EACA,OAAOp9B,yBAAoB2hC,GAAW5oG,GAAS,CAAEksD,UAAWyY,GAAIjX,EAAM81D,YAAY/mC,KAAMvwB,GAAYm4C,WAAYA,GAAcr1B,IAGtI,OAAO,MAEXthB,EAAM6iE,sBAAwB,WAC1B,IAAItlE,EAAKyC,EAAM3oC,MAAO2jB,EAAOuiB,EAAGviB,KAAMxiB,EAAW+kC,EAAG/kC,SAEpDguC,EAAKjJ,EAAGknD,cAERA,OAAuB,IAAPj+C,EAAgBxG,EAAM3oC,MAAM5Q,YAAc+/C,EAAIktB,EAAKn2B,EAAG6mE,aAAcA,OAAsB,IAAP1wC,EAAgB1zB,EAAMqkE,cAAgB3wC,EAAIC,EAAKp2B,EAAGujE,oBAAqBA,OAA6B,IAAPntC,EAAgB3zB,EAAMskE,qBAAuB3wC,EAC7O,OAAI34C,GAA4B,iBAAbxiB,GAAyBisF,EAChClrC,yBAAoB,OAAQ,CAAE/a,UAAWwB,EAAM81D,YAAY0I,eAC/D4F,EAAapkE,EAAM3oC,MAAO2oC,EAAMqkE,eAChCvD,EAAoB9gE,EAAM3oC,MAAO2oC,EAAMskE,uBAExC,CAACF,EAAapkE,EAAM3oC,MAAO2oC,EAAMqkE,eAAgBvD,EAAoB9gE,EAAM3oC,MAAO2oC,EAAMskE,wBAEnGtkE,EAAMqkE,cAAgB,WAClB,IAAIrpF,EAAOglB,EAAM3oC,MAAM2jB,KACnBxiB,EAAWwnC,EAAM3oC,MAAMmB,SAK3B,YAHakkC,IAAT1hB,GAA0C,iBAAbxiB,IAC7BwiB,EAAOxiB,GAEPwnC,EAAM+gE,WACExnD,yBAAoB,OAAQ,CAAEhmE,IAAKysD,EAAM0gE,SAAUliE,UAAWwB,EAAM81D,YAAY1gH,MAAOsC,GAAIsoD,EAAM0gE,UAAY1lF,GAElH,MAEXglB,EAAMsiE,kBAAoB,WACtB,IAAI9pG,EAAWwnC,EAAM3oC,MAAMmB,SAG3B,MAAwB,iBAAbA,EACA,KAEJA,GAEXwnC,EAAMskE,qBAAuB,SAAUjtG,GAE/BkmC,EAAKlmC,EAAMotF,cAAeA,OAAuB,IAAPlnD,EAAgByC,EAAM3oC,MAAM5Q,YAAc82C,EAGxF,OAAOknD,EAAiBlrC,yBAAoB,OAAQ,CAAEhmE,IAAKysD,EAAM2gE,eAAgBniE,UAAWwB,EAAM81D,YAAYrvG,YAAa/O,GAAIsoD,EAAM2gE,gBAAkBlc,GAAkB,MAE7KzkD,EAAMoiE,yBAA2B,WAC7B,IAAIlT,EAAkBlvD,EAAM3oC,MAAM63F,gBAGlC,OAAOA,EAAmB31C,yBAAoB,OAAQ,CAAE/a,UAAWwB,EAAM81D,YAAY7M,iBAAkBvxG,GAAIsoD,EAAMovD,oBAAsBF,GAAoB,MAE/JlvD,EAAM0iE,kBAAoB,SAAUrrG,GAChC,IAAIipG,EAAgBtgE,EAAM3oC,MAAMipG,cAChC,OAAO/mD,yBAAoBkgC,GAAUnnG,GAAS,CAAEonG,SAAU,eAAiB4mB,EAAe,CAAE9hE,UAAWwB,EAAM81D,YAAY19B,aAE7Hp4B,EAAMwiE,cAAgB,SAAUrC,GAC5B,IAAI6C,EAAchjE,EAAM3oC,MAAM2rG,YAC1BxC,EAAaxgE,EAAM5Y,MAAMo5E,WACzB+D,EAAWvkE,EAAM3oC,MAAMmtG,QAAU9H,GAOrC,OAHKyD,EAAUh4B,WAAcg4B,EAAUhL,iBAAkBn1D,EAAM+gE,aAC3DZ,EAAY7tH,GAASA,GAAS,GAAI6tH,GAAY,CAAEhL,eAAgBn1D,EAAM0gE,YAElEnnD,yBAAoBgrD,EAAUjyH,GAAS,CAAEoF,GAAIsoD,EAAM0gE,SAAW,QAASp9B,gBAAiBvF,GAAgBK,gBAAkB+hC,EAAW,CAAE7K,uBAAwBt1D,EAAMykE,4BAA6B5nB,mBAAoB78C,EAAM0kE,wBAAyB36B,OAAQi5B,EAAcxC,OAAa9jE,EAAW8B,UAAWyY,GAAI,yBAA0BkpD,EAAU3hE,WAAYlrD,QAAQ0sD,EAAMihE,eAAiBjhE,EAAM4hE,sBAAgC5hE,EAAMohE,gBAAhBnpG,QAAwCqwE,UAAWtoC,EAAM2kE,mBAEle3kE,EAAM2kE,eAAiB,SAAUh4D,GAC7B,IAAIwzD,EAAYngE,EAAM3oC,MAAM8oG,UACxBA,GAAaA,EAAU73B,WACvB63B,EAAU73B,UAAU37B,GAEnBA,GAAOA,EAAGj7B,kBACXsuB,EAAM+hE,gBAGd/hE,EAAM+hE,aAAe,WACjB/hE,EAAM0kE,6BAA0BhoE,EAChCsD,EAAMykE,iCAA8B/nE,EACpCsD,EAAMpoC,SAAS,CAAE4oG,YAAY,KAEjCxgE,EAAMiiE,UAAY,SAAU3M,EAAwBzY,QACrB,IAAvBA,IAAiCA,GAAqB,GACtD78C,EAAM3oC,MAAM8oG,YACZngE,EAAMykE,4BAA8BnP,EACpCt1D,EAAM0kE,wBAA0B7nB,EAChC78C,EAAMkjE,sBAAuB,EAC7BljE,EAAMpoC,SAAS,CAAE4oG,YAAY,MAGrCxgE,EAAM4kE,cAAgB,SAAUtP,GAC5B,IAAIzY,GAAqB,EACrB78C,EAAM3oC,MAAM8oG,YAA0D,IAA7CngE,EAAM3oC,MAAM8oG,UAAUtjB,qBAC/CA,GAAqB,GAEzB78C,EAAM5Y,MAAMo5E,WAAaxgE,EAAMiiE,UAAU3M,EAAwBzY,GAAsB78C,EAAM+hE,gBAEjG/hE,EAAM0jE,8BAAgC,SAAU/2D,GAC5C,IAAI2gC,EAAYttC,EAAM4hE,sBAAsB3pG,SAEvCq1E,GAAc3gC,EAAGr5D,QAAUqhE,GAAsBhI,EAAGr5D,OAAQg6F,IAKjEA,EAAU16C,SAEdoN,EAAMyjE,2BAA6B,SAAU92D,GACpC3M,EAAM5Y,MAAMo5E,YACbxgE,EAAM+hE,gBAEL/hE,EAAMyyD,kBAAoBzyD,EAAM3oC,MAAMg6B,QACvC2O,EAAM3oC,MAAMg6B,QAAQsb,GAEf3M,EAAMyyD,kBACXzyD,EAAMgkE,aAAar3D,IAG3B3M,EAAMggB,WAAa,SAAUrT,IAGrB3M,EAAM3oC,MAAMuL,UAAa+pC,EAAGv0B,QAAU26B,IAAkBpG,EAAGv0B,QAAU26B,GAI/D/S,EAAM3oC,MAAMuL,WACdo9B,EAAM3oC,MAAM8oG,UACZngE,EAAMu3D,eAAe5qD,QAEUjQ,IAA1BsD,EAAM3oC,MAAMsxE,WACjB3oC,EAAM3oC,MAAMsxE,UAAUh8B,KAR1BA,EAAG59C,iBACH49C,EAAG96B,oBAWXmuB,EAAMy3D,SAAW,SAAU9qD,GAClB3M,EAAM3oC,MAAMuL,eAAoC85B,IAAxBsD,EAAM3oC,MAAMmgG,SACrCx3D,EAAM3oC,MAAMmgG,QAAQ7qD,IAG5B3M,EAAMshE,YAAc,SAAU30D,GACrB3M,EAAM3oC,MAAMuL,eAAuC85B,IAA3BsD,EAAM3oC,MAAMgqG,YACrCrhE,EAAM3oC,MAAMgqG,WAAW10D,IAG/B3M,EAAMuhE,WAAa,SAAU50D,GACpB3M,EAAM3oC,MAAMuL,eAAsC85B,IAA1BsD,EAAM3oC,MAAMw2E,WACrC7tC,EAAM3oC,MAAMw2E,UAAUlhC,IAG9B3M,EAAM8f,aAAe,SAAUnT,GACtB3M,EAAM3oC,MAAMuL,eAAwC85B,IAA5BsD,EAAM3oC,MAAMu2E,aACrC5tC,EAAM3oC,MAAMu2E,YAAYjhC,IAGhC3M,EAAMwhE,SAAW,SAAU70D,GAClB3M,EAAM3oC,MAAMuL,WACTo9B,EAAM3oC,MAAM8oG,UACZngE,EAAMgkE,aAAar3D,QAEUjQ,IAAxBsD,EAAM3oC,MAAMg6B,SACjB2O,EAAM3oC,MAAMg6B,QAAQsb,KAIhC3M,EAAMwjE,+BAAiC,SAAU72D,GAEzCA,EAAGv0B,QAAU26B,IAAkBpG,EAAGv0B,QAAU26B,GACxC/S,EAAMohE,eAAenpG,UACrB+nC,EAAMohE,eAAenpG,QAAQ4sG,QAC7Bl4D,EAAG59C,iBACH49C,EAAG96B,mBAIPmuB,EAAMu3D,eAAe5qD,IAG7B3M,EAAMu3D,eAAiB,SAAU5qD,GAC7B,IAOIkvD,EAEAC,EAEIgJ,EAXJ9kE,EAAM3oC,MAAMuL,WAGZo9B,EAAM3oC,MAAMsxE,WACZ3oC,EAAM3oC,MAAMsxE,UAAUh8B,GAGtBkvD,EAAOlvD,EAAGv0B,QAAU26B,GAEpB+oD,EAASnvD,EAAGv0B,QAAU26B,IACrBpG,EAAGj7B,kBAAoBsuB,EAAMikE,oBAAoBt3D,MAC9Cm4D,EAAc9kE,EAAM3oC,MAAMytG,cAE1BA,EAAYn4D,EAAI3M,EAAM3oC,OAE1B2oC,EAAM4kE,eAAc,GACpBj4D,EAAG59C,iBACH49C,EAAG96B,mBAGH86B,EAAGv0B,QAAU26B,IAAkBpG,EAAGv0B,QAAU26B,IAI5CsM,IAAmB,EAAM1S,EAAGr5D,QAE1Bq5D,EAAGx5B,QAAUw5B,EAAG/9C,UAAaitG,IAAQC,IAGlC97D,EAAM5Y,MAAMo5E,YAAcxgE,EAAM3oC,MAAM8oG,kBAC2BzjE,IAAlCsD,EAAM0kE,wBAChC1kE,EAAM0kE,wBACN1kE,EAAM3oC,MAAM8oG,UAAUtjB,sBAExBlwC,EAAG59C,iBACH49C,EAAG96B,kBACHmuB,EAAM0kE,yBAA0B,EAChC1kE,EAAMnoC,kBAKtBmoC,EAAM0xD,cAAgB,YACd1xD,EAAMihE,iBACNjhE,EAAM4hE,sBAAsB3pG,SAC1B,kBAAmB+nC,EAAM4hE,sBAAsB3pG,SACjD+nC,EAAMsyD,+BAGdtyD,EAAMgkE,aAAe,SAAUr3D,GAC3B,IAAIm4D,EAAc9kE,EAAM3oC,MAAMytG,YAC1BA,GACAA,EAAYn4D,EAAI3M,EAAM3oC,OAErBs1C,EAAGj7B,mBAOA4jF,EAAmD,IAA1B3oD,EAAGlgC,YAAYkG,QAA+C,UAA/Bg6B,EAAGlgC,YAAYkM,YAC3EqnB,EAAM4kE,cAActP,GACpB3oD,EAAG59C,iBACH49C,EAAG96B,oBAGXitC,GAAuB9e,GACvBA,EAAMmxD,OAAS,IAAIjoD,GAAMlJ,GACzBA,EAAMsX,QAAU,IAAIpL,GAAWlM,GAC0DA,EAAM3oC,MAAM/X,MAMrG0gD,EAAM0gE,SAAW/iD,KACjB3d,EAAM2gE,eAAiBhjD,KACvB3d,EAAMovD,mBAAqBzxC,KAC3B3d,EAAM5Y,MAAQ,CACVo5E,YAAY,GAETxgE,EEtSC,SAAZ+kE,GAAsB7zC,GACtB,MAAO,CACHA,SAAUA,EACVyD,OAAQ,QACRjxE,OAAQ,OACRwiB,WAAY,OACZ8gF,UAAW,SACX5hF,WAAY,GCTe,SAA/B4/F,KACA,MAAO,CACH7xC,SAAU,WACV1vE,MAAO,EACPwvD,MAAO,GACPpa,IAAK,EACLqa,OAAQ,GDPhB,IAAI+xD,GAAY,CACZhxC,QAAS,GAiBFixC,GAAYzuD,GAAgB,SAAU3lD,GAC7C,IACIqsE,EAAiBrsE,EAAMqsE,eAAgBt3C,EAAU/0B,EAAM+0B,QAASw3C,EAAQvsE,EAAMusE,MAC9ElJ,EAASgJ,EAAezB,aACxB/B,EAAqBwD,EAAexD,mBACpCW,EAAe6C,EAAe7C,aAC9B6qC,EAA0B,CAC1BxsE,MAAO,EACPE,KAAM,EACNqa,QAAS,EACTD,OAAQ,EACRqgB,aAAc,cAElB,MAAO,CACH8T,KAAM,CACFnU,GAAcniE,EAAO,CAAE2iE,MAAO,EAAGL,kBAAmB+xC,EAAyB9xC,YAAa,gBAC1FviE,EAAMusE,MAAMxO,OACZ,CACIyf,UAAW,aACXna,OAAQ,aAAeA,EACvBmoC,WAAY,OACZxpE,QAAS,eACTo1D,eAAgB,OAChBlB,UAAW,SACXD,OAAQ,UACRnyB,QAAS,SACT2Z,aAAc1oD,EAAQ8mC,eACtBvnB,UAAW,CAEPggE,cAAe,CACXjyC,SAAU,WACVx6B,KAAM,EACNE,IAAK,MAKrBouD,aAAc,CACVh0B,GAAcniE,EAAO,CAAE2iE,MAAO,EAAGL,kBAAmB+xC,EAAyB9xC,YAAa,gBAC1F,CACI8Y,gBAAiBxS,EACjBtG,YAAasG,EACbr/C,MAAOggD,EACPysB,OAAQ,UACR3hD,UAAW,CACPqjD,SAAUwc,GACVtnB,SAAUsnB,MAItBzc,aAAc,CACVluE,MAAOggD,EACPl1B,YAAY7H,EAAK,IACVo1B,IAAwB,CACvBr4C,MAAO,YAEXijB,IAERuhE,iBAAkB,CACdxkF,MAAOggD,EACPl1B,YAAYoB,EAAK,IACVmsB,IAAwB,CACvBr4C,MAAO,YAEXksB,IAER+3D,cAAe,CACXzrE,QAAS,OACTpvC,OAAQ,OACRklG,SAAU,SACVC,eAAgB,SAChBxC,WAAY,UAEhB5/F,YAAa,CACTqsC,QAAS,SAEb0rE,cAAe,CACXt5F,SAAU,EACV4tB,QAAS,SAEbi8B,KAAMg2C,GAAU1nC,EAAMvO,WAAWoC,UACjCkH,SAAU2sC,GAAU1nC,EAAM1O,MAAMuC,UAChC97E,MAAO,CACHu/E,OAAQ,QACRzuD,WAAY,OACZ4sB,QAAS,SAEbm2D,iBAAkBv0B,MExGfwwC,GAAYzuD,GAAgB,SAAU3lD,EAAOu0G,GACpD,IAAY3xC,EACR7tC,EAAU/0B,EAAM+0B,QAASiuC,EAAUhjE,EAAMgjE,QAASqJ,EAAiBrsE,EAAMqsE,eACzEgoC,EAA0B,CAC1BxsE,MAAO,EACPE,KAAM,EACNqa,QAAS,EACTD,OAAQ,EACRkhB,OAAQ,QAER6wC,EAA+B,CAC/B7xC,SAAU,WACV1vE,MAAO,EACPwvD,MAAO,GACPpa,IAAK,EACLqa,OAAQ,GAiKZ,OAAOnM,GA/JiB,CACpBy4D,qBAAsB,CAClBvsC,GAAcniE,EAAO,CAAEsiE,kBAAmB+xC,EAAyB1xC,MAAO,IAC1E,CACI3gC,QAAS,cACTsS,UAAW,CACPkgE,sBAAuB,CACnBC,qBAAsB,IACtBC,wBAAyB,IACzBC,YAAa,QAEjBC,sBAAuB,CACnBH,qBAAsB,IACtBC,wBAAyB,IACzBrxC,OAAQ,OACR/uB,YAAY7H,EAAK,IACVo1B,IAAwBrgF,GAAS,CAAEgoC,MAAO,aAAc6xD,gBAAiB,SAAUhY,OAAQ,uBAAwBwxC,iBAAkB,KAAO7yC,MAC/Iv1B,IAERqoE,mCAAoC,CAChCzxC,OAAQ,OACR/uB,YAAYoB,EAAK,IACVmsB,IAAwB,CACvBwB,OAAQ,uBACR0xC,gBAAiB,KAErBr/D,OAKpBm5D,4BAA6B,CACzBv6D,UAAW,CACPsgE,sBAAuB,CACnBtgE,YAAYsuB,EAAK,IACVf,IAAwB,CACvBr4C,MAAO,SACP6xD,gBAAiB,aAErBzY,IAERoyC,yBAA0B,CACtBxrF,MAAO6iD,EAAe/C,mBACtBh1B,YAAYuuB,EAAK,IACVhB,IAAwB,CACvBr4C,MAAO,WACP+4C,YAAa,WACb8Y,gBAAiB,UAErBxY,MAIhB8rC,4BAA6B,CACzBr6D,UAAW,CACPsgE,sBAAuB,CACnBtgE,YAAYwuB,EAAK,IACVjB,IAAwBrgF,GAAS,CAAEgoC,MAAO,SAAU6xD,gBAAiB,cAAgBrZ,MACxFc,MAIhB8rC,mCAAoC,CAChCt6D,UAAW,CACPsgE,sBAAuB,CACnBtgE,YAAYyuB,EAAK,IACVlB,IAAwBrgF,GAAS,CAAEgoC,MAAO,SAAU6xD,gBAAiB,cAAgBrZ,MACxFe,MAIhB+rC,4BAA6B,CACzB3rC,QAAS,kBAEbkrC,wBAAwBprC,EAAK,CACrBa,QAAS,EACTlxE,OAAQ,OACR4qF,UAAW,aACXC,aAAc,EACdg3B,qBAAsB1/E,EAAQ8mC,eAC9B64C,wBAAyB3/E,EAAQ8mC,eACjCwH,OAAQ,aAAeL,EAAQtK,oBAC/Bu8C,WAAY,OACZ9xC,QAAS,cACTqoC,WAAY,OACZxpE,QAAS,eACTo1D,eAAgB,OAChBlB,UAAW,SACXD,OAAQ,UACRoB,cAAe,MACf1kG,MAAO,GACPuiH,YAAa,EACbC,UAAW,EACXC,YAAa,EACbC,aAAc,IAEfxzC,IAAwB,CACvByzC,sBAAuB,CACnB9rF,MAAO,eAGfy5C,GACJisC,mBAAoB1tH,GAASA,GAAS,GAAI0yH,GAA+B,CAAE5/D,YAAY4uB,EAAK,IACjFrB,IAAwB,CACvBwZ,gBAAiB,cAErBnY,KACRisC,2BAA4B3tH,GAASA,GAAS,GAAI0yH,GAA+B,CAAE5/D,YAAYihE,EAAK,IACzF1zC,IAAwB,CACvBwZ,gBAAiB,YAErBk6B,KACRhH,8BAA+B,CAC3Bj3C,cAAe,OACf+L,OAAQ,OACR/uB,YAAYkhE,EAAK,CACT7d,SAAU,CACN1B,OAAQ,WAEZ2e,sBAAuB,CACnBtgE,YAAYmhE,EAAK,IACV5zC,IAAwB,CACvBr4C,MAAO,WACP+4C,YAAa,WACb8Y,gBAAiB,UAErBo6B,IAERH,sBAAuB,CACnBhhE,YAAYohE,EAAK,IACV7zC,IAAwB,CACvBr4C,MAAO,YAEXksF,MAGT7zC,IAAwB,CACvBr4C,MAAO,WACP65C,OAAQ,qBACRgY,gBAAiB,UAErBm6B,IAER3d,yBAA0B,CACtB71D,QAAS,OACTpvC,OAAQ,OACRklG,SAAU,SACVC,eAAgB,SAChBxC,WAAY,UAEhBwZ,6BAA8B,CAC1B5rC,QAAS,OACTE,OAAQ,OACR/uB,YAAYqhE,EAAK,IACV9zC,IAAwBrgF,GAAS,CAAEgoC,MAAO,WAAY+4C,YAAa,WAAY8Y,gBAAiB,UAAYrZ,MAC/G2zC,IAERlH,uBAAwBjtH,GAAS,GAAI2gF,GAAcniE,EAAO,CAAEsiE,kBAAmB+xC,EAAyB1xC,MAAO,MAEzE4xC,KC9K9C,ICG6Cz2D,GDDlCs2D,GAAYzuD,GAAgB,SAAU3lD,EAAOu0G,EAAcqB,GAClE,IFI2B51G,EAEvBre,EAA0Bd,EAC1B0lF,EACA6B,EAgHsBpoE,EACEijE,EACxBpiF,EAAmBc,EE1HnBk0H,EAAmBC,GAAoB91G,GACvC+1G,EAAoBC,GAAqBh2G,GAU7C,OAAOi2C,GAAgB4/D,EATG,CACtBv/B,KAAM,CACF0H,SANmB,OAOnBprF,OARgB,QAUpBtO,MAAO,CACH4wB,WAAYomD,GAAYsD,WAG8Bg3C,GF+G1D/0H,GAFsBmf,EE7G4DA,GF+GxEgjE,QACP,CACHsT,KAAM,CACF+E,iBAHe15F,EAAIqe,EAAMqsE,gBAGNnF,wBACnB7D,OAAQ,aAAe1hF,EAAEulF,wBACzB19C,MAAO7nC,EAAE6kF,kBACTlyB,YAAY7H,EAAK,IACVo1B,IAAwBrgF,GAAS,CAAEgoC,MAAO,SAAU6xD,gBAAiB,aAAc9Y,YAAa,cAAgBP,MACnHv1B,EAAG,IAAM4hB,GAA0B,YAAc,CAC7C/Z,UAAW,CACP2hE,SAAU,CACN5yC,OAAQ,OACRb,aAAc3hF,EAAEs4E,SAI5B1sB,IAER2pD,YAAa,CACT/a,gBAAiB15F,EAAEkmF,+BACnBxE,OAAQ,aAAe1hF,EAAEkmF,+BACzBr+C,MAAO7nC,EAAE8kF,yBACTnyB,YAAYoB,EAAK,IACVmsB,IAAwB,CACvBr4C,MAAO,SACP6xD,gBAAiB,YACjB9Y,YAAa,aAEjB7sB,IAERghD,YAAa,CACTrb,gBAAiB15F,EAAE8lF,+BACnBpE,OAAQ,aAAe1hF,EAAE8lF,+BACzBj+C,MAAO7nC,EAAE+kF,yBACTpyB,YAAYsuB,EAAK,IACVf,IAAwBrgF,GAAS,CAAEgoC,MAAO,SAAU6xD,gBAAiB,aAAc9Y,YAAa,cAAgBP,MACnHY,IAER+zB,aAAc,CACVtb,gBAAiB15F,EAAE8lF,+BACnBj+C,MAAO7nC,EAAE+kF,0BAEb8vB,YAAa,CACTnb,gBAAiB15F,EAAE8lF,+BACnBj+C,MAAO7nC,EAAE+kF,0BAEb6mC,mBAAoB,CAChBlyB,gBAAiB15F,EAAE8lF,+BACnBj+C,MAAO7nC,EAAE+kF,0BAEbyvB,aAAc,CACV3sE,MAAO7nC,EAAEsnF,0BACToS,gBAAiB15F,EAAEinF,gCACnBt0B,YAAYuuB,EAAK,IACVhB,IAAwB,CACvBr4C,MAAO,WACP+4C,YAAa,WACb8Y,gBAAiB,UAErBxY,IAGR6rC,qBAAsB,CAClBp6D,YAAYwuB,EAAK,IACVjB,IAAwB,CACvBwB,OAAQ,QAEZP,IAERosC,mBAAoB1tH,GAASA,GAAS,GAAI0yH,MAAiC,CAAE74B,gBAAiBx6F,EAAEs4E,MAAO7kB,YAAYyuB,EAAK,IAC7GlB,IAAwB,CACvBwZ,gBAAiB,UAErBtY,KACRsrC,sBAAuB,CACnBhzB,gBAAiB15F,EAAEulF,wBACnB19C,MAAO7nC,EAAE6kF,kBACTlyB,YAAY2uB,EAAK,IACVpB,IAAwB,CACvBwZ,gBAAiB,cAErBpY,EAAG,UAAY,CACXoY,gBAAiB15F,EAAEkmF,+BACnBvzB,YAAY4uB,EAAK,IACVrB,IAAwB,CACvBr4C,MAAO,aAEX05C,IAERD,IAERsrC,8BAA+B,CAC3BlzB,gBAAiB15F,EAAEinF,gCACnBt0B,UAAW,CACPqjD,SAAU,CACNtc,gBAAiB15F,EAAEinF,mCAI/B4lC,6BAA8B,CAC1BnzB,gBAAiB15F,EAAE8lF,+BACnBnzB,UAAW,CACPqjD,SAAU,CACNtc,gBAAiB15F,EAAE8lF,kCAI/B6mC,8BAA+B,CAC3BjzB,gBAAiB15F,EAAE8lF,+BACnBnzB,UAAW,CACPqjD,SAAU,CACNtc,gBAAiB15F,EAAE8lF,kCAI/BunC,oBAAqB,CACjBxlF,MAAO7nC,EAAE6kF,mBAEbyoC,4BAA6B,CACzBzlF,MAAO3oC,EAAE83E,gBACTrkB,YAAYihE,EAAK,IACV1zC,IAAwB,CACvBr4C,MAAO,YAEX+rF,OAhPR5zH,GAFuBqe,EEOmFA,GFLhGqsE,eAAgBxrF,EAAImf,EAAMgjE,QACpCuD,EAAmB5kF,EAAE4kF,iBACrB6B,EAA0BzmF,EAAEymF,wBAC5BK,EAA0B9mF,EAAE8mF,wBAC5BC,EAA2B/mF,EAAE+mF,yBAC7BiB,EAAahoF,EAAEgoF,WACfO,EAAoBvoF,EAAEuoF,kBACtBZ,EAAqB3nF,EAAE2nF,mBACvBa,EAAoBxoF,EAAEwoF,kBACtBlD,EAA2BtlF,EAAEslF,yBAC1B,CACHqP,KAAM,CACF+E,gBAAiB9U,EACjB/8C,MAAOmgD,GAEXysB,YAAa,CACT/a,gBAAiB5S,EACjBj/C,MAAO0gD,EACP51B,YAAY7H,EAAK,IACVo1B,IAAwB,CACvBU,YAAa,YACb/4C,MAAO,aAEXijB,IAERiqD,YAAa,CACTrb,gBAAiBjT,EACjB5+C,MAAO2gD,GAEXwsB,aAAc,CACVtb,gBAAiBjT,EACjB5+C,MAAO2gD,GAEXqsB,YAAa,CACTnb,gBAAiBjT,EACjB5+C,MAAO2gD,GAEXojC,mBAAoB,CAChBlyB,gBAAiBjT,EACjB5+C,MAAOy9C,GAEXkvB,aAAc,CACV3sE,MAAO8/C,EACP+R,gBAAiB3S,EACjBp0B,YAAYoB,EAAK,IACVmsB,IAAwB,CACvBr4C,MAAO,WACP+4C,YAAa,WACb8Y,gBAAiB,UAErB3lC,IAGRg5D,qBAAsB,CAClBp6D,YAAYsuB,EAAK,IACVf,IAAwB,CACvBwB,OAAQ,QAEZT,IAERyrC,sBAAuB,CACnB7kF,MAAO3oC,EAAEs4E,MACTkiB,gBAAiB,cACjB/mC,UAAW,CACPqjD,SAAU,CACNtc,gBAAiBx6F,EAAEk4E,aACnBzkB,YAAYuuB,EAAK,IACVhB,IAAwB,CACvBr4C,MAAO,aAEXq5C,MAIhB0rC,8BAA+B,CAC3BlzB,gBAAiB15F,EAAE+mF,yBACnBp0B,UAAW,CACPqjD,SAAU,CACNtc,gBAAiB15F,EAAE+mF,4BAI/BwmC,mBAAoB1tH,GAASA,GAAS,GAAI0yH,MAAiC,CAAE74B,gBAAiBx6F,EAAE+3E,mBAAoBtkB,YAAYwuB,EAAK,IAC1HjB,IAAwB,CACvBwZ,gBAAiB,cAErBvY,KACRqsC,2BAA4B,CACxB9zB,gBAAiBr7E,EAAMgjE,QAAQpK,oBAEnC41C,6BAA8B,CAC1BnzB,gBAAiBx6F,EAAEi4E,qBACnBxkB,UAAW,CACPqjD,SAAU,CACNtc,gBAAiBx6F,EAAEi4E,wBAI/Bw1C,8BAA+B,CAC3BjzB,gBAAiBx6F,EAAEi4E,qBACnBxkB,UAAW,CACPqjD,SAAU,CACNtc,gBAAiBx6F,EAAEi4E,wBAI/Bk2C,oBAAqB,CACjBxlF,MAAO7nC,EAAEgoF,YAEbslC,4BAA6B,CACzBzlF,MAAO7nC,EAAE2nF,sBEzGqGysC,EAAmBxB,KCXzI2B,IACAj1H,EAAUi1H,GAD+Bp4D,GAa3C4B,sBAREw2D,GAAcp1H,UAAU0oB,OAAS,WAC7B,IAAIijC,EAAKprD,KAAKklB,MAAOmvC,EAAKjJ,EAAGmpE,QAASA,OAAiB,IAAPlgE,GAAwBA,EAAIiC,EAASlL,EAAGkL,OAAQ33C,EAAQysC,EAAGzsC,MAC3G,OAAQyoD,yBAAoB2mD,GAAY5tH,GAAS,GAAIH,KAAKklB,MAAO,CAAEimG,iBAAkBoJ,EAAU,qBAAuB,qBAAsBj+D,OAAQy8D,GAAUp0G,EAAO23C,EAAQi+D,GAAU5F,oBAAqBvwD,OAEhMn9D,EAAW,CACvBsmE,GAAa,gBAAiB,CAAC,QAAS,WAAW,IACpDstD,KATH,SAASA,KACL,OAAkB,OAAXp4D,IAAmBA,GAAO97D,MAAMX,KAAMS,YAAcT,KCJnE,IAA6Cy8D,GAAzCq4D,IACAl1H,EAAUk1H,GAD+Br4D,GAY3C4B,sBAPEy2D,GAAcr1H,UAAU0oB,OAAS,WAC7B,OAAOi/C,yBAAoBytD,GAAe10H,GAAS,GAAIH,KAAKklB,MAAO,CAAEqvG,SAAS,EAAM5F,oBAAqBvwD,OAE7Fn9D,EAAW,CACvBsmE,GAAa,gBAAiB,CAAC,QAAS,WAAW,IACpDutD,KARH,SAASA,KACL,OAAkB,OAAXr4D,IAAmBA,GAAO97D,MAAMX,KAAMS,YAAcT,KCT5D,ICGoCy8D,GDHhCoZ,GAAoBzC,GAC3B2hD,GAAmB,CACnB9/B,KAAM,WACN+/B,KAAM,iBACNC,kBAAmB,6BACnBC,OAAQ,UACRC,MAAO,kBCJPt+B,GAAgB9zB,KAChBqyD,IACAx1H,EAAUw1H,GAD6B34D,GA0BzC4B,sBAjBE+2D,GAAY31H,UAAUi2C,kBAAoB,WlJwEvC,IACCsa,EkJxEChwD,KAAKq1H,yBlJwENrlE,EAAMuM,OACCvM,EAAIntD,OAAS65D,KACpB1M,EAAIntD,KAAKsqE,UAAUniD,IAAI2xC,IACvB3M,EAAIntD,KAAKkF,iBAAiB,YAAay0D,GAAuB,CAAEpvB,SAAS,EAAOD,SAAS,KAE7FuvB,OkJ3EA04D,GAAY31H,UAAUqhD,qBAAuB,WlJkF1C,IAEKkP,EkJnFHhwD,KAAKq1H,uBlJkFqB,EAA3B34D,MACI1M,EAAMuM,OACCvM,EAAIntD,MAAqC,IAA7B65D,KACnB1M,EAAIntD,KAAKsqE,UAAUjjE,OAAOyyD,IAC1B3M,EAAIntD,KAAKsF,oBAAoB,YAAaq0D,KAE9CE,OkJtFJ04D,GAAY31H,UAAU0oB,OAAS,WAC3B,IAAIijC,EAAKprD,KAAKklB,MAAOowG,EAASlqE,EAAGmqE,aAAclpE,EAAYjB,EAAGiB,UAAW1tC,EAAQysC,EAAGzsC,MAAO23C,EAASlL,EAAGkL,OACnGgnC,EAAW/wB,GAAevsE,KAAKklB,MAAOonD,IACtCqW,EAAakU,GAAcvgC,EAAQ,CACnC33C,MAAOA,EACP0tC,UAAWA,EACXipE,OAAQA,IAEZ,OAAOluD,yBAAoB,MAAOjnE,GAAS,GAAIm9F,EAAU,CAAEjxC,UAAWs2B,EAAWsS,SAE9EmgC,IAvBP,SAASA,GAAYlwG,GACjB,IAAI2oC,EAAQ4O,GAAO98D,KAAKK,KAAMklB,IAAUllB,KACxC2sE,GAAuB9e,GACnBzC,EAAKyC,EAAM3oC,MAAMswG,qBAErB,OADA3nE,EAAMwnE,2BADmE,IAAPjqE,GAAwBA,EAEnFyC,ECVf,ICe6C4O,GDfzCw/B,GAAmB,CACnBhH,KAAM,aACNwgC,SAAU,oBEAHC,GAAUjnD,GAAO2mD,GFEL,SAAUlwG,GAC7B,IACImnC,EAAYnnC,EAAMmnC,UAAW1tC,EAAQuG,EAAMvG,MAAOwnF,EAASjhF,EAAMihF,OAAQmvB,EAASpwG,EAAMowG,OACxF3zC,EAAUhjE,EAAMgjE,QAChBgB,EAAaI,GAAoBkZ,GAAkBt9E,GACvD,MAAO,CACHs2E,KAAM,CACFtS,EAAWsS,KACXt2E,EAAMusE,MAAMxO,OACZ,CACIsd,gBAAiBrY,EAAQ5J,mBACzBrxB,IAAK,EACLoa,MAAO,EACPC,OAAQ,EACRva,KAAM,EACNw6B,SAAU,WACV/tB,YAAY7H,EAAK,IACVo1B,IAAwB,CACvBwB,OAAQ,uBACRhuD,QAAS,GAEbo3B,IAER+6C,GAAU,CACNn1B,WAAY,UAEhBskD,GAAU,CACN3yC,EAAW8yC,SACX,CACIz7B,gBAAiBrY,EAAQ3K,qBAGjC3qB,UElCwC9B,EAAW,CAC3Did,MAAO,YCFAqvB,GAAgBvyB,GAAgB,SAAUjY,EAAWspE,GAC5D,MAAO,CACH1gC,KAAMvpC,GAAYW,EAAWspE,GAAc,CACvCC,YAAa,OACb3iE,UAAW,CACP4iE,MAAO,CACH1L,WAAY,cFJ5B2L,GACO,CACHnqF,MAAO,aACPoqF,KAAM,YACNC,KAAM,YAJVF,GAMO,CACHnqF,MAAO,YACPoqF,KAAM,YACNC,KAAM,WAGVC,IACAr2H,EAAUq2H,GAD+Bx5D,GAyP3C4B,sBAlIE43D,GAAcx2H,UAAU09C,mBAAqB,SAAUmhB,IAC/Ct+D,KAAKklB,MAAM87D,UAAc1iB,EAAU0iB,UAAYhhF,KAAKklB,MAAM87D,WAAa1iB,EAAU0iB,UACjFhhF,KAAKylB,SAAS,CAAEu7D,SAAUhhF,KAAKklB,MAAM87D,YAG7Ci1C,GAAcx2H,UAAUqhD,qBAAuB,WAC3C9gD,KAAKmlE,QAAQjsD,QAAQ,SAAU89C,GAAW,OAAOA,OAErDi/D,GAAcx2H,UAAU0oB,OAAS,WAC7B,IAAI6Q,EAAQk9F,oBAAevuG,KAAK3nB,KAAKklB,MAAMmB,UACvCnB,EAAQ8T,EAAM9T,MACd87D,EAAWhhF,KAAKklB,MAAM87D,SACtB51B,EAAKprD,KAAKi1C,MAAOkhF,EAAgB/qE,EAAG41B,SAAU20C,EAAavqE,EAAGuqE,WAC9DlxG,EAAI0xG,EAAc1xG,EAClB1hB,EAAIozH,EAAcpzH,EAKtB,OAJIi+E,IAAa20C,IACblxG,EAAIu8D,EAASv8D,EACb1hB,EAAIi+E,EAASj+E,GAEVqzH,wBAAmBp9F,EAAO,CAC7B9D,MAAO/0B,GAASA,GAAS,GAAI+kB,EAAMgQ,OAAQ,CAAE49C,UAAW,aAAeruD,EAAI,OAAS1hB,EAAI,QACxFspD,UAAWwqC,GAAc3xE,EAAMmnC,UAAWrsD,KAAKi1C,MAAM0gF,YAAY1gC,KACjEwG,YAAaz7F,KAAK2tE,aAClB+tB,UAAW17F,KAAKovH,WAChB9P,aAAct/G,KAAKu/G,cACnB8W,WAAYr2H,KAAKs2H,eAOzBL,GAAcx2H,UAAU82H,oBAAsB,SAAUptF,GACpD,IAAIqtF,EAAWx2H,KAAKy2H,gBAAgBttF,GAEpC,QAAsBohB,IAAlBvqD,KAAK02H,UAA2BF,EAApC,CAGIG,EAAmBH,GAAYrtF,EACnC,MAAO,CACH1kB,EAAGkyG,EAAiBh2F,QACpB59B,EAAG4zH,EAAiB/1F,WAO5Bq1F,GAAcx2H,UAAUg3H,gBAAkB,SAAUttF,GAChD,OAASA,EAAMvC,eAAiB5mC,KAAK42H,sBAAsBztF,EAAMvC,gBAC5DuC,EAAMtC,gBAAkB7mC,KAAK42H,sBAAsBztF,EAAMtC,iBAMlEovF,GAAcx2H,UAAUo3H,YAAc,SAAU1tF,GACxC2tF,EAAS3tF,EAAMvC,eAAiBuC,EAAMvC,cAAc,IAAQuC,EAAMtC,gBAAkBsC,EAAMtC,eAAe,GAC7G,GAAIiwF,EACA,OAAOA,EAAMC,YAMrBd,GAAcx2H,UAAUu3H,iBAAmB,SAAUx3E,EAASsS,GAC1D,IAAKtS,GAAWA,IAAY7tC,SAAS9O,KACjC,OAAO,EAEX,IAAIo0H,EAAoBz3E,EAAQ03E,SAAW13E,EAAQ23E,uBAAyB33E,EAAQ43E,kBACpF,QAAKH,IAGEA,EAAkBt3H,KAAK6/C,EAASsS,IAAa9xD,KAAKg3H,iBAAiBx3E,EAAQ6d,cAAevL,KAMrGmkE,GAAcx2H,UAAUm3H,sBAAwB,SAAUS,GACtD,QAAsB9sE,IAAlBvqD,KAAK02H,SAGT,IAAK,IAAIn2H,EAAI,EAAGA,EAAI82H,EAAU32H,OAAQH,IAClC,GAAI82H,EAAU92H,GAAGw2H,aAAe/2H,KAAK02H,SACjC,OAAOW,EAAU92H,IAS7B01H,GAAcx2H,UAAU63H,4BAA8B,SAAUt2C,GAC5D,IAAIu2C,EAAev3H,KAAKi1C,MAAMsiF,aAG9B,YAAqBhtE,IAAjBgtE,EACO,CACH7+D,MAAO,CAAEj0C,EAAG,EAAG1hB,EAAG,GAClBw0H,aAAcv2C,EACdA,SAAUA,GAGX,CACHtoB,MAAO,CACHj0C,EAAGu8D,EAASv8D,EAAI8yG,EAAa9yG,EAC7B1hB,EAAGi+E,EAASj+E,EAAIw0H,EAAax0H,GAEjCw0H,aAAcA,EACdv2C,SAAUA,IAOlBi1C,GAAcx2H,UAAU+3H,uBAAyB,SAAUC,GACvD,IAAIz2C,EAAWhhF,KAAKi1C,MAAM+rC,SAC1B,MAAO,CACHA,SAAU,CACNv8D,EAAGu8D,EAASv8D,EAAIgzG,EAAa/+D,MAAMj0C,EACnC1hB,EAAGi+E,EAASj+E,EAAI00H,EAAa/+D,MAAM31D,GAEvC21D,MAAO++D,EAAa/+D,MACpB6+D,aAAcv2C,IAGfi1C,IAtPP,SAASA,GAAc/wG,GACnB,IAAI2oC,EAAQ4O,GAAO98D,KAAKK,KAAMklB,IAAUllB,KAkHxC,OAjHA6tD,EAAM6pE,kBAAoB5B,GAC1BjoE,EAAMsX,QAAU,GAChBtX,EAAM8f,aAAe,SAAUxkC,GAC3B,IAAIsyD,EAAcy6B,oBAAevuG,KAAKkmC,EAAM3oC,MAAMmB,UAAUnB,MAAMu2E,YAKlE,OAJIA,GACAA,EAAYtyD,GAEhB0kB,EAAM6pE,kBAAoB5B,GACnBjoE,EAAM8pE,aAAaxuF,IAE9B0kB,EAAMuhE,WAAa,SAAUjmF,GACzB,IAAIuyD,EAAYw6B,oBAAevuG,KAAKkmC,EAAM3oC,MAAMmB,UAAUnB,MAAMw2E,UAKhE,OAJIA,GACAA,EAAUvyD,GAEd0kB,EAAM6pE,kBAAoB5B,GACnBjoE,EAAM+pE,YAAYzuF,IAE7B0kB,EAAM0xD,cAAgB,SAAUp2E,GAC5B,IAAIm2E,EAAe4W,oBAAevuG,KAAKkmC,EAAM3oC,MAAMmB,UAAUnB,MAAMo6F,aAKnE,OAJIA,GACAA,EAAan2E,GAEjB0kB,EAAM6pE,kBAAoB5B,GACnBjoE,EAAM8pE,aAAaxuF,IAE9B0kB,EAAMyoE,YAAc,SAAUntF,GAC1B,IAAIktF,EAAaH,oBAAevuG,KAAKkmC,EAAM3oC,MAAMmB,UAAUnB,MAAMmxG,WAC7DA,GACAA,EAAWltF,GAEf0kB,EAAM6pE,kBAAoB5B,GAC1BjoE,EAAM+pE,YAAYzuF,IAEtB0kB,EAAM8pE,aAAe,SAAUxuF,GAE3B,GAA4B,iBAAjBA,EAAMhI,QAAwC,IAAjBgI,EAAMhI,OAC1C,OAAO,EAIX,IASI6/C,EAIA62C,EAbChqE,EAAM3oC,MAAM4yG,iBAAmBjqE,EAAMmpE,iBAAiB7tF,EAAMhoC,OAAQ0sD,EAAM3oC,MAAM4yG,iBAChFjqE,EAAM3oC,MAAM6yG,qBACTlqE,EAAMmpE,iBAAiB7tF,EAAMhoC,OAAQ0sD,EAAM3oC,MAAM6yG,uBAMzDlqE,EAAM6oE,SAAW7oE,EAAMgpE,YAAY1tF,QAElBohB,KADby2B,EAAWnzB,EAAM0oE,oBAAoBptF,MAIrC0uF,EAAWhqE,EAAMypE,4BAA4Bt2C,GACjDnzB,EAAM3oC,MAAM8yG,SAAWnqE,EAAM3oC,MAAM8yG,QAAQ7uF,EAAO0uF,GAClDhqE,EAAMpoC,SAAS,CACXkwG,YAAY,EACZ4B,aAAcv2C,IAIlBnzB,EAAMsX,QAAU,CACZvJ,GAAGjqD,SAAS9O,KAAMgrD,EAAM6pE,kBAAkB3B,KAAMloE,EAAMoqE,SAAS,GAC/Dr8D,GAAGjqD,SAAS9O,KAAMgrD,EAAM6pE,kBAAkB1B,KAAMnoE,EAAM+pE,aAAa,OAG3E/pE,EAAMoqE,QAAU,SAAU9uF,GAEH,cAAfA,EAAM50B,MACN40B,EAAMvsB,iBAEV,IAKIs7G,EACAC,EANAn3C,EAAWnzB,EAAM0oE,oBAAoBptF,GACpC63C,IAKDm3C,GADAD,EAAcrqE,EAAM2pE,uBAAuB3pE,EAAMypE,4BAA4Bt2C,KAC/CA,SAClCnzB,EAAM3oC,MAAMkzG,cAAgBvqE,EAAM3oC,MAAMkzG,aAAajvF,EAAO+uF,GAC5DrqE,EAAMpoC,SAAS,CACXu7D,SAAUm3C,EACVZ,aAAcv2C,MAGtBnzB,EAAM+pE,YAAc,SAAUzuF,GAC1B,IAOIsuF,GAPC5pE,EAAM5Y,MAAM0gF,aAGb30C,EAAWnzB,EAAM0oE,oBAAoBptF,MAIrCsuF,EAAe5pE,EAAMypE,4BAA4Bt2C,GAErDnzB,EAAMpoC,SAAS,CACXkwG,YAAY,EACZ4B,kBAAchtE,IAElBsD,EAAM3oC,MAAMmzG,QAAUxqE,EAAM3oC,MAAMmzG,OAAOlvF,EAAOsuF,GAC5C5pE,EAAM3oC,MAAM87D,UACZnzB,EAAMpoC,SAAS,CACXu7D,SAAUnzB,EAAM3oC,MAAM87D,WAI9BnzB,EAAMsX,QAAQjsD,QAAQ,SAAU89C,GAAW,OAAOA,QAEtDnJ,EAAM5Y,MAAQ,CACV0gF,YAAY,EACZ30C,SAAUnzB,EAAM3oC,MAAM87D,UAAY,CAAEv8D,EAAG,EAAG1hB,EAAG,GAC7Cw0H,kBAAchtE,GAEXsD,EGvHf,IAAIyqE,GAAO,CAAE7zG,EAAG,EAAG1hB,EAAG,GAClBk0F,GAAgB,CAChBi+B,QAAQ,EACRqD,eAAe,EACflsE,UAAW,GACXmsE,mBAAoB,IAEpB3hC,GAAgB9zB,KAsBT01D,GAAY3pD,sBAAiB,SAAUY,EAAsBzpD,GA0DjC,SAA/ByyG,IACA,IAAIC,EAAaC,EAAiB9yG,SAC9B+yG,EAAiBF,MAAAA,OAA+C,EAASA,EAAWloC,2BAEhFqoC,GACAC,EAAqBF,EAAenyE,KAEpCsyE,KAEAr4B,GAAcs4B,YAAc,CAAEx0G,GAAIo0G,EAAeryE,KAAMzjD,GAAI81H,EAAenyE,KAC1Ei6C,GAAcu4B,YAAc,CAAEz0G,EAAGo0G,EAAeryE,KAAMzjD,EAAG81H,EAAenyE,OAkB7D,SAAnByyE,IACA,IAAI/tE,EACJu1C,GAAcy4B,mBAAqBd,GACnCe,KACA14B,GAAc24B,sBAAuB,EACrCC,GAAe,GACfC,EAAelB,IACyB,QAAvCltE,EAAKu1C,GAAc84B,sBAAmC,IAAPruE,GAAyBA,EAAGzrD,KAAKghG,IACjF+4B,MAAAA,GAA0DA,IA0FvC,SAAnBC,IACkB,SAAdC,EAAwBp/D,GAGpBA,EAAGx5B,QAAUw5B,EAAGh+C,SAAWg+C,EAAG99C,UAAYkkD,IACtCsB,GAAgBy+B,GAAcs0B,kBAAmBz6D,EAAGr5D,UACpD04H,KACAr/D,EAAG59C,iBACH49C,EAAG96B,mBAIVihE,GAAc84B,iBACf94B,GAAc9lC,OAAOe,GAAG9D,EAAK,QAAS8hE,GAAa,GACnDj5B,GAAc84B,eAAiB,WAC3B94B,GAAc9lC,OAAOY,IAAI3D,EAAK,QAAS8hE,GAAa,GACpDj5B,GAAc84B,oBAAiBlvE,IAvM3C,IrEtCIuvE,EsEIkD9qG,ECHlDw0E,EF2B+Bu2B,EAU/B70G,EAAQuqD,GAAqBwnB,GAAevnB,GAC5C8lD,EAAuBtwG,EAAMswG,qBAAsBnpE,EAAYnnC,EAAMmnC,UAAWhmC,EAAWnB,EAAMmB,SAAUmyG,EAAqBtzG,EAAMszG,mBAAoBwB,EAA6B90G,EAAM80G,2BAA4B74B,EAA0Bj8E,EAAMi8E,wBAAyBG,EAAyBp8E,EAAMo8E,uBAAwBF,EAAuBl8E,EAAMk8E,qBAAsBG,EAAyBr8E,EAAMq8E,uBAAwB04B,EAAa/0G,EAAM+0G,WAAYz4B,EAA8Bt8E,EAAMs8E,4BAA6B+2B,EAAgBrzG,EAAMqzG,cAAepiC,EAAYjxE,EAAMixE,UAAW8J,EAAa/6E,EAAM+6E,WAAYi6B,EAAUh1G,EAAMg1G,QAAShF,EAAShwG,EAAMgwG,OAAQiF,EAAcj1G,EAAMi1G,YAAa7jE,EAASpxC,EAAMoxC,OAAQ8jE,EAAiBl1G,EAAMk1G,eAAgBz7G,EAAQuG,EAAMvG,MAAOm6G,EAAiB5zG,EAAM4zG,eAAgB7X,EAAiB/7F,EAAM+7F,eAE11B5hB,EAAkBn6E,EAAMm6E,gBAAiBg7B,EAAan1G,EAAMm1G,WAAYC,EAAcp1G,EAAMo1G,YAAaZ,EAAcx0G,EAAMw0G,YAAa73B,EAA2B38E,EAAM28E,yBACvKp0B,EAAUuB,kBAAa,MACvB+qD,EAAgB/qD,kBAAa,MAC7B4pD,EAAmB5pD,kBAAa,MAChCswB,EAAYvL,GAActmB,EAASxnD,GACnCs0G,EAAsB5Z,GAAkBrhB,GACxCk7B,EAAkB3mC,GAAM,sBACxB/7B,EAAMw8B,KACNlpC,GrEjDA0uE,EAAapmC,GAAS,IAE1BjrB,qBAAgB,WAAc,OAAO,WACjC,IAAK,IAAI9Z,EAAK,EAAGvD,EAAKhsD,OAAO8d,KAAK48G,GAAanrE,EAAKvD,EAAG1qD,OAAQiuD,IAAM,CACjE,IAAIppD,EAAK6lD,EAAGuD,GAEZrlC,aAAa/jB,MAIrB,CAACu0H,IAEMpmC,GAAS,CACZxgF,WAAY,SAAU1N,EAAMgyD,GACpBjyD,EAAK2N,WAAW1N,EAAMgyD,GAE1B,OADAsiE,EAAWv0H,GAAM,EACVA,GAEX+jB,aAAc,SAAU/jB,UACbu0H,EAAWv0H,GAClB+jB,aAAa/jB,OqE6BK2N,EAAak4C,EAAGl4C,WAAYoW,EAAe8hC,EAAG9hC,aACpE+qC,EAAKkU,oBAAe2sD,GAASuF,EAAcpmE,EAAG,GAAIklE,EAAiBllE,EAAG,GACtEktB,EAAKhZ,oBAAe2sD,GAAStqD,EAAY2W,EAAG,GAAIm5C,EAAen5C,EAAG,GAClEC,EAAKjZ,oBAAe+vD,IAAOqC,EAAcn5C,EAAG,GAAIg4C,EAAiBh4C,EAAG,GACpEC,EAAKlZ,sBAAkBqyD,EAAoBn5C,EAAG,GAAIs3C,EAAuBt3C,EAAG,GAC5EC,GCnDmBm5C,GDmDH,EClDhBzvE,EAAKmd,oBAAesyD,GAAex4H,EAAQ+oD,EAAG,GAAIp8B,EAAWo8B,EAAG,GAU7D,CAAC/oD,EAAO,CAAEy4H,QATHpnC,GAAS,WAAc,OAAO,WACxC1kE,GAAS,MAQsB+rG,SANpBrnC,GAAS,WAAc,OAAO,WACzC1kE,GAAS,MAK0Co/F,OAH1C16B,GAAS,WAAc,OAAO,WACvC1kE,EAAS,SAAUomC,GAAgB,OAAQA,UD0CnB4lE,EAAkBt5C,EAAG,GAAIE,EAAKF,EAAG,GAAIm4C,GAAsBj4C,EAAGwsC,OAAQiL,GAAoBz3C,EAAGm5C,SACrHp6B,GAAgBjN,GAAS,WAAc,OACvCunC,kBAAmB,EACnBzF,qBAAsBA,EACtBP,kBAAmB,KACnBmE,mBAAoBd,GACpBz9D,OAAQ,IAAId,GAAW,OAEvBi/D,IAAgBsB,GAAe,IAAItB,aACnCkC,OAAgC3wE,IAAf01C,EAA2B,GAAKA,EAAW5zC,UAC5Ds2B,EAAakU,GAAcvgC,EAAQ,CACnC33C,MAAOA,EACP0tC,UAAWA,EACXmsE,mBAAoBA,EACpBwB,2BAA4BA,EAC5B9E,OAAQA,EACRtqD,UAAWA,EACXuwD,cAAex6B,GAAcw6B,cAC7BP,kBAAmBA,EACnB9B,eAAgBA,EAChBuB,WAAYA,EACZa,eAAgBA,EAChBE,kBAAmBtjE,MAAAA,OAAiC,EAASA,EAAIs6B,YACjEipC,oBAAqBf,IAAgBA,EAAYgB,qBAEjDC,EAAmBp7H,GAASA,GAAS,CAAEo/F,sBAAsB,GAASU,GAAa,CAAEZ,gBAAiBY,GAAcA,EAAWZ,gBAAkBY,EAAWZ,gBAAkBA,EAAiBD,YAAai7B,EAAYhuE,UAAWs2B,EAAWwyC,QAE9OqG,EAAqBvnC,uBAAkB,SAAUwnC,GvJnEvB,IAI1BC,EACAC,EA2CwCn8E,EAASqb,EuJoB7C4gE,EACI96B,GAAc60B,sBvJrBkBh2E,EuJsBPi8E,EvJtBgB5gE,EuJsBX8lC,GAAc9lC,OvJrBnDrb,GAMLqb,EAAOe,GAAGpc,EAAS,YAHO,SAAUrW,GAChCA,EAAMzJ,mBAE2C,CAAE0N,SAAS,MAvDxBoS,EuJyEPi8E,EvJzEgB5gE,EuJyEX8lC,GAAc9lC,OvJxE/Crb,IAGDk8E,EAAmB,EACnBC,EAAW,KAoCf9gE,EAAOe,GAAGpc,EAAS,aAlCA,SAAUrW,GACU,IAA/BA,EAAMvC,cAAclmC,SACpBg7H,EAAmBvyF,EAAMvC,cAAc,GAAGhG,UAgCH,CAAEwM,SAAS,IAC1DytB,EAAOe,GAAGpc,EAAS,YA5BS,SAAUrW,GAElC,IASIvI,EACAuuE,EAV+B,IAA/BhmE,EAAMvC,cAAclmC,SAKxByoC,EAAMzJ,kBACDi8F,IAGD/6F,EAAUuI,EAAMvC,cAAc,GAAGhG,QAAU86F,EAC3CvsB,EAAmBjyC,GAAqB/zB,EAAMhoC,QAMvB,KAJvBw6H,EADAxsB,EACWA,EAIXwsB,GAASh1E,WAA6B,EAAV/lB,GAC5BuI,EAAMvsB,iBAIN++G,EAASlhC,aAAezpF,KAAKixC,KAAK05E,EAASh1E,YAAcg1E,EAASplC,cAAgB31D,EAAU,GAC5FuI,EAAMvsB,oBAIyC,CAAEwwB,SAAS,IAClEuuF,EAAWn8E,IuJkCHmhD,GAAc9lC,OAAOY,IAAIklC,GAAcs0B,mBAE3Ct0B,GAAcs0B,kBAAoBwG,GACnC,CAAC96B,KAqBAi7B,GAAiB3nC,uBAAkB,SAAU4nC,EAAM76C,GACnD,IAAIi4C,EAAct4B,GAAcs4B,YAAaC,EAAcv4B,GAAcu4B,YAKzE,OAJIF,IAAgBC,GAAeC,IAC/Bl4C,EAAWhwE,KAAK0vE,IAAIu4C,EAAY4C,GAAO76C,GACvCA,EAAWhwE,KAAKQ,IAAI0nH,EAAY2C,GAAO76C,IAEpCA,GACR,CAACg4C,GAAcr4B,KAWdm7B,EAAkB7nC,uBAAkB,WACpColC,KACA14B,GAAc24B,sBAAuB,GACtC,CAAC34B,GAAe04B,KACf0C,EAAa9nC,uBAAkB,SAAUz5B,EAAIq9D,GAC7C2B,EAAe,SAAU1e,GAAa,OAClCr2F,EAAGm3G,GAAe,IAAK9gB,EAAUr2F,EAAIozG,EAASn/D,MAAMj0C,GACpD1hB,EAAG64H,GAAe,IAAK9gB,EAAU/3G,EAAI80H,EAASn/D,MAAM31D,OAEzD,CAAC64H,KACAI,EAAiB/nC,uBAAkB,WAC/B8lC,EAAcj0G,SACdi0G,EAAcj0G,QAAQ26B,SAE3B,IA8FHgoB,qBAAgB,WACZn/C,EAAaq3E,GAAcs6B,mBAEvB/F,IAEAzrG,sBAAsB,WAAc,OAAOvW,EAAWwlH,EAA8B,KACpFa,GAAe,GAEXe,GACAX,IAEJh5B,GAAcw6B,eAAgB,EAC9BT,GAAa,KAGZxF,GAAUuF,IACX95B,GAAcs6B,kBAAoB/nH,EAAWimH,EAAkD,IAAhCj4D,WAAW2U,KAC1E6kD,GAAa,KAGlB,CAACD,EAAavF,IErQaprG,EFsQnB,WACP62E,GAAc9lC,OAAO7D,YEtQrBwsC,EAAax0B,kBAAallD,IACnBhE,QAAUgE,EACrB2+C,qBAAgB,WAAc,OAAO,WACjC,IAAIrd,EAC0B,QAA7BA,EAAKo4C,EAAW19E,eAA4B,IAAPslC,GAAyBA,EAAGzrD,KAAK6jG,KACrE,IFsB6Bu2B,EA6OZA,EA5OvBz2B,+BA4OgBp+E,EA5OgBw5C,aAAc,WAAc,OACxDje,MAAO,WACCs5E,EAAcj0G,SACdi0G,EAAcj0G,QAAQ26B,WAG3B,CAACs5E,IAwOJkC,EAAgB70D,yBAAoBm5B,GAAe,CAAEh7F,GAAIi1H,EAAiBv0G,IAAK2yG,EAAkBl6D,aAAcq7D,EAAe1tE,UAAWs2B,EAAWqyC,KAAM7zB,wBAAyBA,EAAyBK,4BAA6B64B,GAAc74B,IAAgCy4B,EAAY14B,uBAAwBA,EAAwBH,qBAAsBi5B,GAAcA,EAAaj5B,EAAsBE,uBAAwBA,EAAwBD,oCAAoC,EAAMK,OAAQf,GAAc24B,qBApD7e,WAC7B,IAAIluE,EACJu1C,GAAcy4B,mBAAqBd,GACnC33B,GAAc24B,sBAAuB,EACK,QAAzCluE,EAAKu1C,GAAcu7B,wBAAqC,IAAP9wE,GAAyBA,EAAGzrD,KAAKghG,UAgD2ep2C,EAAWs3C,yBAA0BA,GACnmBy4B,GAAe35B,GAAc24B,sBAAyBlyD,yBAAoB,MAAO,CAAE/a,UAAWs2B,EAAWw5C,2BAA6B7B,EAAY8B,sBAAyBh1D,yBAAoBghC,GAAMjoG,GAAS,GAAIm6H,EAAY8B,wBAA4Bh1D,yBAAoBghC,GAAM,CAAEb,SAAU,OAAQl7C,UAAWs2B,EAAW05C,oBAC9Tj1D,yBAAoB,MAAO,CAAEnhD,IAAKu1G,EAAoBnvE,UAAWs2B,EAAWsyC,kBAAmBqH,sBAAsB,GACjHhC,GAAeU,GAAoB5zD,yBAAoBkzD,EAAYiC,KAAM,CAAE1wD,MAAO,CAC1E,CAAEzqE,IAAK,OAAQynC,KAAMyxF,EAAYkC,iBAAkBt9E,QA3HjC,WAGV,SAAhBu9E,EAA0BjiE,GAC1B,GAAIA,EAAGx5B,QAAUw5B,EAAGh+C,SAAWg+C,EAAG99C,UAAYkkD,GAI1C,OAFApG,EAAG59C,sBACH49C,EAAG96B,kBAWP,GARIs7F,IAAoBxgE,EAAGx5B,QAAUw5B,EAAG99C,UAAYkkD,KAChDy4D,MAEA14B,GAAc24B,sBAAyB9+D,EAAG99C,UAAYkkD,IAAmBpG,EAAG99C,UAAYkkD,KACxF+/B,GAAc24B,sBAAuB,EACrC9+D,EAAG59C,iBACH49C,EAAG96B,mBAEHihE,GAAc24B,qBAAsB,CACpC,IAAIoD,GAAe,EACfC,GAvJZjkE,EAAQ,IADa8B,EAwJcA,GAtJhCz5B,SACEy5B,EAAGh+C,UACJk8C,EAAQ,IAGP8B,EAAGh+C,UACRk8C,EAAQ,GAELA,GA+IK,OAAQ8B,EAAG99C,SAEP,KAAKkkD,GACD44D,EAAe74B,GAAcy4B,oBACjC,KAAKx4D,GAGD+/B,GAAcy4B,mBAAqBd,GAEnC,MAEJ,KAAK13D,GACD44D,EAAe,SAAU1e,GAAa,OAAUr2F,EAAGq2F,EAAUr2F,EAAG1hB,EAAG64H,GAAe,IAAK9gB,EAAU/3G,EAAI45H,MACrG,MAEJ,KAAK/7D,GACD44D,EAAe,SAAU1e,GAAa,OAAUr2F,EAAGq2F,EAAUr2F,EAAG1hB,EAAG64H,GAAe,IAAK9gB,EAAU/3G,EAAI45H,MACrG,MAEJ,KAAK/7D,GACD44D,EAAe,SAAU1e,GAAa,OAAUr2F,EAAGm3G,GAAe,IAAK9gB,EAAUr2F,EAAIk4G,GAAU55H,EAAG+3G,EAAU/3G,KAC5G,MAEJ,KAAK69D,GACD44D,EAAe,SAAU1e,GAAa,OAAUr2F,EAAGm3G,GAAe,IAAK9gB,EAAUr2F,EAAIk4G,GAAU55H,EAAG+3G,EAAU/3G,KAC5G,MAEJ,QACI25H,GAAe,EAGnBA,IACAliE,EAAG59C,iBACH49C,EAAG96B,mBA1LJ,IAAU86B,EACrB9B,EA6LAioC,GAAcy4B,mBAAqBuB,EACnCtB,KACA14B,GAAc24B,sBAAuB,EACrC34B,GAAc9lC,OAAOe,GAAG9D,EAAK,UAAW2kE,GAAe,GACvD97B,GAAcu7B,iBAAmB,WAC7Bv7B,GAAc9lC,OAAOY,IAAI3D,EAAK,UAAW2kE,GAAe,GACxD97B,GAAcu7B,sBAAmB3xE,KA4DzB,CAAEnpD,IAAK,QAASynC,KAAMyxF,EAAYsC,kBAAmB19E,QAASi6E,IAC/DhjC,UAAWkjC,GAAmBzqC,iBAAiB,EAAMD,aAAa,EAAMwC,gBAAiBvF,GAAgBC,YAAa6C,sBAAsB,EAAMgc,oBAAoB,EAAMvpG,OAAQw/F,GAAcs0B,oBACzM5uG,IACR,OAASo0G,GAAeF,IAAwBtZ,GAAkBtC,GAAeniC,QAAWpV,yBAAoBib,GAAOliF,GAAS,CAAE8lB,IAAKq5E,GAAai8B,GAChJn0D,yBAAoBmuB,GAAO,CAAEQ,KAAMskC,IAAeJ,EAAa,SAAW,cAAe4C,cAAexC,EAAYpkC,eAAgBkkC,EAAajkC,gBAAiBkkC,EAAgBjkC,UAAWA,EAAWX,oBAAqB+L,GACzNn6B,yBAAoB,MAAO,CAAE/a,UAAWs2B,EAAWsS,KAAMc,KAAOskC,OAA0B9vE,EAAb,aACxE8vE,GAAejzD,yBAAoBsuD,GAASv1H,GAAS,CAAE4hG,eAAe,EAAMwzB,aAAcgD,EAAer5E,QAAS+6E,OAAa1vE,EAAY4rC,EAAWq/B,qBAAsBA,GAAwB0E,IACrMI,EAAelzD,yBAAoB6uD,GAAe,CAAE6B,eAAgBwC,EAAYgB,oBAAsB,IAAMd,EAAiBzC,oBAAqB,SAAUC,QAAS8D,EAAiB1D,aAAc2D,EAAY1D,OAAQ2D,EAAgBh7C,SAAU25C,GAAesB,SACzQ,OAERxD,GAAUlqG,YAAc,QG7RjB,IAAIuuG,GAAQruD,GAAOgqD,GTMH,SAAUvzG,GAC7B,IACImnC,EAAYnnC,EAAMmnC,UAAWmsE,EAAqBtzG,EAAMszG,mBAAoBwB,EAA6B90G,EAAM80G,2BAA4B9E,EAAShwG,EAAMgwG,OAAQtqD,EAAY1lD,EAAM0lD,UAAWuwD,EAAgBj2G,EAAMi2G,cAAeP,EAAoB11G,EAAM01G,kBAAmBj8G,EAAQuG,EAAMvG,MAAOm6G,EAAiB5zG,EAAM4zG,eAAgBuB,EAAan1G,EAAMm1G,WAAYa,EAAiBh2G,EAAMg2G,eAAgBG,EAAsBn2G,EAAMm2G,oBAAqBD,EAAoBl2G,EAAMk2G,kBAC9dz5C,EAAUhjE,EAAMgjE,QAASjuC,EAAU/0B,EAAM+0B,QAASw3C,EAAQvsE,EAAMusE,MAChEvI,EAAaI,GAAoBgyC,GAAkBp2G,GACvD,MAAO,CACHs2E,KAAM,CACFtS,EAAWsS,KACX/J,EAAMxO,OACN,CACIsd,gBAAiB,cACjBhZ,SAAUq5C,EAAa,WAAa,QACpC9oH,OAAQ,OACRD,MAAO,OACPqvC,QAAS,OACTuzD,WAAY,SACZwC,eAAgB,SAChB1iF,QAAS,EACTiiD,cAAe,OACf3uD,WAAY,WAAauuD,IAE7BijD,GACiC,iBAAtB8B,GACPO,GAAiB,CACjBjnB,WAAY,cAEhBghB,GAAUvyC,EAAWuyC,OACrBtqD,GAAa,CACT52C,QAAS,EACTiiD,cAAe,QAEnB5pB,GAEJ2oE,KAAM,CACFryC,EAAWqyC,KACX,CACI34B,UAAW3oD,EAAQ6mC,YACnB6hB,aAAc1oD,EAAQ8mC,eACtBwf,gBAAiBrY,EAAQ7J,MACzBqkB,UAAW,aACXnb,SAAU,WACV6zB,UAAW,OACX/yB,QAAS,wBACToR,UAAW,oBACXwJ,SAAU,oBACVyZ,UAAW,QACXxZ,SAAU,QACVn/B,UAAW,OACXnpC,OAAQgmG,EAAa95C,GAAS8B,WAAQ93B,GAE1CuuE,GACiC,iBAAtB8B,GACPO,GAAiB,CACjBz0E,IAAKk0E,GAETS,GAAuB,CACnBzmB,OAAQ,QAEZ4jB,GAEJvD,kBAAmB,CACftyC,EAAWsyC,kBACX,CACIz3D,UAAW,OACXzqC,SAAU,EACVmgE,UAAW,QACXjgC,YAAY7H,EAAK,IACV,iDAAmD,CAClD8nC,UAAWkoC,GAEfhwE,IAER4uE,GAEJ7E,MAAOkF,GAAc,CACjBa,EACAv4C,EAAWwyC,MACX,CACIn0C,SAAU,SACV1vE,MAAO,QACPC,OAAQ,UAGhB4qH,0BAA2B,CACvBn7C,SAAU,WACVrgC,QAAS,OACT+1D,eAAgB,SAChBplG,MAAO,OACPmxE,QAAS,WAEb45C,iBAAkB,CAEdt9C,SAAUmM,EAAMnO,WAAWgC,SAC3BztE,MAAO,eSnG6Bi5C,EAAW,CACvDid,MAAO,QACPC,OAAQ,CAAC,QAAS,SAAU,8BAEhCq1D,GAAMvuG,YAAc,QCNb,IAAInuB,GAASD,GCwDb,SAAS48H,GAAcC,EAAkBzsG,GAE5C,IAAI66B,GADsB76B,OAAV,IAAZA,EAAgC,GAC3BA,GAAQ0sG,YAAaA,OAAqB,IAAP7xE,EAAgB,WAAaA,EAqBzE,OApBa,SAAU2c,EAAgBm1D,EAAWC,EAAiBC,EAAez+G,GAE9E,GAAI0+G,0BAAqBH,GACrB,OAAOA,EAGPI,EAuFZ,SAA8BF,EAAez+G,GAEzC,IADA,IAAI4+G,EAAW,GACN5uE,EAAK,EAAGA,EAAKluD,UAAUC,OAAQiuD,IACpC4uE,EAAS5uE,EAAK,GAAKluD,UAAUkuD,GAIjC,IAFA,IAAI2uE,EAAa,GACb36C,EAAa,GACRv3B,EAAK,EAAGoyE,EAAaD,EAAUnyE,EAAKoyE,EAAW98H,OAAQ0qD,IAAM,CAClE,IAAIlmC,EAAQs4G,EAAWpyE,GACvBu3B,EAAW7+E,KAAKohB,GAASA,EAAMmnC,WAC/BjsD,GAAOk9H,EAAYp4G,GAGvB,OADAo4G,EAAWjxE,UAAYqI,GAAS,CAAC0oE,EAAez6C,GAAa,CAAEjzB,IAAKH,GAAO5wC,KACpE2+G,EApGcG,CAAqBL,EAAez+G,EAAOopD,EAuEpE,SAA6Bk1D,EAAaS,GACtC,IAAItyE,EAGAuyE,EADqB,iBAAdD,GAA+C,iBAAdA,GAA+C,kBAAdA,IACrDtyE,EAAK,IAClB6xE,GAAeS,EAClBtyE,GAGesyE,EAEvB,OAAOC,EAnFsBC,CAAoBX,EAAaC,IAE1D,GAAIC,EAAiB,CACjB,GAAIA,EAAgBl1D,UAAW,CAGvB41D,EAAgBV,EAAgBl1D,UACpC,OAAOb,yBAAoBy2D,EAAe19H,GAAS,GAAIm9H,IAE3D,GAAIH,EAAgBh1G,OAChB,OAAOg1G,EAAgBh1G,OAAOm1G,EAAYN,GAGlD,OAAO51D,yBAAoB41D,EAAkB78H,GAAS,GAAIm9H,KAOlE,IAAIQ,GAAiBx5D,GAAgB,SAAU/vD,GAAQ,OAAOwoH,GAAcxoH,KAOrE,SAASwpH,GAASb,EAAWc,GAIlB,SAAVroE,EAAoB1E,GACpB,IAKQgtE,EALJD,EAAMt+H,eAAeuxD,MAKjBgtE,EAAO,SAAUl2D,GAEjB,IADA,IAwEKm2D,EAAen2D,EAAgBm1D,EAAWiB,EAAaf,EAxExDx3H,EAAO,GACF+oD,EAAK,EAAGA,EAAKluD,UAAUC,OAAQiuD,IACpC/oD,EAAK+oD,EAAK,GAAKluD,UAAUkuD,GAE7B,GAAkB,EAAd/oD,EAAKlF,OAGL,MAAM,IAAIiI,MAAM,6FAMpB,OA2DKu1H,EA3DcF,EAAM/sE,GA2DL8W,EAzDpBA,EAyDoCm1D,EAzDpBkB,EAAWntE,GAyDoBktE,EAzDXC,EAAWJ,OAASI,EAAWJ,MAAM/sE,GAyDbmsE,EAtD5DgB,EAAWC,gBAAkBD,EAAWC,eAAeptE,GAsDoBtyC,EAtDXy/G,EAAWz/G,WAuD1D4rC,IAAzB2zE,EAAch+H,OACPg+H,EAAch+H,OAAO6nE,EAAgBm1D,EAAWiB,EAAaf,GAI7DU,GAAeI,EAAfJ,CAA8B/1D,EAAgBm1D,EAAWiB,EAAaf,EAAez+G,KA1DnF2/G,QAAS,EACd77H,EAAOwuD,GAAUgtE,GA/BzB,IAkCShtE,EAlCLxuD,EAAS,GAET27H,EAAalB,EAgCjB,IAASjsE,KAAU+sE,EACfroE,EAAQ1E,GAEZ,OAAOxuD,EC7DX,SAAS87H,GAAer5G,EAAOvG,GAE3B,IADA,IAAI6/G,EAAY,GACP7vE,EAAK,EAAGA,EAAKluD,UAAUC,OAAQiuD,IACpC6vE,EAAU7vE,EAAK,GAAKluD,UAAUkuD,GAGlC,IADA,IAAI8vE,EAAS,GACJrzE,EAAK,EAAGszE,EAAcF,EAAWpzE,EAAKszE,EAAYh+H,OAAQ0qD,IAAM,CACrE,IAAIuzE,EAAgBD,EAAYtzE,GAC5BuzE,IAEAA,EAC6B,mBAAlBA,EACDA,EAAcz5G,EAAOvG,GACrBggH,EACNp/H,MAAM+H,QAAQq3H,KACdA,EAAgBJ,GAAe59H,WAAM,EAAQoD,EAAe,CAACmhB,EAAOvG,GAAQggH,KAEhFv+H,GAAOq+H,EAAQE,IAGvB,OAAOF,ECpFJ,IDoByBjgH,GAAM+R,GAE9B66B,GACA6xE,GEzBG2B,IFsBqBpgH,GCpBV,SAAU0G,GAE5B,GAAsB,MAAlBA,EAAMmB,SACN,OAAO,KAECnB,EAAM25G,MAAmB35G,EAAMmnC,cAAWjB,EAAKlmC,EAAMk4E,GAAIsL,OAAkB,IAAPt9C,EAAgB,OAASA,EAAclmC,EAAM45G,QAAkB55G,EAAM65G,OAAQ5vD,EAAOvuE,EAAOskB,EAAO,CAAC,QAAS,YAAa,KAAM,UAAW,WAI1N,OFKG,SAAmB3Q,EAAM2Q,GAE5B,IADA,IAAImB,EAAW,GACNsoC,EAAK,EAAGA,EAAKluD,UAAUC,OAAQiuD,IACpCtoC,EAASsoC,EAAK,GAAKluD,UAAUkuD,GAEjC,IAAIqwE,EAAWzqH,EACf,OAAIyqH,EAASV,OAWe,KAHxBj4G,EAAW6vG,oBAAexuG,QAAQrB,IAGrB3lB,OACFs+H,EAAS95G,GAEb85G,EAAS7+H,GAASA,GAAS,GAAI+kB,GAAQ,CAAEmB,SAAUA,KASnD+gD,yBAAoBzmE,MAAMs+H,EAAOl7H,EAAe,CAACwQ,EAAM2Q,GAAQmB,IElCnE64G,CAHKnB,GAAS74G,EAAO,CACxB+vE,KAAMyT,IAEazT,KAAM90F,GAAS,GAAIosE,GAAe4C,EAAMjD,ODa3D9gB,IADsB76B,QAAV,KADkBA,GEtBM,CACxChC,YAAa,OACb+nC,OCLoB,SAAUpxC,EAAOvG,GACrC,IAAIy+E,EAAKl4E,EAAMk4E,GAAI/wC,EAAYnnC,EAAMmnC,UAAWwyE,EAAQ35G,EAAM25G,MAAOE,EAAS75G,EAAM65G,OAAQD,EAAU55G,EAAM45G,QACxG5zC,EAAQvsE,EAAMusE,MAAOF,EAAiBrsE,EAAMqsE,eAC5Cm0C,EAAgBj0C,EAAM4zC,GAAW,UACrC,MAAO,CACH7pC,KAAM,CACFkqC,EACA,CACIh3F,MAAOg3F,EAAch3F,OAAS6iD,EAAe5C,SAC7CznC,QAASk+E,EAAgB,OAAPzhC,EAAc,aAAe,QAAW,SAC1DgiC,oBAAqBD,EAActgD,oBACnCwgD,oBAAqBF,EAAcrgD,qBAEvCigD,GAAU,CACNxpB,WAAY,SACZ34C,SAAU,SACVq5C,aAAc,YAElB5pD,OHQ4B,GAC3B97B,IAAQ+uG,eACbrC,SADqD,IAAP7xE,GAAgB,GAAKA,IACtC6xE,aAC7BsC,GAAkB,SAAUx3D,GAC5B,IAAIh+D,GAoEgBwkB,EApEcgC,GAAQhC,YAoETpJ,EApEsBqjD,sBAAiBnC,IAoE9BoB,EApEkDl3C,GAAQk3C,OAyEjGrC,GAAe/xD,YAAYo0D,GADd,CAAC,QAAS,SAAU,UACmBl5C,EAAapJ,EAAQohD,iBAxExEi5D,EAAejvG,GAAQ0kB,MAKvBt2B,GAFAopD,EAFAy3D,EAEiBr/H,GAASA,GAAS,GAAI4nE,GAAiBy3D,EAAaz3D,IAE7DA,GAAeppD,OAAS5U,EAAS4U,MACzC8/G,EAASF,GAAex2D,EAAgBppD,EAAO4R,GAAQkuG,OAAQ10H,EAAS00H,OAAQ12D,EAAe02D,QAC/FnoE,EAmBZ,SAAwBpxC,EAAOvG,EAAO8/G,GAElC,IADA,IAAIroE,EAAY,GACPzH,EAAK,EAAGA,EAAKluD,UAAUC,OAAQiuD,IACpCyH,EAAUzH,EAAK,GAAKluD,UAAUkuD,GAElC,OAAOiG,GAAgBj0D,WAAM,EAAQy1D,EAAUxyC,IAAI,SAAU0yC,GACzD,MAAyB,mBAAXA,EAAwBA,EAAOpxC,EAAOvG,EAAO8/G,GAAUnoE,KAzBxDmpE,CAAe13D,EAAgBppD,EAAO8/G,EAAQluG,GAAQ+lC,OAAQvsD,EAASusD,OAAQyR,EAAezR,QACvGopE,EAAYv/H,GAASA,GAAS,GAAI4nE,GAAiB,CAAEzR,OAAQA,EAC7DmoE,OAAQA,EAAQJ,eAAgB/nE,EAAQ33C,MAAOA,IACnD,OAAOH,GAAKkhH,KAEAnxG,YAAcgC,GAAQhC,aAAe/P,GAAK/G,KAItDwlH,KACAsC,GAAgBr/H,OAAS68H,GAAcwC,GAAiB,CAAEtC,YAAaA,MAE3E78H,GAAOm/H,GAAiBhvG,GAAQovG,SAEzBJ,II7CX,SCNIK,GDMev9H,GACjB,OAAOA,GAAUA,MCRfw9H,GCWJ,SAAuB9jB,EAAO+jB,EAAWC,EAAWC,GAIlD,IAHA,IAAIt/H,EAASq7G,EAAMr7G,OACfy1C,EAAQ4pF,GAAaC,EAAY,GAAK,GAElCA,EAAY7pF,MAAYA,EAAQz1C,GACtC,GAAIo/H,EAAU/jB,EAAM5lE,GAAQA,EAAO4lE,GACjC,OAAO5lE,EAGX,OAAQ,GDlBN8pF,GEQJ,SAAuBlkB,EAAO15G,EAAO09H,GAInC,IAHA,IAAI5pF,EAAQ4pF,EAAY,EACpBr/H,EAASq7G,EAAMr7G,SAEVy1C,EAAQz1C,GACf,GAAIq7G,EAAM5lE,KAAW9zC,EACnB,OAAO8zC,EAGX,OAAQ,OFAV+pF,GANA,SAAqBnkB,EAAO15G,EAAO09H,GACjC,OAAO19H,GAAUA,EACb49H,GAAclkB,EAAO15G,EAAO09H,GAC5BF,GAAc9jB,EAAO6jB,GAAWG,IGbtCI,GAFkC,iBAAVl9C,GAAsBA,GAAUA,EAAO7jF,SAAWA,QAAU6jF,ECEhFm9C,GAA0B,iBAARv4H,MAAoBA,MAAQA,KAAKzI,SAAWA,QAAUyI,KAK5Em7E,GARiB1+D,IAMQ87G,IAAY/6H,SAAS,cAATA,GCDrCg7H,GALW/7G,GAGO7gB,OCAd68H,GAAclhI,OAAOK,UAGrBC,GAAiB4gI,GAAY5gI,eAO7B6gI,GAAuBD,GAAYpvH,SAGnCsvH,GAhBSl8G,GAAAA,GAgBwB1f,iBAAc2lD,MCR/Cg2E,GAPcnhI,OAAOK,UAOcyR,aCPnCuvH,GFwBJ,SAAmBp+H,GACjB,IAAIq+H,EAAQhhI,GAAeC,KAAK0C,EAAOm+H,IACnC9nG,EAAMr2B,EAAMm+H,IAEhB,IAEE,IAAIG,IADJt+H,EAAMm+H,SAAkBj2E,GAExB,MAAO1pD,IAET,IAAI4B,EAAS89H,GAAqB5gI,KAAK0C,GAQvC,OAPIs+H,IACED,EACFr+H,EAAMm+H,IAAkB9nG,SAEjBr2B,EAAMm+H,KAGV/9H,GExCLm+H,GDeJ,SAAwBv+H,GACtB,OAAOk+H,GAAqB5gI,KAAK0C,ICT/Bm+H,GATSl8G,GAAAA,GASwB1f,iBAAc2lD,EAkBnDs2E,EATA,SAAoBx+H,GAClB,OAAa,MAATA,OACekoD,IAAVloD,EAdQ,qBADL,iBAiBJm+H,IAAkBA,MAAkBphI,OAAOiD,GAC/Co+H,GACAG,IADUv+H,QCOhBy+H,EALA,SAAkBz+H,GAChB,IAAIkS,SAAclS,EAClB,OAAgB,MAATA,IAA0B,UAARkS,GAA4B,YAARA,IC3B3CwsH,GAAaz8G,EACb08G,GAAWv2G,EAmCfw2G,EAVA,SAAoB5+H,GAClB,QAAK2+H,GAAS3+H,KAtBF,sBA2BRq2B,EAAMqoG,GAAW1+H,KA1BV,8BA2Bcq2B,GA7BZ,0BA6B6BA,GA1B7B,kBA0BgDA,QCC/DwoG,EALA,SAAkB7+H,GAChB,MAAuB,iBAATA,IACH,EAATA,GAAcA,EAAQ,GAAK,GAAKA,GA9Bb,kBCDnB8+H,GAAa78G,EACb88G,GAAW32G,EA+Bf42G,EAJA,SAAqBh/H,GACnB,OAAgB,MAATA,GAAiB++H,GAAS/+H,EAAM3B,UAAYygI,GAAW9+H,ICJhEi/H,EAFc/hI,MAAM+H,YCKpBi6H,EAJA,SAAsBl/H,GACpB,OAAgB,MAATA,GAAiC,iBAATA,GCzB7B0+H,GAAaz8G,EACbk9G,GAAe/2G,MA2BnBg3G,GALA,SAAkBp/H,GAChB,MAAuB,iBAATA,GACXm/H,GAAan/H,IArBF,mBAqBY0+H,GAAW1+H,ICLvCq/H,GAXA,SAAkB3lB,EAAO4lB,GAKvB,IAJA,IAAIxrF,GAAS,EACTz1C,EAAkB,MAATq7G,EAAgB,EAAIA,EAAMr7G,OACnC+B,EAASlD,MAAMmB,KAEVy1C,EAAQz1C,GACf+B,EAAO0zC,GAASwrF,EAAS5lB,EAAM5lE,GAAQA,EAAO4lE,GAEhD,OAAOt5G,OCETm/H,GAVA,SAAmBphI,EAAGmhI,GAIpB,IAHA,IAAIxrF,GAAS,EACT1zC,EAASlD,MAAMiB,KAEV21C,EAAQ31C,GACfiC,EAAO0zC,GAASwrF,EAASxrF,GAE3B,OAAO1zC,GChBLs+H,GAAaz8G,EACbk9G,GAAe/2G,MCDfo3G,GDaJ,SAAyBx/H,GACvB,OAAOm/H,GAAan/H,IAVR,sBAUkB0+H,GAAW1+H,ICbvCm/H,GAAe/2G,EAGf61G,GAAclhI,OAAOK,UAGrBC,GAAiB4gI,GAAY5gI,eAG7BsB,GAAuBs/H,GAAYt/H,qBAyBvC8gI,GALkBD,GAAgB,WAAa,OAAOphI,UAApB,IAAsCohI,GAAkB,SAASx/H,GACjG,OAAOm/H,GAAan/H,IAAU3C,GAAeC,KAAK0C,EAAO,YACtDrB,GAAqBrB,KAAK0C,EAAO,2BChBlC0/H,IAHAC,IANAC,IAHAC,0BAAwD59H,GAAQ4tB,UAAY5tB,KAGnB69H,KAAWA,GAAOjwG,UAAYiwG,KAGzDF,GAAW39H,UAAY49H,GAV9C59G,GAauB09G,YAASz3E,GAGby3E,GAAOI,cAAW73E,EAqBhD43E,WAFeJ,ICtBf,WACE,OAAO,GCbT,IAGIM,GAAW,uBAoBfC,GAVA,SAAiBjgI,EAAO3B,GACtB,IAAI6T,SAAclS,EAGlB,SAFA3B,EAAmB,MAAVA,EAfY,iBAewBA,KAGlC,UAAR6T,GACU,UAARA,GAAoB8tH,GAASx7H,KAAKxE,MACvB,EAATA,GAAcA,EAAQ,GAAK,GAAKA,EAAQ3B,GCrB7CqgI,GAAaz8G,EACb88G,GAAW32G,EACX+2G,GAAe92G,EA8Bf63G,GAAiB,GACrBA,GAZiB,yBAYYA,GAXZ,yBAYjBA,GAXc,sBAWYA,GAVX,uBAWfA,GAVe,uBAUYA,GATZ,uBAUfA,GATsB,8BASYA,GARlB,wBAShBA,GARgB,yBAQY,EAC5BA,GAjCc,sBAiCYA,GAhCX,kBAiCfA,GApBqB,wBAoBYA,GAhCnB,oBAiCdA,GApBkB,qBAoBYA,GAhChB,iBAiCdA,GAhCe,kBAgCYA,GA/Bb,qBAgCdA,GA/Ba,gBA+BYA,GA9BT,mBA+BhBA,GA9BgB,mBA8BYA,GA7BZ,mBA8BhBA,GA7Ba,gBA6BYA,GA5BT,mBA6BhBA,GA5BiB,qBA4BY,EAc7BC,GALA,SAA0BngI,GACxB,OAAOm/H,GAAan/H,IAClB++H,GAAS/+H,EAAM3B,WAAa6hI,GAAexB,GAAW1+H,SClDtD4/H,GAMAQ,GCCJC,GANA,SAAmBl9H,GACjB,OAAO,SAASnD,GACd,OAAOmD,EAAKnD,qBDNZ6/H,0BAAwD59H,GAAQ4tB,UAAY5tB,GAG5E29H,GAAaC,IAA4CC,KAAWA,GAAOjwG,UAAYiwG,GAMvFM,GAHgBR,IAAcA,GAAW39H,UAAY49H,IATxC59G,GAY6Bq+G,QAG1CC,GAAY,WACd,IAEE,IAAIC,EAAQZ,IAAcA,GAAWa,SAAWb,GAAWa,QAAQ,QAAQD,MAE3E,OAAIA,EACKA,EAIFJ,IAAeA,GAAYM,SAAWN,GAAYM,QAAQ,QACjE,MAAOliI,QAGXshI,WAAiBS,GE7BjB,IAAII,GAAmB1+G,GACnB2+G,GAAYx4G,GACZm4G,EAAWl4G,WAGXw4G,GAAmBN,GAAYA,EAASO,aAqB5CC,GAFmBF,GAAmBD,GAAUC,IAAoBF,GCxBhEK,GAAY/+G,GACZg/G,GAAc74G,GACdnjB,GAAUojB,EACV03G,GAAWmB,WACXC,GAAUC,GACVN,GAAeO,GAMfhkI,GAHcN,OAAOK,UAGQC,mBAqCjCikI,GA3BA,SAAuBthI,EAAOuhI,GAC5B,IAQSxiI,EARLyiI,EAAQv8H,GAAQjF,GAChByhI,GAASD,GAASP,GAAYjhI,GAC9B0hI,GAAUF,IAAUC,GAAS1B,GAAS//H,GACtC2hI,GAAUH,IAAUC,IAAUC,GAAUZ,GAAa9gI,GACrD4hI,EAAcJ,GAASC,GAASC,GAAUC,EAC1CvhI,EAASwhI,EAAcZ,GAAUhhI,EAAM3B,OAAQZ,QAAU,GACzDY,EAAS+B,EAAO/B,OAEpB,IAASU,KAAOiB,GACTuhI,IAAalkI,GAAeC,KAAK0C,EAAOjB,IACvC6iI,IAEQ,UAAP7iI,GAEC2iI,IAAkB,UAAP3iI,GAA0B,UAAPA,IAE9B4iI,IAAkB,UAAP5iI,GAA0B,cAAPA,GAA8B,cAAPA,IAEtDoiI,GAAQpiI,EAAKV,KAElB+B,EAAOqB,KAAK1C,GAGhB,OAAOqB,GC5CL69H,GAAclhI,OAAOK,UAgBzBykI,GAPA,SAAqB7hI,GACnB,IAAI8hI,EAAO9hI,GAASA,EAAMpC,YAG1B,OAAOoC,KAFqB,mBAAR8hI,GAAsBA,EAAK1kI,WAAc6gI,SCE/D8D,GANA,SAAiB5+H,EAAMstE,GACrB,OAAO,SAAS3jB,GACd,OAAO3pD,EAAKstE,EAAU3jB,MCPtBk1E,GAHU//G,GAGWllB,OAAO8d,KAAM9d,QCHlCklI,GAAchgH,GACd+/G,GDIaA,GCEb3kI,GAHcN,OAAOK,UAGQC,mBCP7B6kI,GAAgBjgH,GAChBkgH,GDeJ,SAAkBC,GAChB,IAAKH,GAAYG,GACf,OAAOJ,GAAWI,GAEpB,IACSrjI,EADLqB,EAAS,GACb,IAASrB,KAAOhC,OAAOqlI,GACjB/kI,GAAeC,KAAK8kI,EAAQrjI,IAAe,eAAPA,GACtCqB,EAAOqB,KAAK1C,GAGhB,OAAOqB,GCxBLiiI,GAAch6G,EA8BlB,SAIAshD,GAJcy4D,GACZ,OAAOC,GAAYD,GAAUF,GAAwBC,IAAVC,OCG7CE,GAJA,SAAYtiI,EAAOuiI,GACjB,OAAOviI,IAAUuiI,GAAUviI,GAAUA,GAASuiI,GAAUA,GCjCtDC,GAAKvgH,OAoBTwgH,GAVA,SAAsB/oB,EAAO36G,GAE3B,IADA,IAAIV,EAASq7G,EAAMr7G,OACZA,KACL,GAAImkI,GAAG9oB,EAAMr7G,GAAQ,GAAIU,GACvB,OAAOV,EAGX,OAAQ,GCjBNqkI,GAAezgH,GAMfqvC,GAHap0D,MAAME,UAGCk0D,WCNpBoxE,GAAezgH,OCAfygH,GAAezgH,OCAfygH,GAAezgH,GCCf0gH,GJgBJ,SAAyB5jI,GACvB,IAAImF,EAAOvG,KAAKilI,SAGhB,SAFI9uF,EAAQ4uF,GAAax+H,EAAMnF,IAEnB,KAIR+0C,GADY5vC,EAAK7F,OAAS,EAE5B6F,EAAK1C,MAEL8vD,GAAOh0D,KAAK4G,EAAM4vC,EAAO,KAEzBn2C,KAAK2X,MACA,II7BLutH,GHSJ,SAAsB9jI,GACpB,IAAImF,EAAOvG,KAAKilI,SAGhB,OAFI9uF,EAAQ4uF,GAAax+H,EAAMnF,IAEhB,OAAImpD,EAAYhkD,EAAK4vC,GAAO,IGZzCgvF,GFQJ,SAAsB/jI,GACpB,OAA2C,EAApC2jI,GAAa/kI,KAAKilI,SAAU7jI,IERjCgkI,GDQJ,SAAsBhkI,EAAKiB,GACzB,IAAIkE,EAAOvG,KAAKilI,SACZ9uF,EAAQ4uF,GAAax+H,EAAMnF,GAQ/B,OANI+0C,EAAQ,KACRn2C,KAAK2X,KACPpR,EAAKzC,KAAK,CAAC1C,EAAKiB,KAEhBkE,EAAK4vC,GAAO,GAAK9zC,EAEZrC,MCTT,SAASqlI,GAAUC,GACjB,IAAInvF,GAAS,EACTz1C,EAAoB,MAAX4kI,EAAkB,EAAIA,EAAQ5kI,OAG3C,IADAV,KAAK0jE,UACIvtB,EAAQz1C,GAAQ,CACvB,IAAIksD,EAAQ04E,EAAQnvF,GACpBn2C,KAAKquB,IAAIu+B,EAAM,GAAIA,EAAM,QAKnBntD,UAAUikE,MClBpB,WACE1jE,KAAKilI,SAAW,GAChBjlI,KAAK2X,KAAO,MDiBJlY,UAAkB,OAAIulI,MACtBvlI,UAAUkF,IAAMugI,MAChBzlI,UAAUqtC,IAAMq4F,MAChB1lI,UAAU4uB,IAAM+2G,OAE1BG,GAAiBF,GE/BbA,GAAY/gH,GAchBkhH,GALA,WACExlI,KAAKilI,SAAW,IAAII,GACpBrlI,KAAK2X,KAAO,GCMd8tH,GARA,SAAqBrkI,GACnB,IAAImF,EAAOvG,KAAKilI,SACZxiI,EAAS8D,EAAa,OAAEnF,GAG5B,OADApB,KAAK2X,KAAOpR,EAAKoR,KACVlV,GCDTijI,GAJA,SAAkBtkI,GAChB,OAAOpB,KAAKilI,SAAStgI,IAAIvD,QCG3BukI,GAJA,SAAkBvkI,GAChB,OAAOpB,KAAKilI,SAASn4F,IAAI1rC,ICPvBwkI,GAHOthH,GAGW,sBCAlBuhH,IACEC,GAAM,SAAS1zE,KDCJwzE,IAAAA,GCDkC1oH,MDClC0oH,GCDqD1oH,KAAK6oH,UAAY,KACvE,iBAAmBD,GAAO,OCDtCE,GAHY3gI,SAAS5F,UAGIyR,aAqB7B+0H,GAZA,SAAkBzgI,GAChB,GAAY,MAARA,EAAc,CAChB,IACE,OAAOwgI,GAAarmI,KAAK6F,GACzB,MAAO3E,IACT,IACE,OAAQ2E,EAAO,GACf,MAAO3E,KAEX,MAAO,ICtBLsgI,GAAa78G,EACb4hH,GFcJ,SAAkB1gI,GAChB,QAASqgI,IAAeA,MAAcrgI,GEdpCw7H,GAAWt2G,EACXy7G,GAAW5C,GASX6C,GAAe,8BAGfC,GAAYhhI,SAAS5F,UACrB6gI,GAAclhI,OAAOK,UAGrBumI,GAAeK,GAAUn1H,SAGzBxR,GAAiB4gI,GAAY5gI,eAG7B4mI,GAAaj5H,OAAO,IACtB24H,GAAarmI,KAAKD,IAAgB0N,QAjBjB,sBAiBuC,QACvDA,QAAQ,yDAA0D,SAAW,SC3B5Em5H,GDsCJ,SAAsBlkI,GACpB,SAAK2+H,GAAS3+H,IAAU6jI,GAAS7jI,MAGnB8+H,GAAW9+H,GAASikI,GAAaF,IAChCv/H,KAAKs/H,GAAS9jI,KC1C3B0sB,GCOJ,SAAkB01G,EAAQrjI,GACxB,OAAiB,MAAVqjI,OAAiBl6E,EAAYk6E,EAAOrjI,QDO7ColI,GALA,SAAmB/B,EAAQrjI,GAEzB,OADIiB,EAAQ0sB,GAAS01G,EAAQrjI,GACtBmlI,GAAalkI,GAASA,OAAQkoD,GEPvCk8E,GANgBniH,GACLmG,GAGe,OCDtBi8G,GAHYpiH,GAGallB,OAAQ,UCHjCsnI,GDKaA,OELbA,GFKaA,GEIbhnI,GAHcN,OAAOK,UAGQC,mBCT7BgnI,GHKaA,GGCbhnI,GAHcN,OAAOK,UAGQC,mBCN7BgnI,GJKaA,GKJbC,GCSJ,SAAoBvlI,GAGlB,OAFIqB,EAASzC,KAAK8sC,IAAI1rC,WAAepB,KAAKilI,SAAS7jI,GACnDpB,KAAK2X,MAAQlV,EAAS,EAAI,EACnBA,GDXLmkI,GHkBJ,SAAiBxlI,GACf,IAAImF,EAAOvG,KAAKilI,SAChB,GAAIyB,GAAc,CAChB,IAAIjkI,EAAS8D,EAAKnF,GAClB,MArBiB,8BAqBVqB,OAA4B8nD,EAAY9nD,EAEjD,OAAO/C,GAAeC,KAAK4G,EAAMnF,GAAOmF,EAAKnF,QAAOmpD,GGvBlDs8E,GFcJ,SAAiBzlI,GACf,IAAImF,EAAOvG,KAAKilI,SAChB,OAAOyB,QAA8Bn8E,IAAdhkD,EAAKnF,GAAsB1B,GAAeC,KAAK4G,EAAMnF,IEf1E0lI,GDWJ,SAAiB1lI,EAAKiB,GACpB,IAAIkE,EAAOvG,KAAKilI,SAGhB,OAFAjlI,KAAK2X,MAAQ3X,KAAK8sC,IAAI1rC,GAAO,EAAI,EACjCmF,EAAKnF,GAAQslI,SAA0Bn8E,IAAVloD,EAfV,4BAekDA,EAC9DrC,MCNT,SAAS+mI,GAAKzB,GACZ,IAAInvF,GAAS,EACTz1C,EAAoB,MAAX4kI,EAAkB,EAAIA,EAAQ5kI,OAG3C,IADAV,KAAK0jE,UACIvtB,EAAQz1C,GAAQ,CACvB,IAAIksD,EAAQ04E,EAAQnvF,GACpBn2C,KAAKquB,IAAIu+B,EAAM,GAAIA,EAAM,QAKxBntD,UAAUikE,MJhBf,WACE1jE,KAAKilI,SAAWyB,GAAeA,GAAa,MAAQ,GACpD1mI,KAAK2X,KAAO,MIeTlY,UAAkB,OAAIknI,MACtBlnI,UAAUkF,IAAMiiI,MAChBnnI,UAAUqtC,IAAM+5F,MAChBpnI,UAAU4uB,IAAMy4G,OE7BjBC,GF+BaA,GE9Bb1B,GAAY56G,GACZqP,GAAMpP,GAkBVs8G,GATA,WACEhnI,KAAK2X,KAAO,EACZ3X,KAAKilI,SAAW,CACdgC,KAAQ,IAAIF,GACZnjH,IAAO,IAAKkW,IAAOurG,IACnB6B,OAAU,IAAIH,SChBdI,GCOJ,SAAmB9kI,GACjB,IAAIkS,SAAclS,EAClB,MAAgB,UAARkS,GAA4B,UAARA,GAA4B,UAARA,GAA4B,WAARA,EACrD,cAAVlS,EACU,OAAVA,ODMP+kI,GAPA,SAAoBxjH,EAAKxiB,GAEvB,OADImF,EAAOqd,EAAIqhH,SACRkC,GAAU/lI,GACbmF,EAAmB,iBAAPnF,EAAkB,SAAW,QACzCmF,EAAKqd,KEdPyjH,GAAa/iH,OCAb+iH,GAAa/iH,OCAb+iH,GAAa/iH,OCAb+iH,GAAa/iH,GCCbgjH,GJUJ,SAAwBlmI,GAGtB,OAFIqB,EAAS4kI,GAAWrnI,KAAMoB,GAAa,OAAEA,GAC7CpB,KAAK2X,MAAQlV,EAAS,EAAI,EACnBA,GIZL8kI,GHSJ,SAAqBnmI,GACnB,OAAOimI,GAAWrnI,KAAMoB,GAAKuD,IAAIvD,IGT/BomI,GFQJ,SAAqBpmI,GACnB,OAAOimI,GAAWrnI,KAAMoB,GAAK0rC,IAAI1rC,IER/BqmI,GDQJ,SAAqBrmI,EAAKiB,GACxB,IAAIkE,EAAO8gI,GAAWrnI,KAAMoB,GACxBuW,EAAOpR,EAAKoR,KAIhB,OAFApR,EAAK8nB,IAAIjtB,EAAKiB,GACdrC,KAAK2X,MAAQpR,EAAKoR,MAAQA,EAAO,EAAI,EAC9B3X,MCLT,SAAS0nI,GAASpC,GAChB,IAAInvF,GAAS,EACTz1C,EAAoB,MAAX4kI,EAAkB,EAAIA,EAAQ5kI,OAG3C,IADAV,KAAK0jE,UACIvtB,EAAQz1C,GAAQ,CACvB,IAAIksD,EAAQ04E,EAAQnvF,GACpBn2C,KAAKquB,IAAIu+B,EAAM,GAAIA,EAAM,QAKpBntD,UAAUikE,MAzBCp/C,MA0BX7kB,UAAkB,OAAI6nI,MACtB7nI,UAAUkF,IAAM4iI,MAChB9nI,UAAUqtC,IAAM06F,MAChB/nI,UAAU4uB,IAAMo5G,OAEzBE,GAAiBD,GC/BbrC,GAAY/gH,GACZwV,GAAMrP,GACNi9G,GAAWh9G,OCFX26G,GAAY/gH,GAEZsjH,GAAcl9G,GACdm9G,GAAWtE,GACXuE,GAAWrE,GACXsE,GDYJ,SAAkB3mI,EAAKiB,GACrB,IAAIkE,EAAOvG,KAAKilI,SAChB,GAAI1+H,aAAgB8+H,GAAW,CAC7B,IAAI2C,EAAQzhI,EAAK0+H,SACjB,IAAKnrG,IAAQkuG,EAAMtnI,OAASunI,IAG1B,OAFAD,EAAMlkI,KAAK,CAAC1C,EAAKiB,IACjBrC,KAAK2X,OAASpR,EAAKoR,KACZ3X,KAETuG,EAAOvG,KAAKilI,SAAW,IAAIyC,GAASM,GAItC,OAFAzhI,EAAK8nB,IAAIjtB,EAAKiB,GACdrC,KAAK2X,KAAOpR,EAAKoR,KACV3X,MChBT,SAASkoI,GAAM5C,GACT/+H,EAAOvG,KAAKilI,SAAW,IAAII,GAAUC,GACzCtlI,KAAK2X,KAAOpR,EAAKoR,QAIblY,UAAUikE,MAnBCj5C,MAoBXhrB,UAAkB,OAAImoI,MACtBnoI,UAAUkF,IAAMkjI,MAChBpoI,UAAUqtC,IAAMg7F,MAChBroI,UAAU4uB,IAAM05G,OAEtBI,GAAiBD,GC1BbE,GAAY9jH,GAUhB+jH,GARsB,WACpB,IACE,IAAI7iI,EAAO4iI,GAAUhpI,OAAQ,kBAE7B,OADAoG,EAAK,GAAI,GAAI,IACNA,EACP,MAAO3E,QCPPc,GAAiB2iB,OAwBrBgkH,GAbA,SAAyB7D,EAAQrjI,EAAKiB,GACzB,aAAPjB,GAAsBO,GACxBA,GAAe8iI,EAAQrjI,EAAK,CAC1BiV,cAAgB,EAChB3R,YAAc,EACdrC,MAASA,EACTkmI,UAAY,IAGd9D,EAAOrjI,GAAOiB,GCpBdmmI,GAAkBlkH,GAClBugH,GAAKp6G,OAkBTg+G,GAPA,SAA0BhE,EAAQrjI,EAAKiB,SACtBkoD,IAAVloD,GAAwBwiI,GAAGJ,EAAOrjI,GAAMiB,WAC9BkoD,IAAVloD,GAAyBjB,KAAOqjI,IACnC+D,GAAgB/D,EAAQrjI,EAAKiB,QCF7BqmI,GCEJC,GCRA,SAAuB3I,GACrB,OAAO,SAASyE,EAAQ9C,EAAUiH,GAMhC,IALA,IAAIzyF,GAAS,EACT0yF,EAAWzpI,OAAOqlI,GAClBv/G,EAAQ0jH,EAASnE,GACjB/jI,EAASwkB,EAAMxkB,OAEZA,KAAU,CACf,IAAIU,EAAM8jB,EAAM86G,EAAYt/H,IAAWy1C,GACvC,IAA+C,IAA3CwrF,EAASkH,EAASznI,GAAMA,EAAKynI,GAC/B,MAGJ,OAAOpE,GDPGqE,mBDDV9G,IANAC,IAHAC,0BAAwD59H,GAAQ4tB,UAAY5tB,KAGnB69H,KAAWA,GAAOjwG,UAAYiwG,KAGzDF,GAAW39H,UAAY49H,GAT9C59G,GAYuB09G,YAASz3E,EACvCm+E,GAAc1G,GAASA,GAAO0G,iBAAcn+E,EAqBhD43E,WAXA,SAAqB93C,EAAQ0+C,GAC3B,OAAIA,EACK1+C,EAAO7+D,SAEZ9qB,EAAS2pF,EAAO3pF,OAChB+B,EAASimI,GAAcA,GAAYhoI,GAAU,IAAI2pF,EAAOpqF,YAAYS,GAExE2pF,EAAOyxB,KAAKr5G,GACLA,IG/BT,IAKAumI,GALW1kH,GAGWvT,WCHlBA,GAAauT,OCAb2kH,GDSJ,SAA0BC,GACxB,IAAIzmI,EAAS,IAAIymI,EAAYjpI,YAAYipI,EAAYC,YAErD,OADA,IAAIp4H,GAAWtO,GAAQ4rB,IAAI,IAAItd,GAAWm4H,IACnCzmI,OCGT2mI,GALA,SAAyBC,EAAYN,GAEnC,OADI1+C,EAAS0+C,EAASE,GAAiBI,EAAWh/C,QAAUg/C,EAAWh/C,OAChE,IAAIg/C,EAAWppI,YAAYoqF,EAAQg/C,EAAWC,WAAYD,EAAW3oI,aCO9E6oI,GAXA,SAAmB/iI,EAAQu1G,GACzB,IAAI5lE,GAAS,EACTz1C,EAAS8F,EAAO9F,OAGpB,IADUq7G,EAAVA,GAAkBx8G,MAAMmB,KACfy1C,EAAQz1C,GACfq7G,EAAM5lE,GAAS3vC,EAAO2vC,GAExB,OAAO4lE,GChBLilB,GAAW18G,EAGXklH,GAAepqI,OAAOc,OAWxB,SAASukI,UCXPgF,GAHUnlH,GAGallB,OAAOsqI,eAAgBtqI,QCH9CuqI,GFeK,SAASC,GACd,IAAK5I,GAAS4I,GACZ,MAAO,GAET,GAAIJ,GACF,OAAOA,GAAaI,GAEtBnF,GAAOhlI,UAAYmqI,EACfnnI,EAAS,IAAIgiI,GAEjB,OADAA,GAAOhlI,eAAY8qD,EACZ9nD,GExBPgnI,GDIaA,GCHbnF,GAAc55G,OAelBm/G,GANA,SAAyBpF,GACvB,MAAqC,mBAAtBA,EAAOxkI,aAA8BqkI,GAAYG,GAE5D,GADAkF,GAAWF,GAAahF,KCb1BC,GAAcpgH,EACdk9G,GAAe/2G,MA+BnBq/G,GAJA,SAA2BznI,GACzB,OAAOm/H,GAAan/H,IAAUqiI,GAAYriI,IC7BxC0+H,GAAaz8G,EACbmlH,GHIaA,GGHbjI,GAAe92G,EAMf27G,GAAYhhI,SAAS5F,UACrB6gI,GAAclhI,OAAOK,UAGrBumI,GAAeK,GAAUn1H,SAGzBxR,GAAiB4gI,GAAY5gI,eAG7BqqI,GAAmB/D,GAAarmI,KAAKP,YCEzC4qI,GAZA,SAAiBvF,EAAQrjI,GACvB,IAAY,gBAARA,GAAgD,mBAAhBqjI,EAAOrjI,KAIhC,aAAPA,EAIJ,OAAOqjI,EAAOrjI,ICjBZonI,GAAkBlkH,GAClBugH,GAAKp6G,GAML/qB,GAHcN,OAAOK,UAGQC,mBCP7BuqI,GDmBJ,SAAqBxF,EAAQrjI,EAAKiB,GAChC,IAAI6nI,EAAWzF,EAAOrjI,GAChB1B,GAAeC,KAAK8kI,EAAQrjI,IAAQyjI,GAAGqF,EAAU7nI,UACxCkoD,IAAVloD,GAAyBjB,KAAOqjI,IACnC+D,GAAgB/D,EAAQrjI,EAAKiB,ICtB7BmmI,GAAkB/9G,OAsCtB0/G,GA1BA,SAAoB3jI,EAAQ0e,EAAOu/G,EAAQ2F,GACzC,IAAIC,GAAS5F,EACFA,EAAXA,GAAoB,GAKpB,IAHA,IAAItuF,GAAS,EACTz1C,EAASwkB,EAAMxkB,SAEVy1C,EAAQz1C,GAAQ,CACvB,IAAIU,EAAM8jB,EAAMixB,GAEZo3B,EAAW68D,EACXA,EAAW3F,EAAOrjI,GAAMoF,EAAOpF,GAAMA,EAAKqjI,EAAQj+H,QAClD+jD,OAEaA,IAAbgjB,IACFA,EAAW/mE,EAAOpF,KAEhBipI,EACF7B,GAEAyB,IAFgBxF,EAAQrjI,EAAKmsE,GAKjC,OAAOk3D,OCpCLzD,GAAW18G,EACXggH,GAAc75G,GACd6/G,GCOJ,SAAsB7F,GACpB,IAAIhiI,EAAS,GACb,GAAc,MAAVgiI,EACF,IAAK,IAAIrjI,KAAOhC,OAAOqlI,GACrBhiI,EAAOqB,KAAK1C,GAGhB,OAAOqB,GDRL/C,GAHcN,OAAOK,UAGQC,mBER7B6kI,GAAgBjgH,GAChBimH,GFgBJ,SAAoB9F,GAClB,IAAKzD,GAASyD,GACZ,OAAO6F,GAAa7F,GAEtB,IAGSrjI,EAHLopI,EAAUlG,GAAYG,GACtBhiI,EAAS,GAEb,IAASrB,KAAOqjI,GACD,eAAPrjI,IAAyBopI,GAAY9qI,GAAeC,KAAK8kI,EAAQrjI,KACrEqB,EAAOqB,KAAK1C,GAGhB,OAAOqB,GE3BLiiI,GAAch6G,MA6BlB+/G,GAJA,SAAgBhG,GACd,OAAOC,GAAYD,GAAUF,GAAcE,GAAQ,GAAQ8F,GAAW9F,IC5BpEiG,GAAapmH,GACbqmH,GAASlgH,OCDTmgH,GAAmBtmH,GACnBumH,GAAcpgH,WACdqgH,GAAkBpgH,GAClBqgH,GAAYxH,GACZyH,GAAkBvH,GAClBH,GAAcI,GACdp8H,GAAU2jI,EACVC,GAAoBC,GACpB/I,GAAWgJ,WACXjK,GAAakK,EACbrK,GAAWsK,EACXC,GRqCJ,SAAuBlpI,GACrB,SAAKm/H,GAAan/H,IA5CJ,mBA4Cc0+H,GAAW1+H,MAIzB,QADVunI,EAAQH,GAAapnI,KAKH,mBADlB8hI,EAAOzkI,GAAeC,KAAKiqI,EAAO,gBAAkBA,EAAM3pI,cAC1BkkI,aAAgBA,GAClD6B,GAAarmI,KAAKwkI,IAAS4F,KQ9C3B5G,GAAeqI,GACfC,GAAUC,GACVC,GDaJ,SAAuBtpI,GACrB,OAAOqoI,GAAWroI,EAAOsoI,GAAOtoI,SE5B9B6lI,GAAQ5jH,GACRsmH,GAAmBngH,GACnBmhH,GAAUlhH,GACVmhH,GD4BJ,SAAuBpH,EAAQj+H,EAAQpF,EAAK0qI,EAAUC,EAAW3B,EAAYr8G,GAC3E,IAYIi+G,EAGEnI,EAIJt2D,EAnBE28D,EAAWuB,GAAQhH,EAAQrjI,GAC3B6qI,EAAWR,GAAQjlI,EAAQpF,GAC3B8qI,EAAUn+G,EAAMppB,IAAIsnI,GAEpBC,EACFtB,GAAiBnG,EAAQrjI,EAAK8qI,KAO5BF,OAAwBzhF,KAJxBgjB,EAAW68D,EACXA,EAAWF,EAAU+B,EAAW7qI,EAAM,GAAKqjI,EAAQj+H,EAAQunB,QAC3Dw8B,MAMEw5E,IADAF,EAAQv8H,GAAQ2kI,KACG7J,GAAS6J,GAC5BE,GAAWtI,IAAUE,GAAUZ,GAAa8I,GAEhD1+D,EAAW0+D,EACPpI,GAASE,GAAUoI,EAEnB5+D,EADEjmE,GAAQ4iI,GACCA,EAEJgB,GAAkBhB,GACda,GAAUb,GAEdnG,EAEI8G,GAAYoB,IADvBD,GAAW,IAGJG,EAEIrB,GAAgBmB,IAD3BD,GAAW,IAIA,GAGNT,GAAcU,IAAa3I,GAAY2I,GAE1C3I,GADJ/1D,EAAW28D,GAET38D,EAAWo+D,GAAczB,GAEjBlJ,GAASkJ,KAAa/I,GAAW+I,KACzC38D,EAAWy9D,GAAgBiB,IAI7BD,GAAW,GAGXA,IAEFj+G,EAAMM,IAAI49G,EAAU1+D,GACpBw+D,EAAUx+D,EAAU0+D,EAAUH,EAAU1B,EAAYr8G,GACpDA,EAAc,OAAEk+G,IAElBrB,GAAiBnG,EAAQrjI,EAAKmsE,KCtF5ByzD,GAAWyC,EACXkH,GAASjH,GACT+H,GAAUR,OAmCdmB,GAtBA,SAASC,EAAU5H,EAAQj+H,EAAQslI,EAAU1B,EAAYr8G,GACnD02G,IAAWj+H,GAGfolI,GAAQplI,EAAQ,SAASylI,EAAU7qI,GAEjC,IAIMmsE,EALIx/C,EAAVA,GAAkB,IAAIm6G,GAClBlH,GAASiL,GACXJ,GAAcpH,EAAQj+H,EAAQpF,EAAK0qI,EAAUO,EAAWjC,EAAYr8G,IAGhEw/C,EAAW68D,EACXA,EAAWqB,GAAQhH,EAAQrjI,GAAM6qI,EAAW7qI,EAAM,GAAKqjI,EAAQj+H,EAAQunB,QACvEw8B,EAKJqgF,GAAiBnG,EAAQrjI,EAFvBmsE,OADehjB,IAAbgjB,EACS0+D,EAEiB1+D,KAE/Bo9D,SClBL2B,GAJA,SAAkBjqI,GAChB,OAAOA,OCGTkqI,GAVA,SAAe/mI,EAAM3D,EAAS+D,GAC5B,OAAQA,EAAKlF,QACX,KAAK,EAAG,OAAO8E,EAAK7F,KAAKkC,GACzB,KAAK,EAAG,OAAO2D,EAAK7F,KAAKkC,EAAS+D,EAAK,IACvC,KAAK,EAAG,OAAOJ,EAAK7F,KAAKkC,EAAS+D,EAAK,GAAIA,EAAK,IAChD,KAAK,EAAG,OAAOJ,EAAK7F,KAAKkC,EAAS+D,EAAK,GAAIA,EAAK,GAAIA,EAAK,IAE3D,OAAOJ,EAAK7E,MAAMkB,EAAS+D,ICjBzBjF,GAAQ2jB,GAGRkoH,GAAYx7H,KAAK0vE,QAgCrB+rD,GArBA,SAAkBjnI,EAAMmmC,EAAOmnC,GAE7B,OADAnnC,EAAQ6gG,QAAoBjiF,IAAV5e,EAAuBnmC,EAAK9E,OAAS,EAAKirC,EAAO,GAC5D,WAML,IALA,IAAI/lC,EAAOnF,UACP01C,GAAS,EACTz1C,EAAS8rI,GAAU5mI,EAAKlF,OAASirC,EAAO,GACxCowE,EAAQx8G,MAAMmB,KAETy1C,EAAQz1C,GACfq7G,EAAM5lE,GAASvwC,EAAK+lC,EAAQwK,GAI9B,IADA,IADAA,GAAS,EACLu2F,EAAYntI,MAAMosC,EAAQ,KACrBwK,EAAQxK,GACf+gG,EAAUv2F,GAASvwC,EAAKuwC,GAG1B,OADAu2F,EAAU/gG,GAASmnC,EAAUipC,GACtBp7G,GAAM6E,EAAMxF,KAAM0sI,SC/BzBC,GCmBJ,SAAkBtqI,GAChB,OAAO,WACL,OAAOA,IDpBPV,GAAiB8oB,GEIjBmiH,GAAYlnI,KAAKC,QCMjBknI,GDKJ,SAAkBrnI,GAChB,IAAIiiB,EAAQ,EACRqlH,EAAa,EAEjB,OAAO,WACL,IAAIC,EAAQH,KACRI,EApBO,IAoBiBD,EAAQD,GAGpC,GADAA,EAAaC,EACG,EAAZC,GACF,GAzBU,OAyBJvlH,EACJ,OAAOhnB,UAAU,QAGnBgnB,EAAQ,EAEV,OAAOjiB,EAAK7E,WAAM4pD,EAAW9pD,YCrBfwsI,CHCKtrI,GAA4B,SAAS6D,EAAM0hI,GAChE,OAAOvlI,GAAe6D,EAAM,WAAY,CACtC6Q,cAAgB,EAChB3R,YAAc,EACdrC,MAASsqI,GAASzF,GAClBqB,UAAY,KAfD79G,IIFXwiH,GAAW5oH,GACX6oH,GAAW1iH,GACXoiH,GDWaA,OCGjBO,GAJA,SAAkB5nI,EAAMmmC,GACtB,OAAOkhG,GAAYM,GAAS3nI,EAAMmmC,EAAOuhG,IAAW1nI,EAAO,KCbzDq/H,GAAKvgH,GACLogH,GAAcj6G,EACd+4G,GAAU94G,GACVs2G,GAAWuC,MCHX8J,GAAW/oH,GACXgpH,GDcJ,SAAwBjrI,EAAO8zC,EAAOsuF,GACpC,IAAKzD,GAASyD,GACZ,OAAO,EAET,IAAIlwH,SAAc4hC,EAClB,SAAY,UAAR5hC,EACKmwH,GAAYD,IAAWjB,GAAQrtF,EAAOsuF,EAAO/jI,QACrC,UAAR6T,GAAoB4hC,KAASsuF,IAE7BI,GAAGJ,EAAOtuF,GAAQ9zC,IExBP,SAAXkrI,GAA6BC,GACtC,OAAO,WACL,MAAmC,mBAArBA,EAAkCA,EAAiB7sI,WAAM,EAAQF,WAAa+sI,GCD/B,SAAtDC,GAAgElnI,EAAMmnI,GAC/E,OAAOnnI,ECFM,SAAXy6H,GAA6Bv8H,GAC/B,OAAa,OAANA,GAA2B,iBAANA,IAAmBlF,MAAM+H,QAAQ7C,GAUxC,SAAZkpI,KAkBT,IAjBA,IAAIC,EAAQ,SAASA,EAAMzsI,EAAQqF,GAcjC,OAbApH,OAAO8d,KAAK1W,GAAQ0S,QAAQ,SAAUjV,GAT5B,IAAiBA,EAChB,eADgBA,EAUbA,IATkB,cAANA,GAA2B,gBAANA,IAUvC+8H,GAASx6H,EAAOvC,KACb+8H,GAAS7/H,EAAO8C,MACnB9C,EAAO8C,GAAK,IAGd2pI,EAAMzsI,EAAO8C,GAAIuC,EAAOvC,KAExB9C,EAAO8C,GAAKuC,EAAOvC,MAIlB9C,GAGA0sI,EAAOptI,UAAUC,OAAQotI,EAAU,IAAIvuI,MAAMsuI,GAAOE,EAAO,EAAGA,EAAOF,EAAME,IAClFD,EAAQC,GAAQttI,UAAUstI,GAG5B,OAAOD,EAAQ1kI,OAAO4kI,SAAS17E,OACtBs7E,EACN,QCnCDvB,GAAY/nH,GAsChB2pH,GJ5BA,SAAwBC,GACtB,OAAOb,GAAS,SAAS5I,EAAQqJ,GAC/B,IAAI33F,GAAS,EACTz1C,EAASotI,EAAQptI,OACjB0pI,EAAsB,EAAT1pI,EAAaotI,EAAQptI,EAAS,QAAK6pD,EAChD4jF,EAAiB,EAATztI,EAAaotI,EAAQ,QAAKvjF,EAEtC6/E,EAAgC,EAAlB8D,EAASxtI,QAAmC,mBAAd0pI,GACvC1pI,IAAU0pI,QACX7/E,EAOJ,IALI4jF,GAASb,GAAeQ,EAAQ,GAAIA,EAAQ,GAAIK,KAClD/D,EAAa1pI,EAAS,OAAI6pD,EAAY6/E,EACtC1pI,EAAS,GAEX+jI,EAASrlI,OAAOqlI,KACPtuF,EAAQz1C,GAAQ,CACvB,IAAI8F,EAASsnI,EAAQ33F,GACjB3vC,GACF0nI,EAASzJ,EAAQj+H,EAAQ2vC,EAAOi0F,GAGpC,OAAO3F,IIEC2J,CAAe,SAAS3J,EAAQj+H,EAAQslI,GAClDO,GAAU5H,EAAQj+H,EAAQslI,KClCjBjhD,GAAc,SAAqBwjD,EAAYX,GACxD,OAAmBW,OCFjBzC,GAAUtnH,GACVpH,GAAOuN,OCDPi6G,GAAcpgH,MCalBgqH,GDHA,SAAwBC,EAAUvO,GAChC,OAAO,SAASwO,EAAY7M,GAC1B,GAAkB,MAAd6M,EACF,OAAOA,EAET,IAAK9J,GAAY8J,GACf,OAAOD,EAASC,EAAY7M,GAM9B,IAJA,IAAIjhI,EAAS8tI,EAAW9tI,OACpBy1C,EAAQ6pF,EAAYt/H,GAAU,EAC9BmoI,EAAWzpI,OAAOovI,IAEdxO,EAAY7pF,MAAYA,EAAQz1C,KACa,IAA/CihI,EAASkH,EAAS1yF,GAAQA,EAAO0yF,KAIvC,OAAO2F,GChBIC,CFAf,SAAoBhK,EAAQ9C,GAC1B,OAAO8C,GAAUmH,GAAQnH,EAAQ9C,EAAUzkH,MGZzCgwH,GAAW5oH,GCSf,SCTIoqH,GDSe3yB,EAAO4lB,GAIxB,IAHA,IAAIxrF,GAAS,EACTz1C,EAAkB,MAATq7G,EAAgB,EAAIA,EAAMr7G,SAE9By1C,EAAQz1C,IAC8B,IAAzCihI,EAAS5lB,EAAM5lE,GAAQA,EAAO4lE,KAIpC,OAAOA,MCjBL4yB,GAAWlkH,GACXmkH,GFOJ,SAAsBvsI,GACpB,MAAuB,mBAATA,EAAsBA,EAAQ6qI,IEP1C5lI,GAAUi8H,MAqCdsL,GALA,SAAiBL,EAAY7M,GAE3B,OADWr6H,GAAQknI,GAAcE,GAAYC,IACjCH,EAAYI,GAAajN,SCrCnC+F,GAAWpjH,GAEXwqH,GCOJ,SAAqBzsI,GACnB,OAAOrC,KAAKilI,SAASn4F,IAAIzqC,IDE3B,SAAS0sI,GAASC,GAChB,IAAI74F,GAAS,EACTz1C,EAAmB,MAAVsuI,EAAiB,EAAIA,EAAOtuI,OAGzC,IADAV,KAAKilI,SAAW,IAAIyC,KACXvxF,EAAQz1C,GACfV,KAAKgrB,IAAIgkH,EAAO74F,OAKX12C,UAAUurB,IAAM+jH,GAAStvI,UAAUqE,KEV5C,SAAqBzB,GAEnB,OADArC,KAAKilI,SAAS52G,IAAIhsB,EAbC,6BAcZrC,SFSAP,UAAUqtC,IAAMgiG,OAEzBG,GAAiBF,OGdjBG,GAJA,SAAkB7/D,EAAOjuE,GACvB,OAAOiuE,EAAMviC,IAAI1rC,ICTf2tI,GAAWzqH,GACX6qH,GCSJ,SAAmBpzB,EAAO+jB,GAIxB,IAHA,IAAI3pF,GAAS,EACTz1C,EAAkB,MAATq7G,EAAgB,EAAIA,EAAMr7G,SAE9By1C,EAAQz1C,GACf,GAAIo/H,EAAU/jB,EAAM5lE,GAAQA,EAAO4lE,GACjC,OAAO,EAGX,OAAO,GDjBLqzB,GAAW1kH,GAiFf2kH,GA9DA,SAAqBtzB,EAAO6oB,EAAO0K,EAASlF,EAAYmF,EAAWxhH,GACjE,IAAIyhH,EAjBqB,EAiBTF,EACZG,EAAY1zB,EAAMr7G,OAClBgvI,EAAY9K,EAAMlkI,OAEtB,GAAI+uI,GAAaC,KAAeF,GAAyBC,EAAZC,GAC3C,OAAO,EAGT,IAAIC,EAAa5hH,EAAMppB,IAAIo3G,GACvB6zB,EAAa7hH,EAAMppB,IAAIigI,GAC3B,GAAI+K,GAAcC,EAChB,OAAOD,GAAc/K,GAASgL,GAAc7zB,EAE9C,IAAI5lE,GAAS,EACT1zC,GAAS,EACTotI,EA/BuB,EA+BfP,EAAoC,IAAIP,QAAWxkF,EAM/D,IAJAx8B,EAAMM,IAAI0tF,EAAO6oB,GACjB72G,EAAMM,IAAIu2G,EAAO7oB,KAGR5lE,EAAQs5F,GAAW,CAC1B,IAIMK,EAJFC,EAAWh0B,EAAM5lE,GACjB65F,EAAWpL,EAAMzuF,GAOrB,QAAiBoU,KAJXulF,EADF1F,EACaoF,EACXpF,EAAW4F,EAAUD,EAAU55F,EAAOyuF,EAAO7oB,EAAOhuF,GACpDq8G,EAAW2F,EAAUC,EAAU75F,EAAO4lE,EAAO6oB,EAAO72G,GAEtD+hH,GAAwB,CAC1B,GAAIA,EACF,SAEFrtI,GAAS,EACT,MAGF,GAAIotI,GACF,IAAKV,GAAUvK,EAAO,SAASoL,EAAUC,GACnC,IAAKb,GAASS,EAAMI,KACfF,IAAaC,GAAYT,EAAUQ,EAAUC,EAAUV,EAASlF,EAAYr8G,IAC/E,OAAO8hH,EAAK/rI,KAAKmsI,KAEjB,CACNxtI,GAAS,EACT,YAEG,GACDstI,IAAaC,IACXT,EAAUQ,EAAUC,EAAUV,EAASlF,EAAYr8G,GACpD,CACLtrB,GAAS,EACT,OAKJ,OAFAsrB,EAAc,OAAEguF,GAChBhuF,EAAc,OAAE62G,GACTniI,GEzET,SCHIytI,GDGgBtsH,GAClB,IAAIuyB,GAAS,EACT1zC,EAASlD,MAAMqkB,EAAIjM,MAKvB,OAHAiM,EAAI1K,QAAQ,SAAS7W,EAAOjB,GAC1BqB,IAAS0zC,GAAS,CAAC/0C,EAAKiB,KAEnBI,MEGT0tI,GAVA,SAAoB9hH,GAClB,IAAI8nB,GAAS,EACT1zC,EAASlD,MAAM8uB,EAAI1W,MAKvB,OAHA0W,EAAInV,QAAQ,SAAS7W,GACnBI,IAAS0zC,GAAS9zC,IAEbI,GDbLsO,GAAa0Z,GACbo6G,GAAKn6G,GACL0lH,GAAc7M,GAEd8M,GAAa3M,GAqBb4M,GA1BShsH,GAAAA,GA0BqB7kB,eAAY8qD,EAC1CgmF,GAAgBD,GAAcA,GAAY5+G,aAAU64B,EAoFxDimF,EAjEA,SAAoB/L,EAAQG,EAAOlsG,EAAK42G,EAASlF,EAAYmF,EAAWxhH,GACtE,OAAQ2K,GACN,IAzBc,oBA0BZ,GAAK+rG,EAAO0E,YAAcvE,EAAMuE,YAC3B1E,EAAO6E,YAAc1E,EAAM0E,WAC9B,OAAO,EAET7E,EAASA,EAAOp6C,OAChBu6C,EAAQA,EAAMv6C,OAEhB,IAlCiB,uBAmCf,OAAKo6C,EAAO0E,YAAcvE,EAAMuE,YAC3BoG,EAAU,IAAIx+H,GAAW0zH,GAAS,IAAI1zH,GAAW6zH,KAG/C,GAFE,EAIX,IAnDU,mBAoDV,IAnDU,gBAoDV,IAjDY,kBAoDV,OAAOC,IAAIJ,GAASG,GAEtB,IAxDW,iBAyDT,OAAOH,EAAOhtH,MAAQmtH,EAAMntH,MAAQgtH,EAAOvvH,SAAW0vH,EAAM1vH,QAE9D,IAxDY,kBAyDZ,IAvDY,kBA2DV,OAAOuvH,GAAWG,EAAQ,GAE5B,IAjES,eAkEP,IAAI6L,EAAUP,GAEhB,IAjES,eAmEKO,EAAZA,GAAsBJ,GAEtB,GAAI5L,EAAO9sH,MAAQitH,EAAMjtH,QA/EJ,EA4EL23H,GAId,OAAO,EAGT,IAAIpD,EAAUn+G,EAAMppB,IAAI8/H,GACxB,GAAIyH,EACF,OAAOA,GAAWtH,EAEpB0K,GAtFuB,EAyFvBvhH,EAAMM,IAAIo2G,EAAQG,GACdniI,EAAS2tI,GAAYK,EAAQhM,GAASgM,EAAQ7L,GAAQ0K,EAASlF,EAAYmF,EAAWxhH,GAE1F,OADAA,EAAc,OAAE02G,GACThiI,EAET,IAnFY,kBAoFV,GAAI8tI,GACF,OAAOA,GAAc5wI,KAAK8kI,IAAW8L,GAAc5wI,KAAKilI,GAG9D,OAAO,OEzFT8L,GAXA,SAAmB30B,EAAOizB,GAKxB,IAJA,IAAI74F,GAAS,EACTz1C,EAASsuI,EAAOtuI,OAChBoqC,EAASixE,EAAMr7G,SAEVy1C,EAAQz1C,GACfq7G,EAAMjxE,EAASqL,GAAS64F,EAAO74F,GAEjC,OAAO4lE,GChBL40B,GAAYrsH,GACZhd,GAAUmjB,MCDVmmH,GCSJ,SAAqB70B,EAAO+jB,GAM1B,IALA,IAAI3pF,GAAS,EACTz1C,EAAkB,MAATq7G,EAAgB,EAAIA,EAAMr7G,OACnCmwI,EAAW,EACXpuI,EAAS,KAEJ0zC,EAAQz1C,GAAQ,CACvB,IAAI2B,EAAQ05G,EAAM5lE,GACd2pF,EAAUz9H,EAAO8zC,EAAO4lE,KAC1Bt5G,EAAOouI,KAAcxuI,GAGzB,OAAOI,GDdLzB,GAHc5B,OAAOK,UAGcuB,qBAGnC8vI,GAAmB1xI,OAAO2B,sBEV1BgwI,GHcJ,SAAwBtM,EAAQmE,EAAUoI,GAExC,OADIvuI,EAASmmI,EAASnE,GACfn9H,GAAQm9H,GAAUhiI,EAASkuI,GAAUluI,EAAQuuI,EAAYvM,KGf9DwM,GFkBcH,GAA+B,SAASrM,GACxD,OAAc,MAAVA,EACK,IAETA,EAASrlI,OAAOqlI,GACTmM,GAAYE,GAAiBrM,GAAS,SAASyM,GACpD,OAAOlwI,GAAqBrB,KAAK8kI,EAAQyM,OGP7C,WACE,MAAO,IDjBLh0H,GAAOwN,OEFPymH,GFWJ,SAAoB1M,GAClB,OAAOsM,GAAetM,EAAQvnH,GAAM+zH,KEHlCvxI,GAHcN,OAAOK,UAGQC,mBAgFjC0xI,GAjEA,SAAsB3M,EAAQG,EAAO0K,EAASlF,EAAYmF,EAAWxhH,GACnE,IAAIyhH,EAtBqB,EAsBTF,EACZ+B,EAAWF,GAAW1M,GACtB6M,EAAYD,EAAS3wI,OAIzB,GAAI4wI,GAHWH,GAAWvM,GACDlkI,SAEM8uI,EAC7B,OAAO,EAGT,IADA,IAAIr5F,EAAQm7F,EACLn7F,KAAS,CACd,IAAI/0C,EAAMiwI,EAASl7F,GACnB,KAAMq5F,EAAYpuI,KAAOwjI,EAAQllI,GAAeC,KAAKilI,EAAOxjI,IAC1D,OAAO,EAIX,IAAImwI,EAAaxjH,EAAMppB,IAAI8/H,GACvBmL,EAAa7hH,EAAMppB,IAAIigI,GAC3B,GAAI2M,GAAc3B,EAChB,OAAO2B,GAAc3M,GAASgL,GAAcnL,EAE9C,IAAIhiI,GAAS,EACbsrB,EAAMM,IAAIo2G,EAAQG,GAClB72G,EAAMM,IAAIu2G,EAAOH,GAGjB,IADA,IAAI+M,EAAWhC,IACNr5F,EAAQm7F,GAAW,CAE1B,IAIMxB,EAJF5F,EAAWzF,EADfrjI,EAAMiwI,EAASl7F,IAEX65F,EAAWpL,EAAMxjI,GAQrB,UAAmBmpD,KALbulF,EADF1F,EACaoF,EACXpF,EAAW4F,EAAU9F,EAAU9oI,EAAKwjI,EAAOH,EAAQ12G,GACnDq8G,EAAWF,EAAU8F,EAAU5uI,EAAKqjI,EAAQG,EAAO72G,GAGnD+hH,GACG5F,IAAa8F,GAAYT,EAAUrF,EAAU8F,EAAUV,EAASlF,EAAYr8G,GAC7E+hH,GACD,CACLrtI,GAAS,EACT,MAEW+uI,EAAbA,GAA+B,eAAPpwI,EAgB1B,OAdIqB,GAAW+uI,IACTC,EAAUhN,EAAOxkI,eACjByxI,EAAU9M,EAAM3kI,cAIf,gBAAiBwkI,GAAU,gBAAiBG,KACzB,mBAAX6M,GAAyBA,aAAmBA,GACjC,mBAAXC,GAAyBA,aAAmBA,KACvDjvI,GAAS,GAGbsrB,EAAc,OAAE02G,GAChB12G,EAAc,OAAE62G,GACTniI,GChFTkvI,GANgBrtH,GACLmG,GAGoB,YCE/BmnH,GANgBttH,GACLmG,GAGmB,WCE9BonH,GANgBvtH,GACLmG,GAGe,OCJtBqnH,GAAWxtH,GACXwV,GAAMrP,GACNxoB,GAAUyoB,GACVE,GAAM24G,GACNjkF,GCJYh7B,GACLmG,GAGmB,WDC1Bs2G,GAAa2C,EACbyC,GAAW8E,GAGX8G,GAAS,eAETC,GAAa,mBACbC,GAAS,eACTC,GAAa,mBAEbC,GAAc,oBAGdC,GAAqBjM,GAAS2L,IAC9BO,GAAgBlM,GAASrsG,IACzBw4G,GAAoBnM,GAASlkI,IAC7BswI,GAAgBpM,GAASv7G,IACzB4nH,GAAoBrM,GAAS7mF,IAS7BmzF,GAAS1R,IAGR+Q,IAAYW,GAAO,IAAIX,GAAS,IAAIY,YAAY,MAAQP,IACxDr4G,IAAO24G,GAAO,IAAI34G,KAAQi4G,IAC1B9vI,IAAWwwI,GAAOxwI,GAAQC,YAAc8vI,IACxCpnH,IAAO6nH,GAAO,IAAI7nH,KAAQqnH,IAC1B3yF,IAAWmzF,GAAO,IAAInzF,KAAY4yF,MACrCO,GAAS,SAASpwI,GAChB,IAAII,EAASs+H,GAAW1+H,GACpB8hI,EA/BQ,mBA+BD1hI,EAAsBJ,EAAMpC,iBAAcsqD,EACjDooF,EAAaxO,EAAOgC,GAAShC,GAAQ,GAEzC,GAAIwO,EACF,OAAQA,GACN,KAAKP,GAAoB,OAAOD,GAChC,KAAKE,GAAe,OAAON,GAC3B,KAAKO,GAAmB,OAAON,GAC/B,KAAKO,GAAe,OAAON,GAC3B,KAAKO,GAAmB,OAAON,GAGnC,OAAOzvI,QErDPylI,GAAQ5jH,GACR8rH,GAAc3lH,GACdmoH,GAAaloH,EACbmoH,GAAetP,GACfkP,GFqDaA,GEpDbnrI,GAAUo8H,EACVtB,GAAW6I,WACX9H,GAAegI,GAMf2H,GAAU,qBACVC,GAAW,iBACXC,GAAY,kBAMZtzI,GAHcN,OAAOK,UAGQC,mBCrB7BuzI,GDqCJ,SAAyBxO,EAAQG,EAAO0K,EAASlF,EAAYmF,EAAWxhH,GACtE,IAAImlH,EAAW5rI,GAAQm9H,GACnB0O,EAAW7rI,GAAQs9H,GACnBwO,EAASF,EAAWH,GAAWN,GAAOhO,GACtC4O,EAASF,EAAWJ,GAAWN,GAAO7N,GAKtC0O,GAHJF,EAASA,GAAUN,GAAUE,GAAYI,IAGhBJ,GACrBO,GAHJF,EAASA,GAAUP,GAAUE,GAAYK,IAGhBL,GAGzB,IAFIQ,EAAYJ,GAAUC,IAETjR,GAASqC,GAAS,CACjC,IAAKrC,GAASwC,GACZ,OAAO,EAGT0O,IADAJ,GAAW,GAGb,GAAIM,IAAcF,EAEhB,OADUvlH,EAAVA,GAAkB,IAAIm6G,GACdgL,GAAY/P,GAAasB,GAC7B2L,GAAY3L,EAAQG,EAAO0K,EAASlF,EAAYmF,EAAWxhH,GAC3D6kH,GAAWnO,EAAQG,EAAOwO,EAAQ9D,EAASlF,EAAYmF,EAAWxhH,GAExE,KArDyB,EAqDnBuhH,GAAiC,CACjCmE,EAAeH,GAAY5zI,GAAeC,KAAK8kI,EAAQ,eACvDiP,EAAeH,GAAY7zI,GAAeC,KAAKilI,EAAO,eAE1D,GAAI6O,GAAgBC,EAKlB,OAAOnE,EAJYkE,EAAehP,EAAOpiI,QAAUoiI,EAChCiP,EAAe9O,EAAMviI,QAAUuiI,EAGL0K,EAASlF,EAD5Cr8G,EAAVA,GAAkB,IAAIm6G,IAI1B,QAAKsL,IAGKzlH,EAAVA,GAAkB,IAAIm6G,GACf2K,GAAapO,EAAQG,EAAO0K,EAASlF,EAAYmF,EAAWxhH,KC9EjEyzG,GAAe/2G,MA0BnBkpH,GAVA,SAASC,EAAYvxI,EAAOuiI,EAAO0K,EAASlF,EAAYr8G,GACtD,OAAI1rB,IAAUuiI,IAGD,MAATviI,GAA0B,MAATuiI,IAAmBpD,GAAan/H,KAAWm/H,GAAaoD,GACpEviI,GAAUA,GAASuiI,GAAUA,EAE/BqO,GAAgB5wI,EAAOuiI,EAAO0K,EAASlF,EAAYwJ,EAAa7lH,KCxBrEm6G,GAAQ5jH,GACRsvH,GAAcnpH,OCDdu2G,GAAW18G,MAcfuvH,EAJA,SAA4BxxI,GAC1B,OAAOA,GAAUA,IAAU2+H,GAAS3+H,ICXlCyxI,GAAqBxvH,EACrBpH,GAAOuN,OCkBXspH,GAVA,SAAiC3yI,EAAK6qI,GACpC,OAAO,SAASxH,GACd,OAAc,MAAVA,IAGGA,EAAOrjI,KAAS6qI,SACP1hF,IAAb0hF,GAA2B7qI,KAAOhC,OAAOqlI,OCf5CuP,GJiBJ,SAAqBvP,EAAQj+H,EAAQytI,EAAW7J,GAC9C,IAAIj0F,EAAQ89F,EAAUvzI,OAClBA,EAASy1C,EACT+9F,GAAgB9J,EAEpB,GAAc,MAAV3F,EACF,OAAQ/jI,EAGV,IADA+jI,EAASrlI,OAAOqlI,GACTtuF,KAAS,CACd,IAAI5vC,EAAO0tI,EAAU99F,GACrB,GAAK+9F,GAAgB3tI,EAAK,GAClBA,EAAK,KAAOk+H,EAAOl+H,EAAK,MACtBA,EAAK,KAAMk+H,GAEnB,OAAO,EAGX,OAAStuF,EAAQz1C,GAAQ,CAEvB,IAAIU,GADJmF,EAAO0tI,EAAU99F,IACF,GACX+zF,EAAWzF,EAAOrjI,GAClB6qI,EAAW1lI,EAAK,GAEpB,GAAI2tI,GAAgB3tI,EAAK,IACvB,QAAiBgkD,IAAb2/E,KAA4B9oI,KAAOqjI,GACrC,OAAO,MAEJ,CACL,IAEMhiI,EAFFsrB,EAAQ,IAAIm6G,GAIhB,UAAiB39E,KAFX9nD,EADF2nI,EACWA,EAAWF,EAAU+B,EAAU7qI,EAAKqjI,EAAQj+H,EAAQunB,GAE7DtrB,GACEmxI,GAAY3H,EAAU/B,EAAUiK,EAA+C/J,EAAYr8G,GAC3FtrB,GAEN,OAAO,GAIb,OAAO,GIzDL2xI,GFSJ,SAAsB3P,GAIpB,IAHA,IAAIhiI,EAASya,GAAKunH,GACd/jI,EAAS+B,EAAO/B,OAEbA,KAAU,CACf,IAAIU,EAAMqB,EAAO/B,GACb2B,EAAQoiI,EAAOrjI,GAEnBqB,EAAO/B,GAAU,CAACU,EAAKiB,EAAOyxI,GAAmBzxI,IAEnD,OAAOI,GElBL4xI,GAA0B3pH,OAmB9B4pH,GAVA,SAAqB9tI,GACnB,IAAIytI,EAAYG,GAAa5tI,GAC7B,OAAwB,GAApBytI,EAAUvzI,QAAeuzI,EAAU,GAAG,GACjCI,GAAwBJ,EAAU,GAAG,GAAIA,EAAU,GAAG,IAExD,SAASxP,GACd,OAAOA,IAAWj+H,GAAUwtI,GAAYvP,EAAQj+H,EAAQytI,KCjBxD3sI,GAAUgd,EACViwH,GAAW9pH,GAGX+pH,GAAe,mDACfC,GAAgB,YAuBpBC,GAbA,SAAeryI,EAAOoiI,GACpB,GAAIn9H,GAAQjF,GACV,OAAO,EAET,IAAIkS,SAAclS,EAClB,QAAY,UAARkS,GAA4B,UAARA,GAA4B,WAARA,GAC/B,MAATlS,IAAiBkyI,GAASlyI,MAGvBoyI,GAAc5tI,KAAKxE,KAAWmyI,GAAa3tI,KAAKxE,IAC1C,MAAVoiI,GAAkBpiI,KAASjD,OAAOqlI,KCzBnCiD,GAAWpjH,GAGXqwH,GAAkB,sBA8CtB,SAASC,GAAQpvI,EAAMsqE,GACrB,GAAmB,mBAARtqE,GAAmC,MAAZsqE,GAAuC,mBAAZA,EAC3D,MAAM,IAAIjwE,UAAU80I,IAEtB,IAAIE,EAAW,WACb,IAAIjvI,EAAOnF,UACPW,EAAM0uE,EAAWA,EAASnvE,MAAMX,KAAM4F,GAAQA,EAAK,GACnDypE,EAAQwlE,EAASxlE,MAErB,GAAIA,EAAMviC,IAAI1rC,GACZ,OAAOiuE,EAAM1qE,IAAIvD,GAEfqB,EAAS+C,EAAK7E,MAAMX,KAAM4F,GAE9B,OADAivI,EAASxlE,MAAQA,EAAMhhD,IAAIjtB,EAAKqB,IAAW4sE,EACpC5sE,GAGT,OADAoyI,EAASxlE,MAAQ,IAAKulE,GAAQE,OAASpN,IAChCmN,KAIDC,MAAQpN,OCtEZkN,GDwEaA,OErEbG,GAAa,mGAGbC,GAAe,WASfC,GDFJ,SAAuBzvI,GACrB,IAOI6pE,GAPA5sE,EAASmyI,GAAQpvI,EAAM,SAASpE,GAIlC,OAfmB,MAYfiuE,EAAM13D,MACR03D,EAAM3L,QAEDtiE,KAGUiuE,MACnB,OAAO5sE,ECPUyyI,CAAc,SAAShO,GACxC,IAAIzkI,EAAS,GAOb,OAN6B,KAAzBykI,EAAO3tH,WAAW,IACpB9W,EAAOqB,KAAK,IAEdojI,EAAO95H,QAAQ2nI,GAAY,SAAS9mH,EAAOwa,EAAQ0sG,EAAOC,GACxD3yI,EAAOqB,KAAKqxI,EAAQC,EAAUhoI,QAAQ4nI,GAAc,MAASvsG,GAAUxa,KAElExrB,ICtBL4yI,GAAW5qH,GACXnjB,GAAUojB,EACV6pH,GAAWhR,GAGX+R,GAAW,EAAA,EAGXhF,GATShsH,GAAAA,GASqB7kB,eAAY8qD,EAC1CgrF,GAAiBjF,GAAcA,GAAYp/H,cAAWq5C,MCVtDirF,GDoBJ,SAASA,EAAanzI,GAEpB,GAAoB,iBAATA,EACT,OAAOA,EAET,GAAIiF,GAAQjF,GAEV,OAAOgzI,GAAShzI,EAAOmzI,GAAgB,GAEzC,GAAIjB,GAASlyI,GACX,OAAOkzI,GAAiBA,GAAe51I,KAAK0C,GAAS,GAEvD,IAAII,EAAUJ,EAAQ,GACtB,MAAkB,KAAVI,GAAkB,EAAIJ,IAAWizI,GAAY,KAAO7yI,OEjC1D6E,GAAUgd,EACVmxH,GAAQhrH,GACRwqH,GHwBaA,GGvBb/jI,GDoBJ,SAAkB7O,GAChB,OAAgB,MAATA,EAAgB,GAAKmzI,GAAanzI,QCJ3CqzI,GAPA,SAAkBrzI,EAAOoiI,GACvB,OAAIn9H,GAAQjF,GACHA,EAEFozI,GAAMpzI,EAAOoiI,GAAU,CAACpiI,GAAS4yI,GAAa/jI,GAAS7O,KCjB5DkyI,GAAWjwH,OAoBfqxH,GARA,SAAetzI,GACb,GAAoB,iBAATA,GAAqBkyI,GAASlyI,GACvC,OAAOA,EAET,IAAII,EAAUJ,EAAQ,GACtB,MAAkB,KAAVI,GAAkB,EAAIJ,IAdjB,EAAA,EAcwC,KAAOI,GCjB1DmzI,GAAWtxH,GACXuxH,GAAQprH,OAsBZqrH,GAZA,SAAiBrR,EAAQ35B,GAMvB,IAHA,IAAI30D,EAAQ,EACRz1C,GAHJoqG,EAAO8qC,GAAS9qC,EAAM25B,IAGJ/jI,OAED,MAAV+jI,GAAkBtuF,EAAQz1C,GAC/B+jI,EAASA,EAAOoR,GAAM/qC,EAAK30D,OAE7B,OAAQA,GAASA,GAASz1C,EAAU+jI,OAASl6E,GCpB3CwrF,GAAUzxH,OAgCd0xH,GALA,SAAavR,EAAQ35B,EAAMr7E,GAEzB,YAAkB86B,KADd9nD,EAAmB,MAAVgiI,OAAiBl6E,EAAYwrF,GAAQtR,EAAQ35B,IAC5Br7E,EAAehtB,OC7B3CmzI,GAAWtxH,GACXg/G,GAAc74G,GACdnjB,GAAUojB,EACV84G,GAAUD,GACVnC,GAAWqC,EACXoS,GAAQnS,GCGZ,SCRIuS,GDQexR,EAAQrjI,GACzB,OAAiB,MAAVqjI,GAAkBrjI,KAAOhC,OAAOqlI,OCRrCyR,GFeJ,SAAiBzR,EAAQ35B,EAAMqrC,GAO7B,IAJA,IAAIhgG,GAAS,EACTz1C,GAHJoqG,EAAO8qC,GAAS9qC,EAAM25B,IAGJ/jI,OACd+B,GAAS,IAEJ0zC,EAAQz1C,GAAQ,CACvB,IAAIU,EAAMy0I,GAAM/qC,EAAK30D,IACrB,KAAM1zC,EAAmB,MAAVgiI,GAAkB0R,EAAQ1R,EAAQrjI,IAC/C,MAEFqjI,EAASA,EAAOrjI,GAElB,OAAIqB,KAAY0zC,GAASz1C,EAChB+B,KAET/B,EAAmB,MAAV+jI,EAAiB,EAAIA,EAAO/jI,SAClB0gI,GAAS1gI,IAAW8iI,GAAQpiI,EAAKV,KACjD4G,GAAQm9H,IAAWnB,GAAYmB,SGnChCmP,GAActvH,GACd3f,GAAM8lB,GACN2rH,GD2BJ,SAAe3R,EAAQ35B,GACrB,OAAiB,MAAV25B,GAAkByR,GAAQzR,EAAQ35B,EAAMmrC,KC3B7CR,GAAQlS,GACRuQ,GAAqBrQ,EACrB4Q,GAA0B3Q,GAC1BmS,GAAQ5K,OCNR8K,GAAUzxH,OCAV+xH,GCOJ,SAAsBj1I,GACpB,OAAO,SAASqjI,GACd,OAAiB,MAAVA,OAAiBl6E,EAAYk6E,EAAOrjI,KDR3Ck1I,GDQJ,SAA0BxrC,GACxB,OAAO,SAAS25B,GACd,OAAOsR,GAAQtR,EAAQ35B,KCTvB2qC,GAAQ/qH,GACRmrH,GAAQtS,OEHRgT,GAAcjyH,GACdkyH,GJmBJ,SAA6B1rC,EAAMmhC,GACjC,OAAIwJ,GAAM3qC,IAASgpC,GAAmB7H,GAC7BoI,GAAwBwB,GAAM/qC,GAAOmhC,GAEvC,SAASxH,GACd,IAAIyF,EAAWvlI,GAAI8/H,EAAQ35B,GAC3B,YAAqBvgD,IAAb2/E,GAA0BA,IAAa+B,EAC3CmK,GAAM3R,EAAQ35B,GACd8oC,GAAY3H,EAAU/B,EAAUiK,KI1BpCjH,GAAWxiH,GACXpjB,GAAUi8H,EACVz9D,GFuBJ,SAAkBglC,GAChB,OAAO2qC,GAAM3qC,GAAQurC,GAAaR,GAAM/qC,IAASwrC,GAAiBxrC,QEEpE2rC,GAjBA,SAAsBp0I,GAGpB,MAAoB,mBAATA,EACFA,EAEI,MAATA,EACK6qI,GAEW,iBAAT7qI,EACFiF,GAAQjF,GACXm0I,GAAoBn0I,EAAM,GAAIA,EAAM,IACpCk0I,GAAYl0I,GAEXyjE,GAASzjE,IC3BdssI,GAAWrqH,GACXogH,GAAcj6G,EAUlB,SCTIisH,GDSalI,EAAY7M,GAC3B,IAAIxrF,GAAS,EACT1zC,EAASiiI,GAAY8J,GAAcjvI,MAAMivI,EAAW9tI,QAAU,GAKlE,OAHAiuI,GAASH,EAAY,SAASnsI,EAAOjB,EAAKotI,GACxC/rI,IAAS0zC,GAASwrF,EAASt/H,EAAOjB,EAAKotI,KAElC/rI,MClBL4yI,GAAW/wH,GACXqyH,GAAelsH,GAEfnjB,GAAUi8H,MAiDdqT,GALA,SAAapI,EAAY7M,GAEvB,OADWr6H,GAAQknI,GAAc6G,GAAWqB,IAChClI,EAAYmI,GAAahV,KChDnC2B,GAAc74G,GACdnjB,GAAUojB,EAGVmsH,GALSvyH,GAAAA,GAK0BwyH,wBAAqBvsF,MCLxDomF,GAAYrsH,GACZyyH,GDaJ,SAAuB10I,GACrB,OAAOiF,GAAQjF,IAAUihI,GAAYjhI,OAChCw0I,IAAoBx0I,GAASA,EAAMw0I,UCqB1CG,GAvBA,SAASC,EAAYl7B,EAAOm7B,EAAOpX,EAAWqX,EAAU10I,GACtD,IAAI0zC,GAAS,EACTz1C,EAASq7G,EAAMr7G,OAKnB,IAHco/H,EAAdA,GAA0BiX,GACft0I,EAAXA,GAAoB,KAEX0zC,EAAQz1C,GAAQ,CACvB,IAAI2B,EAAQ05G,EAAM5lE,GACN,EAAR+gG,GAAapX,EAAUz9H,GACb,EAAR60I,EAEFD,EAAY50I,EAAO60I,EAAQ,EAAGpX,EAAWqX,EAAU10I,GAEnDkuI,GAAUluI,EAAQJ,GAEV80I,IACV10I,EAAOA,EAAO/B,QAAU2B,GAG5B,OAAOI,GClCL20I,GAAc9yH,GAgBlB+yH,GALA,SAAuBt7B,EAAO15G,GAE5B,SADsB,MAAT05G,EAAgB,EAAIA,EAAMr7G,UACY,EAAhC02I,GAAYr7B,EAAO15G,EAAO,ICQ/Ci1I,GAZA,SAA2Bv7B,EAAO15G,EAAOk1I,GAIvC,IAHA,IAAIphG,GAAS,EACTz1C,EAAkB,MAATq7G,EAAgB,EAAIA,EAAMr7G,SAE9By1C,EAAQz1C,GACf,GAAI62I,EAAWl1I,EAAO05G,EAAM5lE,IAC1B,OAAO,EAGX,OAAO,OClBLvrB,GAAMtG,GACNkzH,GCWJ,aDEIC,GAAc7sH,IAAQ,EAZTF,GAYwB,IAAIE,GAAI,GAAG,KAAK,IAT1C,EAAA,EASoE,SAASokH,GAC1F,OAAO,IAAIpkH,GAAIokH,IAD2DwI,GEdxEzI,GAAWzqH,GACXozH,GAAgBjtH,GAChBktH,GAAoBjtH,GACpB0kH,GAAW7L,GACXkU,GFcaA,GEbbpH,GAAa3M,GCLW,SAAjBkU,KACT,IAAIC,EAEJ,OAAQA,EAAO,IAAItwI,OAAO5G,MAAMk3I,EAAMp3I,WAAW2I,OAAO4kI,aCHtDiJ,GAAc3yH,GAEdwzH,GFiBJ,SAAkB/7B,EAAO4lB,EAAU4V,GACjC,IAAIphG,GAAS,EACT4hG,EAAWL,GACXh3I,EAASq7G,EAAMr7G,OACfsrI,GAAW,EACXvpI,EAAS,GACTotI,EAAOptI,EAEX,GAAI80I,EACFvL,GAAW,EACX+L,EAAWJ,QAER,GAvBgB,KAuBZj3I,EAA4B,CACnC,IAAI2tB,EAAMszG,EAAW,KAAO8V,GAAU17B,GACtC,GAAI1tF,EACF,OAAOgiH,GAAWhiH,GAEpB29G,GAAW,EACX+L,EAAW3I,GACXS,EAAO,IAAId,QAGXc,EAAOlO,EAAW,GAAKl/H,EAEzBu1I,EACA,OAAS7hG,EAAQz1C,GAAQ,CACvB,IAAI2B,EAAQ05G,EAAM5lE,GACd8hG,EAAWtW,EAAWA,EAASt/H,GAASA,EAE5CA,EAASk1I,GAAwB,IAAVl1I,EAAeA,EAAQ,EAC9C,GAAI2pI,GAAYiM,GAAaA,EAAU,CAErC,IADA,IAAIC,EAAYrI,EAAKnvI,OACdw3I,KACL,GAAIrI,EAAKqI,KAAeD,EACtB,SAASD,EAGTrW,GACFkO,EAAK/rI,KAAKm0I,GAEZx1I,EAAOqB,KAAKzB,QAEJ01I,EAASlI,EAAMoI,EAAUV,KAC7B1H,IAASptI,GACXotI,EAAK/rI,KAAKm0I,GAEZx1I,EAAOqB,KAAKzB,IAGhB,OAAOI,GEjELyoI,GAAoB3H,GAsBxB4U,GAxBe1tH,GAoBM,SAAS2tH,GAC5B,OAAON,GAASb,GAAYmB,EAAQ,EAAGlN,IAAmB,MCVjDmN,GAAa,CACtBC,cAAe,CACbC,UAAW,IAEbC,mBAAoB,GACpBC,gBAAiB,GACjBC,UAAW,GACXC,aAAc,GACdC,WAAY,IAwIHC,GA/H6B,SAAoCC,EAASC,GACnF,IAAIt2I,EAAS,GA0Db,OAxDIq2I,GACF15I,OAAO8d,KAAK47H,GAAS5/H,QAAQ,SAAU8/H,GACrC,IAAIC,EAAQH,EAAQE,GAChBE,EAAmB,MAAXH,OAAkB,EAASA,EAAQC,GAE3C,MAAOC,GAMP,MAAOC,GAOPD,IAAUC,IANZz2I,EAAOu2I,GAA6B,mBAAVC,EAAuBA,EAAQ,WACvD,OAAOA,MAaXF,GACF35I,OAAO8d,KAAK67H,GAAS7/H,QAAQ,SAAU8/H,GACrC,IAAIC,EAAmB,MAAXH,OAAkB,EAASA,EAAQE,GAC3CE,EAAQH,EAAQC,GAEhB,MAAOE,IAMP,MAAOD,EAOPA,IAAUC,IAKdz2I,EAAOu2I,GAAY,SAA6BG,GAE9C,OAAOjrE,GAAwB,mBAAV+qE,EAAuBA,EAAME,GAAcF,EAAwB,mBAAVC,EAAuBA,EAAMC,GAAcD,KAbzHz2I,EAAOu2I,GAA6B,mBAAVE,EAAuBA,EAAQ,WACvD,OAAOA,MAiBRz2I,GAuIE22I,GA9DgC,WAMzC,IALA,IAKSvL,EAAOptI,UAAUC,OAAQotI,EAAU,IAAIvuI,MAAMsuI,GAAOE,EAAO,EAAGA,EAAOF,EAAME,IAClFD,EAAQC,GAAQttI,UAAUstI,GAG5B,IAAIsL,EAAkBvL,EAAQ1kI,OAAO4kI,SAErC,OAA+B,IAA3BqL,EAAgB34I,OACmB,mBAAvB24I,EAAgB,GAAoBA,EAAgB,GAAK9L,GAAS8L,EAAgB,IAG3FA,EAAgB/mF,OAAO,SAAUwwB,EAAKvgF,GAC3C,OAAO,WACL,IAAI+2I,EAAuBx2D,EAAIniF,WAAM,EAAQF,WAEzC84I,GADqB,mBAATh3I,EAAsBA,EAAOgrI,GAAShrI,IAClB5B,WAAM,EAAQF,WAClD,OAAOktI,GAAU2L,EAAsBC,KApB7B,WACZ,MAAO,MAuHAC,GAlD2B,WAKpC,IAJA,IAISC,EAAQh5I,UAAUC,OAAQotI,EAAU,IAAIvuI,MAAMk6I,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IACvF5L,EAAQ4L,GAASj5I,UAAUi5I,GAG7B,OAAO/L,GAAUhtI,WAAM,EAAQ,CARjB,CACZ43I,UAAW,KAO4BhxI,OAAOumI,KAgFvC6L,GA9B4B,WACrC,IAAK,IAAIC,EAAQn5I,UAAUC,OAAQotI,EAAU,IAAIvuI,MAAMq6I,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IACvF/L,EAAQ+L,GAASp5I,UAAUo5I,GAK7B,OAFmBC,GAAOn5I,WAAM,EAAQo5I,GAAKjM,EAASkM,KAElC1nF,OAAO,SAAUkmF,EAAoBjqH,GAEvD,OADAiqH,EAAmBjqH,GAAe6qH,GAAwBz4I,WAAM,EAAQo5I,GAAKjM,EAASv/G,IAC/EiqH,GACN,KAsEMrtD,GAAc,WACvB,IAAK,IAAI8uD,EAASx5I,UAAUC,OAAQw5I,EAAS,IAAI36I,MAAM06I,GAASE,EAAS,EAAGA,EAASF,EAAQE,IAC3FD,EAAOC,GAAU15I,UAAU05I,GAG7B,OAAOD,EAAO5nF,OAAO,SAAUwwB,EAAKvgF,GAClC,OAAKA,IACaA,EAAe,SACjCugF,EAAIw1D,cAAgBkB,GAAmB12D,EAAIw1D,cAAe7K,GAAYlrI,EAAK+1I,gBAC3Ex1D,EAAI01D,mBAAqBmB,GAAoB72D,EAAI01D,mBAAoB/K,GAAYlrI,EAAKi2I,qBACtF11D,EAAI21D,gBArDsB,WAG5B,IAFA,IAES2B,EAAQ35I,UAAUC,OAAQotI,EAAU,IAAIvuI,MAAM66I,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IACvFvM,EAAQuM,GAAS55I,UAAU45I,GAG7B,OAAOvM,EAAQx7E,OAAO,SAAUgoF,EAAsB/3I,GAKpD,OAJAg4I,GAASh4I,EAAM,SAAUi4I,EAAcjsH,GACrC+rH,EAAqB/rH,GAAesqH,GAAqByB,EAAqB/rH,GAAck/G,GAAY+M,EAAcj4I,EAAKk4I,aAGtHH,GAXK,IAoDUI,CAAiB53D,EAAI21D,gBAAiBhL,GAAYlrI,EAAKk2I,kBAC7E31D,EAAI41D,UAvCoB,WAC1B,OAAOd,GAAej3I,WAAM,EAAQF,YAsCHE,WAAM,EAAQmiF,EAAI41D,UAAUnxI,OAAOhF,EAAKm2I,WAAa,KACpF51D,EAAI61D,aArCuB,WAC7B,OAAOf,GAAej3I,WAAM,EAAQF,YAoCGE,WAAM,EAAQmiF,EAAI61D,aAAapxI,OAAOhF,EAAKo2I,cAAgB,KAChG71D,EAAI81D,WAnCqB,WAC3B,IAAK,IAAI+B,EAAQl6I,UAAUC,OAAQotI,EAAU,IAAIvuI,MAAMo7I,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IACvF9M,EAAQ8M,GAASn6I,UAAUm6I,GAG7B,OAAOx7I,OAAOgB,OAAOO,MAAMvB,OAAQ,CAAC,IAAImI,OAAOumI,IA8B5B+M,CAAgB/3D,EAAI81D,WAAYr2I,EAAKq2I,aAC/C91D,GAET1jF,OAAOgB,OAAO,GAAIi4I,MCxXpB,SAASyC,MACT,SAASC,MACTA,GAAuBC,kBAAoBF,OAsBrCG,GAnBJ,SAASC,GAAKh2H,EAAO6uC,EAAUonF,EAAex0I,EAAUy0I,EAAcC,GACpE,GCRuB,iDDQnBA,EAAJ,CAIIt3H,EAAM,IAAIpb,MACZ,mLAKF,MADAob,EAAItM,KAAO,sBACLsM,GAGR,SAASu3H,KACP,OAAOJ,IAILD,GAAiB,CACnBl/B,MAPFm/B,GAAKK,WAAaL,GAQhBM,KAAMN,GACN11I,KAAM01I,GACNzyG,OAAQyyG,GACRzW,OAAQyW,GACRhU,OAAQgU,GACRhK,OAAQgK,GAERO,IAAKP,GACLQ,QAASJ,GACT97F,QAAS07F,GACT3kG,YAAa2kG,GACbS,WAAYL,GACZzgI,KAAMqgI,GACNU,SAAUN,GACVO,MAAOP,GACPQ,UAAWR,GACXS,MAAOT,GACPU,MAAOV,GAEPW,eAAgBlB,GAChBC,kBAAmBF,KAGNoB,UAAYjB,GEzC7BkB,GALA,SAAcpgC,GACZ,IAAIr7G,EAAkB,MAATq7G,EAAgB,EAAIA,EAAMr7G,OACvC,OAAOA,EAASq7G,EAAMr7G,EAAS,QAAK6pD,OChBlCwrF,GAAUzxH,GACV83H,GCQJ,SAAmBrgC,EAAOpwE,EAAOE,GAC/B,IAAIsK,GAAS,EACTz1C,EAASq7G,EAAMr7G,QAKnBmrC,EAAYnrC,EAANmrC,EAAenrC,EAASmrC,GACpB,IACRA,GAAOnrC,GAETA,EAAiBmrC,GANfF,EADEA,EAAQ,EACOjrC,GAARirC,EAAiB,EAAKjrC,EAASirC,EAMjCA,GAAc,EAAME,EAAMF,IAAW,EAC9CA,KAAW,EAGX,IADA,IAAIlpC,EAASlD,MAAMmB,KACVy1C,EAAQz1C,GACf+B,EAAO0zC,GAAS4lE,EAAM5lE,EAAQxK,GAEhC,OAAOlpC,OC3BL9B,GAAQ2jB,GACRsxH,GAAWnrH,GACX8zB,GAAO7zB,GACP9iB,GFQJ,SAAgB68H,EAAQ35B,GACtB,OAAOA,EAAKpqG,OAAS,EAAI+jI,EAASsR,GAAQtR,EAAQ2X,GAAUtxC,EAAM,GAAI,KERpE+qC,GAAQpS,GCHGh5G,GDef,SAAoBg6G,EAAQ35B,EAAMllG,GAIhC,OAHAklG,EAAO8qC,GAAS9qC,EAAM25B,GAGP,OADXj/H,EAAiB,OADrBi/H,EAAS78H,GAAO68H,EAAQ35B,IACI25B,EAASA,EAAOoR,GAAMt3F,GAAKusD,WACjCvgD,EAAY5pD,GAAM6E,EAAMi/H,EAAQ7+H,SEVnDy2I,GAEJ,SAAS15D,KAGR,IAFA,IAAI/zB,EAAU,GAELruD,EAAI,EAAGA,EAAIE,UAAUC,OAAQH,IAAK,CAC1C,IAAI4uD,EAAM1uD,UAAUF,GACpB,GAAK4uD,EAAL,CAEA,IAMMy+E,EANF0O,SAAiBntF,EAErB,GAAgB,UAAZmtF,GAAoC,UAAZA,EAC3B1tF,EAAQ9qD,KAAKqrD,QACP,GAAI5vD,MAAM+H,QAAQ6nD,IACpBA,EAAIzuD,SACHktI,EAAQjrD,GAAWhiF,MAAM,KAAMwuD,KAElCP,EAAQ9qD,KAAK8pI,QAGT,GAAgB,UAAZ0O,EACV,GAAIntF,EAAIj+C,WAAa9R,OAAOK,UAAUyR,SACrC,IAAK,IAAI9P,KAAO+tD,EACXktF,GAAO18I,KAAKwvD,EAAK/tD,IAAQ+tD,EAAI/tD,IAChCwtD,EAAQ9qD,KAAK1C,QAIfwtD,EAAQ9qD,KAAKqrD,EAAIj+C,aAKpB,OAAO09C,EAAQx9C,KAAK,KAjCjBirI,GAAS,GAAG38I,iCAoC4B4E,SAC3Cq+E,GAAW59E,QAAU49E,GACrBw/C,WAAiBx/C,IAOjBt+E,OAAOs+E,WAAaA,GCpDU,SAArB45D,KACT,GCEOC,IAAeC,GDDpB,IAEE,OAAOC,GAAiBn/E,iBAAiB5rD,SAASylC,iBAAiB2nC,WAN5C,GAOvB,MAAOl+E,GACP,OARuB,GAY3B,OAZ2B,GAuCR,SAAV87I,GAA2BC,EAAWC,GAU/C,OATKA,GAAgBC,KAInBA,GAAmBP,OAvBT,KA2BRQ,EAAuBH,GADbC,GAAeC,IA/CF,MAqBF,EA4BZC,EA5BgB,IAAO,KAAQ,GAAK,IA4BZ,UE1BvCC,GAJA,SAAe36I,GACb,OAAgB,MAATA,GCnBE46I,GAAmB,UCFnBC,GACD,kBADCA,GAEA,mBCFAC,GAAgB,wBAGhBC,GAAgB,wBAKhBC,GAAS,wBCRTC,GAAY,OACZC,GAAS,QACTC,GAAO,QACPC,GAAS,QACTC,GAAO,QACPC,GAAS,QACTC,GAAY,QCJZC,GAAsB,CAG/BC,mBAAoB,CAClBC,SAAU,SAAkBlG,GAE1B,MAAO,CACLmG,KAAM,CACJhqH,QAHQ6jH,EAAKn/E,OAKfulF,OAAQ,CACNjqH,QAAS,KAIfkqH,eAAgB,CACdxlF,MAAO,GAETlB,SAAU8lF,GACVa,eAAgBd,GAChBe,SAAU,YAGZC,gBAAiB,CACfN,SAAU,SAAkBO,GAE1B,MAAO,CACLN,KAAM,CACJhqH,QAHQsqH,EAAM5lF,OAKhBulF,OAAQ,CACNjqH,QAAS,KAIfkqH,eAAgB,CACdxlF,MAAO,GAETlB,SAAU+lF,GACVY,eAAgBd,GAChBe,SAAU,YAGZG,cAAe,CACbR,SAAU,SAAkBS,GAE1B,MAAO,CACLR,KAAM,CACJhqH,QAHQwqH,EAAM9lF,OAKhBulF,OAAQ,CACNjqH,QAAS,KAIfkqH,eAAgB,CACdxlF,MAAO,GAETlB,SAAUgmF,GACVW,eAAgBd,GAChBe,SAAU,YAGZK,gBAAiB,CACfV,SAAU,SAAkBW,GAE1B,MAAO,CACLV,KAAM,CACJhqH,QAHQ0qH,EAAMhmF,OAKhBulF,OAAQ,CACNjqH,QAAS,KAIfkqH,eAAgB,CACdxlF,MAAO,GAETlB,SAAUimF,GACVU,eAAgBd,GAChBe,SAAU,YAGZO,cAAe,CACbZ,SAAU,SAAkBa,GAE1B,MAAO,CACLZ,KAAM,CACJhqH,QAHQ4qH,EAAMlmF,OAKhBulF,OAAQ,CACNjqH,QAAS,KAIfkqH,eAAgB,CACdxlF,MAAO,GAETlB,SAAUkmF,GACVS,eAAgBd,GAChBe,SAAU,YAGZS,gBAAiB,CACfd,SAAU,SAAkBe,GAE1B,MAAO,CACLd,KAAM,CACJhqH,QAHQ8qH,EAAMpmF,OAKhBulF,OAAQ,CACNjqH,QAAS,KAIfkqH,eAAgB,CACdxlF,MAAO,GAETlB,SAAUmmF,GACVQ,eAAgBd,GAChBe,SAAU,YAGZW,mBAAoB,CAClBhB,SAAU,SAAkBiB,GAE1B,MAAO,CACLhB,KAAM,CACJhqH,QAHQgrH,EAAMtmF,OAKhBulF,OAAQ,CACNjqH,QAAS,KAIfkqH,eAAgB,CACdxlF,MAAO,GAETlB,SAAUomF,GACVO,eAAgBd,GAChBe,SAAU,YAIZa,kBAAmB,CACjBlB,SAAU,SAAkBmB,GAE1B,MAAO,CACLlB,KAAM,CACJhqH,QAAS,GAEXiqH,OAAQ,CACNjqH,QANQkrH,EAAMxmF,SAUpBwlF,eAAgB,CACdxlF,MAAO,GAETlB,SAAU8lF,GACVa,eAAgBd,GAChBe,SAAU,YAGZe,eAAgB,CACdpB,SAAU,SAAkBqB,GAE1B,MAAO,CACLpB,KAAM,CACJhqH,QAAS,GAEXiqH,OAAQ,CACNjqH,QANQorH,EAAM1mF,SAUpBwlF,eAAgB,CACdxlF,MAAO,GAETlB,SAAU+lF,GACVY,eAAgBd,GAChBe,SAAU,YAGZiB,aAAc,CACZtB,SAAU,SAAkBuB,GAE1B,MAAO,CACLtB,KAAM,CACJhqH,QAAS,GAEXiqH,OAAQ,CACNjqH,QANQsrH,EAAO5mF,SAUrBwlF,eAAgB,CACdxlF,MAAO,GAETlB,SAAUgmF,GACVW,eAAgBd,GAChBe,SAAU,YAGZmB,eAAgB,CACdxB,SAAU,SAAkByB,GAE1B,MAAO,CACLxB,KAAM,CACJhqH,QAAS,GAEXiqH,OAAQ,CACNjqH,QANQwrH,EAAO9mF,SAUrBwlF,eAAgB,CACdxlF,MAAO,GAETlB,SAAUimF,GACVU,eAAgBd,GAChBe,SAAU,YAGZqB,aAAc,CACZ1B,SAAU,SAAkB2B,GAE1B,MAAO,CACL1B,KAAM,CACJhqH,QAAS,GAEXiqH,OAAQ,CACNjqH,QANQ0rH,EAAOhnF,SAUrBwlF,eAAgB,CACdxlF,MAAO,GAETlB,SAAUkmF,GACVS,eAAgBd,GAChBe,SAAU,YAGZuB,eAAgB,CACd5B,SAAU,SAAkB6B,GAE1B,MAAO,CACL5B,KAAM,CACJhqH,QAAS,GAEXiqH,OAAQ,CACNjqH,QANQ4rH,EAAOlnF,SAUrBwlF,eAAgB,CACdxlF,MAAO,GAETlB,SAAUmmF,GACVQ,eAAgBd,GAChBe,SAAU,YAGZyB,kBAAmB,CACjB9B,SAAU,SAAkB+B,GAE1B,MAAO,CACL9B,KAAM,CACJhqH,QAAS,GAEXiqH,OAAQ,CACNjqH,QANQ8rH,EAAOpnF,SAUrBwlF,eAAgB,CACdxlF,MAAO,GAETlB,SAAUomF,GACVO,eAAgBd,GAChBe,SAAU,aCzRH2B,GAAkB,CAG3BC,wBAAyB,CACvBjC,SAAU,SAAkBlG,GAE1B,MAAO,CACLmG,KAAM,CACJlrE,UAAW,eAHH+kE,EAAKn/E,MAGuB,IACpC1kC,QAAS,GAEXiqH,OAAQ,CACNnrE,UAAW,kBACX9+C,QAAS,KAIfkqH,eAAgB,CACdxlF,MAAO,QAETlB,SAAU8lF,GACVa,eAAgBf,GAChB1tD,UAAW,UACX0uD,SAAU,YAGZ6B,qBAAsB,CACpBlC,SAAU,SAAkBO,GAE1B,MAAO,CACLN,KAAM,CACJlrE,UAAW,eAHHwrE,EAAM5lF,MAGsB,IACpC1kC,QAAS,GAEXiqH,OAAQ,CACNnrE,UAAW,kBACX9+C,QAAS,KAIfkqH,eAAgB,CACdxlF,MAAO,QAETlB,SAAU+lF,GACVY,eAAgBf,GAChB1tD,UAAW,UACX0uD,SAAU,YAGZ8B,mBAAoB,CAClBnC,SAAU,SAAkBS,GAE1B,MAAO,CACLR,KAAM,CACJlrE,UAAW,eAHH0rE,EAAM9lF,MAGsB,IACpC1kC,QAAS,GAEXiqH,OAAQ,CACNnrE,UAAW,kBACX9+C,QAAS,KAIfkqH,eAAgB,CACdxlF,MAAO,QAETlB,SAAUgmF,GACVW,eAAgBf,GAChB1tD,UAAW,UACX0uD,SAAU,YAGZ+B,qBAAsB,CACpBpC,SAAU,SAAkBW,GAE1B,MAAO,CACLV,KAAM,CACJlrE,UAAW,eAHH4rE,EAAMhmF,MAGsB,IACpC1kC,QAAS,GAEXiqH,OAAQ,CACNnrE,UAAW,kBACX9+C,QAAS,KAIfkqH,eAAgB,CACdxlF,MAAO,QAETlB,SAAUimF,GACVU,eAAgBf,GAChB1tD,UAAW,UACX0uD,SAAU,YAGZgC,mBAAoB,CAClBrC,SAAU,SAAkBa,GAE1B,MAAO,CACLZ,KAAM,CACJlrE,UAAW,eAHH8rE,EAAMlmF,MAGsB,IACpC1kC,QAAS,GAEXiqH,OAAQ,CACNnrE,UAAW,kBACX9+C,QAAS,KAIfkqH,eAAgB,CACdxlF,MAAO,QAETlB,SAAUkmF,GACVS,eAAgBf,GAChB1tD,UAAW,UACX0uD,SAAU,YAGZiC,qBAAsB,CACpBtC,SAAU,SAAkBe,GAE1B,MAAO,CACLd,KAAM,CACJlrE,UAAW,eAHHgsE,EAAMpmF,MAGsB,IACpC1kC,QAAS,GAEXiqH,OAAQ,CACNnrE,UAAW,kBACX9+C,QAAS,KAIfkqH,eAAgB,CACdxlF,MAAO,QAETlB,SAAUmmF,GACVQ,eAAgBf,GAChB1tD,UAAW,UACX0uD,SAAU,YAGZkC,wBAAyB,CACvBvC,SAAU,SAAkBiB,GAE1B,MAAO,CACLhB,KAAM,CACJlrE,UAAW,eAHHksE,EAAMtmF,MAGsB,IACpC1kC,QAAS,GAEXiqH,OAAQ,CACNnrE,UAAW,kBACX9+C,QAAS,KAIfkqH,eAAgB,CACdxlF,MAAO,QAETlB,SAAUomF,GACVO,eAAgBf,GAChB1tD,UAAW,UACX0uD,SAAU,YAIZmC,sBAAuB,CACrBxC,SAAU,SAAkBmB,GAE1B,MAAO,CACLlB,KAAM,CACJlrE,UAAW,cAHHosE,EAAMxmF,MAGqB,IACnC1kC,QAAS,GAEXiqH,OAAQ,CACNnrE,UAAW,kBACX9+C,QAAS,KAIfkqH,eAAgB,CACdxlF,MAAO,QAETlB,SAAU8lF,GACVa,eAAgBf,GAChB1tD,UAAW,UACX0uD,SAAU,YAGZoC,mBAAoB,CAClBzC,SAAU,SAAkBqB,GAE1B,MAAO,CACLpB,KAAM,CACJlrE,UAAW,cAHHssE,EAAM1mF,MAGqB,IACnC1kC,QAAS,GAEXiqH,OAAQ,CACNnrE,UAAW,kBACX9+C,QAAS,KAIfkqH,eAAgB,CACdxlF,MAAO,QAETlB,SAAU+lF,GACVY,eAAgBf,GAChB1tD,UAAW,UACX0uD,SAAU,YAGZqC,iBAAkB,CAChB1C,SAAU,SAAkBuB,GAE1B,MAAO,CACLtB,KAAM,CACJlrE,UAAW,cAHHwsE,EAAO5mF,MAGoB,IACnC1kC,QAAS,GAEXiqH,OAAQ,CACNnrE,UAAW,kBACX9+C,QAAS,KAIfkqH,eAAgB,CACdxlF,MAAO,QAETlB,SAAUgmF,GACVW,eAAgBf,GAChB1tD,UAAW,UACX0uD,SAAU,YAGZsC,mBAAoB,CAClB3C,SAAU,SAAkByB,GAE1B,MAAO,CACLxB,KAAM,CACJlrE,UAAW,cAHH0sE,EAAO9mF,MAGoB,IACnC1kC,QAAS,GAEXiqH,OAAQ,CACNnrE,UAAW,kBACX9+C,QAAS,KAIfkqH,eAAgB,CACdxlF,MAAO,QAETlB,SAAUimF,GACVU,eAAgBf,GAChB1tD,UAAW,UACX0uD,SAAU,YAGZuC,iBAAkB,CAChB5C,SAAU,SAAkB2B,GAE1B,MAAO,CACL1B,KAAM,CACJlrE,UAAW,cAHH4sE,EAAOhnF,MAGoB,IACnC1kC,QAAS,GAEXiqH,OAAQ,CACNnrE,UAAW,kBACX9+C,QAAS,KAIfkqH,eAAgB,CACdxlF,MAAO,QAETlB,SAAUkmF,GACVS,eAAgBf,GAChB1tD,UAAW,UACX0uD,SAAU,YAGZwC,mBAAoB,CAClB7C,SAAU,SAAkB6B,GAE1B,MAAO,CACL5B,KAAM,CACJlrE,UAAW,cAHH8sE,EAAOlnF,MAGoB,IACnC1kC,QAAS,GAEXiqH,OAAQ,CACNnrE,UAAW,kBACX9+C,QAAS,KAIfkqH,eAAgB,CACdxlF,MAAO,QAETlB,SAAUmmF,GACVQ,eAAgBf,GAChB1tD,UAAW,UACX0uD,SAAU,YAGZyC,sBAAuB,CACrB9C,SAAU,SAAkB+B,GAE1B,MAAO,CACL9B,KAAM,CACJlrE,UAAW,cAHHgtE,EAAOpnF,MAGoB,IACnC1kC,QAAS,GAEXiqH,OAAQ,CACNnrE,UAAW,kBACX9+C,QAAS,KAIfkqH,eAAgB,CACdxlF,MAAO,QAETlB,SAAUomF,GACVO,eAAgBf,GAChB1tD,UAAW,UACX0uD,SAAU,YAKZ0C,wBAAyB,CACvB/C,SAAU,SAAkBgD,GAE1B,MAAO,CACL/C,KAAM,CACJlrE,UAAW,cAHHiuE,EAAOroF,MAGoB,IACnC1kC,QAAS,GAEXiqH,OAAQ,CACNnrE,UAAW,kBACX9+C,QAAS,KAIfkqH,eAAgB,CACdxlF,MAAO,QAETlB,SAAU8lF,GACVa,eAAgBf,GAChB1tD,UAAW,UACX0uD,SAAU,YAGZ4C,qBAAsB,CACpBjD,SAAU,SAAkBkD,GAE1B,MAAO,CACLjD,KAAM,CACJlrE,UAAW,cAHHmuE,EAAOvoF,MAGoB,IACnC1kC,QAAS,GAEXiqH,OAAQ,CACNnrE,UAAW,kBACX9+C,QAAS,KAIfkqH,eAAgB,CACdxlF,MAAO,QAETlB,SAAU+lF,GACVY,eAAgBf,GAChB1tD,UAAW,UACX0uD,SAAU,YAGZ8C,mBAAoB,CAClBnD,SAAU,SAAkBoD,GAE1B,MAAO,CACLnD,KAAM,CACJlrE,UAAW,cAHHquE,EAAOzoF,MAGoB,IACnC1kC,QAAS,GAEXiqH,OAAQ,CACNnrE,UAAW,kBACX9+C,QAAS,KAIfkqH,eAAgB,CACdxlF,MAAO,QAETlB,SAAUgmF,GACVW,eAAgBf,GAChB1tD,UAAW,UACX0uD,SAAU,YAGZgD,qBAAsB,CACpBrD,SAAU,SAAkBsD,GAE1B,MAAO,CACLrD,KAAM,CACJlrE,UAAW,cAHHuuE,EAAO3oF,MAGoB,IACnC1kC,QAAS,GAEXiqH,OAAQ,CACNnrE,UAAW,kBACX9+C,QAAS,KAIfkqH,eAAgB,CACdxlF,MAAO,SAETlB,SAAUimF,GACVU,eAAgBf,GAChB1tD,UAAW,UACX0uD,SAAU,YAGZkD,mBAAoB,CAClBvD,SAAU,SAAkBwD,GAE1B,MAAO,CACLvD,KAAM,CACJlrE,UAAW,cAHHyuE,EAAO7oF,MAGoB,IACnC1kC,QAAS,GAEXiqH,OAAQ,CACNnrE,UAAW,kBACX9+C,QAAS,KAIfkqH,eAAgB,CACdxlF,MAAO,QAETlB,SAAUkmF,GACVS,eAAgBf,GAChB1tD,UAAW,UACX0uD,SAAU,YAGZoD,qBAAsB,CACpBzD,SAAU,SAAkB0D,GAE1B,MAAO,CACLzD,KAAM,CACJlrE,UAAW,cAHH2uE,EAAO/oF,MAGoB,IACnC1kC,QAAS,GAEXiqH,OAAQ,CACNnrE,UAAW,kBACX9+C,QAAS,KAIfkqH,eAAgB,CACdxlF,MAAO,QAETlB,SAAUmmF,GACVQ,eAAgBf,GAChB1tD,UAAW,UACX0uD,SAAU,YAGZsD,wBAAyB,CACvB3D,SAAU,SAAkB4D,GAE1B,MAAO,CACL3D,KAAM,CACJlrE,UAAW,cAHH6uE,EAAOjpF,MAGoB,IACnC1kC,QAAS,GAEXiqH,OAAQ,CACNnrE,UAAW,kBACX9+C,QAAS,KAIfkqH,eAAgB,CACdxlF,MAAO,QAETlB,SAAUomF,GACVO,eAAgBf,GAChB1tD,UAAW,UACX0uD,SAAU,YAIZwD,yBAA0B,CACxB7D,SAAU,SAAkB8D,GAE1B,MAAO,CACL7D,KAAM,CACJlrE,UAAW,eAHH+uE,EAAOnpF,MAGqB,IACpC1kC,QAAS,GAEXiqH,OAAQ,CACNnrE,UAAW,kBACX9+C,QAAS,KAIfkqH,eAAgB,CACdxlF,MAAO,QAETlB,SAAU8lF,GACVa,eAAgBf,GAChB1tD,UAAW,UACX0uD,SAAU,YAGZ0D,sBAAuB,CACrB/D,SAAU,SAAkBgE,GAE1B,MAAO,CACL/D,KAAM,CACJlrE,UAAW,eAHHivE,EAAOrpF,MAGqB,IACpC1kC,QAAS,GAEXiqH,OAAQ,CACNnrE,UAAW,kBACX9+C,QAAS,KAIfkqH,eAAgB,CACdxlF,MAAO,QAETlB,SAAU+lF,GACVY,eAAgBf,GAChB1tD,UAAW,UACX0uD,SAAU,YAGZ4D,oBAAqB,CACnBjE,SAAU,SAAkBkE,GAE1B,MAAO,CACLjE,KAAM,CACJlrE,UAAW,eAHHmvE,EAAOvpF,MAGqB,IACpC1kC,QAAS,GAEXiqH,OAAQ,CACNnrE,UAAW,kBACX9+C,QAAS,KAIfkqH,eAAgB,CACdxlF,MAAO,QAETlB,SAAUgmF,GACVW,eAAgBf,GAChB1tD,UAAW,UACX0uD,SAAU,YAGZ8D,sBAAuB,CACrBnE,SAAU,SAAkBoE,GAE1B,MAAO,CACLnE,KAAM,CACJlrE,UAAW,eAHHqvE,EAAOzpF,MAGqB,IACpC1kC,QAAS,GAEXiqH,OAAQ,CACNnrE,UAAW,kBACX9+C,QAAS,KAIfkqH,eAAgB,CACdxlF,MAAO,SAETlB,SAAUimF,GACVU,eAAgBf,GAChB1tD,UAAW,UACX0uD,SAAU,YAGZgE,oBAAqB,CACnBrE,SAAU,SAAkBsE,GAE1B,MAAO,CACLrE,KAAM,CACJlrE,UAAW,eAHHuvE,EAAO3pF,MAGqB,IACpC1kC,QAAS,GAEXiqH,OAAQ,CACNnrE,UAAW,kBACX9+C,QAAS,KAIfkqH,eAAgB,CACdxlF,MAAO,QAETlB,SAAUkmF,GACVS,eAAgBf,GAChB1tD,UAAW,UACX0uD,SAAU,YAGZkE,sBAAuB,CACrBvE,SAAU,SAAkBwE,GAE1B,MAAO,CACLvE,KAAM,CACJlrE,UAAW,eAHHyvE,EAAO7pF,MAGqB,IACpC1kC,QAAS,GAEXiqH,OAAQ,CACNnrE,UAAW,kBACX9+C,QAAS,KAIfkqH,eAAgB,CACdxlF,MAAO,QAETlB,SAAUmmF,GACVQ,eAAgBf,GAChB1tD,UAAW,UACX0uD,SAAU,YAGZoE,yBAA0B,CACxBzE,SAAU,SAAkB0E,GAE1B,MAAO,CACLzE,KAAM,CACJlrE,UAAW,eAHH2vE,EAAO/pF,MAGqB,IACpC1kC,QAAS,GAEXiqH,OAAQ,CACNnrE,UAAW,kBACX9+C,QAAS,KAIfkqH,eAAgB,CACdxlF,MAAO,QAETlB,SAAUomF,GACVO,eAAgBf,GAChB1tD,UAAW,UACX0uD,SAAU,YAIZsE,uBAAwB,CACtB3E,SAAU,SAAkB4E,GAE1B,MAAO,CACL3E,KAAM,CACJlrE,UAAW,kBACX9+C,QAAS,GAEXiqH,OAAQ,CACNnrE,UAAW,cAPH6vE,EAAOjqF,MAOoB,IACnC1kC,QAAS,KAIfkqH,eAAgB,CACdxlF,MAAO,QAETlB,SAAU8lF,GACVa,eAAgBhB,GAChBztD,UAAW,UACX0uD,SAAU,YAGZwE,oBAAqB,CACnB7E,SAAU,SAAkB8E,GAE1B,MAAO,CACL7E,KAAM,CACJlrE,UAAW,kBACX9+C,QAAS,GAEXiqH,OAAQ,CACNnrE,UAAW,cAPH+vE,EAAOnqF,MAOoB,IACnC1kC,QAAS,KAIfkqH,eAAgB,CACdxlF,MAAO,QAETlB,SAAU+lF,GACVY,eAAgBhB,GAChBztD,UAAW,UACX0uD,SAAU,YAGZ0E,kBAAmB,CACjB/E,SAAU,SAAkBgF,GAE1B,MAAO,CACL/E,KAAM,CACJlrE,UAAW,kBACX9+C,QAAS,GAEXiqH,OAAQ,CACNnrE,UAAW,cAPHiwE,EAAOrqF,MAOoB,IACnC1kC,QAAS,KAIfkqH,eAAgB,CACdxlF,MAAO,QAETlB,SAAUgmF,GACVW,eAAgBhB,GAChBztD,UAAW,UACX0uD,SAAU,YAGZ4E,oBAAqB,CACnBjF,SAAU,SAAkBkF,GAE1B,MAAO,CACLjF,KAAM,CACJlrE,UAAW,kBACX9+C,QAAS,GAEXiqH,OAAQ,CACNnrE,UAAW,cAPHmwE,EAAOvqF,MAOoB,IACnC1kC,QAAS,KAIfkqH,eAAgB,CACdxlF,MAAO,QAETlB,SAAUimF,GACVU,eAAgBhB,GAChBztD,UAAW,UACX0uD,SAAU,YAGZ8E,kBAAmB,CACjBnF,SAAU,SAAkBoF,GAE1B,MAAO,CACLnF,KAAM,CACJlrE,UAAW,kBACX9+C,QAAS,GAEXiqH,OAAQ,CACNnrE,UAAW,cAPHqwE,EAAOzqF,MAOoB,IACnC1kC,QAAS,KAIfkqH,eAAgB,CACdxlF,MAAO,QAETlB,SAAUkmF,GACVS,eAAgBhB,GAChBztD,UAAW,UACX0uD,SAAU,YAGZgF,oBAAqB,CACnBrF,SAAU,SAAkBsF,GAE1B,MAAO,CACLrF,KAAM,CACJlrE,UAAW,kBACX9+C,QAAS,GAEXiqH,OAAQ,CACNnrE,UAAW,cAPHuwE,EAAO3qF,MAOoB,IACnC1kC,QAAS,KAIfkqH,eAAgB,CACdxlF,MAAO,QAETlB,SAAUmmF,GACVQ,eAAgBhB,GAChBztD,UAAW,UACX0uD,SAAU,YAGZkF,uBAAwB,CACtBvF,SAAU,SAAkBwF,GAE1B,MAAO,CACLvF,KAAM,CACJlrE,UAAW,kBACX9+C,QAAS,GAEXiqH,OAAQ,CACNnrE,UAAW,cAPHywE,EAAO7qF,MAOoB,IACnC1kC,QAAS,KAIfkqH,eAAgB,CACdxlF,MAAO,QAETlB,SAAUomF,GACVO,eAAgBhB,GAChBztD,UAAW,UACX0uD,SAAU,YAIZoF,qBAAsB,CACpBzF,SAAU,SAAkB0F,GAE1B,MAAO,CACLzF,KAAM,CACJlrE,UAAW,kBACX9+C,QAAS,GAEXiqH,OAAQ,CACNnrE,UAAW,eAPH2wE,EAAO/qF,MAOqB,IACpC1kC,QAAS,KAIfkqH,eAAgB,CACdxlF,MAAO,QAETlB,SAAU8lF,GACVa,eAAgBhB,GAChBztD,UAAW,UACX0uD,SAAU,YAGZsF,kBAAmB,CACjB3F,SAAU,SAAkB4F,GAE1B,MAAO,CACL3F,KAAM,CACJlrE,UAAW,kBACX9+C,QAAS,GAEXiqH,OAAQ,CACNnrE,UAAW,eAPH6wE,EAAOjrF,MAOqB,IACpC1kC,QAAS,KAIfkqH,eAAgB,CACdxlF,MAAO,QAETlB,SAAU+lF,GACVY,eAAgBhB,GAChBztD,UAAW,UACX0uD,SAAU,YAGZwF,gBAAiB,CACf7F,SAAU,SAAkB8F,GAE1B,MAAO,CACL7F,KAAM,CACJlrE,UAAW,kBACX9+C,QAAS,GAEXiqH,OAAQ,CACNnrE,UAAW,eAPH+wE,EAAOnrF,MAOqB,IACpC1kC,QAAS,KAIfkqH,eAAgB,CACdxlF,MAAO,QAETlB,SAAUgmF,GACVW,eAAgBhB,GAChBztD,UAAW,UACX0uD,SAAU,YAGZ0F,kBAAmB,CACjB/F,SAAU,SAAkBgG,GAE1B,MAAO,CACL/F,KAAM,CACJlrE,UAAW,kBACX9+C,QAAS,GAEXiqH,OAAQ,CACNnrE,UAAW,eAPHixE,EAAOrrF,MAOqB,IACpC1kC,QAAS,KAIfkqH,eAAgB,CACdxlF,MAAO,QAETlB,SAAUimF,GACVU,eAAgBhB,GAChBztD,UAAW,UACX0uD,SAAU,YAGZ4F,gBAAiB,CACfjG,SAAU,SAAkBkG,GAE1B,MAAO,CACLjG,KAAM,CACJlrE,UAAW,kBACX9+C,QAAS,GAEXiqH,OAAQ,CACNnrE,UAAW,eAPHmxE,EAAOvrF,MAOqB,IACpC1kC,QAAS,KAIfkqH,eAAgB,CACdxlF,MAAO,QAETlB,SAAUkmF,GACVS,eAAgBhB,GAChBztD,UAAW,UACX0uD,SAAU,YAGZ8F,kBAAmB,CACjBnG,SAAU,SAAkBoG,GAE1B,MAAO,CACLnG,KAAM,CACJlrE,UAAW,kBACX9+C,QAAS,GAEXiqH,OAAQ,CACNnrE,UAAW,eAPHqxE,EAAOzrF,MAOqB,IACpC1kC,QAAS,KAIfkqH,eAAgB,CACdxlF,MAAO,QAETlB,SAAUmmF,GACVQ,eAAgBhB,GAChBztD,UAAW,UACX0uD,SAAU,YAGZgG,qBAAsB,CACpBrG,SAAU,SAAkBsG,GAE1B,MAAO,CACLrG,KAAM,CACJlrE,UAAW,kBACX9+C,QAAS,GAEXiqH,OAAQ,CACNnrE,UAAW,eAPHuxE,EAAO3rF,MAOqB,IACpC1kC,QAAS,KAIfkqH,eAAgB,CACdxlF,MAAO,QAETlB,SAAUomF,GACVO,eAAgBhB,GAChBztD,UAAW,UACX0uD,SAAU,YAIZkG,wBAAyB,CACvBvG,SAAU,SAAkBwG,GAE1B,MAAO,CACLvG,KAAM,CACJlrE,UAAW,kBACX9+C,QAAS,GAEXiqH,OAAQ,CACNnrE,UAAW,cAPHyxE,EAAO7rF,MAOoB,IACnC1kC,QAAS,KAIfkqH,eAAgB,CACdxlF,MAAO,QAETlB,SAAU8lF,GACVa,eAAgBhB,GAChBztD,UAAW,UACX0uD,SAAU,YAGZoG,qBAAsB,CACpBzG,SAAU,SAAkB0G,GAE1B,MAAO,CACLzG,KAAM,CACJlrE,UAAW,kBACX9+C,QAAS,GAEXiqH,OAAQ,CACNnrE,UAAW,cAPH2xE,EAAO/rF,MAOoB,IACnC1kC,QAAS,KAIfkqH,eAAgB,CACdxlF,MAAO,QAETlB,SAAU+lF,GACVY,eAAgBhB,GAChBztD,UAAW,UACX0uD,SAAU,YAGZsG,mBAAoB,CAClB3G,SAAU,SAAkB4G,GAE1B,MAAO,CACL3G,KAAM,CACJlrE,UAAW,kBACX9+C,QAAS,GAEXiqH,OAAQ,CACNnrE,UAAW,cAPH6xE,EAAOjsF,MAOoB,IACnC1kC,QAAS,KAIfkqH,eAAgB,CACdxlF,MAAO,QAETlB,SAAUgmF,GACVW,eAAgBhB,GAChBztD,UAAW,UACX0uD,SAAU,YAGZwG,qBAAsB,CACpB7G,SAAU,SAAkB8G,GAE1B,MAAO,CACL7G,KAAM,CACJlrE,UAAW,kBACX9+C,QAAS,GAEXiqH,OAAQ,CACNnrE,UAAW,cAPH+xE,EAAOnsF,MAOoB,IACnC1kC,QAAS,KAIfkqH,eAAgB,CACdxlF,MAAO,QAETlB,SAAUimF,GACVU,eAAgBhB,GAChBztD,UAAW,UACX0uD,SAAU,YAGZ0G,mBAAoB,CAClB/G,SAAU,SAAkBgH,GAE1B,MAAO,CACL/G,KAAM,CACJlrE,UAAW,kBACX9+C,QAAS,GAEXiqH,OAAQ,CACNnrE,UAAW,cAPHiyE,EAAOrsF,MAOoB,IACnC1kC,QAAS,KAIfkqH,eAAgB,CACdxlF,MAAO,QAETlB,SAAUkmF,GACVS,eAAgBhB,GAChBztD,UAAW,UACX0uD,SAAU,YAGZ4G,qBAAsB,CACpBjH,SAAU,SAAkBkH,GAE1B,MAAO,CACLjH,KAAM,CACJlrE,UAAW,kBACX9+C,QAAS,GAEXiqH,OAAQ,CACNnrE,UAAW,cAPHmyE,EAAOvsF,MAOoB,IACnC1kC,QAAS,KAIfkqH,eAAgB,CACdxlF,MAAO,QAETlB,SAAUmmF,GACVQ,eAAgBhB,GAChBztD,UAAW,UACX0uD,SAAU,YAGZ8G,wBAAyB,CACvBnH,SAAU,SAAkBoH,GAE1B,MAAO,CACLnH,KAAM,CACJlrE,UAAW,kBACX9+C,QAAS,GAEXiqH,OAAQ,CACNnrE,UAAW,cAPHqyE,EAAOzsF,MAOoB,IACnC1kC,QAAS,KAIfkqH,eAAgB,CACdxlF,MAAO,QAETlB,SAAUomF,GACVO,eAAgBhB,GAChBztD,UAAW,UACX0uD,SAAU,YAIZgH,uBAAwB,CACtBrH,SAAU,SAAkBsH,GAE1B,MAAO,CACLrH,KAAM,CACJlrE,UAAW,kBACX9+C,QAAS,GAEXiqH,OAAQ,CACNnrE,UAAW,eAPHuyE,EAAO3sF,MAOqB,IACpC1kC,QAAS,KAIfkqH,eAAgB,CACdxlF,MAAO,QAETlB,SAAU8lF,GACVa,eAAgBhB,GAChBztD,UAAW,UACX0uD,SAAU,YAGZkH,oBAAqB,CACnBvH,SAAU,SAAkBwH,GAE1B,MAAO,CACLvH,KAAM,CACJlrE,UAAW,kBACX9+C,QAAS,GAEXiqH,OAAQ,CACNnrE,UAAW,eAPHyyE,EAAO7sF,MAOqB,IACpC1kC,QAAS,KAIfkqH,eAAgB,CACdxlF,MAAO,QAETlB,SAAU+lF,GACVY,eAAgBhB,GAChBztD,UAAW,UACX0uD,SAAU,YAGZoH,kBAAmB,CACjBzH,SAAU,SAAkB0H,GAE1B,MAAO,CACLzH,KAAM,CACJlrE,UAAW,kBACX9+C,QAAS,GAEXiqH,OAAQ,CACNnrE,UAAW,eAPH2yE,EAAO/sF,MAOqB,IACpC1kC,QAAS,KAIfkqH,eAAgB,CACdxlF,MAAO,QAETlB,SAAUgmF,GACVW,eAAgBhB,GAChBztD,UAAW,UACX0uD,SAAU,YAGZsH,oBAAqB,CACnB3H,SAAU,SAAkB4H,GAE1B,MAAO,CACL3H,KAAM,CACJlrE,UAAW,kBACX9+C,QAAS,GAEXiqH,OAAQ,CACNnrE,UAAW,eAPH6yE,EAAOjtF,MAOqB,IACpC1kC,QAAS,KAIfkqH,eAAgB,CACdxlF,MAAO,QAETlB,SAAUimF,GACVU,eAAgBhB,GAChBztD,UAAW,UACX0uD,SAAU,YAGZwH,kBAAmB,CACjB7H,SAAU,SAAkB8H,GAE1B,MAAO,CACL7H,KAAM,CACJlrE,UAAW,kBACX9+C,QAAS,GAEXiqH,OAAQ,CACNnrE,UAAW,eAPH+yE,EAAOntF,MAOqB,IACpC1kC,QAAS,KAIfkqH,eAAgB,CACdxlF,MAAO,QAETlB,SAAUkmF,GACVS,eAAgBhB,GAChBztD,UAAW,UACX0uD,SAAU,YAGZ0H,oBAAqB,CACnB/H,SAAU,SAAkBgI,GAE1B,MAAO,CACL/H,KAAM,CACJlrE,UAAW,kBACX9+C,QAAS,GAEXiqH,OAAQ,CACNnrE,UAAW,eAPHizE,EAAOrtF,MAOqB,IACpC1kC,QAAS,KAIfkqH,eAAgB,CACdxlF,MAAO,QAETlB,SAAUmmF,GACVQ,eAAgBhB,GAChBztD,UAAW,UACX0uD,SAAU,YAGZ4H,uBAAwB,CACtBjI,SAAU,SAAkBkI,GAE1B,MAAO,CACLjI,KAAM,CACJlrE,UAAW,kBACX9+C,QAAS,GAEXiqH,OAAQ,CACNnrE,UAAW,eAPHmzE,EAAOvtF,MAOqB,IACpC1kC,QAAS,KAIfkqH,eAAgB,CACdxlF,MAAO,QAETlB,SAAUomF,GACVO,eAAgBhB,GAChBztD,UAAW,UACX0uD,SAAU,aC/wCHxF,GAAax5I,OAAOgB,OAAO,GAAI8lJ,GCDb,CAE3BC,oBAAqB,CACnBpI,SAAU,SAAkBlG,GAE1B,MAAO,CACLmG,KAAM,CACJlrE,UAAW,SAHH+kE,EAAKn/E,MAGiB,IAC9B1kC,QAAS,GAEXiqH,OAAQ,CACNnrE,UAAW,WACX9+C,QAAS,KAIfkqH,eAAgB,CACdxlF,MAAO,KAETlB,SAAU8lF,GACVa,eAAgBf,GAChBgB,SAAU,YAGZgI,iBAAkB,CAChBrI,SAAU,SAAkBO,GAE1B,MAAO,CACLN,KAAM,CACJlrE,UAAW,SAHHwrE,EAAM5lF,MAGgB,IAC9B1kC,QAAS,GAEXiqH,OAAQ,CACNnrE,UAAW,WACX9+C,QAAS,KAIfkqH,eAAgB,CACdxlF,MAAO,KAETlB,SAAU+lF,GACVY,eAAgBf,GAChBgB,SAAU,YAGZiI,eAAgB,CACdtI,SAAU,SAAkBS,GAE1B,MAAO,CACLR,KAAM,CACJlrE,UAAW,SAHH0rE,EAAM9lF,MAGgB,IAC9B1kC,QAAS,GAEXiqH,OAAQ,CACNnrE,UAAW,WACX9+C,QAAS,KAIfkqH,eAAgB,CACdxlF,MAAO,KAETlB,SAAUgmF,GACVW,eAAgBf,GAChBgB,SAAU,YAGZkI,iBAAkB,CAChBvI,SAAU,SAAkBW,GAE1B,MAAO,CACLV,KAAM,CACJlrE,UAAW,SAHH4rE,EAAMhmF,MAGgB,IAC9B1kC,QAAS,GAEXiqH,OAAQ,CACNnrE,UAAW,WACX9+C,QAAS,KAIfkqH,eAAgB,CACdxlF,MAAO,KAETlB,SAAUimF,GACVU,eAAgBf,GAChBgB,SAAU,YAGZmI,eAAgB,CACdxI,SAAU,SAAkBa,GAE1B,MAAO,CACLZ,KAAM,CACJlrE,UAAW,SAHH8rE,EAAMlmF,MAGgB,IAC9B1kC,QAAS,GAEXiqH,OAAQ,CACNnrE,UAAW,WACX9+C,QAAS,KAIfkqH,eAAgB,CACdxlF,MAAO,KAETlB,SAAUkmF,GACVS,eAAgBf,GAChBgB,SAAU,YAGZoI,iBAAkB,CAChBzI,SAAU,SAAkBe,GAE1B,MAAO,CACLd,KAAM,CACJlrE,UAAW,SAHHgsE,EAAMpmF,MAGgB,IAC9B1kC,QAAS,GAEXiqH,OAAQ,CACNnrE,UAAW,WACX9+C,QAAS,KAIfkqH,eAAgB,CACdxlF,MAAO,KAETlB,SAAUmmF,GACVQ,eAAgBf,GAChBgB,SAAU,YAGZqI,oBAAqB,CACnB1I,SAAU,SAAkBiB,GAE1B,MAAO,CACLhB,KAAM,CACJlrE,UAAW,SAHHksE,EAAMtmF,MAGgB,IAC9B1kC,QAAS,GAEXiqH,OAAQ,CACNnrE,UAAW,WACX9+C,QAAS,KAIfkqH,eAAgB,CACdxlF,MAAO,KAETlB,SAAUomF,GACVO,eAAgBf,GAChBgB,SAAU,YAGZsI,mBAAoB,CAClB3I,SAAU,SAAkBmB,GAE1B,MAAO,CACLlB,KAAM,CACJlrE,UAAW,WACX9+C,QAAS,GAEXiqH,OAAQ,CACNnrE,UAAW,SAPHosE,EAAMxmF,MAOgB,IAC9B1kC,QAAS,KAIfkqH,eAAgB,CACdxlF,MAAO,IAETlB,SAAU8lF,GACVa,eAAgBhB,GAChBiB,SAAU,YAGZuI,gBAAiB,CACf5I,SAAU,SAAkBqB,GAE1B,MAAO,CACLpB,KAAM,CACJlrE,UAAW,WACX9+C,QAAS,GAEXiqH,OAAQ,CACNnrE,UAAW,SAPHssE,EAAM1mF,MAOgB,IAC9B1kC,QAAS,KAIfkqH,eAAgB,CACdxlF,MAAO,IAETlB,SAAU+lF,GACVY,eAAgBhB,GAChBiB,SAAU,YAGZwI,cAAe,CACb7I,SAAU,SAAkBuB,GAE1B,MAAO,CACLtB,KAAM,CACJlrE,UAAW,WACX9+C,QAAS,GAEXiqH,OAAQ,CACNnrE,UAAW,SAPHwsE,EAAO5mF,MAOe,IAC9B1kC,QAAS,KAIfkqH,eAAgB,CACdxlF,MAAO,IAETlB,SAAUgmF,GACVW,eAAgBhB,GAChBiB,SAAU,YAGZyI,gBAAiB,CACf9I,SAAU,SAAkByB,GAE1B,MAAO,CACLxB,KAAM,CACJlrE,UAAW,WACX9+C,QAAS,GAEXiqH,OAAQ,CACNnrE,UAAW,SAPH0sE,EAAO9mF,MAOe,IAC9B1kC,QAAS,KAIfkqH,eAAgB,CACdxlF,MAAO,IAETlB,SAAUimF,GACVU,eAAgBhB,GAChBiB,SAAU,YAGZ0I,cAAe,CACb/I,SAAU,SAAkB2B,GAE1B,MAAO,CACL1B,KAAM,CACJlrE,UAAW,WACX9+C,QAAS,GAEXiqH,OAAQ,CACNnrE,UAAW,SAPH4sE,EAAOhnF,MAOe,IAC9B1kC,QAAS,KAIfkqH,eAAgB,CACdxlF,MAAO,IAETlB,SAAUkmF,GACVS,eAAgBhB,GAChBiB,SAAU,YAGZ2I,gBAAiB,CACfhJ,SAAU,SAAkB6B,GAE1B,MAAO,CACL5B,KAAM,CACJlrE,UAAW,WACX9+C,QAAS,GAEXiqH,OAAQ,CACNnrE,UAAW,SAPH8sE,EAAOlnF,MAOe,IAC9B1kC,QAAS,KAIfkqH,eAAgB,CACdxlF,MAAO,IAETlB,SAAUmmF,GACVQ,eAAgBhB,GAChBiB,SAAU,YAGZ4I,mBAAoB,CAClBjJ,SAAU,SAAkB+B,GAE1B,MAAO,CACL9B,KAAM,CACJlrE,UAAW,WACX9+C,QAAS,GAEXiqH,OAAQ,CACNnrE,UAAW,SAPHgtE,EAAOpnF,MAOe,IAC9B1kC,QAAS,KAIfkqH,eAAgB,CACdxlF,MAAO,IAETlB,SAAUomF,GACVO,eAAgBhB,GAChBiB,SAAU,YAEZ6I,cAAe,CACblJ,SAAU,SAAkBgD,GAE1B,MAAO,CACL/C,KAAM,CACJlrE,UAAW,WACX9+C,QAAS,GAEXiqH,OAAQ,CACNnrE,UAAW,SAPHiuE,EAAOroF,MAOe,IAC9B1kC,QAAS,KAIfkqH,eAAgB,CACdxlF,MAAO,IAETlB,SAAU,QACV2mF,eAAgB,+BAChBC,SAAU,SDvU6D2B,GAAiB,CAC1FmH,+BAAgCnH,GAAgBqB,qBAChD+F,mCAAoCpH,GAAgBmC,sBACpDkF,aAAclB,GAAepI,mBAC7BuJ,aAAcnB,GAAejH,oBEPpBqI,GAAsB,WAS/B,OARY,WACV,IAAK,IAAIzZ,EAAOptI,UAAUC,OAAQkF,EAAO,IAAIrG,MAAMsuI,GAAOE,EAAO,EAAGA,EAAOF,EAAME,IAC/EnoI,EAAKmoI,GAAQttI,UAAUstI,GAGzB,OAAOnoI,GAGIjF,WAAM,EAAQF,YVRzB+7I,GAAkC,iBAAb7qI,UAAsC,OAAbA,SAC9C8qI,GAA8B,iBAAXp4I,QAAkC,OAAXA,QAAmBA,OAAOwD,OAASxD,ODA7Ey4I,GAAmB,KAcnBJ,GAAmB,SAA0B/kI,GAC/C,OAAOA,GAAQupD,WAAWvpD,IAAS,MYhB1B4vI,GAA8B,CACvCvlE,OAAQ,IACRwlE,KAAM,gBACNj2I,OAAQ,MACRixE,OAAQ,OACR5lB,SAAU,SACV6lB,QAAS,IACTzB,SAAU,WACV1vE,MAAO,OCTLy9H,GAAWzqH,GACXozH,GAAgBjtH,GAChBktH,GAAoBjtH,GACpB2qH,GAAW9R,GACXN,GAAYQ,GACZ2L,GAAW1L,GC2NgB,SAApB+jB,GAA+CC,GAKxD,YAJqB,IAAjBA,IACFA,EAAe,IAGVtoJ,OAAOgB,OAAO,CACnBunJ,gBAAYp9F,EACZwsD,gBAAYxsD,EACZy3B,YAAQz3B,EACRq9F,YAAQr9F,EACRs9F,qBAAiBt9F,EACjBu9F,qBAAiBv9F,EACjBw9F,iBAAax9F,EACby9F,iBAAaz9F,EACb09F,sBAAkB19F,EAClB29F,sBAAkB39F,EAClB49F,kBAAc59F,EACd69F,kBAAc79F,EACd89F,qBAAiB99F,EACjB+9F,qBAAiB/9F,EACjBg+F,iBAAah+F,EACbi+F,iBAAaj+F,EACbk+F,uBAAmBl+F,EACnBm+F,uBAAmBn+F,EACnBo+F,mBAAep+F,EACfq+F,mBAAer+F,EACfs+F,wBAAoBt+F,EACpBu+F,wBAAoBv+F,EACpBw+F,oBAAgBx+F,EAChBy+F,oBAAgBz+F,GACfm9F,GAwR0B,SAApBuB,GAA+C9gH,EAAOosF,GAC/D,OAAOpsF,KAJuCA,EAIjBA,IAHqB,GAAlC+gH,GAAgBpoJ,QAAQqnC,IAGFA,EAAQosF,EAAU,QAAU,UAJ1C,IAAsBpsF,EAMpB,SAAjBghH,GAAyCC,EAAajhH,EAAOosF,GACtE,OAAO60B,EAAYH,GAAkB9gH,EAAOosF,QDxd9C80B,GA7CA,SAAwBttC,EAAOizB,EAAQrN,EAAU4V,GAC/C,IAAIphG,GAAS,EACT4hG,EAAWL,GACX1L,GAAW,EACXtrI,EAASq7G,EAAMr7G,OACf+B,EAAS,GACT6mJ,EAAeta,EAAOtuI,OAE1B,IAAKA,EACH,OAAO+B,EAELk/H,IACFqN,EAASqG,GAASrG,EAAQ/L,GAAUtB,KAElC4V,GACFQ,EAAWJ,GACX3L,GAAW,GA7BQ,KA+BZgD,EAAOtuI,SACdq3I,EAAW3I,GACXpD,GAAW,EACXgD,EAAS,IAAID,GAASC,IAExBgJ,EACA,OAAS7hG,EAAQz1C,GAAQ,CACvB,IAAI2B,EAAQ05G,EAAM5lE,GACd8hG,EAAuB,MAAZtW,EAAmBt/H,EAAQs/H,EAASt/H,GAEnDA,EAASk1I,GAAwB,IAAVl1I,EAAeA,EAAQ,EAC9C,GAAI2pI,GAAYiM,GAAaA,EAAU,CAErC,IADA,IAAIsR,EAAcD,EACXC,KACL,GAAIva,EAAOua,KAAiBtR,EAC1B,SAASD,EAGbv1I,EAAOqB,KAAKzB,QAEJ01I,EAAS/I,EAAQiJ,EAAUV,IACnC90I,EAAOqB,KAAKzB,GAGhB,OAAOI,GC/DE+mJ,GAAmB,CAC5BC,MAAO,CACLC,GAAI,UAEJC,IAAK,UAELC,IAAK,UAELC,IAAK,UAELC,IAAK,UAELC,IAAK,UACLC,IAAK,UAELC,IAAK,UAELC,IAAK,UAELC,IAAK,UAELC,IAAK,UAELC,IAAM,YAGCC,GAAgB,CACzBC,KAAM,CACJC,EAAG,UAEHC,GAAI,UAEJf,GAAI,UAEJC,IAAK,UAELe,IAAK,UAELd,IAAK,UAELe,IAAK,UAELd,IAAK,UAELe,IAAK,UAELd,IAAK,UAELe,IAAK,UACLd,IAAK,UAELC,IAAK,UAELc,IAAK,UAELb,IAAK,UAELc,IAAK,UAELb,IAAK,UAELc,IAAK,UAELb,IAAK,UAELc,IAAK,UAELb,IAAK,UAELC,IAAM,WAGRlyE,OAAQ,CACNuxE,GAAI,UAEJC,IAAK,UAELC,IAAK,UAELC,IAAK,UAELC,IAAK,UAELE,IAAK,UAELC,IAAK,UAELC,IAAK,UAELC,IAAK,UAELC,IAAK,WAGPc,KAAM,CACJxB,GAAI,UAEJC,IAAK,UAELC,IAAK,UAELC,IAAK,UAELC,IAAK,UAELE,IAAK,UAELC,IAAK,UAELC,SAAK3/F,EAEL4/F,IAAK,UAELC,IAAK,WAGP7xE,IAAK,CACHmxE,GAAI,UAEJC,IAAK,UAELC,IAAK,UAELC,IAAK,UAELC,IAAK,UAELE,IAAK,UAELC,IAAK,UAELC,IAAK,UAELC,IAAK,UAELC,IAAK,WAGP9wE,MAAO,CACLowE,GAAI,UACJC,IAAK,UACLC,IAAK,UAELC,IAAK,UAELC,IAAK,UAELE,SAAKz/F,EACL0/F,IAAK,UAELC,SAAK3/F,EACL4/F,IAAK,UACLC,IAAK,WAEPnyE,OAAQ,CACNyxE,QAAIn/F,EACJo/F,IAAK,UAELC,IAAK,UACLC,IAAK,UAELC,IAAK,UAELE,IAAK,UAELC,IAAK,UAELC,IAAK,UACLC,IAAK,UACLC,IAAK,YAGLe,GAA6B/rJ,OAAOgB,OAAO,GAAIopJ,GAAkBc,IAC1Dc,GAAkB,CAC3Br0E,MAAO,OACPe,MAAO,QAEEuzE,GAAoB,CAC7BC,OAAQ,CACN3B,SAAKp/F,EACLq/F,IAAK,yBACLC,IAAK,yBACLC,IAAK,wBACLE,IAAK,wBACLC,IAAK,wBACLC,IAAK,wBACLC,IAAK,wBACLC,IAAK,0BAEPmB,KAAM,CACJ5B,SAAKp/F,EACLq/F,SAAKr/F,EACLs/F,SAAKt/F,EACLu/F,SAAKv/F,EACLy/F,IAAK,sBACLC,IAAK,sBACLC,IAAK,sBACLC,SAAK5/F,EACL6/F,SAAK7/F,GAEPihG,KAAM,CACJ7B,IAAK,qBACLC,IAAK,qBACLC,IAAK,qBACLC,IAAK,sBACLE,IAAK,qBACLC,SAAK1/F,EACL2/F,IAAK,kBACLC,IAAK,qBACLC,IAAK,mBAEPqB,SAAU,CACR9B,SAAKp/F,EACLq/F,SAAKr/F,EACLs/F,SAAKt/F,EACLu/F,IAAK,wBACLE,IAAK,qBACLC,IAAK,sBACLC,IAAK,wBACLC,SAAK5/F,EACL6/F,SAAK7/F,IAGEmhG,GAAStsJ,OAAOgB,OAAO,GAAI+qJ,GAA4BC,GAAiBC,IAiCxEjC,GAA2B,WACpC,IAAIA,EAAc,CAChBrkJ,QAAS0iJ,GAAkB,CACzBE,WAAY+D,GAAOnB,KAAK,KACxBoB,YAAaD,GAAOnB,KAAK,KACzBqB,YAAaF,GAAOnB,KAAK,KACzBsB,YAAaH,GAAO5zE,MACpBg0E,YAAaJ,GAAO5zE,MACpBi0E,YAAaL,GAAOnB,KAAK,KACzByB,YAAaN,GAAOnB,KAAK,KACzB0B,YAAaP,GAAOnB,KAAK,KACzB2B,YAAaR,GAAOnB,KAAK,KACzBxzC,WAAY20C,GAAO5zE,MACnBq0E,YAAaT,GAAOnB,KAAK,IACzB6B,YAAaV,GAAOnB,KAAK,KACzB8B,YAAaX,GAAOnB,KAAK,KACzB+B,YAAaZ,GAAOnB,KAAK,KACzBgC,YAAab,GAAOnB,KAAK,KACzBvoE,OAAQ0pE,GAAOnB,KAAK,KAEpBiC,QAASd,GAAOnB,KAAK,KACrBkC,QAASf,GAAOnB,KAAK,KACrBmC,QAAShB,GAAOnB,KAAK,KAErB3C,OAAQ8D,GAAO30E,MAEfixE,YAAa0D,GAAO30E,MAEpB8wE,gBAAiB6D,GAAOnB,KAAK,KAC7BoC,iBAAkBjB,GAAO5zE,MACzB80E,iBAAkBlB,GAAO5zE,MACzBgwE,gBAAiB4D,GAAOnB,KAAK,KAC7BsC,iBAAkBnB,GAAOnB,KAAK,KAC9BuC,iBAAkB,cAClBC,iBAAkBrB,GAAOnB,KAAK,KAC9ByC,iBAAkBtB,GAAOnB,KAAK,IAC9BxC,YAAa2D,GAAOnB,KAAK,KAEzB9B,kBAAmBiD,GAAOnB,KAAK,KAC/B7B,kBAAmBgD,GAAOnB,KAAK,KAC/B0C,mBAAoBvB,GAAOnB,KAAK,KAChC5B,cAAe+C,GAAOnB,KAAK,KAC3BtC,iBAAkByD,GAAOnB,KAAK,KAC9B2C,kBAAmBxB,GAAO5zE,MAC1BowE,iBAAkBwD,GAAOnB,KAAK,KAC9B4C,kBAAmBzB,GAAOnB,KAAK,KAC/B6C,kBAAmB1B,GAAOnB,KAAK,KAC/BpC,aAAcuD,GAAOnB,KAAK,KAE1B8C,cAAe3B,GAAOnB,KAAK,KAC3B+C,cAAe5B,GAAOnB,KAAK,KAC3BgD,cAAe7B,GAAOnB,KAAK,KAE3BiD,cAAe9B,GAAOnB,KAAK,KAC3BlC,gBAAiBqD,GAAOnB,KAAK,KAC7BkD,iBAAkB/B,GAAOnB,KAAK,KAC9BmD,iBAAkBhC,GAAOnB,KAAK,KAC9BoD,iBAAkBjC,GAAO5zE,MACzBwwE,gBAAiBoD,GAAO5zE,MACxB81E,iBAAkBlC,GAAOnB,KAAK,IAC9BsD,iBAAkBnC,GAAOnB,KAAK,KAC9BuD,iBAAkBpC,GAAOnB,KAAK,KAC9BwD,kBAAmBrC,GAAO5zE,MAC1BywE,YAAamD,GAAO30E,MACpBi3E,oBAAqBtC,GAAOnB,KAAK,KACjC1B,mBAAoB6C,GAAOnB,KAAK,KAChCzB,mBAAoB4C,GAAOnB,KAAK,KAChC0D,oBAAqBvC,GAAOnB,KAAK,KACjC2D,oBAAqBxC,GAAOnB,KAAK,IACjC4D,oBAAqBzC,GAAOnB,KAAK,IACjCxB,eAAgB2C,GAAOnB,KAAK,OAE9Bd,MAAOhC,GAAkB,CACvBE,WAAY+D,GAAOjC,MAAM,KACzBkC,YAAaD,GAAOjC,MAAM,KAC1BmC,YAAaF,GAAOjC,MAAM,KAC1BoC,YAAaH,GAAOjC,MAAM,KAC1BqC,YAAaJ,GAAO5zE,MACpBi0E,YAAaL,GAAO5zE,MACpBi/B,WAAY20C,GAAOjC,MAAM,KACzB0C,YAAaT,GAAOjC,MAAM,KAC1B2C,YAAaV,GAAOjC,MAAM,KAC1B4C,YAAaX,GAAOjC,MAAM,KAC1B6C,YAAaZ,GAAOjC,MAAM,KAC1B8C,YAAab,GAAOjC,MAAM,KAC1B2E,YAAa1C,GAAOjC,MAAM,KAC1BznE,OAAQ0pE,GAAOnB,KAAK,KACpBiC,QAASd,GAAOjC,MAAM,KACtBgD,QAASf,GAAOjC,MAAM,KACtB7B,OAAQ8D,GAAO30E,MAEfixE,YAAa0D,GAAO30E,MACpB8wE,gBAAiB6D,GAAOjC,MAAM,KAC9BkD,iBAAkBjB,GAAO5zE,MACzB80E,iBAAkBlB,GAAOjC,MAAM,KAC/B1B,YAAa2D,GAAOjC,MAAM,KAC1B3B,gBAAiB4D,GAAOjC,MAAM,KAC9BoD,iBAAkBnB,GAAOjC,MAAM,IAC/BqD,iBAAkBpB,GAAOjC,MAAM,KAC/BhB,kBAAmBiD,GAAOjC,MAAM,KAChC4E,mBAAoB3C,GAAO5zE,MAC3B4wE,kBAAmBgD,GAAOjC,MAAM,KAEhC6E,mBAAoB5C,GAAOjC,MAAM,KACjCd,cAAe+C,GAAOjC,MAAM,KAC5BxB,iBAAkByD,GAAOjC,MAAM,KAC/ByD,kBAAmBxB,GAAOjC,MAAM,KAChC8E,kBAAmB7C,GAAOjC,MAAM,KAChCvB,iBAAkBwD,GAAOjC,MAAM,KAC/B0D,kBAAmBzB,GAAOjC,MAAM,KAChCtB,aAAcuD,GAAOnB,KAAK,KAC1B8C,cAAe3B,GAAOjC,MAAM,KAC5B6D,cAAe5B,GAAOjC,MAAM,KAC5BpB,gBAAiBqD,GAAOjC,MAAM,KAC9BgE,iBAAkB/B,GAAOjC,MAAM,KAC/BiE,iBAAkBhC,GAAOjC,MAAM,KAC/BkE,iBAAkBjC,GAAOjC,MAAM,KAC/B+E,iBAAkB9C,GAAO5zE,MACzBwwE,gBAAiBoD,GAAOjC,MAAM,KAC9BmE,iBAAkBlC,GAAOjC,MAAM,KAC/BoE,iBAAkBnC,GAAOjC,MAAM,KAC/BqE,iBAAkBpC,GAAOjC,MAAM,KAC/BlB,YAAamD,GAAO30E,MACpBg3E,kBAAmBrC,GAAO5zE,MAC1B22E,aAAc/C,GAAOjC,MAAM,KAE3BZ,mBAAoB6C,GAAOnB,KAAK,KAChCyD,oBAAqBtC,GAAOnB,KAAK,KACjCzB,mBAAoB4C,GAAOnB,KAAK,KAChC0D,oBAAqBvC,GAAOnB,KAAK,KACjCxB,eAAgB2C,GAAOnB,KAAK,OAE9BxzE,MAAO,CACL4wE,WAAY+D,GAAO30E,MACnB40E,YAAaD,GAAO5zE,MACpBi/B,WAAY20C,GAAO5zE,MACnBq0E,YAAaT,GAAOnB,KAAK,KACzBvoE,OAAQ0pE,GAAO30E,MACf6wE,OAAQ8D,GAAO30E,MACf8wE,gBAAiB6D,GAAO5zE,MACxBgwE,gBAAiB4D,GAAO30E,MACxBgxE,YAAa2D,GAAO30E,MACpBixE,YAAa0D,GAAO30E,MACpBkxE,iBAAkByD,GAAO5zE,MACzBowE,iBAAkBwD,GAAO30E,MACzBoxE,aAAcuD,GAAO30E,MACrBqxE,aAAcsD,GAAO30E,MACrBsxE,gBAAiBqD,GAAO5zE,MACxBwwE,gBAAiBoD,GAAO30E,MACxBwxE,YAAamD,GAAO30E,MACpByxE,YAAakD,GAAO30E,MACpB0xE,kBAAmBiD,GAAO5zE,MAC1B4wE,kBAAmBgD,GAAO30E,MAC1B4xE,cAAe+C,GAAO30E,MACtB6xE,cAAe8C,GAAO30E,MACtB8xE,mBAAoB6C,GAAO5zE,MAC3BgxE,mBAAoB4C,GAAO30E,MAC3BgyE,eAAgB2C,GAAO30E,MACvBiyE,eAAgB0C,GAAO30E,OAEzBe,MAAO,CACL6vE,WAAY+D,GAAO5zE,MACnB6zE,YAAaD,GAAOnB,KAAK,KACzBxzC,WAAY20C,GAAO30E,MACnBo1E,YAAaT,GAAO5zE,MACpBkK,OAAQ0pE,GAAO5zE,MACf8vE,OAAQ8D,GAAO5zE,MACf+vE,gBAAiB6D,GAAO30E,MACxB+wE,gBAAiB4D,GAAO5zE,MACxBiwE,YAAa2D,GAAO5zE,MACpBkwE,YAAa0D,GAAO5zE,MACpBmwE,iBAAkByD,GAAO30E,MACzBmxE,iBAAkBwD,GAAO5zE,MACzBqwE,aAAcuD,GAAO5zE,MACrBswE,aAAcsD,GAAO5zE,MACrBuwE,gBAAiBqD,GAAO30E,MACxBuxE,gBAAiBoD,GAAO5zE,MACxBywE,YAAamD,GAAO5zE,MACpB0wE,YAAakD,GAAO5zE,MACpB2wE,kBAAmBiD,GAAO30E,MAC1B2xE,kBAAmBgD,GAAO5zE,MAC1B6wE,cAAe+C,GAAO5zE,MACtB8wE,cAAe8C,GAAO5zE,MACtB+wE,mBAAoB6C,GAAO30E,MAC3B+xE,mBAAoB4C,GAAO5zE,MAC3BixE,eAAgB2C,GAAO5zE,MACvBkxE,eAAgB0C,GAAO5zE,OAEzBwB,MAAOmuE,GAAkB,CACvBE,WAAY+D,GAAOpyE,MAAM,KACzBqyE,YAAaD,GAAO5zE,MACpB8zE,YAAaF,GAAOpyE,MAAM,KAC1BuyE,YAAaH,GAAO5zE,MACpBi/B,WAAY20C,GAAOpyE,MAAM,KACzB6yE,YAAaT,GAAOpyE,MAAM,KAC1B8yE,YAAaV,GAAOpyE,MAAM,IAC1B0I,OAAQ0pE,GAAOpyE,MAAM,OAEvBnB,OAAQsvE,GAAkB,CACxBE,WAAY+D,GAAOvzE,OAAO,KAC1BwzE,YAAaD,GAAOvzE,OAAO,KAC3ByzE,YAAaF,GAAO5zE,MACpBi/B,WAAY20C,GAAOvzE,OAAO,KAC1Bg0E,YAAaT,GAAOvzE,OAAO,KAC3B6J,OAAQ0pE,GAAOvzE,OAAO,OAExB+yE,KAAMzD,GAAkB,CACtBE,WAAY+D,GAAOR,KAAK,KACxBS,YAAaD,GAAOR,KAAK,KACzBn0C,WAAY20C,GAAOR,KAAK,IACxBlpE,OAAQ0pE,GAAOR,KAAK,OAEtB3yE,IAAKkvE,GAAkB,CACrBE,WAAY+D,GAAOnzE,IAAI,KACvBozE,YAAaD,GAAO5zE,MACpB8zE,YAAaF,GAAO5zE,MACpBi/B,WAAY20C,GAAOnzE,IAAI,KACvB4zE,YAAaT,GAAOnzE,IAAI,IACxB6zE,YAAaV,GAAOH,KAAK,KACzBc,YAAaX,GAAOnzE,IAAI,KACxByJ,OAAQ0pE,GAAOnzE,IAAI,KACnBsvE,gBAAiB6D,GAAO5zE,MACxBgwE,gBAAiB4D,GAAOH,KAAK,KAC7BsB,iBAAkBnB,GAAOnzE,IAAI,KAC7BkwE,kBAAmBiD,GAAO5zE,MAC1B4wE,kBAAmBgD,GAAOH,KAAK,OAEjCtzE,OAAQwvE,GAAkB,CACxBE,WAAY+D,GAAOzzE,OAAO,KAC1B0zE,YAAaD,GAAOnB,KAAK,KACzBqB,YAAaF,GAAO5zE,MACpB+zE,YAAaH,GAAOnB,KAAK,KACzBuB,YAAaJ,GAAOzzE,OAAO,KAC3B8+B,WAAY20C,GAAOzzE,OAAO,KAC1Bk0E,YAAaT,GAAOzzE,OAAO,KAC3Bm0E,YAAaV,GAAOzzE,OAAO,KAC3Bo0E,YAAaX,GAAOzzE,OAAO,KAC3B+J,OAAQ0pE,GAAOzzE,OAAO,OAExBqzE,OAAQ7D,GAAkB,CACxBE,WAAY+D,GAAO5zE,MACnB6zE,YAAaD,GAAOJ,OAAO,KAC3BzD,gBAAiB6D,GAAO5zE,MACxB2wE,kBAAmBiD,GAAO5zE,MAC1BkK,OAAQ0pE,GAAOJ,OAAO,KACtBv0C,WAAY,cACZ+wC,gBAAiB4D,GAAOJ,OAAO,KAC/BvD,YAAa2D,GAAOJ,OAAO,KAC3B5C,kBAAmBgD,GAAOJ,OAAO,KACjC3C,cAAe+C,GAAOJ,OAAO,KAC7BzC,mBAAoB6C,GAAOJ,OAAO,KAClCxC,mBAAoB4C,GAAOJ,OAAO,OAEpCE,KAAM/D,GAAkB,CACtB1wC,WAAY20C,GAAOF,KAAK,KACxBW,YAAaT,GAAOF,KAAK,KACzBY,YAAaV,GAAOF,KAAK,KACzBa,YAAaX,GAAOF,KAAK,KACzB1D,gBAAiB4D,GAAOF,KAAK,KAC7B9C,kBAAmBgD,GAAOF,KAAK,KAC/BxpE,OAAQ0pE,GAAOF,KAAK,KACpBgB,QAAS,cACTC,QAASf,GAAOF,KAAK,OAEvBC,SAAUhE,GAAkB,CAC1B1wC,WAAY20C,GAAOD,SAAS,KAC5B3D,gBAAiB4D,GAAOD,SAAS,KACjCoB,iBAAkBnB,GAAOD,SAAS,KAClCvD,iBAAkBwD,GAAOD,SAAS,QAItC,OADArC,EAAYmB,KAAOnB,EAAYrkJ,QACxBqkJ,EAhR6B,GAkR3BF,GAAkB,CAAC,UAAW,QAAS,QAAS,QAAS,OAAQ,MAAO,SAAU,QAAS,OAAQ,UClhBnGwF,GAAiB,CAC1Bp2E,QAAS,CACPqxE,IAAK,UACLe,IAAK,UACLd,IAAK,UACLe,IAAK,UACLd,IAAK,UACLe,IAAK,UACLd,IAAK,UACLC,IAAK,UACLC,IAAK,UACLc,IAAK,UACLb,IAAK,UACLc,IAAK,UACLb,IAAK,UACLc,IAAK,UACLb,IAAK,UACLc,IAAK,UACLb,IAAK,WAEP7xE,IAAK,CACHoxE,IAAK,UACLe,IAAK,UACLd,IAAK,UACLe,IAAK,UACLd,IAAK,UACLe,IAAK,UACLd,IAAK,UACLC,IAAK,UACLC,IAAK,UACLc,IAAK,UACLb,IAAK,UACLc,IAAK,UACLb,IAAK,UACLc,IAAK,UACLb,IAAK,UACLc,IAAK,UACLb,IAAK,WAEPuE,WAAY,CACVhF,IAAK,UACLe,IAAK,UACLd,IAAK,UACLe,IAAK,UACLd,IAAK,UACLe,IAAK,UACLd,IAAK,UACLC,IAAK,UACLC,IAAK,UACLc,IAAK,UACLb,IAAK,UACLc,IAAK,UACLb,IAAK,UACLc,IAAK,UACLb,IAAK,UACLc,IAAK,UACLb,IAAK,WAEPjyE,OAAQ,CACNwxE,IAAK,UACLe,IAAK,UACLd,IAAK,UACLe,IAAK,UACLd,IAAK,UACLe,IAAK,UACLd,IAAK,UACLC,IAAK,UACLC,IAAK,UACLc,IAAK,UACLb,IAAK,UACLc,IAAK,UACLb,IAAK,UACLc,IAAK,UACLb,IAAK,UACLc,IAAK,UACLb,IAAK,WAEPhyE,YAAa,CACXuxE,IAAK,UACLe,IAAK,UACLd,IAAK,UACLe,IAAK,UACLd,IAAK,UACLe,IAAK,UACLd,IAAK,UACLC,IAAK,UACLC,IAAK,UACLc,IAAK,UACLb,IAAK,UACLc,IAAK,UACLb,IAAK,UACLc,IAAK,UACLb,IAAK,UACLc,IAAK,UACLb,IAAK,WAEPpyE,WAAY,CACV2xE,IAAK,UACLe,IAAK,UACLd,IAAK,UACLe,IAAK,UACLd,IAAK,UACLe,IAAK,UACLd,IAAK,UACLC,IAAK,UACLC,IAAK,UACLc,IAAK,UACLb,IAAK,UACLc,IAAK,UACLb,IAAK,UACLc,IAAK,UACLb,IAAK,UACLc,IAAK,UACLb,IAAK,WAEPnyE,OAAQ,CACN0xE,IAAK,UACLe,IAAK,UACLd,IAAK,UACLe,IAAK,UACLd,IAAK,UACLe,IAAK,UACLd,IAAK,UACLC,IAAK,UACLC,IAAK,UACLc,IAAK,UACLb,IAAK,UACLc,IAAK,UACLb,IAAK,UACLc,IAAK,UACLb,IAAK,UACLc,IAAK,UACLb,IAAK,WAEPwE,MAAO,CACLjF,IAAK,UACLe,IAAK,UACLd,IAAK,UACLe,IAAK,UACLd,IAAK,UACLe,IAAK,UACLd,IAAK,UACLC,IAAK,UACLC,IAAK,UACLc,IAAK,UACLb,IAAK,UACLc,IAAK,UACLb,IAAK,UACLc,IAAK,UACLb,IAAK,UACLc,IAAK,UACLb,IAAK,WAEPyE,UAAW,CACTlF,IAAK,UACLe,IAAK,UACLd,IAAK,UACLe,IAAK,UACLd,IAAK,UACLe,IAAK,UACLd,IAAK,UACLC,IAAK,UACLC,IAAK,UACLc,IAAK,UACLb,IAAK,UACLc,IAAK,UACLb,IAAK,UACLc,IAAK,UACLb,IAAK,UACLc,IAAK,UACLb,IAAK,WAEP0E,MAAO,CACLnF,IAAK,UACLe,IAAK,UACLd,IAAK,UACLe,IAAK,UACLd,IAAK,UACLe,IAAK,UACLd,IAAK,UACLC,IAAK,UACLC,IAAK,UACLc,IAAK,UACLb,IAAK,UACLc,IAAK,UACLb,IAAK,UACLc,IAAK,UACLb,IAAK,UACLc,IAAK,UACLb,IAAK,WAEP/wE,UAAW,CACTswE,IAAK,UACLe,IAAK,UACLd,IAAK,UACLe,IAAK,UACLd,IAAK,UACLe,IAAK,UACLd,IAAK,UACLC,IAAK,UACLC,IAAK,UACLc,IAAK,UACLb,IAAK,UACLc,IAAK,UACLb,IAAK,UACLc,IAAK,UACLb,IAAK,UACLc,IAAK,UACLb,IAAK,WAEP9wE,MAAO,CACLqwE,IAAK,UACLe,IAAK,UACLd,IAAK,UACLe,IAAK,UACLd,IAAK,UACLe,IAAK,UACLd,IAAK,UACLC,IAAK,UACLC,IAAK,UACLc,IAAK,UACLb,IAAK,UACLc,IAAK,UACLb,IAAK,UACLc,IAAK,UACLb,IAAK,UACLc,IAAK,UACLb,IAAK,WAEPlxE,SAAU,CACRywE,IAAK,UACLe,IAAK,UACLd,IAAK,UACLe,IAAK,UACLd,IAAK,UACLe,IAAK,UACLd,IAAK,UACLC,IAAK,UACLC,IAAK,UACLc,IAAK,UACLb,IAAK,UACLc,IAAK,UACLb,IAAK,UACLc,IAAK,UACLb,IAAK,UACLc,IAAK,UACLb,IAAK,WAEPjxE,KAAM,CACJwwE,IAAK,UACLe,IAAK,UACLd,IAAK,UACLe,IAAK,UACLd,IAAK,UACLe,IAAK,UACLd,IAAK,UACLC,IAAK,UACLC,IAAK,UACLc,IAAK,UACLb,IAAK,UACLc,IAAK,UACLb,IAAK,UACLc,IAAK,UACLb,IAAK,UACLc,IAAK,UACLb,IAAK,WAEPhxE,UAAW,CACTuwE,IAAK,UACLe,IAAK,UACLd,IAAK,UACLe,IAAK,UACLd,IAAK,UACLe,IAAK,UACLd,IAAK,UACLC,IAAK,UACLC,IAAK,UACLc,IAAK,UACLb,IAAK,UACLc,IAAK,UACLb,IAAK,UACLc,IAAK,UACLb,IAAK,UACLc,IAAK,UACLb,IAAK,WAEPtxE,SAAU,CACR6wE,IAAK,UACLe,IAAK,UACLd,IAAK,UACLe,IAAK,UACLd,IAAK,UACLe,IAAK,UACLd,IAAK,UACLC,IAAK,UACLC,IAAK,UACLc,IAAK,UACLb,IAAK,UACLc,IAAK,UACLb,IAAK,UACLc,IAAK,UACLb,IAAK,UACLc,IAAK,UACLb,IAAK,WAEPpxE,KAAM,CACJ2wE,IAAK,UACLe,IAAK,UACLd,IAAK,UACLe,IAAK,UACLd,IAAK,UACLe,IAAK,UACLd,IAAK,UACLC,IAAK,UACLC,IAAK,UACLc,IAAK,UACLb,IAAK,UACLc,IAAK,UACLb,IAAK,UACLc,IAAK,UACLb,IAAK,UACLc,IAAK,UACLb,IAAK,WAEPzxE,WAAY,CACVgxE,IAAK,UACLe,IAAK,UACLd,IAAK,UACLe,IAAK,UACLd,IAAK,UACLe,IAAK,UACLd,IAAK,UACLC,IAAK,UACLC,IAAK,UACLc,IAAK,UACLb,IAAK,UACLc,IAAK,UACLb,IAAK,UACLc,IAAK,UACLb,IAAK,UACLc,IAAK,UACLb,IAAK,WAEPxxE,OAAQ,CACN+wE,IAAK,UACLe,IAAK,UACLd,IAAK,UACLe,IAAK,UACLd,IAAK,UACLe,IAAK,UACLd,IAAK,UACLC,IAAK,UACLC,IAAK,UACLc,IAAK,UACLb,IAAK,UACLc,IAAK,UACLb,IAAK,UACLc,IAAK,UACLb,IAAK,UACLc,IAAK,UACLb,IAAK,WAEP2E,OAAQ,CACNpF,IAAK,UACLe,IAAK,UACLd,IAAK,UACLe,IAAK,UACLd,IAAK,UACLe,IAAK,UACLd,IAAK,UACLC,IAAK,UACLC,IAAK,UACLc,IAAK,UACLb,IAAK,UACLc,IAAK,UACLb,IAAK,UACLc,IAAK,UACLb,IAAK,UACLc,IAAK,UACLb,IAAK,WAEPc,KAAM,CACJvB,IAAK,UACLe,IAAK,UACLd,IAAK,UACLe,IAAK,UACLd,IAAK,UACLe,IAAK,UACLd,IAAK,UACLC,IAAK,UACLC,IAAK,UACLc,IAAK,UACLb,IAAK,UACLc,IAAK,UACLb,IAAK,UACLc,IAAK,UACLb,IAAK,UACLc,IAAK,UACLb,IAAK,WAEP4E,UAAW,CACTrF,IAAK,UACLe,IAAK,UACLd,IAAK,UACLe,IAAK,UACLd,IAAK,UACLe,IAAK,UACLd,IAAK,UACLC,IAAK,UACLC,IAAK,UACLc,IAAK,UACLb,IAAK,UACLc,IAAK,UACLb,IAAK,UACLc,IAAK,UACLb,IAAK,UACLc,IAAK,UACLb,IAAK,WAEP6E,WAAY,CACVtF,IAAK,UACLe,IAAK,UACLd,IAAK,UACLe,IAAK,UACLd,IAAK,UACLe,IAAK,UACLd,IAAK,UACLC,IAAK,UACLC,IAAK,UACLc,IAAK,UACLb,IAAK,UACLc,IAAK,UACLb,IAAK,UACLc,IAAK,UACLb,IAAK,UACLc,IAAK,UACLb,IAAK,WAEP8E,UAAW,CACTvF,IAAK,UACLe,IAAK,UACLd,IAAK,UACLe,IAAK,UACLd,IAAK,UACLe,IAAK,UACLd,IAAK,UACLC,IAAK,UACLC,IAAK,UACLc,IAAK,UACLb,IAAK,UACLc,IAAK,UACLb,IAAK,UACLc,IAAK,UACLb,IAAK,UACLc,IAAK,UACLb,IAAK,WAEP+E,WAAY,CACVxF,IAAK,UACLe,IAAK,UACLd,IAAK,UACLe,IAAK,UACLd,IAAK,UACLe,IAAK,UACLd,IAAK,UACLC,IAAK,UACLC,IAAK,UACLc,IAAK,UACLb,IAAK,UACLc,IAAK,UACLb,IAAK,UACLc,IAAK,UACLb,IAAK,UACLc,IAAK,UACLb,IAAK,WAEPgF,KAAM,CACJzF,IAAK,UACLe,IAAK,UACLd,IAAK,UACLe,IAAK,UACLd,IAAK,UACLe,IAAK,UACLd,IAAK,UACLC,IAAK,UACLC,IAAK,UACLc,IAAK,UACLb,IAAK,UACLc,IAAK,UACLb,IAAK,UACLc,IAAK,UACLb,IAAK,UACLc,IAAK,UACLb,IAAK,YAILiF,GAA4B,SAAmClnH,EAAOu/G,GAKxE,YAJqB,IAAjBA,IACFA,EAAe,IAGVtoJ,OAAOgB,OAAO,CACnBunJ,WAAY+G,GAAevmH,GAAO,KAClCwjH,YAAa+C,GAAevmH,GAAO,KACnC4uE,WAAY23C,GAAevmH,GAAO,KAClCggH,aAAcuG,GAAevmH,GAAO,MACnCu/G,IAGM4H,GAAsB,CAC/Bh3E,QAAS+2E,GAA0B,WACnC92E,IAAK82E,GAA0B,OAC/BV,WAAYU,GAA0B,cACtCl3E,OAAQk3E,GAA0B,UAClCj3E,YAAai3E,GAA0B,eACvCr3E,WAAYq3E,GAA0B,cACtCp3E,OAAQo3E,GAA0B,UAClCT,MAAOS,GAA0B,SACjCR,UAAWQ,GAA0B,aACrCP,MAAOO,GAA0B,SACjCh2E,UAAWg2E,GAA0B,aACrC/1E,MAAO+1E,GAA0B,SACjCn2E,SAAUm2E,GAA0B,YACpCl2E,KAAMk2E,GAA0B,QAChCj2E,UAAWi2E,GAA0B,aACrCv2E,SAAUu2E,GAA0B,YACpCr2E,KAAMq2E,GAA0B,QAChC12E,WAAY02E,GAA0B,cACtCz2E,OAAQy2E,GAA0B,UAClCN,OAAQM,GAA0B,UAClCnE,KAAMmE,GAA0B,QAChCL,UAAWK,GAA0B,aACrCJ,WAAYI,GAA0B,cACtCH,UAAWG,GAA0B,aACrCF,WAAYE,GAA0B,cACtCD,KAAMC,GAA0B,QAChCE,WAAY,CACV5D,YAAa+C,GAAen2E,IAAI,KAChC4zE,YAAauC,GAAen2E,IAAI,KAChCqzE,YAAa8C,GAAeC,WAAW,KACvCvC,YAAasC,GAAev2E,OAAO,KACnC0zE,YAAa6C,GAAez2E,OAAO,KACnCo0E,YAAaqC,GAAez2E,OAAO,KACnC6zE,YAAa4C,GAAeU,KAAK,KACjC9C,YAAaoC,GAAeU,KAAK,KACjCrD,YAAa2C,GAAep1E,MAAM,KAClCizE,YAAamC,GAAep1E,MAAM,KAClC0yE,YAAa0C,GAAet1E,UAAU,KACtCg1E,YAAaM,GAAet1E,UAAU,KACtC6yE,YAAayC,GAAe51E,SAAS,KACrC02E,YAAad,GAAe51E,SAAS,KACrCozE,YAAawC,GAAeK,OAAO,KACnCU,YAAaf,GAAeK,OAAO,OC7hB5BW,GAAwBhE,GAAO5zE,MAC/B63E,GAAwBjE,GAAO30E,MAY/BwhE,GAAY,CACrBqX,QAASjT,GAAQ,IACjBngE,MAAOmgE,GAAQ,IACfjgE,OAAQigE,GAAQ,IAChB9/D,MAAO8/D,GAAQ,IACfkT,OAAQlT,GAAQ,IAChBmT,QAASnT,GAAQ,KA6CR53D,GAAiB2mE,GAAO5zE,MACxBi4E,GAAYrE,GAAOnB,KAAK,kDAnEV,mBACC,qEAMA,wDACA,sDACA,qDACA,4DACI,yEAeD,wBACI,sBACF,uBACC,mBACJ,sBAIG,oBACA,oBACF,wBACC,uBACD,wBACC,yBACC,gBAKT,CACpBxzC,WAAY,EAEZ4wC,WAAY,EAEZl/B,SAAU,EAEVyR,QAAS,IAET81B,gBAAiB,KAEjBC,MAAO,uBAMgB,aACD,iBACI,wFACF1X,GAAU77D,qDA5BN,wJC/CnBwzE,GAAqB,SAA4B5X,GAC1D,MAAO,CACLnwG,MAAOmwG,EAAcyX,YCDdI,GAAsB,SAA6B7X,GAC5D,MAAO,CACL71D,QAASk6D,GAAQ,GAAK,IAAMA,GAAQ,GAAK,IAAMA,GAAQ,GAAK,IAAMA,GAAQ,IAE1EyT,UAAWzT,GAAQ,IACnB0T,SAAU1T,GAAQ,IAClBz7D,YAAao3D,EAAc8Q,YAAYrkJ,QAAQ2nJ,QAC/CtwD,aAAcugD,GAAQ,GACtB3iD,gBAAiBs+C,EAAc8Q,YAAYrkJ,QAAQunJ,YACnDgE,qBAAsBhY,EAAc8Q,YAAYrkJ,QAAQ8nJ,iBACxD0D,UAAWjY,EAAc8Q,YAAYrkJ,QAAQ4iJ,WAC7C6I,eAAgBlY,EAAc8Q,YAAYrkJ,QAAQ8iJ,gBAClDxrD,UAAWi8C,EAAcmY,aACzBC,0BAAsBnmG,EACtBomG,gBAAYpmG,EACZqmG,cAAetY,EAAc8Q,YAAY9vE,MAAMy9B,WAC/C85C,eAAgBlU,GAAQ,GACxBmU,eAAgBxY,EAAcC,UAAU77D,OACxCq0E,iBAAkBzY,EAAc0Y,mBAChCC,iBAAkB3Y,EAAc4Y,iBAChCC,oBAAqB7Y,EAAcC,UAAU/7D,MAC7C40E,sBAAuB9Y,EAAc+Y,kBACrCC,sBAAuBhZ,EAAciZ,kBAErCC,aAAc7U,GAAQ,IACtB8U,eAAgB9U,GAAQ,KACxB+U,YAAapZ,EAAc8Q,YAAYrkJ,QAAQ4iJ,WAC/CgK,mBAAoBrZ,EAAc8Q,YAAYK,MAAM9B,WACpDiK,oBAAqBtZ,EAAc8Q,YAAYK,MAAMuE,oBACrD6D,eAAgBlV,GAAQ,IACxBmV,uBAAwBnV,GAAQ,GAChCoV,iBAAkBpV,GAAQ,IAC1BqV,sBAAuBrV,GAAQ,MAC/BsV,+BAAgCtV,IAAS,MACzCuV,wBAAyBvV,GAAQ,KClC1BwV,GAAiB,SAAwBC,GAClD,IAAIj8C,EAAYwmC,GAAQ,IACxB,MAAO,CACLpgD,YAAa,QACbD,YAAa,MACbF,aAAcugD,GAAQ,GACtB3iD,gBAAiBo4D,EAAShJ,YAAYrkJ,QAAQunJ,YAC9CprE,YAAakxE,EAAShJ,YAAYrkJ,QAAQ0nJ,QAC1CtkH,MAAOiqH,EAAShJ,YAAYrkJ,QAAQ4mJ,YACpC93H,WAAYu+H,EAASf,kBACrBl7C,UAAWA,EACX1zB,QAAS,KAAOk6D,GAAQ,IACxB0V,cAAe1V,GAAQ,GACvB2V,sBAAkB/nG,EAClBgoG,0BAAsBhoG,EACtBmmG,0BAAsBnmG,EACtBioG,oCAAgCjoG,EAChCkoG,mCAA+BloG,EAC/BmoG,wCAAoCnoG,EACpCooG,wCAAoCpoG,EACpCqoG,8BAA0BroG,EAC1BsoG,kBAAmB18C,EACnB28C,wBAAoBvoG,EACpBwoG,mBAAoB,SAAWpW,GAAQ,IACvCqW,YAAaZ,EAAShJ,YAAY7wE,IAAIovE,WACtCsL,sBAAuBb,EAAShJ,YAAY7wE,IAAI4zE,YAChD+G,kBAAmBd,EAAShJ,YAAY7wE,IAAIyJ,OAC5CmxE,KAAK,EACLC,SAAUhB,EAAShJ,YAAY8B,KAAKvD,WACpC0L,mBAAoBjB,EAAShJ,YAAY8B,KAAKn0C,WAC9Cu8C,eAAgBlB,EAAShJ,YAAY8B,KAAKlpE,OAC1CuxE,aAAcnB,EAAShJ,YAAY9vE,MAAMquE,WACzC6L,uBAAwBpB,EAAShJ,YAAY9vE,MAAM8yE,YACnDqH,mBAAoBrB,EAAShJ,YAAY9vE,MAAM0I,OAC/C0xE,QAAQ,EACRC,YAAavB,EAAShJ,YAAY7wE,IAAIozE,YACtCiI,sBAAuBxB,EAAShJ,YAAY7wE,IAAI8zE,YAChDwH,kBAAmBzB,EAAShJ,YAAY7wE,IAAI8zE,YAC5CyH,aAAc1B,EAAShJ,YAAYnxE,OAAO6zE,YAC1CiI,uBAAwB3B,EAAShJ,YAAYnxE,OAAOo0E,YACpD2H,mBAAoB5B,EAAShJ,YAAYnxE,OAAO+J,OAChD+uE,iBAAkBqB,EAASpB,mBAC3BiD,aAAc,KAAOtX,GAAQ,IAAM,OACnCuX,WAAY,KAAOvX,GAAQ,IAAM,OACjC0T,SAAU1T,GAAQ,IAClBwX,6BAA8B,cAC9BC,0BAA2BhC,EAASh2D,aACpCi4D,yBAA0B,cAC1BC,wBAAyBlC,EAAShJ,YAAYK,MAAM5B,gBACpD0M,kCAAmCnC,EAAShJ,YAAYrkJ,QAAQ+nJ,iBAChE0H,8BAA+BpC,EAAShJ,YAAYrkJ,QAAQgjJ,YAC5D0M,+BAAgCrC,EAASpB,mBACzC0D,uCAAmCnqG,EACnCoqG,mCAA+BpqG,EAC/BqqG,6BAAyBrqG,EACzBsqG,2BAA4BzC,EAAShJ,YAAYK,MAAMZ,mBACvDiM,qCAAsC1C,EAAShJ,YAAYrkJ,QAAQ+jJ,mBACnEiM,iCAAkC,cAClCC,2BAA4BrY,GAAQ,IACpCsY,kBAAmB7C,EAASh2D,aAC5B84D,iBAAkB9C,EAAS91D,YAC3BozD,sBAAuB0C,EAAS1C,sBAChCC,sBAAuByC,EAASzC,sBAChCwF,kBAAmB/C,EAASgD,SAASzN,aC/DZL,GAAoB,aAAc,cCDhC,SAApB+N,GAA+CjM,EAAakM,GACrE,IAAI7yJ,EAAS2mJ,EAMb,OALAhqJ,OAAO8d,KAAKo4I,GAAWp8I,QAAQ,SAAUivB,GACvC,IAAIotH,EAEJ9yJ,EAASrD,OAAOgB,OAAO,GAAIqC,IAAS8yJ,EAAiB,IAAmBptH,GAAS/oC,OAAOgB,OAAO,GAAIgpJ,EAAYjhH,GAAQmtH,EAAUntH,IAASotH,MAErI9yJ,EDLF,IAAI+yJ,GAAkB,SAAyBld,GACpD,MAAO,CACLmd,kBAAmB,GACnBC,kBAAmB,IACnBC,yBAA0BhZ,GAAQ,GAClCvmC,UAAWkiC,EAAcoT,OAAO5zE,MAChC89E,oBAAqBtd,EAAcoT,OAAOjC,MAAM,KAChDoM,kBAAmB,MACnBC,eAAgBnZ,GAAQ,GACxBoZ,kBAAmBzd,EAAcvzD,eACjCixE,6BAA8B1d,EAAc8Q,YAAY9vE,MAAMy9B,WAC9Dk/C,mBAAoB3d,EAAc8Q,YAAY9vE,MAAMqyE,YACpDuK,0BAA2B5d,EAAc8Q,YAAYK,MAAM1yC,WAC3Do/C,gBAAiB7d,EAAc8Q,YAAYrkJ,QAAQ6mJ,YACnDwK,6BAA8B9d,EAAc8Q,YAAYnxE,OAAO8+B,WAC/Ds/C,mBAAoB/d,EAAc8Q,YAAYnxE,OAAO2zE,YACrD0K,2BAA4Bhe,EAAc8Q,YAAY7wE,IAAIw+B,WAC1Dw/C,iBAAkBje,EAAc8Q,YAAY7wE,IAAIqzE,YAChD4K,sBAAuBle,EAAc8Q,YAAYrkJ,QAAQwnJ,YACzDkK,YAAane,EAAc8Q,YAAYrkJ,QAAQ+mJ,YAC/C4K,gBAAYnsG,EACZosG,iBAAapsG,EACbqsG,kBAAmBja,GAAQ,MAC3Bka,gBAAiBla,GAAQ,IACzBma,oBAAqBna,GAAQ,MAC7Boa,oBAAqBpa,GAAQ,MAC7Bqa,WAAY,qBACZC,gBAAiB,uBE5BVC,GAAkB,SAAyB9E,GACpD,MAAO,CACL3vE,QAAS,KAAOk6D,GAAQ,IACxBprI,OAAQorI,GAAQ,IAChBhgD,SAAUggD,GAAQ,IAClBwa,gBAAiBxa,GAAQ,KACzBjgD,SAAUigD,GAAQ,KAClBvgD,aAAcg2D,EAASh2D,aACvBg7D,gBAAiBhF,EAAS7Z,UAAU77D,OACpC26E,kBAAmBjF,EAASpB,mBAC5BsG,kBAAmBlF,EAASlB,iBAC5B/oH,MAAOiqH,EAAShJ,YAAYrkJ,QAAQ4iJ,WACpC4P,WAAYnF,EAAShJ,YAAYrkJ,QAAQ8iJ,gBACzC2P,YAAapF,EAAShJ,YAAYrkJ,QAAQ0jJ,kBAC1CgP,cAAerF,EAAShJ,YAAYK,MAAMZ,mBAC1C6O,gBAAYntG,EACZ8lG,SAAU1T,GAAQ,IAClB3iD,gBAAiBo4D,EAAShJ,YAAYrkJ,QAAQgyG,WAC9C4gD,sBAAuBvF,EAAShJ,YAAYrkJ,QAAQ2jJ,kBACpD4H,qBAAsB8B,EAAShJ,YAAYrkJ,QAAQ8nJ,iBACnD+K,0BAAsBrtG,EACtBstG,wBAAyBzF,EAAShJ,YAAYrkJ,QAAQ+jJ,mBACtD5nE,YAAakxE,EAAShJ,YAAYrkJ,QAAQi9E,OAC1C81E,iBAAkB1F,EAAShJ,YAAYrkJ,QAAQgjJ,YAC/CgQ,sBAAkBxtG,EAClBytG,kBAAmB5F,EAAShJ,YAAYrkJ,QAAQ4jJ,cAChDsP,oBAAqB,cACrBC,6BAA8B9F,EAAShJ,YAAYrkJ,QAAQ+nJ,iBAC3DqL,aAAc/F,EAAShJ,YAAYK,MAAMqC,YACzCsM,kBAAmBhG,EAAShJ,YAAYK,MAAMqC,YAC9CuM,uBAAwBjG,EAAShJ,YAAYK,MAAM1yC,WACnDuhD,6BAA8BlG,EAAShJ,YAAYK,MAAMf,kBACzD6P,4BAA6BnG,EAAShJ,YAAYK,MAAM3B,gBACxD0Q,+BAAgCpG,EAAShJ,YAAYrkJ,QAAQ+jJ,mBAC7D2P,iCAA6BluG,EAC7BmuG,mBAAoB,cACpBC,YAAavG,EAAShJ,YAAYK,MAAM9B,WACxCiR,iBAAkBxG,EAAShJ,YAAYK,MAAM9B,WAC7CkR,sBAAuBzG,EAAShJ,YAAYrkJ,QAAQgyG,WACpD+hD,4BAA6B1G,EAAShJ,YAAYK,MAAMoD,iBACxDkM,2BAA4B3G,EAAShJ,YAAYK,MAAMoD,iBACvDmM,kBAAmB5G,EAAShJ,YAAYK,MAAM+C,QAC9CyM,uBAAwB7G,EAAShJ,YAAYK,MAAM1B,YACnDmR,qBAAsBvc,GAAQ,KAC9B4T,UAAW6B,EAAShJ,YAAYrkJ,QAAQ4mJ,YACxC6E,eAAgB4B,EAAShJ,YAAYK,MAAMkC,YAC3CwN,iBAAkB/G,EAAShJ,YAAYK,MAAM9B,WAC7CyR,sBAAuBhH,EAAShJ,YAAYK,MAAMkC,YAClD0N,kBAAmBjH,EAAShJ,YAAYK,MAAMuE,oBAC9CsL,uBAAwBlH,EAAShJ,YAAYK,MAAM5B,gBACnD0R,iBAAkBnH,EAASoH,iBAC3Bn9D,UAAW+1D,EAAS3B,aACpBgJ,iBAAkB9c,GAAQ,GAC1B+c,WAAY/c,GAAQ,IACpBgd,gBAAiBhd,GAAQ,MACzBid,yBAA0Bjd,IAAS,MACnCkd,yBAA0BzH,EAAS7Z,UAAU/7D,MAC7Cs9E,2BAA4B1H,EAAS2H,gBACrCC,gBAAiBrd,GAAQ,IACzBsd,kBAAmBtd,GAAQ,IAC3Bud,iBAAkB,KAAOvd,GAAQ,GACjCwd,0BAA2Bxd,GAAQ,GACnCyd,oBAAqBzd,GAAQ,IAC7B0d,yBAA0B1d,GAAQ,KAClC2d,kCAAmC3d,IAAS,OChErC4d,GAAsB,SAA6BnI,GAC5D,MAAO,CACLoI,cAAe,KAAO7d,GAAQ,GAC9B8d,gBAAiB9d,GAAQ,IACzB+d,cAAe/d,GAAQ,IACvBge,eAAgBhe,GAAQ,IACxBie,cAAeje,GAAQ,IAEvBke,sBAAuBzI,EAAS0I,eAEhCC,eAAgBpe,GAAQ,GACxBqe,kBAAmBre,GAAQ,GAC3Bse,uBAAwBte,GAAQ,GAChCue,wBAAyBve,GAAQ,GACjCwe,qBAAsBxe,GAAQ,GAC9Bye,sBAAuBze,GAAQ,GAC/B0e,sBAAuB1e,GAAQ,IAC/B2e,uBAAwB3e,GAAQ,IAChC4e,qBAAsB5e,GAAQ,IAC9B6e,sBAAuB7e,GAAQ,IAC/B8e,eAAgB9e,GAAQ,GACxB+e,aAAc/e,GAAQ,GACtBgf,cAAehf,GAAQ,GACvBif,aAAcjf,GAAQ,GACtBkf,cAAezJ,EAAShJ,YAAYrkJ,QAAQ8jJ,qBCvB5CiT,GAAyBnf,GAAQ,IACjCl6D,GAAUk6D,GAAQ,GAClBltH,GAAe,MHKZ,SAASssI,GAA0B3S,EAAa4S,GACrD,IAAIv5J,EAAS,GAWb,OAVArD,OAAO8d,KAAKksI,GAAalwI,QAAQ,SAAUivB,GACzC,IAAI8zH,EAEAC,EAAcF,EAAe1pG,OAAO,SAAU6pG,EAAa3mI,GAG7D,OAAOp2B,OAAOgB,OAAO,GAAI+7J,IAAcC,EAAkB,IAAoB5mI,GAAQ4zH,EAAYjhH,GAAO3S,GAAO4mI,KAC9G,IACH35J,EAASrD,OAAOgB,OAAO,GAAIqC,IAASw5J,EAAkB,IAAoB9zH,GAAS+zH,EAAaD,MAE3Fx5J,EInBF,IAAI45J,GAAoB/U,GAAoB,cCA/CvN,GAAO,CAAC,EAAG,IAAIn2H,IAAI,SAAUjgB,GAC/B,OAAOg5I,GAAQh5I,KAEb24J,GAAeviB,GAAK,GACpBwiB,GAAcxiB,GAAK,GAEZyiB,EAAoB,SAA2BpK,GACxD,MAAO,CACLp4D,gBAAiBo4D,EAAShJ,YAAYrkJ,QAAQqnJ,YAC9CkE,qBAAsB8B,EAAShJ,YAAYrkJ,QAAQgoJ,iBACnD0P,wBAAyBrK,EAAShJ,YAAYrkJ,QAAQgyG,WACtD2lD,6BAA8BtK,EAAShJ,YAAYrkJ,QAAQioJ,iBAC3D9rE,YAAa,cACb42E,iBAAkB,cAClBC,iBAAkB3F,EAAShJ,YAAYK,MAAMgF,aAC7CkO,YAAavK,EAAShJ,YAAY7wE,IAAIw+B,WACtCza,YAAa,MACbsgE,0BAAsBryG,EACtBsyG,sBAAuB,GAAKP,GAC5BT,cAAezJ,EAAShJ,YAAYrkJ,QAAQ8jJ,mBAC5CiU,+BAAgC,OAASR,GAAe,IAAMA,GAC9DS,+BAAgCT,GAAe,IAAMA,GAAe,OACpEU,wBAAyBrgB,GAAQ,GACjCx0G,MAAOiqH,EAAShJ,YAAYrkJ,QAAQ4mJ,YACpCsR,sBAAuB,KAAOV,GAC9BW,kBAAmBvgB,GAAQ,IAC3BwgB,sBAAuBb,GAAe,IAAMA,GAAe,OAC3Dc,sBAAuB,OAASd,GAAe,IAAMA,GACrDe,oBAAqBjL,EAAShJ,YAAYrkJ,QAAQgyG,WAClDumD,gBAAiB,cACjBC,gBAAiB,MACjBC,YAAa7gB,GAAQ,GAAK,MAAQA,GAAQ,GAC1C8gB,cAAerL,EAASsL,aACxBC,cAAehhB,GAAQ,KACvBihB,yBAA0BjhB,GAAQ,GAClCkhB,wBAAyB,cACzBC,8BAA+B1L,EAAShJ,YAAYrkJ,QAAQmjJ,iBAC5D6V,6BAA8B3L,EAAShJ,YAAYrkJ,QAAQ+iJ,gBAC3DkW,oBAAqB5L,EAAShJ,YAAYrkJ,QAAQ+oJ,iBAClDmQ,mBAAoB7L,EAAShJ,YAAYrkJ,QAAQ8iJ,gBACjDqW,sBAAuB9L,EAAShJ,YAAYrkJ,QAAQ4iJ,WACpDwW,2BAA4B/L,EAASpB,mBAErCoN,yBAA0BhM,EAAS2H,gBACnCsE,0BAA2BjM,EAAS2H,gBACpCuE,4BAA6BlM,EAAShJ,YAAYrkJ,QAAQgyG,WAC1DwnD,iCAAkCnM,EAAShJ,YAAYK,MAAMqD,iBAC7D0R,mBAAoB,OACpBC,kBAAmBrM,EAAShJ,YAAYrkJ,QAAQ4iJ,WAChD+W,uBAAwBtM,EAAShJ,YAAYrkJ,QAAQ8iJ,gBACrD8W,sBAAuBvM,EAAShJ,YAAYrkJ,QAAQ4mJ,YACpDiT,2BAA4BxM,EAAShJ,YAAYK,MAAM5B,gBACvDgX,sBAAuBliB,GAAQ,KAC/BmiB,uBAAwB1M,EAASrC,UACjCgP,uBAAwBpiB,GAAQ,IAChCqiB,oBAAqBriB,GAAQ,IAC7BsiB,mCAA+B10G,EAC/B20G,wBAAyB9M,EAASrC,UAClCz+I,MAAOqrI,GAAQ,KACfwiB,cAAe/M,EAASgD,SAASl7B,QAEjCklC,yBAA0B,cAC1BC,0BAA2BjN,EAAShJ,YAAYK,MAAMZ,mBACtDyW,6BAA8BlN,EAAShJ,YAAYK,MAAMX,mBAEzDyW,uBAAwBnN,EAAS7Z,UAAU77D,OAC3C8iF,oBAAqBpN,EAAShJ,YAAYrkJ,QAAQ4mJ,YAClD8T,wBAAyBrN,EAAS7Z,UAAU/7D,MAC5CkjF,qBAAsBtN,EAAShJ,YAAYrkJ,QAAQ6mJ,YACnD+T,6BAA8BvN,EAAS1G,OAAO5zE,MAC9C8nF,gCAAiC,cACjCC,8BAA+B,gBCvExBC,GAAsBxY,GAAoB,aAAc,cACxDyY,GAAqB,SAA4BznB,GAC1D,MAAO,CACL8Q,YAAa2S,GAA0BzjB,EAAc8Q,YAAa0W,IAClEE,mBAAoBrjB,GAAQ,MCJrBsjB,GAAwB3Y,GAAoB,cCA5C4Y,GAAmB5Y,GAAoB,cCAvC6Y,GAA8B7Y,GAAoB,cCAlD8Y,GAAiB9Y,GAAoB,cCDrC+Y,GAAoB,SAA2B/nB,GACxD,MAAO,CACLniC,UAAWwmC,GAAQ,IACnB2jB,YAAa,KAAO3jB,GAAQ,IAAM,MAAQA,GAAQ,IAClDvuD,IAAKuuD,GAAQ,GACbtoH,OAAQikH,EAAc8c,SAASzN,WAG/BsJ,iBAAkB3Y,EAAcyhB,gBAChCjJ,eAAgBxY,EAAcC,UAAU77D,OAExC6jF,oBAAqBjoB,EAAcC,UAAU/7D,MAE7CgkF,sBAAuBloB,EAAcyhB,gBACrC0G,oBAAqBnoB,EAAcwiB,eAEnC1D,gBAAiB9e,EAAcC,UAAU/7D,MACzC86E,kBAAmBhf,EAAcyhB,gBAEjC2G,qBAAsBpoB,EAAcC,UAAU/7D,MAC9CmkF,uBAAwBroB,EAAcyhB,gBAEtC6G,0BAA2BtoB,EAAc8Q,YAAYrkJ,QAAQ8iJ,gBAC7DgZ,oCAAqCvoB,EAAc8Q,YAAYrkJ,QAAQ+iJ,gBAEvEgZ,cAAexoB,EAAc8Q,YAAYrkJ,QAAQ0jJ,kBACjDsY,wBAAyBzoB,EAAc8Q,YAAYrkJ,QAAQooJ,oBCzBpD6T,GAAiB1Z,GAAoB,SAAU,eAAgB,mBAAoB,kBAAmB,kBAAmB,kBAAmB,mBAAoB,kBAAmB,sBACnL2Z,GAAgB,SAAuB7O,GAChD,MAAO,CACLhJ,YAAa2S,GAA0B1G,GAAkBjD,EAAShJ,YAAa,CAC7ErkJ,QAAS,CACPojJ,aAAciK,EAAShJ,YAAYrkJ,QAAQ0nJ,QAC3CvE,iBAAkBkK,EAAShJ,YAAYrkJ,QAAQooJ,kBAC/C7E,gBAAiB8J,EAAShJ,YAAYrkJ,QAAQ6oJ,iBAC9C/E,mBAAoBuJ,EAAShJ,YAAYrkJ,QAAQipJ,qBAEnDvE,MAAO,CACL5B,gBAAiBuK,EAAS1G,OAAO5zE,MACjCgwE,gBAAiBsK,EAAS1G,OAAOjC,MAAM,KACvCxB,iBAAkBmK,EAAS1G,OAAO5zE,MAClCqwE,aAAciK,EAAS1G,OAAOjC,MAAM,KACpCvB,iBAAkBkK,EAAS1G,OAAOjC,MAAM,KAExCpB,gBAAiB+J,EAAS1G,OAAO5zE,MACjCwwE,gBAAiB8J,EAAS1G,OAAOjC,MAAM,KACvCZ,mBAAoBuJ,EAAShJ,YAAYK,MAAMuE,uBAE/CgT,IACJ74H,MAAOiqH,EAAS1G,OAAOnB,KAAK,KAC5BiN,YAAapF,EAAS1G,OAAO30E,MAC7B2gF,gBAAYntG,EACZgtG,WAAY,UACZE,mBAAeltG,EACf22B,iBAAa32B,EACbutG,sBAAkBvtG,EAClBytG,uBAAmBztG,EACnBwtG,iBAAkB3F,EAAS1G,OAAO5zE,MAClCopF,kBAAmB9O,EAAS1G,OAAO30E,MACnCijB,qBAAiBzvC,EACjBqtG,0BAAsBrtG,EACtB+lG,0BAAsB/lG,EACtBotG,2BAAuBptG,EACvB8lG,SAAU1T,GAAQ,IAClBwkB,oBAAqB/O,EAAS1G,OAAOjC,MAAM,KAC3C2X,mBAAoBhP,EAAS1G,OAAOjC,MAAM,KAC1C4X,yCAAqC92G,EACrC+2G,0CAAsC/2G,EACtCg3G,kCAA8Bh3G,EAC9Bi3G,mBAAoBpP,EAAS1G,OAAOjC,MAAM,KAC1CgY,sBAAuBrP,EAAS1G,OAAOnB,KAAK,KAC5CmX,eAAgBtP,EAASlB,iBACzByQ,kBAAmBhlB,GAAQ,IAAM,IAAMA,GAAQ,IAC/CilB,wBAAyBxP,EAAShJ,YAAYrkJ,QAAQgyG,WACtD8qD,oBAAqBllB,GAAQ,GAAK,IAAMA,GAAQ,IAChDmlB,kBAAmB1P,EAASsL,aAC5BqE,sBAAuBplB,GAAQ,GAAK,KACpCqlB,wBAAyBrlB,GAAQ,GACjCslB,wBAAyB,cACzBC,4BAA6B9P,EAAShJ,YAAYK,MAAMtB,aACxDga,kCAA8B53G,EAC9B63G,2BAAuB73G,EACvB83G,6BAA8BjQ,EAAS1G,OAAOjC,MAAM,KACpD6Y,kCAAmClQ,EAAS1G,OAAO30E,MACnDwrF,kCAA8Bh4G,EAC9Bi4G,iCAAkCpQ,EAAS1G,OAAOjC,MAAM,KACxDgZ,4BAA6B9lB,GAAQ,GACrC+lB,qBAAsB,UACtBhK,mBAAoBtG,EAAShJ,YAAYrkJ,QAAQ0nJ,QACjDkW,yBAA0BvQ,EAAS1G,OAAO5zE,MAC1C8qF,mCAAoCxQ,EAAS1G,OAAOjC,MAAM,KAC1DoZ,4BAA6BzQ,EAAS1G,OAAO30E,MAC7C+rF,iCAAkC,cAClCC,cAAepmB,GAAQ,GACvBrgD,YAAaqgD,GAAQ,GACrBqmB,WAAY5Q,EAASgD,SAASl7B,QAC9B+oC,WAAY7Q,EAASgD,SAAS3sC,SAC9By6C,mBAAoB9Q,EAAS1G,OAAOnB,KAAK,KACzC4Y,kBAAmB/Q,EAAS1G,OAAOnB,KAAK,KACxC6Y,uBAAmB74G,EACnB84G,yBAA0BjR,EAAS1G,OAAO5zE,MAC1CwrF,4BAA6BlR,EAAS1G,OAAOnB,KAAK,KAClDgZ,uCAAmCh5G,EACnCi5G,eAAgBpR,EAAS1G,OAAOnB,KAAK,KACrCkZ,qBAAsBrR,EAAS1G,OAAOnB,KAAK,KAC3CmZ,4BAA6BtR,EAAS1G,OAAOnB,KAAK,KAClDoZ,oCAAqCvR,EAAS1G,OAAO5zE,MACrD8rF,2BAA4BxR,EAAS1G,OAAO5zE,MAC5C+rF,oBAAqBzR,EAAS1G,OAAOnB,KAAK,OClFnCuZ,GAAgB,SAAuB1R,GAChD,MAAO,CACLr7C,WAAYq7C,EAAShJ,YAAYrkJ,QAAQsnJ,YACzCvE,gBAAiBsK,EAAShJ,YAAYrkJ,QAAQonJ,YAC9C/vD,aAAc,SACd2nE,2BAA4BpnB,GAAQ,GAEpCn1D,mBAAoB4qE,EAAShJ,YAAYrkJ,QAAQ+jJ,mBACjD+S,cAAezJ,EAAShJ,YAAYrkJ,QAAQ8jJ,mBAE5Cmb,mBAAoB5R,EAAShJ,YAAYrkJ,QAAQgyG,WAEjDktD,kBAAmB,cAGnBC,mBAAoB9R,EAAShJ,YAAYrkJ,QAAQyoJ,cACjD2W,sBAAuB/R,EAAShJ,YAAYrkJ,QAAQgkJ,eAEpDqb,cAAeznB,GAAQ,IACvB0nB,gBAAiB1nB,GAAQ,IACzB2nB,cAAe3nB,GAAQ,GAAK,IAAMA,GAAQ,GAE1C4nB,YAAa5nB,GAAQ,IACrB6nB,cAAe7nB,GAAQ,IACvB8nB,YAAa9nB,GAAQ,GAErBprI,OAAQorI,GAAQ,IAChBhgD,SAAUggD,GAAQ,IAClBn6D,OAAQm6D,GAAQ,GAAK,IAAMA,GAAQ,GACnC+nB,oBAAqB/nB,GAAQ,GAE7BgoB,sBAAuBhoB,GAAQ,GAAK,IAAMA,GAAQ,GAClDioB,uBAAwBjoB,GAAQ,IAEhCkoB,qBAAsBloB,GAAQ,IAC9BmoB,oBAAqBnoB,GAAQ,GAAK,IAAMA,GAAQ,GAEhDya,gBAAiBza,GAAQ,IACzBooB,eAAgBpoB,GAAQ,GAAK,IAAMA,GAAQ,GAE3CqoB,aAAc,KAAOroB,GAAQ,GAC7BsoB,YAAatoB,GAAQ,IACrBuoB,0BAA2BvoB,GAAQ,IAEnCuX,WAAY,SAAWvX,GAAQ,GAC/BwoB,UAAWxoB,GAAQ,IACnByoB,wBAAyBzoB,GAAQ,IACjC0oB,kBAAmBjT,EAAShJ,YAAYrkJ,QAAQi9E,OAChDsjF,uBAAwBlT,EAAShJ,YAAYK,MAAM2C,YACnDmZ,uBAAwB5oB,GAAQ,IAChC6oB,4BAA6B7oB,GAAQ,IACrC8oB,8BAA+B9oB,GAAQ,IAEvC+Z,WAAY/Z,GAAQ,IACpBga,YAAaha,GAAQ,IACrB+oB,gBAAiB/oB,GAAQ,IACzBgpB,iBAAkBhpB,GAAQ,IAC1BipB,kBAAmBjpB,GAAQ,IAC3BkpB,mBAAoBlpB,GAAQ,MCzDrBmpB,GAAoBxe,GAAoB,cCDxCye,GAAoB,SAA2BztB,GACxD,MAAO,CACL0tB,eAAgB1tB,EAAc8Q,YAAYrkJ,QAAQgnJ,YAClDka,gBAAiB3tB,EAAc8Q,YAAYrkJ,QAAQgnJ,YACnDma,oBAAqB5tB,EAAc8Q,YAAYrkJ,QAAQgnJ,YACvDoa,6BAA8B7tB,EAAc8Q,YAAYrkJ,QAAQinJ,YAChEoa,WAAY,OAASzpB,GAAQ,GAAK,KAClC0pB,YAAa,OAAS1pB,GAAQ,GAAK,KAEnC2pB,aAAc3pB,GAAQ,IACtB4pB,YAAa5pB,GAAQ,IACrB6pB,kBAAmB7pB,GAAQ,IAC3B8pB,iBAAkB9pB,GAAQ,IAC1Bz3D,iBAAkBozD,EAAc8Q,YAAYrkJ,QAAQgnJ,YACpD2a,2BAA4B/pB,GAAQ,KAEpCgqB,eAAgBruB,EAAc8Q,YAAYrkJ,QAAQgnJ,YAClD6a,UAAW,OACXC,kBAAmBlqB,GAAQ,IAC3BmqB,gBAAiBnqB,GAAQ,IACzBoqB,iBAAkBpqB,GAAQ,IAC1BqqB,gBAAiBrqB,GAAQ,IACzBsqB,iBAAkBtqB,GAAQ,IAE1BuqB,YAAavqB,GAAQ,IACrBwqB,WAAYxqB,GAAQ,KACpBr3D,gBAAiBgzD,EAAc8Q,YAAYrkJ,QAAQgnJ,YAEnDqb,iBAAkB9uB,EAAc8Q,YAAYrkJ,QAAQgnJ,YACpDsb,eAAgB1qB,GAAQ,IACxB2qB,cAAe3qB,GAAQ,IACvB4qB,YAAa5qB,GAAQ,IACrB6qB,aAAc7qB,GAAQ,IACtB8qB,YAAa9qB,GAAQ,IACrB+qB,aAAc/qB,GAAQ,IACtBgrB,cAAehrB,GAAQ,MClChBirB,GAAiBtgB,GAAoB,cCArCugB,GAAoBvgB,GAAoB,cAAe,aAAc,SAAU,mBAAoB,kBAAmB,kBAAmB,sBACpJ,0BAA2B,2BAChBwgB,GAAmB,SAA0B1V,GACtD,MAAO,CACLhJ,YAAa2S,GAA0B1G,GAAkBjD,EAAShJ,YAAa,CAC7ErkJ,QAAS,CACP8iJ,gBAAiBuK,EAAShJ,YAAYK,MAAM5B,gBAC5CC,gBAAiB,cACjBG,iBAAkBmK,EAAShJ,YAAYK,MAAMxB,iBAC7C8f,wBAAyB3V,EAAShJ,YAAYrkJ,QAAQ8iJ,gBACtDmgB,wBAAyB5V,EAAShJ,YAAYrkJ,QAAQ+iJ,mBAEtD+f,IACJlgB,gBAAYp9F,EACZwsD,WAAY,cACZkxD,mBAAe19G,EACfs9F,qBAAiBt9F,EACjBu9F,qBAAiBv9F,EACjB09F,sBAAkB19F,EAClB29F,iBAAkB,cAClBW,wBAAoBt+F,EACpBu+F,mBAAoB,cACpBof,WAAYvrB,GAAQ,IACpBwrB,YAAa,IACb7rE,YAAa,MACbF,aAAc,MACdo+D,cAAe7d,GAAQ,IAAM,IAAMA,GAAQ,GAC3CyrB,aAAczrB,GAAQ,KACtB0rB,YAAa1rB,GAAQ,GAAK,KAC1Bl3D,oBAAgBl7B,EAChB+9G,gBAAY/9G,EACZg+G,gBAAiB,MACjBC,iBAAkB7rB,GAAQ,GAC1B8rB,cAAerW,EAASsL,aACxBgL,wBAAoBn+G,EACpBw9G,6BAAyBx9G,EACzBy9G,6BAAyBz9G,EACzBo+G,gCAA4Bp+G,EAC5Bq+G,2BAA4B,cAC5BC,gBAAiBlsB,GAAQ,GAAK,IAAMA,GAAQ,IAC5CmsB,uBAAmBv+G,EACnBw+G,kBAAmBpsB,GAAQ,GAAK,KAChCqsB,4BAA6BrsB,GAAQ,IACrCssB,0BAA2BtsB,GAAQ,GACnCwiB,cAAe/M,EAASgD,SAASl7B,QACjCwnC,eAAgBtP,EAASlB,mBC9ClBgY,GAAuB,SAA8B9W,GAC9D,MAAO,CACLh2D,aAAcg2D,EAASh2D,aACvBlb,YAAakxE,EAAShJ,YAAYrkJ,QAAQi9E,OAC1CmnF,mBAAoB/W,EAAS1G,OAAOjC,MAAM,KAC1CwO,oBAAqB7F,EAAShJ,YAAYK,MAAMZ,mBAChDugB,eAAgBzsB,GAAQ,IACxB0sB,aAAc,KAAO1sB,GAAQ,GAC7B6nB,cAAe,IACf8E,eAAgB,OAChB7mF,QAAS,KAAOk6D,GAAQ,IACxBhgD,SAAU,IACV4sE,mBAAoB5sB,GAAQ,IAC5B6sB,kBAAmBpX,EAAShJ,YAAYrkJ,QAAQ4iJ,WAChD8hB,4BAA6BrX,EAAShJ,YAAYrkJ,QAAQgyG,WAC1D2yD,yBAA0BtX,EAASh2D,aACnCutE,wBAAyBvX,EAAShJ,YAAYrkJ,QAAQi9E,OACtD4nF,sBAAuBxX,EAAS3B,aAChCoZ,uBAAwBzX,EAAShJ,YAAYK,MAAM5B,gBACnDiiB,iCAAkC1X,EAAShJ,YAAYrkJ,QAAQ+nJ,iBAC/Did,6BAA8B3X,EAAShJ,YAAYrkJ,QAAQgjJ,YAC3DiiB,wBAAyB5X,EAAShJ,YAAYrkJ,QAAQ0jJ,kBACtDwhB,kCAAmC7X,EAAShJ,YAAYrkJ,QAAQ2jJ,kBAChEwhB,8BAA+B9X,EAAShJ,YAAYrkJ,QAAQ4jJ,cAC5DwhB,sCAAkC5/G,EAClC6/G,kCAA8B7/G,EAC9B8/G,4BAAwB9/G,EACxB+/G,wCAAyClY,EAAShJ,YAAYK,MAAM3B,gBACpEyiB,8BAA+BnY,EAAShJ,YAAYK,MAAMkD,iBAC1D6d,yBAA0BpY,EAAShJ,YAAYK,MAAMqC,YACrD2e,mCAAoCrY,EAAShJ,YAAYK,MAAM1yC,WAC/D2zD,+BAAgC,cAChCC,6BAA8BvY,EAASoH,iBACvCoR,yCAA0CxY,EAAShJ,YAAYK,MAAMf,kBACrEmiB,6CAAyCtgH,EACzCugH,0BAA2B1Y,EAAShJ,YAAYK,MAAMZ,mBACtDkiB,oCAAqC3Y,EAAShJ,YAAYrkJ,QAAQ+jJ,mBAClEkiB,0BAA2BruB,GAAQ,IACnCsY,kBAAmB7C,EAASh2D,aAC5B84D,iBAAkB9C,EAAS91D,YAC3BozD,sBAAuB0C,EAAS1C,sBAChCC,sBAAuByC,EAASzC,sBAChCwF,kBAAmB/C,EAASgD,SAASzN,aC1C9BsjB,GAAoB,SAA2B7Y,GACxD,MAAO,CACL9gJ,MAAO,IACPC,OAAQ,IACRo+I,sBAAuByC,EAASzC,sBAChCub,uBAAwB9Y,EAASh2D,aACjC+uE,YAAa/Y,EAAShJ,YAAYrkJ,QAAQ+mJ,YAC1Csf,oBAAqBhZ,EAAShJ,YAAYK,MAAMZ,mBAChDwiB,sBAAuBjZ,EAAShJ,YAAYoC,KAAKa,YACjDif,4BAA6BlZ,EAAShJ,YAAYoC,KAAK9C,kBACvD6iB,2BAA4BnZ,EAAShJ,YAAYoC,KAAK1D,gBACtD0jB,8BAA+BpZ,EAAShJ,YAAYrkJ,QAAQ+jJ,mBAC5D2iB,kBAAmB,cACnBC,mBAAoBtZ,EAASh2D,aAC7BuvE,aAAchvB,GAAQ,IACtBivB,oBAAqBjvB,GAAQ,IAC7BsY,kBAAmB7C,EAASh2D,aAC5B84D,iBAAkB9C,EAAS91D,YAC3BozD,sBAAuB0C,EAAS1C,sBAChCyF,kBAAmB/C,EAASgD,SAASzN,aClB9BqZ,GAAiB1Z,GAAoB,SAAU,eAAgB,mBAAoB,kBAAmB,kBAAmB,kBAAmB,mBAAoB,kBAAmB,sBACnLukB,GAA8B,SAAqCzZ,GAC5E,MAAO,CACL9gJ,MAAO,IACP83I,YAAa2S,GAA0B1G,GAAkBjD,EAAShJ,YAAa,CAC7ErkJ,QAAS,CACPojJ,aAAciK,EAAShJ,YAAYrkJ,QAAQ0nJ,QAC3CvE,iBAAkBkK,EAAShJ,YAAYrkJ,QAAQooJ,kBAC/C7E,gBAAiB8J,EAAShJ,YAAYrkJ,QAAQ6oJ,iBAC9C/E,mBAAoBuJ,EAAShJ,YAAYrkJ,QAAQipJ,qBAEnDvE,MAAO,CACL5B,gBAAiBuK,EAAS1G,OAAO5zE,MACjCgwE,gBAAiBsK,EAAS1G,OAAOjC,MAAM,KACvCxB,iBAAkBmK,EAAS1G,OAAO5zE,MAClCqwE,aAAciK,EAAS1G,OAAOjC,MAAM,KACpCvB,iBAAkBkK,EAAS1G,OAAOjC,MAAM,KAExCpB,gBAAiB+J,EAAS1G,OAAO5zE,MACjCwwE,gBAAiB8J,EAAS1G,OAAOjC,MAAM,KACvCZ,mBAAoBuJ,EAAShJ,YAAYK,MAAMuE,uBAE/CgT,IACJ74H,MAAOiqH,EAAS1G,OAAOnB,KAAK,KAC5BiN,YAAapF,EAAS1G,OAAO30E,MAC7BmK,iBAAa32B,EACbytG,uBAAmBztG,EACnBwtG,iBAAkB3F,EAAS1G,OAAO5zE,MAClCopF,kBAAmB9O,EAAS1G,OAAO30E,MACnCijB,qBAAiBzvC,EACjBqtG,0BAAsBrtG,EACtB+lG,0BAAsB/lG,EACtBotG,2BAAuBptG,EACvB42G,oBAAqB/O,EAAS1G,OAAOjC,MAAM,KAC3CiY,eAAgBtP,EAASlB,iBACzByQ,kBAAmBhlB,GAAQ,IAAM,IAAMA,GAAQ,IAC/CilB,wBAAyBxP,EAAS1G,OAAO5zE,MACzC+pF,oBAAqBllB,GAAQ,GAAK,IAAMA,GAAQ,IAChDqlB,wBAAyBrlB,GAAQ,GACjCslB,wBAAyB,cACzBE,6BAA8B/P,EAAS1G,OAAOnB,KAAK,KACnDmO,mBAAoBtG,EAAShJ,YAAYrkJ,QAAQ0nJ,QACjDqf,yBAA0B1Z,EAAS1G,OAAOnB,KAAK,KAC/CwhB,+BAAgC3Z,EAAS1G,OAAOjC,MAAM,KACtDntD,YAAaqgD,GAAQ,GACrBqvB,eAAgB,KC9CTC,GAAiB,SAAwB3zB,GAClD,MAAO,CACLnwG,MAAOmwG,EAAc8Q,YAAYrkJ,QAAQ4iJ,WACzCukB,WAAY5zB,EAAc8Q,YAAYrkJ,QAAQ8iJ,gBAC9C7tD,gBAAiBs+C,EAAc8Q,YAAYrkJ,QAAQgyG,WACnDo1D,qBAAsB7zB,EAAc8Q,YAAYrkJ,QAAQ8nJ,iBACxDuf,iBAAkBzvB,GAAQ,IAC1B0vB,iBAAkB1vB,GAAQ,IAC1B2vB,aAAc,IACdC,YAAa,KAAO5vB,GAAQ,GAC5B6vB,WAAY,IACZ1b,eAAgBnU,GAAQ,IACxB8vB,aAAc9vB,GAAQ,IACtBrgD,YAAaqgD,GAAQ,GACrB+vB,kBAAmBp0B,EAAc8Q,YAAYrkJ,QAAQ8nJ,iBACrD8f,uBAAwB,cACxBC,uBAAwB,cACxBC,eAAgBv0B,EAAc8Q,YAAYrkJ,QAAQ8nJ,iBAClDigB,oBAAqBx0B,EAAc8Q,YAAYrkJ,QAAQ8nJ,iBACvDkgB,oBAAqBz0B,EAAc8Q,YAAYrkJ,QAAQwjJ,YACvDykB,gBAAiB,cACjBC,qBAAsB,cACtBC,qBAAsB50B,EAAc8Q,YAAYrkJ,QAAQwjJ,cCtBjD4kB,GAAgB,SAAuB/a,GAChD,MAAO,CACLp4D,gBAAiBo4D,EAAShJ,YAAYrkJ,QAAQonJ,YAC9C0L,wBAAyBzF,EAAShJ,YAAYrkJ,QAAQkpJ,oBACtD2J,qBAAsBxF,EAAShJ,YAAYrkJ,QAAQ6oJ,iBACnD0C,qBAAsB8B,EAAShJ,YAAYrkJ,QAAQ8nJ,iBACnDugB,uBAAwBhb,EAAShJ,YAAYrkJ,QAAQ2jJ,kBACrD2kB,qBAAsB,OACtBC,6BAA8Blb,EAAShJ,YAAYrkJ,QAAQ+jJ,mBAC3DykB,0BAA2B,OAC3BC,0BAA2Bpb,EAAShJ,YAAYrkJ,QAAQ+iJ,gBACxD2lB,4BAA6Brb,EAAShJ,YAAYrkJ,QAAQ2jJ,kBAC1D+T,wBAAyBrK,EAAShJ,YAAYrkJ,QAAQqnJ,YACtDshB,gCAAiCtb,EAAShJ,YAAYrkJ,QAAQmpJ,oBAC9Dyf,6BAA8Bvb,EAAShJ,YAAYrkJ,QAAQqnJ,YAC3DsQ,6BAA8BtK,EAAShJ,YAAYrkJ,QAAQ+nJ,iBAC3D8gB,+BAAgCxb,EAAShJ,YAAYrkJ,QAAQ2jJ,kBAC7DnsD,YAAa,QACbrb,YAAa,cACb+2E,oBAAqB,cACrBH,iBAAkB,cAClB+V,mBAAoB,cACpBvxE,YAAa81D,EAAS91D,YACtBF,aAAcugD,GAAQ,GACtBtgD,UAAW,OACXyxE,kBAAmB,OACnBC,eAAgB,OAChBC,eAAgB,OAChBC,iBAAkB,OAClBC,kBAAmB9b,EAAS3B,aAC5B0d,0BAA2B/b,EAAS3B,aACpC2d,uBAAwBhc,EAASsL,aACjC2Q,uBAAwBjc,EAAS3B,aACjC6d,yBAA0Blc,EAAS3B,aACnChuE,QAASk6D,GAAQ,IACjBn6D,OAAQm6D,GAAQ,GAChB8a,cAAerF,EAAShJ,YAAYrkJ,QAAQ8jJ,mBAC5C0lB,eAAgB5xB,GAAQ,GACxB6xB,cAAe,OAAS7xB,GAAQ,IAAM,KACtCsX,aAAc,OAAStX,GAAQ,IAAM,KACrC8xB,WAAY,OAAS9xB,GAAQ,IAAM,KACnC+xB,aAAc,OAAS/xB,GAAQ,IAAM,KACrCgyB,oBAAqBhyB,GAAQ,GAC7BiyB,mBAAoBjyB,GAAQ,GAC5BkyB,iBAAkBlyB,GAAQ,GAC1BmyB,mBAAoBnyB,GAAQ,GAC5BoyB,wBAAyB,KAAOpyB,GAAQ,IAAM,OAC9CqyB,eAAgBryB,GAAQ,IACxBsyB,iBAAkBtyB,GAAQ,GAE1BrrI,MAAOqrI,GAAQ,KACfprI,OAAQ,OACR29J,eAAgBvyB,GAAQ,KACxBqd,gBAAiB,OACjBE,iBAAkBvd,GAAQ,GAC1BwyB,eAAgBxyB,GAAQ,KACxByyB,gBAAiB,OACjBC,iBAAkB1yB,GAAQ,IAC1B2yB,WAAY,OACZC,YAAa,OACbC,4BAA6B7yB,GAAQ,IACrC8yB,0BAA2B9yB,GAAQ,KACnC+yB,8BAA+B,0BAC/BC,8BAA+B,wBAC/B5O,wBAAyB3O,EAAShJ,YAAYrkJ,QAAQ+oJ,iBACtD8hB,oBAAqBxd,EAAShJ,YAAYrkJ,QAAQojJ,aAClD0nB,kBAAmBzd,EAAS0d,aAC5BC,gCAAiC3d,EAAShJ,YAAYrkJ,QAAQopJ,oBAC9D6hB,6BAA8B5d,EAAShJ,YAAYrkJ,QAAQ+oJ,iBAC3DmiB,6BAA8B7d,EAAShJ,YAAYrkJ,QAAQgoJ,iBAC3DmjB,+BAAgC9d,EAAShJ,YAAYrkJ,QAAQkoJ,sBC7DtDkjB,GAQkB,IAPjBA,GAAkB,OAAI,GAAK,SACrCA,GAAUA,GAAkB,OAAI,GAAK,SACrCA,GAAUA,GAAmB,QAAI,GAAK,UACtCA,GAAUA,GAAqB,UAAI,GAAK,YACxCA,GAAUA,GAAoB,SAAI,GAAK,WACvCA,GAAUA,GAAkB,OAAI,GAAK,SACrCA,GAAUA,GAAoB,SAAI,GAAK,YAS9BC,GAasB,IAZnBA,GAAqB,QAAI,GAAK,UAC1CA,GAAYA,GAAsB,SAAI,GAAK,WAC3CA,GAAYA,GAAmB,MAAI,GAAK,QACxCA,GAAYA,GAAmB,MAAI,GAAK,QACxCA,GAAYA,GAAiB,IAAI,GAAK,MACtCA,GAAYA,GAAkB,KAAI,GAAK,OACvCA,GAAYA,GAAkB,KAAI,GAAK,OACvCA,GAAYA,GAAoB,OAAI,GAAK,SACzCA,GAAYA,GAAuB,UAAI,GAAK,YAC5CA,GAAYA,GAAqB,QAAI,GAAK,UAC1CA,GAAYA,GAAsB,SAAI,IAAM,WAC5CA,GAAYA,GAAsB,SAAI,IAAM,YASnCC,GAI8B,IAHvBA,GAA0B,SAAI,GAAK,WACnDA,GAAgBA,GAA+B,cAAI,GAAK,gBACxDA,GAAgBA,GAAkC,iBAAI,GAAK,oBAKlDC,GAK0B,IAJrBA,GAAmB,IAAI,GAAK,MAC1CA,GAAcA,GAAoB,KAAI,GAAK,OAC3CA,GAAcA,GAAqB,MAAI,GAAK,QAC5CA,GAAcA,GAAwB,SAAI,GAAK,WC3DX,SAA3BC,GAA6D/wK,EAAGmE,EAAGyuJ,GAC5E,OAAI5yJ,EAAEgxK,OACG,CACLroI,MAAOxkC,EAAEqvJ,YACTh5D,gBAAiBr2F,EAAEsvJ,sBACnB/xE,YAAav9E,EAAEuvJ,mBAIf1zJ,EAAEixK,KACG,CACLtoI,MAAOxkC,EAAEwkC,MACT6xD,gBAAiBr2F,EAAEq2F,gBACnB9Y,YAAav9E,EAAEu9E,aAIfv9E,EAAEwvJ,IACG,CACLhrH,MAAOxkC,EAAEyvJ,SACTp5D,gBAAiBr2F,EAAE0vJ,mBACnBnyE,YAAav9E,EAAE2vJ,gBAIf3vJ,EAAE+vJ,OACG,CACLvrH,MAAOxkC,EAAEgwJ,YACT35D,gBAAiBr2F,EAAEiwJ,sBACnB1yE,YAAav9E,EAAEkwJ,mBAIfr0J,EAAEkxK,QACG,CACLvoI,MAAOxkC,EAAE4vJ,aACTv5D,gBAAiBr2F,EAAE6vJ,uBACnBtyE,YAAav9E,EAAE8vJ,oBAIfj0J,EAAEmxK,QACG,CACLxoI,MAAOxkC,EAAEmwJ,aACT95D,gBAAiBr2F,EAAEowJ,uBACnB7yE,YAAav9E,EAAEqwJ,oBAIZ,CACL7rH,MAAOxkC,EAAEwkC,MACT6xD,gBAAiBr2F,EAAEq2F,gBACnB9Y,YAAav9E,EAAEu9E,aC7Ce,SAAvB0vF,GAAqDhrK,GAC9D,IAAIirK,EAAKjrK,EAAKkrK,UAEVx0E,OAAoC,KADpCy0E,EAAoBnrK,EAAK02F,aACoBu0E,EAAGv0E,YAAcy0E,EAE9D30E,OAAsC,KADtC40E,EAAqBprK,EAAKw2F,cACqBy0E,EAAGz0E,aAAe40E,EAEjEthB,OAAkD,KADlDuhB,EAAwBrrK,EAAK8pJ,uBAC8BmhB,EAAGnhB,uBAAyBwhB,GAAeD,EAEtGthB,OAAkD,KADlDwhB,EAAwBvrK,EAAK+pJ,uBAC8BkhB,EAAGlhB,uBAAyBuhB,GAAeC,EACtGC,EAAgBxrK,EAAKwrK,cACrBC,EAAsB,CACxBrnK,QAAS,KACTg3E,SAAU,WACVub,YAAa,QACbtmB,cAAe,OACfqmB,YAAaA,EACbF,aAAcA,GAEZk1E,GAAqC,MAAjBF,OAAwB,EAASA,EAAc1qH,MAAQ0qH,EAC3EG,GAAwC,MAAjBH,OAAwB,EAASA,EAAcrwG,SAAWqwG,EACjFI,GAAsC,MAAjBJ,OAAwB,EAASA,EAAc5qH,OAAS4qH,EAC7EK,GAAuC,MAAjBL,OAAwB,EAASA,EAActwG,QAAUswG,EACnF,MAAO,CACL5lE,SAAU,CACR1pB,QAAS,QAEX4vF,iBAAkB,CAChBxwF,YAAa,cACbywF,UAAWvyK,OAAOgB,OAAO,GAAIixK,EAAqB,CAChDh9I,OAAQw8I,EAAGzb,SAASzN,WACpBzmE,YAAawuE,EACbhpG,IAAsB,MAAjB0qH,EAAwB,IAAM,IAAME,EACzCvwG,OAAyB,MAAjBqwG,EAAwB,IAAM,IAAMG,EAC5C/qH,KAAuB,MAAjB4qH,EAAwB,IAAM,IAAMI,EAC1C1wG,MAAwB,MAAjBswG,EAAwB,IAAM,IAAMK,IAE7C78C,SAAUx1H,OAAOgB,OAAO,GAAIixK,EAAqB,CAC/Ch9I,OAAQw8I,EAAGzb,SAASzN,WACpBzmE,YAAayuE,EACbjpG,IAAsB,MAAjB0qH,EAAwB,IAAM90E,EAAc,cAAgBg1E,EAAmB,MAAQh1E,EAAc,IAC1Gv7B,OAAyB,MAAjBqwG,EAAwB,IAAM90E,EAAc,cAAgBi1E,EAAsB,MAAQj1E,EAAc,IAChH91C,KAAuB,MAAjB4qH,EAAwB,IAAM90E,EAAc,cAAgBk1E,EAAoB,MAAQl1E,EAAc,IAC5Gx7B,MAAwB,MAAjBswG,EAAwB,IAAM90E,EAAc,cAAgBm1E,EAAqB,MAAQn1E,EAAc,QCjD9E,SAA7Bs1E,GAAiE/5B,GAC1E,IAEI/1D,EAAU+1D,EAAK/1D,QACnB,OAAOw8D,EAAQ,IAAU,MAAQpB,IAAyB,CACxDv8F,QAASmhC,EAAU,OAAS,SAC3Bw8D,EAAM,MAAQpB,IAA0B,CACzCv8F,QAASmhC,EAAU,QAAU,QAC5Bw8D,ECFoB,SAArBuzB,GAAiD1pI,EAAO25C,EAASnqE,GACnE,MAAO,CACLrG,MAAOqG,EACPpG,OAAQoG,EACRm6J,iBCX0D3pI,EDWrBA,EAAO25C,ECTrC,uJAAyJn9D,mBAAmBwjB,GAAS,6OAGvL,wJAA0JxjB,mBAAmBwjB,GAAS,4ODO3L4pI,iBAAkB,aEVI,SAAtBC,GAAmDC,GACrD,OAAOA,EAAW,CAChBl+C,YAAa4oB,GAAQ,IACnB,CACFvgD,aAAc,GCNgB,SAAvB81E,GAAqD/pI,EAAO6xD,GACrE,MAAO,oHAAsHr1E,mBAAmBq1E,GAAmB,qFAAuFr1E,mBAAmBwjB,GAAS,qZCDzO,SAApCgqI,GAA+EhqI,EAAO6xD,GAC/F,MAAO,oHAAsHo4E,OAAOp4E,GAAmB,qFAAuFo4E,OAAOjqI,GAAS,kaCKjO,SAA3BkqI,GAA6D1uK,GAC/D,MAAO,CACLqG,QAAS,MACT22C,QAAS,QACTy7C,aAAc,MACd9qF,MAAO3N,EAAEq7J,oBACTztJ,OAAQ5N,EAAEq7J,oBACV13I,WAAY,mBCVK,SAAjBgrJ,GAAyC36J,EAAMm5J,EAAWplB,EAAQxmI,GACpE,OAAO9lB,OAAOgB,OAAO,CACnB4J,QAAS,KACT8oB,KAAM,GACL5N,EAAM8pF,SAAW,CAClB19F,MAAOqG,EAAO,EAAI,KAClBpG,OAAQ,QACN,CACFA,OAAQoG,EAAO,EAAI,MAClB,CACDo/F,WAAYw7D,GAAK7mB,EAAQ,aAAcolB,EAAU0B,gBViD9C,IW5DIC,GAAsB,SAA6BrgB,GAC5D,MAAO,CACLsgB,mBAAoB,OACpBC,mBAAoBh2B,GAAQ,IAC5Bi2B,kBAAmBj2B,GAAQ,IAC3Bk2B,oBAAqBl2B,GAAQ,GAC7Bm2B,mBAAoBn2B,GAAQ,GAC5Bo2B,4BAA6B3gB,EAAShJ,YAAYrkJ,QAAQgyG,WAC1Di8D,kBAAmB,UACnBC,uBAAwB7gB,EAAShJ,YAAYrkJ,QAAQ6mJ,YACrDsnB,0BAA2B9gB,EAAShJ,YAAYK,MAAM6C,YACtD6mB,oCAAqC/gB,EAAShJ,YAAYK,MAAM4D,cAChE+lB,iCAAkChhB,EAAShJ,YAAYK,MAAMnB,gBAC7D+qB,uBAAwBjhB,EAAShJ,YAAYtxE,MAAM6vE,WACnD2rB,8BAA+B,MAC/BC,iCAAkCnhB,EAAShJ,YAAYK,MAAMqD,iBAC7D0mB,uBAAwB,UACxBC,0BAA2BrhB,EAAShJ,YAAYK,MAAMZ,mBACtD6qB,oCAAqCthB,EAAShJ,YAAYrkJ,QAAQgyG,WAClE48D,6BAA8BvhB,EAASf,kBACvCuiB,yBAA0Bj3B,GAAQ,IAClCk3B,0BAA2Bl3B,GAAQ,GAAK,IAAMA,GAAQ,GAAK,IAAMA,GAAQ,GAAK,IAAMA,GAAQ,GAC5Fm3B,wBAAyB,eACzBC,yBAA0Bp3B,GAAQ,GAClCq3B,4BAA6Br3B,GAAQ,GACrCs3B,+BAAgCt3B,GAAQ,IACxCu3B,8BAA+B9hB,EAAS0I,eACxCqZ,kBAAmBx3B,GAAQ,yaC7BJ,SAAuByV,GAChD,MAAO,CACLp4D,gBAAiBo4D,EAAS1G,OAAOnB,KAAK,gBCDX,WAC7B,MAAO,CACL/nE,OAAQm6D,GAAQ,GAChBy3B,aAAcz3B,GAAQ,IACtB03B,cAAe13B,GAAQ,kBCJO,SAA8ByV,GAC9D,MAAO,CACLkiB,oBAAqBliB,EAAS3B,aAC9B8jB,wBAAyB53B,GAAQ,GACjC63B,sBAAuB73B,IAAS,IAChC3iD,gBAAiBo4D,EAAS1G,OAAO5zE,MACjC28F,oBAAqBriB,EAAS1G,OAAOjC,MAAM,KAC3CrtD,aAAcugD,GAAQ,GACtBx0G,MAAO,kBACP2C,OAAQ6xG,GAAQ,KAChBl6D,QAASk6D,GAAQ,IACjB+3B,kBAAmB/3B,GAAQ,IAC3Bg4B,YAAaviB,EAAShJ,YAAYrkJ,QAAQ4iJ,WAC1CitB,iBAAkBxiB,EAASpB,mBAC3B6jB,mBAAoBl4B,GAAQ,GAC5Bm4B,aAAc1iB,EAAS1G,OAAOnB,KAAK,KACnCwqB,UAAW3iB,EAAShJ,YAAYK,MAAMkC,YACtCqpB,cAAe5iB,EAAShJ,YAAYK,MAAMmC,YAC1C5pE,OAAQ,OACRizF,YAAa7iB,EAASoH,iBACtB0b,aAAa,EACbC,YAAY,EACZC,gBAAiBhjB,EAAS1G,OAAOvzE,OAAO,KACxCk9F,sBAAuBjjB,EAAS1G,OAAOvzE,OAAO,KAC9Cm9F,iBAAkBljB,EAAS1G,OAAOnzE,IAAI,KACtCg9F,eAAgBnjB,EAAS1G,OAAO5zE,MAChC09F,wBAAyB74B,GAAQ,IACjC84B,yBAA0B,cAC1Bt/J,oBAAgBo0C,EAChBmrH,mBAAoBtjB,EAAShJ,YAAYrkJ,QAAQ4mJ,YACjDt3H,OAAQ+9H,EAASgD,SAASzN,WAC1BwX,cAAe/M,EAASgD,SAASl7B,6BC/BI,SAAqCk4B,GAC5E,MAAO,CACLujB,aAAcvjB,EAAS1G,OAAOnB,KAAK,KACnCqrB,kBAAmBxjB,EAAS1G,OAAOnB,KAAK,KACxCsrB,iBAAkBzjB,EAAS1G,OAAOnB,KAAK,KACvCurB,sBAAuB1jB,EAAS1G,OAAOnB,KAAK,KAC5CwrB,gBAAiB3jB,EAAS7Z,UAAU/7D,MACpCw5F,cAAer5B,GAAQ,4BCPiB,SAAwCyV,GAClF,MAAO,CACL6jB,cAAet5B,IAAS,IACxBu5B,eAAgBv5B,GAAQ,cpCCG,SAA2ByV,GACxD,MAAO,CACL+jB,cAAe,cACfC,iBAAkB,cAClBC,kBAAmBjkB,EAAS1G,OAAOnB,KAAK,KACxC+rB,kBAAmB,QACnBC,kBAAmB55B,GAAQ,GAC3B65B,qBAAsB,UACtBC,qBAAsBrkB,EAAS1G,OAAOnB,KAAK,KAC3CmsB,gCAAiC,cACjCC,iCAAkCvkB,EAAS1G,OAAOnB,KAAK,KACvDqsB,2BAA4B,UAC5B/a,cAAezJ,EAAS1G,OAAOnB,KAAK,KACpCssB,sBAAuBzkB,EAAS1G,OAAOnB,KAAK,KAC5CusB,yBAA0B,cAC1BC,0BAA2B3kB,EAAS1G,OAAOnB,KAAK,KAChDgG,UAAWgiB,GAAKngB,EAAU,kCAAmC3iI,IAC7DsnF,WAAY,cACZ71B,YAAaqxF,GAAKngB,EAAU,kCAAmC3iI,IAC/D8sE,YAAa,QACbH,aAAcugD,GAAQ,GACtBrgD,YAAaqgD,GAAQ,GACrB6mB,eAAgB,cAChBp1E,IAAKuuD,GAAQ,IACbn6D,OAAQm6D,GAAQ,KAAO,SACvBl6D,QAASA,GACT69E,YAAa,UACb9P,eAAgB+hB,GAAKngB,EAAU,iCAAkC3iI,IACjEqoI,iBAAkBya,GAAKngB,EAAU,iCAAkC3iI,IACnEunJ,uBAAwBzE,GAAKngB,EAAU,oCAAqC3iI,IAC5EwnJ,mBAAoBt6B,GAAQ,KAC5BqiB,oBAAqBriB,GAAQ,IAC7Bu6B,aAAc,IACdC,cAAe10F,GAAU,IAAMq5E,GAAyB,IAAMr5E,GAAU,IAAMA,GAC9E20F,YAAaz6B,GAAQ,IACrB06B,aAAc16B,GAAQ,IACtB26B,iBAAkB/E,GAAKngB,EAAU,iCAAkC3iI,IACnE8nJ,kBAAmBhF,GAAKngB,EAAU,sCAAuC3iI,IACzE+nJ,mBAAoBjF,GAAKngB,EAAU,sCAAuC3iI,IAC1EgoJ,sBAAuBlF,GAAKngB,EAAU,iCAAkC3iI,IACxEioJ,qBAAsBj1F,GAAU,IAAMA,GAAU,IAAMA,GAAU,IAAMq5E,GACtEt0E,mBAAoB+qF,GAAKngB,EAAU,iCAAkC3iI,IACrEkoJ,0BAA2BpF,GAAKngB,EAAU,yCAA0C3iI,IACpFmoJ,oBAAqBrF,GAAKngB,EAAU,0CAA2C3iI,IAC/EooJ,8BAA+BtF,GAAKngB,EAAU,yCAA0C3iI,IACxFqoJ,6BAA8BvF,GAAKngB,EAAU,yCAA0C3iI,aqCjD9D,SAAyB6oH,GACpD,MAAO,CACLt2D,OAAQ,OACR+1F,eAAgBz/B,EAAcoT,OAAO5zE,MACrCkgG,iBAAkBr7B,GAAQ,GAC1Bs7B,UAAW,OACX3X,YAAa3jB,GAAQ,IAAM,IAAMA,GAAQ,IAAM,IAAMA,GAAQ,IAAM,IAAMA,GAAQ,IACjFu7B,cAAe,OAASv7B,GAAQ,IAAM,KACtCtgD,UAAWi8C,EAAcw3B,aACzBqI,gBAAiB7/B,EAAcoT,OAAOnB,KAAK,KAC3CuG,eAAgBxY,EAAcC,UAAU17D,MACxCk0E,iBAAkBzY,EAAcwiB,eAChC7G,aAAc,OAAStX,GAAQ,GAAK,KACpCy7B,kBAAmB,wBAEnBjZ,cAAe7mB,EAAc8c,SAASl7B,QACtCm+C,mBAAoB17B,IAAS,GAAK,IAAMA,IAAS,GAAK,iBpCd5B,SAA0ByV,GACtD,MAAO,CACLhJ,YAAa2S,GAA0B3J,EAAShJ,YAAaiT,IAC7DmW,aAAcpgB,EAAS1G,OAAOnB,KAAK,KACnCgG,UAAW6B,EAAS1G,OAAOnB,KAAK,KAChC+tB,aAAclmB,EAASsI,cACvB6d,eAAgBnmB,EAAS2H,gBACzB0G,oBAAqBrO,EAAS0I,eAC9B0d,eAAgB77B,GAAQ,kFqCVA,SAAwBrE,GAClD,MAAO,CACLmgC,aAAcngC,EAAcoT,OAAO5zE,MACnC4gG,uBAAwBpgC,EAAcoT,OAAOF,KAAK,KAClDmtB,sBAAuBh8B,GAAQ,IAAM,IAAMA,GAAQ,IACnDrrI,WAAOi5C,EACPh5C,YAAQg5C,EACRquH,iBAAkBtgC,EAAcoT,OAAOjC,MAAM,KAC7Cp1H,OAAQikH,EAAc8c,SAASzN,kBCRR,WACzB,MAAO,CAELkxB,cAAel8B,GAAQ,GACvBm8B,YAAan8B,GAAQ,IACrBo8B,aAAcp8B,GAAQ,IACtBq8B,YAAar8B,GAAQ,IAErBs8B,iBAAkBt8B,GAAQ,eCRC,WAC7B,MAAO,CACLu8B,YAAa,MACbC,eAAgB,MAChBC,aAAcz8B,GAAQ,KACtB08B,cAAe18B,GAAQ,KACvB28B,aAAc38B,GAAQ,YCNC,SAAuBrE,GAChD,MAAO,CACLihC,mBAAoB58B,GAAQ,IAC5B68B,mBAAoB78B,GAAQ,kDrCDE,SAA8BrE,GAC9D,MAAO,CACL8Q,YAAa2S,GAA0BzjB,EAAc8Q,YAAa6W,IAClE/pD,YAAaymC,GAAQ,gBsCLO,SAA4BrE,GAC1D,MAAO,CACLvkH,WAAY4oH,GAAQ,IACpB3oB,aAAc2oB,GAAQ,UCJC,WACzB,MAAO,CACL88B,mBAAoB,EACpBC,aAASnvH,EACTk4B,aAASl4B,WtCDgB,SAAyB6nG,GACpD,MAAO,CACLhJ,YAAa2S,GAA0B3J,EAAShJ,YAAa8W,IAC7D/3H,MAAOiqH,EAAS1G,OAAOnB,KAAK,KAC5BovB,sBAAkBpvH,sBCJkB,SAAoC+tF,GAC1E,MAAO,CACL8Q,YAAa2S,GAA0BzjB,EAAc8Q,YAAa+W,IAClEh4H,MAAOmwG,EAAcoT,OAAOnB,KAAK,eCHP,SAA0B6H,GACtD,MAAO,CACLhJ,YAAa2S,GAA0B3J,EAAShJ,YAAagX,IAC7Dj4H,WAAOoiB,EACP22B,iBAAa32B,EACbyvC,qBAAiBzvC,EACjBqvH,WAAYxnB,EAASwnB,WACrBC,eAAgBznB,EAAS1G,OAAO5zE,MAChCgiG,SAAU1nB,EAAS1G,OAAOnzE,IAAI,KAC9BsjF,cAAezJ,EAAS1G,OAAOnB,KAAK,KACpCwvB,aAAcp9B,GAAQ,GACtBq9B,YAAar9B,GAAQ,IACrBs9B,UAAWt9B,GAAQ,IACnBu9B,WAAYv9B,GAAQ,IACpBw9B,UAAWx9B,GAAQ,IACnBy9B,WAAYz9B,GAAQ,IACpB09B,YAAa19B,GAAQ,IACrB29B,gBAAiB39B,GAAQ,YqCnBD,WAC1B,MAAO,CACLrrI,WAAOi5C,EACPh5C,YAAQg5C,EACRgwH,aAAc59B,GAAQ,MACtB69B,WAAY79B,GAAQ,IACpB89B,eAAgB99B,GAAQ,cCNA,SAAwByV,GAClD,MAAO,CACLqF,cAAerF,EAAShJ,YAAYK,MAAMZ,mBAC1C6xB,WAAYtoB,EAAShJ,YAAY7wE,IAAIovE,WACrCgzB,iBAAkBvoB,EAAShJ,YAAY7wE,IAAIw+B,WAC3C6jE,aAAc,WACdC,UAAWl+B,GAAQ,IACnBm+B,SAAUn+B,GAAQ,GAClBo+B,4BAA6Bp+B,GAAQ,GAAK,IAAMA,GAAQ,IAAM,IAAMA,GAAQ,GAAK,IAAMA,GAAQ,IAC/Fq+B,0BAA2Br+B,GAAQ,GAAK,IAAMA,GAAQ,IAAM,IAAMA,GAAQ,GAAK,IAAMA,GAAQ,IAC7Fs+B,aAAct+B,GAAQ,GAAK,IAAMA,GAAQ,IACzCu+B,2BAA4Bv+B,GAAQ,IACpCz7D,YAAa,cACbkb,aAAcugD,GAAQ,GAAK,IAAMA,GAAQ,GAAK,IAAMA,GAAQ,GAAK,IAAMA,GAAQ,GAC/ErgD,YAAa,OAASqgD,GAAQ,GAAK,KACnC3iD,gBAAiBo4D,EAAShJ,YAAYrkJ,QAAQqnJ,YAC9C+uB,wBAAyB/oB,EAAShJ,YAAYrkJ,QAAQgyG,WACtDqkE,UAAWhpB,EAAShJ,YAAYrkJ,QAAQ4iJ,WACxC5oE,SAAUqzE,EAAS7Z,UAAU77D,OAC7B05B,UAAWg8C,EAAShJ,YAAYrkJ,QAAQ4iJ,WACxC0zB,gBAAiBjpB,EAAShJ,YAAY9vE,MAAMquE,WAC5C2zB,sBAAuB,2BAA6BlpB,EAAShJ,YAAYK,MAAMgF,aAAe,eAC9F8sB,uBAAwB5+B,GAAQ,GAAK,IAAMA,GAAQ,GAAK,IAAMA,GAAQ,GAAK,IAAMA,GAAQ,GACzF6+B,iBAAkBppB,EAAShJ,YAAYrkJ,QAAQ4mJ,yBCvBlB,SAA6ByG,GAC5D,MAAO,CACLqpB,kBAAmB9+B,IAAS,GAC5B++B,uBAAwB/+B,GAAQ,IAChCg/B,0BAA2Bh/B,GAAQ,IACnCi/B,wBAAyBj/B,GAAQ,IACjC5oH,WAAY4oH,GAAQ,IACpB3oB,aAAc2oB,GAAQ,WCPE,SAAwByV,GAClD,MAAO,CACLqoB,eAAgB99B,GAAQ,MACxB0T,SAAU1T,GAAQ,IAClBl6D,QAAS,KAAOk6D,GAAQ,GAAK,MAAQA,GAAQ,GAC7Ck/B,iBAAkB,MAClBC,gBAAiB,MACjBvqK,OAAQorI,GAAQ,IAChBgL,WAAY,qBACZ5wC,WAAY,qBACZglE,gBAAiB3pB,EAAShJ,YAAYryE,MAAM40E,YAC5CqwB,gBAAiB5pB,EAAShJ,YAAYryE,MAAMo1E,YAC5C8vB,gBAAiB7pB,EAAShJ,YAAYtxE,MAAM6zE,YAC5CuwB,gBAAiB9pB,EAAShJ,YAAYtxE,MAAMq0E,YAC5CgwB,gBAAiB/pB,EAAShJ,YAAYK,MAAMsC,YAC5CqwB,gBAAiBhqB,EAAShJ,YAAYK,MAAM2E,YAC5CiuB,eAAgBjqB,EAAShJ,YAAYmB,KAAKqB,YAC1C0wB,eAAgBlqB,EAAShJ,YAAYmB,KAAK8B,YAC1CkwB,iBAAkBnqB,EAAShJ,YAAYjxE,OAAOyzE,YAC9C4wB,iBAAkBpqB,EAAShJ,YAAYjxE,OAAOg0E,YAC9CswB,cAAerqB,EAAShJ,YAAY7wE,IAAIozE,YACxC+wB,cAAetqB,EAAShJ,YAAY7wE,IAAIw+B,WACxC4lE,gBAAiBvqB,EAAShJ,YAAY9vE,MAAMuyE,YAC5C+wB,gBAAiBxqB,EAAShJ,YAAY9vE,MAAM6yE,YAC5C0wB,iBAAkBzqB,EAAShJ,YAAYnxE,OAAO4zE,YAC9CixB,iBAAkB1qB,EAAShJ,YAAYnxE,OAAO8+B,oBC1BrB,WAC3B,MAAO,WCCoB,WAC3B,MAAO,CACLgmE,iBAAkB,CAChBC,SAAUrgC,GAAQ,IAClBiT,QAASjT,GAAQ,IACjBngE,MAAOmgE,GAAQ,IACfjgE,OAAQigE,GAAQ,IAChB9/D,MAAO8/D,GAAQ,IACfkT,OAAQlT,GAAQ,IAChBmT,QAASnT,GAAQ,KAEnBsgC,gBAAiB,CACfD,SAAUrgC,GAAQ,IAClBiT,QAASjT,GAAQ,IACjBngE,MAAOmgE,GAAQ,IACfjgE,OAAQigE,GAAQ,IAChB9/D,MAAO8/D,GAAQ,IACfkT,OAAQlT,GAAQ,IAChBmT,QAASnT,GAAQ,KAEnBugC,WCtB0B,wpYDuB1BC,WAAY,CACVvtB,QAASjT,GAAQ,MACjBqgC,SAAUrgC,GAAQ,MAClBngE,MAAOmgE,GAAQ,MACfjgE,OAAQigE,GAAQ,MAChB9/D,MAAO8/D,GAAQ,MACfkT,OAAQlT,GAAQ,MAChBmT,QAASnT,GAAQ,OAEnBygC,qBAAsB,CACpBJ,SAAUrgC,IAAS,MACnBiT,QAASjT,IAAS,MAClBngE,MAAOmgE,IAAS,MAChBjgE,OAAQigE,IAAS,MACjB9/D,MAAO8/D,IAAS,MAChBkT,OAAQlT,IAAS,MACjBmT,QAASnT,IAAS,OAEpB0gC,UAAW,CACTL,SAAUrgC,GAAQ,IAClBiT,QAASjT,GAAQ,IACjBngE,MAAOmgE,GAAQ,IACfjgE,OAAQigE,GAAQ,IAChB9/D,MAAO8/D,GAAQ,IACfkT,OAAQlT,GAAQ,IAChBmT,QAASnT,GAAQ,kBE/CU,WAC/B,MAAO,CACLzmC,YAAaymC,GAAQ,IACrBvyB,aAAcuyB,GAAQ,IACtB2gC,UAAW3gC,GAAQ,GACnBprI,OAAQorI,GAAQ,gTCLe,SAA+ByV,GAChE,MAAO,CACLlxE,YAAakxE,EAAShJ,YAAYrkJ,QAAQ0nJ,QAC1CrwD,aAAcugD,GAAQ,GACtB4gC,WAAY,MACZvjF,gBAAiBo4D,EAAShJ,YAAYrkJ,QAAQgyG,WAC9C5uE,MAAOiqH,EAAShJ,YAAYrkJ,QAAQ4iJ,WACpCtrD,UAAW+1D,EAASsL,aACpBj7E,QAASk6D,GAAQ,IAAM,IAAMA,GAAQ,IACrC6gC,WAAY7gC,GAAQ,GACpB8gC,cAAe9gC,GAAQ,IACvB+gC,cAAe/gC,GAAQ,GACvBghC,aAAchhC,GAAQ,IACtBtoH,OAAQ+9H,EAASgD,SAASl7B,mBCbC,SAA2Boe,GACxD,MAAO,CACLvhC,WAAYuhC,EAAcvzD,eAC1B58C,MAAOmwG,EAAcyX,UACrB6tB,gBAAiBjhC,GAAQ,IACzBkhC,eAAgBlhC,GAAQ,IACxBmhC,8BAA+BxlC,EAAcoT,OAAOF,KAAK,KACzDuyB,2BAA4BphC,GAAQ,GACpCqhC,yBAA0BrhC,GAAQ,GAClCshC,mCAAoC3lC,EAAcoT,OAAOF,KAAK,KAC9D0yB,8BAA+BvhC,GAAQ,oBCVN,SAAiCyV,GACpE,MAAO,CACLqF,cAAerF,EAAS1G,OAAOnB,KAAK,KACpC+tB,aAAclmB,EAAS7Z,UAAU77D,OACjCyhG,iBAAkB/rB,EAAS1G,OAAOnB,KAAK,KACvC6zB,2BAA4BhsB,EAAS1G,OAAOnB,KAAK,KACjD8zB,iBAAkBjsB,EAAS1G,OAAOnB,KAAK,KACvC+zB,sBAAuBlsB,EAAS1G,OAAOnB,KAAK,KAC5Cg0B,iCAAkCnsB,EAAS1G,OAAOnB,KAAK,KACvDi0B,4BAA6BpsB,EAAS1G,OAAOjC,MAAM,KACnDg1B,gCAAiCrsB,EAAS1G,OAAOjC,MAAM,KACvDhnE,QAAS,KAAOk6D,GAAQ,GACxBn6D,OAAQm6D,GAAQ,GAAK,IAAMA,GAAQ,GAAK,IAAMA,GAAQ,GAAK,IAAMA,GAAQ,cCZ9C,SAA2ByV,GACxD,MAAO,CACLssB,gBAAiBtsB,EAAS1G,OAAOjC,MAAM,KACvCk1B,qBAAsBvsB,EAAS1G,OAAOjC,MAAM,KAC5Cm1B,mBAAoBxsB,EAAS1G,OAAOnB,KAAK,KACzCs0B,wBAAyBzsB,EAAS1G,OAAOnB,KAAK,KAC9C6M,gBAAiBhF,EAAS7Z,UAAU/7D,MACpCsiG,gBAAiB1sB,EAAS0I,eAC1BoG,kBAAmB9O,EAAS1G,OAAOjC,MAAM,KACzCs1B,kBAAmBpiC,GAAQ,GAC3BqiC,mBAAoBriC,IAAS,GAC7BsiC,YAAY,EACZC,eAAgB9sB,EAAS1G,OAAO5zE,MAChCigF,iBAAkB3F,EAAS1G,OAAOnB,KAAK,qBCbP,WAClC,MAAO,CACL40B,gBAAiBxiC,GAAQ,a7CAC,SAA0BrE,GACtD,MAAO,CACL8Q,YAAa2S,GAA0BzjB,EAAc8Q,YAAa0c,IAClE39H,MAAOmwG,EAAcyX,UACrB8L,cAAevjB,EAAcoT,OAAOnB,KAAK,KACzCvwD,gBAAiBs+C,EAAcvzD,eAC/Bq6F,wBAAyB9mC,EAAcoT,OAAOnB,KAAK,KACnDqtB,oBAAqB,cACrBx7E,aAAc,EACdG,YAAa,QACbD,YAAa,YACbD,UAAW,mCACX5Z,QAAS,iI8CdgB,SAAyB2vE,GAChDhJ,EAAcgJ,EAAShJ,YAC3B,MAAO,CACL73I,OAAQorI,GAAQ,IAChBj8I,OAAQi8I,GAAQ,KAChB0iC,UAAWj2B,EAAYrkJ,QAAQi9E,OAC/Bs9F,kBAAmBl2B,EAAYrkJ,QAAQkpJ,oBACvCsxB,WAAY5iC,GAAQ,GACpB6iC,WAAYp2B,EAAYrkJ,QAAQ6mJ,YAChC6zB,iBAAkBr2B,EAAYrkJ,QAAQ4mJ,YACtC+zB,mBAAoBt2B,EAAYrkJ,QAAQipJ,oBACxC2xB,YAAahjC,GAAQ,IACrBijC,kBAAmBjjC,GAAQ,IAC3BkjC,mBAAoBljC,GAAQ,GAC5BmjC,WAAYnjC,GAAQ,IACpBojC,iBAAkBpjC,GAAQ,IAC1BqjC,WAAY52B,EAAYK,MAAMxB,iBAC9Bg4B,mBAAoB72B,EAAYrkJ,QAAQipJ,6BCjBf,SAAyB1V,GACpD,MAAO,CACLp3D,iBAAa32B,EACb+xC,YAAa,EACb+zD,SAAU1T,GAAQ,GAClB6W,uBAAwBlb,EAAc8Q,YAAY9vE,MAAMy9B,WACxDmpE,iBAAkB5nC,EAAc8Q,YAAY9vE,MAAMqyE,YAClDw0B,oBAAqB7nC,EAAc8Q,YAAYK,MAAM1yC,WACrDqpE,cAAe9nC,EAAc8Q,YAAYrkJ,QAAQ6mJ,YACjDmI,uBAAwBzb,EAAc8Q,YAAYnxE,OAAO8+B,WACzDspE,iBAAkB/nC,EAAc8Q,YAAYnxE,OAAO2zE,YACnD00B,qBAAsBhoC,EAAc8Q,YAAY7wE,IAAIw+B,WACpDwpE,eAAgBjoC,EAAc8Q,YAAY7wE,IAAIqzE,YAC9C40B,uBAAwBloC,EAAc8Q,YAAYrkJ,QAAQwnJ,YAC1Dk0B,iBAAkBnoC,EAAc8Q,YAAYrkJ,QAAQ+mJ,mB7CZ7B,SAAuBxT,GAChD,MAAO,CACL8Q,YAAa2S,GAA0BzjB,EAAc8Q,YAAawe,IAClE8Y,iBAAkBpoC,EAAcC,UAAUykC,SAC1C2D,uBAAwBroC,EAAcsoC,mBACtCnmB,gBAAiBniB,EAAcC,UAAUqX,QACzCixB,sBAAuBvoC,EAAcwoC,kBACrCpmB,cAAepiB,EAAcC,UAAU/7D,MACvCukG,oBAAqBzoC,EAAcyhB,gBACnCY,eAAgBriB,EAAcC,UAAU77D,OACxCskG,qBAAsB1oC,EAAc4Y,iBACpC0J,cAAetiB,EAAcC,UAAU17D,MACvCokG,oBAAqB3oC,EAAc4oC,gBACnCC,eAAgB7oC,EAAcC,UAAUsX,OACxCuxB,qBAAsB9oC,EAAc+oC,iBACpCC,gBAAiBhpC,EAAcC,UAAUuX,QACzCyxB,sBAAuBjpC,EAAckpC,kBACrCC,gBAAiBnpC,EAAcmpC,gBAC/BC,oBAAqBppC,EAAcopC,oBACnCrwB,kBAAmB/Y,EAAc+Y,kBACjCL,mBAAoB1Y,EAAc0Y,mBAClC8J,eAAgBxiB,EAAcwiB,eAC9B6mB,oBAAqBrpC,EAAcoT,OAAOjC,MAAM,KAChDm4B,iBAAkBtpC,EAAcoT,OAAOvzE,OAAO,KAC9C0pG,sBAAuBvpC,EAAcwiB,eACrCe,cAAevjB,EAAcoT,OAAOnB,KAAK,KACzCu3B,WAAYxpC,EAAcoT,OAAOnzE,IAAI,KACrCwpG,gBAAiBzpC,EAAcwiB,eAC/BknB,eAAgB1pC,EAAcoT,OAAOnzE,IAAI,KACzCg7E,aAAcjb,EAAcoT,OAAOpyE,MAAM,KACzC2oG,eAAgB3pC,EAAc8Q,YAAYrkJ,QAAQ4mJ,uB8ChCvB,SAA2ByG,GACxD,MAAO,CACL5vE,OAAQ,IACRC,QAASk6D,GAAQ,GAAK,IAAMA,GAAQ,IACpCz7D,YAAa,cACbkb,aAAcugD,GAAQ,GAAK,IAAMA,GAAQ,GAAK,IAAMA,GAAQ,GAAK,IAAMA,GAAQ,GAC/ErgD,YAAa,OAASqgD,GAAQ,GAAK,KACnC3iD,gBAAiBo4D,EAAShJ,YAAYrkJ,QAAQqnJ,YAC9CqQ,wBAAyBrK,EAAShJ,YAAYrkJ,QAAQgyG,WACtDykE,iBAAkBppB,EAAShJ,YAAYrkJ,QAAQ4mJ,YAC/CkQ,cAAezJ,EAAShJ,YAAYK,MAAMZ,mBAC1CuyB,UAAWhpB,EAAShJ,YAAYrkJ,QAAQ4iJ,WACxC5oE,SAAUqzE,EAAS7Z,UAAU77D,OAC7Bq7E,iBAAkB,2BAA6B3F,EAAShJ,YAAYK,MAAMgF,aAAe,eACzFl9I,OAAQ,OACRopK,iBAAkBvoB,EAAShJ,YAAY7wE,IAAIw+B,qSCff,SAA4Bq7C,GAC1D,MAAO,CACLjqH,MAAOiqH,EAAShJ,YAAYrkJ,QAAQ4iJ,WACpCllE,QAASk6D,GAAQ,GAAK,KACtBvyB,aAAcuyB,GAAQ,IACtBzmC,YAAaymC,GAAQ,IACrBz7D,YAAakxE,EAAShJ,YAAYrkJ,QAAQ4mJ,YAC1CpvD,YAAa,QACbH,aAAcugD,GAAQ,GACtBrgD,YAAaqgD,GAAQ,GACrB6mB,eAAgB,cAChB0e,yBAA0B,UAC1BnrE,WAAY,cACZorE,gBAAiB/vB,EAAShJ,YAAYrkJ,QAAQonJ,YAC9CorB,kBAAmBnlB,EAAShJ,YAAYK,MAAM0D,kBAC9CqqB,mBAAoBplB,EAAShJ,YAAYK,MAAM0D,kBAC/CsqB,sBAAuBrlB,EAAShJ,YAAYrkJ,QAAQgyG,WACpDvvB,mBAAoB4qE,EAAShJ,YAAYrkJ,QAAQgyG,WACjD4gE,0BAA2BvlB,EAAShJ,YAAYrkJ,QAAQ+jJ,mBACxD8uB,oBAAqBxlB,EAAShJ,YAAYrkJ,QAAQipJ,oBAClD6pB,8BAA+BzlB,EAAShJ,YAAYrkJ,QAAQ8jJ,2BCrBpC,WAC1B,MAAO,CACLv3I,WAAOi5C,EACPh5C,YAAQg5C,mBCFyB,SAAiC6nG,GACpE,MAAO,CACL/1D,UAAW+1D,EAASgwB,aACpBhmF,aAAcugD,GAAQ,GACtB4gC,WAAY,MACZ96F,QAASk6D,GAAQ,GAAK,IAAMA,GAAQ,IAAM,IAAMA,GAAQ,GAAK,IAAMA,GAAQ,IAC3EjgD,SAAUigD,GAAQ,KAClB8gC,cAAe9gC,GAAQ,GACvB6gC,WAAY7gC,GAAQ,GACpBghC,aAAchhC,GAAQ,IACtB+gC,cAAe/gC,GAAQ,GACvBx0G,MAAOiqH,EAAShJ,YAAYrkJ,QAAQ8mJ,YACpC7xD,gBAAiBo4D,EAAS1G,OAAOnB,KAAK,KACtCl2H,OAAQ+9H,EAASgD,SAASpF,4gBCbnBqyB,EAAyB,CAClCptF,KAAM,SAAc4iD,GACd3yH,EAAQ2yH,EAAK3yH,MACjB,OAAO9lB,OAAOgB,OAAO,CACnBugD,QAAS,OACTq1D,cAAe,UACd9wF,EAAMo9J,QAAU,CACjB3hI,QAAS,SACR,CACD4hI,kBAAmB,GAAK5lC,GAAQ,QCR3B6lC,GAAuB,CAChCvtF,KAAM,SAAc4iD,GAElB,MAAO,CACLl3F,QAAS,eACTq1D,cAAe,SACfvzB,QAAS,UACTmyB,OALMijC,EAAK3yH,MAKDuL,SAAW,UAAY,YAGrCgyJ,eAAgB,SAAwBnkC,GAClC9+I,EAAI8+I,EAAMp5H,MACd,OAAO9lB,OAAOgB,OAAO,CACnBugD,QAAS,CAAC,OAAQ,YAClB+hI,oBAAqB,OACrBC,cAAe,QACdnjL,EAAEwK,SAAW,CACd04K,oBAAqB,WACrBC,cAAe,cAGnBC,UAAW,SAAmBpkC,GAC5B,IAAIh/I,EAAIg/I,EAAMt5H,MACVvhB,EAAI66I,EAAMsyB,UACVphH,EAAM8uF,EAAM9uF,IAChB,OAAOtwD,OAAOgB,OAAO,CACnB8zG,WAAY,SACZvzD,QAAS,cACTmxH,iBC9BsD3pI,ED8BlBxkC,EAAEwkC,MAAO3oC,EAAE8iL,OC7BnC,mHAAqH39J,mBAAmBwjB,GAAS,yEAA2E,mHAAqHxjB,mBAAmBwjB,GAAS,0ED8BzX06I,mBAAoB,UACnBnzH,GAAO,CACRojB,UAAW,cACV,CACD9oE,QAAS,MACT4yD,SAAU,SACVrrD,OAAQ,OACRD,MAAOqrI,GAAQ,IACfmmC,aAAc,IACd/uD,YAAa,GAAK4oB,GAAQ,MAG9B3yI,QAAS,WACP,MAAO,CACLkqG,WAAY,SACZvzD,QAAS,OACTmiI,aAAc,O3CQTC,GAAc,CACvB9tF,KAAM,SAAc4iD,GACf,IAACr4I,EAAIq4I,EAAK3yH,MACTvhB,EAAIk0I,EAAKi5B,UAEb,OADoBj5B,EAAKl5H,MAAM25H,cACxBl5I,OAAOgB,OAAO,CACnBugD,QAAS,OACTuzD,WAAY,SACZlzB,SAAU,WACVub,YAAa54F,EAAE44F,YACfD,YAAa34F,EAAE24F,YACfF,aAAcz4F,EAAEy4F,aAChB+Z,UAAWxyG,EAAEwyG,UACb1zB,QAAS9+E,EAAE8+E,QACX5uD,WAAYlwB,EAAEkwB,WACdm9C,WAAY,UACZmrB,UAAW,cACVo0E,GAAyB/wK,EAAGmE,IAAmC,QAAfnE,EAAEwjL,WAAqC,IAAfxjL,EAAEwjL,WAAsB,CACjG5mF,aAAcz4F,EAAEy4F,aAAe,IAAMz4F,EAAEy4F,aAAe,QACtC,WAAf58F,EAAEwjL,UAAyB,CAC5B5mF,aAAc,OAASz4F,EAAEy4F,aAAe,IAAMz4F,EAAEy4F,cAC/C58F,EAAEyjL,QAAU,CACbtiI,QAAS,eACRnhD,EAAE0jL,aAAe,CAClBzgG,QAAS9+E,EAAEovJ,qBACTvzJ,EAAEw6G,SAAW,CACfhpC,WAAY,YAGhBmyG,QAAS,SAAiB7kC,GAExB,MAAO,CACL97D,OAFM87D,EAAMwyB,UAEFze,gBAGdjoG,OAAQ,SAAgBo0F,GAClB76I,EAAI66I,EAAMsyB,UACd,MAAO,CACLj9I,WAAYlwB,EAAEotJ,iBACdvuE,OAAQ7+E,EAAEswJ,eAGdpxJ,KAAM,WACJ,MAAO,CACL89C,QAAS,OACT5tB,SAAU,IAGd/oB,QAAS,WACP,MAAO,CACL+oB,SAAU,IAGd6pD,KAAM,SAAc8hE,GACd/6I,EAAI+6I,EAAMoyB,UACd,MAAO,CACLnwH,QAAS,cACTuzD,WAAY,SACZwC,eAAgB,SAChBplG,MAAO3N,EAAE0sJ,SACT9+I,OAAQ5N,EAAE0sJ,SACV+yB,mBAAoB,CAClB7xK,OAAQ,OACRD,MAAO,OACP+xK,QAAS,CACP9xK,OAAQ,OACRD,MAAO,SAGXkxE,OAAQ7+E,EAAEuwJ,c6ClHLovB,GACAC,mC5CXPrS,GAAe,cEgBRsS,GAA2B,CACpCvuF,KAAM,SAAc4iD,GAClB,IAAW2G,EAEPh/I,EAAIq4I,EAAK3yH,MACTvhB,EAAIk0I,EAAKi5B,UAGTx0E,EAFQu7C,EAAKl5H,MACS25H,cACMh8C,YAG5BmnF,EADwBlT,GAAyB/wK,EAAGmE,GACAwkC,MAEpDu7I,EAAoB9S,GAAqB,CAC3CE,UAAW,CACT10E,aAAcz4F,EAAEsxJ,kBAChB34D,YAAa34F,EAAEuxJ,iBACfxF,sBAAuB/rJ,EAAE+rJ,sBACzBC,sBAAuBhsJ,EAAEgsJ,sBACzByF,SAAU,CACRzN,WAAYhkJ,EAAEwxJ,oBAGlBic,cAAe90E,IAEjB,OAAOl9F,OAAOgB,OAAO,CACnBmR,OAAQ5N,EAAEkvJ,kBACVl2D,SAAUh5F,EAAEkvJ,kBACZ1qH,MAAOxkC,EAAEmvJ,oBAAsB,eAC/BhxE,QAAS,EACTW,QAAS,EACT6Z,YAAa,EACbtC,gBAAiBr2F,EAAEwwJ,6BACnB/3D,aAAcz4F,EAAEy4F,aAChBz7C,QAAS,cACT+1D,eAAgB,SAChBxC,WAAY,SACZlzB,SAAU,WACVg1B,cAAe,SACfpB,OAAQ,UACRttF,WAAYi2H,IACXq0B,GAA2B,CAC5B9vF,SAAS,KACNtiF,EAAEmkL,cAAerlC,EAAQ,IAAU,MAAQglC,IAA4ClkL,OAAOgB,OAAO,GAAIyxK,GAAmB4R,GAA6B,EAAM9/K,EAAEqxJ,6BAA8B1W,GAAQ,CAC1MhoC,SAAUl3G,OAAOgB,OAAO,CACtB45F,gBAAiBr2F,EAAE4uJ,qBACnBpqH,MAAO,gBACNypI,GAA2B,CAC5B9vF,SAAS,KACNtiF,EAAEmkL,cAAenlC,EAAQ,IAAU,MAAQ8kC,IAA4ClkL,OAAOgB,OAAO,GAAIyxK,GAAmB4R,GAA6B,EAAO9/K,EAAEqxJ,6BAA8BxW,GAAQoyB,GAAqB,CAChOE,UAAW,CACT10E,aAAcz4F,EAAE6uJ,+BAChBl2D,YAAa34F,EAAE8uJ,8BACf/C,sBAAuB/rJ,EAAE+uJ,mCACzB/C,sBAAuBhsJ,EAAEgvJ,mCACzByC,SAAU,CACRzN,WAAYhkJ,EAAEivJ,6BAGjB,mBACHpnD,SAAUk4E,EAAkB,UAC5BhS,iBAAkBtyK,OAAOgB,OAAO,CAC9B45F,gBAAiBr2F,EAAE+sJ,qBACnBxvE,YAAav9E,EAAEgxJ,8BACfxsH,MAAOxkC,EAAEixJ,wBACTt4D,YAAaA,GACZonF,EAAkB,kBAAmB9R,GAA2B,CACjE9vF,SAAS,KACNtiF,EAAEmkL,cAAejlC,EAAQ,IAAU,MAAQ4kC,IAA4ClkL,OAAOgB,OAAO,GAAIyxK,GAAmB4R,GAA6B,EAAO9/K,EAAEqxJ,6BAA8BtW,GAAQ,CAC3MpoC,SAAU,CACRp1B,YAAav9E,EAAE6wJ,kCAGlBh1J,EAAEixB,UAAY,CACfmkF,OAAQ,UACRzsE,MAAOxkC,EAAEkxJ,2BACTx4D,UAAW,OACXpmB,cAAe,OACfqgC,SAAU,CACRnuE,MAAOxkC,EAAEkxJ,4BAEX76D,gBAAiBr2F,EAAEmxJ,qCACnB5zE,YAAav9E,EAAEoxJ,oCAGnB/qJ,QAAS,SAAiB40I,GACxB,IAAIp/I,EAAIo/I,EAAM15H,MACVvhB,EAAIi7I,EAAMkyB,UACFlyB,EAAMjgI,MACQ25H,cAGtBmrC,EADyBlT,GAAyB/wK,EAAGmE,GACAwkC,MAEzD,OAAO/oC,OAAOgB,OAAO,CACnByzB,WAAYlwB,EAAE8wJ,iCACZj1J,EAAEmkL,YAAcvkL,OAAOgB,OAAO,GAAIyxK,GAAmB4R,GAA6B,EAAO9/K,EAAEqxJ,gC2CxGxF4uB,GAAkB,YAClBC,GACED,GAAkB,cADpBC,GAGJD,GAAkB,QCNdE,GAA4B,wBCF5BC,GAAmB,CAC5B9uF,KAAM,SAAc4iD,GAClB,IAEIr4I,EAAIq4I,EAAK3yH,MACTvhB,EAAIk0I,EAAKi5B,UACTx4B,EAAgBT,EAAKl5H,MAAM25H,cAC3BorC,EAAoB9S,GAAqB,CAC3CE,UAAWx4B,EACXl8C,aAAcz4F,EAAEy4F,eAElB,OAAOh9F,OAAOgB,OAAO,CACnB4gF,SAAU,WACVrgC,QAAS,cACTuzD,WAAY,SACZ5iG,MAAO,OACPorF,SAAUigD,GAAQ,KAClBxmC,UAAWwmC,GAAQ,IACnBl6D,QAAS9+E,EAAE8+E,QACXuxC,aAAc2oB,GAAQ,GACtB5oB,YAAa4oB,GAAQ,GACrB5lC,WAAYpzG,EAAEq2F,gBACd7xD,MAAOxkC,EAAE4sJ,UACTl0D,UAAW14F,EAAE04F,UACbra,OAAQs2D,EAAch8C,YAAc,UAAY34F,EAAEu9E,YAClDkb,aAAcz4F,EAAEy4F,cACfsnF,EAAmB,CACpBM,6BAA8B,CAC5B18J,WAAY,aACZ05D,SAAU,WACVrgC,QAAS,QACTogB,OAAQ,EACRva,KAAM,EACNk2C,SAAU,OACVnrF,OAAQ5N,EAAEktJ,eACV95C,WAAYpzG,EAAEitJ,gBAEfpxJ,EAAEykL,YAAc,CACjBrvE,OAAQ,UACR88D,iBAAkBtyK,OAAOgB,OAAO,GAAIsjL,EAAkB,oBAAoBnuB,EAAiB,CACzFv7D,gBAAiBr2F,EAAE+sJ,qBACnBvoH,MAAOxkC,EAAEgtJ,aACO,MAAQmzB,IAA6B,CACrD37I,MAAOxkC,EAAEgtJ,YACR4E,EAAe,MAAQtY,IAAoB,CAC5C90G,MAAOxkC,EAAEgtJ,YACR4E,IACHj/C,WAAW4tE,EAAS,CAClBlqF,gBAAiBr2F,EAAE2sJ,qBACnBnoH,MAAOxkC,EAAE6sJ,iBACD,MAAQszB,IAA6B,CAC7C37I,MAAOxkC,EAAE6sJ,gBACR0zB,EAAO,MAAQjnC,IAAoB,CACpC90G,MAAOxkC,EAAE6sJ,gBACR0zB,OCtDEC,GAAyB,CAClClvF,KAAM,SAAc4iD,GAClB,IAAIr4I,EAAIq4I,EAAK3yH,MACTvhB,EAAIk0I,EAAKi5B,UAETx4B,EADQT,EAAKl5H,MACS25H,cACtB8rC,EAAmBxS,GAA2B,CAChD9vF,SAAS,IAEP4hG,EAAoB9S,GAAqB,CAC3CE,UAAWx4B,EACXl8C,aAAcz4F,EAAEuuJ,0BAElB,OAAO9yJ,OAAOgB,OAAO,CACnBmR,OAAQ5N,EAAE6tJ,aACV90D,SAAU/4F,EAAE8tJ,eACZ9wG,QAAS,cACT+1D,eAAgB,SAChBxC,WAAY,SACZlzB,SAAU,WACVg1B,cAAe,SACfpB,OAAQ,UAERzsE,MAAOxkC,EAAE+tJ,YAET13D,gBAAiB,cACjB9Y,YAAa,cACbuB,QAAS,GACRmvF,GAA2B,CAC5B9vF,SAAS,IACP,CACF0pB,SAAUpsG,OAAOgB,OAAO,CACtBi8F,UAAW,QACVqnF,EAAkB,WACrBhS,iBAAkBtyK,OAAOgB,OAAO,GAAIgkL,EAAkBV,EAAkB,oBACvElkL,EAAE+0H,SAAW,CACdpsF,MAAOxkC,EAAEguJ,oBACRnyJ,EAAEixB,UAAY,CACfmkF,OAAQ,UACRvY,UAAW,OACXpmB,cAAe,OACf9tC,MAAOxkC,EAAEiuJ,oBACT53D,gBAAiB,cACjBsc,SAAU,CACRnuE,MAAOxkC,EAAEiuJ,sBAEV,CACDj1D,SAAUh5F,EAAE6tJ,aACZl7C,SAAUl3G,OAAOgB,OAAO,GAAIwxK,GAA2B,CACrD9vF,SAAS,QAIflF,KAAM,SAAc0hE,GAClB,IAAI9+I,EAAI8+I,EAAMp5H,MACVvhB,EAAI26I,EAAMwyB,UACd,OAAO1xK,OAAOgB,OAAO,CACnBugD,QAAS,cACTuzD,WAAY,SACZwC,eAAgB,SAChBplG,MAAO3N,EAAEkuJ,eACTtgJ,OAAQ5N,EAAEkuJ,gBACTryJ,EAAEslG,SAAW,CACdtiB,OAAQ,EACRxuD,QAAS,EACT1iB,MAAO,GACN9R,EAAEmkL,YAAcvkL,OAAOgB,OAAO,CAC/BoiF,OAAQ,KAAOm6D,GAAQ,IAAM,QACT,UAAnBn9I,EAAEo7K,cAA4B,CAC/Bp4F,OAAQ,SAAWm6D,GAAQ,QAG/B0nC,OAAQ,SAAgB7lC,GACtB,IAEIh/I,EAAIg/I,EAAMt5H,MACVvhB,EAAI66I,EAAMsyB,UACd,OAAO1xK,OAAOgB,SAAQm1J,EAAiB,IAAmB,MAAQsuB,IAAkC,CAClGvyK,MAAO3N,EAAEouJ,iBACTxgJ,OAAQ5N,EAAEouJ,kBACTwD,EAAe,MAAQsuB,IAA4B,CACpDlS,UAAW,CACT5vI,cAAe,CACb7d,GAAI,CACF4uD,UAAW,kBAAoBnvE,EAAEsuJ,+BAAiC,SAGtE31D,YAAa34F,EAAEmuJ,uBACfxgJ,MAAO3N,EAAEouJ,iBACTxgJ,OAAQ5N,EAAEquJ,wBAEXuD,GAAiB/1J,EAAEmkL,YAAc,CAClC5vD,YAAa4oB,GAAQ,OC/FhB2nC,GAAuB,CAChCrvF,KAAM,SAAc4iD,GAClB,IAEIl0I,EAAIk0I,EAAKi5B,UACNxyB,EAAQ,CACb/sI,OAAQ5N,EAAE0sJ,SACV/+I,MAAO3N,EAAE0sJ,SACTt8B,YAAapwH,EAAEysJ,UACdm0B,aAAkC,CACnChzK,OAAQ,OACRD,MAAO,OACP+xK,QAAS,CACP9xK,OAAQ,OACRD,MAAO,UATX,OAWGgtI,IChBHkmC,GAAgB,CAClBxH,SAAU,GACVptB,QAAS,GACTpzE,MAAO,GACPE,OAAQ,GACRG,MAAO,GACPgzE,OAAQ,GACRC,QAAS,IAEA20B,EAAe,CACxBxvF,KAAM,SAAc4iD,GACdlgI,EAAOkgI,EAAK3yH,MAAMvN,KAClB+sK,EAAY/nC,GAAQ6nC,GAAc7sK,IACtC,MAAO,CACLqpE,SAAU,WACVgZ,gBAAiB,UACjBr5C,QAAS,eACTq1D,cAAe,SACfzkG,OAAQmzK,EACRpzK,MAAOozK,KCnBTF,GAAgB,CAClBxH,SAAU,EACVptB,QAAS,GACTpzE,MAAO,GACPE,OAAQ,GACRG,MAAO,GACPgzE,OAAQ,GACRC,QAAS,GASA60B,GAAqB,CAC9B1vF,KAAM,SAAc4iD,GAClB,IAAIl0I,EAAIk0I,EAAKi5B,UACT8T,EAAa/sC,EAAK3yH,MAClBijB,EAAQy8I,EAAWz8I,MACnBxwB,EAAOitK,EAAWjtK,KAClBs9B,EAAQ2vI,EAAW3vI,MACvB,OAAO71C,OAAOgB,OAAO,CACnBugD,QAAS,cACTuzD,WAAY,SACZwC,eAAgB,UAjBK,SAAuBmuE,GAC5CH,EAAY/nC,GAAQkoC,GACxB,MAAO,CACLtzK,OAAQmzK,EACRpzK,MAAOozK,GAcJI,CAAcN,GAAc7sK,IAAQ,CACrCq+F,cAAe,SACf5Z,aAAc,SACdpb,SAAU,WACVjgB,OAAQ,EACRD,MAAO,EACPu7B,UAAW,SAAW14F,EAAEkyJ,kBAAoB,IAAMlyJ,EAAEoyJ,mBACzC,YAAV9gH,GAAuB,CACxB+kD,gBAAiBr2F,EAAEqyJ,8BACR,SAAV/gH,GAAoB,CACrB+kD,gBAAiBr2F,EAAEuyJ,2BACR,YAAVjhH,GAAuB,CACxB+kD,gBAAiBr2F,EAAEyyJ,8BACR,UAAVnhH,GAAqB,CACtB+kD,gBAAiBr2F,EAAE2yJ,4BACR,YAAVrhH,GAAuB,CACxB+kD,gBAAiBr2F,EAAE6yJ,yBAChBruH,GAAS,CACZ6xD,gBAAiB7xD,MC9CZ48I,GAAyB,CAClC9vF,KAAM,SAAc4iD,GAClB,IAAI5iG,EAAQ4iG,EAAK3yH,MAAM+vB,MACnBtxC,EAAIk0I,EAAKi5B,UACb,OAAO1xK,OAAOgB,OAAO,CACnBugD,QAAS,cACTuzD,WAAY,SACZwC,eAAgB,SAChBplG,MAAO3N,EAAEmyJ,eACTvkJ,OAAQ5N,EAAEmyJ,eACV3tH,MAAOxkC,EAAE8yJ,aACE,YAAVxhH,GAAuB,CACxB9M,MAAOxkC,EAAEsyJ,oBACE,SAAVhhH,GAAoB,CACrB9M,MAAOxkC,EAAEwyJ,iBACE,UAAVlhH,GAAqB,CACtB9M,MAAOxkC,EAAE4yJ,kBACE,YAAVthH,GAAuB,CACxB9M,MAAOxkC,EAAE0yJ,oBACR,CACD+sB,mBAAoB,CAClB7xK,OAAQ,OACRD,MAAO,OACP+xK,QAAS,CACP9xK,OAAQ,OACRD,MAAO,aCzBN0zK,GAAoB,CAC7B/vF,KAAM,SAAc4iD,GAClB,IAAIl0I,EAAIk0I,EAAKi5B,UACTtxK,EAAIq4I,EAAK3yH,MACb,OAAO9lB,OAAOgB,OAAO,CACnB+7F,UAAW,aACXx7C,QAAS,gBACRnhD,EAAEyyK,UAAY,CACf71E,aAAcz4F,EAAEmzJ,qBACft3J,EAAEylL,QAAU,CACb3zK,MAAO9R,EAAE0lL,MAAS,OAAUvhL,EAAEkzJ,gBAC9Bz6D,aAAcz4F,EAAEizJ,mBACf,CACD11E,YAAav9E,EAAE8xJ,kBACfl5D,YAAa,QACbD,YAAa34F,EAAE+xJ,kBACfnkJ,OAAQ,OACR81F,UAAW,QACX2O,cAAe,MACf1kG,MAAO,SACL9R,EAAEylL,QAAU,CACd7oF,aAAcz4F,EAAEgyJ,6BCpBlB6uB,GAAgB,CAClBxH,SAAU,GACVptB,QAAS,GACTpzE,MAAO,GACPE,OAAQ,GACRG,MAAO,GACPgzE,OAAQ,GACRC,QAAS,IAEPq1B,GAAoB,CACtBnI,SAAU,GACVptB,QAAS,GACTpzE,MAAO,GACPE,OAAQ,GACRG,MAAO,GACPgzE,OAAQ,GACRC,QAAS,IAEAs1B,GAAmB,CAC5BnwF,KAAM,SAAc4iD,GAClB,IAAIl0I,EAAIk0I,EAAKi5B,UACTtxK,EAAIq4I,EAAK3yH,MACTw/J,EAAY/nC,GAAQ6nC,GAAchlL,EAAEmY,OACpC0tK,EAAgB1oC,GAAQwoC,GAAkB3lL,EAAEmY,OAChD,OAAOvY,OAAOgB,OAAO,CACnB+nC,MAAOxkC,EAAEyyG,UACTW,WAAYpzG,EAAEiyJ,oBACdtkJ,MAAOozK,EACPnzK,OAAQmzK,EACRtoF,aAAc,MACdz7C,QAAS,cACTuzD,WAAY,UACX10G,EAAE8lL,QAAU,CACblpF,aAAcz4F,EAAEgyJ,0BACf,CACDytB,mBAAoB,CAClB5gG,OAAQ,SACRlxE,MAAO+zK,EACP9zK,OAAQ8zK,EACRhC,QAAS,CACP/xK,MAAO,OACPC,OAAQ,aCzCdizK,GAAgB,CAClBxH,SAAU,GACVptB,QAAS,GACTpzE,MAAO,GACPE,OAAQ,GACRG,MAAO,GACPgzE,OAAQ,GACRC,QAAS,IAEAy1B,EAAoB,CAC7BtwF,KAAM,SAAc4iD,GAClB,IAAIr4I,EAAIq4I,EAAK3yH,MACTvhB,EAAIk0I,EAAKi5B,UACT4T,EAAY/nC,GAAQ6nC,GAAchlL,EAAEmY,OACxC,OAAOvY,OAAOgB,OAAO,CACnB8zG,WAAY,SACZt3C,SAAU,SACVz0B,MAAOxkC,EAAEqzJ,WACTh9D,gBAAiBr2F,EAAEszJ,gBACnB76D,aAAc,MACdz7C,QAAS,eACTrvC,MAAOozK,EACPnzK,OAAQmzK,EACR3wJ,WAAY2wJ,EACZ3lG,SAAU49D,GAAQ6nC,GAAchlL,EAAEmY,MAAQ,OAC1Cq+F,cAAe,MACfnB,UAAW,SACXpyB,QAAS,KACRjjF,EAAE8lL,QAAU,CACblpF,aAAcz4F,EAAEgyJ,0BACfn2J,EAAEyyK,UAAY,CACf71E,aAAcz4F,EAAEozJ,wBC1BXyuB,GAAe,CACxBvwF,KAAM,SAAc4iD,GAClB,IAAIr4I,EAAIq4I,EAAK3yH,MACTvhB,EAAIk0I,EAAKi5B,UAETx4B,EADQT,EAAKl5H,MACS25H,cACtBh8C,EAAcg8C,EAAch8C,YAC5BonF,EAAoB9S,GAAqBxxK,OAAOgB,OAAO,CACzD0wK,UAAWx4B,EACX84B,cAAe90E,GACd98F,EAAEyyK,UAAY,CACfb,cAAez0B,GAAQ,MAEzB,OAAOv9I,OAAOgB,OAAO,CACnBmR,OAAQ5N,EAAE4N,OACVorF,SAAU8oF,GAAOjmL,EAAEslG,SAAWnhG,EAAEg5F,SAAWh5F,EAAEwzJ,gBAC7Cz6D,SAAU/4F,EAAE+4F,SACZv0D,MAAOxkC,EAAEwkC,MACT6xD,gBAAiBr2F,EAAEq2F,gBACnBoC,aAAcz4F,EAAEy4F,aAChBz7C,QAAS,cACT+1D,eAAgB,SAChBxC,WAAY,SACZlzB,SAAU,WACVyB,QAAS9+E,EAAE8+E,QACXuzB,cAAe,SACfpB,OAAQ,UACRttF,WAAYi2H,IACA,UAAX/9I,EAAEmY,MAAoB,CACvB8qE,QAAS9+E,EAAEu2J,iBACX3oJ,OAAQ5N,EAAEq2J,gBACVr9D,SAAUh5F,EAAEs2J,oBACVz6J,EAAEqpC,MAAQzpC,OAAOgB,OAAO,CAC1B0hF,QAAS,EACTwa,YAAaA,EACbC,YAAa,QACbrb,YAAav9E,EAAEu9E,YACfmb,UAAW14F,EAAE04F,UACbia,SAAU,CACRnuE,MAAOxkC,EAAE4zJ,WACTv9D,gBAAiBr2F,EAAE2sJ,qBACnBpvE,YAAav9E,EAAEm0J,oBAEft4J,EAAEkmL,mBAAqB,CACzBnvE,UAAW,CACTjvF,WAAYg2H,GACZn1G,MAAOxkC,EAAE6zJ,YACTx9D,gBAAiBr2F,EAAEg0J,sBACnBz2E,YAAav9E,EAAEq0J,kBACf37D,UAAW,SAEZ,CACDmP,SAAUk4E,EAAkB,UAC5BhS,iBAAkBtyK,OAAOgB,OAAO,GAAIsjL,EAAkB,kBAAmB,CACvE1pF,gBAAiBr2F,EAAEi0J,qBACnB12E,YAAav9E,EAAEo0J,iBACf5vH,MAAOxkC,EAAE+zJ,WACTp7D,YAAaA,EACbga,SAAU,CACRp1B,YAAav9E,EAAEm0J,qBAGP,UAAXt4J,EAAEmY,MAAoB,CACvB0kF,UAAW,SACT78F,EAAEyyK,WAAazyK,EAAEqpC,MAAQzpC,OAAOgB,OAAO,CACzCu8F,SAAUh5F,EAAE4N,OACZkxE,QAAS,EACT2Z,aAAcz4F,EAAEu1J,sBACJ,UAAX15J,EAAEmY,MAAoB,CACvBglF,SAAUh5F,EAAEq2J,kBACVx6J,EAAEqpC,MAAQzpC,OAAOgB,OAAO,CAC1B+nC,MAAOxkC,EAAE4sJ,UACTv2D,gBAAiB,cACjB9Y,YAAa,cACbuB,QAAS,KAAOk6D,GAAQ,IACvBi1B,GAA2B,CAC5B9vF,SAAS,IACP,CACFw0B,SAAUl3G,OAAOgB,OAAO,CACtB+nC,MAAOxkC,EAAE6sJ,gBACRohB,GAA2B,CAC5B9vF,SAAS,KAEX0pB,SAAUpsG,OAAOgB,OAAO,CACtBi8F,UAAW,QACVqnF,EAAkB,WACrBhS,iBAAkBgS,EAAkB,mBACnClkL,EAAE+0H,SAAW,CACdpsF,MAAOxkC,EAAEw1J,mBACP35J,EAAE+0H,UAAY/0H,EAAEqpC,MAAQzpC,OAAOgB,OAAO,CACxC+nC,MAAOxkC,EAAEw0J,aACTn+D,gBAAiBr2F,EAAE00J,uBACnBn3E,YAAav9E,EAAE+0J,mBACfr8D,UAAW14F,EAAE41J,mBACX/5J,EAAEkmL,mBAAqB,CACzBnvE,UAAW,CACTjvF,WAAYg2H,GACZtjD,gBAAiBr2F,EAAE20J,6BACnBj8D,UAAW,SAEZ,CACDmP,SAAUk4E,EAAkB,UAC5BhS,iBAAkBtyK,OAAOgB,OAAO,GAAIsjL,EAAkB,kBAAmB,CACvE1pF,gBAAiBr2F,EAAE80J,8BAErBniD,SAAU,CACRnuE,MAAOxkC,EAAEy0J,kBACTp+D,gBAAiBr2F,EAAE40J,+BAEnB/4J,EAAEmmL,UAAYvmL,OAAOgB,OAAO,CAC9B45F,gBAAiBs+C,EAAc8Q,YAAYkC,OAAOv0C,WAClD71B,YAAao3D,EAAc8Q,YAAYkC,OAAOtpE,OAC9C75C,MAAOmwG,EAAc8Q,YAAYkC,OAAO3D,aACtCnoJ,EAAEkmL,mBAAqB,CACzBnvE,UAAW,CACTjvF,WAAYg2H,GACZtjD,gBAAiBs+C,EAAc8Q,YAAYkC,OAAO5C,kBAClDvgH,MAAOmwG,EAAc8Q,YAAYkC,OAAOzD,kBAEzC,CACDvxC,SAAU,CACRtc,gBAAiBs+C,EAAc8Q,YAAYkC,OAAOxD,gBAClD3/G,MAAOmwG,EAAc8Q,YAAYkC,OAAOzD,iBAE1Cr8C,SAAUpsG,OAAOgB,OAAO,GAAIsjL,EAAkB,UAAW,CACvDrnF,UAAW,SAEbq1E,iBAAkBtyK,OAAOgB,OAAO,GAAIsjL,EAAkB,mBAAoBlkL,EAAEkmL,mBAAqB,CAC/F1rF,gBAAiBs+C,EAAc8Q,YAAYkC,OAAO5C,kBAClDvgH,MAAOmwG,EAAc8Q,YAAYkC,OAAOzD,oBAExCroJ,EAAEomL,QAAUxmL,OAAOgB,OAAO,CAC5B45F,gBAAiBr2F,EAAEk1J,sBACnB33E,YAAav9E,EAAEq1J,kBACf7wH,MAAOxkC,EAAEg1J,cACPn5J,EAAEkmL,mBAAqB,CACzBnvE,UAAW,CACTjvF,WAAYg2H,GACZtjD,gBAAiBr2F,EAAEm1J,8BAEpB,CACDxiD,SAAU,CACRtc,gBAAiBr2F,EAAEo1J,4BAErBvtD,SAAU,CACRnP,UAAW,UAEX78F,EAAEixB,UAAY,CAGhBwlD,cAAe,SACbz2E,EAAEixB,UAAYjxB,EAAEkmL,oBAAsBtmL,OAAOgB,OAAO,CACtDw0G,OAAQ,UACRzsE,MAAOxkC,EAAE8zJ,cACTp7D,UAAW,OACXia,SAAU,CACRnuE,MAAOxkC,EAAE8zJ,gBAEVj4J,EAAEqpC,MAAQ,CACXV,MAAOxkC,EAAE01J,kBACTr/D,gBAAiB,cACjBsc,SAAU,CACRnuE,MAAOxkC,EAAE01J,qBAET75J,EAAEqpC,MAAQ,CACZmxD,gBAAiBr2F,EAAEk0J,wBACnB32E,YAAav9E,EAAEs0J,sBACbz4J,EAAE0lL,OAAS,CACb5zK,MAAO,OACPorF,SAAU,QACTl9F,EAAEqmL,UAAYzmL,OAAOgB,OAAO,CAC7Bu8F,SAAUh5F,EAAE4N,OACZkxE,QAAS,IACPjjF,EAAEmmL,UAAY,CAChBrvE,SAAUl3G,OAAOgB,OAAO,GAAIwxK,GAA2B,CACrD9vF,SAAS,IACP,CACF35C,MAAOxkC,EAAE21J,uBACTviD,WAAYpzG,EAAEu0J,gCAEJ,UAAX14J,EAAEmY,MAAoB,CACvBglF,SAAUh5F,EAAEq2J,oBAGhBp9E,KAAM,SAAc0hE,GAClB,IAAI9+I,EAAI8+I,EAAMp5H,MACVvhB,EAAI26I,EAAMwyB,UACd,OAAO1xK,OAAOgB,OAAO,CACnBugD,QAAS,cACTuzD,WAAY,SACZwC,eAAgB,SAChBplG,MAAO3N,EAAE0sJ,SACT9+I,OAAQ5N,EAAE0sJ,UACT7wJ,EAAEslG,SAAW,CACdtiB,OAAQ,EACRxuD,QAAS,EACT1iB,MAAO,GACN9R,EAAEmkL,YAAcvkL,OAAOgB,OAAO,CAC/BoiF,OAAQ,KAAOm6D,GAAQ,IAAM,QACT,UAAnBn9I,EAAEo7K,cAA4B,CAC/Bp4F,OAAQ,SAAWm6D,GAAQ,QAG/B0nC,OAAQ,SAAgB7lC,GACtB,IAEIh/I,EAAIg/I,EAAMt5H,MACVvhB,EAAI66I,EAAMsyB,UACd,OAAO1xK,OAAOgB,SAAQm1J,EAAiB,IAAmB,MAAQsuB,IAAkC,CAClGvyK,MAAkB,UAAX9R,EAAEmY,KAAmBhU,EAAEy2J,oBAAsBz2J,EAAE+1J,WACtDnoJ,OAAmB,UAAX/R,EAAEmY,KAAmBhU,EAAEy2J,oBAAsBz2J,EAAE+1J,YACtDnE,EAAe,MAAQsuB,IAA4B,CACpDlS,UAAW,CACT5vI,cAAe,CACb7d,GAAI,CACF4uD,UAAW,mBAAgC,UAAXtzE,EAAEmY,KAAmBhU,EAAE22J,kCAAoC32J,EAAEi2J,0BAA4B,SAG7Ht9D,YAAwB,UAAX98F,EAAEmY,KAAmBhU,EAAEw2J,0BAA4Bx2J,EAAE81J,iBAClEnoJ,MAAkB,UAAX9R,EAAEmY,KAAmBhU,EAAEy2J,oBAAsBz2J,EAAE+1J,WACtDnoJ,OAAmB,UAAX/R,EAAEmY,KAAmBhU,EAAE02J,yBAA2B12J,EAAEg2J,kBAE7DpE,GAAiB/1J,EAAEmkL,YAAc,CAClC5vD,YAAa4oB,GAAQ,OpD3NhBmpC,EAAoB,CAC7B7wF,KAAM,WACJ,MAAO,IAET8wF,aAAc,SAAsBluC,GAC9Br4I,EAAIq4I,EAAK3yH,MACb,OAAO9lB,OAAOgB,OAAO,GAAI4xK,GAAoBxyK,EAAEyyK,YAEjD+T,YAAa,SAAqB1nC,GAChC,IAAI9+I,EAAI8+I,EAAMp5H,MACVvhB,EAAI26I,EAAMwyB,UACd,OAAO1xK,OAAOgB,OAAO,GAAI4xK,GAAoBxyK,EAAEyyK,WAAYzyK,EAAEyyK,UAAY,CACvEgU,oBAAqBtiL,EAAEy4F,aACvB8pF,uBAAwBviL,EAAEy4F,gBAG9B+pF,WAAY,SAAoB3nC,GAC9B,IAAIh/I,EAAIg/I,EAAMt5H,MACVvhB,EAAI66I,EAAMsyB,UACd,OAAO1xK,OAAOgB,OAAO,GAAI4xK,GAAoBxyK,EAAEyyK,WAAYzyK,EAAEyyK,UAAY,CACvE7+C,qBAAsBzvH,EAAEy4F,aACxBi3B,wBAAyB1vH,EAAEy4F,iBqD/BtBgqF,GAAsB,CAC/BnxF,KAAM,SAAc4iD,GAClB,IAAIr4I,EAAIq4I,EAAK3yH,MACTvhB,EAAIk0I,EAAKi5B,UACb,OAAO1xK,OAAOgB,OAAO,CACnBw8D,SAAU,SACVq5C,aAAc,WACdV,WAAY,SACZx2B,SAAUp7E,EAAEyzJ,gBACZvjI,WAAYlwB,EAAE0zJ,kBACdtjI,WAAYpwB,EAAE2zJ,mBACF,UAAX93J,EAAEmY,MAAoB,CACvBonE,SAAUp7E,EAAEk2J,yBACZ9lI,WAAYpwB,EAAEm2J,+BCbTusB,GAAuB,CAChCpxF,KAAM,SAAc4iD,GAClB,IAAIr4I,EAAIq4I,EAAK3yH,MACTvhB,EAAIk0I,EAAKi5B,UACb,OAAO1xK,OAAOgB,OAAO,CACnBugD,QAAS,cACTuzD,WAAY,SACZ8B,cAAe,UACdx2G,EAAE8iL,QAAU,CACbzuJ,WAAYlwB,EAAEk3J,uBACbr7J,EAAEixB,UAAY,CACf0X,MAAOxkC,EAAEk4J,eACG,YAAXr8J,EAAEmY,MAAsB,CACzBu+F,YAAavyG,EAAEs3J,uBACf7wC,aAAczmH,EAAEu3J,wBAChB9sE,IAAKzqF,EAAE83J,gBACK,UAAXj8J,EAAEmY,MAAoB,CACvBu+F,YAAavyG,EAAEw3J,qBACf/wC,aAAczmH,EAAEy3J,sBAChBhtE,IAAKzqF,EAAE+3J,cACK,WAAXl8J,EAAEmY,MAAqB,CACxBu+F,YAAavyG,EAAE03J,sBACfjxC,aAAczmH,EAAE23J,uBAChBltE,IAAKzqF,EAAEg4J,eACK,UAAXn8J,EAAEmY,MAAoB,CACvBu+F,YAAavyG,EAAE43J,qBACfnxC,aAAczmH,EAAE63J,sBAChBptE,IAAKzqF,EAAEi4J,iBC1BF0qB,GAAuB,CAChCrxF,KAAM,SAAc4iD,GAClB,IAAIr4I,EAAIq4I,EAAK3yH,MACTvhB,EAAIk0I,EAAKi5B,UACTx4B,EAAgBT,EAAKl5H,MAAM25H,cAC3BorC,EAAoB9S,GAAqBxxK,OAAOgB,OAAO,CACzD0wK,UAAWx4B,GACC,YAAX94I,EAAEmY,MAAsB,CACzBy5J,cAAe,CACb1qH,IAAK/iD,EAAEo3J,eACPj6F,MAAOn9D,EAAEu3J,wBACTn6F,OAAQp9D,EAAEq3J,kBACVx0G,KAAM7iD,EAAEs3J,yBAEE,UAAXz7J,EAAEmY,MAAoB,CACvBy5J,cAAe,CACb1qH,IAAK/iD,EAAEo3J,eACPj6F,MAAOn9D,EAAEy3J,sBACTr6F,OAAQp9D,EAAEq3J,kBACVx0G,KAAM7iD,EAAEw3J,uBAEE,WAAX37J,EAAEmY,MAAqB,CACxBy5J,cAAe,CACb1qH,IAAK/iD,EAAEo3J,eACPj6F,MAAOn9D,EAAE23J,uBACTv6F,OAAQp9D,EAAEq3J,kBACVx0G,KAAM7iD,EAAE03J,wBAEE,UAAX77J,EAAEmY,MAAoB,CACvBy5J,cAAe,CACb1qH,IAAK/iD,EAAEo3J,eACPj6F,MAAOn9D,EAAE63J,sBACTz6F,OAAQp9D,EAAEq3J,kBACVx0G,KAAM7iD,EAAE43J,yBAGZ,OAAOn8J,OAAOgB,OAAO,CACnBugD,QAAS,OACTuzD,WAAY,SACZlzB,SAAU,WACVulG,WAAY,CACVp+I,MAAO,YAERu7I,KC5CI8C,GAAmB,CAC5BvxF,KAAM,SAAc4iD,GAClB,IAAIr4I,EAAIq4I,EAAK3yH,MACTvhB,EAAIk0I,EAAKi5B,UACb,OAAO1xK,OAAOgB,OAAO,CACnBugD,QAAS,cACTuzD,WAAY,UACA,YAAX10G,EAAEmY,MAAsB,CACzBonE,SAAUp7E,EAAE82J,iBACA,UAAXj7J,EAAEmY,MAAoB,CACvBonE,SAAUp7E,EAAE+2J,eACA,WAAXl7J,EAAEmY,MAAqB,CACxBonE,SAAUp7E,EAAEg3J,gBACA,UAAXn7J,EAAEmY,MAAoB,CACvBonE,SAAUp7E,EAAEi3J,kBCbP6rB,GAAa,CACtBxxF,KAAM,SAAc4iD,GACdl0I,EAAIk0I,EAAKi5B,UACb,MAAO,CACL92E,gBAAiBr2F,EAAEq2F,gBACnBhY,OAAQ,aAAer+E,EAAEq2F,gBACzBr5C,QAAS,OACT+lI,cAAe,SACfC,UAAW,OACXlkG,QAAS,KAAOk6D,GAAQ,IAAM,MAAQA,GAAQ,IAC9Cn6D,OAAQ,KCVHokG,EAAiB,CAC1B3xF,KAAM,SAAc4iD,GACf,IAACr4I,EAAIq4I,EAAK3yH,MAEb,OADQ2yH,EAAKi5B,UACN1xK,OAAOgB,OAAO,CACnB4gF,SAAU,cACPxhF,EAAEwjL,UAA2B,QAAfxjL,EAAEwjL,WAAuB,CAC1C14D,WAAYqyB,GAAQ,MACH,WAAfn9I,EAAEwjL,WAAwC,IAAfxjL,EAAEwjL,WAAsB,CACrD14D,WAAYqyB,GAAQ,IACnB,CACDtyB,cAAe,KAGnBw8D,OAAQ,SAAgBvoC,GACtB,IAEI9+I,EAAI8+I,EAAMp5H,MACVvhB,EAAI26I,EAAMwyB,UACd,OAAO1xK,OAAOgB,SAAQm1J,EAAiB,CACrCv0E,SAAU,WACV8yC,UAAWnwH,EAAEywK,eACyB,QAAtB50K,EAAEsnL,gBAA4B,QAAU,QAAU,EAAGvxB,IAAiC,WAAf/1J,EAAEwjL,WAAwC,IAAfxjL,EAAEwjL,WAAsB,CAC1IriI,QAAS,UAGbzrC,QAAS,SAAiBspI,GACxB,IAAIh/I,EAAIg/I,EAAMt5H,MACVvhB,EAAI66I,EAAMsyB,UACd,MAAO,CACL9vF,SAAU,WACV+lG,MAA6B,QAAtBvnL,EAAEsnL,gBAA4B,QAAU,OAC/CjzD,WAAYlwH,EAAE0wK,cACdtgD,YAAapwH,EAAE0wK,iBC3BV2S,GAAoB,cACpBC,EAEAD,GAAoB,YCUpBE,GAAuB,mBACvBC,GACGD,GAAuB,YCjB1BE,GAAoB,CAC7BnyF,KAAM,SAAc4iD,GAClB,IAAYyG,EAAcI,EAEtBl/I,EAAIq4I,EAAK3yH,MACTvhB,EAAIk0I,EAAKi5B,UACTx4B,EAAgBT,EAAKl5H,MAAM25H,cAC/B,OAAOl5I,OAAOgB,OAAO,CACnBugD,QAAS,eACTqgC,SAAU,WACV6yC,WAAYr0H,EAAE6nL,KAAO1jL,EAAEmnC,OAAS,EAChCipF,YAAcv0H,EAAE6nL,KAAkB,EAAX1jL,EAAEmnC,OACzB4xD,SAAU,eAAiB/4F,EAAEmnC,OAAS,IACtC6xD,SAAUh5F,EAAEmnC,OACZorE,YAAavyG,EAAE8+E,QACf2nC,aAAczmH,EAAE8+E,QAChB6nC,WAAYqyB,GAAQ,GACpBtyB,cAAesyB,GAAQ,IACvBvgD,aAAcz4F,EAAEy4F,aAChBpa,OAAQr+E,EAAEq+E,OACVF,QAAS,EACT35C,MAAOxkC,EAAEwkC,MACT6xD,gBAAiBx6F,EAAE6nL,KAAO1jL,EAAE8wK,oBAAsB9wK,EAAEq2F,gBACpDstF,UAAW,aACXC,SAAU,eACR5jL,EAAEwxK,YAAcxxK,EAAEuxK,cAAgB,CACpCsS,WAAY,CACVx9K,QAAS,KACTgwF,gBAAiBr2F,EAAEwxK,WAAaxxK,EAAEyxK,gBAAkBzxK,EAAE2xK,iBACtD/jK,OAAQ,OACRi1C,KAAM,IACNw6B,SAAU,WACVt6B,IAAK,IACLp1C,MAAOqrI,GAAQ,GACfupC,uBAAwB,UACxBD,oBAAqB,YAEtBrV,GAAqB,CACtBE,UAAWx4B,IACTmtC,GAAO9hL,EAAEwS,iBAAmB,CAC9BmgG,WAAW4tE,EAAS,IAAW,MAAQiD,IAAwC,CAC7EnzJ,QAAS,EACTK,OAAQ1wB,EAAEw7J,cACVsoB,wBAAyB,CACvBzzJ,QAAS,IAEVkwJ,KACa,IAAf1kL,EAAEwjL,YAAsB1kC,EAAQ,IAAU9+I,EAAE6nL,KAAO,uBAAyB,uBAAyB,EAAG/oC,EAAM9+I,EAAE6nL,KAAO,0BAA4B,0BAA4B,EAAG/oC,EAAMh0B,WAAaqyB,GAAQ,GAAI2B,EAAMj0B,cAAgBsyB,GAAQ,GAAI2B,GAAuB,QAAf9+I,EAAEwjL,YAAuBxkC,EAAQ,IAAUh/I,EAAE6nL,KAAO,0BAA4B,0BAA4B,EAAG7oC,GAAuB,WAAfh/I,EAAEwjL,YAA0BtkC,EAAQ,IAAUl/I,EAAE6nL,KAAO,uBAAyB,uBAAyB,EAAG3oC,EAAMp0B,WAAaqyB,GAAQ,GAAI+B,EAAMr0B,cAAgBsyB,GAAQ,GAAI+B,KAEpiBgpC,WAAY,SAAoB9oC,GAC9B,IAAIp/I,EAAIo/I,EAAM15H,MACVvhB,EAAIi7I,EAAMkyB,UACd,OAAO1xK,OAAOgB,OAAO,CACnB45F,gBAAiBr2F,EAAEq2F,gBACnBhY,OAAQ,YACRd,YAAav9E,EAAE8xK,yBACfr5E,aAAcz4F,EAAEy4F,aAChBC,UAAW14F,EAAE2wK,oBAEbjgJ,OAAQ70B,EAAEmoL,UAAYlC,GAAO9hL,EAAEwS,gBAAkBxS,EAAEw7J,eAAiB,GACnEsmB,GAAO9hL,EAAEwS,iBAAmB,CAC7BymD,SAAUp9D,EAAEmoL,QAAU,UAAY,SAElC3zJ,QAASx0B,EAAEmoL,QAAU,EAAI,EACzBr2K,MAAO,SACLm0K,GAAO9hL,EAAEwS,iBAAmB,CAC9BymD,SAAUj5D,EAAEwS,eAAiB,UAAY,SAGzC6d,QAASrwB,EAAEwS,eAAiB,EAAI,EAChC7E,MAAO3N,EAAEwS,eAAiB,OAAS,GAClC,CACDsxK,wBAAyB,CACvBzzJ,QAAS,MAIf4zJ,OAAQ,SAAgB9oC,GACtB,IAAIt/I,EAAIs/I,EAAM55H,MACVvhB,EAAIm7I,EAAMgyB,UACd,OAAO1xK,OAAOgB,OAAO,IAAKZ,EAAE6nL,MAAuB,WAAf7nL,EAAEwjL,WAAwC,IAAfxjL,EAAEwjL,WAAsBz7B,GAA6B,CAClHp/G,MAAOxkC,EAAEgxK,YACT5gD,YAAapwH,EAAE+wK,kBACf1gD,aAAcrwH,EAAEkxK,mBAChBhhJ,WAAYlwB,EAAEixK,oBAGlBnvK,UAAW,SAAmBu5I,GAC5B,IAAIx/I,EAAIw/I,EAAM95H,MACVvhB,EAAIq7I,EAAM8xB,UACd,OAAO1xK,OAAOgB,OAAO,CACnB4zH,aAAcrwH,EAAEkxK,oBACfr1K,EAAE6nL,MAAQ,CACXl/I,MAAOxkC,EAAE+xK,qBACQ,WAAfl2K,EAAEwjL,WAAwC,IAAfxjL,EAAEwjL,YAAuBxjL,EAAEqoL,kBAAoBtgC,KAEhFv9I,QAAS,SAAiBk1I,GACxB,IAAI1/I,EAAI0/I,EAAMh6H,MACVvhB,EAAIu7I,EAAM4xB,UACd,OAAO1xK,OAAOgB,OAAO,CACnB+nC,MAAOxkC,EAAEmxK,aACTn0H,QAAS,QACTmnI,MAAO,CACLhmG,QAAS,OACT35C,MAAO3oC,EAAE6nL,KAAO1jL,EAAEqxK,cAAgBrxK,EAAEoxK,UACpCvpE,SAAU,CACRuK,eAAgB,eAGnBv2G,EAAEuoL,UAAgC,QAApBvoL,EAAEwoL,eAA2B,CAC5Cj0D,YAAa4oB,GAAQ,MAGzBsrC,MAAO,SAAe7oC,GACpB,IAEI5/I,EAAI4/I,EAAMl6H,MACVvhB,EAAIy7I,EAAM0xB,UACVoX,EAAmC,UAApB1oL,EAAEwoL,cAA4B,OAAS,QACnD1oC,EAAS,CACdtlD,gBAAiBr2F,EAAEwxK,WAAaxxK,EAAE0xK,sBAAwB1xK,EAAE2xK,iBAC5DntI,MAAOxkC,EAAE4xK,eACTl5E,UAAW14F,EAAEsxK,YACbj0F,SAAU,WACVyB,QAASk6D,GAAQ,GACjBprI,OAAQ,OACRD,MAAO,OACP8qF,aAAc,MACd11C,IAAKi2F,GAAQ,GACbtoH,OAAQ1wB,EAAE0wB,QAVZ,OAWGirH,EAAO4oC,GAAgB,EAAG5oC,EAAOxsE,UAAgC,UAApBtzE,EAAEwoL,cAA4B,mBAAqB,kBAAmB1oC,EAAO,oBAAsB,CACjJ3+F,QAAS,eACR2+F,GAEL6oC,cAAe,SAAuB3oC,GACpC,IAAIhgJ,EAAIggJ,EAAOt6H,MACXvhB,EAAI67I,EAAOsxB,UACf,OAAO1xK,OAAOgB,OAAO,CACnByzH,WAAYlwH,EAAE6xK,yBACbh2K,EAAEuoL,UAAgC,QAApBvoL,EAAEwoL,eAA2B,CAC5Cj0D,YAAa4oB,GAAQ,IACpB,CACDoqC,MAAO,YCnJFqB,GAA2B,CACpCnzF,KAAM,SAAc4iD,GAClB,IAAIr4I,EAAIq4I,EAAK3yH,MACTvhB,EAAIk0I,EAAKi5B,UACb,OAAO1xK,OAAOgB,OAAO,CACnByzH,WAAYlwH,EAAEqyK,cACdj3F,SAAUp7E,EAAEoyK,gBACZp1H,QAAS,eACTxY,MAAOxkC,EAAEgyK,aACTr/D,SAAU,CACRnuE,MAAOxkC,EAAEiyK,oBAEVp2K,EAAE6nL,MAAQ,CACXl/I,MAAOxkC,EAAEkyK,iBACTv/D,SAAU,CACRnuE,MAAOxkC,EAAEmyK,2BCdNuS,GAA8B,CACvCpzF,KAAM,SAAc4iD,GAClB,IAAIr4I,EAAIq4I,EAAK3yH,MACTvhB,EAAIk0I,EAAKi5B,UACb,MAAO,CACL9vF,SAAU,WACVlgB,MAAOn9D,EAAEsyK,cACTl1G,OAAQp9D,EAAEuyK,eACVthD,SAAUx1H,OAAOgB,OAAO,CACtB4J,QAAS,IAAOxK,EAAE6U,MAAQ,KACzBkzI,OCDE+gC,GAAoB,cACpBC,GAEED,GAAoB,c7DItBE,EAAiB,CAC1BvzF,KAAM,SAAc4iD,GAClB,IAEIr4I,EAAIq4I,EAAK3yH,MACTvhB,EAAIk0I,EAAKi5B,UACTzwK,EAAIw3I,EAAKl5H,MACb,OAAOvf,OAAOgB,OAAO,CACnB4gF,SAAU,WACVrgC,QAAS,CAAC,cAAe,mBACzB+hI,oBAAqB,QAAU/+K,EAAEyqF,IAAM,OAEvCu0F,cAAe,QAAUh/K,EAAEyqF,IAAM,QACZ,UAApB5uF,EAAEipL,eAA6B,CAChC/F,oBAAqB,OAAS/+K,EAAEyqF,IAAM,QACtCu0F,cAAe,OAASh/K,EAAEyqF,IAAM,SAC/B,CACDwmB,OAAQ,UACR9yB,QAAS,EACT35C,MAAOxkC,EAAE4sJ,UACT9tE,QAAS9+E,EAAE28J,YACXtqD,cAAe,SACf9B,WAAY,SACX08D,GAAqB,CACtBE,UAAWzwK,EAAEi4I,cACbl8C,aAAc,QACZ,CACFka,WAAW4tE,EAAS,CAClB/7I,MAAOxkC,EAAE6sJ,iBACD,MAAQ+3B,IAAoCnpL,OAAOgB,OAAO,IAAKZ,EAAE4uH,QAAUhvH,OAAOgB,OAAO,GAAIZ,EAAE4vB,SAAyB,UAAd5vB,EAAE4vB,SAAuB,CAC3I8xD,YAAav9E,EAAEqzK,uBACflF,gBAAiBI,GAAqBvuK,EAAE8zK,sBAAuB9zK,EAAEqzK,0BAC/Dx3K,EAAE4vB,SAAW,CACf8xD,YAAav9E,EAAEm0J,mBACbt4J,EAAE4uH,SAAW5uH,EAAEixB,UAAYrxB,OAAOgB,OAAO,CAC3C8gF,YAAav9E,EAAEm0J,iBACf6Z,UAAWvyK,OAAOgB,OAAO,GAAIiyK,GAAyB1uK,GAAI,CACxDu9E,YAAav9E,EAAEm0J,iBACfv7D,YAAa54F,EAAE44F,YACfD,YAAa34F,EAAE24F,YACf9Z,OAAQ7+E,EAAEwzK,cACVpgE,WAAY,iBAEbv3G,EAAE4vB,SAAW,CACd8xD,YAAav9E,EAAE6zK,mBACfzgE,WAAYpzG,EAAEqzK,uBACdrF,UAAWvyK,OAAOgB,OAAO,GAAIiyK,GAAyB1uK,GAAI,CACxD6+E,OAAQ7+E,EAAE+zK,qBACV3gE,WAAYpzG,EAAE8zK,2BAEbyM,IACJ1kL,EAAE4vB,SAAW,CACd+Y,MAAOxkC,EAAE2zK,kBACR93K,EAAEixB,UAAY,CACfmkF,OAAQ,UACR3+B,cAAe,OACf9tC,MAAOxkC,EAAEk4J,iBAGb6sB,SAAU,SAAkBpqC,GAC1B,IAAI9+I,EAAI8+I,EAAMp5H,MACVvhB,EAAI26I,EAAMwyB,UACd,OAAO1xK,OAAOgB,OAAO,CACnBuoL,eAAgB,SAChBl1J,WAAY,EACZqvJ,aAAc,GACO,UAApBtjL,EAAEipL,eAA6B,CAChCh1J,WAAY,EACZqvJ,aAAc,GACb,CACDzmF,UAAW,QACX/qF,MAAOqrI,GAAQ,IACfprI,OAAQorI,GAAQ,IAChBz7D,YAAav9E,EAAEu9E,YACfqb,YAAa54F,EAAE44F,YACfH,aAAcz4F,EAAEy4F,aAChBE,YAAa34F,EAAE24F,YACfn0D,MAAOxkC,EAAE6/J,eACThhF,OAAQ7+E,EAAE6+E,OACVC,QAAS9+E,EAAE8+E,QACX0nC,WAAY,OACZ2nD,gBAAiBI,GAAqBvuK,EAAE6/J,eAAgB7/J,EAAEozG,YAC1D8rE,mBAAoB,SACpB9Q,iBAAkB,aACjBvyK,EAAE4vB,SAAW5vB,EAAE4vB,SAAW,CAC3B8xD,YAAav9E,EAAE6zK,mBACf1F,gBAAiBI,GAAqBvuK,EAAE8zK,sBAAuB9zK,EAAE4zK,oBAClD,UAAd/3K,EAAE4vB,SAAuB,CAC1B8xD,YAAav9E,EAAE6zK,mBACf1F,gBAAiBK,GAAkCxuK,EAAE8zK,sBAAuB9zK,EAAE4zK,oBAC7E/3K,EAAEixB,UAAY,CACfupE,gBAAiBr2F,EAAE6jF,mBACnBtG,YAAav9E,EAAEi0K,qBACdp4K,EAAEixB,UAAYjxB,EAAE4vB,SAAW,CAC5B+Y,MAAOxkC,EAAEk0K,8BACT32F,YAAav9E,EAAEg0K,0BACf7F,gBAAiBI,GAAqBvuK,EAAEk0K,8BAA+Bl0K,EAAEg0K,4BACxEn4K,EAAEixB,UAA0B,UAAdjxB,EAAE4vB,SAAuB,CACxC+Y,MAAOxkC,EAAEk0K,8BACT32F,YAAav9E,EAAEg0K,0BACf7F,gBAAiBK,GAAkCxuK,EAAEk0K,8BAA+Bl0K,EAAEg0K,8BAG1FvpD,OAAQ,SAAgBowB,GACtB,IAAIh/I,EAAIg/I,EAAMt5H,MACVvhB,EAAI66I,EAAMsyB,UACd,OAAO1xK,OAAOgB,OAAO,CACnBuoL,eAAgB,SAChBl1J,WAAY,EACZqvJ,aAAc,GACO,UAApBtjL,EAAEipL,eAA6B,CAChCh1J,WAAY,EACZqvJ,aAAc,GACb,CACDzmF,UAAW,QACXF,UAAW,aACX4a,WAAYpzG,EAAEozG,WACd71B,YAAav9E,EAAEu9E,YACfqb,YAAa54F,EAAE44F,YACfH,aAAcz4F,EAAEszK,mBAChB36E,YAAa34F,EAAE24F,YACf9Z,OAAQ7+E,EAAEuzK,aACV/sD,WAAY,OACZ74G,MAAO3N,EAAEyzK,YACT7lK,OAAQ5N,EAAE0zK,aACV1F,UAAWvyK,OAAOgB,OAAO,GAAIiyK,GAAyB1uK,GAAI,CACxDu9E,YAAa1hF,EAAEixB,SAAW9sB,EAAEm0K,6BAA+Bn0K,EAAEu9E,YAC7Dqb,YAAa54F,EAAE44F,YACfD,YAAa34F,EAAE24F,YACf9Z,OAAQ7+E,EAAEwzK,iBAEX33K,EAAE4vB,SAAW,CACd8xD,YAAav9E,EAAE6zK,mBACfzgE,WAAYpzG,EAAE4zK,kBACd5F,UAAWvyK,OAAOgB,OAAO,GAAIiyK,GAAyB1uK,GAAI,CACxD6+E,OAAQ7+E,EAAE+zK,qBACV3gE,WAAYpzG,EAAE8zK,yBAEfj4K,EAAEixB,UAAYrxB,OAAOgB,OAAO,CAC7B22G,WAAYpzG,EAAE6jF,mBACdtG,YAAav9E,EAAEi0K,qBACdp4K,EAAE4vB,SAAW,CACd2nF,WAAYpzG,EAAEg0K,0BACdz2F,YAAa,cACbywF,UAAWvyK,OAAOgB,OAAO,GAAIiyK,GAAyB1uK,GAAI,CACxD6+E,OAAQ7+E,EAAE+zK,qBACV3gE,WAAYpzG,EAAEk0K,oCAIpB50K,MAAO,SAAey7I,GAChBl/I,EAAIk/I,EAAMx5H,MACd,OAAO9lB,OAAOgB,OAAO,CACnBugD,QAAS,QAETltB,WAAY,EACZqvJ,aAAc,GACO,UAApBtjL,EAAEipL,eAA6B,CAChCh1J,WAAY,EACZqvJ,aAAc,M8DhLT8F,GAAe,CACxB3zF,KAAM,SAAc4iD,GACdl0I,EAAIk0I,EAAKi5B,UACb,MAAO,CACL/5D,WAAYpzG,EAAEo0K,eACd/1F,OAAQr+E,EAAEq+E,OACVoa,aAAcz4F,EAAEq0K,iBAChBl2F,QAAS,OACTW,QAAS9+E,EAAE28J,YACXt/E,SAAU,WACV1vE,MAAO3N,EAAEs0K,UACTt3H,QAAS,CAAC,OAAQ,YAClB+hI,oBAAqB,WACrBC,cAAe,WACftmF,UAAW14F,EAAE04F,UACbl0D,MAAOxkC,EAAEw0K,kBAGb0Q,OAAQ,WACN,MAAO,CACLp1J,WAAY,SACZJ,QAAS,EACTy1J,UAAW,IAGf3F,QAAS,WACP,MAAO,CACLxiI,QAAS,iBAGb32C,QAAS,SAAiBs0I,GAExB,MAAO,CACL97D,OAFM87D,EAAMwyB,UAEFoH,cACVzkJ,WAAY,aACZJ,QAAS,EACTyvJ,aAAc,EACdiG,iBAAkB,EAClBD,UAAW,EACXE,YAAa,OACb13K,MAAO,SAGX84C,OAAQ,SAAgBo0F,GAClB76I,EAAI66I,EAAMsyB,UACd,MAAO,CACLtuF,OAAQ7+E,EAAEswJ,aACV5gI,QAAS,EACTy1J,UAAW,EACXr1J,WAAY,EACZqvJ,aAAc,EACdkG,YAAa,OACbjqG,SAAUp7E,EAAEmtJ,eACZj9H,WAAYlwB,EAAEotJ,mBAGlBk4B,aAAc,SAAsBvqC,GAC9B/6I,EAAI+6I,EAAMoyB,UACd,MAAO,CACLz9I,QAAS,EACTy1J,UAAW,EACXr1J,WAAY,EACZqvJ,aAAc,EACd36I,MAAOxkC,EAAEw0K,gBACT31F,OAAQ7+E,EAAE00K,qBAGdn+C,QAAS,SAAiB0kB,GACxB,IAAIp/I,EAAIo/I,EAAM15H,MACVvhB,EAAIi7I,EAAMkyB,UACd,OAAO1xK,OAAOgB,OAAO,CACnB8zG,WAAY,SACZ6C,WAAY,cACZh2C,OAAQ,EACRpgB,QAAS,OACT+lI,cAAe,SACfhwE,eAAgB,SAChBlwD,KAAM,EACNoW,SAAU,OACVokB,SAAU,QACVlgB,MAAO,EACPpa,IAAK,EACLryB,OAAQ1wB,EAAEw7J,eACT3/J,EAAE0pL,UAAY,CACfnyE,WAAYpzG,EAAEy0K,sB7DnET+Q,EAAgB,CACzBl0F,KAAM,SAAc4iD,GAClB,IAAI3yH,EAAQ2yH,EAAK3yH,MACb4rJ,EAAYj5B,EAAKi5B,UACjB3oI,EAAQjjB,EAAMijB,MACd86I,EAAS/9J,EAAM+9J,OACftrK,EAAOuN,EAAMvN,KACbyxK,EAAYlkK,EAAMkkK,UAClBzF,EAAaz+J,EAAMy+J,WACnB30E,EAAW9pF,EAAM8pF,SACjB08C,EAASolB,EAAU1nB,YAAYjhH,GACnC,OAAO/oC,OAAOgB,OAAO,CACnB+nC,MAAOoqI,GAAK7mB,EAAQ,aAAcolB,EAAUvgB,WAC5C5vG,QAAS,OACTuzD,WAAY,WACV+uE,GAAU,CACZxgG,QAASusB,EAAW,KAAO8hE,EAAU0H,eAAiB1H,EAAU0H,eAAiB,MAChF4Q,GAAa,CACdv1J,WAAYi9I,EAAUrQ,qBACrBzxD,GAAY,CACbz9F,OAAQ,QACPoyK,EAAa,CACd9uE,UAAW,SACX91B,SAAU49D,GAAQ,GAAKhlI,GACvBoc,WAAY+8I,EAAUyH,eACtBiP,WAAYpoL,OAAOgB,OAAO,GAAIkyK,GAAe36J,EAAMm5J,EAAWplB,EAAQxmI,IACtEmkK,UAAWjqL,OAAOgB,OAAO,GAAIkyK,GAAe36J,EAAMm5J,EAAWplB,EAAQxmI,KACnE,CACFsiK,WAAYpoL,OAAOgB,OAAO,GAAIkyK,GAAe36J,EAAMm5J,EAAWplB,EAAQxmI,Q8D5CjEokK,GAAuB,CAChCr0F,KAAM,WACJ,MAAO,CACL4+B,WAAY8oB,GAAQ,IACpB5oB,YAAa4oB,GAAQ,OCLvB4sC,GAAiBjlK,GACjB2yH,GAAcxsH,GACdksH,GAAejsH,GAEfwgH,GAAoBzH,GACpBllF,GAAOmlF,GAFIH,GA8Ba,SAASxnB,EAAOizB,GAC1C,IAAIrN,EAAWpjF,GAAKywF,GAIpB,OAHI9D,GAAkBvJ,KACpBA,OAAWp3E,GAEN2gF,GAAkBnvB,GACrBwtE,GAAextE,EAAOk7B,GAAYjI,EAAQ,EAAG9D,IAAmB,GAAOyL,GAAahV,IACpF,KCxBS,SAAX6nD,GAA6BhqL,EAAGmE,GAClC,OAAInE,EAAE0lL,MACG,OAGL1lL,EAAEiqL,OACG,UAGF9lL,EAAE2N,MCzBkB,SAAlBo4K,GAA2C12H,GAGpD,MAAqB,WAFjB22H,EAAe32H,EAAUhlC,SAEoB,QAAjB27J,EACvB,QAAUA,EAGZA,ECPiB,SAAtBC,GAAmDC,GACrD,IAAIC,EAAmBr8K,OAAOo8K,GAC9B,OAAQ5gL,MAAM6gL,IAAwC,EAAnBA,EAAuB,UAAYD,EAAW,SAAW/pL,OAAO+pL,GCCrE,SAArBE,GAAiDC,GAE1D,IAAIC,EAAYD,EAEhB,OAAQC,GACN,IAAK,QACH,MAAO,OAET,IAAK,MACH,MAAO,QAET,QACE,OAAOA,GCZQ,SAAjBC,KACF,MAAO,CACLznG,QAASk6D,GAAQ,ICLJ,SAAbwtC,GAAiCtyC,GACnC,IAAIpgI,EAAOogI,EAAKpgI,KACZ0wB,EAAQ0vG,EAAK1vG,MAEjB,MAAO,CACL64C,SAAU,WACVgB,OAAQ,OAHE61D,EAAK3iH,MAGU,IAAMiT,EAC/Bq/I,WAAY,CACVx9K,QAAS,IAAMyN,EAAO,IACtBupE,SAAU,WACVyB,QAAS,cACT/7B,IAAK,OACLF,KAAM,OACNu4B,SAAU,MACVlrD,WAAY,IACZE,WAAY,EACZ2hF,cAAe,MACfvtE,MAAO,OACP4uE,WAAY5uE,IAKK,SAAZiiJ,KACT,OAAOhrL,OAAOgB,OAAO,GAAI+pL,GAAW,CAClC1yK,KAAM,SACN0wB,MAAO,iBACPjT,MAAO,UACL,CACFutD,QAAS,MACTD,OAAQ,QAGW,SAAZ6nG,KACT,OAAOjrL,OAAOgB,OAAO,GAAI+pL,GAAW,CAClC1yK,KAAM,OACN0wB,MAAO,cACPjT,MAAO,WACL,CACFutD,QAAS,MACTD,OAAQ,QCtCI,SAAZ8nG,GAA+Bz+G,GACjC,OAAOA,EAAMziE,OAAO4kI,SAASttI,OCIH,SAAjB6pL,GAAyCpiJ,GAClD,MAAO,CACLkiF,cAAe,EACfmgE,aAAc,SAAW7tC,GAAQ,GAAK,IAAMx0G,EAC5C7gB,WAAY,kBCXiB,SAAtBmjK,GAAmDtiJ,GAC5D,MAAO,gGAAkGxjB,mBAAmBwjB,GAAS,2OAEhG,SAA5BuiJ,GAA+D17E,EAAUt/C,GAClF,OAAOs/C,EAAWt/C,EAAM,CACtBojB,UAAW,cACT,GAAK,CACPA,UAAW,WAAapjB,GAAO,GAAK,IAAM,QCPd,SAArBi7H,GAAiDp6J,GAC1D,IAAIkyD,EAAUlyD,EAAQkyD,QAClBmoG,EAAYr6J,EAAQq6J,UACxB,OAAOxrL,OAAOgB,OAAO,GAAkB,WAAdwqL,GAA0B,CACjDtgE,WAAY7nC,GACG,QAAdmoG,GAAuB,CACxBvgE,cAAe5nC,GACA,SAAdmoG,GAAwB,CACzBxgE,aAAc3nC,GACC,UAAdmoG,GAAyB,CAC1B10E,YAAazzB,IAGa,SAAnBooG,GAA6Ct6J,GACtD,IAAIypE,EAAkBzpE,EAAQypE,gBAC1B9Y,EAAc3wD,EAAQ2wD,YACtBq8F,EAAahtJ,EAAQgtJ,WACrBnvF,EAAM79D,EAAQ69D,IACd78E,EAASgf,EAAQhf,OACjBkxE,EAAUlyD,EAAQkyD,QAClBmoG,EAAYr6J,EAAQq6J,UACpBl7H,EAAMn/B,EAAQm/B,IACdv+B,EAAMZ,EAAQY,IACd7f,EAAQif,EAAQjf,MACpB,OAAOlS,OAAOgB,OAAO,CACnBugD,QAAS,QACTqgC,SAAU,WACV3sD,OAAQ,IACQ,WAAdu2J,GAAwC,QAAdA,IAAwB,CACpD10E,YAAa9nB,EACbg8B,aAAch8B,EACd78E,OAAQA,EACRD,MAAO,QAAUA,EAAQ,OAAS88E,EAAM,WACxB,SAAdw8F,GAAsC,UAAdA,IAA0B,CACpDvgE,cAAej8B,EACfk8B,WAAYl8B,EACZ78E,OAAQ,QAAUD,EAAQ,OAAS88E,EAAM,SACzC98E,MAAOC,GACQ,WAAdq5K,GAA0B,CAC3BlkI,IAAK,QAAU+7B,EAAU,MAAQlxE,EAAS,OAASgsK,EAAa,UACjD,QAAdqN,GAAuB,CACxB7pH,OAAQ,QAAU0hB,EAAU,MAAQlxE,EAAS,MAAQgsK,EAAa,KACnD,SAAdqN,GAAwB,CACzB9pH,MAAO,QAAU2hB,EAAU,MAAQlxE,EAAS,MAAQgsK,EAAa,KAClD,UAAdqN,GAAyB,CAC1BpkI,KAAM,QAAUi8B,EAAU,MAAQlxE,EAAS,MAAQgsK,EAAa,KAC/D,CACDiK,WAAYpoL,OAAOgB,OAAO,CACxB4J,QAAS,MACT22C,QAAS,QACTpvC,OAAQA,EACRyvE,SAAU,WACV8pG,gBAAiB,aACjBC,kBAAmB,cACnBC,gBAAiB,cACjBC,iBAAkB,cAClBC,eAAgB,cAChB3uF,YAAa,QACb/1C,KAAM,EACNE,IAAK,GACU,WAAdkkI,GAA0B,CAC3BG,kBAAmB/wF,EACnBsC,YAAa,KAAO/qF,EAAS,IAAMA,GACpB,QAAdq5K,GAAuB,CACxBM,eAAgBlxF,EAChBsC,YAAa/qF,EAAS,IAAMA,EAAS,KACrCm1C,IAAK,QAAU62H,EAAa,UACb,SAAdqN,GAAwB,CACzBI,gBAAiBhxF,EACjBsC,YAAa/qF,EAAS,MAAQA,EAAS,IAAMA,GAC9B,UAAdq5K,GAAyB,CAC1BK,iBAAkBjxF,EAClBsC,YAAa/qF,EAAS,IAAMA,EAAS,IAAMA,EAAS,OAEtD83K,UAAWjqL,OAAOgB,OAAO,CACvB4J,QAAS,MACT22C,QAAS,QACTpvC,OAAQA,EACRyvE,SAAU,WACV8pG,gBAAiB,aACjBz2J,QAAS,EACT02J,kBAAmB,cACnBC,gBAAiB,cACjBC,iBAAkB,cAClBC,eAAgB,cAChB3uF,YAAa,SACE,WAAdquF,GAA0B,CAC3BG,kBAAmB7pG,EACnBob,YAAa,KAAO/qF,EAAS,IAAMA,EACnCi1C,KAAM,EACNua,OAAQ,QAAUxvD,EAAS,WACZ,QAAdq5K,GAAuB,CACxBM,eAAgBhqG,EAChBob,YAAa/qF,EAAS,IAAMA,EAAS,KACrCi1C,KAAM,EACNua,OAAQxvD,GACO,SAAdq5K,GAAwB,CACzBI,gBAAiB9pG,EACjBob,YAAa/qF,EAAS,MAAQA,EAAS,IAAMA,EAC7Ci1C,KAAM+2H,EACNx8G,OAAQzvD,GACO,UAAds5K,GAAyB,CAC1BK,iBAAkB/pG,EAClBob,YAAa/qF,EAAS,IAAMA,EAAS,IAAMA,EAAS,KACpDuvD,MAAOy8G,EACPx8G,OAAQzvD,KAET6f,GAAO,CAERq2J,WAAYpoL,OAAOgB,OAAO,CACxB4J,QAAS,MACT8nK,gBAAiB3gJ,EACjB4gJ,iBAAkB,YAClB8Q,mBAAoB,SACpBliI,QAAS,QACTqgC,SAAU,YACK,WAAd4pG,GAA0B,CAC3Br5K,OAAQ,QAAUD,EAAQ,OAAS88E,EAAM,SACzC98E,MAAOC,EACPi1C,KAAM4nC,EACNrtB,OAAQ,QAAUzvD,EAAQ,MAAQC,EAAS,MAAQgsK,EAAa,IAChEzqG,UAAW,WAAapjB,GAAO,GAAK,IAAM,QAC3B,QAAdk7H,GAAuB,CACxBr5K,OAAQ,QAAUD,EAAQ,OAAS88E,EAAM,SACzC98E,MAAOC,EACPi1C,KAAM4nC,EACNrtB,OAAQ,QAAUqtB,EAAM,MAAQ78E,EAAS,MAAQgsK,EAAa,IAC9DzqG,UAAW,WAAapjB,EAAM,IAAM,IAAM,QAC3B,SAAdk7H,GAAwB,CACzBr5K,OAAQD,EACRA,MAAOC,EACPi1C,KAAM,EACNssB,UAAW,WAAapjB,EAAM,EAAI,KAAO,QAC1B,UAAdk7H,GAAyB,CAC1Br5K,OAAQD,EACRA,MAAOC,EACPuvD,MAAO,EACPgS,UAAW,WAAapjB,EAAM,IAAM,GAAK,SAE3C25H,eAAW9+H,ICvIe,SAA1B4gI,GAA2D56B,GAC7D,MAAO,CACLpoH,MAAOooH,EACPj6C,SAAU,CACRnuE,MAAOooH,GAET/kD,SAAU,CACRrjE,MAAOooH,ICJI,SAAb66B,GAAiCjzB,EAAckzB,GACjD,MAAO,CACLrqG,SAAU,SACVpkB,SAAU,SACViZ,kBAAmB,OACnB9zC,cAAeupJ,GACfj5J,wBAAyB,WACzB2nE,gBAAiB,UACjBlkB,wBAAyB,SACzBg8F,gBAAiB,6BAA+BuZ,EAAiB,QAAUlzB,EAAe,SAAWkzB,EAAiB,QACtHE,eAAgB,eCPM,SAAtBC,GAAmDhsL,EAAGmE,GACxD,MAAO,CACLixG,OAAQ,UACR3+B,cAAe,OACf+K,SAAU,WACVgB,OAAQ,EACRzwE,OAAQ5N,EAAE47K,WACVzrD,UAAW,QAAUnwH,EAAE4N,OAAS,UAAY5N,EAAE47K,WAAa,SAO1C,SAAjBkM,GAAyCjsL,GAC3C,OAAOA,EAAE0lL,QAAU1lL,EAAEwvG,UAAY,CAC/B19F,MAAO,QCtBc,SAArBugK,GAAiD1pI,EAAO25C,EAASnqE,GACnE,MAAO,CACL3N,QAAS,KACTsH,MAAOqG,EACPpG,OAAQoG,EACRm6J,iBCTwD3pI,EDSpBA,EAAO25C,ECPpC,iJAAmJn9D,mBAAmBwjB,GAAS,2PAGjL,iJAAmJxjB,mBAAmBwjB,GAAS,+ODKpL4pI,iBAAkB,aEVW,SAAtB0Y,GAAmDtiJ,GAC5D,MAAO,gGAAkGxjB,mBAAmBwjB,GAAS,2OCDvG,SAArBujJ,GAAiDvjJ,GAC1D,MAAO,gGAAkGxjB,mBAAmBwjB,GAAS,6cCM9G,SAArB0pI,GAAiD1pI,EAAO5lC,EAAMoV,GAChE,MAAO,CACLrG,MAAOqG,EACPpG,OAAQoG,EACRm6J,iBCXwD3pI,EDWpBA,EAAO5lC,ECV/B,wJAA0JoiB,mBAAmBwjB,GAAS,0WAA4W,wJAA0JxjB,mBAAmBwjB,GAAS,4UDWpuB4pI,iBAAkB,aETf,ICAI4Z,GAA4B,wBCQ5BC,GAAwB,oBACxBC,GAEAD,GAAwB,YAFxBC,GAGDD,GAAwB,WCJvBE,GAAgC,4BAChCC,GAEHD,GAAgC,SCA7BE,GAAiB,WACjBC,GACFD,GAAiB,UCiBfE,GAAoB,cACpBC,GASMD,GAAoB,mBxBxCjCE,GAAwB,CAC1BpyF,gBAAiB,cACjB9Y,YAAa,cACb6pG,kBAAmB,eAEjBsB,GAA2BjtL,OAAOgB,OAAO,GAAIgsL,GAAuB,CACtE91E,SAAU81E,GACV71E,UAAW61E,GACX5gF,SAAUpsG,OAAOgB,OAAO,GAAIgsL,GAAuB,CACjD71E,UAAW61E,OAgBJE,GAAiB,CAC1Br3F,KAAM,SAAc4iD,GACdr4I,EAAIq4I,EAAK3yH,MACb,OAAO9lB,OAAOgB,OAAO,GAAIZ,EAAEiqL,QAAU,CACnC9oI,QAAS,iBAGb4rI,eAAgB,SAAwBjuC,GACtC,IAAI36I,EAAI26I,EAAMwyB,UACVx4B,EAAgBgG,EAAM3/H,MAAM25H,cAChC,OAAOl5I,OAAOgB,OAAO,CACnB8zG,WAAY,SACZs4E,UAAW,SACX7rI,QAAS,OACT+1D,eAAgB,SAChB9B,OAAQ,UACRuV,WAAY,OACZ3nC,OAAQ,EACRxB,SAAU,WACVlgB,MAAO67E,GAAQ,GACfl6D,QAASk6D,GAAQ,GACjBx0G,MAAOxkC,EAAEwkC,OACRyoI,GAAqB,CACtBE,UAAWx4B,MAGfn9C,UAAW,SAAmBqjD,GAC5B,IAEIh/I,EAAIg/I,EAAMt5H,MACVvhB,EAAI66I,EAAMsyB,UACVx4B,EAAgBkG,EAAM7/H,MAAM25H,cAChC,OAAOl5I,OAAOgB,OAAO,CACnBugD,QAAS,OACT81D,SAAU,OACVz1B,SAAU,WACVub,YAAa,QACbrb,YAAav9E,EAAEu9E,YACfY,QAAS,EACTxwE,MAAOk4K,GAAShqL,EAAGmE,GACnB24F,YAAa98F,EAAEiT,OAAS,OAAS9O,EAAEq5J,wBAA0B,KAAOr5J,EAAE24F,YACtEn0D,MAAOxkC,EAAEwkC,MACT6xD,gBAAiBr2F,EAAEq2F,gBACnBoC,aAAcz4F,EAAEk5J,uBACfr9J,EAAE2S,MAAuB,UAAf3S,EAAEwhF,UAAwB,CACrCob,aAAcz4F,EAAEm5J,gCACft9J,EAAE2S,MAAuB,UAAf3S,EAAEwhF,UAAwB,CACrCob,aAAcz4F,EAAEo5J,gCACf,CACDzmD,SAAUl3G,OAAOgB,OAAO,CACtB45F,gBAAiBr2F,EAAE2sJ,qBACnBpvE,YAAav9E,EAAEm0J,kBACdt4J,EAAE2S,MAAQ,CACX+uE,YAAav9E,EAAEi5J,wBAEhBp9J,EAAE2X,OAAS,CACZ6qE,OAAQ26D,GAAQ,GAAK,UAAYh5I,EAAEg5J,YACnCrmD,SAAU,CACRt0B,OAAQ26D,GAAQ,GAAK,UAAYh5I,EAAEg5J,cAEpC,CACDpmD,UAAW,CACTvc,gBAAiBr2F,EAAEq2F,iBAErByyF,gBAAiB,CAGf1B,kBAAmBpnL,EAAEo0J,mBAEtBv4J,EAAEmoL,SAAWvoL,OAAOgB,OAAO,CAC5B45F,gBAAiBr2F,EAAEq2F,iBAClBx6F,EAAEiT,QAAU,CACbs4K,kBAAmBpnL,EAAEo0J,mBACnBv4J,EAAEiT,SAAWjT,EAAE2S,MAAQ3S,EAAEktL,gBAAkB9b,GAAqB,CAClEE,UAAWx4B,IACV,mBAAoB94I,EAAEiqL,QAAUrqL,OAAOgB,OAAO,GAAIisL,GAA0B,CAC7En4E,WAAY,WACV10G,EAAEmmL,UAAY,CAChB3rF,gBAAiBr2F,EAAE84J,wBACnBnmD,SAAU,CACRtc,gBAAiBr2F,EAAE+4J,8BAErBnmD,UAAW,CACTvc,gBAAiBr2F,EAAE+4J,8BAErBlxD,SAAU,CACRxR,gBAAiBr2F,EAAE+4J,+BAEpBl9J,EAAEixB,UAAY,CACfupE,gBAAiBs+C,EAAc8Q,YAAYrkJ,QAAQ+jJ,mBACnD5nE,YAAao3D,EAAc8Q,YAAYrkJ,QAAQgkJ,eAC/C5+B,WAAY,OACZ7T,SAAU,CACRtc,gBAAiBs+C,EAAc8Q,YAAYrkJ,QAAQ+jJ,oBAErDvyC,UAAW,CACTvc,gBAAiBs+C,EAAc8Q,YAAYrkJ,QAAQ+jJ,uBAEnDyM,EAAiB,IAAmB,MAAQ42B,IAAwC/sL,OAAOgB,OAAO,GAAIZ,EAAEixB,UAAY,CACtH0X,MAAOmwG,EAAc8Q,YAAYrkJ,QAAQ8jJ,qBACvC0M,KAENo3B,cAAe,SAAuBjuC,GACpC,IAAIl/I,EAAIk/I,EAAMx5H,MACVvhB,EAAI+6I,EAAMoyB,UACd,OAAO1xK,OAAOgB,OAAO,CACnBugD,QAAS,OACT81D,SAAU,OACVj5C,UAAW,OACX01B,UAAWvvF,EAAEo7J,uBACbztJ,MAAO,QACN9R,EAAEotL,oBAAsB,CACzBxiE,aAAczmH,EAAEq7J,qBACfx/J,EAAEiiD,UAAYjiD,EAAEqtL,kBAAoB,CACrCviE,WAAYqyB,GAAQ,GACpBtyB,cAAesyB,GAAQ,MAG3BmwC,cAAe,SAAuBluC,GACpC,IAAIp/I,EAAIo/I,EAAM15H,MACVvhB,EAAIi7I,EAAMkyB,UACd,OAAO1xK,OAAOgB,OAAO,CACnBw8D,SAAU,SACVy/B,UAAW,OACX8Z,UAAWwmC,GAAQ,KAClB0vC,GAA0B,CAC3B7pG,OAAQ,IACRk0B,eAAgB,OAChBj0B,QAAS9+E,EAAEs5J,uBACVz9J,EAAEiiD,UAAYriD,OAAOgB,OAAO,CAC7Bu8F,SAAU,EACV7pE,KAAM,GACLtzB,EAAEqtL,kBAAoB,CACvB7rG,SAAU,WACVt6B,IAAK,EACLoa,MAAO,EACPta,KAAM,EACNua,OAAQ,EACRxvD,OAAQ,SACN86K,GAA0B,CAC5B7gF,SAAUpsG,OAAOgB,OAAO,CACtB+nC,MAAOxkC,EAAEwkC,OACRkkJ,IACH3a,iBAAkBtyK,OAAOgB,OAAO,CAC9B+nC,MAAOxkC,EAAEwkC,OACRikJ,GAAuB,CACxBx3D,SAAU,CACR1zC,YAAa,cACbsyC,iBAAkB,GAEpBm+C,UAAW,CACTzwF,YAAa,cACbsyC,iBAAkB,KAGtBjd,UAAWn3G,OAAOgB,OAAO,CACvB+nC,MAAOxkC,EAAEwkC,OACRikJ,GAAuB,CACxBrqJ,cAAe,QACf8zC,kBAAmB,UAErBygC,SAAUl3G,OAAOgB,OAAO,GAAIgsL,GAAuB,CACjDjkJ,MAAOxkC,EAAEwkC,SAGV3oC,EAAEiqL,QAAU,CACbvzE,YAAa,EACbkU,aAAc,EACd94G,MAAO,aAGX60G,KAAM,SAAc24B,GAClB,IAAIt/I,EAAIs/I,EAAM55H,MACVvhB,EAAIm7I,EAAMgyB,UACd,OAAO1xK,OAAOgB,OAAO,CACnB0hF,QAAS,EACTya,YAAa,QACbD,YAAa98F,EAAE2S,KAAOxO,EAAE45J,gBAAkB,MAC1Cr8E,YAAav9E,EAAE25J,gBACfjpI,OAAQ1wB,EAAEw7J,cACVjsE,UAAWvvF,EAAEg6J,cACbngG,UAAW,OACXlsD,MAAOk4K,GAAShqL,EAAGmE,GACnBozG,WAAYpzG,EAAE05J,qBACE,UAAf79J,EAAEwhF,UAAwB,CAC3Bob,aAAcz4F,EAAEw5J,uBACA,UAAf39J,EAAEwhF,UAAwB,CAC3Bob,aAAcz4F,EAAEy5J,uBACf59J,EAAE2S,MAAQ,CACXkqF,UAAW14F,EAAE85J,cACbh7E,QAAS9+E,EAAE65J,eAGfuvB,eAAgB,SAAwB/tC,GAEtC,MAAO,CACLhlD,gBAFMglD,EAAM8xB,UAEOjR,gCAGvBmtB,iBAAkB,SAA0B9tC,GAE1C,MAAO,CACLllD,gBAFMklD,EAAM4xB,UAEOlR,kCAGvBqtB,cAAe,SAAuB7tC,GAEpC,MAAO,CACLplD,gBAFMolD,EAAM0xB,UAEOnR,+BAGvButB,gBAAiB,SAAyB5tC,GACxC,IAAI9/I,EAAI8/I,EAAOp6H,MACXvhB,EAAI27I,EAAOwxB,UACf,OAAO1xK,OAAOgB,OAAO,CACnB8zG,WAAY,SACZvzD,QAAS,OACT+1D,eAAgB,SAChB81E,UAAW,SACX53E,OAAQ,WACPp1G,EAAEixB,UAAY,CACfmkF,OAAQ,WACP,CACDuV,WAAY,OACZ3nC,OAAQ,EACRxB,SAAU,WACVlgB,MAAO67E,GAAQ,IACdn9I,EAAEiiD,UAAYjiD,EAAEqtL,kBAAoB,CACrCnmI,IAAKi2F,GAAQ,IACZ,CACDx0G,MAAOxkC,EAAEwkC,OACR3oC,EAAEixB,UAAY,CACf0X,MAAOxkC,EAAEk4J,kByBpQJsxB,GAA4B,CACrCl4F,KAAM,SAAc4iD,GAElB,MAAO,CACL5gC,UAFM4gC,EAAKi5B,UAEE5T,kBACbnqI,SAAU,IAGdgD,MAAO,SAAeuoH,GAChB9+I,EAAI8+I,EAAMp5H,MACd,OAAO9lB,OAAOgB,OAAO,CACnBkR,MAAO,OACP0oF,gBAAiB,cACjBsC,YAAa,GACZ98F,EAAEiqL,QAAU,CACbhnG,QAAS,EACT1uD,WAAY,cCZPq5J,GAA6B,CACtCn4F,KAAM,SAAc4iD,GAClB,IAEIr4I,EAAIq4I,EAAK3yH,MACTvhB,EAAIk0I,EAAKi5B,UACTx4B,EAAgBT,EAAKl5H,MAAM25H,cAC3BorC,EAAoB9S,GAAqB,CAC3CE,UAAWx4B,IAEb,OAAOl5I,OAAOgB,OAAO,CACnBs8F,SAAU/4F,EAAEk7J,sBACZl+G,QAAS,cACTuzD,WAAY,SACZzxB,QAAS,KAAOk6D,GAAQ,GACxBk/B,iBAAkB,MAClB9nJ,WAAY4oH,GAAQ,IACpBvgD,aAAcugD,GAAQ,MACtB59D,SAAU49D,GAAQ,KACjBn9I,EAAE6tL,UAAY,CACfn3E,YAAa,OACZ,CACDtB,OAAQ,UACRpyB,OAAQ,mBACRr6C,MAAOxkC,EAAE86J,kBACTz9E,SAAU,WACVgB,OAAQr+E,EAAE66J,mBACVjtJ,OAAQorI,GAAQ,IAChB//E,SAAU,UACVklB,QAAS,EACTjuD,WAAYykH,EAAc0Y,oBACzBrtJ,EAAE26J,6BAA+B,CAClCtkE,gBAAiBr2F,EAAE26J,6BAClB,CACD9yD,SAAU,CACRrjE,MAAOxkC,EAAEm7J,wBAEXxoD,WAAW4tE,EAAS,CAClB/7I,MAAOxkC,EAAE+6J,uBACT1kE,gBAAiBr2F,EAAE46J,mCACX,MAAQwtB,IAA2C,CAC3D5jJ,MAAOxkC,EAAEi7J,4BACRslB,GACHxS,iBAAkB,CAChB98C,SAAU8uD,EAAkB,kBAAkB,cAIpDn9E,MAAO,WACL,MAAO,CACLh1F,OAAQorI,GAAQ,IAChBrrI,MAAOqrI,GAAQ,MAGnBvyF,OAAQ,SAAgBk0F,GACnB,IAAC9+I,EAAI8+I,EAAMp5H,MAEd,OADQo5H,EAAMwyB,UACP1xK,OAAOgB,OAAO,GAAIZ,EAAE6tL,UAAY,CACrCx5D,WAAY8oB,GAAQ,IACnB,CACD5oB,YAAa4oB,GAAQ,GACrB//E,SAAU,SACVq5C,aAAc,WACdV,WAAY,YAGhB34B,KAAM,SAAc4hE,GACd76I,EAAI66I,EAAMsyB,UACd,OAAO1xK,OAAOgB,OAAO,CACnBugD,QAAS,cACTuzD,WAAY,SACZwC,eAAgB,SAChBplG,MAAOqrI,GAAQ,IACfhgD,SAAUggD,GAAQ,IAClBprI,OAAQorI,GAAQ,IAChBymC,mBAAoB,CAClB9xK,MAAOqrI,GAAQ,IACfprI,OAAQorI,GAAQ,IAChB0mC,QAAS,CACP/xK,MAAOqrI,GAAQ,IACfprI,OAAQorI,GAAQ,MAGpB/nC,OAAQ,UACRzsE,MAAOxkC,EAAEg7J,uBACRiT,GAA2B,CAC5B9vF,SAAS,IACP,CACFw0B,SAAUl3G,OAAOgB,OAAO,CACtB+nC,MAAOxkC,EAAEi7J,4BACRgT,GAA2B,CAC5B9vF,SAAS,SC3FNwrG,GAAqB,CAC9Br4F,KAAM,SAAc4iD,GAClB,IAEIr4I,EAAIq4I,EAAK3yH,MACTvhB,EAAIk0I,EAAKi5B,UACTx4B,EAAgBT,EAAKl5H,MAAM25H,cAC/B,OAAOl5I,OAAOgB,OAAO,CACnBugD,QAAS,OACTuzD,WAAY,SACZiC,UAAW,EACX1zB,QAASk6D,GAAQ,GAAK,IAAMA,GAAQ,IACpCpnC,WAAY,SACZvzB,OAAQr+E,EAAEi6J,yBAA2B,qBACrC5jE,gBAAiBr2F,EAAEk6J,yBAClBr+J,EAAEqW,UAAY,CACfge,WAAYlwB,EAAEw6J,2BACdh2H,MAAOxkC,EAAEu6J,uBACR,CACDl9E,SAAU,YACTxhF,EAAE8iL,QAAUljL,OAAOgB,OAAO,GAAIZ,EAAEktL,gBAAkB9b,GAAqB,CACxEE,UAAWx4B,EACXl8C,aAAc,IACb,mBAAoB58F,EAAEktL,gBAAkBttL,OAAOgB,OAAO,CACvD+nC,MAAOxkC,EAAEs6J,mBACTjkE,gBAAiBr2F,EAAEo6J,8BAClBv+J,EAAE+tL,aAAcjvC,EAAQ,IAAU,MAAQutC,IAAqC,CAChF1jJ,MAAOxkC,EAAEs6J,oBACR3f,GAAQ9+I,EAAEmkL,cAAenlC,EAAQ,IAAU,MAAQqtC,IAAsC,CAC1F1jJ,MAAOxkC,EAAEs6J,oBACRzf,OAELj4C,MAAO,WACL,MAAO,CACL/jB,OAAQm6D,GAAQ,GAAK,IAAMA,GAAQ,IAAM,IAAMA,GAAQ,GAAK,IAAMA,GAAQ,KAG9EvyF,OAAQ,SAAgBs0F,GACtB,IAAIl/I,EAAIk/I,EAAMx5H,MACVvhB,EAAI+6I,EAAMoyB,UACd,OAAO1xK,OAAOgB,OAAO,CACnB2yB,SAAU,EACVgB,WAAYpwB,EAAEy6J,yBACdr/E,SAAUp7E,EAAE47J,uBAEZp3H,MAAOxkC,EAAE+7J,sBACRlgK,EAAEmkL,YAAc,CAEjB3vD,aAAc2oB,IAAS,GACvBx0G,MAAOxkC,EAAE67J,qBACRhgK,EAAEqW,UAAY,CACfge,WAAYlwB,EAAEw6J,2BACdh2H,MAAOxkC,EAAEu6J,uBACR,CACD3oD,WAAY,YAGhBvrG,QAAS,SAAiB40I,GACpBj7I,EAAIi7I,EAAMkyB,UACd,MAAO,CACL/9I,SAAU,EACVgB,WAAYpwB,EAAE06J,0BACdt/E,SAAUp7E,EAAE87J,wBACZt3H,MAAOxkC,EAAE+7J,uBAGb8tB,mBAAoB,SAA4B1uC,GAC1Cn7I,EAAIm7I,EAAMgyB,UACd,MAAO,CACLgB,iBCzE4D3pI,EDyErBxkC,EAAEu6J,sBCxEtC,gGAAkGv5I,mBAAmBwjB,GAAS,8cDyEjI06I,mBAAoB,SACpB9Q,iBAAkB,YAClB/wF,SAAU,WACV1vE,MAAOqrI,GAAQ,IACfprI,OAAQorI,GAAQ,IAChB77E,MAAO67E,GAAQ,GACfj2F,IAAKi2F,IAAS,KAGlB8wC,SAAU,WACR,MAAO,CACLx6J,WAAY,EACZc,WAAY4oH,GAAQ,MAGxB3nB,KAAM,WACJ,MAAO,CACLr0E,QAAS,OACT+lI,cAAe,SACf3zJ,SAAU,EACV4pE,SAAU,KEjFL+wF,GACAC,oBCTAC,GAAc,CACvB34F,KAAM,SAAc4iD,GAClB,IAEIl0I,EAAIk0I,EAAKi5B,UACTx4B,EAAgBT,EAAKl5H,MAAM25H,cAC3BorC,EAAoB9S,GAAqB,CAC3CE,UAAWx4B,IAEb,OAAOl5I,OAAOgB,OAAO,CACnBugD,QAAS,eACTq1D,cAAe,SACfh1B,SAAU,WACV4zB,OAAQ,UACRtjG,MAAO3N,EAAE2N,MACTC,OAAQ5N,EAAE4N,QAAU,OACpBuwE,QAAS,GACR4hG,EAAkB,UAAW,CAC9BhS,mBAAmBmc,EAAgB,IAAkB,MAAQH,IAA+BtuL,OAAOgB,OAAO,CACxG8gF,YAAav9E,EAAEi1K,iBACf5kJ,QAAS,GACR0vJ,EAAkB,mBAAoBmK,GACzCv3E,WAAW4tE,EAAS,IAAW,MAAQwJ,IAA+B,CACpE15J,QAAS,EACTK,OAAQ1wB,EAAE0wB,QACT6vJ,MAGP4J,QAAS,SAAiBxvC,GACxB,IAAI9+I,EAAI8+I,EAAMp5H,MACVvhB,EAAI26I,EAAMwyB,UACd,OAAO1xK,OAAOgB,OAAO,CACnBkR,MAAOqrI,GAAQ,IACfprI,OAAQorI,GAAQ,IAChBx0G,MAAOxkC,EAAE80K,aACTh2F,QAASk6D,GAAQ,GACjBvgD,aAAc,MACdpC,gBAAiBr2F,EAAE+0K,uBACnB5G,iBC3CkD3pI,ED2ChBxkC,EAAE80K,aC1CjC,wJAA0J9zJ,mBAAmBwjB,GAAS,gND2CzL4pI,iBAAkB,YAClB8Q,mBAAoB,SACpB0I,eAAgB5nL,EAAEg1K,sBAClBoV,oBAAqBpxC,GAAQ,KAC5Bn9I,EAAE8iL,QAAU,CACbxQ,iBEjDoD3pI,EFiDjBxkC,EAAE80K,aEhDlC,uJAAyJ9zJ,mBAAmBwjB,GAAS,wNAA0NxjB,mBAAmBwjB,GAAS,mOFiD7a,CACDnU,QAASx0B,EAAE8iL,OAAS,EAAI,EACxBrsG,cAAe,OACf3uD,WAAY,2BACZk/B,KAAM,MACNw6B,SAAU,WACVt6B,IAAK,MACLosB,UAAW,2BAGfk7G,OAAQ,SAAgBxvC,GAClBh/I,EAAIg/I,EAAMt5H,MACd,OAAO9lB,OAAOgB,OAAO,CACnBugD,QAAS,UACPnhD,EAAEyuL,cAAgB,CACpBttI,QAAS,WGhEJutI,GAAkB,CAC3Bj5F,KAAM,SAAc4iD,GAGlB,OAFYA,EAAK3yH,MACD2yH,EAAKi5B,UACd,IAET7tK,MAAO,SAAeq7I,GACpB,IAAIp5H,EAAQo5H,EAAMp5H,MACd3Q,EAAO2Q,EAAM3Q,KACbk1K,EAASvkK,EAAMukK,OACf0E,EAAWjpK,EAAMipK,SACrB,OAAO/uL,OAAOgB,OAAO,KAAMmU,GAAiB,UAATA,GAA6B,aAATA,IAAwB,CAC7EosC,QAAS,QACTqzE,aAAc2oB,GAAQ,IACrB8sC,GAAU,CACX11D,YAAa4oB,GAAQ,IACrBh8F,QAAS,UACRwtI,GAAY,CACb9E,UAAW,CACTr/K,QAAS,UAIf8jL,QAAS,SAAiBtvC,GACrB,IAACt5H,EAAQs5H,EAAMt5H,MACVs5H,EAAMsyB,UACVv8J,EAAO2Q,EAAM3Q,KACjB,OAAOnV,OAAOgB,OAAO,GAAImU,IAAkB,UAATA,GAA6B,aAATA,IAAwB,CAC5Ew/G,YAAa4oB,GAAQ,OAGzBznI,QAAS,SAAiBwpI,GACxB,IAAIl/I,EAAIk/I,EAAMx5H,MACVvhB,EAAI+6I,EAAMoyB,UACd,OAAO1xK,OAAOgB,OAAO,GAAIZ,EAAE4uL,iBAAmB,CAC5CjmJ,MAAOxkC,EAAEylJ,YAAY7wE,IAAIovE,YACxB,CACDhnG,QAAS,QACTu1D,YAAavyG,EAAEq8J,sBAGnBpjF,KAAM,SAAcgiE,GAClB,IAAIp/I,EAAIo/I,EAAM15H,MACVvhB,EAAIi7I,EAAMkyB,UACd,OAAO1xK,OAAOgB,OAAO,GAAIZ,EAAE4uL,iBAAmB,CAC5CjmJ,MAAOxkC,EAAEylJ,YAAY7wE,IAAIovE,eC7CpB0mC,GAAkB,CAC3Bp5F,KAAM,SAAc4iD,GAClB,IAAIr4I,EAAIq4I,EAAK3yH,MACTvhB,EAAIk0I,EAAKi5B,UACb,OAAO1xK,OAAOgB,OAAO,CACnBugD,QAAS,QACT5sB,WAAYpwB,EAAEowB,WACdigG,aAAcrwH,EAAEqwH,cACfx0H,EAAEiqL,QAAU,CACb11D,YAAa4oB,GAAQ,IACrBh8F,QAAS,UACRnhD,EAAE2uL,UAAY,CACf9E,UAAW,CACTr/K,QAAS,WCdNskL,GAAoB,CAC7Br5F,KAAM,SAAc4iD,GAClB,IAAIr4I,EAAIq4I,EAAK3yH,MACTvhB,EAAIk0I,EAAKi5B,UACb,OAAO1xK,OAAOgB,OAAO,CACnBugD,QAAS,QACTu1D,YAAavyG,EAAEuyG,aACd12G,EAAE2X,OAAS,CACZgxB,MAAOxkC,EAAEylJ,YAAY7wE,IAAIovE,eCPpB4mC,GAAa,CACtBt5F,KAAM,SAAc4iD,GAClB,IAEIr4I,EAAIq4I,EAAK3yH,MACTvhB,EAAIk0I,EAAKi5B,UACb,OAAO1xK,OAAOgB,OAAO,CACnBugD,QAAS,QACRnhD,EAAEywJ,OAAS,CACZjuE,OAAQ,kBACR+0B,WAAY,aACXv3G,EAAEiqL,QAAU,CACb9oI,QAAS,eACRnhD,EAAEgvL,QAAU,CACb9H,cAAe,UACdlnL,EAAEivL,SAAWjvL,EAAEgvL,OAAS,CACzBt6E,WAAYw1E,GAAgBlqL,EAAEivL,SAC5B,CACF/3E,eAAgBgzE,GAAgBlqL,EAAEivL,UAChCjvL,EAAEkvL,SAAWlvL,EAAEgvL,OAAS,CAC1B93E,eAAgBgzE,GAAgBlqL,EAAEkvL,SAChC,CACFx6E,WAAYw1E,GAAgBlqL,EAAEkvL,UAC5BlvL,EAAEmvL,OAAS,CACbj4E,eAAgB,SAAWl3G,EAAEmvL,OAC5BnvL,EAAEovL,MAAQ,CACXn4E,SAAU,QACTj3G,EAAEqvL,MAAQ,CACXv9K,MAAO,OACPC,OAAQ,QACP/R,EAAEijF,SAAW,CACdA,QAAS9+E,EAAEnE,EAAEijF,UACZjjF,EAAE4uF,KAAO,CACV0gG,yBAAyBC,EAAgB,IAAkBvvL,EAAEgvL,OAAS,eAAiB,eAAiB7qL,EAAEnE,EAAE4uF,KAAM2gG,OCjC7GC,GAAiB,CAC1B/5F,KAAM,SAAc4iD,GAClB,IAAIr4I,EAAIq4I,EAAK3yH,MACTvhB,EAAIk0I,EAAKi5B,UACb,OAAO1xK,OAAOgB,OAAO,GAAIZ,EAAEyvL,OAAS,CAClCzC,UAAW9C,GAAgBlqL,EAAEyvL,QAC5BzvL,EAAEmY,MpCGA,CACLs/F,UoCJkCtzG,EAAEjE,eAAeF,EAAEmY,MAAQhU,EAAEnE,EAAEmY,MAAQnY,EAAEmY,MAA2B,iBAAbnY,EAAE0vL,QAAuB,CAChHj8J,WAAYzzB,EAAE0vL,SACA,IAAb1vL,EAAE0vL,QAAoB,CACvBj8J,WAAY,GACXzzB,EAAE2vL,MAAQ,CACXp8J,SAAUvzB,EAAE2vL,OACA,IAAX3vL,EAAE2vL,MAAiB,CACpBp8J,SAAU,GACTvzB,EAAEsE,OAA6B,WAApBtE,EAAEknL,cAA6B,CAC3C5yD,UAAW,QACT,CACFD,WAAY,YnCbPu7D,GAAa,CACtBn6F,KAAM,SAAc4iD,GAClB,IAAI3yH,EAAQ2yH,EAAK3yH,MACbmqK,EAAiBx3C,EAAKi5B,UACtBv/J,EAAS89K,EAAe99K,OACxBD,EAAQ+9K,EAAe/9K,MACvBmoK,EAAqB4V,EAAe5V,mBACpCC,EAAU2V,EAAe3V,QACzBj3F,EAAU4sG,EAAe5sG,QACzB6sG,EAAOpqK,EAAMoqK,KACbC,EAAiBrqK,EAAM2N,QACvBA,OAA6B,IAAnB08J,GAA6BrqK,EAAMoqK,MAAQ7V,EAAqB8V,EAC9E,OAAOnwL,OAAOgB,OAAO,CACnBmR,OAAQA,EACRD,MAAOA,EACPmxE,QAASA,EACTi3F,QAASA,EACT/4H,QAAS,CAAC,OAAQ,YAClB+1D,eAAgB,gBACf44E,IAASz8J,GAAW,CACrB28J,aAAc,UACbF,GAAQ,CACTG,iBAAkB7F,GAAoB0F,GACtCI,WAAY9F,GAAoB0F,IAC/Bz8J,GAAW,CACZ6vJ,oBAAqBkH,GAAoB/2J,GACzC8vJ,cAAeiH,GAAoB/2J,IAClC,CACD88J,QAAS,CACPC,cAAe,YoChCZC,GAAe,CACxB56F,KAAM,SAAc4iD,GAClB,IAAIr4I,EAAIq4I,EAAK3yH,MACTvhB,EAAIk0I,EAAKi5B,UACTplB,EAAS/nJ,EAAEylJ,YAAY5pJ,EAAE2oC,OAC7B,OAAO/oC,OAAOgB,OAAO,CACnBugD,QAAS,QACTxY,MAAOoqI,GAAK7mB,EAAQ,aAAc/nJ,EAAEwkC,OACpC0sE,UAAWk1E,GAAmBvqL,EAAEyvL,QAC/BzvL,EAAEswL,gBAAkB,CACrB97D,aAAc,MCVT+7D,GAA0B,CACnC96F,KAAM,SAAc4iD,GAClB,IAAIr4I,EAAIq4I,EAAK3yH,MACTvhB,EAAIk0I,EAAKi5B,UACTplB,EAAS/nJ,EAAEylJ,YAAY5pJ,EAAE2oC,OAC7B,MAAO,CACLwY,QAAS,QACTxY,MAAOoqI,GAAK7mB,EAAQ,aAAc/nJ,EAAEwkC,OACpC42C,SAAU49D,GAAQ,IAClB9oH,WAAY,OnC0CPm8J,GAAgB,CACzB/6F,KAAM,SAAc4iD,GAClB,IAAIr4I,EAAIq4I,EAAK3yH,MACTvhB,EAAIk0I,EAAKi5B,UACb,OAAO1xK,OAAOgB,OAAO,CACnB6vL,MAAO,OACPj6E,cAAe,UAlCG,SAA2Bk6E,EAAU5V,GAC3D,OAAQ4V,GACN,IAAK,OACH,MAAO,CACLr8D,WAAY,EACZE,YAAa,GAGjB,IAAK,SACH,MAAO,CACLF,WAAYymD,EACZvmD,YAAa,GAGjB,IAAK,QACH,MAAO,CACLF,WAAY,EACZE,YAAaumD,GAGjB,IAAK,OACH,MAAO,CACLzmD,WAAYymD,EACZvmD,YAAaumD,IAYd6V,CAAkB3wL,EAAE0wL,SAAUvsL,EAAE22K,iBAAkB96K,EAAEyyK,UAAY7yK,OAAOgB,OAAO,GAAI8pL,KAAkB,CACrG9tF,aAAc,QACZ58F,EAAEixB,UAAY,CAChB0X,MAAOxkC,EAAEk4J,eACR,CACDl7G,QAAS,iBACPnhD,EAAE4wL,UAAYzsL,EAAEu9E,eAzD2Bg+F,EAyDOv7K,EAAEu9E,aAAev9E,EAAEwkC,OAAS,eAxD7E/oC,OAAOgB,OAAO,GAAI8pL,KAAkB,CACzC7tF,UAAW,gBAAkB6iF,EAAiB,YAuDqD,CACjGllF,gBAAiBr2F,EAAEq2F,mBAGvBq2F,YAAa,SAAqB/xC,GAC5B9+I,EAAI8+I,EAAMp5H,MACd,OAAO9lB,OAAOgB,OAAO,CACnBugD,QAAS,QACRnhD,EAAEsiF,SAAW,CACdnhC,QAAS,WAGb2vI,WAAY,SAAoB9xC,GAC1Bh/I,EAAIg/I,EAAMt5H,MACd,OAAO9lB,OAAOgB,OAAO,GAAIZ,EAAEsiF,SAAW,CACpCnhC,QAAS,UAGbxvB,IAAK,SAAautH,GAChB,IAAI6xC,EAAc7xC,EAAMx5H,MACpBvN,EAAO44K,EAAY54K,KACnB8Y,EAAW8/J,EAAY9/J,SACvB+/J,EAASD,EAAYC,OACrB7sL,EAAI+6I,EAAMoyB,UACVphH,EAAMgvF,EAAMhvF,IACZ+gI,GA5E+B94K,EA4EFA,EA3E/B+4K,EAAgB,CAClB7zG,MAAO,CACLp4D,EAAG,GACHksK,GAAI,MAJmChtL,EA4EFA,GArEhCitL,cAAgBF,EAAc/4K,IAAS+4K,EAAc/4K,GAAMhU,EAAEitL,cAAgBj0C,GAAQ+zC,EAAc/4K,GAAMhU,EAAEitL,eAAiBjtL,EAAEgU,EAAO,SAsE5I,OAAOvY,OAAOgB,OAAO,CACnBugD,QAAS,QACTrvC,MAAOm/K,EACPl/K,OAAQk/K,EACR5B,KAAMlrL,EAAEwkC,OAAS,gBAChB1X,GAAY,CACbo+J,KAAMlrL,EAAEk4J,eACP,CAED/oF,UAAW,UAAY09G,EAAS,sBAC/B9gI,GAAO,CACRojB,UAAW,WAAa,EAAI09G,EAAS,wBAGzCK,iBAAkB,SAA0BjlI,GAC1C,IAAI1mC,EAAQ0mC,EAAO1mC,MACfwqC,EAAM9D,EAAO8D,IACjB,OAAOtwD,OAAOgB,OAAO,GAAImtI,GAASyiD,GAAc7+J,IAAvBo8G,CAA4B3hF,GAAS8D,GAAO,CACnEojB,UAAW,qBAAuB5tD,EAAMsrK,OAAS,wBAGrDM,QAAS,SAAiBlyC,GAExB,MAAO,CACLiwC,KAFMjwC,EAAMkyB,UAEJgJ,YoCpHHiX,GAAc,CACvB97F,KAAM,SAAc4iD,GAClB,IAAI3yH,EAAQ2yH,EAAK3yH,MACb4rJ,EAAYj5B,EAAKi5B,UACrB,OAAO1xK,OAAOgB,OAAO,CACnB+7F,UAAW,aACXx7C,QAAS,eACTq1D,cAAe,SACf1kG,MAAO4T,EAAMggK,MAAS,OAAUpU,EAAUx/J,MAC1CC,OAAQu/J,EAAUv/J,QAAU,QAC3B2T,EAAM+sJ,UAAY,CACnB71E,aAAc00E,EAAU2J,gBACvBv1J,EAAM+/J,QAAU,CACjB3zK,MAAO4T,EAAMggK,MAAS,OAAUpU,EAAU0J,WAC1Cp+E,aAAc00E,EAAUyJ,iBCbnByW,GAAc,CACvB/7F,KAAM,SAAc4iD,GACf,IAACr4I,EAAIq4I,EAAK3yH,MAEb,OADQ2yH,EAAKi5B,UACN1xK,OAAOgB,OAAO,CACnBsmL,cAAe,SACfhwE,eAAgB,SAChB/1D,QAAS,cACTqgC,SAAU,WACVc,QAAS,EACTk0B,cAAe,UACdx2G,EAAE0lL,OAAS,CACZ5zK,MAAO,QACc,WAApB9R,EAAEipL,eAA8B,CACjC/B,cAAe,MACfxyE,WAAY,YAGhBn+E,MAAO,SAAeuoH,GACpB,IAAI9+I,EAAI8+I,EAAMp5H,MACVvhB,EAAI26I,EAAMwyB,UACd,OAAO1xK,OAAOgB,OAAO,CACnB45F,gBAAiBr2F,EAAEq2F,iBAClBx6F,EAAEmmL,UAAY,CACf3rF,gBAAiBr2F,EAAEw3K,yBAClB,CACDpnJ,WAAY,QACZoU,MAAOxkC,EAAEy3K,UACTl6F,YAAav9E,EAAEu9E,YACfkb,aAAcz4F,EAAEy4F,aAChBG,YAAa,QACbD,YAAa34F,EAAE24F,YACfxa,QAAS,OACTW,QAAS9+E,EAAEs3K,aACXj6F,SAAU,YACTxhF,EAAE0lL,OAAS,CACZ5zK,MAAO,QACN9R,EAAEiqL,QAAU,CACb1C,MAAO,QACNvnL,EAAEixB,UAAY,CACf0X,MAAOxkC,EAAE8zJ,cACTp7D,UAAW,QACV,CACD40F,gBAAiB7xL,OAAOgB,OAAO,CAC7B+nC,MAAOxkC,EAAE63K,iBACTxnJ,QAAS,GACRx0B,EAAEixB,UAAY,CACf0X,MAAOxkC,EAAE8zJ,gBAEXjsD,SAAUpsG,OAAOgB,OAAO,IAAKZ,EAAE2X,OAAS,CACtC+pE,YAAav9E,EAAE23K,0BAEf97K,EAAE0xL,UAAY,CAChBC,0BAA2B,CACzBC,0BAA2B,gBAE5B5xL,EAAE6xL,WAAa,CAChB5uG,QAAS9+E,EAAEq3K,2BACVx7K,EAAE8xL,SAAW,CACd7uG,QAA4B,UAAnBjjF,EAAEo7K,aAA2Bj3K,EAAEo3K,4BAA8Bp3K,EAAEq3K,2BACnD,WAApBx7K,EAAEipL,eAA8B,CACjCn+D,WAAY3mH,EAAEu3K,4BACb17K,EAAE2X,OAAS,CACZ6qE,OAAQ26D,GAAQ,GAAK,UAAYh5I,EAAEg3K,kBAClC,CACD4W,cAAe,CACb5wI,QAAS,WAIfi8B,KAAM,SAAc4hE,GAClB,IAAIh/I,EAAIg/I,EAAMt5H,MACVvhB,EAAI66I,EAAMsyB,UACd,OAAO1xK,OAAOgB,OAAO,CACnB+nC,MAAOxkC,EAAEyyG,UACTt0B,QAAS,EACTnhC,QAAS,OACTuzD,WAAY,SACZwC,eAAgB,SAChB11B,SAAUr9E,EAAEi3K,aACZl0H,IAAK,EACLqa,OAAQ,GACPvhE,EAAE2X,OAAS,CACZgxB,MAAOxkC,EAAE+2K,YACRl7K,EAAEgyL,uBAAyB,CAC5BrpJ,MAAOxkC,EAAE03K,iBACR77K,EAAEixB,UAAY,CACf0X,MAAOxkC,EAAE8zJ,eACW,UAAnBj4J,EAAEo7K,cAA4B,CAC/Bp0H,KAAM7iD,EAAEm3K,UACY,QAAnBt7K,EAAEo7K,cAA0B,CAC7B95G,MAAOn9D,EAAEk3K,WACRr7K,EAAE6xL,WAAa7xL,EAAE0xL,UAAY9xL,OAAOgB,OAAO,CAC5CmR,OAAQ,OACRD,MAAOqrI,GAAQ,IACfx0G,MAAOxkC,EAAEyyG,WACR52G,EAAEixB,UAAY,CACf0X,MAAOxkC,EAAE8zJ,kBAGbg6B,eAAgB,WACd,MAAO,CACLzwG,SAAU,cCvGL0wG,GAAmB,CAC5Bz8F,KAAM,SAAc4iD,GAClB,IAAIr4I,EAAIq4I,EAAK3yH,MACTvhB,EAAIk0I,EAAKi5B,UACb,OAAO1xK,OAAOgB,OAAO,CACnBugD,QAAS,QACTr5B,WAAY,UACZyM,WAAYpwB,EAAEowB,WACdigG,aAAcrwH,EAAEqwH,cACK,WAApBx0H,EAAEipL,eAA8BrpL,OAAOgB,OAAO,CAC/C2gE,OAAQp9D,EAAE83K,kBACV/0H,IAAK,EACLF,KAAM,EACNg8B,OAAQ,EACRxB,SAAU,WACVrgC,QAAS,OACTuzD,WAAY,SACZ7/E,OAAQ,IACR6hF,YAAavyG,EAAE+3K,wBACdl8K,EAAE0xL,UAAY,CACfp+G,UAAW,oBACXiM,SAAUp7E,EAAEg4K,4BACU,WAApBn8K,EAAEipL,eAA8B,CAClCr+D,aAAczmH,EAAEi4K,yBACfp8K,EAAE2uL,UAAY,CACf9E,UAAW,CACTr/K,QAAS,WCzBN2nL,GAAc,CACvB18F,KAAM,SAAc4iD,GAClB,IAAIr4I,EAAIq4I,EAAK3yH,MACTvhB,EAAIk0I,EAAKi5B,UACb,OAAO1xK,OAAOgB,OAAO,CACnBugD,QAAS,cACTuzD,WAAY,SACZt3C,SAAU,SACVrrD,OAAQ5N,EAAE4N,OACVwiB,WAAYpwB,EAAE4N,OACd42B,MAAOxkC,EAAEgkJ,WACT3tD,gBAAiBr2F,EAAEozG,WACnBh4B,SAAU49D,GAAQ,IAClBvgD,aAAcugD,GAAQ,GACtBl6D,QAAS9+E,EAAE8+E,SACVjjF,EAAE6tL,WAAiC,UAApB7tL,EAAEoyL,cAA4B,CAC9C17E,YAAavyG,EAAEk4K,kBACb,CACFzxD,aAAczmH,EAAEm4K,kBACdt8K,EAAEyyK,UAAY,CAChB71E,aAAcz4F,EAAE82K,gBACH,UAAZj7K,EAAE2oC,OAAqB,CACxBA,MAAOxkC,EAAEo4K,gBACT/hF,gBAAiBr2F,EAAEq4K,iBACN,UAAZx8K,EAAE2oC,OAAqB,CACxBA,MAAOxkC,EAAEs4K,gBACTjiF,gBAAiBr2F,EAAEu4K,iBACN,UAAZ18K,EAAE2oC,OAAqB,CACxBA,MAAOxkC,EAAEw4K,gBACTniF,gBAAiBr2F,EAAEy4K,iBACN,SAAZ58K,EAAE2oC,OAAoB,CACvBA,MAAOxkC,EAAE04K,eACTriF,gBAAiBr2F,EAAE24K,gBACN,WAAZ98K,EAAE2oC,OAAsB,CACzBA,MAAOxkC,EAAE44K,iBACTviF,gBAAiBr2F,EAAE64K,kBACN,QAAZh9K,EAAE2oC,OAAmB,CACtBA,MAAOxkC,EAAE84K,cACTziF,gBAAiBr2F,EAAE+4K,eACN,UAAZl9K,EAAE2oC,OAAqB,CACxBA,MAAOxkC,EAAEg5K,gBACT3iF,gBAAiBr2F,EAAEi5K,iBACN,WAAZp9K,EAAE2oC,OAAsB,CACzBA,MAAOxkC,EAAEk5K,iBACT7iF,gBAAiBr2F,EAAEm5K,oBAGvB9yK,QAAS,SAAiBs0I,GACrB,IAAC9+I,EAAI8+I,EAAMp5H,MACNo5H,EAAMwyB,UACd,IAAI+gB,EAAkBryL,EAAE6tL,UAAgC,UAApB7tL,EAAEoyL,eAA6BpyL,EAAE8xL,SAA8B,UAAnB9xL,EAAEo7K,aAC9EkX,EAAgBtyL,EAAE6tL,UAAgC,QAApB7tL,EAAEoyL,eAA2BpyL,EAAE8xL,SAA8B,QAAnB9xL,EAAEo7K,aAC9E,OAAOx7K,OAAOgB,OAAO,GAAIyxL,GAAmB,CAC1Ch+D,WAAY8oB,GAAQ,KAClBk1C,GAAmBryL,EAAEyyK,UAAY,CACnCp+C,WAAY8oB,GAAQ,IACnBm1C,GAAiB,CAClB/9D,YAAa4oB,GAAQ,KACnBm1C,GAAiBtyL,EAAEyyK,UAAY,CACjCl+C,YAAa4oB,GAAQ,MAGzBp2C,MAAO,SAAei4C,GAChB76I,EAAI66I,EAAMsyB,UACd,MAAO,CACLv/J,OAAQ5N,EAAE4N,OACVD,MAAO3N,EAAE4N,SAGbqrE,KAAM,SAAc8hE,GAClB,IAAIl/I,EAAIk/I,EAAMx5H,MACVvhB,EAAI+6I,EAAMoyB,UACd,OAAO1xK,OAAOgB,OAAO,CACnBugD,QAAS,cACTuzD,WAAY,SACZwC,eAAgB,SAChBplG,MAAO3N,EAAE0sJ,SACT9+I,OAAQ5N,EAAE0sJ,SACV+yB,mBAAoB,CAClB7xK,OAAQ,OACRD,MAAO,OACP+xK,QAAS,CACP9xK,OAAQ,OACRD,MAAO,UAGV9R,EAAEuyL,mBAAqB,CACxBn9E,OAAQ,crClFHo9E,GAAe,CACxB/8F,KAAM,SAAc4iD,GAClB,IAEI3yH,EAAQ2yH,EAAK3yH,MACbgvF,EAAahvF,EAAMgvF,WACnB+7C,EAAQ/qI,EAAM+qI,MACd7hE,EAAMlpE,EAAMkpE,IACZ6jG,EAAe/sK,EAAM+sK,aACrBC,EAAUhtK,EAAMgtK,QAChBC,EAAWjtK,EAAMitK,SACjBC,EAASltK,EAAMktK,OACfC,EAAUntK,EAAMmtK,QAChBC,EAAWptK,EAAMotK,SACjBC,EAAYrtK,EAAMqtK,UAClBvjF,EAAW9pF,EAAM8pF,SACrB,OAAO5vG,OAAOgB,OAAO,GAAI6vJ,GAASm6B,OAAc70B,EAAiB,CAC/D08B,aAAcA,EACd/9E,WAAYA,EACZvzD,QAAS,CAAC,OAAQ,cACFquD,EAAW,mBAAqB,uBAAyB,CAE3EsjF,GAAYC,EAAWnkG,GAAOkkG,GAAYJ,GAAW9jG,EAAK8jG,GAAWC,EAAU/jG,IAAQkkG,GAAYJ,IAAYE,GAAUhkG,EAAKgkG,GAAUC,GAASjpL,OAAO4kI,SAAS58H,KAAK,KAAMmkJ,GAAiBvmD,GAAY,CACvMwgF,aAAc,MACd7M,cAAe,SAGnBv0F,IAAK,SAAakwD,GACZp5H,EAAQo5H,EAAMp5H,MAClB,OAAO9lB,OAAOgB,OAAO,GAAI8kB,EAAM+qI,ODQb,SAAkB3R,GAClCtvC,EAAWsvC,EAAMtvC,SACrB,MAAO,CACLruD,QAAS,OACTo2D,WAAY,OACZywE,WAAYpoL,OAAOgB,OAAO,CACxB4J,QAAS,SACRglG,EAAW,CACZ0G,cAAe,OACb,CACF88E,gBAAiB,UACjBC,YAAa,eACZ,CACDjG,UAAW,SACXxD,YAAa,SACbjqG,SAAU,MACVlrD,WAAY,IACZE,WAAY,EACZoU,MAAO,UC1B+BuqJ,CAAS,CAC/C1jF,SAAU9pF,EAAM8pF,aAGpBrjE,MAAO,SAAe6yG,GACpB,IAEIh/I,EAAIg/I,EAAMt5H,MACd,OAAO9lB,OAAOgB,OAAO,GAAIZ,EAAEywJ,OAASo6B,OAAcjuB,EAAkB,CAClEloD,WAAY,SACZvzD,QAAS,gBACQnhD,EAAEwvG,SAAW,YAAc,gBAAkB,IAAKotD,KAEvEpnC,KAAM,SAAc0pB,GAClB,IAEIl/I,EAAIk/I,EAAMx5H,MACd,OAAO9lB,OAAOgB,OAAO,GAAIZ,EAAEywJ,OAASo6B,OAAcpuB,EAAkB,CAClE/nD,WAAY,SACZvzD,QAAS,CAAC,OAAQ,cACDnhD,EAAEwvG,SAAW,YAAc,gBAAkBs7E,GAAU,CAAC9qL,EAAE8yL,SAAU9yL,EAAE8yL,UAAY9yL,EAAE4uF,IAAK5uF,EAAE0yL,UAAWj2B,KAE3HpwH,IAAK,SAAa+yG,GAChB,IAEIp/I,EAAIo/I,EAAM15H,MACd,OAAO9lB,OAAOgB,OAAO,GAAIZ,EAAEywJ,OAASo6B,OAAcsI,EAAkB,CAClEz+E,WAAY,SACZvzD,QAAS,gBACQnhD,EAAEwvG,SAAW,YAAc,gBAAkBs7E,GAAU,CAAC9qL,EAAE8yL,SAAU9yL,EAAE8yL,UAAY9yL,EAAE4uF,IAAK5uF,EAAE0yL,SAAW1yL,EAAE4uF,MAAOukG,MsC/DlIC,GAAqB,CACvBC,MAAO,iBACPC,MAAO,SACPnnJ,MAAO,cACPE,IAAK,OAEIknJ,GAAe,CACxB99F,KAAM,SAAc4iD,GACdr4I,EAAIq4I,EAAK3yH,MACb,MAAO,CACLgvF,WAAY,SACZvzD,QAASnhD,EAAEiqL,OAAS,cAAgB,OACpC/yE,eAAgB,SAChBgwE,cAAekM,GAAmBpzL,EAAEipL,iBAGxC7F,UAAW,SAAmBtkC,GAC5B,IAAI9+I,EAAI8+I,EAAMp5H,MACVvhB,EAAI26I,EAAMwyB,UACd,MAAO,CACLv/J,OAAQ5N,EAAEo5K,iBAAiBv9K,EAAEmY,MAC7BrG,MAAO3N,EAAEs5K,gBAAgBz9K,EAAEmY,MAC3BilD,SAAU,WAGdzrC,IAAK,SAAaqtH,GACb,IAACh/I,EAAIg/I,EAAMt5H,MACNs5H,EAAM7/H,UACVhb,EAAI66I,EAAMsyB,UAkBVkiB,EAAe,CACjBjxJ,cAAe,CACb7d,GAAI,CACF4uD,UAAW,kBAAoBnvE,EAAEy5K,qBAAqB59K,EAAEmY,MAAQ,SAGpEs7K,eAAgB,KAChBC,mBAAoB,SACpBr9G,kBAAmB,KACnBE,kBAAmB,OACnBo9G,mBAAoB,UACpBr9G,wBAAyB,iBACzBzjD,wBAAyB,YAE3B,OAAOjzB,OAAOgB,OAAO,GA/BA,CACnB2hC,cAAe,CACb7d,GAAI,CACF8P,QAAS,IAGbi/J,eAAgB,OAChBC,mBAAoB,SACpBr9G,kBAAmB,MACnBE,kBAAmB,OACnB1jD,wBAAyB,IACzB8gK,mBAAoB,UACpBr9G,wBAAyB,WACzBn1B,QAAS,QACTic,SAAU,SACVokB,SAAU,YAgB6B,CACvC2wF,UAAWvyK,OAAOgB,OAAO,GAAI4yL,EAAc,CACzClhB,gBAAiBnuK,EAAEu5K,WACnBlzK,QAAS,MACT22C,QAAS,QACTic,SAAU,SACVrrD,OAAQ5N,EAAEw5K,WAAW39K,EAAEmY,MACvBrG,MAAO3N,EAAE05K,UAAU79K,EAAEmY,WAI3B1U,MAAO,WACL,MAAO,CACLu/E,OAAQm6D,GAAQ,OCzEXy2C,GAAa,CACtBn+F,KAAM,SAAc4iD,GACdr4I,EAAIq4I,EAAK3yH,MACb,OAAO9lB,OAAOgB,OAAO,GAAIZ,EAAEywJ,OAASm6B,KAAa,CAC/CzpI,QAASnhD,EAAEyxG,WAAa,cAAgB,SACvCzxG,EAAE6zL,WAAa,CAChB1M,UAAW,OACXlkG,QAAS,EACTD,OAAQ,MC4BH8wG,GAAiB,CAC1Br+F,KAAM,SAAcqpD,GAClB,IAEI9+I,EAAI8+I,EAAMp5H,MACVvhB,EAAI26I,EAAMwyB,UACVx4B,EAAgBgG,EAAM3/H,MAAM25H,cAC5BorC,EAAoB9S,GAAqB,CAC3CE,UAAWx4B,IAEb,OAAOl5I,OAAOgB,OAAO,CACnBugD,QAAS,OACTuzD,WAAY,SACZiC,UAAWxyG,EAAEwyG,UACb1zB,QAAS9+E,EAAE28J,cACT9gK,EAAE+zL,YAAc/zL,EAAEg0L,YAAcp0L,OAAOgB,SAAQm1J,EAAiB,CAClEv0E,SAAU,aACM,MAAQ2qG,IAA6B,CACrDhrI,QAAS,QACR40G,EAAe,WAhDK,SAAiC5xJ,GAGnDk0I,EAAO,CACZ9gC,WAAYpzG,EAAEk9J,oCACd14H,MAAOxkC,EAAEi9J,0BACThsD,OAAQ,UACP6+E,yBAAwC,CACzCtrJ,MAAO,WACNurJ,0BAAyC,CAC1CvrJ,MAAO,YAPT,OAQG0vG,EAAK,+BAAwCz4I,OAAOgB,OAAO,GAAImnJ,GAA6B,CAC7Fp/G,MAAO,YACL0vG,EAAK,gCAAyC,CAChDl3F,QAAS,OACTxY,MAAO,WACN0vG,EAAK,MAAQ8zC,IAA6B,CAC3ChrI,QAAS,QACTxY,MAAO,WACN0vG,EA6B8B87C,CAAwBhwL,GAAI4xJ,EAAe,UAAYmuB,EAAkB,UAAWnuB,EAAe,kBAAoBn2J,OAAOgB,OAAO,GAAIsjL,EAAkB,kBAAmB,CAC3MrvJ,OAAQ1wB,EAAE0wB,SACRkhI,GAAiB/1J,EAAEqW,UA3BlB,CACLkhG,WA0BiDpzG,EA1B3Bo9J,wBACtB54H,MAyBiDxkC,EAzBhCm9J,gBAyBqCthK,EAAE4pL,WAAa,CACnEv1J,WAAYlwB,EAAE88J,uBAGlBmzB,cAAe,WACb,MAAO,CACLjzI,QAAS,SAGb8hI,eAAgB,WACd,MAAO,CACL9hI,QAAS,SAGbq0E,KAAM,WACJ,MAAO,CACLr0E,QAAS,OACT+lI,cAAe,SACf3zJ,SAAU,EACV4pE,SAAU,KC7ELk3F,GAAwB,CACjC5+F,KAAM,SAAc4iD,GAClB,IAAIr4I,EAAIq4I,EAAK3yH,MACTvhB,EAAIk0I,EAAKi5B,UACb,OAAO1xK,OAAOgB,OAAO,CACnB2yB,SAAU,EACVgsD,SAAUp7E,EAAEyzJ,gBACZrjI,WAAYpwB,EAAE2zJ,mBACb93J,EAAEs0L,UAAY,CACfl3H,SAAU,SACVq5C,aAAc,WACdV,WAAY,YACT/1G,EAAE+tL,WAAa/tL,EAAEu0L,kBAAoB,CACxChgE,YAAapwH,EAAEyqF,QCbV4lG,GAAyB,CAClC/+F,KAAM,SAAc4iD,GACdr4I,EAAIq4I,EAAK3yH,MACb,OAAO9lB,OAAOgB,OAAO,CACnB6yB,WAAY,IACVzzB,EAAE+zL,YAAc/zL,EAAEg0L,YAAc,CAClC7yI,QAAS,WCNJszI,GAAuB,CAChCh/F,KAAM,SAAc4iD,GAClB,IAAIr4I,EAAIq4I,EAAK3yH,MACTvhB,EAAIk0I,EAAKi5B,UACb,OAAO1xK,OAAOgB,OAAO,CACnB2yB,SAAU,EACVgsD,SAAUp7E,EAAEmtJ,eACZ/8H,WAAYpwB,EAAEstJ,kBACbzxJ,EAAEs0L,UAAY,CACfl3H,SAAU,SACVq5C,aAAc,WACdV,WAAY,YACT/1G,EAAEmkL,YAAcnkL,EAAE00L,iBAAmB,CACxCngE,YAAapwH,EAAEyqF,QCZV+lG,GAAsB,CAC/Bl/F,KAAM,SAAc4iD,GAClB,IAAIr4I,EAAIq4I,EAAK3yH,MACTvhB,EAAIk0I,EAAKi5B,UACb,OAAO1xK,OAAOgB,OAAO,GAAIZ,EAAE4pL,WAAa,CACtC5B,WAAY,CACVx9K,QAAS,KACTg3E,SAAU,WACVx6B,KAAMm2F,GAAQ,GACdrrI,MAAOqrI,GAAQ,GACfprI,OAAQorI,GAAQ,GAChB5lC,WAAY,UAEZv3G,EAAE+tL,WAAa/tL,EAAEmkL,aAAe,CAClC5vD,YAAapwH,EAAEyqF,QCbVgmG,GAAa,CACtBn/F,KAAM,SAAc4iD,GAClB,IAAIr4I,EAAIq4I,EAAK3yH,MACTvhB,EAAIk0I,EAAKi5B,UACT+U,EAAWrmL,EAAEqmL,SACbX,EAAQ1lL,EAAE0lL,MACVmP,EAAW70L,EAAE60L,SACbC,EAAQ90L,EAAE80L,MACV//D,EAAU/0H,EAAE+0H,QACZggE,EAAa/0L,EAAE+0L,WACfvlF,EAAWxvG,EAAEwvG,SACbwlF,EAAUh1L,EAAEg1L,QACZ9oC,EAASvC,GAAexlJ,EAAEylJ,YAAa,KAAM70B,GACjD,OAAOn1H,OAAOgB,OAAO,CACnBugD,QAAS,OACTw1D,UAAWwmC,GAAQ,IACnBn6D,OAAQ,EACRC,QAAS,EACTt6C,MAAOxkC,EAAEwkC,MACT6xD,gBAAiBr2F,EAAEq2F,iBAAmB,UACtCkwB,cAAe,QACd27D,GAAY,CACb3xE,WAAY,UACXlF,GAAY5vG,OAAOgB,OAAO,CAC3BsmL,cAAe,SACf1sF,gBAAiBr2F,EAAEi+J,wBACnBn/E,QAASk6D,GAAQ,GAAK,MACrB63C,GAAW,CACZn4F,UAAW14F,EAAEm+J,oBACXojB,IAAUsP,GAAW,CACvBljL,MAAO,eACNu0K,GAAY,CACbllI,QAAS,eACTrvC,MAAO,UACJgjL,IAAUzO,KAAcwO,GAAYrlF,KAAculF,GAAc,CAEnEvyG,OAAQr+E,EAAE24F,YAAc,WAAai4B,EAAU5wH,EAAE+0J,mBAAqB/0J,EAAEu9E,aAAewqE,EAAO1pE,QAC9Foa,aAAcugD,GAAQ,IACrB43C,GAAc,CACf/J,aAAc7mL,EAAE8+J,4BAA8B,UAAY9+J,EAAE89J,0B5CrCvDgzB,GAA4B93C,GAAQ,GACpC+3C,GAA6B/3C,GAAQ,GACrCg4C,GAA+Bh4C,GAAQ,IAkFvCi4C,GAAiB,CAC1B3/F,KAAM,SAAcupD,GAClB,IAAIh/I,EAAIg/I,EAAMt5H,MACVvhB,EAAI66I,EAAMsyB,UACVx4B,EAAgBkG,EAAM7/H,MAAM25H,cAC5BgqC,EAAS9iL,EAAE8iL,OACXuD,EAAWrmL,EAAEqmL,SACb6G,EAAiBltL,EAAEktL,eACnB2H,EAAW70L,EAAE60L,SACb9/D,EAAU/0H,EAAE+0H,QACZggE,EAAa/0L,EAAE+0L,WACfvlF,EAAWxvG,EAAEwvG,SACbv+E,EAAWjxB,EAAEixB,SACbi7H,EAASvC,GAAexlJ,EAAEylJ,YAAa,KAAM70B,GACjD,OAAOn1H,OAAOgB,OAAO,CACnB+nC,MAAO,UACPwY,QAAS,QACTi0D,OAAQ,UACRW,WAAY,SACZ34C,SAAU,UACTy3H,GAAYrlF,GAAY,CACzBhtB,OAAQ,yBACP6jG,GAAY,CACb7jG,OAAQ26D,GAAQ,GAAK,sBACpB,CACDl6D,QAAS9+E,EAAEg+J,mBACV3yD,GAAY,CACbvsB,QAAS9+E,EAAEk+J,qBACVwyB,GAAYrlF,GAAY,CACzBvsB,QAASk6D,GAAQ,GAAK,IAAMA,GAAQ,KACnC43C,GAAc,CACf9xG,QAASk6D,GAAQ,GAAK,MACrBkpC,GAAY,CACbrjG,OAAQm6D,GAAQ,GAChBl6D,QAASk6D,GAAQ,GAEjBh8F,QAAS,OACTuzD,WAAY,SACZwC,eAAgB,SAChB95C,SAAU,WACT0lH,GAAUljL,OAAOgB,OAAO,GAAIylL,GAAYzmL,OAAOgB,OAAO,CACvD+nC,MAAOxkC,EAAEw9J,qBACRyQ,GAA2B,CAC5B9vF,SAAS,KACNyyG,GAAcn1L,OAAOgB,OAAO,CAC/B+nC,MAAOxkC,EAAEy+J,uBACRmoB,GAAe5mL,EAAE2+J,mCAAoC/tC,GAAWn1H,OAAOgB,OAAO,CAC/E+nC,MAAOxkC,EAAE0+J,8BACRkoB,GAAe5mL,EAAEq0J,mBAAqBtM,EAAOvD,gBAAiB5zB,GAAW,CAC1E1gG,WAAY,OACT64J,GAAkBttL,OAAOgB,OAAO,CACnC+nC,MAAO,WACN09I,GAAYzmL,OAAOgB,OAAO,GAAIwwK,GAAqB,CACpDE,UAAWx4B,IACTs5B,GAA2B,CAC7B9vF,SAAS,KACNyyC,EAAUn1H,OAAOgB,OAAO,GAAIylL,GAAY,CAC3C3kG,YAAav9E,EAAEq0J,mBAAqBtM,EAAOvD,eACxC/oJ,OAAOgB,OAAO,GAAIm0L,GAAc,CACnC1gK,WAAY,KACX0gK,GAAcjS,GAAUiI,GAAe5mL,EAAE6zJ,cAAe+8B,GAAcn1L,OAAOgB,OAAO,GAAIwwK,GAAqB,CAC9GE,UAAWx4B,IACT,CACFo5B,iBAAkBtyK,OAAOgB,OAAO,GAAIwwK,GAAqB,CACvDE,UAAWx4B,IACV,kBAAmB,CACpBp3D,YAAav9E,EAAEq0J,uBAEd,CACHxsD,SAAU,CACR1pB,QAAS,GAGXw0B,SAAUl3G,OAAOgB,OAAO,CACtB+nC,MAAOxkC,EAAE4zJ,YACRg9B,GAAc,CACfpsJ,MAAOxkC,EAAE++J,uBACPjyI,GAAYrxB,OAAOgB,OAAO,GAAIylL,GAAYjU,GAA2B,CACvE9vF,SAAS,IACPyyC,EAAUn1H,OAAOgB,OAAO,GAAIylL,GAAY,CAC1C19I,MAAO,YACLm6I,GAAUiS,GAAchK,GAAe5mL,EAAE89J,uBAAyB/V,EAAOxD,oBAAsBo6B,GAAUiS,GAAchK,GAAe5mL,EAAEg0J,uBAAyBjM,EAAOxD,qBAC3Kz3H,GAAY,CACbmkF,OAAQ,aAGZ2nB,KAAM,SAAcmiB,GAElB,MAAO,CACLrqH,OAFMqqH,EAAMoyB,UAEF9N,c6ChLL6xB,GAAqB,CAC9B5/F,KAAM,SAAc4iD,GAClB,IAAIr4I,EAAIq4I,EAAK3yH,MACTvhB,EAAIk0I,EAAKi5B,UACb,OAAO1xK,OAAOgB,OAAO,CACnBugD,QAAS,cACTuzD,WAAY,SACZwC,eAAgB,SAChBplG,MAAO3N,EAAE0sJ,SACT9+I,OAAQ5N,EAAE0sJ,SACV+yB,mBAAoB,CAClB7xK,OAAQ,OACRD,MAAO,OACP+xK,QAAS,CACP9xK,OAAQ,OACRD,MAAO,UAGV9R,EAAEmkL,YAAc,CACjB5vD,YAAa4oB,GAAQ,MACnBn9I,EAAEqmL,UAAY,CAEhB/xD,UAAW,EACXE,aAAc2oB,IAAS,GACvB3mC,cAAe,UCxBV8+E,GAAwB,CACjC7/F,KAAM,SAAc4iD,GAClB,IAAIr4I,EAAIq4I,EAAK3yH,MACT6vK,GAAev1L,EAAE8xL,QAAU,GAAK,IAAM9xL,EAAEu+G,QAAU,GAAK,GAC3D,OAAO3+G,OAAOgB,OAAO,CACnBm1G,WAAY,SACZxhF,WAAY,IACZ+/F,UAAW6oB,IAAS,GACpB3oB,aAAc2oB,IAAS,GACvBh8F,QAAS,iBACPnhD,EAAEw1L,WAAax1L,EAAEwvG,WAAa,CAChC19F,MAAO,cACPqrF,SAAUggD,GAAQ,GAAKo4C,GACvBr4F,SAAUigD,GAAQ,IAAMo4C,GACxBhhE,YAAa4oB,GAAQ,QCbhBs4C,GAA0B,CACnChgG,KAAM,SAAc4iD,GAClB,IAAIr4I,EAAIq4I,EAAK3yH,MACTvhB,EAAIk0I,EAAKi5B,UACTphH,EAAMmoF,EAAKnoF,IACf,OAAOtwD,OAAOgB,OAAO,CACnB4gF,SAAU,WACV+lG,MAAO,QACPvgI,KAAMm2F,GAAQ,IACdxyB,WAAY,OACZ4J,YAAa4oB,GAAQ,IACpBn9I,EAAEw1L,WAAa,CAChBh0G,SAAU,WACVt6B,IAAKi2F,GAAQ,GACb77E,MAAO67E,GAAQ,GACfn2F,KAAM,SACL,CACDx8C,QAAS,MACT22C,QAAS,QACTic,SAAU,SACVrrD,OAAQorI,GAAQ,IAChBrrI,MAAOqrI,GAAQ,IACf4uC,eAAgB5uC,GAAQ,IACxBm1B,gBAAiB2Y,GAAoB9mL,EAAE6/J,iBACtChkK,EAAE8iL,QAAUljL,OAAOgB,OAAO,CAC3B0xK,gBAAiB2Y,GAAoB9mL,EAAE8/J,uBACtCjkK,EAAE+0H,SAAWn1H,OAAOgB,OAAO,CAC5B0xK,gBAAiB2Y,GAAoB9mL,EAAE+/J,8BACtClkK,EAAEwvG,UAAY,CACf8iE,gBAAiB2Y,GAAoB9mL,EAAEggK,wCACpCnkK,EAAE+0L,YAAc,CACnBziB,gBAAiB2Y,GAAoB9mL,EAAE6/J,iBACtChkK,EAAEqmL,UAAY,CACf/T,gBAAiB2Y,GAAoB9mL,EAAE6/J,iBACtCknB,GAA0BlrL,EAAEwvG,SAAUt/C,MC9BlCwlI,GAAwB,CACjCjgG,KAAM,SAAc4iD,GAClB,IhD2CEs9C,EANAjwK,EACAvhB,EACA+nJ,EgDrCExmI,EAAQ2yH,EAAK3yH,MACbvhB,EAAIk0I,EAAKi5B,UACTphH,EAAMmoF,EAAKnoF,IACX4yH,EAASp9J,EAAMo9J,OACf7xJ,EAAWvL,EAAMuL,SACjBo1J,EAAW3gK,EAAM2gK,SACjB6G,EAAiBxnK,EAAMwnK,eACvB4H,EAAQpvK,EAAMovK,MACdD,EAAWnvK,EAAMmvK,SACjBe,EAAYlwK,EAAMkwK,UAClBb,EAAarvK,EAAMqvK,WACnBvlF,EAAW9pF,EAAM8pF,SACjBulB,EAAUrvG,EAAMqvG,QAChB34D,EAAK12C,EAAM02C,GACX8vF,EAASvC,GAAexlJ,EAAEylJ,YAAa,KAAM70B,GACjD,OAAOn1H,OAAOgB,OAAO,CACnB+nC,MAAO,UACPpU,WAAY,EACZitD,SAAU,WACVg1B,cAAe,SACfr1D,QAAS,SACRy0I,GAAa,CACdr+E,WAAY,UACX/H,GAAY,CACbhtB,OAAQ,SAAWr+E,EAAEq+J,wBAA0B,IAAMr+J,EAAEs+J,yBACtDqyB,GAASl1L,OAAOgB,OAAO,GAAI4uG,EAAW,CACvCxsB,OAAQ,OAASiyG,GAA4B,MAC3C,CACFjyG,OAAQ,KAAOkyG,GAA6B,QAC3C,CACDt4F,aAAcugD,GAAQ,KACpB43C,GAAc,CAChB5zI,QAAS,OACTuzD,WAAY,SACZ3iG,OAAQorI,GAAQ,IAChB5oH,WAAYpwB,EAAE+9J,eACdj/E,QAAS,KAAOk6D,GAAQ,GACxBn6D,OAAQ,KAAOm6D,GAAQ,GAAK,OAC5B04C,kBAAmB,CACjBxhE,WAAY,GAAK8oB,GAAQ,IAE3BtgD,UAAW,SACT2S,IAAaslF,IAAUC,IAAe1O,GAAY,CACpDxpF,UAAW,eAAiBk4B,EAAU5wH,EAAE+0J,mBAAqB/0J,EAAEu9E,aAAewqE,EAAO1pE,QAAU,UAC9FsgG,GAAUljL,OAAOgB,OAAO,CACzB+nC,MAAOxkC,EAAEu/J,qBACPqxB,GAAqB,UAAP34H,GAAkBx8D,OAAOgB,OAAO,CAChD22G,WAAYpzG,EAAEg0J,uBAAyBjM,EAAOxD,kBAC7C29B,GAAY,CACb9uE,WAAYpzG,EAAE29J,uCACZukB,GAAYtxD,GAAW,CACzBpsF,MAAOujH,EAAOzD,mBACZssC,GAAc,CAChBpsJ,MAAOxkC,EAAE4+J,8BACR8xB,GAAYrlF,GAAY,CACzBw4E,WAAYpoL,OAAOgB,OAAO,CACxB4J,QAAS,KACTg3E,SAAU,WACV1vE,MAAOqrI,GAAQ,GACfprI,OAAQ,eAAiBorI,GAAQ,GAAK,IACtCj2F,IAAKi2F,IAAS,GACd3iD,gBAAiBr2F,EAAE6+J,kCAClBkqB,GAAkB,CACnB/rI,QAAS,QACK,QAAb0zI,EAAqB,CACtBvzH,MAAO67E,IAAS,IACd,CACFn2F,KAAMm2F,IAAS,MAEhB03C,IAAarlF,GAAY5vG,OAAOgB,OAAO,IhDlCxC8kB,GAD0Co5H,EgDmCe,CACzDp5H,MAAOA,EACP4rJ,UAAWntK,EACX+nJ,OAAQA,IhDrCMxmI,MACdvhB,EAAI26I,EAAMwyB,UACVplB,EAASpN,EAAMoN,OACf2oC,EAAWnvK,EAAMmvK,SACjB9/D,EAAUrvG,EAAMqvG,QAGhBv6B,EAAkBr2F,EAAEg0J,uBAAyBjM,EAAOxD,iBACpDhnE,EAAcv9E,EAAEu9E,aAAeqzC,EAAU5wH,EAAE+0J,mBAAqBhN,EAAO1pE,OAOzEt7B,EALe,UAAb2tI,GACFc,EAAU,CACRG,UAAW,aAAep0G,EAC1B0yC,WAAY,aAAe1yC,GAEvB,SAENi0G,EAAU,CACR3K,aAAc,aAAetpG,EAC7BoyC,YAAa,aAAepyC,GAExB,QAGD,CACLmoG,UAAWjqL,OAAOgB,OAAO,CACvB4wE,WAAY,UACZ+lC,WAAY/c,EACZhZ,SAAU,WACVh3E,QAAS,KACT08C,IAAKA,EACLF,KAAM,MACNssB,UAAW,kDACX0P,OAAQ,WACRlxE,MAAOqrI,GAAQ,IACfprI,OAAQorI,GAAQ,IAChB36D,OAAQ,QACPmzG,EAAS,CACV9gK,OAAQ1wB,EAAEs/J,WACV37I,WAAY,4BgDDRolK,GAAkBttL,OAAOgB,OAAO,CACpC+nC,MAAOxkC,EAAEw/J,oBACPoxB,GAAcn1L,OAAOgB,OAAO,CAC9B22G,WAAYpzG,EAAE2/J,6BACb/uC,GAAW,CACZxd,WAAYpzG,EAAEi/J,mCACdz6H,MAAOxkC,EAAEg/J,4BACNkjB,IAAa0O,IhD3EhBrvK,GADkD2yH,EgD4EH,CAC/C3yH,MAAOA,EACP4rJ,UAAWntK,EACX+nJ,OAAQA,IhD9EKxmI,MACbvhB,EAAIk0I,EAAKi5B,UACTplB,EAAS7T,EAAK6T,OACdn3B,EAAUrvG,EAAMqvG,QAChBggE,EAAarvK,EAAMqvK,WACnBjS,EAASp9J,EAAMo9J,OACftzE,EAAW9pF,EAAM8pF,UACjBszE,GAAWiS,GAAevlF,EACvB5vG,OAAOgB,OAAO,CACnB+nC,MAAOxkC,EAAE6zJ,aAAe9L,EAAOzD,iBAC/BlxC,WAAYpzG,EAAEi0J,sBAAwBlM,EAAOpD,iBAC5C/zB,GAAW,CACZpsF,MAAOujH,EAAOrD,gBACdtxC,WAAY20C,EAAOpD,iBAClBt5C,GAAY5vG,OAAOgB,OAAO,CAC3B4hF,OAAQ,aAAer+E,EAAEo0J,iBACzBj2E,QAAS,aAAen+E,EAAEu9J,kBAC1B1+E,OAAQm6D,GAAQ,GAChB5lC,WAAYpzG,EAAEw+J,6BACdh6H,MAAOxkC,EAAE+zJ,YAAchM,EAAOrD,iBAC7B9zB,GAAW,CACZpsF,MAAOxkC,EAAEwkC,OACRm6I,GAAUljL,OAAOgB,OAAO,CACzB+nC,MAAOxkC,EAAE6zJ,YACTzgD,WAAYpzG,EAAEg0J,uBAAyBjM,EAAOxD,kBAC7C3zB,GAAW,CACZpsF,MAAOujH,EAAOrD,oBAnB+B,IgDwEzCw9B,GAAY,CACd9uE,WAAYpzG,EAAE09J,oCACdl5H,MAAOxkC,EAAEw9J,sBACP,CAEF7qD,SAAUl3G,OAAOgB,OAAO,CACtB+nC,MAAOxkC,EAAEy/J,kBACTrsD,WAAYpzG,EAAE2sJ,sBAAwB5E,EAAO5D,iBAC5Cw6B,GAAU,CACXvrE,WAAYpzG,EAAE4/J,mCACbv0D,GAAY,CACb7mE,MAAOxkC,EAAEy/J,kBACTrsD,WAAYpzG,EAAE2sJ,sBAAwB5E,EAAO5D,iBAC5CvzB,GAAW,CACZpsF,MAAOxkC,EAAE0/J,0BACRkxB,GAAc,CACfpsJ,MAAOxkC,EAAEk/J,4BACT9rD,WAAYpzG,EAAEm/J,kCACb+iB,GAAY,CACb9uE,WAAYpzG,EAAE49J,6BACdp5H,MAAOxkC,EAAE69J,sBACPjM,EAAiB,IAAmB,4CAAiEn2J,OAAOgB,OAAO,CACrH0xK,gBAAiB2Y,GAAoB9mL,EAAEkgK,sBACtCtvC,GAAW,CACZu9C,gBAAiB2Y,GAAoB9mL,EAAEigK,6BACtC8mB,GAA0B17E,EAAUt/C,IAAO6lG,KAC7CswB,GAAY,CACbllI,QAAS,QACR,CACD40I,eAAgBn2L,OAAOgB,OAAO,IAAKk0L,IAAUzO,KAAcwO,GAAYrlF,KAAculF,GAAcn1L,OAAOgB,OAAO,GAAI4uG,GAAY,CAC/Hw4E,WAAY,CACV7mI,QAAS,UAETquD,GAAY,CACdk3E,uBAAwBvpC,GAAQ,GAChCspC,oBAAqBtpC,GAAQ,OAE9BlsH,GAAY,CACb0X,MAAOxkC,EAAE8zJ,eAAiB/L,EAAO7C,mBACjCj0C,OAAQ,UACR0B,SAAU,OCpILk/E,GAAoB,CAC7BvgG,KAAM,SAAc4iD,GAClB,IAEIr4I,EAAIq4I,EAAK3yH,MACTvhB,EAAIk0I,EAAKi5B,UACTplB,EAASvC,GAAexlJ,EAAEylJ,YAAa,KAAM5pJ,EAAE+0H,SAC/CrzC,EAAc1hF,EAAE+0H,QAAU5wH,EAAE+0J,mBAAqB/0J,EAAEu9E,aAAewqE,EAAO1pE,OACzEyzG,EAAaj2L,EAAEwvG,SAAW,YAAc,aAC5C,OAAO5vG,OAAOgB,OAAO,GAAIZ,EAAE60L,UAAY70L,EAAEwvG,UAAY,CACnDglB,aAAc2gE,IACbn1L,EAAE80L,OAASl1L,OAAOgB,OAAO,GAAIZ,EAAEwvG,SAAW,CAC3CxsB,OAAQ,OAASiyG,GAA4B,MAC3C,CACFjyG,OAAQ,KAAOkyG,GAA6B,SAC1Cl1L,EAAEmkL,WAAa,CACjBhjI,QAAS,OACT+1D,eAAgB,SAChBgwE,cAAe,SACf7xE,UAAW,UACTz1G,OAAOgB,SAAQm1J,EAAiB,IAAmBkgC,GAAc,aAAev0G,EAAaq0E,IAAkB/1J,EAAEwvG,UAAY,CAC/Hw9E,UAAW,WACVhtL,EAAEwvG,UAAYxvG,EAAEw1L,WAAa,CAC9BxyG,OAAQ,aCfHkzG,GACAC,6BCVAC,GAAmB,CAC5B3gG,KAAM,WACJ,MAAO,CACLkH,UAAW,aACXx7C,QAAS,iBAGbk1I,aAAc,WACZ,IAEOh+C,EAAO,GAAd,OAAkBA,EAAK,MAAQ69C,IAAsC,CACnEp5F,YAAa,MACb7Z,QAAS,OACRo1D,ICbIi+C,GAAa,CACtB7gG,KAAM,SAAc4iD,GAClB,IAAIr4I,EAAIq4I,EAAK3yH,MACTvhB,EAAIk0I,EAAKi5B,UACTx4B,EAAgBT,EAAKl5H,MAAM25H,cAC/B,OAAOl5I,OAAOgB,OAAO,CACnBugD,QAAS,cACTrvC,MAAO,cACP0vE,SAAU,WACVzvE,OAAQ5N,EAAE4N,OACV2hF,UAAWvvF,EAAE4N,OACb6qF,aAAcz4F,EAAEy4F,aAChB2a,WAAYpzG,EAAEozG,WACdv0B,OAAQ7+E,EAAE6+E,OACVma,SAAUh5F,EAAEg5F,SACZ2Z,SAAU,CACRS,WAAYpzG,EAAEmkJ,kBAEftoJ,EAAEu2L,aAAe32L,OAAOgB,OAAO,CAChCg8F,aAAcz4F,EAAE+gK,sBACH,UAAXllK,EAAEmY,MAA+B,YAAXnY,EAAEmY,OAAuB,CACjDykF,aAAcz4F,EAAEogK,6BACH,YAAXvkK,EAAEmY,MAAsB,CAC1BglF,SAAUh5F,EAAE0gK,gBACZ7hF,OAAQ7+E,EAAE2gK,cACV/yJ,OAAQ5N,EAAEygK,cACVlxE,UAAWvvF,EAAEygK,eACD,UAAX5kK,EAAEmY,MAAoB,CACvBglF,SAAUh5F,EAAE6gK,cACZhiF,OAAQ7+E,EAAE8gK,YACVlzJ,OAAQ5N,EAAE4gK,YACVrxE,UAAWvvF,EAAE4gK,aACZ/kK,EAAEixB,UAAY,CACfwlD,cAAe,OACf2+B,OAAQ,cACRmC,WAAYpzG,EAAE6jF,mBACdr/C,MAAOxkC,EAAEk4J,cACTvlD,SAAU,CACRS,WAAYpzG,EAAE6jF,qBAEE,YAAjBhoF,EAAEw2L,YAA4B52L,OAAOgB,OAAO,CAC7Ck8F,YAAa,MACbC,YAAa,QACbwa,WAAYpzG,EAAEsgK,kBACd/iF,YAAav9E,EAAEugK,mBACf5tD,SAAU,CACRS,WAAYpzG,EAAEsgK,oBAEfzkK,EAAEixB,UAAY,CACfywD,YAAav9E,EAAEwgK,wBACI,aAAjB3kK,EAAEw2L,YAA6B52L,OAAOgB,OAAO,CAC/C22G,WAAYpzG,EAAEqgK,mBACd1tD,SAAU,CACRS,WAAYpzG,EAAEqgK,qBAEfxkK,EAAEixB,UAAY,CACfsmF,WAAYpzG,EAAE6jF,qBACZhoF,EAAE+zL,YAAcn0L,OAAOgB,OAAO,CAChCw0G,OAAQ,WACPp1G,EAAEqW,UAAY,CACfkhG,WAAY,cACZ1a,UAAW,SAAW14F,EAAE0hK,kBAAoB,qBAC1CuL,GAAqB,CACvBE,UAAWx4B,OChEN29C,GAAoB,CAC7BhhG,KAAM,SAAc4iD,GAClB,IAAIr4I,EAAIq4I,EAAK3yH,MACTvhB,EAAIk0I,EAAKi5B,UACb,OAAO1xK,OAAOgB,OAAO,CACnB2+E,SAAUp7E,EAAEyzJ,gBACZ30E,QAAS9+E,EAAEohK,eACXynB,UAAW,UACC,UAAXhtL,EAAEmY,MAAoB,CACvBonE,SAAUp7E,EAAEkhK,qBACZpiF,QAAS9+E,EAAEmhK,qBACC,YAAXtlK,EAAEmY,MAAsB,CACzBonE,SAAUp7E,EAAEihK,uBACZniF,QAAS9+E,EAAEghK,uBACVnlK,EAAEykL,YAAc,CACjB75D,aAAc,MCdT8rE,GAAmB,CAC5BjhG,KAAM,SAAc4iD,GAClB,IAEIr4I,EAAIq4I,EAAK3yH,MACTvhB,EAAIk0I,EAAKi5B,UACb,OAAO1xK,OAAOgB,OAAO,CACnB4hF,OAAQ,OACR+0B,WAAY,cACZv0B,OAAQ7+E,EAAEqhK,aACV1zJ,MAAO3N,EAAEshK,YACTrwD,OAAQ,UACR9yB,QAAS,SACI,UAAXtiF,EAAEmY,MAA+B,YAAXnY,EAAEmY,OAAuB,CACjDrG,MAAO3N,EAAEuhK,6BACP3P,EAAiB,IAAmB,MAAQtY,IAAoB,CAClE1rI,OAAQ,OACRD,MAAO,OACP+xK,QAAS,CACP9xK,OAAQ,OACRD,MAAO,SAERikJ,MCvBI4gC,GAAkB,CAC3BlhG,KAAM,SAAc4iD,GAClB,IAAIr4I,EAAIq4I,EAAK3yH,MACTvhB,EAAIk0I,EAAKi5B,UACb,OAAO1xK,OAAOgB,OAAO,CACnBkR,MAAO3N,EAAE+yJ,WACTnlJ,OAAQ5N,EAAEgzJ,YACVv6D,aAAc,OACF,UAAX58F,EAAEmY,MAAoB,CACvBrG,MAAO3N,EAAE+hK,gBACTn0J,OAAQ5N,EAAEgiK,kBACE,YAAXnmK,EAAEmY,MAAsB,CACzBrG,MAAO3N,EAAEiiK,kBACTr0J,OAAQ5N,EAAEkiK,uBCZLuwB,GAAiB,CAC1BnhG,KAAM,SAAc4iD,GAClB,IAEIr4I,EAAIq4I,EAAK3yH,MACTvhB,EAAIk0I,EAAKi5B,UACb,OAAO1xK,OAAOgB,OAAO,CACnB4hF,OAAQ,OACR+0B,WAAY,cACZv0B,OAAQ7+E,EAAEuwJ,WACV5iJ,MAAO3N,EAAEwhK,UACTvwD,OAAQ,UACR9yB,QAAS,SACI,UAAXtiF,EAAEmY,MAA+B,YAAXnY,EAAEmY,OAAuB,CACjDrG,MAAO3N,EAAEyhK,yBACR5lK,EAAE+zL,YAAc/zL,EAAE6tL,UAAYjuL,OAAOgB,OAAO,CAC7CkR,MAAO3N,EAAE4hK,uBACTh0J,OAAQ5N,EAAE4hK,uBACV1xC,WAAY,EACZ1rF,MAAOxkC,EAAE0hK,mBACG,UAAX7lK,EAAEmY,MAAoB,CACvBrG,MAAO3N,EAAE6hK,4BACTj0J,OAAQ5N,EAAE6hK,6BACE,YAAXhmK,EAAEmY,MAAsB,CACzBrG,MAAO3N,EAAE8hK,8BACTl0J,OAAQ5N,EAAE8hK,kCACPlQ,EAAiB,IAAmB,MAAQtY,IAAoB79I,OAAOgB,OAAO,CACjFmR,OAAQ,OACRD,MAAO,QACN9R,EAAE+zL,YAAc/zL,EAAE6tL,UAAY,CAC/BrsG,SAAU,WAEVqoG,UAAW,CACTr/K,QAAS,KACTg3E,SAAU,WACV+1B,WAAYpzG,EAAE2hK,uBACd9+G,KAAM,MACNE,IAAK,MACL01C,aAAc,MACd9qF,MAAO,MACPC,OAAQ,QAET,CACD8xK,QAASjkL,OAAOgB,OAAO,GAAIZ,EAAE+zL,YAAc/zL,EAAE6tL,UAAY,CACvDrsG,SAAU,YACT,CACD3sD,OAAQ,IACR9iB,OAAQ,OACRD,MAAO,WAEPikJ,MClDG8gC,GAAqB,CAC9BphG,KAAM,SAAc4iD,GAClB,IAAIr4I,EAAIq4I,EAAK3yH,MACTvhB,EAAIk0I,EAAKi5B,UACb,OAAO1xK,OAAOgB,OAAO,CACnBugD,QAAS,QACTtsB,OAAQ1wB,EAAE0wB,QACT70B,EAAE60L,UAAYj1L,OAAOgB,OAAO,CAC7B61E,cAAe,QACd00G,GAAmB,CACpBC,UAAWprL,EAAE82L,cACb7zG,QAAS9+E,EAAE85K,iBACRj+K,EAAE+2L,UAAY,CAEjB51I,QAAS,OACTic,SAAU,YAGd45H,QAAS,SAAiBl4C,GACxB,IAAI9+I,EAAI8+I,EAAMp5H,MACVvhB,EAAI26I,EAAMwyB,UACVphH,EAAM4uF,EAAM5uF,IAChB,OAAOm7H,GAAiB,CACtB7wF,gBAAiBr2F,EAAEq2F,gBACnB9Y,YAAav9E,EAAEu9E,YACfq8F,WAAY55K,EAAE45K,WACdnvF,IAAKzqF,EAAE65K,WACP/6F,QAAS9+E,EAAE85K,cACXlsK,OAAQ5N,EAAE+5K,cACVpsK,MAAO3N,EAAEg6K,aACTiN,UAAWprL,EAAE82L,cACb5mI,IAAKA,KAGT1lD,QAAS,SAAiBw0I,GACxB,IAAIh/I,EAAIg/I,EAAMt5H,MACVvhB,EAAI66I,EAAMsyB,UACd,OAAO1xK,OAAOgB,OAAO,CACnBugD,QAAS,QACTo2D,WAAYpzG,EAAEq2F,gBACd7xD,MAAOxkC,EAAEwkC,MACTk0D,UAAW14F,EAAE04F,UACbra,OAAQr+E,EAAE45K,WAAa,UAAY55K,EAAEu9E,YACrCkb,aAAcz4F,EAAEy4F,aAChB3Z,QAAS9+E,EAAE8+E,QACX3P,UAAW,kBACVtzE,EAAE60L,UAAY,CACfp+G,cAAe,OACdz2E,EAAE+2L,UAAY,CACf35H,SAAU,WCxCL65H,GAA0B,sBAC1BC,GACED,GAA0B,cvDI5BE,GAAuB,CAChC1hG,KAAM,SAAc4iD,GAClB,IAEIr4I,EAAIq4I,EAAK3yH,MACTvhB,EAAIk0I,EAAKi5B,UACTx4B,EAAgBT,EAAKl5H,MAAM25H,cAC/B,OAAOl5I,OAAOgB,OAAO,CACnB4gF,SAAU,WACVkzB,WAAY,SACZ3X,YAAa,QACbD,YAAa,GAAKqgD,GAAQ,GAC1Bz7D,YAAa,cACbkb,aAAc,GAAKugD,GAAQ,GAC3Bx0G,MAAOxkC,EAAEw6K,iBACTvpE,OAAQ,UACRj0D,QAASnhD,EAAEwvG,SAAW,OAAS,cAC/BjwB,SAAUp7E,EAAE20K,aACZ71F,QAAS9+E,EAAE8+E,QACXD,OAAQ7+E,EAAE6+E,OACV8zB,WAAW4tE,EAAS,CAClB/7I,MAAOxkC,EAAEy6K,6BACD,MAAQsY,IAA0Ct3L,OAAOgB,OAAO,CACxE8gF,YAAav9E,EAAEy6K,6BACb5+K,EAAEixB,WAAajxB,EAAE4vB,SAAW,CAC9B8xD,YAAav9E,EAAE46K,mCACb2F,GACJ14E,SAAU,CACRrjE,MAAOxkC,EAAEy6K,6BAEV5+K,EAAE4vB,SAAWhwB,OAAOgB,OAAO,GAAI+qL,GAAwBxnL,EAAE06K,mBAAoB7+K,EAAEixB,UAAYrxB,OAAOgB,OAAO,GAAI+qL,GAAwBxnL,EAAE8zJ,gBAAiBmZ,GAAqB,CAC9KE,UAAWx4B,MAGfsqC,UAAW,SAAmBtkC,GAC5B,IAAI9+I,EAAI8+I,EAAMp5H,MACVvhB,EAAI26I,EAAMwyB,UACd,OAAO1xK,OAAOgB,OAAO,CACnBoiF,OAAQm6D,GAAQ,GAAK,KACrB76D,QAAS,EACTnhC,QAAS,OACTuzD,WAAY,SACZwC,eAAgB,SAChBplG,MAAOqrI,GAAQ,IACfprI,OAAQorI,GAAQ,IAChB3mC,cAAe,UACf7tE,MAAOxkC,EAAE26K,uBACR9+K,EAAE4vB,SAAW,CACd+Y,MAAOxkC,EAAE86K,iCACRj/K,EAAEixB,UAAY,CACf0X,MAAOxkC,EAAE8zJ,iBAGbx0J,MAAO,WACL,MAAO,CACLu/E,OAAQ,SAAWm6D,GAAQ,OwDtEtBi6C,GAAgB,CACzB3hG,KAAM,SAAc4iD,GAClB,IAAIr4I,EAAIq4I,EAAK3yH,MACTvhB,EAAIk0I,EAAKi5B,UACTplB,EAASvC,GAAexlJ,EAAEylJ,YAAa5pJ,EAAE2oC,OAC7C,OAAO/oC,OAAOgB,OAAO,CACnB8gF,YAAa,cACbkb,aAAcz4F,EAAEy4F,aAChBG,YAAa54F,EAAE44F,YACfD,YAAa34F,EAAE24F,YACfD,UAAW14F,EAAE04F,UACb5Z,QAAS9+E,EAAE8+E,QACXt6C,MAAOxkC,EAAEwkC,MACT6xD,gBAAiBr2F,EAAEq2F,iBAClBx6F,EAAE2oC,OAAS,CACZ+4C,YAAawqE,EAAO/D,YACnBnoJ,EAAEmmL,UAAY,CACfx9I,MAAOxkC,EAAEq2F,gBACTA,gBAAiBx6F,EAAE2oC,MAAQujH,EAAO/D,WAAahkJ,EAAEwkC,OAChD3oC,EAAEixB,UAAYrxB,OAAOgB,OAAO,CAC7Bi8F,UAAW,OACXnb,YAAav9E,EAAEi0K,oBACfzvI,MAAOxkC,EAAEk4J,cACT7hE,gBAAiBr2F,EAAEy7K,yBAClB5/K,EAAEmmL,UAAY,CACfx9I,MAAOxkC,EAAEy7K,wBACTplF,gBAAiBr2F,EAAEk4J,mBChBdyvB,GAAO,CAChBttC,KAAM,CACJ6kC,mBAAoB,aAEtB5kC,OAAQ,CACN4kC,mBAAoB,aCZbgU,GAAwB,oBCAxBC,GAAyB,qBCCzBC,GAA0B,sBCD1BC,GAAyB,qBCAzBC,GAA0B,sB7DiBjCC,GAAc,CAChBn1J,cwDtBiB,CACjB9d,KAAM,CACJ+P,QAAS,GAEXmjK,MAAO,CACLnjK,QAAS,IAEX9P,GAAI,CACF8P,QAAS,IxDeX6hD,kBAAmB,OACnBxjD,wBAAyB,Y8DvBhB+kK,GAAiB,CAC1BniG,KAAM,SAAc4iD,GAClB,I9DuB8CsgB,E8DvB1C34J,EAAIq4I,EAAK3yH,MACTvhB,EAAIk0I,EAAKi5B,UACTl4B,G9DqB0Cuf,E8DrBfx0J,EAAEuiK,oB9DqB2BmlB,E8DrBN1nL,EAAEwiK,6B9DwBnD,CACLkxB,QAAQC,EAAS,IAAW,MAAQT,IAAyBK,GAAaI,EAAO,MAAQR,IAA0BI,GAAaI,EAAO,MAAQP,IAA2BG,GAAaI,EAAO,MAAQL,IAA2BC,GAAaI,EAAO,MAAQN,IAA0BE,GAAaI,GACpShM,OAAOiM,EAAQ,IAAU,MAAQV,IAAyBzL,GAAWjzB,EAAckzB,GAAiBkM,EAAM,MAAQT,IAA0B1L,GAAWjzB,EAAckzB,GAAiBkM,EAAM,MAAQR,IAA2B3L,GAAWjzB,EAAckzB,GAAiBkM,EAAM,MAAQN,IAA2B7L,GAAWjzB,EAAckzB,GAAiBkM,EAAM,MAAQP,IAA0B5L,GAAWjzB,EAAckzB,GAAiBkM,K8DzB9a,OAAOn4L,OAAOgB,OAAO,CACnBkR,MAAO,QACN9R,EAAE48B,WAAaw8G,EAAWp5I,EAAE48B,cCRxBo7J,GAAsB,CAC/BviG,KAAM,SAAc4iD,GAClB,IAAIr4I,EAAIq4I,EAAK3yH,MACTvhB,EAAIk0I,EAAKi5B,UACb,OAAO1xK,OAAOgB,OAAO,CACnBugD,QAAS,QACTrvC,MAAO9R,EAAE8R,MACTC,OAAQ/R,EAAE+R,OACVyoF,gBAAiBr2F,EAAEsiK,gBACnBzjF,OAAQ7+E,EAAE0iK,aACT7mK,EAAEi4L,OAAS,CACZr7F,aAAc,UCXTs7F,GAAuB,CAChCziG,KAAM,SAAc4iD,GAClB,IAAIr4I,EAAIq4I,EAAK3yH,MACTvhB,EAAIk0I,EAAKi5B,UACb,OAAO1xK,OAAOgB,OAAO,CACnBugD,QAAS,eACTo2D,WAAYpzG,EAAEuhF,iBACd3zE,OAAQ5N,EAAE2iK,aACVh1J,MAAO3N,EAAE4iK,aACG,UAAX/mK,EAAEmY,MAAoB,CACvBpG,OAAQ5N,EAAE6iK,kBACVl1J,MAAO3N,EAAE8iK,kBACRjnK,EAAEyyK,UAAY7yK,OAAOgB,OAAO,CAC7BkR,MAAO3N,EAAE2iK,aACTlqE,aAAcz4F,EAAE+iK,4BACJ,UAAXlnK,EAAEmY,MAAoB,CACvBrG,MAAO3N,EAAE6iK,oBACPhnK,EAAEqmL,UAAYzmL,OAAOgB,OAAO,CAC9BkR,MAAO3N,EAAE2iK,cACG,UAAX9mK,EAAEmY,MAAoB,CACvBrG,MAAO3N,EAAE6iK,oBACPhnK,EAAE0lL,OAAS,CACb5zK,MAAO,OACPorF,SAAU,WCvBLi7F,GAAqB,CAC9B1iG,KAAM,SAAc4iD,GAClB,IAAIr4I,EAAIq4I,EAAK3yH,MACTvhB,EAAIk0I,EAAKi5B,UACb,OAAO1xK,OAAOgB,OAAO,CACnBugD,QAAS,QACTo2D,WAAYpzG,EAAEgjK,eACdp1J,OAAQ5N,EAAEojK,iBACVz1J,MAAO3N,EAAEijK,WACG,YAAXpnK,EAAEmY,MAAsB,CACzBpG,OAAQ5N,EAAEkjK,mBACE,UAAXrnK,EAAEmY,MAAoB,CACvBpG,OAAQ5N,EAAEmjK,iBACE,UAAXtnK,EAAEmY,MAAoB,CACvBpG,OAAQ5N,EAAEqjK,iBACE,WAAXxnK,EAAEmY,MAAqB,CACxBpG,OAAQ5N,EAAEsjK,qBChBL2wB,GAAsB,CAC/B3iG,KAAM,SAAc4iD,GAClB,IAAIr4I,EAAIq4I,EAAK3yH,MACTvhB,EAAIk0I,EAAKi5B,UACb,OAAO1xK,OAAOgB,OAAO,CACnBsmL,cAAe,SACfhwE,eAAgB,SAChB/1D,QAAS,cACTqgC,SAAU,WACVzvE,OAAQ5N,EAAEujK,YACV51J,MAAO3N,EAAEwjK,WACTpwD,WAAYpzG,EAAE2hF,iBACb9lF,EAAE0lL,OAAS,CACZ5zK,MAAO,WCbFumL,GAAuB,CAChC5iG,KAAM,SAAc4iD,GAClB,IAAIr4I,EAAIq4I,EAAK3yH,MACTvhB,EAAIk0I,EAAKi5B,UACb,OAAO1xK,OAAOgB,OAAO,CACnBugD,QAAS,eACTq1D,cAAe,SACf5Z,aAAc,MACd2a,WAAYpzG,EAAEuhF,iBACd3zE,OAAQ5N,EAAE6jK,aACVl2J,MAAO3N,EAAE6jK,cACG,aAAXhoK,EAAEmY,MAAuB,CAC1BpG,OAAQ5N,EAAE0jK,eACV/1J,MAAO3N,EAAE0jK,gBACG,YAAX7nK,EAAEmY,MAAsB,CACzBpG,OAAQ5N,EAAE2jK,cACVh2J,MAAO3N,EAAE2jK,eACG,UAAX9nK,EAAEmY,MAAoB,CACvBpG,OAAQ5N,EAAE4jK,YACVj2J,MAAO3N,EAAE4jK,aACG,UAAX/nK,EAAEmY,MAAoB,CACvBpG,OAAQ5N,EAAE8jK,YACVn2J,MAAO3N,EAAE8jK,aACG,WAAXjoK,EAAEmY,MAAqB,CACxBpG,OAAQ5N,EAAE+jK,aACVp2J,MAAO3N,EAAE+jK,cACG,YAAXloK,EAAEmY,MAAsB,CACzBpG,OAAQ5N,EAAEgkK,cACVr2J,MAAO3N,EAAEgkK,kBCMJmwB,EAAkB,YnEhCzB7kI,GACY,yBADZA,GAES,qBAFTA,GAGa,mBAHbA,GAIa,mBAJbA,GAKQ,cAeR8kI,GAAmC,QmEiB9BD,EAAkB,WnEThBE,GAAe,CACxB/iG,KAAM,SAAc4iD,GAClB,IAAIr4I,EAAIq4I,EAAK3yH,MACTvhB,EAAIk0I,EAAKi5B,UACb,OAAO1xK,OAAOgB,OAAO,CACnBmR,OAAQ5N,EAAE4N,QACT/R,EAAEixB,UAAY,CACfwlD,cAAe,QACdz2E,EAAEwvG,UAAY,CACfz9F,OAAQ5N,EAAEjD,OACV4Q,MAAO3N,EAAE4N,QACRk6K,GAAejsL,KAEpBu2B,MAAO,SAAeuoH,GACpB,IAEI9+I,EAAI8+I,EAAMp5H,MACVvhB,EAAI26I,EAAMwyB,UACVx4B,EAAgBgG,EAAM3/H,MAAM25H,cAC5B2/C,EAAoB,CACtB1mL,OAAQ5N,EAAEi8K,kBACVtuK,MAAO3N,EAAEo8K,iBACThpE,WAAYpzG,EAAE87K,iBACd3rD,UAAW,QAAUnwH,EAAE4N,OAAS,WAAa5N,EAAEi8K,kBAAoB,QACnE/rD,WAAY,SAAWlwH,EAAEo8K,iBAAmB,SAE1C2D,EAAoB9S,GAAqB,CAC3CE,UAAWx4B,EACX84B,cAAeztK,EAAEk8K,qBAEfqY,EAAc,CAChBl2G,OAAQ,EACR1wE,MAAO,OAET,OAAOlS,OAAOgB,SAAQm1J,EAAiB,CACrC4iC,qBAAsB,OACtBvjF,OAAQ,UACRrjG,OAAQ,OACRD,MAAO,OACPkxE,OAAQ,EACRC,QAAS,EACTzuD,QAAS,IACOi/B,IAA0B7zD,OAAOgB,OAAO,GAAI83L,EAAa,CACzEC,qBAAsB,SACpB5iC,EAAetiG,IAAuBilI,EAAa3iC,EAAetiG,IAAsB7zD,OAAOgB,OAAO,GAAI83L,EAAa,CACzHpkE,UAAW,SAAWnwH,EAAEg8K,YAAc,UACpCpqB,EAAetiG,IAA2B,CAC5CtS,QAAS,QACR40G,EAAetiG,IAA2B,CAC3CtS,QAAS,QACR40G,GAAiBk2B,GAAejsL,GAAI,CACrC+2G,YAAY6hF,EAAU,IAAYL,IAAoCE,EAAmBG,GACzF5sF,WAAW6sF,EAAS,CAClBv2G,QAAS,IACDi2G,IAAoCrU,EAAkB,UAAW2U,GAC3E3mB,mBAAmBmc,EAAgB,IAAkBkK,IAAoC34L,OAAOgB,OAAO,GAAIsjL,EAAkB,kBAAmBuU,GAAoBpK,MAGxKyK,aAAc,SAAsB95C,GAClC,IAAIh/I,EAAIg/I,EAAMt5H,MACVvhB,EAAI66I,EAAMsyB,UACVynB,EAAuB,QAAU50L,EAAEjD,OAAS,QAChD,OAAOtB,OAAOgB,OAAO,CACnB4gF,SAAU,WACVrgC,QAAS,eACTpvC,OAAQ5N,EAAE4N,OACVD,MAAO3N,EAAEjD,QACRlB,EAAEwvG,UAAY,CACfl8B,UAAW,iBACXg4G,gBAAiByN,EAAuB,IAAMA,GAC7C9M,GAAejsL,KAEpBg5L,KAAM,SAAc95C,GAClB,IAAIl/I,EAAIk/I,EAAMx5H,MACVvhB,EAAI+6I,EAAMoyB,UACd,OAAO1xK,OAAOgB,OAAO,CACnBkR,MAAO,OACPylG,WAAYpzG,EAAE07K,WACbmM,GAAoBhsL,EAAGmE,GAAInE,EAAEixB,UAAY,CAC1CsmF,WAAYpzG,EAAE27K,qBAGlBlpJ,MAAO,SAAewoH,GACpB,IAAIp/I,EAAIo/I,EAAM15H,MACVvhB,EAAIi7I,EAAMkyB,UACd,OAAO1xK,OAAOgB,OAAO,CACnB22G,WAAYpzG,EAAEq8K,YACbwL,GAAoBhsL,EAAGmE,GAAInE,EAAEixB,UAAY,CAC1CsmF,WAAYpzG,EAAEs8K,sBAGlBwY,MAAO,SAAe35C,GACpB,IAAIt/I,EAAIs/I,EAAM55H,MACVvhB,EAAIm7I,EAAMgyB,UACd,OAAO1xK,OAAOgB,OAAO,CACnB4hF,OAAQ,EACRoa,aAAc,OACdwY,OAAQ,UACR3+B,cAAe,OACf+K,SAAU,WACV+1B,WAAYpzG,EAAE67K,WACdjuK,OAAQ5N,EAAEg8K,YACVruK,MAAO3N,EAAEm8K,WACThsD,UAAW,QAAUnwH,EAAE4N,OAAS,WAAa5N,EAAEg8K,YAAc,QAC7D9rD,WAAY,SAAWlwH,EAAEm8K,WAAa,SACrCtgL,EAAEixB,UAAY,CACfsmF,WAAYpzG,EAAE+7K,uBoEtIhBgZ,GAA2B,MAAQzR,ECwCnCzC,GAAgB,CAClBxH,SAAU,EACVptB,QAAS,GACTpzE,MAAO,GACPE,OAAQ,GACRG,MAAO,GACPgzE,OAAQ,GACRC,QAAS,GAUA6oC,GAAe,CACxB1jG,KAAM,SAAc4iD,GAClB,IAAI+sC,EAAa/sC,EAAK3yH,MAClBijB,EAAQy8I,EAAWz8I,MACnBxwB,EAAOitK,EAAWjtK,KAClBs9B,EAAQ2vI,EAAW3vI,MACnB67H,EAAYj5B,EAAKi5B,UACrB,OAAO1xK,OAAOgB,OAAO,CACnBugD,QAAS,cACTuzD,WAAY,SACZwC,eAAgB,UAlBK,SAAuBmuE,EAAU/T,GACtDx0E,EAAcw0E,EAAU5vF,aAAe4vF,EAAUx0E,aAAe,EAChEooF,EAAY/nC,GAAQkoC,EAAW,EAAIvoF,GACvC,MAAO,CACL/qF,OAAQmzK,EACRpzK,MAAOozK,GAcJI,CAAcN,GAAc7sK,GAAOm5J,GAAY,CAChD96D,cAAe,SACf5Z,aAAc,UACb00E,EAAU5vF,aAAe,CAC1BA,YAAa4vF,EAAU5vF,YACvBob,YAAaqgD,GAAQm0B,EAAUx0E,aAC/BC,YAAa,SACZ,CACDvC,gBAAiB7xD,GA5EE,SAA4B8M,EAAO67H,GAC1D,OAAQ77H,GACN,IAAK,UACH,OAAO67H,EAAUtd,uBAEnB,IAAK,OACH,OAAOsd,EAAUqP,oBAEnB,IAAK,UACH,OAAOrP,EAAU/c,uBAEnB,IAAK,QACH,OAAO+c,EAAUwP,qBAEnB,IAAK,UACL,QACE,OAAOxP,EAAU0P,wBA4DSoY,CAAmB3jJ,EAAO67H,MAGxDl0F,KAAM,SAAc0hE,GAClB,IAAIrpG,EAAQqpG,EAAMp5H,MAAM+vB,MACpBtxC,EAAI26I,EAAMwyB,UACd,MAAO,CACLnwH,QAAS,cACTuzD,WAAY,SACZwC,eAAgB,SAChBplG,MAAO3N,EAAE0sJ,SACT9+I,OAAQ5N,EAAE0sJ,SACVloH,MApEa,SAAsB8M,EAAO67H,GAC9C,OAAQ77H,GACN,IAAK,UACH,OAAO67H,EAAUoP,iBAEnB,IAAK,OACH,OAAOpP,EAAUsP,cAEnB,IAAK,UACH,OAAOtP,EAAUuP,iBAEnB,IAAK,QACH,OAAOvP,EAAUyP,eAEnB,IAAK,UACL,QACE,OAAOzP,EAAU2P,kBAoDVoY,CAAa5jJ,EAAOtxC,GAC3By/K,mBAAoB,CAClB7xK,OAAQ,OACRD,MAAO,OACP+xK,QAAS,CACP9xK,OAAQ,OACRD,MAAO,YC/FNojH,GAAoB,CAC7BokE,WAAY,SAAoBjhD,GAC9B,IAAIr4I,EAAIq4I,EAAK3yH,MACTvhB,EAAIk0I,EAAKi5B,UACb,OAAO1xK,OAAOgB,OAAO,CACnBgzH,qBAAsB,EACtBC,wBAAyB,EACzBG,iBAAkB,EAClB/wC,QAAS9+E,EAAE8+E,QACXka,SAAUh5F,EAAEg5F,UACA,UAAXn9F,EAAEmY,MAAoB,CACvBpG,OAAQ5N,EAAEylK,eACV3mF,QAAS9+E,EAAE0lK,aACX1sE,SAAUh5F,EAAE6gK,cACZnoE,UAAW14F,EAAE2lK,gBACZ,CACDoI,iBAAkB,CAChBl+C,iBAAkB,EAClBm+C,UAAW,CACTn+C,iBAAkB,GAEpBoB,SAAU,CACRpB,iBAAkB,IAGtBjd,UAAW,CACTx0E,cAAe,QACf8zC,kBAAmB,YAIzBof,KAAM,SAAcqpD,GACf,IAAC9+I,EAAI8+I,EAAMp5H,MACVvhB,EAAI26I,EAAMwyB,UACMxyB,EAAM3/H,MAAM25H,cAC5BorC,EAAoB9S,GAAqB,CAC3CE,UAAW,CACT10E,aAAcz4F,EAAEsxJ,kBAChB34D,YAAa34F,EAAEuxJ,iBACfxF,sBAAuB/rJ,EAAE+rJ,sBACzBC,sBAAuBhsJ,EAAEgsJ,sBACzByF,SAAU,CACRzN,WAAYhkJ,EAAEwxJ,sBAIpB,MAAO,CACL/4D,aAAcz4F,EAAEy4F,aAChBpb,SAAU,WACVu0B,WAAY,SACZ50D,QAAS,eACTrvC,MAAO,cACPm7K,gBAAiBrtL,OAAOgB,OAAO,CAC7Bi8F,UAAW,QACV78F,EAAEktL,gBAAkBttL,OAAOgB,OAAO,GAAIsjL,EAAkB,uBrEzCtDqV,GAA0B,CACnC9jG,KAAM,SAAc4iD,GAClB,IAAIr4I,EAAIq4I,EAAK3yH,MACTvhB,EAAIk0I,EAAKi5B,UAETx4B,EADQT,EAAKl5H,MACS25H,cACtBh8C,EAAcg8C,EAAch8C,YAC5BonF,EAAoB9S,GAAqB,CAC3CE,UAAW,CACT10E,aAAcz4F,EAAEsxJ,kBAChB34D,YAAa34F,EAAEuxJ,iBACfxF,sBAAuB/rJ,EAAE+rJ,sBACzBC,sBAAuBhsJ,EAAEgsJ,sBACzByF,SAAU,CACRzN,WAAYhkJ,EAAEwxJ,oBAGlBic,cAAe90E,IAEjB,OAAOl9F,OAAOgB,OAAO,CACnBmR,OAAQ5N,EAAE4lK,mBACV5sE,SAAUh5F,EAAE4lK,mBACZphI,MAAOxkC,EAAE6lK,kBACTxvE,gBAAiBr2F,EAAE8lK,4BACnBrtE,aAAcz4F,EAAE+lK,yBAChB/oH,QAAS,cACT+1D,eAAgB,SAChBxC,WAAY,SACZlzB,SAAU,WACVg1B,cAAe,SACfpB,OAAQ,UACR9yB,QAAS,EACTW,QAAS,EACT6Z,YAAaA,EACbC,YAAa,QACbrb,YAAav9E,EAAEgmK,wBACfttE,UAAW14F,EAAEimK,sBACbqc,oBAAqB,EACrBC,uBAAwB,GACvBtU,GAA2B,CAC5B9vF,SAAS,IACP,CACF6vF,UAAWvyK,OAAOgB,OAAO,GAAIyxK,GAAmBryK,EAAEixB,SAAW9sB,EAAEmnK,0BAA4BtrK,EAAE+0H,QAAU5wH,EAAE6mK,yBAA2B7mK,EAAE6lK,mBAAmB,EAAM7lK,EAAEqnK,4BACjK10D,SAAUl3G,OAAOgB,OAAO,GAAIwxK,GAA2B,CACrD9vF,SAAS,IACP,CACF6vF,UAAWvyK,OAAOgB,OAAO,GAAIyxK,GAAmBluK,EAAEkmK,wBAAwB,EAAOlmK,EAAEqnK,4BACnF7iI,MAAOxkC,EAAEkmK,uBACT9yD,WAAYpzG,EAAEmmK,mCAEhBvzD,UAAW,CACTpuE,MAAOxkC,EAAEqmK,wBACThwE,gBAAiBr2F,EAAEsmK,kCACnB/oF,YAAav9E,EAAEumK,8BACf7tE,UAAW,QAEbmP,SAAUk4E,EAAkB,UAC5BhS,iBAAkB,CAChB13E,gBAAiBr2F,EAAEwmK,iCACnBjpF,YAAav9E,EAAEymK,6BACfjiI,MAAOxkC,EAAE0mK,uBACT/tE,YAAaA,EACbga,SAAU,CACRp1B,YAAav9E,EAAEomK,gCAGlBvqK,EAAE+0H,SAAW,CACdpsF,MAAOxkC,EAAE6mK,yBACTxwE,gBAAiBr2F,EAAE8mK,mCACnBvpF,YAAav9E,EAAE+mK,+BACfruE,UAAW14F,EAAEgnK,6BACbruE,YAAa,SAAWg8C,EAAch8C,YACtCia,UAAW,CACTvc,gBAAiBr2F,EAAEinK,yCACnBvuE,UAAW,QAEbmP,SAAUk4E,EAAkB,UAC5BhS,iBAAkB,CAChB13E,gBAAiBr2F,EAAEknK,yCAErBv0D,SAAU,CACRnuE,MAAOxkC,EAAE4mK,8BACTvwE,gBAAiBr2F,EAAE2mK,0CAEpB9qK,EAAEixB,UAAY,CACfmkF,OAAQ,UACRzsE,MAAOxkC,EAAEmnK,0BACTzuE,UAAW,OACXpmB,cAAe,OACfqgC,SAAU,CACRnuE,MAAOxkC,EAAEmnK,2BAEX9wE,gBAAiBr2F,EAAEonK,oCACnBzuE,YAAa,SAAWg8C,EAAch8C,YACtCpb,YAAav9E,EAAEs0J,qBACH,UAAXz4J,EAAEmY,MAAoB,CACvBpG,OAAQ5N,EAAEylK,eACV93J,MAAO3N,EAAEylK,eACTzsE,SAAUh5F,EAAE6gK,cACZnoE,UAAW14F,EAAE2lK,mBsE/GR0vB,GAAa,CACtB/jG,KAAM,SAAc4iD,GAClB,IAAIr4I,EAAIq4I,EAAK3yH,MACTvhB,EAAIk0I,EAAKi5B,UACTplB,EAAS/nJ,EAAEylJ,YAAYH,GAAkBzpJ,EAAE2oC,QAC/C,OAAO/oC,OAAOgB,OAAO,GAAIZ,EAAE2oC,OAAS,CAClCA,MAAOujH,EAAO/D,aACG,IAAhBnoJ,EAAEy5L,WAAsB,CACzB9wJ,MAAOxkC,EAAEg+K,qBACRniL,EAAE05L,WAAa,CAChBt8H,SAAU,SACVq5C,aAAc,WACdV,WAAY,UACX/1G,EAAEixB,UAAY,CACf0X,MAAOxkC,EAAEk4J,eACRr8J,EAAE2X,OAAS,CACZgxB,MAAOxkC,EAAEm+K,YACRtiL,EAAEkxK,SAAW,CACdvoI,MAAOxkC,EAAE4vJ,cACR/zJ,EAAE25L,WAAa,CAChBp5G,UAAW,UACVvgF,EAAEyvL,OAAS,CACZtuI,QAAS,QACTk0D,UAAWk1E,GAAmBvqL,EAAEyvL,QAClB,UAAbzvL,EAAEm/E,QAAsB,CACzB9qD,WAAYlwB,EAAE89K,iBACA,cAAbjiL,EAAEm/E,QAA0B,CAC7B9qD,WAAYlwB,EAAE+9K,qBACA,YAAbliL,EAAEm/E,QAAwB,CAC3B9qD,WAAYlwB,EAAE0tJ,mBACA,aAAb7xJ,EAAEm/E,QAAyB,CAC5B9qD,WAAYlwB,EAAEqtJ,oBACA,SAAbxxJ,EAAEm/E,QAAqB,CACxB9qD,WAAYlwB,EAAEm3J,gBACF,aAAXt7J,EAAEmY,MAAuB,CAC1BonE,SAAUp7E,EAAE+8K,iBACZ3sJ,WAAYpwB,EAAEg9K,wBACF,YAAXnhL,EAAEmY,MAAsB,CACzBonE,SAAUp7E,EAAE82J,gBACZ1mI,WAAYpwB,EAAEk9K,uBACF,UAAXrhL,EAAEmY,MAAoB,CACvBonE,SAAUp7E,EAAE+2J,cACZ3mI,WAAYpwB,EAAEo9K,qBACF,WAAXvhL,EAAEmY,MAAqB,CACxBonE,SAAUp7E,EAAEg3J,eACZ5mI,WAAYpwB,EAAEq9K,sBACF,UAAXxhL,EAAEmY,MAAoB,CACvBonE,SAAUp7E,EAAEi3J,cACZ7mI,WAAYpwB,EAAEs9K,qBACF,WAAXzhL,EAAEmY,MAAqB,CACxBonE,SAAUp7E,EAAEw9K,eACZptJ,WAAYpwB,EAAEy9K,sBACF,YAAX5hL,EAAEmY,MAAsB,CACzBonE,SAAUp7E,EAAE29K,gBACZvtJ,WAAYpwB,EAAE49K,uBACG,OAAhB/hL,EAAEy5L,WAAsB,CACzB9wJ,MAAOxkC,EAAEi+K,iBACT/tJ,WAAYlwB,EAAEk+K,uBACbriL,EAAEiG,WAAa,CAChB0iC,MAAOxkC,EAAEs+K,gBACRziL,EAAE4pL,WAAa,CAChBjhJ,MAAOxkC,EAAEq+K,eACTnuJ,WAAYlwB,EAAEo+K,oBC/DTqX,GAAiB,CAC1BnkG,KAAM,SAAc4iD,GAClB,IAAIr4I,EAAIq4I,EAAK3yH,MACTvhB,EAAIk0I,EAAKi5B,UACb,OAAO1xK,OAAOgB,OAAO,CACnBoiF,OAAQ7+E,EAAE6+E,OACVjxE,OAAQ5N,EAAE4N,OACVyoF,gBAAiBr2F,EAAEq2F,iBAClBx6F,EAAEmmL,UAAY,CACf3rF,gBAAiBr2F,EAAE84J,yBAClB,CACDt0H,MAAOxkC,EAAEy3K,UACTl6F,YAAav9E,EAAEu9E,YACfkb,aAAcz4F,EAAEy4F,aAChBG,YAAa,QACbD,YAAa34F,EAAE24F,YACfxa,QAAS,EACTW,QAAS9+E,EAAE8+E,QACX42G,OAAQ75L,EAAE65L,QAAU,QACnB75L,EAAE0lL,OAAS,CACZ5zK,MAAO,QACN9R,EAAEixB,UAAY,CACfwlD,cAAe,OACf9tC,MAAOxkC,EAAEk4J,cACTx/D,UAAW,QACV78F,EAAE2X,OAAS,CACZ6qE,OAAQ26D,GAAQ,GAAK,UAAYh5I,EAAEg3K,kBAClC,CACDsW,gBAAiB7xL,OAAOgB,OAAO,CAC7B+nC,MAAOxkC,EAAE63K,iBACTxnJ,QAAS,GACRx0B,EAAEixB,UAAY,CACf0X,MAAOxkC,EAAEk4J,gBAEXrwD,SAAU,CACRtqB,YAAav9E,EAAEo0J,sBClCZuhC,GAA0B,CACnCrkG,KAAM,SAAc4iD,GAClB,IAAIr4I,EAAIq4I,EAAK3yH,MACTvhB,EAAIk0I,EAAKi5B,UACTx4B,EAAgBT,EAAKl5H,MAAM25H,cAC3BoT,EAASvC,GAAexlJ,EAAEylJ,aAC1B9sD,EAAcg8C,EAAch8C,YAC5BonF,EAAoB9S,GAAqB,CAC3CE,UAAWx4B,IAEb,OAAOl5I,OAAOgB,OAAO,CACnB4gF,SAAU,WACVgZ,gBAAiBr2F,EAAEozG,WACnB71B,YAAa,cACbob,YAAaA,EACbC,YAAa,QACbhrF,OAAQ5N,EAAEukK,WACV//H,MAAOxkC,EAAEgkJ,YAAc+D,EAAOC,YAC9BhrG,QAAS,OACTuzD,WAAY,SACZwC,eAAgB,WACF,IAAbl3G,EAAEyjL,QAAgC,iBAAbzjL,EAAEyjL,QAA6B,CACrD/sE,YAAavyG,EAAEqlK,4BACf5+C,aAAczmH,EAAEqlK,8BACF,IAAbxpK,EAAEyjL,QAAgC,eAAbzjL,EAAEyjL,QAA2B,CACnD34D,WAAY3mH,EAAEslK,0BACd5+C,cAAe1mH,EAAEslK,2BAChB,CACDz9D,SAAUk4E,EAAkB,UAC5BhS,iBAAkBgS,EAAkB,sBC5B/B6V,GAAoB,CAC7BtkG,KAAM,SAAc4iD,GAClB,IAAIr4I,EAAIq4I,EAAK3yH,MACTvhB,EAAIk0I,EAAKi5B,UACTx4B,EAAgBT,EAAKl5H,MAAM25H,cAC3BoT,EAASvC,GAAexlJ,EAAEylJ,aAC1B9sD,EAAcg8C,EAAch8C,YAC5BonF,EAAoB9S,GAAqB,CAC3CE,UAAWx4B,IAEb,OAAOl5I,OAAOgB,OAAO,CACnB4gF,SAAU,WACVgZ,gBAAiBr2F,EAAEozG,WACnBza,YAAaA,EACbC,YAAa,QACbrb,YAAa,cACbkb,aAAcz4F,EAAEy4F,aAChB7qF,OAAQ5N,EAAEukK,WACVvrE,SAAUh5F,EAAEukK,WACZzlF,QAAS9+E,EAAEwkK,YACXhgI,MAAOxkC,EAAEgkJ,YAAc+D,EAAOC,YAC9B/2C,OAAQ,UACRpJ,SAAUk4E,EAAkB,WAC3BlkL,EAAE8iL,QAAUljL,OAAOgB,OAAO,CAC3B+nC,MAAOxkC,EAAEskJ,kBAAoByD,EAAOzD,iBACpCjuD,gBAAiBr2F,EAAEukJ,kBAClB0pB,GAA2B,CAC5B9vF,SAAS,KACN,CACHw0B,SAAUl3G,OAAOgB,OAAO,CACtB+nC,MAAOxkC,EAAEkkJ,iBAAmB6D,EAAO7D,gBACnC7tD,gBAAiBr2F,EAAEmkJ,iBAAmB4D,EAAO5D,iBAC5C8pB,GAA2B,CAC5B9vF,SAAS,KAEX4vF,iBAAkBgS,EAAkB,mBACnClkL,EAAEixB,UAAY,CACf0X,MAAOxkC,EAAEklJ,oBAAsB6C,EAAOsC,oBACtCh0D,gBAAiBr2F,EAAEmlJ,mBACnBl0C,OAAQ,UACR3+B,cAAe,OACfqgC,SAAU,OCzCLkjF,GAA2C,uCCA3CC,GAA0C,sCCG1CC,GAAwB,CACjCzkG,KAAM,SAAc4iD,GAClB,IAEIr4I,EAAIq4I,EAAK3yH,MACTvhB,EAAIk0I,EAAKi5B,UACTx4B,EAAgBT,EAAKl5H,MAAM25H,cAC3BoT,EAASvC,GAAexlJ,EAAEylJ,aAC1Bs6B,EAAoB9S,GAAqB,CAC3CE,UAAWx4B,EACXl8C,aAAc,IAEhB,OAAOh9F,OAAOgB,OAAO,CACnB4gF,SAAU,WACV74C,MAAOxkC,EAAE+kK,oBAAsBhd,EAAOC,YACtCrvD,YAAa34F,EAAE4kK,gBACfvuE,gBAAiB,cACjB9Y,YAAa,cACbvgC,QAAS,OACTuzD,WAAY,SACZW,UAAW,OACXvjG,MAAO,OACPorF,SAAU,OACVja,QAAS9+E,EAAEklK,gBACXj0D,OAAQ,UACRuB,UAAWxyG,EAAEukK,WACbn0I,WAAYpwB,EAAE+9J,eACdl2D,SAAU,CACR1pB,QAAS,GAEXw0B,WAAW4tE,EAAS,CAClB/7I,MAAOxkC,EAAEokK,yBAA2Brc,EAAOqc,wBAC3C/tE,gBAAiBr2F,EAAEqkK,yBAA2Btc,EAAOsc,0BAC7C,MAAQwxB,IAA4C,CAC5D1nB,gBAAiB2Y,GAAoB9mL,EAAEokK,yBAA2Brc,EAAOqc,0BACxEmc,EAAO,MAAQuV,IAA2C,CAC3D3nB,gBAAiB4Z,GAAmB/nL,EAAEokK,yBAA2Brc,EAAOqc,0BACvEmc,GACHxS,iBAAkBgS,EAAkB,mBACnClkL,EAAEixB,YAAa6tH,EAAQ,CACxB1pC,OAAQ,UACRzsE,MAAOxkC,EAAEglK,4BAA8Bjd,EAAOsC,oBAC9Ch0D,gBAAiBr2F,EAAEilK,6BACZ,MAAQ4wB,IAA4C,CAC3D1nB,gBAAiB2Y,GAAoB9mL,EAAEglK,4BAA8Bjd,EAAOsC,sBAC3E1P,EAAM,MAAQm7C,IAA2C,CAC1D3nB,gBAAiB4Z,GAAmB/nL,EAAEglK,4BAA8Bjd,EAAOsC,sBAC1E1P,EAAM,UAAY,GAClBA,KAELrqC,QAAS,WACP,MAAO,CACLtzD,QAAS,WCzDJg5I,GAA4B,CACrC1kG,KAAM,SAAc4iD,GACdr4I,EAAIq4I,EAAK3yH,MACb,OAAO9lB,OAAOgB,OAAO,GAAIZ,EAAEmkL,YAAc,CACvC5vD,YAAa4oB,GAAQ,IACrB7oB,UAAW6oB,GAAQ,GACnBh8F,QAAS,OACT6rI,UAAW,YCLNoN,GAAwC,CACjD3kG,KAAM,SAAc4iD,GAClB,IAAIl0I,EAAIk0I,EAAKi5B,UACTphH,EAAMmoF,EAAKnoF,IACXg8F,EAASvC,GAAexlJ,EAAEylJ,aAC9B,OAAOhqJ,OAAOgB,OAAO,CACnB0xK,gBAAiB2Y,GAAoB9mL,EAAE+kK,oBAAsBhd,EAAOC,aACpEk3B,mBAAoB,SACpB9Q,iBAAkB,aACjBriH,GAAO,CACRojB,UAAW,cACV,CACDxhE,MAAOqrI,GAAQ,IACfprI,OAAQ,OACRyvE,SAAU,WACVlgB,MAAO67E,GAAQ,GACfj2F,IAAK,MCVAmzI,GAAqB,iBACrBC,GACED,GAAqB,wBCTvBE,GAAiB,CAC1B9kG,KAAM,SAAc4iD,GAClB,IAAkB0d,EAEdjd,EAAgBT,EAAKl5H,MAAM25H,cAC3B94I,EAAIq4I,EAAK3yH,MACTw+J,EAAoB9S,GAAqB,CAC3CE,UAAWx4B,IAEb,MAAO,CACLpuB,cAAe,OACf1e,SAAUpsG,OAAOgB,OAAO,GAAIZ,EAAE+zL,cAAej1C,EAAQ,IAAU,MAAQw7C,IAAqC,CAC1Gn5I,QAAS,gBACR29F,GAAQolC,EAAkB,WAC7BhS,iBAAkBtyK,OAAOgB,OAAO,CAC9B0hF,QAAS,GACRtiF,EAAE+zL,cAAe/0C,EAAQ,IAAU,MAAQs7C,IAAqC,CACjFn5I,QAAS,gBACR69F,KAAS+W,EAAiB,IAAmB,MAAQskC,IAAsBz6L,OAAOgB,OAAO,CAC1F4gF,SAAU,YACT0iG,EAAkB,mBAAoBnuB,OCjBpCykC,GAAkB,CAC3B/kG,KAAM,SAAc4iD,GAClB,IAEIr4I,EAAIq4I,EAAK3yH,MACTvhB,EAAIk0I,EAAKi5B,UACTx4B,EAAgBT,EAAKl5H,MAAM25H,cAC3BorC,EAAoB9S,GAAqB,CAC3CE,UAAWx4B,IAEb,OAAOl5I,OAAOgB,OAAO,CACnBqiF,QAAS9+E,EAAE8+E,QACXmyB,OAAQ,UACRzsE,MAAOxkC,EAAEwkC,MACT64C,SAAU,WACV6yC,WAAY8oB,GAAQ,EAAoB,IAAfn9I,EAAEy6L,MAAQ,IACnC7vE,aAAczmH,EAAEymH,aAChBlU,YAAavyG,EAAEuyG,aACd12G,EAAE+zL,YAAc,CACjB5yI,QAAS,OACT+1D,eAAgB,gBAChBxC,WAAY,UACX,CACD1I,SAAUpsG,OAAOgB,OAAO,GAAIZ,EAAE+zL,cAAej1C,EAAQ,IAAU,MAAQw7C,IAAqC,CAC1Gn5I,QAAS,gBACR29F,GAAQolC,EAAkB,WAC7BhS,iBAAkBgS,EAAkB,kBACpCptE,SAAUl3G,OAAOgB,OAAO,GAAIZ,EAAE+zL,cAAe/0C,EAAQ,CACnDznC,WAAYpzG,EAAEw+K,kBACP,MAAQ2X,IAAqC,CACpDn5I,QAAS,gBACR69F,KACFh/I,EAAE06L,iBAAkBx7C,EAAQ,IAAU,MAAQo7C,IAAqC,CACpFn5I,QAAS,gBACR+9F,KAELy7C,mBAAoB,SAA4Bv7C,GAC9C,IC1CwFz2G,ED0CpF3oC,EAAIo/I,EAAM15H,MACVvhB,EAAIi7I,EAAMkyB,UACd,OAAO1xK,OAAOgB,OAAO,CACnBugD,QAAS,OACTomI,MAAO,QACP/wE,cAAe,SACf3Z,UAAW,QACX/qF,MAAOqrI,GAAQ,IACfprI,OAAQorI,GAAQ,IAChBz7D,YAAav9E,EAAEu9E,YACfqb,YAAa54F,EAAE44F,YACfH,aAAcz4F,EAAEy4F,aAChBE,YAAa34F,EAAE24F,YACfn0D,MAAOxkC,EAAE6/J,eACThhF,OAAQ7+E,EAAEu+K,yBACVz/F,QAAS9+E,EAAE8+E,QACX0nC,WAAY,OACZ2nD,gBAAiBI,GAAqBvuK,EAAE6/J,eAAgB7/J,EAAEozG,YAC1D8rE,mBAAoB,SACpB9Q,iBAAkB,aACjBvyK,EAAEqW,UAAY,CACfqrE,YAAav9E,EAAE6zK,mBACf1F,gBAAiBI,GAAqBvuK,EAAE8zK,sBAAuB9zK,EAAE4zK,oBAChE/3K,EAAE46L,eAAiB,CACpBl5G,YAAav9E,EAAE6zK,mBACf1F,iBCnEsF3pI,EDmElCxkC,EAAE8zK,sBCnEuCz9E,EDmEhBr2F,EAAE4zK,kBClE5E,oHAAsHnF,OAAOp4E,GAAmB,qFAAuFo4E,OAAOjqI,GAAS,oaDmEzP3oC,EAAEixB,UAAY,CACfsmF,WAAYpzG,EAAE6jF,mBACdtG,YAAav9E,EAAEi0K,qBACdp4K,EAAEixB,UAAYjxB,EAAEqW,UAAY,CAC7BsyB,MAAOxkC,EAAEk0K,8BACT32F,YAAav9E,EAAEg0K,0BACf7F,gBAAiBI,GAAqBvuK,EAAEk0K,8BAA+Bl0K,EAAEg0K,+BExEpE0iB,GAAuB,CAChCplG,KAAM,SAAc4iD,GAClB,IAAIr4I,EAAIq4I,EAAK3yH,MACTvhB,EAAIk0I,EAAKi5B,UACb,OAAO1xK,OAAOgB,OAAO,CACnBugD,QAAS,OACTqgC,SAAU,WACV0b,SAAU/4F,EAAE+4F,SACZroE,OAAQ1wB,EAAE0wB,QACT70B,EAAE60L,UAAYj1L,OAAOgB,OAAO,CAC7B61E,cAAe,OACd00G,GAAmB,CACpBC,UAAWprL,EAAE82L,cACb7zG,QAAS9+E,EAAE85K,iBACRj+K,EAAE2S,MAAQ,CACbwuC,QAAS,WAGb61I,QAAS,SAAiBl4C,GACxB,IAAI9+I,EAAI8+I,EAAMp5H,MACVvhB,EAAI26I,EAAMwyB,UACVphH,EAAM4uF,EAAM5uF,IAChB,OAAOtwD,OAAOgB,OAAO,CACnBugD,QAAS,QACTqgC,SAAU,WACV1vE,MAAO3N,EAAEg6K,aACTpsK,OAAQ5N,EAAE+5K,eACTmN,GAAiB,CAClB7wF,gBAAiBr2F,EAAEq2F,gBACnBujF,WAAY55K,EAAE45K,WACdr8F,YAAa,cACbkN,IAAKzqF,EAAE65K,WACP/6F,QAAS9+E,EAAE85K,cACXlsK,OAAQ5N,EAAE+5K,cACVpsK,MAAO3N,EAAEg6K,aACTiN,UAAWprL,EAAE82L,cACb5mI,IAAKA,EACLv+B,KCvC4C6oE,EDuCzBr2F,EAAEq2F,gBCtClB,4EAA8Er1E,mBAAmBq1E,GAAmB,0PDyC3HhwF,QAAS,SAAiBw0I,GACxB,IAAIh/I,EAAIg/I,EAAMt5H,MACVvhB,EAAI66I,EAAMsyB,UACd,OAAO1xK,OAAOgB,OAAO,CACnBugD,QAAS,QACT8hC,QAAS9+E,EAAE8+E,QACXoyB,UAAW,OACX1sE,MAAOxkC,EAAEwkC,MACT4uE,WAAYpzG,EAAEq2F,gBACdoC,aAAcz4F,EAAEy4F,aAChBC,UAAW14F,EAAE04F,WACZ78F,EAAE60L,UAAY,CACfp+G,cAAe,UErDVqkH,GAAiB,CAC1BrlG,KAAM,WACJ,MAAO,CACLt0C,QAAS,eACTqgC,SAAU,aAGdu5G,sBAAuB,SAA+B1iD,GACpD,IAAIl0I,EAAIk0I,EAAKi5B,UACTtxK,EAAIq4I,EAAK3yH,MACb,OAAO9lB,OAAOgB,OAAO,CACnBugD,QAAS,OACTrvC,MAAOqrI,GAAQh5I,EAAE2N,OACjBsrF,UAAW,UACVp9F,EAAEg7L,sBAAwBh7L,EAAEktL,gBAAkB,CAC/C1qG,OAAQ,aAAer+E,EAAEgsJ,sBACzBvzD,aAAcz4F,EAAEunK,0BAGpBuvB,eAAgB,WACd,MAAO,CACLh4G,QAAS,EACTD,OAAQ,EACR7hC,QAAS,OACTgmI,UAAW,OACX+T,WAAY,eCxBPC,GAA2B,CACpC1lG,KAAM,SAAc4iD,GAClB,IAAIr4I,EAAIq4I,EAAK3yH,MACTvhB,EAAIk0I,EAAKi5B,UACT+U,EAAWrmL,EAAEqmL,SACbtxD,EAAU/0H,EAAE+0H,QACZvlB,EAAWxvG,EAAEwvG,SACb4rF,EAAap7L,EAAEo7L,WACflvC,EAASvC,GAAexlJ,EAAEylJ,YAAa,KAAM70B,GACjD,OAAOn1H,OAAOgB,OAAO,CACnBugD,QAAS,OACTw1D,UAAWwmC,GAAQ,IACnBn6D,OAAQ,EACRC,QAAS,EACTt6C,MAAOxkC,EAAEwkC,MACT6xD,gBAAiBr2F,EAAEq2F,iBAAmB,UACtCkwB,cAAe,OACfxT,eAAgB,WACd1H,GAAY4rF,GAAc,CAC5BlkF,eAAgB,QAChB5jC,UAAW,cAAgB6pE,GAAQh5I,EAAE2N,MAAQ,EAAI3N,EAAEqoK,eAAiB,GAAKxsK,EAAEq7L,YAAcl3L,EAAEqoK,gBAAkB,IAC7G1kJ,WAAY,sBACXu+J,GAAY,CACb3xE,WAAY,UACXlF,GAAY5vG,OAAOgB,OAAO,CAC3BsmL,cAAe,SACf1sF,gBAAiBr2F,EAAEi+J,wBACnBtwJ,MAAO,cACPmxE,QAASk6D,GAAQ,GAAK,MACrBkpC,GAAY,CACbllI,QAAS,eACTrvC,MAAO,UACJu0K,IAAa72E,GAAY,CAE5BhtB,OAAQr+E,EAAE24F,YAAc,WAAai4B,EAAU5wH,EAAE+0J,mBAAqB/0J,EAAEu9E,aAAewqE,EAAO1pE,QAC9Foa,aAAcugD,GAAQ,OC5BjBm+C,GAAkC,8BAClCC,GACED,GAAkC,cCPpCE,GAA+B,CACxC/lG,KAAM,SAAc4iD,GAClB,IAEIr4I,EAAIq4I,EAAK3yH,MACTvhB,EAAIk0I,EAAKi5B,UACTwR,EAAS9iL,EAAE8iL,OACXuD,EAAWrmL,EAAEqmL,SACbtxD,EAAU/0H,EAAE+0H,QACZvlB,EAAWxvG,EAAEwvG,SACb4rF,EAAap7L,EAAEo7L,WACflvC,EAASvC,GAAexlJ,EAAEylJ,YAAa,KAAM70B,GACjD,OAAOn1H,OAAOgB,OAAO,CACnB+nC,MAAO,UACPwY,QAAS,QACTi0D,OAAQ,UACRW,WAAY,UACXswE,GAAY,CACb7jG,OAAQ26D,GAAQ,GAAK,sBACpB3tC,EAAW,CACZvsB,QAAS9+E,EAAEk+J,qBACT,CACFp/E,QAAS9+E,EAAEg+J,mBACVkkB,GAAY,CACbrjG,OAAQm6D,GAAQ,GAChBl6D,QAASk6D,GAAQ,GAEjBh8F,QAAS,OACTuzD,WAAY,SACZwC,eAAgB,UACf4rE,GAAUuD,GAAYzmL,OAAOgB,OAAO,CACrC+nC,MAAOxkC,EAAEw9J,qBACRyQ,GAA2B,CAC5B9vF,SAAS,KACN,CAEH4vF,iBAAkBtyK,OAAOgB,OAAO,GAAIylL,GAAYzmL,OAAOgB,OAAO,CAC5Dg8F,aAAc,OACbw+F,GAAc,CACfx+F,aAAc,KACb,CACDlb,YAAav9E,EAAEw9J,qBACdyQ,GAA2B,CAC5B9vF,SAAS,OAEV+jG,GAAYtxD,GAAW,CACxBpsF,MAAO,UACP+4C,YAAav9E,EAAEq0J,mBAAqBtM,EAAOvD,cAC1C,CACD38C,SAAU,CACR1pB,QAAS,GAGXw0B,SAAUl3G,OAAOgB,SAAQm1J,EAAiB,CACxCptH,MAAO,YACS,MAAQ4yJ,IAAkD,CAC1EhkF,WAAYpzG,EAAEmoK,0BACbvW,GAAiBswB,GAAYjU,GAA2B,CACzD9vF,SAAS,IACPyyC,GAAWsxD,GAAY,CACzB19I,MAAO,eAIbn+B,QAAS,SAAiBs0I,GACxB,IAAI9+I,EAAI8+I,EAAMp5H,MACV6vK,EAAcv1L,EAAEy7L,aAAe,GAAK,EACxC,OAAO77L,OAAOgB,OAAO,CACnBm1G,WAAY,SACZxhF,WAAY,IACZ+/F,UAAW6oB,IAAS,GACpB3oB,aAAc2oB,IAAS,GACvBh8F,QAAS,gBACRnhD,EAAEo7L,YAAcx7L,OAAOgB,OAAO,CAC/BkR,MAAOqrI,GAAQ,MACbn9I,EAAE8iL,QAAU,CACdtuJ,QAAS,KACPx0B,EAAEwvG,UAAY,CAChB19F,MAAO,cACPqrF,SAAUggD,GAAQ,GAAKo4C,GACvBr4F,SAAUigD,GAAQ,IAAMo4C,GACxBhhE,YAAa4oB,GAAQ,OAGzBimC,UAAW,SAAmBpkC,GAC5B,IAAIh/I,EAAIg/I,EAAMt5H,MACVvhB,EAAI66I,EAAMsyB,UACd,OAAO1xK,OAAOgB,OAAO,CACnBg8F,aAAc,MACd9qF,MAAOqrI,GAAQ,GACfprI,OAAQorI,GAAQ,GAChB5lC,WAAYpzG,EAAEmoK,0BACbtsK,EAAE8iL,QAAU,CACbvrE,WAAYpzG,EAAEooK,gCACbvsK,EAAEmkL,YAAc,CACjB5vD,YAAa4oB,GAAQ,MACnBn9I,EAAEqmL,UAAY,CAEhB/xD,UAAW,EACXE,aAAc2oB,IAAS,GACvB3mC,cAAe,UC9FVklF,GACAC,+BrFKAC,GAAuB,CAChCnmG,KAAM,SAAc4iD,GAClB,IAEIr4I,EAAIq4I,EAAK3yH,MACTvhB,EAAIk0I,EAAKi5B,UAGTx0E,EAFQu7C,EAAKl5H,MACS25H,cACMh8C,YAC5BonF,EAAoB9S,GAAqB,CAC3CE,UAAW,CACT10E,aAAcz4F,EAAEsxJ,kBAChB34D,YAAa34F,EAAEuxJ,iBACfxF,sBAAuB/rJ,EAAE+rJ,sBACzBC,sBAAuBhsJ,EAAEgsJ,sBACzByF,SAAU,CACRzN,WAAYhkJ,EAAEwxJ,oBAGlBic,cAAe90E,IAEjB,OAAOl9F,OAAOgB,OAAO,CACnBmR,OAAQ5N,EAAEgoK,aACVhvE,SAAUh5F,EAAEgoK,aACZxjI,MAAOxkC,EAAEwnK,YACTnxE,gBAAiBr2F,EAAE0nK,sBACnBjvE,aAAcz4F,EAAE+nK,mBAChB1pF,OAAQ,EACRrhC,QAAS,cACT+1D,eAAgB,SAChBxC,WAAY,SACZlzB,SAAU,WACVg1B,cAAe,SACfpB,OAAQ,UACRof,aAAc2oB,GAAQ,IACtB76D,QAAS,EACTW,QAAS,EACTn7D,WAAYi2H,GACZlpH,OAAQ,GACP70B,EAAEo4F,QAAU,CACb5mB,WAAY,UACX,CACDslC,SAAUl3G,OAAOgB,OAAO,GAAIwxK,GAA2B,CACrD9vF,SAAS,MACNyzE,EAAiB,IAAmB,MAAQ2lC,IAAwC97L,OAAOgB,OAAO,GAAIyxK,GAAmBluK,EAAEwnK,YAAa3rK,EAAE+C,KAAMoB,EAAEioK,sBAAuBrW,EAAex+C,WAAapzG,EAAE4nK,2BAA4BhW,IACxOh/C,UAAW,CACTjvF,WAAYg2H,GACZtjD,gBAAiBr2F,EAAE2nK,6BAErB9/D,SAAUk4E,EAAkB,UAC5BhS,iBAAkBtyK,OAAOgB,OAAO,GAAIsjL,EAAkB,oBACrDlkL,EAAEixB,UAAY,CACfmkF,OAAQ,UACRzsE,MAAOxkC,EAAEynK,oBACTn1F,cAAe,OACfqgC,SAAU,CACRnuE,MAAOxkC,EAAEynK,qBAEXpxE,gBAAiBr2F,EAAE6nK,iCAGvBxhK,QAAS,SAAiBs0I,GACxB,IAAI9+I,EAAI8+I,EAAMp5H,MACVvhB,EAAI26I,EAAMwyB,UACVphH,EAAM4uF,EAAM5uF,IAChB,OAAOtwD,OAAOgB,OAAO,GAAIyxK,GAAmBryK,EAAEixB,SAAW9sB,EAAEynK,oBAAsBznK,EAAEwnK,YAAa3rK,EAAE+C,KAAMoB,EAAEioK,qBAAsBl8G,GAAO,CACrIojB,UAAW,iBsFjFNuoH,GAAiB,CAC1BpmG,KAAM,SAAc4iD,GAClB,IAAIr4I,EAAIq4I,EAAK3yH,MACTvhB,EAAIk0I,EAAKi5B,UACTx4B,EAAgBT,EAAKl5H,MAAM25H,cAC3BorC,EAAoB9S,GAAqB,CAC3CE,UAAWx4B,IAEb,OAAOl5I,OAAOgB,OAAO,CACnBugD,QAAS,OACT+lI,cAAe,MACfxyE,WAAY,SACZn1B,SAAUp7E,EAAE8oK,aACZl7J,OAAQ5N,EAAEyoK,iBACVjkI,MAAOxkC,EAAEwkC,MACT6xD,gBAAiBr2F,EAAEq2F,gBACnBsC,YAAa34F,EAAE24F,YACfC,YAAa,QACbrb,YAAa,cACb6pG,kBAAmBpnL,EAAEkpK,eACrBpqF,QAAS9+E,EAAE6oK,WACXxrF,SAAU,WACV1vE,MAAO,OACPglG,SAAU,CACRnuE,MAAOxkC,EAAEuoK,WACTlyE,gBAAiBr2F,EAAEwoK,qBACnBjrF,YAAav9E,EAAEmpK,sBAEhB4W,EAAmBlkL,EAAE4qD,QAAU,CAChC20B,SAAUp7E,EAAEmtJ,eACZx6C,SAAU,CACRnuE,MAAOxkC,EAAEwkC,MACT6xD,gBAAiBr2F,EAAEq2F,kBAEpBx6F,EAAE87L,SAAW,CACd/pL,OAAQ5N,EAAE0oK,qBCnCLkvB,GAAkB,CAC3BtmG,KAAM,SAAc4iD,GAClB,IAAIl0I,EAAIk0I,EAAKi5B,UACTx4B,EAAgBT,EAAKl5H,MAAM25H,cAC3BorC,EAAoB9S,GAAqB,CAC3CE,UAAWx4B,IAEb,OAAOl5I,OAAOgB,OAAO,CACnBugD,QAAS,OACT66I,SAAU,aACVzoK,SAAU,EACVkkF,UAAW,EACXta,SAAUh5F,EAAE2oK,aACZxqF,QAAS,EACTwa,YAAa34F,EAAE24F,YACfC,YAAa,QACbrb,YAAa,eACZwiG,EAAmB,CACpBjhG,QAAS9+E,EAAE4oK,YACXvrF,SAAU,WACVzvE,OAAQ,UAGZvH,QAAS,SAAiBs0I,GACpB9+I,EAAI8+I,EAAMp5H,MACd,OAAO9lB,OAAOgB,OAAO,CACnBosL,UAAW,UACVhtL,EAAEi8L,iBAAmB,CACtB96I,QAAS,QACTic,SAAU,SACVq5C,aAAc,WACdV,WAAY,aC7BPmmF,GAA6B,yBCD7BC,GAAa,CACtB1mG,KAAM,SAAc4iD,GAClB,IAEIr4I,EAAIq4I,EAAK3yH,MACTvhB,EAAIk0I,EAAKi5B,UAETx4B,EADQT,EAAKl5H,MACS25H,cACtBorC,EAAoB9S,GAAqB,CAC3CE,UAAWx4B,EACXl8C,aAAcz4F,EAAEy4F,eAElB,OAAOh9F,OAAOgB,OAAO,CACnBugD,QAAS,OACT+lI,cAAe,SACf1lG,SAAU,WACVyB,QAAS9+E,EAAE8+E,QACXD,OAAQ7+E,EAAE6+E,OACVlxE,MAAO3N,EAAE2N,MACTC,OAAQ5N,EAAE4N,OACV+qF,YAAa34F,EAAE24F,YACfC,YAAa54F,EAAE44F,YACfrb,YAAav9E,EAAEu9E,YACfkb,aAAcz4F,EAAEy4F,aAChBpC,gBAAiBr2F,EAAEq2F,iBAClBx6F,EAAEo8L,OAAS,CACZ5hG,gBAAiBr2F,EAAE0pK,sBAClB7tK,EAAEmmL,UAAY,CACf3rF,gBAAiBr2F,EAAE84J,yBAClBj9J,EAAEqW,UAAY,CACfmkF,gBAAiBr2F,EAAEo9J,yBAClB,CACD1kE,UAAW14F,EAAE04F,WACZ78F,EAAEq8L,UAAY,CACfx/F,UAAW14F,EAAEuqK,mBACZ,CACD53D,SAAUl3G,OAAOgB,OAAO,CACtB45F,gBAAiBr2F,EAAE2sJ,sBAClB9wJ,EAAEo8L,OAAS,CACZ5hG,gBAAiBr2F,EAAE6pK,2BAClBhuK,EAAEmmL,UAAY,CACf3rF,gBAAiBr2F,EAAE+4J,8BAClBl9J,EAAEqW,UAAY,CACfmkF,gBAAiBr2F,EAAEssK,8BAClB,CACD/uF,YAAav9E,EAAEm0J,iBACfz7D,UAAW14F,EAAEoqK,gBACZvuK,EAAEq8L,UAAY,CACfx/F,UAAW14F,EAAEyqK,0BAEdsV,EAAmBlkL,EAAEykL,YAAc,CACpCrvE,OAAQ,UACR88D,iBAAkBtyK,OAAOgB,OAAO,CAC9B45F,gBAAiBr2F,EAAEi0J,sBAClBp4J,EAAEo8L,OAAS,CACZ5hG,gBAAiBr2F,EAAE4pK,2BAClB/tK,EAAEmmL,UAAY,CACf3rF,gBAAiBr2F,EAAEgqK,8BAClBnuK,EAAEqW,UAAY,CACfmkF,gBAAiBr2F,EAAEqsK,8BAClB,CACD3zE,UAAW14F,EAAEqqK,gBACZxuK,EAAEq8L,UAAY,CACfx/F,UAAW14F,EAAE0qK,wBACZqV,EAAkB,mBACrBntE,UAAWn3G,OAAOgB,OAAO,CACvB45F,gBAAiBr2F,EAAEypK,wBAClB5tK,EAAEo8L,OAAS,CACZ5hG,gBAAiBr2F,EAAE8pK,6BAClBjuK,EAAEmmL,UAAY,CACf3rF,gBAAiBr2F,EAAEiqK,gCAClBpuK,EAAEqW,UAAY,CACfmkF,gBAAiBr2F,EAAEusK,gCAClB,CACDhvF,YAAav9E,EAAEkqK,mBACfxxE,UAAW14F,EAAEsqK,kBACZzuK,EAAEq8L,UAAY,CACfx/F,UAAW14F,EAAE2qK,4BAEH,UAAX9uK,EAAEmY,MAAoB,CACvBrG,MAAO3N,EAAEurK,eACT39J,OAAQ5N,EAAEq2J,gBACVv3E,QAAS9+E,EAAEu2J,kBACC,UAAX16J,EAAEmY,MAAoB,CACvBrG,MAAO3N,EAAEwrK,eACT59J,OAAQ5N,EAAEyrK,gBACV3sF,QAAS9+E,EAAE0rK,kBACV7vK,EAAE0lL,OAAS,CACZ5zK,MAAO3N,EAAE2rK,WACT/9J,OAAQ5N,EAAE4rK,aACT/vK,EAAEyxG,YAAc,CACjBy1E,cAAe,OACdlnL,EAAE87L,SAAW,CACd74G,QAAS9+E,EAAE4qK,gBACV/uK,EAAEs8L,UAAY,CACf5nF,WAAY,UACX10G,EAAEixB,UAAYrxB,OAAOgB,OAAO,CAC7Bw0G,OAAQ,cACRzsE,MAAOxkC,EAAE8zJ,cACTz9D,gBAAiBr2F,EAAEk0J,wBACnB32E,YAAav9E,EAAEs0J,oBACf57D,UAAW14F,EAAEmqK,mBACZtuK,EAAEmmL,UAAY,CACf3rF,gBAAiBr2F,EAAE+pK,iCAClBluK,EAAEo8L,OAAS,CACZ5hG,gBAAiBr2F,EAAE2pK,8BAClB9tK,EAAEqW,UAAY,CACfmkF,gBAAiBr2F,EAAEosK,iCAClB,CACDz5D,SAAU,CACRja,UAAW14F,EAAEmqK,mBAEf4D,iBAAkBtyK,OAAOgB,OAAO,CAC9Bi8F,UAAW14F,EAAEmqK,mBACZ4V,EAAkB,mBACrBntE,UAAW,CACTla,UAAW14F,EAAEmqK,qBAEbtuK,EAAEu8L,cAAez9C,EAAQ,IAAU,MAAQo9C,IAA8B,CAC3ExoG,UAAWvvF,EAAE6rK,4BACbloJ,WAAY3jB,EAAEgsK,8BACd/yG,SAAU,UACT0hF,EAAM,YAAco9C,IAA8B,CACnDxoG,UAAWvvF,EAAE8rK,0BACbnoJ,WAAY3jB,EAAEgsK,+BACbrxB,EAAM,YAAco9C,IAA8B,CACnDxoG,UAAWvvF,EAAE8rK,0BACbnoJ,WAAY3jB,EAAEgsK,+BACbrxB,MClII09C,GAAmB,CAC5B/mG,KAAM,SAAc4iD,GAClB,IAAIl0I,EAAIk0I,EAAKi5B,UACTtxK,EAAIq4I,EAAK3yH,MACb,OAAO9lB,OAAOgB,OAAO,CACnBugD,QAAS,OACT+lI,cAAe,SACflkG,OAAQ7+E,EAAEswJ,cACTz0J,EAAEyjL,QAAU,CACbzgG,OAAQ7+E,EAAEirK,uBCTLqtB,GAAiB,CAC1BhnG,KAAM,SAAc4iD,GAClB,IAAIl0I,EAAIk0I,EAAKi5B,UACTtxK,EAAIq4I,EAAK3yH,MACb,OAAO9lB,OAAOgB,OAAO,CACnBugD,QAAS,OACT+lI,cAAe,SACflkG,OAAQ7+E,EAAE8qK,YACTjvK,EAAEyjL,QAAU,CACbzgG,OAAQ7+E,EAAEkrK,qBCTLqtB,GAAmB,CAC5BjnG,KAAM,SAAc4iD,GAClB,IAAIl0I,EAAIk0I,EAAKi5B,UACTtxK,EAAIq4I,EAAK3yH,MACb,OAAO9lB,OAAOgB,OAAO,CACnBugD,QAAS,OACT+lI,cAAe,SACflkG,OAAQ7+E,EAAE+qK,cACTlvK,EAAEyjL,QAAU,CACbzgG,OAAQ7+E,EAAEmrK,uBCTLqtB,GAAoB,CAC7BlnG,KAAM,SAAc4iD,GAClB,IAAIr4I,EAAIq4I,EAAK3yH,MACTvhB,EAAIk0I,EAAKi5B,UACb,OAAO1xK,OAAOgB,OAAO,CACnBoiF,OAAQ7+E,EAAE6qK,eACThvK,EAAEyxG,YAAc,CACjBzuB,OAAQ7+E,EAAEorK,yBACTvvK,EAAEyjL,QAAU,CACbzgG,OAAQ7+E,EAAEgrK,wBCRLytB,GAAmB,CAC5BnnG,KAAM,SAAc4iD,GAClB,IAEIr4I,EAAIq4I,EAAK3yH,MACb,OAAO9lB,OAAOgB,OAAO,IAAKZ,EAAE68L,oBAAqB/9C,EAAQ,IAAU,MAAQ2tC,IAA6B,CACtGr3E,OAAQ,WACP0pC,MCRIg+C,EAA+B,CACxCrnG,KAAM,SAAc4iD,GAClB,IAAIr4I,EAAIq4I,EAAK3yH,MACTvhB,EAAIk0I,EAAKi5B,UACb,OAAO1xK,OAAOgB,OAAO,CACnBmR,OAAQ5N,EAAEgvK,mBACVrhK,MAAO3N,EAAEivK,kBACTnwF,QAAS9+E,EAAEkvK,oBACXv8D,SAAU,CACRtc,gBAAiBr2F,EAAE4vK,iCACnBprI,MAAOxkC,EAAE6vK,yBAEVh0K,EAAE+8L,OAAS,CACZp0J,MAAOxkC,EAAEsvK,wBACRzzK,EAAEqW,UAAY,CACfsyB,MAAOxkC,EAAEuvK,0BACTl5E,gBAAiBr2F,EAAEwvK,qCAClB3zK,EAAEixB,UAAY,CACf0X,MAAOxkC,EAAE8vK,0BACT7+D,OAAQ,UACR5a,gBAAiBr2F,EAAE+vK,oCACnBp9D,SAAU,OCpBLkmF,EAAqC,CAC9CvnG,KAAM,SAAc4iD,GAClB,IAAIr4I,EAAIq4I,EAAK3yH,MACTvhB,EAAIk0I,EAAKi5B,UAETx4B,EADQT,EAAKl5H,MACS25H,cACtBh8C,EAAcg8C,EAAch8C,YAC5BonF,EAAoB9S,GAAqB,CAC3CE,UAAWx4B,EACX84B,cAAe90E,IAEjB,OAAOl9F,OAAOgB,OAAO,CACnBy0G,UAAW,SACXtjG,OAAQ,OACRD,MAAO,OACPsjG,OAAQ,UACR5yB,OAAQr+E,EAAE+uK,mBACVjwF,QAAS9+E,EAAEkvK,oBACXrwF,OAAQ7+E,EAAEmvK,mBACVnyH,QAAS,aACTqgC,SAAU,YACT0iG,EAAmB,CACpB1pF,gBAAiBr2F,EAAEovK,4BACnB5qI,MAAOxkC,EAAEqvK,kBACT18D,SAAU,CACRtc,gBAAiBr2F,EAAE4vK,iCACnBprI,MAAOxkC,EAAE6vK,yBAEVh0K,EAAE+8L,OAAS,CACZp0J,MAAOxkC,EAAEsvK,wBACRzzK,EAAEqW,UAAY,CACfsyB,MAAOxkC,EAAEuvK,0BACTl5E,gBAAiBr2F,EAAEwvK,qCAClB3zK,EAAEixB,UAAY,CACf0X,MAAOxkC,EAAE8vK,0BACT7+D,OAAQ,UACR5a,gBAAiBr2F,EAAE+vK,oCACnBp9D,SAAU,IACT92G,EAAEi9L,OAAS,CACZziG,gBAAiBr2F,EAAEyvK,iCACnBjrI,MAAOxkC,EAAE0vK,uBACTj3E,aAAcz4F,EAAE2vK,kCCzCXopB,GAAkC,CAC3CznG,KAAM,SAAc4iD,GAClB,IAEIr4I,EAAIq4I,EAAK3yH,MACTvhB,EAAIk0I,EAAKi5B,UACb,OAAO1xK,OAAOgB,OAAO,GAAIZ,EAAEm9L,wBAAyBr+C,EAAQ,IAAU,6CAAsD,CAC1HtkD,gBAAiBr2F,EAAE4vK,iCACnBprI,MAAOxkC,EAAE6vK,wBACRl1B,MCHIs+C,GAAa/xG,GAAY,CAClCytD,cAAeA,GACfE,mBAAoBA,GACpBC,wDCV2B,CAC3BxjD,KAAM,WACJ,MAAO,CACL+gB,cAAe,SACfr1D,QAAS,OACT+lI,cAAe,SACfmW,eAAgB,EAChBC,iBAAkB,0HCPU,CAChC7nG,KAAM,WACJ,MAAO,CACLniE,KAAM,2BCH6B,CACvCmiE,KAAM,SAAc4iD,GACdl0I,EAAIk0I,EAAKi5B,UACb,MAAO,CACLnwH,QAAS,QACTo+B,SAAUp7E,EAAEwtJ,oBACZt9H,WAAYlwB,EAAEytJ,sBACdr9H,WAAYpwB,EAAE2tJ,0CCPgB,CAClCr8D,KAAM,SAAc4iD,GACdl0I,EAAIk0I,EAAKi5B,UACb,MAAO,CACLnwH,QAAS,QACTo+B,SAAUp7E,EAAEmtJ,eACZj9H,WAAYlwB,EAAEotJ,iBACdh9H,WAAYpwB,EAAEstJ,2MCPiB,CACnCh8D,KAAM,SAAc4iD,GAGlB,OAFQA,EAAK3yH,MACL2yH,EAAKi5B,UACN,CACL96D,cAAe,+JCLW,CAC9B/gB,KAAM,WACJ,MAAO,CACL4f,UAAW,gICHO,CACtB5f,KAAM,SAAc4iD,GACNA,EAAK3yH,MACbvhB,EAAIk0I,EAAKi5B,UACb,MAAO,CACLv/J,OAAQ,OACRD,MAAO,OACPqvC,QAAS,OACT+lI,cAAe,SACfhwE,eAAgB,eAChBu7E,aAAc,QACdnD,uBAAwB,CACtB96D,aAAcrwH,EAAE61K,oBAElBujB,gBAAiB,CACfjpE,UAAWnwH,EAAE41K,iOCfS,CAC5BtkF,KAAM,SAAc4iD,GACdi5B,EAAYj5B,EAAKi5B,UACrB,MAAO,CACL2e,iBAAkB,UAAY3e,EAAUv/J,OAAS,iBACjD2kG,YAAa46D,EAAU56D,YACvBkU,aAAc0mD,EAAU1mD,4ECNU,CACtCn1B,KAAM,SAAc4iD,GACdl0I,EAAIk0I,EAAKi5B,UACb,MAAO,CACL/xF,SAAUp7E,EAAE+8J,qBACZ3sI,WAAYpwB,EAAEg9J,oFCLmB,CACrC1rE,KAAM,SAAc4iD,GACdl0I,EAAIk0I,EAAKi5B,UACb,MAAO,CACL0b,UAAW,WACXztG,SAAUp7E,EAAE48J,oBACZxsI,WAAYpwB,EAAE68J,6PCNQ,CAC1BvrE,KAAM,SAAc4iD,GACdl0I,EAAIk0I,EAAKi5B,UACb,MAAO,CACL/5D,WAAYpzG,EAAEozG,WACd5uE,MAAOxkC,EAAEwkC,MACT0sE,UAAW,OACXmoF,wBAAyB,CACvBzrL,OAAQ5N,EAAEi6K,gBACVtsK,MAAO3N,EAAEk6K,eACTof,YAAa,CACXt8I,QAAS,SAGbu8I,8BAA+B,CAC7B9gG,aAAcz4F,EAAEo6K,2BAChB/7F,OAAQ,SAAWr+E,EAAEq6K,yBAA2B,eAChDmf,eAAgB,cAChBnjG,gBAAiBr2F,EAAEm6K,8BACnBxnE,SAAU,CACRtc,gBAAiBr2F,EAAEs6K,mCACnBj8F,OAAQ,SAAWr+E,EAAEu6K,8BAAgC,iBAGzDkf,8BAA+B,CAC7BrmF,WAAY,6BCzBU,CAC5B9hB,KAAM,SAAc4iD,GAElB,MAAO,CACLl3F,QAAS,OACT+lI,cAHM7uC,EAAK3yH,MAGM8pF,SAAW,SAAW,+DCLb,CAC9B/Z,KAAM,SAAc4iD,GAClB,IAAIr4I,EAAIq4I,EAAK3yH,MACTvhB,EAAIk0I,EAAKi5B,UACb,MAAO,CACLnwH,QAAS,QACTrvC,MAAO9R,EAAE8R,MACTC,OAAQ/R,EAAE+R,OACVyoF,gBAAiBr2F,EAAEqiK,eACnBxjF,OAAQ7+E,EAAEyiK,uHhDNY,CAC1BnxE,KAAM,SAAc4iD,GAGVA,EAAK3yH,UACTvhB,EAAIk0I,EAAKi5B,UACb,MAAO,CACLl8D,OAAQ,UACRmC,WAAY,cACZ/0B,OAAQ26D,GAAQ,GAChBl6D,QAASk6D,GAAQ,GACjBh8F,QAAS,cACT+1D,eAAgB,SAChBxC,WAAY,SACZ/rE,MAAOxkC,EAAEs7K,WAAat7K,EAAE+6K,gBAAkB/6K,EAAEi7K,mBAC5CtoE,WAAW4tE,EAAS,CAClB/7I,MAAOxkC,EAAEs7K,WAAat7K,EAAEg7K,qBAAuBh7K,EAAEk7K,0BACzC6Z,IAA4B,CACpC7kK,WAAYlwB,EAAEm7K,iBACboF,GACHljG,SAAU,WACVwqB,SAAU,CACR1pB,QAAS,QAEX4vF,iBAAkB,CAChB98C,SAAU,CACR5qH,QAAS,KACTg3E,SAAU,WACVt6B,IAAK,IAAMi2F,GAAQ,GACnB77E,MAAO,IAAM67E,GAAQ,GACrB57E,OAAQ,IAAM47E,GAAQ,GACtBn2F,KAAM,IAAMm2F,GAAQ,GACpBrgD,YAAa,MACbC,YAAa,QACbrb,YAAav9E,EAAEo0J,iBACf37D,aAAcugD,GAAQ,GACtBtgD,UAAW,mBAAqB14F,EAAEu7K,eAAiB,aAK3DtiG,KAAM,SAAc0hE,GAElB,MAAO,CACL39F,QAAS,cACTuzD,WAAY,SACZwC,eAAgB,SAChBqd,YALMuqB,EAAMp5H,MAKGy+J,WAAahnC,GAAQ,GAAKA,GAAQ,KAGrD3yI,QAAS,SAAiBw0I,GAExB,MAAO,CACLz/D,SAFMy/D,EAAMsyB,UAEA1Z,iCiDxDe,CAC/BniE,KAAM,WACJ,MAAO,IAETooG,SAAU,SAAkBxlD,GAE1B,MAAO,CACLylD,oBAAqB,CACnBvpE,YAHI8jB,EAAKi5B,UAGMqO,8FCPI,CACzBlqF,KAAM,WACJ,MAAO,CACLt0C,QAAS,OACTuzD,WAAY,SACZlzB,SAAU,aAGdu8G,cAAe,WACb,MAAO,CACLv8G,SAAU,WACVhQ,WAAY,SACZxqB,KAAM,EACNE,IAAK,IAGT82I,kBAAmB,WACjB,MAAO,CACL78I,QAAS,OACTic,SAAU,SACV7pC,SAAU,IAGd0qK,iBAAkB,SAA0B5lD,GACtC3yH,EAAQ2yH,EAAK3yH,MACjB,MAAO,CACL5T,MAAOqrI,GAAQ,KACfh8F,QAASz7B,EAAMw4K,aAAe,QAAU,OACxC1sH,WAAY,8BC7BmB,CACnCikB,KAAM,WACJ,MAAO,CACLt0C,QAAS,OACT40D,WAAY,gDCHgB,CAChCtgB,KAAM,SAAc4iD,GAClB,IAAIl0I,EAAIk0I,EAAKi5B,UACTplB,EAASvC,GAAexlJ,EAAEylJ,aAC9B,MAAO,CACLx1B,WAAY,cAAgBjwH,EAAEskK,eAAiBvc,EAAO1pE,QACtDQ,OAAQ7+E,EAAE62J,cACVgyB,UAAW,wCCPc,CAC7Bv3F,KAAM,SAAc4iD,GAClB,IAAIl0I,EAAIk0I,EAAKi5B,UACTplB,EAASvC,GAAexlJ,EAAEylJ,aAC9B,MAAO,CACLzoG,QAAS,OACT+lI,cAAe,SACfx8D,cAAe,OACf1nC,OAAQ,EACRC,QAAS9+E,EAAE0kK,YACXruE,gBAAiBr2F,EAAE8hF,gBAAkBimE,EAAO30C,WAC5C1a,UAAW14F,EAAE8kK,cACblsE,YAAa,QACbrb,YAAav9E,EAAE2kK,YAAc5c,EAAO1pE,OACpCsa,YAAa34F,EAAE4kK,gBACfnsE,aAAcz4F,EAAE6kK,iBAChB9rE,SAAU/4F,EAAEykK,aACZ/zI,OAAQ1wB,EAAEw7J,oCCjBsB,CACpClqE,KAAM,SAAc4iD,GAClB,IAAIl0I,EAAIk0I,EAAKi5B,UACTplB,EAASvC,GAAexlJ,EAAEylJ,aAC9B,MAAO,CACLksC,UAAW,cAAgB3xL,EAAEmlK,mBAAqBpd,EAAO1pE,QACzDQ,OAAQ7+E,EAAEolK,kBACVyjB,UAAW,yHCLiC,CAChDv3F,KAAM,SAAc4iD,GAClB,IAAIl0I,EAAIk0I,EAAKi5B,UACTplB,EAASvC,GAAexlJ,EAAEylJ,aAC9B,MAAO,CACL0oB,gBAAiB4Z,GAAmB/nL,EAAE+kK,oBAAsBhd,EAAOC,aACnEk3B,mBAAoB,SACpB9Q,iBAAkB,YAClBzgK,MAAOqrI,GAAQ,IACfprI,OAAQ,OACRyvE,SAAU,WACVlgB,MAAO67E,GAAQ,4BCdoB,CACvC1nD,KAAM,WACJ,MAAO,CACLxS,QAAS,kCCHiC,CAC9CwS,KAAM,WACJ,MAAO,UCDa,CACtBA,KAAM,WACJ,MAAO,CACLt0C,QAAS,QACTu1D,YAAa,GAAKymC,GAAQ,sCCLP,CACvB1nD,KAAM,SAAc4iD,GACdl0I,EAAIk0I,EAAKi5B,UACb,MAAO,CACLnwH,QAAS,eACTq1D,cAAe,SACf1kG,MAAO3N,EAAE2N,MACTC,OAAQ5N,EAAE4N,QAAU,qDCNM,CAC9B0jF,KAAM,SAAc4iD,GACdl0I,EAAIk0I,EAAKi5B,UACb,MAAO,CACLx/J,MAAOqrI,GAAQh5I,EAAE2N,OACjB0iH,aAAc2oB,GAAQ,IACtBnxC,SAAU,CACR1pB,QAAS,sGCP2B,CAC1CmT,KAAM,SAAc4iD,GACdl0I,EAAIk0I,EAAKi5B,UACb,MAAO,CACLnwH,QAAS,OACTrvC,MAAOqrI,GAAQh5I,EAAE2N,OACjBolG,eAAgB,gBAChBxC,WAAY,SACZlzB,SAAU,WACVt6B,IAAK,EACLoa,MAAO,EACPta,KAAM,EACNua,OAAQ,WCbW,CACvBk0B,KAAM,SAAc4iD,GAElB,MAAO,CACLl3F,QAAS,OACT+lI,cAAe,SACf3vE,WAJM8gC,EAAKi5B,UAIG92E,2HCNe,CACjC/E,KAAM,SAAc4iD,GACdl0I,EAAIk0I,EAAKi5B,UACb,MAAO,CACL9vF,SAAU,WACVt6B,IAAK/iD,EAAEqrK,eACPluG,MAAOn9D,EAAEsrK,sCCNsB,CACnCh6E,KAAM,WACJ,MAAO,CACLt0C,QAAS,2CCHuB,CACpCs0C,KAAM,SAAc4iD,GAElB,MAAO,CACL1hC,UAFM0hC,EAAKi5B,UAEEqD,8CCJyB,CAC1Cl/E,KAAM,SAAc4iD,GACdl0I,EAAIk0I,EAAKi5B,UACb,MAAO,CACLnwH,QAAS,OACTuzD,WAAY,SACZoW,WAAY3mH,EAAEowK,yBACd1pD,cAAe1mH,EAAEqwK,8BAGrB/wK,MAAO,SAAeq7I,GAChB36I,EAAI26I,EAAMwyB,UACd,MAAO,CACLj9I,WAAYlwB,EAAEuwK,8BACdnhJ,SAAU,EACVmjF,YAAavyG,EAAEswK,+DCf2B,CAC9Ch/E,KAAM,SAAc4iD,GACdl0I,EAAIk0I,EAAKi5B,UACb,MAAO,CACLj8D,UAAW,SACXmB,cAAe,SACfniF,WAAYlwB,EAAEgwK,6BACdpiK,OAAQ5N,EAAEiwK,yBACVtiK,MAAO3N,EAAEmwK,wBACTrxF,QAAS9+E,EAAEkwK,0BACXlzH,QAAS,+FCV2B,CACxCs0C,KAAM,WACJ,MAAO,CACL0oG,iBAAkB,OAClBC,YAAa,0CjCOjBllD,UkCXqB,CAAC,CACtBjhI,KAAM,WACNomL,MAAO,CAAC,6GACR34K,MAAO,CACL2O,WAAY,MAEb,CACDpc,KAAM,WACNomL,MAAO,CAAC,8GACR34K,MAAO,CACL2O,WAAY,MAEb,CACDpc,KAAM,WACNomL,MAAO,CAAC,0GACR34K,MAAO,CACL2O,WAAY,OlCJd8kH,amCVwB,CCEA,0xDCJA,SAAsByZ,GAC9C,MAAO,CACLvvJ,KAAM,CACJ4/E,QAAS2vE,EAAS0rC,YAClBt7G,OAAQ4vE,EAASqc,WACjB7vF,WAAYwzE,EAAS2rC,eACrBh/G,SAAUqzE,EAASqa,aACnB14I,WAAYq+H,EAAS4rC,gBAEvBC,IAAK,CACH9hG,UAAW,cAEb+hG,WAAY,CACV/hG,UAAW,cAEbgiG,UAAW,CACThiG,UAAW,cAIbiiG,WAAY,CACVz9I,QAAS,qBrCRbi4F,WAAYA,KsCXHwQ,GAA2B,WACpC,IAAIA,EAAc,CAChBrkJ,QAAS0iJ,GAAkB,CACzBE,WAAY+D,GAAO5zE,MACnB6zE,YAAaD,GAAOnB,KAAK,KACzBqB,YAAaF,GAAOnB,KAAK,KACzBsB,YAAaH,GAAO5zE,MACpBg0E,YAAaJ,GAAO5zE,MACpBi0E,YAAaL,GAAOnB,KAAK,KACzByB,YAAaN,GAAOnB,KAAK,KACzB0B,YAAaP,GAAO5zE,MACpBo0E,YAAaR,GAAOnB,KAAK,KACzBxzC,WAAY20C,GAAOnB,KAAK,KACxB4B,YAAaT,GAAOnB,KAAK,KACzB6B,YAAaV,GAAOnB,KAAK,KACzB8B,YAAaX,GAAOnB,KAAK,KACzB+B,YAAaZ,GAAOnB,KAAK,KACzBgC,YAAab,GAAOnB,KAAK,KACzB6D,YAAa1C,GAAOnB,KAAK,KACzBvoE,OAAQ0pE,GAAOnB,KAAK,KAEpBiC,QAASd,GAAOnB,KAAK,KACrBkC,QAASf,GAAOnB,KAAK,KACrBmC,QAAShB,GAAOnB,KAAK,KACrB3C,OAAQ8D,GAAO30E,MAEfixE,YAAa0D,GAAO30E,MAEpB8wE,gBAAiB6D,GAAO5zE,MACxB60E,iBAAkBjB,GAAO5zE,MACzB80E,iBAAkBlB,GAAO5zE,MACzBgwE,gBAAiB4D,GAAOnB,KAAK,KAC7BsC,iBAAkBnB,GAAOnB,KAAK,KAC9BuC,iBAAkB,cAClBC,iBAAkBrB,GAAOnB,KAAK,KAC9ByC,iBAAkBtB,GAAOnB,KAAK,KAC9BxC,YAAa2D,GAAOnB,KAAK,KACzB9B,kBAAmBiD,GAAO5zE,MAC1B4wE,kBAAmBgD,GAAOnB,KAAK,KAC/B0C,mBAAoBvB,GAAOnB,KAAK,KAChC5B,cAAe+C,GAAOnB,KAAK,KAC3BtC,iBAAkByD,GAAO5zE,MACzBo1E,kBAAmBxB,GAAO5zE,MAC1BowE,iBAAkBwD,GAAOnB,KAAK,KAC9B4C,kBAAmBzB,GAAOnB,KAAK,KAC/B6C,kBAAmB1B,GAAOnB,KAAK,KAC/BpC,aAAcuD,GAAOnB,KAAK,KAE1B8C,cAAe3B,GAAOnB,KAAK,KAC3B+C,cAAe5B,GAAOnB,KAAK,KAC3BgD,cAAe7B,GAAOnB,KAAK,KAC3BiD,cAAe9B,GAAOnB,KAAK,KAC3BlC,gBAAiBqD,GAAO5zE,MACxB21E,iBAAkB/B,GAAOnB,KAAK,KAC9BmD,iBAAkBhC,GAAOnB,KAAK,KAC9BoD,iBAAkBjC,GAAO5zE,MACzBwwE,gBAAiBoD,GAAOnB,KAAK,KAC7BqD,iBAAkBlC,GAAOnB,KAAK,KAC9BsD,iBAAkBnC,GAAOnB,KAAK,KAC9BuD,iBAAkBpC,GAAOnB,KAAK,KAC9BwD,kBAAmBrC,GAAO30E,MAC1BwxE,YAAamD,GAAO5zE,MACpBk2E,oBAAqBtC,GAAOnB,KAAK,KACjC1B,mBAAoB6C,GAAOnB,KAAK,KAChCzB,mBAAoB4C,GAAOnB,KAAK,KAChC0D,oBAAqBvC,GAAOnB,KAAK,KACjC2D,oBAAqBxC,GAAOnB,KAAK,KACjC4D,oBAAqBzC,GAAOnB,KAAK,KACjCxB,eAAgB2C,GAAOnB,KAAK,OAE9Bd,MAAOhC,GAAkB,CACvBE,WAAY+D,GAAOjC,MAAM,KACzBkC,YAAaD,GAAOjC,MAAM,KAC1BmC,YAAaF,GAAOjC,MAAM,KAC1BoC,YAAaH,GAAOjC,MAAM,KAC1BqC,YAAaJ,GAAO5zE,MACpBi0E,YAAaL,GAAOnB,KAAK,KACzBxzC,WAAY20C,GAAOjC,MAAM,KACzB0C,YAAaT,GAAOjC,MAAM,KAC1B2C,YAAaV,GAAOjC,MAAM,KAC1B4C,YAAaX,GAAOjC,MAAM,KAC1B6C,YAAaZ,GAAOnB,KAAK,KACzBgC,YAAab,GAAOjC,MAAM,KAC1B2E,YAAa1C,GAAOjC,MAAM,KAC1BznE,OAAQ0pE,GAAOnB,KAAK,KACpBiC,QAASd,GAAOjC,MAAM,KACtBgD,QAASf,GAAOjC,MAAM,KACtB7B,OAAQ8D,GAAO30E,MAEfixE,YAAa0D,GAAO30E,MACpB8wE,gBAAiB6D,GAAOjC,MAAM,KAC9BkD,iBAAkBjB,GAAO5zE,MACzB80E,iBAAkBlB,GAAOjC,MAAM,KAC/B1B,YAAa2D,GAAOjC,MAAM,KAC1B3B,gBAAiB4D,GAAOjC,MAAM,KAC9BoD,iBAAkBnB,GAAOjC,MAAM,KAC/BqD,iBAAkBpB,GAAOjC,MAAM,KAC/BhB,kBAAmBiD,GAAOjC,MAAM,KAChC4E,mBAAoB3C,GAAO5zE,MAC3B4wE,kBAAmBgD,GAAOjC,MAAM,KAChC6E,mBAAoB5C,GAAOjC,MAAM,KACjCd,cAAe+C,GAAOjC,MAAM,KAC5BxB,iBAAkByD,GAAOjC,MAAM,KAC/ByD,kBAAmBxB,GAAOjC,MAAM,KAChC8E,kBAAmB7C,GAAOjC,MAAM,KAChCvB,iBAAkBwD,GAAOjC,MAAM,KAC/B0D,kBAAmBzB,GAAOjC,MAAM,KAEhCtB,aAAcuD,GAAOnB,KAAK,KAE1B8C,cAAe3B,GAAOjC,MAAM,KAC5B6D,cAAe5B,GAAOjC,MAAM,KAC5BpB,gBAAiBqD,GAAOjC,MAAM,KAC9BgE,iBAAkB/B,GAAOjC,MAAM,KAC/BiE,iBAAkBhC,GAAOjC,MAAM,KAC/BkE,iBAAkBjC,GAAOjC,MAAM,KAC/B+E,iBAAkB9C,GAAO5zE,MACzBwwE,gBAAiBoD,GAAOjC,MAAM,KAC9BmE,iBAAkBlC,GAAOjC,MAAM,KAC/BoE,iBAAkBnC,GAAOjC,MAAM,KAC/BqE,iBAAkBpC,GAAOjC,MAAM,KAC/BlB,YAAamD,GAAO5zE,MACpBi2E,kBAAmBrC,GAAO30E,MAC1B03E,aAAc/C,GAAOjC,MAAM,KAE3BuE,oBAAqBtC,GAAOnB,KAAK,KACjC1B,mBAAoB6C,GAAOnB,KAAK,KAChC0D,oBAAqBvC,GAAOnB,KAAK,KACjCzB,mBAAoB4C,GAAOnB,KAAK,KAChC2D,oBAAqBxC,GAAOnB,KAAK,KACjCxB,eAAgB2C,GAAOnB,KAAK,OAE9BxzE,MAAO,CACL4wE,WAAY+D,GAAO30E,MACnB40E,YAAaD,GAAOnB,KAAK,KACzBxzC,WAAY20C,GAAO5zE,MACnBq0E,YAAaT,GAAO5zE,MACpBkK,OAAQ0pE,GAAO30E,MACf6wE,OAAQ8D,GAAO30E,MACf8wE,gBAAiB6D,GAAO5zE,MACxBgwE,gBAAiB4D,GAAO30E,MACxBgxE,YAAa2D,GAAO30E,MACpBixE,YAAa0D,GAAO30E,MACpBkxE,iBAAkByD,GAAO5zE,MACzBowE,iBAAkBwD,GAAO30E,MACzBoxE,aAAcuD,GAAO30E,MACrBqxE,aAAcsD,GAAO30E,MACrBsxE,gBAAiBqD,GAAO5zE,MACxBwwE,gBAAiBoD,GAAO30E,MACxBwxE,YAAamD,GAAO30E,MACpByxE,YAAakD,GAAO30E,MACpB0xE,kBAAmBiD,GAAO5zE,MAC1B4wE,kBAAmBgD,GAAO30E,MAC1B4xE,cAAe+C,GAAO30E,MACtB6xE,cAAe8C,GAAO30E,MACtB8xE,mBAAoB6C,GAAO5zE,MAC3BgxE,mBAAoB4C,GAAO30E,MAC3BgyE,eAAgB2C,GAAO30E,MACvBiyE,eAAgB0C,GAAO30E,OAEzBe,MAAO,CACL6vE,WAAY+D,GAAO5zE,MACnB6zE,YAAaD,GAAO5zE,MACpBi/B,WAAY20C,GAAO30E,MACnBo1E,YAAaT,GAAOnB,KAAK,KACzBvoE,OAAQ0pE,GAAO5zE,MACf8vE,OAAQ8D,GAAO5zE,MACf+vE,gBAAiB6D,GAAO30E,MACxB+wE,gBAAiB4D,GAAO5zE,MACxBiwE,YAAa2D,GAAO5zE,MACpBkwE,YAAa0D,GAAO5zE,MACpBmwE,iBAAkByD,GAAO30E,MACzBmxE,iBAAkBwD,GAAO5zE,MACzBqwE,aAAcuD,GAAO5zE,MACrBswE,aAAcsD,GAAO5zE,MACrBuwE,gBAAiBqD,GAAO30E,MACxBuxE,gBAAiBoD,GAAO5zE,MACxBywE,YAAamD,GAAO5zE,MACpB0wE,YAAakD,GAAO5zE,MACpB2wE,kBAAmBiD,GAAO30E,MAC1B2xE,kBAAmBgD,GAAO5zE,MAC1B6wE,cAAe+C,GAAO5zE,MACtB8wE,cAAe8C,GAAO5zE,MACtB+wE,mBAAoB6C,GAAO30E,MAC3B+xE,mBAAoB4C,GAAO5zE,MAC3BixE,eAAgB2C,GAAO5zE,MACvBkxE,eAAgB0C,GAAO5zE,OAEzBwB,MAAOmuE,GAAkB,CACvBE,WAAY+D,GAAOpyE,MAAM,KACzBqyE,YAAaD,GAAOnB,KAAK,KACzBqB,YAAaF,GAAOpyE,MAAM,KAC1BuyE,YAAaH,GAAOpyE,MAAM,KAC1By9B,WAAY20C,GAAOpyE,MAAM,KACzB6yE,YAAaT,GAAOpyE,MAAM,KAC1B8yE,YAAaV,GAAOpyE,MAAM,KAC1B0I,OAAQ0pE,GAAOpyE,MAAM,OAEvBnB,OAAQsvE,GAAkB,CACxBE,WAAY+D,GAAOvzE,OAAO,KAC1BwzE,YAAaD,GAAOvzE,OAAO,KAC3ByzE,YAAaF,GAAOnB,KAAK,KACzBxzC,WAAY20C,GAAOvzE,OAAO,KAC1Bg0E,YAAaT,GAAOvzE,OAAO,KAC3B6J,OAAQ0pE,GAAOnB,KAAK,OAEtBW,KAAMzD,GAAkB,CACtBE,WAAY+D,GAAOR,KAAK,KACxBS,YAAaD,GAAOR,KAAK,KACzBn0C,WAAY20C,GAAOR,KAAK,KACxBlpE,OAAQ0pE,GAAOR,KAAK,OAEtB3yE,IAAKkvE,GAAkB,CACrBE,WAAY+D,GAAOnzE,IAAI,KACvBozE,YAAaD,GAAO5zE,MACpB8zE,YAAaF,GAAOnB,KAAK,KACzBxzC,WAAY20C,GAAOnzE,IAAI,KACvB4zE,YAAaT,GAAOnzE,IAAI,KACxB6zE,YAAaV,GAAOH,KAAK,KACzBc,YAAaX,GAAOnzE,IAAI,KACxByJ,OAAQ0pE,GAAOnzE,IAAI,KACnBsvE,gBAAiB6D,GAAO5zE,MACxBgwE,gBAAiB4D,GAAOH,KAAK,KAC7BsB,iBAAkBnB,GAAOnzE,IAAI,KAC7BkwE,kBAAmBiD,GAAO5zE,MAC1B4wE,kBAAmBgD,GAAOH,KAAK,OAEjCtzE,OAAQwvE,GAAkB,CACxBE,WAAY+D,GAAOzzE,OAAO,KAC1B0zE,YAAaD,GAAOnB,KAAK,KACzBqB,YAAaF,GAAOnB,KAAK,KACzBsB,YAAaH,GAAOnB,KAAK,KACzBuB,YAAaJ,GAAOzzE,OAAO,KAC3B8+B,WAAY20C,GAAOzzE,OAAO,KAC1Bk0E,YAAaT,GAAOnB,KAAK,KACzB6B,YAAaV,GAAOzzE,OAAO,KAC3Bo0E,YAAaX,GAAOzzE,OAAO,KAC3B+J,OAAQ0pE,GAAOzzE,OAAO,OAExBqzE,OAAQ7D,GAAkB,CACxBE,WAAY+D,GAAO5zE,MACnB6zE,YAAaD,GAAOJ,OAAO,KAC3BzD,gBAAiB6D,GAAO5zE,MACxB2wE,kBAAmBiD,GAAO5zE,MAC1BkK,OAAQ0pE,GAAOJ,OAAO,KACtBv0C,WAAY,cACZ+wC,gBAAiB4D,GAAOJ,OAAO,KAC/BvD,YAAa2D,GAAOJ,OAAO,KAC3B5C,kBAAmBgD,GAAOJ,OAAO,KACjC3C,cAAe+C,GAAOJ,OAAO,KAC7BzC,mBAAoB6C,GAAOJ,OAAO,KAClCxC,mBAAoB4C,GAAOJ,OAAO,OAEpCE,KAAM/D,GAAkB,CACtB1wC,WAAY20C,GAAOF,KAAK,KACxBW,YAAaT,GAAOF,KAAK,KACzBY,YAAaV,GAAOF,KAAK,KACzBa,YAAaX,GAAOF,KAAK,KACzB1D,gBAAiB4D,GAAOF,KAAK,KAC7B9C,kBAAmBgD,GAAOF,KAAK,KAC/BxpE,OAAQ0pE,GAAOF,KAAK,KACpBgB,QAAS,cACTC,QAASf,GAAOJ,OAAO,OAEzBG,SAAUhE,GAAkB,CAC1B1wC,WAAY20C,GAAOF,KAAK,KACxB1D,gBAAiB4D,GAAOD,SAAS,KACjCoB,iBAAkBnB,GAAOnB,KAAK,KAC9BrC,iBAAkBwD,GAAOD,SAAS,QAItC,OADArC,EAAYmB,KAAOnB,EAAYrkJ,QACxBqkJ,EAhR6B,GAmRlCiG,GAA4B,SAAmClnH,EAAOu/G,GAKxE,YAJqB,IAAjBA,IACFA,EAAe,IAGVtoJ,OAAOgB,OAAO,CACnBunJ,WAAY+G,GAAevmH,GAAO,KAClCwjH,YAAa+C,GAAevmH,GAAO,KACnC4uE,WAAY23C,GAAevmH,GAAO,KAClCggH,aAAcuG,GAAevmH,GAAO,MACnCu/G,IAGM4H,GAAsB,CAC/Bh3E,QAAS+2E,GAA0B,WACnC92E,IAAK82E,GAA0B,OAC/BV,WAAYU,GAA0B,cACtCl3E,OAAQk3E,GAA0B,UAClCj3E,YAAai3E,GAA0B,eACvCr3E,WAAYq3E,GAA0B,cACtCp3E,OAAQo3E,GAA0B,UAClCT,MAAOS,GAA0B,SACjCR,UAAWQ,GAA0B,aACrCP,MAAOO,GAA0B,SACjCh2E,UAAWg2E,GAA0B,aACrC/1E,MAAO+1E,GAA0B,SACjCn2E,SAAUm2E,GAA0B,YACpCl2E,KAAMk2E,GAA0B,QAChCj2E,UAAWi2E,GAA0B,aACrCv2E,SAAUu2E,GAA0B,YACpCr2E,KAAMq2E,GAA0B,QAChC12E,WAAY02E,GAA0B,cACtCz2E,OAAQy2E,GAA0B,UAClCN,OAAQM,GAA0B,UAClCnE,KAAMmE,GAA0B,QAChCL,UAAWK,GAA0B,aACrCJ,WAAYI,GAA0B,cACtCH,UAAWG,GAA0B,aACrCF,WAAYE,GAA0B,cACtCD,KAAMC,GAA0B,QAChCE,WAAY,CACV5D,YAAa+C,GAAen2E,IAAI,KAChC4zE,YAAauC,GAAen2E,IAAI,KAChCqzE,YAAa8C,GAAeC,WAAW,KACvCvC,YAAasC,GAAev2E,OAAO,KACnC0zE,YAAa6C,GAAez2E,OAAO,KACnCo0E,YAAaqC,GAAez2E,OAAO,KACnC6zE,YAAa4C,GAAeU,KAAK,KACjC9C,YAAaoC,GAAeU,KAAK,KACjCrD,YAAa2C,GAAep1E,MAAM,KAClCizE,YAAamC,GAAep1E,MAAM,KAClC0yE,YAAa0C,GAAet1E,UAAU,KACtCg1E,YAAaM,GAAet1E,UAAU,KACtC6yE,YAAayC,GAAe51E,SAAS,KACrC02E,YAAad,GAAe51E,SAAS,KACrCozE,YAAawC,GAAeK,OAAO,KACnCU,YAAaf,GAAeK,OAAO,OCxU5BW,GAAwBhE,GAAO30E,MAC/B44E,GAAwBjE,GAAO5zE,MAW/BiN,EAAiB2mE,GAAOnB,KAAK,KAC7BwF,EAAYrE,GAAO5zE,MChBnBmpF,GAAgB,SAAuB7O,GAChD,MAAO,CACLhJ,YAAa2S,GAA0B1G,GAAkBjD,EAAShJ,YAAa,CAC7ErkJ,QAAS,CACPojJ,aAAciK,EAAS1G,OAAOnB,KAAK,KACnCjC,gBAAiB8J,EAAS1G,OAAOnB,KAAK,KACtCrC,iBAAkBkK,EAAShJ,YAAYrkJ,QAAQooJ,kBAC/CtE,mBAAoBuJ,EAAShJ,YAAYrkJ,QAAQipJ,qBAEnDvE,MAAO,CACL5B,gBAAiBuK,EAAS1G,OAAO5zE,MACjCgwE,gBAAiBsK,EAAS1G,OAAOjC,MAAM,KACvCtB,aAAciK,EAAS1G,OAAOjC,MAAM,KACpCxB,iBAAkBmK,EAAS1G,OAAO5zE,MAClCuwE,gBAAiB+J,EAAS1G,OAAO5zE,MACjCwwE,gBAAiB8J,EAAS1G,OAAOjC,MAAM,KACvCZ,mBAAoBuJ,EAAShJ,YAAYK,MAAMuE,uBAE/CgT,IACJ74H,MAAOiqH,EAAS1G,OAAOnB,KAAK,KAC5BiN,YAAapF,EAAS1G,OAAO5zE,MAC7BoJ,YAAakxE,EAAShJ,YAAYrkJ,QAAQ0nJ,QAC1CiM,mBAAoBtG,EAAS1G,OAAOnB,KAAK,KACzCiY,iCAAkCpQ,EAAS1G,OAAOjC,MAAM,KACxD6Y,kCAAmClQ,EAAS1G,OAAO5zE,MACnDuqF,6BAA8BjQ,EAAS1G,OAAOjC,MAAM,KACpD0Y,6BAA8B/P,EAAS1G,OAAOnB,KAAK,KACnD4W,oBAAqB/O,EAAS1G,OAAOjC,MAAM,KAC3C2X,mBAAoBhP,EAAS1G,OAAOjC,MAAM,KAC1C+X,mBAAoBpP,EAAS1G,OAAOjC,MAAM,KAC1CyZ,mBAAoB9Q,EAAS1G,OAAOnB,KAAK,KACzC4Y,kBAAmB/Q,EAAS1G,OAAO5zE,MACnCsrF,kBAAmBhR,EAAS1G,OAAO5zE,MACnC8rF,2BAA4BxR,EAAS1G,OAAO5zE,MAC5CwrF,4BAA6BlR,EAAS1G,OAAOjC,MAAM,KACnDoZ,4BAA6BzQ,EAAS1G,OAAO5zE,MAC7C6qF,yBAA0BvQ,EAAS1G,OAAO5zE,MAC1C8qF,mCAAoCxQ,EAAS1G,OAAOjC,MAAM,KAC1D+Z,eAAgBpR,EAAS1G,OAAOnB,KAAK,KACrCkZ,qBAAsBrR,EAAS1G,OAAO5zE,MACtC4rF,4BAA6BtR,EAAS1G,OAAO5zE,MAC7C6rF,oCAAqCvR,EAAS1G,OAAO5zE,MACrD+rF,oBAAqBzR,EAAS1G,OAAO5zE,QCxC9BumH,GAAiBlzG,GAAYyxG,GAAY/xG,GAAY,CAC9DytD,2GFKwB,yDACA,yDACA,uDACA,iHEPxBE,wDCN2B,SAAyBF,GACpD,MAAO,CACLliC,UAAWkiC,EAAcoT,OAAOnB,KAAK,KACrCqL,oBAAqBtd,EAAcoT,OAAOjC,MAAM,YCHzB,SAAuB2I,GAChD,MAAO,CACLp4D,gBAAiBo4D,EAAS1G,OAAOnB,KAAK,mBCFR,SAA8B6H,GAC9D,MAAO,CACLp4D,gBAAiBo4D,EAAS1G,OAAOnB,KAAK,KACtCkqB,oBAAqBriB,EAAS1G,OAAOjC,MAAM,KAC3CkrB,YAAaviB,EAAS1G,OAAOnB,KAAK,KAClCuqB,aAAc1iB,EAAS1G,OAAO5zE,MAC9B3vC,MAAOiqH,EAAS1G,OAAO5zE,MACvB49F,mBAAoBtjB,EAAS1G,OAAOnB,KAAK,KACzC8qB,sBAAuBjjB,EAAS1G,OAAOvzE,OAAO,KAC9Cm9F,iBAAkBljB,EAAS1G,OAAOnzE,IAAI,cCTb,SAAyB65E,GACpD,MAAO,CACL2lB,eAAgB3lB,EAAS1G,OAAOnB,KAAK,KACrC4tB,gBAAiB/lB,EAAS1G,OAAO5zE,gBCDP,SAA0Bs6E,GACtD,MAAO,CACLhJ,YAAa2S,GAA0B1G,GAAkBjD,EAAShJ,YAAa,CAC7EK,MAAO,CACL9B,WAAYyK,EAAS1G,OAAOjC,MAAM,KAClCznE,OAAQowE,EAAS1G,OAAOjC,MAAM,QAE9B4S,IACJ9L,UAAW6B,EAAS1G,OAAOnB,KAAK,KAChCioB,aAAcpgB,EAAS1G,OAAOnB,KAAK,cCXV,SAAyB6H,GACpD,MAAO,CACLjqH,MAAOiqH,EAAS1G,OAAO5zE,MACvB6hG,iBAAkBvnB,EAAS1G,OAAOnB,KAAK,yBCHH,SAAoCjS,GAC1E,MAAO,CACLnwG,MAAOmwG,EAAcoT,OAAOnB,KAAK,sBCFA,SAAiC6H,GACpE,MAAO,CACLqF,cAAerF,EAAS1G,OAAOnB,KAAK,KACpC4zB,iBAAkB/rB,EAAS1G,OAAOnB,KAAK,KACvC6zB,2BAA4BhsB,EAAS1G,OAAO5zE,MAC5CumG,iBAAkBjsB,EAAS1G,OAAO5zE,MAClCwmG,sBAAuBlsB,EAAS1G,OAAOnB,KAAK,KAC5Cg0B,iCAAkCnsB,EAAS1G,OAAO5zE,MAClD0mG,4BAA6BpsB,EAAS1G,OAAOjC,MAAM,KACnDg1B,gCAAiCrsB,EAAS1G,OAAOjC,MAAM,eCT7B,SAA0B2I,GACtD,MAAO,CACLyJ,cAAezJ,EAAS1G,OAAOnB,KAAK,KACpC60B,wBAAyBhtB,EAAS1G,OAAOnB,KAAK,YCHvB,SAAuBjS,GAChD,MAAO,CACLspC,iBAAkBtpC,EAAcoT,OAAOvzE,OAAO,KAC9CwpG,oBAAqBrpC,EAAcoT,OAAOjC,MAAM,KAChDoS,cAAevjB,EAAcoT,OAAOnB,KAAK,KACzCu3B,WAAYxpC,EAAcoT,OAAOnzE,IAAI,KACrCypG,eAAgB1pC,EAAcoT,OAAOnzE,IAAI,KACzCg7E,aAAcjb,EAAcoT,OAAOpyE,MAAM,KACzC2oG,eAAgB3pC,EAAcoT,OAAOnB,KAAK,6HCRhB,SAA0B6H,GACtD,MAAO,CACLyJ,cAAezJ,EAAS1G,OAAOnB,KAAK,gBCFT,SAA2B6H,GACxD,MAAO,CACLssB,gBAAiBtsB,EAAS1G,OAAOjC,MAAM,KACvCk1B,qBAAsBvsB,EAAS1G,OAAOjC,MAAM,KAC5Cm1B,mBAAoBxsB,EAAS1G,OAAOnB,KAAK,KACzCs0B,wBAAyBzsB,EAAS1G,OAAO5zE,iBCLd,SAA2BwgE,GACxD,MAAO,CACLwlC,8BAA+BxlC,EAAcoT,OAAOJ,OAAO,KAC3D2yB,mCAAoC3lC,EAAcoT,OAAOJ,OAAO,aCHxC,SAAwB8G,GAClD,MAAO,CACLzK,WAAY,sBACZ5wC,WAAY,qBACZglE,gBAAiB3pB,EAAShJ,YAAYryE,MAAM40E,YAC5CqwB,gBAAiB5pB,EAAShJ,YAAYryE,MAAMo1E,YAC5C8vB,gBAAiB7pB,EAAShJ,YAAYtxE,MAAM6zE,YAC5CuwB,gBAAiB9pB,EAAShJ,YAAYtxE,MAAMq0E,YAC5CgwB,gBAAiB/pB,EAAShJ,YAAYK,MAAMsC,YAC5CqwB,gBAAiBhqB,EAAShJ,YAAYK,MAAM2E,YAC5CiuB,eAAgBjqB,EAAShJ,YAAYmB,KAAK0B,YAC1CqwB,eAAgBlqB,EAAShJ,YAAYmB,KAAK6D,YAC1CmuB,iBAAkBnqB,EAAShJ,YAAYjxE,OAAOyzE,YAC9C4wB,iBAAkBpqB,EAAShJ,YAAYjxE,OAAOg0E,YAC9CswB,cAAerqB,EAAShJ,YAAY7wE,IAAIozE,YACxC+wB,cAAetqB,EAAShJ,YAAY7wE,IAAIw+B,WACxC4lE,gBAAiBvqB,EAAShJ,YAAY9vE,MAAMuyE,YAC5C+wB,gBAAiBxqB,EAAShJ,YAAY9vE,MAAM6yE,YAC5C0wB,iBAAkBzqB,EAAShJ,YAAYnxE,OAAO4zE,YAC9CixB,iBAAkB1qB,EAAShJ,YAAYnxE,OAAO8+B,oCCnBL,SAAyCq7C,GACpF,MAAO,CACL8gB,0BAA2B9gB,EAAS1G,OAAO5zE,qCCFI,SAA+Cs6E,GAChG,MAAO,CACL8gB,0BAA2B9gB,EAAS1G,OAAO5zE,aCApCwmH,GAAmB,UACnBC,GAAkB,UAElBC,GAAiB,UAGxB/2C,GAAoB,SAA2BC,GAKjD,YAJqB,IAAjBA,IACFA,EAAe,IAGVtoJ,OAAOgB,OAAO,CACnBunJ,WAAY+D,GAAO5zE,MACnB6zE,YAAaD,GAAO30E,MACpBggC,WAAY20C,GAAO30E,MACnBo1E,YAAaT,GAAO5zE,MACpBkK,OAAQ0pE,GAAO5zE,MACf8vE,OAAQ8D,GAAO5zE,MACf+vE,gBAAiBy2C,GACjBx2C,gBAAiB4D,GAAO30E,MACxBgxE,YAAay2C,GACbx2C,YAAaw2C,GACbv2C,iBAAkBu2C,GAClBt2C,iBAAkBwD,GAAO30E,MACzBoxE,aAAcq2C,GACdp2C,aAAco2C,GACdn2C,gBAAiBqD,GAAO30E,MACxBuxE,gBAAiBk2C,GACjBj2C,YAAamD,GAAO5zE,MACpB0wE,YAAakD,GAAO5zE,MACpB2wE,kBAAmBiD,GAAO30E,MAC1B2xE,kBAAmB81C,GACnB71C,cAAe+C,GAAO5zE,MACtB8wE,cAAe8C,GAAO5zE,MACtB+wE,mBAAoB6C,GAAO30E,MAC3B+xE,mBAAoBy1C,GACpBx1C,eAAgB2C,GAAO30E,MACvBiyE,eAAgB0C,GAAO30E,OACtB2wE,IAGM0B,GAAc,CACvBrkJ,QAAS05L,GAAuB,CAC9B92C,WAAY+D,GAAO5zE,MACnB6zE,YAAaD,GAAO5zE,MACpB8zE,YAAaF,GAAO5zE,MACpB+zE,YAAaH,GAAO5zE,MACpBg0E,YAAaJ,GAAO30E,MACpBg1E,YAAaL,GAAOnB,KAAK,KACzByB,YAAaN,GAAOnB,KAAK,KACzB0B,YAAaP,GAAO30E,MACpBm1E,YAAaR,GAAO30E,MACpBggC,WAAY20C,GAAO30E,MACnBo1E,YAAaT,GAAO30E,MACpBq1E,YAAaV,GAAO30E,MACpBs1E,YAAaX,GAAO30E,MACpBu1E,YAAaZ,GAAO30E,MACpBw1E,YAAa+xC,GACbt8G,OAAQ0pE,GAAO5zE,MACf00E,QAASd,GAAO5zE,MAChB20E,QAASf,GAAO5zE,MAChB40E,QAAShB,GAAO5zE,MAChB8vE,OAAQ8D,GAAO30E,MAEfixE,YAAa0D,GAAO30E,MAEpB8wE,gBAAiB6D,GAAO30E,MACxB41E,iBAAkBjB,GAAO30E,MACzB61E,iBAAkB4xC,GAClB12C,gBAAiB02C,GACjB3xC,iBAAkB2xC,GAClB1xC,iBAAkB0xC,GAClBzxC,iBAAkBrB,GAAO30E,MACzBi2E,iBAAkBtB,GAAO30E,MACzBgxE,YAAay2C,GACb/1C,kBAAmBiD,GAAO30E,MAC1B2xE,kBAAmB81C,GACnBvxC,mBAAoBuxC,GACpB71C,cAAe61C,GACfv2C,iBAAkBu2C,GAClBtxC,kBAAmBxB,GAAO30E,MAC1BmxE,iBAAkBwD,GAAO30E,MACzBo2E,kBAAmBqxC,GACnBpxC,kBAAmBoxC,GACnBr2C,aAAcq2C,GAEdnxC,cAAemxC,GACflxC,cAAekxC,GACfjxC,cAAeixC,GACfhxC,cAAegxC,GACfn2C,gBAAiBqD,GAAO30E,MACxB02E,iBAAkB/B,GAAO30E,MACzB22E,iBAAkBhC,GAAO30E,MACzB42E,iBAAkBjC,GAAO30E,MACzBuxE,gBAAiBk2C,GACjB5wC,iBAAkB4wC,GAClB3wC,iBAAkB2wC,GAClB1wC,iBAAkB0wC,GAClBzwC,kBAAmBrC,GAAO30E,MAC1BwxE,YAAai2C,GACbxwC,oBAAqBuwC,GACrB11C,mBAAoB6C,GAAO30E,MAC3B+xE,mBAAoBy1C,GACpBtwC,oBAAqBvC,GAAO30E,MAC5Bm3E,oBAAqBqwC,GACrBpwC,oBAAqBowC,GACrBx1C,eAAgBw1C,KAElB90C,MAAOg1C,GAAuB,CAC5B92C,WAAY+D,GAAO5zE,MACnB6zE,YAAa2yC,GACb1yC,YAAa0yC,GACbzyC,YAAayyC,GACbxyC,YAAaJ,GAAO30E,MACpBg1E,YAAaL,GAAO30E,MACpBggC,WAAY20C,GAAO5zE,MACnBq0E,YAAaT,GAAO30E,MACpBq1E,YAAaV,GAAO30E,MACpBs1E,YAAaX,GAAO30E,MACpBu1E,YAAaZ,GAAO30E,MACpBw1E,YAAab,GAAO5zE,MACpBs2E,YAAa1C,GAAO5zE,MACpBkK,OAAQ0pE,GAAO5zE,MAEf00E,QAASd,GAAO5zE,MAChB20E,QAASf,GAAO5zE,MAChB8vE,OAAQ8D,GAAO30E,MAEfixE,YAAa0D,GAAO30E,MACpB8wE,gBAAiB6D,GAAO30E,MACxB41E,iBAAkBjB,GAAO30E,MACzB61E,iBAAkBlB,GAAO30E,MACzBgxE,YAAay2C,GACb12C,gBAAiB02C,GACjB3xC,iBAAkB2xC,GAClB1xC,iBAAkBwxC,GAClB71C,kBAAmBiD,GAAO30E,MAC1Bs3E,mBAAoB3C,GAAO30E,MAC3B2xE,kBAAmB81C,GACnBlwC,mBAAoBkwC,GACpB71C,cAAe61C,GACfv2C,iBAAkBu2C,GAClBtxC,kBAAmBxB,GAAO30E,MAC1Bw3E,kBAAmBiwC,GACnBt2C,iBAAkBwD,GAAO30E,MACzBo2E,kBAAmBqxC,GACnBr2C,aAAcq2C,GAEdnxC,cAAemxC,GACflxC,cAAekxC,GACfn2C,gBAAiBqD,GAAO30E,MACxB02E,iBAAkB/B,GAAO30E,MACzB22E,iBAAkBhC,GAAO30E,MACzB42E,iBAAkBjC,GAAO30E,MACzBy3E,iBAAkB9C,GAAO30E,MACzBuxE,gBAAiBk2C,GACjB5wC,iBAAkB4wC,GAClB3wC,iBAAkB2wC,GAClB1wC,iBAAkB0wC,GAClBj2C,YAAai2C,GACbzwC,kBAAmBrC,GAAO30E,MAC1B03E,aAAc+vC,GACd31C,mBAAoB6C,GAAO30E,MAC3Bi3E,oBAAqBuwC,GACrBz1C,mBAAoBy1C,GACpBtwC,oBAAqBvC,GAAO30E,MAC5BgyE,eAAgBw1C,KAElBxnH,MAAO0wE,KACP3vE,MAAO2vE,KACP8C,KAAM9C,KACNnuE,MAAOmlH,GAAuB,CAC5B92C,WAAY+D,GAAO5zE,MACnB6zE,YAAaD,GAAO30E,MACpB60E,YAAaF,GAAO5zE,MACpB+zE,YAAaH,GAAO30E,MACpBggC,WAAY20C,GAAO5zE,MACnBq0E,YAAaT,GAAO5zE,MACpBs0E,YAAaV,GAAO30E,MACpBiL,OAAQ0pE,GAAO5zE,MACf8vE,YAAQr9F,EACRs9F,qBAAiBt9F,EACjBu9F,qBAAiBv9F,EACjBw9F,iBAAax9F,EACby9F,iBAAaz9F,EACb09F,sBAAkB19F,EAClB29F,sBAAkB39F,EAClB49F,kBAAc59F,EACd69F,kBAAc79F,EACd89F,qBAAiB99F,EACjB+9F,qBAAiB/9F,EACjBg+F,iBAAah+F,EACbi+F,iBAAaj+F,EACbk+F,uBAAmBl+F,EACnBm+F,uBAAmBn+F,EACnBo+F,mBAAep+F,EACfq+F,mBAAer+F,EACfs+F,wBAAoBt+F,EACpBu+F,wBAAoBv+F,EACpBw+F,oBAAgBx+F,EAChBy+F,oBAAgBz+F,IAElB4tB,OAAQsmH,GAAuB,CAC7B92C,WAAY22C,GACZ3yC,YAAa2yC,GACb1yC,YAAaF,GAAO30E,MACpBggC,WAAYunF,GACZnyC,YAAaT,GAAO5zE,MACpBkK,OAAQw8G,KAEVtzC,KAAMuzC,GAAuB,CAC3B92C,WAAY+D,GAAO5zE,MACnB6zE,YAAaD,GAAO5zE,MACpBi/B,WAAY20C,GAAO30E,MACnBiL,OAAQ0pE,GAAO5zE,QAEjBS,IAAKkmH,GAAuB,CAC1B92C,WAAY+D,GAAO5zE,MACnB6zE,YAAaD,GAAO30E,MACpB60E,YAAaF,GAAO30E,MACpBggC,WAAY20C,GAAO5zE,MACnBq0E,YAAaT,GAAO30E,MACpBq1E,YAAaV,GAAO30E,MACpBs1E,YAAaiyC,GACbt8G,OAAQ0pE,GAAO5zE,MACf+vE,gBAAiB6D,GAAO30E,MACxB+wE,gBAAiB02C,GACjB3xC,iBAAkB2xC,GAClB/1C,kBAAmBiD,GAAO30E,MAC1B2xE,kBAAmB81C,KAErBvmH,OAAQwmH,GAAuB,CAC7B92C,WAAY+D,GAAO5zE,MACnB6zE,YAAaD,GAAO30E,MACpB60E,YAAaF,GAAO30E,MACpB80E,YAAaH,GAAO30E,MACpB+0E,YAAaJ,GAAO5zE,MACpBi/B,WAAY20C,GAAO5zE,MACnBs0E,YAAaV,GAAO5zE,MACpBu0E,YAAaX,GAAO30E,MACpBiL,OAAQ0pE,GAAO5zE,QAEjBwzE,OAAQmzC,GAAuB,CAC7B92C,WAAY+D,GAAO5zE,MACnB6zE,YAAaD,GAAO5zE,MACpB+vE,gBAAiB6D,GAAO30E,MACxB0xE,kBAAmBiD,GAAO30E,MAC1BggC,WAAY20C,GAAO30E,MACnBiL,OAAQ0pE,GAAO5zE,MACfgwE,gBAAiB02C,GACjBz2C,YAAa2D,GAAO5zE,MACpB4wE,kBAAmB81C,GACnB71C,cAAe+C,GAAO5zE,MACtB+wE,mBAAoB01C,GACpBz1C,mBAAoB4C,GAAO30E,MAC3BgyE,eAAgBw1C,KAElB/yC,KAAMizC,GAAuB,CAC3B1nF,WAAY20C,GAAO30E,MACnBo1E,YAAaT,GAAO30E,MACpBq1E,YAAaV,GAAO5zE,MACpBu0E,YAAaX,GAAO5zE,MACpBgwE,gBAAiB02C,GACjB91C,kBAAmB81C,GACnBx8G,OAAQ0pE,GAAO5zE,MACf00E,QAASd,GAAO5zE,MAChB20E,QAASf,GAAO5zE,QAElB2zE,SAAUgzC,GAAuB,CAC/B1nF,WAAY20C,GAAOJ,OAAO,KAC1BxD,gBAAiB02C,GACjB3xC,iBAAkB2xC,GAClBt2C,iBAAkBs2C,MAIlBnvC,GAA4B,SAAmC3H,GAKjE,YAJqB,IAAjBA,IACFA,EAAe,IAGVtoJ,OAAOgB,OAAO,CACnBunJ,WAAY+D,GAAO30E,MACnB40E,YAAa2yC,GACbvnF,WAAYunF,GACZn2C,aAAcq2C,IACb92C,IAGM4H,GAAsB,CAC/Bh3E,QAAS+2E,KACT92E,IAAK82E,KACLV,WAAYU,KACZl3E,OAAQk3E,KACRj3E,YAAai3E,KACbr3E,WAAYq3E,KACZp3E,OAAQo3E,KACRT,MAAOS,KACPR,UAAWQ,KACXP,MAAOO,KACPh2E,UAAWg2E,KACX/1E,MAAO+1E,KACPn2E,SAAUm2E,KACVl2E,KAAMk2E,KACNj2E,UAAWi2E,KACXv2E,SAAUu2E,KACVr2E,KAAMq2E,KACN12E,WAAY02E,KACZz2E,OAAQy2E,KACRN,OAAQM,KACRnE,KAAMmE,KACNL,UAAWK,KACXJ,WAAYI,KACZH,UAAWG,KACXF,WAAYE,KACZD,KAAMC,KACNE,WAAY,CACV5D,iBAAaphG,EACb4hG,iBAAa5hG,EACbqhG,iBAAarhG,EACb6hG,iBAAa7hG,EACbshG,iBAAathG,EACb8hG,iBAAa9hG,EACbuhG,iBAAavhG,EACb+hG,iBAAa/hG,EACbwhG,iBAAaxhG,EACbgiG,iBAAahiG,EACbyhG,iBAAazhG,EACb6jG,iBAAa7jG,EACb0hG,iBAAa1hG,EACbilG,iBAAajlG,EACb2hG,iBAAa3hG,EACbklG,iBAAallG,ICxUNmlG,EAAwBhE,GAAO30E,MAK/BgO,EAAiB2mE,GAAO30E,MACxBg5E,GAAYrE,GAAO5zE,MCZnB09E,GAAkB,SAAyBld,GACpD,MAAO,CACLmd,kBAAmBnd,EAAcoT,OAAO5zE,MACxC49E,kBAAmB,MACnBK,kBAAmBzd,EAAcoT,OAAO30E,MACxCq/B,UAAWkiC,EAAcoT,OAAO30E,MAChC6+E,oBAAqBtd,EAAcgmD,mBCJ5Br9B,GAAgB,SAAuB7O,GAChD,MAAO,CACLhJ,YAAa2S,GAA0B1G,GAAkBjD,EAAShJ,YAAa,CAC7ErkJ,QAAS,CACPmjJ,iBAAkBkK,EAAShJ,YAAYrkJ,QAAQooJ,kBAC/C7E,gBAAiB8J,EAAShJ,YAAYrkJ,QAAQ6oJ,iBAC9C/E,mBAAoBuJ,EAAShJ,YAAYrkJ,QAAQipJ,qBAEnDvE,MAAO,CACLxB,iBAAkBmK,EAAS1G,OAAO30E,MAClC8xE,mBAAoBuJ,EAAShJ,YAAYK,MAAMuE,uBAE/CgT,IACJ74H,MAAOiqH,EAAS1G,OAAO5zE,MACvB0/E,YAAapF,EAAS1G,OAAO30E,MAC7B2gF,WAAYtF,EAAS1G,OAAO5zE,MAC5B8/E,qBAAsBxF,EAASosC,eAC/B7mC,sBAAuBvF,EAASosC,eAChC9lC,mBAAoBtG,EAAS1G,OAAO5zE,MACpCsqF,sBAAuBhQ,EAAS1G,OAAO5zE,MACvCwqF,kCAAmClQ,EAAS1G,OAAO5zE,MACnDyqF,6BAA8BnQ,EAAS1G,OAAO5zE,MAC9C0qF,iCAAkC,cAClCL,kCAA8B53G,EAC9B42G,oBAAqB/O,EAAS1G,OAAO30E,MACrCqqF,mBAAoB,cACpBI,mBAAoBpP,EAAS1G,OAAO30E,MACpCsqF,oCAAqCjP,EAASosC,eAC9Cl9B,qCAAsClP,EAASosC,eAC/Cn8B,6BAA8BjQ,EAAS1G,OAAO5zE,MAC9CorF,mBAAoB9Q,EAAS1G,OAAO30E,MACpCusF,4BAA6BlR,EAASosC,eACtCr7B,kBAAmB/Q,EAAS1G,OAAO30E,MACnCssF,yBAA0BjR,EAAS1G,OAAO30E,MAC1CqsF,kBAAmBhR,EAAS1G,OAAO30E,MACnC4rF,yBAA0BvQ,EAAS1G,OAAO30E,MAC1C6rF,mCAAoCxQ,EAASosC,eAC7C97B,qBAAsBtQ,EAAS1G,OAAO5zE,MACtC+qF,4BAA6BzQ,EAAS1G,OAAO5zE,MAC7CypF,6BAA8BnP,EAASosC,eACvCh7B,eAAgBpR,EAAS1G,OAAO5zE,MAChC2rF,qBAAsBrR,EAAS1G,OAAO30E,MACtC2sF,4BAA6BtR,EAAS1G,OAAO30E,MAC7C4sF,oCAAqCvR,EAAS1G,OAAO30E,MACrD8sF,oBAAqBzR,EAAS1G,OAAO30E,MACrC6sF,2BAA4BxR,EAAS1G,OAAO30E,MAC5CghF,iBAAkB3F,EAAS1G,OAAO30E,MAClCmqF,kBAAmB9O,EAASosC,iBC/CrB12B,GAAmB,SAA0B1V,GACtD,MAAO,CACLhJ,YAAa2S,GAA0B1G,GAAkBjD,EAAShJ,YAAa,CAC7ErkJ,QAAS,CACP8iJ,gBAAiBuK,EAAShJ,YAAYK,MAAM5B,gBAC5CI,iBAAkBmK,EAASksC,iBAC3Bv2B,wBAAyB3V,EAAShJ,YAAYrkJ,QAAQ8iJ,gBACtDmgB,wBAAyB5V,EAAShJ,YAAYrkJ,QAAQ+iJ,mBAEtD+f,IACJvrE,YAAa,IACbF,kBAAc7xC,EACdk+G,mBAAel+G,ICbRiyG,GAAoB,SAA2BpK,GACxD,MAAO,CACLlxE,YAAakxE,EAAShJ,YAAYrkJ,QAAQi9E,OAC1C81E,iBAAkB1F,EAAShJ,YAAYrkJ,QAAQgjJ,YAC/CzrD,YAAaqgD,GAAQ,GACrB2gB,gBAAiBlL,EAAS1G,OAAO5zE,MACjC2lF,mBAAelzG,EACfgzG,gBAAiB5gB,GAAQ,GACzBuhB,sBAAuB9L,EAASosC,eAChChgC,mBAAoB7hB,GAAQ,GAAK,UAAYyV,EAAS1G,OAAO5zE,QCNtD4mH,GAAyBvzG,GAAYyxG,GAAY/xG,GAAY,CACtEytD,0FLEiCkmD,qGDDlB,+CMAfhmD,iFCN2B,SAAyB4Z,GACpD,MAAO,CACLuF,sBAAuBvF,EAAS1G,OAAO5zE,MACvC8/E,qBAAsBxF,EAASosC,eAC/BxmC,kBAAmB5F,EAAS1G,OAAO5zE,MACnCggF,iBAAkB,cAClBC,iBAAkB,cAClBF,wBAAyBzF,EAASmsC,gBAClC7mC,WAAYtF,EAAShJ,YAAYrkJ,QAAQ8iJ,gBACzCyQ,6BAA8BlG,EAAS1G,OAAO5zE,MAC9C2gF,4BAA6BrG,EAASosC,eACtCniG,UAAW,OACXk9D,iBAAkB,cCZK,SAAuBnH,GAChD,MAAO,CACLp4D,gBAAiBo4D,EAAS1G,OAAO30E,oBCFH,SAA8Bq7E,GAC9D,MAAO,CACLp4D,gBAAiBo4D,EAAS1G,OAAO30E,MACjC09F,oBAAqBriB,EAAS1G,OAAO30E,MACrC49F,YAAaviB,EAAS1G,OAAO5zE,MAC7Bg9F,aAAc1iB,EAAS1G,OAAO5zE,MAC9B3vC,MAAOiqH,EAAS1G,OAAO5zE,MACvBkK,OAAQ,aAAeowE,EAAS1G,OAAO5zE,MACvCs9F,gBAAiBhjB,EAASksC,iBAC1BjpB,sBAAuBjjB,EAASksC,iBAChChpB,iBAAkBljB,EAASksC,iBAC3B/oB,eAAgBnjB,EAAS1G,OAAO30E,MAChC2+F,mBAAoBtjB,EAAS1G,OAAO5zE,MACpC29F,yBAA0BrjB,EAAS1G,OAAO5zE,iBCbf,SAA2Bs6E,GACxD,MAAO,CACL0F,iBAAkB1F,EAASosC,eAC3B1mB,6BAA8B1lB,EAASmsC,yBCHd,SAAyBnsC,GACpD,MAAO,CACL/1D,UAAW,OACXra,OAAQ,aAAeowE,EAAS1G,OAAO5zE,MACvCigG,eAAgB3lB,EAAS1G,OAAO30E,MAChCohG,gBAAiB/lB,EAAS1G,OAAO5zE,gBCLP,SAA0Bs6E,GACtD,MAAO,CACLogB,aAAcpgB,EAAS1G,OAAO5zE,MAC9By4E,UAAW6B,EAAS1G,OAAO5zE,cCHH,SAAwBwgE,GAClD,MAAO,CACLmgC,aAAcngC,EAAcyX,UAC5B2oB,uBAAwBpgC,EAAcvzD,wBCHb,SAAyBqtE,GACpD,MAAO,CACLjqH,MAAOiqH,EAAS1G,OAAO5zE,MACvB6hG,iBAAkBvnB,EAAS1G,OAAO5zE,cCFV,SAAwBs6E,GAClD,MAAO,CACLlxE,YAAakxE,EAASrC,UACtBzzD,YAAaqgD,GAAQ,GAAK,IAAMA,GAAQ,GAAK,IAAMA,GAAQ,GAAK,IAAMA,GAAQ,GAC9E2+B,sBAAuBlpB,EAAS1G,OAAO5zE,MAAQ,IAAMs6E,EAAS1G,OAAO5zE,MAAQ,IAAMs6E,EAAShJ,YAAYK,MAAMgF,aAAe,IAAM2D,EAAS1G,OAAO5zE,qICLlH,SAAiCs6E,GACpE,MAAO,CACLqF,cAAerF,EAASmsC,gBACxBpgB,iBAAkB/rB,EAAS1G,OAAO5zE,MAClCsmG,2BAA4BhsB,EAAS1G,OAAO5zE,MAC5CumG,iBAAkBjsB,EAAS1G,OAAO5zE,MAClCwmG,sBAAuBlsB,EAAS1G,OAAO5zE,MACvCymG,iCAAkCnsB,EAASosC,eAC3ChgB,4BAA6BpsB,EAASosC,eACtC/f,gCAAiCrsB,EAASosC,yBCThB,SAA0BpsC,GACtD,MAAO,CACLyJ,cAAezJ,EAAS1G,OAAO30E,MAC/BqoG,wBAAyBhtB,EAASmsC,uBCHX,SAAuBjmD,GAChD,MAAO,CACLspC,iBAAkBtpC,EAAcgmD,iBAChC3c,oBAAqBrpC,EAAcgmD,iBACnCziC,cAAevjB,EAAcimD,gBAC7Bzc,WAAYxpC,EAAc//D,IAC1BypG,eAAgB1pC,EAAc//D,IAC9Bg7E,aAAcjb,EAAcoT,OAAOpyE,MAAM,KACzC2oG,eAAgB3pC,EAAcoT,OAAO5zE,iBCPV,SAA2Bs6E,GACxD,MAAO,CACLlxE,YAAakxE,EAASrC,UACtBzzD,YAAaqgD,GAAQ,GAAK,IAAMA,GAAQ,GAAK,IAAMA,GAAQ,GAAK,IAAMA,GAAQ,GAC9Eob,iBAAkB3F,EAAS1G,OAAO5zE,MAAQ,IAAMs6E,EAAS1G,OAAO5zE,MAAQ,IAAMs6E,EAAShJ,YAAYK,MAAMgF,aAAe,IAAM2D,EAAS1G,OAAO5zE,+RCLnH,SAA2Bs6E,GACxD,MAAO,CACLssB,gBAAiBtsB,EAASosC,eAC1B7f,qBAAsBvsB,EAASosC,eAC/B5f,mBAAoBxsB,EAASksC,iBAC7Bzf,wBAAyBzsB,EAASksC,4BCLP,SAA2BhmD,GACxD,MAAO,CACLwlC,8BAA+BxlC,EAAcoT,OAAO5zE,MACpDmmG,mCAAoC3lC,EAAcoT,OAAO5zE,kECHjC,SAAwBs6E,GAClD,MAAO,CACLzK,WAAY,eACZ5wC,WAAY,qBACZglE,gBAAiB3pB,EAAShJ,YAAYryE,MAAM40E,YAC5CqwB,gBAAiB5pB,EAAShJ,YAAYryE,MAAMo1E,YAC5C8vB,gBAAiB7pB,EAAShJ,YAAYtxE,MAAM6zE,YAC5CuwB,gBAAiB9pB,EAAShJ,YAAYtxE,MAAMq0E,YAC5CgwB,gBAAiB/pB,EAAShJ,YAAYK,MAAMsC,YAC5CqwB,gBAAiBhqB,EAAShJ,YAAYK,MAAM2E,YAC5CiuB,eAAgBjqB,EAAShJ,YAAYmB,KAAKoB,YAC1C2wB,eAAgBlqB,EAAShJ,YAAYmB,KAAK4B,YAC1CowB,iBAAkBnqB,EAAShJ,YAAYjxE,OAAOyzE,YAC9C4wB,iBAAkBpqB,EAAShJ,YAAYjxE,OAAOg0E,YAC9CswB,cAAerqB,EAAShJ,YAAY7wE,IAAIozE,YACxC+wB,cAAetqB,EAAShJ,YAAY7wE,IAAIw+B,WACxC4lE,gBAAiBvqB,EAAShJ,YAAY9vE,MAAMuyE,YAC5C+wB,gBAAiBxqB,EAAShJ,YAAY9vE,MAAM6yE,YAC5C0wB,iBAAkBzqB,EAAShJ,YAAYnxE,OAAO4zE,YAC9CixB,iBAAkB1qB,EAAShJ,YAAYnxE,OAAO8+B,4BCnBb,SAAiCq7C,GACpE,MAAO,CACL/1D,eAAW9xC,EACXpiB,MAAOiqH,EAAS1G,OAAO30E,MACvBijB,gBAAiBo4D,EAAS1G,OAAO5zE,+BCJQ,SAAyCs6E,GACpF,MAAO,CACL8gB,0BAA2B9gB,EAAS1G,OAAO30E,MAC3Cy8F,uBAAwBphB,EAAS1G,OAAO30E,MACxCs8F,uBAAwBjhB,EAAS1G,OAAO30E,MACxCk8F,uBAAwB7gB,EAAS1G,OAAO5zE,MACxC27F,0BAA2BrhB,EAAS1G,OAAO5zE,qCCNI,SAA+Cs6E,GAChG,MAAO,CACL8gB,0BAA2B9gB,EAAS1G,OAAO30E,MAC3Cy8F,uBAAwBphB,EAAS1G,OAAO30E,MACxCs8F,uBAAwBjhB,EAAS1G,OAAO30E,MACxCk8F,uBAAwB7gB,EAAS1G,OAAO5zE,MACxC27F,0BAA2BrhB,EAAS1G,OAAO5zE,qCCM/C,SAAiB6mH,GAkCf,IA6KiBC,EAgZDC,EAi2BJ1wL,EAAAA,KA13CV/O,sBAAIyG,+BAAJ,WACE,OAAO7F,KAAK8+L,kBAGd,SAAgBC,GACd/+L,KAAK8+L,aAAeC,mCAvCNl5L,qBAAqB,kCAErBA,iBAAiB,iBACjBA,WAAW,uCAEXA,mCACd,6BACcA,wBACd,qCACcA,0BAA0B,kCAC1BA,0BAA0B,kCAC1BA,0BAA0B,kCAC1BA,4BACd,uCACcA,yBACd,uCAGcA,sBACd,4EACcA,8BACd,4CACcA,6BACd,kDACcA,kBAAkB,IAI3BA,WAAuB,IAAIA,KA9BpC,cAkDA,SAAgB4J,EAAWqa,GACpBjkB,EAAWm5L,iBACdC,uBACAp5L,EAAWm5L,gBAAiB,EAC5Bz1K,QAAQyU,IAAI,oBACRlU,GACFA,KAUN,SAAgBrhB,IACd,IAAK5C,EAAWm5L,eACd,MAAM,IAAIr2L,MACR,4EAsBN,SAAgB2G,EAAWwa,GACzBrhB,IACAy2L,qBAA0B,SAAC/5K,GACrBg6K,EAAyB,CAC3BC,OAAQj6K,EAAQk6K,aAChBC,SAAUn6K,EAAQo6K,IAClB5gL,MAAOwG,EAAQxG,MACfqnB,OAAQ7gB,EAAQ6gB,OAChB5zB,eAAgB+S,EAAQ/S,eACxB0C,YAAaqQ,EAAQrQ,aAEvBgV,EAASq1K,KAQb,SAAgBK,EAAiBC,GAG/B,IAFA,IAES9wI,EAAK,EAAG+wI,EAFLr7L,OAAOsC,SAAS8L,OAAO4iB,UAAU,GAC5BloB,MAAM,KACSwhD,EAAK+wI,EAAOh/L,OAAQiuD,IAAM,CACxD,IACIgxI,EADWD,EAAO/wI,GACFxhD,MAAM,KAC1B,GAAIoF,mBAAmBotL,EAAK,MAAQF,EAClC,OAAOltL,mBAAmBotL,EAAK,KAUrC,SAAgBC,EAAQC,GAItB,OAHe,MAAXA,IACFA,EAAU,KAEL,IAAI59L,QAAQ,SAAUC,EAASC,GACpC,IACEsN,EAAW,WACTvN,GAAQ,KAEVgR,WAAW,WACThR,GAAQ,IACP29L,GACH,MAAOh/L,GACPsB,EAAOtB,MA0Bb,SAASi/L,EAAqBliI,GAC5B,OAAOA,MAAAA,EAkpBP,SAASmiI,EACPC,EACAC,EACAp9L,GAHF,WAKE,OAAO,IAAIZ,QAAQ,SAACC,EAASC,GAC3B+9L,MAAMr6L,EAAWs6L,mBAAqBH,EAAU,CAC9CC,OAAQA,EACRG,QAAS,IAAIC,QAAQ,CACnBC,cAAe,UAAYz6L,EAAW8mC,SAAS4zJ,YAC/CC,eAAgB,qBAElB39L,KAAMA,IAELF,KAAK,SAAO89L,yGACPA,EAASn5I,IAA0B,MAApBm5I,EAASC,UACbD,EAAS53J,qBAAtB,SAAOuiB,iBAEW,SAAMq1I,EAAS53J,eAA3B83J,EAAYv1I,SACdw1I,EAAqB,CAAEzyL,UAAWsyL,EAASC,QAC/C,IACMG,EAA6B36L,KAAKsR,MAAMmpL,GAC5CC,EAASE,UAAYD,EACrB,MAAOhgM,IACT,MAAM,IAAI8H,MAAMzC,KAAKC,UAAUy6L,WAGlCj+L,KAAK,SAAC4D,GACLgjB,QAAQyU,IACN,+BAAiCgiK,EAAW,qBAE9C99L,EAAQqE,KAETw6L,MAAM,SAAC5pL,GACNoS,QAAQyU,IACN,+BACEgiK,EACA,8BACA7oL,EAAMjC,SAEV/S,EAAOgV,EAAMjC,aA8PrB,SAAS8rL,EACPC,GAEA,IAAIC,EAAWvvL,SAASstF,eAAep5F,EAAWs7L,gBAC9CrB,EAAkBoB,GACpBD,EAAuBG,UACrB,+CAKJC,iBACEj6H,yBAACk6H,GACCC,OAAQ17L,EAAWs6L,mBACnBqB,kBAAmB,WAazB,IAA2BP,EAYrB1B,EAVA2B,EAFqBD,EAZDA,EAepBnB,EADAoB,EAAWvvL,SAASstF,eAAep5F,EAAWs7L,iBAEhDF,EAAuBG,UACrB,gDAIJK,iCAAgCP,GAG5B3B,EADa,IAAI9mL,IAAIpU,OAAOsC,SAASkL,MACpB6vL,aAAa/8L,IAAI,WAClCg9L,EAAc,IAAIlpL,IAAIwoL,EAAuBnvL,MACrC4vL,aAAaE,OAAO,MAAOrC,MAAAA,EAAAA,EAAO,IAC9Ch2K,QAAQyU,IAAI,oBAAsB2jK,GAElCE,yBAA8BlvL,aAAa,CACzCb,IAAK6vL,EAAYzwL,WACjBI,gBAAO2vL,EAAuB3vL,qBAAS,IACvCC,iBAAQ0vL,EAAuB1vL,sBAAU,IACzCc,gBAAiB,SAACjR,GACV0gM,EAAoB1iH,aAAa7d,QAAQngE,GAAO,IAChD2gM,EAA2B77L,KAAKsR,MACpCsqL,GAAqB,MAGpBhC,EAAkBiC,IAClBjC,EAAkBiC,EAAYC,UACP,KAAxBD,EAAYC,QAOZf,EAAuBG,UACrB,8CANF73K,QAAQyU,IAAI,wDACZn4B,EAAW8mC,SAAS4zJ,YAAcwB,EAAYC,QAC1CC,EAA4BC,GAAWH,EAAYC,SACvDf,EAAuBkB,UAAUF,KAOrC3vL,gBAAiB,SAAC4J,GAChBqN,QAAQyU,IAAI,8BAAgC9hB,GAC5C+kL,EAAuBG,UACrB,yBAA2BllL,EAAS,6BArDxCglL,GAyLJ,SAASkB,IACP,OACEpxL,KAAKC,SAASC,SAAS,IAAImkB,UAAU,EAAG,IACxC,IACArkB,KAAKC,SAASC,SAAS,IAAImkB,UAAU,EAAG,IA5vC9BspK,eAgBAA,sBAYMA,sBAAtB,SACEjzL,2FAEI,SAAMk0L,mBAANx0I,WACFi3I,uCAA4C32L,GAC5C42L,4BAAiCrvL,2BAQrB0rL,eAmBAA,qBAiBAA,YAsBAA,WAAhB,SAAyB4D,GACvB,IACI5jL,EACJ,OAFkB4jL,MAAAA,EAAAA,EAAY/C,EAAiB,UAG7C,IAAK,OACH7gL,EAAQ0/K,GACR,MACF,IAAK,WACH1/K,EAAQ+/K,GACR,MACF,IAAK,UACL,QACE//K,EAAQi+K,GAEZ,OAAOj+K,IAUQigL,EAAAD,aAAAA,uCAMf,SACEwD,EACAf,GAEA34L,IACAs3L,EAAmBl6L,EAAW28L,uBAAwB,OACnD7/L,KAAK,SAACo8L,GACLoD,EAAUpD,KAEXgC,MAAM,SAAC5pL,GACFypL,EAAqB16L,KAAKsR,MAAML,GACpCiqL,EAAUR,MAUAhC,yBAAhB,SACEuD,EACAf,GAEA34L,IACAs3L,EAAmBl6L,EAAW48L,0BAA2B,OACtD9/L,KAAK,SAAC4D,GACL47L,MAEDpB,MAAM,SAAC5pL,GACFypL,EAAqB16L,KAAKsR,MAAML,GACpCiqL,EAAUR,OAQC8B,EAAA9D,aAAAA,oCAQf,SACE+D,EACAR,EACAf,GAGA,IAKMR,EANNn4L,IAEEq3L,EAAkB6C,EAAU/1I,MAAMg2I,eACjC9C,EAAkB6C,EAAU/1I,MAAMi2I,gBACjC/C,EAAkB6C,EAAU/1I,MAAMk2I,gBAEhClC,EAAqB,CACvBzyL,UAAWA,EAAUO,kBACrBoyL,UAAW,CAAEiC,QAAS,6BAExB3B,EAAUR,IAEZb,EACEl6L,EAAWm9L,iCACX,OACA98L,KAAKC,UAAUw8L,IAEdhgM,KAAK,SAAC4D,GACL,IACE,IAAIk6L,EAAWv6L,KAAKsR,MAAMjR,GAC1B47L,EAAU1B,GACV,MAAO5/L,GACPshM,OAGHpB,MAAM,SAAC5pL,GACFypL,EAAqB16L,KAAKsR,MAAML,GACpCiqL,EAAUR,OAqBJqC,EAAAP,6BAAAA,4CAEVO,eA4IUC,EAAAR,2BAAAA,0CAEVQ,eAsCUC,EAAAT,iBAAAA,wCAEVS,uBAQaC,EAAAxE,iBAAAA,+BAOf,SACEyE,EACAlB,EACAf,GAEA34L,IACAs3L,EACEl6L,EAAWy9L,sBACX,OACAp9L,KAAKC,UAAUk9L,IAEd1gM,KAAK,SAAC4D,GACL47L,MAEDpB,MAAM,SAAC5pL,GACFypL,EAAqB16L,KAAKsR,MAAML,GACpCiqL,EAAUR,OA8EJ/B,EAAAuE,gBAAAA,kDAEVvE,iCACAA,4BAyBU0E,EAAAH,eAAAA,0CAeGI,EAAA5E,YAAAA,yCAOf,SACE6E,EACAtB,EACAf,SA2BMR,YAxBJ6C,EAAeC,wCAAyBC,SAASC,WAAW,WAExDC,EAAeJ,GACXC,kCACND,EAAeC,8CAAyBxyL,WAC1CzI,IACAs3L,EACEl6L,EAAWi+L,wBACX,OACA59L,KAAKC,UAAU09L,IAEdlhM,KAAK,SAAC4D,GACL,IACE,IAAIk6L,EAAwCv6L,KAAKsR,MAAMjR,GACvD47L,EAAU1B,GACV,MAAO5/L,GACPshM,OAGHpB,MAAM,SAAC5pL,GACFypL,EAAqB16L,KAAKsR,MAAML,GACpCiqL,EAAUR,OAGVA,EAAqB,CACvBzyL,UAAWA,EAAU41L,YACrBjD,UAAW,CACTiC,QACE,+DAGN3B,EAAUR,KAUE4C,4BAAhB,SACEC,EACAtB,EACAf,GAEA34L,IACAs3L,EACEl6L,EAAWm+L,wBACX,QACA99L,KAAKC,UAAUs9L,IAEd9gM,KAAK,SAAC4D,GACL,IACE,IAAIk6L,EAAwCv6L,KAAKsR,MAAMjR,GACvD47L,EAAU1B,GACV,MAAO5/L,GACPshM,OAGHpB,MAAM,SAAC5pL,GACFypL,EAAqB16L,KAAKsR,MAAML,GACpCiqL,EAAUR,MAUA4C,4BAAhB,SACEC,EACAtB,EACAf,GAEA34L,IACAs3L,EACEl6L,EAAWo+L,wBACX,SACA/9L,KAAKC,UAAUs9L,IAEd9gM,KAAK,SAAC4D,GACL,IACE,IAAIk6L,EAAwCv6L,KAAKsR,MAAMjR,GACvD47L,EAAU1B,GACV,MAAO5/L,GACPshM,OAGHpB,MAAM,SAAC5pL,GACFypL,EAAqB16L,KAAKsR,MAAML,GACpCiqL,EAAUR,OAkFJsD,EAAAV,eAAAA,oCAEVU,oBACAA,qBAMUV,aAAAA,+BA6DCW,EAAAxF,aAAAA,gCAUf,SACEyF,EACAC,EACAC,EACAnC,EACAf,EACAmD,GAEA97L,IACAo5L,yBAA8BlvL,aAAa,CACzCb,IACEsyL,EACA,OACAz/K,mBAAmB0/K,GACnB,OACA1/K,mBAAmB4/K,MAAAA,EAAAA,EAAkB,IACrC,OACA5/K,mBAAmB2/K,MAAAA,EAAAA,EAAiB,IACtChzL,MAAO,IACPC,OAAQ,IACRc,gBAAiB,SAAC5P,GAChB0/L,EAAU1/L,IAEZ6P,gBAAiB,SAAC4J,GAChBklL,EAAUllL,OASAioL,yBAAhB,WACE,IAAIK,EAAangM,OAAOsC,SAASkL,KAE7B4yL,GADA3yL,EAAM,IAAI2G,IAAI+rL,IACL9C,aAAa/8L,IAAI,MAC1B+/L,EAAK5yL,EAAI4vL,aAAa/8L,IAAI,MAC1BggM,EAAK7yL,EAAI4vL,aAAa/8L,IAAI,OAC1BigM,EAAc,IAAInsL,IAAIlG,mBAAmBmyL,GAAM,MACvChD,aAAarzK,IAAI,KAAMo2K,GAAM,IACzCG,EAAYlD,aAAarzK,IAAI,KAAMs2K,GAAM,IACzCtgM,OAAOsC,SAASyG,QAAQw3L,EAAY1zL,aAMtBizL,iBAAhB,WACE,IAAIK,EAAangM,OAAOsC,SAASkL,KAE7BpP,GADAqP,EAAM,IAAI2G,IAAI+rL,IACD9C,aAAa/8L,IAAI,OAC9BwS,EAAQrF,EAAI4vL,aAAa/8L,IAAI,OAE7BlC,EACFk8L,EAAekG,aAAa5xL,cAAcxQ,GAE1Ck8L,EAAekG,aAAa1xL,cAAcgE,GAAS,KASvCgtL,uBAAhB,SAAqCG,EAAuB7hM,GAC1DgG,KACI27L,EAAiB,IAAI3rL,IAAIlG,mBAAmB+xL,KACjC5C,aAAarzK,IAAI,MAAO5rB,GAAU,IACjD4B,OAAOsC,SAASyG,QAAQg3L,EAAelzL,aAQzBizL,uBAAhB,SAAqCG,EAAuBntL,GAC1D1O,KACI27L,EAAiB,IAAI3rL,IAAIlG,mBAAmB+xL,KACjC5C,aAAarzK,IAAI,MAAOlX,GAAS,IAChD9S,OAAOsC,SAASyG,QAAQg3L,EAAelzL,cAO1BytL,UAAAA,iCAOf,SACEmG,EACA3C,EACAf,GAEA34L,IACAy2L,qBAA0B,SAAC/5K,GACzB,IAmBM4/K,EAAW,CACf1wL,MAAO,sBACP9C,OAAQ,IACRD,MAAO,IACP0zL,KAAM9+L,KAAKC,UAvBI,CACfoO,KAAM,eACN1R,KAAM,CACJ,CACE0R,KAAM,YACNs0B,KAAM,wEACN+lJ,MAAM,EACNzmJ,MAAO,YACPxwB,KAAM,UAER,CACEpD,KAAM,YACNs0B,KAAM,6EACN81C,OAAQ,SACRiwG,MAAM,IAGV3mL,QAAS,SAUkB,YAA3Bkd,EAAQ/S,gBACmB,QAA3B+S,EAAQ/S,gBAER64C,UAAUg6I,aACPC,aAAa,CACZC,MAAOL,EAAiBK,MACxBC,MAAON,EAAiBM,QAEzBziM,KAAK,SAAC0iM,GACLA,EAAOC,YAAYpsL,QAAQ,SAACkd,GAC1BA,EAAM4/F,SAERmsE,MAEDpB,MAAM,SAAC5pL,GACNoS,QAAQyU,IACN,gCAAkC93B,KAAKC,UAAUgR,IAEnDouL,gBAAqBvoL,UAAU+nL,GAC/B3D,UAoBKyD,EAAAlG,iBAAAA,kCAKf,SAA8Bl8L,GAC5Bo/L,yBAA8B5uL,cAAcxQ,IAO9BoiM,gBAAhB,SAA8B3oL,GAC5B2lL,yBAA8B1uL,cAAc+I,KAO/BjS,EAAA00L,mBAAAA,uCAMf,SACEsC,GAEAx4L,IACAo5L,yBAA8BjvL,aAAa,CACzCP,gBAAiB,SAAC0sL,GAChBl5L,EAAW8mC,SAAS4zJ,YAAcxB,EAClCJ,EAAeC,SAAS4G,uBACtB,SAAC/E,GACC,IAAIwB,EAA4BC,GAAWnD,GAC3CkC,EAAuBkB,UAAUF,IAEnC,SAAC9qL,GACCoS,QAAQyU,IACN,0DACE7mB,GAEJ6pL,EAAsBC,MAI5B3uL,gBAAiB,SAAC6E,GAChBoS,QAAQyU,IAAI,6BAA+B7mB,GAC3C6pL,EAAsBC,IAExBpuL,UAAW,CACThN,EAAWs6L,mBACX,mCA8FUl2L,yBAAhB,SACEw7L,EACAC,GAEAp2L,EAAW,SAAC6V,GACV,IAAIo6K,EAAMp6K,EAAQm6K,SAEdrqJ,EAAQmtJ,IACZhjH,aAAavd,QAAQ,QAAS5sB,GAC9BmqC,aAAaumH,WAAW,SACpBC,EACF//L,EAAWggM,oBACXhgM,EAAWigM,gBACXjgM,EAAWkgM,4BAOTxG,IAAQ15L,EAAWmgM,WACrBJ,GACE//L,EAAWigM,gBAAkBjgM,EAAWogM,4BAaxCC,EACF,qCACA3G,EACA,0BAoEN,SAAuB4G,GACrB,IACS/kM,EADLglM,EAA+B,GACnC,IAAShlM,KAAO+kM,EACdC,EAAmBtiM,KAAK1C,EAAM,IAAM+kM,EAAY/kM,IAElD,OAAOglM,EAAmBh1L,KAAK,KAxE3Bi1L,CAdqC,CACrCC,UAAW3hL,mBAAmB8gL,GAC9Bc,cAAe5hL,mBAAmB,YAClC6hL,cAAe7hL,mBAAmB,YAElC6iD,MAAO7iD,mBAAmBihL,GAC1Ba,aAAc9hL,mBAAmB+gL,GACjCv3I,MAAOi0I,IACPntJ,MAAOtwB,mBAAmBswB,KAO5B5wC,OAAOsC,SAASvG,OAAO8lM,MAIXj8L,gBAAhB,WACEm1E,aAAaumH,WAAW,SACxB,IAyCIe,EAxBItlM,EAjBJslM,GAyCAA,EAAa,GACjB//L,SAASsgI,KACN91H,OAAO,GACPhE,MAAM,KACN+L,QAAQ,SAAU6yD,GACjB,IAAIzrE,EAAIyrE,EAAK5+D,MAAM,KACjBlJ,EAAI3D,EAAE,GACNqD,EAAIrD,EAAE,IAAMiS,mBAAmBjS,EAAE,IACnComM,EAAWziM,GAAKN,IAEb+iM,GAlDHA,EAAkB,OAEpBtnH,aAAavd,QAAQ,QAAS37D,KAAKC,UAAUugM,IAC7C/H,EAAekG,aAAa1xL,cAAcuzL,EAAkB,QACnDA,EAAqB,SAEVtnH,aAAa7d,QAAQ,WACnBmlI,EAAkB,OAEtCtnH,aAAavd,QAAQ,QAAS37D,KAAKC,UAAUugM,IAC7C/H,EAAekG,aAAa1xL,cAC1B,sBAAwBjN,KAAKC,UAAUugM,MAKrCtlM,EAAM,cACVg+E,aAAavd,QACXzgE,EACA8E,KAAKC,UAAU,CACb67L,QAAS0E,EAAqB,YAGlC/H,EAAekG,aAAa5xL,cAAc7R,KAI5Cg+E,aAAavd,QAAQ,QAAS37D,KAAKC,UAAUugM,IAC7C/H,EAAekG,aAAa1xL,cAC1B,sBAAwBjN,KAAKC,UAAUugM,OAiKnCv4L,EAAAA,EAAAwwL,cAAAA,kDAQVxwL,yCAIAA,+CAIAA,6BAIAA,iCAIAA,mDAgBF,SAA8BvO,MAAAy+D,sBAQ5BijI,8BAAA,WACEthM,KAAKylB,SAAS,CACZyvG,QAAQ,KAILosE,mBAAP,WAAA,WACE,OACEl6H,yBAAC01D,IAAM5H,OAAQl1H,KAAKi1C,MAAMigF,OAAQ+E,YAAY,GAE5C7yD,gCACElyC,MAAO,CACLutD,QAAS,UACToyB,UAAW,SACXryB,OAAQ,OACR0Q,UAAW,IACXwJ,SAAU,IACVC,SAAU,MAGZv1B,gCACElyC,MAAO,CACLg/E,WAAY,SACZ5iG,MAAO,MACPqvC,QAAS,eACTqzE,aAAc,KAGhB5sD,gCACE0Y,IACE9/E,KAAKklB,MAAMq8K,OACX,sDAEFrsK,MAAO,CACLg+D,UAAW,IACXwJ,SAAU,IACVprF,MAAO,OACPC,OAAQ,WAId61D,gCAAKlyC,MAAO,CAAEg/E,WAAY,SAAU8f,aAAc,IAChD5sD,yBAACw3D,IACC1pG,MAAO,CACL6pD,SAAU,GACVlrD,WAAY,OACZghF,UAAW,SACX9gF,WAAY,SAGbpiB,SAAS0C,oEAId+yD,gCAAKlyC,MAAO,CAAEg/E,WAAY,SAAU8f,aAAc,KAChD5sD,yBAACw3D,IACC1pG,MAAO,CACL6pD,SAAU,GACV81B,UAAW,SACX9gF,WAAY,qCAGYpiB,SAAS0C,0BAGvC+yD,gCAAKlyC,MAAO,CAAEg/E,WAAY,WACxB9sC,yBAAC0tD,IACC5/F,MAAO,CACL5jB,MAAO,IACP8qF,aAAc,EACd2a,WAAY,UACZ5uE,MAAO,QAETU,KAAK,WACLqW,QAAS,WACP2O,EAAKpoC,SAAS,CAAEyvG,QAAQ,IACxBrnE,EAAK3oC,MAAMs8K,8BAhFzB,WAAYt8K,KACVu3C,YAAMv3C,gBACN2oC,EAAK5Y,MAAQ,CAAEigF,QAAQ,MA9+C7B,CAAiBypE,mBAAAA"}