{"version":3,"file":"static/js/bundles/text-editor.js","mappings":"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","sources":["webpack://kundo/./node_modules/@kundo/ui/dist/helpers/index.js","webpack://kundo/./static/images/icons/question-circle.svg","webpack://kundo/./static/images/icons/search.svg","webpack://kundo/./node_modules/aria-hidden/dist/es2015/index.js","webpack://kundo/./static/js/src/editors/components/Snackbar.tsx","webpack://kundo/./static/js/src/editors/hooks/useApi.ts","webpack://kundo/./static/js/src/text-editor/attachmentslist.ts","webpack://kundo/./static/js/src/text-editor/get-filetype-from-name.ts","webpack://kundo/./static/js/src/text-editor/formatting.ts","webpack://kundo/./static/js/src/text-editor/index.ts","webpack://kundo/./static/js/src/text-editor/froala-4.ts","webpack://kundo/./static/js/src/text-editor/plugins/aiAutoReplies/AutoRepliesAlerts.tsx","webpack://kundo/./static/js/src/text-editor/helpers/index.ts","webpack://kundo/./static/js/src/text-editor/plugins/aiAutoReplies/index.ts","webpack://kundo/./static/js/src/text-editor/plugins/aiPrompts/useApi.tsx","webpack://kundo/./static/js/src/text-editor/utils.ts","webpack://kundo/./static/js/src/text-editor/plugins/aiPrompts/EditorAiPromptWidget.tsx","webpack://kundo/./static/js/src/text-editor/plugins/aiPrompts/index.ts","webpack://kundo/./static/js/src/text-editor/plugins/textWrapper/index.ts","webpack://kundo/./static/js/src/text-editor/commands.ts","webpack://kundo/./static/js/src/text-editor/video.ts","webpack://kundo/./static/js/src/text-editor/froala.ts","webpack://kundo/./static/js/src/text-editor/plugins/fix-paste-bug.ts","webpack://kundo/./static/js/src/text-editor/plugins/mail-history.ts","webpack://kundo/./static/js/src/text-editor/plugins/emoji.ts","webpack://kundo/./static/js/src/text-editor/plugins/deleteEmptyContainers/index.ts","webpack://kundo/./static/js/src/text-editor/fine-uploader.ts","webpack://kundo/./static/js/src/text-editor/internal-link-widget.ts","webpack://kundo/./static/js/src/text-editor/snippet-widget.ts","webpack://kundo/./static/images/icons/arrow-right-up.svg","webpack://kundo/./static/images/icons/twinkle.svg","webpack://kundo/./static/js/src/editors/self-service-widget/SuggestionCard.tsx","webpack://kundo/./static/js/src/editors/self-service-widget/SuggestionCardList.tsx","webpack://kundo/./static/js/src/editors/self-service-widget/DebouncedTextInput.tsx","webpack://kundo/./static/js/src/editors/self-service-widget/KeywordSearch.tsx","webpack://kundo/./static/js/src/editors/self-service-widget/SmartSuggestions.tsx","webpack://kundo/./static/js/src/editors/self-service-widget/SelfServiceWidget.tsx","webpack://kundo/./static/js/src/editors/self-service-widget/skeletonLoadingBoxes.ts","webpack://kundo/./static/js/src/editors/self-service-widget/index.tsx","webpack://kundo/./static/js/src/text-editor/self-service-widget.ts","webpack://kundo/./static/js/src/text-editor/kundo-froala-editor.ts","webpack://kundo/./static/js/src/text-editor/mentions.ts","webpack://kundo/./static/js/src/text-editor/plugins/aiSources.tsx","webpack://kundo/./static/js/src/text-editor/toolbar.ts","webpack://kundo/./node_modules/fine-uploader/fine-uploader/fine-uploader.core.js","webpack://kundo/./node_modules/fine-uploader/lib/core/index.js","webpack://kundo/./node_modules/froala-editor/js/froala_editor.min.js","webpack://kundo/./node_modules/froala-editor/js/plugins/colors.min.js","webpack://kundo/./node_modules/froala-editor/js/plugins/draggable.min.js","webpack://kundo/./node_modules/froala-editor/js/plugins/image.min.js","webpack://kundo/./node_modules/froala-editor/js/plugins/link.min.js","webpack://kundo/./node_modules/froala-editor/js/plugins/lists.min.js","webpack://kundo/./node_modules/froala-editor/js/plugins/paragraph_format.min.js","webpack://kundo/./node_modules/froala-editor/js/plugins/paragraph_style.min.js","webpack://kundo/./node_modules/froala-editor/js/plugins/quote.min.js","webpack://kundo/./node_modules/froala-editor/js/plugins/save.min.js","webpack://kundo/./node_modules/froala-editor/js/plugins/table.min.js","webpack://kundo/./node_modules/froala-editor/js/plugins/url.min.js","webpack://kundo/./node_modules/froala-editor/js/plugins/video.min.js","webpack://kundo/./node_modules/get-nonce/dist/es2015/index.js","webpack://kundo/./node_modules/react-dom/cjs/react-dom.production.min.js","webpack://kundo/./node_modules/react-dom/client.js","webpack://kundo/./node_modules/react-dom/index.js","webpack://kundo/./node_modules/react-remove-scroll-bar/dist/es2015/component.js","webpack://kundo/./node_modules/react-remove-scroll-bar/dist/es2015/constants.js","webpack://kundo/./node_modules/react-remove-scroll-bar/dist/es2015/utils.js","webpack://kundo/./node_modules/react-remove-scroll/dist/es2015/Combination.js","webpack://kundo/./node_modules/react-remove-scroll/dist/es2015/SideEffect.js","webpack://kundo/./node_modules/react-remove-scroll/dist/es2015/UI.js","webpack://kundo/./node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.js","webpack://kundo/./node_modules/react-remove-scroll/dist/es2015/handleScroll.js","webpack://kundo/./node_modules/react-remove-scroll/dist/es2015/medium.js","webpack://kundo/./node_modules/react-remove-scroll/dist/es2015/sidecar.js","webpack://kundo/./node_modules/react-style-singleton/dist/es2015/component.js","webpack://kundo/./node_modules/react-style-singleton/dist/es2015/hook.js","webpack://kundo/./node_modules/react-style-singleton/dist/es2015/singleton.js","webpack://kundo/./node_modules/react/cjs/react-jsx-runtime.production.min.js","webpack://kundo/./node_modules/react/jsx-runtime.js","webpack://kundo/./node_modules/scheduler/cjs/scheduler.production.min.js","webpack://kundo/./node_modules/scheduler/index.js","webpack://kundo/./node_modules/tributejs/dist/tribute.min.js","webpack://kundo/./node_modules/ts-pattern/lib/guards.js","webpack://kundo/./node_modules/ts-pattern/lib/index.js","webpack://kundo/./node_modules/ts-pattern/lib/symbols.js","webpack://kundo/./node_modules/ts-pattern/lib/wildcards.js","webpack://kundo/./node_modules/tslib/tslib.es6.js","webpack://kundo/./node_modules/use-callback-ref/dist/es2015/assignRef.js","webpack://kundo/./node_modules/use-callback-ref/dist/es2015/useMergeRef.js","webpack://kundo/./node_modules/use-callback-ref/dist/es2015/useRef.js","webpack://kundo/./node_modules/use-sidecar/dist/es2015/exports.js","webpack://kundo/./node_modules/use-sidecar/dist/es2015/medium.js","webpack://kundo/./node_modules/@floating-ui/core/dist/floating-ui.core.mjs","webpack://kundo/./node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs","webpack://kundo/./node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs","webpack://kundo/./node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs","webpack://kundo/./node_modules/@kundo/ui/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-arrow/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-arrow/node_modules/@radix-ui/react-compose-refs/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-arrow/node_modules/@radix-ui/react-primitive/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-arrow/node_modules/@radix-ui/react-slot/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-checkbox/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-checkbox/node_modules/@radix-ui/primitive/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-checkbox/node_modules/@radix-ui/react-compose-refs/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-checkbox/node_modules/@radix-ui/react-context/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-checkbox/node_modules/@radix-ui/react-presence/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-checkbox/node_modules/@radix-ui/react-primitive/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-checkbox/node_modules/@radix-ui/react-slot/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-checkbox/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-collection/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-collection/node_modules/@radix-ui/react-compose-refs/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-collection/node_modules/@radix-ui/react-context/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-collection/node_modules/@radix-ui/react-slot/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-dialog/node_modules/@radix-ui/primitive/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-dialog/node_modules/@radix-ui/react-compose-refs/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-dialog/node_modules/@radix-ui/react-context/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-dialog/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-dialog/node_modules/@radix-ui/react-presence/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-dialog/node_modules/@radix-ui/react-slot/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-dialog/node_modules/@radix-ui/react-primitive/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-dialog/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-dismissable-layer/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-dismissable-layer/node_modules/@radix-ui/primitive/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-dismissable-layer/node_modules/@radix-ui/react-compose-refs/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-dismissable-layer/node_modules/@radix-ui/react-primitive/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-dismissable-layer/node_modules/@radix-ui/react-slot/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-dismissable-layer/node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-dropdown-menu/node_modules/@radix-ui/primitive/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-dropdown-menu/node_modules/@radix-ui/react-compose-refs/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-dropdown-menu/node_modules/@radix-ui/react-context/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-dropdown-menu/node_modules/@radix-ui/react-slot/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-dropdown-menu/node_modules/@radix-ui/react-primitive/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-menu/node_modules/@radix-ui/primitive/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-menu/node_modules/@radix-ui/react-compose-refs/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-menu/node_modules/@radix-ui/react-context/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-menu/node_modules/@radix-ui/react-direction/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-menu/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-menu/node_modules/@radix-ui/react-presence/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-menu/node_modules/@radix-ui/react-slot/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-menu/node_modules/@radix-ui/react-primitive/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-menu/node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-menu/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-dropdown-menu/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-focus-guards/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-focus-scope/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-focus-scope/node_modules/@radix-ui/react-compose-refs/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-focus-scope/node_modules/@radix-ui/react-primitive/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-focus-scope/node_modules/@radix-ui/react-slot/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-focus-scope/node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-id/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-id/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-popover/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-popover/node_modules/@radix-ui/primitive/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-compose-refs/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-context/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-presence/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-primitive/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-slot/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-popper/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-popper/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.mjs","webpack://kundo/./node_modules/@radix-ui/react-popper/node_modules/@radix-ui/react-compose-refs/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-popper/node_modules/@radix-ui/react-context/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-popper/node_modules/@radix-ui/react-primitive/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-popper/node_modules/@radix-ui/react-slot/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-popper/node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-popper/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-portal/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-portal/node_modules/@radix-ui/react-compose-refs/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-portal/node_modules/@radix-ui/react-primitive/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-portal/node_modules/@radix-ui/react-slot/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-portal/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-radio-group/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-radio-group/node_modules/@radix-ui/primitive/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-radio-group/node_modules/@radix-ui/react-compose-refs/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-radio-group/node_modules/@radix-ui/react-context/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-radio-group/node_modules/@radix-ui/react-direction/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-radio-group/node_modules/@radix-ui/react-presence/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-radio-group/node_modules/@radix-ui/react-primitive/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-radio-group/node_modules/@radix-ui/react-slot/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-radio-group/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-roving-focus/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-roving-focus/node_modules/@radix-ui/primitive/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-roving-focus/node_modules/@radix-ui/react-compose-refs/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-roving-focus/node_modules/@radix-ui/react-context/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-roving-focus/node_modules/@radix-ui/react-direction/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-roving-focus/node_modules/@radix-ui/react-primitive/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-roving-focus/node_modules/@radix-ui/react-slot/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-roving-focus/node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-select/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-select/node_modules/@radix-ui/number/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-select/node_modules/@radix-ui/primitive/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-compose-refs/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-context/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-direction/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-primitive/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-slot/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-switch/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-switch/node_modules/@radix-ui/primitive/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-switch/node_modules/@radix-ui/react-compose-refs/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-switch/node_modules/@radix-ui/react-context/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-switch/node_modules/@radix-ui/react-primitive/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-switch/node_modules/@radix-ui/react-slot/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-tabs/node_modules/@radix-ui/primitive/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-tabs/node_modules/@radix-ui/react-context/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-tabs/node_modules/@radix-ui/react-compose-refs/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-tabs/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-tabs/node_modules/@radix-ui/react-presence/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-tabs/node_modules/@radix-ui/react-slot/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-tabs/node_modules/@radix-ui/react-primitive/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-tabs/node_modules/@radix-ui/react-direction/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-tabs/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-toast/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-toast/node_modules/@radix-ui/primitive/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-toast/node_modules/@radix-ui/react-compose-refs/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-toast/node_modules/@radix-ui/react-context/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-toast/node_modules/@radix-ui/react-presence/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-toast/node_modules/@radix-ui/react-primitive/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-toast/node_modules/@radix-ui/react-slot/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-toast/node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-toast/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-toggle-group/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-toggle-group/node_modules/@radix-ui/react-compose-refs/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-toggle-group/node_modules/@radix-ui/react-context/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-toggle-group/node_modules/@radix-ui/react-direction/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-toggle-group/node_modules/@radix-ui/react-primitive/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-toggle-group/node_modules/@radix-ui/react-slot/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-toggle/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-toggle/node_modules/@radix-ui/primitive/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-toggle/node_modules/@radix-ui/react-compose-refs/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-toggle/node_modules/@radix-ui/react-primitive/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-toggle/node_modules/@radix-ui/react-slot/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-tooltip/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/primitive/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-compose-refs/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-context/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-presence/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-primitive/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-slot/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-use-controllable-state/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-use-escape-keydown/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-use-escape-keydown/node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-use-previous/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-use-size/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-use-size/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-visually-hidden/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-visually-hidden/node_modules/@radix-ui/react-compose-refs/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-visually-hidden/node_modules/@radix-ui/react-primitive/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-visually-hidden/node_modules/@radix-ui/react-slot/dist/index.mjs","webpack://kundo/./node_modules/date-fns/_lib/defaultOptions.mjs","webpack://kundo/./node_modules/date-fns/_lib/getTimezoneOffsetInMilliseconds.mjs","webpack://kundo/./node_modules/date-fns/constants.mjs","webpack://kundo/./node_modules/date-fns/constructFrom.mjs","webpack://kundo/./node_modules/date-fns/constructNow.mjs","webpack://kundo/./node_modules/date-fns/differenceInCalendarDays.mjs","webpack://kundo/./node_modules/date-fns/getDayOfYear.mjs","webpack://kundo/./node_modules/date-fns/startOfYear.mjs","webpack://kundo/./node_modules/date-fns/startOfISOWeek.mjs","webpack://kundo/./node_modules/date-fns/getISOWeekYear.mjs","webpack://kundo/./node_modules/date-fns/getISOWeek.mjs","webpack://kundo/./node_modules/date-fns/startOfISOWeekYear.mjs","webpack://kundo/./node_modules/date-fns/getWeekYear.mjs","webpack://kundo/./node_modules/date-fns/getWeek.mjs","webpack://kundo/./node_modules/date-fns/startOfWeekYear.mjs","webpack://kundo/./node_modules/date-fns/_lib/addLeadingZeros.mjs","webpack://kundo/./node_modules/date-fns/_lib/format/lightFormatters.mjs","webpack://kundo/./node_modules/date-fns/_lib/format/formatters.mjs","webpack://kundo/./node_modules/date-fns/_lib/format/longFormatters.mjs","webpack://kundo/./node_modules/date-fns/_lib/protectedTokens.mjs","webpack://kundo/./node_modules/date-fns/isValid.mjs","webpack://kundo/./node_modules/date-fns/isDate.mjs","webpack://kundo/./node_modules/date-fns/format.mjs","webpack://kundo/./node_modules/date-fns/compareAsc.mjs","webpack://kundo/./node_modules/date-fns/isLastDayOfMonth.mjs","webpack://kundo/./node_modules/date-fns/endOfDay.mjs","webpack://kundo/./node_modules/date-fns/endOfMonth.mjs","webpack://kundo/./node_modules/date-fns/differenceInMonths.mjs","webpack://kundo/./node_modules/date-fns/differenceInCalendarMonths.mjs","webpack://kundo/./node_modules/date-fns/differenceInSeconds.mjs","webpack://kundo/./node_modules/date-fns/differenceInMilliseconds.mjs","webpack://kundo/./node_modules/date-fns/_lib/getRoundingMethod.mjs","webpack://kundo/./node_modules/date-fns/formatDistanceToNow.mjs","webpack://kundo/./node_modules/date-fns/formatDistance.mjs","webpack://kundo/./node_modules/date-fns/isThisYear.mjs","webpack://kundo/./node_modules/date-fns/isSameYear.mjs","webpack://kundo/./node_modules/date-fns/isToday.mjs","webpack://kundo/./node_modules/date-fns/isSameDay.mjs","webpack://kundo/./node_modules/date-fns/locale/_lib/buildFormatLongFn.mjs","webpack://kundo/./node_modules/date-fns/locale/_lib/buildLocalizeFn.mjs","webpack://kundo/./node_modules/date-fns/locale/_lib/buildMatchFn.mjs","webpack://kundo/./node_modules/date-fns/locale/_lib/buildMatchPatternFn.mjs","webpack://kundo/./node_modules/date-fns/locale/da/_lib/formatDistance.mjs","webpack://kundo/./node_modules/date-fns/locale/da/_lib/formatLong.mjs","webpack://kundo/./node_modules/date-fns/locale/da/_lib/formatRelative.mjs","webpack://kundo/./node_modules/date-fns/locale/da/_lib/localize.mjs","webpack://kundo/./node_modules/date-fns/locale/da/_lib/match.mjs","webpack://kundo/./node_modules/date-fns/locale/da.mjs","webpack://kundo/./node_modules/date-fns/locale/de/_lib/formatDistance.mjs","webpack://kundo/./node_modules/date-fns/locale/de/_lib/formatLong.mjs","webpack://kundo/./node_modules/date-fns/locale/de/_lib/formatRelative.mjs","webpack://kundo/./node_modules/date-fns/locale/de/_lib/localize.mjs","webpack://kundo/./node_modules/date-fns/locale/de/_lib/match.mjs","webpack://kundo/./node_modules/date-fns/locale/de.mjs","webpack://kundo/./node_modules/date-fns/locale/en-GB/_lib/formatLong.mjs","webpack://kundo/./node_modules/date-fns/locale/en-GB.mjs","webpack://kundo/./node_modules/date-fns/locale/en-US/_lib/formatLong.mjs","webpack://kundo/./node_modules/date-fns/locale/en-US.mjs","webpack://kundo/./node_modules/date-fns/locale/en-US/_lib/formatDistance.mjs","webpack://kundo/./node_modules/date-fns/locale/en-US/_lib/formatRelative.mjs","webpack://kundo/./node_modules/date-fns/locale/en-US/_lib/localize.mjs","webpack://kundo/./node_modules/date-fns/locale/en-US/_lib/match.mjs","webpack://kundo/./node_modules/date-fns/locale/es/_lib/formatDistance.mjs","webpack://kundo/./node_modules/date-fns/locale/es/_lib/formatLong.mjs","webpack://kundo/./node_modules/date-fns/locale/es/_lib/formatRelative.mjs","webpack://kundo/./node_modules/date-fns/locale/es/_lib/localize.mjs","webpack://kundo/./node_modules/date-fns/locale/es/_lib/match.mjs","webpack://kundo/./node_modules/date-fns/locale/es.mjs","webpack://kundo/./node_modules/date-fns/locale/fi/_lib/formatDistance.mjs","webpack://kundo/./node_modules/date-fns/locale/fi/_lib/formatLong.mjs","webpack://kundo/./node_modules/date-fns/locale/fi/_lib/formatRelative.mjs","webpack://kundo/./node_modules/date-fns/locale/fi/_lib/localize.mjs","webpack://kundo/./node_modules/date-fns/locale/fi/_lib/match.mjs","webpack://kundo/./node_modules/date-fns/locale/fi.mjs","webpack://kundo/./node_modules/date-fns/locale/nb/_lib/formatDistance.mjs","webpack://kundo/./node_modules/date-fns/locale/nb/_lib/formatLong.mjs","webpack://kundo/./node_modules/date-fns/locale/nb/_lib/formatRelative.mjs","webpack://kundo/./node_modules/date-fns/locale/nb/_lib/localize.mjs","webpack://kundo/./node_modules/date-fns/locale/nb/_lib/match.mjs","webpack://kundo/./node_modules/date-fns/locale/nb.mjs","webpack://kundo/./node_modules/date-fns/locale/nl/_lib/formatDistance.mjs","webpack://kundo/./node_modules/date-fns/locale/nl/_lib/formatLong.mjs","webpack://kundo/./node_modules/date-fns/locale/nl/_lib/formatRelative.mjs","webpack://kundo/./node_modules/date-fns/locale/nl/_lib/localize.mjs","webpack://kundo/./node_modules/date-fns/locale/nl/_lib/match.mjs","webpack://kundo/./node_modules/date-fns/locale/nl.mjs","webpack://kundo/./node_modules/date-fns/locale/pl/_lib/formatDistance.mjs","webpack://kundo/./node_modules/date-fns/locale/pl/_lib/formatLong.mjs","webpack://kundo/./node_modules/date-fns/locale/pl/_lib/formatRelative.mjs","webpack://kundo/./node_modules/date-fns/isSameWeek.mjs","webpack://kundo/./node_modules/date-fns/locale/pl/_lib/localize.mjs","webpack://kundo/./node_modules/date-fns/locale/pl/_lib/match.mjs","webpack://kundo/./node_modules/date-fns/locale/pl.mjs","webpack://kundo/./node_modules/date-fns/locale/sv/_lib/formatDistance.mjs","webpack://kundo/./node_modules/date-fns/locale/sv/_lib/formatLong.mjs","webpack://kundo/./node_modules/date-fns/locale/sv/_lib/formatRelative.mjs","webpack://kundo/./node_modules/date-fns/locale/sv/_lib/localize.mjs","webpack://kundo/./node_modules/date-fns/locale/sv/_lib/match.mjs","webpack://kundo/./node_modules/date-fns/locale/sv.mjs","webpack://kundo/./node_modules/date-fns/startOfDay.mjs","webpack://kundo/./node_modules/date-fns/startOfWeek.mjs","webpack://kundo/./node_modules/date-fns/toDate.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/utils/use-composed-ref.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/components/AnimatePresence/PopChild.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/components/AnimatePresence/PresenceChild.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/components/AnimatePresence/utils.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/components/AnimatePresence/index.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/components/AnimatePresence/use-presence.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/context/LayoutGroupContext.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/context/LazyContext.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/context/MotionConfigContext.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/context/MotionContext/create.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/context/MotionContext/index.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/context/MotionContext/utils.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/context/PresenceContext.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/context/SwitchLayoutGroupContext.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/events/add-pointer-event.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/events/event-info.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/gestures/drag/VisualElementDragControls.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/gestures/drag/index.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/gestures/drag/utils/constraints.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/gestures/focus.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/gestures/hover.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/gestures/pan/PanSession.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/gestures/pan/index.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/gestures/press.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/motion/features/animation/exit.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/motion/features/animation/index.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/motion/features/animations.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/motion/features/definitions.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/motion/features/drag.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/motion/features/gestures.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/motion/features/layout.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/motion/features/layout/MeasureLayout.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/motion/features/load-features.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/motion/features/viewport/index.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/motion/features/viewport/observers.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/motion/index.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/motion/utils/symbol.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/motion/utils/use-motion-ref.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/motion/utils/use-visual-element.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/motion/utils/use-visual-state.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/motion/utils/valid-prop.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/render/components/create-proxy.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/render/components/motion/feature-bundle.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/render/components/motion/proxy.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/render/dom/create-visual-element.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/render/dom/use-render.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/render/dom/utils/filter-props.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/render/dom/utils/is-svg-component.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/render/html/use-html-visual-state.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/render/html/use-props.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/render/html/utils/create-render-state.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/render/svg/lowercase-elements.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/render/svg/use-props.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/render/svg/use-svg-visual-state.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/render/svg/utils/create-render-state.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/utils/distance.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/utils/get-context-window.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/utils/is-browser.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/utils/is-ref-object.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/utils/use-constant.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/utils/use-isomorphic-effect.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/AsyncMotionValueAnimation.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/JSAnimation.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/NativeAnimation.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/NativeAnimationExtended.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/animate/single-value.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/drivers/frame.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/generators/inertia.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/generators/keyframes.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/generators/spring/defaults.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/generators/spring/find.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/generators/spring/index.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/generators/utils/calc-duration.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/generators/utils/create-generator-easing.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/generators/utils/is-generator.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/generators/utils/velocity.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/interfaces/motion-value.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/interfaces/visual-element-target.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/interfaces/visual-element-variant.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/interfaces/visual-element.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/keyframes/DOMKeyframesResolver.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/keyframes/KeyframesResolver.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/keyframes/get-final.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/keyframes/offsets/default.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/keyframes/offsets/fill.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/keyframes/offsets/time.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/keyframes/utils/fill-wildcards.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/keyframes/utils/is-none.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/keyframes/utils/make-none-animatable.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/keyframes/utils/unit-conversion.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/optimized-appear/data-id.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/optimized-appear/get-appear-id.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/utils/WithPromise.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/utils/calc-child-stagger.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/utils/can-animate.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/utils/css-variables-conversion.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/utils/default-transitions.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/utils/get-final-keyframe.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/utils/get-value-transition.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/utils/is-animatable.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/utils/is-css-variable.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/utils/is-transition-defined.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/utils/make-animation-instant.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/utils/replace-transition-type.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/utils/resolve-transition.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/waapi/easing/cubic-bezier.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/waapi/easing/map-easing.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/waapi/easing/supported.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/waapi/start-waapi-animation.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/waapi/supports/waapi.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/waapi/utils/accelerated-values.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/waapi/utils/apply-generator.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/waapi/utils/linear.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/waapi/utils/unsupported-easing.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/events/add-dom-event.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/frameloop/batcher.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/frameloop/frame.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/frameloop/microtask.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/frameloop/order.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/frameloop/render-step.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/frameloop/sync-time.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/gestures/drag/state/is-active.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/gestures/drag/state/set-active.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/gestures/hover.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/gestures/press/index.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/gestures/press/utils/is-keyboard-accessible.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/gestures/press/utils/keyboard.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/gestures/press/utils/state.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/gestures/utils/is-node-or-child.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/gestures/utils/is-primary-pointer.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/gestures/utils/setup.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/projection/animation/mix-values.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/projection/geometry/conversion.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/projection/geometry/copy.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/projection/geometry/delta-apply.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/projection/geometry/delta-calc.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/projection/geometry/delta-remove.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/projection/geometry/models.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/projection/geometry/utils.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/projection/node/DocumentProjectionNode.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/projection/node/HTMLProjectionNode.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/projection/node/create-projection-node.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/projection/node/state.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/projection/shared/stack.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/projection/styles/scale-border-radius.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/projection/styles/scale-box-shadow.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/projection/styles/scale-correction.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/projection/styles/transform.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/projection/utils/compare-by-depth.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/projection/utils/each-axis.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/projection/utils/flat-tree.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/projection/utils/has-transform.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/projection/utils/measure.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/Feature.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/VisualElement.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/dom/DOMVisualElement.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/dom/is-css-var.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/dom/parse-transform.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/dom/style-set.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/dom/utils/camel-to-dash.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/html/HTMLVisualElement.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/html/utils/build-styles.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/html/utils/build-transform.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/html/utils/render.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/html/utils/scrape-motion-values.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/store.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/svg/SVGVisualElement.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/svg/utils/build-attrs.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/svg/utils/camel-case-attrs.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/svg/utils/is-svg-tag.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/svg/utils/path.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/svg/utils/render.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/svg/utils/scrape-motion-values.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/utils/animation-state.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/utils/get-variant-context.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/utils/is-animation-controls.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/utils/is-controlling-variants.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/utils/is-forced-motion-value.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/utils/is-keyframes-target.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/utils/is-variant-label.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/utils/keys-position.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/utils/keys-transform.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/utils/motion-values.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/utils/reduced-motion/index.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/utils/reduced-motion/state.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/utils/resolve-dynamic-variants.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/utils/resolve-variants.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/utils/setters.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/utils/shallow-compare.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/utils/variant-props.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/resize/handle-element.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/resize/handle-window.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/resize/index.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/stats/animation-count.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/stats/buffer.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/utils/delay.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/utils/interpolate.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/utils/is-html-element.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/utils/is-svg-element.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/utils/is-svg-svg-element.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/utils/mix/color.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/utils/mix/complex.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/utils/mix/immediate.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/utils/mix/index.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/utils/mix/number.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/utils/mix/visibility.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/utils/resolve-elements.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/utils/supports/flags.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/utils/supports/linear-easing.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/utils/supports/memo.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/utils/supports/scroll-timeline.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/value/index.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/value/types/auto.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/value/types/color/hex.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/value/types/color/hsla-to-rgba.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/value/types/color/hsla.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/value/types/color/index.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/value/types/color/rgba.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/value/types/color/utils.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/value/types/complex/filter.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/value/types/complex/index.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/value/types/dimensions.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/value/types/int.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/value/types/maps/defaults.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/value/types/maps/number.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/value/types/maps/transform.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/value/types/numbers/index.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/value/types/numbers/units.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/value/types/test.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/value/types/utils/animatable-none.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/value/types/utils/color-regex.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/value/types/utils/find.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/value/types/utils/float-regex.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/value/types/utils/get-as-type.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/value/types/utils/is-nullish.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/value/types/utils/sanitize.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/value/types/utils/single-color-regex.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/value/utils/is-motion-value.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/value/utils/resolve-motion-value.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/value/will-change/add-will-change.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/value/will-change/is.mjs","webpack://kundo/./node_modules/motion-utils/dist/es/array.mjs","webpack://kundo/./node_modules/motion-utils/dist/es/clamp.mjs","webpack://kundo/./node_modules/motion-utils/dist/es/easing/anticipate.mjs","webpack://kundo/./node_modules/motion-utils/dist/es/easing/back.mjs","webpack://kundo/./node_modules/motion-utils/dist/es/easing/circ.mjs","webpack://kundo/./node_modules/motion-utils/dist/es/easing/cubic-bezier.mjs","webpack://kundo/./node_modules/motion-utils/dist/es/easing/ease.mjs","webpack://kundo/./node_modules/motion-utils/dist/es/easing/modifiers/mirror.mjs","webpack://kundo/./node_modules/motion-utils/dist/es/easing/modifiers/reverse.mjs","webpack://kundo/./node_modules/motion-utils/dist/es/easing/utils/is-bezier-definition.mjs","webpack://kundo/./node_modules/motion-utils/dist/es/easing/utils/is-easing-array.mjs","webpack://kundo/./node_modules/motion-utils/dist/es/easing/utils/map.mjs","webpack://kundo/./node_modules/motion-utils/dist/es/errors.mjs","webpack://kundo/./node_modules/motion-utils/dist/es/global-config.mjs","webpack://kundo/./node_modules/motion-utils/dist/es/is-numerical-string.mjs","webpack://kundo/./node_modules/motion-utils/dist/es/is-object.mjs","webpack://kundo/./node_modules/motion-utils/dist/es/is-zero-value-string.mjs","webpack://kundo/./node_modules/motion-utils/dist/es/memo.mjs","webpack://kundo/./node_modules/motion-utils/dist/es/noop.mjs","webpack://kundo/./node_modules/motion-utils/dist/es/pipe.mjs","webpack://kundo/./node_modules/motion-utils/dist/es/progress.mjs","webpack://kundo/./node_modules/motion-utils/dist/es/subscription-manager.mjs","webpack://kundo/./node_modules/motion-utils/dist/es/time-conversion.mjs","webpack://kundo/./node_modules/motion-utils/dist/es/velocity-per-second.mjs"],"sourcesContent":["\"use strict\";var L=Object.defineProperty,fe=Object.defineProperties,me=Object.getOwnPropertyDescriptor,he=Object.getOwnPropertyDescriptors,ye=Object.getOwnPropertyNames,ee=Object.getOwnPropertySymbols;var te=Object.prototype.hasOwnProperty,xe=Object.prototype.propertyIsEnumerable;var re=(e,r,t)=>r in e?L(e,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[r]=t,_=(e,r)=>{for(var t in r||(r={}))te.call(r,t)&&re(e,t,r[t]);if(ee)for(var t of ee(r))xe.call(r,t)&&re(e,t,r[t]);return e},oe=(e,r)=>fe(e,he(r));var we=(e,r)=>{for(var t in r)L(e,t,{get:r[t],enumerable:!0})},ve=(e,r,t,o)=>{if(r&&typeof r==\"object\"||typeof r==\"function\")for(let i of ye(r))!te.call(e,i)&&i!==t&&L(e,i,{get:()=>r[i],enumerable:!(o=me(r,i))||o.enumerable});return e};var ke=e=>ve(L({},\"__esModule\",{value:!0}),e);var tr={};we(tr,{formatFileSize:()=>ne,twMerge:()=>ge});module.exports=ke(tr);var ne=(e,r=2)=>{if(!+e)return\"0 Bytes\";let t=1024,o=r<0?0:r,i=[\"Bytes\",\"KiB\",\"MiB\",\"GiB\",\"TiB\",\"PiB\",\"EiB\",\"ZiB\",\"YiB\"],n=Math.floor(Math.log(e)/Math.log(t));return`${parseFloat((e/Math.pow(t,n)).toFixed(o))} ${i[n]}`};var K=\"-\",Ce=e=>{let r=Me(e),{conflictingClassGroups:t,conflictingClassGroupModifiers:o}=e;return{getClassGroupId:l=>{let s=l.split(K);return s[0]===\"\"&&s.length!==1&&s.shift(),ae(s,r)||ze(l)},getConflictingClassGroupIds:(l,s)=>{let u=t[l]||[];return s&&o[l]?[...u,...o[l]]:u}}},ae=(e,r)=>{var l;if(e.length===0)return r.classGroupId;let t=e[0],o=r.nextPart.get(t),i=o?ae(e.slice(1),o):void 0;if(i)return i;if(r.validators.length===0)return;let n=e.join(K);return(l=r.validators.find(({validator:s})=>s(n)))==null?void 0:l.classGroupId},se=/^\\[(.+)\\]$/,ze=e=>{if(se.test(e)){let r=se.exec(e)[1],t=r==null?void 0:r.substring(0,r.indexOf(\":\"));if(t)return\"arbitrary..\"+t}},Me=e=>{let{theme:r,prefix:t}=e,o={nextPart:new Map,validators:[]};return Ae(Object.entries(e.classGroups),t).forEach(([n,l])=>{q(l,o,n,r)}),o},q=(e,r,t,o)=>{e.forEach(i=>{if(typeof i==\"string\"){let n=i===\"\"?r:ie(r,i);n.classGroupId=t;return}if(typeof i==\"function\"){if(Se(i)){q(i(o),r,t,o);return}r.validators.push({validator:i,classGroupId:t});return}Object.entries(i).forEach(([n,l])=>{q(l,ie(r,n),t,o)})})},ie=(e,r)=>{let t=e;return r.split(K).forEach(o=>{t.nextPart.has(o)||t.nextPart.set(o,{nextPart:new Map,validators:[]}),t=t.nextPart.get(o)}),t},Se=e=>e.isThemeGetter,Ae=(e,r)=>r?e.map(([t,o])=>{let i=o.map(n=>typeof n==\"string\"?r+n:typeof n==\"object\"?Object.fromEntries(Object.entries(n).map(([l,s])=>[r+l,s])):n);return[t,i]}):e,Ge=e=>{if(e<1)return{get:()=>{},set:()=>{}};let r=0,t=new Map,o=new Map,i=(n,l)=>{t.set(n,l),r++,r>e&&(r=0,o=t,t=new Map)};return{get(n){let l=t.get(n);if(l!==void 0)return l;if((l=o.get(n))!==void 0)return i(n,l),l},set(n,l){t.has(n)?t.set(n,l):i(n,l)}}},ce=\"!\",Pe=e=>{let{separator:r,experimentalParseClassName:t}=e,o=r.length===1,i=r[0],n=r.length,l=s=>{let u=[],g=0,m=0,y;for(let p=0;p<s.length;p++){let f=s[p];if(g===0){if(f===i&&(o||s.slice(p,p+n)===r)){u.push(s.slice(m,p)),m=p+n;continue}if(f===\"/\"){y=p;continue}}f===\"[\"?g++:f===\"]\"&&g--}let x=u.length===0?s:s.substring(m),v=x.startsWith(ce),w=v?x.substring(1):x,b=y&&y>m?y-m:void 0;return{modifiers:u,hasImportantModifier:v,baseClassName:w,maybePostfixModifierPosition:b}};return t?s=>t({className:s,parseClassName:l}):l},Re=e=>{if(e.length<=1)return e;let r=[],t=[];return e.forEach(o=>{o[0]===\"[\"?(r.push(...t.sort(),o),t=[]):t.push(o)}),r.push(...t.sort()),r},Ie=e=>_({cache:Ge(e.cacheSize),parseClassName:Pe(e)},Ce(e)),Te=/\\s+/,Ne=(e,r)=>{let{parseClassName:t,getClassGroupId:o,getConflictingClassGroupIds:i}=r,n=[],l=e.trim().split(Te),s=\"\";for(let u=l.length-1;u>=0;u-=1){let g=l[u],{modifiers:m,hasImportantModifier:y,baseClassName:x,maybePostfixModifierPosition:v}=t(g),w=!!v,b=o(w?x.substring(0,v):x);if(!b){if(!w){s=g+(s.length>0?\" \"+s:s);continue}if(b=o(x),!b){s=g+(s.length>0?\" \"+s:s);continue}w=!1}let p=Re(m).join(\":\"),f=y?p+ce:p,h=f+b;if(n.includes(h))continue;n.push(h);let P=i(b,w);for(let S=0;S<P.length;++S){let B=P[S];n.push(f+B)}s=g+(s.length>0?\" \"+s:s)}return s};function Be(){let e=0,r,t,o=\"\";for(;e<arguments.length;)(r=arguments[e++])&&(t=de(r))&&(o&&(o+=\" \"),o+=t);return o}var de=e=>{if(typeof e==\"string\")return e;let r,t=\"\";for(let o=0;o<e.length;o++)e[o]&&(r=de(e[o]))&&(t&&(t+=\" \"),t+=r);return t};function le(e,...r){let t,o,i,n=l;function l(u){let g=r.reduce((m,y)=>y(m),e());return t=Ie(g),o=t.cache.get,i=t.cache.set,n=s,s(u)}function s(u){let g=o(u);if(g)return g;let m=Ne(u,t);return i(u,m),m}return function(){return n(Be.apply(null,arguments))}}var c=e=>{let r=t=>t[e]||[];return r.isThemeGetter=!0,r},pe=/^\\[(?:([a-z-]+):)?(.+)\\]$/i,Ee=/^\\d+\\/\\d+$/,je=new Set([\"px\",\"full\",\"screen\"]),Le=/^(\\d+(\\.\\d+)?)?(xs|sm|md|lg|xl)$/,_e=/\\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\\b(calc|min|max|clamp)\\(.+\\)|^0$/,We=/^(rgba?|hsla?|hwb|(ok)?(lab|lch))\\(.+\\)$/,$e=/^(inset_)?-?((\\d+)?\\.?(\\d+)[a-z]+|0)_-?((\\d+)?\\.?(\\d+)[a-z]+|0)/,Fe=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\\(.+\\)$/,C=e=>A(e)||je.has(e)||Ee.test(e),z=e=>G(e,\"length\",Xe),A=e=>!!e&&!Number.isNaN(Number(e)),O=e=>G(e,\"number\",A),I=e=>!!e&&Number.isInteger(Number(e)),Ve=e=>e.endsWith(\"%\")&&A(e.slice(0,-1)),a=e=>pe.test(e),M=e=>Le.test(e),Ue=new Set([\"length\",\"size\",\"percentage\"]),Oe=e=>G(e,Ue,ue),qe=e=>G(e,\"position\",ue),Ke=new Set([\"image\",\"url\"]),Ze=e=>G(e,Ke,He),Je=e=>G(e,\"\",Ye),T=()=>!0,G=(e,r,t)=>{let o=pe.exec(e);return o?o[1]?typeof r==\"string\"?o[1]===r:r.has(o[1]):t(o[2]):!1},Xe=e=>_e.test(e)&&!We.test(e),ue=()=>!1,Ye=e=>$e.test(e),He=e=>Fe.test(e);var W=()=>{let e=c(\"colors\"),r=c(\"spacing\"),t=c(\"blur\"),o=c(\"brightness\"),i=c(\"borderColor\"),n=c(\"borderRadius\"),l=c(\"borderSpacing\"),s=c(\"borderWidth\"),u=c(\"contrast\"),g=c(\"grayscale\"),m=c(\"hueRotate\"),y=c(\"invert\"),x=c(\"gap\"),v=c(\"gradientColorStops\"),w=c(\"gradientColorStopPositions\"),b=c(\"inset\"),p=c(\"margin\"),f=c(\"opacity\"),h=c(\"padding\"),P=c(\"saturate\"),S=c(\"scale\"),B=c(\"sepia\"),Z=c(\"skew\"),J=c(\"space\"),X=c(\"translate\"),$=()=>[\"auto\",\"contain\",\"none\"],F=()=>[\"auto\",\"hidden\",\"clip\",\"visible\",\"scroll\"],V=()=>[\"auto\",a,r],d=()=>[a,r],Y=()=>[\"\",C,z],E=()=>[\"auto\",A,a],H=()=>[\"bottom\",\"center\",\"left\",\"left-bottom\",\"left-top\",\"right\",\"right-bottom\",\"right-top\",\"top\"],j=()=>[\"solid\",\"dashed\",\"dotted\",\"double\",\"none\"],Q=()=>[\"normal\",\"multiply\",\"screen\",\"overlay\",\"darken\",\"lighten\",\"color-dodge\",\"color-burn\",\"hard-light\",\"soft-light\",\"difference\",\"exclusion\",\"hue\",\"saturation\",\"color\",\"luminosity\"],U=()=>[\"start\",\"end\",\"center\",\"between\",\"around\",\"evenly\",\"stretch\"],R=()=>[\"\",\"0\",a],D=()=>[\"auto\",\"avoid\",\"all\",\"avoid-page\",\"page\",\"left\",\"right\",\"column\"],k=()=>[A,a];return{cacheSize:500,separator:\":\",theme:{colors:[T],spacing:[C,z],blur:[\"none\",\"\",M,a],brightness:k(),borderColor:[e],borderRadius:[\"none\",\"\",\"full\",M,a],borderSpacing:d(),borderWidth:Y(),contrast:k(),grayscale:R(),hueRotate:k(),invert:R(),gap:d(),gradientColorStops:[e],gradientColorStopPositions:[Ve,z],inset:V(),margin:V(),opacity:k(),padding:d(),saturate:k(),scale:k(),sepia:R(),skew:k(),space:d(),translate:d()},classGroups:{aspect:[{aspect:[\"auto\",\"square\",\"video\",a]}],container:[\"container\"],columns:[{columns:[M]}],\"break-after\":[{\"break-after\":D()}],\"break-before\":[{\"break-before\":D()}],\"break-inside\":[{\"break-inside\":[\"auto\",\"avoid\",\"avoid-page\",\"avoid-column\"]}],\"box-decoration\":[{\"box-decoration\":[\"slice\",\"clone\"]}],box:[{box:[\"border\",\"content\"]}],display:[\"block\",\"inline-block\",\"inline\",\"flex\",\"inline-flex\",\"table\",\"inline-table\",\"table-caption\",\"table-cell\",\"table-column\",\"table-column-group\",\"table-footer-group\",\"table-header-group\",\"table-row-group\",\"table-row\",\"flow-root\",\"grid\",\"inline-grid\",\"contents\",\"list-item\",\"hidden\"],float:[{float:[\"right\",\"left\",\"none\",\"start\",\"end\"]}],clear:[{clear:[\"left\",\"right\",\"both\",\"none\",\"start\",\"end\"]}],isolation:[\"isolate\",\"isolation-auto\"],\"object-fit\":[{object:[\"contain\",\"cover\",\"fill\",\"none\",\"scale-down\"]}],\"object-position\":[{object:[...H(),a]}],overflow:[{overflow:F()}],\"overflow-x\":[{\"overflow-x\":F()}],\"overflow-y\":[{\"overflow-y\":F()}],overscroll:[{overscroll:$()}],\"overscroll-x\":[{\"overscroll-x\":$()}],\"overscroll-y\":[{\"overscroll-y\":$()}],position:[\"static\",\"fixed\",\"absolute\",\"relative\",\"sticky\"],inset:[{inset:[b]}],\"inset-x\":[{\"inset-x\":[b]}],\"inset-y\":[{\"inset-y\":[b]}],start:[{start:[b]}],end:[{end:[b]}],top:[{top:[b]}],right:[{right:[b]}],bottom:[{bottom:[b]}],left:[{left:[b]}],visibility:[\"visible\",\"invisible\",\"collapse\"],z:[{z:[\"auto\",I,a]}],basis:[{basis:V()}],\"flex-direction\":[{flex:[\"row\",\"row-reverse\",\"col\",\"col-reverse\"]}],\"flex-wrap\":[{flex:[\"wrap\",\"wrap-reverse\",\"nowrap\"]}],flex:[{flex:[\"1\",\"auto\",\"initial\",\"none\",a]}],grow:[{grow:R()}],shrink:[{shrink:R()}],order:[{order:[\"first\",\"last\",\"none\",I,a]}],\"grid-cols\":[{\"grid-cols\":[T]}],\"col-start-end\":[{col:[\"auto\",{span:[\"full\",I,a]},a]}],\"col-start\":[{\"col-start\":E()}],\"col-end\":[{\"col-end\":E()}],\"grid-rows\":[{\"grid-rows\":[T]}],\"row-start-end\":[{row:[\"auto\",{span:[I,a]},a]}],\"row-start\":[{\"row-start\":E()}],\"row-end\":[{\"row-end\":E()}],\"grid-flow\":[{\"grid-flow\":[\"row\",\"col\",\"dense\",\"row-dense\",\"col-dense\"]}],\"auto-cols\":[{\"auto-cols\":[\"auto\",\"min\",\"max\",\"fr\",a]}],\"auto-rows\":[{\"auto-rows\":[\"auto\",\"min\",\"max\",\"fr\",a]}],gap:[{gap:[x]}],\"gap-x\":[{\"gap-x\":[x]}],\"gap-y\":[{\"gap-y\":[x]}],\"justify-content\":[{justify:[\"normal\",...U()]}],\"justify-items\":[{\"justify-items\":[\"start\",\"end\",\"center\",\"stretch\"]}],\"justify-self\":[{\"justify-self\":[\"auto\",\"start\",\"end\",\"center\",\"stretch\"]}],\"align-content\":[{content:[\"normal\",...U(),\"baseline\"]}],\"align-items\":[{items:[\"start\",\"end\",\"center\",\"baseline\",\"stretch\"]}],\"align-self\":[{self:[\"auto\",\"start\",\"end\",\"center\",\"stretch\",\"baseline\"]}],\"place-content\":[{\"place-content\":[...U(),\"baseline\"]}],\"place-items\":[{\"place-items\":[\"start\",\"end\",\"center\",\"baseline\",\"stretch\"]}],\"place-self\":[{\"place-self\":[\"auto\",\"start\",\"end\",\"center\",\"stretch\"]}],p:[{p:[h]}],px:[{px:[h]}],py:[{py:[h]}],ps:[{ps:[h]}],pe:[{pe:[h]}],pt:[{pt:[h]}],pr:[{pr:[h]}],pb:[{pb:[h]}],pl:[{pl:[h]}],m:[{m:[p]}],mx:[{mx:[p]}],my:[{my:[p]}],ms:[{ms:[p]}],me:[{me:[p]}],mt:[{mt:[p]}],mr:[{mr:[p]}],mb:[{mb:[p]}],ml:[{ml:[p]}],\"space-x\":[{\"space-x\":[J]}],\"space-x-reverse\":[\"space-x-reverse\"],\"space-y\":[{\"space-y\":[J]}],\"space-y-reverse\":[\"space-y-reverse\"],w:[{w:[\"auto\",\"min\",\"max\",\"fit\",\"svw\",\"lvw\",\"dvw\",a,r]}],\"min-w\":[{\"min-w\":[a,r,\"min\",\"max\",\"fit\"]}],\"max-w\":[{\"max-w\":[a,r,\"none\",\"full\",\"min\",\"max\",\"fit\",\"prose\",{screen:[M]},M]}],h:[{h:[a,r,\"auto\",\"min\",\"max\",\"fit\",\"svh\",\"lvh\",\"dvh\"]}],\"min-h\":[{\"min-h\":[a,r,\"min\",\"max\",\"fit\",\"svh\",\"lvh\",\"dvh\"]}],\"max-h\":[{\"max-h\":[a,r,\"min\",\"max\",\"fit\",\"svh\",\"lvh\",\"dvh\"]}],size:[{size:[a,r,\"auto\",\"min\",\"max\",\"fit\"]}],\"font-size\":[{text:[\"base\",M,z]}],\"font-smoothing\":[\"antialiased\",\"subpixel-antialiased\"],\"font-style\":[\"italic\",\"not-italic\"],\"font-weight\":[{font:[\"thin\",\"extralight\",\"light\",\"normal\",\"medium\",\"semibold\",\"bold\",\"extrabold\",\"black\",O]}],\"font-family\":[{font:[T]}],\"fvn-normal\":[\"normal-nums\"],\"fvn-ordinal\":[\"ordinal\"],\"fvn-slashed-zero\":[\"slashed-zero\"],\"fvn-figure\":[\"lining-nums\",\"oldstyle-nums\"],\"fvn-spacing\":[\"proportional-nums\",\"tabular-nums\"],\"fvn-fraction\":[\"diagonal-fractions\",\"stacked-fractions\"],tracking:[{tracking:[\"tighter\",\"tight\",\"normal\",\"wide\",\"wider\",\"widest\",a]}],\"line-clamp\":[{\"line-clamp\":[\"none\",A,O]}],leading:[{leading:[\"none\",\"tight\",\"snug\",\"normal\",\"relaxed\",\"loose\",C,a]}],\"list-image\":[{\"list-image\":[\"none\",a]}],\"list-style-type\":[{list:[\"none\",\"disc\",\"decimal\",a]}],\"list-style-position\":[{list:[\"inside\",\"outside\"]}],\"placeholder-color\":[{placeholder:[e]}],\"placeholder-opacity\":[{\"placeholder-opacity\":[f]}],\"text-alignment\":[{text:[\"left\",\"center\",\"right\",\"justify\",\"start\",\"end\"]}],\"text-color\":[{text:[e]}],\"text-opacity\":[{\"text-opacity\":[f]}],\"text-decoration\":[\"underline\",\"overline\",\"line-through\",\"no-underline\"],\"text-decoration-style\":[{decoration:[...j(),\"wavy\"]}],\"text-decoration-thickness\":[{decoration:[\"auto\",\"from-font\",C,z]}],\"underline-offset\":[{\"underline-offset\":[\"auto\",C,a]}],\"text-decoration-color\":[{decoration:[e]}],\"text-transform\":[\"uppercase\",\"lowercase\",\"capitalize\",\"normal-case\"],\"text-overflow\":[\"truncate\",\"text-ellipsis\",\"text-clip\"],\"text-wrap\":[{text:[\"wrap\",\"nowrap\",\"balance\",\"pretty\"]}],indent:[{indent:d()}],\"vertical-align\":[{align:[\"baseline\",\"top\",\"middle\",\"bottom\",\"text-top\",\"text-bottom\",\"sub\",\"super\",a]}],whitespace:[{whitespace:[\"normal\",\"nowrap\",\"pre\",\"pre-line\",\"pre-wrap\",\"break-spaces\"]}],break:[{break:[\"normal\",\"words\",\"all\",\"keep\"]}],hyphens:[{hyphens:[\"none\",\"manual\",\"auto\"]}],content:[{content:[\"none\",a]}],\"bg-attachment\":[{bg:[\"fixed\",\"local\",\"scroll\"]}],\"bg-clip\":[{\"bg-clip\":[\"border\",\"padding\",\"content\",\"text\"]}],\"bg-opacity\":[{\"bg-opacity\":[f]}],\"bg-origin\":[{\"bg-origin\":[\"border\",\"padding\",\"content\"]}],\"bg-position\":[{bg:[...H(),qe]}],\"bg-repeat\":[{bg:[\"no-repeat\",{repeat:[\"\",\"x\",\"y\",\"round\",\"space\"]}]}],\"bg-size\":[{bg:[\"auto\",\"cover\",\"contain\",Oe]}],\"bg-image\":[{bg:[\"none\",{\"gradient-to\":[\"t\",\"tr\",\"r\",\"br\",\"b\",\"bl\",\"l\",\"tl\"]},Ze]}],\"bg-color\":[{bg:[e]}],\"gradient-from-pos\":[{from:[w]}],\"gradient-via-pos\":[{via:[w]}],\"gradient-to-pos\":[{to:[w]}],\"gradient-from\":[{from:[v]}],\"gradient-via\":[{via:[v]}],\"gradient-to\":[{to:[v]}],rounded:[{rounded:[n]}],\"rounded-s\":[{\"rounded-s\":[n]}],\"rounded-e\":[{\"rounded-e\":[n]}],\"rounded-t\":[{\"rounded-t\":[n]}],\"rounded-r\":[{\"rounded-r\":[n]}],\"rounded-b\":[{\"rounded-b\":[n]}],\"rounded-l\":[{\"rounded-l\":[n]}],\"rounded-ss\":[{\"rounded-ss\":[n]}],\"rounded-se\":[{\"rounded-se\":[n]}],\"rounded-ee\":[{\"rounded-ee\":[n]}],\"rounded-es\":[{\"rounded-es\":[n]}],\"rounded-tl\":[{\"rounded-tl\":[n]}],\"rounded-tr\":[{\"rounded-tr\":[n]}],\"rounded-br\":[{\"rounded-br\":[n]}],\"rounded-bl\":[{\"rounded-bl\":[n]}],\"border-w\":[{border:[s]}],\"border-w-x\":[{\"border-x\":[s]}],\"border-w-y\":[{\"border-y\":[s]}],\"border-w-s\":[{\"border-s\":[s]}],\"border-w-e\":[{\"border-e\":[s]}],\"border-w-t\":[{\"border-t\":[s]}],\"border-w-r\":[{\"border-r\":[s]}],\"border-w-b\":[{\"border-b\":[s]}],\"border-w-l\":[{\"border-l\":[s]}],\"border-opacity\":[{\"border-opacity\":[f]}],\"border-style\":[{border:[...j(),\"hidden\"]}],\"divide-x\":[{\"divide-x\":[s]}],\"divide-x-reverse\":[\"divide-x-reverse\"],\"divide-y\":[{\"divide-y\":[s]}],\"divide-y-reverse\":[\"divide-y-reverse\"],\"divide-opacity\":[{\"divide-opacity\":[f]}],\"divide-style\":[{divide:j()}],\"border-color\":[{border:[i]}],\"border-color-x\":[{\"border-x\":[i]}],\"border-color-y\":[{\"border-y\":[i]}],\"border-color-s\":[{\"border-s\":[i]}],\"border-color-e\":[{\"border-e\":[i]}],\"border-color-t\":[{\"border-t\":[i]}],\"border-color-r\":[{\"border-r\":[i]}],\"border-color-b\":[{\"border-b\":[i]}],\"border-color-l\":[{\"border-l\":[i]}],\"divide-color\":[{divide:[i]}],\"outline-style\":[{outline:[\"\",...j()]}],\"outline-offset\":[{\"outline-offset\":[C,a]}],\"outline-w\":[{outline:[C,z]}],\"outline-color\":[{outline:[e]}],\"ring-w\":[{ring:Y()}],\"ring-w-inset\":[\"ring-inset\"],\"ring-color\":[{ring:[e]}],\"ring-opacity\":[{\"ring-opacity\":[f]}],\"ring-offset-w\":[{\"ring-offset\":[C,z]}],\"ring-offset-color\":[{\"ring-offset\":[e]}],shadow:[{shadow:[\"\",\"inner\",\"none\",M,Je]}],\"shadow-color\":[{shadow:[T]}],opacity:[{opacity:[f]}],\"mix-blend\":[{\"mix-blend\":[...Q(),\"plus-lighter\",\"plus-darker\"]}],\"bg-blend\":[{\"bg-blend\":Q()}],filter:[{filter:[\"\",\"none\"]}],blur:[{blur:[t]}],brightness:[{brightness:[o]}],contrast:[{contrast:[u]}],\"drop-shadow\":[{\"drop-shadow\":[\"\",\"none\",M,a]}],grayscale:[{grayscale:[g]}],\"hue-rotate\":[{\"hue-rotate\":[m]}],invert:[{invert:[y]}],saturate:[{saturate:[P]}],sepia:[{sepia:[B]}],\"backdrop-filter\":[{\"backdrop-filter\":[\"\",\"none\"]}],\"backdrop-blur\":[{\"backdrop-blur\":[t]}],\"backdrop-brightness\":[{\"backdrop-brightness\":[o]}],\"backdrop-contrast\":[{\"backdrop-contrast\":[u]}],\"backdrop-grayscale\":[{\"backdrop-grayscale\":[g]}],\"backdrop-hue-rotate\":[{\"backdrop-hue-rotate\":[m]}],\"backdrop-invert\":[{\"backdrop-invert\":[y]}],\"backdrop-opacity\":[{\"backdrop-opacity\":[f]}],\"backdrop-saturate\":[{\"backdrop-saturate\":[P]}],\"backdrop-sepia\":[{\"backdrop-sepia\":[B]}],\"border-collapse\":[{border:[\"collapse\",\"separate\"]}],\"border-spacing\":[{\"border-spacing\":[l]}],\"border-spacing-x\":[{\"border-spacing-x\":[l]}],\"border-spacing-y\":[{\"border-spacing-y\":[l]}],\"table-layout\":[{table:[\"auto\",\"fixed\"]}],caption:[{caption:[\"top\",\"bottom\"]}],transition:[{transition:[\"none\",\"all\",\"\",\"colors\",\"opacity\",\"shadow\",\"transform\",a]}],duration:[{duration:k()}],ease:[{ease:[\"linear\",\"in\",\"out\",\"in-out\",a]}],delay:[{delay:k()}],animate:[{animate:[\"none\",\"spin\",\"ping\",\"pulse\",\"bounce\",a]}],transform:[{transform:[\"\",\"gpu\",\"none\"]}],scale:[{scale:[S]}],\"scale-x\":[{\"scale-x\":[S]}],\"scale-y\":[{\"scale-y\":[S]}],rotate:[{rotate:[I,a]}],\"translate-x\":[{\"translate-x\":[X]}],\"translate-y\":[{\"translate-y\":[X]}],\"skew-x\":[{\"skew-x\":[Z]}],\"skew-y\":[{\"skew-y\":[Z]}],\"transform-origin\":[{origin:[\"center\",\"top\",\"top-right\",\"right\",\"bottom-right\",\"bottom\",\"bottom-left\",\"left\",\"top-left\",a]}],accent:[{accent:[\"auto\",e]}],appearance:[{appearance:[\"none\",\"auto\"]}],cursor:[{cursor:[\"auto\",\"default\",\"pointer\",\"wait\",\"text\",\"move\",\"help\",\"not-allowed\",\"none\",\"context-menu\",\"progress\",\"cell\",\"crosshair\",\"vertical-text\",\"alias\",\"copy\",\"no-drop\",\"grab\",\"grabbing\",\"all-scroll\",\"col-resize\",\"row-resize\",\"n-resize\",\"e-resize\",\"s-resize\",\"w-resize\",\"ne-resize\",\"nw-resize\",\"se-resize\",\"sw-resize\",\"ew-resize\",\"ns-resize\",\"nesw-resize\",\"nwse-resize\",\"zoom-in\",\"zoom-out\",a]}],\"caret-color\":[{caret:[e]}],\"pointer-events\":[{\"pointer-events\":[\"none\",\"auto\"]}],resize:[{resize:[\"none\",\"y\",\"x\",\"\"]}],\"scroll-behavior\":[{scroll:[\"auto\",\"smooth\"]}],\"scroll-m\":[{\"scroll-m\":d()}],\"scroll-mx\":[{\"scroll-mx\":d()}],\"scroll-my\":[{\"scroll-my\":d()}],\"scroll-ms\":[{\"scroll-ms\":d()}],\"scroll-me\":[{\"scroll-me\":d()}],\"scroll-mt\":[{\"scroll-mt\":d()}],\"scroll-mr\":[{\"scroll-mr\":d()}],\"scroll-mb\":[{\"scroll-mb\":d()}],\"scroll-ml\":[{\"scroll-ml\":d()}],\"scroll-p\":[{\"scroll-p\":d()}],\"scroll-px\":[{\"scroll-px\":d()}],\"scroll-py\":[{\"scroll-py\":d()}],\"scroll-ps\":[{\"scroll-ps\":d()}],\"scroll-pe\":[{\"scroll-pe\":d()}],\"scroll-pt\":[{\"scroll-pt\":d()}],\"scroll-pr\":[{\"scroll-pr\":d()}],\"scroll-pb\":[{\"scroll-pb\":d()}],\"scroll-pl\":[{\"scroll-pl\":d()}],\"snap-align\":[{snap:[\"start\",\"end\",\"center\",\"align-none\"]}],\"snap-stop\":[{snap:[\"normal\",\"always\"]}],\"snap-type\":[{snap:[\"none\",\"x\",\"y\",\"both\"]}],\"snap-strictness\":[{snap:[\"mandatory\",\"proximity\"]}],touch:[{touch:[\"auto\",\"none\",\"manipulation\"]}],\"touch-x\":[{\"touch-pan\":[\"x\",\"left\",\"right\"]}],\"touch-y\":[{\"touch-pan\":[\"y\",\"up\",\"down\"]}],\"touch-pz\":[\"touch-pinch-zoom\"],select:[{select:[\"none\",\"text\",\"all\",\"auto\"]}],\"will-change\":[{\"will-change\":[\"auto\",\"scroll\",\"contents\",\"transform\",a]}],fill:[{fill:[e,\"none\"]}],\"stroke-w\":[{stroke:[C,z,O]}],stroke:[{stroke:[e,\"none\"]}],sr:[\"sr-only\",\"not-sr-only\"],\"forced-color-adjust\":[{\"forced-color-adjust\":[\"auto\",\"none\"]}]},conflictingClassGroups:{overflow:[\"overflow-x\",\"overflow-y\"],overscroll:[\"overscroll-x\",\"overscroll-y\"],inset:[\"inset-x\",\"inset-y\",\"start\",\"end\",\"top\",\"right\",\"bottom\",\"left\"],\"inset-x\":[\"right\",\"left\"],\"inset-y\":[\"top\",\"bottom\"],flex:[\"basis\",\"grow\",\"shrink\"],gap:[\"gap-x\",\"gap-y\"],p:[\"px\",\"py\",\"ps\",\"pe\",\"pt\",\"pr\",\"pb\",\"pl\"],px:[\"pr\",\"pl\"],py:[\"pt\",\"pb\"],m:[\"mx\",\"my\",\"ms\",\"me\",\"mt\",\"mr\",\"mb\",\"ml\"],mx:[\"mr\",\"ml\"],my:[\"mt\",\"mb\"],size:[\"w\",\"h\"],\"font-size\":[\"leading\"],\"fvn-normal\":[\"fvn-ordinal\",\"fvn-slashed-zero\",\"fvn-figure\",\"fvn-spacing\",\"fvn-fraction\"],\"fvn-ordinal\":[\"fvn-normal\"],\"fvn-slashed-zero\":[\"fvn-normal\"],\"fvn-figure\":[\"fvn-normal\"],\"fvn-spacing\":[\"fvn-normal\"],\"fvn-fraction\":[\"fvn-normal\"],\"line-clamp\":[\"display\",\"overflow\"],rounded:[\"rounded-s\",\"rounded-e\",\"rounded-t\",\"rounded-r\",\"rounded-b\",\"rounded-l\",\"rounded-ss\",\"rounded-se\",\"rounded-ee\",\"rounded-es\",\"rounded-tl\",\"rounded-tr\",\"rounded-br\",\"rounded-bl\"],\"rounded-s\":[\"rounded-ss\",\"rounded-es\"],\"rounded-e\":[\"rounded-se\",\"rounded-ee\"],\"rounded-t\":[\"rounded-tl\",\"rounded-tr\"],\"rounded-r\":[\"rounded-tr\",\"rounded-br\"],\"rounded-b\":[\"rounded-br\",\"rounded-bl\"],\"rounded-l\":[\"rounded-tl\",\"rounded-bl\"],\"border-spacing\":[\"border-spacing-x\",\"border-spacing-y\"],\"border-w\":[\"border-w-s\",\"border-w-e\",\"border-w-t\",\"border-w-r\",\"border-w-b\",\"border-w-l\"],\"border-w-x\":[\"border-w-r\",\"border-w-l\"],\"border-w-y\":[\"border-w-t\",\"border-w-b\"],\"border-color\":[\"border-color-s\",\"border-color-e\",\"border-color-t\",\"border-color-r\",\"border-color-b\",\"border-color-l\"],\"border-color-x\":[\"border-color-r\",\"border-color-l\"],\"border-color-y\":[\"border-color-t\",\"border-color-b\"],\"scroll-m\":[\"scroll-mx\",\"scroll-my\",\"scroll-ms\",\"scroll-me\",\"scroll-mt\",\"scroll-mr\",\"scroll-mb\",\"scroll-ml\"],\"scroll-mx\":[\"scroll-mr\",\"scroll-ml\"],\"scroll-my\":[\"scroll-mt\",\"scroll-mb\"],\"scroll-p\":[\"scroll-px\",\"scroll-py\",\"scroll-ps\",\"scroll-pe\",\"scroll-pt\",\"scroll-pr\",\"scroll-pb\",\"scroll-pl\"],\"scroll-px\":[\"scroll-pr\",\"scroll-pl\"],\"scroll-py\":[\"scroll-pt\",\"scroll-pb\"],touch:[\"touch-x\",\"touch-y\",\"touch-pz\"],\"touch-x\":[\"touch\"],\"touch-y\":[\"touch\"],\"touch-pz\":[\"touch\"]},conflictingClassGroupModifiers:{\"font-size\":[\"leading\"]}}},Qe=(e,{cacheSize:r,prefix:t,separator:o,experimentalParseClassName:i,extend:n={},override:l={}})=>{N(e,\"cacheSize\",r),N(e,\"prefix\",t),N(e,\"separator\",o),N(e,\"experimentalParseClassName\",i);for(let s in l)De(e[s],l[s]);for(let s in n)er(e[s],n[s]);return e},N=(e,r,t)=>{t!==void 0&&(e[r]=t)},De=(e,r)=>{if(r)for(let t in r)N(e,t,r[t])},er=(e,r)=>{if(r)for(let t in r){let o=r[t];o!==void 0&&(e[t]=(e[t]||[]).concat(o))}},be=(e,...r)=>typeof e==\"function\"?le(W,e,...r):le(()=>Qe(W(),e),...r);var rr=W(),ge=be(()=>oe(_({},rr),{prefix:\"tw-\"}));0&&(module.exports={formatFileSize,twMerge});\n","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) { ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgQuestionCircle = function SvgQuestionCircle(props) {\n  return /*#__PURE__*/React.createElement(\"svg\", _extends({\n    width: 24,\n    height: 24,\n    viewBox: \"0 0 24 24\",\n    xmlns: \"http://www.w3.org/2000/svg\",\n    \"aria-hidden\": \"true\"\n  }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n    fillRule: \"evenodd\",\n    clipRule: \"evenodd\",\n    d: \"M3 12C3 7.02944 7.02944 3 12 3C16.9706 3 21 7.02944 21 12C21 16.9706 16.9706 21 12 21C7.02944 21 3 16.9706 3 12ZM12 1C5.92487 1 1 5.92487 1 12C1 18.0751 5.92487 23 12 23C18.0751 23 23 18.0751 23 12C23 5.92487 18.0751 1 12 1ZM11.952 7C10.9879 7 10.1911 7.64781 9.96747 8.50299C9.82774 9.03731 9.28132 9.35719 8.74701 9.21747C8.21269 9.07774 7.89281 8.53132 8.03253 7.99701C8.48562 6.26435 10.0755 5 11.952 5C14.1726 5 16 6.77595 16 9C16 10.2955 15.3762 11.4431 14.4204 12.1705C13.9892 12.4987 13.6041 12.8196 13.3276 13.1575C13.0552 13.4901 12.952 13.7614 12.952 14V15C12.952 15.5523 12.5043 16 11.952 16C11.3997 16 10.952 15.5523 10.952 15V14C10.952 13.134 11.3407 12.4272 11.78 11.8905C12.2151 11.3591 12.7615 10.9197 13.2092 10.5789C13.6954 10.2089 14 9.63723 14 9C14 7.91034 13.0981 7 11.952 7ZM13 18C13 18.5523 12.5523 19 12 19C11.4477 19 11 18.5523 11 18C11 17.4477 11.4477 17 12 17C12.5523 17 13 17.4477 13 18Z\",\n    fill: \"currentColor\"\n  })));\n};\nexport { SvgQuestionCircle as ReactComponent };\nexport default \"<svg width=\\\"24\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" aria-hidden=\\\"true\\\">\\n  <path fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" d=\\\"M3 12C3 7.02944 7.02944 3 12 3C16.9706 3 21 7.02944 21 12C21 16.9706 16.9706 21 12 21C7.02944 21 3 16.9706 3 12ZM12 1C5.92487 1 1 5.92487 1 12C1 18.0751 5.92487 23 12 23C18.0751 23 23 18.0751 23 12C23 5.92487 18.0751 1 12 1ZM11.952 7C10.9879 7 10.1911 7.64781 9.96747 8.50299C9.82774 9.03731 9.28132 9.35719 8.74701 9.21747C8.21269 9.07774 7.89281 8.53132 8.03253 7.99701C8.48562 6.26435 10.0755 5 11.952 5C14.1726 5 16 6.77595 16 9C16 10.2955 15.3762 11.4431 14.4204 12.1705C13.9892 12.4987 13.6041 12.8196 13.3276 13.1575C13.0552 13.4901 12.952 13.7614 12.952 14V15C12.952 15.5523 12.5043 16 11.952 16C11.3997 16 10.952 15.5523 10.952 15V14C10.952 13.134 11.3407 12.4272 11.78 11.8905C12.2151 11.3591 12.7615 10.9197 13.2092 10.5789C13.6954 10.2089 14 9.63723 14 9C14 7.91034 13.0981 7 11.952 7ZM13 18C13 18.5523 12.5523 19 12 19C11.4477 19 11 18.5523 11 18C11 17.4477 11.4477 17 12 17C12.5523 17 13 17.4477 13 18Z\\\" fill=\\\"currentColor\\\"/>\\n</svg>\\n\";","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) { ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgSearch = function SvgSearch(props) {\n  return /*#__PURE__*/React.createElement(\"svg\", _extends({\n    width: 24,\n    height: 24,\n    viewBox: \"0 0 24 24\",\n    xmlns: \"http://www.w3.org/2000/svg\",\n    \"aria-hidden\": \"true\"\n  }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n    fillRule: \"evenodd\",\n    clipRule: \"evenodd\",\n    d: \"M4 11C4 7.13401 7.13401 4 11 4C14.866 4 18 7.13401 18 11C18 14.866 14.866 18 11 18C7.13401 18 4 14.866 4 11ZM11 2C6.02944 2 2 6.02944 2 11C2 15.9706 6.02944 20 11 20C13.125 20 15.078 19.2635 16.6177 18.0319L20.2929 21.7071C20.6834 22.0976 21.3166 22.0976 21.7071 21.7071C22.0976 21.3166 22.0976 20.6834 21.7071 20.2929L18.0319 16.6177C19.2635 15.078 20 13.125 20 11C20 6.02944 15.9706 2 11 2Z\",\n    fill: \"currentColor\"\n  })));\n};\nexport { SvgSearch as ReactComponent };\nexport default \"<svg width=\\\"24\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" aria-hidden=\\\"true\\\">\\n  <path fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" d=\\\"M4 11C4 7.13401 7.13401 4 11 4C14.866 4 18 7.13401 18 11C18 14.866 14.866 18 11 18C7.13401 18 4 14.866 4 11ZM11 2C6.02944 2 2 6.02944 2 11C2 15.9706 6.02944 20 11 20C13.125 20 15.078 19.2635 16.6177 18.0319L20.2929 21.7071C20.6834 22.0976 21.3166 22.0976 21.7071 21.7071C22.0976 21.3166 22.0976 20.6834 21.7071 20.2929L18.0319 16.6177C19.2635 15.078 20 13.125 20 11C20 6.02944 15.9706 2 11 2Z\\\" fill=\\\"currentColor\\\"/>\\n</svg>\\n\";","var getDefaultParent = function (originalTarget) {\n    if (typeof document === 'undefined') {\n        return null;\n    }\n    var sampleTarget = Array.isArray(originalTarget) ? originalTarget[0] : originalTarget;\n    return sampleTarget.ownerDocument.body;\n};\nvar counterMap = new WeakMap();\nvar uncontrolledNodes = new WeakMap();\nvar markerMap = {};\nvar lockCount = 0;\nvar unwrapHost = function (node) {\n    return node && (node.host || unwrapHost(node.parentNode));\n};\nvar correctTargets = function (parent, targets) {\n    return targets\n        .map(function (target) {\n        if (parent.contains(target)) {\n            return target;\n        }\n        var correctedTarget = unwrapHost(target);\n        if (correctedTarget && parent.contains(correctedTarget)) {\n            return correctedTarget;\n        }\n        console.error('aria-hidden', target, 'in not contained inside', parent, '. Doing nothing');\n        return null;\n    })\n        .filter(function (x) { return Boolean(x); });\n};\n/**\n * Marks everything except given node(or nodes) as aria-hidden\n * @param {Element | Element[]} originalTarget - elements to keep on the page\n * @param [parentNode] - top element, defaults to document.body\n * @param {String} [markerName] - a special attribute to mark every node\n * @param {String} [controlAttribute] - html Attribute to control\n * @return {Undo} undo command\n */\nvar applyAttributeToOthers = function (originalTarget, parentNode, markerName, controlAttribute) {\n    var targets = correctTargets(parentNode, Array.isArray(originalTarget) ? originalTarget : [originalTarget]);\n    if (!markerMap[markerName]) {\n        markerMap[markerName] = new WeakMap();\n    }\n    var markerCounter = markerMap[markerName];\n    var hiddenNodes = [];\n    var elementsToKeep = new Set();\n    var elementsToStop = new Set(targets);\n    var keep = function (el) {\n        if (!el || elementsToKeep.has(el)) {\n            return;\n        }\n        elementsToKeep.add(el);\n        keep(el.parentNode);\n    };\n    targets.forEach(keep);\n    var deep = function (parent) {\n        if (!parent || elementsToStop.has(parent)) {\n            return;\n        }\n        Array.prototype.forEach.call(parent.children, function (node) {\n            if (elementsToKeep.has(node)) {\n                deep(node);\n            }\n            else {\n                try {\n                    var attr = node.getAttribute(controlAttribute);\n                    var alreadyHidden = attr !== null && attr !== 'false';\n                    var counterValue = (counterMap.get(node) || 0) + 1;\n                    var markerValue = (markerCounter.get(node) || 0) + 1;\n                    counterMap.set(node, counterValue);\n                    markerCounter.set(node, markerValue);\n                    hiddenNodes.push(node);\n                    if (counterValue === 1 && alreadyHidden) {\n                        uncontrolledNodes.set(node, true);\n                    }\n                    if (markerValue === 1) {\n                        node.setAttribute(markerName, 'true');\n                    }\n                    if (!alreadyHidden) {\n                        node.setAttribute(controlAttribute, 'true');\n                    }\n                }\n                catch (e) {\n                    console.error('aria-hidden: cannot operate on ', node, e);\n                }\n            }\n        });\n    };\n    deep(parentNode);\n    elementsToKeep.clear();\n    lockCount++;\n    return function () {\n        hiddenNodes.forEach(function (node) {\n            var counterValue = counterMap.get(node) - 1;\n            var markerValue = markerCounter.get(node) - 1;\n            counterMap.set(node, counterValue);\n            markerCounter.set(node, markerValue);\n            if (!counterValue) {\n                if (!uncontrolledNodes.has(node)) {\n                    node.removeAttribute(controlAttribute);\n                }\n                uncontrolledNodes.delete(node);\n            }\n            if (!markerValue) {\n                node.removeAttribute(markerName);\n            }\n        });\n        lockCount--;\n        if (!lockCount) {\n            // clear\n            counterMap = new WeakMap();\n            counterMap = new WeakMap();\n            uncontrolledNodes = new WeakMap();\n            markerMap = {};\n        }\n    };\n};\n/**\n * Marks everything except given node(or nodes) as aria-hidden\n * @param {Element | Element[]} originalTarget - elements to keep on the page\n * @param [parentNode] - top element, defaults to document.body\n * @param {String} [markerName] - a special attribute to mark every node\n * @return {Undo} undo command\n */\nexport var hideOthers = function (originalTarget, parentNode, markerName) {\n    if (markerName === void 0) { markerName = 'data-aria-hidden'; }\n    var targets = Array.from(Array.isArray(originalTarget) ? originalTarget : [originalTarget]);\n    var activeParentNode = parentNode || getDefaultParent(originalTarget);\n    if (!activeParentNode) {\n        return function () { return null; };\n    }\n    // we should not hide ariaLive elements - https://github.com/theKashey/aria-hidden/issues/10\n    targets.push.apply(targets, Array.from(activeParentNode.querySelectorAll('[aria-live]')));\n    return applyAttributeToOthers(targets, activeParentNode, markerName, 'aria-hidden');\n};\n/**\n * Marks everything except given node(or nodes) as inert\n * @param {Element | Element[]} originalTarget - elements to keep on the page\n * @param [parentNode] - top element, defaults to document.body\n * @param {String} [markerName] - a special attribute to mark every node\n * @return {Undo} undo command\n */\nexport var inertOthers = function (originalTarget, parentNode, markerName) {\n    if (markerName === void 0) { markerName = 'data-inert-ed'; }\n    var activeParentNode = parentNode || getDefaultParent(originalTarget);\n    if (!activeParentNode) {\n        return function () { return null; };\n    }\n    return applyAttributeToOthers(originalTarget, activeParentNode, markerName, 'inert');\n};\n/**\n * @returns if current browser supports inert\n */\nexport var supportsInert = function () {\n    return typeof HTMLElement !== 'undefined' && HTMLElement.prototype.hasOwnProperty('inert');\n};\n/**\n * Automatic function to \"suppress\" DOM elements - _hide_ or _inert_ in the best possible way\n * @param {Element | Element[]} originalTarget - elements to keep on the page\n * @param [parentNode] - top element, defaults to document.body\n * @param {String} [markerName] - a special attribute to mark every node\n * @return {Undo} undo command\n */\nexport var suppressOthers = function (originalTarget, parentNode, markerName) {\n    if (markerName === void 0) { markerName = 'data-suppressed'; }\n    return (supportsInert() ? inertOthers : hideOthers)(originalTarget, parentNode, markerName);\n};\n","import React, { useEffect, useState, useRef } from 'react'\nimport { createRoot } from 'react-dom/client'\n\ntype SnackbarMessage = { message: string; link?: { url: string; text: string } }\n\nconst showEvent = 'kundo--snackbar:show'\n\nexport const triggerSnackbar = (\n  message: SnackbarMessage['message'],\n  link?: SnackbarMessage['link'],\n): void => {\n  document.dispatchEvent(\n    new CustomEvent(showEvent, {\n      detail: { message, link },\n    }),\n  )\n}\n\nexport default function Snackbar() {\n  const snackRef = useRef<HTMLDivElement | null>(null)\n  const [activeMessage, setActiveMessage] = useState<SnackbarMessage | null>(null)\n  const queue = useRef<SnackbarMessage[]>([])\n\n  useEffect(() => {\n    const listener = ({ detail }: CustomEvent<SnackbarMessage>) => {\n      if (activeMessage) {\n        queue.current.push(detail)\n      } else {\n        setActiveMessage(detail)\n      }\n    }\n    document.addEventListener(showEvent, listener)\n\n    return () => document.removeEventListener(showEvent, listener)\n  }, [activeMessage])\n\n  useEffect(() => {\n    const timer = setTimeout(() => {\n      if (queue.current.length) {\n        const first = queue.current[0]\n        queue.current = queue.current.slice(1)\n        setActiveMessage(first)\n      } else {\n        setActiveMessage(null)\n      }\n    }, 8000)\n    return () => clearTimeout(timer)\n  }, [activeMessage])\n\n  const calculatePosition = (scrollHeight: number) => {\n    if (snackRef.current) {\n      if (scrollHeight >= 64) {\n        snackRef.current.style.position = 'fixed'\n        snackRef.current.style.top = '8px'\n      } else {\n        snackRef.current.style.position = 'absolute'\n        snackRef.current.style.top = '66px'\n      }\n    }\n  }\n\n  useEffect(() => {\n    const listener = (e: any) => calculatePosition(e.target?.scrollingElement.scrollTop)\n\n    document.addEventListener('scroll', listener)\n\n    return () => {\n      document.removeEventListener('scroll', listener)\n    }\n  }, [])\n\n  const initSnackRef = (el: HTMLDivElement) => {\n    snackRef.current = el\n    calculatePosition(window.scrollY)\n  }\n\n  return (\n    activeMessage && (\n      <div\n        ref={initSnackRef}\n        className=\"snackbar\"\n        aria-live=\"polite\"\n      >\n        <div className=\"snackbar-message\">{activeMessage.message}</div>\n        {activeMessage.link && (\n          <div className=\"snackbar-button btn-wrapper btn-wrapper--justify-right\">\n            <a\n              href={activeMessage.link.url}\n              className=\"btn btn--small btn--tertiary btn--tertiary-small\"\n            >\n              {activeMessage.link.text}\n            </a>\n          </div>\n        )}\n      </div>\n    )\n  )\n}\n\nexport const initSnackbar = () => {\n  const container = $('<div id=\"snackbar-container\"></div>')\n  container.appendTo(document.body)\n  const root = createRoot(container[0])\n  root.render(<Snackbar />)\n\n  const flashMessages = Array.from(document.querySelectorAll('[data-fn-snackbar-message]'))\n  setTimeout(() => {\n    flashMessages.forEach((el) => {\n      const message = el.getAttribute('data-message-content')\n      const message_type = el.getAttribute('data-message-type')\n      if (message && message_type === 'info') triggerSnackbar(message)\n    })\n  }, 0)\n}\n","import { useEffect, useRef, useState } from 'react'\nimport { match } from 'ts-pattern'\n\nexport enum StateType {\n  Idle,\n  Loading,\n  Done,\n  Error,\n}\n\nexport type NetworkState<T> =\n  | { type: StateType.Idle }\n  | { type: StateType.Loading }\n  | { type: StateType.Done; payload: T }\n  | { type: StateType.Error; payload: any }\n\ntype Endpoint = string\n\ntype Endpoints = {\n  editortools: {\n    assign: (id: string) => Endpoint\n    handled: (id: string) => Endpoint\n    archived: (id: string) => Endpoint\n    locked: (id: string) => Endpoint\n    priority: (id: string) => Endpoint\n    tags: (id: string) => Endpoint\n    status: (id: string) => Endpoint\n  }\n  comments: {\n    get: (id: string) => Endpoint\n    create: (id: string) => Endpoint\n    update: (id: string, comment: number) => Endpoint\n    delete: (id: string, comment: number) => Endpoint\n  }\n  activity: {\n    create: (slug: string, id: string) => Endpoint\n    changeChannel: (org: number, id: string) => Endpoint\n    channels: (org: number) => Endpoint\n    dashboardItem: (org: number, id: string) => Endpoint\n    delete: (slug: string, id: string) => Endpoint\n    drafts: (org: number) => Endpoint\n    user: (org: number, id: string) => Endpoint\n  }\n  user: {\n    profile: (id: string) => Endpoint\n    search: (org: number) => Endpoint\n  }\n  externalConversations: {\n    conversations: (itemId: string) => Endpoint\n    entries: (itemId: string, conversationId: string) => Endpoint\n  }\n  ai: {\n    smartSuggestions: (\n      inboxSlug: string,\n      dialogSlug: string,\n      mailCommentId: number | null,\n    ) => Endpoint\n    keywordSearch: (\n      inboxSlug: string,\n      dialogSlug: string,\n      searchTerm: string,\n      mailCommentId: number | null,\n    ) => Endpoint\n  }\n  ticket: {\n    cancelCsatSurvey: (publicId: string) => Endpoint\n    csatSurveyStatus: (publicId: string) => Endpoint\n  }\n}\n\nexport const endpoints: Endpoints = {\n  editortools: {\n    assign: (id) => `/dashboard/di/${id}/tools/assign_to/`,\n    handled: (id) => `/dashboard/di/${id}/tools/no_reply_required/?field=no_reply_required`,\n    archived: (id: string) => `/dashboard/di/${id}/tools/archived/?field=archived`,\n    locked: (id: string) => `/dashboard/di/${id}/tools/locked/?field=locked`,\n    priority: (id: string) => `/dashboard/di/${id}/tools/set_priority/`,\n    tags: (id: string) => `/dashboard/di/${id}/tags/`,\n    status: (id: string) => `/dashboard/di/${id}/tools/status/`,\n  },\n  comments: {\n    get: (id: string) => `/dashboard/di/${id}/comments/`,\n    create: (id: string) => `/dashboard/di/${id}/comments/create/`,\n    update: (id: string, comment: number) => `/dashboard/di/${id}/comments/${comment}/`,\n    delete: (id: string, comment: number) => `/dashboard/di/${id}/comments/${comment}/delete/`,\n  },\n  activity: {\n    create: (slug, id) => `/activity/${slug}/a/${id}/draft/`,\n    changeChannel: (org, id) => `/dashboard/${org}/activity/a/${id}/channel/`,\n    channels: (org) => `/dashboard/${org}/activity/channels/`,\n    dashboardItem: (org, id) => `/dashboard/${org}/activity/a/${id}/dashboard-item/`,\n    delete: (slug, id) => `/activity/${slug}/a/${id}/delete/`,\n    drafts: (org) => `/dashboard/${org}/activity/drafts/`,\n    user: (org, id) => `/dashboard/${org}/activity/a/${id}/user/`,\n  },\n  user: {\n    profile: (id) => `/profile/show/${id}/`,\n    search: (org) => `/profile/search/${org}/`,\n  },\n  externalConversations: {\n    conversations: (itemId) => `/dashboard/external-conversations/${itemId}/`,\n    entries: (itemId, conversationId) =>\n      `/dashboard/external-conversations/${itemId}/${conversationId}/`,\n  },\n  ai: {\n    smartSuggestions: (inboxSlug, dialogSlug, mailCommentId) =>\n      `/smart-replies/inbox/${inboxSlug}/relevant-suggestions/${dialogSlug}?mailCommentId=${mailCommentId}`,\n    keywordSearch: (inboxSlug, dialogSlug, searchTerm, mailCommentId) =>\n      `/smart-replies/inbox/${inboxSlug}/search-suggestions/${dialogSlug}/${searchTerm}?mailCommentId=${mailCommentId}`,\n  },\n  ticket: {\n    cancelCsatSurvey: (publicId: string) => `/bff/tickets/${publicId}/cancel-csat-survey`,\n    csatSurveyStatus: (publicId: string) => `/bff/tickets/${publicId}/csat-survey-status`,\n  },\n}\n\nexport enum HTTP {\n  GET,\n  PUT,\n  POST,\n  DELETE,\n  PATCH,\n}\n\nexport type RequestFn<T, U> = (data?: U) => Promise<T>\n\nexport default function useApi<T, U = {}>(\n  verb: HTTP,\n  endpoint: Endpoint,\n): [NetworkState<T>, RequestFn<T, U>] {\n  const isUnmounted = useRef(false)\n  const dataType = 'json'\n\n  useEffect(() => {\n    isUnmounted.current = false\n\n    return () => {\n      isUnmounted.current = true\n    }\n  }, [])\n\n  const [networkState, setNetworkState] = useState<NetworkState<T>>({\n    type: StateType.Idle,\n  })\n\n  const handleResponse = (promise: Promise<T>) => {\n    if (isUnmounted.current) return promise\n    setNetworkState({ type: StateType.Loading })\n\n    return promise\n      .then((payload: T) => {\n        if (isUnmounted.current) return\n        setNetworkState({ type: StateType.Done, payload })\n        return payload\n      })\n      .catch((x) => {\n        if (isUnmounted.current) return\n        setNetworkState({ type: StateType.Error, payload: x })\n        return x\n      })\n  }\n\n  const request = match<HTTP, RequestFn<T, U>>(verb)\n    .with(\n      HTTP.GET,\n      () => (): Promise<T> =>\n        handleResponse(\n          new Promise<T>((resolve, reject) =>\n            $.get({ url: endpoint, dataType }).then(resolve).catch(reject),\n          ),\n        ),\n    )\n    .with(\n      HTTP.POST,\n      () => (data: U) =>\n        handleResponse(\n          new Promise<T>((resolve, reject) =>\n            $.post({ url: endpoint, data, dataType }).then(resolve).catch(reject),\n          ),\n        ),\n    )\n    .with(\n      HTTP.PUT,\n      () => (data: U) =>\n        handleResponse(\n          new Promise<T>((resolve, reject) =>\n            $.ajax({ url: endpoint, type: 'PUT', data: JSON.stringify(data) })\n              .then(resolve)\n              .catch(reject),\n          ),\n        ),\n    )\n    .with(\n      HTTP.DELETE,\n      () => () =>\n        handleResponse(\n          new Promise<T>((resolve, reject) =>\n            $.ajax({ url: endpoint, type: 'DELETE' }).then(resolve).catch(reject),\n          ),\n        ),\n    )\n    .with(\n      HTTP.PATCH,\n      () => (data: U) =>\n        handleResponse(\n          new Promise<T>((resolve, reject) =>\n            $.ajax({\n              url: endpoint,\n              type: 'PATCH',\n              data: JSON.stringify(data),\n              contentType: 'application/json',\n            })\n              .then(resolve)\n              .catch(reject),\n          ),\n        ),\n    )\n    .run()\n\n  return [networkState, request]\n}\n\nexport const request = <T, U = {}>({\n  url,\n  type,\n  data,\n}: {\n  url: string\n  type: 'GET' | 'POST' | 'PUT' | 'DELETE'\n  data?: U\n}): Promise<T> => {\n  return new Promise((resolve, reject) => $.ajax({ url, type, data }).then(resolve).catch(reject))\n}\n","import IconX from '@icons/x.svg'\nimport getFiletypeFromName from './get-filetype-from-name'\n\nexport type File = {\n  filename: string\n  path: string\n  upload_puri?: string\n  url: string\n}\n\nexport class NullAttachmentsList {\n  show_progress_error() {}\n\n  show_error_msg(msg) {\n    alert(msg)\n  }\n\n  show_progress(progress) {}\n\n  hide_progress(progress) {}\n\n  refresh_attachments() {}\n\n  get_files() {\n    throw Error('Should be unused!')\n  }\n\n  add_file(file) {}\n\n  has_file() {}\n\n  remove_file(file_id) {}\n\n  remove_file_by_url(url) {}\n}\n\nexport class LargeAttachmentsList {\n  attachments: JQuery<HTMLElement>\n  json_field: JQuery<HTMLElement>\n  attachment_list: JQuery<HTMLUListElement>\n  label: JQuery<HTMLElement>\n  onChange?: (files: File[]) => void\n\n  constructor(elm: JQuery<HTMLElement>, onChange?: (files: File[]) => void) {\n    this.attachments = elm\n    this.json_field = elm.find('.fn-attachment-list')\n    this.attachment_list = elm.find('ul')\n    this.label = elm.parent().find(`label[for=\"${this.json_field.attr('id')}\"]`)\n    this.onChange = onChange\n\n    const self = this\n    this.attachments.on('click', 'button.fn-large-attachment-list__remove-button', function (e) {\n      e.preventDefault()\n      self.remove_file($(this).data('id'))\n\n      const frame = $('#mail-iframe', window.parent.document)\n      frame.length > 0 && frame.height(document.body.scrollHeight)\n    })\n  }\n\n  refresh_attachments() {\n    this.attachments.find('.fn-errors').remove()\n    this.attachments.find('li').remove()\n\n    const elms = this.get_files().map(this._file_to_element)\n    this.attachment_list.append(elms)\n\n    if (this.attachments.find('li').length) {\n      this.label.show()\n    } else {\n      this.label.hide()\n    }\n  }\n\n  _file_to_element(file) {\n    const fileName = file.filename || file.path.replace(/^.*[\\\\/]/, '')\n    const fileType = getFiletypeFromName(fileName)\n    const button = $(\n      '<button class=\"btn btn--small btn--secondary btn--only-icon fn-large-attachment-list__remove-button\">',\n    )\n      .append(IconX)\n      .append($('<span class=\"visuallyhidden\">').text(TRANSLATIONS.remove))\n    button.data('id', file.url || file.path)\n    const nameLink = $(\n      '<a target=\"_blank\" rel=\"noopener noreferrer\" class=\"large-attachment-list__filename\">',\n    )\n    nameLink.text(fileName)\n    nameLink.attr('href', file.url)\n    const li = $('<li class=\"large-attachment-list__item\">')\n\n    let iconClass = 'large-attachment-list__icon'\n    if (fileType) {\n      iconClass += ` large-attachment-list__icon--${fileType}`\n    }\n    const icon = $(`<span class=\"${iconClass}\">`)\n    if (fileType === 'image') {\n      const img = $('<img>')\n      img.attr('src', file.url)\n      icon.append(img)\n    }\n    li.append(icon)\n    li.append(nameLink)\n    li.append(button)\n    return li\n  }\n\n  show_error_msg(msg) {\n    this.show_progress_error()\n    this.attachments.find('.fn-errors').remove()\n    this.attachments\n      .find('.fn-progress-bar')\n      .before($(`<div class=\"fn-errors field-error-msg error-msg\" aria-live=\"polite\">${msg}</div>`))\n  }\n\n  add_progress_bar(disposition = 'attachment') {\n    this.attachments.find('.fn-progress-bar').parent('li').remove()\n    this.attachment_list.append(\n      '<li><div class=\"fn-progress-bar progress-bar\"><div class=\"progress-bar__progress\" role=\"progressbar\" aria-valuenow=\"0\" aria-valuemin=\"0\" aria-valuemax=\"100\" style=\"width: 0%;\"></div></div><li>',\n    )\n\n    if (disposition === 'attachment') {\n      const attachmentsListElement = this.attachments.get(0)\n      const bounding = attachmentsListElement.getBoundingClientRect()\n      if (!(bounding.top >= 0 && bounding.bottom <= window.innerHeight)) {\n        attachmentsListElement.scrollIntoView({ behavior: 'smooth' })\n      }\n    }\n  }\n\n  show_progress_error() {\n    this.add_progress_bar()\n    const progressBar = this.attachments.find('.fn-progress-bar')\n    progressBar.find('.progress-bar__progress').css('width', '100%')\n    progressBar.addClass('progress-bar--error')\n    progressBar.show()\n    this.attachments.show()\n  }\n\n  show_progress(progress, disposition = 'attachment') {\n    this.attachments.show()\n    this.attachments.find('.fn-errors').remove()\n    let progressBar = this.attachments.find('.fn-progress-bar')\n\n    if (!progressBar.length) {\n      this.add_progress_bar(disposition)\n      progressBar = this.attachments.find('.fn-progress-bar')\n    }\n\n    progressBar\n      .find('.progress-bar__progress')\n      .css('width', `${progress}%`)\n      .attr('aria-valuenow', `${Math.round(progress)}`)\n    progressBar.removeClass('progress-bar--error')\n    progressBar.show()\n  }\n\n  hide_progress(progress) {\n    this.attachments.find('.fn-progress-bar').parent('li').remove()\n  }\n\n  add_file(file) {\n    // path is expected by knowledge\n    // url and filename is expected by new style attachment verification server side\n    const files = this.get_files()\n    files.push({\n      filename: file.filename,\n      path: file.path,\n      url: file.url || file.temporary_url,\n    })\n    this.set_files(files)\n  }\n\n  has_file(file: File) {\n    return this.get_files().filter((f) => f.url === file.url).length > 0\n  }\n\n  remove_file(url: string) {\n    const json = this.get_files().filter((file) => file.url !== url)\n    this.set_files(json)\n  }\n\n  remove_file_by_url(url: string) {\n    const json = this.get_files().filter((file) => file.url !== url)\n    this.set_files(json)\n  }\n\n  get_files(): File[] {\n    return JSON.parse((this.json_field.val() as string) || '[]') || []\n  }\n\n  set_files(files?: File[]) {\n    files = files || []\n    this.json_field.val(JSON.stringify(files)).trigger('change')\n    this.refresh_attachments()\n    if (this.onChange) {\n      this.onChange(files)\n    }\n  }\n}\n","function getFiletypeFromName(filenameIncludingExtension = '') {\n  const extension = filenameIncludingExtension.split('.').pop()!.toLowerCase()\n  const definedFiletypes = {\n    pdf: 'pdf',\n    word: 'word',\n    excel: 'excel',\n    image: 'image',\n  }\n  const mappings = {\n    pdf: definedFiletypes.pdf,\n    doc: definedFiletypes.word,\n    docx: definedFiletypes.word,\n    xls: definedFiletypes.excel,\n    xlsx: definedFiletypes.excel,\n    jpeg: definedFiletypes.image,\n    jpg: definedFiletypes.image,\n    jpe: definedFiletypes.image,\n    png: definedFiletypes.image,\n    gif: definedFiletypes.image,\n    tif: definedFiletypes.image,\n    tiff: definedFiletypes.image,\n  }\n  return mappings[extension]\n}\n\nexport default getFiletypeFromName\n","import { retryFunction } from 'platform/utils'\nimport { LargeAttachmentsList } from './attachmentslist'\nimport KundoFroalaEditor, { getKundoFroalaInstance } from './kundo-froala-editor'\n\nexport const Formatting = {\n  init() {\n    setupTextEditors()\n    setupShortcuts()\n  },\n\n  isTextEditorReady(elm: HTMLElement | JQuery): boolean {\n    return !!getKundoFroalaInstance(elm)?.isInitialized\n  },\n\n  waitForTextEditorReady(elm: HTMLElement | JQuery): Promise<void> {\n    return new Promise((resolve) => {\n      retryFunction(() => {\n        const editor = getKundoFroalaInstance(elm)\n        if (editor) {\n          if (editor.isInitialized) {\n            resolve()\n          } else {\n            editor.on('kundoFroalaInitialized', resolve)\n          }\n        } else {\n          throw new Error('Found no editor')\n        }\n      })\n    })\n  },\n\n  getTextEditorHTML(elm: HTMLElement | JQuery): string {\n    return getKundoFroalaInstance(elm)?.getHTML() || ''\n  },\n\n  setTextEditorHTML(elm: HTMLElement | JQuery, html: null | string) {\n    getKundoFroalaInstance(elm)?.setHTML(html)\n  },\n\n  getTextEditorCaretPosition(elm: HTMLElement | JQuery) {\n    return getKundoFroalaInstance(elm)?.froala.position.getBoundingRect()\n  },\n\n  focusTextEditor(elm: HTMLElement | JQuery) {\n    getKundoFroalaInstance(elm)?.focus()\n  },\n\n  forceTextEditorAutosave(elm: HTMLElement | JQuery) {\n    getKundoFroalaInstance(elm)?.setDirty()\n  },\n}\n\nwindow.KUNDO.formatting = Formatting\n\nfunction handleKeyDown(event: JQuery.KeyDownEvent) {\n  if ((event.metaKey || event.ctrlKey) && event.key === 'Enter' && !event.shiftKey) {\n    event.preventDefault()\n    event.stopPropagation()\n    $(event.target).parents('form').submit()\n    return false\n  }\n}\n\nfunction setupShortcuts() {\n  $('.fn-submit-shortcut').on('keydown', handleKeyDown)\n  $('.fn-text-editor textarea').each((_, elm) => {\n    getKundoFroalaInstance(elm)?.on('keydown', handleKeyDown, true)\n  })\n}\n\nfunction setupTextEditors() {\n  // If no text editor exists, we don't need to do anything ...\n  if ($('.fn-text-editor').length === 0) {\n    return\n  }\n\n  // ... but it's not enough to just find the textareas, since we need to connect\n  // the attachment ids with the toolbar\n  $('form').each((_i, form) => setupTextEditorForm($(form)))\n}\n\nfunction setupTextEditorForm(form: JQuery) {\n  form.find('.fn-text-editor').each((_, elem) => {\n    if (getKundoFroalaInstance(elem)) {\n      return\n    }\n    const attachmentsElm = form.find('.fn-attachments-large')\n\n    const parentObj = (form.find('#id_cmt-parent_object_slug').val() || '') as string\n    const isMailContext = parentObj.startsWith('mail') || form.find('#id_inbox').length > 0\n    const allowLargeUploads = elem.dataset.hasOwnProperty('fnAllowLargeUploads')\n\n    let attachmentsList: undefined | LargeAttachmentsList = undefined\n    if (attachmentsElm.length) {\n      attachmentsList = new LargeAttachmentsList(attachmentsElm)\n      attachmentsList.refresh_attachments()\n    }\n\n    new KundoFroalaEditor($(elem), attachmentsList, isMailContext, allowLargeUploads)\n  })\n}\n","import './formatting'\n\nKUNDO.dependencies.add([KUNDO.formatting])\n","import FroalaEditor from 'froala-editor'\n\nimport 'froala-editor/js/plugins/colors.min.js'\nimport 'froala-editor/js/plugins/draggable.min.js'\nimport 'froala-editor/js/plugins/image.min.js'\nimport 'froala-editor/js/plugins/link.min.js'\nimport 'froala-editor/js/plugins/lists.min.js'\nimport 'froala-editor/js/plugins/paragraph_format.min.js'\nimport 'froala-editor/js/plugins/paragraph_style.min.js'\nimport 'froala-editor/js/plugins/quote.min.js'\nimport 'froala-editor/js/plugins/save.min.js'\nimport 'froala-editor/js/plugins/table.min.js'\nimport 'froala-editor/js/plugins/url.min.js'\nimport 'froala-editor/js/plugins/video.min.js'\n\nexport const FroalaEditorV4: any = FroalaEditor\n","import React, { ReactElement, useMemo, useState, useEffect } from 'react'\nimport { createRoot } from 'react-dom/client'\nimport { createPortal } from 'react-dom'\nimport { Toast } from '@kundo/ui'\n\nexport const AutoRepliesAlerts = ({\n  isOpen,\n  title,\n  message,\n  ctaButtonText,\n  onAction,\n}: {\n  isOpen: boolean\n  title?: string\n  message?: string\n  ctaButtonText?: string\n  onAction?: () => void\n}): ReactElement => {\n  const toastContainer = useMemo(() => {\n    let element = document.getElementById('editor-toast')\n\n    if (!element) {\n      element = document.createElement('div')\n      element.id = 'editor-toast'\n      document.body.appendChild(element)\n    }\n\n    return element\n  }, [])\n\n  useEffect(() => {\n    window.addEventListener('pagehide', () => {\n      // delete toast container when page changes\n      if (toastContainer) {\n        toastContainer.innerHTML = ''\n        toastContainer.remove()\n      }\n    })\n  }, [toastContainer])\n\n  const [open, setOpen] = useState<boolean>(isOpen)\n\n  return (\n    <>\n      {toastContainer &&\n        createPortal(\n          <Toast\n            swipeDirection=\"up\"\n            open={open}\n            title={title}\n            description={message}\n            onOpenChange={(open) => {\n              setOpen(open)\n\n              !open &&\n                setTimeout(() => {\n                  document.querySelector('[data-fn-editor-alerts]')?.remove()\n\n                  if (toastContainer) {\n                    toastContainer.remove()\n                  }\n                }, 1000)\n            }}\n            duration={6000}\n            closeButtonText={gettext('Stäng')}\n            buttonText={ctaButtonText}\n            onAction={onAction}\n            className=\"tw-w-auto md:tw-max-w-full\"\n          />,\n          toastContainer,\n        )}\n    </>\n  )\n}\n\nexport const initAutoRepliesAlerts = ({\n  container,\n  isOpen,\n  title,\n  message,\n  ctaButtonText,\n  onAction,\n}: {\n  container: HTMLElement\n  isOpen: boolean\n  title?: string\n  message?: string\n  ctaButtonText?: string\n  onAction?: () => void\n}) => {\n  const root = createRoot(container)\n\n  root?.render(\n    <AutoRepliesAlerts\n      isOpen={isOpen}\n      title={title}\n      message={message}\n      ctaButtonText={ctaButtonText}\n      onAction={onAction}\n    />,\n  )\n}\n","export function skeleton(): string {\n  const html: string = `<div class=\"tw-animate-pulse tw-space-y-2.5\" data-froala-role=\"skeleton\">\n      <div class=\"tw-h-3 tw-bg-gray-20 tw-rounded-sm tw-w-1/5\"></div>\n      <div class=\"tw-h-3 tw-bg-gray-20 tw-rounded-sm tw-w-4/6\"></div>\n      <div class=\"tw-h-3 tw-bg-gray-20 tw-rounded-sm tw-w-1/2\"></div>\n      <div class=\"tw-h-3 tw-bg-gray-20 tw-rounded-sm tw-w-4/6\"></div>\n      <div class=\"tw-h-3 tw-bg-gray-20 tw-rounded-sm tw-w-5/6\"></div>\n      <div class=\"tw-h-3 tw-bg-gray-20 tw-rounded-sm tw-w-1/3\"></div>\n      <div><br/></div>\n    </div>`\n\n  return html.replace(/\\s+/g, ' ').replace(/>\\s+</g, '><').trim()\n}\n\nexport function editorSetHtml(editor: any, html: string) {\n  editor.html.set(html)\n}\n\nexport function parseDOM(content: string): Document {\n  const parser = new DOMParser()\n  return parser.parseFromString(content, 'text/html')\n}\n\nexport function trimContent(content: string): string {\n  return content\n    .replace(/[\\n\\r]+/g, '')\n    .replace(/>\\s+</g, '><')\n    .trim()\n}\n\nexport function editableContent({\n  editor,\n  removePreviosAutoreply = true,\n}: {\n  editor: any\n  removePreviosAutoreply?: boolean\n}) {\n  const editorContent: string = editor.html.get() // Get the current content\n\n  const parsedEditorContent = parseDOM(editorContent)\n\n  // Remove previous AI auto reply elements\n  removePreviosAutoreply &&\n    parsedEditorContent\n      .querySelectorAll('[data-froala-role=\"ai-autoreply\"]')\n      .forEach((el) => el.remove())\n\n  const currentContent = parsedEditorContent.body.innerHTML\n\n  const doc = parseDOM(currentContent)\n\n  // Remove signature elements\n  doc.querySelectorAll('[data-froala-role=\"signature\"]').forEach((el) => el.remove())\n\n  // Remove history elements\n  doc.querySelectorAll('[data-froala-role=\"history-wrapper\"]').forEach((el) => el.remove())\n\n  // Remove skeleton elements\n  deleteSkeleton(currentContent, doc)\n\n  return {\n    currentContent: trimContent(currentContent),\n    cleanedHtml: trimContent(doc.body.innerHTML),\n  }\n}\n\nexport function showSkeleton({\n  editor,\n  removePreviousContent = false,\n  removePreviosAutoreply = true,\n}: {\n  removePreviousContent?: boolean\n  editor: any\n  removePreviosAutoreply?: boolean\n}) {\n  const { currentContent, cleanedHtml } = editableContent({\n    editor,\n    removePreviosAutoreply,\n  })\n\n  let updatedHtml: string = currentContent\n\n  const stringIsEmpty = checkIfEmptyString(cleanedHtml)\n\n  if (removePreviousContent || stringIsEmpty) {\n    const replacementHtml = `${skeleton()}`\n\n    updatedHtml = currentContent.replace(cleanedHtml, replacementHtml)\n  } else {\n    const replacementHtml = `${cleanedHtml}${skeleton()}`\n\n    updatedHtml = currentContent.replace(cleanedHtml, replacementHtml)\n  }\n\n  editorSetHtml(editor, updatedHtml)\n}\n\nexport function deleteSkeleton(content: string, document?: Document): string {\n  const doc = document ? document : parseDOM(content)\n\n  doc.querySelectorAll('[data-froala-role=\"skeleton\"]').forEach((el) => el.remove())\n\n  return doc.body.innerHTML\n}\n\nexport function checkIfEmptyString(str: string): boolean {\n  const container = document.createElement('div')\n  container.innerHTML = str\n\n  // Remove all <br> elements from the container\n  container.querySelectorAll('br').forEach((br) => br.remove())\n\n  // Trim the remaining text content\n  const text = container.textContent?.trim() ?? ''\n\n  return text === ''\n}\n\nexport async function insertResult({\n  content,\n  removePreviousContent = false,\n  editor,\n}: {\n  content: string\n  removePreviousContent?: boolean\n  editor: any\n}) {\n  const { currentContent, cleanedHtml } = editableContent({ editor, removePreviosAutoreply: false })\n\n  let updatedHtml: string = currentContent\n\n  if (removePreviousContent) {\n    updatedHtml = deleteSkeleton(currentContent).replace(cleanedHtml, `${content}`)\n  } else {\n    updatedHtml = deleteSkeleton(currentContent).replace(cleanedHtml, `${cleanedHtml}${content}`)\n  }\n\n  await editorSetHtml(editor, updatedHtml) // Set the new content\n\n  await editor.undo.saveStep() // Save the undo step\n  await editor.el.blur() // Remove focus from the editor\n\n  setTimeout(() => {\n    editor.events.focus() // Focus back on the editor\n  }, 100)\n}\n","import { initAutoRepliesAlerts } from './AutoRepliesAlerts'\nimport { BTN_AI_AUTO_REPLIES } from '../../toolbar'\nimport { renderSources, deleteSources, initAiSources } from '../aiSources'\n\nimport {\n  deleteSkeleton,\n  editableContent,\n  editorSetHtml,\n  insertResult,\n  showSkeleton,\n} from '../../helpers'\n\nimport { AutoGeneratedResponseData, IReferences } from './types'\n\nexport function aiAutoReplies(FroalaEditor: any) {\n  FroalaEditor.DEFAULTS = Object.assign(FroalaEditor.DEFAULTS, {\n    aiAutoReplies: false,\n  })\n\n  FroalaEditor.PLUGINS.aiAutoReplies = function (editor: any) {\n    const toolbar = editor.$tb[0]\n    const editorBox = editor.$box[0]\n    const aiAutoResponseBtn = toolbar.querySelector('[data-cmd=\"aiAutoReplies\"]')\n    const parentForm = editor.$oel.closest('form')[0]\n\n    function editorOn() {\n      editor.edit.on()\n      toolbar.classList.remove('fr-preloader')\n    }\n\n    function editorOff() {\n      editor.edit.off()\n\n      toolbar.classList.remove('fr-disabled')\n      toolbar.classList.add('fr-preloader')\n    }\n\n    async function generateResponse({\n      onSuccess,\n      onError,\n    }: {\n      onSuccess: (data: AutoGeneratedResponseData) => void\n      onError?: () => void\n    }) {\n      const parentForm = editor.$oel.closest('form')[0]\n      if (!parentForm) return\n\n      const messagePuri = parentForm.getAttribute('data-message-puri')\n      const channelType = parentForm.getAttribute('data-channel-type')\n\n      if (!messagePuri) return\n\n      try {\n        const url = `/bff/${channelType}/${messagePuri}/draft-response`\n\n        const response = await fetch(url.toString(), {\n          method: 'GET',\n          headers: {\n            Accept: 'application/json',\n          },\n        })\n\n        if (response.ok) {\n          const data: AutoGeneratedResponseData = await response.json()\n\n          if (data.error) {\n            renderAlert({ errorCode: data.error.code })\n\n            onError && onError()\n          } else {\n            onSuccess(data)\n          }\n\n          editorOn()\n          // Reinitialize the mail history plugin only for mail channel\n          if (channelType === 'mail' && editor.MailHistoryPlugin) {\n            editor.MailHistoryPlugin._init(true)\n          }\n        }\n      } catch (error) {\n        console.error('Error fetching response:', error)\n\n        onError && onError()\n        editorOn()\n      }\n    }\n\n    function buttonStatus({ isLoading = false }: { isLoading: boolean }) {\n      const textContainer = aiAutoResponseBtn.querySelector('[data-cmd-title]')\n\n      const defaultTitle = textContainer.dataset.cmdTitle\n      const loadingTitle = TRANSLATIONS.froalaAiAutoReply.buttonPreloader\n\n      if (!textContainer) return\n\n      textContainer.innerHTML = isLoading ? loadingTitle : defaultTitle\n    }\n\n    function autoResponse() {\n      if (!editor.opts.aiAutoReplies) {\n        return\n      }\n\n      buttonStatus({ isLoading: true })\n\n      editorOff()\n      deleteSources(toolbar)\n\n      setTimeout(() => {\n        // we need to wait for the editor to be off before showing the skeleton, otherwise skeleton will be shown if editor use undo button\n        showSkeleton({ editor: editor, removePreviousContent: false, removePreviosAutoreply: true })\n      }, 100)\n\n      generateResponse({\n        onSuccess: function (data) {\n          const references = data.references || []\n\n          buttonStatus({ isLoading: false })\n\n          insertResult({\n            content: `<div data-froala-role=\"ai-autoreply\">${data.response}<div><br/></div></div>`,\n            editor: editor,\n          })\n\n          renderSources(aiAutoResponseBtn, references, {\n            editor,\n            initAiSources: initAiSources,\n          })\n\n          window.addEventListener('resize', () => {\n            deleteSources(toolbar)\n            renderSources(aiAutoResponseBtn, references, {\n              editor,\n              initAiSources: initAiSources,\n            })\n          })\n        },\n        onError: function () {\n          setTimeout(() => {\n            buttonStatus({ isLoading: false })\n          }, 500)\n        },\n      })\n\n      editor.undo.saveStep()\n    }\n\n    async function renderAlert({\n      title,\n      errorCode,\n      ctaButtonText,\n      onAction,\n    }: {\n      title?: string\n      errorCode?: number\n      ctaButtonText?: string\n      onAction?: () => void\n    }) {\n      const { froalaAiAutoReply } = TRANSLATIONS\n      const { errorAiTechError, outgoingThreadMessageNotice, errorAiTimeout, errorNoReplies } =\n        froalaAiAutoReply\n\n      if (!editor.opts.aiAutoReplies) {\n        return\n      }\n\n      let errorMessage: string = ''\n\n      const container = document.createElement('div')\n      container.dataset.fnEditorAlerts = ''\n      editorBox.insertAdjacentElement('afterend', container)\n\n      const { currentContent, cleanedHtml } = editableContent({ editor })\n\n      const updatedHtml = await deleteSkeleton(currentContent).replace(\n        cleanedHtml,\n        `${cleanedHtml === '' ? '<div></div>' : cleanedHtml}`,\n      )\n\n      switch (errorCode) {\n        case 1:\n          errorMessage = errorAiTechError\n          break\n        case 2:\n          errorMessage = outgoingThreadMessageNotice\n          break\n        case 3:\n          errorMessage = errorAiTimeout\n          break\n        case 4:\n          errorMessage = errorNoReplies\n          break\n      }\n\n      setTimeout(() => {\n        editorSetHtml(editor, updatedHtml)\n\n        initAutoRepliesAlerts({\n          container: container,\n          isOpen: true,\n          title: errorCode ? errorMessage : title,\n          ctaButtonText,\n          onAction,\n        })\n      }, 500)\n    }\n\n    function initPlugin() {\n      const { froalaAiAutoReply } = TRANSLATIONS\n      const { connectInboxMessage, connectInboxCTA } = froalaAiAutoReply\n\n      if (!parentForm) {\n        return\n      }\n\n      const isConnectedToSmartReplyChannel =\n        parentForm.getAttribute('data-connected-to-smart-reply-channel') === 'true'\n      const hasSmartReplyChannels =\n        parentForm.getAttribute('data-has-smart-reply-channels') === 'true'\n\n      if (hasSmartReplyChannels && isConnectedToSmartReplyChannel) {\n        autoResponse()\n      } else if (hasSmartReplyChannels && !isConnectedToSmartReplyChannel) {\n        const inboxSlug = parentForm.getAttribute('data-inbox-slug')\n\n        inboxSlug &&\n          renderAlert({\n            title: connectInboxMessage,\n            ctaButtonText: connectInboxCTA,\n            onAction: () =>\n              window.open(\n                `${window.location.origin}/inbox/${inboxSlug}/settings/smart-suggestions/`,\n                '_blank',\n              ),\n          })\n      } else {\n        return null\n      }\n    }\n\n    return {\n      initPlugin,\n    }\n  }\n\n  FroalaEditor.RegisterCommand(BTN_AI_AUTO_REPLIES, {\n    callback: function () {\n      this.aiAutoReplies.initPlugin()\n    },\n    focus: true,\n    plugin: 'aiAutoReplies',\n    popup: true,\n    title: TRANSLATIONS.froalaAiAutoReply.buttonText,\n    undo: true,\n  })\n}\n","import { IReferences } from '../aiAutoReplies/types'\n\nexport interface IPromptResponse {\n  response: string\n  task_successful: boolean\n  error?: {\n    code: number\n    message: string\n  }\n  references: IReferences[]\n}\n\nexport enum ApiPromptTypes {\n  FREE_TEXT = 'free_text',\n  FIX_SPELLING = 'fix_spelling',\n  TRANSLATE_TO = 'translate_to',\n  MAKE_LONGER = 'make_longer',\n  MAKE_SHORTER = 'make_shorter',\n  CHANGE_TONE = 'change_tone',\n}\n\nexport enum ApiPromptLangCode {\n  SV = 'sv',\n  EN = 'en',\n  NB = 'nb',\n  DA = 'da',\n  FI = 'fi',\n  DE = 'de',\n  PL = 'pl',\n  ES = 'es',\n  NL = 'nl',\n  IT = 'it',\n  FR = 'fr',\n}\n\nexport enum ApiPromptTonality {\n  ACADEMIC = 'academic',\n  CASUAL = 'casual',\n  PROFESSIONAL = 'professional',\n}\n\nexport const useApiPrompt = async ({\n  promptType,\n  prompt = '',\n  language,\n  tonality,\n  content,\n  channelPuri,\n  messagePuri,\n  onSuccess,\n  onError,\n}: {\n  promptType: ApiPromptTypes\n  prompt?: string\n  language?: ApiPromptLangCode\n  tonality?: ApiPromptTonality\n  content: string\n  channelPuri: string\n  messagePuri: string\n  onSuccess: (data: IPromptResponse) => void\n  onError?: (error: Error) => void\n}) => {\n  try {\n    const { CURRENT_ORGANIZATION_ID } = window\n    var organizationPuri = `kundo:organization:${CURRENT_ORGANIZATION_ID}`\n    let url: string | URL | null = null\n\n    let body = { text: content, message_puri: messagePuri }\n\n    switch (promptType) {\n      case ApiPromptTypes.FREE_TEXT:\n        url = `/bff/smart-replies/channel/${channelPuri}/free-text`\n        body['prompt'] = prompt.trim()\n        break\n\n      case ApiPromptTypes.FIX_SPELLING:\n        url = `/bff/smart-replies/org/${organizationPuri}/correct`\n        break\n\n      case ApiPromptTypes.TRANSLATE_TO:\n        url = `/bff/smart-replies/org/${organizationPuri}/translate`\n        body['language'] = language\n        break\n\n      case ApiPromptTypes.MAKE_LONGER:\n        url = `/bff/smart-replies/org/${organizationPuri}/expand`\n        break\n\n      case ApiPromptTypes.MAKE_SHORTER:\n        url = `/bff/smart-replies/org/${organizationPuri}/shorten`\n        break\n\n      case ApiPromptTypes.CHANGE_TONE:\n        body['tonality'] = tonality\n        url = `/bff/smart-replies/org/${organizationPuri}/tonality`\n        break\n\n      default:\n        return null\n    }\n\n    if (!url) return null\n\n    const response = await fetch(url as string, {\n      method: 'POST',\n      headers: {\n        'Content-Type': 'application/json',\n        Accept: 'application/json',\n      },\n      body: JSON.stringify(body),\n    })\n\n    if (response.ok) {\n      const data: IPromptResponse = await response.json()\n\n      onSuccess && onSuccess(data)\n    }\n  } catch (error) {\n    onError && onError(error)\n\n    console.error('Failed to fetch:', error)\n  }\n}\n","export const ALLOWED_IMAGE_EXTENSIONS = ['png', 'jpeg', 'jpg', 'gif']\nexport const isAllowedImageMime = (type: string) => {\n  const exts = ALLOWED_IMAGE_EXTENSIONS\n  for (let i = 0, len = exts.length; i < len; i++) {\n    if (type === 'image/' + exts[i]) return true\n  }\n  return false\n}\n\n/*\n * Try to find any images in the event data, and\n * normalize data access between \"paste\" and \"drop\" events.\n *\n * See https://developer.mozilla.org/en-US/docs/Web/API/DataTransfer/items\n **/\nexport function getFilesFromEvent(event: any) {\n  event = event.originalEvent || event\n  const data: DataTransfer = event.dataTransfer || event.clipboardData\n  if (!data) {\n    return []\n  }\n  if (data.types?.includes('text/html')) {\n    return []\n  }\n  // Using .files since .items is not supported in IE11\n  if (data?.files?.length) {\n    return data.files\n  }\n  if (data?.items?.length) {\n    const items: DataTransferItemList = data.items\n    return Array.from(items)\n      .map((item) => item.getAsFile())\n      .filter((item) => item)\n  }\n  return []\n}\n\n/**\n * Trims trailing empty lines from HTML content by removing empty divs and br tags at the end.\n */\nexport function trimTrailingEmptyLines(html: string): string {\n  let trimmed = html.trim()\n\n  if (!trimmed) {\n    return trimmed\n  }\n\n  const DIV_TAG_START = '<div(?:\\\\s[^>]*)?>' // <div> with optional attributes\n  const DIV_TAG_END = '</div>'\n  const BR_TAG = '<br\\\\s*\\\\/?>' // <br> or <br/> with optional whitespace\n  const TRAILING_WHITESPACE_END_OF_STRING = '\\\\s*$' // Optional whitespace at end of string\n  const OPTIONAL_WHITESPACE = '\\\\s*' // Optional whitespace anywhere\n\n  let previousTrimmed = ''\n  let iterations = 0\n  const maxIterations = 50 // Safety limit to prevent infinite loops\n\n  while (trimmed !== previousTrimmed && iterations < maxIterations) {\n    previousTrimmed = trimmed\n    iterations++\n\n    // Pattern 1: Remove trailing empty divs\n    trimmed = trimmed.replace(\n      new RegExp(\n        `${OPTIONAL_WHITESPACE}${DIV_TAG_START}${OPTIONAL_WHITESPACE}${DIV_TAG_END}${TRAILING_WHITESPACE_END_OF_STRING}`,\n        'gi',\n      ),\n      '',\n    )\n\n    // Pattern 2: Remove trailing divs containing only br tags\n    trimmed = trimmed.replace(\n      new RegExp(\n        `${OPTIONAL_WHITESPACE}${DIV_TAG_START}${OPTIONAL_WHITESPACE}(?:${BR_TAG}${OPTIONAL_WHITESPACE})+${DIV_TAG_END}${TRAILING_WHITESPACE_END_OF_STRING}`,\n        'gi',\n      ),\n      '',\n    )\n\n    // Pattern 3: Remove trailing standalone br tags\n    trimmed = trimmed.replace(\n      new RegExp(`${OPTIONAL_WHITESPACE}${BR_TAG}${TRAILING_WHITESPACE_END_OF_STRING}`, 'gi'),\n      '',\n    )\n\n    // Pattern 4: Remove trailing br tags inside divs (at the end of content)\n    trimmed = trimmed.replace(\n      new RegExp(\n        `(${DIV_TAG_START}[^<]+?)${OPTIONAL_WHITESPACE}(?:${BR_TAG}${OPTIONAL_WHITESPACE})+${DIV_TAG_END}${TRAILING_WHITESPACE_END_OF_STRING}`,\n        'gi',\n      ),\n      '$1</div>',\n    )\n  }\n\n  return trimmed.trim()\n}\n","import React, {\n  ReactElement,\n  useState,\n  useMemo,\n  PropsWithChildren,\n  useEffect,\n  forwardRef,\n  Fragment,\n  HTMLAttributes,\n} from 'react'\nimport { createRoot } from 'react-dom/client'\nimport { createPortal } from 'react-dom'\nimport { twMerge } from '@kundo/ui/dist/helpers'\nimport { renderSources, deleteSources, initAiSources } from '../aiSources'\n\nimport {\n  ArrowUpIcon,\n  Tooltip,\n  WinkleIcon,\n  Toast,\n  GlobeIcon,\n  SpellCheckIcon,\n  PlusIcon,\n  TextLongIcon,\n  TextShortIcon,\n  MegaphoneIcon,\n  MenuDropdown,\n  MenuDropdownSubMenu,\n  MenuDropdownSeparator,\n  MenuDropdownItem,\n  MenuDropdownItemContainer,\n} from '@kundo/ui'\n\nimport { editableContent, checkIfEmptyString, showSkeleton, insertResult } from '../../helpers'\nimport { useApiPrompt, ApiPromptTypes, ApiPromptLangCode, ApiPromptTonality } from './useApi'\nimport { trimTrailingEmptyLines } from '../../utils'\n\ninterface IPromtAlert {\n  open: boolean\n  title: string\n  ctaButtonText?: string\n}\n\nenum PromptLanguages {\n  SV = 'Svenska',\n  EN = 'English',\n  NB = 'Norsk',\n  DA = 'Dansk',\n  FI = 'Suomi',\n  DE = 'Deutsch',\n  PL = 'Polskie',\n  ES = 'Español',\n  NL = 'Nederlands',\n  IT = 'Italiano',\n  FR = 'Français',\n}\n\nconst tonalityTitle = (tonality: ApiPromptTonality) => {\n  switch (tonality) {\n    case ApiPromptTonality.ACADEMIC:\n      return gettext('Akademisk')\n\n    case ApiPromptTonality.CASUAL:\n      return gettext('Avslappnad')\n\n    case ApiPromptTonality.PROFESSIONAL:\n      return gettext('Professionell')\n\n    default:\n      return null\n  }\n}\n\ninterface IPromptMenu {\n  title?: string\n  icon?: ReactElement\n  action?: ApiPromptTypes\n  langCode?: ApiPromptLangCode\n  tonality?: ApiPromptTonality\n  submenu?: IPromptMenu[]\n  role?: 'separator'\n}\n\nconst menu = (): IPromptMenu[] => {\n  return [\n    {\n      title: gettext('Åtgärda stavning'),\n      icon: <SpellCheckIcon />,\n      action: ApiPromptTypes.FIX_SPELLING,\n    },\n    { role: 'separator' },\n    {\n      title: gettext('Översätt till'),\n      icon: <GlobeIcon />,\n      submenu: Object.entries(PromptLanguages).map(([key, value]) => ({\n        title: value,\n        action: ApiPromptTypes.TRANSLATE_TO,\n        langCode: ApiPromptLangCode[key as keyof typeof ApiPromptLangCode],\n      })),\n    },\n    { role: 'separator' },\n    { title: gettext('Gör längre'), icon: <TextLongIcon />, action: ApiPromptTypes.MAKE_LONGER },\n    { title: gettext('Gör kortare'), icon: <TextShortIcon />, action: ApiPromptTypes.MAKE_SHORTER },\n    { role: 'separator' },\n    {\n      title: gettext('Ändra ton'),\n      icon: <MegaphoneIcon />,\n      submenu: Object.entries(ApiPromptTonality).map(([_key, value]) => ({\n        title: tonalityTitle(value),\n        action: ApiPromptTypes.CHANGE_TONE,\n        tonality: value,\n      })),\n    },\n  ]\n}\n\nconst AiWidgetButton = forwardRef<\n  HTMLDivElement,\n  HTMLAttributes<HTMLDivElement> &\n    PropsWithChildren<{ asButton?: boolean; label?: string; className?: string }>\n>((props, ref) => {\n  const { label, children, className, onClick, asButton = true, ...rest } = props\n\n  return (\n    <div\n      ref={ref}\n      role={asButton ? 'button' : undefined}\n      tabIndex={asButton ? 0 : undefined}\n      aria-label={asButton && label ? label : undefined}\n      className={twMerge(\n        'tw-flex tw-shrink-0 tw-justify-center tw-items-center tw-box-border tw-flex-none',\n        'tw-w-9 tw-h-9 tw-rounded-full',\n        'tw-cursor-pointer tw-duration-200',\n        className,\n      )}\n      onClick={onClick}\n      {...rest}\n    >\n      {children}\n    </div>\n  )\n})\n\nconst EditorAiPromptWidget = ({ editor }: { editor: any }): ReactElement => {\n  const toolbar = editor.$tb[0]\n  // Note that aiAutoResponseBtn can be null if the aiAutoReplies plugin is not enabled\n  const aiAutoResponseBtn = toolbar.querySelector('[data-cmd=\"aiAutoReplies\"]')\n\n  const [prompt, setPrompt] = useState<string>('')\n  const [focus, setFocus] = useState<boolean>(false)\n  const [isLoading, setIsLoading] = useState<boolean>(false)\n\n  const [alert, setAlert] = useState<IPromtAlert>({\n    open: false,\n    title: '',\n    ctaButtonText: '',\n  })\n\n  const isEmptyPromt = useMemo(() => prompt.trim() === '', [prompt])\n\n  const ctaText = gettext('Skicka prompt')\n\n  const toastContainer = useMemo(() => {\n    let element = document.getElementById('editor-toast')\n\n    if (!element) {\n      element = document.createElement('div')\n      element.id = 'editor-toast'\n      document.body.appendChild(element)\n    }\n\n    return element\n  }, [])\n\n  const setAlertState = ({ open, title, ctaButtonText }: IPromtAlert) => {\n    setAlert((alert) => ({\n      ...alert,\n      open,\n      title,\n      ctaButtonText,\n    }))\n  }\n\n  const getPreviousAiPromptResult = (content: string): string => {\n    const temp = document.createElement('div')\n    temp.innerHTML = content\n\n    const target = temp.querySelector('[data-froala-role=\"ai-prompt-result\"]')\n\n    if (target) {\n      // delete last <div><br/></div> in the result if exists\n      const last = target.lastElementChild\n      if (\n        last &&\n        last.tagName.toLowerCase() === 'div' &&\n        last.childNodes.length === 1 &&\n        last.firstChild &&\n        (last.firstChild as Element).tagName?.toLowerCase() === 'br'\n      ) {\n        target.removeChild(last)\n      }\n\n      return target.innerHTML\n    } else {\n      return content\n    }\n  }\n\n  const defineCurrentContent = () => {\n    const { currentContent, cleanedHtml } = editableContent({\n      editor: editor,\n      removePreviosAutoreply: false,\n    })\n\n    const isEmptyContent = checkIfEmptyString(cleanedHtml)\n\n    if (isEmptyContent) {\n      return null\n    }\n\n    const previousResult = getPreviousAiPromptResult(cleanedHtml)\n    return trimTrailingEmptyLines(previousResult)\n  }\n\n  const errorStatus = (errorCode: number): string => {\n    let errorMessage = ''\n\n    switch (errorCode) {\n      case 1:\n      case 2:\n        errorMessage = gettext('Tekniskt fel, försök igen senare')\n        break\n      case 3:\n        errorMessage = gettext('Det tog för lång tid att generera ett AI-svar. Försök igen senare.')\n        break\n      case 4:\n        errorMessage = gettext('Tyvärr kunde vi inte bearbeta din förfrågan.')\n        break\n    }\n\n    return errorMessage\n  }\n\n  const initPrompt = async ({\n    action,\n    prompt,\n    langCode,\n    tonality,\n  }: {\n    action: ApiPromptTypes\n    prompt?: string\n    langCode?: ApiPromptLangCode\n    tonality?: ApiPromptTonality\n  }) => {\n    const content = defineCurrentContent() || ''\n\n    setIsLoading(true)\n    showSkeleton({ editor: editor, removePreviousContent: true, removePreviosAutoreply: false })\n    const parentForm = editor.$oel.closest('form')[0]\n    const messagePuri = parentForm.getAttribute('data-message-puri')\n    const channelPuri = parentForm.getAttribute('data-channel-puri')\n\n    useApiPrompt({\n      promptType: action,\n      prompt,\n      language: langCode,\n      tonality,\n      channelPuri,\n      messagePuri,\n      content,\n      onSuccess: (data) => {\n        if (data.error || data.task_successful === false) {\n          setAlertState({\n            open: true,\n            title: data.error ? errorStatus(data.error.code) : errorStatus(4),\n          })\n\n          insertResult({\n            content: content,\n            editor: editor,\n          })\n        } else {\n          insertResult({\n            content: `<div data-froala-role=\"ai-prompt-result\">${data.response}<div><br/></div></div>`,\n            editor: editor,\n          })\n        }\n\n        setPrompt('')\n        setIsLoading(false)\n\n        const references = data.references || []\n        if (aiAutoResponseBtn) {\n          deleteSources(toolbar)\n          renderSources(aiAutoResponseBtn, references, {\n            editor,\n            initAiSources: initAiSources,\n          })\n        }\n\n        if (aiAutoResponseBtn) {\n          window.addEventListener('resize', () => {\n            deleteSources(toolbar)\n            renderSources(aiAutoResponseBtn, references, {\n              editor,\n              initAiSources: initAiSources,\n            })\n          })\n        }\n\n        editor.MailHistoryPlugin._init(true) // Reinitialize the mail history plugin\n      },\n      onError: () => {\n        setAlertState({\n          open: true,\n          title: errorStatus(4),\n        })\n\n        setIsLoading(false)\n      },\n    })\n  }\n\n  const initCustomPrompt = () => {\n    initPrompt({ action: ApiPromptTypes.FREE_TEXT, prompt: prompt })\n  }\n\n  useEffect(() => {\n    window.addEventListener('pagehide', () => {\n      // delete toast container when page changes\n      if (toastContainer) {\n        toastContainer.innerHTML = ''\n        toastContainer.remove()\n      }\n    })\n  }, [toastContainer])\n\n  return (\n    <>\n      <div\n        role=\"region\"\n        aria-label={gettext('AI Prompt Widget')}\n        className={twMerge(\n          'tw-flex tw-items-center',\n          'tw-py-2 tw-px-4',\n          'tw-bg-gray-10',\n          'tw-border tw-border-solid tw-border-gray-30 tw-border-t-0',\n          'tw-rounded-br-md tw-rounded-bl-md',\n        )}\n      >\n        <div\n          className={twMerge(\n            'tw-flex tw-items-center tw-grow',\n            'tw-border tw-border-solid',\n            'tw-bg-white',\n            focus\n              ? 'tw-border-primary-500 tw-outline tw-outline-1 tw-outline-primary-500 tw-outline-offset-0'\n              : 'tw-border-gray-30 hover:tw-border-primary-500',\n            'tw-rounded-full tw-overflow-hidden tw-duration-200',\n          )}\n        >\n          <MenuDropdown\n            modal={false}\n            className=\"tw-min-w-[204px]\"\n            trigger={\n              <AiWidgetButton\n                label={ctaText}\n                className={twMerge(\n                  'tw-text-gray-100 tw-fill-gray-100',\n                  'tw-bg-btransparent hover:tw-bg-gray-10 active:tw-bg-gray-20',\n                  'tw-ml-1',\n                  'data-[state=open]:tw-bg-gray-20',\n                  'userflow-ai-assistant-prompt-menu-btn',\n                )}\n              >\n                <PlusIcon className=\"tw-w-6 tw-h-6 tw-fill-gray-100\" />\n              </AiWidgetButton>\n            }\n          >\n            {menu().map((item, index) => (\n              <Fragment key={index}>\n                {item.submenu ? (\n                  <>\n                    {item.role === 'separator' ? (\n                      <MenuDropdownSeparator />\n                    ) : (\n                      <MenuDropdownSubMenu\n                        className=\"tw-min-w-[100px]\"\n                        trigger={\n                          <MenuDropdownItemContainer\n                            label={item.title || ''}\n                            iconBefore={item.icon}\n                            spacingBefore={!item.icon}\n                            hasSubMenu\n                          />\n                        }\n                      >\n                        {item.submenu.map((subItem, subIndex) => (\n                          <MenuDropdownItem\n                            key={subIndex}\n                            onSelect={() => {\n                              initPrompt({\n                                action: subItem.action!,\n                                langCode: subItem.langCode,\n                                tonality: subItem.tonality,\n                              })\n                            }}\n                          >\n                            <MenuDropdownItemContainer label={subItem.title || ''} />\n                          </MenuDropdownItem>\n                        ))}\n                      </MenuDropdownSubMenu>\n                    )}\n                  </>\n                ) : (\n                  <Fragment>\n                    {item.role === 'separator' ? (\n                      <MenuDropdownSeparator />\n                    ) : (\n                      <MenuDropdownItem\n                        onSelect={() => {\n                          if (item.action) {\n                            initPrompt({ action: item.action })\n                          }\n                        }}\n                      >\n                        <MenuDropdownItemContainer\n                          label={item.title || ''}\n                          iconBefore={item.icon}\n                          spacingBefore={!item.icon}\n                        />\n                      </MenuDropdownItem>\n                    )}\n                  </Fragment>\n                )}\n              </Fragment>\n            ))}\n          </MenuDropdown>\n\n          <AiWidgetButton\n            asButton={false}\n            className={twMerge(\n              'tw-text-gray-100 tw-fill-gray-100',\n              'tw-bg-btransparent tw-cursor-default',\n              '-tw-ml-1',\n              // 'tw-ml-2',\n            )}\n          >\n            <WinkleIcon className=\"tw-w-5 tw-h-5 tw-fill-gray-70\" />\n          </AiWidgetButton>\n\n          <div className=\"tw-grow\">\n            <input\n              type=\"text\"\n              id=\"fr-ai-prompt\"\n              name=\"fr-ai-prompt\"\n              autoComplete=\"off\"\n              data-1p-ignore\n              className={twMerge(\n                'tw-flex tw-w-full tw-items-center',\n                'tw-h-[44px] tw-box-border',\n                'tw-border-0 tw-border-none hover:tw-border-0 hover:tw-border-none focus:tw-border-0 focus:tw-border-none',\n                'tw-border-transparent focus:tw-border-transparent',\n                'tw-outline-0 tw-outline-none hover:tw-outline-0 hower:tw-outline-none focus:tw-outline-0 focus:tw-outline-none',\n                'tw-shadow-none hover:tw-shadow-none focus:tw-shadow-none',\n                'tw-ring-0 focus:tw-outline-0 focus:tw-outline-none focus:tw-outline-transparent focus:tw-outline-offset-0 focus:tw-ring-transparent focus:tw-ring-0',\n                'placeholder:tw-text-gray-70 placeholder:tw-text-base placeholder:tw-font-normal placeholder:tw-truncate',\n                'tw-text-gray-100 tw-text-base tw-font-normal',\n                'tw-py-0 tw-pl-0 tw-pr-2 tw-m-0 tw-bg-transparent',\n                'tw-truncate focus:tw-truncate',\n                'disabled:tw-text-gray-60',\n              )}\n              placeholder={gettext(\n                'Anpassa svar med en egen prompt, till exempel för att förfina, korta ner, utveckla eller översätta innehåll.',\n              )}\n              value={prompt}\n              onChange={(e) => setPrompt(e.target.value)}\n              onFocus={() => setFocus(true)}\n              onBlur={() => setFocus(false)}\n              onKeyDown={(e) => {\n                if (e.key === 'Enter') {\n                  e.preventDefault()\n\n                  !isEmptyPromt && initCustomPrompt()\n                }\n              }}\n              disabled={isLoading}\n            />\n          </div>\n\n          {!isEmptyPromt && (\n            <Tooltip content={ctaText}>\n              <AiWidgetButton\n                label={ctaText}\n                className={twMerge(\n                  'tw-text-white tw-fill-white',\n                  'tw-bg-primary-700 hover:tw-bg-primary-900 active:tw-bg-primary-900',\n                  'tw-mr-1',\n                )}\n                onClick={() => {\n                  !isLoading && initCustomPrompt()\n                }}\n              >\n                <ArrowUpIcon className=\"tw-w-6 tw-h-6 tw-fill-white\" />\n              </AiWidgetButton>\n            </Tooltip>\n          )}\n        </div>\n      </div>\n\n      {toastContainer &&\n        createPortal(\n          <Toast\n            swipeDirection=\"up\"\n            open={alert.open}\n            title={alert.title}\n            onOpenChange={(open) => {\n              setAlert((alert) => ({ ...alert, open }))\n\n              !open && setTimeout(() => toastContainer.remove(), 1000)\n            }}\n            duration={6000}\n            closeButtonText={gettext('Stäng')}\n            className=\"tw-w-auto md:tw-max-w-full\"\n          />,\n          toastContainer,\n        )}\n    </>\n  )\n}\n\nexport const initEditorAiPromptWidget = ({\n  container,\n  editor,\n}: {\n  container: HTMLElement\n  editor: any\n}) => {\n  const root = createRoot(container)\n\n  root?.render(<EditorAiPromptWidget editor={editor} />)\n}\n","import { initEditorAiPromptWidget } from './EditorAiPromptWidget'\n\nexport function aiPrompts(FroalaEditor: any) {\n  FroalaEditor.DEFAULTS = Object.assign(FroalaEditor.DEFAULTS, {\n    aiPrompts: false,\n  })\n\n  FroalaEditor.PLUGINS.aiPrompts = function (editor: any) {\n    function renderWidget() {\n      if (!editor.opts.aiPrompts) {\n        return\n      }\n\n      const editorBox = editor.$box[0]\n\n      const wrapperElmnt = editorBox.querySelector('.fr-wrapper')\n\n      const container = document.createElement('div')\n      container.classList.add('fn-editor-ai-widget')\n\n      // Inserting after the wrapper element to position it at the bottom\n      wrapperElmnt.insertAdjacentElement('afterend', container)\n\n      // Adjusting border radius to integrate the widget seamlessly\n      wrapperElmnt.style.borderBottomLeftRadius = '0'\n      wrapperElmnt.style.borderBottomRightRadius = '0'\n\n      initEditorAiPromptWidget({\n        container: container,\n        editor: editor,\n      })\n    }\n\n    return {\n      _init() {\n        renderWidget()\n      },\n    }\n  }\n}\n","export function froalaTextWrapper(FroalaEditor: any) {\n  FroalaEditor.DEFAULTS = Object.assign(FroalaEditor.DEFAULTS, {\n    wrapPlainText: false,\n  })\n\n  FroalaEditor.PLUGINS.TextWrapperPlugin = function (editor: any) {\n    let isWrapped: boolean = false\n\n    function wrapPlainText() {\n      editor.html.wrap(true, true, false)\n\n      const editorArea = editor.el\n      const elements = editorArea.querySelectorAll('[data-empty=\"true\"]')\n\n      elements.forEach(function (el) {\n        el.removeAttribute('data-empty')\n      })\n\n      if (editor.MailHistoryPlugin && typeof editor.MailHistoryPlugin._init === 'function') {\n        editor.MailHistoryPlugin._init(true)\n      } else {\n        console.log(\n          'Froala MailHistoryPlugin is not available. Make sure it is loaded before Froala TextWrapperPlugin.',\n        )\n      }\n    }\n\n    function initWrapPlainText() {\n      if (!isWrapped) {\n        wrapPlainText()\n        isWrapped = true\n      }\n    }\n\n    function _init() {\n      if (!editor.opts.wrapPlainText) {\n        return\n      }\n\n      let isInit = false\n\n      editor.events.on('edit.on', async function () {\n        initWrapPlainText()\n      })\n\n      editor.el.addEventListener('mouseover', () => {\n        !isInit && initWrapPlainText()\n        isInit = true\n      })\n    }\n\n    return {\n      _init: _init,\n    }\n  }\n}\n","import {\n  BTN_CLEAR,\n  BTN_CONTACTS,\n  BTN_FILES,\n  BTN_IMAGES,\n  BTN_INTERNAL_LINKS,\n  BTN_SELF_SERVICE,\n  BTN_SNIPPETS,\n} from './toolbar'\nimport { ALLOWED_IMAGE_EXTENSIONS } from './utils'\n\nexport function registerCustomCommands(FroalaEditor: any) {\n  FroalaEditor.RegisterCommand(BTN_IMAGES, {\n    callback() {\n      chooseFile((files) => this.kundoFroala.insertImage(files), ALLOWED_IMAGE_EXTENSIONS)\n    },\n    icon: BTN_IMAGES,\n    title: TRANSLATIONS.insert_image,\n  })\n\n  FroalaEditor.RegisterCommand(BTN_FILES, {\n    callback() {\n      chooseFile((files) => this.kundoFroala.attachFile(files))\n    },\n    icon: BTN_FILES,\n    title: TRANSLATIONS.attach_files,\n  })\n\n  FroalaEditor.RegisterCommand(BTN_SNIPPETS, {\n    callback() {\n      this.kundoFroala.toggleSnippetWidget()\n    },\n    icon: BTN_SNIPPETS,\n    title: TRANSLATIONS.reply_snippet,\n  })\n  FroalaEditor.RegisterShortcut('E'.charCodeAt(0), BTN_SNIPPETS, null, 'E')\n\n  FroalaEditor.RegisterCommand(BTN_CLEAR, {\n    callback() {\n      const thisText = this.selection.text()\n      this.selection.remove()\n      this.html.insert(thisText)\n    },\n    icon: BTN_CLEAR,\n    title: TRANSLATIONS.clear_formatting,\n  })\n\n  FroalaEditor.RegisterCommand(BTN_CONTACTS, {\n    callback() {\n      this.link.insert('#contactModal', TRANSLATIONS.kundo_contact_modal_linktext)\n    },\n    title: TRANSLATIONS.kundo_contact_modal_title,\n  })\n\n  FroalaEditor.RegisterCommand(BTN_SELF_SERVICE, {\n    callback() {\n      this.kundoFroala.toggleSelfServiceWidget()\n    },\n    icon: BTN_SELF_SERVICE,\n  })\n  FroalaEditor.RegisterShortcut('E'.charCodeAt(0), BTN_SNIPPETS, null, 'E')\n}\n\nexport function registerInternalLinkCommand(FroalaEditor: any, title: string) {\n  // This is wrapped in a callback since we want a dynamic toolbar button tooltip title\n  FroalaEditor.RegisterCommand(BTN_INTERNAL_LINKS, {\n    callback() {\n      const $tb = this.$tb\n      const $btn = $tb.find(`.fr-command[data-cmd=\"${BTN_INTERNAL_LINKS}\"]`)\n      const btnOffset = $btn.offset()\n      const tbOffset = $tb.offset()\n      const left = btnOffset.left - tbOffset.left\n      const top = btnOffset.top - tbOffset.top + $tb.outerHeight() + 10\n      const kundoFroala = this.kundoFroala\n      if (kundoFroala.internalLinkWidget) {\n        kundoFroala.internalLinkWidget.box.css('top', top).css('left', left)\n        kundoFroala.toggleInternalLinkWidget()\n      }\n    },\n    icon: BTN_INTERNAL_LINKS,\n    title,\n  })\n}\n\nfunction chooseFile(\n  callback: (files: FileList | null) => void,\n  acceptExtensions?: string[],\n  multiple = true,\n) {\n  const input = $('<input type=\"file\">')\n  if (acceptExtensions) {\n    input.attr('accept', acceptExtensions.map((s) => '.' + s).join(','))\n  }\n  if (multiple) {\n    input.prop('multiple', true)\n  }\n  const elm = input[0] as HTMLInputElement\n  // The input field need to be attached the DOM to allow uploads in iOS Safari\n  // Reference: https://stackoverflow.com/a/47665517/461559\n  $(document.body).append(input)\n  input.on('change', () => {\n    callback(elm.files)\n    input.remove()\n  })\n  input.trigger('click')\n  input.hide()\n}\n","export type Provider = {\n  html: string\n  provider: string\n  test_regex: RegExp\n  url_regex: RegExp\n  url_text: string\n}\n\nexport const VIDEO_PROVIDERS: Provider[] = [\n  {\n    html: '<iframe src=\"{url}?modestbranding=1&amp;rel=0\" allowfullscreen></iframe>',\n    provider: 'YouTube',\n    test_regex:\n      /^.*((youtu.be)|(youtube.com))\\/((v\\/)|(\\/u\\/\\w\\/)|(embed\\/)|(watch\\?))?\\??v?=?([^#&?]*).*/,\n    url_regex:\n      /(?:https?:\\/\\/)?(?:www\\.)?(?:m\\.)?(?:youtube\\.com|youtu\\.be)\\/(?:watch\\?v=|embed\\/)?([0-9a-zA-Z_-]+)(.+)?/g,\n    url_text: 'https://www.youtube-nocookie.com/embed/$1',\n  },\n  // Vimeo id-only regex, e.g. https://vimeo.com/123456/abcdef\n  {\n    html: '<iframe src=\"{url}\" allowfullscreen></iframe>',\n    provider: 'Vimeo',\n    test_regex: /^.*(vimeo.com)\\/(\\w+)\\/(\\w+)(?:|\\/\\?)/,\n    url_regex: /(?:http|https)?:\\/\\/(?:www\\.)?vimeo.com\\/(\\w+)\\/(\\w+)(?:|\\/\\?)(?:|\\/\\?)/i,\n    url_text: 'https://player.vimeo.com/video/$1?h=$2',\n  },\n  {\n    html: '<iframe src=\"{url}?title=0&amp;byline=0&amp;portrait=0&amp;badge=0\" allowfullscreen></iframe>',\n    provider: 'Vimeo',\n    test_regex:\n      /^.*(vimeo.com)\\/(?:channels\\/(?:\\w+\\/)?|groups\\/(?:[^/]*)\\/videos\\/|)(\\d+)(?:|\\/\\?)/,\n    url_regex:\n      /(?:http|https)?:\\/\\/(?:www\\.)?vimeo.com\\/(?:channels\\/(?:\\w+\\/)?|groups\\/(?:[^/]*)\\/videos\\/|)(\\d+)(?:|\\/\\?)/i,\n    url_text: 'https://player.vimeo.com/video/$1',\n  },\n  {\n    html: '<iframe src=\"{url}\" allowfullscreen></iframe>',\n    provider: 'SVT',\n    test_regex: /^.*((svtplay\\.se)|(svt\\.se))\\/(klipp\\/|videoplayer-embed\\/(?:(?:nojs\\/)?))(\\d+)/, //(?:|\\/\\?)/,\n    url_regex:\n      /(?:http|https)?:\\/\\/(?:(?:www\\.)|(?:api\\.))?(?:(?:svtplay\\.se)|(?:svt\\.se))\\/(?:klipp\\/|videoplayer-embed\\/(?:(?:nojs\\/)?))(\\d+)(?:.+)?/i,\n    url_text: 'https://svt.se/videoplayer-embed/$1',\n  },\n  {\n    html: '<iframe src=\"{url}\" allowfullscreen></iframe>',\n    provider: 'DreamBroker',\n    test_regex: /dreambroker.com/,\n    url_regex: /(?:https?:\\/\\/)?(?:www\\.)?dreambroker.com\\/channel\\/(\\w+)\\/(\\w+)/i,\n    url_text: 'https://www.dreambroker.com/channel/$1/iframe/$2',\n  },\n]\n","import { FroalaEditorV4 as FroalaEditorStatic } from './froala-4'\n\nimport {\n  froalaEmoji,\n  froalaFixPasteBug,\n  froalaMailHistory,\n  aiAutoReplies,\n  aiPrompts,\n  deleteEmptyContainers,\n  froalaTextWrapper,\n} from './plugins'\n\nimport { registerCustomCommands } from './commands'\nimport { defineCustomIcons } from './toolbar'\nimport { Provider, VIDEO_PROVIDERS } from './video'\n\nlet FroalaEditor: Froala | null = null\n\nexport type Froala = {\n  ENTER_BR: number\n  ENTER_DIV: number\n  ENTER_P: number\n  ICON_DEFAULT_TEMPLATE: string\n  LANGUAGE: Record<string, any>\n  VERSION: string\n  VIDEO_PROVIDERS: Provider[]\n  DefineIconTemplate: (name: string, template: string) => void\n\n  $el: any\n  $box: any\n  browser: any\n  edit: any\n  events: any\n  html: any\n  image: any\n  kundoFroala: any\n  link: any\n  opts: any\n  position: any\n  save: any\n  selection: any\n  (...args: any): any\n}\n\nexport function loadFroala(callback: (froala: Froala) => void) {\n  if (FroalaEditor) {\n    callback(FroalaEditor)\n    return\n  }\n\n  FroalaEditor = FroalaEditorStatic\n  setupFroala()\n  assertFroalaLoaded(FroalaEditor)\n  callback(FroalaEditor)\n}\n\nfunction setupFroala() {\n  assertFroalaLoaded(FroalaEditor)\n  FroalaEditor.LANGUAGE['kundo-lang'] = { translation: TRANSLATIONS.froala }\n  FroalaEditor.VIDEO_PROVIDERS = VIDEO_PROVIDERS\n  FroalaEditor.ICON_DEFAULT_TEMPLATE = 'kundo-fa'\n  FroalaEditor.DefineIconTemplate('kundo-fa', '<i class=\"f-icon-[NAME]\"></i>')\n  FroalaEditor.DefineIconTemplate(\n    'kundo-custom-icon',\n    '<div class=\"tw-flex tw-justify-center tw-items-center tw-gap-1 tw-grow tw-px-1.5\"><div class=\"*:tw-block *:tw-h-auto *:tw-p-0 *:tw-m-0 *:tw-fill-current *:tw-text-current\">[ICON]</div><div class=\"tw-font-semibold tw-text-sm\" data-cmd-title=\"[TEXT]\">[TEXT]</div></div>',\n  )\n\n  registerCustomCommands(FroalaEditor)\n  defineCustomIcons(FroalaEditor)\n  froalaFixPasteBug(FroalaEditor)\n  froalaMailHistory(FroalaEditor)\n  froalaTextWrapper(FroalaEditor)\n  froalaEmoji(FroalaEditor)\n  aiAutoReplies(FroalaEditor)\n  aiPrompts(FroalaEditor)\n  deleteEmptyContainers(FroalaEditor)\n}\n\nexport function initFroalaEditor(kundoFroala: any, options: any) {\n  assertFroalaLoaded(FroalaEditor)\n  kundoFroala.froala = FroalaEditor(kundoFroala.editor[0], options)\n}\n\nfunction assertFroalaLoaded(value: unknown): asserts value is Froala {\n  if (value == null) {\n    throw new Error('FroalaEditor library is not loaded')\n  }\n}\n","export function froalaFixPasteBug(FroalaEditor: any) {\n  /*\n   * Fix froala adding `id=\"isPasted\"` to pasted content, potentially causing accessibility issues\n   * See: https://github.com/froala/wysiwyg-editor/issues/4328\n   */\n  if (!FroalaEditor.PLUGINS) {\n    return\n  }\n  FroalaEditor.PLUGINS['fixPasteBug'] = function (editor: any) {\n    return {\n      _init() {\n        editor.events.on('paste.after', () => {\n          const t = document.createElement('template')\n          t.innerHTML = editor.html.get()\n          const offender = t.content.querySelector('#isPasted')\n          if (offender) {\n            editor.selection.save()\n            offender.removeAttribute('id')\n            editor.html.set(t.innerHTML)\n            editor.selection.restore()\n          }\n        })\n      },\n    }\n  }\n}\n","import { v4 as uuidv4 } from 'uuid'\n\n/*\n * Handles the toggling of mail conversation history within the text editor\n * The textfield is prefilled with correct markup from django forms\n **/\nexport function froalaMailHistory(FroalaEditor: any) {\n  FroalaEditor.PLUGINS.MailHistoryPlugin = function (editor: any) {\n    function toggleHistoryVisibility(isInit: boolean) {\n      editor.el.querySelectorAll('[data-froala-role=history-wrapper]').forEach((el) => {\n        const label = 'History'\n        const contentId = `content-${uuidv4()}`\n\n        const historyContent = el.querySelector('[data-froala-role=history-content]')\n\n        const toggleBtn = el.querySelector('[data-froala-role=history-toggle-btn]')\n\n        if (historyContent) {\n          historyContent.classList.add('hidden')\n          historyContent.classList.remove('visible')\n          historyContent.setAttribute('id', contentId)\n          historyContent.setAttribute('role', 'region')\n          historyContent.setAttribute('aria-label', label)\n          historyContent.removeAttribute('style')\n        }\n\n        if (toggleBtn) {\n          toggleBtn.setAttribute('role', 'button')\n          toggleBtn.setAttribute('aria-label', label)\n          toggleBtn.setAttribute('tabindex', '0')\n          toggleBtn.setAttribute('aria-expanded', 'false')\n          toggleBtn.setAttribute('aria-controls', contentId)\n        }\n\n        historyContent &&\n          toggleBtn &&\n          toggleBtn.addEventListener('click', () => {\n            if (!isInit) {\n              return\n            }\n\n            if (historyContent.classList.contains('hidden')) {\n              historyContent.classList.add('visible')\n              historyContent.classList.remove('hidden')\n              toggleBtn.setAttribute('aria-expanded', 'true')\n            } else {\n              historyContent.classList.add('hidden')\n              historyContent.classList.remove('visible')\n              toggleBtn.setAttribute('aria-expanded', 'false')\n            }\n\n            editor.events.trigger('focus', [], true)\n          })\n      })\n    }\n\n    function _init(isInit: boolean = false) {\n      // Check if wrapPlainText option is enabled in editor config\n      if (editor.opts.wrapPlainText) {\n        toggleHistoryVisibility(isInit)\n      } else {\n        toggleHistoryVisibility(true)\n      }\n    }\n\n    return {\n      _init: _init,\n    }\n  }\n}\n","import { BTN_EMOJIS } from '../toolbar'\n\nexport function froalaEmoji(FroalaEditor: any) {\n  // Emojis\n  FroalaEditor.RegisterCommand(BTN_EMOJIS, {\n    callback: function () {\n      if (this.popups.isVisible(BTN_EMOJIS)) {\n        if (this.$el.find('.fr-marker')) {\n          this.events.disableBlur()\n          this.selection.restore()\n        }\n        this.emojis.hidePopup()\n      } else {\n        this.emojis.showPopup()\n      }\n    },\n    focus: true,\n    plugin: BTN_EMOJIS,\n    popup: true,\n    title: 'Emojis',\n    undo: true,\n  })\n  FroalaEditor.POPUP_TEMPLATES[BTN_EMOJIS] = '[_CUSTOM_LAYER_]'\n  FroalaEditor.PLUGINS[BTN_EMOJIS] = function (froala: any) {\n    const { popups } = froala\n\n    function initPopup() {\n      const { EmojiPicker } = window.KUNDO\n      if (!EmojiPicker) {\n        console.error('EmojiPicker not loaded, aborting.')\n        return\n      }\n      // Add an container with the correct width as a placeholder for correct positioning\n      const popupHTML = '<div class=\"emojis-root\" style=\"width: 338px\"></div>'\n      const popup = popups.create(BTN_EMOJIS, { custom_layer: popupHTML })\n\n      // NOTE: Due to limitations in Froalas accessibility plugin,\n      // tab navigation doesn't work inside the EmojiPicker.\n      EmojiPicker(popup.find('.emojis-root')[0], {\n        onSelect: (emoji) => {\n          froala.html.insert(emoji)\n          hidePopup()\n        },\n      })\n    }\n\n    function showPopup() {\n      if (!popups.get(BTN_EMOJIS)) {\n        initPopup()\n      }\n      popups.setContainer(BTN_EMOJIS, froala.$tb)\n\n      // Position the toolbar next to the button\n      const $btn = froala.$tb.find(`.fr-command[data-cmd=\"${BTN_EMOJIS}\"]`)\n      const left = $btn.offset().left + $btn.outerWidth() / 2\n      const top = $btn.offset().top + (froala.opts.toolbarBottom ? 10 : $btn.outerHeight() - 10)\n      popups.show(BTN_EMOJIS, left, top, $btn.outerHeight())\n    }\n\n    function hidePopup() {\n      popups.hide(BTN_EMOJIS)\n    }\n\n    return { hidePopup, showPopup }\n  }\n}\n","/**\n * Cleans up specific Froala-generated containers inside the editor.\n *\n * This function:\n * 1. Selects and processes elements with `data-froala-role` values:\n *    - \"ai-autoreply\"\n *    - \"ai-prompt-result\"\n *    - \"skeleton\"\n * 2. Removes <br> tags and empty <p> or <div> tags from these elements.\n * 3. If the element becomes visually empty, it is cleared and reset with a single <br>,\n *    while retaining the container itself (to preserve editor structure).\n * 4. After cleanup, if the editor contains only allowed elements:\n *    - <div data-froala-role=\"signature\">\n *    - <div data-froala-role=\"history-wrapper\">\n *    Then a new empty <div><br/></div> is inserted at the beginning of the editor,\n *    ensuring there's always a visible, editable line for the user.\n */\n\nexport function deleteEmptyContainers(FroalaEditor: any) {\n  FroalaEditor.DEFAULTS = Object.assign(FroalaEditor.DEFAULTS, {\n    deleteEmptyContainers: true,\n  })\n\n  FroalaEditor.PLUGINS.deleteEmptyContainers = function (editor: any) {\n    function deleteContainers() {\n      const editorEl = editor.el // Native editable DOM element\n\n      // Query both types of elements\n      const containers = editorEl.querySelectorAll(\n        'div[data-froala-role=\"ai-autoreply\"], div[data-froala-role=\"ai-prompt-result\"], div[data-froala-role=\"skeleton\"]',\n      )\n\n      containers.forEach((div) => {\n        const clone = div.cloneNode(true)\n\n        // Remove <br> tags\n        clone.querySelectorAll('br').forEach((br) => br.remove())\n\n        // Remove empty <p> and <div> tags\n        clone.querySelectorAll('p, div').forEach((child) => {\n          if (!child.textContent.trim() && child.children.length === 0) {\n            child.remove()\n          }\n        })\n\n        // If nothing meaningful remains, clean up the original element\n        const isVisiblyEmpty = !clone.textContent.trim() && clone.children.length === 0\n        if (isVisiblyEmpty) {\n          // div.remove() // Remove the original element\n          div.removeAttribute('data-froala-role')\n          div.innerHTML = ''\n          div.appendChild(document.createElement('br'))\n        }\n      })\n\n      // Define the allowed Froala roles that are okay to be the only remaining elements\n      const allowed = ['signature', 'history-wrapper']\n\n      // Get all top-level child elements of the editor\n      const children = Array.from(editorEl.children)\n\n      // Check if all children are <div> elements with allowed data-froala-role attributes\n      const onlyAllowed = children.every((child) => {\n        const el = child as Element\n        if (el.tagName !== 'DIV') return false\n        const role = el.getAttribute('data-froala-role')\n        return role !== null && allowed.includes(role)\n      })\n\n      // Check if editor contains at least one allowed role\n      const containsAllowed = children.some((child) => {\n        const el = child as Element\n        const role = el.getAttribute('data-froala-role')\n        return role !== null && allowed.includes(role)\n      })\n\n      // If only allowed elements are present AND at least one is present, insert <div><br/></div>\n      if (onlyAllowed && containsAllowed) {\n        const emptyDiv = document.createElement('div')\n        emptyDiv.appendChild(document.createElement('br'))\n        editorEl.insertBefore(emptyDiv, editorEl.firstChild)\n      }\n    }\n\n    return {\n      _init() {\n        editor.events.on('contentChanged', function () {\n          deleteContainers()\n        })\n      },\n    }\n  }\n}\n","import qq from 'fine-uploader/lib/core'\n\nconst { UPLOADS_MAX_SIZE, UPLOADS_MAX_SIZE_MAIL } = window\n\nfunction scrollContentToBottom() {\n  $('html, body').animate(\n    {\n      scrollTop: $('html, body').get(0).scrollHeight,\n    },\n    300,\n  )\n}\n\nexport function uploadImageAsUpload(\n  kundoFroala,\n  files,\n  allowedExtensions,\n  isMailContext,\n  allowLargeUploads,\n  useScrollToBottom,\n) {\n  // Calls the upload_file view to create a Upload image\n  const { attachmentsList, uploadsUrl } = kundoFroala\n  const onSuccess = (file) => {\n    kundoFroala.froala.image.insert(file.temporaryUrl)\n  }\n  const disposition = 'inline'\n  const uploader = uploadsServiceUploaderFactory(\n    uploadsUrl,\n    attachmentsList,\n    allowedExtensions,\n    onSuccess,\n    isMailContext,\n    allowLargeUploads,\n    disposition,\n    useScrollToBottom,\n  )\n  uploader.addFiles(files)\n}\n\nexport function uploaderFactory(\n  url,\n  attachmentsList,\n  isMailContext,\n  allowLargeUploads,\n  allowedExtensions = [],\n) {\n  // Sample \"attachments\" response\n  // { \"success\": true, \"id\": 12, \"disposition\": \"inline\", \"file_url\": \"/site_media_p/attachment/context_1/file name.ext\" }\n  const onComplete = async (id, name, responseJSON, xhr) => {\n    attachmentsList.hide_progress()\n    if (responseJSON.success) {\n      await attachmentsList.add_file(responseJSON)\n    } else {\n      await attachmentsList.show_error_msg(responseJSON.error)\n    }\n\n    const frame = $('#mail-iframe', window.parent.document)\n    frame.length > 0 && frame.height(document.body.scrollHeight)\n\n    scrollContentToBottom()\n  }\n  return baseUploaderFactory(\n    url,\n    attachmentsList,\n    allowedExtensions,\n    onComplete,\n    isMailContext,\n    allowLargeUploads,\n  )\n}\n\nfunction uploadsServiceUploaderFactory(\n  url,\n  attachmentsList,\n  allowedExtensions,\n  onSuccess,\n  isMailContext = false,\n  allowLargeUploads = false,\n  disposition = 'attachment',\n  useScrollToBottom = false,\n) {\n  // Sample \"uploads\" response\n  // {\"success\": true, \"type\": \"jpeg\", \"temporary_url\": \"https://something\"}\n  const onComplete = (id, name, responseJSON, xhr) => {\n    attachmentsList.hide_progress()\n    if (!responseJSON.error) {\n      const file = {\n        id: responseJSON.path,\n        puri: responseJSON.puri,\n        url: responseJSON.temporary_url,\n        temporaryUrl: responseJSON.temporary_url,\n        disposition: 'inline',\n      }\n      attachmentsList.refresh_attachments()\n      onSuccess(file)\n    } else {\n      attachmentsList.show_error_msg(responseJSON.error)\n    }\n  }\n  return baseUploaderFactory(\n    url,\n    attachmentsList,\n    allowedExtensions,\n    onComplete,\n    isMailContext,\n    allowLargeUploads,\n    disposition,\n    useScrollToBottom,\n  )\n}\n\nfunction baseUploaderFactory(\n  url,\n  attachmentsList,\n  allowedExtensions,\n  onComplete,\n  isMailContext = false,\n  allowLargeUploads = false,\n  disposition = 'attachment',\n  useScrollToBottom = false,\n) {\n  return new qq.FineUploaderBasic({\n    request: {\n      endpoint: url,\n      inputName: 'file',\n      customHeaders: {\n        'X-Is-Mail-Context': isMailContext ? '1' : '0',\n        'X-Allow-Large-Uploads': allowLargeUploads ? '1' : '0',\n      },\n    },\n    retry: {\n      enableAuto: true,\n      autoAttemptDelay: 1,\n      maxAutoAttempts: 1,\n    },\n    validation: {\n      sizeLimit: isMailContext ? UPLOADS_MAX_SIZE_MAIL : UPLOADS_MAX_SIZE,\n      allowedExtensions,\n    },\n    messages: {\n      typeError: TRANSLATIONS.file_upload_invalid_extension,\n      emptyError: TRANSLATIONS.file_upload_empty,\n      noFilesError: TRANSLATIONS.file_upload_no_files,\n      sizeError: TRANSLATIONS.file_upload_size_error,\n    },\n    callbacks: {\n      onComplete,\n      onSubmit() {\n        attachmentsList.show_progress(0, disposition)\n      },\n      onProgress(id, name, uploadedBytes, totalBytes) {\n        const percent = (uploadedBytes / totalBytes) * 100\n        attachmentsList.show_progress(percent, disposition)\n\n        useScrollToBottom && scrollContentToBottom()\n      },\n      onAutoRetry(id, name) {\n        const msg = TRANSLATIONS.file_upload_retrying\n        attachmentsList.show_error_msg(msg)\n      },\n      onError(id, name, errorReason, xhr) {\n        if (xhr && xhr.status === 413) {\n          // this.cancel(id) // TODO: FineUploader throws an error if we cancel this, see: https://github.com/FineUploader/fine-uploader/issues/1758\n          const msg = TRANSLATIONS.file_upload_size_error\n            .replace('{file}', name)\n            .replace(\n              '{sizeLimit}',\n              this._formatSize(isMailContext ? UPLOADS_MAX_SIZE_MAIL : UPLOADS_MAX_SIZE),\n            )\n          attachmentsList.hide_progress()\n          attachmentsList.show_error_msg(msg)\n          return\n        }\n        attachmentsList.show_error_msg(errorReason)\n      },\n    },\n  })\n}\n","export default class InternalLinkWidget {\n  box: JQuery\n  selected: JQuery | null\n  searchBox: JQuery\n  resultList: JQuery\n  url: string\n  onselect: Function\n  onclose: Function\n\n  constructor(options: { box: JQuery; onselect?: Function; onclose?: Function }) {\n    this.selected = null\n    this.box = options.box\n    this.searchBox = this.box.find('.fn-searchbox')\n    this.resultList = this.box.find('.result-list ul')\n    this.searchBox.on('keyup', this.doSearch.bind(this))\n    this.box.on('keypress', (e: JQuery.KeyPressEvent) => {\n      if (e.key !== 'Enter') {\n        return\n      }\n      e.preventDefault()\n      this.selected && this.selectItem()\n    })\n    this.onselect = options.onselect || function () {}\n    this.onclose = options.onclose || function () {}\n\n    $('body').on('click', () => this.close(false))\n    this.box.on('click', (e) => e.stopPropagation())\n\n    this.box.find('.fn-cancel').on('click', (e) => this.close(false))\n    this.box.find('.fn-add-link').on('click', this.selectItem.bind(this))\n    this.resultList.on('click', 'li', this.onLinkClick.bind(this))\n    this.url = this.box.data('ajax-url')\n  }\n\n  onLinkClick(e) {\n    let target = e.target\n    if (e.target.tagName === 'SPAN') {\n      target = e.target.parentElement\n    }\n    this.selected = $(target)\n    // @ts-expect-error\n    for (let child of this.resultList.children()) {\n      $(child).removeClass('selected')\n    }\n    this.selected.addClass('selected')\n  }\n\n  selectItem() {\n    if (this.selected) {\n      const link = this.selected.data('url')\n      const label = this.selected.find('.fn-forum-link')[0].innerText\n      this.onselect(this, label, link)\n    }\n    this.close()\n  }\n\n  doSearch() {\n    this.search(<string>this.searchBox.val())\n  }\n\n  search(query: string) {\n    $.ajax({\n      url: this.url,\n      data: { q: query },\n      success: this.handleSearchResponse.bind(this),\n    })\n  }\n\n  handleSearchResponse(data) {\n    const result: JQuery<HTMLElement>[] = []\n    data.forEach((hit) => {\n      const $item = $('<li>', { 'data-url': hit.url })\n      const $link = $('<a>', { href: hit.url, target: '_blank' })\n      $link.append($('<span>', { text: hit.url, class: 'visuallyhidden' }))\n      $item.append($link)\n      $item.append($('<span>', { html: hit.title, class: 'fn-forum-link forum-link' }))\n      result.push($item)\n    })\n\n    this.resultList.empty().append(result)\n  }\n\n  open() {\n    this.box.removeClass('hidden')\n    this.searchBox.trigger('focus')\n    return this\n  }\n\n  close(focus = true) {\n    this.box.addClass('hidden')\n    this.onclose(this, focus)\n    return this\n  }\n\n  toggle() {\n    if (this.box.is('.hidden')) {\n      this.doSearch()\n      return this.open()\n    } else {\n      return this.close()\n    }\n  }\n}\n","import IconSearch from '@icons/search.svg'\n\ntype OnSelectHandler = (data: { text: string; attachments: any[] }) => void\n\nexport type Snippet = {\n  id: number\n  text: string\n  name: string\n  updated_at: string\n  usage_url: string\n  attachments: {}[]\n  excerpt: string\n}\nexport default class SnippetWidget {\n  box: JQuery<HTMLElement>\n  firstSnippet: JQuery<HTMLLIElement>\n  search: JQuery<HTMLElement>\n  snippet_box: JQuery<HTMLElement>\n  snippets: JQuery<HTMLLIElement>\n\n  prev_search_term: string\n\n  onclose: (focus: boolean) => void\n  onselect: OnSelectHandler\n\n  constructor(options: {\n    url: string\n    parent: HTMLElement\n    onselect: OnSelectHandler\n    onclose?: (focus: boolean) => void\n    positionAbove?: boolean\n  }) {\n    this.renderInitial(options.positionAbove)\n    this.box.appendTo(options.parent)\n\n    this.onselect = options.onselect || function () {}\n    this.onclose = options.onclose || function () {}\n    this.snippets = this.snippet_box.find('li')\n    this.firstSnippet = this.snippets.filter('.selected')\n    this.prev_search_term = ''\n\n    $('body').on('click', () => this.close(false))\n    this.box.on('click', (e) => {\n      e.stopPropagation()\n      this.search.trigger('focus')\n    })\n\n    // Setup events for everything...\n    this.search.on('keypress', (e) => this.selectEnter(e))\n    this.search.on('keydown', (e) => this.keyboardNavigation(e))\n    this.search.on('keyup input', () => this.filterSnippet())\n\n    this.fetchSnippets(options.url)\n  }\n\n  renderInitial(positionAbove?: boolean) {\n    let inputId = 'snippet-search'\n    let labelText = TRANSLATIONS.snippet_label_msg\n    let label = $(`<label class=\"visuallyhidden\" for=\"snippet-search\">`)\n      .attr('for', inputId)\n      .text(labelText)\n    this.search = $(`<input type=\"search\" autocomplete=\"off\" class=\"ml-2 w-full\">`)\n      .attr('placeholder', labelText)\n      .attr('name', inputId)\n      .attr('id', inputId)\n\n    this.box = $(`<div class=\"hidden snippet-box\">`)\n      .addClass(positionAbove ? 'snippet-box--above' : 'snippet-box--below')\n      .append(\n        $(`<h2>`).text(TRANSLATIONS.snippet_heading),\n        $(`<div class=\"search-wrapper flex items-center\">`).append(IconSearch, this.search, label),\n      )\n\n    this.snippet_box = $(`<ul class=\"list-unstyled snippet-box-options\">`).appendTo(this.box)\n  }\n\n  async fetchSnippets(url: string) {\n    const messagePuri = this.box[0]?.closest('form')?.getAttribute('data-message-puri')\n    if (messagePuri) {\n      const separator = url.includes('?') ? '&' : '?'\n      url += `${separator}message_puri=${encodeURIComponent(messagePuri)}`\n    }\n    const data: { snippets: Snippet[] } = await $.ajax(url)\n    data.snippets.forEach((snippet, i) => {\n      $(`<li class=\"snippet-box__item fn-tooltip-veryslow\">`)\n        .attr('title', snippet.name + ' - ' + snippet.excerpt)\n        .toggleClass('selected', i === 0)\n        .data('id', snippet.id)\n        .data('text', snippet.text)\n        .data('attachments', snippet.attachments)\n        .data('usage-url', snippet.usage_url)\n        .append($(`<span class=\"snippet-box__name\">`).text(snippet.name))\n        .append($(`<span class=\"subtle\">`).text(snippet.updated_at))\n        .appendTo(this.snippet_box)\n    })\n\n    this.snippets = this.snippet_box.find('li')\n    this.snippets.on('mouseover', (e) => this.hoverSnippet(e))\n    this.snippets.on('click', (e) => this.selectClick(e))\n    this.firstSnippet = this.snippets.filter('.selected')\n    KUNDO.tooltip?.update()\n  }\n\n  hoverSnippet(e: JQuery.MouseOverEvent) {\n    const selected = this.snippets.filter('.selected')\n\n    const new_selected = $(e.currentTarget)\n    this.moveSelected(selected, new_selected, false)\n  }\n\n  selectClick(e: JQuery.ClickEvent) {\n    const selected = $(e.currentTarget)\n    this.select(selected)\n    this.close()\n  }\n\n  select(selected: JQuery) {\n    this.search.val('')\n    selected.removeClass('selected')\n    this.firstSnippet.addClass('selected')\n    this.filterSnippet()\n    if (!selected.length) {\n      return\n    }\n    this.onselect({\n      text: selected.data('text'),\n      attachments: selected.data('attachments'),\n    })\n    $.post(selected.data('usage-url'))\n  }\n\n  selectEnter(e: JQuery.KeyPressEvent) {\n    if (e.which === 13) {\n      // Enter\n      e.preventDefault()\n      const selected = this.snippets.filter('.selected')\n      this.select(selected)\n      this.close()\n    }\n  }\n\n  keyboardNavigation(e: JQuery.KeyDownEvent) {\n    let new_selected: JQuery\n    const selected = this.snippets.filter('.selected')\n\n    if (e.which === 27) {\n      // Escape\n      e.stopPropagation()\n      return this.close()\n    } else if (e.which === 40) {\n      // Down\n      new_selected = selected.nextAll().filter(':visible:first')\n      if (new_selected.length) {\n        this.moveSelected(selected, new_selected)\n        return e.preventDefault()\n      }\n    } else if (e.which === 38) {\n      // Up\n      new_selected = selected.prevAll().filter(':visible:first')\n      if (new_selected.length) {\n        this.moveSelected(selected, new_selected)\n        return e.preventDefault()\n      }\n    }\n  }\n\n  filterSnippet() {\n    const search_term = this.search.val() as string\n    if (search_term === this.prev_search_term) {\n      return\n    }\n\n    this.prev_search_term = search_term\n    this.snippets.each((_, el) => {\n      const snippet = $(el)\n      if (fuzzyMatches(search_term, snippet.text())) {\n        snippet.removeClass('hidden')\n      } else {\n        snippet.addClass('hidden')\n      }\n    })\n\n    const selected = this.snippets.filter('.selected')\n    const new_selected = this.snippets.filter(':visible:first')\n    this.moveSelectedScrollTop(selected, new_selected)\n  }\n\n  moveSelected(from: JQuery, to: JQuery, focus = true) {\n    from.removeClass('selected')\n    to.addClass('selected')\n    if (focus) {\n      this.scrollToElement(from, to)\n    }\n  }\n\n  moveSelectedScrollTop(from: JQuery, to: JQuery) {\n    from.removeClass('selected')\n    to.addClass('selected')\n    this.snippet_box.scrollTop(0)\n  }\n\n  getScrollToDirection(from: JQuery, to: JQuery) {\n    const amountOfElementsAboveFromElement = from.prevAll().filter(':visible').length\n    const amountOfElementsAboveToElement = to.prevAll().filter(':visible').length\n\n    const shouldScrollDownwards = amountOfElementsAboveToElement > amountOfElementsAboveFromElement\n    const shouldScrollUpwards = amountOfElementsAboveToElement < amountOfElementsAboveFromElement\n    return { shouldScrollDownwards, shouldScrollUpwards }\n  }\n\n  scrollToElement(from: JQuery, to: JQuery) {\n    const currentScrollPosition = this.snippet_box.scrollTop()\n\n    if (currentScrollPosition === undefined) {\n      return\n    }\n\n    const { shouldScrollDownwards, shouldScrollUpwards } = this.getScrollToDirection(from, to)\n\n    if (shouldScrollDownwards) {\n      const scrollAmount = from.outerHeight()\n      if (scrollAmount) {\n        this.snippet_box.scrollTop(currentScrollPosition + scrollAmount)\n      }\n    } else if (shouldScrollUpwards) {\n      const scrollAmount = to.outerHeight()\n      if (scrollAmount) {\n        this.snippet_box.scrollTop(currentScrollPosition - scrollAmount)\n      }\n    }\n  }\n\n  open() {\n    this.box.removeClass('hidden')\n    this.search.trigger('focus')\n    return this\n  }\n\n  close(focus = true) {\n    this.box.addClass('hidden')\n    this.onclose(focus)\n    return this\n  }\n\n  toggle() {\n    if (this.box.is('.hidden')) {\n      return this.open()\n    } else {\n      return this.close()\n    }\n  }\n\n  destroy() {\n    this.box.remove()\n  }\n}\n\nfunction fuzzyMatches(search_term: string, string: string) {\n  search_term = search_term.toLowerCase()\n  string = string.toLowerCase()\n  let string_index = 0\n  for (let search_index = 0, end = search_term.length; search_index < end; search_index++) {\n    while (string[string_index] !== search_term[search_index]) {\n      string_index++\n      if (string_index > string.length) {\n        return false\n      }\n    }\n  }\n  return true\n}\n","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) { ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgArrowRightUp = function SvgArrowRightUp(props) {\n  return /*#__PURE__*/React.createElement(\"svg\", _extends({\n    width: 24,\n    height: 24,\n    viewBox: \"0 0 24 24\",\n    fill: \"none\",\n    xmlns: \"http://www.w3.org/2000/svg\",\n    \"aria-hidden\": \"true\"\n  }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n    fillRule: \"evenodd\",\n    clipRule: \"evenodd\",\n    d: \"M17.9241 6.61722C17.8757 6.50014 17.804 6.3904 17.7092 6.29502C17.7078 6.2936 17.7064 6.29219 17.705 6.29078C17.5242 6.11106 17.2751 6 17 6H16.9998H7C6.44772 6 6 6.44772 6 7C6 7.55228 6.44772 8 7 8H14.5858L6.29289 16.2929C5.90237 16.6834 5.90237 17.3166 6.29289 17.7071C6.68342 18.0976 7.31658 18.0976 7.70711 17.7071L16 9.41421V17C16 17.5523 16.4477 18 17 18C17.5523 18 18 17.5523 18 17V7.00069V7C18 6.999 18 6.998 18 6.997C17.9996 6.8625 17.9727 6.73425 17.9241 6.61722Z\",\n    fill: \"currentColor\"\n  })));\n};\nexport { SvgArrowRightUp as ReactComponent };\nexport default \"<svg width=\\\"24\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" aria-hidden=\\\"true\\\">\\n  <path fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" d=\\\"M17.9241 6.61722C17.8757 6.50014 17.804 6.3904 17.7092 6.29502C17.7078 6.2936 17.7064 6.29219 17.705 6.29078C17.5242 6.11106 17.2751 6 17 6H16.9998H7C6.44772 6 6 6.44772 6 7C6 7.55228 6.44772 8 7 8H14.5858L6.29289 16.2929C5.90237 16.6834 5.90237 17.3166 6.29289 17.7071C6.68342 18.0976 7.31658 18.0976 7.70711 17.7071L16 9.41421V17C16 17.5523 16.4477 18 17 18C17.5523 18 18 17.5523 18 17V7.00069V7C18 6.999 18 6.998 18 6.997C17.9996 6.8625 17.9727 6.73425 17.9241 6.61722Z\\\" fill=\\\"currentColor\\\"/>\\n</svg>\\n\";","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) { ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgTwinkle = function SvgTwinkle(props) {\n  return /*#__PURE__*/React.createElement(\"svg\", _extends({\n    xmlns: \"http://www.w3.org/2000/svg\",\n    width: 20,\n    height: 20,\n    fill: \"none\",\n    \"aria-hidden\": \"true\"\n  }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n    fill: \"currentColor\",\n    fillRule: \"evenodd\",\n    d: \"M7.859 2.799c-.278-.704-1.273-.704-1.55 0l-.86 2.18a.833.833 0 0 1-.47.47l-2.18.86c-.704.277-.704 1.272 0 1.55l2.18.86a.833.833 0 0 1 .47.469l.86 2.18c.277.703 1.272.703 1.55 0l.86-2.18a.833.833 0 0 1 .469-.47l2.18-.86c.703-.277.703-1.272 0-1.55l-2.18-.86a.833.833 0 0 1-.47-.47l-.86-2.18Zm7.083 8.333c-.278-.703-1.273-.703-1.55 0l-.507 1.284a.833.833 0 0 1-.47.47l-1.283.505c-.703.278-.703 1.273 0 1.55l1.284.507a.833.833 0 0 1 .47.47l.505 1.283c.278.703 1.273.703 1.55 0l.507-1.283a.833.833 0 0 1 .47-.47l1.283-.506c.703-.278.703-1.273 0-1.55l-1.283-.507a.833.833 0 0 1-.47-.47l-.506-1.283Z\",\n    clipRule: \"evenodd\"\n  })));\n};\nexport { SvgTwinkle as ReactComponent };\nexport default \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"20\\\" height=\\\"20\\\" fill=\\\"none\\\" aria-hidden=\\\"true\\\">\\n  <path fill=\\\"currentColor\\\" fill-rule=\\\"evenodd\\\" d=\\\"M7.859 2.799c-.278-.704-1.273-.704-1.55 0l-.86 2.18a.833.833 0 0 1-.47.47l-2.18.86c-.704.277-.704 1.272 0 1.55l2.18.86a.833.833 0 0 1 .47.469l.86 2.18c.277.703 1.272.703 1.55 0l.86-2.18a.833.833 0 0 1 .469-.47l2.18-.86c.703-.277.703-1.272 0-1.55l-2.18-.86a.833.833 0 0 1-.47-.47l-.86-2.18Zm7.083 8.333c-.278-.703-1.273-.703-1.55 0l-.507 1.284a.833.833 0 0 1-.47.47l-1.283.505c-.703.278-.703 1.273 0 1.55l1.284.507a.833.833 0 0 1 .47.47l.505 1.283c.278.703 1.273.703 1.55 0l.507-1.283a.833.833 0 0 1 .47-.47l1.283-.506c.703-.278.703-1.273 0-1.55l-1.283-.507a.833.833 0 0 1-.47-.47l-.506-1.283Z\\\" clip-rule=\\\"evenodd\\\"/>\\n</svg>\\n\";","import React from 'react'\n\nimport { ReactComponent as ArrowRightUp } from '@icons/arrow-right-up.svg'\nimport { ReactComponent as IconTwinkle } from '@icons/twinkle.svg'\n\nexport type SuggestionCardProps = {\n  channelColorClass: string\n  channelIconStyling: string\n  channelName: string\n  distance: number | null\n  excerpt: string\n  onRequestInsertLink: (title: string, url: string) => void\n  onRequestSmartReply: (url: string) => void\n  publicUrl: string\n  smartReplyPath: string\n  title: string\n}\n\nexport default function SuggestionCard(props: SuggestionCardProps) {\n  const {\n    channelColorClass,\n    channelIconStyling,\n    channelName,\n    distance,\n    excerpt,\n    onRequestInsertLink,\n    onRequestSmartReply,\n    publicUrl,\n    smartReplyPath,\n    title,\n  } = props\n\n  const requestInsertLink = (event: React.MouseEvent<HTMLElement>) => {\n    event.preventDefault()\n    onRequestInsertLink(title, publicUrl)\n  }\n\n  const requestSmartReply = (event: React.MouseEvent<HTMLElement>) => {\n    event.preventDefault()\n    onRequestSmartReply(smartReplyPath)\n  }\n\n  return (\n    <div className=\"suggestion-card\">\n      <div className=\"suggestion-card__header\">\n        <a\n          href={publicUrl}\n          target=\"_blank\"\n          rel=\"nofollow noopener\"\n        >\n          <h3\n            className=\"suggestion-card__title\"\n            data-distance={distance}\n          >\n            <i\n              className={'channel-icon ' + channelColorClass}\n              dangerouslySetInnerHTML={{ __html: channelIconStyling }}\n              title={channelName}\n            />\n            <span className=\"suggestion-title\">{title}</span>\n            <ArrowRightUp className=\"external-link-icon\"></ArrowRightUp>\n          </h3>\n        </a>\n      </div>\n      <div className=\"suggestion-card__body\">\n        <p>{excerpt}</p>\n      </div>\n      <div className=\"suggestion-card__footer\">\n        <button\n          id=\"smart-reply\"\n          title=\"Smart Reply\"\n          className=\"btn btn--editor btn--secondary btn--small\"\n          onClick={requestSmartReply}\n        >\n          <IconTwinkle></IconTwinkle> Smart Reply\n        </button>\n        <button\n          id=\"link-to-guide\"\n          title={gettext('Infoga länk')}\n          className=\"btn btn--editor btn--tertiary btn--small align-left\"\n          onClick={requestInsertLink}\n        >\n          {gettext('Infoga länk')}\n        </button>\n      </div>\n    </div>\n  )\n}\n","import React, { useEffect, useState } from 'react'\nimport SuggestionCard, { SuggestionCardProps } from './SuggestionCard'\n\ntype SuggestionCardListProps = {\n  suggestions: SuggestionCardProps[]\n  onRequestInsertLink: (title: string, link: string) => void\n  onRequestSmartReply: (url: string) => void\n}\n\nexport default function SuggestionCardList(props: SuggestionCardListProps) {\n  const { suggestions, onRequestSmartReply, onRequestInsertLink } = props\n\n  return (\n    <>\n      <ul className=\"suggestion-card-list\">\n        {suggestions.map((suggestion, index) => (\n          <li\n            key={index}\n            className=\"suggestion-card-list--item\"\n          >\n            <SuggestionCard\n              channelColorClass={suggestion.channelColorClass}\n              channelIconStyling={suggestion.channelIconStyling}\n              channelName={suggestion.channelName}\n              distance={suggestion.distance}\n              excerpt={suggestion.excerpt}\n              onRequestInsertLink={onRequestInsertLink}\n              onRequestSmartReply={onRequestSmartReply}\n              publicUrl={suggestion.publicUrl}\n              smartReplyPath={suggestion.smartReplyPath}\n              title={suggestion.title}\n            />\n          </li>\n        ))}\n      </ul>\n    </>\n  )\n}\n","import React, { useEffect, useMemo, useState } from 'react'\nimport { ReactComponent as IconX } from '@icons/x.svg'\nimport debounce from 'lodash/debounce'\n\ntype DebouncedTextInputProps = {\n  debounceWaitTime: number\n  onNewValue: (value: string) => void\n  placeholder?: string\n  resetButtonLabel?: string\n}\n\nexport default function DebouncedTextInput(props: DebouncedTextInputProps) {\n  const { debounceWaitTime, onNewValue: onNewValue, placeholder, resetButtonLabel } = props\n  const [value, setValue] = useState<string>('')\n\n  const debouncedResults = useMemo(() => {\n    return debounce((value: string) => {\n      onNewValue(value)\n    }, debounceWaitTime)\n  }, [])\n\n  useEffect(() => {\n    return () => {\n      debouncedResults.cancel()\n    }\n  })\n\n  useEffect(() => {\n    debouncedResults(value)\n  }, [value])\n\n  const onInputChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n    setValue(e.target.value)\n  }\n\n  const onResetButtonClick = (e: React.MouseEvent) => {\n    setValue('')\n  }\n\n  return (\n    <>\n      <input\n        type=\"text\"\n        placeholder={placeholder}\n        value={value}\n        onChange={onInputChange}\n      />\n      {value.length > 0 && (\n        <button\n          type=\"reset\"\n          onClick={onResetButtonClick}\n        >\n          <IconX />\n          <span className=\"visuallyhidden\">{resetButtonLabel}</span>\n        </button>\n      )}\n    </>\n  )\n}\n","import React, { useState, useEffect } from 'react'\nimport SuggestionCardList from './SuggestionCardList'\nimport { SuggestionCardProps } from './SuggestionCard'\nimport DebouncedTextInput from './DebouncedTextInput'\nimport useApi, { HTTP, StateType, endpoints } from '../hooks/useApi'\n\ntype KeywordSearchProps = {\n  dialogSlug: string\n  inboxSlug: string\n  mailCommentId: number | null\n  onRequestInsertLink: (title: string, url: string) => void\n  onRequestSmartReply: (url: string) => void\n  searchHits: SuggestionCardProps[] | null\n  setSearchHits: (searchHits: SuggestionCardProps[] | null) => void\n}\n\nenum SearchStatus {\n  Idle,\n  Loading,\n  Loaded,\n  Error,\n}\n\nenum ErrorCode {\n  ServerError = 1,\n  LastMessageIsOutgoing = 2,\n  ContentLengthExceeded = 3,\n}\n\ntype Error = {\n  code: ErrorCode\n}\n\nexport default function KeywordSearch(props: KeywordSearchProps) {\n  const {\n    dialogSlug,\n    inboxSlug,\n    mailCommentId,\n    onRequestInsertLink,\n    onRequestSmartReply,\n    searchHits,\n    setSearchHits,\n  } = props\n  const [searchTerm, setSearchTerm] = useState<string>('')\n  const [status, setStatus] = useState<SearchStatus>(SearchStatus.Idle)\n  const [error, setError] = useState<Error>()\n\n  const string_length_search_threshold = 2\n\n  const [GETTextSearchStatus, GETTextSearch] = useApi<{\n    searchTerm: string\n    suggestions: SuggestionCardProps[]\n    error: Error | null\n  }>(HTTP.GET, endpoints.ai.keywordSearch(inboxSlug, dialogSlug, searchTerm, mailCommentId))\n\n  useEffect(() => {\n    if (GETTextSearchStatus.type === StateType.Done) {\n      if (GETTextSearchStatus.payload.error) {\n        setStatus(SearchStatus.Error)\n        setError(GETTextSearchStatus.payload.error)\n      } else {\n        setStatus(SearchStatus.Loaded)\n        setSearchHits(GETTextSearchStatus.payload.suggestions)\n      }\n    } else if (GETTextSearchStatus.type === StateType.Loading) {\n      setStatus(SearchStatus.Loading)\n    } else if (GETTextSearchStatus.type === StateType.Error) {\n      setStatus(SearchStatus.Error)\n      setError({ code: ErrorCode.ServerError })\n    }\n  }, [GETTextSearchStatus])\n\n  useEffect(() => {\n    if (searchTerm.length == 0) {\n      setSearchHits(null)\n    } else if (searchTerm.length > string_length_search_threshold) {\n      GETTextSearch()\n    }\n  }, [searchTerm])\n\n  const submitSearchForm = (event: React.FormEvent<HTMLFormElement>) => {\n    event.preventDefault()\n    setSearchTerm(event.target[0].value)\n  }\n\n  return (\n    <div className=\"text-search\">\n      <div className=\"text-search--container\">\n        <form\n          role=\"search\"\n          className=\"text-search--search-bar\"\n          onSubmit={submitSearchForm}\n        >\n          <DebouncedTextInput\n            onNewValue={setSearchTerm}\n            placeholder={gettext('Sök')}\n            resetButtonLabel={gettext('Rensa sökfält')}\n            debounceWaitTime={300}\n          />\n        </form>\n\n        {status == SearchStatus.Loaded &&\n          searchTerm.length > 0 &&\n          searchHits &&\n          searchHits.length < 1 && <p>{gettext('Inga träffar matchar din sökning')}</p>}\n\n        {searchHits && searchHits.length > 0 && (\n          <SuggestionCardList\n            suggestions={searchHits}\n            onRequestSmartReply={onRequestSmartReply}\n            onRequestInsertLink={onRequestInsertLink}\n          />\n        )}\n      </div>\n    </div>\n  )\n}\n","import React, { useEffect, useState } from 'react'\nimport useApi, { HTTP, StateType, endpoints } from '../hooks/useApi'\nimport { ReactComponent as IconTwinkle } from '@icons/twinkle.svg'\nimport { ReactComponent as IconQuestionCircle } from '@icons/question-circle.svg'\nimport SuggestionCardList from './SuggestionCardList'\nimport { SuggestionCardProps } from './SuggestionCard'\n\ntype SmartSuggestionProps = {\n  dialogSlug: string\n  hasInboxEditPermissions: boolean\n  hasSmartReplyChannels: boolean\n  inboxSlug: string\n  isConnectedToSmartReplyChannel: boolean\n  mailCommentId: number | null\n  onRequestInsertLink: (title: string, url: string) => void\n  onRequestSmartReply: (url: string) => void\n  setSuggestions: (suggestions: SuggestionCardProps[]) => void\n  suggestions: SuggestionCardProps[] | null\n  suggestionsLoadedCallback: (suggestionsCount: number) => void\n}\n\nenum SmartSuggestionsStatus {\n  Loading,\n  Loaded,\n  Error,\n}\n\nenum ErrorCode {\n  ServerError = 1,\n  LastMessageIsOutgoing = 2,\n  ContentLengthExceeded = 3,\n}\n\ntype Error = {\n  code: ErrorCode\n}\n\nexport default function SmartSuggestions(props: SmartSuggestionProps) {\n  const {\n    dialogSlug,\n    hasInboxEditPermissions,\n    hasSmartReplyChannels,\n    inboxSlug,\n    isConnectedToSmartReplyChannel,\n    mailCommentId,\n    onRequestInsertLink,\n    onRequestSmartReply,\n    setSuggestions,\n    suggestions,\n    suggestionsLoadedCallback,\n  } = props\n  const [searchTerm, setSearchTerm] = useState<string>()\n  const [status, setStatus] = useState<SmartSuggestionsStatus>(SmartSuggestionsStatus.Loaded)\n  const [error, setError] = useState<Error>()\n  const [GETSmartSuggestionsStatus, GETSmartSuggestions] = useApi<{\n    searchTerm: string\n    suggestions: SuggestionCardProps[]\n    error: Error | null\n  }>(HTTP.GET, endpoints.ai.smartSuggestions(inboxSlug, dialogSlug, mailCommentId))\n\n  useEffect(() => {\n    if (!hasSmartReplyChannels || !isConnectedToSmartReplyChannel) {\n      return\n    }\n\n    if (suggestions === null) {\n      GETSmartSuggestions()\n    }\n  }, [])\n\n  useEffect(() => {\n    if (GETSmartSuggestionsStatus.type === StateType.Done) {\n      if (GETSmartSuggestionsStatus.payload.error) {\n        setStatus(SmartSuggestionsStatus.Error)\n        setError(GETSmartSuggestionsStatus.payload.error)\n      } else {\n        setStatus(SmartSuggestionsStatus.Loaded)\n        setSuggestions(GETSmartSuggestionsStatus.payload.suggestions)\n        setSearchTerm(GETSmartSuggestionsStatus.payload.searchTerm)\n        suggestionsLoadedCallback(GETSmartSuggestionsStatus.payload.suggestions.length)\n      }\n    } else if (GETSmartSuggestionsStatus.type === StateType.Error) {\n      setStatus(SmartSuggestionsStatus.Error)\n      setError({ code: ErrorCode.ServerError })\n    }\n  }, [GETSmartSuggestionsStatus])\n\n  const getAiContactFormUrl = (lang: string | null) => {\n    switch (lang) {\n      case 'sv':\n        return 'https://www.kundo.se/kontaktformular'\n      case 'fi':\n        return 'https://www.kundo.fi/ota-yhteytta-kundoon'\n      case 'no':\n        return 'https://www.kundo.no/kontakt-ai'\n      case 'en':\n        return 'https://www.kundo.se/en/contact-ai'\n      default:\n        return 'https://www.kundo.se/en/contact-ai'\n    }\n  }\n\n  const smartSuggestionsHelpURL =\n    window.CURRENT_LANGUAGE == 'sv'\n      ? 'https://www.kundo.se/hjalp-support?path=%2Fguide%2Fsmart-suggestions-and-smart-replies'\n      : 'https://www.kundo.se/en/help-support?path=%2Fguide%2Fsmart-suggestions-and-smart-replies'\n\n  return (\n    <>\n      <div\n        className=\"smart-suggestions\"\n        data-search-term={searchTerm}\n      >\n        <div className=\"smart-suggestions--header\">\n          <h2>\n            <span className=\"icon\">\n              <IconTwinkle></IconTwinkle>\n            </span>\n            <span className=\"text\">Smart Suggestions</span>\n          </h2>\n          <a\n            className=\"smart-suggestions--help-link\"\n            href={smartSuggestionsHelpURL}\n            target=\"_blank\"\n            rel=\"nofollow noopener\"\n          >\n            <IconQuestionCircle></IconQuestionCircle>\n          </a>\n        </div>\n        <div className=\"smart-suggestions--container\">\n          {status === SmartSuggestionsStatus.Loading && (\n            <span\n              className=\"skeleton-box\"\n              style={{ width: '100%' }}\n            ></span>\n          )}\n\n          {error && error.code == ErrorCode.LastMessageIsOutgoing && (\n            <p>{gettext('Senaste konversationen är utgående.')}</p>\n          )}\n          {error && error.code == ErrorCode.ServerError && (\n            <p>{gettext('Tekniskt fel, försök igen senare.')}</p>\n          )}\n\n          {hasSmartReplyChannels && !isConnectedToSmartReplyChannel && (\n            <>\n              <p>\n                {gettext(\n                  'För att kunna generera ett svarsförslag behöver du koppla inkorgen till en kunskapskälla.',\n                )}\n              </p>\n              {hasInboxEditPermissions && (\n                <a\n                  className=\"btn btn--editor btn--secondary btn--small\"\n                  href={`${window.location.origin}/inbox/${inboxSlug}/settings/smart-suggestions/`}\n                >\n                  {gettext('Koppla din inkorg')}\n                </a>\n              )}\n            </>\n          )}\n\n          {!hasSmartReplyChannels && (\n            <>\n              <p>\n                {gettext(\n                  'Effektivisera ditt arbete genom att låta vår AI skriva ett svar på mailet. Vill du veta mer?',\n                )}\n              </p>\n              <a\n                href={getAiContactFormUrl(window.CURRENT_LANGUAGE)}\n                target=\"_blank\"\n                className=\"btn btn--editor btn--secondary btn--small\"\n              >\n                {gettext('Anmäl intresse')}\n              </a>\n            </>\n          )}\n\n          {suggestions && suggestions.length === 0 && isConnectedToSmartReplyChannel && (\n            <p>{gettext('Det finns inga relevanta förslag. Prova att använda sökfunktionen.')}</p>\n          )}\n\n          {suggestions && suggestions.length > 0 && (\n            <SuggestionCardList\n              suggestions={suggestions}\n              onRequestSmartReply={onRequestSmartReply}\n              onRequestInsertLink={onRequestInsertLink}\n            />\n          )}\n        </div>\n      </div>\n    </>\n  )\n}\n","import React, { useState } from 'react'\nimport skeletonLoadingBoxes from './skeletonLoadingBoxes'\nimport { triggerSnackbar } from '../components/Snackbar'\nimport KeywordSearch from './KeywordSearch'\nimport SmartSuggestions from './SmartSuggestions'\nimport { SuggestionCardProps } from './SuggestionCard'\n\ntype SelfServiceWidgetProps = {\n  inboxSlug: string\n  dialogSlug: string\n  mailCommentId: number | null\n  suggestionsLoadedCallback: (suggestionsCount: number) => void\n  actionTakenCallback: () => void\n  insertLinkFunction: (url: string, title: string) => void\n  insertHTMLFunction: (html: string) => void\n  setEditableFunction: (state: boolean) => void\n  isConnectedToSmartReplyChannel: boolean\n  hasSmartReplyChannels: boolean\n  hasInboxEditPermissions: boolean\n}\n\nenum ErrorCode {\n  ServerError = 1,\n  LastMessageIsOutgoing = 2,\n  ContentLengthExceeded = 3,\n}\n\nexport default function SelfServiceWidget(props: SelfServiceWidgetProps) {\n  const {\n    inboxSlug,\n    dialogSlug,\n    mailCommentId,\n    actionTakenCallback,\n    suggestionsLoadedCallback,\n    insertLinkFunction,\n    insertHTMLFunction,\n    setEditableFunction,\n    isConnectedToSmartReplyChannel,\n    hasSmartReplyChannels,\n    hasInboxEditPermissions,\n  } = props\n\n  const [keywordSearchHits, setKeywordSearchHits] = useState<SuggestionCardProps[] | null>(null)\n  const [smartSuggestions, setSmartSuggestions] = useState<SuggestionCardProps[] | null>(null)\n\n  const requestSmartReply = (url: string) => {\n    actionTakenCallback()\n    displaySkeletonLoadingBoxes()\n    setEditableFunction(false)\n    removeExistingReply()\n\n    $.get(url, function () {})\n      .done(function (data) {\n        if (data.error) {\n          console.debug(data.error)\n          if (ErrorCode.ContentLengthExceeded === data.error.code) {\n            triggerSnackbar(gettext('Ett fel uppstod - guide eller mail är för långt.'))\n          } else {\n            triggerSnackbar(gettext('Tekniskt fel, försök igen senare.'))\n          }\n          return\n        }\n\n        const wrappedReply =\n          '<div class=\"smart-replies-froala-content--reply\">' + data.smartReply + '</div>'\n\n        insertHTMLFunction(wrappedReply)\n      })\n      .fail(function () {\n        triggerSnackbar(gettext('Tekniskt fel, försök igen senare.'))\n      })\n      .always(function () {\n        setEditableFunction(true)\n        hideSkeletonLoadingBoxes()\n      })\n  }\n\n  const insertLink = (title: string, url: string) => {\n    actionTakenCallback()\n    insertLinkFunction(url, title)\n  }\n\n  const keywordSearchPerformed = keywordSearchHits != null\n\n  return (\n    <>\n      {isConnectedToSmartReplyChannel && (\n        <KeywordSearch\n          inboxSlug={inboxSlug}\n          dialogSlug={dialogSlug}\n          mailCommentId={mailCommentId}\n          onRequestSmartReply={requestSmartReply}\n          onRequestInsertLink={insertLink}\n          setSearchHits={setKeywordSearchHits}\n          searchHits={keywordSearchHits}\n        />\n      )}\n\n      {!keywordSearchPerformed && (\n        <SmartSuggestions\n          inboxSlug={inboxSlug}\n          dialogSlug={dialogSlug}\n          mailCommentId={mailCommentId}\n          suggestionsLoadedCallback={suggestionsLoadedCallback}\n          isConnectedToSmartReplyChannel={isConnectedToSmartReplyChannel}\n          hasSmartReplyChannels={hasSmartReplyChannels}\n          hasInboxEditPermissions={hasInboxEditPermissions}\n          onRequestSmartReply={requestSmartReply}\n          onRequestInsertLink={insertLink}\n          setSuggestions={setSmartSuggestions}\n          suggestions={smartSuggestions}\n        />\n      )}\n    </>\n  )\n}\n\nconst hideSkeletonLoadingBoxes = () => {\n  document.querySelector('.smart-replies-froala-content--loader')?.remove()\n}\n\nconst insertHTMLInFroalaEditor = (html: string) => {\n  const froalaEditor = document.querySelector('div.fr-element')\n  froalaEditor?.insertAdjacentHTML('afterbegin', html)\n}\n\nconst displaySkeletonLoadingBoxes = () => {\n  const froalaEditor = document.querySelector('div.fr-element')\n  if (froalaEditor?.querySelector('.smart-replies-froala-content--loader')) {\n    return\n  }\n  insertHTMLInFroalaEditor(skeletonLoadingBoxes())\n}\n\nconst removeExistingReply = () => {\n  document.querySelectorAll('.smart-replies-froala-content--reply').forEach((elem) => elem.remove())\n}\n","export default function skeletonLoadingBoxes() {\n  return `\n    <div class=\"smart-replies-froala-content--loader\">\n      <span class=\"skeleton-box\" style=\"width: 20%; max-width: 80px;\"></span>\n      <div class=\"fill-row\"></div>\n      <span class=\"skeleton-box\" style=\"width: 40%; max-width: 160px;\"></span>\n      <span class=\"skeleton-box\" style=\"width: 100%; max-width: 400px;\"></span>\n      <span class=\"skeleton-box\" style=\"width: 100%; max-width: 400px;\"></span>\n      <span class=\"skeleton-box\" style=\"width: 90%; max-width: 360px;\"></span>\n      <div class=\"fill-row\"></div>\n      <span class=\"skeleton-box\" style=\"width: 70%; max-width: 280px; display: block; margin-bottom: 0.25em;\"></span>\n      <span class=\"skeleton-box\" style=\"width: 70%; max-width: 280px; display: block; margin-bottom: 0.25em;\"></span>\n      <div style=\"width: 100%; height: 1em;\"></div>\n      <div style=\"width: 100%; height: 1em;\"></div>\n      <span class=\"skeleton-box\" style=\"width: 35%; max-width: 140px;\"></span>\n    </div>`\n}\n","import React from 'react'\n\nimport { createRoot } from 'react-dom/client'\nimport SelfServiceWidget from './SelfServiceWidget'\n\nexport default function initSelfServiceWidget(\n  elem,\n  inboxSlug,\n  dialogSlug,\n  mailCommentId,\n  suggestionsLoadedCallback,\n  actionTakenCallback,\n  insertLinkFunction,\n  insertHTMLFunction,\n  setEditableFunction,\n  isConnectedToSmartReplyChannel,\n  hasSmartReplyChannels,\n  hasInboxEditPermissions,\n) {\n  if (elem && dialogSlug) {\n    const root = createRoot(elem)\n    root.render(\n      <SelfServiceWidget\n        inboxSlug={inboxSlug}\n        dialogSlug={dialogSlug}\n        mailCommentId={mailCommentId}\n        suggestionsLoadedCallback={suggestionsLoadedCallback}\n        actionTakenCallback={actionTakenCallback}\n        insertLinkFunction={insertLinkFunction}\n        insertHTMLFunction={insertHTMLFunction}\n        setEditableFunction={setEditableFunction}\n        isConnectedToSmartReplyChannel={isConnectedToSmartReplyChannel}\n        hasSmartReplyChannels={hasSmartReplyChannels}\n        hasInboxEditPermissions={hasInboxEditPermissions}\n      />,\n    )\n  }\n}\n","import initSelfServiceWidget from '../editors/self-service-widget'\n\ntype OnSelectHandler = () => void\n\ntype insertLinkFunction = (url: string, text: string) => void\ntype insertHTMLFunction = (html: string) => void\ntype froalaEditOnFunction = () => void\ntype froalaEditOffFunction = () => void\ntype setEditableFunction = (state: boolean) => void\n\nexport default class SelfServiceWidget {\n  aiToolbarButton: HTMLElement\n  box: JQuery<HTMLElement>\n  badge: JQuery<HTMLElement>\n\n  onclose: (focus: boolean) => void\n  onselect: OnSelectHandler\n  froalaEditOnFunction: () => void\n  froalaEditOffFunction: () => void\n\n  constructor(options: {\n    parent: HTMLElement\n    insertLinkFunction: insertLinkFunction\n    insertHTMLFunction: insertHTMLFunction\n    froalaEditOnFunction: froalaEditOnFunction\n    froalaEditOffFunction: froalaEditOffFunction\n    onselect: OnSelectHandler\n    onclose?: (focus: boolean) => void\n    positionAbove?: boolean\n    aiToolbarButton: HTMLElement\n    isConnectedToSmartReplyChannel: boolean\n    hasSmartReplyChannels: boolean\n    hasInboxEditPermissions: boolean\n  }) {\n    this.renderInitial(\n      options.positionAbove,\n      options.insertLinkFunction,\n      options.insertHTMLFunction,\n      this.setEditableFunction,\n      options.isConnectedToSmartReplyChannel,\n      options.hasSmartReplyChannels,\n      options.hasInboxEditPermissions,\n    )\n    this.box.appendTo(options.parent)\n    this.aiToolbarButton = options.aiToolbarButton\n    this.badge = $('<div class=\"badge badge--emerald badge--found-guides hidden\"></div>')\n    this.badge.appendTo($(options.aiToolbarButton).find('.ai-fr-toolbar-btn-content'))\n\n    this.onselect = options.onselect || function () {}\n    this.onclose = options.onclose || function () {}\n    this.froalaEditOnFunction = options.froalaEditOnFunction\n    this.froalaEditOffFunction = options.froalaEditOffFunction\n\n    $('body').on('click', () => this.close(false))\n    this.box.on('click', (e) => {\n      e.stopPropagation()\n    })\n  }\n\n  renderInitial(\n    positionAbove?: boolean,\n    insertLinkFunction?: insertLinkFunction,\n    insertHTMLFunction?: insertHTMLFunction,\n    setEditableFunction?: setEditableFunction,\n    isConnectedToSmartReplyChannel: boolean = false,\n    hasSmartReplyChannels: boolean = false,\n    hasInboxEditPermissions: boolean = false,\n  ) {\n    this.box = $(`<div class=\"hidden self-service-widget-box\">`).addClass(\n      positionAbove ? 'self-service-widget-box--above' : 'self-service-widget-box--below',\n    )\n    initSelfServiceWidget(\n      this.box.get(0),\n      $('#comment-form').data('inbox-slug'),\n      $('#comment-form').data('dialog-slug'),\n      $('#comment-form').data('mail-comment-id'),\n      this.suggestionsLoadedCallback,\n      this.close.bind(this),\n      insertLinkFunction,\n      insertHTMLFunction,\n      setEditableFunction,\n      isConnectedToSmartReplyChannel,\n      hasSmartReplyChannels,\n      hasInboxEditPermissions,\n    )\n  }\n\n  open() {\n    let boxLeftOffset = this.aiToolbarButton.offsetLeft - (this.box.width() || 0) / 2\n    if (boxLeftOffset < 0) {\n      boxLeftOffset = 0\n    }\n    this.box.css({ left: boxLeftOffset })\n    this.box.removeClass('hidden')\n    return this\n  }\n\n  close(focus = true) {\n    this.box.addClass('hidden')\n    this.onclose(focus)\n    return this\n  }\n\n  toggle() {\n    if (this.box.is('.hidden')) {\n      return this.open()\n    } else {\n      return this.close()\n    }\n  }\n\n  destroy() {\n    this.box.remove()\n  }\n\n  suggestionsLoadedCallback = (suggestionsCount: number) => {\n    if (suggestionsCount === 0) return\n    // TODO: translation is missing '%s' so we have to create the string manually for now\n    const badgeText =\n      String(suggestionsCount) + ' ' + ngettext('förslag', 'förslag', suggestionsCount)\n    this.badge.text(badgeText)\n    this.badge.removeClass('hidden')\n    this.aiToolbarButton.classList.add('ai-colored')\n  }\n\n  setEditableFunction = (state: boolean) => {\n    if (state) {\n      this.froalaEditOnFunction()\n    } else {\n      this.froalaEditOffFunction()\n    }\n  }\n}\n","import { calculateBreakpoints, waitForTime } from 'platform/utils'\n\nimport { Froala, initFroalaEditor, loadFroala } from './froala'\n\nimport { LargeAttachmentsList, NullAttachmentsList } from './attachmentslist'\nimport { registerInternalLinkCommand } from './commands'\nimport { uploadImageAsUpload, uploaderFactory } from './fine-uploader'\nimport InternalLinkWidget from './internal-link-widget'\nimport { setupMentions } from './mentions'\nimport SnippetWidget from './snippet-widget'\nimport SelfServiceWidget from './self-service-widget'\nimport { getToolbar } from './toolbar'\nimport { ALLOWED_IMAGE_EXTENSIONS, getFilesFromEvent, isAllowedImageMime } from './utils'\n\nconst FROALA_4_KEY = 'jUA1yD4A3C2C1F2C2G2qYFa1UQRFQIVc2MSMd1IWPNb1IFd1yD2I2D1B1C7D2B1C5G1B1=='\n\nexport interface FroalaConfig {\n  allowMentions?: boolean\n  allowedAttributes?: any[]\n  allowedTags?: any[]\n  enterType?: string\n  saveUrl?: string\n  slimToolbarType?: string\n  snippetsUrl?: string\n  toolbarType?: string\n  uploadsUrl?: string\n}\n\nexport default class KundoFroalaEditor {\n  attachmentsList: LargeAttachmentsList | NullAttachmentsList\n  editor: JQuery<HTMLTextAreaElement>\n  froala: Froala\n\n  isInitialized: boolean = false\n  isMailContext: boolean\n  isAIEnabled: boolean = false // TODO: Remove when replaced entirely by isAIAssistantEnabled / isAIDraftsEnabled\n  isAIAssistantEnabled: boolean = false\n  isAIDraftsEnabled: boolean = false\n  isConnectedToSmartReplyChannel: boolean = false\n  hasSmartReplyChannels: boolean = false\n  hasInboxEditPermissions: boolean = false\n  allowLargeUploads: boolean\n  isMobile: boolean\n  uploadsUrl?: string\n  toolbar: ReturnType<typeof getToolbar>\n  slimToolbar: ReturnType<typeof getToolbar>\n\n  autosaveStatus: JQuery<HTMLElement>\n  texteditorDiv: JQuery<HTMLElement>\n\n  internalLinkWidget: InternalLinkWidget\n  snippetWidget: SnippetWidget\n  selfServiceWidget: SelfServiceWidget\n\n  config: FroalaConfig\n\n  editorVersion: string | null\n\n  // List of pending\n  private __pendingEventHandlers?: { event: string; callback: Function; opts?: any }[]\n\n  constructor(\n    texteditorDiv: JQuery<HTMLElement>,\n    attachmentsList?: undefined | LargeAttachmentsList,\n    isMailContext: boolean = false,\n    allowLargeUploads: boolean = false,\n  ) {\n    if (texteditorDiv.length !== 1) {\n      throw new Error('too many divs or too few')\n    }\n    if ($('html').hasClass('lt-ie10')) {\n      return\n    }\n\n    this.texteditorDiv = texteditorDiv\n    // Save a reference to our *own* class on the HTML element itself, for later access\n    // @ts-expect-error\n    this.texteditorDiv[0].kundoFroala = this\n\n    this.attachmentsList = attachmentsList || new NullAttachmentsList()\n    this.editor = this.texteditorDiv.find('textarea')\n    this.autosaveStatus = this.texteditorDiv.find('.fn-autosave-status')\n    this.isMailContext = isMailContext\n    this.allowLargeUploads = allowLargeUploads\n    this.isMobile = calculateBreakpoints().mobile\n\n    this.config = JSON.parse(this.texteditorDiv.find('[data-fn-texteditor-config]').text() || '{}')\n\n    this.uploadsUrl = this.config.uploadsUrl\n\n    const { saveUrl } = this.config\n\n    const internalLinkElm = this.texteditorDiv.find('.fn-internal-link-box')\n\n    this.isAIEnabled = this.editor.parents('form:first').data('smart-replies-enabled') == true\n    this.isAIAssistantEnabled =\n      this.editor.parents('form:first').data('ai-assistant-enabled') == true\n    this.isAIDraftsEnabled = this.editor.parents('form:first').data('ai-drafts-enabled') == true\n    this.isConnectedToSmartReplyChannel =\n      this.editor.parents('form:first').data('connected-to-smart-reply-channel') == true\n    this.hasSmartReplyChannels =\n      this.editor.parents('form:first').data('has-smart-reply-channels') == true\n    this.hasInboxEditPermissions =\n      this.editor.parents('form:first').data('has-inbox-edit-permissions') == true\n\n    const toolbar = getToolbar(this.config.toolbarType!, {\n      // Only show the InternalLinkWidget button when the widget is provided\n      includeInternalLinks: !!internalLinkElm.length,\n      includeAI: !!this.isAIEnabled && !this.isAIDraftsEnabled,\n      includeAIDrafts: !!this.isAIDraftsEnabled,\n    })\n\n    this.toolbar = toolbar\n\n    let editorClass = ''\n    if (this.toolbar.buttons.length === 0) {\n      editorClass = 'fr-hide-toolbar'\n    }\n\n    const htmlAllowedAttrs = (this.config.allowedAttributes || []).concat(['data-froala-role'])\n    const htmlAllowedTags = this.config.allowedTags || ['div', 'br']\n    let pasteDeniedAttrs = ['class', 'id', 'style']\n    let pasteDeniedTags = ['span']\n    if (toolbar.hasColor) {\n      pasteDeniedAttrs = ['class', 'id']\n      pasteDeniedTags = []\n    }\n    if (this.config.allowMentions) {\n      pasteDeniedAttrs = ['id']\n      pasteDeniedTags = []\n    }\n\n    const options = {\n      dragInline: true,\n      editorClass,\n      attribution: false, // Remove \"Powered by Froala\" link\n      events: {\n        initialized: () => this.onInitialized(),\n      },\n      heightMax: this.editor.data('maxHeight'),\n      htmlAllowedAttrs,\n      htmlAllowedTags,\n      imageAllowedTypes: ALLOWED_IMAGE_EXTENSIONS,\n      imageDefaultWidth: 0,\n      // prettier-ignore\n      imageEditButtons: ['imageAlt', 'imageLink', 'linkOpen', 'linkEdit', 'linkRemove', '|', 'imageRemove'],\n      imageInsertButtons: ['imageRemove'],\n      imagePaste: true,\n      imageResize: true,\n      imageUploadURL: '_/froala_shouldnt_upload', // Make sure froala doesn't send anything to it's own servers,\n      key: FROALA_4_KEY,\n      language: 'kundo-lang',\n      linkAutoPrefix: 'http://',\n      linkEditButtons: ['linkOpen', 'linkEdit', 'linkRemove'],\n      linkInsertButtons: ['linkBack'],\n      listAdvancedTypes: false,\n      paragraphFormat: {\n        H2: TRANSLATIONS.paragraphFormat.h2,\n        H3: TRANSLATIONS.paragraphFormat.h3,\n        N: TRANSLATIONS.paragraphFormat.n,\n      },\n      paragraphFormatSelection: true,\n      paragraphStyles: {\n        'direction-rtl': TRANSLATIONS.paragraphStyles.directionRtl,\n        lead: TRANSLATIONS.paragraphStyles.lead,\n      },\n      pasteAllowedStyleProps: toolbar.hasColor ? ['color', 'background-color'] : [],\n      pasteDeniedAttrs: pasteDeniedAttrs,\n      pasteDeniedTags: pasteDeniedTags,\n      // @ts-expect-error\n      placeholderText: this.editor.placeholder || '',\n      requestHeaders: {\n        'x-csrftoken': this.getCSRFToken(),\n      },\n      requestWithCORS: false,\n      saveInterval: saveUrl ? 500 : 0,\n      saveURL: saveUrl,\n      shortcutsEnabled: ['bold', 'italic', 'undo', 'redo', 'insertLink', 'snippets'],\n      spellcheck: true,\n      tableEditButtons: ['tableHeader', '|', 'tableRows', 'tableColumns', '|', 'tableRemove'],\n      tableResizer: false,\n      theme: 'froala2-kundo',\n      toolbarBottom: toolbar.bottom,\n      toolbarButtons: toolbar.buttons,\n      toolbarButtonsMD: toolbar.buttons,\n      toolbarButtonsSM: toolbar.buttons,\n      toolbarButtonsXS: toolbar.buttons,\n      toolbarSticky: !this.isMobile,\n      toolbarStickyOffset: $('.modal-heading').length > 0 ? $('.modal-heading').outerHeight() : 0,\n      scrollableContainer: $('.popup-page').length > 0 ? 'body' : '.tw-app-scroll',\n      videoAllowedTypes: [],\n      videoEditButtons: ['videoRemove'],\n      videoInsertButtons: ['videoByURL'],\n      videoMove: false,\n      videoResize: false,\n      videoUploadURL: '',\n      colorsButtons: ['colorsBack', '|', '-'],\n      aiAutoReplies: this.isAIDraftsEnabled,\n      aiPrompts: this.isAIAssistantEnabled,\n    }\n\n    loadFroala((FroalaEditor) => {\n      registerInternalLinkCommand(FroalaEditor, internalLinkElm.find('h3').text())\n\n      const enterOptions = {\n        br: FroalaEditor.ENTER_BR,\n        div: FroalaEditor.ENTER_DIV,\n        p: FroalaEditor.ENTER_P,\n      }\n      const enter = enterOptions[this.config.enterType || 'br']\n\n      initFroalaEditor(this, {\n        ...options,\n        enter,\n        htmlUntouched: true,\n        imageSplitHTML: false,\n        wrapPlainText:\n          enter === FroalaEditor.ENTER_DIV || enter === FroalaEditor.ENTER_P ? true : false,\n      })\n    })\n\n    this.texteditorDiv.removeClass('text-editor--pre-init')\n  }\n\n  getCSRFToken(): string | null {\n    const bodyElement = document.querySelector('body')\n    const csrfToken = bodyElement?.getAttribute('data-csrftoken')\n    return csrfToken || null\n  }\n\n  on(event: string, callback: Function, opts?: any) {\n    if (this.isInitialized) {\n      this.froala.events.on(event, callback, opts)\n    } else {\n      // Keep the callback registration in memory until the Froala is initialized,\n      // so we can call froala.events.on when it is.\n      this.__pendingEventHandlers = this.__pendingEventHandlers || []\n      this.__pendingEventHandlers.push({ callback, event, opts })\n    }\n  }\n\n  onInitialized() {\n    this.isInitialized = true\n\n    // Make sure the froala instance has a reference to this object,\n    // since it is needed for file uploads, reply snippets etc\n    this.froala.kundoFroala = this\n\n    this.setUpToolbar()\n    this.setUpAutoSave()\n    this.setUpSnippets()\n    this.setUpImageUploads()\n    this.setUpVideo()\n    this.setUpPaste()\n    this.setUpInternalLinks(this.texteditorDiv.find('.fn-internal-link-box'))\n    this.setUpSelfService()\n    this.setUpLinkInsertion()\n    this.setUpTableInsertion()\n    this.setUpFocus()\n    this.setUpMentions()\n    this.setUpEvents()\n    this.removeToolbarButtonsTabindex()\n    this.editorPlaceholder()\n    // this.deleteLogo()\n    this.setUpdateContent(this)\n    this.imgDefaultAlign()\n\n    this.froala.events.trigger('kundoFroalaInitialized')\n  }\n\n  setUpEvents() {\n    const callbacks = this.__pendingEventHandlers || []\n    for (const { callback, event, opts } of callbacks) {\n      this.froala.events.on(event, callback, opts)\n    }\n    delete this.__pendingEventHandlers\n  }\n\n  imgDefaultAlign() {\n    this.on('image.inserted', ($img) => {\n      $($img).css('margin-left', '0')\n      $($img).css('margin-right', '0')\n    })\n  }\n\n  deleteLogo() {\n    const editorBox = this.froala?.$box[0]\n    const secondToolbar = editorBox.querySelector('.fr-second-toolbar')\n\n    if (!secondToolbar) {\n      return\n    } else {\n      secondToolbar.remove()\n    }\n  }\n\n  setUpLinkInsertion() {\n    // Create link without showing popup if a link is marked\n    this.on('commands.before', (cmd: string) => {\n      if (cmd !== 'insertLink') {\n        return\n      }\n      const selection = this.froala.selection.text()\n      if (KUNDO.utils.isUrl(selection.trim())) {\n        this.froala.link.insert(selection)\n        return false\n      }\n    })\n\n    this.on('commands.after', async (cmd: string) => {\n      if (cmd === 'insertLink') {\n        await waitForTime(20)\n        this.texteditorDiv.find('.fr-popup input:first').trigger('focus')\n      }\n    })\n  }\n\n  setUpTableInsertion() {\n    this.on('table.inserted', (table: Element) => {\n      if (this.texteditorDiv.data('context-type') === 'inbox') {\n        table.removeAttribute('style')\n        ;(table as HTMLElement).style.width = '100%'\n        table.setAttribute('border', '1')\n        table.setAttribute('data-kundo-style', 'table')\n      }\n    })\n  }\n\n  setUpFocus() {\n    const { texteditorDiv } = this\n    const cls = 'text-editor--has-focus'\n    this.on('focus', () => texteditorDiv.addClass(cls))\n    this.on('blur', () => texteditorDiv.removeClass(cls))\n  }\n\n  setUpToolbar() {\n    if (this.toolbar.inserted) {\n      const elm = this.texteditorDiv\n      elm.find('div.fr-wrapper').append(elm.find('div.fr-toolbar'))\n    }\n\n    const isIOS = /(iPad|iPhone|iPod)/g.test(navigator.userAgent)\n\n    // Froala editor doesn't support toolbarBottom https://github.com/froala/wysiwyg-editor/issues/1281\n    // Fix to support toolbarBottom on ios, change classes\n    if (isIOS && this.toolbar.bottom) {\n      this.texteditorDiv.find('.fr-top').each((_, item) => {\n        item.classList.remove('fr-top')\n        item.classList.add('fr-bottom')\n      })\n    }\n\n    // Make sure the builtin icons get our close icon\n    $('.fa-times').addClass('f-icon-cross')\n  }\n\n  removeToolbarButtonsTabindex() {\n    this.toolbar.buttons.forEach((button) => {\n      const $button = this.texteditorDiv.find(`[data-cmd=\"${button}\"]`)\n      $button.removeAttr('tabindex')\n    })\n  }\n\n  editorPlaceholder() {\n    this.texteditorDiv.each((_, item) => {\n      const $placeholder = this.texteditorDiv.find('.fr-placeholder').text()\n      const $editor = this.texteditorDiv.find('.fr-element')\n      $editor.attr('aria-placeholder', $placeholder)\n      $editor.attr('aria-label', $placeholder)\n      $editor.attr('role', 'textbox')\n    })\n  }\n\n  setUpSnippets() {\n    const url = this.config.snippetsUrl\n    if (!url) {\n      return\n    }\n\n    this.snippetWidget = new SnippetWidget({\n      url,\n      parent: this.texteditorDiv[0],\n      onselect: async ({ text, attachments }) => {\n        let textArea = this.editor[0]\n\n        this.froala.selection.restore()\n\n        attachments\n          .filter((file) => !this.attachmentsList.has_file(file))\n          .forEach((file) => this.attachmentsList.add_file(file))\n\n        await this.froala.html.insert(text)\n\n        await this.froala.events.trigger('contentChanged', [], true)\n\n        const updatedValue = await this.froala.html.get(true)\n\n        this.setTextAreaValue(textArea, updatedValue)\n      },\n      onclose: (focus: boolean) => {\n        if (focus) {\n          this.froala.events.focus()\n        }\n      },\n    })\n  }\n\n  setUpInternalLinks(elm: JQuery<HTMLElement>) {\n    if (!elm.length) {\n      return\n    }\n    this.internalLinkWidget = new InternalLinkWidget({\n      box: elm,\n      onselect: async (_, text, link) => {\n        let textArea = this.editor[0]\n\n        await this.froala.link.insert(link, text)\n        this.froala.selection.restore()\n\n        await this.froala.events.trigger('contentChanged', [], true)\n\n        const updatedValue = await this.froala.html.get(true)\n\n        this.setTextAreaValue(textArea, updatedValue)\n      },\n      onclose: (_, focus) => {\n        if (focus) {\n          this.froala.events.focus()\n        }\n      },\n    })\n  }\n\n  setUpSelfService() {\n    if (!this.isAIEnabled) {\n      return\n    }\n    const aiToolbarButton = document.getElementById('selfService-1')\n    if (!aiToolbarButton) {\n      return\n    }\n    this.selfServiceWidget = new SelfServiceWidget({\n      parent: this.texteditorDiv[0],\n      insertLinkFunction: this.froala.link.insert,\n      insertHTMLFunction: (html) => {\n        this.froala.events.focus()\n        this.froala.selection.restore()\n        this.froala.html.insert(html)\n      },\n      froalaEditOnFunction: this.froala.edit.on,\n      froalaEditOffFunction: this.froala.edit.off,\n      onselect: () => {\n        this.froala.selection.restore()\n      },\n      onclose: (focus: boolean) => {\n        if (focus) {\n          this.froala.events.focus()\n        }\n      },\n      aiToolbarButton: aiToolbarButton,\n      isConnectedToSmartReplyChannel: this.isConnectedToSmartReplyChannel,\n      hasSmartReplyChannels: this.hasSmartReplyChannels,\n      hasInboxEditPermissions: this.hasInboxEditPermissions,\n    })\n  }\n\n  setUpPaste() {\n    /*\n     * Add br tag at the end of removed block elements\n     **/\n    this.on('paste.beforeCleanup', (content: string) => {\n      if (!content) {\n        return content\n      }\n      const addLineBreaksBeforeCloseTag = (htmlString, tagNamesArray) => {\n        tagNamesArray.forEach((tagName) => {\n          const re = RegExp('</' + tagName + '>', 'gi')\n          htmlString = htmlString.replace(re, '<br></' + tagName + '>')\n        })\n        return htmlString\n      }\n      const allowedEditorTags = this.config.allowedTags || []\n      const enterType = this.config.enterType\n\n      // prettier-ignore\n      const defaultBlockTagsInNeedOfLineBreakOnPaste = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'p', 'pre', 'th', 'td', 'dt', 'dd']\n      // prettier-ignore\n      const tags = defaultBlockTagsInNeedOfLineBreakOnPaste\n        .filter((element) => allowedEditorTags.indexOf(element) < 0)\n\n      // even if p elements are allowed (data-allowed-tags),\n      // those might be converted based on Froala's enter propery\n      if (enterType !== 'p' && tags.indexOf('p') === -1) {\n        tags.push('p')\n      }\n\n      return addLineBreaksBeforeCloseTag(content, tags)\n    })\n\n    this.on('paste.afterCleanup', (content: string) => {\n      return content.replace(/&nbsp;/g, ' ')\n    })\n  }\n\n  setUpVideo() {\n    const getVideoInput = (editor) => editor.popups.get('video.insert').find('input')\n    const removeErrorMsg = (elm) => elm.parent().find('.input__error-feedback').remove()\n    this.on('video.linkError', function (e, editor, link) {\n      const $input = getVideoInput(editor)\n      if ($input) {\n        removeErrorMsg($input)\n        const errorFeedbackId = $input.attr('id') + '-error'\n        const $errorMsg = $('<div>', { id: errorFeedbackId, class: 'input__error-feedback' })\n          .attr('aria-live', 'polite')\n          .html(\n            'Adressen pekar inte till en videotjänst vi stödjer. De tjänster som stöds är: SVT, Vimeo och YouTube.<br>Kontakta <a href=\"mailto:support@kundo.se\">support@kundo.se</a> om du saknar en tjänst.',\n          )\n        $input.parent().append($errorMsg)\n        $input.attr({ 'aria-invalid': 'true', 'aria-labelledby': errorFeedbackId })\n      }\n    })\n\n    this.on('video.inserted', function (e, editor, $video) {\n      const $input = getVideoInput(editor)\n      if ($input) {\n        $input.removeAttr('aria-invalid aria-labelledby')\n        removeErrorMsg($input)\n      }\n    })\n  }\n\n  setTextAreaValue(textArea: HTMLTextAreaElement | null, currentValue: string) {\n    if (textArea && textArea.getAttribute('data-texteditor-init') === 'true') {\n      textArea.value = currentValue\n    }\n  }\n\n  setUpdateContent(editorInstance: any) {\n    // Update the underlying textarea when content changes in the editor\n    // This is needed to make sure that when the form is submitted,\n    // the latest content from the editor area is sent to the server\n\n    let textArea = editorInstance.editor[0]\n\n    function setTextAreaValue(textArea: HTMLTextAreaElement | null, currentValue: string) {\n      if (textArea && textArea.getAttribute('data-texteditor-init') === 'true') {\n        textArea.value = currentValue\n      }\n    }\n\n    this.on('input', function () {\n      setTextAreaValue(textArea, this.html.get(true))\n    })\n\n    this.on('keyup', function () {\n      setTextAreaValue(textArea, this.html.get(true))\n    })\n\n    this.on('contentChanged', function () {\n      setTextAreaValue(textArea, this.html.get(true))\n    })\n  }\n\n  setUpAutoSave() {\n    if (!this.config.saveUrl) {\n      return\n    }\n\n    const IGNORED_FIELD_NAMES = [\n      'csrfmiddlewaretoken', // Is sent via a Cookie instead\n      'cmt-text', // Same contents as the \"body\" parameter that Froala sends\n    ]\n\n    const fieldIgnored = (field) => IGNORED_FIELD_NAMES.indexOf(field.name) !== -1\n\n    // Trigger autosave when non-froala fields change.\n    const editor_fields = this.editor.parents('form:first').find('input, select, textarea')\n    editor_fields\n      .filter((_, field) => !fieldIgnored(field))\n      .each((_, field) => {\n        $(field).on('input change', () => this.setDirty())\n      })\n\n    this.on('save.before', () => {\n      // If there's a loader in the editor cancel the save\n      if (this.froala.html.get().search(/smart-replies-froala-content--loader/g, '') != -1) {\n        return false\n      }\n\n      this.setAutosaveStatus(TRANSLATIONS.editor_before_save_msg)\n\n      const form = this.editor.parents('form:first')\n      const formFields = form\n        .serializeArray()\n        .filter((field) => field.value) // Remove empty fields\n        .filter((field) => !fieldIgnored(field)) // Remove ignored fields\n\n      this.froala.opts.saveParams = {\n        meta: JSON.stringify(formFields),\n      }\n    })\n\n    this.on('save.error', () => {\n      this.setAutosaveStatus(TRANSLATIONS.editor_save_error_msg)\n    })\n\n    this.on('save.after', () => {\n      this.setAutosaveStatus(TRANSLATIONS.editor_after_save_msg, { delay: 1000, autoHide: true })\n    })\n\n    this.setDirty = this.setDirty.bind(this)\n  }\n\n  setUpImageUploads() {\n    const onBeforePaste = (e: Event) => {\n      let file: null | File = null\n      const files = getFilesFromEvent(e)\n      for (let i = 0, len = files.length; i < len; i++) {\n        file = files[i]\n        if (file && isAllowedImageMime(file.type)) {\n          this.insertImage(file)\n        } else {\n          this.attachFile(file)\n        }\n      }\n      // Cancel event if any file was added, else fall through to Froalas drag handling\n      if (file) {\n        e.preventDefault()\n        e.stopPropagation()\n        return false\n      }\n    }\n\n    this.on('drop paste.before', onBeforePaste, { capture: true })\n\n    this.on('image.loaded', (img) => {\n      this.froala.image.setSize(`${img.width()}px`, 'auto')\n    })\n\n    // If `onBeforePaste` doesn't find any images, Froalas default event will be used\n    this.on('image.beforePasteUpload', (img) => {\n      // Remove pasted image from the editor, and instead insert\n      // the one from the insertImage function\n      this.froala.selection.setBefore(img)\n      $(img).remove()\n    })\n\n    this.on('image.beforeUpload', (images) => {\n      if (images) {\n        images.forEach((imageBlob) => {\n          this.insertImage(imageBlob)\n        })\n      }\n\n      return false\n    })\n\n    this.on('image.removed', (img) => {\n      this.attachmentsList.remove_file_by_url(img.attr('src'))\n    })\n  }\n\n  setUpMentions() {\n    if (!this.config.allowMentions) return\n    if (!window.EDITORSEARCHURL) return\n\n    const tribute = setupMentions(this.froala, this.texteditorDiv[0])\n\n    fetch(window.EDITORSEARCHURL)\n      .then((resp) => resp.json())\n      .then((data) => {\n        tribute.append(0, data['users'])\n      })\n  }\n\n  setAutosaveStatus(message: string, opts?: { delay: number; autoHide?: boolean }) {\n    const delay = opts?.delay || 1000\n    setTimeout(() => this.autosaveStatus.html(message).show(), delay)\n    if (opts?.autoHide) {\n      setTimeout(() => this.autosaveStatus.html('').hide(), delay + 1000)\n    }\n  }\n\n  /**\n   * Returns the underlying [contenteditable] element of the editor, for low-level access.\n   */\n  getContentEditable(): HTMLElement {\n    return this.froala.$el[0]\n  }\n\n  insertImage(files) {\n    if (!this.uploadsUrl) {\n      return\n    }\n    uploadImageAsUpload(\n      this,\n      files,\n      ALLOWED_IMAGE_EXTENSIONS,\n      this.isMailContext,\n      this.allowLargeUploads,\n      false,\n    )\n  }\n\n  attachFile(files) {\n    if (!this.uploadsUrl) {\n      return\n    }\n    uploaderFactory(\n      this.uploadsUrl,\n      this.attachmentsList,\n      this.isMailContext,\n      this.allowLargeUploads,\n    ).addFiles(files)\n  }\n\n  focus() {\n    this.froala.events.focus()\n  }\n\n  getHTML(): string {\n    return this.froala.html.get()\n  }\n\n  setHTML(html: string | null) {\n    this.froala.html.set(html)\n  }\n\n  setDirty() {\n    this.froala.save.reset()\n    this.froala.save.force()\n  }\n\n  saveSelection() {\n    this.froala.selection.save()\n  }\n\n  openSnippetWidget() {\n    this.saveSelection()\n    this.snippetWidget.open()\n  }\n\n  toggleSnippetWidget() {\n    this.saveSelection()\n    this.snippetWidget.toggle()\n  }\n\n  toggleInternalLinkWidget() {\n    this.saveSelection()\n    this.internalLinkWidget.toggle()\n  }\n\n  toggleSelfServiceWidget() {\n    this.saveSelection()\n    this.selfServiceWidget.toggle()\n  }\n}\n\nexport function getKundoFroalaInstance(elm: HTMLElement | JQuery): KundoFroalaEditor | null {\n  let $elm = $(elm)\n  let obj = $elm[0] as any\n\n  if (obj && obj['kundoFroala']) {\n    return obj['kundoFroala']\n  }\n\n  obj = $elm.parent('.fn-text-editor')[0]\n\n  if (obj && obj['kundoFroala']) {\n    return obj['kundoFroala']\n  }\n\n  obj = $elm.parent('[data-fn-text-editor]')[0]\n\n  if (obj && obj['kundoFroala']) {\n    return obj['kundoFroala']\n  }\n\n  return null\n}\n","import Tribute from 'tributejs'\n\ninterface MentionedUser {\n  avatar_background_color: string\n  avatar_url: string\n  email: string\n  id: number\n  name: string\n}\n\nexport function setupMentions(froala: any, container: HTMLElement): Tribute<MentionedUser> {\n  const tribute = new Tribute<MentionedUser>({\n    allowSpaces: true,\n    fillAttr: 'name',\n    lookup(user, _text: string) {\n      return user.name + user.email\n    },\n    menuContainer: container,\n    menuItemTemplate({ original }) {\n      const { avatar_background_color, avatar_url, name } = original\n      const avatar = $('<img>')\n        .attr({\n          height: 24,\n          src: avatar_url,\n          style: 'background-color:' + avatar_background_color,\n          width: 24,\n        })\n        .prop('outerHTML')\n      const displayName = $('<span class=\"\">').text(name).prop('outerHTML')\n\n      return avatar + displayName\n    },\n    noMatchTemplate() {\n      return $('<li class=\"no-match\"><span>')\n        .text(gettext('Hittar inga användare'))\n        .prop('outerHTML')\n    },\n    positionMenu: false,\n    selectTemplate({ original }) {\n      const { id, name } = original\n      return $('<span class=\"fr-deletable fr-tribute mention\" contenteditable=\"false\">')\n        .attr('data-editor-id', id)\n        .text('@' + name)\n        .prop('outerHTML')\n    },\n    values: [],\n  })\n\n  froala.events.on(\n    'keydown',\n    function (e: any) {\n      const enterKeyCode = 13\n      if (e.which === enterKeyCode && tribute.isActive) {\n        return false\n      }\n    },\n    true,\n  )\n\n  tribute.attach(froala.el)\n\n  return tribute\n}\n","import React, { ReactElement, useId, useState } from 'react'\nimport { createRoot } from 'react-dom/client'\nimport * as Popover from '@radix-ui/react-popover'\nimport {\n  WinkleIcon,\n  XIcon,\n  QuestionCircleIcon,\n  ArrowRightUpIcon,\n  IconButton,\n  ChannelIcon,\n} from '@kundo/ui'\nimport { twMerge } from '@kundo/ui/dist/helpers'\nimport { IReferences } from './aiAutoReplies/types'\n\nexport const AiSourcesItem = ({\n  title,\n  url,\n  channelType,\n  channelColor,\n  channelName,\n}: {\n  title: string\n  url: string\n  channelType: any\n  channelColor: string\n  channelName: string\n}): ReactElement => {\n  const hasLink = !!url\n  const containerDivAttributes = hasLink\n    ? {\n        role: 'link',\n        tabIndex: 0,\n        'data-href': url ? url : undefined,\n        'aria-label': title ? title : undefined,\n        'aria-description': channelName ? channelName : undefined,\n        onClick: () => {\n          window.open(url, '_blank')\n        },\n      }\n    : {}\n  return (\n    <div role=\"listitem\">\n      <div\n        className={twMerge(\n          'tw-flex tw-flex-nowrap tw-items-center tw-box-border tw-gap-3',\n          'tw-border tw-border-solid tw-border-gray-30',\n          'tw-rounded-[26px] tw-min-h-[52px] tw-p-4',\n          'tw-cursor-pointer',\n          hasLink && 'hover:tw-bg-gray-10/60 active:tw-bg-gray-10',\n          'tw-duration-200',\n        )}\n        {...containerDivAttributes}\n      >\n        <ChannelIcon\n          channelType={channelType}\n          channelColor={channelColor}\n          size=\"medium\"\n          isWrapped={true}\n        />\n        <div className={twMerge('tw-flex-1')}>\n          {channelName && (\n            <div className=\"tw-text-sm tw-font-normal tw-text-gray-70 tw-mb-0.5\">{channelName}</div>\n          )}\n          <div className=\"tw-text-base tw-font-semibold\">{title}</div>\n        </div>\n        {hasLink && (\n          <ArrowRightUpIcon\n            className=\"tw-w-6 tw-h-auto tw-shrink-0 tw-text-gray-60 tw-fill-gray-60\"\n            aria-hidden=\"true\"\n          />\n        )}\n      </div>\n    </div>\n  )\n}\n\nexport const AiRepliesSources = ({\n  editor,\n  references,\n}: {\n  editor: any\n  references: IReferences[]\n}): ReactElement => {\n  const [isOpen, setIsOpen] = useState<boolean>(false)\n  const titleId = useId()\n  const referencesCount = references.length\n  const badgeText = String(referencesCount) + ' ' + ngettext('källa', 'källor', referencesCount)\n  const autoRepliesHelpURL =\n    window.CURRENT_LANGUAGE == 'sv'\n      ? 'https://www.kundo.se/hjalp-support?path=%2Fguide%2Fsmart-suggestions-and-smart-replies'\n      : 'https://www.kundo.se/en/help-support?path=%2Fguide%2Fsmart-suggestions-and-smart-replies'\n  return (\n    <Popover.Root\n      onOpenChange={(open) => setIsOpen(open)}\n      open={isOpen}\n    >\n      <Popover.Trigger asChild>\n        <div\n          role=\"button\"\n          tabIndex={0}\n          aria-label={badgeText}\n          className={twMerge(\n            'tw-text-sm tw-font-semibold tw-box-border',\n            'tw-px-2 tw-py-1 tw-rounded-sm',\n            'tw-text-[#238B68] tw-bg-[#ADEBD6]',\n            'data-[state=open]:tw-bg-[#D4F7EE]',\n            'tw-cursor-pointer',\n            'tw-duration-100',\n          )}\n        >\n          {badgeText}\n        </div>\n      </Popover.Trigger>\n      <Popover.Content\n        sideOffset={12}\n        className={twMerge(\n          'tw-flex tw-flex-col',\n          'tw-bg-white tw-text-gray-100 tw-rounded-xs tw-shadow-[0_0_6px_rgba(0,0,0,0.3)] tw-box-border',\n          'data-[state=open]:tw-animate-open',\n          'tw-z-[1000]',\n          'tw-max-w-[392px]',\n          'tw-max-h-[calc(var(--radix-popper-available-height)-16px)]',\n        )}\n      >\n        <div\n          className={twMerge(\n            'tw-flex tw-items-center tw-w-full tw-shrink-0 tw-grow-0 tw-box-border tw-gap-2',\n            'tw-p-4',\n          )}\n        >\n          <WinkleIcon\n            className={twMerge(\n              'tw-flex-initial tw-w-5 tw-h-5',\n              'tw-fill-[#238B68] tw-text-[#238B68]',\n            )}\n          />\n          <div\n            id={titleId}\n            className={twMerge('tw-flex-1 tw-text-base tw-font-semibold', 'tw-text-[#238B68]')}\n          >\n            {TRANSLATIONS.froalaAiAutoReply.popupTitle}\n          </div>\n          <div className=\"tw-flex tw-items-center tw-gap-1.5\">\n            {/* <IconButton\n              variant=\"tertiary\"\n              size=\"small\"\n              icon={<QuestionCircleIcon />}\n              onClick={(e) => {\n                e.preventDefault()\n                window.open(autoRepliesHelpURL, '_blank')\n              }}\n              className=\"tw-text-gray-60 tw-fill-gray-60\"\n            /> */}\n            <IconButton\n              variant=\"tertiary\"\n              size=\"small\"\n              icon={<XIcon />}\n              onClick={(e) => {\n                e.preventDefault()\n                setIsOpen(false)\n              }}\n              label={gettext('Stäng')}\n              className=\"tw-text-gray-60 tw-fill-gray-60\"\n            />\n          </div>\n        </div>\n        <div\n          className={twMerge(\n            'tw-flex tw-flex-col tw-flex-auto',\n            'tw-overflow-y-auto tw-overflow-x-hidden',\n            'tw-px-4 tw-pb-4',\n          )}\n        >\n          {references.length > 0 && (\n            <div\n              className={twMerge('tw-flex tw-flex-col tw-gap-4')}\n              role=\"list\"\n              aria-labelledby={titleId}\n            >\n              {references.map((item, index) => (\n                <AiSourcesItem\n                  key={index}\n                  title={item.title}\n                  channelName={item.channel_name}\n                  url={item.public_url}\n                  channelType={item.channel_public_type}\n                  channelColor={`${item.channel_color_number}`}\n                />\n              ))}\n            </div>\n          )}\n        </div>\n      </Popover.Content>\n    </Popover.Root>\n  )\n}\n\nexport function renderSources(\n  element: HTMLElement,\n  references: IReferences[] = [],\n  options?: { editor?: any; initAiSources?: Function },\n) {\n  if (references.length > 0) {\n    const newElement = document.createElement('div')\n    newElement.id = 'ai-sources'\n    newElement.classList.add('tw-inline-flex', 'tw-h-[40px]', 'tw-items-center', 'tw-px-2')\n\n    if (element?.parentNode) {\n      const container = element.parentNode.insertBefore(newElement, element.nextSibling)\n      if (options?.initAiSources && options?.editor) {\n        options.initAiSources({\n          container: container,\n          editor: options.editor,\n          references: references,\n        })\n      }\n    }\n  }\n}\n\nexport function deleteSources(toolbarOrRoot?: HTMLElement) {\n  const element = toolbarOrRoot?.querySelector('#ai-sources')\n  if (element) {\n    element.remove()\n  }\n}\n\nexport const initAiSources = ({\n  container,\n  editor,\n  references,\n}: {\n  container: HTMLElement\n  editor: any\n  references: IReferences[]\n}) => {\n  const root = createRoot(container)\n  root?.render(\n    <AiRepliesSources\n      editor={editor}\n      references={references}\n    />,\n  )\n}\n","// Default Froala buttons and commands\nexport const BTN_BOLD = 'bold'\nexport const BTN_COLOR = 'color'\nexport const BTN_COLOR_BACKGROUND = 'backgroundColor'\nexport const BTN_COLOR_TEXT = 'textColor'\nexport const BTN_FORMAT_OL = 'formatOL'\nexport const BTN_FORMAT_UL = 'formatUL'\nexport const BTN_ITALIC = 'italic'\nexport const BTN_LINK = 'insertLink'\nexport const BTN_PARAGRAPH_FORMAT = 'paragraphFormat'\nexport const BTN_PARAGRAPH_STYLE = 'paragraphStyle'\nexport const BTN_QUOTE = 'quote'\nexport const BTN_SEPARATOR = '|'\nexport const BTN_TABLE = 'insertTable'\nexport const BTN_VIDEO = 'insertVideo'\nexport const BTN_UNDO = 'undo'\nexport const BTN_REDO = 'redo'\n\n// Custom Froala buttons and commands\nexport const BTN_CLEAR = 'kundoClearFormatting'\nexport const BTN_CONTACTS = 'kundoContactModal'\nexport const BTN_EMOJIS = 'emojis'\nexport const BTN_FILES = 'kundoFileUpload'\nexport const BTN_IMAGES = 'kundoImageUpload'\nexport const BTN_INTERNAL_LINKS = 'internalLink'\nexport const BTN_SNIPPETS = 'snippets'\nexport const BTN_SELF_SERVICE = 'selfService'\nexport const BTN_AI_AUTO_REPLIES = 'aiAutoReplies'\n\nconst _BUTTONS_ORDER = [\n  BTN_PARAGRAPH_FORMAT,\n  BTN_PARAGRAPH_STYLE,\n  BTN_SEPARATOR,\n  BTN_UNDO,\n  BTN_REDO,\n  BTN_BOLD,\n  BTN_ITALIC,\n  BTN_QUOTE,\n  BTN_CLEAR,\n  BTN_COLOR,\n  BTN_COLOR_BACKGROUND,\n  BTN_COLOR_TEXT,\n  BTN_FORMAT_UL,\n  BTN_FORMAT_OL,\n  BTN_LINK,\n  BTN_INTERNAL_LINKS,\n  BTN_EMOJIS,\n  BTN_TABLE,\n  BTN_SNIPPETS,\n  BTN_IMAGES,\n  BTN_VIDEO,\n  BTN_FILES,\n  BTN_SELF_SERVICE,\n  BTN_AI_AUTO_REPLIES,\n  BTN_SEPARATOR,\n  BTN_CONTACTS,\n]\n\nexport function sortedToolbarButtons(btns: string[]) {\n  const result: string[] = []\n  for (let i = 0, len = _BUTTONS_ORDER.length; i < len; i++) {\n    let btn = _BUTTONS_ORDER[i]\n    if (btns.includes(btn)) {\n      result.push(btn)\n    }\n    if (btn === BTN_SEPARATOR && result.length && result[result.length - 1] !== BTN_SEPARATOR) {\n      result.push(btn)\n    }\n  }\n  if (result.length && result[result.length - 1] === BTN_SEPARATOR) {\n    result.pop()\n  }\n  return result\n}\n\nexport enum ToolbarType {\n  NONE = 'toolbar-none',\n  CHAT = 'toolbar-chat',\n  EXTERNAL_CONVERSATIONS = 'toolbar-external-conversations',\n  FORUM = 'toolbar-forum',\n  FORUM_EDITOR = 'toolbar-forum-editor',\n  FORUM_TEXTS = 'toolbar-forum-texts',\n  KNOWLEDGE = 'toolbar-knowledge',\n  KNOWLEDGE_SETTINGS = 'toolbar-knowledge-settings',\n  MAIL = 'toolbar-mail',\n  MAIL_BASIC = 'toolbar-mail-basic',\n  MAIL_REPLY_SNIPPET = 'toolbar-mail-reply-snippet',\n  POLICY = 'toolbar-policy',\n  SIMPLE = 'toolbar-simple',\n  SIMPLE_CONTACT_MODAL = 'toolbar-simple-contact-modal',\n}\n\n// prettier-ignore\nconst _FROALA_BUTTONS_BASIC = [\n  BTN_BOLD,\n  BTN_ITALIC,\n  BTN_QUOTE,\n  BTN_CLEAR,\n  BTN_FORMAT_UL,\n  BTN_FORMAT_OL,\n  BTN_LINK,\n]\n// prettier-ignore\nconst _FROALA_BUTTONS_WITH_COLOR = [\n  BTN_BOLD,\n  BTN_ITALIC,\n  BTN_CLEAR,\n  BTN_COLOR,\n  BTN_COLOR_BACKGROUND,\n  BTN_COLOR_TEXT,\n  BTN_FORMAT_UL,\n  BTN_FORMAT_OL,\n  BTN_LINK,\n]\n\n// prettier-ignore\nconst FROALA_TOOLBAR = {\n  [ToolbarType.CHAT]: _FROALA_BUTTONS_WITH_COLOR.concat([\n    BTN_EMOJIS,\n    BTN_TABLE,\n    BTN_PARAGRAPH_FORMAT,\n  ]),\n  [ToolbarType.EXTERNAL_CONVERSATIONS]: [\n    BTN_BOLD,\n    BTN_ITALIC,\n    BTN_CLEAR,\n    BTN_FORMAT_UL,\n    BTN_FORMAT_OL,\n    BTN_IMAGES,\n    BTN_FILES,\n  ],\n  [ToolbarType.FORUM]: [BTN_IMAGES, BTN_FILES],\n  [ToolbarType.FORUM_EDITOR]: _FROALA_BUTTONS_BASIC.concat([\n    BTN_INTERNAL_LINKS,\n    BTN_EMOJIS,\n    BTN_SNIPPETS,\n    BTN_IMAGES,\n    BTN_VIDEO,\n    BTN_FILES,\n    BTN_AI_AUTO_REPLIES,\n  ]),\n  [ToolbarType.FORUM_TEXTS]: _FROALA_BUTTONS_BASIC,\n  [ToolbarType.KNOWLEDGE]: _FROALA_BUTTONS_BASIC.concat([\n    BTN_EMOJIS,\n    BTN_TABLE,\n    BTN_IMAGES,\n    BTN_VIDEO,\n    BTN_FILES,\n    BTN_PARAGRAPH_FORMAT,\n    BTN_PARAGRAPH_STYLE,\n  ]),\n  [ToolbarType.KNOWLEDGE_SETTINGS]: _FROALA_BUTTONS_WITH_COLOR,\n  [ToolbarType.MAIL]: _FROALA_BUTTONS_WITH_COLOR.concat([\n    BTN_UNDO,\n    BTN_REDO,\n    BTN_INTERNAL_LINKS,\n    BTN_EMOJIS,\n    BTN_TABLE,\n    BTN_SNIPPETS,\n    BTN_IMAGES,\n    BTN_FILES,\n    BTN_SELF_SERVICE,\n    BTN_AI_AUTO_REPLIES\n  ]),\n  [ToolbarType.MAIL_BASIC]: _FROALA_BUTTONS_WITH_COLOR.concat([BTN_EMOJIS, BTN_IMAGES]),\n  [ToolbarType.MAIL_REPLY_SNIPPET]: _FROALA_BUTTONS_WITH_COLOR.concat([\n    BTN_EMOJIS,\n    BTN_IMAGES,\n    BTN_FILES,\n  ]),\n  [ToolbarType.NONE]: [],\n  [ToolbarType.POLICY]: [BTN_PARAGRAPH_FORMAT].concat(_FROALA_BUTTONS_BASIC),\n  [ToolbarType.SIMPLE]: [BTN_BOLD, BTN_ITALIC, BTN_LINK],\n  [ToolbarType.SIMPLE_CONTACT_MODAL]: [BTN_BOLD, BTN_ITALIC, BTN_LINK, BTN_CONTACTS],\n}\n\nconst SMALL_TOOLBAR = {\n  [ToolbarType.EXTERNAL_CONVERSATIONS]: [BTN_BOLD, BTN_CLEAR],\n}\n\nconst TOOLBAR_BOTTOM = {\n  [ToolbarType.FORUM]: true,\n}\n\nconst TOOLBAR_INSERTED = {\n  [ToolbarType.FORUM]: true,\n}\n\nexport function getToolbar(\n  toolbarChoice: string,\n  options: {\n    includeInternalLinks: boolean\n    includeAI: boolean\n    includeAIDrafts: boolean\n  },\n) {\n  let buttons = sortedToolbarButtons(FROALA_TOOLBAR[toolbarChoice] || [])\n  let lessButtons = sortedToolbarButtons(SMALL_TOOLBAR[toolbarChoice] || [])\n  const toolbarBottom = TOOLBAR_BOTTOM[toolbarChoice]\n  const toolbarInserted = TOOLBAR_INSERTED[toolbarChoice]\n\n  if (!options.includeInternalLinks) {\n    buttons = buttons.filter((e) => e !== BTN_INTERNAL_LINKS)\n  }\n  if (!options.includeAI) {\n    buttons = buttons.filter((e) => e !== BTN_SELF_SERVICE)\n  }\n  if (!options.includeAIDrafts) {\n    buttons = buttons.filter((e) => e !== BTN_AI_AUTO_REPLIES && e !== BTN_UNDO && e !== BTN_REDO)\n  }\n  return {\n    bottom: !!toolbarBottom,\n    buttons: buttons,\n    hasColor: buttons.indexOf('color') > -1,\n    inserted: !!toolbarInserted,\n    lessButtons: lessButtons.length ? lessButtons : buttons,\n  }\n}\n\nexport function defineCustomIcons(FroalaEditor: any) {\n  const addIcon = (name, data) => FroalaEditor.DefineIcon(name, { ...data })\n  addIcon(BTN_CLEAR, { NAME: 'eraser' })\n  addIcon(BTN_CONTACTS, { NAME: 'list-alt' })\n  addIcon(BTN_EMOJIS, { FA5NAME: 'smile', NAME: 'smile-o' })\n  addIcon(BTN_FILES, { NAME: 'clip2' })\n  addIcon(BTN_IMAGES, { NAME: 'image' })\n  addIcon(BTN_SNIPPETS, { NAME: 'book' })\n  addIcon(BTN_INTERNAL_LINKS, { NAME: 'sitemap' })\n  addIcon(BTN_PARAGRAPH_STYLE, { NAME: 'paragraph' })\n  addIcon(BTN_COLOR_BACKGROUND, {\n    PATH: 'M18.999932 12.75s-1.75 2.533398-1.75 3.5.783671 1.75 1.75 1.75c.966327 0 1.75-.783398 1.75-1.75s-1.75-3.5-1.75-3.5zm-.256211-2.814765-5.679023-5.6790241C12.893799 4.0853125 12.669854 4 12.445908 4c-.223945 0-.44789.085312-.618515.2562109L9.5966897 6.4869141 7.2402051 4.1301562c-.1708984-.1708983-.4478908-.1708983-.6185157 0l-.6185156.6185156c-.1706251.1708985-.1706251.4478907 0 .6185157l2.3567579 2.3564843-2.5910939 2.5910932c-1.0251171 1.024844-1.0251171 2.686797 0 3.711915l3.2044139 3.204414C9.4856737 17.743515 10.15751 18 10.829073 18c.671835 0 1.343399-.256211 1.85582-.768906l6.058554-6.058555c.341797-.341797.341797-.895507.000274-1.237304zM15.56583 11.87582H6.8027051c.037188-.105.097617-.218203.203164-.323476l.3595702-.359571L9.5969627 8.96125l1.6023443 1.602344c.341524.341523.895508.341523 1.237031 0 .341523-.341524.341523-.895508 0-1.237032l-1.602344-1.6023432 1.611914-1.6119141 4.441719 4.4417183z',\n    template: 'svg',\n  })\n  addIcon(BTN_COLOR_TEXT, {\n    PATH: 'M9.5670901 12.458516c-1.0970313.07055-2.0926172.488359-2.6575391 1.976953-.064258.169804-.21875.27289-.3989453.27289-.3037891 0-1.2430469-.756601-1.5107422-.939257C5.0001369 16.020859 6.0372854 18 8.5001369 18c2.0742971 0 3.5000001-1.196836 3.5000001-3.286445 0-.08504-.01777-.16625-.02652-.249649zM17.520566 4c-.414531 0-.803086.1834766-1.099492.4498047-5.589335 4.9929683-6.170937 5.1102733-6.170937 6.5800003 0 .374609.08887.731718.238711 1.058203l1.745078 1.45414c.197148.04922.400312.08285.612227.08285 1.69832 0 2.682694-1.24332 5.773905-7.0125777.201797-.3923828.380078-.816211.380078-1.2575391C19.000136 4.564375 18.2892 4 17.520566 4Z',\n    template: 'svg',\n  })\n\n  const twinkleAIIcon =\n    '<svg xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"2 2 40 20\" fill=\"none\"><path fill=\"currentColor\" fill-rule=\"evenodd\" d=\"M9.43 3.359c-.333-.844-1.527-.844-1.86 0L6.538 5.975a1 1 0 0 1-.563.563L3.359 7.57c-.844.333-.844 1.527 0 1.86l2.616 1.032a1 1 0 0 1 .563.563l1.032 2.616c.333.844 1.527.844 1.86 0l1.032-2.616a1 1 0 0 1 .563-.563l2.616-1.032c.844-.333.844-1.527 0-1.86l-2.616-1.032a1 1 0 0 1-.563-.563L9.43 3.359Zm8.5 10c-.333-.844-1.527-.845-1.86 0l-.608 1.54a1 1 0 0 1-.563.563l-1.54.608c-.844.333-.845 1.527 0 1.86l1.54.608a1 1 0 0 1 .563.563l.608 1.54c.333.844 1.527.844 1.86 0l.608-1.54a1 1 0 0 1 .563-.563l1.54-.608c.844-.333.844-1.527 0-1.86l-1.54-.608a1 1 0 0 1-.563-.563l-.608-1.54Z\" clip-rule=\"evenodd\"/><path fill=\"currentColor\" d=\"M30.384 6h2.128l4.4 11.424h-2.144L33.696 14.4h-4.56l-1.072 3.024H26L30.384 6Zm-.704 6.88h3.488l-1.712-4.912h-.048L29.68 12.88ZM38 6h2v11.424h-2V6Z\"/></svg>'\n\n  FroalaEditor.DefineIcon(BTN_SELF_SERVICE, {\n    NAME: '<span class=\"ai-fr-toolbar-btn-content\"><i>' + twinkleAIIcon + '</i></span>',\n    template: 'text',\n  })\n\n  FroalaEditor.DefineIcon(BTN_AI_AUTO_REPLIES, {\n    ICON: '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" width=\"1em\" height=\"1em\" class=\"tw-fill-current tw-w-[18px]\"><path class=\"tw-fill-current tw-w-[18px]\" d=\"M8.5 2.727a.98.98 0 0 0-.93.632L6.537 5.975a1 1 0 0 1-.562.562L3.359 7.57c-.844.333-.844 1.527 0 1.86l2.616 1.033c.257.101.46.305.562.562l1.033 2.616c.333.844 1.527.844 1.86 0l1.033-2.616a1 1 0 0 1 .562-.562l2.616-1.033c.844-.333.844-1.527 0-1.86l-2.616-1.033a1 1 0 0 1-.562-.562L9.43 3.359a.98.98 0 0 0-.93-.632m8.5 10a.98.98 0 0 0-.93.632l-.607 1.54a1 1 0 0 1-.565.564l-1.539.607c-.844.333-.844 1.527 0 1.86l1.54.607c.257.102.462.307.564.565l.607 1.539c.333.844 1.527.844 1.86 0l.607-1.54c.102-.257.307-.462.565-.564l1.539-.607c.844-.333.844-1.527 0-1.86l-1.54-.607a1 1 0 0 1-.564-.565l-.607-1.539a.98.98 0 0 0-.93-.632\"></path></svg>',\n    TEXT: TRANSLATIONS.froalaAiAutoReply.buttonText,\n    template: 'kundo-custom-icon',\n  })\n}\n","// Fine Uploader 5.15.0 - (c) 2013-present Widen Enterprises, Inc. MIT licensed. http://fineuploader.com\n(function(global) {\n    var qq = function(element) {\n        \"use strict\";\n        return {\n            hide: function() {\n                element.style.display = \"none\";\n                return this;\n            },\n            attach: function(type, fn) {\n                if (element.addEventListener) {\n                    element.addEventListener(type, fn, false);\n                } else if (element.attachEvent) {\n                    element.attachEvent(\"on\" + type, fn);\n                }\n                return function() {\n                    qq(element).detach(type, fn);\n                };\n            },\n            detach: function(type, fn) {\n                if (element.removeEventListener) {\n                    element.removeEventListener(type, fn, false);\n                } else if (element.attachEvent) {\n                    element.detachEvent(\"on\" + type, fn);\n                }\n                return this;\n            },\n            contains: function(descendant) {\n                if (!descendant) {\n                    return false;\n                }\n                if (element === descendant) {\n                    return true;\n                }\n                if (element.contains) {\n                    return element.contains(descendant);\n                } else {\n                    return !!(descendant.compareDocumentPosition(element) & 8);\n                }\n            },\n            insertBefore: function(elementB) {\n                elementB.parentNode.insertBefore(element, elementB);\n                return this;\n            },\n            remove: function() {\n                element.parentNode.removeChild(element);\n                return this;\n            },\n            css: function(styles) {\n                if (element.style == null) {\n                    throw new qq.Error(\"Can't apply style to node as it is not on the HTMLElement prototype chain!\");\n                }\n                if (styles.opacity != null) {\n                    if (typeof element.style.opacity !== \"string\" && typeof element.filters !== \"undefined\") {\n                        styles.filter = \"alpha(opacity=\" + Math.round(100 * styles.opacity) + \")\";\n                    }\n                }\n                qq.extend(element.style, styles);\n                return this;\n            },\n            hasClass: function(name, considerParent) {\n                var re = new RegExp(\"(^| )\" + name + \"( |$)\");\n                return re.test(element.className) || !!(considerParent && re.test(element.parentNode.className));\n            },\n            addClass: function(name) {\n                if (!qq(element).hasClass(name)) {\n                    element.className += \" \" + name;\n                }\n                return this;\n            },\n            removeClass: function(name) {\n                var re = new RegExp(\"(^| )\" + name + \"( |$)\");\n                element.className = element.className.replace(re, \" \").replace(/^\\s+|\\s+$/g, \"\");\n                return this;\n            },\n            getByClass: function(className, first) {\n                var candidates, result = [];\n                if (first && element.querySelector) {\n                    return element.querySelector(\".\" + className);\n                } else if (element.querySelectorAll) {\n                    return element.querySelectorAll(\".\" + className);\n                }\n                candidates = element.getElementsByTagName(\"*\");\n                qq.each(candidates, function(idx, val) {\n                    if (qq(val).hasClass(className)) {\n                        result.push(val);\n                    }\n                });\n                return first ? result[0] : result;\n            },\n            getFirstByClass: function(className) {\n                return qq(element).getByClass(className, true);\n            },\n            children: function() {\n                var children = [], child = element.firstChild;\n                while (child) {\n                    if (child.nodeType === 1) {\n                        children.push(child);\n                    }\n                    child = child.nextSibling;\n                }\n                return children;\n            },\n            setText: function(text) {\n                element.innerText = text;\n                element.textContent = text;\n                return this;\n            },\n            clearText: function() {\n                return qq(element).setText(\"\");\n            },\n            hasAttribute: function(attrName) {\n                var attrVal;\n                if (element.hasAttribute) {\n                    if (!element.hasAttribute(attrName)) {\n                        return false;\n                    }\n                    return /^false$/i.exec(element.getAttribute(attrName)) == null;\n                } else {\n                    attrVal = element[attrName];\n                    if (attrVal === undefined) {\n                        return false;\n                    }\n                    return /^false$/i.exec(attrVal) == null;\n                }\n            }\n        };\n    };\n    (function() {\n        \"use strict\";\n        qq.canvasToBlob = function(canvas, mime, quality) {\n            return qq.dataUriToBlob(canvas.toDataURL(mime, quality));\n        };\n        qq.dataUriToBlob = function(dataUri) {\n            var arrayBuffer, byteString, createBlob = function(data, mime) {\n                var BlobBuilder = window.BlobBuilder || window.WebKitBlobBuilder || window.MozBlobBuilder || window.MSBlobBuilder, blobBuilder = BlobBuilder && new BlobBuilder();\n                if (blobBuilder) {\n                    blobBuilder.append(data);\n                    return blobBuilder.getBlob(mime);\n                } else {\n                    return new Blob([ data ], {\n                        type: mime\n                    });\n                }\n            }, intArray, mimeString;\n            if (dataUri.split(\",\")[0].indexOf(\"base64\") >= 0) {\n                byteString = atob(dataUri.split(\",\")[1]);\n            } else {\n                byteString = decodeURI(dataUri.split(\",\")[1]);\n            }\n            mimeString = dataUri.split(\",\")[0].split(\":\")[1].split(\";\")[0];\n            arrayBuffer = new ArrayBuffer(byteString.length);\n            intArray = new Uint8Array(arrayBuffer);\n            qq.each(byteString, function(idx, character) {\n                intArray[idx] = character.charCodeAt(0);\n            });\n            return createBlob(arrayBuffer, mimeString);\n        };\n        qq.log = function(message, level) {\n            if (window.console) {\n                if (!level || level === \"info\") {\n                    window.console.log(message);\n                } else {\n                    if (window.console[level]) {\n                        window.console[level](message);\n                    } else {\n                        window.console.log(\"<\" + level + \"> \" + message);\n                    }\n                }\n            }\n        };\n        qq.isObject = function(variable) {\n            return variable && !variable.nodeType && Object.prototype.toString.call(variable) === \"[object Object]\";\n        };\n        qq.isFunction = function(variable) {\n            return typeof variable === \"function\";\n        };\n        qq.isArray = function(value) {\n            return Object.prototype.toString.call(value) === \"[object Array]\" || value && window.ArrayBuffer && value.buffer && value.buffer.constructor === ArrayBuffer;\n        };\n        qq.isItemList = function(maybeItemList) {\n            return Object.prototype.toString.call(maybeItemList) === \"[object DataTransferItemList]\";\n        };\n        qq.isNodeList = function(maybeNodeList) {\n            return Object.prototype.toString.call(maybeNodeList) === \"[object NodeList]\" || maybeNodeList.item && maybeNodeList.namedItem;\n        };\n        qq.isString = function(maybeString) {\n            return Object.prototype.toString.call(maybeString) === \"[object String]\";\n        };\n        qq.trimStr = function(string) {\n            if (String.prototype.trim) {\n                return string.trim();\n            }\n            return string.replace(/^\\s+|\\s+$/g, \"\");\n        };\n        qq.format = function(str) {\n            var args = Array.prototype.slice.call(arguments, 1), newStr = str, nextIdxToReplace = newStr.indexOf(\"{}\");\n            qq.each(args, function(idx, val) {\n                var strBefore = newStr.substring(0, nextIdxToReplace), strAfter = newStr.substring(nextIdxToReplace + 2);\n                newStr = strBefore + val + strAfter;\n                nextIdxToReplace = newStr.indexOf(\"{}\", nextIdxToReplace + val.length);\n                if (nextIdxToReplace < 0) {\n                    return false;\n                }\n            });\n            return newStr;\n        };\n        qq.isFile = function(maybeFile) {\n            return window.File && Object.prototype.toString.call(maybeFile) === \"[object File]\";\n        };\n        qq.isFileList = function(maybeFileList) {\n            return window.FileList && Object.prototype.toString.call(maybeFileList) === \"[object FileList]\";\n        };\n        qq.isFileOrInput = function(maybeFileOrInput) {\n            return qq.isFile(maybeFileOrInput) || qq.isInput(maybeFileOrInput);\n        };\n        qq.isInput = function(maybeInput, notFile) {\n            var evaluateType = function(type) {\n                var normalizedType = type.toLowerCase();\n                if (notFile) {\n                    return normalizedType !== \"file\";\n                }\n                return normalizedType === \"file\";\n            };\n            if (window.HTMLInputElement) {\n                if (Object.prototype.toString.call(maybeInput) === \"[object HTMLInputElement]\") {\n                    if (maybeInput.type && evaluateType(maybeInput.type)) {\n                        return true;\n                    }\n                }\n            }\n            if (maybeInput.tagName) {\n                if (maybeInput.tagName.toLowerCase() === \"input\") {\n                    if (maybeInput.type && evaluateType(maybeInput.type)) {\n                        return true;\n                    }\n                }\n            }\n            return false;\n        };\n        qq.isBlob = function(maybeBlob) {\n            if (window.Blob && Object.prototype.toString.call(maybeBlob) === \"[object Blob]\") {\n                return true;\n            }\n        };\n        qq.isXhrUploadSupported = function() {\n            var input = document.createElement(\"input\");\n            input.type = \"file\";\n            return input.multiple !== undefined && typeof File !== \"undefined\" && typeof FormData !== \"undefined\" && typeof qq.createXhrInstance().upload !== \"undefined\";\n        };\n        qq.createXhrInstance = function() {\n            if (window.XMLHttpRequest) {\n                return new XMLHttpRequest();\n            }\n            try {\n                return new ActiveXObject(\"MSXML2.XMLHTTP.3.0\");\n            } catch (error) {\n                qq.log(\"Neither XHR or ActiveX are supported!\", \"error\");\n                return null;\n            }\n        };\n        qq.isFolderDropSupported = function(dataTransfer) {\n            return dataTransfer.items && dataTransfer.items.length > 0 && dataTransfer.items[0].webkitGetAsEntry;\n        };\n        qq.isFileChunkingSupported = function() {\n            return !qq.androidStock() && qq.isXhrUploadSupported() && (File.prototype.slice !== undefined || File.prototype.webkitSlice !== undefined || File.prototype.mozSlice !== undefined);\n        };\n        qq.sliceBlob = function(fileOrBlob, start, end) {\n            var slicer = fileOrBlob.slice || fileOrBlob.mozSlice || fileOrBlob.webkitSlice;\n            return slicer.call(fileOrBlob, start, end);\n        };\n        qq.arrayBufferToHex = function(buffer) {\n            var bytesAsHex = \"\", bytes = new Uint8Array(buffer);\n            qq.each(bytes, function(idx, byt) {\n                var byteAsHexStr = byt.toString(16);\n                if (byteAsHexStr.length < 2) {\n                    byteAsHexStr = \"0\" + byteAsHexStr;\n                }\n                bytesAsHex += byteAsHexStr;\n            });\n            return bytesAsHex;\n        };\n        qq.readBlobToHex = function(blob, startOffset, length) {\n            var initialBlob = qq.sliceBlob(blob, startOffset, startOffset + length), fileReader = new FileReader(), promise = new qq.Promise();\n            fileReader.onload = function() {\n                promise.success(qq.arrayBufferToHex(fileReader.result));\n            };\n            fileReader.onerror = promise.failure;\n            fileReader.readAsArrayBuffer(initialBlob);\n            return promise;\n        };\n        qq.extend = function(first, second, extendNested) {\n            qq.each(second, function(prop, val) {\n                if (extendNested && qq.isObject(val)) {\n                    if (first[prop] === undefined) {\n                        first[prop] = {};\n                    }\n                    qq.extend(first[prop], val, true);\n                } else {\n                    first[prop] = val;\n                }\n            });\n            return first;\n        };\n        qq.override = function(target, sourceFn) {\n            var super_ = {}, source = sourceFn(super_);\n            qq.each(source, function(srcPropName, srcPropVal) {\n                if (target[srcPropName] !== undefined) {\n                    super_[srcPropName] = target[srcPropName];\n                }\n                target[srcPropName] = srcPropVal;\n            });\n            return target;\n        };\n        qq.indexOf = function(arr, elt, from) {\n            if (arr.indexOf) {\n                return arr.indexOf(elt, from);\n            }\n            from = from || 0;\n            var len = arr.length;\n            if (from < 0) {\n                from += len;\n            }\n            for (;from < len; from += 1) {\n                if (arr.hasOwnProperty(from) && arr[from] === elt) {\n                    return from;\n                }\n            }\n            return -1;\n        };\n        qq.getUniqueId = function() {\n            return \"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g, function(c) {\n                var r = Math.random() * 16 | 0, v = c == \"x\" ? r : r & 3 | 8;\n                return v.toString(16);\n            });\n        };\n        qq.ie = function() {\n            return navigator.userAgent.indexOf(\"MSIE\") !== -1 || navigator.userAgent.indexOf(\"Trident\") !== -1;\n        };\n        qq.ie7 = function() {\n            return navigator.userAgent.indexOf(\"MSIE 7\") !== -1;\n        };\n        qq.ie8 = function() {\n            return navigator.userAgent.indexOf(\"MSIE 8\") !== -1;\n        };\n        qq.ie10 = function() {\n            return navigator.userAgent.indexOf(\"MSIE 10\") !== -1;\n        };\n        qq.ie11 = function() {\n            return qq.ie() && navigator.userAgent.indexOf(\"rv:11\") !== -1;\n        };\n        qq.edge = function() {\n            return navigator.userAgent.indexOf(\"Edge\") >= 0;\n        };\n        qq.safari = function() {\n            return navigator.vendor !== undefined && navigator.vendor.indexOf(\"Apple\") !== -1;\n        };\n        qq.chrome = function() {\n            return navigator.vendor !== undefined && navigator.vendor.indexOf(\"Google\") !== -1;\n        };\n        qq.opera = function() {\n            return navigator.vendor !== undefined && navigator.vendor.indexOf(\"Opera\") !== -1;\n        };\n        qq.firefox = function() {\n            return !qq.edge() && !qq.ie11() && navigator.userAgent.indexOf(\"Mozilla\") !== -1 && navigator.vendor !== undefined && navigator.vendor === \"\";\n        };\n        qq.windows = function() {\n            return navigator.platform === \"Win32\";\n        };\n        qq.android = function() {\n            return navigator.userAgent.toLowerCase().indexOf(\"android\") !== -1;\n        };\n        qq.androidStock = function() {\n            return qq.android() && navigator.userAgent.toLowerCase().indexOf(\"chrome\") < 0;\n        };\n        qq.ios6 = function() {\n            return qq.ios() && navigator.userAgent.indexOf(\" OS 6_\") !== -1;\n        };\n        qq.ios7 = function() {\n            return qq.ios() && navigator.userAgent.indexOf(\" OS 7_\") !== -1;\n        };\n        qq.ios8 = function() {\n            return qq.ios() && navigator.userAgent.indexOf(\" OS 8_\") !== -1;\n        };\n        qq.ios800 = function() {\n            return qq.ios() && navigator.userAgent.indexOf(\" OS 8_0 \") !== -1;\n        };\n        qq.ios = function() {\n            return navigator.userAgent.indexOf(\"iPad\") !== -1 || navigator.userAgent.indexOf(\"iPod\") !== -1 || navigator.userAgent.indexOf(\"iPhone\") !== -1;\n        };\n        qq.iosChrome = function() {\n            return qq.ios() && navigator.userAgent.indexOf(\"CriOS\") !== -1;\n        };\n        qq.iosSafari = function() {\n            return qq.ios() && !qq.iosChrome() && navigator.userAgent.indexOf(\"Safari\") !== -1;\n        };\n        qq.iosSafariWebView = function() {\n            return qq.ios() && !qq.iosChrome() && !qq.iosSafari();\n        };\n        qq.preventDefault = function(e) {\n            if (e.preventDefault) {\n                e.preventDefault();\n            } else {\n                e.returnValue = false;\n            }\n        };\n        qq.toElement = function() {\n            var div = document.createElement(\"div\");\n            return function(html) {\n                div.innerHTML = html;\n                var element = div.firstChild;\n                div.removeChild(element);\n                return element;\n            };\n        }();\n        qq.each = function(iterableItem, callback) {\n            var keyOrIndex, retVal;\n            if (iterableItem) {\n                if (window.Storage && iterableItem.constructor === window.Storage) {\n                    for (keyOrIndex = 0; keyOrIndex < iterableItem.length; keyOrIndex++) {\n                        retVal = callback(iterableItem.key(keyOrIndex), iterableItem.getItem(iterableItem.key(keyOrIndex)));\n                        if (retVal === false) {\n                            break;\n                        }\n                    }\n                } else if (qq.isArray(iterableItem) || qq.isItemList(iterableItem) || qq.isNodeList(iterableItem)) {\n                    for (keyOrIndex = 0; keyOrIndex < iterableItem.length; keyOrIndex++) {\n                        retVal = callback(keyOrIndex, iterableItem[keyOrIndex]);\n                        if (retVal === false) {\n                            break;\n                        }\n                    }\n                } else if (qq.isString(iterableItem)) {\n                    for (keyOrIndex = 0; keyOrIndex < iterableItem.length; keyOrIndex++) {\n                        retVal = callback(keyOrIndex, iterableItem.charAt(keyOrIndex));\n                        if (retVal === false) {\n                            break;\n                        }\n                    }\n                } else {\n                    for (keyOrIndex in iterableItem) {\n                        if (Object.prototype.hasOwnProperty.call(iterableItem, keyOrIndex)) {\n                            retVal = callback(keyOrIndex, iterableItem[keyOrIndex]);\n                            if (retVal === false) {\n                                break;\n                            }\n                        }\n                    }\n                }\n            }\n        };\n        qq.bind = function(oldFunc, context) {\n            if (qq.isFunction(oldFunc)) {\n                var args = Array.prototype.slice.call(arguments, 2);\n                return function() {\n                    var newArgs = qq.extend([], args);\n                    if (arguments.length) {\n                        newArgs = newArgs.concat(Array.prototype.slice.call(arguments));\n                    }\n                    return oldFunc.apply(context, newArgs);\n                };\n            }\n            throw new Error(\"first parameter must be a function!\");\n        };\n        qq.obj2url = function(obj, temp, prefixDone) {\n            var uristrings = [], prefix = \"&\", add = function(nextObj, i) {\n                var nextTemp = temp ? /\\[\\]$/.test(temp) ? temp : temp + \"[\" + i + \"]\" : i;\n                if (nextTemp !== \"undefined\" && i !== \"undefined\") {\n                    uristrings.push(typeof nextObj === \"object\" ? qq.obj2url(nextObj, nextTemp, true) : Object.prototype.toString.call(nextObj) === \"[object Function]\" ? encodeURIComponent(nextTemp) + \"=\" + encodeURIComponent(nextObj()) : encodeURIComponent(nextTemp) + \"=\" + encodeURIComponent(nextObj));\n                }\n            };\n            if (!prefixDone && temp) {\n                prefix = /\\?/.test(temp) ? /\\?$/.test(temp) ? \"\" : \"&\" : \"?\";\n                uristrings.push(temp);\n                uristrings.push(qq.obj2url(obj));\n            } else if (Object.prototype.toString.call(obj) === \"[object Array]\" && typeof obj !== \"undefined\") {\n                qq.each(obj, function(idx, val) {\n                    add(val, idx);\n                });\n            } else if (typeof obj !== \"undefined\" && obj !== null && typeof obj === \"object\") {\n                qq.each(obj, function(prop, val) {\n                    add(val, prop);\n                });\n            } else {\n                uristrings.push(encodeURIComponent(temp) + \"=\" + encodeURIComponent(obj));\n            }\n            if (temp) {\n                return uristrings.join(prefix);\n            } else {\n                return uristrings.join(prefix).replace(/^&/, \"\").replace(/%20/g, \"+\");\n            }\n        };\n        qq.obj2FormData = function(obj, formData, arrayKeyName) {\n            if (!formData) {\n                formData = new FormData();\n            }\n            qq.each(obj, function(key, val) {\n                key = arrayKeyName ? arrayKeyName + \"[\" + key + \"]\" : key;\n                if (qq.isObject(val)) {\n                    qq.obj2FormData(val, formData, key);\n                } else if (qq.isFunction(val)) {\n                    formData.append(key, val());\n                } else {\n                    formData.append(key, val);\n                }\n            });\n            return formData;\n        };\n        qq.obj2Inputs = function(obj, form) {\n            var input;\n            if (!form) {\n                form = document.createElement(\"form\");\n            }\n            qq.obj2FormData(obj, {\n                append: function(key, val) {\n                    input = document.createElement(\"input\");\n                    input.setAttribute(\"name\", key);\n                    input.setAttribute(\"value\", val);\n                    form.appendChild(input);\n                }\n            });\n            return form;\n        };\n        qq.parseJson = function(json) {\n            if (window.JSON && qq.isFunction(JSON.parse)) {\n                return JSON.parse(json);\n            } else {\n                return eval(\"(\" + json + \")\");\n            }\n        };\n        qq.getExtension = function(filename) {\n            var extIdx = filename.lastIndexOf(\".\") + 1;\n            if (extIdx > 0) {\n                return filename.substr(extIdx, filename.length - extIdx);\n            }\n        };\n        qq.getFilename = function(blobOrFileInput) {\n            if (qq.isInput(blobOrFileInput)) {\n                return blobOrFileInput.value.replace(/.*(\\/|\\\\)/, \"\");\n            } else if (qq.isFile(blobOrFileInput)) {\n                if (blobOrFileInput.fileName !== null && blobOrFileInput.fileName !== undefined) {\n                    return blobOrFileInput.fileName;\n                }\n            }\n            return blobOrFileInput.name;\n        };\n        qq.DisposeSupport = function() {\n            var disposers = [];\n            return {\n                dispose: function() {\n                    var disposer;\n                    do {\n                        disposer = disposers.shift();\n                        if (disposer) {\n                            disposer();\n                        }\n                    } while (disposer);\n                },\n                attach: function() {\n                    var args = arguments;\n                    this.addDisposer(qq(args[0]).attach.apply(this, Array.prototype.slice.call(arguments, 1)));\n                },\n                addDisposer: function(disposeFunction) {\n                    disposers.push(disposeFunction);\n                }\n            };\n        };\n    })();\n    (function() {\n        \"use strict\";\n        if (typeof define === \"function\" && define.amd) {\n            define(function() {\n                return qq;\n            });\n        } else if (typeof module !== \"undefined\" && module.exports) {\n            module.exports = qq;\n        } else {\n            global.qq = qq;\n        }\n    })();\n    (function() {\n        \"use strict\";\n        qq.Error = function(message) {\n            this.message = \"[Fine Uploader \" + qq.version + \"] \" + message;\n        };\n        qq.Error.prototype = new Error();\n    })();\n    qq.version = \"5.15.0\";\n    qq.supportedFeatures = function() {\n        \"use strict\";\n        var supportsUploading, supportsUploadingBlobs, supportsFileDrop, supportsAjaxFileUploading, supportsFolderDrop, supportsChunking, supportsResume, supportsUploadViaPaste, supportsUploadCors, supportsDeleteFileXdr, supportsDeleteFileCorsXhr, supportsDeleteFileCors, supportsFolderSelection, supportsImagePreviews, supportsUploadProgress;\n        function testSupportsFileInputElement() {\n            var supported = true, tempInput;\n            try {\n                tempInput = document.createElement(\"input\");\n                tempInput.type = \"file\";\n                qq(tempInput).hide();\n                if (tempInput.disabled) {\n                    supported = false;\n                }\n            } catch (ex) {\n                supported = false;\n            }\n            return supported;\n        }\n        function isChrome21OrHigher() {\n            return (qq.chrome() || qq.opera()) && navigator.userAgent.match(/Chrome\\/[2][1-9]|Chrome\\/[3-9][0-9]/) !== undefined;\n        }\n        function isChrome14OrHigher() {\n            return (qq.chrome() || qq.opera()) && navigator.userAgent.match(/Chrome\\/[1][4-9]|Chrome\\/[2-9][0-9]/) !== undefined;\n        }\n        function isCrossOriginXhrSupported() {\n            if (window.XMLHttpRequest) {\n                var xhr = qq.createXhrInstance();\n                return xhr.withCredentials !== undefined;\n            }\n            return false;\n        }\n        function isXdrSupported() {\n            return window.XDomainRequest !== undefined;\n        }\n        function isCrossOriginAjaxSupported() {\n            if (isCrossOriginXhrSupported()) {\n                return true;\n            }\n            return isXdrSupported();\n        }\n        function isFolderSelectionSupported() {\n            return document.createElement(\"input\").webkitdirectory !== undefined;\n        }\n        function isLocalStorageSupported() {\n            try {\n                return !!window.localStorage && qq.isFunction(window.localStorage.setItem);\n            } catch (error) {\n                return false;\n            }\n        }\n        function isDragAndDropSupported() {\n            var span = document.createElement(\"span\");\n            return (\"draggable\" in span || \"ondragstart\" in span && \"ondrop\" in span) && !qq.android() && !qq.ios();\n        }\n        supportsUploading = testSupportsFileInputElement();\n        supportsAjaxFileUploading = supportsUploading && qq.isXhrUploadSupported();\n        supportsUploadingBlobs = supportsAjaxFileUploading && !qq.androidStock();\n        supportsFileDrop = supportsAjaxFileUploading && isDragAndDropSupported();\n        supportsFolderDrop = supportsFileDrop && isChrome21OrHigher();\n        supportsChunking = supportsAjaxFileUploading && qq.isFileChunkingSupported();\n        supportsResume = supportsAjaxFileUploading && supportsChunking && isLocalStorageSupported();\n        supportsUploadViaPaste = supportsAjaxFileUploading && isChrome14OrHigher();\n        supportsUploadCors = supportsUploading && (window.postMessage !== undefined || supportsAjaxFileUploading);\n        supportsDeleteFileCorsXhr = isCrossOriginXhrSupported();\n        supportsDeleteFileXdr = isXdrSupported();\n        supportsDeleteFileCors = isCrossOriginAjaxSupported();\n        supportsFolderSelection = isFolderSelectionSupported();\n        supportsImagePreviews = supportsAjaxFileUploading && window.FileReader !== undefined;\n        supportsUploadProgress = function() {\n            if (supportsAjaxFileUploading) {\n                return !qq.androidStock() && !qq.iosChrome();\n            }\n            return false;\n        }();\n        return {\n            ajaxUploading: supportsAjaxFileUploading,\n            blobUploading: supportsUploadingBlobs,\n            canDetermineSize: supportsAjaxFileUploading,\n            chunking: supportsChunking,\n            deleteFileCors: supportsDeleteFileCors,\n            deleteFileCorsXdr: supportsDeleteFileXdr,\n            deleteFileCorsXhr: supportsDeleteFileCorsXhr,\n            dialogElement: !!window.HTMLDialogElement,\n            fileDrop: supportsFileDrop,\n            folderDrop: supportsFolderDrop,\n            folderSelection: supportsFolderSelection,\n            imagePreviews: supportsImagePreviews,\n            imageValidation: supportsImagePreviews,\n            itemSizeValidation: supportsAjaxFileUploading,\n            pause: supportsChunking,\n            progressBar: supportsUploadProgress,\n            resume: supportsResume,\n            scaling: supportsImagePreviews && supportsUploadingBlobs,\n            tiffPreviews: qq.safari(),\n            unlimitedScaledImageSize: !qq.ios(),\n            uploading: supportsUploading,\n            uploadCors: supportsUploadCors,\n            uploadCustomHeaders: supportsAjaxFileUploading,\n            uploadNonMultipart: supportsAjaxFileUploading,\n            uploadViaPaste: supportsUploadViaPaste\n        };\n    }();\n    qq.isGenericPromise = function(maybePromise) {\n        \"use strict\";\n        return !!(maybePromise && maybePromise.then && qq.isFunction(maybePromise.then));\n    };\n    qq.Promise = function() {\n        \"use strict\";\n        var successArgs, failureArgs, successCallbacks = [], failureCallbacks = [], doneCallbacks = [], state = 0;\n        qq.extend(this, {\n            then: function(onSuccess, onFailure) {\n                if (state === 0) {\n                    if (onSuccess) {\n                        successCallbacks.push(onSuccess);\n                    }\n                    if (onFailure) {\n                        failureCallbacks.push(onFailure);\n                    }\n                } else if (state === -1) {\n                    onFailure && onFailure.apply(null, failureArgs);\n                } else if (onSuccess) {\n                    onSuccess.apply(null, successArgs);\n                }\n                return this;\n            },\n            done: function(callback) {\n                if (state === 0) {\n                    doneCallbacks.push(callback);\n                } else {\n                    callback.apply(null, failureArgs === undefined ? successArgs : failureArgs);\n                }\n                return this;\n            },\n            success: function() {\n                state = 1;\n                successArgs = arguments;\n                if (successCallbacks.length) {\n                    qq.each(successCallbacks, function(idx, callback) {\n                        callback.apply(null, successArgs);\n                    });\n                }\n                if (doneCallbacks.length) {\n                    qq.each(doneCallbacks, function(idx, callback) {\n                        callback.apply(null, successArgs);\n                    });\n                }\n                return this;\n            },\n            failure: function() {\n                state = -1;\n                failureArgs = arguments;\n                if (failureCallbacks.length) {\n                    qq.each(failureCallbacks, function(idx, callback) {\n                        callback.apply(null, failureArgs);\n                    });\n                }\n                if (doneCallbacks.length) {\n                    qq.each(doneCallbacks, function(idx, callback) {\n                        callback.apply(null, failureArgs);\n                    });\n                }\n                return this;\n            }\n        });\n    };\n    qq.BlobProxy = function(referenceBlob, onCreate) {\n        \"use strict\";\n        qq.extend(this, {\n            referenceBlob: referenceBlob,\n            create: function() {\n                return onCreate(referenceBlob);\n            }\n        });\n    };\n    qq.UploadButton = function(o) {\n        \"use strict\";\n        var self = this, disposeSupport = new qq.DisposeSupport(), options = {\n            acceptFiles: null,\n            element: null,\n            focusClass: \"qq-upload-button-focus\",\n            folders: false,\n            hoverClass: \"qq-upload-button-hover\",\n            ios8BrowserCrashWorkaround: false,\n            multiple: false,\n            name: \"qqfile\",\n            onChange: function(input) {},\n            title: null\n        }, input, buttonId;\n        qq.extend(options, o);\n        buttonId = qq.getUniqueId();\n        function createInput() {\n            var input = document.createElement(\"input\");\n            input.setAttribute(qq.UploadButton.BUTTON_ID_ATTR_NAME, buttonId);\n            input.setAttribute(\"title\", options.title);\n            self.setMultiple(options.multiple, input);\n            if (options.folders && qq.supportedFeatures.folderSelection) {\n                input.setAttribute(\"webkitdirectory\", \"\");\n            }\n            if (options.acceptFiles) {\n                input.setAttribute(\"accept\", options.acceptFiles);\n            }\n            input.setAttribute(\"type\", \"file\");\n            input.setAttribute(\"name\", options.name);\n            qq(input).css({\n                position: \"absolute\",\n                right: 0,\n                top: 0,\n                fontFamily: \"Arial\",\n                fontSize: qq.ie() && !qq.ie8() ? \"3500px\" : \"118px\",\n                margin: 0,\n                padding: 0,\n                cursor: \"pointer\",\n                opacity: 0\n            });\n            !qq.ie7() && qq(input).css({\n                height: \"100%\"\n            });\n            options.element.appendChild(input);\n            disposeSupport.attach(input, \"change\", function() {\n                options.onChange(input);\n            });\n            disposeSupport.attach(input, \"mouseover\", function() {\n                qq(options.element).addClass(options.hoverClass);\n            });\n            disposeSupport.attach(input, \"mouseout\", function() {\n                qq(options.element).removeClass(options.hoverClass);\n            });\n            disposeSupport.attach(input, \"focus\", function() {\n                qq(options.element).addClass(options.focusClass);\n            });\n            disposeSupport.attach(input, \"blur\", function() {\n                qq(options.element).removeClass(options.focusClass);\n            });\n            return input;\n        }\n        qq(options.element).css({\n            position: \"relative\",\n            overflow: \"hidden\",\n            direction: \"ltr\"\n        });\n        qq.extend(this, {\n            getInput: function() {\n                return input;\n            },\n            getButtonId: function() {\n                return buttonId;\n            },\n            setMultiple: function(isMultiple, optInput) {\n                var input = optInput || this.getInput();\n                if (options.ios8BrowserCrashWorkaround && qq.ios8() && (qq.iosChrome() || qq.iosSafariWebView())) {\n                    input.setAttribute(\"multiple\", \"\");\n                } else {\n                    if (isMultiple) {\n                        input.setAttribute(\"multiple\", \"\");\n                    } else {\n                        input.removeAttribute(\"multiple\");\n                    }\n                }\n            },\n            setAcceptFiles: function(acceptFiles) {\n                if (acceptFiles !== options.acceptFiles) {\n                    input.setAttribute(\"accept\", acceptFiles);\n                }\n            },\n            reset: function() {\n                if (input.parentNode) {\n                    qq(input).remove();\n                }\n                qq(options.element).removeClass(options.focusClass);\n                input = null;\n                input = createInput();\n            }\n        });\n        input = createInput();\n    };\n    qq.UploadButton.BUTTON_ID_ATTR_NAME = \"qq-button-id\";\n    qq.UploadData = function(uploaderProxy) {\n        \"use strict\";\n        var data = [], byUuid = {}, byStatus = {}, byProxyGroupId = {}, byBatchId = {};\n        function getDataByIds(idOrIds) {\n            if (qq.isArray(idOrIds)) {\n                var entries = [];\n                qq.each(idOrIds, function(idx, id) {\n                    entries.push(data[id]);\n                });\n                return entries;\n            }\n            return data[idOrIds];\n        }\n        function getDataByUuids(uuids) {\n            if (qq.isArray(uuids)) {\n                var entries = [];\n                qq.each(uuids, function(idx, uuid) {\n                    entries.push(data[byUuid[uuid]]);\n                });\n                return entries;\n            }\n            return data[byUuid[uuids]];\n        }\n        function getDataByStatus(status) {\n            var statusResults = [], statuses = [].concat(status);\n            qq.each(statuses, function(index, statusEnum) {\n                var statusResultIndexes = byStatus[statusEnum];\n                if (statusResultIndexes !== undefined) {\n                    qq.each(statusResultIndexes, function(i, dataIndex) {\n                        statusResults.push(data[dataIndex]);\n                    });\n                }\n            });\n            return statusResults;\n        }\n        qq.extend(this, {\n            addFile: function(spec) {\n                var status = spec.status || qq.status.SUBMITTING, id = data.push({\n                    name: spec.name,\n                    originalName: spec.name,\n                    uuid: spec.uuid,\n                    size: spec.size == null ? -1 : spec.size,\n                    status: status\n                }) - 1;\n                if (spec.batchId) {\n                    data[id].batchId = spec.batchId;\n                    if (byBatchId[spec.batchId] === undefined) {\n                        byBatchId[spec.batchId] = [];\n                    }\n                    byBatchId[spec.batchId].push(id);\n                }\n                if (spec.proxyGroupId) {\n                    data[id].proxyGroupId = spec.proxyGroupId;\n                    if (byProxyGroupId[spec.proxyGroupId] === undefined) {\n                        byProxyGroupId[spec.proxyGroupId] = [];\n                    }\n                    byProxyGroupId[spec.proxyGroupId].push(id);\n                }\n                data[id].id = id;\n                byUuid[spec.uuid] = id;\n                if (byStatus[status] === undefined) {\n                    byStatus[status] = [];\n                }\n                byStatus[status].push(id);\n                spec.onBeforeStatusChange && spec.onBeforeStatusChange(id);\n                uploaderProxy.onStatusChange(id, null, status);\n                return id;\n            },\n            retrieve: function(optionalFilter) {\n                if (qq.isObject(optionalFilter) && data.length) {\n                    if (optionalFilter.id !== undefined) {\n                        return getDataByIds(optionalFilter.id);\n                    } else if (optionalFilter.uuid !== undefined) {\n                        return getDataByUuids(optionalFilter.uuid);\n                    } else if (optionalFilter.status) {\n                        return getDataByStatus(optionalFilter.status);\n                    }\n                } else {\n                    return qq.extend([], data, true);\n                }\n            },\n            reset: function() {\n                data = [];\n                byUuid = {};\n                byStatus = {};\n                byBatchId = {};\n            },\n            setStatus: function(id, newStatus) {\n                var oldStatus = data[id].status, byStatusOldStatusIndex = qq.indexOf(byStatus[oldStatus], id);\n                byStatus[oldStatus].splice(byStatusOldStatusIndex, 1);\n                data[id].status = newStatus;\n                if (byStatus[newStatus] === undefined) {\n                    byStatus[newStatus] = [];\n                }\n                byStatus[newStatus].push(id);\n                uploaderProxy.onStatusChange(id, oldStatus, newStatus);\n            },\n            uuidChanged: function(id, newUuid) {\n                var oldUuid = data[id].uuid;\n                data[id].uuid = newUuid;\n                byUuid[newUuid] = id;\n                delete byUuid[oldUuid];\n            },\n            updateName: function(id, newName) {\n                data[id].name = newName;\n            },\n            updateSize: function(id, newSize) {\n                data[id].size = newSize;\n            },\n            setParentId: function(targetId, parentId) {\n                data[targetId].parentId = parentId;\n            },\n            getIdsInProxyGroup: function(id) {\n                var proxyGroupId = data[id].proxyGroupId;\n                if (proxyGroupId) {\n                    return byProxyGroupId[proxyGroupId];\n                }\n                return [];\n            },\n            getIdsInBatch: function(id) {\n                var batchId = data[id].batchId;\n                return byBatchId[batchId];\n            }\n        });\n    };\n    qq.status = {\n        SUBMITTING: \"submitting\",\n        SUBMITTED: \"submitted\",\n        REJECTED: \"rejected\",\n        QUEUED: \"queued\",\n        CANCELED: \"canceled\",\n        PAUSED: \"paused\",\n        UPLOADING: \"uploading\",\n        UPLOAD_RETRYING: \"retrying upload\",\n        UPLOAD_SUCCESSFUL: \"upload successful\",\n        UPLOAD_FAILED: \"upload failed\",\n        DELETE_FAILED: \"delete failed\",\n        DELETING: \"deleting\",\n        DELETED: \"deleted\"\n    };\n    (function() {\n        \"use strict\";\n        qq.basePublicApi = {\n            addBlobs: function(blobDataOrArray, params, endpoint) {\n                this.addFiles(blobDataOrArray, params, endpoint);\n            },\n            addInitialFiles: function(cannedFileList) {\n                var self = this;\n                qq.each(cannedFileList, function(index, cannedFile) {\n                    self._addCannedFile(cannedFile);\n                });\n            },\n            addFiles: function(data, params, endpoint) {\n                this._maybeHandleIos8SafariWorkaround();\n                var batchId = this._storedIds.length === 0 ? qq.getUniqueId() : this._currentBatchId, processBlob = qq.bind(function(blob) {\n                    this._handleNewFile({\n                        blob: blob,\n                        name: this._options.blobs.defaultName\n                    }, batchId, verifiedFiles);\n                }, this), processBlobData = qq.bind(function(blobData) {\n                    this._handleNewFile(blobData, batchId, verifiedFiles);\n                }, this), processCanvas = qq.bind(function(canvas) {\n                    var blob = qq.canvasToBlob(canvas);\n                    this._handleNewFile({\n                        blob: blob,\n                        name: this._options.blobs.defaultName + \".png\"\n                    }, batchId, verifiedFiles);\n                }, this), processCanvasData = qq.bind(function(canvasData) {\n                    var normalizedQuality = canvasData.quality && canvasData.quality / 100, blob = qq.canvasToBlob(canvasData.canvas, canvasData.type, normalizedQuality);\n                    this._handleNewFile({\n                        blob: blob,\n                        name: canvasData.name\n                    }, batchId, verifiedFiles);\n                }, this), processFileOrInput = qq.bind(function(fileOrInput) {\n                    if (qq.isInput(fileOrInput) && qq.supportedFeatures.ajaxUploading) {\n                        var files = Array.prototype.slice.call(fileOrInput.files), self = this;\n                        qq.each(files, function(idx, file) {\n                            self._handleNewFile(file, batchId, verifiedFiles);\n                        });\n                    } else {\n                        this._handleNewFile(fileOrInput, batchId, verifiedFiles);\n                    }\n                }, this), normalizeData = function() {\n                    if (qq.isFileList(data)) {\n                        data = Array.prototype.slice.call(data);\n                    }\n                    data = [].concat(data);\n                }, self = this, verifiedFiles = [];\n                this._currentBatchId = batchId;\n                if (data) {\n                    normalizeData();\n                    qq.each(data, function(idx, fileContainer) {\n                        if (qq.isFileOrInput(fileContainer)) {\n                            processFileOrInput(fileContainer);\n                        } else if (qq.isBlob(fileContainer)) {\n                            processBlob(fileContainer);\n                        } else if (qq.isObject(fileContainer)) {\n                            if (fileContainer.blob && fileContainer.name) {\n                                processBlobData(fileContainer);\n                            } else if (fileContainer.canvas && fileContainer.name) {\n                                processCanvasData(fileContainer);\n                            }\n                        } else if (fileContainer.tagName && fileContainer.tagName.toLowerCase() === \"canvas\") {\n                            processCanvas(fileContainer);\n                        } else {\n                            self.log(fileContainer + \" is not a valid file container!  Ignoring!\", \"warn\");\n                        }\n                    });\n                    this.log(\"Received \" + verifiedFiles.length + \" files.\");\n                    this._prepareItemsForUpload(verifiedFiles, params, endpoint);\n                }\n            },\n            cancel: function(id) {\n                this._handler.cancel(id);\n            },\n            cancelAll: function() {\n                var storedIdsCopy = [], self = this;\n                qq.extend(storedIdsCopy, this._storedIds);\n                qq.each(storedIdsCopy, function(idx, storedFileId) {\n                    self.cancel(storedFileId);\n                });\n                this._handler.cancelAll();\n            },\n            clearStoredFiles: function() {\n                this._storedIds = [];\n            },\n            continueUpload: function(id) {\n                var uploadData = this._uploadData.retrieve({\n                    id: id\n                });\n                if (!qq.supportedFeatures.pause || !this._options.chunking.enabled) {\n                    return false;\n                }\n                if (uploadData.status === qq.status.PAUSED) {\n                    this.log(qq.format(\"Paused file ID {} ({}) will be continued.  Not paused.\", id, this.getName(id)));\n                    this._uploadFile(id);\n                    return true;\n                } else {\n                    this.log(qq.format(\"Ignoring continue for file ID {} ({}).  Not paused.\", id, this.getName(id)), \"error\");\n                }\n                return false;\n            },\n            deleteFile: function(id) {\n                return this._onSubmitDelete(id);\n            },\n            doesExist: function(fileOrBlobId) {\n                return this._handler.isValid(fileOrBlobId);\n            },\n            drawThumbnail: function(fileId, imgOrCanvas, maxSize, fromServer, customResizeFunction) {\n                var promiseToReturn = new qq.Promise(), fileOrUrl, options;\n                if (this._imageGenerator) {\n                    fileOrUrl = this._thumbnailUrls[fileId];\n                    options = {\n                        customResizeFunction: customResizeFunction,\n                        maxSize: maxSize > 0 ? maxSize : null,\n                        scale: maxSize > 0\n                    };\n                    if (!fromServer && qq.supportedFeatures.imagePreviews) {\n                        fileOrUrl = this.getFile(fileId);\n                    }\n                    if (fileOrUrl == null) {\n                        promiseToReturn.failure({\n                            container: imgOrCanvas,\n                            error: \"File or URL not found.\"\n                        });\n                    } else {\n                        this._imageGenerator.generate(fileOrUrl, imgOrCanvas, options).then(function success(modifiedContainer) {\n                            promiseToReturn.success(modifiedContainer);\n                        }, function failure(container, reason) {\n                            promiseToReturn.failure({\n                                container: container,\n                                error: reason || \"Problem generating thumbnail\"\n                            });\n                        });\n                    }\n                } else {\n                    promiseToReturn.failure({\n                        container: imgOrCanvas,\n                        error: \"Missing image generator module\"\n                    });\n                }\n                return promiseToReturn;\n            },\n            getButton: function(fileId) {\n                return this._getButton(this._buttonIdsForFileIds[fileId]);\n            },\n            getEndpoint: function(fileId) {\n                return this._endpointStore.get(fileId);\n            },\n            getFile: function(fileOrBlobId) {\n                return this._handler.getFile(fileOrBlobId) || null;\n            },\n            getInProgress: function() {\n                return this._uploadData.retrieve({\n                    status: [ qq.status.UPLOADING, qq.status.UPLOAD_RETRYING, qq.status.QUEUED ]\n                }).length;\n            },\n            getName: function(id) {\n                return this._uploadData.retrieve({\n                    id: id\n                }).name;\n            },\n            getParentId: function(id) {\n                var uploadDataEntry = this.getUploads({\n                    id: id\n                }), parentId = null;\n                if (uploadDataEntry) {\n                    if (uploadDataEntry.parentId !== undefined) {\n                        parentId = uploadDataEntry.parentId;\n                    }\n                }\n                return parentId;\n            },\n            getResumableFilesData: function() {\n                return this._handler.getResumableFilesData();\n            },\n            getSize: function(id) {\n                return this._uploadData.retrieve({\n                    id: id\n                }).size;\n            },\n            getNetUploads: function() {\n                return this._netUploaded;\n            },\n            getRemainingAllowedItems: function() {\n                var allowedItems = this._currentItemLimit;\n                if (allowedItems > 0) {\n                    return allowedItems - this._netUploadedOrQueued;\n                }\n                return null;\n            },\n            getUploads: function(optionalFilter) {\n                return this._uploadData.retrieve(optionalFilter);\n            },\n            getUuid: function(id) {\n                return this._uploadData.retrieve({\n                    id: id\n                }).uuid;\n            },\n            log: function(str, level) {\n                if (this._options.debug && (!level || level === \"info\")) {\n                    qq.log(\"[Fine Uploader \" + qq.version + \"] \" + str);\n                } else if (level && level !== \"info\") {\n                    qq.log(\"[Fine Uploader \" + qq.version + \"] \" + str, level);\n                }\n            },\n            pauseUpload: function(id) {\n                var uploadData = this._uploadData.retrieve({\n                    id: id\n                });\n                if (!qq.supportedFeatures.pause || !this._options.chunking.enabled) {\n                    return false;\n                }\n                if (qq.indexOf([ qq.status.UPLOADING, qq.status.UPLOAD_RETRYING ], uploadData.status) >= 0) {\n                    if (this._handler.pause(id)) {\n                        this._uploadData.setStatus(id, qq.status.PAUSED);\n                        return true;\n                    } else {\n                        this.log(qq.format(\"Unable to pause file ID {} ({}).\", id, this.getName(id)), \"error\");\n                    }\n                } else {\n                    this.log(qq.format(\"Ignoring pause for file ID {} ({}).  Not in progress.\", id, this.getName(id)), \"error\");\n                }\n                return false;\n            },\n            removeFileRef: function(id) {\n                this._handler.expunge(id);\n            },\n            reset: function() {\n                this.log(\"Resetting uploader...\");\n                this._handler.reset();\n                this._storedIds = [];\n                this._autoRetries = [];\n                this._retryTimeouts = [];\n                this._preventRetries = [];\n                this._thumbnailUrls = [];\n                qq.each(this._buttons, function(idx, button) {\n                    button.reset();\n                });\n                this._paramsStore.reset();\n                this._endpointStore.reset();\n                this._netUploadedOrQueued = 0;\n                this._netUploaded = 0;\n                this._uploadData.reset();\n                this._buttonIdsForFileIds = [];\n                this._pasteHandler && this._pasteHandler.reset();\n                this._options.session.refreshOnReset && this._refreshSessionData();\n                this._succeededSinceLastAllComplete = [];\n                this._failedSinceLastAllComplete = [];\n                this._totalProgress && this._totalProgress.reset();\n            },\n            retry: function(id) {\n                return this._manualRetry(id);\n            },\n            scaleImage: function(id, specs) {\n                var self = this;\n                return qq.Scaler.prototype.scaleImage(id, specs, {\n                    log: qq.bind(self.log, self),\n                    getFile: qq.bind(self.getFile, self),\n                    uploadData: self._uploadData\n                });\n            },\n            setCustomHeaders: function(headers, id) {\n                this._customHeadersStore.set(headers, id);\n            },\n            setDeleteFileCustomHeaders: function(headers, id) {\n                this._deleteFileCustomHeadersStore.set(headers, id);\n            },\n            setDeleteFileEndpoint: function(endpoint, id) {\n                this._deleteFileEndpointStore.set(endpoint, id);\n            },\n            setDeleteFileParams: function(params, id) {\n                this._deleteFileParamsStore.set(params, id);\n            },\n            setEndpoint: function(endpoint, id) {\n                this._endpointStore.set(endpoint, id);\n            },\n            setForm: function(elementOrId) {\n                this._updateFormSupportAndParams(elementOrId);\n            },\n            setItemLimit: function(newItemLimit) {\n                this._currentItemLimit = newItemLimit;\n            },\n            setName: function(id, newName) {\n                this._uploadData.updateName(id, newName);\n            },\n            setParams: function(params, id) {\n                this._paramsStore.set(params, id);\n            },\n            setUuid: function(id, newUuid) {\n                return this._uploadData.uuidChanged(id, newUuid);\n            },\n            setStatus: function(id, newStatus) {\n                var fileRecord = this.getUploads({\n                    id: id\n                });\n                if (!fileRecord) {\n                    throw new qq.Error(id + \" is not a valid file ID.\");\n                }\n                switch (newStatus) {\n                  case qq.status.DELETED:\n                    this._onDeleteComplete(id, null, false);\n                    break;\n\n                  case qq.status.DELETE_FAILED:\n                    this._onDeleteComplete(id, null, true);\n                    break;\n\n                  default:\n                    var errorMessage = \"Method setStatus called on '\" + name + \"' not implemented yet for \" + newStatus;\n                    this.log(errorMessage);\n                    throw new qq.Error(errorMessage);\n                }\n            },\n            uploadStoredFiles: function() {\n                if (this._storedIds.length === 0) {\n                    this._itemError(\"noFilesError\");\n                } else {\n                    this._uploadStoredFiles();\n                }\n            }\n        };\n        qq.basePrivateApi = {\n            _addCannedFile: function(sessionData) {\n                var self = this;\n                return this._uploadData.addFile({\n                    uuid: sessionData.uuid,\n                    name: sessionData.name,\n                    size: sessionData.size,\n                    status: qq.status.UPLOAD_SUCCESSFUL,\n                    onBeforeStatusChange: function(id) {\n                        sessionData.deleteFileEndpoint && self.setDeleteFileEndpoint(sessionData.deleteFileEndpoint, id);\n                        sessionData.deleteFileParams && self.setDeleteFileParams(sessionData.deleteFileParams, id);\n                        if (sessionData.thumbnailUrl) {\n                            self._thumbnailUrls[id] = sessionData.thumbnailUrl;\n                        }\n                        self._netUploaded++;\n                        self._netUploadedOrQueued++;\n                    }\n                });\n            },\n            _annotateWithButtonId: function(file, associatedInput) {\n                if (qq.isFile(file)) {\n                    file.qqButtonId = this._getButtonId(associatedInput);\n                }\n            },\n            _batchError: function(message) {\n                this._options.callbacks.onError(null, null, message, undefined);\n            },\n            _createDeleteHandler: function() {\n                var self = this;\n                return new qq.DeleteFileAjaxRequester({\n                    method: this._options.deleteFile.method.toUpperCase(),\n                    maxConnections: this._options.maxConnections,\n                    uuidParamName: this._options.request.uuidName,\n                    customHeaders: this._deleteFileCustomHeadersStore,\n                    paramsStore: this._deleteFileParamsStore,\n                    endpointStore: this._deleteFileEndpointStore,\n                    cors: this._options.cors,\n                    log: qq.bind(self.log, self),\n                    onDelete: function(id) {\n                        self._onDelete(id);\n                        self._options.callbacks.onDelete(id);\n                    },\n                    onDeleteComplete: function(id, xhrOrXdr, isError) {\n                        self._onDeleteComplete(id, xhrOrXdr, isError);\n                        self._options.callbacks.onDeleteComplete(id, xhrOrXdr, isError);\n                    }\n                });\n            },\n            _createPasteHandler: function() {\n                var self = this;\n                return new qq.PasteSupport({\n                    targetElement: this._options.paste.targetElement,\n                    callbacks: {\n                        log: qq.bind(self.log, self),\n                        pasteReceived: function(blob) {\n                            self._handleCheckedCallback({\n                                name: \"onPasteReceived\",\n                                callback: qq.bind(self._options.callbacks.onPasteReceived, self, blob),\n                                onSuccess: qq.bind(self._handlePasteSuccess, self, blob),\n                                identifier: \"pasted image\"\n                            });\n                        }\n                    }\n                });\n            },\n            _createStore: function(initialValue, _readOnlyValues_) {\n                var store = {}, catchall = initialValue, perIdReadOnlyValues = {}, readOnlyValues = _readOnlyValues_, copy = function(orig) {\n                    if (qq.isObject(orig)) {\n                        return qq.extend({}, orig);\n                    }\n                    return orig;\n                }, getReadOnlyValues = function() {\n                    if (qq.isFunction(readOnlyValues)) {\n                        return readOnlyValues();\n                    }\n                    return readOnlyValues;\n                }, includeReadOnlyValues = function(id, existing) {\n                    if (readOnlyValues && qq.isObject(existing)) {\n                        qq.extend(existing, getReadOnlyValues());\n                    }\n                    if (perIdReadOnlyValues[id]) {\n                        qq.extend(existing, perIdReadOnlyValues[id]);\n                    }\n                };\n                return {\n                    set: function(val, id) {\n                        if (id == null) {\n                            store = {};\n                            catchall = copy(val);\n                        } else {\n                            store[id] = copy(val);\n                        }\n                    },\n                    get: function(id) {\n                        var values;\n                        if (id != null && store[id]) {\n                            values = store[id];\n                        } else {\n                            values = copy(catchall);\n                        }\n                        includeReadOnlyValues(id, values);\n                        return copy(values);\n                    },\n                    addReadOnly: function(id, values) {\n                        if (qq.isObject(store)) {\n                            if (id === null) {\n                                if (qq.isFunction(values)) {\n                                    readOnlyValues = values;\n                                } else {\n                                    readOnlyValues = readOnlyValues || {};\n                                    qq.extend(readOnlyValues, values);\n                                }\n                            } else {\n                                perIdReadOnlyValues[id] = perIdReadOnlyValues[id] || {};\n                                qq.extend(perIdReadOnlyValues[id], values);\n                            }\n                        }\n                    },\n                    remove: function(fileId) {\n                        return delete store[fileId];\n                    },\n                    reset: function() {\n                        store = {};\n                        perIdReadOnlyValues = {};\n                        catchall = initialValue;\n                    }\n                };\n            },\n            _createUploadDataTracker: function() {\n                var self = this;\n                return new qq.UploadData({\n                    getName: function(id) {\n                        return self.getName(id);\n                    },\n                    getUuid: function(id) {\n                        return self.getUuid(id);\n                    },\n                    getSize: function(id) {\n                        return self.getSize(id);\n                    },\n                    onStatusChange: function(id, oldStatus, newStatus) {\n                        self._onUploadStatusChange(id, oldStatus, newStatus);\n                        self._options.callbacks.onStatusChange(id, oldStatus, newStatus);\n                        self._maybeAllComplete(id, newStatus);\n                        if (self._totalProgress) {\n                            setTimeout(function() {\n                                self._totalProgress.onStatusChange(id, oldStatus, newStatus);\n                            }, 0);\n                        }\n                    }\n                });\n            },\n            _createUploadButton: function(spec) {\n                var self = this, acceptFiles = spec.accept || this._options.validation.acceptFiles, allowedExtensions = spec.allowedExtensions || this._options.validation.allowedExtensions, button;\n                function allowMultiple() {\n                    if (qq.supportedFeatures.ajaxUploading) {\n                        if (self._options.workarounds.iosEmptyVideos && qq.ios() && !qq.ios6() && self._isAllowedExtension(allowedExtensions, \".mov\")) {\n                            return false;\n                        }\n                        if (spec.multiple === undefined) {\n                            return self._options.multiple;\n                        }\n                        return spec.multiple;\n                    }\n                    return false;\n                }\n                button = new qq.UploadButton({\n                    acceptFiles: acceptFiles,\n                    element: spec.element,\n                    focusClass: this._options.classes.buttonFocus,\n                    folders: spec.folders,\n                    hoverClass: this._options.classes.buttonHover,\n                    ios8BrowserCrashWorkaround: this._options.workarounds.ios8BrowserCrash,\n                    multiple: allowMultiple(),\n                    name: this._options.request.inputName,\n                    onChange: function(input) {\n                        self._onInputChange(input);\n                    },\n                    title: spec.title == null ? this._options.text.fileInputTitle : spec.title\n                });\n                this._disposeSupport.addDisposer(function() {\n                    button.dispose();\n                });\n                self._buttons.push(button);\n                return button;\n            },\n            _createUploadHandler: function(additionalOptions, namespace) {\n                var self = this, lastOnProgress = {}, options = {\n                    debug: this._options.debug,\n                    maxConnections: this._options.maxConnections,\n                    cors: this._options.cors,\n                    paramsStore: this._paramsStore,\n                    endpointStore: this._endpointStore,\n                    chunking: this._options.chunking,\n                    resume: this._options.resume,\n                    blobs: this._options.blobs,\n                    log: qq.bind(self.log, self),\n                    preventRetryParam: this._options.retry.preventRetryResponseProperty,\n                    onProgress: function(id, name, loaded, total) {\n                        if (loaded < 0 || total < 0) {\n                            return;\n                        }\n                        if (lastOnProgress[id]) {\n                            if (lastOnProgress[id].loaded !== loaded || lastOnProgress[id].total !== total) {\n                                self._onProgress(id, name, loaded, total);\n                                self._options.callbacks.onProgress(id, name, loaded, total);\n                            }\n                        } else {\n                            self._onProgress(id, name, loaded, total);\n                            self._options.callbacks.onProgress(id, name, loaded, total);\n                        }\n                        lastOnProgress[id] = {\n                            loaded: loaded,\n                            total: total\n                        };\n                    },\n                    onComplete: function(id, name, result, xhr) {\n                        delete lastOnProgress[id];\n                        var status = self.getUploads({\n                            id: id\n                        }).status, retVal;\n                        if (status === qq.status.UPLOAD_SUCCESSFUL || status === qq.status.UPLOAD_FAILED) {\n                            return;\n                        }\n                        retVal = self._onComplete(id, name, result, xhr);\n                        if (retVal instanceof qq.Promise) {\n                            retVal.done(function() {\n                                self._options.callbacks.onComplete(id, name, result, xhr);\n                            });\n                        } else {\n                            self._options.callbacks.onComplete(id, name, result, xhr);\n                        }\n                    },\n                    onCancel: function(id, name, cancelFinalizationEffort) {\n                        var promise = new qq.Promise();\n                        self._handleCheckedCallback({\n                            name: \"onCancel\",\n                            callback: qq.bind(self._options.callbacks.onCancel, self, id, name),\n                            onFailure: promise.failure,\n                            onSuccess: function() {\n                                cancelFinalizationEffort.then(function() {\n                                    self._onCancel(id, name);\n                                });\n                                promise.success();\n                            },\n                            identifier: id\n                        });\n                        return promise;\n                    },\n                    onUploadPrep: qq.bind(this._onUploadPrep, this),\n                    onUpload: function(id, name) {\n                        self._onUpload(id, name);\n                        self._options.callbacks.onUpload(id, name);\n                    },\n                    onUploadChunk: function(id, name, chunkData) {\n                        self._onUploadChunk(id, chunkData);\n                        self._options.callbacks.onUploadChunk(id, name, chunkData);\n                    },\n                    onUploadChunkSuccess: function(id, chunkData, result, xhr) {\n                        self._options.callbacks.onUploadChunkSuccess.apply(self, arguments);\n                    },\n                    onResume: function(id, name, chunkData) {\n                        return self._options.callbacks.onResume(id, name, chunkData);\n                    },\n                    onAutoRetry: function(id, name, responseJSON, xhr) {\n                        return self._onAutoRetry.apply(self, arguments);\n                    },\n                    onUuidChanged: function(id, newUuid) {\n                        self.log(\"Server requested UUID change from '\" + self.getUuid(id) + \"' to '\" + newUuid + \"'\");\n                        self.setUuid(id, newUuid);\n                    },\n                    getName: qq.bind(self.getName, self),\n                    getUuid: qq.bind(self.getUuid, self),\n                    getSize: qq.bind(self.getSize, self),\n                    setSize: qq.bind(self._setSize, self),\n                    getDataByUuid: function(uuid) {\n                        return self.getUploads({\n                            uuid: uuid\n                        });\n                    },\n                    isQueued: function(id) {\n                        var status = self.getUploads({\n                            id: id\n                        }).status;\n                        return status === qq.status.QUEUED || status === qq.status.SUBMITTED || status === qq.status.UPLOAD_RETRYING || status === qq.status.PAUSED;\n                    },\n                    getIdsInProxyGroup: self._uploadData.getIdsInProxyGroup,\n                    getIdsInBatch: self._uploadData.getIdsInBatch\n                };\n                qq.each(this._options.request, function(prop, val) {\n                    options[prop] = val;\n                });\n                options.customHeaders = this._customHeadersStore;\n                if (additionalOptions) {\n                    qq.each(additionalOptions, function(key, val) {\n                        options[key] = val;\n                    });\n                }\n                return new qq.UploadHandlerController(options, namespace);\n            },\n            _fileOrBlobRejected: function(id) {\n                this._netUploadedOrQueued--;\n                this._uploadData.setStatus(id, qq.status.REJECTED);\n            },\n            _formatSize: function(bytes) {\n                if (bytes === 0) {\n                    return bytes + this._options.text.sizeSymbols[0];\n                }\n                var i = -1;\n                do {\n                    bytes = bytes / 1e3;\n                    i++;\n                } while (bytes > 999);\n                return Math.max(bytes, .1).toFixed(1) + this._options.text.sizeSymbols[i];\n            },\n            _generateExtraButtonSpecs: function() {\n                var self = this;\n                this._extraButtonSpecs = {};\n                qq.each(this._options.extraButtons, function(idx, extraButtonOptionEntry) {\n                    var multiple = extraButtonOptionEntry.multiple, validation = qq.extend({}, self._options.validation, true), extraButtonSpec = qq.extend({}, extraButtonOptionEntry);\n                    if (multiple === undefined) {\n                        multiple = self._options.multiple;\n                    }\n                    if (extraButtonSpec.validation) {\n                        qq.extend(validation, extraButtonOptionEntry.validation, true);\n                    }\n                    qq.extend(extraButtonSpec, {\n                        multiple: multiple,\n                        validation: validation\n                    }, true);\n                    self._initExtraButton(extraButtonSpec);\n                });\n            },\n            _getButton: function(buttonId) {\n                var extraButtonsSpec = this._extraButtonSpecs[buttonId];\n                if (extraButtonsSpec) {\n                    return extraButtonsSpec.element;\n                } else if (buttonId === this._defaultButtonId) {\n                    return this._options.button;\n                }\n            },\n            _getButtonId: function(buttonOrFileInputOrFile) {\n                var inputs, fileInput, fileBlobOrInput = buttonOrFileInputOrFile;\n                if (fileBlobOrInput instanceof qq.BlobProxy) {\n                    fileBlobOrInput = fileBlobOrInput.referenceBlob;\n                }\n                if (fileBlobOrInput && !qq.isBlob(fileBlobOrInput)) {\n                    if (qq.isFile(fileBlobOrInput)) {\n                        return fileBlobOrInput.qqButtonId;\n                    } else if (fileBlobOrInput.tagName.toLowerCase() === \"input\" && fileBlobOrInput.type.toLowerCase() === \"file\") {\n                        return fileBlobOrInput.getAttribute(qq.UploadButton.BUTTON_ID_ATTR_NAME);\n                    }\n                    inputs = fileBlobOrInput.getElementsByTagName(\"input\");\n                    qq.each(inputs, function(idx, input) {\n                        if (input.getAttribute(\"type\") === \"file\") {\n                            fileInput = input;\n                            return false;\n                        }\n                    });\n                    if (fileInput) {\n                        return fileInput.getAttribute(qq.UploadButton.BUTTON_ID_ATTR_NAME);\n                    }\n                }\n            },\n            _getNotFinished: function() {\n                return this._uploadData.retrieve({\n                    status: [ qq.status.UPLOADING, qq.status.UPLOAD_RETRYING, qq.status.QUEUED, qq.status.SUBMITTING, qq.status.SUBMITTED, qq.status.PAUSED ]\n                }).length;\n            },\n            _getValidationBase: function(buttonId) {\n                var extraButtonSpec = this._extraButtonSpecs[buttonId];\n                return extraButtonSpec ? extraButtonSpec.validation : this._options.validation;\n            },\n            _getValidationDescriptor: function(fileWrapper) {\n                if (fileWrapper.file instanceof qq.BlobProxy) {\n                    return {\n                        name: qq.getFilename(fileWrapper.file.referenceBlob),\n                        size: fileWrapper.file.referenceBlob.size\n                    };\n                }\n                return {\n                    name: this.getUploads({\n                        id: fileWrapper.id\n                    }).name,\n                    size: this.getUploads({\n                        id: fileWrapper.id\n                    }).size\n                };\n            },\n            _getValidationDescriptors: function(fileWrappers) {\n                var self = this, fileDescriptors = [];\n                qq.each(fileWrappers, function(idx, fileWrapper) {\n                    fileDescriptors.push(self._getValidationDescriptor(fileWrapper));\n                });\n                return fileDescriptors;\n            },\n            _handleCameraAccess: function() {\n                if (this._options.camera.ios && qq.ios()) {\n                    var acceptIosCamera = \"image/*;capture=camera\", button = this._options.camera.button, buttonId = button ? this._getButtonId(button) : this._defaultButtonId, optionRoot = this._options;\n                    if (buttonId && buttonId !== this._defaultButtonId) {\n                        optionRoot = this._extraButtonSpecs[buttonId];\n                    }\n                    optionRoot.multiple = false;\n                    if (optionRoot.validation.acceptFiles === null) {\n                        optionRoot.validation.acceptFiles = acceptIosCamera;\n                    } else {\n                        optionRoot.validation.acceptFiles += \",\" + acceptIosCamera;\n                    }\n                    qq.each(this._buttons, function(idx, button) {\n                        if (button.getButtonId() === buttonId) {\n                            button.setMultiple(optionRoot.multiple);\n                            button.setAcceptFiles(optionRoot.acceptFiles);\n                            return false;\n                        }\n                    });\n                }\n            },\n            _handleCheckedCallback: function(details) {\n                var self = this, callbackRetVal = details.callback();\n                if (qq.isGenericPromise(callbackRetVal)) {\n                    this.log(details.name + \" - waiting for \" + details.name + \" promise to be fulfilled for \" + details.identifier);\n                    return callbackRetVal.then(function(successParam) {\n                        self.log(details.name + \" promise success for \" + details.identifier);\n                        details.onSuccess(successParam);\n                    }, function() {\n                        if (details.onFailure) {\n                            self.log(details.name + \" promise failure for \" + details.identifier);\n                            details.onFailure();\n                        } else {\n                            self.log(details.name + \" promise failure for \" + details.identifier);\n                        }\n                    });\n                }\n                if (callbackRetVal !== false) {\n                    details.onSuccess(callbackRetVal);\n                } else {\n                    if (details.onFailure) {\n                        this.log(details.name + \" - return value was 'false' for \" + details.identifier + \".  Invoking failure callback.\");\n                        details.onFailure();\n                    } else {\n                        this.log(details.name + \" - return value was 'false' for \" + details.identifier + \".  Will not proceed.\");\n                    }\n                }\n                return callbackRetVal;\n            },\n            _handleNewFile: function(file, batchId, newFileWrapperList) {\n                var self = this, uuid = qq.getUniqueId(), size = -1, name = qq.getFilename(file), actualFile = file.blob || file, handler = this._customNewFileHandler ? this._customNewFileHandler : qq.bind(self._handleNewFileGeneric, self);\n                if (!qq.isInput(actualFile) && actualFile.size >= 0) {\n                    size = actualFile.size;\n                }\n                handler(actualFile, name, uuid, size, newFileWrapperList, batchId, this._options.request.uuidName, {\n                    uploadData: self._uploadData,\n                    paramsStore: self._paramsStore,\n                    addFileToHandler: function(id, file) {\n                        self._handler.add(id, file);\n                        self._netUploadedOrQueued++;\n                        self._trackButton(id);\n                    }\n                });\n            },\n            _handleNewFileGeneric: function(file, name, uuid, size, fileList, batchId) {\n                var id = this._uploadData.addFile({\n                    uuid: uuid,\n                    name: name,\n                    size: size,\n                    batchId: batchId\n                });\n                this._handler.add(id, file);\n                this._trackButton(id);\n                this._netUploadedOrQueued++;\n                fileList.push({\n                    id: id,\n                    file: file\n                });\n            },\n            _handlePasteSuccess: function(blob, extSuppliedName) {\n                var extension = blob.type.split(\"/\")[1], name = extSuppliedName;\n                if (name == null) {\n                    name = this._options.paste.defaultName;\n                }\n                name += \".\" + extension;\n                this.addFiles({\n                    name: name,\n                    blob: blob\n                });\n            },\n            _handleDeleteSuccess: function(id) {\n                if (this.getUploads({\n                    id: id\n                }).status !== qq.status.DELETED) {\n                    var name = this.getName(id);\n                    this._netUploadedOrQueued--;\n                    this._netUploaded--;\n                    this._handler.expunge(id);\n                    this._uploadData.setStatus(id, qq.status.DELETED);\n                    this.log(\"Delete request for '\" + name + \"' has succeeded.\");\n                }\n            },\n            _handleDeleteFailed: function(id, xhrOrXdr) {\n                var name = this.getName(id);\n                this._uploadData.setStatus(id, qq.status.DELETE_FAILED);\n                this.log(\"Delete request for '\" + name + \"' has failed.\", \"error\");\n                if (!xhrOrXdr || xhrOrXdr.withCredentials === undefined) {\n                    this._options.callbacks.onError(id, name, \"Delete request failed\", xhrOrXdr);\n                } else {\n                    this._options.callbacks.onError(id, name, \"Delete request failed with response code \" + xhrOrXdr.status, xhrOrXdr);\n                }\n            },\n            _initExtraButton: function(spec) {\n                var button = this._createUploadButton({\n                    accept: spec.validation.acceptFiles,\n                    allowedExtensions: spec.validation.allowedExtensions,\n                    element: spec.element,\n                    folders: spec.folders,\n                    multiple: spec.multiple,\n                    title: spec.fileInputTitle\n                });\n                this._extraButtonSpecs[button.getButtonId()] = spec;\n            },\n            _initFormSupportAndParams: function() {\n                this._formSupport = qq.FormSupport && new qq.FormSupport(this._options.form, qq.bind(this.uploadStoredFiles, this), qq.bind(this.log, this));\n                if (this._formSupport && this._formSupport.attachedToForm) {\n                    this._paramsStore = this._createStore(this._options.request.params, this._formSupport.getFormInputsAsObject);\n                    this._options.autoUpload = this._formSupport.newAutoUpload;\n                    if (this._formSupport.newEndpoint) {\n                        this._options.request.endpoint = this._formSupport.newEndpoint;\n                    }\n                } else {\n                    this._paramsStore = this._createStore(this._options.request.params);\n                }\n            },\n            _isDeletePossible: function() {\n                if (!qq.DeleteFileAjaxRequester || !this._options.deleteFile.enabled) {\n                    return false;\n                }\n                if (this._options.cors.expected) {\n                    if (qq.supportedFeatures.deleteFileCorsXhr) {\n                        return true;\n                    }\n                    if (qq.supportedFeatures.deleteFileCorsXdr && this._options.cors.allowXdr) {\n                        return true;\n                    }\n                    return false;\n                }\n                return true;\n            },\n            _isAllowedExtension: function(allowed, fileName) {\n                var valid = false;\n                if (!allowed.length) {\n                    return true;\n                }\n                qq.each(allowed, function(idx, allowedExt) {\n                    if (qq.isString(allowedExt)) {\n                        var extRegex = new RegExp(\"\\\\.\" + allowedExt + \"$\", \"i\");\n                        if (fileName.match(extRegex) != null) {\n                            valid = true;\n                            return false;\n                        }\n                    }\n                });\n                return valid;\n            },\n            _itemError: function(code, maybeNameOrNames, item) {\n                var message = this._options.messages[code], allowedExtensions = [], names = [].concat(maybeNameOrNames), name = names[0], buttonId = this._getButtonId(item), validationBase = this._getValidationBase(buttonId), extensionsForMessage, placeholderMatch;\n                function r(name, replacement) {\n                    message = message.replace(name, replacement);\n                }\n                qq.each(validationBase.allowedExtensions, function(idx, allowedExtension) {\n                    if (qq.isString(allowedExtension)) {\n                        allowedExtensions.push(allowedExtension);\n                    }\n                });\n                extensionsForMessage = allowedExtensions.join(\", \").toLowerCase();\n                r(\"{file}\", this._options.formatFileName(name));\n                r(\"{extensions}\", extensionsForMessage);\n                r(\"{sizeLimit}\", this._formatSize(validationBase.sizeLimit));\n                r(\"{minSizeLimit}\", this._formatSize(validationBase.minSizeLimit));\n                placeholderMatch = message.match(/(\\{\\w+\\})/g);\n                if (placeholderMatch !== null) {\n                    qq.each(placeholderMatch, function(idx, placeholder) {\n                        r(placeholder, names[idx]);\n                    });\n                }\n                this._options.callbacks.onError(null, name, message, undefined);\n                return message;\n            },\n            _manualRetry: function(id, callback) {\n                if (this._onBeforeManualRetry(id)) {\n                    this._netUploadedOrQueued++;\n                    this._uploadData.setStatus(id, qq.status.UPLOAD_RETRYING);\n                    if (callback) {\n                        callback(id);\n                    } else {\n                        this._handler.retry(id);\n                    }\n                    return true;\n                }\n            },\n            _maybeAllComplete: function(id, status) {\n                var self = this, notFinished = this._getNotFinished();\n                if (status === qq.status.UPLOAD_SUCCESSFUL) {\n                    this._succeededSinceLastAllComplete.push(id);\n                } else if (status === qq.status.UPLOAD_FAILED) {\n                    this._failedSinceLastAllComplete.push(id);\n                }\n                if (notFinished === 0 && (this._succeededSinceLastAllComplete.length || this._failedSinceLastAllComplete.length)) {\n                    setTimeout(function() {\n                        self._onAllComplete(self._succeededSinceLastAllComplete, self._failedSinceLastAllComplete);\n                    }, 0);\n                }\n            },\n            _maybeHandleIos8SafariWorkaround: function() {\n                var self = this;\n                if (this._options.workarounds.ios8SafariUploads && qq.ios800() && qq.iosSafari()) {\n                    setTimeout(function() {\n                        window.alert(self._options.messages.unsupportedBrowserIos8Safari);\n                    }, 0);\n                    throw new qq.Error(this._options.messages.unsupportedBrowserIos8Safari);\n                }\n            },\n            _maybeParseAndSendUploadError: function(id, name, response, xhr) {\n                if (!response.success) {\n                    if (xhr && xhr.status !== 200 && !response.error) {\n                        this._options.callbacks.onError(id, name, \"XHR returned response code \" + xhr.status, xhr);\n                    } else {\n                        var errorReason = response.error ? response.error : this._options.text.defaultResponseError;\n                        this._options.callbacks.onError(id, name, errorReason, xhr);\n                    }\n                }\n            },\n            _maybeProcessNextItemAfterOnValidateCallback: function(validItem, items, index, params, endpoint) {\n                var self = this;\n                if (items.length > index) {\n                    if (validItem || !this._options.validation.stopOnFirstInvalidFile) {\n                        setTimeout(function() {\n                            var validationDescriptor = self._getValidationDescriptor(items[index]), buttonId = self._getButtonId(items[index].file), button = self._getButton(buttonId);\n                            self._handleCheckedCallback({\n                                name: \"onValidate\",\n                                callback: qq.bind(self._options.callbacks.onValidate, self, validationDescriptor, button),\n                                onSuccess: qq.bind(self._onValidateCallbackSuccess, self, items, index, params, endpoint),\n                                onFailure: qq.bind(self._onValidateCallbackFailure, self, items, index, params, endpoint),\n                                identifier: \"Item '\" + validationDescriptor.name + \"', size: \" + validationDescriptor.size\n                            });\n                        }, 0);\n                    } else if (!validItem) {\n                        for (;index < items.length; index++) {\n                            self._fileOrBlobRejected(items[index].id);\n                        }\n                    }\n                }\n            },\n            _onAllComplete: function(successful, failed) {\n                this._totalProgress && this._totalProgress.onAllComplete(successful, failed, this._preventRetries);\n                this._options.callbacks.onAllComplete(qq.extend([], successful), qq.extend([], failed));\n                this._succeededSinceLastAllComplete = [];\n                this._failedSinceLastAllComplete = [];\n            },\n            _onAutoRetry: function(id, name, responseJSON, xhr, callback) {\n                var self = this;\n                self._preventRetries[id] = responseJSON[self._options.retry.preventRetryResponseProperty];\n                if (self._shouldAutoRetry(id, name, responseJSON)) {\n                    var retryWaitPeriod = self._options.retry.autoAttemptDelay * 1e3;\n                    self._maybeParseAndSendUploadError.apply(self, arguments);\n                    self._options.callbacks.onAutoRetry(id, name, self._autoRetries[id]);\n                    self._onBeforeAutoRetry(id, name);\n                    self._uploadData.setStatus(id, qq.status.UPLOAD_RETRYING);\n                    self._retryTimeouts[id] = setTimeout(function() {\n                        self.log(\"Starting retry for \" + name + \"...\");\n                        if (callback) {\n                            callback(id);\n                        } else {\n                            self._handler.retry(id);\n                        }\n                    }, retryWaitPeriod);\n                    return true;\n                }\n            },\n            _onBeforeAutoRetry: function(id, name) {\n                this.log(\"Waiting \" + this._options.retry.autoAttemptDelay + \" seconds before retrying \" + name + \"...\");\n            },\n            _onBeforeManualRetry: function(id) {\n                var itemLimit = this._currentItemLimit, fileName;\n                if (this._preventRetries[id]) {\n                    this.log(\"Retries are forbidden for id \" + id, \"warn\");\n                    return false;\n                } else if (this._handler.isValid(id)) {\n                    fileName = this.getName(id);\n                    if (this._options.callbacks.onManualRetry(id, fileName) === false) {\n                        return false;\n                    }\n                    if (itemLimit > 0 && this._netUploadedOrQueued + 1 > itemLimit) {\n                        this._itemError(\"retryFailTooManyItems\");\n                        return false;\n                    }\n                    this.log(\"Retrying upload for '\" + fileName + \"' (id: \" + id + \")...\");\n                    return true;\n                } else {\n                    this.log(\"'\" + id + \"' is not a valid file ID\", \"error\");\n                    return false;\n                }\n            },\n            _onCancel: function(id, name) {\n                this._netUploadedOrQueued--;\n                clearTimeout(this._retryTimeouts[id]);\n                var storedItemIndex = qq.indexOf(this._storedIds, id);\n                if (!this._options.autoUpload && storedItemIndex >= 0) {\n                    this._storedIds.splice(storedItemIndex, 1);\n                }\n                this._uploadData.setStatus(id, qq.status.CANCELED);\n            },\n            _onComplete: function(id, name, result, xhr) {\n                if (!result.success) {\n                    this._netUploadedOrQueued--;\n                    this._uploadData.setStatus(id, qq.status.UPLOAD_FAILED);\n                    if (result[this._options.retry.preventRetryResponseProperty] === true) {\n                        this._preventRetries[id] = true;\n                    }\n                } else {\n                    if (result.thumbnailUrl) {\n                        this._thumbnailUrls[id] = result.thumbnailUrl;\n                    }\n                    this._netUploaded++;\n                    this._uploadData.setStatus(id, qq.status.UPLOAD_SUCCESSFUL);\n                }\n                this._maybeParseAndSendUploadError(id, name, result, xhr);\n                return result.success ? true : false;\n            },\n            _onDelete: function(id) {\n                this._uploadData.setStatus(id, qq.status.DELETING);\n            },\n            _onDeleteComplete: function(id, xhrOrXdr, isError) {\n                var name = this.getName(id);\n                if (isError) {\n                    this._handleDeleteFailed(id, xhrOrXdr);\n                } else {\n                    this._handleDeleteSuccess(id);\n                }\n            },\n            _onInputChange: function(input) {\n                var fileIndex;\n                if (qq.supportedFeatures.ajaxUploading) {\n                    for (fileIndex = 0; fileIndex < input.files.length; fileIndex++) {\n                        this._annotateWithButtonId(input.files[fileIndex], input);\n                    }\n                    this.addFiles(input.files);\n                } else if (input.value.length > 0) {\n                    this.addFiles(input);\n                }\n                qq.each(this._buttons, function(idx, button) {\n                    button.reset();\n                });\n            },\n            _onProgress: function(id, name, loaded, total) {\n                this._totalProgress && this._totalProgress.onIndividualProgress(id, loaded, total);\n            },\n            _onSubmit: function(id, name) {},\n            _onSubmitCallbackSuccess: function(id, name) {\n                this._onSubmit.apply(this, arguments);\n                this._uploadData.setStatus(id, qq.status.SUBMITTED);\n                this._onSubmitted.apply(this, arguments);\n                if (this._options.autoUpload) {\n                    this._options.callbacks.onSubmitted.apply(this, arguments);\n                    this._uploadFile(id);\n                } else {\n                    this._storeForLater(id);\n                    this._options.callbacks.onSubmitted.apply(this, arguments);\n                }\n            },\n            _onSubmitDelete: function(id, onSuccessCallback, additionalMandatedParams) {\n                var uuid = this.getUuid(id), adjustedOnSuccessCallback;\n                if (onSuccessCallback) {\n                    adjustedOnSuccessCallback = qq.bind(onSuccessCallback, this, id, uuid, additionalMandatedParams);\n                }\n                if (this._isDeletePossible()) {\n                    this._handleCheckedCallback({\n                        name: \"onSubmitDelete\",\n                        callback: qq.bind(this._options.callbacks.onSubmitDelete, this, id),\n                        onSuccess: adjustedOnSuccessCallback || qq.bind(this._deleteHandler.sendDelete, this, id, uuid, additionalMandatedParams),\n                        identifier: id\n                    });\n                    return true;\n                } else {\n                    this.log(\"Delete request ignored for ID \" + id + \", delete feature is disabled or request not possible \" + \"due to CORS on a user agent that does not support pre-flighting.\", \"warn\");\n                    return false;\n                }\n            },\n            _onSubmitted: function(id) {},\n            _onTotalProgress: function(loaded, total) {\n                this._options.callbacks.onTotalProgress(loaded, total);\n            },\n            _onUploadPrep: function(id) {},\n            _onUpload: function(id, name) {\n                this._uploadData.setStatus(id, qq.status.UPLOADING);\n            },\n            _onUploadChunk: function(id, chunkData) {},\n            _onUploadStatusChange: function(id, oldStatus, newStatus) {\n                if (newStatus === qq.status.PAUSED) {\n                    clearTimeout(this._retryTimeouts[id]);\n                }\n            },\n            _onValidateBatchCallbackFailure: function(fileWrappers) {\n                var self = this;\n                qq.each(fileWrappers, function(idx, fileWrapper) {\n                    self._fileOrBlobRejected(fileWrapper.id);\n                });\n            },\n            _onValidateBatchCallbackSuccess: function(validationDescriptors, items, params, endpoint, button) {\n                var errorMessage, itemLimit = this._currentItemLimit, proposedNetFilesUploadedOrQueued = this._netUploadedOrQueued;\n                if (itemLimit === 0 || proposedNetFilesUploadedOrQueued <= itemLimit) {\n                    if (items.length > 0) {\n                        this._handleCheckedCallback({\n                            name: \"onValidate\",\n                            callback: qq.bind(this._options.callbacks.onValidate, this, validationDescriptors[0], button),\n                            onSuccess: qq.bind(this._onValidateCallbackSuccess, this, items, 0, params, endpoint),\n                            onFailure: qq.bind(this._onValidateCallbackFailure, this, items, 0, params, endpoint),\n                            identifier: \"Item '\" + items[0].file.name + \"', size: \" + items[0].file.size\n                        });\n                    } else {\n                        this._itemError(\"noFilesError\");\n                    }\n                } else {\n                    this._onValidateBatchCallbackFailure(items);\n                    errorMessage = this._options.messages.tooManyItemsError.replace(/\\{netItems\\}/g, proposedNetFilesUploadedOrQueued).replace(/\\{itemLimit\\}/g, itemLimit);\n                    this._batchError(errorMessage);\n                }\n            },\n            _onValidateCallbackFailure: function(items, index, params, endpoint) {\n                var nextIndex = index + 1;\n                this._fileOrBlobRejected(items[index].id, items[index].file.name);\n                this._maybeProcessNextItemAfterOnValidateCallback(false, items, nextIndex, params, endpoint);\n            },\n            _onValidateCallbackSuccess: function(items, index, params, endpoint) {\n                var self = this, nextIndex = index + 1, validationDescriptor = this._getValidationDescriptor(items[index]);\n                this._validateFileOrBlobData(items[index], validationDescriptor).then(function() {\n                    self._upload(items[index].id, params, endpoint);\n                    self._maybeProcessNextItemAfterOnValidateCallback(true, items, nextIndex, params, endpoint);\n                }, function() {\n                    self._maybeProcessNextItemAfterOnValidateCallback(false, items, nextIndex, params, endpoint);\n                });\n            },\n            _prepareItemsForUpload: function(items, params, endpoint) {\n                if (items.length === 0) {\n                    this._itemError(\"noFilesError\");\n                    return;\n                }\n                var validationDescriptors = this._getValidationDescriptors(items), buttonId = this._getButtonId(items[0].file), button = this._getButton(buttonId);\n                this._handleCheckedCallback({\n                    name: \"onValidateBatch\",\n                    callback: qq.bind(this._options.callbacks.onValidateBatch, this, validationDescriptors, button),\n                    onSuccess: qq.bind(this._onValidateBatchCallbackSuccess, this, validationDescriptors, items, params, endpoint, button),\n                    onFailure: qq.bind(this._onValidateBatchCallbackFailure, this, items),\n                    identifier: \"batch validation\"\n                });\n            },\n            _preventLeaveInProgress: function() {\n                var self = this;\n                this._disposeSupport.attach(window, \"beforeunload\", function(e) {\n                    if (self.getInProgress()) {\n                        e = e || window.event;\n                        e.returnValue = self._options.messages.onLeave;\n                        return self._options.messages.onLeave;\n                    }\n                });\n            },\n            _refreshSessionData: function() {\n                var self = this, options = this._options.session;\n                if (qq.Session && this._options.session.endpoint != null) {\n                    if (!this._session) {\n                        qq.extend(options, {\n                            cors: this._options.cors\n                        });\n                        options.log = qq.bind(this.log, this);\n                        options.addFileRecord = qq.bind(this._addCannedFile, this);\n                        this._session = new qq.Session(options);\n                    }\n                    setTimeout(function() {\n                        self._session.refresh().then(function(response, xhrOrXdr) {\n                            self._sessionRequestComplete();\n                            self._options.callbacks.onSessionRequestComplete(response, true, xhrOrXdr);\n                        }, function(response, xhrOrXdr) {\n                            self._options.callbacks.onSessionRequestComplete(response, false, xhrOrXdr);\n                        });\n                    }, 0);\n                }\n            },\n            _sessionRequestComplete: function() {},\n            _setSize: function(id, newSize) {\n                this._uploadData.updateSize(id, newSize);\n                this._totalProgress && this._totalProgress.onNewSize(id);\n            },\n            _shouldAutoRetry: function(id, name, responseJSON) {\n                var uploadData = this._uploadData.retrieve({\n                    id: id\n                });\n                if (!this._preventRetries[id] && this._options.retry.enableAuto && uploadData.status !== qq.status.PAUSED) {\n                    if (this._autoRetries[id] === undefined) {\n                        this._autoRetries[id] = 0;\n                    }\n                    if (this._autoRetries[id] < this._options.retry.maxAutoAttempts) {\n                        this._autoRetries[id] += 1;\n                        return true;\n                    }\n                }\n                return false;\n            },\n            _storeForLater: function(id) {\n                this._storedIds.push(id);\n            },\n            _trackButton: function(id) {\n                var buttonId;\n                if (qq.supportedFeatures.ajaxUploading) {\n                    buttonId = this._handler.getFile(id).qqButtonId;\n                } else {\n                    buttonId = this._getButtonId(this._handler.getInput(id));\n                }\n                if (buttonId) {\n                    this._buttonIdsForFileIds[id] = buttonId;\n                }\n            },\n            _updateFormSupportAndParams: function(formElementOrId) {\n                this._options.form.element = formElementOrId;\n                this._formSupport = qq.FormSupport && new qq.FormSupport(this._options.form, qq.bind(this.uploadStoredFiles, this), qq.bind(this.log, this));\n                if (this._formSupport && this._formSupport.attachedToForm) {\n                    this._paramsStore.addReadOnly(null, this._formSupport.getFormInputsAsObject);\n                    this._options.autoUpload = this._formSupport.newAutoUpload;\n                    if (this._formSupport.newEndpoint) {\n                        this.setEndpoint(this._formSupport.newEndpoint);\n                    }\n                }\n            },\n            _upload: function(id, params, endpoint) {\n                var name = this.getName(id);\n                if (params) {\n                    this.setParams(params, id);\n                }\n                if (endpoint) {\n                    this.setEndpoint(endpoint, id);\n                }\n                this._handleCheckedCallback({\n                    name: \"onSubmit\",\n                    callback: qq.bind(this._options.callbacks.onSubmit, this, id, name),\n                    onSuccess: qq.bind(this._onSubmitCallbackSuccess, this, id, name),\n                    onFailure: qq.bind(this._fileOrBlobRejected, this, id, name),\n                    identifier: id\n                });\n            },\n            _uploadFile: function(id) {\n                if (!this._handler.upload(id)) {\n                    this._uploadData.setStatus(id, qq.status.QUEUED);\n                }\n            },\n            _uploadStoredFiles: function() {\n                var idToUpload, stillSubmitting, self = this;\n                while (this._storedIds.length) {\n                    idToUpload = this._storedIds.shift();\n                    this._uploadFile(idToUpload);\n                }\n                stillSubmitting = this.getUploads({\n                    status: qq.status.SUBMITTING\n                }).length;\n                if (stillSubmitting) {\n                    qq.log(\"Still waiting for \" + stillSubmitting + \" files to clear submit queue. Will re-parse stored IDs array shortly.\");\n                    setTimeout(function() {\n                        self._uploadStoredFiles();\n                    }, 1e3);\n                }\n            },\n            _validateFileOrBlobData: function(fileWrapper, validationDescriptor) {\n                var self = this, file = function() {\n                    if (fileWrapper.file instanceof qq.BlobProxy) {\n                        return fileWrapper.file.referenceBlob;\n                    }\n                    return fileWrapper.file;\n                }(), name = validationDescriptor.name, size = validationDescriptor.size, buttonId = this._getButtonId(fileWrapper.file), validationBase = this._getValidationBase(buttonId), validityChecker = new qq.Promise();\n                validityChecker.then(function() {}, function() {\n                    self._fileOrBlobRejected(fileWrapper.id, name);\n                });\n                if (qq.isFileOrInput(file) && !this._isAllowedExtension(validationBase.allowedExtensions, name)) {\n                    this._itemError(\"typeError\", name, file);\n                    return validityChecker.failure();\n                }\n                if (!this._options.validation.allowEmpty && size === 0) {\n                    this._itemError(\"emptyError\", name, file);\n                    return validityChecker.failure();\n                }\n                if (size > 0 && validationBase.sizeLimit && size > validationBase.sizeLimit) {\n                    this._itemError(\"sizeError\", name, file);\n                    return validityChecker.failure();\n                }\n                if (size > 0 && size < validationBase.minSizeLimit) {\n                    this._itemError(\"minSizeError\", name, file);\n                    return validityChecker.failure();\n                }\n                if (qq.ImageValidation && qq.supportedFeatures.imagePreviews && qq.isFile(file)) {\n                    new qq.ImageValidation(file, qq.bind(self.log, self)).validate(validationBase.image).then(validityChecker.success, function(errorCode) {\n                        self._itemError(errorCode + \"ImageError\", name, file);\n                        validityChecker.failure();\n                    });\n                } else {\n                    validityChecker.success();\n                }\n                return validityChecker;\n            },\n            _wrapCallbacks: function() {\n                var self, safeCallback, prop;\n                self = this;\n                safeCallback = function(name, callback, args) {\n                    var errorMsg;\n                    try {\n                        return callback.apply(self, args);\n                    } catch (exception) {\n                        errorMsg = exception.message || exception.toString();\n                        self.log(\"Caught exception in '\" + name + \"' callback - \" + errorMsg, \"error\");\n                    }\n                };\n                for (prop in this._options.callbacks) {\n                    (function() {\n                        var callbackName, callbackFunc;\n                        callbackName = prop;\n                        callbackFunc = self._options.callbacks[callbackName];\n                        self._options.callbacks[callbackName] = function() {\n                            return safeCallback(callbackName, callbackFunc, arguments);\n                        };\n                    })();\n                }\n            }\n        };\n    })();\n    (function() {\n        \"use strict\";\n        qq.FineUploaderBasic = function(o) {\n            var self = this;\n            this._options = {\n                debug: false,\n                button: null,\n                multiple: true,\n                maxConnections: 3,\n                disableCancelForFormUploads: false,\n                autoUpload: true,\n                request: {\n                    customHeaders: {},\n                    endpoint: \"/server/upload\",\n                    filenameParam: \"qqfilename\",\n                    forceMultipart: true,\n                    inputName: \"qqfile\",\n                    method: \"POST\",\n                    params: {},\n                    paramsInBody: true,\n                    totalFileSizeName: \"qqtotalfilesize\",\n                    uuidName: \"qquuid\"\n                },\n                validation: {\n                    allowedExtensions: [],\n                    sizeLimit: 0,\n                    minSizeLimit: 0,\n                    itemLimit: 0,\n                    stopOnFirstInvalidFile: true,\n                    acceptFiles: null,\n                    image: {\n                        maxHeight: 0,\n                        maxWidth: 0,\n                        minHeight: 0,\n                        minWidth: 0\n                    },\n                    allowEmpty: false\n                },\n                callbacks: {\n                    onSubmit: function(id, name) {},\n                    onSubmitted: function(id, name) {},\n                    onComplete: function(id, name, responseJSON, maybeXhr) {},\n                    onAllComplete: function(successful, failed) {},\n                    onCancel: function(id, name) {},\n                    onUpload: function(id, name) {},\n                    onUploadChunk: function(id, name, chunkData) {},\n                    onUploadChunkSuccess: function(id, chunkData, responseJSON, xhr) {},\n                    onResume: function(id, fileName, chunkData) {},\n                    onProgress: function(id, name, loaded, total) {},\n                    onTotalProgress: function(loaded, total) {},\n                    onError: function(id, name, reason, maybeXhrOrXdr) {},\n                    onAutoRetry: function(id, name, attemptNumber) {},\n                    onManualRetry: function(id, name) {},\n                    onValidateBatch: function(fileOrBlobData) {},\n                    onValidate: function(fileOrBlobData) {},\n                    onSubmitDelete: function(id) {},\n                    onDelete: function(id) {},\n                    onDeleteComplete: function(id, xhrOrXdr, isError) {},\n                    onPasteReceived: function(blob) {},\n                    onStatusChange: function(id, oldStatus, newStatus) {},\n                    onSessionRequestComplete: function(response, success, xhrOrXdr) {}\n                },\n                messages: {\n                    typeError: \"{file} has an invalid extension. Valid extension(s): {extensions}.\",\n                    sizeError: \"{file} is too large, maximum file size is {sizeLimit}.\",\n                    minSizeError: \"{file} is too small, minimum file size is {minSizeLimit}.\",\n                    emptyError: \"{file} is empty, please select files again without it.\",\n                    noFilesError: \"No files to upload.\",\n                    tooManyItemsError: \"Too many items ({netItems}) would be uploaded.  Item limit is {itemLimit}.\",\n                    maxHeightImageError: \"Image is too tall.\",\n                    maxWidthImageError: \"Image is too wide.\",\n                    minHeightImageError: \"Image is not tall enough.\",\n                    minWidthImageError: \"Image is not wide enough.\",\n                    retryFailTooManyItems: \"Retry failed - you have reached your file limit.\",\n                    onLeave: \"The files are being uploaded, if you leave now the upload will be canceled.\",\n                    unsupportedBrowserIos8Safari: \"Unrecoverable error - this browser does not permit file uploading of any kind due to serious bugs in iOS8 Safari.  Please use iOS8 Chrome until Apple fixes these issues.\"\n                },\n                retry: {\n                    enableAuto: false,\n                    maxAutoAttempts: 3,\n                    autoAttemptDelay: 5,\n                    preventRetryResponseProperty: \"preventRetry\"\n                },\n                classes: {\n                    buttonHover: \"qq-upload-button-hover\",\n                    buttonFocus: \"qq-upload-button-focus\"\n                },\n                chunking: {\n                    enabled: false,\n                    concurrent: {\n                        enabled: false\n                    },\n                    mandatory: false,\n                    paramNames: {\n                        partIndex: \"qqpartindex\",\n                        partByteOffset: \"qqpartbyteoffset\",\n                        chunkSize: \"qqchunksize\",\n                        totalFileSize: \"qqtotalfilesize\",\n                        totalParts: \"qqtotalparts\"\n                    },\n                    partSize: 2e6,\n                    success: {\n                        endpoint: null\n                    }\n                },\n                resume: {\n                    enabled: false,\n                    recordsExpireIn: 7,\n                    paramNames: {\n                        resuming: \"qqresume\"\n                    }\n                },\n                formatFileName: function(fileOrBlobName) {\n                    return fileOrBlobName;\n                },\n                text: {\n                    defaultResponseError: \"Upload failure reason unknown\",\n                    fileInputTitle: \"file input\",\n                    sizeSymbols: [ \"kB\", \"MB\", \"GB\", \"TB\", \"PB\", \"EB\" ]\n                },\n                deleteFile: {\n                    enabled: false,\n                    method: \"DELETE\",\n                    endpoint: \"/server/upload\",\n                    customHeaders: {},\n                    params: {}\n                },\n                cors: {\n                    expected: false,\n                    sendCredentials: false,\n                    allowXdr: false\n                },\n                blobs: {\n                    defaultName: \"misc_data\"\n                },\n                paste: {\n                    targetElement: null,\n                    defaultName: \"pasted_image\"\n                },\n                camera: {\n                    ios: false,\n                    button: null\n                },\n                extraButtons: [],\n                session: {\n                    endpoint: null,\n                    params: {},\n                    customHeaders: {},\n                    refreshOnReset: true\n                },\n                form: {\n                    element: \"qq-form\",\n                    autoUpload: false,\n                    interceptSubmit: true\n                },\n                scaling: {\n                    customResizer: null,\n                    sendOriginal: true,\n                    orient: true,\n                    defaultType: null,\n                    defaultQuality: 80,\n                    failureText: \"Failed to scale\",\n                    includeExif: false,\n                    sizes: []\n                },\n                workarounds: {\n                    iosEmptyVideos: true,\n                    ios8SafariUploads: true,\n                    ios8BrowserCrash: false\n                }\n            };\n            qq.extend(this._options, o, true);\n            this._buttons = [];\n            this._extraButtonSpecs = {};\n            this._buttonIdsForFileIds = [];\n            this._wrapCallbacks();\n            this._disposeSupport = new qq.DisposeSupport();\n            this._storedIds = [];\n            this._autoRetries = [];\n            this._retryTimeouts = [];\n            this._preventRetries = [];\n            this._thumbnailUrls = [];\n            this._netUploadedOrQueued = 0;\n            this._netUploaded = 0;\n            this._uploadData = this._createUploadDataTracker();\n            this._initFormSupportAndParams();\n            this._customHeadersStore = this._createStore(this._options.request.customHeaders);\n            this._deleteFileCustomHeadersStore = this._createStore(this._options.deleteFile.customHeaders);\n            this._deleteFileParamsStore = this._createStore(this._options.deleteFile.params);\n            this._endpointStore = this._createStore(this._options.request.endpoint);\n            this._deleteFileEndpointStore = this._createStore(this._options.deleteFile.endpoint);\n            this._handler = this._createUploadHandler();\n            this._deleteHandler = qq.DeleteFileAjaxRequester && this._createDeleteHandler();\n            if (this._options.button) {\n                this._defaultButtonId = this._createUploadButton({\n                    element: this._options.button,\n                    title: this._options.text.fileInputTitle\n                }).getButtonId();\n            }\n            this._generateExtraButtonSpecs();\n            this._handleCameraAccess();\n            if (this._options.paste.targetElement) {\n                if (qq.PasteSupport) {\n                    this._pasteHandler = this._createPasteHandler();\n                } else {\n                    this.log(\"Paste support module not found\", \"error\");\n                }\n            }\n            this._preventLeaveInProgress();\n            this._imageGenerator = qq.ImageGenerator && new qq.ImageGenerator(qq.bind(this.log, this));\n            this._refreshSessionData();\n            this._succeededSinceLastAllComplete = [];\n            this._failedSinceLastAllComplete = [];\n            this._scaler = qq.Scaler && new qq.Scaler(this._options.scaling, qq.bind(this.log, this)) || {};\n            if (this._scaler.enabled) {\n                this._customNewFileHandler = qq.bind(this._scaler.handleNewFile, this._scaler);\n            }\n            if (qq.TotalProgress && qq.supportedFeatures.progressBar) {\n                this._totalProgress = new qq.TotalProgress(qq.bind(this._onTotalProgress, this), function(id) {\n                    var entry = self._uploadData.retrieve({\n                        id: id\n                    });\n                    return entry && entry.size || 0;\n                });\n            }\n            this._currentItemLimit = this._options.validation.itemLimit;\n        };\n        qq.FineUploaderBasic.prototype = qq.basePublicApi;\n        qq.extend(qq.FineUploaderBasic.prototype, qq.basePrivateApi);\n    })();\n    qq.AjaxRequester = function(o) {\n        \"use strict\";\n        var log, shouldParamsBeInQueryString, queue = [], requestData = {}, options = {\n            acceptHeader: null,\n            validMethods: [ \"PATCH\", \"POST\", \"PUT\" ],\n            method: \"POST\",\n            contentType: \"application/x-www-form-urlencoded\",\n            maxConnections: 3,\n            customHeaders: {},\n            endpointStore: {},\n            paramsStore: {},\n            mandatedParams: {},\n            allowXRequestedWithAndCacheControl: true,\n            successfulResponseCodes: {\n                DELETE: [ 200, 202, 204 ],\n                PATCH: [ 200, 201, 202, 203, 204 ],\n                POST: [ 200, 201, 202, 203, 204 ],\n                PUT: [ 200, 201, 202, 203, 204 ],\n                GET: [ 200 ]\n            },\n            cors: {\n                expected: false,\n                sendCredentials: false\n            },\n            log: function(str, level) {},\n            onSend: function(id) {},\n            onComplete: function(id, xhrOrXdr, isError) {},\n            onProgress: null\n        };\n        qq.extend(options, o);\n        log = options.log;\n        if (qq.indexOf(options.validMethods, options.method) < 0) {\n            throw new Error(\"'\" + options.method + \"' is not a supported method for this type of request!\");\n        }\n        function isSimpleMethod() {\n            return qq.indexOf([ \"GET\", \"POST\", \"HEAD\" ], options.method) >= 0;\n        }\n        function containsNonSimpleHeaders(headers) {\n            var containsNonSimple = false;\n            qq.each(containsNonSimple, function(idx, header) {\n                if (qq.indexOf([ \"Accept\", \"Accept-Language\", \"Content-Language\", \"Content-Type\" ], header) < 0) {\n                    containsNonSimple = true;\n                    return false;\n                }\n            });\n            return containsNonSimple;\n        }\n        function isXdr(xhr) {\n            return options.cors.expected && xhr.withCredentials === undefined;\n        }\n        function getCorsAjaxTransport() {\n            var xhrOrXdr;\n            if (window.XMLHttpRequest || window.ActiveXObject) {\n                xhrOrXdr = qq.createXhrInstance();\n                if (xhrOrXdr.withCredentials === undefined) {\n                    xhrOrXdr = new XDomainRequest();\n                    xhrOrXdr.onload = function() {};\n                    xhrOrXdr.onerror = function() {};\n                    xhrOrXdr.ontimeout = function() {};\n                    xhrOrXdr.onprogress = function() {};\n                }\n            }\n            return xhrOrXdr;\n        }\n        function getXhrOrXdr(id, suppliedXhr) {\n            var xhrOrXdr = requestData[id].xhr;\n            if (!xhrOrXdr) {\n                if (suppliedXhr) {\n                    xhrOrXdr = suppliedXhr;\n                } else {\n                    if (options.cors.expected) {\n                        xhrOrXdr = getCorsAjaxTransport();\n                    } else {\n                        xhrOrXdr = qq.createXhrInstance();\n                    }\n                }\n                requestData[id].xhr = xhrOrXdr;\n            }\n            return xhrOrXdr;\n        }\n        function dequeue(id) {\n            var i = qq.indexOf(queue, id), max = options.maxConnections, nextId;\n            delete requestData[id];\n            queue.splice(i, 1);\n            if (queue.length >= max && i < max) {\n                nextId = queue[max - 1];\n                sendRequest(nextId);\n            }\n        }\n        function onComplete(id, xdrError) {\n            var xhr = getXhrOrXdr(id), method = options.method, isError = xdrError === true;\n            dequeue(id);\n            if (isError) {\n                log(method + \" request for \" + id + \" has failed\", \"error\");\n            } else if (!isXdr(xhr) && !isResponseSuccessful(xhr.status)) {\n                isError = true;\n                log(method + \" request for \" + id + \" has failed - response code \" + xhr.status, \"error\");\n            }\n            options.onComplete(id, xhr, isError);\n        }\n        function getParams(id) {\n            var onDemandParams = requestData[id].additionalParams, mandatedParams = options.mandatedParams, params;\n            if (options.paramsStore.get) {\n                params = options.paramsStore.get(id);\n            }\n            if (onDemandParams) {\n                qq.each(onDemandParams, function(name, val) {\n                    params = params || {};\n                    params[name] = val;\n                });\n            }\n            if (mandatedParams) {\n                qq.each(mandatedParams, function(name, val) {\n                    params = params || {};\n                    params[name] = val;\n                });\n            }\n            return params;\n        }\n        function sendRequest(id, optXhr) {\n            var xhr = getXhrOrXdr(id, optXhr), method = options.method, params = getParams(id), payload = requestData[id].payload, url;\n            options.onSend(id);\n            url = createUrl(id, params, requestData[id].additionalQueryParams);\n            if (isXdr(xhr)) {\n                xhr.onload = getXdrLoadHandler(id);\n                xhr.onerror = getXdrErrorHandler(id);\n            } else {\n                xhr.onreadystatechange = getXhrReadyStateChangeHandler(id);\n            }\n            registerForUploadProgress(id);\n            xhr.open(method, url, true);\n            if (options.cors.expected && options.cors.sendCredentials && !isXdr(xhr)) {\n                xhr.withCredentials = true;\n            }\n            setHeaders(id);\n            log(\"Sending \" + method + \" request for \" + id);\n            if (payload) {\n                xhr.send(payload);\n            } else if (shouldParamsBeInQueryString || !params) {\n                xhr.send();\n            } else if (params && options.contentType && options.contentType.toLowerCase().indexOf(\"application/x-www-form-urlencoded\") >= 0) {\n                xhr.send(qq.obj2url(params, \"\"));\n            } else if (params && options.contentType && options.contentType.toLowerCase().indexOf(\"application/json\") >= 0) {\n                xhr.send(JSON.stringify(params));\n            } else {\n                xhr.send(params);\n            }\n            return xhr;\n        }\n        function createUrl(id, params, additionalQueryParams) {\n            var endpoint = options.endpointStore.get(id), addToPath = requestData[id].addToPath;\n            if (addToPath != undefined) {\n                endpoint += \"/\" + addToPath;\n            }\n            if (shouldParamsBeInQueryString && params) {\n                endpoint = qq.obj2url(params, endpoint);\n            }\n            if (additionalQueryParams) {\n                endpoint = qq.obj2url(additionalQueryParams, endpoint);\n            }\n            return endpoint;\n        }\n        function getXhrReadyStateChangeHandler(id) {\n            return function() {\n                if (getXhrOrXdr(id).readyState === 4) {\n                    onComplete(id);\n                }\n            };\n        }\n        function registerForUploadProgress(id) {\n            var onProgress = options.onProgress;\n            if (onProgress) {\n                getXhrOrXdr(id).upload.onprogress = function(e) {\n                    if (e.lengthComputable) {\n                        onProgress(id, e.loaded, e.total);\n                    }\n                };\n            }\n        }\n        function getXdrLoadHandler(id) {\n            return function() {\n                onComplete(id);\n            };\n        }\n        function getXdrErrorHandler(id) {\n            return function() {\n                onComplete(id, true);\n            };\n        }\n        function setHeaders(id) {\n            var xhr = getXhrOrXdr(id), customHeaders = options.customHeaders, onDemandHeaders = requestData[id].additionalHeaders || {}, method = options.method, allHeaders = {};\n            if (!isXdr(xhr)) {\n                options.acceptHeader && xhr.setRequestHeader(\"Accept\", options.acceptHeader);\n                if (options.allowXRequestedWithAndCacheControl) {\n                    if (!options.cors.expected || (!isSimpleMethod() || containsNonSimpleHeaders(customHeaders))) {\n                        xhr.setRequestHeader(\"X-Requested-With\", \"XMLHttpRequest\");\n                        xhr.setRequestHeader(\"Cache-Control\", \"no-cache\");\n                    }\n                }\n                if (options.contentType && (method === \"POST\" || method === \"PUT\")) {\n                    xhr.setRequestHeader(\"Content-Type\", options.contentType);\n                }\n                qq.extend(allHeaders, qq.isFunction(customHeaders) ? customHeaders(id) : customHeaders);\n                qq.extend(allHeaders, onDemandHeaders);\n                qq.each(allHeaders, function(name, val) {\n                    xhr.setRequestHeader(name, val);\n                });\n            }\n        }\n        function isResponseSuccessful(responseCode) {\n            return qq.indexOf(options.successfulResponseCodes[options.method], responseCode) >= 0;\n        }\n        function prepareToSend(id, optXhr, addToPath, additionalParams, additionalQueryParams, additionalHeaders, payload) {\n            requestData[id] = {\n                addToPath: addToPath,\n                additionalParams: additionalParams,\n                additionalQueryParams: additionalQueryParams,\n                additionalHeaders: additionalHeaders,\n                payload: payload\n            };\n            var len = queue.push(id);\n            if (len <= options.maxConnections) {\n                return sendRequest(id, optXhr);\n            }\n        }\n        shouldParamsBeInQueryString = options.method === \"GET\" || options.method === \"DELETE\";\n        qq.extend(this, {\n            initTransport: function(id) {\n                var path, params, headers, payload, cacheBuster, additionalQueryParams;\n                return {\n                    withPath: function(appendToPath) {\n                        path = appendToPath;\n                        return this;\n                    },\n                    withParams: function(additionalParams) {\n                        params = additionalParams;\n                        return this;\n                    },\n                    withQueryParams: function(_additionalQueryParams_) {\n                        additionalQueryParams = _additionalQueryParams_;\n                        return this;\n                    },\n                    withHeaders: function(additionalHeaders) {\n                        headers = additionalHeaders;\n                        return this;\n                    },\n                    withPayload: function(thePayload) {\n                        payload = thePayload;\n                        return this;\n                    },\n                    withCacheBuster: function() {\n                        cacheBuster = true;\n                        return this;\n                    },\n                    send: function(optXhr) {\n                        if (cacheBuster && qq.indexOf([ \"GET\", \"DELETE\" ], options.method) >= 0) {\n                            params.qqtimestamp = new Date().getTime();\n                        }\n                        return prepareToSend(id, optXhr, path, params, additionalQueryParams, headers, payload);\n                    }\n                };\n            },\n            canceled: function(id) {\n                dequeue(id);\n            }\n        });\n    };\n    qq.UploadHandler = function(spec) {\n        \"use strict\";\n        var proxy = spec.proxy, fileState = {}, onCancel = proxy.onCancel, getName = proxy.getName;\n        qq.extend(this, {\n            add: function(id, fileItem) {\n                fileState[id] = fileItem;\n                fileState[id].temp = {};\n            },\n            cancel: function(id) {\n                var self = this, cancelFinalizationEffort = new qq.Promise(), onCancelRetVal = onCancel(id, getName(id), cancelFinalizationEffort);\n                onCancelRetVal.then(function() {\n                    if (self.isValid(id)) {\n                        fileState[id].canceled = true;\n                        self.expunge(id);\n                    }\n                    cancelFinalizationEffort.success();\n                });\n            },\n            expunge: function(id) {\n                delete fileState[id];\n            },\n            getThirdPartyFileId: function(id) {\n                return fileState[id].key;\n            },\n            isValid: function(id) {\n                return fileState[id] !== undefined;\n            },\n            reset: function() {\n                fileState = {};\n            },\n            _getFileState: function(id) {\n                return fileState[id];\n            },\n            _setThirdPartyFileId: function(id, thirdPartyFileId) {\n                fileState[id].key = thirdPartyFileId;\n            },\n            _wasCanceled: function(id) {\n                return !!fileState[id].canceled;\n            }\n        });\n    };\n    qq.UploadHandlerController = function(o, namespace) {\n        \"use strict\";\n        var controller = this, chunkingPossible = false, concurrentChunkingPossible = false, chunking, preventRetryResponse, log, handler, options = {\n            paramsStore: {},\n            maxConnections: 3,\n            chunking: {\n                enabled: false,\n                multiple: {\n                    enabled: false\n                }\n            },\n            log: function(str, level) {},\n            onProgress: function(id, fileName, loaded, total) {},\n            onComplete: function(id, fileName, response, xhr) {},\n            onCancel: function(id, fileName) {},\n            onUploadPrep: function(id) {},\n            onUpload: function(id, fileName) {},\n            onUploadChunk: function(id, fileName, chunkData) {},\n            onUploadChunkSuccess: function(id, chunkData, response, xhr) {},\n            onAutoRetry: function(id, fileName, response, xhr) {},\n            onResume: function(id, fileName, chunkData) {},\n            onUuidChanged: function(id, newUuid) {},\n            getName: function(id) {},\n            setSize: function(id, newSize) {},\n            isQueued: function(id) {},\n            getIdsInProxyGroup: function(id) {},\n            getIdsInBatch: function(id) {}\n        }, chunked = {\n            done: function(id, chunkIdx, response, xhr) {\n                var chunkData = handler._getChunkData(id, chunkIdx);\n                handler._getFileState(id).attemptingResume = false;\n                delete handler._getFileState(id).temp.chunkProgress[chunkIdx];\n                handler._getFileState(id).loaded += chunkData.size;\n                options.onUploadChunkSuccess(id, handler._getChunkDataForCallback(chunkData), response, xhr);\n            },\n            finalize: function(id) {\n                var size = options.getSize(id), name = options.getName(id);\n                log(\"All chunks have been uploaded for \" + id + \" - finalizing....\");\n                handler.finalizeChunks(id).then(function(response, xhr) {\n                    log(\"Finalize successful for \" + id);\n                    var normaizedResponse = upload.normalizeResponse(response, true);\n                    options.onProgress(id, name, size, size);\n                    handler._maybeDeletePersistedChunkData(id);\n                    upload.cleanup(id, normaizedResponse, xhr);\n                }, function(response, xhr) {\n                    var normaizedResponse = upload.normalizeResponse(response, false);\n                    log(\"Problem finalizing chunks for file ID \" + id + \" - \" + normaizedResponse.error, \"error\");\n                    if (normaizedResponse.reset) {\n                        chunked.reset(id);\n                    }\n                    if (!options.onAutoRetry(id, name, normaizedResponse, xhr)) {\n                        upload.cleanup(id, normaizedResponse, xhr);\n                    }\n                });\n            },\n            handleFailure: function(chunkIdx, id, response, xhr) {\n                var name = options.getName(id);\n                log(\"Chunked upload request failed for \" + id + \", chunk \" + chunkIdx);\n                handler.clearCachedChunk(id, chunkIdx);\n                var responseToReport = upload.normalizeResponse(response, false), inProgressIdx;\n                if (responseToReport.reset) {\n                    chunked.reset(id);\n                } else {\n                    inProgressIdx = qq.indexOf(handler._getFileState(id).chunking.inProgress, chunkIdx);\n                    if (inProgressIdx >= 0) {\n                        handler._getFileState(id).chunking.inProgress.splice(inProgressIdx, 1);\n                        handler._getFileState(id).chunking.remaining.unshift(chunkIdx);\n                    }\n                }\n                if (!handler._getFileState(id).temp.ignoreFailure) {\n                    if (concurrentChunkingPossible) {\n                        handler._getFileState(id).temp.ignoreFailure = true;\n                        log(qq.format(\"Going to attempt to abort these chunks: {}. These are currently in-progress: {}.\", JSON.stringify(Object.keys(handler._getXhrs(id))), JSON.stringify(handler._getFileState(id).chunking.inProgress)));\n                        qq.each(handler._getXhrs(id), function(ckid, ckXhr) {\n                            log(qq.format(\"Attempting to abort file {}.{}. XHR readyState {}. \", id, ckid, ckXhr.readyState));\n                            ckXhr.abort();\n                            ckXhr._cancelled = true;\n                        });\n                        handler.moveInProgressToRemaining(id);\n                        connectionManager.free(id, true);\n                    }\n                    if (!options.onAutoRetry(id, name, responseToReport, xhr)) {\n                        upload.cleanup(id, responseToReport, xhr);\n                    }\n                }\n            },\n            hasMoreParts: function(id) {\n                return !!handler._getFileState(id).chunking.remaining.length;\n            },\n            nextPart: function(id) {\n                var nextIdx = handler._getFileState(id).chunking.remaining.shift();\n                if (nextIdx >= handler._getTotalChunks(id)) {\n                    nextIdx = null;\n                }\n                return nextIdx;\n            },\n            reset: function(id) {\n                log(\"Server or callback has ordered chunking effort to be restarted on next attempt for item ID \" + id, \"error\");\n                handler._maybeDeletePersistedChunkData(id);\n                handler.reevaluateChunking(id);\n                handler._getFileState(id).loaded = 0;\n            },\n            sendNext: function(id) {\n                var size = options.getSize(id), name = options.getName(id), chunkIdx = chunked.nextPart(id), chunkData = handler._getChunkData(id, chunkIdx), resuming = handler._getFileState(id).attemptingResume, inProgressChunks = handler._getFileState(id).chunking.inProgress || [];\n                if (handler._getFileState(id).loaded == null) {\n                    handler._getFileState(id).loaded = 0;\n                }\n                if (resuming && options.onResume(id, name, chunkData) === false) {\n                    chunked.reset(id);\n                    chunkIdx = chunked.nextPart(id);\n                    chunkData = handler._getChunkData(id, chunkIdx);\n                    resuming = false;\n                }\n                if (chunkIdx == null && inProgressChunks.length === 0) {\n                    chunked.finalize(id);\n                } else {\n                    log(qq.format(\"Sending chunked upload request for item {}.{}, bytes {}-{} of {}.\", id, chunkIdx, chunkData.start + 1, chunkData.end, size));\n                    options.onUploadChunk(id, name, handler._getChunkDataForCallback(chunkData));\n                    inProgressChunks.push(chunkIdx);\n                    handler._getFileState(id).chunking.inProgress = inProgressChunks;\n                    if (concurrentChunkingPossible) {\n                        connectionManager.open(id, chunkIdx);\n                    }\n                    if (concurrentChunkingPossible && connectionManager.available() && handler._getFileState(id).chunking.remaining.length) {\n                        chunked.sendNext(id);\n                    }\n                    if (chunkData.blob.size === 0) {\n                        log(qq.format(\"Chunk {} for file {} will not be uploaded, zero sized chunk.\", chunkIdx, id), \"error\");\n                        chunked.handleFailure(chunkIdx, id, \"File is no longer available\", null);\n                    } else {\n                        handler.uploadChunk(id, chunkIdx, resuming).then(function success(response, xhr) {\n                            log(\"Chunked upload request succeeded for \" + id + \", chunk \" + chunkIdx);\n                            handler.clearCachedChunk(id, chunkIdx);\n                            var inProgressChunks = handler._getFileState(id).chunking.inProgress || [], responseToReport = upload.normalizeResponse(response, true), inProgressChunkIdx = qq.indexOf(inProgressChunks, chunkIdx);\n                            log(qq.format(\"Chunk {} for file {} uploaded successfully.\", chunkIdx, id));\n                            chunked.done(id, chunkIdx, responseToReport, xhr);\n                            if (inProgressChunkIdx >= 0) {\n                                inProgressChunks.splice(inProgressChunkIdx, 1);\n                            }\n                            handler._maybePersistChunkedState(id);\n                            if (!chunked.hasMoreParts(id) && inProgressChunks.length === 0) {\n                                chunked.finalize(id);\n                            } else if (chunked.hasMoreParts(id)) {\n                                chunked.sendNext(id);\n                            } else {\n                                log(qq.format(\"File ID {} has no more chunks to send and these chunk indexes are still marked as in-progress: {}\", id, JSON.stringify(inProgressChunks)));\n                            }\n                        }, function failure(response, xhr) {\n                            chunked.handleFailure(chunkIdx, id, response, xhr);\n                        }).done(function() {\n                            handler.clearXhr(id, chunkIdx);\n                        });\n                    }\n                }\n            }\n        }, connectionManager = {\n            _open: [],\n            _openChunks: {},\n            _waiting: [],\n            available: function() {\n                var max = options.maxConnections, openChunkEntriesCount = 0, openChunksCount = 0;\n                qq.each(connectionManager._openChunks, function(fileId, openChunkIndexes) {\n                    openChunkEntriesCount++;\n                    openChunksCount += openChunkIndexes.length;\n                });\n                return max - (connectionManager._open.length - openChunkEntriesCount + openChunksCount);\n            },\n            free: function(id, dontAllowNext) {\n                var allowNext = !dontAllowNext, waitingIndex = qq.indexOf(connectionManager._waiting, id), connectionsIndex = qq.indexOf(connectionManager._open, id), nextId;\n                delete connectionManager._openChunks[id];\n                if (upload.getProxyOrBlob(id) instanceof qq.BlobProxy) {\n                    log(\"Generated blob upload has ended for \" + id + \", disposing generated blob.\");\n                    delete handler._getFileState(id).file;\n                }\n                if (waitingIndex >= 0) {\n                    connectionManager._waiting.splice(waitingIndex, 1);\n                } else if (allowNext && connectionsIndex >= 0) {\n                    connectionManager._open.splice(connectionsIndex, 1);\n                    nextId = connectionManager._waiting.shift();\n                    if (nextId >= 0) {\n                        connectionManager._open.push(nextId);\n                        upload.start(nextId);\n                    }\n                }\n            },\n            getWaitingOrConnected: function() {\n                var waitingOrConnected = [];\n                qq.each(connectionManager._openChunks, function(fileId, chunks) {\n                    if (chunks && chunks.length) {\n                        waitingOrConnected.push(parseInt(fileId));\n                    }\n                });\n                qq.each(connectionManager._open, function(idx, fileId) {\n                    if (!connectionManager._openChunks[fileId]) {\n                        waitingOrConnected.push(parseInt(fileId));\n                    }\n                });\n                waitingOrConnected = waitingOrConnected.concat(connectionManager._waiting);\n                return waitingOrConnected;\n            },\n            isUsingConnection: function(id) {\n                return qq.indexOf(connectionManager._open, id) >= 0;\n            },\n            open: function(id, chunkIdx) {\n                if (chunkIdx == null) {\n                    connectionManager._waiting.push(id);\n                }\n                if (connectionManager.available()) {\n                    if (chunkIdx == null) {\n                        connectionManager._waiting.pop();\n                        connectionManager._open.push(id);\n                    } else {\n                        (function() {\n                            var openChunksEntry = connectionManager._openChunks[id] || [];\n                            openChunksEntry.push(chunkIdx);\n                            connectionManager._openChunks[id] = openChunksEntry;\n                        })();\n                    }\n                    return true;\n                }\n                return false;\n            },\n            reset: function() {\n                connectionManager._waiting = [];\n                connectionManager._open = [];\n            }\n        }, simple = {\n            send: function(id, name) {\n                handler._getFileState(id).loaded = 0;\n                log(\"Sending simple upload request for \" + id);\n                handler.uploadFile(id).then(function(response, optXhr) {\n                    log(\"Simple upload request succeeded for \" + id);\n                    var responseToReport = upload.normalizeResponse(response, true), size = options.getSize(id);\n                    options.onProgress(id, name, size, size);\n                    upload.maybeNewUuid(id, responseToReport);\n                    upload.cleanup(id, responseToReport, optXhr);\n                }, function(response, optXhr) {\n                    log(\"Simple upload request failed for \" + id);\n                    var responseToReport = upload.normalizeResponse(response, false);\n                    if (!options.onAutoRetry(id, name, responseToReport, optXhr)) {\n                        upload.cleanup(id, responseToReport, optXhr);\n                    }\n                });\n            }\n        }, upload = {\n            cancel: function(id) {\n                log(\"Cancelling \" + id);\n                options.paramsStore.remove(id);\n                connectionManager.free(id);\n            },\n            cleanup: function(id, response, optXhr) {\n                var name = options.getName(id);\n                options.onComplete(id, name, response, optXhr);\n                if (handler._getFileState(id)) {\n                    handler._clearXhrs && handler._clearXhrs(id);\n                }\n                connectionManager.free(id);\n            },\n            getProxyOrBlob: function(id) {\n                return handler.getProxy && handler.getProxy(id) || handler.getFile && handler.getFile(id);\n            },\n            initHandler: function() {\n                var handlerType = namespace ? qq[namespace] : qq.traditional, handlerModuleSubtype = qq.supportedFeatures.ajaxUploading ? \"Xhr\" : \"Form\";\n                handler = new handlerType[handlerModuleSubtype + \"UploadHandler\"](options, {\n                    getDataByUuid: options.getDataByUuid,\n                    getName: options.getName,\n                    getSize: options.getSize,\n                    getUuid: options.getUuid,\n                    log: log,\n                    onCancel: options.onCancel,\n                    onProgress: options.onProgress,\n                    onUuidChanged: options.onUuidChanged\n                });\n                if (handler._removeExpiredChunkingRecords) {\n                    handler._removeExpiredChunkingRecords();\n                }\n            },\n            isDeferredEligibleForUpload: function(id) {\n                return options.isQueued(id);\n            },\n            maybeDefer: function(id, blob) {\n                if (blob && !handler.getFile(id) && blob instanceof qq.BlobProxy) {\n                    options.onUploadPrep(id);\n                    log(\"Attempting to generate a blob on-demand for \" + id);\n                    blob.create().then(function(generatedBlob) {\n                        log(\"Generated an on-demand blob for \" + id);\n                        handler.updateBlob(id, generatedBlob);\n                        options.setSize(id, generatedBlob.size);\n                        handler.reevaluateChunking(id);\n                        upload.maybeSendDeferredFiles(id);\n                    }, function(errorMessage) {\n                        var errorResponse = {};\n                        if (errorMessage) {\n                            errorResponse.error = errorMessage;\n                        }\n                        log(qq.format(\"Failed to generate blob for ID {}.  Error message: {}.\", id, errorMessage), \"error\");\n                        options.onComplete(id, options.getName(id), qq.extend(errorResponse, preventRetryResponse), null);\n                        upload.maybeSendDeferredFiles(id);\n                        connectionManager.free(id);\n                    });\n                } else {\n                    return upload.maybeSendDeferredFiles(id);\n                }\n                return false;\n            },\n            maybeSendDeferredFiles: function(id) {\n                var idsInGroup = options.getIdsInProxyGroup(id), uploadedThisId = false;\n                if (idsInGroup && idsInGroup.length) {\n                    log(\"Maybe ready to upload proxy group file \" + id);\n                    qq.each(idsInGroup, function(idx, idInGroup) {\n                        if (upload.isDeferredEligibleForUpload(idInGroup) && !!handler.getFile(idInGroup)) {\n                            uploadedThisId = idInGroup === id;\n                            upload.now(idInGroup);\n                        } else if (upload.isDeferredEligibleForUpload(idInGroup)) {\n                            return false;\n                        }\n                    });\n                } else {\n                    uploadedThisId = true;\n                    upload.now(id);\n                }\n                return uploadedThisId;\n            },\n            maybeNewUuid: function(id, response) {\n                if (response.newUuid !== undefined) {\n                    options.onUuidChanged(id, response.newUuid);\n                }\n            },\n            normalizeResponse: function(originalResponse, successful) {\n                var response = originalResponse;\n                if (!qq.isObject(originalResponse)) {\n                    response = {};\n                    if (qq.isString(originalResponse) && !successful) {\n                        response.error = originalResponse;\n                    }\n                }\n                response.success = successful;\n                return response;\n            },\n            now: function(id) {\n                var name = options.getName(id);\n                if (!controller.isValid(id)) {\n                    throw new qq.Error(id + \" is not a valid file ID to upload!\");\n                }\n                options.onUpload(id, name);\n                if (chunkingPossible && handler._shouldChunkThisFile(id)) {\n                    chunked.sendNext(id);\n                } else {\n                    simple.send(id, name);\n                }\n            },\n            start: function(id) {\n                var blobToUpload = upload.getProxyOrBlob(id);\n                if (blobToUpload) {\n                    return upload.maybeDefer(id, blobToUpload);\n                } else {\n                    upload.now(id);\n                    return true;\n                }\n            }\n        };\n        qq.extend(this, {\n            add: function(id, file) {\n                handler.add.apply(this, arguments);\n            },\n            upload: function(id) {\n                if (connectionManager.open(id)) {\n                    return upload.start(id);\n                }\n                return false;\n            },\n            retry: function(id) {\n                if (concurrentChunkingPossible) {\n                    handler._getFileState(id).temp.ignoreFailure = false;\n                }\n                if (connectionManager.isUsingConnection(id)) {\n                    return upload.start(id);\n                } else {\n                    return controller.upload(id);\n                }\n            },\n            cancel: function(id) {\n                var cancelRetVal = handler.cancel(id);\n                if (qq.isGenericPromise(cancelRetVal)) {\n                    cancelRetVal.then(function() {\n                        upload.cancel(id);\n                    });\n                } else if (cancelRetVal !== false) {\n                    upload.cancel(id);\n                }\n            },\n            cancelAll: function() {\n                var waitingOrConnected = connectionManager.getWaitingOrConnected(), i;\n                if (waitingOrConnected.length) {\n                    for (i = waitingOrConnected.length - 1; i >= 0; i--) {\n                        controller.cancel(waitingOrConnected[i]);\n                    }\n                }\n                connectionManager.reset();\n            },\n            getFile: function(id) {\n                if (handler.getProxy && handler.getProxy(id)) {\n                    return handler.getProxy(id).referenceBlob;\n                }\n                return handler.getFile && handler.getFile(id);\n            },\n            isProxied: function(id) {\n                return !!(handler.getProxy && handler.getProxy(id));\n            },\n            getInput: function(id) {\n                if (handler.getInput) {\n                    return handler.getInput(id);\n                }\n            },\n            reset: function() {\n                log(\"Resetting upload handler\");\n                controller.cancelAll();\n                connectionManager.reset();\n                handler.reset();\n            },\n            expunge: function(id) {\n                if (controller.isValid(id)) {\n                    return handler.expunge(id);\n                }\n            },\n            isValid: function(id) {\n                return handler.isValid(id);\n            },\n            getResumableFilesData: function() {\n                if (handler.getResumableFilesData) {\n                    return handler.getResumableFilesData();\n                }\n                return [];\n            },\n            getThirdPartyFileId: function(id) {\n                if (controller.isValid(id)) {\n                    return handler.getThirdPartyFileId(id);\n                }\n            },\n            pause: function(id) {\n                if (controller.isResumable(id) && handler.pause && controller.isValid(id) && handler.pause(id)) {\n                    connectionManager.free(id);\n                    handler.moveInProgressToRemaining(id);\n                    return true;\n                }\n                return false;\n            },\n            isResumable: function(id) {\n                return !!handler.isResumable && handler.isResumable(id);\n            }\n        });\n        qq.extend(options, o);\n        log = options.log;\n        chunkingPossible = options.chunking.enabled && qq.supportedFeatures.chunking;\n        concurrentChunkingPossible = chunkingPossible && options.chunking.concurrent.enabled;\n        preventRetryResponse = function() {\n            var response = {};\n            response[options.preventRetryParam] = true;\n            return response;\n        }();\n        upload.initHandler();\n    };\n    qq.WindowReceiveMessage = function(o) {\n        \"use strict\";\n        var options = {\n            log: function(message, level) {}\n        }, callbackWrapperDetachers = {};\n        qq.extend(options, o);\n        qq.extend(this, {\n            receiveMessage: function(id, callback) {\n                var onMessageCallbackWrapper = function(event) {\n                    callback(event.data);\n                };\n                if (window.postMessage) {\n                    callbackWrapperDetachers[id] = qq(window).attach(\"message\", onMessageCallbackWrapper);\n                } else {\n                    log(\"iframe message passing not supported in this browser!\", \"error\");\n                }\n            },\n            stopReceivingMessages: function(id) {\n                if (window.postMessage) {\n                    var detacher = callbackWrapperDetachers[id];\n                    if (detacher) {\n                        detacher();\n                    }\n                }\n            }\n        });\n    };\n    qq.FormUploadHandler = function(spec) {\n        \"use strict\";\n        var options = spec.options, handler = this, proxy = spec.proxy, formHandlerInstanceId = qq.getUniqueId(), onloadCallbacks = {}, detachLoadEvents = {}, postMessageCallbackTimers = {}, isCors = options.isCors, inputName = options.inputName, getUuid = proxy.getUuid, log = proxy.log, corsMessageReceiver = new qq.WindowReceiveMessage({\n            log: log\n        });\n        function expungeFile(id) {\n            delete detachLoadEvents[id];\n            if (isCors) {\n                clearTimeout(postMessageCallbackTimers[id]);\n                delete postMessageCallbackTimers[id];\n                corsMessageReceiver.stopReceivingMessages(id);\n            }\n            var iframe = document.getElementById(handler._getIframeName(id));\n            if (iframe) {\n                iframe.setAttribute(\"src\", \"javascript:false;\");\n                qq(iframe).remove();\n            }\n        }\n        function getFileIdForIframeName(iframeName) {\n            return iframeName.split(\"_\")[0];\n        }\n        function initIframeForUpload(name) {\n            var iframe = qq.toElement(\"<iframe src='javascript:false;' name='\" + name + \"' />\");\n            iframe.setAttribute(\"id\", name);\n            iframe.style.display = \"none\";\n            document.body.appendChild(iframe);\n            return iframe;\n        }\n        function registerPostMessageCallback(iframe, callback) {\n            var iframeName = iframe.id, fileId = getFileIdForIframeName(iframeName), uuid = getUuid(fileId);\n            onloadCallbacks[uuid] = callback;\n            detachLoadEvents[fileId] = qq(iframe).attach(\"load\", function() {\n                if (handler.getInput(fileId)) {\n                    log(\"Received iframe load event for CORS upload request (iframe name \" + iframeName + \")\");\n                    postMessageCallbackTimers[iframeName] = setTimeout(function() {\n                        var errorMessage = \"No valid message received from loaded iframe for iframe name \" + iframeName;\n                        log(errorMessage, \"error\");\n                        callback({\n                            error: errorMessage\n                        });\n                    }, 1e3);\n                }\n            });\n            corsMessageReceiver.receiveMessage(iframeName, function(message) {\n                log(\"Received the following window message: '\" + message + \"'\");\n                var fileId = getFileIdForIframeName(iframeName), response = handler._parseJsonResponse(message), uuid = response.uuid, onloadCallback;\n                if (uuid && onloadCallbacks[uuid]) {\n                    log(\"Handling response for iframe name \" + iframeName);\n                    clearTimeout(postMessageCallbackTimers[iframeName]);\n                    delete postMessageCallbackTimers[iframeName];\n                    handler._detachLoadEvent(iframeName);\n                    onloadCallback = onloadCallbacks[uuid];\n                    delete onloadCallbacks[uuid];\n                    corsMessageReceiver.stopReceivingMessages(iframeName);\n                    onloadCallback(response);\n                } else if (!uuid) {\n                    log(\"'\" + message + \"' does not contain a UUID - ignoring.\");\n                }\n            });\n        }\n        qq.extend(this, new qq.UploadHandler(spec));\n        qq.override(this, function(super_) {\n            return {\n                add: function(id, fileInput) {\n                    super_.add(id, {\n                        input: fileInput\n                    });\n                    fileInput.setAttribute(\"name\", inputName);\n                    if (fileInput.parentNode) {\n                        qq(fileInput).remove();\n                    }\n                },\n                expunge: function(id) {\n                    expungeFile(id);\n                    super_.expunge(id);\n                },\n                isValid: function(id) {\n                    return super_.isValid(id) && handler._getFileState(id).input !== undefined;\n                }\n            };\n        });\n        qq.extend(this, {\n            getInput: function(id) {\n                return handler._getFileState(id).input;\n            },\n            _attachLoadEvent: function(iframe, callback) {\n                var responseDescriptor;\n                if (isCors) {\n                    registerPostMessageCallback(iframe, callback);\n                } else {\n                    detachLoadEvents[iframe.id] = qq(iframe).attach(\"load\", function() {\n                        log(\"Received response for \" + iframe.id);\n                        if (!iframe.parentNode) {\n                            return;\n                        }\n                        try {\n                            if (iframe.contentDocument && iframe.contentDocument.body && iframe.contentDocument.body.innerHTML == \"false\") {\n                                return;\n                            }\n                        } catch (error) {\n                            log(\"Error when attempting to access iframe during handling of upload response (\" + error.message + \")\", \"error\");\n                            responseDescriptor = {\n                                success: false\n                            };\n                        }\n                        callback(responseDescriptor);\n                    });\n                }\n            },\n            _createIframe: function(id) {\n                var iframeName = handler._getIframeName(id);\n                return initIframeForUpload(iframeName);\n            },\n            _detachLoadEvent: function(id) {\n                if (detachLoadEvents[id] !== undefined) {\n                    detachLoadEvents[id]();\n                    delete detachLoadEvents[id];\n                }\n            },\n            _getIframeName: function(fileId) {\n                return fileId + \"_\" + formHandlerInstanceId;\n            },\n            _initFormForUpload: function(spec) {\n                var method = spec.method, endpoint = spec.endpoint, params = spec.params, paramsInBody = spec.paramsInBody, targetName = spec.targetName, form = qq.toElement(\"<form method='\" + method + \"' enctype='multipart/form-data'></form>\"), url = endpoint;\n                if (paramsInBody) {\n                    qq.obj2Inputs(params, form);\n                } else {\n                    url = qq.obj2url(params, endpoint);\n                }\n                form.setAttribute(\"action\", url);\n                form.setAttribute(\"target\", targetName);\n                form.style.display = \"none\";\n                document.body.appendChild(form);\n                return form;\n            },\n            _parseJsonResponse: function(innerHtmlOrMessage) {\n                var response = {};\n                try {\n                    response = qq.parseJson(innerHtmlOrMessage);\n                } catch (error) {\n                    log(\"Error when attempting to parse iframe upload response (\" + error.message + \")\", \"error\");\n                }\n                return response;\n            }\n        });\n    };\n    qq.XhrUploadHandler = function(spec) {\n        \"use strict\";\n        var handler = this, namespace = spec.options.namespace, proxy = spec.proxy, chunking = spec.options.chunking, resume = spec.options.resume, chunkFiles = chunking && spec.options.chunking.enabled && qq.supportedFeatures.chunking, resumeEnabled = resume && spec.options.resume.enabled && chunkFiles && qq.supportedFeatures.resume, getName = proxy.getName, getSize = proxy.getSize, getUuid = proxy.getUuid, getEndpoint = proxy.getEndpoint, getDataByUuid = proxy.getDataByUuid, onUuidChanged = proxy.onUuidChanged, onProgress = proxy.onProgress, log = proxy.log;\n        function abort(id) {\n            qq.each(handler._getXhrs(id), function(xhrId, xhr) {\n                var ajaxRequester = handler._getAjaxRequester(id, xhrId);\n                xhr.onreadystatechange = null;\n                xhr.upload.onprogress = null;\n                xhr.abort();\n                ajaxRequester && ajaxRequester.canceled && ajaxRequester.canceled(id);\n            });\n        }\n        qq.extend(this, new qq.UploadHandler(spec));\n        qq.override(this, function(super_) {\n            return {\n                add: function(id, blobOrProxy) {\n                    if (qq.isFile(blobOrProxy) || qq.isBlob(blobOrProxy)) {\n                        super_.add(id, {\n                            file: blobOrProxy\n                        });\n                    } else if (blobOrProxy instanceof qq.BlobProxy) {\n                        super_.add(id, {\n                            proxy: blobOrProxy\n                        });\n                    } else {\n                        throw new Error(\"Passed obj is not a File, Blob, or proxy\");\n                    }\n                    handler._initTempState(id);\n                    resumeEnabled && handler._maybePrepareForResume(id);\n                },\n                expunge: function(id) {\n                    abort(id);\n                    handler._maybeDeletePersistedChunkData(id);\n                    handler._clearXhrs(id);\n                    super_.expunge(id);\n                }\n            };\n        });\n        qq.extend(this, {\n            clearCachedChunk: function(id, chunkIdx) {\n                delete handler._getFileState(id).temp.cachedChunks[chunkIdx];\n            },\n            clearXhr: function(id, chunkIdx) {\n                var tempState = handler._getFileState(id).temp;\n                if (tempState.xhrs) {\n                    delete tempState.xhrs[chunkIdx];\n                }\n                if (tempState.ajaxRequesters) {\n                    delete tempState.ajaxRequesters[chunkIdx];\n                }\n            },\n            finalizeChunks: function(id, responseParser) {\n                var lastChunkIdx = handler._getTotalChunks(id) - 1, xhr = handler._getXhr(id, lastChunkIdx);\n                if (responseParser) {\n                    return new qq.Promise().success(responseParser(xhr), xhr);\n                }\n                return new qq.Promise().success({}, xhr);\n            },\n            getFile: function(id) {\n                return handler.isValid(id) && handler._getFileState(id).file;\n            },\n            getProxy: function(id) {\n                return handler.isValid(id) && handler._getFileState(id).proxy;\n            },\n            getResumableFilesData: function() {\n                var resumableFilesData = [];\n                handler._iterateResumeRecords(function(key, uploadData) {\n                    handler.moveInProgressToRemaining(null, uploadData.chunking.inProgress, uploadData.chunking.remaining);\n                    var data = {\n                        name: uploadData.name,\n                        remaining: uploadData.chunking.remaining,\n                        size: uploadData.size,\n                        uuid: uploadData.uuid\n                    };\n                    if (uploadData.key) {\n                        data.key = uploadData.key;\n                    }\n                    resumableFilesData.push(data);\n                });\n                return resumableFilesData;\n            },\n            isResumable: function(id) {\n                return !!chunking && handler.isValid(id) && !handler._getFileState(id).notResumable;\n            },\n            moveInProgressToRemaining: function(id, optInProgress, optRemaining) {\n                var inProgress = optInProgress || handler._getFileState(id).chunking.inProgress, remaining = optRemaining || handler._getFileState(id).chunking.remaining;\n                if (inProgress) {\n                    log(qq.format(\"Moving these chunks from in-progress {}, to remaining.\", JSON.stringify(inProgress)));\n                    inProgress.reverse();\n                    qq.each(inProgress, function(idx, chunkIdx) {\n                        remaining.unshift(chunkIdx);\n                    });\n                    inProgress.length = 0;\n                }\n            },\n            pause: function(id) {\n                if (handler.isValid(id)) {\n                    log(qq.format(\"Aborting XHR upload for {} '{}' due to pause instruction.\", id, getName(id)));\n                    handler._getFileState(id).paused = true;\n                    abort(id);\n                    return true;\n                }\n            },\n            reevaluateChunking: function(id) {\n                if (chunking && handler.isValid(id)) {\n                    var state = handler._getFileState(id), totalChunks, i;\n                    delete state.chunking;\n                    state.chunking = {};\n                    totalChunks = handler._getTotalChunks(id);\n                    if (totalChunks > 1 || chunking.mandatory) {\n                        state.chunking.enabled = true;\n                        state.chunking.parts = totalChunks;\n                        state.chunking.remaining = [];\n                        for (i = 0; i < totalChunks; i++) {\n                            state.chunking.remaining.push(i);\n                        }\n                        handler._initTempState(id);\n                    } else {\n                        state.chunking.enabled = false;\n                    }\n                }\n            },\n            updateBlob: function(id, newBlob) {\n                if (handler.isValid(id)) {\n                    handler._getFileState(id).file = newBlob;\n                }\n            },\n            _clearXhrs: function(id) {\n                var tempState = handler._getFileState(id).temp;\n                qq.each(tempState.ajaxRequesters, function(chunkId) {\n                    delete tempState.ajaxRequesters[chunkId];\n                });\n                qq.each(tempState.xhrs, function(chunkId) {\n                    delete tempState.xhrs[chunkId];\n                });\n            },\n            _createXhr: function(id, optChunkIdx) {\n                return handler._registerXhr(id, optChunkIdx, qq.createXhrInstance());\n            },\n            _getAjaxRequester: function(id, optChunkIdx) {\n                var chunkIdx = optChunkIdx == null ? -1 : optChunkIdx;\n                return handler._getFileState(id).temp.ajaxRequesters[chunkIdx];\n            },\n            _getChunkData: function(id, chunkIndex) {\n                var chunkSize = chunking.partSize, fileSize = getSize(id), fileOrBlob = handler.getFile(id), startBytes = chunkSize * chunkIndex, endBytes = startBytes + chunkSize >= fileSize ? fileSize : startBytes + chunkSize, totalChunks = handler._getTotalChunks(id), cachedChunks = this._getFileState(id).temp.cachedChunks, blob = cachedChunks[chunkIndex] || qq.sliceBlob(fileOrBlob, startBytes, endBytes);\n                cachedChunks[chunkIndex] = blob;\n                return {\n                    part: chunkIndex,\n                    start: startBytes,\n                    end: endBytes,\n                    count: totalChunks,\n                    blob: blob,\n                    size: endBytes - startBytes\n                };\n            },\n            _getChunkDataForCallback: function(chunkData) {\n                return {\n                    partIndex: chunkData.part,\n                    startByte: chunkData.start + 1,\n                    endByte: chunkData.end,\n                    totalParts: chunkData.count\n                };\n            },\n            _getLocalStorageId: function(id) {\n                var formatVersion = \"5.0\", name = getName(id), size = getSize(id), chunkSize = chunking.partSize, endpoint = getEndpoint(id);\n                return qq.format(\"qq{}resume{}-{}-{}-{}-{}\", namespace, formatVersion, name, size, chunkSize, endpoint);\n            },\n            _getMimeType: function(id) {\n                return handler.getFile(id).type;\n            },\n            _getPersistableData: function(id) {\n                return handler._getFileState(id).chunking;\n            },\n            _getTotalChunks: function(id) {\n                if (chunking) {\n                    var fileSize = getSize(id), chunkSize = chunking.partSize;\n                    return Math.ceil(fileSize / chunkSize);\n                }\n            },\n            _getXhr: function(id, optChunkIdx) {\n                var chunkIdx = optChunkIdx == null ? -1 : optChunkIdx;\n                return handler._getFileState(id).temp.xhrs[chunkIdx];\n            },\n            _getXhrs: function(id) {\n                return handler._getFileState(id).temp.xhrs;\n            },\n            _iterateResumeRecords: function(callback) {\n                if (resumeEnabled) {\n                    qq.each(localStorage, function(key, item) {\n                        if (key.indexOf(qq.format(\"qq{}resume\", namespace)) === 0) {\n                            var uploadData = JSON.parse(item);\n                            callback(key, uploadData);\n                        }\n                    });\n                }\n            },\n            _initTempState: function(id) {\n                handler._getFileState(id).temp = {\n                    ajaxRequesters: {},\n                    chunkProgress: {},\n                    xhrs: {},\n                    cachedChunks: {}\n                };\n            },\n            _markNotResumable: function(id) {\n                handler._getFileState(id).notResumable = true;\n            },\n            _maybeDeletePersistedChunkData: function(id) {\n                var localStorageId;\n                if (resumeEnabled && handler.isResumable(id)) {\n                    localStorageId = handler._getLocalStorageId(id);\n                    if (localStorageId && localStorage.getItem(localStorageId)) {\n                        localStorage.removeItem(localStorageId);\n                        return true;\n                    }\n                }\n                return false;\n            },\n            _maybePrepareForResume: function(id) {\n                var state = handler._getFileState(id), localStorageId, persistedData;\n                if (resumeEnabled && state.key === undefined) {\n                    localStorageId = handler._getLocalStorageId(id);\n                    persistedData = localStorage.getItem(localStorageId);\n                    if (persistedData) {\n                        persistedData = JSON.parse(persistedData);\n                        if (getDataByUuid(persistedData.uuid)) {\n                            handler._markNotResumable(id);\n                        } else {\n                            log(qq.format(\"Identified file with ID {} and name of {} as resumable.\", id, getName(id)));\n                            onUuidChanged(id, persistedData.uuid);\n                            state.key = persistedData.key;\n                            state.chunking = persistedData.chunking;\n                            state.loaded = persistedData.loaded;\n                            state.attemptingResume = true;\n                            handler.moveInProgressToRemaining(id);\n                        }\n                    }\n                }\n            },\n            _maybePersistChunkedState: function(id) {\n                var state = handler._getFileState(id), localStorageId, persistedData;\n                if (resumeEnabled && handler.isResumable(id)) {\n                    localStorageId = handler._getLocalStorageId(id);\n                    persistedData = {\n                        name: getName(id),\n                        size: getSize(id),\n                        uuid: getUuid(id),\n                        key: state.key,\n                        chunking: state.chunking,\n                        loaded: state.loaded,\n                        lastUpdated: Date.now()\n                    };\n                    try {\n                        localStorage.setItem(localStorageId, JSON.stringify(persistedData));\n                    } catch (error) {\n                        log(qq.format(\"Unable to save resume data for '{}' due to error: '{}'.\", id, error.toString()), \"warn\");\n                    }\n                }\n            },\n            _registerProgressHandler: function(id, chunkIdx, chunkSize) {\n                var xhr = handler._getXhr(id, chunkIdx), name = getName(id), progressCalculator = {\n                    simple: function(loaded, total) {\n                        var fileSize = getSize(id);\n                        if (loaded === total) {\n                            onProgress(id, name, fileSize, fileSize);\n                        } else {\n                            onProgress(id, name, loaded >= fileSize ? fileSize - 1 : loaded, fileSize);\n                        }\n                    },\n                    chunked: function(loaded, total) {\n                        var chunkProgress = handler._getFileState(id).temp.chunkProgress, totalSuccessfullyLoadedForFile = handler._getFileState(id).loaded, loadedForRequest = loaded, totalForRequest = total, totalFileSize = getSize(id), estActualChunkLoaded = loadedForRequest - (totalForRequest - chunkSize), totalLoadedForFile = totalSuccessfullyLoadedForFile;\n                        chunkProgress[chunkIdx] = estActualChunkLoaded;\n                        qq.each(chunkProgress, function(chunkIdx, chunkLoaded) {\n                            totalLoadedForFile += chunkLoaded;\n                        });\n                        onProgress(id, name, totalLoadedForFile, totalFileSize);\n                    }\n                };\n                xhr.upload.onprogress = function(e) {\n                    if (e.lengthComputable) {\n                        var type = chunkSize == null ? \"simple\" : \"chunked\";\n                        progressCalculator[type](e.loaded, e.total);\n                    }\n                };\n            },\n            _registerXhr: function(id, optChunkIdx, xhr, optAjaxRequester) {\n                var xhrsId = optChunkIdx == null ? -1 : optChunkIdx, tempState = handler._getFileState(id).temp;\n                tempState.xhrs = tempState.xhrs || {};\n                tempState.ajaxRequesters = tempState.ajaxRequesters || {};\n                tempState.xhrs[xhrsId] = xhr;\n                if (optAjaxRequester) {\n                    tempState.ajaxRequesters[xhrsId] = optAjaxRequester;\n                }\n                return xhr;\n            },\n            _removeExpiredChunkingRecords: function() {\n                var expirationDays = resume.recordsExpireIn;\n                handler._iterateResumeRecords(function(key, uploadData) {\n                    var expirationDate = new Date(uploadData.lastUpdated);\n                    expirationDate.setDate(expirationDate.getDate() + expirationDays);\n                    if (expirationDate.getTime() <= Date.now()) {\n                        log(\"Removing expired resume record with key \" + key);\n                        localStorage.removeItem(key);\n                    }\n                });\n            },\n            _shouldChunkThisFile: function(id) {\n                var state = handler._getFileState(id);\n                if (!state.chunking) {\n                    handler.reevaluateChunking(id);\n                }\n                return state.chunking.enabled;\n            }\n        });\n    };\n    qq.DeleteFileAjaxRequester = function(o) {\n        \"use strict\";\n        var requester, options = {\n            method: \"DELETE\",\n            uuidParamName: \"qquuid\",\n            endpointStore: {},\n            maxConnections: 3,\n            customHeaders: function(id) {\n                return {};\n            },\n            paramsStore: {},\n            cors: {\n                expected: false,\n                sendCredentials: false\n            },\n            log: function(str, level) {},\n            onDelete: function(id) {},\n            onDeleteComplete: function(id, xhrOrXdr, isError) {}\n        };\n        qq.extend(options, o);\n        function getMandatedParams() {\n            if (options.method.toUpperCase() === \"POST\") {\n                return {\n                    _method: \"DELETE\"\n                };\n            }\n            return {};\n        }\n        requester = qq.extend(this, new qq.AjaxRequester({\n            acceptHeader: \"application/json\",\n            validMethods: [ \"POST\", \"DELETE\" ],\n            method: options.method,\n            endpointStore: options.endpointStore,\n            paramsStore: options.paramsStore,\n            mandatedParams: getMandatedParams(),\n            maxConnections: options.maxConnections,\n            customHeaders: function(id) {\n                return options.customHeaders.get(id);\n            },\n            log: options.log,\n            onSend: options.onDelete,\n            onComplete: options.onDeleteComplete,\n            cors: options.cors\n        }));\n        qq.extend(this, {\n            sendDelete: function(id, uuid, additionalMandatedParams) {\n                var additionalOptions = additionalMandatedParams || {};\n                options.log(\"Submitting delete file request for \" + id);\n                if (options.method === \"DELETE\") {\n                    requester.initTransport(id).withPath(uuid).withParams(additionalOptions).send();\n                } else {\n                    additionalOptions[options.uuidParamName] = uuid;\n                    requester.initTransport(id).withParams(additionalOptions).send();\n                }\n            }\n        });\n    };\n    (function() {\n        function detectSubsampling(img) {\n            var iw = img.naturalWidth, ih = img.naturalHeight, canvas = document.createElement(\"canvas\"), ctx;\n            if (iw * ih > 1024 * 1024) {\n                canvas.width = canvas.height = 1;\n                ctx = canvas.getContext(\"2d\");\n                ctx.drawImage(img, -iw + 1, 0);\n                return ctx.getImageData(0, 0, 1, 1).data[3] === 0;\n            } else {\n                return false;\n            }\n        }\n        function detectVerticalSquash(img, iw, ih) {\n            var canvas = document.createElement(\"canvas\"), sy = 0, ey = ih, py = ih, ctx, data, alpha, ratio;\n            canvas.width = 1;\n            canvas.height = ih;\n            ctx = canvas.getContext(\"2d\");\n            ctx.drawImage(img, 0, 0);\n            data = ctx.getImageData(0, 0, 1, ih).data;\n            while (py > sy) {\n                alpha = data[(py - 1) * 4 + 3];\n                if (alpha === 0) {\n                    ey = py;\n                } else {\n                    sy = py;\n                }\n                py = ey + sy >> 1;\n            }\n            ratio = py / ih;\n            return ratio === 0 ? 1 : ratio;\n        }\n        function renderImageToDataURL(img, blob, options, doSquash) {\n            var canvas = document.createElement(\"canvas\"), mime = options.mime || \"image/jpeg\", promise = new qq.Promise();\n            renderImageToCanvas(img, blob, canvas, options, doSquash).then(function() {\n                promise.success(canvas.toDataURL(mime, options.quality || .8));\n            });\n            return promise;\n        }\n        function maybeCalculateDownsampledDimensions(spec) {\n            var maxPixels = 5241e3;\n            if (!qq.ios()) {\n                throw new qq.Error(\"Downsampled dimensions can only be reliably calculated for iOS!\");\n            }\n            if (spec.origHeight * spec.origWidth > maxPixels) {\n                return {\n                    newHeight: Math.round(Math.sqrt(maxPixels * (spec.origHeight / spec.origWidth))),\n                    newWidth: Math.round(Math.sqrt(maxPixels * (spec.origWidth / spec.origHeight)))\n                };\n            }\n        }\n        function renderImageToCanvas(img, blob, canvas, options, doSquash) {\n            var iw = img.naturalWidth, ih = img.naturalHeight, width = options.width, height = options.height, ctx = canvas.getContext(\"2d\"), promise = new qq.Promise(), modifiedDimensions;\n            ctx.save();\n            if (options.resize) {\n                return renderImageToCanvasWithCustomResizer({\n                    blob: blob,\n                    canvas: canvas,\n                    image: img,\n                    imageHeight: ih,\n                    imageWidth: iw,\n                    orientation: options.orientation,\n                    resize: options.resize,\n                    targetHeight: height,\n                    targetWidth: width\n                });\n            }\n            if (!qq.supportedFeatures.unlimitedScaledImageSize) {\n                modifiedDimensions = maybeCalculateDownsampledDimensions({\n                    origWidth: width,\n                    origHeight: height\n                });\n                if (modifiedDimensions) {\n                    qq.log(qq.format(\"Had to reduce dimensions due to device limitations from {}w / {}h to {}w / {}h\", width, height, modifiedDimensions.newWidth, modifiedDimensions.newHeight), \"warn\");\n                    width = modifiedDimensions.newWidth;\n                    height = modifiedDimensions.newHeight;\n                }\n            }\n            transformCoordinate(canvas, width, height, options.orientation);\n            if (qq.ios()) {\n                (function() {\n                    if (detectSubsampling(img)) {\n                        iw /= 2;\n                        ih /= 2;\n                    }\n                    var d = 1024, tmpCanvas = document.createElement(\"canvas\"), vertSquashRatio = doSquash ? detectVerticalSquash(img, iw, ih) : 1, dw = Math.ceil(d * width / iw), dh = Math.ceil(d * height / ih / vertSquashRatio), sy = 0, dy = 0, tmpCtx, sx, dx;\n                    tmpCanvas.width = tmpCanvas.height = d;\n                    tmpCtx = tmpCanvas.getContext(\"2d\");\n                    while (sy < ih) {\n                        sx = 0;\n                        dx = 0;\n                        while (sx < iw) {\n                            tmpCtx.clearRect(0, 0, d, d);\n                            tmpCtx.drawImage(img, -sx, -sy);\n                            ctx.drawImage(tmpCanvas, 0, 0, d, d, dx, dy, dw, dh);\n                            sx += d;\n                            dx += dw;\n                        }\n                        sy += d;\n                        dy += dh;\n                    }\n                    ctx.restore();\n                    tmpCanvas = tmpCtx = null;\n                })();\n            } else {\n                ctx.drawImage(img, 0, 0, width, height);\n            }\n            canvas.qqImageRendered && canvas.qqImageRendered();\n            promise.success();\n            return promise;\n        }\n        function renderImageToCanvasWithCustomResizer(resizeInfo) {\n            var blob = resizeInfo.blob, image = resizeInfo.image, imageHeight = resizeInfo.imageHeight, imageWidth = resizeInfo.imageWidth, orientation = resizeInfo.orientation, promise = new qq.Promise(), resize = resizeInfo.resize, sourceCanvas = document.createElement(\"canvas\"), sourceCanvasContext = sourceCanvas.getContext(\"2d\"), targetCanvas = resizeInfo.canvas, targetHeight = resizeInfo.targetHeight, targetWidth = resizeInfo.targetWidth;\n            transformCoordinate(sourceCanvas, imageWidth, imageHeight, orientation);\n            targetCanvas.height = targetHeight;\n            targetCanvas.width = targetWidth;\n            sourceCanvasContext.drawImage(image, 0, 0);\n            resize({\n                blob: blob,\n                height: targetHeight,\n                image: image,\n                sourceCanvas: sourceCanvas,\n                targetCanvas: targetCanvas,\n                width: targetWidth\n            }).then(function success() {\n                targetCanvas.qqImageRendered && targetCanvas.qqImageRendered();\n                promise.success();\n            }, promise.failure);\n            return promise;\n        }\n        function transformCoordinate(canvas, width, height, orientation) {\n            switch (orientation) {\n              case 5:\n              case 6:\n              case 7:\n              case 8:\n                canvas.width = height;\n                canvas.height = width;\n                break;\n\n              default:\n                canvas.width = width;\n                canvas.height = height;\n            }\n            var ctx = canvas.getContext(\"2d\");\n            switch (orientation) {\n              case 2:\n                ctx.translate(width, 0);\n                ctx.scale(-1, 1);\n                break;\n\n              case 3:\n                ctx.translate(width, height);\n                ctx.rotate(Math.PI);\n                break;\n\n              case 4:\n                ctx.translate(0, height);\n                ctx.scale(1, -1);\n                break;\n\n              case 5:\n                ctx.rotate(.5 * Math.PI);\n                ctx.scale(1, -1);\n                break;\n\n              case 6:\n                ctx.rotate(.5 * Math.PI);\n                ctx.translate(0, -height);\n                break;\n\n              case 7:\n                ctx.rotate(.5 * Math.PI);\n                ctx.translate(width, -height);\n                ctx.scale(-1, 1);\n                break;\n\n              case 8:\n                ctx.rotate(-.5 * Math.PI);\n                ctx.translate(-width, 0);\n                break;\n\n              default:\n                break;\n            }\n        }\n        function MegaPixImage(srcImage, errorCallback) {\n            var self = this;\n            if (window.Blob && srcImage instanceof Blob) {\n                (function() {\n                    var img = new Image(), URL = window.URL && window.URL.createObjectURL ? window.URL : window.webkitURL && window.webkitURL.createObjectURL ? window.webkitURL : null;\n                    if (!URL) {\n                        throw Error(\"No createObjectURL function found to create blob url\");\n                    }\n                    img.src = URL.createObjectURL(srcImage);\n                    self.blob = srcImage;\n                    srcImage = img;\n                })();\n            }\n            if (!srcImage.naturalWidth && !srcImage.naturalHeight) {\n                srcImage.onload = function() {\n                    var listeners = self.imageLoadListeners;\n                    if (listeners) {\n                        self.imageLoadListeners = null;\n                        setTimeout(function() {\n                            for (var i = 0, len = listeners.length; i < len; i++) {\n                                listeners[i]();\n                            }\n                        }, 0);\n                    }\n                };\n                srcImage.onerror = errorCallback;\n                this.imageLoadListeners = [];\n            }\n            this.srcImage = srcImage;\n        }\n        MegaPixImage.prototype.render = function(target, options) {\n            options = options || {};\n            var self = this, imgWidth = this.srcImage.naturalWidth, imgHeight = this.srcImage.naturalHeight, width = options.width, height = options.height, maxWidth = options.maxWidth, maxHeight = options.maxHeight, doSquash = !this.blob || this.blob.type === \"image/jpeg\", tagName = target.tagName.toLowerCase(), opt;\n            if (this.imageLoadListeners) {\n                this.imageLoadListeners.push(function() {\n                    self.render(target, options);\n                });\n                return;\n            }\n            if (width && !height) {\n                height = imgHeight * width / imgWidth << 0;\n            } else if (height && !width) {\n                width = imgWidth * height / imgHeight << 0;\n            } else {\n                width = imgWidth;\n                height = imgHeight;\n            }\n            if (maxWidth && width > maxWidth) {\n                width = maxWidth;\n                height = imgHeight * width / imgWidth << 0;\n            }\n            if (maxHeight && height > maxHeight) {\n                height = maxHeight;\n                width = imgWidth * height / imgHeight << 0;\n            }\n            opt = {\n                width: width,\n                height: height\n            }, qq.each(options, function(optionsKey, optionsValue) {\n                opt[optionsKey] = optionsValue;\n            });\n            if (tagName === \"img\") {\n                (function() {\n                    var oldTargetSrc = target.src;\n                    renderImageToDataURL(self.srcImage, self.blob, opt, doSquash).then(function(dataUri) {\n                        target.src = dataUri;\n                        oldTargetSrc === target.src && target.onload();\n                    });\n                })();\n            } else if (tagName === \"canvas\") {\n                renderImageToCanvas(this.srcImage, this.blob, target, opt, doSquash);\n            }\n            if (typeof this.onrender === \"function\") {\n                this.onrender(target);\n            }\n        };\n        qq.MegaPixImage = MegaPixImage;\n    })();\n    qq.ImageGenerator = function(log) {\n        \"use strict\";\n        function isImg(el) {\n            return el.tagName.toLowerCase() === \"img\";\n        }\n        function isCanvas(el) {\n            return el.tagName.toLowerCase() === \"canvas\";\n        }\n        function isImgCorsSupported() {\n            return new Image().crossOrigin !== undefined;\n        }\n        function isCanvasSupported() {\n            var canvas = document.createElement(\"canvas\");\n            return canvas.getContext && canvas.getContext(\"2d\");\n        }\n        function determineMimeOfFileName(nameWithPath) {\n            var pathSegments = nameWithPath.split(\"/\"), name = pathSegments[pathSegments.length - 1].split(\"?\")[0], extension = qq.getExtension(name);\n            extension = extension && extension.toLowerCase();\n            switch (extension) {\n              case \"jpeg\":\n              case \"jpg\":\n                return \"image/jpeg\";\n\n              case \"png\":\n                return \"image/png\";\n\n              case \"bmp\":\n                return \"image/bmp\";\n\n              case \"gif\":\n                return \"image/gif\";\n\n              case \"tiff\":\n              case \"tif\":\n                return \"image/tiff\";\n            }\n        }\n        function isCrossOrigin(url) {\n            var targetAnchor = document.createElement(\"a\"), targetProtocol, targetHostname, targetPort;\n            targetAnchor.href = url;\n            targetProtocol = targetAnchor.protocol;\n            targetPort = targetAnchor.port;\n            targetHostname = targetAnchor.hostname;\n            if (targetProtocol.toLowerCase() !== window.location.protocol.toLowerCase()) {\n                return true;\n            }\n            if (targetHostname.toLowerCase() !== window.location.hostname.toLowerCase()) {\n                return true;\n            }\n            if (targetPort !== window.location.port && !qq.ie()) {\n                return true;\n            }\n            return false;\n        }\n        function registerImgLoadListeners(img, promise) {\n            img.onload = function() {\n                img.onload = null;\n                img.onerror = null;\n                promise.success(img);\n            };\n            img.onerror = function() {\n                img.onload = null;\n                img.onerror = null;\n                log(\"Problem drawing thumbnail!\", \"error\");\n                promise.failure(img, \"Problem drawing thumbnail!\");\n            };\n        }\n        function registerCanvasDrawImageListener(canvas, promise) {\n            canvas.qqImageRendered = function() {\n                promise.success(canvas);\n            };\n        }\n        function registerThumbnailRenderedListener(imgOrCanvas, promise) {\n            var registered = isImg(imgOrCanvas) || isCanvas(imgOrCanvas);\n            if (isImg(imgOrCanvas)) {\n                registerImgLoadListeners(imgOrCanvas, promise);\n            } else if (isCanvas(imgOrCanvas)) {\n                registerCanvasDrawImageListener(imgOrCanvas, promise);\n            } else {\n                promise.failure(imgOrCanvas);\n                log(qq.format(\"Element container of type {} is not supported!\", imgOrCanvas.tagName), \"error\");\n            }\n            return registered;\n        }\n        function draw(fileOrBlob, container, options) {\n            var drawPreview = new qq.Promise(), identifier = new qq.Identify(fileOrBlob, log), maxSize = options.maxSize, orient = options.orient == null ? true : options.orient, megapixErrorHandler = function() {\n                container.onerror = null;\n                container.onload = null;\n                log(\"Could not render preview, file may be too large!\", \"error\");\n                drawPreview.failure(container, \"Browser cannot render image!\");\n            };\n            identifier.isPreviewable().then(function(mime) {\n                var dummyExif = {\n                    parse: function() {\n                        return new qq.Promise().success();\n                    }\n                }, exif = orient ? new qq.Exif(fileOrBlob, log) : dummyExif, mpImg = new qq.MegaPixImage(fileOrBlob, megapixErrorHandler);\n                if (registerThumbnailRenderedListener(container, drawPreview)) {\n                    exif.parse().then(function(exif) {\n                        var orientation = exif && exif.Orientation;\n                        mpImg.render(container, {\n                            maxWidth: maxSize,\n                            maxHeight: maxSize,\n                            orientation: orientation,\n                            mime: mime,\n                            resize: options.customResizeFunction\n                        });\n                    }, function(failureMsg) {\n                        log(qq.format(\"EXIF data could not be parsed ({}).  Assuming orientation = 1.\", failureMsg));\n                        mpImg.render(container, {\n                            maxWidth: maxSize,\n                            maxHeight: maxSize,\n                            mime: mime,\n                            resize: options.customResizeFunction\n                        });\n                    });\n                }\n            }, function() {\n                log(\"Not previewable\");\n                drawPreview.failure(container, \"Not previewable\");\n            });\n            return drawPreview;\n        }\n        function drawOnCanvasOrImgFromUrl(url, canvasOrImg, draw, maxSize, customResizeFunction) {\n            var tempImg = new Image(), tempImgRender = new qq.Promise();\n            registerThumbnailRenderedListener(tempImg, tempImgRender);\n            if (isCrossOrigin(url)) {\n                tempImg.crossOrigin = \"anonymous\";\n            }\n            tempImg.src = url;\n            tempImgRender.then(function rendered() {\n                registerThumbnailRenderedListener(canvasOrImg, draw);\n                var mpImg = new qq.MegaPixImage(tempImg);\n                mpImg.render(canvasOrImg, {\n                    maxWidth: maxSize,\n                    maxHeight: maxSize,\n                    mime: determineMimeOfFileName(url),\n                    resize: customResizeFunction\n                });\n            }, draw.failure);\n        }\n        function drawOnImgFromUrlWithCssScaling(url, img, draw, maxSize) {\n            registerThumbnailRenderedListener(img, draw);\n            qq(img).css({\n                maxWidth: maxSize + \"px\",\n                maxHeight: maxSize + \"px\"\n            });\n            img.src = url;\n        }\n        function drawFromUrl(url, container, options) {\n            var draw = new qq.Promise(), scale = options.scale, maxSize = scale ? options.maxSize : null;\n            if (scale && isImg(container)) {\n                if (isCanvasSupported()) {\n                    if (isCrossOrigin(url) && !isImgCorsSupported()) {\n                        drawOnImgFromUrlWithCssScaling(url, container, draw, maxSize);\n                    } else {\n                        drawOnCanvasOrImgFromUrl(url, container, draw, maxSize);\n                    }\n                } else {\n                    drawOnImgFromUrlWithCssScaling(url, container, draw, maxSize);\n                }\n            } else if (isCanvas(container)) {\n                drawOnCanvasOrImgFromUrl(url, container, draw, maxSize);\n            } else if (registerThumbnailRenderedListener(container, draw)) {\n                container.src = url;\n            }\n            return draw;\n        }\n        qq.extend(this, {\n            generate: function(fileBlobOrUrl, container, options) {\n                if (qq.isString(fileBlobOrUrl)) {\n                    log(\"Attempting to update thumbnail based on server response.\");\n                    return drawFromUrl(fileBlobOrUrl, container, options || {});\n                } else {\n                    log(\"Attempting to draw client-side image preview.\");\n                    return draw(fileBlobOrUrl, container, options || {});\n                }\n            }\n        });\n        this._testing = {};\n        this._testing.isImg = isImg;\n        this._testing.isCanvas = isCanvas;\n        this._testing.isCrossOrigin = isCrossOrigin;\n        this._testing.determineMimeOfFileName = determineMimeOfFileName;\n    };\n    qq.Exif = function(fileOrBlob, log) {\n        \"use strict\";\n        var TAG_IDS = [ 274 ], TAG_INFO = {\n            274: {\n                name: \"Orientation\",\n                bytes: 2\n            }\n        };\n        function parseLittleEndian(hex) {\n            var result = 0, pow = 0;\n            while (hex.length > 0) {\n                result += parseInt(hex.substring(0, 2), 16) * Math.pow(2, pow);\n                hex = hex.substring(2, hex.length);\n                pow += 8;\n            }\n            return result;\n        }\n        function seekToApp1(offset, promise) {\n            var theOffset = offset, thePromise = promise;\n            if (theOffset === undefined) {\n                theOffset = 2;\n                thePromise = new qq.Promise();\n            }\n            qq.readBlobToHex(fileOrBlob, theOffset, 4).then(function(hex) {\n                var match = /^ffe([0-9])/.exec(hex), segmentLength;\n                if (match) {\n                    if (match[1] !== \"1\") {\n                        segmentLength = parseInt(hex.slice(4, 8), 16);\n                        seekToApp1(theOffset + segmentLength + 2, thePromise);\n                    } else {\n                        thePromise.success(theOffset);\n                    }\n                } else {\n                    thePromise.failure(\"No EXIF header to be found!\");\n                }\n            });\n            return thePromise;\n        }\n        function getApp1Offset() {\n            var promise = new qq.Promise();\n            qq.readBlobToHex(fileOrBlob, 0, 6).then(function(hex) {\n                if (hex.indexOf(\"ffd8\") !== 0) {\n                    promise.failure(\"Not a valid JPEG!\");\n                } else {\n                    seekToApp1().then(function(offset) {\n                        promise.success(offset);\n                    }, function(error) {\n                        promise.failure(error);\n                    });\n                }\n            });\n            return promise;\n        }\n        function isLittleEndian(app1Start) {\n            var promise = new qq.Promise();\n            qq.readBlobToHex(fileOrBlob, app1Start + 10, 2).then(function(hex) {\n                promise.success(hex === \"4949\");\n            });\n            return promise;\n        }\n        function getDirEntryCount(app1Start, littleEndian) {\n            var promise = new qq.Promise();\n            qq.readBlobToHex(fileOrBlob, app1Start + 18, 2).then(function(hex) {\n                if (littleEndian) {\n                    return promise.success(parseLittleEndian(hex));\n                } else {\n                    promise.success(parseInt(hex, 16));\n                }\n            });\n            return promise;\n        }\n        function getIfd(app1Start, dirEntries) {\n            var offset = app1Start + 20, bytes = dirEntries * 12;\n            return qq.readBlobToHex(fileOrBlob, offset, bytes);\n        }\n        function getDirEntries(ifdHex) {\n            var entries = [], offset = 0;\n            while (offset + 24 <= ifdHex.length) {\n                entries.push(ifdHex.slice(offset, offset + 24));\n                offset += 24;\n            }\n            return entries;\n        }\n        function getTagValues(littleEndian, dirEntries) {\n            var TAG_VAL_OFFSET = 16, tagsToFind = qq.extend([], TAG_IDS), vals = {};\n            qq.each(dirEntries, function(idx, entry) {\n                var idHex = entry.slice(0, 4), id = littleEndian ? parseLittleEndian(idHex) : parseInt(idHex, 16), tagsToFindIdx = tagsToFind.indexOf(id), tagValHex, tagName, tagValLength;\n                if (tagsToFindIdx >= 0) {\n                    tagName = TAG_INFO[id].name;\n                    tagValLength = TAG_INFO[id].bytes;\n                    tagValHex = entry.slice(TAG_VAL_OFFSET, TAG_VAL_OFFSET + tagValLength * 2);\n                    vals[tagName] = littleEndian ? parseLittleEndian(tagValHex) : parseInt(tagValHex, 16);\n                    tagsToFind.splice(tagsToFindIdx, 1);\n                }\n                if (tagsToFind.length === 0) {\n                    return false;\n                }\n            });\n            return vals;\n        }\n        qq.extend(this, {\n            parse: function() {\n                var parser = new qq.Promise(), onParseFailure = function(message) {\n                    log(qq.format(\"EXIF header parse failed: '{}' \", message));\n                    parser.failure(message);\n                };\n                getApp1Offset().then(function(app1Offset) {\n                    log(qq.format(\"Moving forward with EXIF header parsing for '{}'\", fileOrBlob.name === undefined ? \"blob\" : fileOrBlob.name));\n                    isLittleEndian(app1Offset).then(function(littleEndian) {\n                        log(qq.format(\"EXIF Byte order is {} endian\", littleEndian ? \"little\" : \"big\"));\n                        getDirEntryCount(app1Offset, littleEndian).then(function(dirEntryCount) {\n                            log(qq.format(\"Found {} APP1 directory entries\", dirEntryCount));\n                            getIfd(app1Offset, dirEntryCount).then(function(ifdHex) {\n                                var dirEntries = getDirEntries(ifdHex), tagValues = getTagValues(littleEndian, dirEntries);\n                                log(\"Successfully parsed some EXIF tags\");\n                                parser.success(tagValues);\n                            }, onParseFailure);\n                        }, onParseFailure);\n                    }, onParseFailure);\n                }, onParseFailure);\n                return parser;\n            }\n        });\n        this._testing = {};\n        this._testing.parseLittleEndian = parseLittleEndian;\n    };\n    qq.Identify = function(fileOrBlob, log) {\n        \"use strict\";\n        function isIdentifiable(magicBytes, questionableBytes) {\n            var identifiable = false, magicBytesEntries = [].concat(magicBytes);\n            qq.each(magicBytesEntries, function(idx, magicBytesArrayEntry) {\n                if (questionableBytes.indexOf(magicBytesArrayEntry) === 0) {\n                    identifiable = true;\n                    return false;\n                }\n            });\n            return identifiable;\n        }\n        qq.extend(this, {\n            isPreviewable: function() {\n                var self = this, identifier = new qq.Promise(), previewable = false, name = fileOrBlob.name === undefined ? \"blob\" : fileOrBlob.name;\n                log(qq.format(\"Attempting to determine if {} can be rendered in this browser\", name));\n                log(\"First pass: check type attribute of blob object.\");\n                if (this.isPreviewableSync()) {\n                    log(\"Second pass: check for magic bytes in file header.\");\n                    qq.readBlobToHex(fileOrBlob, 0, 4).then(function(hex) {\n                        qq.each(self.PREVIEWABLE_MIME_TYPES, function(mime, bytes) {\n                            if (isIdentifiable(bytes, hex)) {\n                                if (mime !== \"image/tiff\" || qq.supportedFeatures.tiffPreviews) {\n                                    previewable = true;\n                                    identifier.success(mime);\n                                }\n                                return false;\n                            }\n                        });\n                        log(qq.format(\"'{}' is {} able to be rendered in this browser\", name, previewable ? \"\" : \"NOT\"));\n                        if (!previewable) {\n                            identifier.failure();\n                        }\n                    }, function() {\n                        log(\"Error reading file w/ name '\" + name + \"'.  Not able to be rendered in this browser.\");\n                        identifier.failure();\n                    });\n                } else {\n                    identifier.failure();\n                }\n                return identifier;\n            },\n            isPreviewableSync: function() {\n                var fileMime = fileOrBlob.type, isRecognizedImage = qq.indexOf(Object.keys(this.PREVIEWABLE_MIME_TYPES), fileMime) >= 0, previewable = false, name = fileOrBlob.name === undefined ? \"blob\" : fileOrBlob.name;\n                if (isRecognizedImage) {\n                    if (fileMime === \"image/tiff\") {\n                        previewable = qq.supportedFeatures.tiffPreviews;\n                    } else {\n                        previewable = true;\n                    }\n                }\n                !previewable && log(name + \" is not previewable in this browser per the blob's type attr\");\n                return previewable;\n            }\n        });\n    };\n    qq.Identify.prototype.PREVIEWABLE_MIME_TYPES = {\n        \"image/jpeg\": \"ffd8ff\",\n        \"image/gif\": \"474946\",\n        \"image/png\": \"89504e\",\n        \"image/bmp\": \"424d\",\n        \"image/tiff\": [ \"49492a00\", \"4d4d002a\" ]\n    };\n    qq.ImageValidation = function(blob, log) {\n        \"use strict\";\n        function hasNonZeroLimits(limits) {\n            var atLeastOne = false;\n            qq.each(limits, function(limit, value) {\n                if (value > 0) {\n                    atLeastOne = true;\n                    return false;\n                }\n            });\n            return atLeastOne;\n        }\n        function getWidthHeight() {\n            var sizeDetermination = new qq.Promise();\n            new qq.Identify(blob, log).isPreviewable().then(function() {\n                var image = new Image(), url = window.URL && window.URL.createObjectURL ? window.URL : window.webkitURL && window.webkitURL.createObjectURL ? window.webkitURL : null;\n                if (url) {\n                    image.onerror = function() {\n                        log(\"Cannot determine dimensions for image.  May be too large.\", \"error\");\n                        sizeDetermination.failure();\n                    };\n                    image.onload = function() {\n                        sizeDetermination.success({\n                            width: this.width,\n                            height: this.height\n                        });\n                    };\n                    image.src = url.createObjectURL(blob);\n                } else {\n                    log(\"No createObjectURL function available to generate image URL!\", \"error\");\n                    sizeDetermination.failure();\n                }\n            }, sizeDetermination.failure);\n            return sizeDetermination;\n        }\n        function getFailingLimit(limits, dimensions) {\n            var failingLimit;\n            qq.each(limits, function(limitName, limitValue) {\n                if (limitValue > 0) {\n                    var limitMatcher = /(max|min)(Width|Height)/.exec(limitName), dimensionPropName = limitMatcher[2].charAt(0).toLowerCase() + limitMatcher[2].slice(1), actualValue = dimensions[dimensionPropName];\n                    switch (limitMatcher[1]) {\n                      case \"min\":\n                        if (actualValue < limitValue) {\n                            failingLimit = limitName;\n                            return false;\n                        }\n                        break;\n\n                      case \"max\":\n                        if (actualValue > limitValue) {\n                            failingLimit = limitName;\n                            return false;\n                        }\n                        break;\n                    }\n                }\n            });\n            return failingLimit;\n        }\n        this.validate = function(limits) {\n            var validationEffort = new qq.Promise();\n            log(\"Attempting to validate image.\");\n            if (hasNonZeroLimits(limits)) {\n                getWidthHeight().then(function(dimensions) {\n                    var failingLimit = getFailingLimit(limits, dimensions);\n                    if (failingLimit) {\n                        validationEffort.failure(failingLimit);\n                    } else {\n                        validationEffort.success();\n                    }\n                }, validationEffort.success);\n            } else {\n                validationEffort.success();\n            }\n            return validationEffort;\n        };\n    };\n    qq.Session = function(spec) {\n        \"use strict\";\n        var options = {\n            endpoint: null,\n            params: {},\n            customHeaders: {},\n            cors: {},\n            addFileRecord: function(sessionData) {},\n            log: function(message, level) {}\n        };\n        qq.extend(options, spec, true);\n        function isJsonResponseValid(response) {\n            if (qq.isArray(response)) {\n                return true;\n            }\n            options.log(\"Session response is not an array.\", \"error\");\n        }\n        function handleFileItems(fileItems, success, xhrOrXdr, promise) {\n            var someItemsIgnored = false;\n            success = success && isJsonResponseValid(fileItems);\n            if (success) {\n                qq.each(fileItems, function(idx, fileItem) {\n                    if (fileItem.uuid == null) {\n                        someItemsIgnored = true;\n                        options.log(qq.format(\"Session response item {} did not include a valid UUID - ignoring.\", idx), \"error\");\n                    } else if (fileItem.name == null) {\n                        someItemsIgnored = true;\n                        options.log(qq.format(\"Session response item {} did not include a valid name - ignoring.\", idx), \"error\");\n                    } else {\n                        try {\n                            options.addFileRecord(fileItem);\n                            return true;\n                        } catch (err) {\n                            someItemsIgnored = true;\n                            options.log(err.message, \"error\");\n                        }\n                    }\n                    return false;\n                });\n            }\n            promise[success && !someItemsIgnored ? \"success\" : \"failure\"](fileItems, xhrOrXdr);\n        }\n        this.refresh = function() {\n            var refreshEffort = new qq.Promise(), refreshCompleteCallback = function(response, success, xhrOrXdr) {\n                handleFileItems(response, success, xhrOrXdr, refreshEffort);\n            }, requesterOptions = qq.extend({}, options), requester = new qq.SessionAjaxRequester(qq.extend(requesterOptions, {\n                onComplete: refreshCompleteCallback\n            }));\n            requester.queryServer();\n            return refreshEffort;\n        };\n    };\n    qq.SessionAjaxRequester = function(spec) {\n        \"use strict\";\n        var requester, options = {\n            endpoint: null,\n            customHeaders: {},\n            params: {},\n            cors: {\n                expected: false,\n                sendCredentials: false\n            },\n            onComplete: function(response, success, xhrOrXdr) {},\n            log: function(str, level) {}\n        };\n        qq.extend(options, spec);\n        function onComplete(id, xhrOrXdr, isError) {\n            var response = null;\n            if (xhrOrXdr.responseText != null) {\n                try {\n                    response = qq.parseJson(xhrOrXdr.responseText);\n                } catch (err) {\n                    options.log(\"Problem parsing session response: \" + err.message, \"error\");\n                    isError = true;\n                }\n            }\n            options.onComplete(response, !isError, xhrOrXdr);\n        }\n        requester = qq.extend(this, new qq.AjaxRequester({\n            acceptHeader: \"application/json\",\n            validMethods: [ \"GET\" ],\n            method: \"GET\",\n            endpointStore: {\n                get: function() {\n                    return options.endpoint;\n                }\n            },\n            customHeaders: options.customHeaders,\n            log: options.log,\n            onComplete: onComplete,\n            cors: options.cors\n        }));\n        qq.extend(this, {\n            queryServer: function() {\n                var params = qq.extend({}, options.params);\n                options.log(\"Session query request.\");\n                requester.initTransport(\"sessionRefresh\").withParams(params).withCacheBuster().send();\n            }\n        });\n    };\n    qq.Scaler = function(spec, log) {\n        \"use strict\";\n        var self = this, customResizeFunction = spec.customResizer, includeOriginal = spec.sendOriginal, orient = spec.orient, defaultType = spec.defaultType, defaultQuality = spec.defaultQuality / 100, failedToScaleText = spec.failureText, includeExif = spec.includeExif, sizes = this._getSortedSizes(spec.sizes);\n        qq.extend(this, {\n            enabled: qq.supportedFeatures.scaling && sizes.length > 0,\n            getFileRecords: function(originalFileUuid, originalFileName, originalBlobOrBlobData) {\n                var self = this, records = [], originalBlob = originalBlobOrBlobData.blob ? originalBlobOrBlobData.blob : originalBlobOrBlobData, identifier = new qq.Identify(originalBlob, log);\n                if (identifier.isPreviewableSync()) {\n                    qq.each(sizes, function(idx, sizeRecord) {\n                        var outputType = self._determineOutputType({\n                            defaultType: defaultType,\n                            requestedType: sizeRecord.type,\n                            refType: originalBlob.type\n                        });\n                        records.push({\n                            uuid: qq.getUniqueId(),\n                            name: self._getName(originalFileName, {\n                                name: sizeRecord.name,\n                                type: outputType,\n                                refType: originalBlob.type\n                            }),\n                            blob: new qq.BlobProxy(originalBlob, qq.bind(self._generateScaledImage, self, {\n                                customResizeFunction: customResizeFunction,\n                                maxSize: sizeRecord.maxSize,\n                                orient: orient,\n                                type: outputType,\n                                quality: defaultQuality,\n                                failedText: failedToScaleText,\n                                includeExif: includeExif,\n                                log: log\n                            }))\n                        });\n                    });\n                    records.push({\n                        uuid: originalFileUuid,\n                        name: originalFileName,\n                        size: originalBlob.size,\n                        blob: includeOriginal ? originalBlob : null\n                    });\n                } else {\n                    records.push({\n                        uuid: originalFileUuid,\n                        name: originalFileName,\n                        size: originalBlob.size,\n                        blob: originalBlob\n                    });\n                }\n                return records;\n            },\n            handleNewFile: function(file, name, uuid, size, fileList, batchId, uuidParamName, api) {\n                var self = this, buttonId = file.qqButtonId || file.blob && file.blob.qqButtonId, scaledIds = [], originalId = null, addFileToHandler = api.addFileToHandler, uploadData = api.uploadData, paramsStore = api.paramsStore, proxyGroupId = qq.getUniqueId();\n                qq.each(self.getFileRecords(uuid, name, file), function(idx, record) {\n                    var blobSize = record.size, id;\n                    if (record.blob instanceof qq.BlobProxy) {\n                        blobSize = -1;\n                    }\n                    id = uploadData.addFile({\n                        uuid: record.uuid,\n                        name: record.name,\n                        size: blobSize,\n                        batchId: batchId,\n                        proxyGroupId: proxyGroupId\n                    });\n                    if (record.blob instanceof qq.BlobProxy) {\n                        scaledIds.push(id);\n                    } else {\n                        originalId = id;\n                    }\n                    if (record.blob) {\n                        addFileToHandler(id, record.blob);\n                        fileList.push({\n                            id: id,\n                            file: record.blob\n                        });\n                    } else {\n                        uploadData.setStatus(id, qq.status.REJECTED);\n                    }\n                });\n                if (originalId !== null) {\n                    qq.each(scaledIds, function(idx, scaledId) {\n                        var params = {\n                            qqparentuuid: uploadData.retrieve({\n                                id: originalId\n                            }).uuid,\n                            qqparentsize: uploadData.retrieve({\n                                id: originalId\n                            }).size\n                        };\n                        params[uuidParamName] = uploadData.retrieve({\n                            id: scaledId\n                        }).uuid;\n                        uploadData.setParentId(scaledId, originalId);\n                        paramsStore.addReadOnly(scaledId, params);\n                    });\n                    if (scaledIds.length) {\n                        (function() {\n                            var param = {};\n                            param[uuidParamName] = uploadData.retrieve({\n                                id: originalId\n                            }).uuid;\n                            paramsStore.addReadOnly(originalId, param);\n                        })();\n                    }\n                }\n            }\n        });\n    };\n    qq.extend(qq.Scaler.prototype, {\n        scaleImage: function(id, specs, api) {\n            \"use strict\";\n            if (!qq.supportedFeatures.scaling) {\n                throw new qq.Error(\"Scaling is not supported in this browser!\");\n            }\n            var scalingEffort = new qq.Promise(), log = api.log, file = api.getFile(id), uploadData = api.uploadData.retrieve({\n                id: id\n            }), name = uploadData && uploadData.name, uuid = uploadData && uploadData.uuid, scalingOptions = {\n                customResizer: specs.customResizer,\n                sendOriginal: false,\n                orient: specs.orient,\n                defaultType: specs.type || null,\n                defaultQuality: specs.quality,\n                failedToScaleText: \"Unable to scale\",\n                sizes: [ {\n                    name: \"\",\n                    maxSize: specs.maxSize\n                } ]\n            }, scaler = new qq.Scaler(scalingOptions, log);\n            if (!qq.Scaler || !qq.supportedFeatures.imagePreviews || !file) {\n                scalingEffort.failure();\n                log(\"Could not generate requested scaled image for \" + id + \".  \" + \"Scaling is either not possible in this browser, or the file could not be located.\", \"error\");\n            } else {\n                qq.bind(function() {\n                    var record = scaler.getFileRecords(uuid, name, file)[0];\n                    if (record && record.blob instanceof qq.BlobProxy) {\n                        record.blob.create().then(scalingEffort.success, scalingEffort.failure);\n                    } else {\n                        log(id + \" is not a scalable image!\", \"error\");\n                        scalingEffort.failure();\n                    }\n                }, this)();\n            }\n            return scalingEffort;\n        },\n        _determineOutputType: function(spec) {\n            \"use strict\";\n            var requestedType = spec.requestedType, defaultType = spec.defaultType, referenceType = spec.refType;\n            if (!defaultType && !requestedType) {\n                if (referenceType !== \"image/jpeg\") {\n                    return \"image/png\";\n                }\n                return referenceType;\n            }\n            if (!requestedType) {\n                return defaultType;\n            }\n            if (qq.indexOf(Object.keys(qq.Identify.prototype.PREVIEWABLE_MIME_TYPES), requestedType) >= 0) {\n                if (requestedType === \"image/tiff\") {\n                    return qq.supportedFeatures.tiffPreviews ? requestedType : defaultType;\n                }\n                return requestedType;\n            }\n            return defaultType;\n        },\n        _getName: function(originalName, scaledVersionProperties) {\n            \"use strict\";\n            var startOfExt = originalName.lastIndexOf(\".\"), versionType = scaledVersionProperties.type || \"image/png\", referenceType = scaledVersionProperties.refType, scaledName = \"\", scaledExt = qq.getExtension(originalName), nameAppendage = \"\";\n            if (scaledVersionProperties.name && scaledVersionProperties.name.trim().length) {\n                nameAppendage = \" (\" + scaledVersionProperties.name + \")\";\n            }\n            if (startOfExt >= 0) {\n                scaledName = originalName.substr(0, startOfExt);\n                if (referenceType !== versionType) {\n                    scaledExt = versionType.split(\"/\")[1];\n                }\n                scaledName += nameAppendage + \".\" + scaledExt;\n            } else {\n                scaledName = originalName + nameAppendage;\n            }\n            return scaledName;\n        },\n        _getSortedSizes: function(sizes) {\n            \"use strict\";\n            sizes = qq.extend([], sizes);\n            return sizes.sort(function(a, b) {\n                if (a.maxSize > b.maxSize) {\n                    return 1;\n                }\n                if (a.maxSize < b.maxSize) {\n                    return -1;\n                }\n                return 0;\n            });\n        },\n        _generateScaledImage: function(spec, sourceFile) {\n            \"use strict\";\n            var self = this, customResizeFunction = spec.customResizeFunction, log = spec.log, maxSize = spec.maxSize, orient = spec.orient, type = spec.type, quality = spec.quality, failedText = spec.failedText, includeExif = spec.includeExif && sourceFile.type === \"image/jpeg\" && type === \"image/jpeg\", scalingEffort = new qq.Promise(), imageGenerator = new qq.ImageGenerator(log), canvas = document.createElement(\"canvas\");\n            log(\"Attempting to generate scaled version for \" + sourceFile.name);\n            imageGenerator.generate(sourceFile, canvas, {\n                maxSize: maxSize,\n                orient: orient,\n                customResizeFunction: customResizeFunction\n            }).then(function() {\n                var scaledImageDataUri = canvas.toDataURL(type, quality), signalSuccess = function() {\n                    log(\"Success generating scaled version for \" + sourceFile.name);\n                    var blob = qq.dataUriToBlob(scaledImageDataUri);\n                    scalingEffort.success(blob);\n                };\n                if (includeExif) {\n                    self._insertExifHeader(sourceFile, scaledImageDataUri, log).then(function(scaledImageDataUriWithExif) {\n                        scaledImageDataUri = scaledImageDataUriWithExif;\n                        signalSuccess();\n                    }, function() {\n                        log(\"Problem inserting EXIF header into scaled image.  Using scaled image w/out EXIF data.\", \"error\");\n                        signalSuccess();\n                    });\n                } else {\n                    signalSuccess();\n                }\n            }, function() {\n                log(\"Failed attempt to generate scaled version for \" + sourceFile.name, \"error\");\n                scalingEffort.failure(failedText);\n            });\n            return scalingEffort;\n        },\n        _insertExifHeader: function(originalImage, scaledImageDataUri, log) {\n            \"use strict\";\n            var reader = new FileReader(), insertionEffort = new qq.Promise(), originalImageDataUri = \"\";\n            reader.onload = function() {\n                originalImageDataUri = reader.result;\n                insertionEffort.success(qq.ExifRestorer.restore(originalImageDataUri, scaledImageDataUri));\n            };\n            reader.onerror = function() {\n                log(\"Problem reading \" + originalImage.name + \" during attempt to transfer EXIF data to scaled version.\", \"error\");\n                insertionEffort.failure();\n            };\n            reader.readAsDataURL(originalImage);\n            return insertionEffort;\n        },\n        _dataUriToBlob: function(dataUri) {\n            \"use strict\";\n            var byteString, mimeString, arrayBuffer, intArray;\n            if (dataUri.split(\",\")[0].indexOf(\"base64\") >= 0) {\n                byteString = atob(dataUri.split(\",\")[1]);\n            } else {\n                byteString = decodeURI(dataUri.split(\",\")[1]);\n            }\n            mimeString = dataUri.split(\",\")[0].split(\":\")[1].split(\";\")[0];\n            arrayBuffer = new ArrayBuffer(byteString.length);\n            intArray = new Uint8Array(arrayBuffer);\n            qq.each(byteString, function(idx, character) {\n                intArray[idx] = character.charCodeAt(0);\n            });\n            return this._createBlob(arrayBuffer, mimeString);\n        },\n        _createBlob: function(data, mime) {\n            \"use strict\";\n            var BlobBuilder = window.BlobBuilder || window.WebKitBlobBuilder || window.MozBlobBuilder || window.MSBlobBuilder, blobBuilder = BlobBuilder && new BlobBuilder();\n            if (blobBuilder) {\n                blobBuilder.append(data);\n                return blobBuilder.getBlob(mime);\n            } else {\n                return new Blob([ data ], {\n                    type: mime\n                });\n            }\n        }\n    });\n    qq.ExifRestorer = function() {\n        var ExifRestorer = {};\n        ExifRestorer.KEY_STR = \"ABCDEFGHIJKLMNOP\" + \"QRSTUVWXYZabcdef\" + \"ghijklmnopqrstuv\" + \"wxyz0123456789+/\" + \"=\";\n        ExifRestorer.encode64 = function(input) {\n            var output = \"\", chr1, chr2, chr3 = \"\", enc1, enc2, enc3, enc4 = \"\", i = 0;\n            do {\n                chr1 = input[i++];\n                chr2 = input[i++];\n                chr3 = input[i++];\n                enc1 = chr1 >> 2;\n                enc2 = (chr1 & 3) << 4 | chr2 >> 4;\n                enc3 = (chr2 & 15) << 2 | chr3 >> 6;\n                enc4 = chr3 & 63;\n                if (isNaN(chr2)) {\n                    enc3 = enc4 = 64;\n                } else if (isNaN(chr3)) {\n                    enc4 = 64;\n                }\n                output = output + this.KEY_STR.charAt(enc1) + this.KEY_STR.charAt(enc2) + this.KEY_STR.charAt(enc3) + this.KEY_STR.charAt(enc4);\n                chr1 = chr2 = chr3 = \"\";\n                enc1 = enc2 = enc3 = enc4 = \"\";\n            } while (i < input.length);\n            return output;\n        };\n        ExifRestorer.restore = function(origFileBase64, resizedFileBase64) {\n            var expectedBase64Header = \"data:image/jpeg;base64,\";\n            if (!origFileBase64.match(expectedBase64Header)) {\n                return resizedFileBase64;\n            }\n            var rawImage = this.decode64(origFileBase64.replace(expectedBase64Header, \"\"));\n            var segments = this.slice2Segments(rawImage);\n            var image = this.exifManipulation(resizedFileBase64, segments);\n            return expectedBase64Header + this.encode64(image);\n        };\n        ExifRestorer.exifManipulation = function(resizedFileBase64, segments) {\n            var exifArray = this.getExifArray(segments), newImageArray = this.insertExif(resizedFileBase64, exifArray), aBuffer = new Uint8Array(newImageArray);\n            return aBuffer;\n        };\n        ExifRestorer.getExifArray = function(segments) {\n            var seg;\n            for (var x = 0; x < segments.length; x++) {\n                seg = segments[x];\n                if (seg[0] == 255 & seg[1] == 225) {\n                    return seg;\n                }\n            }\n            return [];\n        };\n        ExifRestorer.insertExif = function(resizedFileBase64, exifArray) {\n            var imageData = resizedFileBase64.replace(\"data:image/jpeg;base64,\", \"\"), buf = this.decode64(imageData), separatePoint = buf.indexOf(255, 3), mae = buf.slice(0, separatePoint), ato = buf.slice(separatePoint), array = mae;\n            array = array.concat(exifArray);\n            array = array.concat(ato);\n            return array;\n        };\n        ExifRestorer.slice2Segments = function(rawImageArray) {\n            var head = 0, segments = [];\n            while (1) {\n                if (rawImageArray[head] == 255 & rawImageArray[head + 1] == 218) {\n                    break;\n                }\n                if (rawImageArray[head] == 255 & rawImageArray[head + 1] == 216) {\n                    head += 2;\n                } else {\n                    var length = rawImageArray[head + 2] * 256 + rawImageArray[head + 3], endPoint = head + length + 2, seg = rawImageArray.slice(head, endPoint);\n                    segments.push(seg);\n                    head = endPoint;\n                }\n                if (head > rawImageArray.length) {\n                    break;\n                }\n            }\n            return segments;\n        };\n        ExifRestorer.decode64 = function(input) {\n            var output = \"\", chr1, chr2, chr3 = \"\", enc1, enc2, enc3, enc4 = \"\", i = 0, buf = [];\n            var base64test = /[^A-Za-z0-9\\+\\/\\=]/g;\n            if (base64test.exec(input)) {\n                throw new Error(\"There were invalid base64 characters in the input text.  \" + \"Valid base64 characters are A-Z, a-z, 0-9, '+', '/',and '='\");\n            }\n            input = input.replace(/[^A-Za-z0-9\\+\\/\\=]/g, \"\");\n            do {\n                enc1 = this.KEY_STR.indexOf(input.charAt(i++));\n                enc2 = this.KEY_STR.indexOf(input.charAt(i++));\n                enc3 = this.KEY_STR.indexOf(input.charAt(i++));\n                enc4 = this.KEY_STR.indexOf(input.charAt(i++));\n                chr1 = enc1 << 2 | enc2 >> 4;\n                chr2 = (enc2 & 15) << 4 | enc3 >> 2;\n                chr3 = (enc3 & 3) << 6 | enc4;\n                buf.push(chr1);\n                if (enc3 != 64) {\n                    buf.push(chr2);\n                }\n                if (enc4 != 64) {\n                    buf.push(chr3);\n                }\n                chr1 = chr2 = chr3 = \"\";\n                enc1 = enc2 = enc3 = enc4 = \"\";\n            } while (i < input.length);\n            return buf;\n        };\n        return ExifRestorer;\n    }();\n    qq.TotalProgress = function(callback, getSize) {\n        \"use strict\";\n        var perFileProgress = {}, totalLoaded = 0, totalSize = 0, lastLoadedSent = -1, lastTotalSent = -1, callbackProxy = function(loaded, total) {\n            if (loaded !== lastLoadedSent || total !== lastTotalSent) {\n                callback(loaded, total);\n            }\n            lastLoadedSent = loaded;\n            lastTotalSent = total;\n        }, noRetryableFiles = function(failed, retryable) {\n            var none = true;\n            qq.each(failed, function(idx, failedId) {\n                if (qq.indexOf(retryable, failedId) >= 0) {\n                    none = false;\n                    return false;\n                }\n            });\n            return none;\n        }, onCancel = function(id) {\n            updateTotalProgress(id, -1, -1);\n            delete perFileProgress[id];\n        }, onAllComplete = function(successful, failed, retryable) {\n            if (failed.length === 0 || noRetryableFiles(failed, retryable)) {\n                callbackProxy(totalSize, totalSize);\n                this.reset();\n            }\n        }, onNew = function(id) {\n            var size = getSize(id);\n            if (size > 0) {\n                updateTotalProgress(id, 0, size);\n                perFileProgress[id] = {\n                    loaded: 0,\n                    total: size\n                };\n            }\n        }, updateTotalProgress = function(id, newLoaded, newTotal) {\n            var oldLoaded = perFileProgress[id] ? perFileProgress[id].loaded : 0, oldTotal = perFileProgress[id] ? perFileProgress[id].total : 0;\n            if (newLoaded === -1 && newTotal === -1) {\n                totalLoaded -= oldLoaded;\n                totalSize -= oldTotal;\n            } else {\n                if (newLoaded) {\n                    totalLoaded += newLoaded - oldLoaded;\n                }\n                if (newTotal) {\n                    totalSize += newTotal - oldTotal;\n                }\n            }\n            callbackProxy(totalLoaded, totalSize);\n        };\n        qq.extend(this, {\n            onAllComplete: onAllComplete,\n            onStatusChange: function(id, oldStatus, newStatus) {\n                if (newStatus === qq.status.CANCELED || newStatus === qq.status.REJECTED) {\n                    onCancel(id);\n                } else if (newStatus === qq.status.SUBMITTING) {\n                    onNew(id);\n                }\n            },\n            onIndividualProgress: function(id, loaded, total) {\n                updateTotalProgress(id, loaded, total);\n                perFileProgress[id] = {\n                    loaded: loaded,\n                    total: total\n                };\n            },\n            onNewSize: function(id) {\n                onNew(id);\n            },\n            reset: function() {\n                perFileProgress = {};\n                totalLoaded = 0;\n                totalSize = 0;\n            }\n        });\n    };\n    qq.PasteSupport = function(o) {\n        \"use strict\";\n        var options, detachPasteHandler;\n        options = {\n            targetElement: null,\n            callbacks: {\n                log: function(message, level) {},\n                pasteReceived: function(blob) {}\n            }\n        };\n        function isImage(item) {\n            return item.type && item.type.indexOf(\"image/\") === 0;\n        }\n        function registerPasteHandler() {\n            detachPasteHandler = qq(options.targetElement).attach(\"paste\", function(event) {\n                var clipboardData = event.clipboardData;\n                if (clipboardData) {\n                    qq.each(clipboardData.items, function(idx, item) {\n                        if (isImage(item)) {\n                            var blob = item.getAsFile();\n                            options.callbacks.pasteReceived(blob);\n                        }\n                    });\n                }\n            });\n        }\n        function unregisterPasteHandler() {\n            if (detachPasteHandler) {\n                detachPasteHandler();\n            }\n        }\n        qq.extend(options, o);\n        registerPasteHandler();\n        qq.extend(this, {\n            reset: function() {\n                unregisterPasteHandler();\n            }\n        });\n    };\n    qq.FormSupport = function(options, startUpload, log) {\n        \"use strict\";\n        var self = this, interceptSubmit = options.interceptSubmit, formEl = options.element, autoUpload = options.autoUpload;\n        qq.extend(this, {\n            newEndpoint: null,\n            newAutoUpload: autoUpload,\n            attachedToForm: false,\n            getFormInputsAsObject: function() {\n                if (formEl == null) {\n                    return null;\n                }\n                return self._form2Obj(formEl);\n            }\n        });\n        function determineNewEndpoint(formEl) {\n            if (formEl.getAttribute(\"action\")) {\n                self.newEndpoint = formEl.getAttribute(\"action\");\n            }\n        }\n        function validateForm(formEl, nativeSubmit) {\n            if (formEl.checkValidity && !formEl.checkValidity()) {\n                log(\"Form did not pass validation checks - will not upload.\", \"error\");\n                nativeSubmit();\n            } else {\n                return true;\n            }\n        }\n        function maybeUploadOnSubmit(formEl) {\n            var nativeSubmit = formEl.submit;\n            qq(formEl).attach(\"submit\", function(event) {\n                event = event || window.event;\n                if (event.preventDefault) {\n                    event.preventDefault();\n                } else {\n                    event.returnValue = false;\n                }\n                validateForm(formEl, nativeSubmit) && startUpload();\n            });\n            formEl.submit = function() {\n                validateForm(formEl, nativeSubmit) && startUpload();\n            };\n        }\n        function determineFormEl(formEl) {\n            if (formEl) {\n                if (qq.isString(formEl)) {\n                    formEl = document.getElementById(formEl);\n                }\n                if (formEl) {\n                    log(\"Attaching to form element.\");\n                    determineNewEndpoint(formEl);\n                    interceptSubmit && maybeUploadOnSubmit(formEl);\n                }\n            }\n            return formEl;\n        }\n        formEl = determineFormEl(formEl);\n        this.attachedToForm = !!formEl;\n    };\n    qq.extend(qq.FormSupport.prototype, {\n        _form2Obj: function(form) {\n            \"use strict\";\n            var obj = {}, notIrrelevantType = function(type) {\n                var irrelevantTypes = [ \"button\", \"image\", \"reset\", \"submit\" ];\n                return qq.indexOf(irrelevantTypes, type.toLowerCase()) < 0;\n            }, radioOrCheckbox = function(type) {\n                return qq.indexOf([ \"checkbox\", \"radio\" ], type.toLowerCase()) >= 0;\n            }, ignoreValue = function(el) {\n                if (radioOrCheckbox(el.type) && !el.checked) {\n                    return true;\n                }\n                return el.disabled && el.type.toLowerCase() !== \"hidden\";\n            }, selectValue = function(select) {\n                var value = null;\n                qq.each(qq(select).children(), function(idx, child) {\n                    if (child.tagName.toLowerCase() === \"option\" && child.selected) {\n                        value = child.value;\n                        return false;\n                    }\n                });\n                return value;\n            };\n            qq.each(form.elements, function(idx, el) {\n                if ((qq.isInput(el, true) || el.tagName.toLowerCase() === \"textarea\") && notIrrelevantType(el.type) && !ignoreValue(el)) {\n                    obj[el.name] = el.value;\n                } else if (el.tagName.toLowerCase() === \"select\" && !ignoreValue(el)) {\n                    var value = selectValue(el);\n                    if (value !== null) {\n                        obj[el.name] = value;\n                    }\n                }\n            });\n            return obj;\n        }\n    });\n    qq.traditional = qq.traditional || {};\n    qq.traditional.FormUploadHandler = function(options, proxy) {\n        \"use strict\";\n        var handler = this, getName = proxy.getName, getUuid = proxy.getUuid, log = proxy.log;\n        function getIframeContentJson(id, iframe) {\n            var response, doc, innerHtml;\n            try {\n                doc = iframe.contentDocument || iframe.contentWindow.document;\n                innerHtml = doc.body.innerHTML;\n                log(\"converting iframe's innerHTML to JSON\");\n                log(\"innerHTML = \" + innerHtml);\n                if (innerHtml && innerHtml.match(/^<pre/i)) {\n                    innerHtml = doc.body.firstChild.firstChild.nodeValue;\n                }\n                response = handler._parseJsonResponse(innerHtml);\n            } catch (error) {\n                log(\"Error when attempting to parse form upload response (\" + error.message + \")\", \"error\");\n                response = {\n                    success: false\n                };\n            }\n            return response;\n        }\n        function createForm(id, iframe) {\n            var params = options.paramsStore.get(id), method = options.method.toLowerCase() === \"get\" ? \"GET\" : \"POST\", endpoint = options.endpointStore.get(id), name = getName(id);\n            params[options.uuidName] = getUuid(id);\n            params[options.filenameParam] = name;\n            return handler._initFormForUpload({\n                method: method,\n                endpoint: endpoint,\n                params: params,\n                paramsInBody: options.paramsInBody,\n                targetName: iframe.name\n            });\n        }\n        this.uploadFile = function(id) {\n            var input = handler.getInput(id), iframe = handler._createIframe(id), promise = new qq.Promise(), form;\n            form = createForm(id, iframe);\n            form.appendChild(input);\n            handler._attachLoadEvent(iframe, function(responseFromMessage) {\n                log(\"iframe loaded\");\n                var response = responseFromMessage ? responseFromMessage : getIframeContentJson(id, iframe);\n                handler._detachLoadEvent(id);\n                if (!options.cors.expected) {\n                    qq(iframe).remove();\n                }\n                if (response.success) {\n                    promise.success(response);\n                } else {\n                    promise.failure(response);\n                }\n            });\n            log(\"Sending upload request for \" + id);\n            form.submit();\n            qq(form).remove();\n            return promise;\n        };\n        qq.extend(this, new qq.FormUploadHandler({\n            options: {\n                isCors: options.cors.expected,\n                inputName: options.inputName\n            },\n            proxy: {\n                onCancel: options.onCancel,\n                getName: getName,\n                getUuid: getUuid,\n                log: log\n            }\n        }));\n    };\n    qq.traditional = qq.traditional || {};\n    qq.traditional.XhrUploadHandler = function(spec, proxy) {\n        \"use strict\";\n        var handler = this, getName = proxy.getName, getSize = proxy.getSize, getUuid = proxy.getUuid, log = proxy.log, multipart = spec.forceMultipart || spec.paramsInBody, addChunkingSpecificParams = function(id, params, chunkData) {\n            var size = getSize(id), name = getName(id);\n            params[spec.chunking.paramNames.partIndex] = chunkData.part;\n            params[spec.chunking.paramNames.partByteOffset] = chunkData.start;\n            params[spec.chunking.paramNames.chunkSize] = chunkData.size;\n            params[spec.chunking.paramNames.totalParts] = chunkData.count;\n            params[spec.totalFileSizeName] = size;\n            if (multipart) {\n                params[spec.filenameParam] = name;\n            }\n        }, allChunksDoneRequester = new qq.traditional.AllChunksDoneAjaxRequester({\n            cors: spec.cors,\n            endpoint: spec.chunking.success.endpoint,\n            log: log\n        }), createReadyStateChangedHandler = function(id, xhr) {\n            var promise = new qq.Promise();\n            xhr.onreadystatechange = function() {\n                if (xhr.readyState === 4) {\n                    var result = onUploadOrChunkComplete(id, xhr);\n                    if (result.success) {\n                        promise.success(result.response, xhr);\n                    } else {\n                        promise.failure(result.response, xhr);\n                    }\n                }\n            };\n            return promise;\n        }, getChunksCompleteParams = function(id) {\n            var params = spec.paramsStore.get(id), name = getName(id), size = getSize(id);\n            params[spec.uuidName] = getUuid(id);\n            params[spec.filenameParam] = name;\n            params[spec.totalFileSizeName] = size;\n            params[spec.chunking.paramNames.totalParts] = handler._getTotalChunks(id);\n            return params;\n        }, isErrorUploadResponse = function(xhr, response) {\n            return qq.indexOf([ 200, 201, 202, 203, 204 ], xhr.status) < 0 || !response.success || response.reset;\n        }, onUploadOrChunkComplete = function(id, xhr) {\n            var response;\n            log(\"xhr - server response received for \" + id);\n            log(\"responseText = \" + xhr.responseText);\n            response = parseResponse(true, xhr);\n            return {\n                success: !isErrorUploadResponse(xhr, response),\n                response: response\n            };\n        }, parseResponse = function(upload, xhr) {\n            var response = {};\n            try {\n                log(qq.format(\"Received response status {} with body: {}\", xhr.status, xhr.responseText));\n                response = qq.parseJson(xhr.responseText);\n            } catch (error) {\n                upload && log(\"Error when attempting to parse xhr response text (\" + error.message + \")\", \"error\");\n            }\n            return response;\n        }, sendChunksCompleteRequest = function(id) {\n            var promise = new qq.Promise();\n            allChunksDoneRequester.complete(id, handler._createXhr(id), getChunksCompleteParams(id), spec.customHeaders.get(id)).then(function(xhr) {\n                promise.success(parseResponse(false, xhr), xhr);\n            }, function(xhr) {\n                promise.failure(parseResponse(false, xhr), xhr);\n            });\n            return promise;\n        }, setParamsAndGetEntityToSend = function(params, xhr, fileOrBlob, id) {\n            var formData = new FormData(), method = spec.method, endpoint = spec.endpointStore.get(id), name = getName(id), size = getSize(id);\n            params[spec.uuidName] = getUuid(id);\n            params[spec.filenameParam] = name;\n            if (multipart) {\n                params[spec.totalFileSizeName] = size;\n            }\n            if (!spec.paramsInBody) {\n                if (!multipart) {\n                    params[spec.inputName] = name;\n                }\n                endpoint = qq.obj2url(params, endpoint);\n            }\n            xhr.open(method, endpoint, true);\n            if (spec.cors.expected && spec.cors.sendCredentials) {\n                xhr.withCredentials = true;\n            }\n            if (multipart) {\n                if (spec.paramsInBody) {\n                    qq.obj2FormData(params, formData);\n                }\n                formData.append(spec.inputName, fileOrBlob);\n                return formData;\n            }\n            return fileOrBlob;\n        }, setUploadHeaders = function(id, xhr) {\n            var extraHeaders = spec.customHeaders.get(id), fileOrBlob = handler.getFile(id);\n            xhr.setRequestHeader(\"Accept\", \"application/json\");\n            xhr.setRequestHeader(\"X-Requested-With\", \"XMLHttpRequest\");\n            xhr.setRequestHeader(\"Cache-Control\", \"no-cache\");\n            if (!multipart) {\n                xhr.setRequestHeader(\"Content-Type\", \"application/octet-stream\");\n                xhr.setRequestHeader(\"X-Mime-Type\", fileOrBlob.type);\n            }\n            qq.each(extraHeaders, function(name, val) {\n                xhr.setRequestHeader(name, val);\n            });\n        };\n        qq.extend(this, {\n            uploadChunk: function(id, chunkIdx, resuming) {\n                var chunkData = handler._getChunkData(id, chunkIdx), xhr = handler._createXhr(id, chunkIdx), size = getSize(id), promise, toSend, params;\n                promise = createReadyStateChangedHandler(id, xhr);\n                handler._registerProgressHandler(id, chunkIdx, chunkData.size);\n                params = spec.paramsStore.get(id);\n                addChunkingSpecificParams(id, params, chunkData);\n                if (resuming) {\n                    params[spec.resume.paramNames.resuming] = true;\n                }\n                toSend = setParamsAndGetEntityToSend(params, xhr, chunkData.blob, id);\n                setUploadHeaders(id, xhr);\n                xhr.send(toSend);\n                return promise;\n            },\n            uploadFile: function(id) {\n                var fileOrBlob = handler.getFile(id), promise, xhr, params, toSend;\n                xhr = handler._createXhr(id);\n                handler._registerProgressHandler(id);\n                promise = createReadyStateChangedHandler(id, xhr);\n                params = spec.paramsStore.get(id);\n                toSend = setParamsAndGetEntityToSend(params, xhr, fileOrBlob, id);\n                setUploadHeaders(id, xhr);\n                xhr.send(toSend);\n                return promise;\n            }\n        });\n        qq.extend(this, new qq.XhrUploadHandler({\n            options: qq.extend({\n                namespace: \"traditional\"\n            }, spec),\n            proxy: qq.extend({\n                getEndpoint: spec.endpointStore.get\n            }, proxy)\n        }));\n        qq.override(this, function(super_) {\n            return {\n                finalizeChunks: function(id) {\n                    if (spec.chunking.success.endpoint) {\n                        return sendChunksCompleteRequest(id);\n                    } else {\n                        return super_.finalizeChunks(id, qq.bind(parseResponse, this, true));\n                    }\n                }\n            };\n        });\n    };\n    qq.traditional.AllChunksDoneAjaxRequester = function(o) {\n        \"use strict\";\n        var requester, method = \"POST\", options = {\n            cors: {\n                allowXdr: false,\n                expected: false,\n                sendCredentials: false\n            },\n            endpoint: null,\n            log: function(str, level) {}\n        }, promises = {}, endpointHandler = {\n            get: function(id) {\n                return options.endpoint;\n            }\n        };\n        qq.extend(options, o);\n        requester = qq.extend(this, new qq.AjaxRequester({\n            acceptHeader: \"application/json\",\n            validMethods: [ method ],\n            method: method,\n            endpointStore: endpointHandler,\n            allowXRequestedWithAndCacheControl: false,\n            cors: options.cors,\n            log: options.log,\n            onComplete: function(id, xhr, isError) {\n                var promise = promises[id];\n                delete promises[id];\n                if (isError) {\n                    promise.failure(xhr);\n                } else {\n                    promise.success(xhr);\n                }\n            }\n        }));\n        qq.extend(this, {\n            complete: function(id, xhr, params, headers) {\n                var promise = new qq.Promise();\n                options.log(\"Submitting All Chunks Done request for \" + id);\n                promises[id] = promise;\n                requester.initTransport(id).withParams(params).withHeaders(headers).send(xhr);\n                return promise;\n            }\n        });\n    };\n})(window);\n//# sourceMappingURL=fine-uploader.core.js.map","\"use strict\";\r\n\r\nmodule.exports = require(\"../../fine-uploader/fine-uploader.core\");\r\n","/*!\n * froala_editor v4.6.2 (https://www.froala.com/wysiwyg-editor)\n * License https://froala.com/wysiwyg-editor/terms/\n * Copyright 2014-2025 Froala Labs\n */\n\n!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):e.FroalaEditor=t()}(this,function(){\"use strict\";function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function N(e,t,n,r,o,i,a){try{var s=e[i](a),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(r,o)}function S(e,t){var n=\"undefined\"!=typeof Symbol&&e[Symbol.iterator]||e[\"@@iterator\"];if(!n){if(Array.isArray(e)||(n=l(e))||t&&e&&\"number\"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}var i,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,i=e},f:function(){try{a||null==n[\"return\"]||n[\"return\"]()}finally{if(s)throw i}}}}function M(e,t,n){return(t=function r(e){var t=function o(e,t){if(\"object\"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0===n)return(\"string\"===t?String:Number)(e);var r=n.call(e,t||\"default\");if(\"object\"!=typeof r)return r;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}(e,\"string\");return\"symbol\"==typeof t?t:t+\"\"}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function A(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,r)}return n}function T(){var h,g,e=\"function\"==typeof Symbol?Symbol:{},t=e.iterator||\"@@iterator\",n=e.toStringTag||\"@@toStringTag\";function r(e,t,n,u){var r=t&&t.prototype instanceof i?t:i,o=Object.create(r.prototype);return d(o,\"_invoke\",function(r,o,e){var i,a,s,l=0,c=u||[],d=!1,f={p:0,n:0,v:h,a:p,f:p.bind(h,4),d:function(e,t){return i=e,a=0,s=h,f.n=t,C}};function p(e,t){for(a=e,s=t,g=0;!d&&l&&!n&&g<c.length;g++){var n,r=c[g],o=f.p,i=r[2];3<e?(n=i===t)&&(s=r[(a=r[4])?5:(a=3,3)],r[4]=r[5]=h):r[0]<=o&&((n=e<2&&o<r[1])?(a=0,f.v=t,f.n=r[1]):o<i&&(n=e<3||r[0]>t||i<t)&&(r[4]=e,r[5]=t,f.n=i,a=0))}if(n||1<e)return C;throw d=!0,t}return function(e,t,n){if(1<l)throw TypeError(\"Generator is already running\");for(d&&1===t&&p(t,n),a=t,s=n;(g=a<2?h:s)||!d;){i||(a?a<3?(1<a&&(f.n=-1),p(a,s)):f.n=s:f.v=s);try{if(l=2,i){if(a||(e=\"next\"),g=i[e]){if(!(g=g.call(i,s)))throw TypeError(\"iterator result is not an object\");if(!g.done)return g;s=g.value,a<2&&(a=0)}else 1===a&&(g=i[\"return\"])&&g.call(i),a<2&&(s=TypeError(\"The iterator does not provide a '\"+e+\"' method\"),a=1);i=h}else if((g=(d=f.n<0)?s:r.call(o,f))!==C)break}catch(g){i=h,a=1,s=g}finally{l=1}}return{value:g,done:d}}}(e,n),!0),o}var C={};function i(){}function o(){}function a(){}g=Object.getPrototypeOf;var s=[][t]?g(g([][t]())):(d(g={},t,function(){return this}),g),l=a.prototype=i.prototype=Object.create(s);function c(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,a):(e.__proto__=a,d(e,n,\"GeneratorFunction\")),e.prototype=Object.create(l),e}return d(l,\"constructor\",o.prototype=a),d(a,\"constructor\",o),d(a,n,o.displayName=\"GeneratorFunction\"),d(l),d(l,n,\"Generator\"),d(l,t,function(){return this}),d(l,\"toString\",function(){return\"[object Generator]\"}),(T=function(){return{w:r,m:c}})()}function d(e,t,n,r){var i=Object.defineProperty;try{i({},\"\",{})}catch(e){i=0}(d=function(e,t,n,r){function o(t,n){d(e,t,function(e){return this._invoke(t,n,e)})}t?i?i(e,t,{value:n,enumerable:!r,configurable:!r,writable:!r}):e[t]=n:(o(\"next\",0),o(\"throw\",1),o(\"return\",2))})(e,t,n,r)}function H(e,t){return function n(e){if(Array.isArray(e))return e}(e)||function d(e,t){var n=null==e?null:\"undefined\"!=typeof Symbol&&e[Symbol.iterator]||e[\"@@iterator\"];if(null!=n){var r,o,i,a,s=[],l=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=i.call(n)).done)&&(s.push(r.value),s.length!==t);l=!0);}catch(e){c=!0,o=e}finally{try{if(!l&&null!=n[\"return\"]&&(a=n[\"return\"](),Object(a)!==a))return}finally{if(c)throw o}}return s}}(e,t)||l(e,t)||function r(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function x(e){return function t(e){if(Array.isArray(e))return o(e)}(e)||function n(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||l(e)||function r(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function w(e){return(w=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function l(e,t){if(e){if(\"string\"==typeof e)return o(e,t);var n={}.toString.call(e).slice(8,-1);return\"Object\"===n&&e.constructor&&(n=e.constructor.name),\"Map\"===n||\"Set\"===n?Array.from(e):\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?o(e,t):void 0}}Element.prototype.matches||(Element.prototype.matches=Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector),Element.prototype.closest||(Element.prototype.closest=function(e){var t=this;if(!document.documentElement.contains(t))return null;do{if(t.matches(e))return t;t=t.parentElement||t.parentNode}while(null!==t&&1===t.nodeType);return null}),Element.prototype.matches||(Element.prototype.matches=Element.prototype.matchesSelector||Element.prototype.mozMatchesSelector||Element.prototype.msMatchesSelector||Element.prototype.oMatchesSelector||Element.prototype.webkitMatchesSelector||function(e){for(var t=(this.document||this.ownerDocument).querySelectorAll(e),n=t.length;0<=--n&&t.item(n)!==this;);return-1<n}),Array.isArray||(Array.isArray=function(e){return\"[object Array]\"===Object.prototype.toString.call(e)}),\"function\"!=typeof Object.assign&&Object.defineProperty(Object,\"assign\",{value:function(e,t){if(null==e)throw new TypeError(\"Cannot convert undefined or null to object\");for(var n=Object(e),r=1;r<arguments.length;r++){var o=arguments[r];if(null!=o)for(var i in o)Object.prototype.hasOwnProperty.call(o,i)&&(n[i]=o[i])}return n},writable:!0,configurable:!0}),function(){var a=/^\\s*:scope/gi,s=/,\\s*:scope/gi,l=document.createElement(\"div\");function e(e,t){var i=e[t];e[t]=function(e){var t,n=!1,r=!1;if(!e||Array.isArray(e)||!e.match(a)&&!e.match(s))return i.call(this,e);this.parentNode||(l.appendChild(this),r=!0);var o=this.parentNode;return this.id||(this.id=\"rootedQuerySelector_id_\".concat((new Date).getTime()),n=!0),t=i.call(o,e.replace(a,\"#\".concat(this.id)).replace(s,\",#\".concat(this.id))),n&&(this.id=\"\"),r&&l.removeChild(this),t}}try{var t=l.querySelectorAll(\":scope *\");if(!t||Array.isArray(t))throw\"error\"}catch(n){e(Element.prototype,\"querySelector\"),e(Element.prototype,\"querySelectorAll\"),e(HTMLElement.prototype,\"querySelector\"),e(HTMLElement.prototype,\"querySelectorAll\")}}(),\"document\"in self&&(\"classList\"in document.createElement(\"_\")&&(!document.createElementNS||\"classList\"in document.createElementNS(\"http://www.w3.org/2000/svg\",\"g\"))||function(e){if(\"Element\"in e){var t=\"classList\",n=\"prototype\",r=e.Element[n],o=Object,i=String[n].trim||function(){return this.replace(/^\\s+|\\s+$/g,\"\")},a=Array[n].indexOf||function(e){for(var t=0,n=this.length;t<n;t++)if(t in this&&this[t]===e)return t;return-1},s=function s(e,t){this.name=e,this.code=DOMException[e],this.message=t},l=function l(e,t){if(\"\"===t)throw new s(\"SYNTAX_ERR\",\"The token must not be empty.\");if(/\\s/.test(t))throw new s(\"INVALID_CHARACTER_ERR\",\"The token must not contain space characters.\");return a.call(e,t)},c=function c(e){for(var t=i.call(e.getAttribute(\"class\")||\"\"),n=t?t.split(/\\s+/):[],r=0,o=n.length;r<o;r++)this.push(n[r]);this._updateClassName=function(){e.setAttribute(\"class\",this.toString())}},d=c[n]=[],f=function f(){return new c(this)};if(s[n]=Error[n],d.item=function(e){return this[e]||null},d.contains=function(e){return~l(this,e+\"\")},d.add=function(){for(var e,t=arguments,n=0,r=t.length,o=!1;e=t[n]+\"\",~l(this,e)||(this.push(e),o=!0),++n<r;);o&&this._updateClassName()},d.remove=function(){var e,t,n=arguments,r=0,o=n.length,i=!1;do{for(e=n[r]+\"\",t=l(this,e);~t;)this.splice(t,1),i=!0,t=l(this,e)}while(++r<o);i&&this._updateClassName()},d.toggle=function(e,t){var n=this.contains(e),r=n?!0!==t&&\"remove\":!1!==t&&\"add\";return r&&this[r](e),!0===t||!1===t?t:!n},d.replace=function(e,t){var n=l(e+\"\");~n&&(this.splice(n,1,t),this._updateClassName())},d.toString=function(){return this.join(\" \")},o.defineProperty){var p={get:f,enumerable:!0,configurable:!0};try{o.defineProperty(r,t,p)}catch(u){void 0!==u.number&&-2146823252!==u.number||(p.enumerable=!1,o.defineProperty(r,t,p))}}else o[n].__defineGetter__&&r.__defineGetter__(t,f)}}(self),function(){var e=document.createElement(\"_\");if(e.classList.add(\"c1\",\"c2\"),!e.classList.contains(\"c2\")){var t=function pf(e){var pf=DOMTokenList.prototype[e];DOMTokenList.prototype[e]=function(e){var t,n=arguments.length;for(t=0;t<n;t++)e=arguments[t],pf.call(this,e)}};t(\"add\"),t(\"remove\")}if(e.classList.toggle(\"c3\",!1),e.classList.contains(\"c3\")){var n=DOMTokenList.prototype.toggle;DOMTokenList.prototype.toggle=function(e,t){return 1 in arguments&&!this.contains(e)==!t?t:n.call(this,e)}}\"replace\"in document.createElement(\"_\").classList||(DOMTokenList.prototype.replace=function(e,t){var n=this.toString().split(\" \"),r=n.indexOf(e+\"\");~r&&(n=n.slice(r),this.remove.apply(this,n),this.add(t),this.add.apply(this,n.slice(1)))}),e=null}()),function(){var e,t=-1;if(\"Microsoft Internet Explorer\"===navigator.appName?(e=navigator.userAgent,null!==new RegExp(\"MSIE ([0-9]{1,}[\\\\.0-9]{0,})\").exec(e)&&(t=parseFloat(RegExp.$1))):\"Netscape\"===navigator.appName&&(e=navigator.userAgent,null!==new RegExp(\"Trident/.*rv:([0-9]{1,}[\\\\.0-9]{0,})\").exec(e)&&(t=parseFloat(RegExp.$1))),!(\"undefined\"==typeof window||\"undefined\"==typeof document||\"undefined\"==typeof HTMLElement||t<0)){var n=!1;try{var r=document.createElement(\"div\");r.addEventListener(\"focus\",function(e){e.preventDefault(),e.stopPropagation()},!0),r.focus(Object.defineProperty({},\"preventScroll\",{get:function(){if(navigator&&\"undefined\"!=typeof navigator.userAgent&&navigator.userAgent&&navigator.userAgent.match(/Edge\\/1[7-8]/))return n=!1;n=!0}}))}catch(s){}if(HTMLElement.prototype.nativeFocus===undefined&&!n){HTMLElement.prototype.nativeFocus=HTMLElement.prototype.focus;var o=function o(e){for(var t=e.parentNode,n=[],r=document.scrollingElement||document.documentElement;t&&t!==r;)(t.offsetHeight<t.scrollHeight||t.offsetWidth<t.scrollWidth)&&n.push([t,t.scrollTop,t.scrollLeft]),t=t.parentNode;return t=r,n.push([t,t.scrollTop,t.scrollLeft]),n},i=function i(e){for(var t=0;t<e.length;t++)e[t][0].scrollTop=e[t][1],e[t][0].scrollLeft=e[t][2];e=[]},a=function a(e){if(e&&e.preventScroll){var t=o(this);if(\"function\"==typeof setTimeout){var n=this;setTimeout(function(){n.nativeFocus(),i(t)},0)}else this.nativeFocus(),i(t)}else this.nativeFocus()};HTMLElement.prototype.focus=a}}}();function Y(e,t,n){if(\"string\"!=typeof e)return new Y.Bootstrap(e,t,n);var r=document.querySelectorAll(e);t&&t.iframe_document&&(r=t.iframe_document.querySelectorAll(e));for(var o=[],i=0;i<r.length;i++){var a=r[i][\"data-froala.editor\"];a?o.push(a):o.push(new Y.Bootstrap(r[i],t,n))}return 1==o.length?o[0]:o}Y.RegisterPlugins=function(e){for(var t=0;t<e.length;t++)e[t].call(Y)},Object.assign(Y,{DEFAULTS:{allowStylingOnNonEditable:!1,initOnClick:!1,pluginsEnabled:null,pluginsDisabled:null},MODULES:{},PLUGINS:{},VERSION:\"4.6.2\",INSTANCES:[],OPTS_MAPPING:{},SHARED:{},ID:0}),Y.MODULES.node=function(a){var n=a.$;function s(e){return e&&\"IFRAME\"!==e.tagName?Array.prototype.slice.call(e.childNodes||[]):[]}function l(e){return!!e&&(e.nodeType===Node.ELEMENT_NODE&&0<=Y.BLOCK_TAGS.indexOf(e.tagName.toLowerCase()))}function c(e){var t={},n=e.attributes;if(n)for(var r=0;r<n.length;r++){var o=n[r];t[o.nodeName]=o.value}return t}function t(e){for(var t=\"\",n=c(e),r=Object.keys(n),o=0;o<r.length;o++){var i=r[o],a=n[i];a.indexOf(\"'\")<0&&0<=a.indexOf('\"')?t+=\" \".concat(i,\"='\").concat(a,\"'\"):(0<=a.indexOf('\"')&&0<=a.indexOf(\"'\")&&(a=a.replace(/\"/g,\"&quot;\")),t+=\" \".concat(i,'=\"').concat(a,'\"'))}return t}function r(e){return e===a.el}return{isBlock:l,isEmpty:function d(e,t){if(!e)return!0;if(e.querySelector(\"table\"))return!1;var n=s(e);1===n.length&&l(n[0])&&(n=s(n[0]));for(var r=!1,o=0;o<n.length;o++){var i=n[o];if(!(t&&a.node.hasClass(i,\"fr-marker\")||i.nodeType===Node.TEXT_NODE&&0===i.textContent.length)){if(\"BR\"!==i.tagName&&0<(i.textContent||\"\").replace(/\\u200B/gi,\"\").replace(/\\n/g,\"\").length)return!1;if(r)return!1;\"BR\"===i.tagName&&(r=!0)}}return!(e.querySelectorAll(Y.VOID_ELEMENTS.join(\",\")).length-e.querySelectorAll(\"br\").length||e.querySelector(\"\".concat(a.opts.htmlAllowedEmptyTags.join(\":not(.fr-marker),\"),\":not(.fr-marker)\"))||1<e.querySelectorAll(Y.BLOCK_TAGS.join(\",\")).length||e.querySelector(\"\".concat(a.opts.htmlDoNotWrapTags.join(\":not(.fr-marker),\"),\":not(.fr-marker)\")))},blockParent:function o(e){for(;e&&e.parentNode!==a.el&&(!e.parentNode||!a.node.hasClass(e.parentNode,\"fr-inner\"));)if(l(e=e.parentNode))return e;return null},deepestParent:function i(e,t,n){if(void 0===t&&(t=[]),void 0===n&&(n=!0),t.push(a.el),0<=t.indexOf(e.parentNode)||e.parentNode&&a.node.hasClass(e.parentNode,\"fr-inner\")||e.parentNode&&0<=Y.SIMPLE_ENTER_TAGS.indexOf(e.parentNode.tagName)&&n)return null;for(;t.indexOf(e.parentNode)<0&&e.parentNode&&!a.node.hasClass(e.parentNode,\"fr-inner\")&&(Y.SIMPLE_ENTER_TAGS.indexOf(e.parentNode.tagName)<0||!n)&&(!l(e)||l(e.parentNode))&&(!l(e)||!l(e.parentNode)||!n);)e=e.parentNode;return e},rawAttributes:c,attributes:t,clearAttributes:function f(e){for(var t=e.attributes,n=t.length-1;0<=n;n--){var r=t[n];e.removeAttribute(r.nodeName)}},openTagString:function p(e){return\"<\".concat(e.tagName.toLowerCase()).concat(t(e),\">\")},closeTagString:function u(e){return\"</\".concat(e.tagName.toLowerCase(),\">\")},isFirstSibling:function h(e,t){void 0===t&&(t=!0);for(var n=e.previousSibling;n&&t&&a.node.hasClass(n,\"fr-marker\");)n=n.previousSibling;return!n||n.nodeType===Node.TEXT_NODE&&\"\"===n.textContent&&h(n)},isLastSibling:function g(e,t){void 0===t&&(t=!0);for(var n=e.nextSibling;n&&t&&a.node.hasClass(n,\"fr-marker\");)n=n.nextSibling;return!n||n.nodeType===Node.TEXT_NODE&&\"\"===n.textContent&&g(n)},isList:function C(e){return!!e&&0<=[\"UL\",\"OL\"].indexOf(e.tagName)},isLink:function m(e){return!!e&&e.nodeType===Node.ELEMENT_NODE&&\"a\"===e.tagName.toLowerCase()},isElement:r,contents:s,isVoid:function v(e){return e&&e.nodeType===Node.ELEMENT_NODE&&0<=Y.VOID_ELEMENTS.indexOf((e.tagName||\"\").toLowerCase())},hasFocus:function b(e){return e===a.doc.activeElement&&(!a.doc.hasFocus||a.doc.hasFocus())&&Boolean(r(e)||e.type||e.href||~e.tabIndex)},isEditable:function E(e){return(!e.getAttribute||\"false\"!==e.getAttribute(\"contenteditable\"))&&[\"STYLE\",\"SCRIPT\"].indexOf(e.tagName)<0&&!(e.viewportElement&&\"svg\"===e.viewportElement.tagName)},isDeletable:function L(e){return e&&e.nodeType===Node.ELEMENT_NODE&&e.getAttribute(\"class\")&&0<=(e.getAttribute(\"class\")||\"\").indexOf(\"fr-deletable\")},hasClass:function y(e,t){return e instanceof n&&(e=e.get(0)),e&&e.classList&&e.classList.contains(t)},filter:function N(e){return a.browser.msie?e:{acceptNode:e}}}},Object.assign(Y.DEFAULTS,{DOMPurify:window.DOMPurify,htmlAllowedTags:[\"a\",\"abbr\",\"address\",\"area\",\"article\",\"aside\",\"audio\",\"b\",\"base\",\"bdi\",\"bdo\",\"blockquote\",\"br\",\"button\",\"canvas\",\"caption\",\"cite\",\"code\",\"col\",\"colgroup\",\"datalist\",\"dd\",\"del\",\"details\",\"dfn\",\"dialog\",\"div\",\"dl\",\"dt\",\"em\",\"embed\",\"fieldset\",\"figcaption\",\"figure\",\"footer\",\"form\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"header\",\"hgroup\",\"hr\",\"i\",\"iframe\",\"img\",\"input\",\"ins\",\"kbd\",\"keygen\",\"label\",\"legend\",\"li\",\"link\",\"main\",\"map\",\"mark\",\"menu\",\"menuitem\",\"meter\",\"nav\",\"noscript\",\"object\",\"ol\",\"optgroup\",\"option\",\"output\",\"p\",\"param\",\"pre\",\"progress\",\"queue\",\"rp\",\"rt\",\"ruby\",\"s\",\"samp\",\"script\",\"style\",\"section\",\"select\",\"small\",\"source\",\"span\",\"strike\",\"strong\",\"sub\",\"summary\",\"sup\",\"table\",\"tbody\",\"td\",\"textarea\",\"tfoot\",\"th\",\"thead\",\"time\",\"tr\",\"track\",\"u\",\"ul\",\"var\",\"video\",\"wbr\"],htmlRemoveTags:[\"script\",\"style\"],htmlAllowedAttrs:[\"accept\",\"accept-charset\",\"accesskey\",\"action\",\"align\",\"allowfullscreen\",\"allowtransparency\",\"alt\",\"async\",\"autocomplete\",\"autofocus\",\"autoplay\",\"autosave\",\"background\",\"bgcolor\",\"border\",\"charset\",\"cellpadding\",\"cellspacing\",\"checked\",\"cite\",\"class\",\"color\",\"cols\",\"colspan\",\"content\",\"contenteditable\",\"contextmenu\",\"controls\",\"coords\",\"data\",\"data-.*\",\"datetime\",\"default\",\"defer\",\"dir\",\"dirname\",\"disabled\",\"download\",\"draggable\",\"dropzone\",\"enctype\",\"for\",\"form\",\"formaction\",\"frameborder\",\"headers\",\"height\",\"hidden\",\"high\",\"href\",\"hreflang\",\"http-equiv\",\"icon\",\"id\",\"ismap\",\"itemprop\",\"keytype\",\"kind\",\"label\",\"lang\",\"language\",\"list\",\"loop\",\"low\",\"max\",\"maxlength\",\"media\",\"method\",\"min\",\"mozallowfullscreen\",\"multiple\",\"muted\",\"name\",\"novalidate\",\"open\",\"optimum\",\"pattern\",\"ping\",\"placeholder\",\"playsinline\",\"poster\",\"preload\",\"pubdate\",\"radiogroup\",\"readonly\",\"rel\",\"required\",\"reversed\",\"rows\",\"rowspan\",\"sandbox\",\"scope\",\"scoped\",\"scrolling\",\"seamless\",\"selected\",\"shape\",\"size\",\"sizes\",\"span\",\"src\",\"srcdoc\",\"srclang\",\"srcset\",\"start\",\"step\",\"summary\",\"spellcheck\",\"style\",\"tabindex\",\"target\",\"title\",\"type\",\"translate\",\"usemap\",\"value\",\"valign\",\"webkitallowfullscreen\",\"width\",\"wrap\"],htmlAllowedStyleProps:[\".*\"],htmlAllowComments:!0,htmlUntouched:!1,preserveTabSpaces:!1,fullPage:!1}),Y.HTML5Map={B:\"STRONG\",I:\"EM\",STRIKE:\"S\"},Y.MODULES.clean=function(C){var m,v,b,E,f=C.$;function o(e){if(e.nodeType===Node.ELEMENT_NODE&&e.getAttribute(\"class\")&&0<=e.getAttribute(\"class\").indexOf(\"fr-marker\")||[\"TABLE\",\"TBODY\",\"THEAD\",\"TFOOT\",\"TR\",\"TD\",\"TH\"].includes(e.nodeName))return!1;var t,n=C.node.contents(e),r=[];for(t=0;t<n.length;t++)n[t].nodeType!==Node.ELEMENT_NODE||C.node.isVoid(n[t])?n[t].nodeType===Node.TEXT_NODE&&(n[t].textContent=n[t].textContent.replace(/\\u200b/g,\"\")):n[t].textContent.replace(/\\u200b/g,\"\").length!==n[t].textContent.length&&o(n[t]);if(e.nodeType===Node.ELEMENT_NODE&&!C.node.isVoid(e)&&(e.normalize(),n=C.node.contents(e),r=e.querySelectorAll(\".fr-marker\"),n.length-r.length==0)){for(t=0;t<n.length;t++)if(n[t].nodeType===Node.ELEMENT_NODE&&(n[t].getAttribute(\"class\")||\"\").indexOf(\"fr-marker\")<0)return!1;for(t=0;t<r.length;t++)e.parentNode.insertBefore(r[t].cloneNode(!0),e);return e.parentNode.removeChild(e),!1}}function s(e,t){if(e.nodeType===Node.COMMENT_NODE)return\"\\x3c!--\".concat(e.nodeValue,\"--\\x3e\");if(e.nodeType===Node.TEXT_NODE)return t?e.textContent.replace(/&/g,\"&amp;\").replace(/</g,\"&lt;\").replace(/>/g,\"&gt;\"):C.opts.preserveTabSpaces?e.textContent.replace(/&/g,\"&amp;\").replace(/</g,\"&lt;\").replace(/>/g,\"&gt;\").replace(/\\u00A0/g,\"&nbsp;\").replace(/\\t/g,\" \".repeat(C.opts.tabSpaces)||\" \".repeat(4)):e.textContent.replace(/&/g,\"&amp;\").replace(/</g,\"&lt;\").replace(/>/g,\"&gt;\").replace(/\\u00A0/g,\"&nbsp;\").replace(/\\t/g,\"\");if(e.nodeType!==Node.ELEMENT_NODE)return e.outerHTML;if(e.nodeType===Node.ELEMENT_NODE&&0<=[\"STYLE\",\"SCRIPT\",\"NOSCRIPT\"].indexOf(e.tagName))return e.outerHTML;if(e.nodeType===Node.ELEMENT_NODE&&\"svg\"===e.tagName){var n=document.createElement(\"div\"),r=e.cloneNode(!0);return n.appendChild(r),n.innerHTML}if(\"IFRAME\"===e.tagName)return e.outerHTML.replace(/&lt;/g,\"<\").replace(/&gt;/g,\">\");var o=e.childNodes;if(0===o.length)return e.outerHTML;for(var i=\"\",a=0;a<o.length;a++)\"PRE\"===e.tagName&&(t=!0),i+=s(o[a],t);return C.node.openTagString(e)+i+C.node.closeTagString(e)}var l=[];function L(e){var t=e.replace(/;;/gi,\";\");return\";\"!==(t=t.replace(/^;/gi,\"\")).charAt(t.length)&&(t+=\";\"),t}function c(e){var t;for(t in e)if(Object.prototype.hasOwnProperty.call(e,t)){var n=t.match(b),r=null;\"style\"===t&&C.opts.htmlAllowedStyleProps.length&&(r=e[t].match(E)),n&&r?e[t]=L(r.join(\";\")):n&&(\"style\"!==t||r)||delete e[t]}for(var o=\"\",i=Object.keys(e).sort(),a=0;a<i.length;a++)e[t=i[a]].indexOf('\"')<0?o+=\" \".concat(t,'=\"').concat(e[t],'\"'):o+=\" \".concat(t,\"='\").concat(e[t],\"'\");return o}function d(e,t){var n,r=document.implementation.createHTMLDocument(\"Froala DOC\").createElement(\"DIV\"),o=e.replace(/(<col[^>]*>)&nbsp;/g,\"$1\");f(r).append(o);var i=\"\";if(r){var a=C.node.contents(r);for(n=0;n<a.length;n++)t(a[n]);for(a=C.node.contents(r),n=0;n<a.length;n++)i+=s(a[n])}return i}function p(e,t,n){var r=e=function i(e){return l=[],e=(e=(e=(e=e.replace(/<script\\b[^<]*(?:(?!<\\/script>)<[^<]*)*<\\/script>/gi,function(e){return l.push(e),\"[FROALA.EDITOR.SCRIPT \".concat(l.length-1,\"]\")})).replace(/<noscript\\b[^<]*(?:(?!<\\/noscript>)<[^<]*)*<\\/noscript>/gi,function(e){return l.push(e),\"[FROALA.EDITOR.NOSCRIPT \".concat(l.length-1,\"]\")})).replace(/<meta((?:[\\w\\W]*?)) http-equiv=\"/g,'<meta$1 data-fr-http-equiv=\"')).replace(/<img((?:[\\w\\W]*?)) src=\"/g,'<img$1 data-fr-src=\"')}(e),o=null;return C.opts.fullPage&&(r=C.html.extractNode(e,\"body\")||(0<=e.indexOf(\"<body\")?\"\":e),n&&(o=C.html.extractNode(e,\"head\")||\"\")),r=d(r,t),o&&(o=d(o,t)),function a(e){return e=(e=(e=e.replace(/\\[FROALA\\.EDITOR\\.SCRIPT ([\\d]*)\\]/gi,function(e,t){return 0<=C.opts.htmlRemoveTags.indexOf(\"script\")?\"\":l[parseInt(t,10)]})).replace(/\\[FROALA\\.EDITOR\\.NOSCRIPT ([\\d]*)\\]/gi,function(e,t){if(0<=C.opts.htmlRemoveTags.indexOf(\"noscript\"))return\"\";var n=l[parseInt(t,10)].replace(/&lt;/g,\"<\").replace(/&gt;/g,\">\"),r=f(n);if(r&&r.length){var o=d(r.html(),u);r.html(o),n=r.get(0).outerHTML}return n})).replace(/<img((?:[\\w\\W]*?)) data-fr-src=\"/g,'<img$1 src=\"')}(function s(e,t,n){if(C.opts.fullPage){var r=C.html.extractDoctype(n),o=c(C.html.extractNodeAttrs(n,\"html\"));t=null===t?C.html.extractNode(n,\"head\")||\"<title></title>\":t;var i=c(C.html.extractNodeAttrs(n,\"head\")),a=c(C.html.extractNodeAttrs(n,\"body\"));return\"\".concat(r,\"<html\").concat(o,\"><head\").concat(i,\">\").concat(t,\"</head><body\").concat(a,\">\").concat(e,\"</body></html>\")}return e}(r,o,e))}function y(e){var t=C.doc.createElement(\"DIV\");return t.innerText=e,t.textContent}function u(e){for(var t=C.node.contents(e),n=0;n<t.length;n++)t[n].nodeType!==Node.TEXT_NODE&&u(t[n]);!function g(n){if(\"SPAN\"===n.tagName&&0<=(n.getAttribute(\"class\")||\"\").indexOf(\"fr-marker\"))return!1;if(\"PRE\"===n.tagName&&function h(e){var t=e.innerHTML;0<=t.indexOf(\"\\n\")&&(e.innerHTML=t.replace(/\\n/g,\"<br>\"))}(n),n.nodeType===Node.ELEMENT_NODE&&(n.getAttribute(\"data-fr-src\")&&0!==n.getAttribute(\"data-fr-src\").indexOf(\"blob:\")&&n.setAttribute(\"data-fr-src\",C.helpers.sanitizeURL(y(n.getAttribute(\"data-fr-src\")))),n.getAttribute(\"href\")&&n.setAttribute(\"href\",C.helpers.sanitizeURL(y(n.getAttribute(\"href\")))),n.getAttribute(\"src\")&&n.setAttribute(\"src\",C.helpers.sanitizeURL(y(n.getAttribute(\"src\")))),n.getAttribute(\"srcdoc\")&&n.setAttribute(\"srcdoc\",C.clean.html(n.getAttribute(\"srcdoc\"))),0<=[\"TABLE\",\"TBODY\",\"TFOOT\",\"TR\"].indexOf(n.tagName)&&(n.innerHTML=n.innerHTML.trim())),!C.opts.pasteAllowLocalImages&&n.nodeType===Node.ELEMENT_NODE&&\"IMG\"===n.tagName&&n.getAttribute(\"data-fr-src\")&&0===n.getAttribute(\"data-fr-src\").indexOf(\"file://\"))return n.parentNode.removeChild(n),!1;if(n.nodeType===Node.ELEMENT_NODE&&Y.HTML5Map[n.tagName]&&\"\"===C.node.attributes(n)){var e=Y.HTML5Map[n.tagName],t=\"<\".concat(e,\">\").concat(n.innerHTML,\"</\").concat(e,\">\");n.insertAdjacentHTML(\"beforebegin\",t),(n=n.previousSibling).parentNode.removeChild(n.nextSibling)}if(C.opts.htmlAllowComments||n.nodeType!==Node.COMMENT_NODE)if(n.tagName&&n.tagName.match(v)){if(\"STYLE\"==n.tagName&&C.helpers.isMac()){var r,o=n.innerHTML.trim(),i=[],a=/{([^}]+)}/g;for(o=o.replace(/\\/\\*[\\s\\S]*?\\*\\/|([^\\\\:]|^)\\/\\/.*|<!--[\\s\\S]*?-->$/,\"\");r=a.exec(o);)i.push(r[1]);for(var s=function s(t){var e=o.substring(0,o.indexOf(\"{\")).trim();0==!/^[a-z_-][a-z\\d_-]*$/i.test(e)&&n.parentNode.querySelectorAll(e).forEach(function(e){e.removeAttribute(\"class\"),e.setAttribute(\"style\",i[t])}),o=o.substring(o.indexOf(\"}\")+1)},l=0;-1!=o.indexOf(\"{\");l++)s(l)}n.parentNode.removeChild(n)}else if(n.tagName&&!n.tagName.match(m))\"svg\"===n.tagName?n.parentNode.removeChild(n):C.browser.safari&&\"path\"===n.tagName&&n.parentNode&&\"svg\"===n.parentNode.tagName||(n.outerHTML=n.innerHTML);else{var c=n.attributes;if(c)for(var d=c.length-1;0<=d;d--){var f=c[d],p=f.nodeName.match(b),u=null;\"style\"===f.nodeName&&C.opts.htmlAllowedStyleProps.length&&(u=f.value.match(E)),p&&u?f.value=L(u.join(\";\")):p&&(\"style\"!==f.nodeName||u)||n.removeAttribute(f.nodeName)}}else 0!==n.data.indexOf(\"[FROALA.EDITOR\")&&n.parentNode.removeChild(n)}(e)}return{_init:function e(){C.opts.fullPage&&f.merge(C.opts.htmlAllowedTags,[\"head\",\"title\",\"style\",\"link\",\"base\",\"body\",\"html\",\"meta\"])},html:function h(e,t,n,r){if(void 0===t&&(t=[]),void 0===n&&(n=[]),void 0===r&&(r=!1),0<=e.indexOf(\"<plaintext>\")){e=e.replace(/<plaintext>/g,\"\").replace(/<\\/plaintext>/g,\"\").replace(/&/g,\"&amp;\").replace(/</g,\"&lt;\").replace(/>/g,\"&gt;\").replace(/\\u00A0/g,\"&nbsp;\").replace(/\\t/g,C.opts.preserveTabSpaces?\" \".repeat(C.opts.tabSpaces||4):\"\");var o=C.html.defaultTag();C.opts.enter!=Y.ENTER_BR&&(e=\"<\".concat(o,\">\").concat(e,\"</\").concat(o,\">\"))}var i,a=f.merge([],C.opts.htmlAllowedTags);for(i=0;i<t.length;i++)0<=a.indexOf(t[i])&&a.splice(a.indexOf(t[i]),1);var s=f.merge([],C.opts.htmlAllowedAttrs);for(i=0;i<n.length;i++)0<=s.indexOf(n[i])&&s.splice(s.indexOf(n[i]),1);if(s.push(\"data-fr-.*\"),s.push(\"fr-.*\"),m=new RegExp(\"^\".concat(a.join(\"$|^\"),\"$\"),\"gi\"),b=new RegExp(\"^\".concat(s.join(\"$|^\"),\"$\"),\"gi\"),v=new RegExp(\"^\".concat(C.opts.htmlRemoveTags.join(\"$|^\"),\"$\"),\"gi\"),E=C.opts.htmlAllowedStyleProps.length?new RegExp(\"((^|;|\\\\s)\".concat(C.opts.htmlAllowedStyleProps.join(\":.+?(?=;|$))|((^|;|\\\\s)\"),\":.+?(?=(;)|$))\"),\"gi\"):null,e=p(e,u,!0),\"undefined\"!=typeof C.opts.DOMPurify){var l={ALLOW_UNKNOWN_PROTOCOLS:!0};1===C.opts.htmlAllowedTags.length&&\".*\"===C.opts.htmlAllowedTags[0]||(l.ALLOWED_TAGS=C.opts.htmlAllowedTags),1===C.opts.htmlAllowedAttrs.length&&\".*\"===C.opts.htmlAllowedAttrs[0]||(l.ALLOWED_ATTR=C.opts.htmlAllowedAttrs),e=C.opts.DOMPurify.sanitize(e,l)}return e},toHTML5:function r(){var e=C.el.querySelectorAll(Object.keys(Y.HTML5Map).join(\",\"));if(e.length){var t=!1;C.el.querySelector(\".fr-marker\")||(C.selection.save(),t=!0);for(var n=0;n<e.length;n++)\"\"===C.node.attributes(e[n])&&f(e[n]).replaceWith(\"<\".concat(Y.HTML5Map[e[n].tagName],\">\").concat(e[n].innerHTML,\"</\").concat(Y.HTML5Map[e[n].tagName],\">\"));t&&C.selection.restore()}},tables:function t(){!function d(){for(var e=C.el.querySelectorAll(\"tr\"),t=0,n=0;n<e.length;n++){var r=e[n].outerHTML.match(/rowspan=\"([0-9]+)\"/);r&&(t+=Number(r[1])-1);for(var o=e[n].children,i=!0,a=0;a<o.length;a++)if(\"TH\"!==o[a].tagName){i=!1;break}if(!1!==i&&0!==o.length)if(1===o.length&&\"TH\"===o[0].tagName&&t)t--;else{var s=e[n],l=s.closest(\"table\");if(l){var c=l.querySelector(\"thead\");c||(c=C.doc.createElement(\"THEAD\"),l.insertBefore(c,l.firstChild)),c.contains(s)||c.appendChild(s)}}}}(),function s(){for(var e=C.$el.find(\"table[style]\"),t=0;t<e.length;t++){var n=f(e[t]);n.attr(\"style\").indexOf(\"width\")<0&&n.css(\"width\",\"100%\")}for(var r=C.$el.find(\"td[width]\"),o=0;o<r.length;o++){var i=f(r[o]),a=i.attr(\"width\");a&&(i.css(\"width\",a),i.removeAttr(\"width\"))}}()},lists:function g(){!function s(){var e,t=[];do{if(t.length){var n=t[0],r=C.doc.createElement(\"ul\");n.parentNode.insertBefore(r,n);do{var o=n;n=n.nextSibling,r.appendChild(o)}while(n&&\"LI\"===n.tagName)}t=[];for(var i=C.el.querySelectorAll(\"li\"),a=0;a<i.length;a++)e=i[a],C.node.isList(e.parentNode)||t.push(i[a])}while(0<t.length)}(),function i(){for(var e=C.el.querySelectorAll(\"ol + ol, ul + ul\"),t=0;t<e.length;t++){var n=e[t];if(C.node.isList(n.previousSibling)&&C.node.openTagString(n)===C.node.openTagString(n.previousSibling)){for(var r=C.node.contents(n),o=0;o<r.length;o++)n.previousSibling.appendChild(r[o]);n.parentNode.removeChild(n)}}}(),function a(){for(var e=C.el.querySelectorAll(\"ul, ol\"),t=0;t<e.length;t++)for(var n=C.node.contents(e[t]),r=null,o=n.length-1;0<=o;o--)!n[o].tagName&&C.opts.htmlUntouched||\"LI\"===n[o].tagName||\"UL\"==n[o].tagName||\"OL\"==n[o].tagName?r=null:\"BR\"==n[o].tagName?f(n[o]).remove():(r||(r=f(C.doc.createElement(\"LI\"))).insertBefore(n[o]),r.prepend(n[o]))}(),function l(){var e,t,n;do{t=!1;var r=C.el.querySelectorAll(\"li:empty\");for(e=0;e<r.length;e++)r[e].parentNode.removeChild(r[e]);var o=C.el.querySelectorAll(\"ul, ol\");for(e=0;e<o.length;e++)(n=o[e]).querySelector(\"LI\")||(t=!0,n.parentNode.removeChild(n))}while(!0===t)}(),function o(){for(var e=C.el.querySelectorAll(\"ul > ul, ol > ol, ul > ol, ol > ul\"),t=0;t<e.length;t++){var n=e[t],r=n.previousSibling;r&&(\"LI\"===r.tagName?r.appendChild(n):f(n).wrap(\"<li></li>\"))}}(),function c(){for(var e=C.el.querySelectorAll(\"li > ul, li > ol\"),t=0;t<e.length;t++){var n=e[t];if(n.nextSibling)for(var r=n.nextSibling;0<r.childNodes.length;)n.append(r.childNodes[0])}}(),function d(){for(var e=C.el.querySelectorAll(\"li > ul, li > ol\"),t=0;t<e.length;t++){var n=e[t];if(C.node.isFirstSibling(n)&&\"none\"!=n.parentNode.style.listStyleType)f(n).before(\"<br/>\");else if(n.previousSibling&&\"BR\"===n.previousSibling.tagName){for(var r=n.previousSibling.previousSibling;r&&C.node.hasClass(r,\"fr-marker\");)r=r.previousSibling;r&&\"BR\"!==r.tagName&&f(n.previousSibling).remove()}}}(),function n(){for(var e=C.el.querySelectorAll(\"li:empty\"),t=0;t<e.length;t++)f(e[t]).remove()}(),function r(){for(var e=C.el.querySelectorAll(\"ul, ol\"),t=0;t<e.length;t++)for(var n=e[t],a=C.node.contents(n),s=function s(){var e=a[l],t=C.node.contents(e);if(e.nodeType!==Node.ELEMENT_NODE)return 0;var n=e.querySelectorAll(\"ul, ol\");if(0<n.length&&1==t.length&&t[0].nodeType===Node.ELEMENT_NODE){var r=n[0],o=a[l-1];if(!o)return 0;var i=f(o).data(\"tracking\")&&C.opts.trackChangesEnabled;x(r.querySelectorAll(\"li\")).reverse().forEach(function(e){if(i){var t=\"pending-\".concat(C.id,\"-\").concat(C.track_changes.getPendingChanges().length),n=C.opts.showChangesEnabled?'class=\"fr-highlight-change\"':\"\",r=e.innerHTML;e.innerHTML='<span data-tracking=\"true\" data-track-id=\"'.concat(t,'\" ').concat(n,\">\").concat(r,\"</span>\"),C.track_changes.pushChange(t)}}),o.append(r),e.remove()}},l=0;l<a.length;l++)s()}()},invisibleSpaces:function n(e){return e.replace(/\\u200b/g,\"\").length===e.length?e:C.clean.exec(e,o)},exec:p}},Y.XS=0,Y.SM=1,Y.MD=2,Y.LG=3;Y.LinkRegExCommon=\"[\".concat(\"a-z\\\\u0080-\\\\u009f\\\\u00a1-\\\\uffff0-9-_\\\\.\",\"]{1,}\"),Y.LinkRegExEnd=\"((:[0-9]{1,5})|)(((\\\\/|\\\\?|#)[a-zA-Z0-9\\\\u00a1-\\\\uffff@\\\\[\\\\]\\\\(\\\\)\\\\{\\\\}.,:;!?%&$^=*+~#_\\\\-`'\\\"\\\\\\\\\\\\/|]*)|())\",Y.LinkRegExTLD=\"((\".concat(Y.LinkRegExCommon,\")(\\\\.(com|net|org|edu|mil|gov|co|biz|info|me|dev|in|fr|it)))\"),Y.LinkRegExHTTP=\"((ftp|http|https):\\\\/\\\\/\".concat(Y.LinkRegExCommon,\")\"),Y.LinkRegExAuth=\"((ftp|http|https):\\\\/\\\\/[\\\\u0021-\\\\uffff]{1,}@\".concat(Y.LinkRegExCommon,\")\"),Y.LinkRegExWWW=\"(www\\\\.\".concat(Y.LinkRegExCommon,\"\\\\.[a-z0-9-]{2,24})\"),Y.LinkRegEx=\"(\".concat(Y.LinkRegExTLD,\"|\").concat(Y.LinkRegExHTTP,\"|\").concat(Y.LinkRegExWWW,\"|\").concat(Y.LinkRegExAuth,\")\").concat(Y.LinkRegExEnd),Y.LinkProtocols=[\"mailto\",\"tel\",\"sms\",\"notes\",\"data\"],Y.MAIL_REGEX=/.+@.+\\..+/i,Y.MODULES.helpers=function(i){var a,s=i.$;function e(){var e={},t=function i(){var e,t=-1;return\"Microsoft Internet Explorer\"===navigator.appName?(e=navigator.userAgent,null!==new RegExp(\"MSIE ([0-9]{1,}[\\\\.0-9]{0,})\").exec(e)&&(t=parseFloat(RegExp.$1))):\"Netscape\"===navigator.appName&&(e=navigator.userAgent,null!==new RegExp(\"Trident/.*rv:([0-9]{1,}[\\\\.0-9]{0,})\").exec(e)&&(t=parseFloat(RegExp.$1))),t}();if(0<t)e.msie=!0;else{var n=navigator.userAgent.toLowerCase(),r=/(edge)[ /]([\\w.]+)/.exec(n)||/(chrome)[ /]([\\w.]+)/.exec(n)||/(webkit)[ /]([\\w.]+)/.exec(n)||/(opera)(?:.*version|)[ /]([\\w.]+)/.exec(n)||/(msie) ([\\w.]+)/.exec(n)||n.indexOf(\"compatible\")<0&&/(mozilla)(?:.*? rv:([\\w.]+)|)/.exec(n)||[],o=r[1]||\"\";r[2];r[1]&&(e[o]=!0),e.chrome?e.webkit=!0:e.webkit&&(e.safari=!0)}return e.msie&&(e.version=t),e}function t(){return(/(iPad|iPhone|iPod)/g.test(navigator.userAgent)||function e(){return navigator.maxTouchPoints&&2<navigator.maxTouchPoints&&/Macintosh/.test(navigator.userAgent)}())&&!o()}function n(){return/(Android)/g.test(navigator.userAgent)&&!o()}function r(){return/(Blackberry)/g.test(navigator.userAgent)}function o(){return/(Windows Phone)/gi.test(navigator.userAgent)}var l=null;return{_init:function c(){i.browser=e()},isIOS:t,isMac:function d(){return null===l&&(l=0<=navigator.platform.toUpperCase().indexOf(\"MAC\")),l},getIOSVersion:function f(){if(t()){var e=navigator.userAgent.match(/OS (\\d)?\\d_\\d(_\\d)?/i)||navigator.userAgent.match(/\\b[0-9]+_[0-9]+(?:_[0-9]+)?\\b/);return e&&e.length&&Math.abs(e[0].split(\"_\")[0].replace(\"OS \",\"\"))||NaN}return NaN},getSafariVersion:function p(){var e=navigator.userAgent;if(-1!==e.indexOf(\"Safari\")){var t=e.match(/Version\\/(\\d+\\.\\d+)/);if(t)return parseInt(t[1])}return null},isAndroid:n,isBlackberry:r,isWindowsPhone:o,isMobile:function u(){return n()||t()||r()},isEmail:function h(e){return!/^(https?:|ftps?:|)\\/\\//i.test(e)&&Y.MAIL_REGEX.test(e)},requestAnimationFrame:function g(){return window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||function(e){window.setTimeout(e,1e3/60)}},getPX:function C(e){return parseInt(e,10)||0},screenSize:function m(e){try{var t=0;if((t=e?i.$box.width():i.$sc.width())<768)return Y.XS;if(768<=t&&t<992)return Y.SM;if(992<=t&&t<1200)return Y.MD;if(1200<=t)return Y.LG}catch(n){return Y.LG}},isTouch:function v(){return\"ontouchstart\"in window||window.DocumentTouch&&document instanceof window.DocumentTouch},sanitizeURL:function b(e){if(i.opts.DOMPurify){var t={ALLOW_UNKNOWN_PROTOCOLS:!0,ALLOWED_URI_REGEXP:/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp|xxx):|[^a-z]|[a-z+.]+(?:[^a-z+.\\-:]|$))/i};1===i.opts.htmlAllowedTags.length&&\".*\"===i.opts.htmlAllowedTags[0]||(t.ALLOWED_TAGS=i.opts.htmlAllowedTags),1===i.opts.htmlAllowedAttrs.length&&\".*\"===i.opts.htmlAllowedAttrs[0]||(t.ALLOWED_ATTR=i.opts.htmlAllowedAttrs),e=i.opts.DOMPurify.sanitize(e,t)}return e=e.replace(/([\"'/]|\\s+)on\\w+=(?:\"[^\"]*\"|'[^']*'|[^>\\s]+)/gi,\"\"),/^(https?:|ftps?:|)\\/\\//i.test(e)?e:/^([A-Za-z]:(\\\\){1,2}|[A-Za-z]:((\\\\){1,2}[^\\\\]+)+)(\\\\)?$/i.test(e)?e:new RegExp(\"^(\".concat(Y.LinkProtocols.join(\"|\"),\"):\"),\"i\").test(e)?e:e=encodeURIComponent(e).replace(/%23/g,\"#\").replace(/%2F/g,\"/\").replace(/%25/g,\"%\").replace(/mailto%3A/gi,\"mailto:\").replace(/file%3A/gi,\"file:\").replace(/sms%3A/gi,\"sms:\").replace(/tel%3A/gi,\"tel:\").replace(/notes%3A/gi,\"notes:\").replace(/data%3Aimage/gi,\"data:image\").replace(/blob%3A/gi,\"blob:\").replace(/%3A(\\d)/gi,\":$1\").replace(/webkit-fake-url%3A/gi,\"webkit-fake-url:\").replace(/%3F/g,\"?\").replace(/%3D/g,\"=\").replace(/%26/g,\"&\").replace(/&amp;/g,\"&\").replace(/%2C/g,\",\").replace(/%3B/g,\";\").replace(/%2B/g,\"+\").replace(/%40/g,\"@\").replace(/%5B/g,\"[\").replace(/%5D/g,\"]\").replace(/%7B/g,\"{\").replace(/%7D/g,\"}\").replace(/%[0-1]+[0-9]+|%[0-1]+[A-F]+/g,\"\")},isArray:function E(e){return e&&!Object.prototype.propertyIsEnumerable.call(e,\"length\")&&\"object\"===w(e)&&\"number\"==typeof e.length},RGBToHex:function L(e){function t(e){return\"0\".concat(parseInt(e,10).toString(16)).slice(-2)}try{if(!e||\"transparent\"===e)return\"\";if(/^#[0-9A-F]{6}$/i.test(e)||/^#[0-9A-F]{8}$/i.test(e))return e.toUpperCase();var n=e.match(/^rgb\\(\\s*(\\d+),\\s*(\\d+),\\s*(\\d+)\\s*\\)$/i);if(n)return\"#\".concat(t(n[1])).concat(t(n[2])).concat(t(n[3])).toUpperCase();if(n=e.match(/^rgba\\(\\s*(\\d+),\\s*(\\d+),\\s*(\\d+),\\s*(\\d*\\.?\\d+)\\s*\\)$/i))return\"#\".concat(t(n[1])).concat(t(n[2])).concat(t(n[3])).concat(t(Math.round(255*parseFloat(n[4])))).toUpperCase()}catch(r){return null}},HEXtoRGB:function y(e){if(e=e.replace(/^#/,\"\"),/^rgba?\\(\\d+,\\s*\\d+,\\s*\\d+(,\\s*(0|1|0?\\.\\d+))?\\)$/i.test(e))return e;if(3!==e.length&&4!==e.length||(e=e.split(\"\").map(function(e){return e+e}).join(\"\")),6===e.length){var t=/^([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(e);return t?\"rgb(\".concat(parseInt(t[1],16),\", \").concat(parseInt(t[2],16),\", \").concat(parseInt(t[3],16),\")\"):\"\"}if(8===e.length){var n=/^([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(e);if(n){var r=parseInt(n[1],16),o=parseInt(n[2],16),i=parseInt(n[3],16),a=parseInt(n[4],16)/255;return\"rgba(\".concat(r,\", \").concat(o,\", \").concat(i,\", \").concat(a.toFixed(2),\")\")}}return\"\"},isURL:function N(e){return!!/^(https?:|ftps?:|)\\/\\//i.test(e)&&(e=String(e).replace(/</g,\"%3C\").replace(/>/g,\"%3E\").replace(/\"/g,\"%22\").replace(/ /g,\"%20\"),new RegExp(\"^\".concat(Y.LinkRegExHTTP).concat(Y.LinkRegExEnd,\"$\"),\"gi\").test(e))},getAlignment:function S(e){e.css||(e=s(e));var t=(e.css(\"text-align\")||\"\").replace(/-(.*)-/g,\"\");if([\"left\",\"right\",\"justify\",\"center\"].indexOf(t)<0){if(!a){var n=s('<div dir=\"'.concat(\"rtl\"===i.opts.direction?\"rtl\":\"auto\",'\" style=\"text-align: ').concat(i.$el.css(\"text-align\"),'; position: fixed; left: -3000px;\"><span id=\"s1\">.</span><span id=\"s2\">.</span></div>'));s(\"body\").first().append(n);var r=n.find(\"#s1\").get(0).getBoundingClientRect().left,o=n.find(\"#s2\").get(0).getBoundingClientRect().left;n.remove(),a=r<o?\"left\":\"right\"}t=a}return t},scrollTop:function T(){return i.o_win.pageYOffset?i.o_win.pageYOffset:i.o_doc.documentElement&&i.o_doc.documentElement.scrollTop?i.o_doc.documentElement.scrollTop:i.o_doc.body.scrollTop?i.o_doc.body.scrollTop:0},scrollLeft:function M(){return i.o_win.pageXOffset?i.o_win.pageXOffset:i.o_doc.documentElement&&i.o_doc.documentElement.scrollLeft?i.o_doc.documentElement.scrollLeft:i.o_doc.body.scrollLeft?i.o_doc.body.scrollLeft:0},isInViewPort:function A(e){var t=e.getBoundingClientRect();return 0<=(t={top:Math.round(t.top),bottom:Math.round(t.bottom)}).top&&t.bottom<=(window.innerHeight||document.documentElement.clientHeight)||t.top<=0&&t.bottom>=(window.innerHeight||document.documentElement.clientHeight)},isValidHexColor:function x(e){return/^#([0-9A-F]{3}|[0-9A-F]{6})$/i.test(e)},isRGBColor:function O(e){return/^rgba?\\(\\d+,\\s*\\d+,\\s*\\d+(,\\s*\\d+\\.?\\d*)?\\)$/i.test(e)}}},Y.MODULES.events=function(p){var e,i=p.$,a={};function s(e,t,n){E(e,t,n)}function l(e){if(e.originalEvent&&\"insertReplacementText\"===e.originalEvent.inputType){var t=p.selection.get();if(!t||0===t.rangeCount)return;for(var n=t.getRangeAt(0),r=n.startContainer,o=n.startOffset,i=n.endContainer,a=n.endOffset;r;){for(var s=r.textContent,l=o-1;0<=l&&g(s[l]);)l--;if(l<=o-1){o=l+1;break}o=(r=u(r))?r.textContent.length:0}for(;i;){for(var c=i.textContent,d=a;d<c.length&&g(c[d]);)d++;if(a<=d&&(d<c.length||!r.isSameNode(i))){a=d;break}i=h(i),a=0}if(r&&i){var f=document.createRange();f.setStart(r,o),f.setEnd(i,a),t.removeAllRanges(),t.addRange(f)}}}function u(e){for(;e;)if((!(e=e.previousSibling)||!i(e).hasClass(\"fr-marker\"))&&e&&e.nodeType===Node.TEXT_NODE&&e.textContent.trim())return e;return null}function h(e){for(;e;)if((!(e=e.nextSibling)||!i(e).hasClass(\"fr-marker\"))&&e&&e.nodeType===Node.TEXT_NODE&&e.textContent.trim())return e;return null}function g(e){return/\\w/.test(e)}function c(e){if(void 0===e&&(e=!0),!p.$wp)return!1;if(p.helpers.isIOS()&&p.$win.get(0).focus(),p.core.hasFocus())return!1;if(!p.core.hasFocus()&&e){var t=p.$win.scrollTop();if(p.browser.msie&&p.$box&&p.$box.css(\"position\",\"fixed\"),p.browser.msie&&p.$wp&&p.$wp.css(\"overflow\",\"visible\"),p.browser.msie&&p.$sc&&p.$sc.css(\"position\",\"fixed\"),p.browser.msie||(C(),p.el.focus(),p.events.trigger(\"focus\"),f()),p.browser.msie&&p.$sc&&p.$sc.css(\"position\",\"\"),p.browser.msie&&p.$box&&p.$box.css(\"position\",\"\"),p.browser.msie&&p.$wp&&p.$wp.css(\"overflow\",\"auto\"),t!==p.$win.scrollTop()&&p.$win.scrollTop(t),!p.selection.info(p.el).atStart)return!1}if(!p.core.hasFocus()||0<p.$el.find(\".fr-marker\").length)return!1;if(p.selection.info(p.el).atStart&&p.selection.isCollapsed()&&null!==p.html.defaultTag()){var n=p.markers.insert();if(n&&!p.node.blockParent(n)){i(n).remove();var r=p.$el.find(p.html.blockTagsQuery()).get(0);r&&(i(r).prepend(Y.MARKERS),p.selection.restore())}else n&&i(n).remove()}}var d=!1;function f(){e=!0}function C(){e=!1}function m(){return e}function v(e,t,n){var r,o=e.split(\" \");if(1<o.length){for(var i=0;i<o.length;i++)v(o[i],t,n);return!0}void 0===n&&(n=!1),r=0!==e.indexOf(\"shared.\")?(a[e]=a[e]||[],a[e]):(p.shared._events[e]=p.shared._events[e]||[],p.shared._events[e]),n?r.unshift(t):r.push(t)}var b=[];function E(e,t,n,r,o){\"function\"==typeof n&&(o=r,r=n,n=!1);var i=o?p.shared.$_events:b,a=o?p.sid:p.id,s=\"\".concat(t.trim().split(\" \").join(\".ed\".concat(a,\" \")),\".ed\").concat(a);n?e.on(s,n,r):e.on(s,r),i.push([e,s])}function t(e){for(var t=0;t<e.length;t++)e[t][0].off(e[t][1])}function L(e,t,n){if(!p.edit.isDisabled()||n){var r,o;if(0!==e.indexOf(\"shared.\"))r=a[e];else{if(0<p.shared.count)return!1;r=p.shared._events[e]}if(r)for(var i=0;i<r.length;i++)if(!1===(o=r[i].apply(p,t)))return!1;return(!p.opts.events||!p.opts.events[e]||!1!==(o=p.opts.events[e].apply(p,t)))&&o}}function y(){for(var e in a)Object.prototype.hasOwnProperty.call(a,e)&&delete a[e]}function N(){for(var e in p.shared._events)Object.prototype.hasOwnProperty.call(p.shared._events,e)&&delete p.shared._events[e]}return{_init:function S(){p.shared.$_events=p.shared.$_events||[],p.shared._events={},function e(){p.helpers.isMobile()?(p._mousedown=\"touchstart\",p._mouseup=\"touchend\",p._move=\"touchmove\",p._mousemove=\"touchmove\"):(p._mousedown=\"mousedown\",p._mouseup=\"mouseup\",p._move=\"\",p._mousemove=\"mousemove\")}(),function t(){s(p.$el,\"click mouseup mousemove mousedown touchstart touchend dragenter dragover dragleave dragend drop dragstart\",function(e){L(e.type,[e])}),v(\"mousedown\",function(){for(var e=0;e<Y.INSTANCES.length;e++)Y.INSTANCES[e]!==p&&Y.INSTANCES[e].popups&&Y.INSTANCES[e].popups.areVisible()&&Y.INSTANCES[e].$el.find(\".fr-marker\").remove()})}(),function n(){s(p.$win,p._mousedown,function(e){L(\"window.mousedown\",[e]),f()}),s(p.$win,p._mouseup,function(e){L(\"window.mouseup\",[e])}),s(p.$win,\"beforeinput cut copy keydown keyup touchmove touchend\",function(e){L(\"window.\".concat(e.type),[e])})}(),function r(){s(p.$doc,\"dragend drop\",function(e){L(\"document.\".concat(e.type),[e])})}(),function o(){s(p.$el,\"beforeinput keydown keypress keyup input\",function(e){L(e.type,[e])})}(),function i(){s(p.$el,\"focus\",function(e){m()&&(c(!1),!1===d&&(L(e.type,[e]),p.helpers.isMobile()&&C()))}),s(p.$el,\"blur\",function(e){m()&&!0===d&&(L(e.type,[e]),p.helpers.isMobile()&&p.opts.toolbarContainer&&(p.shared.selected_editor=p.id),f())}),E(p.$el,\"mousedown\",'[contenteditable=\"true\"]',function(){C(),p.$el.blur()}),v(\"focus\",function(){d=!0}),v(\"blur\",function(){d=!1})}(),f(),function a(){s(p.$el,\"cut copy paste beforepaste\",function(e){L(e.type,[e])})}(),v(\"destroy\",y),v(\"shared.destroy\",N),v(\"beforeinput\",l)},on:v,trigger:L,bindClick:function r(e,t,n){E(e,p._mousedown,t,function(e){p.edit.isDisabled()||function n(e){var t=i(e.currentTarget);return p.edit.isDisabled()||p.node.hasClass(t.get(0),\"fr-disabled\")?(e.preventDefault(),!1):\"mousedown\"===e.type&&1!==e.which||(p.helpers.isMobile()||e.preventDefault(),(p.helpers.isAndroid()||p.helpers.isWindowsPhone())&&0===t.parents(\".fr-dropdown-menu\").length&&(e.preventDefault(),e.stopPropagation()),t.addClass(\"fr-selected\"),void p.events.trigger(\"commands.mousedown\",[t]))}(e)},!0),E(e,\"\".concat(p._mouseup,\" \").concat(p._move),t,function(e){p.edit.isDisabled()||(p.helpers.isIOS()&&null!==p.selection.get().focusNode&&p.selection.save(),function o(e,t){var n=i(e.currentTarget);if(p.edit.isDisabled()||p.node.hasClass(n.get(0),\"fr-disabled\"))return e.preventDefault(),!1;if(\"mouseup\"===e.type&&1!==e.which)return!0;if(p.button.getButtons(\".fr-selected\",!0).get(0)==n.get(0)&&!p.node.hasClass(n.get(0),\"fr-selected\"))return!0;if(\"touchmove\"!==e.type){if(e.stopPropagation(),e.stopImmediatePropagation(),e.preventDefault(),!p.node.hasClass(n.get(0),\"fr-selected\"))return p.button.getButtons(\".fr-selected\",!0).removeClass(\"fr-selected\"),!1;if(p.button.getButtons(\".fr-selected\",!0).removeClass(\"fr-selected\"),n.data(\"dragging\")||n.attr(\"disabled\"))return n.removeData(\"dragging\"),!1;var r=n.data(\"timeout\");r&&(clearTimeout(r),n.removeData(\"timeout\")),t.apply(p,[e])}else n.data(\"timeout\")||n.data(\"timeout\",setTimeout(function(){n.data(\"dragging\",!0)},100))}(e,n))},!0),E(e,\"mousedown click mouseup\",t,function(e){p.edit.isDisabled()||e.stopPropagation()},!0),v(\"window.mouseup\",function(){p.edit.isDisabled()||(e.find(t).removeClass(\"fr-selected\"),f())}),E(e,\"mouseover\",t,function(){i(this).hasClass(\"fr-options\")&&i(this).prev(\".fr-btn\").addClass(\"fr-btn-hover\"),i(this).next(\".fr-btn\").hasClass(\"fr-options\")&&i(this).next(\".fr-btn\").addClass(\"fr-btn-hover\")}),E(e,\"mouseout\",t,function(){i(this).hasClass(\"fr-options\")&&i(this).prev(\".fr-btn\").removeClass(\"fr-btn-hover\"),i(this).next(\".fr-btn\").hasClass(\"fr-options\")&&i(this).next(\".fr-btn\").removeClass(\"fr-btn-hover\")})},disableBlur:C,enableBlur:f,blurActive:m,focus:c,chainTrigger:function T(e,t,n){if(!p.edit.isDisabled()||n){var r,o;if(0!==e.indexOf(\"shared.\"))r=a[e];else{if(0<p.shared.count)return!1;r=p.shared._events[e]}if(r)for(var i=0;i<r.length;i++)void 0!==(o=r[i].apply(p,[t]))&&(t=o);return p.opts.events&&p.opts.events[e]&&void 0!==(o=p.opts.events[e].apply(p,[t]))&&(t=o),t}},$on:E,$off:function n(){t(b),b=[],0===p.shared.count&&(t(p.shared.$_events),p.shared.$_events=[])}}},Object.assign(Y.DEFAULTS,{indentMargin:20}),Y.COMMANDS={bold:{title:\"Bold\",toggle:!0,refresh:function(e){var t=this.format.is(\"strong\");e.toggleClass(\"fr-active\",t).attr(\"aria-pressed\",t)}},italic:{title:\"Italic\",toggle:!0,refresh:function(e){var t=this.format.is(\"em\");e.toggleClass(\"fr-active\",t).attr(\"aria-pressed\",t)}},underline:{title:\"Underline\",toggle:!0,refresh:function(e){var t=this.format.is(\"u\");e.toggleClass(\"fr-active\",t).attr(\"aria-pressed\",t)}},strikeThrough:{title:\"Strikethrough\",toggle:!0,refresh:function(e){var t=this.format.is(\"s\");e.toggleClass(\"fr-active\",t).attr(\"aria-pressed\",t)}},subscript:{title:\"Subscript\",toggle:!0,refresh:function(e){var t=this.format.is(\"sub\");e.toggleClass(\"fr-active\",t).attr(\"aria-pressed\",t)}},superscript:{title:\"Superscript\",toggle:!0,refresh:function(e){var t=this.format.is(\"sup\");e.toggleClass(\"fr-active\",t).attr(\"aria-pressed\",t)}},outdent:{title:\"Decrease Indent\"},indent:{title:\"Increase Indent\"},undo:{title:\"Undo\",undo:!1,forcedRefresh:!0,disabled:!0},redo:{title:\"Redo\",undo:!1,forcedRefresh:!0,disabled:!0},insertHR:{title:\"Insert Horizontal Line\"},clearFormatting:{title:\"Clear Formatting\"},selectAll:{title:\"Select All\",undo:!1},moreText:{title:\"More Text\",undo:!1},moreParagraph:{title:\"More Paragraph\",undo:!1},moreRich:{title:\"More Rich\",undo:!1},moreMisc:{title:\"More Misc\",undo:!1}},Y.RegisterCommand=function(e,t){Y.COMMANDS[e]=t},Y.MODULES.commands=function(f){var p=f.$;function a(e){return f.html.defaultTag()&&(e=\"<\".concat(f.html.defaultTag(),\">\").concat(e,\"</\").concat(f.html.defaultTag(),\">\")),e}var s={bold:function(){e(\"bold\",\"strong\")},subscript:function(){f.format.is(\"sup\")&&f.format.remove(\"sup\"),e(\"subscript\",\"sub\")},superscript:function(){f.format.is(\"sub\")&&f.format.remove(\"sub\"),e(\"superscript\",\"sup\")},italic:function(){e(\"italic\",\"em\")},strikeThrough:function(){e(\"strikeThrough\",\"s\")},underline:function(){e(\"underline\",\"u\")},undo:function(){f.undo.run()},redo:function(){f.undo.redo()},indent:function(){r(1)},outdent:function(){r(-1)},show:function(){f.opts.toolbarInline&&f.toolbar.showInline(null,!0)},insertHR:function(){f.selection.remove();var e=\"\";f.core.isEmpty()&&(e=a(e=\"<br>\"));var t='<hr id=\"fr-just\" class=\"fr-just\">'.concat(e);f.opts.trackChangesEnabled&&(t=f.track_changes.wrapInTracking(p(t),\"hrWrapper\").get(0).outerHTML);f.html.insert(t);var n,r=f.$el.find(\"hr#fr-just\").length?f.$el.find(\"hr#fr-just\"):f.$el.find(\".fr-just\");r.removeAttr(\"id\"),r.removeAttr(\"class\");var o=f.opts.trackChangesEnabled&&\"SPAN\"===r[0].parentNode.tagName&&\"P\"===r[0].parentNode.parentNode.tagName;if(0===r.next().length){var i=f.html.defaultTag();i&&!o?r.after(p(f.doc.createElement(i)).append(\"<br>\").get(0)):o?r[0].parentNode.after(p(f.doc.createElement(i)).append(\"<br>\").get(0)):r.after(\"<br>\")}r.prev().is(\"hr\")?n=f.selection.setAfter(r.get(0),!1):r.next().is(\"hr\")?n=f.selection.setBefore(r.get(0),!1):o||f.selection.setAfter(r.get(0),!1)?f.selection.setAfter(r[0].parentNode,!1):f.selection.setBefore(r.get(0),!1),n||void 0===n||(e=a(e=\"\".concat(Y.MARKERS,\"<br>\")),r.after(e)),f.selection.restore()},clearFormatting:function(){f.format.remove()},selectAll:function(){f.doc.execCommand(\"selectAll\",!1,!1),function d(){var e=null,t=null,n=null,r=null,o=!0===f.opts.iframe,i=p(\".fr-iframe\")[0],a=o?p(i.contentWindow.document.body):f.$el;if(o&&i){var s=i.contentWindow;n=s.document.createRange.bind(s.document),r=s.getSelection()}else n=document.createRange.bind(document),r=window.getSelection();if(f.selection.isCollapsed()){r.removeAllRanges();var l=a.contents();if(e=l.first()[0],t=l.last()[0],e&&t){var c=n();c.setStart(e,0),c.setEnd(t,t.nodeType===Node.TEXT_NODE?t.textContent.length:t.childNodes.length),r.addRange(c),f.selection.save()}}}()},moreText:function(e){t(e)},moreParagraph:function(e){t(e)},moreRich:function(e){t(e)},moreMisc:function(e){t(e)},moreTrackChanges:function(){t(\"trackChanges\")}};function t(e){var t=f.$tb.find(\"[data-cmd=\".concat(e,\"]\")),n=f.$tb.find(\"[data-cmd=html]\");f.opts.trackChangesEnabled||f.markdown&&f.markdown.isEnabled()?n&&n.addClass(\"fr-disabled\"):n&&n.removeClass(\"fr-disabled\"),function r(n){f.helpers.isMobile()&&f.opts.toolbarInline&&f.events.disableBlur();var e=f.$tb.find('.fr-more-toolbar[data-name=\"'.concat(n.attr(\"data-group-name\"),'\"]'));\"trackChanges\"===n.data(\"cmd\")&&(e=f.$tb.find('.fr-more-toolbar[data-name=\"'.concat(n.attr(\"id\"),'\"]')));if(f.$tb.find(\".fr-open\").not(n).not('[data-cmd=\"trackChanges\"]').removeClass(\"fr-open\").attr(\"aria-expanded\",!1),n.toggleClass(\"fr-open\"),n.attr(\"aria-expanded\",n.hasClass(\"fr-open\")),f.$tb.find(\".fr-more-toolbar\").removeClass(\"fr-overflow-visible\"),f.$tb.find(\".fr-expanded\").not(e).length){var t=f.$tb.find(\".fr-expanded\").not(e);t.each(function(e,t){0!=p(t).data(\"name\").indexOf(\"trackChanges-\")&&0!=p(t).data(\"name\").indexOf(\"moreRich-\")?p(t).toggleClass(\"fr-expanded\"):n.parents('[data-name^=\"moreRich-\"]').length||0==p(t).data(\"name\").indexOf(\"trackChanges-\")||p(t).find('[id^=\"trackChanges-\"]').length&&f.opts.trackChangesEnabled||p(t).toggleClass(\"fr-expanded\")}),e.toggleClass(\"fr-expanded\")}else e.toggleClass(\"fr-expanded\"),f.$box.toggleClass(\"fr-toolbar-open\"),f.$tb.toggleClass(\"fr-toolbar-open\")}(t),f.toolbar.setMoreToolbarsHeight()}function n(e,t){if(!(f.markdown&&f.markdown.isEnabled()&&(\"bold\"===e||\"italic\"===e||\"underline\"===e)||f.opts.trackChangesEnabled&&\"markdown\"===e)&&!1!==f.events.trigger(\"commands.before\",p.merge([e],t||[]))){var n=Y.COMMANDS[e]&&Y.COMMANDS[e].callback||s[e],r=!0,o=!1;if(Y.COMMANDS[e]&&(\"undefined\"!=typeof Y.COMMANDS[e].focus&&(r=Y.COMMANDS[e].focus),\"undefined\"!=typeof Y.COMMANDS[e].accessibilityFocus&&(o=Y.COMMANDS[e].accessibilityFocus)),!f.core.hasFocus()&&r||!f.core.hasFocus()&&o&&f.accessibility.hasFocus()){var i=f.selection.ranges()[0];f.opts.allowStylingOnNonEditable&&i&&p(i.startContainer).parentsUntil(f.$el,'[contenteditable=\"false\"]').length&&f.selection.save(),f.el.focus({preventScroll:!0}),f.events.trigger(\"focus\")}Y.COMMANDS[e]&&!1!==Y.COMMANDS[e].undo&&(f.$el.find(\".fr-marker\").length&&(f.events.disableBlur(),f.selection.restore()),f.undo.saveStep()),n&&n.apply(f,p.merge([e],t||[])),f.events.trigger(\"commands.after\",p.merge([e],t||[])),Y.COMMANDS[e]&&!1!==Y.COMMANDS[e].undo&&f.undo.saveStep()}}function e(e,t){f.format.toggle(t)}function r(e){f.selection.save(),f.html.wrap(!0,!0,!0,!0),f.selection.restore();for(var t=f.selection.blocks(),n=0;n<t.length;n++)if(\"LI\"!==t[n].tagName&&\"LI\"!=t[n].parentNode.tagName&&(\"LI\"!==t[n].tagName||\"LI\"!==t[n].parentNode.tagName)){var r=p(t[n]);\"LI\"!=t[n].tagName&&\"LI\"==t[n].parentNode.tagName&&(r=p(t[n].parentNode));var o=\"rtl\"===f.opts.direction||\"rtl\"===r.css(\"direction\")?\"margin-right\":\"margin-left\",i=f.helpers.getPX(r.css(o)),a=f.helpers.getPX(r.css(\"text-indent\"));if(r.width()<2*f.opts.indentMargin&&0<e||i+a<=0&&e<0)continue;\"UL\"!=t[n].parentNode.tagName&&\"OL\"!=t[n].parentNode.tagName&&\"LI\"!=t[n].parentNode.tagName&&r.css(o,Math.max(i+e*f.opts.indentMargin,0)||\"\"),r.removeClass(\"fr-temp-div\")}f.selection.save(),f.html.unwrap(),f.selection.restore()}function o(e){return function(){n(e)}}var i={};for(var l in s)Object.prototype.hasOwnProperty.call(s,l)&&(i[l]=o(l));return Object.assign(i,{exec:n,_init:function c(){f.events.on(\"keydown\",function(e){var t=f.selection.element();if((e.ctrlKey||e.metaKey)&&\"a\"===e.key&&(e.preventDefault(),n(\"selectAll\")),t&&\"HR\"===t.tagName&&!f.keys.isArrow(e.which))return e.preventDefault(),!1}),f.events.on(\"keyup\",function(e){var t=f.selection.element();if(t&&\"HR\"===t.tagName)if(e.which===Y.KEYCODE.ARROW_LEFT||e.which===Y.KEYCODE.ARROW_UP){if(t.previousSibling)return f.node.isBlock(t.previousSibling)?f.selection.setAtEnd(t.previousSibling):p(t).before(Y.MARKERS),f.selection.restore(),!1}else if((e.which===Y.KEYCODE.ARROW_RIGHT||e.which===Y.KEYCODE.ARROW_DOWN)&&t.nextSibling)return f.node.isBlock(t.nextSibling)?f.selection.setAtStart(t.nextSibling):p(t).after(Y.MARKERS),f.selection.restore(),!1}),f.events.on(\"mousedown\",function(e){if(e.target&&\"HR\"===e.target.tagName)return e.preventDefault(),e.stopPropagation(),!1}),f.events.on(\"mouseup\",function(){var e=f.selection.element();e===f.selection.endElement()&&e&&\"HR\"===e.tagName&&(e.nextSibling&&(f.node.isBlock(e.nextSibling)?f.selection.setAtStart(e.nextSibling):p(e).after(Y.MARKERS)),f.selection.restore())})}})},Y.MODULES.cursorLists=function(v){var b=v.$;function E(e){for(var t=e;\"LI\"!==t.tagName;)t=t.parentNode;return t}function L(e){for(var t=e;!v.node.isList(t);)t=t.parentNode;return t}function y(e){for(var t=\"\",n=0;n<e.length;n++){var r=e[n];t+=\"\".concat(r.name,\"='\").concat(r.value,\"' \")}return t}return{_startEnter:function N(e){var t,n=E(e),r=n.nextSibling,o=n.previousSibling,i=v.html.defaultTag();if(v.node.isEmpty(n,!0)&&r){for(var a=\"\",s=\"\",l=e.parentNode;!v.node.isList(l)&&l.parentNode&&(\"LI\"!==l.parentNode.tagName||l.parentNode===n);)-1<[\"OL\",\"LI\",\"UL\"].indexOf(l.tagName)&&(a=v.node.openTagString(l)+a,s+=v.node.closeTagString(l)),l=l.parentNode;a=v.node.openTagString(l)+a,s+=v.node.closeTagString(l);var c=\"\";if(l.parentNode&&\"LI\"===l.parentNode.tagName)if(l.parentNode.attributes.length){var d=y(l.parentNode.attributes);c=\"\".concat(s,\"<li \").concat(d,\">\").concat(Y.MARKERS,\"<br>\").concat(a)}else c=\"\".concat(s,\"<li>\").concat(Y.MARKERS,\"<br>\").concat(a);else c=i?\"\".concat(s,\"<\").concat(i,\">\").concat(Y.MARKERS,\"<br></\").concat(i,\">\").concat(a):\"\".concat(s+Y.MARKERS,\"<br>\").concat(a);for(;[\"UL\",\"OL\"].indexOf(l.tagName)<0||l.parentNode&&\"LI\"===l.parentNode.tagName;)l=l.parentNode;b(n).replaceWith('<span id=\"fr-break\"></span>');var f=v.node.openTagString(l)+b(l).html()+v.node.closeTagString(l);f=f.replace(/<span id=\"fr-break\"><\\/span>/g,c),b(l).replaceWith(f),v.$el.find(\"li:empty\").remove(),v.$el.find(\"li > p > span:empty\").length&&v.$el.find(\"li > p > span:empty\")[0].parentNode.parentNode.remove()}else if(o&&r||!v.node.isEmpty(n,!0)){var p=\"<br>\",u=e.parentNode;for(u&&\"A\"===u.tagName&&(u=null);u&&\"LI\"!==u.tagName;)p=v.node.openTagString(u)+p+v.node.closeTagString(u),u=u.parentNode;if(u&&u.attributes.length){var h=y(u.attributes);b(n).before(\"<li \".concat(h,\">\").concat(p,\"</li>\"))}else b(n).before(\"<li>\".concat(p,\"</li>\"));b(e).remove()}else if(o){t=L(n);for(var g=\"\".concat(Y.MARKERS,\"<br>\"),C=e.parentNode;C&&\"LI\"!==C.tagName;)g=v.node.openTagString(C)+g+v.node.closeTagString(C),C=C.parentNode;if(t.parentNode&&\"LI\"===t.parentNode.tagName)if(t.parentNode.attributes.length){var m=y(t.parentNode.attributes);b(t.parentNode).after(\"<li \".concat(m,\">\").concat(g,\"</li>\"))}else b(t.parentNode).after(\"<li>\".concat(g,\"</li>\"));else i?b(t).after(\"<\".concat(i,\">\").concat(g,\"</\").concat(i,\">\")):b(t).after(g);b(n).remove()}else(t=L(n)).parentNode&&\"LI\"===t.parentNode.tagName?r?b(t.parentNode).before(\"\".concat(v.node.openTagString(n)+Y.MARKERS,\"<br></li>\")):b(t.parentNode).after(\"\".concat(v.node.openTagString(n)+Y.MARKERS,\"<br></li>\")):i?b(t).before(\"<\".concat(i,\">\").concat(Y.MARKERS,\"<br></\").concat(i,\">\")):b(t).before(\"\".concat(Y.MARKERS,\"<br>\")),b(n).remove()},_middleEnter:function c(e){for(var t=E(e),n=\"\",r=e,o=\"\",i=\"\",a=!1;r!==t;){var s=\"A\"===(r=r.parentNode).tagName&&v.cursor.isAtEnd(e,r)?\"fr-to-remove\":\"\";a||r==t||v.node.isBlock(r)||(a=!0,o+=Y.INVISIBLE_SPACE),o=v.node.openTagString(b(r).clone().addClass(s).get(0))+o,i+=v.node.closeTagString(r)}n=i+n+o+Y.MARKERS+(v.opts.keepFormatOnDelete?Y.INVISIBLE_SPACE:\"\"),b(e).replaceWith('<span id=\"fr-break\"></span>');var l=v.node.openTagString(t)+b(t).html()+v.node.closeTagString(t);l=l.replace(/<span id=\"fr-break\"><\\/span>/g,n),b(t).replaceWith(l)},_endEnter:function l(e){for(var t=E(e),n=Y.MARKERS,r=\"\",o=e,i=!1;o!==t;)if(!(o=o.parentNode).classList.contains(\"fr-img-space-wrap\")&&!o.classList.contains(\"fr-img-space-wrap2\")){var a=\"A\"===o.tagName&&v.cursor.isAtEnd(e,o)?\"fr-to-remove\":\"\";i||o===t||v.node.isBlock(o)||(i=!0,r+=Y.INVISIBLE_SPACE),r=v.node.openTagString(b(o).clone().addClass(a).get(0))+r,n+=v.node.closeTagString(o)}var s=r+n;b(e).remove(),b(t).after(s)},_backspace:function u(e){var t=E(e),n=t.previousSibling;if(n){var r=b(n).children().last(),o=r[0]&&r[0].tagName?r[0].tagName:\"\",i=\"P\"===o,a=0<b(n).find(\"table\").length;[\"TABLE\",\"TBODY\",\"TR\",\"TD\",\"TH\"].includes(o)||a&&i||(n=b(n).find(v.html.blockTagsQuery()).get(-1)||n),b(e).replaceWith(Y.MARKERS);var s=v.node.contents(n);s.length&&\"BR\"===s[s.length-1].tagName&&b(s[s.length-1]).remove(),b(t).find(v.html.blockTagsQuery()).not(\"ol, ul, table\").each(function(){this.parentNode===t&&b(this).replaceWith(b(this).html()+(v.node.isEmpty(this)?\"\":\"<br>\"))});for(var l,c=v.node.contents(t)[0];c&&!v.node.isList(c);)l=c.nextSibling,b(n).append(c),c=l;for(n=t.previousSibling;c;)l=c.nextSibling,b(n).append(c),c=l;1<(s=v.node.contents(n)).length&&\"BR\"===s[s.length-1].tagName&&b(s[s.length-1]).remove(),b(t).remove()}else{var d=L(t);if(b(e).replaceWith(Y.MARKERS),d.parentNode&&\"LI\"===d.parentNode.tagName){var f=d.previousSibling;v.node.isBlock(f)?(b(t).find(v.html.blockTagsQuery()).not(\"ol, ul, table\").each(function(){this.parentNode===t&&b(this).replaceWith(b(this).html()+(v.node.isEmpty(this)?\"\":\"<br>\"))}),b(f).append(b(t).html())):b(d).before(b(t).html())}else{var p=v.html.defaultTag();p&&0===b(t).find(v.html.blockTagsQuery()).length?b(d).before(\"<\".concat(p,\">\").concat(b(t).html(),\"</\").concat(p,\">\")):b(d).before(b(t).html())}b(t).remove(),v.html.wrap(),0===b(d).find(\"li\").length&&b(d).remove()}},_del:function d(e){var t,n=E(e),r=n.nextSibling;if(r){(t=v.node.contents(r)).length&&\"BR\"===t[0].tagName&&b(t[0]).remove(),b(r).find(v.html.blockTagsQuery()).not(\"ol, ul, table\").each(function(){this.parentNode===r&&b(this).replaceWith(b(this).html()+(v.node.isEmpty(this)?\"\":\"<br>\"))});for(var o,i=e,a=v.node.contents(r)[0];a&&!v.node.isList(a);)o=a.nextSibling,b(i).after(a),i=a,a=o;for(;a;)o=a.nextSibling,b(n).append(a),a=o;b(e).replaceWith(Y.MARKERS),b(r).remove()}else{for(var s=n;!s.nextSibling&&s!==v.el;)s=s.parentNode;if(s===v.el)return!1;if(s=s.nextSibling,v.node.isBlock(s)){if(Y.NO_DELETE_TAGS.indexOf(s.tagName)<0){if(b(e).replaceWith(Y.MARKERS),(t=v.node.contents(n)).length&&\"BR\"===t[t.length-1].tagName&&b(t[t.length-1]).remove(),s.isContentEditable&&\"DIV\"===s.tagName&&(!v.node.isBlock(s.previousSibling)||\"DIV\"===s.previousSibling.tagName))return;b(n).append(b(s).html()),b(s).remove()}}else{for((t=v.node.contents(n)).length&&\"BR\"===t[t.length-1].tagName&&b(t[t.length-1]).remove(),b(e).replaceWith(Y.MARKERS);s&&!v.node.isBlock(s)&&\"BR\"!==s.tagName;)b(n).append(b(s)),s=s.nextSibling;b(s).remove()}}}}},Y.NO_DELETE_TAGS=[\"TH\",\"TD\",\"TR\",\"TABLE\",\"FORM\"],Y.SIMPLE_ENTER_TAGS=[\"TH\",\"TD\",\"LI\",\"DL\",\"DT\",\"FORM\"],Y.MODULES.cursor=function(b){var E=b.$,L=function L(e){var t=null;e&&e.nodeType===Node.TEXT_NODE&&e.nodeValue.trim()&&(t=e);var n=function(e){E(e).contents().each(function(){this.nodeType===Node.TEXT_NODE&&this.nodeValue.trim()?t=this:this.nodeType===Node.ELEMENT_NODE&&n(this)})};return n(e),t};function u(e){return!!e&&(b.node.isBlock(e)?\"P\"!==e.tagName||!e.nextElementSibling||!e.parentElement||\"OL\"!==e.nextElementSibling.tagName||\"LI\"!==e.parentElement.tagName:e.nextSibling&&e.nextSibling.nodeType===Node.TEXT_NODE&&0===e.nextSibling.textContent.replace(/\\u200b/g,\"\").length?u(e.nextSibling):!(e.nextSibling&&(!e.previousSibling||\"BR\"!==e.nextSibling.tagName||e.nextSibling.nextSibling))&&u(e.parentNode))}function h(e){return!!e&&(!!b.node.isBlock(e)||(e.previousSibling&&e.previousSibling.nodeType===Node.TEXT_NODE&&0===e.previousSibling.textContent.replace(/\\u200b/g,\"\").length?h(e.previousSibling):!e.previousSibling&&(!(e.previousSibling||!b.node.hasClass(e.parentNode,\"fr-inner\"))||h(e.parentNode))))}function g(e,t){return!!e&&(e!==b.$wp.get(0)&&(e.previousSibling&&e.previousSibling.nodeType===Node.TEXT_NODE&&0===e.previousSibling.textContent.replace(/\\u200b/g,\"\").length?g(e.previousSibling,t):!e.previousSibling&&(e.parentNode===t||g(e.parentNode,t))))}function C(e,t){return!!e&&(e!==b.$wp.get(0)&&(e.nextSibling&&e.nextSibling.nodeType===Node.TEXT_NODE&&0===e.nextSibling.textContent.replace(/\\u200b/g,\"\").length?C(e.nextSibling,t):!(e.nextSibling&&(!e.previousSibling||\"BR\"!==e.nextSibling.tagName||e.nextSibling.nextSibling))&&(e.parentNode===t||C(e.parentNode,t))))}function m(e){return 0<E(e).parentsUntil(b.$el,\"LI\").length&&0===E(e).parentsUntil(\"LI\",\"TABLE\").length}function y(e,t){var n=new RegExp(\"\".concat(t?\"^\":\"\",\"(([\\\\uD83C-\\\\uDBFF\\\\uDC00-\\\\uDFFF]+\\\\u200D)*[\\\\uD83C-\\\\uDBFF\\\\uDC00-\\\\uDFFF]{2})\").concat(t?\"\":\"$\"),\"i\"),r=e.match(n);return r?r[0].length:1}function N(e){for(var t,n=e;!n.previousSibling;)if(n=n.parentNode,b.node.isElement(n))return!1;n=n.previousSibling;var r=b.opts.htmlAllowedEmptyTags,o=n.tagName&&n.tagName.toLowerCase();if((!b.node.isBlock(n)||n.lastChild&&o&&0<=r.indexOf(o))&&b.node.isEditable(n)){for(t=b.node.contents(n);n.nodeType!==Node.TEXT_NODE&&!b.node.isDeletable(n)&&t.length&&b.node.isEditable(n);)n=t[t.length-1],t=b.node.contents(n);if(n.nodeType===Node.TEXT_NODE){var i=n.textContent,a=i.length;if(i.length&&\"\\n\"===i[i.length-1])return n.textContent=i.substring(0,a-2),0===n.textContent.length&&n.parentNode.removeChild(n),N(e);if(b.opts.tabSpaces&&i.length>=b.opts.tabSpaces||b.opts.preserveTabSpaces&&4<=i.length){var s=b.opts.tabSpaces?b.opts.tabSpaces:4;0===i.substr(i.length-s,i.length-1).replace(/ /g,\"\").replace(new RegExp(Y.UNICODE_NBSP,\"g\"),\"\").length&&(a=i.length-s+1)}n.textContent=i.substring(0,a-y(i));var l=n.textContent;(b.opts.enter===Y.ENTER_BR&&0<l.length&&\" \"===l.charAt(l.length-1)||0===l.length&&e.previousSibling&&e.previousSibling.nodeType===Node.TEXT_NODE&&\"TD\"!==e.parentNode.tagName&&\"LI\"!==e.parentNode.tagName&&i!==String.fromCharCode(8203))&&(b.node.isBlock(E(e).parentsUntil(b.el).last().get(0))&&e.insertAdjacentHTML(\"beforebegin\",Y.MARKERS),e.insertAdjacentHTML(\"beforebegin\",Y.INVISIBLE_SPACE),n=n.nextSibling),b.opts.trackChangesEnabled&&0===n.textContent.length&&E(n.parentElement).data(\"tracking\")&&0===E(n.parentElement).find(\"[data-tracking-deleted=true]\").length&&(E(e).insertBefore(n.parentElement),E(n.parentElement).remove(),n=E(e)[0].previousSibling),b.opts.htmlUntouched&&!e.nextSibling&&n.textContent.length&&\" \"===n.textContent[n.textContent.length-1]&&(n.textContent=n.textContent.substring(0,n.textContent.length-1)+Y.UNICODE_NBSP);var c=i.length!==n.textContent.length;if(b.opts.enter!==Y.ENTER_BR&&n&&n.previousSibling&&n.previousSibling.previousSibling&&\"BR\"===n.previousSibling.previousSibling.tagName&&0===n.textContent.length&&n.previousSibling.previousSibling.remove(),0===n.textContent.length&&\"LI\"===n.parentNode.tagName&&n.previousSibling&&\"BR\"===n.previousSibling.tagName&&n.previousSibling.remove(),0===n.textContent.length&&n.parentNode.tagName&&\"svg\"===n.parentNode.tagName.toLowerCase()&&n.parentElement.remove(),0===n.textContent.length)if(c&&b.opts.keepFormatOnDelete)E(n).after(Y.INVISIBLE_SPACE+Y.MARKERS);else if(0!==i.length&&b.node.isBlock(n.parentNode))E(n).after(Y.MARKERS);else if((2!=n.parentNode.childNodes.length||n.parentNode!=e.parentNode)&&1!=n.parentNode.childNodes.length||b.node.isBlock(n.parentNode)||b.node.isElement(n.parentNode)||!b.node.isDeletable(n.parentNode)){for(var d,f=n;!b.node.isElement(n.parentNode)&&b.node.isEmpty(n.parentNode)&&Y.NO_DELETE_TAGS.indexOf(n.parentNode.tagName)<0;)if(\"A\"===(n=n.parentNode).tagName){var p=n.childNodes[0];for(E(n).before(p),d=!0;0<p.childNodes.length;)p=p.childNodes[0];n.parentNode.removeChild(n),n=p;break}d||(n=f),E(n).after(Y.MARKERS),b.node.isElement(n.parentNode)&&!e.nextSibling&&n.previousSibling&&\"BR\"===n.previousSibling.tagName&&E(e).after(\"<br>\");var u=n.parentNode;n.parentNode.removeChild(n),b.node.isEmpty(u)&&E(u).html(Y.INVISIBLE_SPACE+Y.MARKERS)}else E(n.parentNode).after(Y.MARKERS),E(n.parentNode).remove();else E(n).after(Y.MARKERS)}else b.node.isDeletable(n)?(E(n).after(Y.MARKERS),E(n).remove()):e.nextSibling&&\"BR\"===e.nextSibling.tagName&&b.node.isVoid(n)&&\"BR\"!==n.tagName?(E(e.nextSibling).remove(),E(e).replaceWith(Y.MARKERS)):!1!==b.events.trigger(\"node.remove\",[E(n)])&&(\"BR\"===n.tagName?E(L(n.previousSibling)).after(Y.MARKERS):E(n).after(Y.MARKERS),E(n).remove())}else if(Y.NO_DELETE_TAGS.indexOf(n.tagName)<0&&(b.node.isEditable(n)||b.node.isDeletable(n)))if(b.node.isDeletable(n))E(e).replaceWith(Y.MARKERS),E(n).remove();else if(b.node.isEmpty(n)&&!b.node.isList(n))E(n).remove(),E(e).replaceWith(Y.MARKERS);else{for(b.node.isList(n)&&(n=E(n).find(\"li\").last().get(0)),(t=b.node.contents(n))&&0<t.length&&\"BR\"===t[t.length-1].tagName&&E(t[t.length-1]).remove(),t=b.node.contents(n);t&&0<t.length&&b.node.isBlock(t[t.length-1]);)n=t[t.length-1],t=b.node.contents(n);var h=L(n),g=h&&0<E(h).parents(\"span\").length;if(b.opts.enter===Y.ENTER_BR&&g){var C=E(n).find(\"span\").last().get(0);C?E(L(C)).after(Y.MARKERS):E(n).append(Y.MARKERS)}else E(n).append(Y.MARKERS);for(var m=e;!m.previousSibling;)m=m.parentNode;for(;m&&\"BR\"!==m.tagName&&!b.node.isBlock(m);){var v=m;m=m.nextSibling,E(n).append(v)}m&&\"BR\"===m.tagName&&E(m).remove(),E(e).remove()}else e.nextSibling&&\"BR\"===e.nextSibling.tagName&&E(e.nextSibling).remove();return!0}function i(e){var t=0<E(e).parentsUntil(b.$el,\"BLOCKQUOTE\").length,n=b.node.deepestParent(e,[],!t);if(n&&\"BLOCKQUOTE\"===n.tagName){var r=b.node.deepestParent(e,[E(e).parentsUntil(b.$el,\"BLOCKQUOTE\").get(0)]);r&&r.nextSibling&&(n=r)}if(null!==n){var o,i=n.nextSibling;if(b.node.isBlock(n)&&(b.node.isEditable(n)||b.node.isDeletable(n))&&i&&Y.NO_DELETE_TAGS.indexOf(i.tagName)<0)if(b.node.isDeletable(i))E(i).remove(),E(e).replaceWith(Y.MARKERS);else if(b.node.isBlock(i)&&b.node.isEditable(i))if(b.node.isList(i))if(b.node.isEmpty(n,!0))E(n).remove(),E(i).find(\"li\").first().prepend(Y.MARKERS);else{var a=E(i).find(\"li\").first();\"BLOCKQUOTE\"===n.tagName&&(o=b.node.contents(n)).length&&b.node.isBlock(o[o.length-1])&&(n=o[o.length-1]),0===a.find(\"ul, ol\").length&&(E(e).replaceWith(Y.MARKERS),a.find(b.html.blockTagsQuery()).not(\"ol, ul, table\").each(function(){this.parentNode===a.get(0)&&E(this).replaceWith(E(this).html()+(b.node.isEmpty(this)?\"\":\"<br>\"))}),E(n).append(b.node.contents(a.get(0))),a.remove(),0===E(i).find(\"li\").length&&E(i).remove())}else{if((o=b.node.contents(i)).length&&\"BR\"===o[0].tagName&&E(o[0]).remove(),\"BLOCKQUOTE\"!==i.tagName&&\"BLOCKQUOTE\"===n.tagName)for(o=b.node.contents(n);o.length&&b.node.isBlock(o[o.length-1]);)n=o[o.length-1],o=b.node.contents(n);else if(\"BLOCKQUOTE\"===i.tagName&&\"BLOCKQUOTE\"!==n.tagName)for(o=b.node.contents(i);o.length&&b.node.isBlock(o[0]);)i=o[0],o=b.node.contents(i);E(e).replaceWith(Y.MARKERS),E(n).append(i.innerHTML),E(i).remove()}else{for(E(e).replaceWith(Y.MARKERS);i&&\"BR\"!==i.tagName&&!b.node.isBlock(i)&&b.node.isEditable(i);){var s=i;i=i.nextSibling,E(n).append(s)}i&&\"BR\"===i.tagName&&b.node.isEditable(i)&&E(i).remove()}}}function n(e){for(var t,n=e;!n.nextSibling;)if(n=n.parentNode,b.node.isElement(n))return!1;if(\"BR\"===(n=n.nextSibling).tagName&&b.node.isEditable(n))if(n.nextSibling){if(b.node.isBlock(n.nextSibling)&&b.node.isEditable(n.nextSibling)){if(!(Y.NO_DELETE_TAGS.indexOf(n.nextSibling.tagName)<0))return void E(n).remove();n=n.nextSibling,E(n.previousSibling).remove()}}else if(u(n)){if(m(e))b.cursorLists._del(e);else b.node.deepestParent(n)&&((!b.node.isEmpty(b.node.blockParent(n))||(b.node.blockParent(n).nextSibling&&Y.NO_DELETE_TAGS.indexOf(b.node.blockParent(n).nextSibling.tagName))<0)&&E(n).remove(),n&&n.parentNode&&8203===n.parentNode.textContent.charCodeAt()&&n.parentNode.childNodes[1]&&\"BR\"===n.parentNode.childNodes[1].tagName&&n.parentNode.tagName.toLowerCase()===b.html.defaultTag()&&n.parentNode.nextSibling&&\"TABLE\"===n.parentNode.nextSibling.tagName&&E(n.parentNode).remove(),i(e));return}if(!b.node.isBlock(n)&&b.node.isEditable(n)){for(t=b.node.contents(n);n.nodeType!==Node.TEXT_NODE&&t.length&&!b.node.isDeletable(n)&&b.node.isEditable(n);)n=t[0],t=b.node.contents(n);n.nodeType===Node.TEXT_NODE?(E(n).before(Y.MARKERS),n.textContent.length&&(n.textContent=n.textContent.substring(y(n.textContent,!0),n.textContent.length))):b.node.isDeletable(n)?(E(n).before(Y.MARKERS),E(n).remove()):!1!==b.events.trigger(\"node.remove\",[E(n)])&&(E(n).before(Y.MARKERS),E(n).remove()),E(e).remove()}else if(Y.NO_DELETE_TAGS.indexOf(n.tagName)<0&&(b.node.isEditable(n)||b.node.isDeletable(n)))if(b.node.isDeletable(n))E(e).replaceWith(Y.MARKERS),E(n).remove();else if(b.node.isList(n))e.previousSibling?(E(n).find(\"li\").first().prepend(e),b.cursorLists._backspace(e)):(E(n).find(\"li\").first().prepend(Y.MARKERS),E(e).remove());else if((t=b.node.contents(n))&&0<t.length&&\"BR\"===t[0].tagName&&E(t[0]).remove(),t&&0<t.length&&\"BLOCKQUOTE\"===n.tagName){var r=t[0];for(E(e).before(Y.MARKERS);r&&\"BR\"!==r.tagName;){var o=r;r=r.nextSibling,E(e).before(o)}r&&\"BR\"===r.tagName&&E(r).remove()}else E(e).after(E(n).html()).after(Y.MARKERS),E(n).remove()}function a(){for(var e=b.el.querySelectorAll(\"blockquote:empty\"),t=0;t<e.length;t++)e[t].parentNode.removeChild(e[t])}function v(e,t,n){var r,o=b.node.deepestParent(e,[],!n);if(o&&\"BLOCKQUOTE\"===o.tagName)return C(e,o)?(r=b.html.defaultTag(),t?E(e).replaceWith(\"<br>\"+Y.MARKERS):r?E(o).after(\"<\".concat(r,\">\").concat(Y.MARKERS,\"<br></\").concat(r,\">\")):E(o).after(\"\".concat(Y.MARKERS,\"<br>\")),E(e).remove()):S(e,t,n),!1;if(null===o)(r=b.html.defaultTag())&&b.node.isElement(e.parentNode)?E(e).replaceWith(\"<\".concat(r,\">\").concat(Y.MARKERS,\"<br></\").concat(r,\">\")):!e.previousSibling||E(e.previousSibling).is(\"br\")||e.nextSibling?E(e).replaceWith(\"<br>\".concat(Y.MARKERS)):E(e).replaceWith(\"<br>\".concat(Y.MARKERS,\"<br>\"));else{var i=e,a=\"\";\"PRE\"!=o.tagName||e.nextSibling||(t=!0),b.node.isBlock(o)&&!t||(a=\"<br/>\");var s,l=\"\",c=\"\",d=\"\",f=\"\";(r=b.html.defaultTag())&&b.node.isBlock(o)&&(d=\"<\".concat(r,\">\"),f=\"</\".concat(r,\">\"),o.tagName===r.toUpperCase()&&(d=b.node.openTagString(E(o).clone().removeAttr(\"id\").removeAttr(\"data-pasted\").get(0))));do{if(i=i.parentNode,!t||i!==o||t&&!b.node.isBlock(o))if(l+=b.node.closeTagString(i),i===o&&b.node.isBlock(o))c=d+c;else{var p=(\"A\"===i.tagName||b.node.hasClass(i,\"fa\"))&&C(e,i)?\"fr-to-remove\":\"\";c=i.getAttribute(\"data-pasted\")?b.node.openTagString(E(i).clone().attr(\"style\",\"\").addClass(p).get(0))+c:b.node.openTagString(E(i).clone().addClass(p).get(0))+c}}while(i!==o);a=l+a+c+(e.parentNode===o&&b.node.isBlock(o)?\"\":Y.INVISIBLE_SPACE)+Y.MARKERS,b.node.isBlock(o)&&!E(o).find(\"*\").last().is(\"br\")&&E(o).append(\"<br/>\"),E(e).after('<span id=\"fr-break\"></span>'),E(e).remove(),o.nextSibling&&!b.node.isBlock(o.nextSibling)||b.node.isBlock(o)||E(o).after(\"<br>\"),s=(s=!t&&b.node.isBlock(o)?b.node.openTagString(o)+E(o).html()+f:b.node.openTagString(o)+E(o).html()+b.node.closeTagString(o)).replace(/<span id=\"fr-break\"><\\/span>/g,a),E(o).replaceWith(s)}}function S(e,t,n){var r=b.node.deepestParent(e,[],!n);if(null===r)b.html.defaultTag()&&e.parentNode===b.el?E(e).replaceWith(\"<\".concat(b.html.defaultTag(),\">\").concat(Y.MARKERS,\"<br></\").concat(b.html.defaultTag(),\">\")):(e.nextSibling&&!b.node.isBlock(e.nextSibling)||E(e).after(\"<br>\"),E(e).replaceWith(\"<br>\".concat(Y.MARKERS)));else if(e.previousSibling&&\"IMG\"==e.previousSibling.tagName||e.nextSibling&&\"IMG\"==e.nextSibling.tagName)E(e).replaceWith(\"<\"+b.html.defaultTag()+\">\"+Y.MARKERS+\"<br></\"+b.html.defaultTag()+\">\");else{var o=e,i=\"\";\"PRE\"===r.tagName&&(t=!0),b.node.isBlock(r)&&!t||(i=\"<br>\");var a=\"\",s=\"\";do{var l=o;if(o=o.parentNode,\"BLOCKQUOTE\"===r.tagName&&b.node.isEmpty(l)&&!b.node.hasClass(l,\"fr-marker\")&&E(l).contains(e)&&E(l).after(e),\"BLOCKQUOTE\"!==r.tagName||!C(e,o)&&!g(e,o))if(!t||o!==r||t&&!b.node.isBlock(r)){a+=b.node.closeTagString(o);var c=\"A\"==o.tagName&&C(e,o)||b.node.hasClass(o,\"fa\")?\"fr-to-remove\":\"\";s=b.node.openTagString(E(o).clone().addClass(c).removeAttr(\"id\").removeAttr(\"data-pasted\").get(0))+s,b.opts.enter!==Y.ENTER_DIV&&o===r&&\"DIV\"===r.tagName&&(a=\"<br>\",s=\"\")}else\"BLOCKQUOTE\"==r.tagName&&t&&(s=a=\"\")}while(o!==r);var d=r===e.parentNode&&b.node.isBlock(r)||e.nextSibling;if(\"BLOCKQUOTE\"===r.tagName)if(e.previousSibling&&b.node.isBlock(e.previousSibling)&&e.nextSibling&&\"BR\"===e.nextSibling.tagName&&(E(e.nextSibling).after(e),e.nextSibling&&\"BR\"===e.nextSibling.tagName&&E(e.nextSibling).remove()),t)i=a+i+Y.MARKERS+s;else{var f=b.html.defaultTag();i=\"\".concat(a+i+(f?\"<\".concat(f,\">\"):\"\")+Y.MARKERS,\"<br>\").concat(f?\"</\".concat(f,\">\"):\"\").concat(s)}else i=a+i+s+(d?\"\":Y.INVISIBLE_SPACE)+Y.MARKERS;E(e).replaceWith('<span id=\"fr-break\"></span>');var p=b.node.openTagString(r)+E(r).html()+b.node.closeTagString(r);p=p.replace(/<span id=\"fr-break\"><\\/span>/g,i),E(r).replaceWith(p)}}function T(e){var t=e.getBoundingClientRect(),n=window.pageXOffset||document.documentElement.scrollLeft,r=window.pageYOffset||document.documentElement.scrollTop;return b.opts.iframe?{top:t.top+b.$wp.offset().top,left:t.left+n}:{top:t.top+r,left:t.left+n}}function M(){var e=b.selection.get(),t=null;if(b.selection.inEditor()&&e.rangeCount)for(var n=b.selection.ranges(),r=0;r<n.length;r++){var o=n[r];t=b.selection.rangeElement(o.startContainer,o.startOffset);break}return t}return{enter:function A(e){var t=b.markers.insert();if(!t)return!0;for(var n=t.parentNode;n&&!b.node.isElement(n);){if(\"false\"===n.getAttribute(\"contenteditable\"))return E(t).replaceWith(Y.MARKERS),b.selection.restore(),!1;if(\"true\"===n.getAttribute(\"contenteditable\"))break;n=n.parentNode}b.el.normalize();var r=!1;0<E(t).parentsUntil(b.$el,\"BLOCKQUOTE\").length&&(r=!0),E(t).parentsUntil(b.$el,\"TD, TH\").length&&(r=!1),u(t)?!m(t)||e||r?v(t,e,r):b.cursorLists._endEnter(t):h(t)?!m(t)||e||r?function f(e,t,n){var r,o=b.node.deepestParent(e,[],!n);if(o&&\"TABLE\"===o.tagName)return E(o).find(\"td, th\").first().prepend(e),f(e,t,n);if(o&&\"BLOCKQUOTE\"===o.tagName)if(g(e,o)){if(!t)return(r=b.html.defaultTag())?E(o).before(\"<\".concat(r,\">\").concat(Y.MARKERS,\"<br></\").concat(r,\">\")):E(o).before(\"\".concat(Y.MARKERS,\"<br>\")),E(e).remove(),!1}else C(e,o)?v(e,t,!0):S(e,t,!0);if(null===o)(r=b.html.defaultTag())&&b.node.isElement(e.parentNode)?E(e).replaceWith(\"<\".concat(r,\">\").concat(Y.MARKERS,\"<br></\").concat(r,\">\")):E(e).replaceWith(\"<br>\".concat(Y.MARKERS));else{if(r=b.html.defaultTag(),b.node.isBlock(o))if(\"PRE\"===o.tagName&&(t=!0),t)E(e).remove(),E(o).prepend(\"<br>\".concat(Y.MARKERS));else if(e.nextSibling&&\"IMG\"==e.nextSibling.tagName||e.nextSibling&&e.nextSibling.nextElementSibling&&\"IMG\"==e.nextSibling.nextElementSibling)E(e).replaceWith(\"<\"+b.html.defaultTag()+\">\"+Y.MARKERS+\"<br></\"+b.html.defaultTag()+\">\");else{if(b.node.isEmpty(o,!0))return v(e,t,n);if(b.opts.keepFormatOnDelete||\"DIV\"===o.tagName||\"div\"===b.html.defaultTag())if(!b.opts.keepFormatOnDelete&&\"DIV\"===o.tagName||\"div\"===b.html.defaultTag())E(o).before(\"<\"+b.html.defaultTag()+\"><br></\"+b.html.defaultTag()+\">\");else if(b.opts.keepFormatOnDelete&&!b.opts.htmlUntouched&&\"DIV\"!==o.tagName&&\"div\"!==b.html.defaultTag()&&h(b.selection.get().focusNode))E(o).before(\"\".concat(b.node.openTagString(E(o).clone().removeAttr(\"id\").removeAttr(\"data-pasted\").get(0)),\"<br>\").concat(b.node.closeTagString(o)));else{for(var i=e,a=Y.INVISIBLE_SPACE;i!==o&&!b.node.isElement(i);)i=i.parentNode,a=b.node.openTagString(i)+a+b.node.closeTagString(i);E(o).before(a)}else E(o).before(\"\".concat(b.node.openTagString(E(o).clone().removeAttr(\"id\").removeAttr(\"data-pasted\").get(0)),\"<br>\").concat(b.node.closeTagString(o)))}else E(o).before(\"<br>\");E(e).remove()}}(t,e,r):b.cursorLists._startEnter(t):!m(t)||e||r?S(t,e,r):b.cursorLists._middleEnter(t),function p(){b.$el.find(\".fr-to-remove\").each(function(){for(var e=b.node.contents(this),t=0;t<e.length;t++)e[t].nodeType===Node.TEXT_NODE&&(e[t].textContent=e[t].textContent.replace(/\\u200B/g,\"\"));E(this).replaceWith(this.innerHTML)})}(),b.html.fillEmptyBlocks(!0),b.opts.htmlUntouched||(b.html.cleanEmptyTags(),b.clean.lists(),b.spaces.normalizeAroundCursor()),b.selection.restore();var o=b.o_win.innerHeight;if(b.$oel[0].offsetHeight>o){var i=M();if(i){var a=T(i);a=a.top;var s=i.getBoundingClientRect().top;b.opts.iframe&&(s=s+b.$wp.offset().top-b.helpers.scrollTop()),b.opts.scrollableContainer&&b.opts.enter!==Y.ENTER_BR&&\"BR\"===i.tagName&&s+20===o&&(s=a=i.parentNode.offsetTop),i.parentNode&&\"TD\"===i.parentNode.tagName&&o<s?b.o_win.scroll(0,s-50):\"BR\"===i.tagName&&s<0?b.o_win.scroll(0,a-80):b.opts.scrollableContainer&&o<s+20?b.o_win.scroll(0,a-o+50):b.opts.scrollableContainer&&s+2*b.$tb.height()>b.$sc[0].scrollTop+E(b.$sc).height()&&b.$sc[0].scroll(0,a-E(b.$sc).height()+2*b.$tb.height())}}else if(b.opts.scrollableContainer&&b.opts.toolbarSticky){var l=M();if(l){var c=T(l);c=c.top;var d=l.getBoundingClientRect().top;b.opts.enter!==Y.ENTER_BR&&\"BR\"===l.tagName&&(d=c=l.parentNode.offsetTop),(b.opts.iframe&&d+2*b.$tb.height()>b.$sc[0].scrollTop+E(b.$sc).height()||d+2*b.$tb.height()>E(b.$sc).height())&&b.$sc[0].scroll(0,c-E(b.$sc).height()+2*b.$tb.height())}}},backspace:function s(){var e=!1,t=b.markers.insert();if(!t)return!0;for(var n=t.parentNode;n&&!b.node.isElement(n);){if(\"false\"===n.getAttribute(\"contenteditable\"))return E(t).replaceWith(Y.MARKERS),b.selection.restore(),!1;if(n.innerText.length&&\"true\"===n.getAttribute(\"contenteditable\"))break;n=n.parentNode}b.el.normalize();var r=t.previousSibling;if(r){var o=r.textContent;o&&o.length&&8203===o.charCodeAt(o.length-1)&&(1===o.length?E(r).remove():r.textContent=r.textContent.substr(0,o.length-y(o)))}return u(t)?m(t)&&g(t,E(t).parents(\"li\").first().get(0))?b.cursorLists._backspace(t):e=N(t):h(t)?m(t)&&g(t,E(t).parents(\"li\").first().get(0))?b.cursorLists._backspace(t):function c(e){for(var t=0<E(e).parentsUntil(b.$el,\"BLOCKQUOTE\").length,n=b.node.deepestParent(e,[],!t),r=n;n&&!n.previousSibling&&\"BLOCKQUOTE\"!==n.tagName&&n.parentElement!==b.el&&!b.node.hasClass(n.parentElement,\"fr-inner\")&&Y.SIMPLE_ENTER_TAGS.indexOf(n.parentElement.tagName)<0;)n=n.parentElement;if(n&&\"BLOCKQUOTE\"===n.tagName){var o=b.node.deepestParent(e,[E(e).parentsUntil(b.$el,\"BLOCKQUOTE\").get(0)]);o&&o.previousSibling&&(r=n=o)}if(null!==n){var i,a=n.previousSibling;if(b.node.isBlock(n)&&b.node.isEditable(n))if(a&&Y.NO_DELETE_TAGS.indexOf(a.tagName)<0){if(b.node.isDeletable(a))E(a).remove(),E(e).replaceWith(Y.MARKERS);else if(b.node.isEditable(a))if(b.node.isBlock(a))if(b.node.isEmpty(a)&&!b.node.isList(a))E(a).remove(),E(e).after(b.opts.keepFormatOnDelete?Y.INVISIBLE_SPACE:\"\");else{if(b.node.isList(a)&&(a=E(a).find(\"li\").last().get(0)),(i=b.node.contents(a)).length&&\"BR\"===i[i.length-1].tagName&&E(i[i.length-1]).remove(),\"BLOCKQUOTE\"===a.tagName&&\"BLOCKQUOTE\"!==n.tagName)for(i=b.node.contents(a);i.length&&b.node.isBlock(i[i.length-1]);)a=i[i.length-1],i=b.node.contents(a);else if(\"BLOCKQUOTE\"!==a.tagName&&\"BLOCKQUOTE\"===r.tagName)for(i=b.node.contents(r);i.length&&b.node.isBlock(i[0]);)r=i[0],i=b.node.contents(r);if(b.node.isEmpty(n))E(e).remove(),b.selection.setAtEnd(a,!0);else{E(e).replaceWith(Y.MARKERS);var s=a.childNodes;b.node.isBlock(s[s.length-1])?E(s[s.length-1]).append(r.innerHTML):E(a).append(r.innerHTML)}E(r).remove(),b.node.isEmpty(n)&&E(n).remove()}else E(e).replaceWith(Y.MARKERS),\"BLOCKQUOTE\"===n.tagName&&a.nodeType===Node.ELEMENT_NODE?E(a).remove():(E(a).after(b.node.isEmpty(n)?\"\":E(n).html()),E(n).remove(),\"BR\"===a.tagName&&E(a).remove())}else if(a)8203===n.textContent.charCodeAt()&&n.childNodes[1]&&\"BR\"===n.childNodes[1].tagName&&n.tagName.toLowerCase()===b.html.defaultTag()&&n.previousSibling&&\"TABLE\"===n.previousSibling.tagName&&E(n).remove();else if(n&&\"BLOCKQUOTE\"===n.tagName&&0===E(n).text().replace(/\\u200B/g,\"\").length)E(n).remove();else{var l=n.nextSibling;b.node.isEmpty(n)&&n.parentNode&&b.node.isEditable(n.parentNode)&&!l&&(n.parentNode!=b.el&&\"TD\"!==n.parentNode.tagName?E(n.parentNode).remove():n.parentNode!=b.el&&\"TD\"===n.parentNode.tagName&&E(n).remove())}}}(t):e=N(t),E(t).remove(),a(),b.html.fillEmptyBlocks(!0),b.opts.htmlUntouched||(b.html.cleanEmptyTags(),b.clean.lists(),b.spaces.normalizeAroundCursor()),b.selection.restore(),e},del:function r(){var e=b.markers.insert();if(!e)return!1;if(b.el.normalize(),u(e))if(m(e))if(0===E(e).parents(\"li\").first().find(\"ul, ol\").length)b.cursorLists._del(e);else{var t=E(e).parents(\"li\").first().find(\"ul, ol\").first().find(\"li\").first();(t=t.find(b.html.blockTagsQuery()).get(-1)||t).prepend(e),b.cursorLists._backspace(e)}else i(e);else h(e),n(e);E(e).remove(),a(),b.html.fillEmptyBlocks(!0),b.opts.htmlUntouched||(b.html.cleanEmptyTags(),b.clean.lists()),b.spaces.normalizeAroundCursor(),b.selection.restore()},isAtEnd:C,isAtStart:g}},Y.MODULES.data=function(f){function p(e){return e}function c(e){for(var t=e.toString(),n=0,r=0;r<t.length;r++)n+=parseInt(t.charAt(r),10);return 10<n?n%9+1:n}function d(e,t,n){for(var r=Math.abs(n);0<r--;)e-=t;return n<0&&(e+=123),e}function u(e){return e&&\"block\"!==e.css(\"display\")?(e.remove(),!0):e&&0===f.helpers.getPX(e.css(\"height\"))?(e.remove(),!0):!(!e||\"absolute\"!==e.css(\"position\")&&\"fixed\"!==e.css(\"position\")||(e.remove(),0))}function h(e){return e&&0===f.$box.find(e).length}function g(){if(10<e&&(f[p(M(\"0ppecjvc==\"))](),setTimeout(function(){E.FE=null},10)),!f.$box)return!1;f.$wp.prepend(M(p(M(S)))),v=f.$wp.find(\"> div\").first(),b=v.find(\"> a\"),\"rtl\"===f.opts.direction&&v.css(\"left\",\"auto\").css(\"right\",0).attr(\"direction\",\"rtl\"),e++}function C(e){for(var t=[M(\"9qqG-7amjlwq==\"),M(\"KA3B3C2A6D1D5H5H1A3==\"),M(\"3B9B3B5F3C4G3E3==\"),M(\"QzbzvxyB2yA-9m==\"),M(\"ji1kacwmgG5bc==\"),M(\"nmA-13aogi1A3c1jd==\"),M(\"BA9ggq==\"),M(\"emznbjbH3fij==\"),M(\"tkC-22d1qC-13sD1wzF-7==\"),M(\"tA3jjf==\"),M(\"1D1brkm==\")],n=0;n<t.length;n++)if(String.prototype.endsWith||(String.prototype.endsWith=function(e,t){return(void 0===t||t>this.length)&&(t=this.length),this.substring(t-e.length,t)===e}),e.endsWith(t[n]))return!0;return!1}function m(){var e=M(p(n)),t=M(p(\"tzgatD-13eD1dtdrvmF3c1nrC-7saQcdav==\")).split(\".\");try{return window.parent.document.querySelector(e)&&window[t[1]][t[2]]}catch(e){return!1}}var v,b,E=f.$,L=\"sC-7OB2fwhVC4vsG-7ohPA4ZD4D-8f1J3stzB-11bFE2FC1A3NB2IF1HE1TH4WB8eB-11zVG2F3I3yYB5ZG4CB2DA15CC5AD3F1A1KG1oLA10B1A6wQF1H3vgale2C4F4XA2qc2A5D5B3pepmriKB3OE1HD1fUC10pjD-11E-11TB4YJ3bC-16zE-11yc1B2CE2BC3jhjKC1pdA-21OA6C1D5B-8vF4QA11pD6sqf1C3lldA-16BD4A2H3qoEA7bB-16rmNH5H1F1vSB7RE2A3TH4YC5A5b1A4d1B3whepyAC3AA2zknC3mbgf1SC4WH4PD8TC5ZB2C3H3jb2A5ZA2EF2aoFC5qqHC4B1H1zeGA7UA5RF4TA29TA6ZC4d1C3hyWA10A3rBB2E3decorationRD3QC10UD3E6E6ZD2F3F3fme2E5uxxrEC9C3E4fB-11azhHB1LD7D6VF4VVTPC6b1C4TYG3qzDD6B3B3AH4I2H2kxbHE1JD1yihfd1QD6WB1D4mhrc1B5rvFG3A14A7cDA2OC1AA1JB5zC-16KA6WB4C-8wvlTB5A5lkZB2C2C7zynBD2D2bI-7C-21d1HE2cubyvPC8A6VB3aroxxZE4C4F4e1I2BE1WjdifH1H4A14NA1GB1YG-10tWA3A14A9sVA2C5XH2A29b2A6gsleGG2jaED2D-13fhE1OA8NjwytyTD4e1sc1D-16ZC3B5C-9e1C2FB6EFF5B2C2JH4E1C2tdLE5A3UG4G-7b2D3B4fA-9oh1G3kqvB4AG3ibnjcAC6D2B1cDA9KC2QA6bRC4VA30RB8hYB2A4A-8h1A21A2B2==\",y=\"7D4YH4fkhHB3pqDC3H2E1fkMD1IB1NF1D3QD9wB5rxqlh1A8c2B4ZA3FD2AA6FB5EB3jJG4D2J-7aC-21GB6PC5RE4TC11QD6XC4XE3XH3mlvnqjbaOA2OC2BE6A1fmI-7ujwbc1G5f1F3e1C11mXF4owBG3E1yD1E4F1D2D-8B-8C-7yC-22HD1MF5UE4cWA3D8D6a1B2C3H3a3I3sZA4B3A2akfwEB3xHD5D1F1wIC11pA-16xdxtVI2C9A6YC4a1A2F3B2GA6B4C3lsjyJB1eMA1D-11MF5PE4ja1D3D7byrf1C3e1C7D-16lwqAF3H2A1B-21wNE1MA1OG1HB2A-16tSE5UD4RB3icRA4F-10wtwzBB3E1C3CC2DA8LA2LA1EB1kdH-8uVB7decorg1J2B7B6qjrqGI2J1C6ijehIB1hkemC-13hqkrH4H-7QD6XF5XF3HLNAC3CB2aD2CD2KB10B4ycg1A-8KA4H4B11jVB5TC4yqpB-21pd1E4pedzGB6MD5B3ncB-7MA4LD2JB6PD5uH-8TB9C7YD5XD2E3I3jmiDB3zeimhLD8E2F2JC1H-9ivkPC5lG-10SB1D3H3A-21rc1A3d1E3fsdqwfGA2KA1OrC-22LA6D1B4afUB16SC7AitC-8qYA11fsxcajGA15avjNE2A-9h1hDB16B9tPC1C5F5UC1G3B8d2A5d1D4RnHJ3C3JB5D3ucMG1yzD-17hafjC-8VD3yWC6e1YD2H3ZE2C8C5oBA3H3D2vFA4WzJC4C2i1A-65fNB8afWA1H4A26mvkC-13ZB3E3h1A21BC4eFB2GD2AA5ghqND2A2B2==\",n=\"MekC-11nB-8tIzpD7pewxvzC6mD-16xerg1==\",N=\"KB5A2B1B2A5F1A3E1J4B17C1D8E7E4A3G3D4B2C7B5B6E5B2b1==\",S=\"sC-7OB2fwhVC4vsG-7ohPA4ZD4D-8f1J3stzB-11bFE2EE1MA2ND1KD1IE4cA-21pSD2D5ve1G3h1A8b1E5ZC3CD2FA16mC5OC5E1hpnG1NA10B1D7hkUD4I-7b2C3C5nXD2E3F3whidEC2EH3GI2mJE2E2bxci1WA10VC7pllSG2F3A7xd1A4ZC3DB2aaeGA2DE4H2E1j1ywD-13FD1A3VE4WA3D8C6wuc1A2hf1B5B7vnrrjA1B9ic1mpbD1oMB1iSB7rWC4RI4G-7upB6jd1A2F3H2EA4FD3kDF4A2moc1anJD1TD4VI4b2C7oeQF4c1E3XC7ZA3C3G3uDB2wGB6D1JC4D1JD4C1hTE6QC5pH4pD3C-22D7c1A3textAA4gdlB2mpozkmhNC1mrxA3yWA5edhg1I2H3B7ozgmvAI3I2B5GD1LD2RSNH1KA1XA5SB4PA3sA9tlmC-9tnf1G3nd1coBH4I2I2JC3C-16LE6A1tnUA3vbwQB1G3f1A20a3A8a1C6pxAB2eniuE1F3kH2lnjB2hB-16XA5PF1G4zwtYA5B-11mzTG2B9pHB3BE2hGH3B3B2cMD5C1F1wzPA8E7VG5H5vD3H-7C8tyvsVF2I1G2A5fE3bg1mgajoyxMA4fhuzSD8aQB2B4g1A20ukb1A4B3F3GG2CujjanIC1ObiB11SD1C5pWC1D4YB8YE5FE-11jXE2F-7jB4CC2G-10uLH4E1C2tA-13yjUH5d1H1A7sWD5E4hmjF-7pykafoGA16hDD4joyD-8OA33B3C2tC7cRE4SA31a1B8d1e2A4F4g1A2A22CC5zwlAC2C1A12==\",T=function(){for(var e=0,t=document.domain,n=t.split(\".\"),r=\"_gd\".concat((new Date).getTime());e<n.length-1&&-1===document.cookie.indexOf(\"\".concat(r,\"=\").concat(r));)t=n.slice(-1-++e).join(\".\"),document.cookie=\"\".concat(r,\"=\").concat(r,\";domain=\").concat(t,\";\");return document.cookie=\"\".concat(r,\"=;expires=Thu, 01 Jan 1970 00:00:01 GMT;domain=\").concat(t,\";\"),(t||\"\").replace(/(^\\.*)|(\\.*$)/g,\"\")}(),M=p(function A(e){if(!e)return e;for(var t=\"\",n=p(\"charCodeAt\"),r=p(\"fromCharCode\"),o=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\".indexOf(e[0]),i=1;i<e.length-2;i++){for(var a=c(++o),s=e[n](i),l=\"\";/[0-9-]/.test(e[i+1]);)l+=e[++i];s=d(s,a,l=parseInt(l,10)||0),s^=o-1&31,t+=String[r](s)}return t}),e=0;return{_init:function x(){var e=f.opts.key||[\"\"],t=M(p(\"ziRA1E3B9pA5B-11D-11xg1A3ZB5D1D4B-11ED2EG2pdeoC1clIH4wB-22yQD5uF4YE3E3A9==\"));\"string\"==typeof e&&(e=[e]);for(var n,r,o,i=!(f.ul=!0),a=0,s=0;s<e.length;s++){var l=(r=e[s],4===(o=(M(r)||\"\").split(\"|\")).length&&\"V3\"===o[0]?[o[1],o[3],o[2]]:[null,null,\"\"]),c=l[2];if(c===M(p(M(\"LGnD1KNZf1CPBYCAZB-8F3UDSLLSG1VFf1A3C2==\")))||0<=c.indexOf(T,c.length-T.length)||C(T)||m()){if(null!==(n=l[1])&&!(0==n.indexOf(\"TRIAL\")?(n=new Date(n.replace(/TRIAL/,\"\")),new Date(n)<new Date&&(L=y,1)):new Date(n)<new Date(M(N)))||!(0<(T||\"\").length)||C(T)||m()){f.ul=!1;break}i=!0,S=L,a=l[0]||-1}}var d=new Image;!0===f.ul&&(g(),d.src=i?\"\".concat(p(M(t)),\"e=\").concat(a):\"\".concat(p(M(t)),\"u\")),!0===f.ul&&(f.events.on(\"contentChanged\",function(){(function e(){return u(v)||u(b)||h(v)||h(b)})()&&g()}),f.events.on(\"html.get\",function(e){return e+M(\"qD2H-9G3ioD-17qA1tE1B-8qI3A4hA-13C-11E2C1njfldD1E6pg1C-8sC3hfbkcD2G3stC-22gqgB3G2B-7vtoA4nweeD1A31A15B9uC-16A1F5dkykdc1B8dE-11bA3F2D3A9gd1E7F2tlI-8H-7vtxB2A5B2C3B2F2B5A6ldbyC4iqC-22D-17E-13mA3D2dywiB3oxlvfC1H4C2TjqbzlnI3ntB4E3qA2zaqsC6D3pmnkoE3C6D5wvuE3bwifdhB6hch1E4xibD-17dmrC1rG-7pntnF6nB-8F1D2A11C8plrkmF2F3MC-16bocqA2WwA-21ayeA1C4d1isC-22rD-13D6DfjpjtC2E6hB2G2G4A-7D2==\")})),f.events.on(\"html.set\",function(){var e=f.el.querySelector('[data-f-id=\"pbf\"]');e&&E(e).remove()}),f.events.on(\"destroy\",function(){v&&v.length&&v.remove()},!0)}}},Y.MODULES.edit=function(t){function e(){if(t.browser.mozilla)try{t.doc.execCommand(\"enableObjectResizing\",!1,\"false\"),t.doc.execCommand(\"enableInlineTableEditing\",!1,\"false\")}catch(e){}if(t.browser.msie)try{t.doc.body.addEventListener(\"mscontrolselect\",function(e){return e.srcElement.focus(),!1})}catch(e){}}var n=!1;function r(){return n}return{_init:function o(){t.events.on(\"focus\",function(){r()?t.edit.off():t.edit.on()})},on:function i(){t.$wp?(t.$el.attr(\"contenteditable\",!0),t.$el.removeClass(\"fr-disabled\").attr(\"aria-disabled\",!1),e()):t.$el.is(\"a\")&&t.$el.attr(\"contenteditable\",!0),t.events.trigger(\"edit.on\",[],!0),n=!1},off:function a(){t.events.disableBlur(),t.$wp?(t.$el.attr(\"contenteditable\",!1),t.$el.addClass(\"fr-disabled\").attr(\"aria-disabled\",!0)):t.$el.is(\"a\")&&t.$el.attr(\"contenteditable\",!1),t.events.trigger(\"edit.off\"),t.events.enableBlur(),n=!0},disableDesign:e,isDisabled:r}},Y.MODULES.format=function(x){var O=x.$;function w(e,t){var n=e;for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(n+=\"id\"===r?\"#\".concat(t[r]):\"class\"===r?\".\".concat(t[r]):\"[\".concat(r,'=\"').concat(t[r],'\"]'));return n}function k(e,t){return!(!e||e.nodeType!==Node.ELEMENT_NODE)&&(e.matches||e.matchesSelector||e.msMatchesSelector||e.mozMatchesSelector||e.webkitMatchesSelector||e.oMatchesSelector).call(e,t)}function N(l,c,d){var f,n,r,e={strong:{prop:\"font-weight\",val:\"bold\"},em:{prop:\"font-style\",val:\"italic\"}},p=function L(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?A(Object(n),!0).forEach(function(e){M(t,e,n[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):A(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}({},d||{});if(l){T(l)&&(l=l.nextSibling);var t=\"LI\"===l.tagName?l:O(l).parentsUntil(x.$el,\"li\").get(0),o=O(t).find(\".fr-marker[data-type=false]\").get(0);if(\"LI\"!==l.parentNode.parentNode.tagName||!o||null!=o.previousSibling){if(x.node.isBlock(l)&&l.hasAttribute(\"contenteditable\")&&\"false\"===l.getAttribute(\"contenteditable\")&&!x.opts.allowStylingOnNonEditable||l.parentNode&&l.parentNode.hasAttribute(\"contenteditable\")&&\"false\"===l.parentNode.getAttribute(\"contenteditable\")&&!x.opts.allowStylingOnNonEditable){if(l.nextSibling&&O(l.nextSibling).hasClass(\"fr-marker\"))return;if(l.nextSibling)return void N(l.nextSibling,c,d);if(l.parentNode)return void N(l.parentNode,c,d)}for(;l&&l.nodeType===Node.COMMENT_NODE;)l=l.nextSibling;if(l){if(x.node.isBlock(l)&&\"HR\"!==l.tagName&&\"LI\"!==l.tagName)return x.node.hasClass(l.firstChild,\"fr-marker\")?N(l.firstChild.nextSibling,c,d):N(l.firstChild,c,d),!1;if(p.style){var i=p.style.split(\";\").map(function(e){return e.trim()}).filter(function(e){var t=H(e.split(\":\").map(function(e){return e&&e.trim()}),2),n=t[0],r=t[1];return n&&r}).join(\"; \");i?p.style=i+\";\":delete p.style}var u=O(x.doc.createElement(c));if(u.attr(p),!(\"span\"===c&&l.parentNode&&\"span\"===l.parentNode.tagName.toLowerCase())&&l.parentNode&&l.parentNode.hasAttribute(\"contenteditable\")&&\"false\"===l.parentNode.getAttribute(\"contenteditable\")&&x.opts.allowStylingOnNonEditable){for(var a=l.parentNode,s=O(x.doc.createElement(c)).attr(d);a.firstChild;)s.append(a.firstChild);return O(a).append(s),void(O(a.lastChild.lastChild).hasClass(\"fr-marker\")||N(a.nextSibling,c,d))}if(u.insertBefore(l),(f=S(l))&&(0<=[\"strong\",\"em\"].indexOf(c)||\"span\"===c&&d.hasOwnProperty(\"style\"))&&(r=\"span\"===c?(e=d.style.replace(/;$/,\"\").split(\":\"),n=e[0].trim(),e[1].trim()):(n=e[c].prop,e[c].val),\"background-color\"!==n)){var h=O(f);h.css(n,r),h.find(\"a\").each(function(){var e=O(this),t=this.style;\"\"===r?t.getPropertyValue(n)&&(t.removeProperty(n),t.length||this.removeAttribute(\"style\")):e.css(n,r)}),function y(e,t){var n,r=e.childNodes;for(n=0;n<r.length;n++)0<=[\"UL\",\"OL\",\"LI\"].indexOf(r[n].tagName)&&\"\"===r[n].style[t]&&O(r[n]).css(t,\"initial\")}(f,n)}for(var g,C=l,m=!1,v=function v(){var t=C;if(\"SPAN\"===C.tagName&&O(C).hasClass(\"fr-tracking-deleted\"))return C=C.nextSibling,0;if(x.node.isBlock(C)&&\"HR\"!==l.tagName)return N(C.firstChild,c,d),{v:!1};if(\"SPAN\"===C.tagName&&x.node.isEditable(C))return u.is(\":empty\")&&u.remove(),N(C.firstChild,c,d),{v:!1};if(C.tagName&&C.hasAttribute(\"contenteditable\")&&\"false\"===C.getAttribute(\"contenteditable\")&&!x.opts.allowStylingOnNonEditable){var e=u.get(0).parentNode,n=C.nextSibling;return\"P\"===C.parentNode.tagName&&null==C.nextSibling?n=C.parentNode.nextSibling:!n&&e&&e.nextSibling&&\"DIV\"===e.nextSibling.tagName&&(n=e.nextSibling),N(n,c,d),{v:void 0}}if(!x.node.isEditable(C.parentNode)&&!x.opts.allowStylingOnNonEditable)return x.selection.restore(),x.toolbar.disable(),{v:void 0};if(C=C.nextSibling,\"span\"!=c||f)u.append(t);else{var r=t;[\"u\",\"s\"].forEach(function(e){0<O(t).parents(e).length&&(r=O(r).wrap(\"<\".concat(e,\"></\").concat(e,\">\")).get(0).parentNode,m=!0)});var o=function a(t){return[].filter.call(t.parentNode.childNodes,function(e){return e.nodeType===Node.TEXT_NODE&&e!==t})}(r);0<o.length&&0<O(r).parents(\"u, s\").length&&(o.forEach(function(e){var t=null,n=null;0<O(r).parents(\"u\").length&&(n=t=document.createElement(\"u\")),0<O(r).parents(\"s\").length&&(n=n?(t.appendChild(document.createElement(\"s\")),t.firstChild):t=document.createElement(\"s\")),n.appendChild(e.cloneNode()),e.replaceWith(t)}),x.selection.restore(),x.selection.save());var i=\"A\"===r.tagName?r:r.parentNode&&\"A\"===r.parentNode.tagName?r.parentNode:null;i&&(!p.style&&i.hasAttribute(\"style\")?i.removeAttribute(\"style\"):p.style&&O(i).attr(\"style\",p.style)),u.append(r)}x.browser.mozilla&&0<u.length&&function s(e){if(O(e).parentsUntil(x.$el,\"TABLE\").length){for(var t=null,n=e.nextSibling;n;)\"BR\"===n.nodeName&&(t=n),n=n.nextSibling;t&&!t.nextSibling&&\"TD\"!=t.parentNode.nodeName&&t.parentNode.textContent&&t.remove()}}(u[0])};C&&!O(C).hasClass(\"fr-marker\")&&0===O(C).find(\".fr-marker\").length&&\"UL\"!==C.tagName&&\"OL\"!==C.tagName;)if(0!==(g=v())&&g)return g.v;if(C)(O(C).find(\".fr-marker\").length||\"UL\"===C.tagName||\"OL\"===C.tagName)&&N(C.firstChild,c,d);else{for(var b=u.get(0).parentNode;b&&!b.nextSibling&&!x.node.isElement(b);)b=b.parentNode;if(b){var E=b.nextSibling;E&&(x.node.isBlock(E)?\"HR\"===E.tagName?N(E.nextSibling,c,d):N(E.firstChild,c,d):N(E,c,d))}}u.is(\":empty\")?u.remove():m&&(u.parents(\"u, s\").get().forEach(function(e){var t=e.parentNode;if(t){var n=document.createDocumentFragment();e.childNodes.forEach(function(e){n.appendChild(e.cloneNode(!0))}),t.replaceChild(n,e)}}),x.selection.restore(),x.selection.save())}}}}function l(e,t){var n;if(void 0===t&&(t={}),t.style&&delete t.style,x.selection.isCollapsed()){x.markers.insert();var r=x.$el.find(\".fr-marker\");r.get(0).nextSibling&&x.node.isBlock(r.get(0).nextSibling)&&!r.get(0).previousSibling&&\"LI\"===r.get(0).parentNode.tagName&&r.get(0).nextSibling.prepend(r.get(0)),r.replaceWith(function l(e,t){var n=\"<\".concat(e);for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(n+=\" \".concat(r,'=\"').concat(t[r],'\"'));return n+=\">\"}(e,t)+Y.INVISIBLE_SPACE+Y.MARKERS+function c(e){return\"</\".concat(e,\">\")}(e)),x.selection.restore()}else{x.selection.save();var o,i=x.$el.find('.fr-marker[data-type=\"true\"]').length&&x.$el.find('.fr-marker[data-type=\"true\"]').get(0).nextSibling;N(i,e,t),O(i).parent().find(\"a:empty\").remove();do{for(o=x.$el.find(\"\".concat(w(e,t),\" > \").concat(w(e,t))),n=0;n<o.length;n++)o[n].outerHTML=o[n].innerHTML}while(o.length);x.el.normalize();var a=x.el.querySelectorAll(\".fr-marker\");for(n=0;n<a.length;n++){var s=O(a[n]);!0===s.data(\"type\")?k(s.get(0).nextSibling,w(e,t))&&s.next().prepend(s):k(s.get(0).previousSibling,w(e,t))&&s.prev().append(s)}x.selection.restore()}}function $(e,t,n,r){if(!r){var o=!1;if(!0===e.data(\"type\"))for(;x.node.isFirstSibling(e.get(0))&&!e.parent().is(x.$el)&&!e.parent().is(\"ol\")&&!e.parent().is(\"ul\");)e.parent().before(e),o=!0;else if(!1===e.data(\"type\"))for(;x.node.isLastSibling(e.get(0))&&!e.parent().is(x.$el)&&!e.parent().is(\"ol\")&&!e.parent().is(\"ul\");)e.parent().after(e),o=!0;if(o)return!0}if(e.parents(t).length||void 0===t){var i,a=\"\",s=\"\",l=e.parent();if(\"A\"===l[0].tagName&&(l=l.parent()),l.is(x.$el)||x.node.isBlock(l.get(0)))return!1;for(;!(x.node.isBlock(l.parent().get(0))||void 0!==t&&k(l.get(0),w(t,n))||[\"#document\",\"HTML\",\"BODY\"].includes(l.parent().get(0).nodeName.toUpperCase()));)a+=x.node.closeTagString(l.get(0)),s=x.node.openTagString(l.get(0))+s,l=l.parent();var c=e.get(0).outerHTML;return e.replaceWith('<span id=\"mark\"></span>'),i=l.html().replace(/<span id=\"mark\"><\\/span>/,a+x.node.closeTagString(l.get(0))+s+c+a+x.node.openTagString(l.get(0))+s),l.replaceWith(x.node.openTagString(l.get(0))+i+x.node.closeTagString(l.get(0))),!0}return!1}function c(e,t){void 0===t&&(t={}),t.style&&delete t.style;var n=x.selection.isCollapsed();x.selection.save();var r=x.$el.find(\".fr-marker\");if(e&&r.length&&(r[0].parentNode&&r[0].parentNode.tagName===e.toUpperCase()||r[1].parentNode.tagName===e.toUpperCase())){var o=r[0];r[0].parentNode.tagName!==e.toUpperCase()&&(o=r[1]);for(var i=o.parentNode.previousSibling;null!=i;)i.nodeType===Node.TEXT_NODE&&(i.textContent=i.textContent.replace(/\\u200B/g,\"\")),i=i.previousSibling;for(var a=o.parentNode.nextSibling;null!=a;)a.nodeType===Node.TEXT_NODE&&(a.textContent=a.textContent.replace(/\\u200B/g,\"\")),a=a.nextSibling}for(var s=!0;s;){s=!1;for(var l=x.$el.find(\".fr-marker\"),c=0;c<l.length;c++){var d=O(l[c]),f=null;if(d.attr(\"data-cloned\")||n||(f=d.clone().removeClass(\"fr-marker\").addClass(\"fr-clone\"),d.data(\"type\")&&\"true\"===d.data(\"type\").toString()?d.attr(\"data-cloned\",!0).after(f):d.attr(\"data-cloned\",!0).before(f)),$(d,e,t,n)){s=!0;break}}}!function M(e,t,n,r){for(var o,i={strong:{prop:\"font-weight\",val:\"bold\"},em:{prop:\"font-style\",val:\"italic\"}},a=x.node.contents(e.get(0)),s=0;s<a.length;s++){var l=a[s];if(l.innerHTML&&8203==l.innerHTML.charCodeAt()&&l.tagName.toLocaleLowerCase()==n&&l.childNodes.length<2&&!x.helpers.isMobile()&&(l.outerHTML=l.innerHTML),x.node.hasClass(l,\"fr-marker\"))t=(t+1)%2;else if(t)if(0<O(l).find(\".fr-marker\").length)t=M(O(l),t,n,r);else{(o=\"LI\"===l.tagName?l:O(l).parentsUntil(x.$el,\"li\").get(0))&&(void 0===n||0<=[\"strong\",\"em\"].indexOf(n))&&(n?O(o).css(i[n].prop,\"\"):o.style=\"\"),(o=l.parentNode!==x.el?l.parentNode:null)&&1===o.nodeType&&[\"p\",\"strong\",\"u\",\"em\",\"s\",\"sub\",\"sup\",\"a\"].indexOf(n)<0&&o.hasAttribute(\"style\")&&\"SPAN\"!==o.tagName&&\"LI\"!==o.tagName?o.style=\"\":l&&1===l.nodeType&&l.hasAttribute(\"style\")&&[\"p\",\"strong\",\"u\",\"em\",\"s\",\"sub\",\"sup\",\"a\"].indexOf(n)<0&&(x.browser.msie?O(l).attr(\"style\",\"\"):l.style=\"\");for(var c=O(l).find(n||\"*:not(br)\"),d=c.length-1;0<=d;d--){var f=c[d];if((o=\"LI\"===f.tagName?f:O(f).parentsUntil(x.$el,\"li\").get(0))&&(!n||0<=[\"strong\",\"em\"].indexOf(n))&&(n?O(o).css(i[n].prop,\"\"):o.style=\"\"),\"A\"===f.tagName||x.node.isBlock(f)||x.node.isVoid(f)||void 0!==n&&!k(f,w(n,r)))x.node.isBlock(f)&&void 0===n&&\"TABLE\"!==l.tagName&&\"VIDEO\"!==f.tagName&&x.node.clearAttributes(f);else{var p=\"IFRAME\"===f.tagName&&f.parentNode&&\"SPAN\"===f.parentNode.tagName&&x.node.hasClass(f.parentNode,\"fr-video\")||\"SPAN\"===f.tagName&&x.node.hasClass(f,\"fr-video\");x.node.hasClass(f,\"fr-clone\")||p||x.node.hasClass(f,\"fr-tracking-deleted\")||O(f).data(\"tracking\")||(f.outerHTML=f.innerHTML)}}\"A\"!==l.tagName&&void 0===n&&l.nodeType===Node.ELEMENT_NODE&&!x.node.isVoid(l)||k(l,w(n,r))?x.node.isBlock(l)?l.style=\"\":x.node.hasClass(l,\"fr-clone\")||x.node.hasClass(l,\"fr-video\")||x.opts.trackChangesEnabled?!x.node.hasClass(l,\"fr-clone\")&&!x.node.hasClass(l,\"fr-video\")&&x.opts.trackChangesEnabled&&l.parentNode&&(l.outerHTML=l.innerHTML):l.outerHTML=l.innerHTML:void 0===n&&l.nodeType===Node.ELEMENT_NODE&&x.node.isBlock(l)&&![\"TABLE\",\"VIDEO\"].includes(l.tagName)&&x.node.clearAttributes(l)}else 0<O(l).find(\".fr-marker\").length&&(t=M(O(l),t,n,r))}return t}(x.$el,0,e,t),n||(x.$el.find(\".fr-marker\").remove(),x.$el.find(\".fr-clone\").removeClass(\"fr-clone\").addClass(\"fr-marker\")),n&&x.$el.find(\".fr-marker\").before(Y.INVISIBLE_SPACE).after(Y.INVISIBLE_SPACE),x.html.cleanEmptyTags(),x.el.normalize(),x.selection.restore();var p=x.win.getSelection()&&x.win.getSelection().anchorNode;if(p){var u=x.node.blockParent(p),h=!!p.textContent.replace(/\\u200B/g,\"\").length,g=x.win.getSelection().getRangeAt(0),C=g.startOffset,m=g.endOffset;x.selection.text().replace(/\\u200B/g,\"\").length||function A(e,t){if(e&&t){if(e.isSameNode(t)?e.textContent=e.textContent.replace(/\\u200B(?=.*\\u200B)/g,\"\"):e.nodeType===Node.TEXT_NODE&&(e.textContent=e.textContent.replace(/\\u200B/g,\"\")),!e.childNodes.length)return!1;Array.isArray(e.childNodes)&&e.childNodes.forEach(function(e){A(e,t)})}}(u,p);var v=x.win.getSelection().getRangeAt(0);if(p.nodeType===Node.TEXT_NODE){if(!h||!x.selection.text().length&&C===m){var b=p.textContent.search(/\\u200B/g)+1;if(x.browser.msie){var E=x.doc.createRange();x.selection.get().removeAllRanges(),E.setStart(p,b),E.setEnd(p,b),x.selection.get().addRange(E)}else\"a\"!==e&&(v.setStart(p,b),v.setEnd(p,b))}}else{var L,y,N=0,S=O(p).contents();if(x.browser.msie){for(;y=S[N];)y.nodeType===Node.TEXT_NODE&&0<=y.textContent.search(/\\u200B/g)&&(L=y),N++;L=O(L)}else L=S.filter(function(e){return e.nodeType===Node.TEXT_NODE&&0<=e.textContent.search(/\\u200B/g)});if(L.length&&!x.opts.trackChangesEnabled){var T=L.text().search(/\\u200B/g)+1;v.setStart(L.get(0),T),v.setEnd(L.get(0),T)}}}}function g(e,t){var n=O(e);n.css(t,\"\");var r=[\"fr-find-replace-highlight\",\"fr-find-replace-current-highlight\"].some(function(e){return n.hasClass(e)});\"\"!==n.attr(\"style\")||r||n.replaceWith(n.html())}function t(e,t){var n,r,o,i,a=null;if(x.selection.isCollapsed()){x.markers.insert();var s=(r=x.$el.find(\".fr-marker\")).parent();if(x.node.openTagString(s.get(0))==='<span style=\"'.concat(e,\": \").concat(s.css(e),';\">')){if(x.node.isEmpty(s.get(0)))a=O(x.doc.createElement(\"span\")).attr(\"style\",\"\".concat(e,\": \").concat(t,\";\")).html(\"\".concat(Y.INVISIBLE_SPACE).concat(Y.MARKERS)),s.replaceWith(a);else{var l={};l[\"style*\"]=\"\".concat(e,\":\"),$(r,\"span\",l,!0),r=x.$el.find(\".fr-marker\"),t?(a=O(x.doc.createElement(\"span\")).attr(\"style\",\"\".concat(e,\": \").concat(t,\";\")).html(\"\".concat(Y.INVISIBLE_SPACE).concat(Y.MARKERS)),r.replaceWith(a)):r.replaceWith(Y.INVISIBLE_SPACE+Y.MARKERS)}x.html.cleanEmptyTags()}else x.node.isEmpty(s.get(0))&&s.is(\"span\")?(r.replaceWith(Y.MARKERS),s.css(e,t)):(r.get(0).nextSibling&&x.node.isBlock(r.get(0).nextSibling)&&!r.get(0).previousSibling&&\"LI\"===r.get(0).parentNode.tagName&&r.get(0).nextSibling.prepend(r.get(0)),a=O(t?'<span style=\"'.concat(e,\": \").concat(t,';\">').concat(Y.INVISIBLE_SPACE).concat(Y.MARKERS,\"</span>\"):\"<span>\".concat(Y.INVISIBLE_SPACE).concat(Y.MARKERS,\"</span>\")),r.replaceWith(a));a&&C(a,e,t)}else{if(x.selection.save(),null===t||\"color\"===e&&0<x.$el.find(\".fr-marker\").parents(\"u, a\").length){var c=x.$el.find(\".fr-marker\");for(n=0;n<c.length;n++)if(!0===(r=O(c[n])).data(\"type\")||\"true\"===r.data(\"type\"))for(;x.node.isFirstSibling(r.get(0))&&!r.parent().is(x.$el)&&!x.node.isElement(r.parent().get(0))&&!x.node.isBlock(r.parent().get(0));)r.parent().before(r);else for(;x.node.isLastSibling(r.get(0))&&!r.parent().is(x.$el)&&!x.node.isElement(r.parent().get(0))&&!x.node.isBlock(r.parent().get(0));)r.parent().after(r)}var d=x.$el.find('.fr-marker[data-type=\"true\"]').get(0).nextSibling;for(T(d)&&(d=d.nextSibling);d.firstChild;)T(d=d.firstChild)&&(d=d.nextSibling);var f={\"class\":\"fr-unprocessed\"};for((t||e)&&(f.style=\"\".concat(e,\": \").concat(t||\"\",\";\")),N(d,\"span\",f),x.$el.find(\".fr-marker + .fr-unprocessed\").each(function(){O(this).prepend(O(this).prev())}),x.$el.find(\".fr-unprocessed + .fr-marker\").each(function(){O(this).prev().append(O(this))}),(t||\"\").match(/\\dem$/)&&x.$el.find(\"span.fr-unprocessed\").removeClass(\"fr-unprocessed\");0<x.$el.find(\"span.fr-unprocessed\").length;){if(o=S(a=x.$el.find(\"span.fr-unprocessed\").first().removeClass(\"fr-unprocessed\")),a.parent().get(0).normalize(),a.parent().is(\"span\")&&1===a.parent().get(0).childNodes.length){var p=t;x.browser.msie&&!t&&(p=\"\"),a.parent().css(e,p);var u=a;a=a.parent(),u.replaceWith(u.html()),1!==a.parent().get(0).childNodes.length||t||\"background-color\"!==e||a.parents(\"span\").css(e,t)}for(i=a.find(\"span\"),o&&\"background-color\"!==e&&(o.normalize(),i=O(o).find(\"span:not(.fr-unprocessed)\")),n=i.length-1;0<=n;n--)g(i[n],e);C(a,e,t)}}!function h(){var e;for(;0<x.$el.find(\".fr-split:empty\").length;)x.$el.find(\".fr-split:empty\").remove();x.$el.find(\".fr-split\").removeClass(\"fr-split\"),x.$el.find('[style=\"\"]').removeAttr(\"style\"),x.$el.find('[class=\"\"]').removeAttr(\"class\"),x.html.cleanEmptyTags();for(var t=x.$el.find(\"span\"),n=t.length-1;0<=n;n--){var r=t[n];r.attributes&&0!==r.attributes.length||O(r).replaceWith(r.innerHTML)}x.el.normalize();var o=x.$el.find(\"span[style] + span[style]\");for(e=0;e<o.length;e++){var i=O(o[e]),a=O(o[e]).prev();i.get(0).previousSibling===a.get(0)&&x.node.openTagString(i.get(0))===x.node.openTagString(a.get(0))&&(i.prepend(a.html()),a.remove())}x.$el.find(\"span[style] span[style]\").each(function(){if(0<=O(this).attr(\"style\").indexOf(\"font-size\")){var e=O(this).parents(\"span[style]\");e.attr(\"style\")&&0<=e.attr(\"style\").indexOf(\"background-color\")&&(O(this).attr(\"style\",function o(e,t){var n=function n(e){return e.split(\";\").reduce(function(e,t){var n=t.split(\":\"),r=H(n,2),o=r[0],i=r[1];return o&&i&&(e[o.trim()]=i.trim()),e},{})},r=Object.assign(n(t),n(e));return Object.entries(r).map(function(e){var t=H(e,2),n=t[0],r=t[1];return\"\".concat(n,\": \").concat(r)}).join(\"; \")}(O(this).attr(\"style\"),e.attr(\"style\"))),$(O(this),\"span[style]\",{},!1))}}),x.el.normalize(),x.selection.restore()}()}function S(e){var t,n,r,o,i,a;if(t=\"LI\"===e.tagName?e:O(e).parentsUntil(x.$el,\"li\").get(0)){if((a=x.selection.info(t)).atStart&&a.atEnd)return t;if(a.atStart&&!a.atEnd&&(n=O(t).find(\".fr-marker[data-type=false]\").get(0),r=O(n).parentsUntil(x.$el,\"li\").get(0),o=O(n).parentsUntil(r).get(-1),(i=n.nextSibling)&&0<=[\"UL\",\"OL\"].indexOf(i.tagName)||!r.isSameNode(t)||!i&&o&&(\"LI\"===o.tagName||!o.nextSibling||0<=[\"UL\",\"OL\"].indexOf(o.nextSibling.tagName)||x.node.isVoid(o.nextSibling))))return t}}function C(e,t,n){var r,o,i,a=e.parentsUntil(x.$el,\"span[style]\"),s=[];for(r=a.length-1;0<=r;r--)o=a[r],i=t,0===O(o).attr(\"style\").indexOf(\"\".concat(i,\":\"))||0<=O(o).attr(\"style\").indexOf(\";\".concat(i,\":\"))||0<=O(o).attr(\"style\").indexOf(\"; \".concat(i,\":\"))||s.push(a[r]);if((a=a.not(s)).length){var l=\"\",c=\"\",d=\"\",f=\"\",p=e.get(0);do{if(p=p.parentNode,[\"TABLE\",\"TD\",\"TR\"].includes(p.tagName))break;O(p).addClass(\"fr-split\"),l+=x.node.closeTagString(p),c=x.node.openTagString(O(p).clone().addClass(\"fr-split\").get(0))+c,a.get(0)!==p&&(d+=x.node.closeTagString(p),f=x.node.openTagString(O(p).clone().addClass(\"fr-split\").get(0))+f)}while(a.get(0)!==p);var u=\"\".concat(l+x.node.openTagString(O(a.get(0)).clone().css(t,n||\"\").get(0))+f+e.css(t,\"\").get(0).outerHTML+d,\"</span>\").concat(c);e.replaceWith('<span id=\"fr-break\"></span>');var h=a.get(0).outerHTML;O(a.get(0)).replaceWith(h.replace(/<span id=\"fr-break\"><\\/span>/g,function(){return u}))}}function d(e,t){void 0===t&&(t={}),t.style&&delete t.style;var n=x.selection.ranges(0),r=n.startContainer;if(r.nodeType===Node.ELEMENT_NODE&&0<r.childNodes.length&&r.childNodes[n.startOffset]&&(r=r.childNodes[n.startOffset]),T(r)&&(r=r.nextSibling),!n.collapsed&&r.nodeType===Node.TEXT_NODE&&n.startOffset===(r.textContent||\"\").length){for(;!x.node.isBlock(r.parentNode)&&!r.nextSibling;)r=r.parentNode;r.nextSibling&&(r=r.nextSibling)}for(var o=r;o&&o.nodeType===Node.ELEMENT_NODE&&!k(o,w(e,t));)T(o=o.firstChild)&&(o=o.nextSibling);if(o&&o.nodeType===Node.ELEMENT_NODE&&k(o,w(e,t)))return!0;var i=r;for(i&&i.nodeType!==Node.ELEMENT_NODE&&(i=i.parentNode);i&&i.nodeType===Node.ELEMENT_NODE&&i!==x.el&&!k(i,w(e,t));)i=i.parentNode;return!(!i||i.nodeType!==Node.ELEMENT_NODE||i===x.el||!k(i,w(e,t)))}function T(e){return e&&e.nodeType===Node.ELEMENT_NODE&&\"COLGROUP\"===e.tagName}return{is:d,toggle:function f(e,t){if(x.browser.safari&&x.shared.safariSelection){var n=x.shared.safariSelection,r=n.startContainer,o=n.endContainer,i=n.startOffset,a=n.endOffset,s=x.doc.createRange();s.setStart(r,i),s.setEnd(o,a),x.selection.get().removeAllRanges(),x.selection.get().addRange(s),x.shared.safariSelection=null}d(e,t)?c(e,t):l(e,t)},apply:l,remove:c,applyStyle:t,removeStyle:function n(e){t(e,null)}}},Y.MODULES.spaces=function(p){var u=p.$;function r(e,t){var n=e.previousSibling,r=e.nextSibling,o=e.textContent,i=e.parentNode,a=[Y.ENTER_P,Y.ENTER_DIV,Y.ENTER_BR];if(!p.html.isPreformatted(i)){t&&(o=p.opts.preserveTabSpaces?o.replace(/[\\f\\n\\r\\v]{2,}/g,\" \"):o.replace(/[\\f\\n\\r\\t\\v ]{2,}/g,\" \"),r&&\"BR\"!==r.tagName&&!p.node.isBlock(r)||!(p.node.isBlock(i)||p.node.isLink(i)&&!i.nextSibling||p.node.isElement(i))||(o=o.replace(/[\\f\\n\\r\\t\\v ]{1,}$/g,\"\")),n&&\"BR\"!==n.tagName&&!p.node.isBlock(n)||!(p.node.isBlock(i)||p.node.isLink(i)&&!i.previousSibling||p.node.isElement(i))||(o=o.replace(/^[\\f\\n\\r\\t\\v ]{1,}/g,\"\")),(p.node.isBlock(r)||p.node.isBlock(n))&&(!n||n&&\"A\"!==n.tagName)&&(o=o.replace(/^[\\f\\n\\r\\t\\v ]{1,}/g,\"\")),\" \"===o&&(n&&p.node.isVoid(n)||r&&p.node.isVoid(r))&&!(n&&r&&p.node.isVoid(n)||r&&n&&p.node.isVoid(r))&&(o=\"\")),(!n&&p.node.isBlock(r)||!r&&p.node.isBlock(n))&&p.node.isBlock(i)&&i!==p.el&&(o=o.replace(/^[\\f\\n\\r\\t\\v ]{1,}/g,\"\")),t||(o=o.replace(new RegExp(Y.UNICODE_NBSP,\"g\"),\" \"));var s=i.nextSibling&&i.nextSibling.tagName,l=i.previousSibling&&i.previousSibling.tagName,c=[\"SPAN\",\"STRONG\",\"U\",\"EM\"];s||u(i).parent().each(function(){return-1!==c.indexOf(this.tagName)&&(this.nextSibling?(s=this.nextSibling&&this.nextSibling.tagName,!1):void 0)}),l||u(i).parent().each(function(){return-1!==c.indexOf(this.tagName)&&(this.previousSibling?(l=this.previousSibling&&this.previousSibling.tagName,!1):void 0)});for(var d=\"\",f=0;f<o.length;f++)32!=o.charCodeAt(f)||0!==f&&32!=d.charCodeAt(f-1)||e.nodeType===Node.TEXT_NODE&&\"SPAN\"===i.tagName&&i.parentNode&&0<=c.indexOf(i.parentNode.tagName)&&(0<=c.indexOf(s)||0<=c.indexOf(l))||!((p.opts.enter===Y.ENTER_BR||p.opts.enter===Y.ENTER_DIV)&&(n&&\"BR\"===n.tagName||r&&\"BR\"===r.tagName)||n&&r&&n.tagName===r.tagName||!(n&&r&&p.node.isVoid(n)||n&&r&&p.node.isVoid(r))||n&&r&&0<=[\"STRONG\",\"U\",\"EM\"].indexOf(n.tagName)&&\"BR\"===r.tagName)?d+=o[f]:d+=Y.UNICODE_NBSP;p.browser.chrome&&1<d.length&&32===d.charCodeAt(d.length-1)&&(r&&r.nextSibling&&r.nextSibling.nextSibling&&\"BR\"===r.nextSibling.nextSibling.tagName||r&&\"BR\"===r.tagName)&&(d=d.substring(0,d.length-1)+Y.UNICODE_NBSP),!(!r||r&&p.node.isBlock(r)||r&&r.nodeType===Node.ELEMENT_NODE&&p.win.getComputedStyle(r)&&\"block\"===p.win.getComputedStyle(r).display)||e.nodeType===Node.TEXT_NODE&&\"SPAN\"===i.tagName&&i.parentNode&&0<=c.indexOf(i.parentNode.tagName)&&(0<=c.indexOf(s)||0<=c.indexOf(l))||(!p.node.isVoid(n)||n&&-1!==[\"P\",\"DIV\",\"BR\"].indexOf(n.tagName)&&-1!==a.indexOf(p.opts.enter))&&(d=d.replace(/ $/,Y.UNICODE_NBSP)),!n||p.node.isVoid(n)||p.node.isBlock(n)||1!==(d=d.replace(/^\\u00A0([^ $])/,\" $1\")).length||160!==d.charCodeAt(0)||!r||p.node.isVoid(r)||p.node.isBlock(r)||p.node.hasClass(n,\"fr-marker\")&&p.node.hasClass(r,\"fr-marker\")||(d=\" \"),t||(d=d.replace(/([^ \\u00A0])\\u00A0([^ \\u00A0])/g,\"$1 $2\")),e.textContent!==d&&(e.textContent=d)}}function l(e,t){if(void 0!==e&&e||(e=p.el),void 0===t&&(t=!1),!e.getAttribute||\"false\"!==e.getAttribute(\"contenteditable\"))if(e.nodeType===Node.TEXT_NODE)r(e,t);else if(e.nodeType===Node.ELEMENT_NODE)for(var n=p.doc.createTreeWalker(e,NodeFilter.SHOW_TEXT,p.node.filter(function(e){for(var t=e.parentNode;t&&t!==p.el;){if(\"STYLE\"===t.tagName||\"IFRAME\"===t.tagName)return!1;if(\"PRE\"===t.tagName)return!1;t=t.parentNode}return null!==e.textContent.match(/([ \\u00A0\\f\\n\\r\\t\\v]{2,})|(^[ \\u00A0\\f\\n\\r\\t\\v]{1,})|([ \\u00A0\\f\\n\\r\\t\\v]{1,}$)/g)&&!p.node.hasClass(e.parentNode,\"fr-marker\")}),!1);n.nextNode();)r(n.currentNode,t)}return{normalize:l,normalizeAroundCursor:function c(){for(var e=[],t=p.el.querySelectorAll(\".fr-marker\"),n=0;n<t.length;n++){for(var r=null,o=p.node.blockParent(t[n]),i=(r=o||t[n]).nextSibling,a=r.previousSibling;i&&\"BR\"===i.tagName;)i=i.nextSibling;for(;a&&\"BR\"===a.tagName;)a=a.previousSibling;r&&e.indexOf(r)<0&&e.push(r),a&&e.indexOf(a)<0&&e.push(a),i&&e.indexOf(i)<0&&e.push(i)}for(var s=0;s<e.length;s++)l(e[s])}}},Y.INVISIBLE_SPACE=\"&#8203;\",Y.HAIR_SPACE=\"&#8202;\",Y.START_MARKER='<span class=\"fr-marker\" data-id=\"0\" data-type=\"true\" style=\"display: none; line-height: 0;\">'.concat(Y.INVISIBLE_SPACE,\"</span>\"),Y.END_MARKER='<span class=\"fr-marker\" data-id=\"0\" data-type=\"false\" style=\"display: none; line-height: 0;\">'.concat(Y.INVISIBLE_SPACE,\"</span>\"),Y.MARKERS=Y.START_MARKER+Y.END_MARKER,Y.MODULES.markers=function(d){var f=d.$;function l(){if(!d.$wp)return null;try{var e=d.selection.ranges(0),t=e.commonAncestorContainer;if(t!==d.el&&!d.$el.contains(t))return null;var n=e.cloneRange(),r=e.cloneRange();n.collapse(!0);var o=f(d.doc.createElement(\"SPAN\")).addClass(\"fr-marker\").attr(\"style\",\"display: none; line-height: 0;\").html(Y.INVISIBLE_SPACE).get(0);if(n.insertNode(o),o=d.$el.find(\"span.fr-marker\").get(0)){for(var i=o.nextSibling;i&&i.nodeType===Node.TEXT_NODE&&0===i.textContent.length;)f(i).remove(),i=d.$el.find(\"span.fr-marker\").get(0).nextSibling;return d.selection.clear(),d.selection.get().addRange(r),o}return null}catch(a){}}function c(){d.$el.find(\".fr-marker\").remove()}return{place:function p(e,t,n){var r,o,i;try{var a=e.cloneRange();if(a.collapse(t),a.insertNode(function l(e,t){var n=f(d.doc.createElement(\"SPAN\"));return n.addClass(\"fr-marker\").attr(\"data-id\",t).attr(\"data-type\",e).attr(\"style\",\"display: \".concat(d.browser.safari?\"none\":\"inline-block\",\"; line-height: 0;\")).html(Y.INVISIBLE_SPACE),n.get(0)}(t,n)),!0===t)for(i=(r=d.$el.find('span.fr-marker[data-type=\"true\"][data-id=\"'.concat(n,'\"]')).get(0)).nextSibling;i&&i.nodeType===Node.TEXT_NODE&&0===i.textContent.length;)f(i).remove(),i=r.nextSibling;if(!0===t&&!e.collapsed){for(;!d.node.isElement(r.parentNode)&&!i;)-1</\\bfa\\b/g.test(r.parentNode.className)&&\"I\"===r.parentNode.tagName?f(r.parentNode).before(r):f(r.parentNode).after(r),i=r.nextSibling;if(i&&i.nodeType===Node.ELEMENT_NODE&&d.node.isBlock(i)&&\"HR\"!==i.tagName){for(o=[i];i=o[0],(o=d.node.contents(i))[0]&&d.node.isBlock(o[0]););f(i).prepend(f(r))}}if(!1===t&&!e.collapsed){if((i=(r=d.$el.find('span.fr-marker[data-type=\"false\"][data-id=\"'.concat(n,'\"]')).get(0)).previousSibling)&&i.nodeType===Node.ELEMENT_NODE&&d.node.isBlock(i)&&![\"TABLE\",\"HR\"].includes(i.tagName)){for(o=[i];i=o[o.length-1],(o=d.node.contents(i))[o.length-1]&&d.node.isBlock(o[o.length-1]););f(i).append(f(r))}(r.parentNode&&0<=[\"TD\",\"TH\"].indexOf(r.parentNode.tagName)||!r.previousSibling&&d.node.isBlock(r.parentElement))&&(r.parentNode.previousSibling&&!r.previousSibling?f(r.parentNode.previousSibling).append(r):0<=[\"TD\",\"TH\"].indexOf(r.parentNode.tagName)&&r.parentNode.firstChild===r&&(r.parentNode.previousSibling?f(r.parentNode.previousSibling).append(r):r.parentNode.parentNode&&r.parentNode.parentNode.previousSibling&&f(r.parentNode.parentNode.previousSibling).append(r)))}var s=d.$el.find('span.fr-marker[data-type=\"'.concat(t,'\"][data-id=\"').concat(n,'\"]')).get(0);return s&&(s.style.display=\"none\"),s}catch(c){return null}},insert:l,split:function a(){d.selection.isCollapsed()||d.selection.remove();var e=d.$el.find(\".fr-marker\").get(0);if(e||(e=l()),!e)return null;var t=d.node.deepestParent(e);if(t||(t=d.node.blockParent(e))&&\"LI\"!==t.tagName&&(t=null),t)if(d.node.isBlock(t)&&d.node.isEmpty(t))\"LI\"!==t.tagName||t.parentNode.firstElementChild!==t||d.node.isEmpty(t.parentNode)?f(t).replaceWith('<span class=\"fr-marker\"></span>'):f(t).append('<span class=\"fr-marker\"></span>');else if(d.cursor.isAtStart(e,t))f(t).before('<span class=\"fr-marker\"></span>'),f(e).remove();else if(d.cursor.isAtEnd(e,t))f(t).after('<span class=\"fr-marker\"></span>'),f(e).remove();else if(\"true\"!==t.contentEditable){for(var n=e,r=\"\",o=\"\";n=n.parentNode,r+=d.node.closeTagString(n),o=d.node.openTagString(n)+o,n!==t;);f(e).replaceWith('<span id=\"fr-break\"></span>');var i=d.node.openTagString(t)+f(t).html()+d.node.closeTagString(t);i=i.replace(/<span id=\"fr-break\"><\\/span>/g,\"\".concat(r,'<span class=\"fr-marker\"></span>').concat(o)),f(t).replaceWith(i)}return d.$el.find(\".fr-marker\").get(0)},insertAtPoint:function u(e){var t,n=e.clientX,r=e.clientY;c();var o=null;if(\"undefined\"!=typeof d.doc.caretPositionFromPoint?(t=d.doc.caretPositionFromPoint(n,r),(o=d.doc.createRange()).setStart(t.offsetNode,t.offset),o.setEnd(t.offsetNode,t.offset)):\"undefined\"!=typeof d.doc.caretRangeFromPoint&&(t=d.doc.caretRangeFromPoint(n,r),(o=d.doc.createRange()).setStart(t.startContainer,t.startOffset),o.setEnd(t.startContainer,t.startOffset)),null!==o&&\"undefined\"!=typeof d.win.getSelection){var i=d.win.getSelection();i.removeAllRanges(),i.addRange(o)}else if(\"undefined\"!=typeof d.doc.body.createTextRange)try{(o=d.doc.body.createTextRange()).moveToPoint(n,r);var a=o.duplicate();a.moveToPoint(n,r),o.setEndPoint(\"EndToEnd\",a),o.select()}catch(s){return!1}l()},remove:c}},Y.MODULES.selection=function(L){var y=L.$;function l(){var e=\"\";return L.win.getSelection?e=L.win.getSelection():L.doc.getSelection?e=L.doc.getSelection():L.doc.selection&&(e=L.doc.selection.createRange().text),e.toString()}function E(){return L.win.getSelection?L.win.getSelection():L.doc.getSelection?L.doc.getSelection():L.doc.selection.createRange()}function p(e){var t=E(),n=[];if(t&&t.getRangeAt&&t.rangeCount){n=[];for(var r=0;r<t.rangeCount;r++)n.push(t.getRangeAt(r))}else n=L.doc.createRange?[L.doc.createRange()]:[];return void 0!==e?n[e]:n}function N(){var e=E();try{e.removeAllRanges?e.removeAllRanges():e.empty?e.empty():e.clear&&e.clear()}catch(t){}}function u(e,t){var n=e;return n.nodeType===Node.ELEMENT_NODE&&0<n.childNodes.length&&n.childNodes[t]&&(n=n.childNodes[t]),n.nodeType===Node.TEXT_NODE&&(n=n.parentNode),n}function S(){if(L.$wp){L.markers.remove();var e,t,n=p(),r=[];for(t=0;t<n.length;t++)if(n[t].startContainer!==L.doc||L.browser.msie){var o=(e=n[t]).collapsed,i=L.markers.place(e,!0,t),a=L.markers.place(e,!1,t);if(void 0!==i&&i||!o||(y(\".fr-marker\").remove(),L.selection.setAtEnd(L.el)),L.el.normalize(),L.browser.safari&&!o)try{(e=L.doc.createRange()).setStartAfter(i),e.setEndBefore(a),r.push(e)}catch(s){}}if(L.browser.safari&&r.length)for(L.selection.clear(),t=0;t<r.length;t++)L.selection.get().addRange(r[t])}}function T(){var e,t=L.el.querySelectorAll('.fr-marker[data-type=\"true\"]');if(!L.$wp)return L.markers.remove(),!1;if(0===t.length)return!1;if(L.browser.msie||L.browser.edge)for(e=0;e<t.length;e++)t[e].style.display=\"inline-block\";L.core.hasFocus()||L.browser.msie||L.browser.webkit||L.$el.focus(),N();var n=E();for(e=0;e<t.length;e++){var r=y(t[e]).data(\"id\"),o=t[e],i=L.doc.createRange(),a=L.$el.find('.fr-marker[data-type=\"false\"][data-id=\"'.concat(r,'\"]'));(L.browser.msie||L.browser.edge)&&a.css(\"display\",\"inline-block\");var s=null;if(0<a.length){a=a[0];try{for(var l=!1,c=o.nextSibling,d=null;c&&c.nodeType===Node.TEXT_NODE&&0===c.textContent.length;)c=(d=c).nextSibling,y(d).remove();for(var f=a.nextSibling;f&&f.nodeType===Node.TEXT_NODE&&0===f.textContent.length;)f=(d=f).nextSibling,y(d).remove();if(o.nextSibling===a||a.nextSibling===o){for(var p=o.nextSibling===a?o:a,u=p===o?a:o,h=p.previousSibling;h&&h.nodeType===Node.TEXT_NODE&&0===h.length;)h=(d=h).previousSibling,y(d).remove();if(h&&h.nodeType===Node.TEXT_NODE)for(;h&&h.previousSibling&&h.previousSibling.nodeType===Node.TEXT_NODE;)h.previousSibling.textContent+=h.textContent,h=h.previousSibling,y(h.nextSibling).remove();for(var g=u.nextSibling;g&&g.nodeType===Node.TEXT_NODE&&0===g.length;)g=(d=g).nextSibling,y(d).remove();if(g&&g.nodeType===Node.TEXT_NODE)for(;g&&g.nextSibling&&g.nextSibling.nodeType===Node.TEXT_NODE;)g.nextSibling.textContent=g.textContent+g.nextSibling.textContent,g=g.nextSibling,y(g.previousSibling).remove();if(h&&(L.node.isVoid(h)||L.node.isBlock(h))&&(h=null),g&&(L.node.isVoid(g)||L.node.isBlock(g))&&(g=null),h&&g&&h.nodeType===Node.TEXT_NODE&&g.nodeType===Node.TEXT_NODE){y(o).remove(),y(a).remove();var C=h.textContent.length;h.textContent+=g.textContent,y(g).remove(),L.spaces.normalize(h),i.setStart(h,C),i.setEnd(h,C),l=!0}else!h&&g&&g.nodeType===Node.TEXT_NODE?(y(o).remove(),y(a).remove(),L.opts.htmlUntouched||L.spaces.normalize(g),s=y(L.doc.createTextNode(\"\\u200b\")).get(0),y(g).before(s),i.setStart(g,0),i.setEnd(g,0),l=!0):!g&&h&&h.nodeType===Node.TEXT_NODE&&(y(o).remove(),y(a).remove(),L.opts.htmlUntouched||L.spaces.normalize(h),s=y(L.doc.createTextNode(\"\\u200b\")).get(0),y(h).after(s),i.setStart(h,h.textContent.length),i.setEnd(h,h.textContent.length),l=!0)}if(!l){var m=void 0,v=void 0;v=(L.browser.chrome||L.browser.edge||L.helpers.isIOS())&&o.nextSibling===a?(m=M(a,i,!0)||i.setStartAfter(a),M(o,i,!1)||i.setEndBefore(o)):(o.previousSibling===a&&(a=(o=a).nextSibling),a.nextSibling&&\"BR\"===a.nextSibling.tagName||!a.nextSibling&&L.node.isBlock(o.previousSibling)||o.previousSibling&&\"BR\"===o.previousSibling.tagName||(o.style.display=\"inline\",a.style.display=\"inline\",s=y(L.doc.createTextNode(\"\\u200b\")).get(0)),m=M(o,i,!0)||y(o).before(s)&&i.setStartBefore(o),M(a,i,!1)||y(a).after(s)&&i.setEndAfter(a)),\"function\"==typeof m&&m(),\"function\"==typeof v&&v()}}catch(b){}}s&&y(s).remove();try{n.addRange(i)}catch(b){}}L.markers.remove()}function M(e,t,n){var r,o=e.previousSibling,i=e.nextSibling;return o&&i&&o.nodeType===Node.TEXT_NODE&&i.nodeType===Node.TEXT_NODE?(r=o.textContent.length,n?(i.textContent=o.textContent+i.textContent,y(o).remove(),y(e).remove(),L.opts.htmlUntouched||L.spaces.normalize(i),function(){t.setStart(i,r)}):(o.textContent+=i.textContent,y(i).remove(),y(e).remove(),L.opts.htmlUntouched||L.spaces.normalize(o),function(){t.setEnd(o,r)})):o&&!i&&o.nodeType===Node.TEXT_NODE?(r=o.textContent.length,n?(L.opts.htmlUntouched||L.spaces.normalize(o),function(){t.setStart(o,r)}):(L.opts.htmlUntouched||L.spaces.normalize(o),function(){t.setEnd(o,r)})):!(!i||o||i.nodeType!==Node.TEXT_NODE)&&(n?(L.opts.htmlUntouched||L.spaces.normalize(i),function(){t.setStart(i,0)}):(L.opts.htmlUntouched||L.spaces.normalize(i),function(){t.setEnd(i,0)}))}function A(){for(var e=p(),t=0;t<e.length;t++)if(!e[t].collapsed)return!1;return!0}function o(e){var t,n,r=!1,o=!1;if(L.win.getSelection){var i=L.win.getSelection();i.rangeCount&&((n=(t=i.getRangeAt(0)).cloneRange()).selectNodeContents(e),n.setEnd(t.startContainer,t.startOffset),r=a(n),n.selectNodeContents(e),n.setStart(t.endContainer,t.endOffset),o=a(n))}else L.doc.selection&&\"Control\"!==L.doc.selection.type&&((n=(t=L.doc.selection.createRange()).duplicate()).moveToElementText(e),n.setEndPoint(\"EndToStart\",t),r=a(n),n.moveToElementText(e),n.setEndPoint(\"StartToEnd\",t),o=a(n));return{atStart:r,atEnd:o}}function a(e){return\"\"===e.toString().replace(/[\\u200B-\\u200D\\uFEFF]/g,\"\")}function x(e,t){void 0===t&&(t=!0);var n=y(e).html();n&&n.replace(/\\u200b/g,\"\").length!==n.length&&y(e).html(n.replace(/\\u200b/g,\"\"));for(var r=L.node.contents(e),o=0;o<r.length;o++)r[o].nodeType!==Node.ELEMENT_NODE?y(r[o]).remove():(x(r[o],0===o),0===o&&(t=!1));if(e.nodeType===Node.TEXT_NODE){var i=y(document.createElement(\"span\")).attr(\"data-first\",\"true\").attr(\"data-text\",\"true\");y(e)[0].replaceWith(i[0])}else t&&y(e).attr(\"data-first\",!0)}function O(){return 0===y(this).find(\"fr-inner\").length}function w(e){var t=L.selection?L.selection.get():window.getSelection();if(!t||0===t.rangeCount)return!1;var n=t.getRangeAt(0);if(n.collapsed)return!1;var r=e.querySelectorAll(\"td, th\");return 0!==r.length&&Array.from(r).every(function(e){var t=document.createRange();return t.selectNodeContents(e),n.compareBoundaryPoints(Range.START_TO_START,t)<=0&&0<=n.compareBoundaryPoints(Range.END_TO_END,t)})}function h(){try{if(!L.$wp)return!1;for(var e=p(0).commonAncestorContainer;e&&!L.node.isElement(e);)e=e.parentNode;return!!L.node.isElement(e)}catch(t){return!1}}function r(e,t){if(!e||0<e.getElementsByClassName(\"fr-marker\").length)return!1;for(var n=e.firstChild;n&&(L.node.isBlock(n)||t&&!L.node.isVoid(n)&&n.nodeType===Node.ELEMENT_NODE);)n=(e=n).firstChild;e.innerHTML=Y.MARKERS+e.innerHTML}function i(e,t){if(!e||0<e.getElementsByClassName(\"fr-marker\").length)return!1;for(var n=e.lastChild;n&&(L.node.isBlock(n)||t&&!L.node.isVoid(n)&&n.nodeType===Node.ELEMENT_NODE);)n=(e=n).lastChild;var r=L.doc.createElement(\"SPAN\");for(r.setAttribute(\"id\",\"fr-sel-markers\"),r.innerHTML=Y.MARKERS;e.parentNode&&L.opts.htmlAllowedEmptyTags&&0<=L.opts.htmlAllowedEmptyTags.indexOf(e.tagName.toLowerCase());)e=e.parentNode;e.appendChild(r);var o=e.querySelector(\"#fr-sel-markers\");o.outerHTML=o.innerHTML}return{text:l,get:E,ranges:p,clear:N,element:function c(){var e=E();try{if(e.rangeCount){var t,n=p(0),r=n.startContainer;if(L.node.isElement(r)&&0===n.startOffset&&r.childNodes.length)for(;r.childNodes.length&&r.childNodes[0].nodeType===Node.ELEMENT_NODE;)r=r.childNodes[0];if(r.nodeType===Node.TEXT_NODE&&n.startOffset===(r.textContent||\"\").length&&r.nextSibling&&(r=r.nextSibling),r.nodeType===Node.ELEMENT_NODE){var o=!1;if(L.node.isElement(r)&&\"\"==r.textContent&&\"IMG\"==r.childNodes[0].tagName&&r.childNodes.length)for(;r.childNodes.length&&r.childNodes[0].nodeType===Node.ELEMENT_NODE;)r=r.childNodes[0];if(0<r.childNodes.length&&r.childNodes[n.startOffset]){for(t=r.childNodes[n.startOffset];t&&t.nodeType===Node.TEXT_NODE&&0===t.textContent.length;)t=t.nextSibling;if(t&&t.textContent.replace(/\\u200B/g,\"\")===l().replace(/\\u200B/g,\"\")&&(r=t,o=!0),!o&&1<r.childNodes.length&&0<n.startOffset&&r.childNodes[n.startOffset-1]){for(t=r.childNodes[n.startOffset-1];t&&t.nodeType===Node.TEXT_NODE&&0===t.textContent.length;)t=t.nextSibling;t&&t.textContent.replace(/\\u200B/g,\"\")===l().replace(/\\u200B/g,\"\")&&(r=t,o=!0)}}else!n.collapsed&&r.nextSibling&&r.nextSibling.nodeType===Node.ELEMENT_NODE&&(t=r.nextSibling)&&t.textContent.replace(/\\u200B/g,\"\")===l().replace(/\\u200B/g,\"\")&&(r=t,o=!0);!o&&0<r.childNodes.length&&y(r.childNodes[0]).text().replace(/\\u200B/g,\"\")===l().replace(/\\u200B/g,\"\")&&[\"BR\",\"IMG\",\"HR\"].indexOf(r.childNodes[0].tagName)<0&&(r=r.childNodes[0])}for(;r.nodeType!==Node.ELEMENT_NODE&&r.parentNode;)r=r.parentNode;var i=y(r).parentsUntil(L.$el,\".fr-img-wrap .fr-inner\");0<i.length&&(r=i.get(0));for(var a=r;a&&\"HTML\"!==a.tagName;){if(a===L.el)return r;a=y(a).parent()[0]}}}catch(s){}return L.el},endElement:function s(){var e=E();try{if(e.rangeCount){var t,n=p(0),r=n.endContainer;if(r.nodeType===Node.ELEMENT_NODE){var o=!1;0<r.childNodes.length&&r.childNodes[n.endOffset]&&y(r.childNodes[n.endOffset]).text()===l()?(r=r.childNodes[n.endOffset],o=!0):!n.collapsed&&r.previousSibling&&r.previousSibling.nodeType===Node.ELEMENT_NODE?(t=r.previousSibling)&&t.textContent.replace(/\\u200B/g,\"\")===l().replace(/\\u200B/g,\"\")&&(r=t,o=!0):!n.collapsed&&0<r.childNodes.length&&r.childNodes[n.endOffset]&&(t=r.childNodes[n.endOffset].previousSibling).nodeType===Node.ELEMENT_NODE&&t&&t.textContent.replace(/\\u200B/g,\"\")===l().replace(/\\u200B/g,\"\")&&(r=t,o=!0),!o&&0<r.childNodes.length&&y(r.childNodes[r.childNodes.length-1]).text()===l()&&[\"BR\",\"IMG\",\"HR\"].indexOf(r.childNodes[r.childNodes.length-1].tagName)<0&&(r=r.childNodes[r.childNodes.length-1])}for(r.nodeType===Node.TEXT_NODE&&0===n.endOffset&&r.previousSibling&&r.previousSibling.nodeType===Node.ELEMENT_NODE&&(r=r.previousSibling);r.nodeType!==Node.ELEMENT_NODE&&r.parentNode;)r=r.parentNode;for(var i=r;i&&\"HTML\"!==i.tagName;){if(i===L.el)return r;i=y(i).parent()[0]}}}catch(a){}return L.el},save:S,restore:T,isCollapsed:A,isFull:function d(){if(A())return!1;L.selection.save();var e,t=L.el.querySelectorAll(\"td, th, img, br, iframe\");for(e=0;e<t.length;e++)(t[e].nextSibling||\"IMG\"===t[e].tagName||\"IFRAME\"===t[e].tagName)&&(t[e].innerHTML='<span class=\"fr-mk\" style=\"display: none;\">&nbsp;</span>'.concat(t[e].innerHTML));var n=!1,r=o(L.el);for(r.atStart&&r.atEnd&&(n=!0),t=L.el.querySelectorAll(\".fr-mk\"),e=0;e<t.length;e++)t[e].parentNode.removeChild(t[e]);return L.selection.restore(),n},inEditor:h,remove:function k(){if(A())return!0;var e;function t(e){for(var t=e.previousSibling;t&&t.nodeType===Node.TEXT_NODE&&0===t.textContent.length;){var n=t;t=t.previousSibling,y(n).remove()}return t}function n(e){for(var t=e.nextSibling;t&&t.nodeType===Node.TEXT_NODE&&0===t.textContent.length;){var n=t;t=t.nextSibling,y(n).remove()}return t}S();var r=L.$el.find('.fr-marker[data-type=\"true\"]');for(e=0;e<r.length;e++)for(var o=r[e];!(t(o)||L.node.isBlock(o.parentNode)||L.$el.is(o.parentNode)||L.node.hasClass(o.parentNode,\"fr-inner\"));)y(o.parentNode).before(o);var i=L.$el.find('.fr-marker[data-type=\"false\"]');for(e=0;e<i.length;e++){for(var a=i[e];!(n(a)||L.node.isBlock(a.parentNode)||L.$el.is(a.parentNode)||L.node.hasClass(a.parentNode,\"fr-inner\"));)y(a.parentNode).after(a);a.parentNode&&L.node.isBlock(a.parentNode)&&L.node.isEmpty(a.parentNode)&&!L.$el.is(a.parentNode)&&!L.node.hasClass(a.parentNode,\"fr-inner\")&&L.opts.keepFormatOnDelete&&y(a.parentNode).after(a)}if(function b(){for(var e=L.$el.find(\".fr-marker\"),t=0;t<e.length;t++)if(y(e[t]).parentsUntil('.fr-element, [contenteditable=\"true\"]','[contenteditable=\"false\"]').length)return!1;return!0}()){!function E(e,t){var n=L.node.contents(e.get(0));0<=[\"TD\",\"TH\"].indexOf(e.get(0).tagName)&&1===e.find(\".fr-marker\").length&&(L.node.hasClass(n[0],\"fr-marker\")||\"BR\"==n[0].tagName&&L.node.hasClass(n[0].nextElementSibling,\"fr-marker\"))&&e.attr(\"data-del-cell\",!0);for(var r=0;r<n.length;r++){var o=n[r];if(\"TABLE\"===o.tagName&&w(o)&&\"TABLE\"===n[0].tagName){var i=y(document.createElement(\"span\")).attr(\"data-first\",\"true\").attr(\"data-text\",\"true\");y(o)[0].replaceWith(i[0])}L.node.hasClass(o,\"fr-marker\")?t=(t+1)%2:t?0<y(o).find(\".fr-marker\").length?t=E(y(o),t):[\"TD\",\"TH\"].indexOf(o.tagName)<0&&!L.node.hasClass(o,\"fr-inner\")?!L.opts.keepFormatOnDelete||0<L.$el.find(\"[data-first]\").length||L.node.isVoid(o)?y(o).remove():x(o):L.node.hasClass(o,\"fr-inner\")?0===y(o).find(\".fr-inner\").length?y(o).html(\"<br>\"):y(o).find(\".fr-inner\").filter(O).html(\"<br>\"):(y(o).empty(),y(o).attr(\"data-del-cell\",!0)):0<y(o).find(\".fr-marker\").length&&(t=E(y(o),t))}return t}(L.$el,0);var s=L.$el.find('[data-first=\"true\"]');if(s.length)L.$el.find(\".fr-marker\").remove(),s.append(Y.INVISIBLE_SPACE+Y.MARKERS).removeAttr(\"data-first\"),s.attr(\"data-text\")&&s.replaceWith(s.html());else for(L.$el.find(\"table\").filter(function(){return 0<y(this).find(\"[data-del-cell]\").length&&y(this).find(\"[data-del-cell]\").length===y(this).find(\"td, th\").length}).remove(),L.$el.find(\"[data-del-cell]\").removeAttr(\"data-del-cell\"),r=L.$el.find('.fr-marker[data-type=\"true\"]'),e=0;e<r.length;e++){var l=r[e],c=l.nextSibling,d=L.$el.find('.fr-marker[data-type=\"false\"][data-id=\"'.concat(y(l).data(\"id\"),'\"]')).get(0);if(d){if(l&&(!c||c!==d)){var f=L.node.blockParent(l),p=L.node.blockParent(d),u=!1,h=!1;if(f&&0<=[\"UL\",\"OL\"].indexOf(f.tagName)&&(u=!(f=null)),p&&0<=[\"UL\",\"OL\"].indexOf(p.tagName)&&(h=!(p=null)),y(l).after(d),f!==p)if(null!==f||u)if(null!==p||h||0!==y(f).parentsUntil(L.$el,\"table\").length)f&&p&&0===y(f).parentsUntil(L.$el,\"table\").length&&0===y(p).parentsUntil(L.$el,\"table\").length&&!y(f).contains(p)&&!y(p).contains(f)&&(y(f).append(y(p).html()),y(p).remove());else{for(c=f;!c.nextSibling&&c.parentNode!==L.el;)c=c.parentNode;for(c=c.nextSibling;c&&\"BR\"!==c.tagName;){var g=c.nextSibling;y(f).append(c),c=g}c&&\"BR\"===c.tagName&&y(c).remove()}else{var C=L.node.deepestParent(l);C?(y(C).after(y(p).html()),y(p).remove()):0===y(p).parentsUntil(L.$el,\"table\").length&&(y(l).next().after(y(p).html()),y(p).remove())}}}else d=y(l).clone().attr(\"data-type\",!1),y(l).after(d)}}L.$el.find(\"li:empty\").remove(),L.opts.keepFormatOnDelete||L.html.fillEmptyBlocks(),L.html.cleanEmptyTags(!0),L.opts.htmlUntouched||(L.clean.lists(),L.$el.find(\"li:empty\").append(\"<br>\"),L.spaces.normalize());var m=L.$el.find(\".fr-marker\").last().get(0),v=L.$el.find(\".fr-marker\").first().get(0);void 0!==m&&void 0!==v&&!m.nextSibling&&v.previousSibling&&\"BR\"===v.previousSibling.tagName&&L.node.isElement(m.parentNode)&&L.node.isElement(v.parentNode)&&L.$el.append(\"<br>\"),T()},blocks:function g(e,t){var n,r,o=[],i=E();if(h()&&i.rangeCount){var a=p();for(n=0;n<a.length;n++){var s=a[n],l=u(s.startContainer,s.startOffset),c=u(s.endContainer,s.endOffset);(r=L.node.blockParent(l))&&o.indexOf(r)<0&&o.push(r),(L.node.isBlock(l)||L.node.hasClass(l,\"fr-inner\"))&&o.indexOf(l)<0&&o.push(l);for(var d=[],f=l;f!==c&&f!==L.el;)d.indexOf(f)<0&&f.children&&f.children.length?(d.push(f),f=f.children[0]):f.nextSibling?f=f.nextSibling:f.parentNode&&(f=f.parentNode,d.push(f)),L.node.isBlock(f)&&d.indexOf(f)<0&&o.indexOf(f)<0&&(f!==c||0<s.endOffset)&&o.push(f);L.node.isBlock(c)&&o.indexOf(c)<0&&0<s.endOffset&&o.push(c),(r=L.node.blockParent(c))&&o.indexOf(r)<0&&o.push(r)}}for(n=o.length-1;0<n;n--)if(y(o[n-1]).contains(o[n])){if(e&&y(o[n]).find(\"ul, ol\").length)continue;if(t&&\"LI\"==o[n-1].tagName)continue;o.splice(n-1,1)}else if(y(o[n]).contains(o[n-1])){if(e&&y(o[n]).find(\"ul, ol\").length)continue;o.splice(n,1)}return o},info:o,setAtEnd:i,setAtStart:r,setBefore:function f(e,t){void 0===t&&(t=!0);for(var n=e.previousSibling;n&&n.nodeType===Node.TEXT_NODE&&0===n.textContent.length;)n=n.previousSibling;return n?(L.node.isBlock(n)?i(n):\"BR\"===n.tagName?y(n).before(Y.MARKERS):y(n).after(Y.MARKERS),!0):!!t&&(L.node.isBlock(e)?r(e):y(e).before(Y.MARKERS),!0)},setAfter:function C(e,t){void 0===t&&(t=!0);for(var n=e.nextSibling;n&&n.nodeType===Node.TEXT_NODE&&0===n.textContent.length;)n=n.nextSibling;return n?(L.node.isBlock(n)?r(n):y(n).before(Y.MARKERS),!0):!!t&&(L.node.isBlock(e)?i(e):y(e).after(Y.MARKERS),!0)},rangeElement:u}},Object.assign(Y.DEFAULTS,{language:null}),Y.LANGUAGE={},Y.MODULES.language=function(e){var t;return{_init:function n(){Y.LANGUAGE&&(t=Y.LANGUAGE[e.opts.language]),t&&t.direction&&(e.opts.direction=t.direction)},translate:function r(e){return t&&t.translation[e]&&t.translation[e].length?t.translation[e]:e}}},Object.assign(Y.DEFAULTS,{placeholderText:\"Type something\"}),Y.MODULES.placeholder=function(h){var g=h.$;function e(){h.$placeholder||function u(){h.$placeholder=g(h.doc.createElement(\"SPAN\")).addClass(\"fr-placeholder\"),h.$wp.append(h.$placeholder)}();var e=h.opts.iframe?h.$iframe.prev().outerHeight(!0):h.$el.prev().outerHeight(!0),t=0,n=0,r=0,o=0,i=0,a=0,s=h.node.contents(h.el),l=h.selection.element(),c=g(l).css(\"text-align\");if(s.length&&s[0].nodeType===Node.ELEMENT_NODE){var d=g(s[0]);(0<h.$wp.prev().length||0<h.$el.prev().length)&&h.ready&&(t=h.helpers.getPX(d.css(\"margin-top\")),o=h.helpers.getPX(d.css(\"padding-top\")),n=h.helpers.getPX(d.css(\"margin-left\")),r=h.helpers.getPX(d.css(\"margin-right\")),i=h.helpers.getPX(d.css(\"padding-left\")),a=h.helpers.getPX(d.css(\"padding-right\")));var f=d.children().first(),p=l===h.el?f.length?f:d:g(l);h.$placeholder.css(\"font-size\",p.css(\"font-size\")),h.$placeholder.css(\"line-height\",p.css(\"line-height\")),h.$placeholder.css(\"font-family\",p.css(\"font-family\"))}else h.$placeholder.css(\"font-size\",h.$el.css(\"font-size\")),h.$placeholder.css(\"line-height\",h.$el.css(\"line-height\")),h.$placeholder.css(\"font-family\",h.$el.css(\"font-family\"));h.$wp.addClass(\"show-placeholder\"),h.$placeholder.css({marginTop:Math.max(h.helpers.getPX(h.$el.css(\"margin-top\")),t)+(e||0),paddingTop:Math.max(h.helpers.getPX(h.$el.css(\"padding-top\")),o),paddingLeft:Math.max(h.helpers.getPX(h.$el.css(\"padding-left\")),i),marginLeft:Math.max(h.helpers.getPX(h.$el.css(\"margin-left\")),n),paddingRight:Math.max(h.helpers.getPX(h.$el.css(\"padding-right\")),a),marginRight:Math.max(h.helpers.getPX(h.$el.css(\"margin-right\")),r),textAlign:c}).text(h.language.translate(h.opts.placeholderText||h.$oel.attr(\"placeholder\")||\"\")),h.$placeholder.html(h.$placeholder.text().replace(/\\n/g,\"<br>\"))}function t(){h.$wp.removeClass(\"show-placeholder\")}function n(){if(!h.$wp)return!1;h.core.isEmpty()?e():t()}return{_init:function r(){if(!h.$wp)return!1;h.events.on(\"init input keydown keyup contentChanged initialized\",n)},show:e,hide:t,refresh:n,isVisible:function o(){return!h.$wp||h.node.hasClass(h.$wp.get(0),\"show-placeholder\")}}},Y.UNICODE_NBSP=String.fromCharCode(160),Y.VOID_ELEMENTS=[\"area\",\"base\",\"br\",\"col\",\"embed\",\"hr\",\"img\",\"input\",\"keygen\",\"link\",\"menuitem\",\"meta\",\"param\",\"source\",\"track\",\"wbr\"],Y.BLOCK_TAGS=[\"address\",\"article\",\"aside\",\"audio\",\"blockquote\",\"canvas\",\"details\",\"dd\",\"div\",\"dl\",\"dt\",\"fieldset\",\"figcaption\",\"figure\",\"footer\",\"form\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"header\",\"hgroup\",\"hr\",\"li\",\"main\",\"nav\",\"noscript\",\"ol\",\"output\",\"p\",\"pre\",\"section\",\"table\",\"tbody\",\"td\",\"tfoot\",\"th\",\"thead\",\"tr\",\"ul\",\"video\"],Object.assign(Y.DEFAULTS,{htmlAllowedEmptyTags:[\"textarea\",\"a\",\"iframe\",\"object\",\"video\",\"style\",\"script\",\".fa\",\".fr-emoticon\",\".fr-inner\",\"path\",\"line\",\"hr\"],htmlDoNotWrapTags:[\"script\",\"style\"],htmlSimpleAmpersand:!1,htmlIgnoreCSSProperties:[],htmlExecuteScripts:!0}),Y.MODULES.html=function(w){var b=w.$;function E(){return w.opts.enter===Y.ENTER_P?\"p\":w.opts.enter===Y.ENTER_DIV?\"div\":w.opts.enter===Y.ENTER_BR?null:void 0}function s(e,t){return!(!e||e===w.el)&&(t?-1!=[\"PRE\",\"SCRIPT\",\"STYLE\"].indexOf(e.tagName)||s(e.parentNode,t):-1!==[\"PRE\",\"SCRIPT\",\"STYLE\"].indexOf(e.tagName))}function i(e){var t,n=[],r=[];if(e){var o=w.el.querySelectorAll(\".fr-marker\");for(t=0;t<o.length;t++){var i=w.node.blockParent(o[t])||o[t];if(i){var a=i.nextSibling,s=i.previousSibling;i&&r.indexOf(i)<0&&w.node.isBlock(i)&&r.push(i),s&&w.node.isBlock(s)&&r.indexOf(s)<0&&r.push(s),a&&w.node.isBlock(a)&&r.indexOf(a)<0&&r.push(a)}}}else r=w.el.querySelectorAll(p());var l=p();for(l+=\",\".concat(Y.VOID_ELEMENTS.join(\",\")),l+=\", .fr-inner\",l+=\",\".concat(w.opts.htmlAllowedEmptyTags.join(\":not(.fr-marker),\"),\":not(.fr-marker)\"),t=r.length-1;0<=t;t--)if(!(r[t].textContent&&0<r[t].textContent.replace(/\\u200B|\\n/g,\"\").length||0<r[t].querySelectorAll(l).length)){for(var c=w.node.contents(r[t]),d=!1,f=0;f<c.length;f++)if(c[f].nodeType!==Node.COMMENT_NODE&&c[f].textContent&&0<c[f].textContent.replace(/\\u200B|\\n/g,\"\").length){d=!0;break}d||n.push(r[t])}return n}function p(){return Y.BLOCK_TAGS.join(\", \")}function e(e){var t,n,r=b.merge([],Y.VOID_ELEMENTS);r=b.merge(r,w.opts.htmlAllowedEmptyTags),r=void 0===e?b.merge(r,Y.BLOCK_TAGS):b.merge(r,Y.NO_DELETE_TAGS),t=w.el.querySelectorAll(\"*:empty:not(\".concat(r.join(\"):not(\"),\"):not(.fr-marker):not(template)\"));do{n=!1;for(var o=0;o<t.length;o++)0!==t[o].attributes.length&&void 0===t[o].getAttribute(\"href\")||(t[o].parentNode.removeChild(t[o]),n=!0);(t=w.el.querySelectorAll(\"*:empty:not(\".concat(r.join(\"):not(\"),\"):not(.fr-marker):not(template)\"))).length||(t=w.el.querySelectorAll(\"a[href]:not([name]):empty\"))}while(t.length&&n)}function a(e,t){var n=E();if(t&&(n=\"div\"),n){var r=w.doc.createDocumentFragment(),o=null,i=!1,a=e.firstChild,s=!1,l=null,c=w.selection.ranges(),d=null,f=null,p=null;if(c.length){d=c[0].endContainer,f=c[0].startOffset,p=c[0].endOffset;var u=c[0].startContainer;u.nodeType===Node.ELEMENT_NODE&&(\"TD\"===u.tagName||\"TH\"===u.tagName)&&u.childNodes&&u.childNodes.length>f+1&&u.childNodes[f+1]===d&&(f=0)}for(var h=!1,g=function g(e,t){e===d?(h=!0,l=t.lastChild):0<=Array.from(e.childNodes).indexOf(d)&&(h=!0,l=t.lastChild.childNodes[Array.from(e.childNodes).indexOf(d)])};a;){var C=a.nextSibling;if(a.nodeType===Node.ELEMENT_NODE&&(w.node.isBlock(a)||0<=w.opts.htmlDoNotWrapTags.indexOf(a.tagName.toLowerCase())&&!w.node.hasClass(a,\"fr-marker\")))o=null,r.appendChild(a.cloneNode(!0));else if(a.nodeType!==Node.ELEMENT_NODE&&a.nodeType!==Node.TEXT_NODE)o=null,r.appendChild(a.cloneNode(!0));else if(\"BR\"===a.tagName)null===o?(o=w.doc.createElement(n),s=!0,t&&(o.setAttribute(\"class\",\"fr-temp-div\"),o.setAttribute(\"data-empty\",!0)),o.appendChild(a.cloneNode(!0)),a&&a.parentNode&&[\"TD\",\"TH\"].indexOf(a.parentNode.tagName)<0&&r.appendChild(o)):!1===i&&(o.appendChild(w.doc.createElement(\"br\")),t&&(o.setAttribute(\"class\",\"fr-temp-div\"),o.setAttribute(\"data-empty\",!0))),o=null;else{var m=a.textContent;if(a.nodeType!==Node.TEXT_NODE||0<m.replace(/\\n/g,\"\").replace(/(^ *)|( *$)/g,\"\").length||m.replace(/(^ *)|( *$)/g,\"\").length&&m.indexOf(\"\\n\")<0){if(\"SPAN\"===a.tagName&&b(a).hasClass(\"fr-marker\")&&!a.previousSibling&&(a.nextSibling&&\"TABLE\"==a.nextSibling.tagName||a.nextSibling&&a.nextSibling.nextSibling&&\"TABLE\"==a.nextSibling.nextSibling.tagName)){r.appendChild(a),g(a,r),a=C;continue}if(\"SPAN\"===a.tagName&&b(a).hasClass(\"fr-marker\")&&a.previousSibling&&a.previousSibling.nodeType===Node.ELEMENT_NODE&&(a.nextSibling&&\"TABLE\"==a.nextSibling.tagName||a.nextSibling&&a.nextSibling.nextSibling&&\"TABLE\"==a.nextSibling.nextSibling.tagName)){r.appendChild(a),s=!0,g(a,r),a=C;continue}null===o&&(o=w.doc.createElement(n),s=!0,t&&o.setAttribute(\"class\",\"fr-temp-div\"),r.appendChild(o),i=!1),o.appendChild(a.cloneNode(!0)),i||w.node.hasClass(a,\"fr-marker\")||a.nodeType===Node.TEXT_NODE&&0===m.replace(/ /g,\"\").length||(i=!0),g(a,o)}else s=!0}a=C}if(s&&(e.innerHTML=\"\",e.appendChild(r),h)){var v=w.doc.createRange();w.selection.get().removeAllRanges(),v.setStart(l,f),v.setEnd(l,p),w.selection.get().addRange(v)}}}function l(e,t){for(var n=e.length-1;0<=n;n--)a(e[n],t)}function t(e,t,n,r,o){if(!w.$wp)return!1;void 0===e&&(e=!1),void 0===t&&(t=!1),void 0===n&&(n=!1),void 0===r&&(r=!1),void 0===o&&(o=!1);var i=w.$wp.scrollTop();a(w.el,e),r&&l(w.el.querySelectorAll(\".fr-inner\"),e),t&&l(w.el.querySelectorAll(\"td, th\"),e),n&&l(w.el.querySelectorAll(\"blockquote\"),e),o&&l(w.el.querySelectorAll(\"li\"),e),i!==w.$wp.scrollTop()&&w.$wp.scrollTop(i)}function n(e){if(void 0===e&&(e=w.el),e&&0<=[\"SCRIPT\",\"STYLE\",\"PRE\"].indexOf(e.tagName))return!1;for(var t=w.doc.createTreeWalker(e,NodeFilter.SHOW_TEXT,w.node.filter(function(e){return null!==e.textContent.match(/([ \\n]{2,})|(^[ \\n]{1,})|([ \\n]{1,}$)/g)}),!1);t.nextNode();){var n=t.currentNode;if(!s(n.parentNode,!0)){var r=w.node.isBlock(n.parentNode)||w.node.isElement(n.parentNode),o=void 0;if(o=w.opts.preserveTabSpaces?n.textContent.replace(/\\n/g,\" \").replace(/^[ ]{2,}/g,\" \").replace(/[ ]{2,}$/g,\" \"):n.textContent.replace(/(?!^)( ){2,}(?!$)/g,\" \").replace(/\\n/g,\" \").replace(/^[ ]{2,}/g,\" \").replace(/[ ]{2,}$/g,\" \"),r){var i=n.previousSibling,a=n.nextSibling;i&&a&&\" \"===o?o=w.node.isBlock(i)&&w.node.isBlock(a)?\"\":\" \":(i||(o=o.replace(/^ */,\"\")),a||(o=o.replace(/ *$/,\"\")))}n.textContent=o}}}function r(e,t,n){var r=new RegExp(t,\"gi\").exec(e);return r?r[n]:null}function k(e){var t=e.doctype,n=\"<!DOCTYPE html>\";return t&&(n=\"<!DOCTYPE \".concat(t.name).concat(t.publicId?' PUBLIC \"'.concat(t.publicId,'\"'):\"\").concat(!t.publicId&&t.systemId?\" SYSTEM\":\"\").concat(t.systemId?' \"'.concat(t.systemId,'\"'):\"\",\">\")),n}function c(e){var t=e.parentNode;if(t&&(w.node.isBlock(t)||w.node.isElement(t))&&[\"TD\",\"TH\"].indexOf(t.tagName)<0){for(var n=e.previousSibling,r=e.nextSibling;n&&(n.nodeType===Node.TEXT_NODE&&0===n.textContent.replace(/\\n|\\r/g,\"\").length||w.node.hasClass(n,\"fr-tmp\"));)n=n.previousSibling;if(r)return!1;n&&t&&\"BR\"!==n.tagName&&!w.node.isBlock(n)&&!r&&0<t.textContent.replace(/\\u200B/g,\"\").length&&0<n.textContent.length&&!w.node.hasClass(n,\"fr-marker\")&&(w.el===t&&!r&&w.opts.enter===Y.ENTER_BR&&w.browser.msie||e.parentNode.removeChild(e))}else!t||w.node.isBlock(t)||w.node.isElement(t)||e.previousSibling||e.nextSibling||!w.node.isDeletable(e.parentNode)||c(e.parentNode)}function h(){w.opts.htmlUntouched||(e(),t(),n(),w.spaces.normalize(null,!0),w.html.fillEmptyBlocks(),w.clean.lists(),w.clean.tables(),w.clean.toHTML5(),w.html.cleanBRs()),function s(e){if(e&&e.isContentEditable&&!w.node.isEmpty(e)){var t=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT|NodeFilter.SHOW_TEXT,{acceptNode:function(e){if(e.nodeType===Node.TEXT_NODE)return e.nodeValue.trim()?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP;if(e.nodeType!==Node.ELEMENT_NODE)return NodeFilter.FILTER_SKIP;var t=window.getComputedStyle(e);return\"none\"!==t.display&&\"hidden\"!==t.visibility?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}}),n=null,r=!0,o=t.nextNode();if(o&&o.nodeType!==Node.TEXT_NODE){do{if(o.nodeType===Node.ELEMENT_NODE&&o.isContentEditable&&(o.textContent.trim().length||[\"IMG\",\"BR\",\"HR\"].includes(o.tagName)||b(o).find(\"img, br, hr\").length)){if(r)break;n=o;break}r=!1}while(o=t.nextNode());if(!r){var i=w.doc.createRange(),a=w.selection.get();n?i.selectNodeContents(n):(n=document.createTextNode(\"\\u200b\"),e.appendChild(n),i.setStart(n,0)),i.collapse(!0),a.removeAllRanges(),a.addRange(i)}}}}(w.el),w.selection.restore(),o(),w.placeholder.refresh()}function o(){w.node.isEmpty(w.el)&&(null!==E()?w.el.querySelector(p())||w.el.querySelector(\"\".concat(w.opts.htmlDoNotWrapTags.join(\":not(.fr-marker),\"),\":not(.fr-marker)\"))||(w.core.hasFocus()?(w.$el.html(\"<\".concat(E(),\">\").concat(Y.MARKERS,\"<br/></\").concat(E(),\">\")),w.selection.restore()):w.$el.html(\"<\".concat(E(),\"><br/></\").concat(E(),\">\"))):w.el.querySelector(\"*:not(.fr-marker):not(br)\")||(w.core.hasFocus()?(w.$el.html(\"\".concat(Y.MARKERS,\"<br/>\")),w.selection.restore()):w.$el.html(\"<br/>\")))}function g(e,t){return r(e,\"<\".concat(t,\"[^>]*?>([\\\\w\\\\W]*)</\").concat(t,\">\"),1)}function C(e,t){var n=b(\"<div \".concat(r(e,\"<\".concat(t,\"([^>]*?)>\"),1)||\"\",\">\"));return w.node.rawAttributes(n.get(0))}function m(e){return(r(e,\"<!DOCTYPE([^>]*?)>\",0)||\"<!DOCTYPE html>\").replace(/\\n/g,\" \").replace(/ {2,}/g,\" \")}function v(e,t){w.opts.htmlExecuteScripts?e.html(t):e.get(0).innerHTML=t}function $(e){var t;(t=/:not\\(([^)]*)\\)/g).test(e)&&(e=e.replace(t,\"     $1 \"));var n=100*(e.match(/(#[^\\s+>~.[:]+)/g)||[]).length+10*(e.match(/(\\[[^]]+\\])/g)||[]).length+10*(e.match(/(\\.[^\\s+>~.[:]+)/g)||[]).length+10*(e.match(/(:[\\w-]+\\([^)]*\\))/gi)||[]).length+10*(e.match(/(:[^\\s+>~.[:]+)/g)||[]).length+(e.match(/(::[^\\s+>~.[:]+|:first-line|:first-letter|:before|:after)/gi)||[]).length;return n+=((e=(e=e.replace(/[*\\s+>~]/g,\" \")).replace(/[#.]/g,\" \")).match(/([^\\s+>~.[:]+)/g)||[]).length}function H(e){if(w.events.trigger(\"html.processGet\",[e]),e&&e.getAttribute&&\"\"===e.getAttribute(\"class\")&&e.removeAttribute(\"class\"),e&&e.getAttribute&&\"\"===e.getAttribute(\"style\")&&e.removeAttribute(\"style\"),e&&e.nodeType===Node.ELEMENT_NODE){var t,n=e.querySelectorAll('[class=\"\"],[style=\"\"]');for(t=0;t<n.length;t++){var r=n[t];\"\"===r.getAttribute(\"class\")&&r.removeAttribute(\"class\"),\"\"===r.getAttribute(\"style\")&&r.removeAttribute(\"style\")}if(\"BR\"===e.tagName)c(e);else{var o=e.querySelectorAll(\"br\");for(t=0;t<o.length;t++)c(o[t])}}}function D(e,t){return e[3]-t[3]}function R(){for(var e=w.el.querySelectorAll(\"input, textarea\"),t=0;t<e.length;t++)\"checkbox\"!==e[t].type&&\"radio\"!==e[t].type||(e[t].checked?e[t].setAttribute(\"checked\",e[t].checked):w.$(e[t]).removeAttr(\"checked\")),e[t].getAttribute(\"value\")&&e[t].setAttribute(\"value\",e[t].value)}function u(e){var t=w.doc.createElement(\"div\");return t.innerHTML=e,null!==t.querySelector(p())}function d(e){var t=null;if(void 0===e&&(t=w.selection.element()),w.opts.keepFormatOnDelete)return!1;var n,r,o=t?(t.textContent.match(/\\u200B/g)||[]).length-t.querySelectorAll(\".fr-marker\").length:0;if((w.el.textContent.match(/\\u200B/g)||[]).length-w.el.querySelectorAll(\".fr-marker\").length===o)return!1;do{r=!1,n=w.el.querySelectorAll(\"*:not(.fr-marker)\");for(var i=0;i<n.length;i++){var a=n[i];if(t!==a){var s=a.textContent;0===a.children.length&&1===s.length&&8203===s.charCodeAt(0)&&[\"TD\",\"STRONG\",\"SPAN\",\"EM\",\"U\",\"S\",\"SUB\",\"SUP\"].indexOf(a.tagName)<0&&(b(a).remove(),r=!0)}}}while(r)}function f(){d(),w.placeholder&&setTimeout(w.placeholder.refresh,0)}function L(){return w.opts.fontSizeDefaultSelection&&w.opts.fontSizeUnit&&\"Font Size\"!=w.opts.fontSizeDefaultSelection}function y(){return w.opts.fontFamilyDefaultSelection&&\"Font Family\"!=w.opts.fontFamilyDefaultSelection}function N(e){var t=w.selection.element(),n=t.getAttribute(\"style\")||\"\";!w.node.isEmpty(t)&&!e||w.markdown&&w.markdown.isEnabled()||t==w.el&&w.opts.enter!=Y.ENTER_BR||(L()&&!n.includes(\"font-size\")&&w.fontSize&&w.fontSize.apply(w.opts.fontSizeDefaultSelection+w.opts.fontSizeUnit),y()&&!n.includes(\"font-family\")&&w.fontFamily&&w.fontFamily.apply(w.opts.fontFamilyDefaultSelection),w.placeholder.refresh())}function S(e){var t=e.which;if(w.keys.ctrlKey(e)||37<=t&&t<=40||!w.keys.isCharacter(t)&&t!==Y.KEYCODE.DELETE&&t!==Y.KEYCODE.BACKSPACE&&t!==Y.KEYCODE.ENTER&&t!==Y.KEYCODE.IME)return!0;var n=w.selection.element();if(!(0<=[\"UL\",\"OL\"].indexOf(n.tagName))){var r=\"LI\"===n.tagName?b(n):b(n).parents(\"li\").first();if(r.length){var o=r.get(0),i=w.node.isEmpty(o),a=!r.siblings().last().length,s=r.parents(\"ul, ol\"),l=s.first().get(0)===s.last().get(0);if(i&&a&&l){if(t===Y.KEYCODE.BACKSPACE)return void requestAnimationFrame(function(){w.cursor.backspace(),N()});L()&&r.css(\"font-size\",w.opts.fontSizeDefaultSelection+w.opts.fontSizeUnit),y()&&r.css(\"font-family\",w.opts.fontFamilyDefaultSelection)}}else if(t!==Y.KEYCODE.BACKSPACE&&t!==Y.KEYCODE.DELETE){var c=w.selection.get();if(c.baseOffset!==c.focusOffset&&!w.keys.ctrlKey(e)&&w.keys.isCharacter(e.which)&&!w.selection.isCollapsed()&&!e.ctrlKey&&!e.altKey)return w.selection.remove(),void N();var d=[\"TD\",\"TH\"].includes(n.tagName)||n.parentElement&&[\"TD\",\"TH\"].includes(n.parentElement.tagName);(u(n)||d||\"BR\"==n.tagName)&&N()}else{var f=w.selection.isFull();requestAnimationFrame(function(){var e=w.node.deepestParent(n);(e&&w.node.isEmpty(e)||f)&&N()})}}}function T(){w.node.isEmpty(w.el)&&(w.selection.setAtStart(w.el),N(),w.markers.remove(),w.placeholder.refresh())}function M(){var e=b(w.selection.element());w.selection.text()&&!e.attr(\"style\")&&(N(!0),x(w.selection.ranges(0).endContainer))}function A(){0<b(w.selection.element()).filter(\"td, tr\").length&&N(!0),x(w.selection.ranges(0).endContainer)}function x(e){var t=w.doc.createRange();t.selectNodeContents(e),t.collapse(!1);var n=w.selection.get();n.removeAllRanges(),n.addRange(t)}function O(e){var t=(new DOMParser).parseFromString(e,\"text/html\");return Array.from(t.body.childNodes).some(function(e){return 1===e.nodeType})}function _(e){var t=/^<([a-z1-6]+)(\\s[^>]*)?>[\\s\\S]*<\\/\\1>$|^<([a-z1-6]+)(\\s[^>]*)?\\/?>$/.test(e.trim()),n=!(!e||0===e.trim().length)&&O(e)&&t&&u(e),r=w.selection.element();if(e&&!/<[^>]+style=[\"'][^\"']*(font-(size|family))[^\"']*[\"']/.test(e)&&(w.node.isEmpty(r)||w.selection.isFull())&&!b(r).parents(\"ol, ul\").length)return n?e.replace(/^<([^>]+)>/,\"<$1>\".concat(Y.START_MARKER)).replace(/<\\/([^>]+)>$/,\"\".concat(Y.END_MARKER,\"</$1>\")):Y.START_MARKER+e+Y.END_MARKER}function B(){setTimeout(N,0)}return{defaultTag:E,isPreformatted:s,emptyBlocks:i,emptyBlockTagsQuery:function V(){return\"\".concat(Y.BLOCK_TAGS.join(\":empty, \"),\":empty\")},blockTagsQuery:p,fillEmptyBlocks:function I(e){var t=i(e);w.node.isEmpty(w.el)&&w.opts.enter===Y.ENTER_BR&&t.push(w.el);for(var n=0;n<t.length;n++){var r=t[n];\"false\"===r.getAttribute(\"contenteditable\")||r.querySelector(\"\".concat(w.opts.htmlAllowedEmptyTags.join(\":not(.fr-marker),\"),\":not(.fr-marker)\"))||w.node.isVoid(r)||\"TABLE\"===r.tagName||\"TBODY\"===r.tagName||\"TR\"===r.tagName||\"UL\"===r.tagName||\"OL\"===r.tagName||r.querySelector(\"br\")||r.appendChild(w.doc.createElement(\"br\"))}if(w.browser.msie&&w.opts.enter===Y.ENTER_BR){var o=w.node.contents(w.el);o.length&&o[o.length-1].nodeType===Node.TEXT_NODE&&w.$el.append(\"<br>\")}},cleanEmptyTags:e,cleanWhiteTags:d,cleanBlankSpaces:n,blocks:function P(){return w.$el.get(0).querySelectorAll(p())},getDoctype:k,set:function z(e){var t=w.clean.html((e||\"\").trim(),[],[],w.opts.fullPage);!y()&&!L()||O(t)||(t=Y.START_MARKER+t+Y.END_MARKER);var n=new RegExp(\"%3A//\",\"g\"),r=t.replace(n,\"://\");if(w.opts.fullPage){var o=g(r,\"body\")||(0<=r.indexOf(\"<body\")?\"\":r),i=C(r,\"body\"),a=g(r,\"head\")||\"<title></title>\",s=C(r,\"head\"),l=b(\"<div>\");l.append(a).contents().each(function(){(this.nodeType===Node.COMMENT_NODE||0<=[\"BASE\",\"LINK\",\"META\",\"NOSCRIPT\",\"SCRIPT\",\"STYLE\",\"TEMPLATE\",\"TITLE\"].indexOf(this.tagName))&&this.parentNode.removeChild(this)});var c=l.html().trim();a=b(\"<div>\").append(a).contents().map(function(){return this.nodeType===Node.COMMENT_NODE?\"\\x3c!--\".concat(this.nodeValue,\"--\\x3e\"):0<=[\"BASE\",\"LINK\",\"META\",\"NOSCRIPT\",\"SCRIPT\",\"STYLE\",\"TEMPLATE\",\"TITLE\"].indexOf(this.tagName)?this.outerHTML:\"\"}).toArray().join(\"\");var d=m(r),f=C(r,\"html\");v(w.$el,\"\".concat(c,\"\\n\").concat(o)),w.node.clearAttributes(w.el),w.$el.attr(i),w.$el.addClass(\"fr-view\"),w.$el.attr(\"spellcheck\",w.opts.spellcheck),w.$el.attr(\"dir\",w.opts.direction),v(w.$head,a),w.node.clearAttributes(w.$head.get(0)),w.$head.attr(s),w.node.clearAttributes(w.$html.get(0)),w.$html.attr(f),w.iframe_document.doctype.parentNode.replaceChild(function u(e,t){var n=e.match(/<!DOCTYPE ?([^ ]*) ?([^ ]*) ?\"?([^\"]*)\"? ?\"?([^\"]*)\"?>/i);return n?t.implementation.createDocumentType(n[1],n[3],n[4]):t.implementation.createDocumentType(\"html\")}(d,w.iframe_document),w.iframe_document.doctype)}else v(w.$el,r);var p=w.edit.isDisabled();w.edit.on(),w.core.injectStyle(w.opts.iframeDefaultStyle+w.opts.iframeStyle),h(),w.opts.useClasses||(w.$el.find(\"[fr-original-class]\").each(function(){this.setAttribute(\"class\",this.getAttribute(\"fr-original-class\")),this.removeAttribute(\"fr-original-class\")}),w.$el.find(\"[fr-original-style]\").each(function(){this.setAttribute(\"style\",this.getAttribute(\"fr-original-style\")),this.removeAttribute(\"fr-original-style\")})),p&&w.edit.off(),w.events.trigger(\"html.set\"),w.events.trigger(\"charCounter.update\"),w.events.trigger(\"wordCounter.update\")},syncInputs:R,get:function Z(e,t){if(!w.$wp)return w.$oel.clone().removeClass(\"fr-view\").removeAttr(\"contenteditable\").get(0).outerHTML;var n=\"\";w.events.trigger(\"html.beforeGet\");var r,o,i=[],a={},s=[];if(R(),!w.opts.useClasses&&!t){var l=new RegExp(\"^\".concat(w.opts.htmlIgnoreCSSProperties.join(\"$|^\"),\"$\"),\"gi\");for(r=0;r<w.doc.styleSheets.length;r++){var c=void 0,d=0;try{c=w.doc.styleSheets[r].cssRules,w.doc.styleSheets[r].ownerNode&&\"STYLE\"===w.doc.styleSheets[r].ownerNode.nodeType&&(d=1)}catch(O){}if(c)for(var f=0,p=c.length;f<p;f++)if(c[f].selectorText&&0<c[f].style.cssText.length){var u=c[f].selectorText.replace(/body \\s tbody \\.fr-view /g,\"\").replace(/::/g,\":\"),h=void 0;try{h=w.el.querySelectorAll(u)}catch(O){h=[]}for(o=0;o<h.length;o++){!h[o].getAttribute(\"fr-original-style\")&&h[o].getAttribute(\"style\")?(h[o].setAttribute(\"fr-original-style\",h[o].getAttribute(\"style\")),i.push(h[o])):h[o].getAttribute(\"fr-original-style\")||(h[o].setAttribute(\"fr-original-style\",\"\"),i.push(h[o])),a[h[o]]||(a[h[o]]={});for(var g=1e3*d+$(c[f].selectorText),C=c[f].style.cssText.split(\";\"),m=0;m<C.length;m++){var v=C[m].trim().split(\":\")[0];if(v&&!v.match(l)&&((!a[h[o]][v]||a[h[o]][v]&&\"\"==h[o].getAttribute(\"fr-original-style\"))&&(a[h[o]][v]=0)<=(h[o].getAttribute(\"fr-original-style\")||\"\").indexOf(\"\".concat(v,\":\"))&&(a[h[o]][v]=1e4),g>=a[h[o]][v]&&(a[h[o]][v]=g,C[m].trim().length))){var b=C[m].trim().split(\":\");b.splice(0,1);var E=b.join(\":\").trim();-1<E.indexOf(\"!important\")&&(g+=1),s.push([h[o],v.trim(),E,g])}}}}}for(s.sort(D),r=0;r<s.length;r++){var L=s[r];L[0].style[L[1]]=L[2].replace(/!important/,\"\")}for(r=0;r<i.length;r++)if(i[r].getAttribute(\"class\")&&(i[r].setAttribute(\"fr-original-class\",i[r].getAttribute(\"class\")),i[r].removeAttribute(\"class\")),0<(i[r].getAttribute(\"fr-original-style\")||\"\").trim().length){var y=i[r].getAttribute(\"fr-original-style\").split(\";\");for(o=0;o<y.length;o++)if(0<y[o].indexOf(\":\")){var N=y[o].split(\":\"),S=N[0];N.splice(0,1),i[r].style[S.trim()]=N.join(\":\").trim()}}}if(w.node.isEmpty(w.el))w.opts.fullPage&&(n=k(w.iframe_document),n+=\"<html\".concat(w.node.attributes(w.$html.get(0)),\">\").concat(w.$html.find(\"head\").get(0).outerHTML,\"<body></body></html>\"));else if(void 0===e&&(e=!1),w.opts.fullPage){n=k(w.iframe_document),w.$el.removeClass(\"fr-view\");var T=w.opts.heightMin,M=w.opts.height,A=w.opts.heightMax;w.opts.heightMin=null,w.opts.height=null,w.opts.heightMax=null,w.size.refresh(),n+=\"<html\".concat(w.node.attributes(w.$html.get(0)),\">\").concat(w.$html.html(),\"</html>\"),w.opts.iframe&&w.$html&&0<w.$html.find(\".fr-element\").length&&(n=w.$html.find(\".fr-element\").html()),w.opts.heightMin=T,w.opts.height=M,w.opts.heightMax=A,w.size.refresh(),w.$el.addClass(\"fr-view\")}else n=w.$el.html(),w.opts.iframe&&w.$html&&0<w.$html.find(\".fr-element\").length&&(n=w.$html.find(\".fr-element\").html());if(!w.opts.useClasses&&!t)for(r=0;r<i.length;r++)i[r].getAttribute(\"fr-original-class\")&&(i[r].setAttribute(\"class\",i[r].getAttribute(\"fr-original-class\")),i[r].removeAttribute(\"fr-original-class\")),null!==i[r].getAttribute(\"fr-original-style\")&&void 0!==i[r].getAttribute(\"fr-original-style\")?(0!==i[r].getAttribute(\"fr-original-style\").length?i[r].setAttribute(\"style\",i[r].getAttribute(\"fr-original-style\")):i[r].removeAttribute(\"style\"),i[r].removeAttribute(\"fr-original-style\")):i[r].removeAttribute(\"style\");w.opts.fullPage&&(n=(n=(n=(n=(n=(n=(n=(n=n.replace(/<style data-fr-style=\"true\">(?:[\\w\\W]*?)<\\/style>/g,\"\")).replace(/<link([^>]*)data-fr-style=\"true\"([^>]*)>/g,\"\")).replace(/<style(?:[\\w\\W]*?)class=\"firebugResetStyles\"(?:[\\w\\W]*?)>(?:[\\w\\W]*?)<\\/style>/g,\"\")).replace(/<body((?:[\\w\\W]*?)) spellcheck=\"true\"((?:[\\w\\W]*?))>((?:[\\w\\W]*?))<\\/body>/g,\"<body$1$2>$3</body>\")).replace(/<body((?:[\\w\\W]*?)) contenteditable=\"(true|false)\"((?:[\\w\\W]*?))>((?:[\\w\\W]*?))<\\/body>/g,\"<body$1$3>$4</body>\")).replace(/<body((?:[\\w\\W]*?)) dir=\"([\\w]*)\"((?:[\\w\\W]*?))>((?:[\\w\\W]*?))<\\/body>/g,\"<body$1$3>$4</body>\")).replace(/<body((?:[\\w\\W]*?))class=\"([\\w\\W]*?)(fr-rtl|fr-ltr)([\\w\\W]*?)\"((?:[\\w\\W]*?))>((?:[\\w\\W]*?))<\\/body>/g,'<body$1class=\"$2$4\"$5>$6</body>')).replace(/<body((?:[\\w\\W]*?)) class=\"\"((?:[\\w\\W]*?))>((?:[\\w\\W]*?))<\\/body>/g,\"<body$1$2>$3</body>\")),w.opts.htmlSimpleAmpersand&&(n=n.replace(/&amp;/gi,\"&\")),w.events.trigger(\"html.afterGet\"),e||(n=n.replace(/<span[^>]*? class\\s*=\\s*[\"']?fr-marker[\"']?[^>]+>\\u200b<\\/span>/gi,\"\")),n=w.clean.invisibleSpaces(n),n=w.clean.exec(n,H);var x=w.events.chainTrigger(\"html.get\",n);return\"string\"==typeof x&&(n=x),n=(n=n.replace(/<pre(?:[\\w\\W]*?)>(?:[\\w\\W]*?)<\\/pre>/g,function(e){return e.replace(/<br>/g,\"\\n\")})).replace(/<meta((?:[\\w\\W]*?)) data-fr-http-equiv=\"/g,'<meta$1 http-equiv=\"')},getSelected:function K(){function e(e,t){for(;t&&(t.nodeType===Node.TEXT_NODE||!w.node.isBlock(t))&&!w.node.isElement(t)&&!w.node.hasClass(t,\"fr-inner\")&&(w.opts.enter!==Y.ENTER_BR||t!==w.$el[0]);)t&&t.nodeType!==Node.TEXT_NODE&&b(e).wrapContent(t),t=t.parentNode;t&&e.innerHTML===t.innerHTML?e.innerHTML=t.outerHTML:t&&\"DIV\"!==t.tagName&&\"LI\"!==t.tagName&&t.innerText&&-1!=t.innerText.indexOf(e.innerHTML)&&t!==w.$el.get(0)&&(e.innerHTML=w.node.openTagString(t)+e.innerHTML+w.node.closeTagString(t))}var t,n,r=\"\";if(\"undefined\"!=typeof w.win.getSelection){w.browser.mozilla&&(w.selection.save(),1<w.$el.find('.fr-marker[data-type=\"false\"]').length&&(w.$el.find('.fr-marker[data-type=\"false\"][data-id=\"0\"]').remove(),w.$el.find('.fr-marker[data-type=\"false\"]:last').attr(\"data-id\",\"0\"),w.$el.find(\".fr-marker\").not('[data-id=\"0\"]').remove()),w.selection.restore());for(var o=w.selection.ranges(),i=0;i<o.length;i++){var a=document.createElement(\"div\");a.appendChild(o[i].cloneContents()),e(a,(n=t=void 0,n=null,w.win.getSelection?(t=w.win.getSelection())&&t.rangeCount&&((n=t.getRangeAt(0).commonAncestorContainer).nodeType===Node.ELEMENT_NODE||w.opts.enter===Y.ENTER_BR&&n.parentNode===w.$el[0]||(n=n.parentNode)):(t=w.doc.selection)&&\"Control\"!==t.type&&(n=t.createRange().parentElement()),null!==n&&(0<=b(n).parents().toArray().indexOf(w.el)||n===w.el)?n:null)),0<b(a).find(\".fr-element\").length&&(a=w.el),r+=a.innerHTML}}else\"undefined\"!=typeof w.doc.selection&&\"Text\"===w.doc.selection.type&&(r=w.doc.selection.createRange().htmlText);return r},insert:function F(e,t,n){if(!1===w.events.trigger(\"html.beforeInsert\",[e,t,n]))return!1;var r,o=w.selection.element();if(!y()&&!L()||O(e)||!w.node.isEmpty(o)||b(o).parents(\"ol, ul\").length||(e=Y.START_MARKER+e+Y.END_MARKER),w.selection.isCollapsed()||w.selection.remove(),r=t?e:w.clean.html(e),0===e.indexOf('<i class=\"fa ')&&(r=\"<span>&nbsp;\".concat(r,\"</span>\")),e.indexOf('class=\"fr-marker\"')<0&&(r=function l(e){var t=w.doc.createElement(\"div\");return t.innerHTML=e,w.selection.setAtEnd(t,!0),t.innerHTML}(r)),w.node.isEmpty(w.el)&&!w.opts.keepFormatOnDelete&&u(r))w.opts.trackChangesEnabled?w.track_changes.pasteInEmptyEdior(r):w.el.innerHTML=r;else{(function c(){var e=w.selection.ranges(0).commonAncestorContainer;return e!==w.el&&!w.$el.contains(e)})()&&w.selection.restore();var i=w.markers.insert();if(i)if(w.opts.trackChangesEnabled)w.track_changes.pasteInEdior(r);else{w.node.isLastSibling(i)&&b(i).parent().hasClass(\"fr-deletable\")&&b(i).insertAfter(b(i).parent());var a=w.node.blockParent(i);if((u(r)||n)&&(w.node.deepestParent(i)||a&&\"LI\"===a.tagName)){a&&\"LI\"===a.tagName&&(r=function d(e){if(!w.html.defaultTag())return e;var t=w.doc.createElement(\"div\");t.innerHTML=e;for(var n=t.querySelectorAll(\":scope > \".concat(w.html.defaultTag())),r=n.length-1;0<=r;r--){var o=n[r];w.node.isBlock(o.previousSibling)||(o.previousSibling&&!w.node.isEmpty(o)&&b(\"<br>\").insertAfter(o.previousSibling),o.outerHTML=o.innerHTML)}return t.innerHTML}(r));var s=w.selection.element();if(s&&b(s).parentsUntil(w.el,\"ul, ol\").length&&\"LI\"!=i.parentNode.tagName&&(\"DIV\"==b(r).get(0).tagName&&1==b(r).length&&\"UL\"==b(r).get(0).firstChild.tagName?r=b(r).get(0).firstChild.innerHTML:\"UL\"==b(r).get(0).tagName&&(r=b(r).get(0).innerHTML),i=w.markers.split()),!(i=w.markers.split()))return!1;i.outerHTML=r}else i.outerHTML=r}else w.el.innerHTML+=r}h(),w.keys.positionCaret(),w.events.trigger(\"html.inserted\")},wrap:t,unwrap:function U(){w.$el.find(\"div.fr-temp-div\").each(function(){this.previousSibling&&this.previousSibling.nodeType===Node.TEXT_NODE&&b(this).before(\"<br>\"),b(this).attr(\"data-empty\")||!this.nextSibling||w.node.isBlock(this.nextSibling)&&!b(this.nextSibling).hasClass(\"fr-temp-div\")?b(this).replaceWith(b(this).html()):b(this).replaceWith(\"\".concat(b(this).html(),\"<br>\"))}),w.$el.find(\".fr-temp-div\").removeClass(\"fr-temp-div\").filter(function(){return\"\"===b(this).attr(\"class\")}).removeAttr(\"class\")},escapeEntities:function W(e){return e.replace(/</gi,\"&lt;\").replace(/>/gi,\"&gt;\").replace(/\"/gi,\"&quot;\").replace(/'/gi,\"&#39;\")},checkIfEmpty:o,extractNode:g,extractNodeAttrs:C,extractDoctype:m,cleanBRs:function j(){for(var e=w.el.getElementsByTagName(\"br\"),t=0;t<e.length;t++)c(e[t])},_init:function X(){w.events.$on(w.$el,\"mousemove\",\"span.fr-word-select\",function(e){var t=window.getSelection();t=window.getSelection();var n=document.createRange();n.selectNodeContents(e.target),t.removeAllRanges(),t.addRange(n)}),w.$wp&&(w.events.on(\"mouseup\",f),w.events.on(\"keydown\",f),w.events.on(\"contentChanged\",o),(L()||y())&&(w.events.on(\"keydown\",S),w.events.on(\"initialized\",T),w.events.on(\"html.inserted html.set\",M),w.events.on(\"paste.afterCleanup\",_),w.events.on(\"paste.after\",A),w.events.on(\"window.cut\",B),w.events.on(\"commands.after\",function(e){\"clearFormatting\"!=e&&\"markdown\"!==e||N(!0)})))},_setHtml:v}},Y.ENTER_P=0,Y.ENTER_DIV=1,Y.ENTER_BR=2,Y.KEYCODE={BACKSPACE:8,TAB:9,ENTER:13,SHIFT:16,CTRL:17,ALT:18,ESC:27,SPACE:32,ARROW_LEFT:37,ARROW_UP:38,ARROW_RIGHT:39,ARROW_DOWN:40,DELETE:46,ZERO:48,ONE:49,TWO:50,THREE:51,FOUR:52,FIVE:53,SIX:54,SEVEN:55,EIGHT:56,NINE:57,FF_SEMICOLON:59,FF_EQUALS:61,QUESTION_MARK:63,A:65,B:66,C:67,D:68,E:69,F:70,G:71,H:72,I:73,J:74,K:75,L:76,M:77,N:78,O:79,P:80,Q:81,R:82,S:83,T:84,U:85,V:86,W:87,X:88,Y:89,Z:90,META:91,NUM_ZERO:96,NUM_ONE:97,NUM_TWO:98,NUM_THREE:99,NUM_FOUR:100,NUM_FIVE:101,NUM_SIX:102,NUM_SEVEN:103,NUM_EIGHT:104,NUM_NINE:105,NUM_MULTIPLY:106,NUM_PLUS:107,NUM_MINUS:109,NUM_PERIOD:110,NUM_DIVISION:111,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,FF_HYPHEN:173,SEMICOLON:186,DASH:189,EQUALS:187,COMMA:188,HYPHEN:189,PERIOD:190,SLASH:191,APOSTROPHE:192,TILDE:192,SINGLE_QUOTE:222,OPEN_SQUARE_BRACKET:219,BACKSLASH:220,CLOSE_SQUARE_BRACKET:221,IME:229},Object.assign(Y.DEFAULTS,{enter:Y.ENTER_P,multiLine:!0,tabSpaces:0}),Y.MODULES.keys=function(N){var S,n,r,T=N.$,M=!1,A=!1;function x(e){if(N.selection.isCollapsed())if([\"INPUT\",\"BUTTON\",\"TEXTAREA\"].indexOf(e.target&&e.target.tagName)<0&&N.cursor.backspace(),N.helpers.isIOS()){var t=N.selection.ranges(0);t.deleteContents(),t.insertNode(document.createTextNode(\"\\u200b\")),N.selection.get().modify(\"move\",\"forward\",\"character\")}else[\"INPUT\",\"BUTTON\",\"TEXTAREA\"].indexOf(e.target&&e.target.tagName)<0&&e.preventDefault(),e.stopPropagation();else e.preventDefault(),e.stopPropagation(),N.selection.remove();N.placeholder.refresh()}function O(e){[\"INPUT\",\"BUTTON\",\"TEXTAREA\"].indexOf(e.target&&e.target.tagName)<0&&e.preventDefault(),e.stopPropagation(),\"\"!==N.selection.text()||N.selection.element().hasAttribute(\"contenteditable\")&&\"false\"===N.selection.element().getAttribute(\"contenteditable\")||!N.selection.isCollapsed()&&\"IMG\"==N.selection.element().tagName?N.selection.remove():N.cursor.del(),N.placeholder.refresh()}function e(){if(N.browser.mozilla&&N.selection.isCollapsed()&&!M){var e=N.selection.ranges(0),t=e.startContainer,n=e.startOffset;t&&t.nodeType===Node.TEXT_NODE&&n<=t.textContent.length&&0<n&&32===t.textContent.charCodeAt(n-1)&&(N.selection.save(),N.spaces.normalize(),N.selection.restore())}}function t(){N.selection.isFull()&&setTimeout(function(){var e=N.html.defaultTag();e?N.$el.html(\"<\".concat(e,\">\").concat(Y.MARKERS,\"<br/></\").concat(e,\">\")):N.$el.html(\"\".concat(Y.MARKERS,\"<br/>\")),N.selection.restore(),N.placeholder.refresh(),N.button.bulkRefresh(),N.undo.saveStep()},0)}function o(){M=!1}function i(){M=!1}function w(){var e=N.html.defaultTag();e?N.$el.html(\"<\".concat(e,\">\").concat(Y.MARKERS,\"<br/></\").concat(e,\">\")):N.$el.html(\"\".concat(Y.MARKERS,\"<br/>\")),N.selection.restore()}function k(e,t){if(!e||!e.parentElement)return!1;var n=(e&&e.parentElement).parentElement;if(e.parentElement&&(-1<e.innerHTML.indexOf(\"<span\")||-1<e.parentElement.innerHTML.indexOf(\"<span\")||n&&-1<e.parentElement.parentElement.innerHTML.indexOf(\"<span\"))&&(e.classList.contains(\"fr-img-space-wrap\")||e.parentElement.classList.contains(\"fr-img-space-wrap\")||n&&e.parentElement.parentElement.classList.contains(\"fr-img-space-wrap\"))){if(T(e.parentElement).is(\"p\")){var r=e.parentElement.innerHTML;return(r=r.replace(/<br>/g,\"\")).length<1?e.parentElement.insertAdjacentHTML(\"afterbegin\",\"&nbsp;\"):\"&nbsp;\"!=r&&\" \"!=r&&\"Backspace\"==t.key?x(t):\"&nbsp;\"!=r&&\" \"!=r&&\"Delete\"==t.key&&O(t),!0}if(T(e).is(\"p\")){var o=e.innerHTML.replace(/<br>/g,\"\");return o.length<1?e.insertAdjacentHTML(\"afterbegin\",\"&nbsp;\"):\"&nbsp;\"!=o&&\" \"!=o&&\"Backspace\"==t.key?x(t):\"&nbsp;\"!=o&&\" \"!=o&&\"Delete\"==t.key&&O(t),!0}}return!1}function a(e){var t=N.selection.element();if(t&&0<=[\"INPUT\",\"TEXTAREA\"].indexOf(t.tagName))return!0;if(e&&D(e.which)){var n=N.selection.element(),r=N.selection.get(),o=r.anchorNode,i=r.anchorOffset;if(o.nodeType===Node.TEXT_NODE&&0<i&&1<o.textContent.length&&8203===o.textContent.charCodeAt(i)){$(n);var a=N.doc.createRange();N.selection.get().removeAllRanges();var s=Math.max(0,Math.min(i-1,o.textContent.length-1));a.setStart(o,s),a.setEnd(o,s),N.selection.get().addRange(a)}return!0}N.events.disableBlur();var l=e.which;if(16===l)return!0;if((S=l)===Y.KEYCODE.IME)return M=!0;if(M=!1,l===Y.KEYCODE.BACKSPACE&&(e.metaKey||e.ctrlKey)){var c=N.selection.element(),d=[\"strong\",\"u\",\"em\",\"s\",\"sub\",\"sup\",\"span\"],f=T(c).find(d.join()).length||-1<d.indexOf(c.tagName.toLowerCase());if(N.opts.keepFormatOnDelete&&!N.node.isEmpty(c)&&f){var p=!0;N.selection.isCollapsed()&&(N.helpers.isMac()?p=function C(){var e=N.markers.insert();T(e).removeClass(\"fr-marker\").addClass(\"fr-marker-placeholder\");var t=N.selection.ranges(0).getBoundingClientRect(),n=N.selection.blocks()[0];if(!n)return!1;var r=N.selection.rangeElement(n).getBoundingClientRect();return N.markers.insertAtPoint({clientX:r.x,clientY:t.y}),N.$el.find(\".fr-marker\").replaceWith(Y.START_MARKER),N.$el.find(\".fr-marker-placeholder\").replaceWith(Y.END_MARKER),N.selection.restore(),!0}():function m(){var e=N.selection.get();if(0===e.rangeCount)return;var t=e.getRangeAt(0),n=t.startContainer,r=t.startOffset;if(n.nodeType===Node.TEXT_NODE){for(var o=n.textContent,i=r;0<i&&/[\\s\\u200B\\u200C\\u200D\\uFEFF]/.test(o[i-1]);)i--;for(;0<i&&!/[\\s\\u200B\\u200C\\u200D\\uFEFF]/.test(o[i-1]);)i--;var a=N.doc.createRange();a.setStart(n,i),a.setEnd(n,r),e.removeAllRanges(),e.addRange(a)}}());var u=N.selection.ranges(0).startContainer.previousSibling;!p||u&&u.nodeType!==Node.TEXT_NODE&&\"BR\"==u.tagName||x(e)}N.helpers.isMac()&&(A=!0)}if(H(e))return!0;var h=R(l)&&!H(e)&&!e.altKey,g=l===Y.KEYCODE.BACKSPACE||l===Y.KEYCODE.DELETE;if((N.selection.isFull()&&!N.opts.keepFormatOnDelete&&!N.placeholder.isVisible()||g&&N.placeholder.isVisible()&&N.opts.keepFormatOnDelete)&&(h||g)&&(w(),!R(l)))return e.preventDefault(),!0;if(l===Y.KEYCODE.ENTER)!N.helpers.isIOS()&&e.shiftKey||t.classList.contains(\"fr-inner\")||t.parentElement&&t.parentElement.classList.contains(\"fr-inner\")?function v(e){e.preventDefault(),e.stopPropagation(),N.opts.multiLine&&(N.selection.isCollapsed()||N.selection.remove(),N.cursor.enter(!0))}(e):function b(e){N.opts.multiLine?(N.helpers.isIOS()||(e.preventDefault(),e.stopPropagation()),N.selection.isCollapsed()||N.selection.remove(),N.cursor.enter()):(e.preventDefault(),e.stopPropagation())}(e);else if(l===Y.KEYCODE.BACKSPACE&&(e.metaKey||e.ctrlKey))!function E(){setTimeout(function(){N.events.disableBlur(),N.events.focus()},0)}();else if(l!==Y.KEYCODE.BACKSPACE||H(e)||e.altKey)if(l!==Y.KEYCODE.DELETE||H(e)||e.altKey||e.shiftKey)l===Y.KEYCODE.SPACE?function L(e){var t=N.selection.element();if(!N.helpers.isMobile()&&t&&\"A\"===t.tagName){e.preventDefault(),e.stopPropagation(),N.selection.isCollapsed()||N.selection.remove();var n=N.markers.insert();if(n){var r=n.previousSibling;!n.nextSibling&&n.parentNode&&\"A\"===n.parentNode.tagName?(n.parentNode.insertAdjacentHTML(\"afterend\",\"&nbsp;\".concat(Y.MARKERS)),n.parentNode.removeChild(n)):(r&&r.nodeType===Node.TEXT_NODE&&1===r.textContent.length&&160===r.textContent.charCodeAt(0)?r.textContent+=\" \":n.insertAdjacentHTML(\"beforebegin\",\"&nbsp;\"),n.outerHTML=Y.MARKERS),N.selection.restore()}}}(e):l===Y.KEYCODE.TAB?function y(e){if(0<N.opts.tabSpaces)if(N.selection.isCollapsed()){N.undo.saveStep(),e.preventDefault(),e.stopPropagation();for(var t=\"\",n=0;n<N.opts.tabSpaces;n++)t+=\"&nbsp;\";N.html.insert(t),N.placeholder.refresh(),N.undo.saveStep()}else e.preventDefault(),e.stopPropagation(),e.shiftKey?N.commands.outdent():N.commands.indent()}(e):H(e)||!R(e.which)||N.selection.isCollapsed()||e.ctrlKey||e.altKey||N.browser.mozilla||N.selection.remove();else{if(k(t,e))return e.preventDefault(),void e.stopPropagation();N.placeholder.isVisible()?(N.opts.keepFormatOnDelete||w(),e.preventDefault(),e.stopPropagation()):O(e)}else{if(k(t,e))return e.preventDefault(),void e.stopPropagation();N.placeholder.isVisible()?(N.opts.keepFormatOnDelete||w(),e.preventDefault(),e.stopPropagation()):x(e)}N.events.enableBlur()}function $(e){var t=e;-1<[\"STRONG\",\"U\",\"EM\"].indexOf(e.nodeName)&&e.parentNode&&(t=e.parentNode);for(var n=N.doc.createTreeWalker(t,NodeFilter.SHOW_TEXT,N.node.filter(function(e){return/\\u200B/gi.test(e.textContent)}),!1);n.nextNode();){var r=n.currentNode;r.textContent=r.textContent.replace(/\\u200B/gi,\"\")}}function l(){if(!N.$wp)return!0;var e;if(N.opts.height||N.opts.heightMax){e=N.position.getBoundingRect().top,(N.helpers.isIOS()||N.helpers.isAndroid())&&(e-=N.helpers.scrollTop()),N.opts.iframe&&(e+=N.$iframe.offset().top);var t=N.selection.blocks(),n=null;if(t&&0<t.length&&t[0].offsetTop&&(n=t[0].getBoundingClientRect().top,3===N.selection.get().anchorNode.nodeType)){var r=N.doc.createRange(),o=N.selection.get().anchorNode,i=N.selection.get().anchorOffset;r.selectNode(o),r.setStart(o,i),n=r.getBoundingClientRect().top}if(!N.opts.iframe&&e>N.$wp.offset().top-N.helpers.scrollTop()+N.$wp.height()-20)N.$wp.scrollTop(e+N.$wp.scrollTop()-(N.$wp.height()+N.$wp.offset().top)+N.helpers.scrollTop()+20);else if(N.opts.iframe&&n)if(N.$wp.scrollTop()>n)N.$wp.scrollTop(n-20);else if(n+20>N.$wp.scrollTop()+N.$wp.height()){var a=n-N.$wp.height()+50;N.$wp.scrollTop(a)}}else e=N.position.getBoundingRect().top,N.opts.toolbarBottom&&(e+=N.opts.toolbarStickyOffset),(N.helpers.isIOS()||N.helpers.isAndroid())&&(e-=N.helpers.scrollTop()),N.opts.iframe&&(e+=N.$iframe.offset().top,e-=N.helpers.scrollTop()),(e+=N.opts.toolbarStickyOffset)>N.o_win.innerHeight-20&&T(N.o_win).scrollTop(e+N.helpers.scrollTop()-N.o_win.innerHeight+20),e=N.position.getBoundingRect().top,N.opts.toolbarBottom||(e-=N.opts.toolbarStickyOffset),(N.helpers.isIOS()||N.helpers.isAndroid())&&(e-=N.helpers.scrollTop()),N.opts.iframe&&(e+=N.$iframe.offset().top,e-=N.helpers.scrollTop()),e<100&&T(N.o_win).scrollTop(e+N.helpers.scrollTop()-100)}function s(e){var t=N.selection.element();if(t&&0<=[\"INPUT\",\"TEXTAREA\"].indexOf(t.tagName))return!0;if(e&&0===e.which&&S&&(e.which=S),N.helpers.isAndroid()&&N.browser.mozilla)return!0;if(M)return!1;if(e&&N.helpers.isIOS()&&e.which===Y.KEYCODE.ENTER&&N.doc.execCommand(\"undo\"),!N.selection.isCollapsed())return!0;if(e&&(e.which===Y.KEYCODE.META||e.which===Y.KEYCODE.CTRL)&&!A)return!0;if(e&&D(e.which))return!0;if(e&&!N.helpers.isIOS()&&(e.which===Y.KEYCODE.ENTER||e.which===Y.KEYCODE.BACKSPACE||A||37<=e.which&&e.which<=40&&!N.browser.msie))try{l(),A=!1}catch(i){}var n=N.selection.element();if(function a(e){if(!e)return!1;var t=e.innerHTML;return!!((t=t.replace(/<span[^>]*? class\\s*=\\s*[\"']?fr-marker[\"']?[^>]+>\\u200b<\\/span>/gi,\"\"))&&/\\u200B/.test(t)&&0<t.replace(/\\u200B/gi,\"\").length)}(n)&&!N.node.hasClass(n,\"fr-marker\")&&\"IFRAME\"!==n.tagName&&function s(e){return!N.helpers.isIOS()||0===((e.textContent||\"\").match(/[\\u3041-\\u3096\\u30A0-\\u30FF\\u4E00-\\u9FFF\\u3130-\\u318F\\uAC00-\\uD7AF]/gi)||[]).length}(n)){N.selection.save();var r=N.$el.find(\".fr-marker\")[1],o=(e||\"\").which;N.opts.enter===Y.ENTER_BR&&n===N.$el.get(0)&&8===o&&null==r.nextSibling||$(n),N.selection.restore()}}function H(e){if(-1!==navigator.userAgent.indexOf(\"Mac OS X\")){if(e.metaKey&&!e.altKey)return!0}else if(e.ctrlKey&&!e.altKey)return!0;return!1}function D(e){if(e>=Y.KEYCODE.ARROW_LEFT&&e<=Y.KEYCODE.ARROW_DOWN)return!0}function R(e){if(e>=Y.KEYCODE.ZERO&&e<=Y.KEYCODE.NINE)return!0;if(e>=Y.KEYCODE.NUM_ZERO&&e<=Y.KEYCODE.NUM_MULTIPLY)return!0;if(e>=Y.KEYCODE.A&&e<=Y.KEYCODE.Z)return!0;if(N.browser.webkit&&0===e)return!0;switch(e){case Y.KEYCODE.SPACE:case Y.KEYCODE.QUESTION_MARK:case Y.KEYCODE.NUM_PLUS:case Y.KEYCODE.NUM_MINUS:case Y.KEYCODE.NUM_PERIOD:case Y.KEYCODE.NUM_DIVISION:case Y.KEYCODE.SEMICOLON:case Y.KEYCODE.FF_SEMICOLON:case Y.KEYCODE.DASH:case Y.KEYCODE.EQUALS:case Y.KEYCODE.FF_EQUALS:case Y.KEYCODE.COMMA:case Y.KEYCODE.PERIOD:case Y.KEYCODE.SLASH:case Y.KEYCODE.APOSTROPHE:case Y.KEYCODE.SINGLE_QUOTE:case Y.KEYCODE.OPEN_SQUARE_BRACKET:case Y.KEYCODE.BACKSLASH:case Y.KEYCODE.CLOSE_SQUARE_BRACKET:return!0;default:return!1}}function c(e){var t=e.which;if(H(e)||37<=t&&t<=40||!R(t)&&t!==Y.KEYCODE.DELETE&&t!==Y.KEYCODE.BACKSPACE&&t!==Y.KEYCODE.ENTER&&t!==Y.KEYCODE.IME)return!0;n||(r=N.snapshot.get(),N.undo.canDo()||N.undo.saveStep()),clearTimeout(n),n=setTimeout(function(){n=null,N.undo.saveStep()},Math.max(250,N.opts.typingTimer))}function d(e){var t=e.which;if(H(e)||37<=t&&t<=40)return!0;r&&n?(N.undo.saveStep(r),r=null):void 0!==t&&0!==t||r||n||N.undo.saveStep()}function f(e){if(e&&0<=Y.VOID_ELEMENTS.indexOf(e.tagName.toLowerCase())||e.lastChild&&e.lastChild.nodeType===Node.ELEMENT_NODE&&0<=Y.VOID_ELEMENTS.indexOf(e.lastChild.tagName.toLowerCase()))return!1;try{return 0===(e.textContent||\"\").length&&e.querySelector&&!e.querySelector(\":scope > br\")||e.childNodes&&1===e.childNodes.length&&e.childNodes[0].getAttribute&&(\"false\"===e.childNodes[0].getAttribute(\"contenteditable\")||N.node.hasClass(e.childNodes[0],\"fr-img-caption\"))}catch(t){return!1}}function p(e){var t=N.el.childNodes,n=N.html.defaultTag(),r=N.node.blockParent(N.selection.blocks()[0]);function o(e){return!!T(e).parentsUntil(N.$el,'[contenteditable=\"false\"]').length}r&&\"TR\"==r.tagName&&r.getAttribute(\"contenteditable\")==undefined&&(r=r.closest(\"table\"));var i=window.getSelection(),a=0<i.rangeCount&&(o(i.getRangeAt(0).startContainer)||o(i.getRangeAt(0).endContainer));return!N.node.isEditable(e.target)||o(e.target)||a?N.toolbar.disable():N.toolbar.enable(),!(!e.target||e.target===N.el)||(0===t.length||void(t[0].offsetHeight+t[0].offsetTop<=e.offsetY?f(t[t.length-1])&&(n?N.$el.append(\"<\".concat(n,\">\").concat(Y.MARKERS,\"<br></\").concat(n,\">\")):N.$el.append(\"\".concat(Y.MARKERS,\"<br>\")),N.selection.restore(),l()):e.offsetY<=10&&f(t[0])&&(n?N.$el.prepend(\"<\".concat(n,\">\").concat(Y.MARKERS,\"<br></\").concat(n,\">\")):N.$el.prepend(\"\".concat(Y.MARKERS,\"<br>\")),N.selection.restore(),l())))}function u(){n&&clearTimeout(n)}return{_init:function h(){N.events.on(\"keydown\",c),N.events.on(\"input\",e),N.events.on(\"mousedown\",i),N.events.on(\"keyup input\",d),N.events.on(\"keypress\",o),N.events.on(\"keydown\",a),N.events.on(\"keyup\",s),N.events.on(\"destroy\",u),N.events.on(\"html.inserted\",s),N.events.on(\"cut\",t),N.opts.multiLine&&N.events.on(\"click\",p),N.events.on(\"initialized\",function(){N.el.addEventListener(\"compositionstart\",function(){if(N.selection.isCollapsed()){var e=N.selection.ranges(0),t=e.startContainer,n=e.startOffset;if(t&&t.nodeType===Node.TEXT_NODE&&n<=t.textContent.length&&0<n&&8203===t.textContent.charCodeAt(n-1)){N.selection.save();var r=N.$el.find(\".fr-marker\");T(r.get(0).previousSibling).before(Y.HAIR_SPACE),r.get(0).previousSibling.textContent=r.get(0).previousSibling.textContent.replace(/\\u200B/gi,\"\"),N.selection.restore()}}}),N.el.addEventListener(\"compositionend\",function(){if(N.selection.isCollapsed()){var e=N.selection.ranges(0),t=e.startContainer,n=e.startOffset;if(t&&t.nodeType===Node.TEXT_NODE&&n<=t.textContent.length&&0<n&&8202===t.textContent.charCodeAt(0)){N.selection.save();var r=N.$el.find(\".fr-marker\");r.get(0).previousSibling.textContent=r.get(0).previousSibling.textContent.replace(/\\u200A/gi,\"\"),N.selection.restore()}}})})},ctrlKey:H,isCharacter:R,isArrow:D,forceUndo:function g(){n&&(clearTimeout(n),N.undo.saveStep(),r=null)},isIME:function C(){return M},isBrowserAction:function m(e){var t=e.which;return H(e)||t===Y.KEYCODE.F5},positionCaret:l}},Object.assign(Y.DEFAULTS,{pastePlain:!1,pasteDeniedTags:[\"colgroup\",\"col\",\"meta\"],pasteDeniedAttrs:[\"class\",\"id\"],pasteAllowedStyleProps:[\".*\"],pasteAllowLocalImages:!1}),Y.MODULES.paste=function(M){var f,p,l,u,c,A,o,x=M.$;function r(e,t){var n=2<arguments.length&&arguments[2]!==undefined&&arguments[2];o=n;try{M.win.localStorage.setItem(\"fr-copied-html\",e),M.win.localStorage.setItem(\"fr-copied-text\",t)}catch(r){}}function e(e){var t,n;(o?(t=M.win.localStorage.getItem(\"fr-copied-html\"),n=M.win.localStorage.getItem(\"fr-copied-text\"),o=!1):r(t=M.html.getSelected(),n=x(M.doc.createElement(\"div\")).html(t).text()),\"cut\"===e.type)&&(M.$el.find(\"table.fr-table-selected\").length&&!M.opts.trackChangesEnabled&&(M.table.remove(),e.preventDefault()),e.clipboardData.setData(\"text/plain\",n),e.clipboardData.setData(\"text/html\",t),setTimeout(function(){M.selection.save(),M.html.wrap(),M.selection.restore(),M.events.focus(),M.undo.saveStep()},0))}var d,t=!1;function n(p){return\"INPUT\"===(d=p).target.nodeName&&\"text\"===p.target.type||!M.edit.isDisabled()&&(!g(p.target)&&(!t&&(p.originalEvent&&(p=p.originalEvent),E()&&navigator.clipboard?(navigator.clipboard.read({unsanitized:[\"text/html\"]}).then(function(){var t=function e(s){return function(){var e=this,a=arguments;return new Promise(function(t,n){var r=s.apply(e,a);function o(e){N(r,t,n,o,i,\"next\",e)}function i(e){N(r,t,n,o,i,\"throw\",e)}o(void 0)})}}(T().m(function f(t){var n,r,o,i,a,s,l,c,d;return T().w(function(e){for(;;)switch(e.p=e.n){case 0:n=t[0].types,r=new DataTransfer,o=S(n),e.p=1,o.s();case 2:if((i=o.n()).done){e.n=8;break}return a=i.value,e.n=3,t[0].getType(a);case 3:if(s=e.v,a.startsWith(\"text\"))return e.n=4,s.text();e.n=5;break;case 4:c=e.v,e.n=6;break;case 5:c=s;case 6:l=c,a.startsWith(\"text\")?r.setData(a,l):r.items.add(new File([l],\"file\"));case 7:e.n=2;break;case 8:e.n=10;break;case 9:e.p=9,d=e.v,o.e(d);case 10:return e.p=10,o.f(),e.f(10);case 11:return e.a(2,h(p,r))}},f,null,[[1,9,10,11]])}));return function(e){return t.apply(this,arguments)}}()),p.preventDefault(),!1):h(p))))}function h(e,t){var n=t||e&&e.clipboardData;if(n&&n.getData){var r=(n||window.clipboardData).getData(\"text/html\")||\"\";if(r.match('content=\"Microsoft OneNote')){var o=/<body[^>]*>((.|[\\n\\r])*)<\\/body>/im.exec(r)[1];return M.html.insert(M.clean.html(o)),e.preventDefault&&(e.stopPropagation(),e.preventDefault()),!1}}if(!1===M.events.trigger(\"paste.before\",[e,t]))return e.preventDefault(),!1;if(n&&n.getData){var i=\"\";if(u=n.types,M.helpers.isArray(u))for(var a=0;a<u.length;a++)i+=\"\".concat(u[a],\";\");else i=u;if(f=\"\",/text\\/rtf/.test(i)&&(p=n.getData(\"text/rtf\")),/text\\/html/.test(i)?(f=n.getData(\"text/html\"),M.browser.mozilla&&(\"<p></p>\"===f||\"\"===f||/<!--StartFragment-->([ ])<!--EndFragment-->/.test(f)||/<!--StartFragment-->([<p></p>]*)<!--EndFragment-->/.test(f))&&(f=M.win.localStorage.getItem(\"fr-copied-html\"))):/text\\/uri-list/.test(i)&&M.browser.safari?f=n.getData(\"text/uri-list\"):/text\\/rtf/.test(i)&&M.browser.safari?f=p:/public.rtf/.test(i)&&M.browser.safari&&(f=n.getData(\"text/rtf\")),l=n.getData(\"text\"),\"\"!==f)return v(),e.preventDefault&&(e.stopPropagation(),e.preventDefault()),!1;f=null}return function s(){if(M.selection.save(),M.events.disableBlur(),f=null,c){c.html(\"\");var e=C(M.selection.get().anchorNode)+M.$wp.offset().top;c.css(\"top\",e),M.browser.edge&&M.opts.iframe&&M.$el.append(c)}else{var t=document.getElementsByTagName(\"BODY\")[0],n=window.getComputedStyle(t).transform;if(\"none\"!==n){var r=C(M.selection.get().anchorNode)+M.$wp.offset().top;c=x('<div contenteditable=\"true\" style=\"position: fixed; top: '+r+'px; left: -9999px; height: 100%; width: 0; word-break: break-all; overflow:hidden; z-index: 2147483647; line-height: 140%; -moz-user-select: text; -webkit-user-select: text; -ms-user-select: text; user-select: text;\" tabIndex=\"-1\"></div>')}else c=x('<div contenteditable=\"true\" style=\"position: fixed; top: 0; left: -9999px; height: 100%; width: 0; word-break: break-all; overflow:hidden; z-index: 2147483647; line-height: 140%; -moz-user-select: text; -webkit-user-select: text; -ms-user-select: text; user-select: text;\" tabIndex=\"-1\"></div>');M.browser.webkit||M.browser.mozilla?(\"none\"===n&&c.css(\"top\",M.$sc.scrollTop()),M.$el.after(c)):M.browser.edge&&M.opts.iframe?M.$el.append(c):M.$box.after(c),M.events.on(\"destroy\",function(){c.remove()})}var o;M.helpers.isIOS()&&M.$sc&&(o=M.$sc.scrollTop());M.opts.iframe&&M.$el.attr(\"contenteditable\",\"false\");M.helpers.isIOS()&&M.$sc&&M.$sc.scrollTop(o);var i=d.clipboardData.getData(\"Text\");if(4e5<i.length||E()&&navigator.clipboard){d.preventDefault();var a=m(i||l);c.get(0).innerText=\"\",c.get(0).appendChild(a)}else c.focus();M.win.setTimeout(v,1)}(),!1}function g(e){return e&&\"false\"===e.contentEditable}function i(e){if(e.originalEvent&&(e=e.originalEvent),g(e.target))return!1;if(e&&e.dataTransfer&&e.dataTransfer.getData){var t=\"\";if(u=e.dataTransfer.types,M.helpers.isArray(u))for(var n=0;n<u.length;n++)t+=\"\".concat(u[n],\";\");else t=u;f=\"\",/text\\/rtf/.test(t)&&(p=e.dataTransfer.getData(\"text/rtf\")),/text\\/html/.test(t)?f=e.dataTransfer.getData(\"text/html\"):/text\\/rtf/.test(t)&&M.browser.safari?f=p:/text\\/plain/.test(t)&&!this.browser.mozilla&&(f=M.html.escapeEntities(e.dataTransfer.getData(\"text/plain\")).replace(/\\n/g,\"<br>\"));var r=M.$el.find(\"table.fr-table-draggable\");if(r.length){var o=M.$box.find(\".fr-table-drop-indicator\");if(o&&!o.isVisible())return!0;var i=o.attr(\"data-position\"),a=o.data(\"target-element\");A=M.snapshot.get(),\"above\"===i?M.selection.setAtStart(a):M.selection.setAtEnd(a),r.removeClass(\"fr-table-draggable\"),r.remove();var s=M.el.querySelector(\".fr-marker\");return x(s).replaceWith(Y.MARKERS),M.selection.restore(),function d(){M.win.localStorage.removeItem(\"fr-copied-text\"),M.win.localStorage.removeItem(\"fr-copied-html\")}(),v(),void(e.preventDefault&&(e.stopPropagation(),e.preventDefault()))}if(\"\"!==f){M.keys.forceUndo(),A=M.snapshot.get(),M.selection.save(),M.$el.find(\".fr-marker\").removeClass(\"fr-marker\").addClass(\"fr-marker-helper\");var l=M.markers.insertAtPoint(e);if(M.$el.find(\".fr-marker\").removeClass(\"fr-marker\").addClass(\"fr-marker-placeholder\"),M.$el.find(\".fr-marker-helper\").addClass(\"fr-marker\").removeClass(\"fr-marker-helper\"),M.selection.restore(),M.selection.remove(),M.$el.find(\".fr-marker-placeholder\").addClass(\"fr-marker\").removeClass(\"fr-marker-placeholder\"),!1!==l){var c=M.el.querySelector(\".fr-marker\");return x(c).replaceWith(Y.MARKERS),M.selection.restore(),v(),e.preventDefault&&(e.stopPropagation(),e.preventDefault()),!1}}else f=null}}function C(e){return e.nodeType===Node.TEXT_NODE?e.parentNode.offsetTop:e.offsetTop}function m(e){var n=M.html.defaultTag()||\"p\",t=e.split(/\\n/g),r=document.createDocumentFragment();return t.forEach(function(e){var t=document.createElement(n);t.appendChild(\"\"===e?document.createElement(\"br\"):document.createTextNode(e)),r.appendChild(t)}),r}function v(){M.opts.iframe&&M.$el.attr(\"contenteditable\",\"true\"),M.browser.edge&&M.opts.iframe&&M.$box.after(c),A||(M.keys.forceUndo(),A=M.snapshot.get()),f||(f=c.get(0).innerHTML,l=c.text(),M.$el[0].setAttribute(\"plainpaste\",!0),M.selection.restore(),M.events.enableBlur());var e=f.match(/(MSFontService|class=\"?Mso|class='?Mso|class=\"?Xl|class='?Xl|class=Xl|style=\"[^\"]*\\bmso-|style='[^']*\\bmso-|w:WordDocument|LibreOffice)/gi),t=M.events.chainTrigger(\"paste.beforeCleanup\",f);if(t&&\"string\"==typeof t){f=t;var n=(new DOMParser).parseFromString(t,\"text/html\");l=n.body.innerText}(!e||e&&!1!==M.events.trigger(\"paste.wordPaste\",[f]))&&a(f,e)}function O(){var e=null,t=null;try{e=M.win.localStorage.getItem(\"fr-copied-text\"),t=M.win.localStorage.getItem(\"fr-copied-html\")}catch(s){}var n=(new DOMParser).parseFromString(t,\"text/html\").querySelector(\"table\"),r=M.node.hasClass(n,\"fr-table-selected\"),o=(new DOMParser).parseFromString(f,\"text/html\").querySelector(\"table\"),i=M.node.hasClass(o,\"fr-table-selected\"),a=n&&o&&r===i;return!(!e||!l||u&&-1===u.indexOf(\"text/html\")||l.replace(/\\u00A0/gi,\" \").replace(/\\r|\\n/gi,\"\")!==e.replace(/\\u00A0/gi,\" \").replace(/\\r|\\n/gi,\"\")&&l.replace(/\\s/g,\"\")!==e.replace(/\\s/g,\"\"))||!(!(t&&f&&a)||u&&-1===u.indexOf(\"text/html\"))}function w(e){for(var t=\"\",n=0;n++<e;)t+=\"&nbsp;\";return t}function a(e,t,n){var r,o=null,i=null;if(0<=e.toLowerCase().indexOf(\"<body\")){var a=\"\";0<=e.indexOf(\"<style\")&&(a=e.replace(/[.\\s\\S\\w\\W<>]*(<style[^>]*>[\\s]*[.\\s\\S\\w\\W<>]*[\\s]*<\\/style>)[.\\s\\S\\w\\W<>]*/gi,\"$1\")),e=(e=(e=a+e.replace(/[.\\s\\S\\w\\W<>]*<body[^>]*>[\\s]*([.\\s\\S\\w\\W<>]*)[\\s]*<\\/body>[.\\s\\S\\w\\W<>]*/gi,\"$1\")).replace(/<pre(?:[\\w\\W]*?)>(?:[\\w\\W]*?)<\\/pre>/g,function(e){return e.replace(/\\n/g,\"<br />\")})).replace(/ \\n/g,\" \").replace(/\\n /g,\" \").replace(/([^>])\\n([^<])/g,\"$1 $2\")}var s=!1;0<=e.indexOf('id=\"docs-internal-guid')&&(e=e.replace(/^[\\w\\W\\s\\S]* id=\"docs-internal-guid[^>]*>([\\w\\W\\s\\S]*)<\\/b>[\\w\\W\\s\\S]*$/g,\"$1\"),s=!0),(0<=e.indexOf('content=\"Sheets\"')||0<=e.indexOf(\"google-sheets-html-origin\"))&&(e=e.replace(/width:0px;/g,\"\"));var l=!1;if(!t)if((l=O())&&(e=M.win.localStorage.getItem(\"fr-copied-html\")),l)e=M.clean.html(e,M.opts.pasteDeniedTags,M.opts.pasteDeniedAttrs);else{var c=M.opts.htmlAllowedStyleProps;M.opts.htmlAllowedStyleProps=M.opts.pasteAllowedStyleProps,M.opts.htmlAllowComments=!1,e=(e=(e=e.replace(/<span class=\"Apple-tab-span\">\\s*<\\/span>/g,w(M.opts.tabSpaces||4))).replace(/<span class=\"Apple-tab-span\" style=\"white-space:pre\">(\\t*)<\\/span>/g,function(e,t){return w(t.length*(M.opts.tabSpaces||4))})).replace(/\\t/g,w(M.opts.tabSpaces||4)),e=M.clean.html(e,M.opts.pasteDeniedTags,M.opts.pasteDeniedAttrs),M.opts.htmlAllowedStyleProps=c,M.opts.htmlAllowComments=!0,M.html.defaultTag()&&\"div\"===M.html.defaultTag()||(e=k(e)),e=(e=e.replace(/\\r/g,\"\")).replace(/^ */g,\"\").replace(/ *$/g,\"\")}!t||M.wordPaste&&n||(0===(e=e.replace(/^\\n*/g,\"\").replace(/^ /g,\"\")).indexOf(\"<colgroup>\")&&(e=\"<table>\".concat(e,\"</table>\")),e=k(e=function y(e){var t;e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=e.replace(/<p(.*?)class=\"?'?MsoListParagraph\"?'? ([\\s\\S]*?)>([\\s\\S]*?)<\\/p>/gi,\"<ul><li>$3</li></ul>\")).replace(/<p(.*?)class=\"?'?NumberedText\"?'? ([\\s\\S]*?)>([\\s\\S]*?)<\\/p>/gi,\"<ol><li>$3</li></ol>\")).replace(/<p(.*?)class=\"?'?MsoListParagraphCxSpFirst\"?'?([\\s\\S]*?)(level\\d)?([\\s\\S]*?)>([\\s\\S]*?)<\\/p>/gi,\"<ul><li$3>$5</li>\")).replace(/<p(.*?)class=\"?'?NumberedTextCxSpFirst\"?'?([\\s\\S]*?)(level\\d)?([\\s\\S]*?)>([\\s\\S]*?)<\\/p>/gi,\"<ol><li$3>$5</li>\")).replace(/<p(.*?)class=\"?'?MsoListParagraphCxSpMiddle\"?'?([\\s\\S]*?)(level\\d)?([\\s\\S]*?)>([\\s\\S]*?)<\\/p>/gi,\"<li$3>$5</li>\")).replace(/<p(.*?)class=\"?'?NumberedTextCxSpMiddle\"?'?([\\s\\S]*?)(level\\d)?([\\s\\S]*?)>([\\s\\S]*?)<\\/p>/gi,\"<li$3>$5</li>\")).replace(/<p(.*?)class=\"?'?MsoListBullet\"?'?([\\s\\S]*?)(level\\d)?([\\s\\S]*?)>([\\s\\S]*?)<\\/p>/gi,\"<li$3>$5</li>\")).replace(/<p(.*?)class=\"?'?MsoListParagraphCxSpLast\"?'?([\\s\\S]*?)(level\\d)?([\\s\\S]*?)>([\\s\\S]*?)<\\/p>/gi,\"<li$3>$5</li></ul>\")).replace(/<p(.*?)class=\"?'?NumberedTextCxSpLast\"?'?([\\s\\S]*?)(level\\d)?([\\s\\S]*?)>([\\s\\S]*?)<\\/p>/gi,\"<li$3>$5</li></ol>\")).replace(/<span([^<]*?)style=\"?'?mso-list:Ignore\"?'?([\\s\\S]*?)>([\\s\\S]*?)<span/gi,\"<span><span\")).replace(/<!--\\[if !supportLists\\]-->([\\s\\S]*?)<!--\\[endif\\]-->/gi,\"\")).replace(/<!\\[if !supportLists\\]>([\\s\\S]*?)<!\\[endif\\]>/gi,\"\")).replace(/(\\n|\\r| class=(\")?Mso[a-zA-Z0-9]+(\")?)/gi,\" \")).replace(/<!--[\\s\\S]*?-->/gi,\"\")).replace(/<(\\/)*(meta|link|span|\\\\?xml:|st1:|o:|font)(.*?)>/gi,\"\");var n,r=[\"style\",\"script\",\"applet\",\"embed\",\"noframes\",\"noscript\"];for(t=0;t<r.length;t++){var o=new RegExp(\"<\".concat(r[t],\".*?\").concat(r[t],\"(.*?)>\"),\"gi\");e=e.replace(o,\"\")}for(e=(e=(e=e.replace(/&nbsp;/gi,\" \")).replace(/<td([^>]*)><\\/td>/g,\"<td$1><br></td>\")).replace(/<th([^>]*)><\\/th>/g,\"<th$1><br></th>\");(e=(n=e).replace(/<[^/>][^>]*><\\/[^>]+>/gi,\"\"))!==n;);e=(e=e.replace(/<lilevel([^1])([^>]*)>/gi,'<li data-indent=\"true\"$2>')).replace(/<lilevel1([^>]*)>/gi,\"<li$1>\"),e=(e=(e=M.clean.html(e,M.opts.pasteDeniedTags,M.opts.pasteDeniedAttrs)).replace(/<a>(.[^<]+)<\\/a>/gi,\"$1\")).replace(/<br> */g,\"<br>\");var i=M.o_doc.createElement(\"div\");i.innerHTML=e;var a=i.querySelectorAll(\"li[data-indent]\");for(t=0;t<a.length;t++){var s=a[t],l=s.previousElementSibling;if(l&&\"LI\"===l.tagName){var c=l.querySelector(\":scope > ul, :scope > ol\");c||(c=document.createElement(\"ul\"),l.appendChild(c)),c.appendChild(s)}else s.removeAttribute(\"data-indent\")}return M.html.cleanBlankSpaces(i),e=i.innerHTML}(e))),M.opts.pastePlain&&(e=function N(e){var t,n=null,r=M.doc.createElement(\"div\");r.innerHTML=e;var o=O(),i=r.querySelectorAll(\"p, div, h1, h2, h3, h4, h5, h6, pre, blockquote\");for(t=0;t<i.length;t++)if((n=i[t]).textContent){var a=o?n.innerHTML:n.innerText,s=M.clean.html(\"<\".concat(M.html.defaultTag()||\"DIV\",\">\").concat(a,\"</\").concat(M.html.defaultTag()||\"DIV\",\">\"));n.outerHTML=s}for(t=(i=r.querySelectorAll(\"*:not(\".concat(\"p, div, h1, h2, h3, h4, h5, h6, pre, blockquote, ul, ol, li, table, tbody, thead, tr, td, br, img\".split(\",\").join(\"):not(\"),\")\"))).length-1;0<=t;t--)(n=i[t]).outerHTML=n.innerHTML;return function l(e){for(var t=M.node.contents(e),n=0;n<t.length;n++)t[n].nodeType!==Node.TEXT_NODE&&t[n].nodeType!==Node.ELEMENT_NODE?t[n].parentNode.removeChild(t[n]):l(t[n])}(r),r.innerHTML}(e));var d=M.events.chainTrigger(\"paste.afterCleanup\",e);if(M.$el[0].removeAttribute(\"plainpaste\",!0),\"string\"==typeof d&&(e=d),\"\"!==e){var f=M.o_doc.createElement(\"div\");0<=(f.innerHTML=e).indexOf(\"<body>\")?(M.html.cleanBlankSpaces(f),M.spaces.normalize(f,!0)):M.spaces.normalize(f);var p=f.getElementsByTagName(\"span\");for(r=p.length-1;0<=r;r--){var u=p[r];0===u.attributes.length&&(u.outerHTML=u.innerHTML)}if(!0===M.opts.linkAlwaysBlank){var h=f.getElementsByTagName(\"a\");for(r=h.length-1;0<=r;r--){var g=h[r];g.getAttribute(\"target\")||g.setAttribute(\"target\",\"_blank\")}}var C=M.selection.element(),m=!1;if(C&&x(C).parentsUntil(M.el,\"ul, ol\").length&&(m=!0),m){var v=f.children;1===v.length&&0<=[\"OL\",\"UL\"].indexOf(v[0].tagName)&&(v[0].outerHTML=v[0].innerHTML)}if(!s){var b=f.getElementsByTagName(\"br\");for(r=b.length-1;0<=r;r--){var E=b[r];M.node.isBlock(E.previousSibling)&&E.parentNode.removeChild(E)}}if(M.opts.enter===Y.ENTER_BR)for(r=(o=f.querySelectorAll(\"p, div\")).length-1;0<=r;r--)0===(i=o[r]).attributes.length&&(i.outerHTML=i.innerHTML+(i.nextSibling&&!M.node.isEmpty(i)?\"<br>\":\"\"));else if(M.opts.enter===Y.ENTER_DIV)for(r=(o=f.getElementsByTagName(\"p\")).length-1;0<=r;r--)0===(i=o[r]).attributes.length&&(i.outerHTML=\"<div>\".concat(i.innerHTML,\"</div>\"));else M.opts.enter===Y.ENTER_P&&1===f.childNodes.length&&\"P\"===f.childNodes[0].tagName&&0===f.childNodes[0].attributes.length&&(f.childNodes[0].outerHTML=f.childNodes[0].innerHTML);if(f.childNodes[0]instanceof HTMLHeadingElement&&M.selection.element().tagName===f.childNodes[0].tagName&&(f.childNodes[0].outerHTML=f.childNodes[0].innerHTML),f.children&&0<f.children.length)if(M.opts.trackChangesEnabled)for(var L=0;L<f.children.length;L++)f.children[L].setAttribute(\"data-pasted\",\"true\");else f.children[0].setAttribute(\"data-pasted\",\"true\");e=(e=f.innerHTML).replace(/\\n/g,\"\"),l&&(e=function S(e){var t,n=M.o_doc.createElement(\"div\");n.innerHTML=e;var r=n.querySelectorAll(\"*:empty:not(td):not(th):not(tr):not(iframe):not(svg):not(\".concat(Y.VOID_ELEMENTS.join(\"):not(\"),\"):not(\").concat(M.opts.htmlAllowedEmptyTags.join(\"):not(\"),\")\"));for(;r.length;){for(t=0;t<r.length;t++)r[t].parentNode.removeChild(r[t]);r=n.querySelectorAll(\"*:empty:not(td):not(th):not(tr):not(iframe):not(svg):not(\".concat(Y.VOID_ELEMENTS.join(\"):not(\"),\"):not(\").concat(M.opts.htmlAllowedEmptyTags.join(\"):not(\"),\")\"))}return n.innerHTML}(e)),M.html.insert(e,!0)}!function T(){M.events.trigger(\"paste.after\")}(),M.undo.saveStep(A),A=null,M.undo.saveStep()}function b(e){for(var t=e.length-1;0<=t;t--)e[t].attributes&&e[t].attributes.length&&e.splice(t,1);return e}function k(e){var t,n=M.o_doc.createElement(\"div\");n.innerHTML=e;for(var r=b(Array.prototype.slice.call(n.querySelectorAll(\":scope > div:not([style]), td > div:not([style]), th > div:not([style]), li > div:not([style])\")));r.length;){var o=r[r.length-1];if(M.html.defaultTag()&&\"div\"!==M.html.defaultTag())o.querySelector(M.html.blockTagsQuery())?o.outerHTML=o.innerHTML:o.outerHTML=\"<\".concat(M.html.defaultTag(),\">\").concat(o.innerHTML,\"</\").concat(M.html.defaultTag(),\">\");else{var i=o.querySelectorAll(\"*\");!i.length||\"BR\"!==i[i.length-1].tagName&&0===o.innerText.length?o.outerHTML=o.innerHTML+(o.nextSibling?\"<br>\":\"\"):!i.length||\"BR\"!==i[i.length-1].tagName||i[i.length-1].nextSibling?o.outerHTML=o.innerHTML+(o.nextSibling?\"<br>\":\"\"):o.outerHTML=o.innerHTML}r=b(Array.prototype.slice.call(n.querySelectorAll(\":scope > div:not([style]), td > div:not([style]), th > div:not([style]), li > div:not([style])\")))}for(r=b(Array.prototype.slice.call(n.querySelectorAll(\"div:not([style])\")));r.length;){for(t=0;t<r.length;t++){var a=r[t],s=a.innerHTML.replace(/\\u0009/gi,\"\").trim();a.outerHTML=s}r=b(Array.prototype.slice.call(n.querySelectorAll(\"div:not([style])\")))}return n.innerHTML}function s(){M.el.removeEventListener(\"copy\",e),M.el.removeEventListener(\"cut\",e),M.el.removeEventListener(\"paste\",n)}function E(){var e=navigator.userAgent.match(/chrome\\/(\\d+)/i),t=e?parseInt(e[1],10):0;return M.helpers.isAndroid()&&M.browser.chrome&&99<t}return{_init:function L(){M.el.addEventListener(\"copy\",e),M.el.addEventListener(\"cut\",e),M.el.addEventListener(\"paste\",n,{capture:!0}),M.events.on(\"drop\",i),M.browser.msie&&M.browser.version<11&&(M.events.on(\"mouseup\",function(e){2===e.button&&(setTimeout(function(){t=!1},50),t=!0)},!0),M.events.on(\"beforepaste\",n)),M.events.on(\"destroy\",s)},cleanEmptyTagsAndDivs:k,getRtfClipboard:function y(){return p},saveCopiedText:r,clean:a,replaceNewLines:m}},Object.assign(Y.DEFAULTS,{shortcutsEnabled:[],shortcutsHint:!0}),Y.SHORTCUTS_MAP={},Y.RegisterShortcut=function(e,t,n,r,o,i){Y.SHORTCUTS_MAP[(o?\"^\":\"\")+(i?\"@\":\"\")+e]={cmd:t,val:n,letter:r,shift:o,option:i},Y.DEFAULTS.shortcutsEnabled.push(t)},Y.RegisterShortcut(Y.KEYCODE.E,\"show\",null,\"E\",!1,!1),Y.RegisterShortcut(Y.KEYCODE.B,\"bold\",null,\"B\",!1,!1),Y.RegisterShortcut(Y.KEYCODE.I,\"italic\",null,\"I\",!1,!1),Y.RegisterShortcut(Y.KEYCODE.U,\"underline\",null,\"U\",!1,!1),Y.RegisterShortcut(Y.KEYCODE.S,\"strikeThrough\",null,\"S\",!1,!1),Y.RegisterShortcut(Y.KEYCODE.CLOSE_SQUARE_BRACKET,\"indent\",null,\"]\",!1,!1),Y.RegisterShortcut(Y.KEYCODE.OPEN_SQUARE_BRACKET,\"outdent\",null,\"[\",!1,!1),Y.RegisterShortcut(Y.KEYCODE.Z,\"undo\",null,\"Z\",!1,!1),Y.RegisterShortcut(Y.KEYCODE.Z,\"redo\",null,\"Z\",!0,!1),Y.RegisterShortcut(Y.KEYCODE.Y,\"redo\",null,\"Y\",!1,!1),Y.MODULES.shortcuts=function(s){var r=null;var l=!1;function e(e){if(!s.core.hasFocus())return!0;var t=e.which,n=-1!==navigator.userAgent.indexOf(\"Mac OS X\")?e.metaKey:e.ctrlKey;if(\"keyup\"===e.type&&l&&t!==Y.KEYCODE.META)return l=!1;\"keydown\"===e.type&&(l=!1);var r=(e.shiftKey?\"^\":\"\")+(e.altKey?\"@\":\"\")+t,o=s.node.blockParent(s.selection.blocks()[0]);if(o&&\"TR\"==o.tagName&&o.getAttribute(\"contenteditable\")==undefined&&(o=o.closest(\"table\")),n&&Y.SHORTCUTS_MAP[r]&&(!o||\"false\"!==o.getAttribute(\"contenteditable\"))){var i=Y.SHORTCUTS_MAP[r].cmd;if(i&&0<=s.opts.shortcutsEnabled.indexOf(i)){var a=Y.SHORTCUTS_MAP[r].val;if(!1===s.events.trigger(\"shortcut\",[e,i,a]))return!(l=!0);if(i&&(s.commands[i]||Y.COMMANDS[i]&&Y.COMMANDS[i].callback))return e.preventDefault(),e.stopPropagation(),\"keydown\"===e.type&&((s.commands[i]||Y.COMMANDS[i].callback)(),l=!0),!1}}}return{_init:function t(){s.events.on(\"keydown\",e,!0),s.events.on(\"keyup\",e,!0)},get:function o(e){if(!s.opts.shortcutsHint)return null;if(!r)for(var t in r={},Y.SHORTCUTS_MAP)Object.prototype.hasOwnProperty.call(Y.SHORTCUTS_MAP,t)&&0<=s.opts.shortcutsEnabled.indexOf(Y.SHORTCUTS_MAP[t].cmd)&&(r[\"\".concat(Y.SHORTCUTS_MAP[t].cmd,\".\").concat(Y.SHORTCUTS_MAP[t].val||\"\")]={shift:Y.SHORTCUTS_MAP[t].shift,option:Y.SHORTCUTS_MAP[t].option,letter:Y.SHORTCUTS_MAP[t].letter});var n=r[e];return n?(s.helpers.isMac()?String.fromCharCode(8984):\"\".concat(s.language.translate(\"Ctrl\"),\"+\"))+(n.shift?s.helpers.isMac()?String.fromCharCode(8679):\"\".concat(s.language.translate(\"Shift\"),\"+\"):\"\")+(n.option?s.helpers.isMac()?String.fromCharCode(8997):\"\".concat(s.language.translate(\"Alt\"),\"+\"):\"\")+n.letter:null}}},Y.MODULES.snapshot=function(l){function n(e){for(var t=e.parentNode.childNodes,n=0,r=null,o=0;o<t.length;o++){if(r){var i=t[o].nodeType===Node.TEXT_NODE&&\"\"===t[o].textContent,a=r.nodeType===Node.TEXT_NODE&&t[o].nodeType===Node.TEXT_NODE,s=r.nodeType===Node.TEXT_NODE&&\"\"===r.textContent;i||a||s||n++}if(t[o]===e)return n;r=t[o]}}function o(e){var t=[];if(!e.parentNode)return[];for(;!l.node.isElement(e);)t.push(n(e)),e=e.parentNode;return t.reverse()}function i(e,t){for(;e&&e.nodeType===Node.TEXT_NODE;){var n=e.previousSibling;n&&n.nodeType===Node.TEXT_NODE&&(t+=n.textContent.length),e=n}return t}function c(e){for(var t=l.el,n=0;n<e.length;n++)t=t.childNodes[e[n]];return t}function r(e,t){try{var n=c(t.scLoc),r=t.scOffset,o=c(t.ecLoc),i=t.ecOffset,a=l.doc.createRange();a.setStart(n,r),a.setEnd(o,i),e.addRange(a)}catch(s){}}return{get:function a(){var e,t={};if(l.events.trigger(\"snapshot.before\"),t.html=(l.$wp?l.$el.html():l.$oel.get(0).outerHTML).replace(/ style=\"\"/g,\"\"),t.ranges=[],l.$wp&&l.selection.inEditor()&&l.core.hasFocus())for(var n=l.selection.ranges(),r=0;r<n.length;r++)t.ranges.push({scLoc:o((e=n[r]).startContainer),scOffset:i(e.startContainer,e.startOffset),ecLoc:o(e.endContainer),ecOffset:i(e.endContainer,e.endOffset)});return l.events.trigger(\"snapshot.after\",[t]),t},restore:function s(e){l.$el.html()!==e.html&&(l.opts.htmlExecuteScripts?l.$el.html(e.html):l.el.innerHTML=e.html);var t=l.selection.get();l.selection.clear(),l.events.focus(!0);for(var n=0;n<e.ranges.length;n++)r(t,e.ranges[n])},equal:function d(e,t){return e.html===t.html&&(!l.core.hasFocus()||JSON.stringify(e.ranges)===JSON.stringify(t.ranges))}}},Y.MODULES.undo=function(n){function e(e){var t=e.which;n.keys.ctrlKey(e)&&(t===Y.KEYCODE.Z&&e.shiftKey&&e.preventDefault(),t===Y.KEYCODE.Z&&e.preventDefault())}var t=null;function r(){if(n.undo_stack&&!n.undoing)for(;n.undo_stack.length>n.undo_index;)n.undo_stack.pop()}function o(){n.undo_index=0,n.undo_stack=[]}function i(){n.undo_stack=[]}return{_init:function a(){o(),n.events.on(\"initialized\",function(){t=(n.$wp?n.$el.html():n.$oel.get(0).outerHTML).replace(/ style=\"\"/g,\"\")}),n.events.on(\"blur\",function(){n.el.querySelector(\".fr-dragging\")||n.undo.saveStep()}),n.events.on(\"keydown\",e),n.events.on(\"destroy\",i)},run:function s(){if(1<n.undo_index){n.undoing=!0;var e=n.undo_stack[--n.undo_index-1];clearTimeout(n._content_changed_timer),n.snapshot.restore(e),t=e.html,n.popups.hideAll(),n.toolbar.enable(),n.events.trigger(\"contentChanged\"),n.events.trigger(\"commands.undo\"),n.undoing=!1,n.selection.restore()}},redo:function l(){if(n.undo_index<n.undo_stack.length){n.undoing=!0;var e=n.undo_stack[n.undo_index++];clearTimeout(n._content_changed_timer),n.snapshot.restore(e),t=e.html,n.popups.hideAll(),n.toolbar.enable(),n.events.trigger(\"contentChanged\"),n.events.trigger(\"commands.redo\"),n.undoing=!1}},canDo:function c(){return!(0===n.undo_stack.length||n.undo_index<=1)},canRedo:function d(){return n.undo_index!==n.undo_stack.length},dropRedo:r,reset:o,saveStep:function f(e){if(!(!n.undo_stack||n.undoing||n.el.querySelector(\".fr-marker\")||n.el.querySelector(\".fr-marker\")&&n.opts.iframe&&n.markdown&&!n.markdown.isEnabled()))if(void 0===e){if((e=n.snapshot.get())&&e.html&&n.undo_stack[n.undo_index-1]&&e.html===n.undo_stack[n.undo_index-1].html)return;n.undo_stack[n.undo_index-1]&&n.snapshot.equal(n.undo_stack[n.undo_index-1],e)||(r(),n.undo_stack.push(e),n.undo_index++,function o(e,t){var n=t.split(\"fr-selected-cell\").join(\"\");n=n.split(' class=\"\"').join(\"\");var r=e.split(\"fr-selected-cell\").join(\"\");return n===(r=r.split(' class=\"\"').join(\"\"))}(t,e.html)||(n.events.trigger(\"contentChanged\"),t=e.html))}else r(),0<n.undo_index?n.undo_stack[n.undo_index-1]=e:(n.undo_stack.push(e),n.undo_index++)}}},Object.assign(Y.DEFAULTS,{height:null,heightMax:null,heightMin:null,width:null}),Y.MODULES.size=function(r){function e(){o(),r.opts.height&&r.$el.css(\"minHeight\",r.opts.height-r.helpers.getPX(r.$el.css(\"padding-top\"))-r.helpers.getPX(r.$el.css(\"padding-bottom\")));var e=!1;if(r.opts.fullPage)for(var t=r.$el.find(\"span,p,div\"),n=0;n<t.length;n++)if(t[n].style.height&&t[n].style.height.includes(\"vh\")){e=!0;break}r.opts.fullPage&&e&&(r.opts.heightMin&&r.$iframe.css(\"minHeight\",r.opts.heightMin),r.opts.heightMax&&r.$iframe.css(\"maxHeight\",r.opts.heightMax),r.$el.css(\"overflow-y\",\"auto\")),r.opts.iframe&&r.markdown&&r.markdown.isEnabled()?r.$iframe.height(r.$wp.parent().outerHeight(!0)):r.$iframe.height(r.$el.outerHeight(!0))}function o(){r.opts.heightMin?r.$el.css(\"minHeight\",r.opts.heightMin):r.$el.css(\"minHeight\",\"\"),r.opts.heightMax?(r.$wp.css(\"maxHeight\",r.opts.heightMax),r.$wp.css(\"overflow\",\"auto\")):(r.$wp.css(\"maxHeight\",\"\"),r.$wp.css(\"overflow\",\"\")),r.opts.height?(r.$wp.css(\"height\",r.opts.height),r.$wp.css(\"overflow\",\"auto\"),r.$el.css(\"minHeight\",r.opts.height-r.helpers.getPX(r.$el.css(\"padding-top\"))-r.helpers.getPX(r.$el.css(\"padding-bottom\")))):(r.$wp.css(\"height\",\"\"),r.opts.heightMin||r.$el.css(\"minHeight\",\"\"),r.opts.heightMax||r.$wp.css(\"overflow\",\"\")),r.opts.width&&r.$box.width(r.opts.width)}return{_init:function t(){if(!r.$wp)return!1;o(),r.$iframe&&(r.events.on(\"keyup keydown\",function(){setTimeout(e,0)},!0),r.events.on(\"commands.after html.set init initialized paste.after\",e))},syncIframe:e,refresh:o}},Object.assign(Y.DEFAULTS,{documentReady:!1,editorClass:null,typingTimer:500,iframe:!1,requestWithCORS:!0,requestWithCredentials:!1,requestHeaders:{},useClasses:!0,spellcheck:!0,iframeDefaultStyle:'html{margin:0px;height:auto;}body{height:auto;padding:20px;background:transparent;color:#000000;position:relative;z-index: 2;-webkit-user-select:auto;margin:0px;overflow:hidden;min-height:20px;}body:after{content:\"\";display:block;clear:both;}body::-moz-selection{background:#b5d6fd;color:#000;}body::selection{background:#b5d6fd;color:#000;}',iframeStyle:\"\",iframeStyleFiles:[],direction:\"auto\",zIndex:1,tabIndex:null,disableRightClick:!1,scrollableContainer:\"body\",keepFormatOnDelete:!1,theme:null}),Y.MODULES.core=function(l){var c=l.$;function n(){if(l.$box.addClass(\"fr-box\".concat(l.opts.editorClass?\" \".concat(l.opts.editorClass):\"\")),l.$box.attr(\"role\",\"application\"),l.$wp.addClass(\"fr-wrapper\"),l.opts.documentReady&&l.$box.addClass(\"fr-document\"),function a(){l.opts.iframe||l.$el.addClass(\"fr-element fr-view\"),(l.opts.height&&l.opts.height<window.innerHeight||l.opts.heightMax&&l.opts.heightMax<window.innerHeight)&&l.$el.addClass(\"fr-element-scroll-visible\")}(),l.opts.iframe){l.$iframe.addClass(\"fr-iframe\"),l.$el.addClass(\"fr-view\");for(var e=0;e<l.o_doc.styleSheets.length;e++){var t=void 0,n=!1;try{t=l.o_doc.styleSheets[e].cssRules}catch(s){}if(l.o_doc.styleSheets[e].href&&(-1<l.o_doc.styleSheets[e].href.indexOf(\"codemirror\")||-1<l.o_doc.styleSheets[e].href.indexOf(\"font-awesome\"))&&(n=!(t=null)),t)for(var r=0,o=t.length;r<o;r++)if(!t[r].selectorText||0!==t[r].selectorText.indexOf(\".fr-view\")&&0!==t[r].selectorText.indexOf(\".fr-element\")&&0!==t[r].selectorText.indexOf(\".fr-box.fr-basic .fr-element\")&&0!==t[r].selectorText.indexOf(\".fr-markdown-view\")&&0!==t[r].selectorText.indexOf(\".fr-markdown-editor\")&&0!==t[r].selectorText.indexOf(\".fr-wrapper-markdown\")&&0!==t[r].selectorText.indexOf(\".gutter-horizontal\")&&0!==t[r].selectorText.indexOf(\".e-resize-handler\")&&0!==t[r].selectorText.indexOf(\".fr-find-replace-highlight\")&&0!==t[r].selectorText.indexOf(\".fr-find-replace-current-highlight\"))try{n&&l.o_doc.styleSheets[e].href&&t[r].selectorText&&(l.opts.iframeStyle+=\"\".concat(t[r].selectorText,\"{\").concat(t[r].style.cssText,\"}\"),n=!1)}catch(s){}else 0<t[r].style.cssText.length&&(0===t[r].selectorText.indexOf(\".fr-box.fr-basic .fr-element\")&&(l.opts.iframeStyle+=\"\".concat(t[r].selectorText,\"{\").concat(t[r].style.cssText,\"}\")),0===t[r].selectorText.indexOf(\".fr-view\")?l.opts.iframeStyle+=\"\".concat(t[r].selectorText.replace(/\\.fr-view/g,\"body\"),\"{\").concat(t[r].style.cssText,\"}\"):l.opts.iframeStyle+=\"\".concat(t[r].selectorText.replace(/\\.fr-element/g,\"body\"),\"{\").concat(t[r].style.cssText,\"}\"));else if(l.o_doc.styleSheets[e].href&&(-1<l.o_doc.styleSheets[e].href.indexOf(\"codemirror\")||-1<l.o_doc.styleSheets[e].href.indexOf(\"font-awesome\")||-1<l.o_doc.styleSheets[e].href.indexOf(\"froala-editor\"))){var i=c(\"<link rel='stylesheet' type='text/css' href='\".concat(l.o_doc.styleSheets[e].href,\"'>\"));l.$head.append(i)}}}\"auto\"!==l.opts.direction&&l.$box.removeClass(\"fr-ltr fr-rtl\").addClass(\"fr-\".concat(l.opts.direction)),l.$el.attr(\"dir\",l.opts.direction),l.$wp.attr(\"dir\",l.opts.direction),1<l.opts.zIndex&&l.$box.css(\"z-index\",l.opts.zIndex),l.opts.theme&&l.$box.addClass(\"\".concat(l.opts.theme,\"-theme\")),l.opts.tabIndex=l.opts.tabIndex||l.$oel.attr(\"tabIndex\"),l.opts.tabIndex&&l.$el.attr(\"tabIndex\",l.opts.tabIndex)}return{_init:function r(){if(Y.INSTANCES.push(l),function e(){l.drag_support={filereader:\"undefined\"!=typeof FileReader,formdata:Boolean(l.win.FormData),progress:\"upload\"in new XMLHttpRequest}}(),l.$wp){n(),l.html.set(l._original_html),l.$el.attr(\"spellcheck\",l.opts.spellcheck),l.helpers.isMobile()&&(l.$el.attr(\"autocomplete\",l.opts.spellcheck?\"on\":\"off\"),l.$el.attr(\"autocorrect\",l.opts.spellcheck?\"on\":\"off\"),l.$el.attr(\"autocapitalize\",l.opts.spellcheck?\"on\":\"off\")),l.opts.disableRightClick&&l.events.$on(l.$el,\"contextmenu\",function(e){if(2===e.button)return e.preventDefault(),e.stopPropagation(),!1});try{l.doc.execCommand(\"styleWithCSS\",!1,!1)}catch(t){}}\"TEXTAREA\"===l.$oel.get(0).tagName&&(l.events.on(\"contentChanged\",function(){l.$oel.val(l.html.get())}),l.events.on(\"form.submit\",function(){l.$oel.val(l.html.get())}),l.events.on(\"form.reset\",function(){l.html.set(l._original_html)}),l.$oel.val(l.html.get())),l.helpers.isIOS()&&l.events.$on(l.$doc,\"selectionchange\",function(){l.$doc.get(0).hasFocus()||l.$win.get(0).focus()}),l.events.trigger(\"init\"),l.opts.autofocus&&!l.opts.initOnClick&&l.$wp&&l.events.on(\"initialized\",function(){l.events.focus(!0)})},destroy:function t(e){\"TEXTAREA\"===l.$oel.get(0).tagName&&l.$oel.val(e),l.$box&&l.$box.removeAttr(\"role\"),l.$wp&&(\"TEXTAREA\"===l.$oel.get(0).tagName?(l.$el.html(\"\"),l.$wp.html(\"\"),l.$box.replaceWith(l.$oel),l.$oel.show()):(l.$wp.replaceWith(e),l.$el.html(\"\"),l.$box.removeClass(\"fr-view fr-ltr fr-box \".concat(l.opts.editorClass||\"\")),l.opts.theme&&l.$box.addClass(\"\".concat(l.opts.theme,\"-theme\")))),this.$wp=null,this.$el=null,this.el=null,this.$box=null},isEmpty:function e(){return l.node.isEmpty(l.el)},getXHR:function o(e,t){var n=new XMLHttpRequest;for(var r in n.open(t,e,!0),l.opts.requestWithCredentials&&(n.withCredentials=!0),l.opts.requestHeaders)Object.prototype.hasOwnProperty.call(l.opts.requestHeaders,r)&&n.setRequestHeader(r,l.opts.requestHeaders[r]);return n},injectStyle:function i(e){if(l.opts.iframe){l.$head.find(\"style[data-fr-style], link[data-fr-style]\").remove(),l.$head.append('<style data-fr-style=\"true\">'.concat(e,\"</style>\"));for(var t=0;t<l.opts.iframeStyleFiles.length;t++){var n=c('<link data-fr-style=\"true\" rel=\"stylesheet\" href=\"'.concat(l.opts.iframeStyleFiles[t],'\">'));n.get(0).addEventListener(\"load\",l.size.syncIframe),l.$head.append(n)}}},hasFocus:function a(){return l.browser.mozilla&&l.helpers.isMobile()?l.selection.inEditor():l.node.hasFocus(l.el)||0<l.$el.find(\"*:focus\").length},sameInstance:function s(e){if(!e)return!1;var t=e.data(\"instance\");return!!t&&t.id===l.id}}},Y.POPUP_TEMPLATES={\"text.edit\":\"[_EDIT_]\"},Y.RegisterTemplate=function(e,t){Y.POPUP_TEMPLATES[e]=t},Y.MODULES.popups=function(u){var r,d=u.$;u.shared.popups||(u.shared.popups={});var h,g=u.shared.popups;function C(e,t){t.isVisible()||(t=u.$sc),t.is(g[e].data(\"container\"))||(g[e].data(\"container\",t),t.append(g[e]))}function o(e){var t;e.find(\".fr-upload-progress\").addClass(\"fr-height-set\"),e.find(\".fr-upload-progress\").removeClass(\"fr-height-auto\"),u.popups.get(\"filesManager.insert\").removeClass(\"fr-height-auto\"),e.find(\".fr-files-upload-layer\").hasClass(\"fr-active\")&&(t=1),e.find(\".fr-files-by-url-layer\").hasClass(\"fr-active\")&&(t=2),e.find(\".fr-files-embed-layer\").hasClass(\"fr-active\")&&(t=3),e.find(\".fr-upload-progress-layer\").get(0).clientHeight+10<e.find(\".fr-upload-progress\").get(0).clientHeight&&e.find(\".fr-upload-progress\").addClass(\"fr-height-auto\"),400<e[0].clientHeight&&(e[0].childNodes[4].style.height=\"\".concat(e[0].clientHeight-(e[0].childNodes[0].clientHeight+e[0].childNodes[t].clientHeight)-80,\"px\"))}var i=2e3;function a(){d(this).toggleClass(\"fr-not-empty\",!0)}function s(){var e=d(this);e.toggleClass(\"fr-not-empty\",\"\"!==e.val())}function m(e){return g[e]&&u.node.hasClass(g[e],\"fr-active\")&&u.core.sameInstance(g[e])||!1}function v(e){for(var t in g)if(Object.prototype.hasOwnProperty.call(g,t)&&m(t)&&(void 0===e||g[t].data(\"instance\")===e))return g[t];return!1}function n(e){var t=null;if((t=\"string\"!=typeof e?e:g[e])&&u.node.hasClass(t,\"fr-do-not-hide\")||\"filesManager.insert\"===e&&u.filesManager&&u.filesManager.isChildWindowOpen())return!1;if(t&&u.node.hasClass(t,\"fr-active\")&&(t.removeClass(\"fr-active fr-above\"),u.events.trigger(\"popups.hide.\".concat(e)),u.$tb&&(1<u.opts.zIndex?u.$tb.css(\"zIndex\",u.opts.zIndex+1):u.$tb.css(\"zIndex\",\"\")),u.events.disableBlur(),t.find(\"input, textarea, button\").each(function(){this===this.ownerDocument.activeElement&&this.blur()}),t.find(\"input, textarea\").attr(\"disabled\",\"disabled\"),h))for(var n=0;n<h.length;n++)d(h[n]).removeClass(\"fr-btn-active-popup\")}function b(e){for(var t in void 0===e&&(e=[]),g)Object.prototype.hasOwnProperty.call(g,t)&&e.indexOf(t)<0&&n(t)}function t(){u.shared.exit_flag=!0}function E(){u.shared.exit_flag=!1}function l(){return u.shared.exit_flag}function c(e,t){var n,r=function c(e,t){var n=Y.POPUP_TEMPLATES[e];if(!n)return null;for(var r in\"function\"==typeof n&&(n=n.apply(u)),t)Object.prototype.hasOwnProperty.call(t,r)&&(n=n.replace(\"[_\".concat(r.toUpperCase(),\"_]\"),t[r]));return n}(e,t),o=d(u.doc.createElement(\"DIV\"));if(!r)return\"filesManager.insert\"===e?o.addClass(\"fr-popup fr-files-manager fr-empty\"):o.addClass(\"fr-popup fr-empty\"),(n=d(\"body\").first()).append(o),o.data(\"container\",n),g[e]=o;\"filesManager.insert\"===e?o.addClass(\"fr-popup fr-files-manager\".concat(u.helpers.isMobile()?\" fr-mobile\":\" fr-desktop\").concat(u.opts.toolbarInline?\" fr-inline\":\"\")):o.addClass(\"fr-popup\".concat(u.helpers.isMobile()?\" fr-mobile\":\" fr-desktop\").concat(u.opts.toolbarInline?\" fr-inline\":\"\")),o.html(r),u.opts.theme&&o.addClass(\"\".concat(u.opts.theme,\"-theme\")),1<u.opts.zIndex&&(!u.opts.editInPopup&&u.$tb?u.$tb.css(\"z-index\",u.opts.zIndex+2):o.css(\"z-index\",u.opts.zIndex+2)),\"auto\"!==u.opts.direction&&o.removeClass(\"fr-ltr fr-rtl\").addClass(\"fr-\".concat(u.opts.direction)),o.find(\"input, textarea\").attr(\"dir\",u.opts.direction).attr(\"disabled\",\"disabled\"),(n=d(\"body\").first()).append(o),o.data(\"container\",n);var i=(g[e]=o).find(\".fr-color-hex-layer\");if(0<i.length){var a=u.helpers.getPX(o.find(\".fr-color-set > span\").css(\"width\")),s=u.helpers.getPX(i.css(\"paddingLeft\")),l=u.helpers.getPX(i.css(\"paddingRight\"));i.css(\"width\",a*u.opts.colorsStep+s+l)}return u.button.bindCommands(o,!1),o}function L(a){var s=g[a];return{_windowResize:function(){var e=s.data(\"instance\")||u;if(!e.helpers.isMobile()&&s.isVisible()){var t=s.find(\".fr-file-progress-bar-layer\");if(\"file.insert\"===a&&0<t.length&&t.hasClass(\"fr-active\")){var n=u.$tb.find('.fr-command[data-cmd=\"insertFile\"]');e.events.disableBlur();var r=u.button.getPosition(n),o=r.left,i=r.top;u.position.at(o,i,g[a],0),e.events.enableBlur()}else e.events.disableBlur(),e.popups.hide(a),e.events.enableBlur()}},_inputFocus:function(e){var t=s.data(\"instance\")||u,n=d(e.currentTarget);if(n.is(\"input:file\")&&n.closest(\".fr-layer\").addClass(\"fr-input-focus\"),e.preventDefault(),e.stopPropagation(),setTimeout(function(){t.events.enableBlur()},100),t.helpers.isMobile()){var r=d(t.o_win).scrollTop();setTimeout(function(){d(t.o_win).scrollTop(r)},0)}},_inputBlur:function(e){var t=s.data(\"instance\")||u,n=d(e.currentTarget);n.is(\"input:file\")&&n.closest(\".fr-layer\").removeClass(\"fr-input-focus\"),document.activeElement!==this&&d(this).isVisible()&&(t.events.blurActive()&&t.events.trigger(\"blur\"),t.events.enableBlur())},_editorKeydown:function(e){var t=s.data(\"instance\")||u;t.keys.ctrlKey(e)||e.which===Y.KEYCODE.ALT||e.which===Y.KEYCODE.ESC||(m(a)&&s.findVisible(\".fr-back\").length?t.button.exec(s.findVisible(\".fr-back\").first()):e.which!==Y.KEYCODE.ALT&&t.popups.hide(a))},_preventFocus:function(e){var t=s.data(\"instance\")||u,n=e.originalEvent?e.originalEvent.target||e.originalEvent.originalTarget:null;\"mouseup\"===e.type||d(n).is(\":focus\")||t.events.disableBlur(),\"mouseup\"!==e.type||d(n).hasClass(\"fr-command\")||0<d(n).parents(\".fr-command\").length||d(n).hasClass(\"fr-dropdown-content\")||d(n).hasClass(\"fr-dropdown-menu\")||u.button.hideActiveDropdowns(s),(u.browser.safari||u.browser.mozilla)&&\"mousedown\"===e.type&&d(n).is(\"input[type=file]\")&&t.events.disableBlur();var r=\"input, textarea, button, select, label, .fr-command\";if(n&&!d(n).is(r)&&0===d(n).parents(r).length)return e.stopPropagation(),!1;n&&d(n).is(r)&&e.stopPropagation(),E()},_editorMouseup:function(){s.isVisible()&&l()&&0<s.findVisible(\"input:focus, textarea:focus, button:focus, select:focus\").length&&u.events.disableBlur()},_windowMouseup:function(e){if(!u.core.sameInstance(s))return!0;var t=s.data(\"instance\")||u;s.isVisible()&&l()&&(e.stopPropagation(),t.markers.remove(),t.popups.hide(a),E())},_windowKeydown:function(e){if(!u.core.sameInstance(s))return!0;var t=s.data(\"instance\")||u,n=e.which;if(Y.KEYCODE.ESC===n){if(t.popups.isVisible(a)&&t.opts.toolbarInline)return e.stopPropagation(),t.popups.isVisible(a)&&(s.findVisible(\".fr-back\").length?(t.button.exec(s.findVisible(\".fr-back\").first()),t.accessibility.focusPopupButton(s)):s.findVisible(\".fr-dismiss\").length?t.button.exec(s.findVisible(\".fr-dismiss\").first()):(t.popups.hide(a),t.toolbar.showInline(null,!0),t.accessibility.focusPopupButton(s))),!1;if(t.popups.isVisible(a))return s.findVisible(\".fr-back\").length?(t.button.exec(s.findVisible(\".fr-back\").first),t.accessibility.focusPopupButton(s)):s.findVisible(\".fr-dismiss\").length?t.button.exec(s.findVisible(\".fr-dismiss\").first()):(t.popups.hide(a),t.accessibility.focusPopupButton(s)),!1}},_repositionPopup:function(){if(!u.opts.height&&!u.opts.heightMax||u.opts.toolbarInline)return!0;if(u.$wp&&m(a)&&s.parent().get(0)===u.$sc.get(0)){var e=s.offset().top-u.$wp.offset().top,t=u.$wp.outerHeight();u.node.hasClass(s.get(0),\"fr-above\")&&(e+=s.outerHeight()),t<e||e<0?s.addClass(\"fr-hidden\"):s.removeClass(\"fr-hidden\")}},handleWindowClick:function(e){if(!u.core.sameInstance(s))return!0;var t=s.data(\"instance\")||u;s.isVisible()&&e.target&&(0<d(e.target).find(\"body\").length||\"BODY\"===d(e.target)[0].tagName)&&(e.stopPropagation(),t.popups.hide(a))}}}function f(e,t){u.events.on(\"mouseup\",e._editorMouseup,!0),u.$wp&&u.events.on(\"keydown\",e._editorKeydown),u.events.on(\"focus\",function(){g[t].removeClass(\"focused\")}),u.events.on(\"blur\",function(){v()&&u.markers.remove(),u.helpers.isMobile()?g[t].hasClass(\"focused\")?(b(),g[t].removeClass(\"focused\")):g[t].addClass(\"focused\"):g[t].find(\"iframe\").length||b()}),u.$wp&&!u.helpers.isMobile()&&u.events.$on(u.$wp,\"scroll.popup\".concat(t),e._repositionPopup),u.events.on(\"window.mouseup\",e._windowMouseup,!0),u.events.on(\"window.keydown\",e._windowKeydown,!0),u.opts.iframe&&window.addEventListener(\"click\",e.handleWindowClick),g[t].data(\"inst\".concat(u.id),!0),u.events.on(\"destroy\",function(){u.core.sameInstance(g[t])&&(d(\"body\").first().append(g[t]),g[t].removeClass(\"fr-active\"))},!0)}function p(){var e=d(this).prev().children().first();e.attr(\"checked\",!e.attr(\"checked\"))}function e(){for(var e in g)if(Object.prototype.hasOwnProperty.call(g,e)){var t=g[e];t&&(t.html(\"\").removeData().remove(),g[e]=null)}g=[]}return u.shared.exit_flag=!1,{_init:function y(){r=window.innerHeight,u.events.on(\"shared.destroy\",e,!0),u.events.on(\"window.mousedown\",t),u.events.on(\"window.touchmove\",E),u.events.$on(d(u.o_win),\"scroll\",E),u.events.on(\"mousedown\",function(e){v()&&(e.stopPropagation(),u.$el.find(\".fr-marker\").remove(),t(),u.events.disableBlur())})},create:function N(e,t){var n=c(e,t),r=L(e);f(r,e),u.events.$on(n,\"mousedown mouseup touchstart touchend touch\",\"*\",r._preventFocus,!0),u.events.$on(n,\"focus\",\"input, textarea, button, select\",r._inputFocus,!0),u.events.$on(n,\"blur\",\"input, textarea, button, select\",r._inputBlur,!0);var o=n.find(\"input, textarea\");return function i(e){for(var t=0;t<e.length;t++){var n=e[t],r=d(n);0===r.next().length&&r.attr(\"placeholder\")&&(r.after('<label for=\"'.concat(r.attr(\"id\"),'\">').concat(r.attr(\"placeholder\"),\"</label>\")),r.attr(\"placeholder\",\"\"))}}(o),u.events.$on(o,\"focus\",a),u.events.$on(o,\"blur change\",s),u.events.$on(n,\"click\",\".fr-checkbox + label\",p),u.accessibility.registerPopup(e),u.helpers.isIOS()&&u.events.$on(n,\"touchend\",\"label\",function(){d(\"#\".concat(d(this).attr(\"for\"))).prop(\"checked\",function(e,t){return!t})},!0),u.events.$on(d(u.o_win),\"resize\",r._windowResize,!0),\"filesManager.insert\"===e&&g[\"filesManager.insert\"].css(\"zIndex\",2147483641),n},get:function S(e){var t=g[e];return t&&!t.data(\"inst\".concat(u.id))&&f(L(e),e),t},show:function T(e,t,n,r,o){if(m(e)||(v()&&0<u.$el.find(\".fr-marker\").length?(u.events.disableBlur(),u.selection.restore()):v()||(u.events.disableBlur(),u.events.focus(),u.events.enableBlur())),b([e]),!g[e])return!1;var i=u.button.getButtons(\".fr-dropdown.fr-active\");i.removeClass(\"fr-active\").attr(\"aria-expanded\",!1).parents(\".fr-toolbar\").css(\"zIndex\",\"\").find(\"> .fr-dropdown-wrapper\").css(\"height\",\"\"),i.next().attr(\"aria-hidden\",!0).css(\"overflow\",\"\").find(\"> .fr-dropdown-wrapper\").css(\"height\",\"\"),g[e].data(\"instance\",u),u.$tb&&u.$tb.data(\"instance\",u);var a=m(e);g[e].addClass(\"fr-active\").removeClass(\"fr-hidden\").find(\"input, textarea\").removeAttr(\"disabled\");var s=g[e].data(\"container\");if(function p(e,t){t.isVisible()||(t=u.$sc),t.contains([g[e].get(0)])||t.append(g[e])}(e,s),u.opts.toolbarInline&&s&&u.$tb&&s.get(0)===u.$tb.get(0)&&(C(e,u.$sc),n=u.$tb.offset().top-u.helpers.getPX(u.$tb.css(\"margin-top\")),t=u.$tb.offset().left+u.$tb.outerWidth()/2,u.node.hasClass(u.$tb.get(0),\"fr-above\")&&n&&(n+=u.$tb.outerHeight()),r=0),s=g[e].data(\"container\"),u.opts.iframe&&!r&&!a){var l=u.helpers.getPX(u.$wp.find(\".fr-iframe\").css(\"padding-top\")),c=u.helpers.getPX(u.$wp.find(\".fr-iframe\").css(\"padding-left\"));t&&(t-=u.$iframe.offset().left+c),n&&(n-=u.$iframe.offset().top+l)}s.is(u.$tb)?u.$tb.css(\"zIndex\",(u.opts.zIndex||1)+4):g[e].css(\"zIndex\",(u.opts.zIndex||1)+3),u.opts.toolbarBottom&&s&&u.$tb&&s.get(0)===u.$tb.get(0)&&(g[e].addClass(\"fr-above\"),n&&(n-=g[e].outerHeight())),o&&(t-=g[e].width()/2),t+g[e].outerWidth()>u.$sc.offset().left+u.$sc.width()&&(t-=t+g[e].outerWidth()-u.$sc.offset().left-u.$sc.width()),t<u.$sc.offset().left&&\"rtl\"===u.opts.direction&&(t=u.$sc.offset().left),g[e].removeClass(\"fr-active\"),u.position.at(t,n,g[e],r||0);var d=u.node.blockParent(u.selection.blocks()[0]);if(d&&\"false\"===d.getAttribute(\"contenteditable\"))g[e].removeClass(\"fr-active\");else{var f=u.selection.element().parentElement.getAttribute(\"contenteditable\");f&&\"false\"===f?g[e].removeClass(\"fr-active\"):g[e].addClass(\"fr-active\")}a||u.accessibility.focusPopup(g[e]),u.opts.toolbarInline&&u.toolbar.hide(),u.$tb&&(h=u.$tb.find(\".fr-btn-active-popup\")),u.events.trigger(\"popups.show.\".concat(e)),L(e)._repositionPopup(),E()},hide:n,onHide:function M(e,t){u.events.on(\"popups.hide.\".concat(e),t)},hideAll:b,setContainer:C,refresh:function A(e){g[e].data(\"instance\",u),u.events.trigger(\"popups.refresh.\".concat(e));for(var t=g[e].find(\".fr-command\"),n=0;n<t.length;n++){var r=d(t[n]);0===r.parents(\".fr-dropdown-menu\").length&&u.button.refresh(r)}},onRefresh:function x(e,t){u.events.on(\"popups.refresh.\".concat(e),t)},onShow:function O(e,t){u.events.on(\"popups.show.\".concat(e),t)},isVisible:m,setFileListHeight:o,areVisible:v,setPopupDimensions:function w(e,t){t&&e.find(\".fr-upload-progress-layer\").get(0).clientHeight<i&&(e.find(\".fr-upload-progress\").addClass(\"fr-height-auto\"),u.popups.get(\"filesManager.insert\").addClass(\"fr-height-auto\"),e.find(\".fr-upload-progress\").removeClass(\"fr-height-set\"),i=2e3),e.get(0).clientHeight>window.innerHeight/2&&(window.innerWidth<500?e.get(0).clientHeight>.6*r&&o(e):400<e.get(0).clientHeight&&o(e),i=e.find(\".fr-upload-progress-layer\").get(0).clientHeight);var n=window.innerWidth;switch(!0){case n<=320:e.width(200);break;case n<=420:e.width(250);break;case n<=520:e.width(300);break;case n<=720:e.width(400);break;case 720<n:e.width(530)}}}},Y.MODULES.accessibility=function(p){var l,u=p.$,i=!0;function c(t){for(var e=p.$el.find('[contenteditable=\"true\"]'),n=!1,r=0;e.get(r);)u(e.get(r)).is(\":focus\")&&(n=!0),r++;if(t&&t.length&&!n){t.data(\"blur-event-set\")||t.parents(\".fr-popup\").length||(p.events.$on(t,\"blur\",function(){var e=t.parents(\".fr-toolbar, .fr-popup\").data(\"instance\")||p;e.events.blurActive()&&!p.core.hasFocus()&&e.events.trigger(\"blur\"),setTimeout(function(){e.events.enableBlur()},100)},!0),t.data(\"blur-event-set\",!0));var o=t.parents(\".fr-toolbar, .fr-popup\").data(\"instance\")||p;if(p.browser.safari&&(!l||null==p.shared.safariSelection)){var i=p.selection.get();i&&0<i.rangeCount?p.shared.safariSelection=i.getRangeAt(0).cloneRange():p.shared.safariSelection=null}o.events.disableBlur(),t.get(0).focus(),p.shared.$f_el=t}}function h(e,t){var n=t?\"last\":\"first\",r=s(C(e))[n]();if(r.length)return c(r),!0}function a(e){return e.is(\"input, textarea, select\")&&t(),p.events.disableBlur(),e.get(0).focus(),!0}function g(e,t){var n=e.find(\"input, textarea, button, select, span\").filter(function(){return u(this).isVisible()}).not(\":disabled\"),r=n.first();if((n=r.parents(\".fr-color-set\").get(0)&&r.parents(\".fr-popup\").get(0)?n.filter(\"input\"):t?n.last():n.first()).length)return a(n);if(p.shared.with_kb){var o=e.findVisible(\".fr-active-item\").first();if(o.length)return a(o);var i=e.findVisible(\"[tabIndex]\").first();if(i.length)return a(i)}}function t(){0===p.$el.find(\".fr-marker\").length&&p.core.hasFocus()&&p.selection.save()}function d(){var e=p.popups.areVisible();if(e){var t=e.find(\".fr-buttons\");return t.find(\"button:focus, .fr-group span:focus\").length?!h(e.data(\"instance\").$tb):!h(t)}return!h(p.$tb)}function f(){var e=null;return p.shared.$f_el.is(\".fr-dropdown.fr-active\")?e=p.shared.$f_el:p.shared.$f_el.closest(\".fr-dropdown-menu\").prev().is(\".fr-dropdown.fr-active\")&&(e=p.shared.$f_el.closest(\".fr-dropdown-menu\").prev()),e}function s(e){for(var t=-1,n=0;n<e.length;n++)u(e[n]).hasClass(\"fr-open\")&&(t=n);var r=e.index(p.$tb.find(\".fr-more-toolbar.fr-expanded > button.fr-command\").first());if(0<r&&-1!==t){var o=e.slice(r,e.length),i=(e=e.slice(0,r)).slice(0,t+1),a=e.slice(t+1,e.length);e=i;for(var s=0;s<o.length;s++)e.push(o[s]);for(var l=0;l<a.length;l++)e.push(a[l])}return e}function C(e){return e.findVisible(\"button:not(.fr-disabled), .fr-group span.fr-command\").filter(function(e){var t=u(e).parents(\".fr-more-toolbar\");return 0===t.length||0<t.length&&t.hasClass(\"fr-expanded\")})}function n(e,t,n){if(p.shared.$f_el){var r=f();r&&(p.button.click(r),p.shared.$f_el=r);var o=s(C(e)),i=o.index(p.shared.$f_el);if(0===i&&!n||i===o.length-1&&n){var a;if(t){if(e.parent().is(\".fr-popup\"))a=!g(e.parent().children().not(\".fr-buttons\"),!n);!1===a&&(p.shared.$f_el=null)}t&&!1===a||h(e,!n)}else c(u(o.get(i+(n?1:-1))));return!1}}function m(e,t){return n(e,t,!0)}function v(e,t){return n(e,t)}function b(e){if(p.shared.$f_el){var t;if(p.shared.$f_el.is(\".fr-dropdown.fr-active\"))return c(t=e?p.shared.$f_el.next().find(\".fr-command:not(.fr-disabled)\").first():p.shared.$f_el.next().find(\".fr-command:not(.fr-disabled)\").last()),!1;if(p.shared.$f_el.is(\"a.fr-command\"))return(t=e?p.shared.$f_el.closest(\"li\").nextAllVisible().first().find(\".fr-command:not(.fr-disabled)\").first():p.shared.$f_el.closest(\"li\").prevAllVisible().first().find(\".fr-command:not(.fr-disabled)\").first()).length||(t=e?p.shared.$f_el.closest(\".fr-dropdown-menu\").find(\".fr-command:not(.fr-disabled)\").first():p.shared.$f_el.closest(\".fr-dropdown-menu\").find(\".fr-command:not(.fr-disabled)\").last()),c(t),!1}}function E(){if(p.shared.$f_el){if(p.shared.$f_el.hasClass(\"fr-dropdown\"))p.button.click(p.shared.$f_el);else if(p.shared.$f_el.is(\"button.fr-back\")){p.opts.toolbarInline&&(p.events.disableBlur(),p.events.focus());var e=p.popups.areVisible(p);e&&(p.shared.with_kb=!1),p.button.click(p.shared.$f_el),y(e)}else{if(p.events.disableBlur(),p.button.click(p.shared.$f_el),p.shared.$f_el.attr(\"data-group-name\")){var t=p.$tb.find('.fr-more-toolbar[data-name=\"'.concat(p.shared.$f_el.attr(\"data-group-name\"),'\"]')),n=p.shared.$f_el;t.hasClass(\"fr-expanded\")&&(n=t.findVisible(\"button:not(.fr-disabled)\").first()),n&&c(n)}else if(p.shared.$f_el.attr(\"data-popup\")){var r=p.popups.areVisible(p);r&&r.data(\"popup-button\",p.shared.$f_el)}else if(p.shared.$f_el.attr(\"data-modal\")){var o=p.modals.areVisible(p);o&&o.data(\"modal-button\",p.shared.$f_el)}p.shared.$f_el=null}return!1}}function L(){if(p.shared.$f_el&&(p.events.disableBlur(),p.shared.$f_el.blur(),p.shared.$f_el=null),!1!==p.events.trigger(\"toolbar.focusEditor\")&&(p.events.disableBlur(),p.$el.get(0).focus(),p.events.focus(),p.browser.safari&&p.shared.safariSelection)){var e=p.shared.safariSelection,t=e.startContainer,n=e.endContainer,r=e.startOffset,o=e.endOffset,i=p.doc.createRange();i.setStart(t,r),i.setEnd(n,o),p.selection.get().removeAllRanges(),p.selection.get().addRange(i),p.shared.safariSelection=null}}function o(r){r&&r.length&&(p.events.$on(r,\"keydown\",function(e){if(!u(e.target).is(\"a.fr-command, button.fr-command, .fr-group span.fr-command\"))return!0;var t=r.parents(\".fr-popup\").data(\"instance\")||r.data(\"instance\")||p;p.shared.with_kb=!0;var n=t.accessibility.exec(e,r);return p.shared.with_kb=!1,n},!0),p.events.$on(r,\"mouseenter\",\"[tabIndex]\",function(e){var t=r.parents(\".fr-popup\").data(\"instance\")||r.data(\"instance\")||p;if(!i)return e.stopPropagation(),void e.preventDefault();var n=u(e.currentTarget);t.shared.$f_el&&t.shared.$f_el.not(n)&&t.accessibility.focusEditor()},!0),p.$tb&&p.events.$on(p.$tb,\"transitionend\",\".fr-more-toolbar\",function(){p.shared.$f_el=u(document.activeElement)}))}function y(e){var t=e.data(\"popup-button\");t&&setTimeout(function(){c(t),e.data(\"popup-button\",null)},0)}function N(e){var t=p.popups.areVisible(e);t&&t.data(\"popup-button\",null)}function e(e){var t=-1!==navigator.userAgent.indexOf(\"Mac OS X\")?e.metaKey:e.ctrlKey;if(e.which!==Y.KEYCODE.F10||t||e.shiftKey||!e.altKey)return!0;p.shared.with_kb=!0;var n=p.popups.areVisible(p),r=!1;return n&&(r=g(n.children().not(\".fr-buttons\"))),r||d(),p.shared.with_kb=!1,e.preventDefault(),e.stopPropagation(),!1}return{_init:function r(){p.$wp?p.events.on(\"keydown\",e,!0):p.events.$on(p.$win,\"keydown\",e,!0),p.events.on(\"mousedown\",function(e){N(p),p.shared.$f_el&&p.el.isSameNode(p.shared.$f_el[0])&&(p.accessibility.restoreSelection(),e.stopPropagation(),p.events.disableBlur(),p.shared.$f_el=null)},!0),p.events.on(\"blur\",function(){p.shared.$f_el=null,N(p)},!0)},registerPopup:function S(e){var t=p.popups.get(e),n=function r(d){var f=p.popups.get(d);return{_tiKeydown:function(e){var t=f.data(\"instance\")||p;if(!1===t.events.trigger(\"popup.tab\",[e]))return!1;var n=e.which,r=f.find(\":focus\").first();if(Y.KEYCODE.TAB===n){e.preventDefault();var o=f.children().not(\".fr-buttons\"),i=o.findVisible(\"input, textarea, button, select\").not(\".fr-no-touch input, .fr-no-touch textarea, .fr-no-touch button, .fr-no-touch select, :disabled\").toArray(),a=i.indexOf(this)+(e.shiftKey?-1:1);if(0<=a&&a<i.length)return t.events.disableBlur(),u(i[a]).focus(),e.stopPropagation(),!1;var s=f.find(\".fr-buttons\");if(s.length&&h(s,Boolean(e.shiftKey)))return e.stopPropagation(),!1;if(g(o))return e.stopPropagation(),!1}else{if(Y.KEYCODE.ENTER!==n||!e.target||\"TEXTAREA\"===e.target.tagName)return Y.KEYCODE.ESC===n?(e.preventDefault(),e.stopPropagation(),t.accessibility.restoreSelection(),t.popups.isVisible(d)&&f.findVisible(\".fr-back\").length?(t.opts.toolbarInline&&(t.events.disableBlur(),t.events.focus()),t.button.exec(f.findVisible(\".fr-back\").first()),y(f)):t.popups.isVisible(d)&&f.findVisible(\".fr-dismiss\").length?t.button.exec(f.findVisible(\".fr-dismiss\").first()):(t.popups.hide(d),t.opts.toolbarInline&&t.toolbar.showInline(null,!0),y(f)),!1):Y.KEYCODE.SPACE===n&&(r.is(\".fr-submit\")||r.is(\".fr-dismiss\")||r.is(\".fr-enable-accessibility\"))?(e.preventDefault(),e.stopPropagation(),t.events.disableBlur(),t.button.exec(r),!0):t.keys.isBrowserAction(e)?void e.stopPropagation():r.is(\"input[type=text], textarea\")?void e.stopPropagation():Y.KEYCODE.SPACE===n&&(r.is(\".fr-link-attr\")||r.is(\"input[type=file]\"))?void e.stopPropagation():(e.stopPropagation(),e.preventDefault(),!1);var l=null;if(0<f.findVisible(\".fr-submit\").length?l=f.findVisible(\".fr-submit\").first():f.findVisible(\".fr-dismiss\").length&&(l=f.findVisible(\".fr-dismiss\").first()),!l&&0<f.findVisible(\".fr-enable-accessibility\").length){var c=f.findVisible(\".fr-enable-accessibility:focus\");0<c.length&&(l=c)}l&&(e.preventDefault(),e.stopPropagation(),t.events.disableBlur(),t.button.exec(l))}},_tiMouseenter:function(){var e=f.data(\"instance\")||p;N(e)}}}(e);o(t.find(\".fr-buttons\")),p.events.$on(t,\"mouseenter\",\"tabIndex\",n._tiMouseenter,!0),p.events.$on(t.children().not(\".fr-buttons\"),\"keydown\",\"[tabIndex]\",n._tiKeydown,!0),p.popups.onHide(e,function(){(t.data(\"instance\")||p).accessibility.restoreSelection()}),p.popups.onShow(e,function(){i=!1,setTimeout(function(){i=!0},0)})},registerToolbar:o,focusToolbarElement:c,focusToolbar:h,focusContent:g,focusPopup:function T(r){var o=r.children().not(\".fr-buttons\");o.data(\"mouseenter-event-set\")||(p.events.$on(o,\"mouseenter\",\"[tabIndex]\",function(e){var t=r.data(\"instance\")||p;if(!i)return e.stopPropagation(),void e.preventDefault();var n=o.find(\":focus\").first();n.length&&!n.is(\"input, button, textarea, select\")&&(t.events.disableBlur(),n.blur(),t.events.disableBlur(),t.events.focus())}),o.data(\"mouseenter-event-set\",!0)),!g(o)&&p.shared.with_kb&&h(r.find(\".fr-buttons\"))},focusModal:function M(e){p.core.hasFocus()||(p.events.disableBlur(),p.events.focus()),p.accessibility.saveSelection(),p.events.disableBlur(),p.el.blur(),p.selection.clear(),p.events.disableBlur(),p.shared.with_kb?e.find(\".fr-command[tabIndex], [tabIndex]\").first().focus():e.find(\"[tabIndex]\").first().focus()},focusEditor:L,focusPopupButton:y,focusModalButton:function A(e){var t=e.data(\"modal-button\");t&&setTimeout(function(){c(t),e.data(\"modal-button\",null)},0)},hasFocus:function x(){return null!==p.shared.$f_el},exec:function O(e,t){var n=-1!==navigator.userAgent.indexOf(\"Mac OS X\")?e.metaKey:e.ctrlKey,r=e.which,o=!1;return r!==Y.KEYCODE.TAB||n||e.shiftKey||e.altKey?r!==Y.KEYCODE.ARROW_RIGHT||n||e.shiftKey||e.altKey?r!==Y.KEYCODE.TAB||n||!e.shiftKey||e.altKey?r!==Y.KEYCODE.ARROW_LEFT||n||e.shiftKey||e.altKey?r!==Y.KEYCODE.ARROW_UP||n||e.shiftKey||e.altKey?r!==Y.KEYCODE.ARROW_DOWN||n||e.shiftKey||e.altKey?r!==Y.KEYCODE.ENTER&&r!==Y.KEYCODE.SPACE||n||e.shiftKey||e.altKey?r!==Y.KEYCODE.ESC||n||e.shiftKey||e.altKey?r!==Y.KEYCODE.F10||n||e.shiftKey||!e.altKey||(o=d()):o=function i(e){if(p.shared.$f_el){var t=f();return t?(p.button.click(t),c(t)):e.parent().findVisible(\".fr-back\").length?(p.shared.with_kb=!1,p.opts.toolbarInline&&(p.events.disableBlur(),p.events.focus()),p.button.exec(e.parent().findVisible(\".fr-back\")).first(),y(e.parent())):p.shared.$f_el.is(\"button, .fr-group span\")&&(e.parent().is(\".fr-popup\")?(p.accessibility.restoreSelection(),p.shared.$f_el=null,!1!==p.events.trigger(\"toolbar.esc\")&&(p.popups.hide(e.parent()),p.opts.toolbarInline&&p.toolbar.showInline(null,!0),y(e.parent()))):L()),!1}}(t):o=E():o=function a(){return p.shared.$f_el&&p.shared.$f_el.is(\".fr-dropdown:not(.fr-active)\")?E():b(!0)}():o=function s(){return b()}():o=v(t):o=v(t,!0):o=m(t):(l=r,o=m(t,!0)),p.shared.$f_el||void 0!==o||(o=!0),!o&&p.keys.isBrowserAction(e)&&(o=!0),!!o||(e.preventDefault(),e.stopPropagation(),!1)},saveSelection:t,restoreSelection:function w(){p.$el.find(\".fr-marker\").length&&(p.events.disableBlur(),p.selection.restore(),p.events.enableBlur())}}},Object.assign(Y.DEFAULTS,{tooltips:!0}),Y.MODULES.tooltip=function(p){var u=p.$;function r(){p.helpers.isMobile()||p.$tooltip&&p.$tooltip.removeClass(\"fr-visible\").css(\"left\",\"-3000px\").css(\"position\",\"fixed\")}function o(e,t){if(!p.helpers.isMobile()){var n=e.attr(\"id\")&&e.attr(\"id\").split(\"-\")[0],r=e.attr(\"title\"),o=p.opts.trackChangesEnabled,i=p.opts.showChangesEnabled;if(p.opts.toolbarContainer){for(var a=!1,s=0;s<Y.INSTANCES.length;s++)if(Y.INSTANCES[s].core.hasFocus()){o=Y.INSTANCES[s].opts.trackChangesEnabled,i=Y.INSTANCES[s].opts.showChangesEnabled,a=!0;break}a||(i=o=e.hasClass(\"fr-active\"))}if(\"trackChanges\"===n)r=o?\"Disable Track Changes\":\"Enable Track Changes\";else if(\"showChanges\"===n)r=i?\"Hide Changes\":\"Show Changes\";else if((\"applyAll\"===n||\"removeAll\"===n||\"applyLast\"===n||\"removeLast\"===n)&&0===p.track_changes.getPendingChanges().length)return;if(e.data(\"title\",r),e.data(\"title\")){p.$tooltip||function f(){if(p.opts.tooltips&&!p.helpers.isMobile()){if(p.shared.$tooltip)p.$tooltip=p.shared.$tooltip;else{p.shared.$tooltip=u(p.doc.createElement(\"DIV\")).addClass(\"fr-tooltip\"),p.$tooltip=p.shared.$tooltip,p.opts.theme&&p.$tooltip.addClass(\"\".concat(p.opts.theme,\"-theme\"));var e={};if(p.$wp&&0<p.$wp.length&&(e=p.$wp.closest(\"dialog\")),0<e.length)e.first().append(p.$tooltip);else if(p.$box&&0<p.$box.length&&p.$box[0]){var t=p.$box[0].getRootNode();t instanceof ShadowRoot?u(t).append(p.$tooltip):u(p.o_doc).find(\"body\").first().append(p.$tooltip)}else u(p.o_doc).find(\"body\").first().append(p.$tooltip)}p.events.on(\"shared.destroy\",function(){p.$tooltip.html(\"\").removeData().remove(),p.$tooltip=null},!0)}}(),e.removeAttr(\"title\"),p.$tooltip.text(p.language.translate(e.data(\"title\"))),p.$tooltip.addClass(\"fr-visible\");var l=e.offset().left+(e.outerWidth()-p.$tooltip.outerWidth())/2;l<0&&(l=0),l+p.$tooltip.outerWidth()>u(p.o_win).width()&&(l=u(p.o_win).width()-p.$tooltip.outerWidth()),void 0===t&&(t=p.opts.toolbarBottom),e.offset().top-u(window).scrollTop()+e.outerHeight()+10>=u(window).height()&&(t=!0);var c=t?e.offset().top-p.$tooltip.height():e.offset().top+e.outerHeight();p.$tooltip.css(\"position\",\"\"),p.$tooltip.css(\"left\",l),p.$tooltip.css(\"top\",Math.ceil(c));var d={};p.$wp&&0<p.$wp.length&&(d=p.$wp.closest(\"dialog\")),0<d.length?(p.$tooltip.css(\"margin-left\",-d.first().offset().left),p.$tooltip.css(\"margin-top\",-d.first().offset().top)):\"static\"!==u(p.o_doc).find(\"body\").first().css(\"position\")?(p.$tooltip.css(\"margin-left\",-u(p.o_doc).find(\"body\").first().offset().left),p.$tooltip.css(\"margin-top\",-u(p.o_doc).find(\"body\").first().offset().top)):(p.$tooltip.css(\"margin-left\",\"\"),p.$tooltip.css(\"margin-top\",\"\"))}}}return{hide:r,to:o,bind:function i(e,t,n){p.opts.tooltips&&!p.helpers.isMobile()&&(p.events.$on(e,\"mouseover\",t,function(e){p.node.hasClass(e.currentTarget,\"fr-disabled\")||p.edit.isDisabled()||o(u(e.currentTarget),n)},!0),p.events.$on(e,\"mouseout \".concat(p._mousedown,\" \").concat(p._mouseup),t,function(){r()},!0))}}},Y.TOOLBAR_VISIBLE_BUTTONS=3,Y.MODULES.button=function(g){var h=g.$,a=[];(g.opts.toolbarInline||g.opts.toolbarContainer)&&(g.shared.buttons||(g.shared.buttons=[]),a=g.shared.buttons);var s=[];function l(e,t,n){for(var r=h(),o=0;o<e.length;o++){var i=h(e[o]);if(i.is(t)&&(r=r.add(i)),n&&i.is(\".fr-dropdown\")){var a=i.next().find(t);r=r.add(a)}}return r}function C(e,t){var n,r=h();if(!e)return r;for(n in r=(r=r.add(l(a,e,t))).add(l(s,e,t)),g.shared.popups)if(Object.prototype.hasOwnProperty.call(g.shared.popups,n)){var o=g.shared.popups[n].children().find(e);r=r.add(o)}for(n in g.shared.modals)if(Object.prototype.hasOwnProperty.call(g.shared.modals,n)){var i=g.shared.modals[n].$modal.find(e);r=r.add(i)}return r}function i(e){var t=e.next(),n=g.node.hasClass(e.get(0),\"fr-active\"),r=C(\".fr-dropdown.fr-active\").not(e),o=e.parents(\".fr-toolbar, .fr-popup\").data(\"instance\")||g;o.helpers.isIOS()&&!o.el.querySelector(\".fr-marker\")&&(o.selection.save(),o.selection.clear(),o.selection.restore()),t.parents(\".fr-more-toolbar\").addClass(\"fr-overflow-visible\");var i=0,a=0,s=t.find(\"> .fr-dropdown-wrapper\");if(!n){var l=e.data(\"cmd\");t.find(\".fr-command\").removeClass(\"fr-active\").attr(\"aria-selected\",!1),Y.COMMANDS[l]&&Y.COMMANDS[l].refreshOnShow&&Y.COMMANDS[l].refreshOnShow.apply(o,[e,t]),t.css(\"left\",e.offset().left-e.parents(\".fr-btn-wrap, .fr-toolbar, .fr-buttons\").offset().left-(\"rtl\"===g.opts.direction?t.width()-e.outerWidth():0)),t.addClass(\"test-height\"),i=t.outerHeight(),a=g.helpers.getPX(s.css(\"max-height\")),t.removeClass(\"test-height\"),t.css(\"top\",\"\").css(\"bottom\",\"\");var c=e.outerHeight()/10;if(!g.opts.toolbarBottom&&t.offset().top+e.outerHeight()+i<h(g.o_doc).height())t.css(\"top\",e.position().top+e.outerHeight()-c);else{var d=0,f=e.parents(\".fr-more-toolbar\");0<f.length&&(d=f.first().height()),t.css(\"bottom\",e.parents(\".fr-popup, .fr-toolbar\").first().height()-d-e.position().top)}}(e.addClass(\"fr-blink\").toggleClass(\"fr-active\"),e.hasClass(\"fr-options\"))&&e.prev().toggleClass(\"fr-expanded\");e.hasClass(\"fr-active\")?(t.attr(\"aria-hidden\",!1),e.attr(\"aria-expanded\",!0),function u(e,t,n){n<=t&&(e.parent().css(\"overflow\",\"auto\"),e.parent().css(\"overflow-x\",\"hidden\")),e.css(\"height\",Math.min(t,n))}(s,i,a)):(t.attr(\"aria-hidden\",!0).css(\"overflow\",\"\"),e.attr(\"aria-expanded\",!1),s.css(\"height\",\"\")),setTimeout(function(){e.removeClass(\"fr-blink\")},300),t.css(\"margin-left\",\"\"),t.offset().left+t.outerWidth()>g.$sc.offset().left+g.$sc.width()&&t.css(\"margin-left\",-(t.offset().left+t.outerWidth()-g.$sc.offset().left-g.$sc.width())),t.offset().left<g.$sc.offset().left&&\"rtl\"===g.opts.direction&&t.css(\"margin-left\",g.$sc.offset().left),r.removeClass(\"fr-active\").attr(\"aria-expanded\",!1).next().attr(\"aria-hidden\",!0).css(\"overflow\",\"\").find(\"> .fr-dropdown-wrapper\").css(\"height\",\"\"),r.prev(\".fr-expanded\").removeClass(\"fr-expanded\"),r.parents(\".fr-toolbar:not(.fr-inline)\").css(\"zIndex\",\"\"),0!==e.parents(\".fr-popup\").length||g.opts.toolbarInline||(g.node.hasClass(e.get(0),\"fr-active\")?g.$tb.css(\"zIndex\",(g.opts.zIndex||1)+4):g.$tb.css(\"zIndex\",\"\"));var p=t.find(\"a.fr-command.fr-active\").first();g.helpers.isMobile()||(p.length?(g.accessibility.focusToolbarElement(p),s.scrollTop(Math.abs(p.parents(\".fr-dropdown-content\").offset().top-p.offset().top)-p.offset().top)):(g.accessibility.focusToolbarElement(e),s.scrollTop(0)))}function c(e){e.addClass(\"fr-blink\"),setTimeout(function(){e.removeClass(\"fr-blink\")},500);for(var t=e.data(\"cmd\"),n=[];void 0!==e.data(\"param\".concat(n.length+1));)n.push(e.data(\"param\".concat(n.length+1)));var r=C(\".fr-dropdown.fr-active\");r.length&&(r.removeClass(\"fr-active\").attr(\"aria-expanded\",!1).next().attr(\"aria-hidden\",!0).css(\"overflow\",\"\").find(\"> .fr-dropdown-wrapper\").css(\"height\",\"\"),r.prev(\".fr-expanded\").removeClass(\"fr-expanded\"),r.parents(\".fr-toolbar:not(.fr-inline)\").css(\"zIndex\",\"\")),e.parents(\".fr-popup, .fr-toolbar\").data(\"instance\").commands.exec(t,n)}function t(e){var t=e.parents(\".fr-popup, .fr-toolbar\").data(\"instance\"),n=g.popups.get(\"link.insert\");if(0===e.parents(\".fr-popup\").length&&e.data(\"popup\")&&!e.hasClass(\"fr-btn-active-popup\")&&(e.attr(\"id\")===\"insertLink-\".concat(g.id)&&n&&n.hasClass(\"fr-active\")||e.addClass(\"fr-btn-active-popup\")),0!==e.parents(\".fr-popup\").length||e.data(\"popup\")||t.popups.hideAll(),t.popups.areVisible()&&!t.popups.areVisible(t)){for(var r=0;r<Y.INSTANCES.length;r++)Y.INSTANCES[r]!==t&&Y.INSTANCES[r].popups&&Y.INSTANCES[r].popups.areVisible()&&Y.INSTANCES[r].$el.find(\".fr-marker\").remove();t.popups.hideAll()}g.node.hasClass(e.get(0),\"fr-dropdown\")?i(e):(!function o(e){c(e)}(e),Y.COMMANDS[e.data(\"cmd\")]&&!1!==Y.COMMANDS[e.data(\"cmd\")].refreshAfterCallback&&t.button.bulkRefresh())}function d(e){t(h(e.currentTarget))}function f(e){var t=e.find(\".fr-dropdown.fr-active\");t.length&&(t.removeClass(\"fr-active\").attr(\"aria-expanded\",!1).next().attr(\"aria-hidden\",!0).css(\"overflow\",\"\").find(\"> .fr-dropdown-wrapper\").css(\"height\",\"\"),t.parents(\".fr-toolbar:not(.fr-inline)\").css(\"zIndex\",\"\"),t.prev().removeClass(\"fr-expanded\"))}function p(e){e.preventDefault(),e.stopPropagation()}function u(e){if(e.stopPropagation(),!g.helpers.isMobile())return!1}function m(e){var t=1<arguments.length&&arguments[1]!==undefined?arguments[1]:{},n=2<arguments.length?arguments[2]:undefined;if(g.helpers.isMobile()&&!1===t.showOnMobile)return\"\";var r=t.displaySelection;\"function\"==typeof r&&(r=r(g));var o=\"\";if(\"options\"!==t.type)if(r){var i=\"function\"==typeof t.defaultSelection?t.defaultSelection(g):t.defaultSelection;o='<span style=\"width:'.concat(t.displaySelectionWidth||100,'px\">').concat(g.language.translate(i||t.title),\"</span>\")}else o=g.icon.create(t.icon||e),o+='<span class=\"fr-sr-only\">'.concat(g.language.translate(t.title)||\"\",\"</span>\");var a=t.popup?' data-popup=\"true\"':\"\",s=t.modal?' data-modal=\"true\"':\"\",l=g.shortcuts.get(\"\".concat(e,\".\"));l=l?\" (\".concat(l,\")\"):\"\";var c=\"\".concat(e,\"-\").concat(g.id),d=\"dropdown-menu-\".concat(c),f='<button id=\"'.concat(c,'\"').concat(t.more_btn?' data-group-name=\"'.concat(c,'\" aria-expanded=\"false\" '):\" \",'type=\"button\" tabIndex=\"-1\" role=\"button\"').concat(t.toggle?' aria-pressed=\"false\"':\"\").concat(\"dropdown\"===t.type||\"options\"===t.type?' aria-controls=\"'.concat(d,'\" aria-expanded=\"false\" aria-haspopup=\"true\"'):\"\").concat(t.disabled?' aria-disabled=\"true\"':\"\",' title=\"').concat(g.language.translate(t.title)||\"\").concat(l,'\" class=\"fr-command fr-btn').concat(\"dropdown\"===t.type||\"options\"==t.type?\" fr-dropdown\":\"\").concat(\"options\"==t.type?\" fr-options\":\"\").concat(\"more\"==t.type?\" fr-more\":\"\").concat(t.displaySelection?\" fr-selection\":\"\").concat(t.back?\" fr-back\":\"\").concat(t.disabled?\" fr-disabled\":\"\").concat(n?\"\":\" fr-hidden\",'\" data-cmd=\"').concat(e,'\"').concat(a).concat(s,\">\").concat(o,\"</button>\");if(\"dropdown\"===t.type||\"options\"===t.type){var p='<div id=\"'.concat(d,'\" class=\"fr-dropdown-menu\" role=\"listbox\" aria-labelledby=\"').concat(c,'\" aria-hidden=\"true\"><div class=\"fr-dropdown-wrapper\" role=\"presentation\"><div class=\"fr-dropdown-content\" role=\"presentation\">');p+=function u(e,t){var n=\"\";if(t.html)\"function\"==typeof t.html?n+=t.html.call(g):n+=t.html;else{var r=t.options;for(var o in\"function\"==typeof r&&(r=r()),n+='<ul class=\"fr-dropdown-list\" role=\"presentation\">',r)if(Object.prototype.hasOwnProperty.call(r,o)){var i=g.shortcuts.get(\"\".concat(e,\".\").concat(o));i=i?'<span class=\"fr-shortcut\">'.concat(i,\"</span>\"):\"\",n+='<li role=\"presentation\"><a class=\"fr-command\" tabIndex=\"-1\" role=\"option\" data-cmd=\"'.concat(\"options\"===t.type?e.replace(/Options/g,\"\"):e,'\" data-param1=\"').concat(o,'\" title=\"').concat(r[o],'\">').concat(g.language.translate(r[o]),\"</a></li>\")}n+=\"</ul>\"}return n}(e,t),f+=p+=\"</div></div></div>\"}return t.hasOptions&&t.hasOptions.apply(g)&&(f='<div class=\"fr-btn-wrap\">'.concat(f,\" \").concat(m(e+\"Options\",Object.assign({},t,{type:\"options\",hasOptions:!1}),n),\"  </div>\")),f}function e(o){var i=g.$tb&&g.$tb.data(\"instance\")||g;if(!1===g.events.trigger(\"buttons.refresh\"))return!0;setTimeout(function(){for(var e=i.selection.inEditor()&&i.core.hasFocus(),t=0;t<o.length;t++){var n=h(o[t]),r=n.data(\"cmd\");0===n.parents(\".fr-popup\").length?e||Y.COMMANDS[r]&&Y.COMMANDS[r].forcedRefresh?i.button.refresh(n):g.node.hasClass(n.get(0),\"fr-dropdown\")||(n.removeClass(\"fr-active\"),n.attr(\"aria-pressed\")&&n.attr(\"aria-pressed\",!1)):n.parents(\".fr-popup\").isVisible()&&i.button.refresh(n)}},0)}function n(){e(a),e(s)}function r(){a=[],s=[]}g.shared.popup_buttons||(g.shared.popup_buttons=[]),s=g.shared.popup_buttons;var o=null;function v(){clearTimeout(o),o=setTimeout(n,50)}return{_init:function b(){g.opts.toolbarInline?g.events.on(\"toolbar.show\",n):(g.events.on(\"mouseup\",v),g.events.on(\"keyup\",v),g.events.on(\"blur\",v),g.events.on(\"focus\",v),g.events.on(\"contentChanged\",v),g.helpers.isMobile()&&g.events.$on(g.$doc,\"selectionchange\",n)),g.events.on(\"shared.destroy\",r)},build:m,buildList:function E(e,t){for(var n=\"\",r=0;r<e.length;r++){var o=e[r],i=Y.COMMANDS[o];i&&\"undefined\"!=typeof i.plugin&&g.opts.pluginsEnabled.indexOf(i.plugin)<0||(i?n+=m(o,i,void 0===t||0<=t.indexOf(o)):\"|\"===o?n+='<div class=\"fr-separator fr-vs\" role=\"separator\" aria-orientation=\"vertical\"></div>':\"-\"===o&&(n+='<div class=\"fr-separator fr-hs\" role=\"separator\" aria-orientation=\"horizontal\"></div>'))}return n},buildGroup:function L(e){var t=\"\",n=\"\";for(var r in e){var o=e[r];if(o.buttons){for(var i=\"\",a=\"\",s=0,l=\"left\",c=Y.TOOLBAR_VISIBLE_BUTTONS,d=0;d<o.buttons.length;d++){var f=o.buttons[d],p=Y.COMMANDS[f];p||(\"|\"==f?i+='<div class=\"fr-separator fr-vs\" role=\"separator\" aria-orientation=\"vertical\"></div>':\"-\"==f&&(i+='<div class=\"fr-separator fr-hs\" role=\"separator\" aria-orientation=\"horizontal\"></div>')),!p||p&&\"undefined\"!=typeof p.plugin&&g.opts.pluginsEnabled.indexOf(p.plugin)<0||(e[r].align!==undefined&&(l=e[r].align),e[r].buttonsVisible!==undefined&&(c=e[r].buttonsVisible),e.showMoreButtons&&c<=s?a+=m(f,p,!0):i+=m(f,p,!0),s++)}if(e.showMoreButtons&&c<s){var u=r,h=Y.COMMANDS[u];h.more_btn=!0,i+=m(u,h,!0)}\"trackChanges\"!==r&&(t+='<div class=\"fr-btn-grp fr-float-'.concat(l,'\">').concat(i,\"</div>\")),e.showMoreButtons&&0<a.length&&(n+='<div class=\"fr-more-toolbar\" data-name=\"'.concat(r+\"-\"+g.id,'\">').concat(a,\"</div>\"))}}return g.opts.toolbarBottom?g.helpers.isMobile()?'<div class=\"fr-bottom-extended\">'.concat(n,\"</div><div>\").concat(t,\"</div>\"):\"\".concat(n,'<div class=\"fr-newline\"></div>').concat(t):\"\".concat(t,'<div class=\"fr-newline\"></div>').concat(n)},bindCommands:function y(t,e){g.events.bindClick(t,\".fr-command:not(.fr-disabled)\",d),g.events.$on(t,\"\".concat(g._mousedown,\" \").concat(g._mouseup,\" \").concat(g._move),\".fr-dropdown-menu\",p,!0),g.events.$on(t,\"\".concat(g._mousedown,\" \").concat(g._mouseup,\" \").concat(g._move),\".fr-dropdown-menu .fr-dropdown-wrapper\",u,!0);var n=t.get(0).ownerDocument,r=\"defaultView\"in n?n.defaultView:n.parentWindow;function o(e){(!e||e.type===g._mouseup&&e.target!==h(\"html\").get(0)||\"keydown\"===e.type&&(g.keys.isCharacter(e.which)&&!g.keys.ctrlKey(e)||e.which===Y.KEYCODE.ESC))&&(f(t),g.opts.iframe&&function r(e){var t=e.find(\".fr-popup.fr-active\");if(t.length){t.removeClass(\"fr-active\").attr(\"aria-expanded\",!1).next().attr(\"aria-hidden\",!0).css(\"overflow\",\"\").find(\"> .fr-dropdown-wrapper\").css(\"height\",\"\"),t.parents(\".fr-toolbar:not(.fr-inline)\").css(\"zIndex\",\"\"),t.prev().removeClass(\"fr-expanded\");var n=g.$tb.find(\".fr-btn-active-popup\");h(n[0]).removeClass(\"fr-btn-active-popup\")}}(t))}g.events.$on(h(r),\"\".concat(g._mouseup,\" resize keydown\"),o,!0),g.opts.iframe&&g.events.$on(g.$win,g._mouseup,o,!0),g.node.hasClass(t.get(0),\"fr-popup\")?h.merge(s,t.find(\".fr-btn\").toArray()):h.merge(a,t.find(\".fr-btn\").toArray()),g.tooltip.bind(t,\".fr-btn, .fr-title\",e)},refresh:function N(e){var t,n=e.parents(\".fr-popup, .fr-toolbar\").data(\"instance\")||g,r=e.data(\"cmd\");g.node.hasClass(e.get(0),\"fr-dropdown\")?t=e.next():(e.removeClass(\"fr-active\"),e.attr(\"aria-pressed\")&&!e.hasClass(\"fr-active-tab\")&&e.attr(\"aria-pressed\",!1)),Y.COMMANDS[r]&&Y.COMMANDS[r].refresh?Y.COMMANDS[r].refresh.apply(n,[e,t]):g.refresh[r]&&n.refresh[r](e,t)},bulkRefresh:n,exec:c,click:t,hideActiveDropdowns:f,addButtons:function S(e){for(var t=0;t<e.length;t++)a.push(e[t])},getButtons:C,getPosition:function T(e){var t=e.offset().left,n=g.opts.toolbarBottom?10:e.outerHeight()-10;return{left:t,top:e.offset().top+n}}}},Y.ICON_TEMPLATES={font_awesome:'<i class=\"fa fa-[NAME]\" aria-hidden=\"true\"></i>',font_awesome_5:'<i class=\"fas fa-[FA5NAME]\" aria-hidden=\"true\"></i>',font_awesome_5r:'<i class=\"far fa-[FA5NAME]\" aria-hidden=\"true\"></i>',font_awesome_5l:'<i class=\"fal fa-[FA5NAME]\" aria-hidden=\"true\"></i>',font_awesome_5b:'<i class=\"fab fa-[FA5NAME]\" aria-hidden=\"true\"></i>',text:'<span style=\"text-align: center;\">[NAME]</span>',image:\"<img src=[SRC] alt=[ALT] />\",svg:'<svg class=\"fr-svg\" focusable=\"false\" viewBox=\"[VIEWBOX]\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"[PATH]\"/></svg>',svgMultiplePath:'<svg class=\"fr-svg\" focusable=\"false\" viewBox=\"[VIEWBOX]\" xmlns=\"http://www.w3.org/2000/svg\">[PATHS]</svg>',empty:\" \"},Y.ICONS={bold:{NAME:\"bold\",SVG_KEY:\"bold\"},italic:{NAME:\"italic\",SVG_KEY:\"italic\"},underline:{NAME:\"underline\",SVG_KEY:\"underline\"},strikeThrough:{NAME:\"strikethrough\",SVG_KEY:\"strikeThrough\"},subscript:{NAME:\"subscript\",SVG_KEY:\"subscript\"},superscript:{NAME:\"superscript\",SVG_KEY:\"superscript\"},cancel:{NAME:\"cancel\",SVG_KEY:\"cancel\"},color:{NAME:\"tint\",SVG_KEY:\"textColor\"},outdent:{NAME:\"outdent\",SVG_KEY:\"outdent\"},indent:{NAME:\"indent\",SVG_KEY:\"indent\"},undo:{NAME:\"rotate-left\",FA5NAME:\"undo\",SVG_KEY:\"undo\"},redo:{NAME:\"rotate-right\",FA5NAME:\"redo\",SVG_KEY:\"redo\"},insert:{NAME:\"insert\",SVG_KEY:\"insert\"},insertAll:{NAME:\"insertAll\",SVG_KEY:\"insertAll\"},insertHR:{NAME:\"minus\",SVG_KEY:\"horizontalLine\"},clearFormatting:{NAME:\"eraser\",SVG_KEY:\"clearFormatting\"},selectAll:{NAME:\"mouse-pointer\",SVG_KEY:\"selectAll\"},minimize:{NAME:\"minimize\",SVG_KEY:\"minimize\"},moreText:{NAME:\"ellipsis-v\",SVG_KEY:\"textMore\"},moreParagraph:{NAME:\"ellipsis-v\",SVG_KEY:\"paragraphMore\"},moreRich:{NAME:\"ellipsis-v\",SVG_KEY:\"insertMore\"},moreMisc:{NAME:\"ellipsis-v\",SVG_KEY:\"more\"}},Y.DefineIconTemplate=function(e,t){Y.ICON_TEMPLATES[e]=t},Y.DefineIcon=function(e,t){Y.ICONS[e]=t},Object.assign(Y.DEFAULTS,{iconsTemplate:\"svg\"}),Y.MODULES.icon=function(o){return{create:function i(n){var e=null,r=Y.ICONS[n];if(void 0!==r){var t=r.template||Y.ICON_DEFAULT_TEMPLATE||o.opts.iconsTemplate;t&&t.apply&&(t=t.apply(o)),r.FA5NAME||(r.FA5NAME=r.NAME),\"svg\"!==t||r.PATH||(r.PATH=Y.SVG[r.SVG_KEY]||\"\"),t&&(t=Y.ICON_TEMPLATES[t])&&(e=t.replace(/\\[([a-zA-Z0-9]*)\\]/g,function(e,t){return\"NAME\"===t?r[t]||n:\"VIEWBOX\"===t?r[t]||\"0 0 24 24\":r[t]}))}return e||n},getTemplate:function r(e){var t=Y.ICONS[e],n=o.opts.iconsTemplate;return void 0!==t?n=t.template||Y.ICON_DEFAULT_TEMPLATE||o.opts.iconsTemplate:n},getFileIcon:function n(e){var t=Y.FILEICONS[e];return void 0!==t?t:e}}},Y.SVG={imageTransformations:\"M3 5.8h2.8V3H3v2.8Zm0 7.6h2.8v-2.8H3v2.8Zm15.2 0H21v-2.8h-2.8v2.8Zm-7.6-7.6h2.8V3h-2.8v2.8Zm0 14.2h2.8v-2.8h-2.8V20ZM3 20h2.8v-2.8H3V20ZM18.2 5.8H21V3h-2.8v2.8Zm0 14.2H21v-2.8h-2.8V20ZM6.8 4.9h2.8V4H6.8v.9Zm0 14.2h2.8v-.9H6.8v.9Zm7.6-14.2h2.8V4h-2.8v.9Zm0 14.2h2.8v-.9h-2.8v.9ZM3.9 9.6h.9V6.8h-.9v2.8Zm15.2 0h.9V6.8h-.9v2.8ZM3.9 16.2h.9v-1.9h-.9v1.9Zm15.2 0h.9v-1.9h-.9v1.9ZM15.8 14l-2.2 2.3V14h2.2Zm0-6.8v6.2H15V8H9v7.3h4.1v.9H8.2v-9h7.6Zm-4.3 5.3v.8h-.8v-.8h.8Zm1.3-1.4v.8h-2.2v-.8h2.2Zm.6-1.5v.8h-2.7v-.8h2.7Z\",filestackIcon:\"M19 16.5 15 21v-4.5h4Zm0-1.125h-1.5V4.687h-11v14.625l7.5.001V21H5V3h14v12.375Zm-8-1.687v1.687H9.5v-1.687H11Zm2.5-2.813v1.687h-4v-1.687h4Zm1-2.813v1.687h-5V8.062h5Z\",add:\"M19,13h-6v6h-2v-6H5v-2h6V5h2v6h6V13z\",advancedImageEditor:\"M3,17v2h6v-2H3z M3,5v2h10V5H3z M13,21v-2h8v-2h-8v-2h-2v6H13z M7,9v2H3v2h4v2h2V9H7z M21,13v-2H11v2H21z M15,9h2V7h4V5h-4  V3h-2V9z\",alignCenter:\"M9,18h6v-2H9V18z M6,11v2h12v-2H6z M3,6v2h18V6H3z\",alignJustify:\"M3,18h18v-2H3V18z M3,11v2h18v-2H3z M3,6v2h18V6H3z\",alignLeft:\"M3,18h6v-2H3V18z M3,11v2h12v-2H3z M3,6v2h18V6H3z\",alignRight:\"M15,18h6v-2h-6V18z M9,11v2h12v-2H9z M3,6v2h18V6H3z\",anchors:\"M16,4h-4H8C6.9,4,6,4.9,6,6v4v10l6-2.6l6,2.6V10V6C18,4.9,17.1,4,16,4z M16,17l-4-1.8L8,17v-7V6h4h4v4V17z\",autoplay:\"M 7.570312 0.292969 C 7.542969 0.292969 7.515625 0.292969 7.488281 0.296875 C 7.203125 0.324219 6.984375 0.539062 6.980469 0.792969 L 6.925781 3.535156 C 2.796875 3.808594 -0.0078125 6.425781 -0.0859375 10.09375 C -0.121094 11.96875 0.710938 13.6875 2.265625 14.921875 C 3.769531 16.117188 5.839844 16.796875 8.097656 16.828125 C 8.140625 16.828125 12.835938 16.898438 13.035156 16.886719 C 15.171875 16.796875 17.136719 16.128906 18.558594 15.003906 C 20.066406 13.816406 20.882812 12.226562 20.917969 10.40625 C 20.960938 8.410156 20.023438 6.605469 18.289062 5.335938 C 18.214844 5.277344 18.128906 5.230469 18.035156 5.203125 C 17.636719 5.074219 17.222656 5.199219 17 5.476562 L 15.546875 7.308594 C 15.304688 7.609375 15.363281 8.007812 15.664062 8.265625 C 16.351562 8.851562 16.707031 9.625 16.6875 10.5 C 16.652344 12.25 15.070312 13.390625 12.757812 13.535156 C 12.59375 13.539062 8.527344 13.472656 8.164062 13.464844 C 5.703125 13.429688 4.101562 12.191406 4.140625 10.3125 C 4.175781 8.570312 5.132812 7.46875 6.847656 7.199219 L 6.796875 9.738281 C 6.792969 9.992188 7 10.214844 7.285156 10.253906 C 7.3125 10.257812 7.339844 10.257812 7.367188 10.257812 C 7.503906 10.261719 7.632812 10.222656 7.738281 10.148438 L 14.039062 5.785156 C 14.171875 5.691406 14.253906 5.558594 14.253906 5.410156 C 14.257812 5.261719 14.1875 5.125 14.058594 5.027344 L 7.941406 0.414062 C 7.835938 0.335938 7.707031 0.292969 7.570312 0.292969 \",back:\"M20 11L7.83 11 11.425 7.405 10.01 5.991 5.416 10.586 5.414 10.584 4 11.998 4.002 12 4 12.002 5.414 13.416 5.416 13.414 10.01 18.009 11.425 16.595 7.83 13 20 13 20 13 20 11 20 11Z\",backgroundColor:\"M9.91752,12.24082l7.74791-5.39017,1.17942,1.29591-6.094,7.20747L9.91752,12.24082M7.58741,12.652l4.53533,4.98327a.93412.93412,0,0,0,1.39531-.0909L20.96943,8.7314A.90827.90827,0,0,0,20.99075,7.533l-2.513-2.76116a.90827.90827,0,0,0-1.19509-.09132L7.809,11.27135A.93412.93412,0,0,0,7.58741,12.652ZM2.7939,18.52772,8.41126,19.5l1.47913-1.34617-3.02889-3.328Z\",blockquote:\"M10.31788,5l.93817,1.3226A12.88271,12.88271,0,0,0,8.1653,9.40125a5.54242,5.54242,0,0,0-.998,3.07866v.33733q.36089-.04773.66067-.084a4.75723,4.75723,0,0,1,.56519-.03691,2.87044,2.87044,0,0,1,2.11693.8427,2.8416,2.8416,0,0,1,.8427,2.09274,3.37183,3.37183,0,0,1-.8898,2.453A3.143,3.143,0,0,1,8.10547,19,3.40532,3.40532,0,0,1,5.375,17.7245,4.91156,4.91156,0,0,1,4.30442,14.453,9.3672,9.3672,0,0,1,5.82051,9.32933,14.75716,14.75716,0,0,1,10.31788,5Zm8.39243,0,.9369,1.3226a12.88289,12.88289,0,0,0-3.09075,3.07865,5.54241,5.54241,0,0,0-.998,3.07866v.33733q.33606-.04773.63775-.084a4.91773,4.91773,0,0,1,.58938-.03691,2.8043,2.8043,0,0,1,2.1042.83,2.89952,2.89952,0,0,1,.80578,2.10547,3.42336,3.42336,0,0,1-.86561,2.453A3.06291,3.06291,0,0,1,16.49664,19,3.47924,3.47924,0,0,1,13.742,17.7245,4.846,4.846,0,0,1,12.64721,14.453,9.25867,9.25867,0,0,1,14.17476,9.3898,15.26076,15.26076,0,0,1,18.71031,5Z\",bold:\"M15.25,11.8h0A3.68,3.68,0,0,0,17,9a3.93,3.93,0,0,0-3.86-4H6.65V19h7a3.74,3.74,0,0,0,3.7-3.78V15.1A3.64,3.64,0,0,0,15.25,11.8ZM8.65,7h4.2a2.09,2.09,0,0,1,2,1.3,2.09,2.09,0,0,1-1.37,2.61,2.23,2.23,0,0,1-.63.09H8.65Zm4.6,10H8.65V13h4.6a2.09,2.09,0,0,1,2,1.3,2.09,2.09,0,0,1-1.37,2.61A2.23,2.23,0,0,1,13.25,17Z\",cancel:\"M13.4,12l5.6,5.6L17.6,19L12,13.4L6.4,19L5,17.6l5.6-5.6L5,6.4L6.4,5l5.6,5.6L17.6,5L19,6.4L13.4,12z\",cellBackground:\"M16.6,12.4L7.6,3.5L6.2,4.9l2.4,2.4l-5.2,5.2c-0.6,0.6-0.6,1.5,0,2.1l5.5,5.5c0.3,0.3,0.7,0.4,1.1,0.4s0.8-0.1,1.1-0.4  l5.5-5.5C17.2,14,17.2,13,16.6,12.4z M5.2,13.5L10,8.7l4.8,4.8H5.2z M19,15c0,0-2,2.2-2,3.5c0,1.1,0.9,2,2,2s2-0.9,2-2  C21,17.2,19,15,19,15z\",cellBorderColor:\"M22,22H2v2h20V22z\",cellOptions:\"M20,5H4C2.9,5,2,5.9,2,7v10c0,1.1,0.9,2,2,2h16c1.1,0,2-0.9,2-2V7C22,5.9,21.1,5,20,5z M9.5,6.5h5V9h-5V6.5z M8,17.5H4  c-0.3,0-0.5-0.2-0.5-0.4c0,0,0,0,0,0V17v-2H8V17.5z M8,13.5H3.5v-3H8V13.5z M8,9H3.5V7c0-0.3,0.2-0.5,0.4-0.5c0,0,0,0,0,0H8V9z   M14.5,17.5h-5V15h5V17.5z M20.5,17c0,0.3-0.2,0.5-0.4,0.5c0,0,0,0,0,0H16V15h4.5V17z M20.5,13.5H16v-3h4.5V13.5z M20.5,9H16V6.5h4  c0.3,0,0.5,0.2,0.5,0.4c0,0,0,0,0,0V9z\",cellStyle:\"M20,19.9l0.9,3.6l-3.2-1.9l-3.3,1.9l0.8-3.6L12.3,17h3.8l1.7-3.5l1.4,3.5H23L20,19.9z M20,5H4C2.9,5,2,5.9,2,7v10  c0,1.1,0.9,2,2,2h7.5l-0.6-0.6L10,17.5H9.5V15h5.4l1.1-2.3v-2.2h4.5v3H20l0.6,1.5H22V7C22,5.9,21.1,5,20,5z M3.5,7  c0-0.3,0.2-0.5,0.4-0.5c0,0,0,0,0.1,0h4V9H3.5V7z M3.5,10.5H8v3H3.5V10.5z M4,17.5c-0.3,0-0.5-0.2-0.5-0.4c0,0,0,0,0-0.1v-2H8v2.5H4  z M14.5,9h-5V6.5h5V9z M20.5,9H16V6.5h4c0.3,0,0.5,0.2,0.5,0.4c0,0,0,0,0,0.1V9z\",clearFormatting:\"M11.48,10.09l-1.2-1.21L8.8,7.41,6.43,5,5.37,6.1,8.25,9,4.66,19h2l1.43-4h5.14l1.43,4h2l-.89-2.51L18.27,19l1.07-1.06L14.59,13.2ZM8.8,13l.92-2.56L12.27,13Zm.56-7.15L9.66,5h2l1.75,4.9Z\",close:\"M13.4,12l5.6,5.6L17.6,19L12,13.4L6.4,19L5,17.6l5.6-5.6L5,6.4L6.4,5l5.6,5.6L17.6,5L19,6.4L13.4,12z\",codeView:\"M9.4,16.6,4.8,12,9.4,7.4,8,6,2,12l6,6Zm5.2,0L19.2,12,14.6,7.4,16,6l6,6-6,6Z\",cogs:\"M18.877 12.907a6.459 6.459 0 0 0 0 -1.814l1.952 -1.526a0.468 0.468 0 0 0 0.111 -0.593l-1.851 -3.2a0.461 0.461 0 0 0 -0.407 -0.231 0.421 0.421 0 0 0 -0.157 0.028l-2.3 0.925a6.755 6.755 0 0 0 -1.563 -0.907l-0.352 -2.452a0.451 0.451 0 0 0 -0.453 -0.388h-3.7a0.451 0.451 0 0 0 -0.454 0.388L9.347 5.588A7.077 7.077 0 0 0 7.783 6.5l-2.3 -0.925a0.508 0.508 0 0 0 -0.166 -0.028 0.457 0.457 0 0 0 -0.4 0.231l-1.851 3.2a0.457 0.457 0 0 0 0.111 0.593l1.952 1.526A7.348 7.348 0 0 0 5.063 12a7.348 7.348 0 0 0 0.064 0.907L3.175 14.433a0.468 0.468 0 0 0 -0.111 0.593l1.851 3.2a0.461 0.461 0 0 0 0.407 0.231 0.421 0.421 0 0 0 0.157 -0.028l2.3 -0.925a6.74 6.74 0 0 0 1.564 0.907L9.7 20.864a0.451 0.451 0 0 0 0.454 0.388h3.7a0.451 0.451 0 0 0 0.453 -0.388l0.352 -2.452a7.093 7.093 0 0 0 1.563 -0.907l2.3 0.925a0.513 0.513 0 0 0 0.167 0.028 0.457 0.457 0 0 0 0.4 -0.231l1.851 -3.2a0.468 0.468 0 0 0 -0.111 -0.593Zm-0.09 2.029l-0.854 1.476 -2.117 -0.852 -0.673 0.508a5.426 5.426 0 0 1 -1.164 0.679l-0.795 0.323 -0.33 2.269h-1.7l-0.32 -2.269 -0.793 -0.322a5.3 5.3 0 0 1 -1.147 -0.662L8.2 15.56l-2.133 0.86 -0.854 -1.475 1.806 -1.411 -0.1 -0.847c-0.028 -0.292 -0.046 -0.5 -0.046 -0.687s0.018 -0.4 0.045 -0.672l0.106 -0.854L5.217 9.064l0.854 -1.475 2.117 0.851 0.673 -0.508a5.426 5.426 0 0 1 1.164 -0.679l0.8 -0.323 0.331 -2.269h1.7l0.321 2.269 0.792 0.322a5.3 5.3 0 0 1 1.148 0.661l0.684 0.526 2.133 -0.859 0.853 1.473 -1.8 1.421 0.1 0.847a5 5 0 0 1 0.046 0.679c0 0.193 -0.018 0.4 -0.045 0.672l-0.106 0.853ZM12 14.544A2.544 2.544 0 1 1 14.546 12 2.552 2.552 0 0 1 12 14.544Z\",columns:\"M20,5H4C2.9,5,2,5.9,2,7v10c0,1.1,0.9,2,2,2h16c1.1,0,2-0.9,2-2V7C22,5.9,21.1,5,20,5z M8,17.5H4c-0.3,0-0.5-0.2-0.5-0.4  c0,0,0,0,0,0V17v-2H8V17.5z M8,13.5H3.5v-3H8V13.5z M8,9H3.5V7c0-0.3,0.2-0.5,0.4-0.5c0,0,0,0,0,0H8V9z M20.5,17  c0,0.3-0.2,0.5-0.4,0.5c0,0,0,0,0,0H16V15h4.5V17z M20.5,13.5H16v-3h4.5V13.5z M20.5,9H16V6.5h4c0.3,0,0.5,0.2,0.5,0.4c0,0,0,0,0,0  V9z\",edit:\"M17,11.2L12.8,7L5,14.8V19h4.2L17,11.2z M7,16.8v-1.5l5.6-5.6l1.4,1.5l-5.6,5.6H7z M13.5,6.3l0.7-0.7c0.8-0.8,2.1-0.8,2.8,0  c0,0,0,0,0,0L18.4,7c0.8,0.8,0.8,2,0,2.8l-0.7,0.7L13.5,6.3z\",exitFullscreen:\"M5,16H8v3h2V14H5ZM8,8H5v2h5V5H8Zm6,11h2V16h3V14H14ZM16,8V5H14v5h5V8Z\",fileInsert:\"M 8.09375 12.75 L 5.90625 12.75 C 5.542969 12.75 5.25 12.394531 5.25 11.953125 L 5.25 6.375 L 2.851562 6.375 C 2.367188 6.375 2.121094 5.660156 2.464844 5.242188 L 6.625 0.1875 C 6.832031 -0.0585938 7.167969 -0.0585938 7.371094 0.1875 L 11.535156 5.242188 C 11.878906 5.660156 11.632812 6.375 11.148438 6.375 L 8.75 6.375 L 8.75 11.953125 C 8.75 12.394531 8.457031 12.75 8.09375 12.75 Z M 14 12.484375 L 14 16.203125 C 14 16.644531 13.707031 17 13.34375 17 L 0.65625 17 C 0.292969 17 0 16.644531 0 16.203125 L 0 12.484375 C 0 12.042969 0.292969 11.6875 0.65625 11.6875 L 4.375 11.6875 L 4.375 11.953125 C 4.375 12.980469 5.0625 13.8125 5.90625 13.8125 L 8.09375 13.8125 C 8.9375 13.8125 9.625 12.980469 9.625 11.953125 L 9.625 11.6875 L 13.34375 11.6875 C 13.707031 11.6875 14 12.042969 14 12.484375 Z M 10.609375 15.40625 C 10.609375 15.039062 10.363281 14.742188 10.0625 14.742188 C 9.761719 14.742188 9.515625 15.039062 9.515625 15.40625 C 9.515625 15.773438 9.761719 16.070312 10.0625 16.070312 C 10.363281 16.070312 10.609375 15.773438 10.609375 15.40625 Z M 12.359375 15.40625 C 12.359375 15.039062 12.113281 14.742188 11.8125 14.742188 C 11.511719 14.742188 11.265625 15.039062 11.265625 15.40625 C 11.265625 15.773438 11.511719 16.070312 11.8125 16.070312 C 12.113281 16.070312 12.359375 15.773438 12.359375 15.40625 Z M 12.359375 15.40625 \",fileManager:\"M 0 5.625 L 20.996094 5.625 L 21 15.75 C 21 16.371094 20.410156 16.875 19.6875 16.875 L 1.3125 16.875 C 0.585938 16.875 0 16.371094 0 15.75 Z M 0 5.625 M 21 4.5 L 0 4.5 L 0 2.25 C 0 1.628906 0.585938 1.125 1.3125 1.125 L 6.921875 1.125 C 7.480469 1.125 8.015625 1.316406 8.40625 1.652344 L 9.800781 2.847656 C 10.195312 3.183594 10.730469 3.375 11.289062 3.375 L 19.6875 3.375 C 20.414062 3.375 21 3.878906 21 4.5 Z M 21 4.5\",markdown:\"M5.55006 17.75V7.35L8.96006 16.89H10.7101L14.2301 7.37V14.0729C14.3951 14.1551 14.5499 14.265 14.6875 14.4026L14.7001 14.4151V11.64C14.7001 10.8583 15.2127 10.1963 15.9201 9.97171V5H13.6801L10.0401 14.86L6.51006 5H4.00006V17.75H5.55006ZM17.2001 11.64C17.2001 11.2258 16.8643 10.89 16.4501 10.89C16.0359 10.89 15.7001 11.2258 15.7001 11.64V16.8294L13.9804 15.1097C13.6875 14.8168 13.2126 14.8168 12.9197 15.1097C12.6269 15.4026 12.6269 15.8775 12.9197 16.1703L15.9197 19.1703C16.2126 19.4632 16.6875 19.4632 16.9804 19.1703L19.9804 16.1703C20.2733 15.8775 20.2733 15.4026 19.9804 15.1097C19.6875 14.8168 19.2126 14.8168 18.9197 15.1097L17.2001 16.8294V11.64Z\",fontAwesome:\"M18.99018,13.98212V7.52679c-.08038-1.21875-1.33929-.683-1.33929-.683-2.933,1.39282-4.36274.61938-5.85938.15625a6.23272,6.23272,0,0,0-2.79376-.20062l-.00946.004A1.98777,1.98777,0,0,0,7.62189,5.106a.984.984,0,0,0-.17517-.05432c-.02447-.0055-.04882-.01032-.0736-.0149A.9565.9565,0,0,0,7.1908,5H6.82539a.9565.9565,0,0,0-.18232.0368c-.02472.00458-.04907.0094-.07348.01484a.985.985,0,0,0-.17523.05438,1.98585,1.98585,0,0,0-.573,3.49585v9.394A1.004,1.004,0,0,0,6.82539,19H7.1908a1.00406,1.00406,0,0,0,1.00409-1.00409V15.52234c3.64221-1.09827,5.19709.64282,7.09888.57587a5.57291,5.57291,0,0,0,3.25446-1.05805A1.2458,1.2458,0,0,0,18.99018,13.98212Z\",fontFamily:\"M16,19h2L13,5H11L6,19H8l1.43-4h5.14Zm-5.86-6L12,7.8,13.86,13Z\",fontSize:\"M20.75,19h1.5l-3-10h-1.5l-3,10h1.5L17,16.5h3Zm-3.3-4,1.05-3.5L19.55,15Zm-5.7,4h2l-5-14h-2l-5,14h2l1.43-4h5.14ZM5.89,13,7.75,7.8,9.61,13Z\",fullscreen:\"M7,14H5v5h5V17H7ZM5,10H7V7h3V5H5Zm12,7H14v2h5V14H17ZM14,5V7h3v3h2V5Z\",help:\"M11,17h2v2h-2V17z M12,5C9.8,5,8,6.8,8,9h2c0-1.1,0.9-2,2-2s2,0.9,2,2c0,2-3,1.7-3,5v1h2v-1c0-2.2,3-2.5,3-5  C16,6.8,14.2,5,12,5z\",horizontalLine:\"M5,12h14 M19,11H5v2h14V11z\",imageAltText:\"M19,7h-6v12h-2V7H5V5h6h2h6V7z\",imageCaption:\"M14.2,11l3.8,5H6l3-3.9l2.1,2.7L14,11H14.2z M8.5,11c0.8,0,1.5-0.7,1.5-1.5S9.3,8,8.5,8S7,8.7,7,9.5C7,10.3,7.7,11,8.5,11z   M22,6v12c0,1.1-0.9,2-2,2H4c-1.1,0-2-0.9-2-2V6c0-1.1,0.9-2,2-2h16C21.1,4,22,4.9,22,6z M20,8.8V6H4v12h16V8.8z M22,22H2v2h20V22z\",imageClass:\"M9.5,13.4l-2.9-2.9h3.8L12.2,7l1.4,3.5h3.8l-3,2.9l0.9,3.6L12,15.1L8.8,17L9.5,13.4z M22,6v12c0,1.1-0.9,2-2,2H4  c-1.1,0-2-0.9-2-2V6c0-1.1,0.9-2,2-2h16C21.1,4,22,4.9,22,6z M20,6H4v12h16V8.8V6z\",imageDisplay:\"M3,5h18v2H3V5z M13,9h8v2h-8V9z M13,13h8v2h-8V13z M3,17h18v2H3V17z M3,9h8v6H3V9z\",imageManager:\"M20,6h-7l-2-2H4C2.9,4,2,4.9,2,6v12c0,1.1,0.9,2,2,2h16c1.1,0,2-0.9,2-2V8C22,6.9,21.1,6,20,6z M20,18H4V6h6.2l2,2H20V18z   M18,16l-3.8-5H14l-2.9,3.8L9,12.1L6,16H18z M10,9.5C10,8.7,9.3,8,8.5,8S7,8.7,7,9.5S7.7,11,8.5,11S10,10.3,10,9.5z\",imageSize:\"M16.9,4c-0.3,0-0.5,0.2-0.8,0.3L3.3,13c-0.9,0.6-1.1,1.9-0.5,2.8l2.2,3.3c0.4,0.7,1.2,1,2,0.8c0.3,0,0.5-0.2,0.8-0.3  L20.7,11c0.9-0.6,1.1-1.9,0.5-2.8l-2.2-3.3C18.5,4.2,17.7,3.9,16.9,4L16.9,4z M16.9,9.9L18.1,9l-2-2.9L17,5.6c0.1,0,0.1-0.1,0.2-0.1  c0.2,0,0.4,0,0.5,0.2L19.9,9c0.2,0.2,0.1,0.5-0.1,0.7L7,18.4c-0.1,0-0.1,0.1-0.2,0.1c-0.2,0-0.4,0-0.5-0.2L4.1,15  c-0.2-0.2-0.1-0.5,0.1-0.7L5,13.7l2,2.9l1.2-0.8l-2-2.9L7.5,12l1.1,1.7l1.2-0.8l-1.1-1.7l1.2-0.8l2,2.9l1.2-0.8l-2-2.9l1.2-0.8  l1.1,1.7l1.2-0.8l-1.1-1.7L14.9,7L16.9,9.9z\",indent:\"M3,9v6l3-3L3,9z M3,19h18v-2H3V19z M3,7h18V5H3V7z M9,11h12V9H9V11z M9,15h12v-2H9V15z\",inlineClass:\"M9.9,13.313A1.2,1.2,0,0,1,9.968,13H6.277l1.86-5.2,1.841,5.148A1.291,1.291,0,0,1,11.212,12h.426l-2.5-7h-2l-5,14h2l1.43-4H9.9Zm2.651,6.727a2.884,2.884,0,0,1-.655-2.018v-2.71A1.309,1.309,0,0,1,13.208,14h3.113a3.039,3.039,0,0,1,2,1.092s1.728,1.818,2.964,2.928a1.383,1.383,0,0,1,.318,1.931,1.44,1.44,0,0,1-.19.215l-3.347,3.31a1.309,1.309,0,0,1-1.832.258h0a1.282,1.282,0,0,1-.258-.257l-1.71-1.728Zm2.48-3.96a.773.773,0,1,0,.008,0Z\",inlineStyle:\"M11.88,15h.7l.7-1.7-3-8.3h-2l-5,14h2l1.4-4Zm-4.4-2,1.9-5.2,1.9,5.2ZM15.4,21.545l3.246,1.949-.909-3.637L20.72,17H16.954l-1.429-3.506L13.837,17H10.071l2.857,2.857-.779,3.637Z\",insert:\"M13.889,11.611c-0.17,0.17-0.443,0.17-0.612,0l-3.189-3.187l-3.363,3.36c-0.171,0.171-0.441,0.171-0.612,0c-0.172-0.169-0.172-0.443,0-0.611l3.667-3.669c0.17-0.17,0.445-0.172,0.614,0l3.496,3.493C14.058,11.167,14.061,11.443,13.889,11.611 M18.25,10c0,4.558-3.693,8.25-8.25,8.25c-4.557,0-8.25-3.692-8.25-8.25c0-4.557,3.693-8.25,8.25-8.25C14.557,1.75,18.25,5.443,18.25,10 M17.383,10c0-4.07-3.312-7.382-7.383-7.382S2.618,5.93,2.618,10S5.93,17.381,10,17.381S17.383,14.07,17.383,10\",insertEmbed:\"M20.73889,15.45929a3.4768,3.4768,0,0,0-5.45965-.28662L9.5661,12.50861a3.49811,3.49811,0,0,0-.00873-1.01331l5.72174-2.66809a3.55783,3.55783,0,1,0-.84527-1.81262L8.70966,9.6839a3.50851,3.50851,0,1,0,.0111,4.63727l5.7132,2.66412a3.49763,3.49763,0,1,0,6.30493-1.526ZM18.00745,5.01056A1.49993,1.49993,0,1,1,16.39551,6.3894,1.49994,1.49994,0,0,1,18.00745,5.01056ZM5.99237,13.49536a1.49989,1.49989,0,1,1,1.61194-1.37878A1.49982,1.49982,0,0,1,5.99237,13.49536Zm11.78211,5.494a1.49993,1.49993,0,1,1,1.61193-1.37885A1.49987,1.49987,0,0,1,17.77448,18.98932Z\",insertFile:\"M7,3C5.9,3,5,3.9,5,5v14c0,1.1,0.9,2,2,2h10c1.1,0,2-0.9,2-2V7.6L14.4,3H7z M17,19H7V5h6v4h4V19z\",insertImage:\"M14.2,11l3.8,5H6l3-3.9l2.1,2.7L14,11H14.2z M8.5,11c0.8,0,1.5-0.7,1.5-1.5S9.3,8,8.5,8S7,8.7,7,9.5C7,10.3,7.7,11,8.5,11z   M22,6v12c0,1.1-0.9,2-2,2H4c-1.1,0-2-0.9-2-2V6c0-1.1,0.9-2,2-2h16C21.1,4,22,4.9,22,6z M20,8.8V6H4v12h16V8.8z\",insertLink:\"M11,17H7A5,5,0,0,1,7,7h4V9H7a3,3,0,0,0,0,6h4ZM17,7H13V9h4a3,3,0,0,1,0,6H13v2h4A5,5,0,0,0,17,7Zm-1,4H8v2h8Z\",insertMore:\"M16.5,13h-6v6h-2V13h-6V11h6V5h2v6h6Zm5,4.5A1.5,1.5,0,1,1,20,16,1.5,1.5,0,0,1,21.5,17.5Zm0-4A1.5,1.5,0,1,1,20,12,1.5,1.5,0,0,1,21.5,13.5Zm0-4A1.5,1.5,0,1,1,20,8,1.5,1.5,0,0,1,21.5,9.5Z\",insertTable:\"M20,5H4C2.9,5,2,5.9,2,7v2v1.5v3V15v2c0,1.1,0.9,2,2,2h16c1.1,0,2-0.9,2-2v-2v-1.5v-3V9V7C22,5.9,21.1,5,20,5z M9.5,13.5v-3  h5v3H9.5z M14.5,15v2.5h-5V15H14.5z M9.5,9V6.5h5V9H9.5z M3.5,7c0-0.3,0.2-0.5,0.5-0.5h4V9H3.5V7z M3.5,10.5H8v3H3.5V10.5z M3.5,17  v-2H8v2.5H4C3.7,17.5,3.5,17.3,3.5,17z M20.5,17c0,0.3-0.2,0.5-0.5,0.5h-4V15h4.5V17z M20.5,13.5H16v-3h4.5V13.5z M16,9V6.5h4  c0.3,0,0.5,0.2,0.5,0.5v2H16z\",insertVideo:\"M15,8v8H5V8H15m2,2.5V7a1,1,0,0,0-1-1H4A1,1,0,0,0,3,7V17a1,1,0,0,0,1,1H16a1,1,0,0,0,1-1V13.5l2.29,2.29A1,1,0,0,0,21,15.08V8.91a1,1,0,0,0-1.71-.71Z\",upload:\"M12 6.66667a4.87654 4.87654 0 0 1 4.77525 3.92342l0.29618 1.50268 1.52794 0.10578a2.57021 2.57021 0 0 1 -0.1827 5.13478H6.5a3.49774 3.49774 0 0 1 -0.3844 -6.97454l1.06682 -0.11341L7.678 9.29387A4.86024 4.86024 0 0 1 12 6.66667m0 -2A6.871 6.871 0 0 0 5.90417 8.37 5.49773 5.49773 0 0 0 6.5 19.33333H18.41667a4.57019 4.57019 0 0 0 0.32083 -9.13A6.86567 6.86567 0 0 0 12 4.66667Zm0.99976 7.2469h1.91406L11.99976 9 9.08618 11.91357h1.91358v3H11V16h2V14h-0.00024Z\",uploadFiles:\"M12 6.66667a4.87654 4.87654 0 0 1 4.77525 3.92342l0.29618 1.50268 1.52794 0.10578a2.57021 2.57021 0 0 1 -0.1827 5.13478H6.5a3.49774 3.49774 0 0 1 -0.3844 -6.97454l1.06682 -0.11341L7.678 9.29387A4.86024 4.86024 0 0 1 12 6.66667m0 -2A6.871 6.871 0 0 0 5.90417 8.37 5.49773 5.49773 0 0 0 6.5 19.33333H18.41667a4.57019 4.57019 0 0 0 0.32083 -9.13A6.86567 6.86567 0 0 0 12 4.66667Zm0.99976 7.2469h1.91406L11.99976 9 9.08618 11.91357h1.91358v3H11V16h2V14h-0.00024Z\",italic:\"M11.76,9h2l-2.2,10h-2Zm1.68-4a1,1,0,1,0,1,1,1,1,0,0,0-1-1Z\",search:\"M15.5 14h-0.79l-0.28 -0.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09 -0.59 4.23 -1.57l0.27 0.28v0.79l5 4.99L20.49 19l-4.99 -5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z\",lineHeight:\"M6.25,7h2.5L5.25,3.5,1.75,7h2.5V17H1.75l3.5,3.5L8.75,17H6.25Zm4-2V7h12V5Zm0,14h12V17h-12Zm0-6h12V11h-12Z\",linkStyles:\"M19,17.9l0.9,3.6l-3.2-1.9l-3.3,1.9l0.8-3.6L11.3,15h3.8l1.7-3.5l1.4,3.5H22L19,17.9z M20,12c0,0.3-0.1,0.7-0.2,1h2.1  c0.1-0.3,0.1-0.6,0.1-1c0-2.8-2.2-5-5-5h-4v2h4C18.7,9,20,10.3,20,12z M14.8,11H8v2h3.3h2.5L14.8,11z M9.9,16.4L8.5,15H7  c-1.7,0-3-1.3-3-3s1.3-3,3-3h4V7H7c-2.8,0-5,2.2-5,5s2.2,5,5,5h3.5L9.9,16.4z\",mention:\"M12.4,5c-4.1,0-7.5,3.4-7.5,7.5S8.3,20,12.4,20h3.8v-1.5h-3.8c-3.3,0-6-2.7-6-6s2.7-6,6-6s6,2.7,6,6v1.1  c0,0.6-0.5,1.2-1.1,1.2s-1.1-0.6-1.1-1.2v-1.1c0-2.1-1.7-3.8-3.8-3.8s-3.7,1.7-3.7,3.8s1.7,3.8,3.8,3.8c1,0,2-0.4,2.7-1.1  c0.5,0.7,1.3,1.1,2.2,1.1c1.5,0,2.6-1.2,2.6-2.7v-1.1C19.9,8.4,16.6,5,12.4,5z M12.4,14.7c-1.2,0-2.3-1-2.3-2.2s1-2.3,2.3-2.3  s2.3,1,2.3,2.3S13.6,14.7,12.4,14.7z\",minimize:\"M5,12h14 M19,11H5v2h14V11z\",more:\"M13.5,17c0,0.8-0.7,1.5-1.5,1.5s-1.5-0.7-1.5-1.5s0.7-1.5,1.5-1.5S13.5,16.2,13.5,17z M13.5,12c0,0.8-0.7,1.5-1.5,1.5 s-1.5-0.7-1.5-1.5s0.7-1.5,1.5-1.5S13.5,11.2,13.5,12z M13.5,7c0,0.8-0.7,1.5-1.5,1.5S10.5,7.8,10.5,7s0.7-1.5,1.5-1.5 S13.5,6.2,13.5,7z\",openLink:\"M17,17H7V7h3V5H7C6,5,5,6,5,7v10c0,1,1,2,2,2h10c1,0,2-1,2-2v-3h-2V17z M14,5v2h1.6l-5.8,5.8l1.4,1.4L17,8.4V10h2V5H14z\",orderedList:\"M2.5,16h2v.5h-1v1h1V18h-2v1h3V15h-3Zm1-7h1V5h-2V6h1Zm-1,2H4.3L2.5,13.1V14h3V13H3.7l1.8-2.1V10h-3Zm5-5V8h14V6Zm0,12h14V16H7.5Zm0-5h14V11H7.5Z\",outdent:\"M3,12l3,3V9L3,12z M3,19h18v-2H3V19z M3,7h18V5H3V7z M9,11h12V9H9V11z M9,15h12v-2H9V15z\",pageBreaker:\"M3,9v6l3-3L3,9z M21,9H8V4h2v3h9V4h2V9z M21,20h-2v-3h-9v3H8v-5h13V20z M11,13H8v-2h3V13z M16,13h-3v-2h3V13z M21,13h-3v-2  h3V13z\",paragraphFormat:\"M10.15,5A4.11,4.11,0,0,0,6.08,8.18,4,4,0,0,0,10,13v6h2V7h2V19h2V7h2V5ZM8,9a2,2,0,0,1,2-2v4A2,2,0,0,1,8,9Z\",paragraphMore:\"M7.682,5a4.11,4.11,0,0,0-4.07,3.18,4,4,0,0,0,3.11,4.725h0l.027.005a3.766,3.766,0,0,0,.82.09v6h2V7h2V19h2V7h2V5ZM5.532,9a2,2,0,0,1,2-2v4A2,2,0,0,1,5.532,9Zm14.94,8.491a1.5,1.5,0,1,1-1.5-1.5A1.5,1.5,0,0,1,20.472,17.491Zm0-4a1.5,1.5,0,1,1-1.5-1.5A1.5,1.5,0,0,1,20.472,13.491Zm0-4a1.5,1.5,0,1,1-1.5-1.5A1.5,1.5,0,0,1,20.472,9.491Z\",paragraphStyle:\"M4,9c0-1.1,0.9-2,2-2v4C4.9,11,4,10.1,4,9z M16.7,20.5l3.2,1.9L19,18.8l3-2.9h-3.7l-1.4-3.5L15.3,16h-3.8l2.9,2.9l-0.9,3.6  L16.7,20.5z M10,17.4V19h1.6L10,17.4z M6.1,5c-1.9,0-3.6,1.3-4,3.2c-0.5,2.1,0.8,4.2,2.9,4.7c0,0,0,0,0,0h0.2C5.5,13,5.8,13,6,13v6  h2V7h2v7h2V7h2V5H6.1z\",pdfExport:\"M7,3C5.9,3,5,3.9,5,5v14c0,1.1,0.9,2,2,2h10c1.1,0,2-0.9,2-2V7.6L14.4,3H7z M17,19H7V5h6v4h4V19z M16.3,13.5  c-0.2-0.6-1.1-0.8-2.6-0.8c-0.1,0-0.1,0-0.2,0c-0.3-0.3-0.8-0.9-1-1.2c-0.2-0.2-0.3-0.3-0.4-0.6c0.2-0.7,0.2-1,0.3-1.5  c0.1-0.9,0-1.6-0.2-1.8c-0.4-0.2-0.7-0.2-0.9-0.2c-0.1,0-0.3,0.2-0.7,0.7c-0.2,0.7-0.1,1.8,0.6,2.8c-0.2,0.8-0.7,1.6-1,2.4  c-0.8,0.2-1.5,0.7-1.9,1.1c-0.7,0.7-0.9,1.1-0.7,1.6c0,0.3,0.2,0.6,0.7,0.6c0.3-0.1,0.3-0.2,0.7-0.3c0.6-0.3,1.2-1.7,1.7-2.4  c0.8-0.2,1.7-0.3,2-0.3c0.1,0,0.3,0,0.6,0c0.8,0.8,1.2,1.1,1.8,1.2c0.1,0,0.2,0,0.3,0c0.3,0,0.8-0.1,1-0.6  C16.4,14.1,16.4,13.9,16.3,13.5z M8.3,15.7c-0.1,0.1-0.2,0.1-0.2,0.1c0-0.1,0-0.3,0.6-0.8c0.2-0.2,0.6-0.3,0.9-0.7  C9,15,8.6,15.5,8.3,15.7z M11.3,9c0-0.1,0.1-0.2,0.1-0.2S11.6,9,11.5,10c0,0.1,0,0.3-0.1,0.7C11.3,10.1,11,9.5,11.3,9z M10.9,13.1  c0.2-0.6,0.6-1,0.7-1.5c0.1,0.1,0.1,0.1,0.2,0.2c0.1,0.2,0.3,0.7,0.7,0.9C12.2,12.8,11.6,13,10.9,13.1z M15.2,14.1  c-0.1,0-0.1,0-0.2,0c-0.2,0-0.7-0.2-1-0.7c1.1,0,1.6,0.2,1.6,0.6C15.5,14.1,15.4,14.1,15.2,14.1z\",print:\"M16.1,17c0-0.6,0.4-1,1-1c0.6,0,1,0.4,1,1s-0.4,1-1,1C16.5,18,16.1,17.6,16.1,17z M22,15v4c0,1.1-0.9,2-2,2H4  c-1.1,0-2-0.9-2-2v-4c0-1.1,0.9-2,2-2h1V5c0-1.1,0.9-2,2-2h7.4L19,7.6V13h1C21.1,13,22,13.9,22,15z M7,13h10V9h-4V5H7V13z M20,15H4  v4h16V15z\",redo:\"M13.6,9.4c1.7,0.3,3.2,0.9,4.6,2L21,8.5v7h-7l2.7-2.7C13,10.1,7.9,11,5.3,14.7c-0.2,0.3-0.4,0.5-0.5,0.8L3,14.6  C5.1,10.8,9.3,8.7,13.6,9.4z\",removeTable:\"M15,10v8H9v-8H15 M14,4H9.9l-1,1H6v2h12V5h-3L14,4z M17,8H7v10c0,1.1,0.9,2,2,2h6c1.1,0,2-0.9,2-2V8z\",insertAll:\"M 9.25 12 L 6.75 12 C 6.335938 12 6 11.664062 6 11.25 L 6 6 L 3.257812 6 C 2.703125 6 2.425781 5.328125 2.820312 4.933594 L 7.570312 0.179688 C 7.804688 -0.0546875 8.191406 -0.0546875 8.425781 0.179688 L 13.179688 4.933594 C 13.574219 5.328125 13.296875 6 12.742188 6 L 10 6 L 10 11.25 C 10 11.664062 9.664062 12 9.25 12 Z M 16 11.75 L 16 15.25 C 16 15.664062 15.664062 16 15.25 16 L 0.75 16 C 0.335938 16 0 15.664062 0 15.25 L 0 11.75 C 0 11.335938 0.335938 11 0.75 11 L 5 11 L 5 11.25 C 5 12.214844 5.785156 13 6.75 13 L 9.25 13 C 10.214844 13 11 12.214844 11 11.25 L 11 11 L 15.25 11 C 15.664062 11 16 11.335938 16 11.75 Z M 12.125 14.5 C 12.125 14.15625 11.84375 13.875 11.5 13.875 C 11.15625 13.875 10.875 14.15625 10.875 14.5 C 10.875 14.84375 11.15625 15.125 11.5 15.125 C 11.84375 15.125 12.125 14.84375 12.125 14.5 Z M 14.125 14.5 C 14.125 14.15625 13.84375 13.875 13.5 13.875 C 13.15625 13.875 12.875 14.15625 12.875 14.5 C 12.875 14.84375 13.15625 15.125 13.5 15.125 C 13.84375 15.125 14.125 14.84375 14.125 14.5 Z M 14.125 14.5 \",remove:\"M15,10v8H9v-8H15 M14,4H9.9l-1,1H6v2h12V5h-3L14,4z M17,8H7v10c0,1.1,0.9,2,2,2h6c1.1,0,2-0.9,2-2V8z\",replaceImage:\"M16,5v3H4v2h12v3l4-4L16,5z M8,19v-3h12v-2H8v-3l-4,4L8,19z\",row:\"M20,5H4C2.9,5,2,5.9,2,7v2v1.5v3V15v2c0,1.1,0.9,2,2,2h16c1.1,0,2-0.9,2-2v-2v-1.5v-3V9V7C22,5.9,21.1,5,20,5z M16,6.5h4  c0.3,0,0.5,0.2,0.5,0.5v2H16V6.5z M9.5,6.5h5V9h-5V6.5z M3.5,7c0-0.3,0.2-0.5,0.5-0.5h4V9H3.5V7z M8,17.5H4c-0.3,0-0.5-0.2-0.5-0.5  v-2H8V17.5z M14.5,17.5h-5V15h5V17.5z M20.5,17c0,0.3-0.2,0.5-0.5,0.5h-4V15h4.5V17z\",selectAll:\"M5,7h2V5C5.9,5,5,5.9,5,7z M5,11h2V9H5V11z M9,19h2v-2H9V19z M5,11h2V9H5V11z M15,5h-2v2h2V5z M17,5v2h2C19,5.9,18.1,5,17,5  z M7,19v-2H5C5,18.1,5.9,19,7,19z M5,15h2v-2H5V15z M11,5H9v2h2V5z M13,19h2v-2h-2V19z M17,11h2V9h-2V11z M17,19c1.1,0,2-0.9,2-2h-2  V19z M17,11h2V9h-2V11z M17,15h2v-2h-2V15z M13,19h2v-2h-2V19z M13,7h2V5h-2V7z M9,15h6V9H9V15z M11,11h2v2h-2V11z\",smile:\"M11.991,3A9,9,0,1,0,21,12,8.99557,8.99557,0,0,0,11.991,3ZM12,19a7,7,0,1,1,7-7A6.99808,6.99808,0,0,1,12,19Zm3.105-5.2h1.503a4.94542,4.94542,0,0,1-9.216,0H8.895a3.57808,3.57808,0,0,0,6.21,0ZM7.5,9.75A1.35,1.35,0,1,1,8.85,11.1,1.35,1.35,0,0,1,7.5,9.75Zm6.3,0a1.35,1.35,0,1,1,1.35,1.35A1.35,1.35,0,0,1,13.8,9.75Z\",spellcheck:\"M19.1,13.6l-5.6,5.6l-2.7-2.7l-1.4,1.4l4.1,4.1l7-7L19.1,13.6z M10.8,13.7l2.7,2.7l0.8-0.8L10.5,5h-2l-5,14h2l1.4-4h2.6  L10.8,13.7z M9.5,7.8l1.9,5.2H7.6L9.5,7.8z\",star:\"M12.1,7.7l1,2.5l0.4,0.9h1h2.4l-2.1,2l-0.6,0.6l0.2,0.9l0.6,2.3l-2.2-1.3L12,15.2l-0.8,0.5L9,17l0.5-2.5l0.1-0.8L9,13.1  l-2-2h2.5h0.9l0.4-0.8L12.1,7.7 M12.2,4L9.5,9.6H3.4L8,14.2L6.9,20l5.1-3.1l5.3,3.1l-1.5-5.8l4.8-4.6h-6.1L12.2,4L12.2,4z\",strikeThrough:\"M3,12.20294H21v1.5H16.63422a3.59782,3.59782,0,0,1,.34942,1.5929,3.252,3.252,0,0,1-1.31427,2.6997A5.55082,5.55082,0,0,1,12.20251,19a6.4421,6.4421,0,0,1-2.62335-.539,4.46335,4.46335,0,0,1-1.89264-1.48816,3.668,3.668,0,0,1-.67016-2.15546V14.704h.28723v-.0011h.34149v.0011H9.02v.11334a2.18275,2.18275,0,0,0,.85413,1.83069,3.69,3.69,0,0,0,2.32836.67926,3.38778,3.38778,0,0,0,2.07666-.5462,1.73346,1.73346,0,0,0,.7013-1.46655,1.69749,1.69749,0,0,0-.647-1.43439,3.00525,3.00525,0,0,0-.27491-.17725H3ZM16.34473,7.05981A4.18163,4.18163,0,0,0,14.6236,5.5462,5.627,5.627,0,0,0,12.11072,5,5.16083,5.16083,0,0,0,8.74719,6.06213,3.36315,3.36315,0,0,0,7.44006,8.76855a3.22923,3.22923,0,0,0,.3216,1.42786h2.59668c-.08338-.05365-.18537-.10577-.25269-.16064a1.60652,1.60652,0,0,1-.65283-1.30036,1.79843,1.79843,0,0,1,.68842-1.5108,3.12971,3.12971,0,0,1,1.96948-.55243,3.04779,3.04779,0,0,1,2.106.6687,2.35066,2.35066,0,0,1,.736,1.83258v.11341h2.00317V9.17346A3.90013,3.90013,0,0,0,16.34473,7.05981Z\",subscript:\"M10.4,12l3.6,3.6L12.6,17L9,13.4L5.4,17L4,15.6L7.6,12L4,8.4L5.4,7L9,10.6L12.6,7L14,8.4L10.4,12z M18.31234,19.674  l1.06812-1.1465c0.196-0.20141,0.37093-0.40739,0.5368-0.6088c0.15975-0.19418,0.30419-0.40046,0.432-0.617  c0.11969-0.20017,0.21776-0.41249,0.29255-0.6334c0.07103-0.21492,0.10703-0.43986,0.10662-0.66621  c0.00297-0.28137-0.04904-0.56062-0.1531-0.82206c-0.09855-0.24575-0.25264-0.46534-0.45022-0.6416  c-0.20984-0.18355-0.45523-0.32191-0.72089-0.40646c-0.63808-0.19005-1.3198-0.17443-1.94851,0.04465  c-0.28703,0.10845-0.54746,0.2772-0.76372,0.49487c-0.20881,0.20858-0.37069,0.45932-0.47483,0.73548  c-0.10002,0.26648-0.15276,0.54838-0.15585,0.833l-0.00364,0.237H17.617l0.00638-0.22692  c0.00158-0.12667,0.01966-0.25258,0.05377-0.37458c0.03337-0.10708,0.08655-0.20693,0.15679-0.29437  c0.07105-0.08037,0.15959-0.14335,0.25882-0.1841c0.22459-0.08899,0.47371-0.09417,0.7018-0.01458  c0.0822,0.03608,0.15559,0.08957,0.21509,0.15679c0.06076,0.07174,0.10745,0.15429,0.13761,0.24333  c0.03567,0.10824,0.05412,0.22141,0.05469,0.33538c-0.00111,0.08959-0.0118,0.17881-0.0319,0.26612  c-0.02913,0.10428-0.07076,0.20465-0.124,0.29893c-0.07733,0.13621-0.1654,0.26603-0.26338,0.38823  c-0.13438,0.17465-0.27767,0.34226-0.42929,0.50217l-2.15634,2.35315V21H21v-1.326H18.31234z\",superscript:\"M10.4,12,14,15.6,12.6,17,9,13.4,5.4,17,4,15.6,7.6,12,4,8.4,5.4,7,9,10.6,12.6,7,14,8.4Zm8.91234-3.326,1.06812-1.1465c.196-.20141.37093-.40739.5368-.6088a4.85745,4.85745,0,0,0,.432-.617,3.29,3.29,0,0,0,.29255-.6334,2.11079,2.11079,0,0,0,.10662-.66621,2.16127,2.16127,0,0,0-.1531-.82206,1.7154,1.7154,0,0,0-.45022-.6416,2.03,2.03,0,0,0-.72089-.40646,3.17085,3.17085,0,0,0-1.94851.04465,2.14555,2.14555,0,0,0-.76372.49487,2.07379,2.07379,0,0,0-.47483.73548,2.446,2.446,0,0,0-.15585.833l-.00364.237H18.617L18.62338,5.25a1.45865,1.45865,0,0,1,.05377-.37458.89552.89552,0,0,1,.15679-.29437.70083.70083,0,0,1,.25882-.1841,1.00569,1.00569,0,0,1,.7018-.01458.62014.62014,0,0,1,.21509.15679.74752.74752,0,0,1,.13761.24333,1.08893,1.08893,0,0,1,.05469.33538,1.25556,1.25556,0,0,1-.0319.26612,1.34227,1.34227,0,0,1-.124.29893,2.94367,2.94367,0,0,1-.26338.38823,6.41629,6.41629,0,0,1-.42929.50217L17.19709,8.92642V10H22V8.674Z\",symbols:\"M15.77493,16.98885a8.21343,8.21343,0,0,0,1.96753-2.57651,7.34824,7.34824,0,0,0,.6034-3.07618A6.09092,6.09092,0,0,0,11.99515,5a6.13347,6.13347,0,0,0-4.585,1.79187,6.417,6.417,0,0,0-1.756,4.69207,6.93955,6.93955,0,0,0,.622,2.97415,8.06587,8.06587,0,0,0,1.949,2.53076H5.41452V19h5.54114v-.04331h-.00147V16.84107a5.82825,5.82825,0,0,1-2.2052-2.2352A6.40513,6.40513,0,0,1,7.97672,11.447,4.68548,4.68548,0,0,1,9.07785,8.19191a3.73232,3.73232,0,0,1,2.9173-1.22462,3.76839,3.76839,0,0,1,2.91241,1.21489,4.482,4.482,0,0,1,1.11572,3.154,6.71141,6.71141,0,0,1-.75384,3.24732,5.83562,5.83562,0,0,1-2.22357,2.25759v2.11562H13.0444V19h5.54108V16.98885Z\",tags:\"M8.9749 7.47489a1.5 1.5 0 1 1 -1.5 1.5A1.5 1.5 0 0 1 8.9749 7.47489Zm3.78866 -3.12713L16.5362 8.12041l0.33565 0.33564 2.77038 2.77038a2.01988 2.01988 0 0 1 0.59 1.42 1.95518 1.95518 0 0 1 -0.5854 1.40455l0.00044 0.00043 -5.59583 5.59583 -0.00043 -0.00044a1.95518 1.95518 0 0 1 -1.40455 0.5854 1.98762 1.98762 0 0 1 -1.41 -0.58L8.45605 16.87185l-0.33564 -0.33565L4.35777 12.77357a1.99576 1.99576 0 0 1 -0.59 -1.42V9.36358l0 -3.59582a2.00579 2.00579 0 0 1 2 -2l3.59582 0h1.98995A1.98762 1.98762 0 0 1 12.76356 4.34776ZM15.46186 9.866l-0.33564 -0.33564L11.36359 5.76776H5.76776v5.59583L9.866 15.46186l2.7794 2.7794 5.5878 -5.60385 -0.001 -0.001Z\",tableHeader:\"M20,5H4C2.9,5,2,5.9,2,7v10c0,1.1,0.9,2,2,2h16c1.1,0,2-0.9,2-2V7C22,5.9,21.1,5,20,5z M8,17.5H4c-0.3,0-0.5-0.2-0.5-0.4  l0,0V17v-2H8V17.5z M8,13.5H3.5v-3H8V13.5z M14.5,17.5h-5V15h5V17.5z M14.5,13.5h-5v-3h5V13.5z M20.5,17c0,0.3-0.2,0.5-0.4,0.5l0,0  H16V15h4.5V17z M20.5,13.5H16v-3h4.5V13.5z M20.5,9h-4.4H16h-1.5h-5H8H7.9H3.5V7c0-0.3,0.2-0.5,0.4-0.5l0,0h4l0,0h8.2l0,0H20  c0.3,0,0.5,0.2,0.5,0.4l0,0V9z\",tableFooter:\"M20,19H4a2.006,2.006,0,0,1-2-2V7A2.006,2.006,0,0,1,4,5H20a2.006,2.006,0,0,1,2,2V17A2.006,2.006,0,0,1,20,19ZM8,6.5H4a.458.458,0,0,0-.5.4h0V9H8Zm0,4H3.5v3H8Zm6.5-4h-5V9h5Zm0,4h-5v3h5Zm6-3.5a.458.458,0,0,0-.4-.5H16V9h4.5Zm0,3.5H16v3h4.5Zm0,4.5H3.5v2a.458.458,0,0,0,.4.5H20a.458.458,0,0,0,.5-.4h0Z\",tableStyle:\"M20.0171,19.89752l.9,3.6-3.2-1.9-3.3,1.9.8-3.6-2.9-2.9h3.8l1.7-3.5,1.4,3.5h3.8ZM20,5H4A2.00591,2.00591,0,0,0,2,7V17a2.00591,2.00591,0,0,0,2,2h7.49115l-.58826-.58826L9.99115,17.5H9.5V14.9975h5.36511L16,12.66089V10.5h4.5v3h-.52783l.599,1.4975H22V7A2.00591,2.00591,0,0,0,20,5ZM3.5,7A.4724.4724,0,0,1,4,6.5H8V9H3.5Zm0,3.5H8v3H3.5Zm.5,7a.4724.4724,0,0,1-.5-.5V15H8v2.5Zm10.5-4h-5v-3h5Zm0-4.5h-5V6.5h5Zm6,0H16V6.5h4a.4724.4724,0,0,1,.5.5Z\",textColor:\"M15.2,13.494s-3.6,3.9-3.6,6.3a3.65,3.65,0,0,0,7.3.1v-.1C18.9,17.394,15.2,13.494,15.2,13.494Zm-1.47-1.357.669-.724L12.1,5h-2l-5,14h2l1.43-4h2.943A24.426,24.426,0,0,1,13.726,12.137ZM11.1,7.8l1.86,5.2H9.244Z\",textMore:\"M13.55,19h2l-5-14h-2l-5,14h2l1.4-4h5.1Zm-5.9-6,1.9-5.2,1.9,5.2Zm12.8,4.5a1.5,1.5,0,1,1-1.5-1.5A1.5,1.5,0,0,1,20.45,17.5Zm0-4a1.5,1.5,0,1,1-1.5-1.5A1.5,1.5,0,0,1,20.45,13.5Zm0-4A1.5,1.5,0,1,1,18.95,8,1.5,1.5,0,0,1,20.45,9.5Z\",underline:\"M19,20v2H5V20Zm-3-6.785a4,4,0,0,1-5.74,3.4A3.75,3.75,0,0,1,8,13.085V5.005H6v8.21a6,6,0,0,0,8,5.44,5.851,5.851,0,0,0,4-5.65v-8H16ZM16,5v0h2V5ZM8,5H6v0H8Z\",undo:\"M10.4,9.4c-1.7,0.3-3.2,0.9-4.6,2L3,8.5v7h7l-2.7-2.7c3.7-2.6,8.8-1.8,11.5,1.9c0.2,0.3,0.4,0.5,0.5,0.8l1.8-0.9  C18.9,10.8,14.7,8.7,10.4,9.4z\",unlink:\"M14.4,11l1.6,1.6V11H14.4z M17,7h-4v1.9h4c1.7,0,3.1,1.4,3.1,3.1c0,1.3-0.8,2.4-1.9,2.8l1.4,1.4C21,15.4,22,13.8,22,12  C22,9.2,19.8,7,17,7z M2,4.3l3.1,3.1C3.3,8.1,2,9.9,2,12c0,2.8,2.2,5,5,5h4v-1.9H7c-1.7,0-3.1-1.4-3.1-3.1c0-1.6,1.2-2.9,2.8-3.1  L8.7,11H8v2h2.7l2.3,2.3V17h1.7l4,4l1.4-1.4L3.4,2.9L2,4.3z\",unorderedList:\"M4,10.5c-0.8,0-1.5,0.7-1.5,1.5s0.7,1.5,1.5,1.5s1.5-0.7,1.5-1.5S4.8,10.5,4,10.5z M4,5.5C3.2,5.5,2.5,6.2,2.5,7  S3.2,8.5,4,8.5S5.5,7.8,5.5,7S4.8,5.5,4,5.5z M4,15.5c-0.8,0-1.5,0.7-1.5,1.5s0.7,1.5,1.5,1.5s1.5-0.7,1.5-1.5S4.8,15.5,4,15.5z   M7.5,6v2h14V6H7.5z M7.5,18h14v-2h-14V18z M7.5,13h14v-2h-14V13z\",verticalAlignBottom:\"M16,13h-3V3h-2v10H8l4,4L16,13z M3,19v2h18v-2H3z\",verticalAlignMiddle:\"M3,11v2h18v-2H3z M8,18h3v3h2v-3h3l-4-4L8,18z M16,6h-3V3h-2v3H8l4,4L16,6z\",verticalAlignTop:\"M8,11h3v10h2V11h3l-4-4L8,11z M21,5V3H3v2H21z\",filestackIconAdd:\"M21 16.75 16.985 21v-4.25H21ZM7.154 12.5c2.294 0 4.154 1.902 4.154 4.25S9.448 21 7.154 21C4.86 21 3 19.097 3 16.75s1.86-4.25 4.154-4.25Zm8.862 6.8V21H10.24a5.283 5.283 0 0 0 1.441-1.7h4.334ZM7.46 14.093h-.614a.215.215 0 0 0-.212.218v1.907H4.77a.215.215 0 0 0-.212.218v.628c0 .12.094.217.212.217h1.865v1.908c0 .12.095.217.212.217h.614a.214.214 0 0 0 .212-.217V17.28h1.865a.214.214 0 0 0 .212-.217v-.628a.215.215 0 0 0-.212-.218H7.673v-1.907a.215.215 0 0 0-.212-.218Zm5.647-.035v1.558h-.886a5.324 5.324 0 0 0-.615-1.558h1.501ZM21 4v11.616h-1.522V5.559H8.538v6.094a5.018 5.018 0 0 0-1.384-.216V4H21Zm-5.4 7.366v1.559h-4.015v-1.559h4.016Zm.97-2.691v1.559h-4.985v-1.56h4.985Z\",trackChanges:\"M17.2 20H12.4599L13.9938 19.2076L14.0305 19.1886L14.0616 19.1612C14.1036 19.1242 14.1373 19.0786 14.1603 19.0275C14.1806 18.9825 14.1923 18.9342 14.1948 18.885H14.2H14.3384L14.4364 18.7874L14.7049 18.52H15.45C15.5747 18.52 15.6942 18.4705 15.7823 18.3823C15.8705 18.2942 15.92 18.1746 15.92 18.05C15.92 17.9253 15.8705 17.8058 15.7823 17.7176C15.7351 17.6704 15.6789 17.6343 15.6177 17.6109L17.33 15.9056V19.87C17.33 19.8871 17.3266 19.904 17.3201 19.9197C17.3136 19.9355 17.304 19.9499 17.2919 19.9619C17.2799 19.974 17.2655 19.9836 17.2497 19.9901C17.234 19.9966 17.2171 20 17.2 20ZM4.13 20H11.2508C11.2396 19.9629 11.2337 19.9242 11.2337 19.885C11.2337 19.8133 11.2533 19.7431 11.29 19.6819L11.2739 19.6734L11.8838 18.52H5C4.87535 18.52 4.7558 18.4705 4.66766 18.3823C4.57952 18.2942 4.53 18.1746 4.53 18.05C4.53 17.9253 4.57952 17.8058 4.66766 17.7176C4.7558 17.6295 4.87535 17.58 5 17.58H12.3809L12.3925 17.5582L12.4187 17.5284C12.4558 17.4864 12.5014 17.4527 12.5525 17.4297C12.5836 17.4156 12.6163 17.4057 12.6498 17.4001C12.6522 17.3065 12.6877 17.2166 12.7503 17.1467L13 17.37C12.9902 17.381 12.9847 17.3952 12.9847 17.41C12.9847 17.4247 12.9902 17.439 13 17.45L14.13 18.55H14.2L19.09 13.68V13.6L17.99 12.5C17.979 12.4902 17.9647 12.4847 17.95 12.4847C17.9352 12.4847 17.921 12.4902 17.91 12.5L13 17.37L12.7641 17.1322L15.1759 14.74H5C4.87535 14.74 4.7558 14.6905 4.66766 14.6023C4.57952 14.5142 4.53 14.3946 4.53 14.27C4.53 14.1453 4.57952 14.0258 4.66766 13.9376C4.7558 13.8495 4.87535 13.8 5 13.8H15.45C15.5747 13.8 15.6942 13.8495 15.7823 13.9376C15.8169 13.9722 15.8454 14.0115 15.8675 14.0541L17.33 12.6034V9.3H13.28C13.207 9.30976 13.133 9.30976 13.06 9.3C12.7697 9.22119 12.5113 9.05343 12.3212 8.82027C12.1311 8.58711 12.0187 8.30026 12 8V4H4.13C4.09552 4 4.06246 4.0137 4.03808 4.03808C4.0137 4.06246 4 4.09552 4 4.13V19.87C4 19.9045 4.0137 19.9375 4.03808 19.9619C4.06246 19.9863 4.09552 20 4.13 20ZM11.7889 20H11.8785C11.8902 19.9746 11.898 19.9475 11.9015 19.9197L11.8661 19.9866L11.8117 19.9578L13.84 18.91C13.8464 18.9044 13.8515 18.8974 13.855 18.8897C13.8585 18.8819 13.8603 18.8735 13.8603 18.865C13.8603 18.8565 13.8585 18.8481 13.855 18.8403C13.8515 18.8325 13.8464 18.8256 13.84 18.82L12.76 17.75C12.7544 17.7436 12.7474 17.7385 12.7397 17.735C12.7319 17.7315 12.7235 17.7297 12.715 17.7297C12.7065 17.7297 12.6981 17.7315 12.6903 17.735C12.6825 17.7385 12.6756 17.7436 12.67 17.75L11.57 19.83L11.5023 19.7942L11.58 19.85C11.5727 19.8602 11.5687 19.8724 11.5687 19.885C11.5687 19.8975 11.5727 19.9098 11.58 19.92L11.67 20H11.73L11.7642 19.9823L11.7889 20ZM13.1 4.65L16.6 8.15C16.6212 8.17232 16.6355 8.20028 16.6412 8.23051C16.6469 8.26075 16.6437 8.29199 16.6321 8.32048C16.6205 8.34898 16.6009 8.37352 16.5757 8.39117C16.5505 8.40882 16.5207 8.41883 16.49 8.42H13.06L12.83 8.19V4.76C12.8312 4.72925 12.8412 4.6995 12.8588 4.67429C12.8765 4.64909 12.901 4.62951 12.9295 4.6179C12.958 4.6063 12.9893 4.60315 13.0195 4.60884C13.0497 4.61453 13.0777 4.62882 13.1 4.65ZM11 6.72C11.0027 6.66089 10.9937 6.60183 10.9735 6.54621C10.9534 6.49058 10.9224 6.43948 10.8825 6.39582C10.8425 6.35216 10.7944 6.31681 10.7408 6.29179C10.6871 6.26677 10.6291 6.25257 10.57 6.25H5C4.88239 6.25773 4.77251 6.3113 4.69397 6.39918C4.61543 6.48707 4.57451 6.60226 4.58 6.72C4.57451 6.83774 4.61543 6.95293 4.69397 7.04082C4.77251 7.12871 4.88239 7.18227 5 7.19H10.6C10.714 7.1774 10.8189 7.12173 10.8933 7.03438C10.9676 6.94702 11.0058 6.83457 11 6.72ZM11.1 8.14001H5C4.87535 8.14001 4.7558 8.18953 4.66766 8.27767C4.57952 8.36582 4.53 8.48536 4.53 8.61001C4.53 8.73467 4.57952 8.85421 4.66766 8.94236C4.7558 9.0305 4.87535 9.08001 5 9.08001H11.1C11.2247 9.08001 11.3442 9.0305 11.4323 8.94236C11.5205 8.85421 11.57 8.73467 11.57 8.61001C11.57 8.48536 11.5205 8.36582 11.4323 8.27767C11.3442 8.18953 11.2247 8.14001 11.1 8.14001ZM5 11H15.45C15.5826 11 15.7098 10.9473 15.8036 10.8536C15.8973 10.7598 15.95 10.6326 15.95 10.5C15.95 10.3674 15.8973 10.2402 15.8036 10.1464C15.7098 10.0527 15.5826 10 15.45 10H5C4.86739 10 4.74021 10.0527 4.64645 10.1464C4.55268 10.2402 4.5 10.3674 4.5 10.5C4.5 10.6326 4.55268 10.7598 4.64645 10.8536C4.74021 10.9473 4.86739 11 5 11ZM5 12.86H11.1C11.2211 12.8523 11.3346 12.798 11.4166 12.7085C11.4986 12.6191 11.5428 12.5013 11.54 12.38C11.5427 12.2597 11.4982 12.1431 11.4159 12.0552C11.3337 11.9673 11.2202 11.9152 11.1 11.91H5C4.94089 11.9126 4.88286 11.9268 4.82924 11.9518C4.77562 11.9768 4.72746 12.0122 4.68752 12.0558C4.64758 12.0995 4.61664 12.1506 4.59648 12.2062C4.57631 12.2618 4.56731 12.3209 4.57 12.38C4.56451 12.5004 4.60649 12.6181 4.6869 12.7079C4.76731 12.7976 4.87974 12.8523 5 12.86ZM11.1 16.63H5C4.87535 16.63 4.7558 16.5805 4.66766 16.4923C4.57952 16.4042 4.53 16.2846 4.53 16.16C4.53 16.0353 4.57952 15.9158 4.66766 15.8276C4.7558 15.7395 4.87535 15.69 5 15.69H11.1C11.2247 15.69 11.3442 15.7395 11.4323 15.8276C11.5205 15.9158 11.57 16.0353 11.57 16.16C11.57 16.2846 11.5205 16.4042 11.4323 16.4923C11.3442 16.5805 11.2247 16.63 11.1 16.63ZM18.8503 11.592C18.7991 11.6175 18.7545 11.6544 18.72 11.7L18.26 12.14C18.2501 12.151 18.2447 12.1652 18.2447 12.18C18.2447 12.1947 18.2501 12.209 18.26 12.22L19.37 13.32C19.381 13.3298 19.3952 13.3353 19.41 13.3353C19.4247 13.3353 19.439 13.3298 19.45 13.32L19.86 12.91C19.9057 12.867 19.9421 12.8151 19.967 12.7575C19.9919 12.6998 20.0047 12.6377 20.0047 12.575C20.0047 12.5122 19.9919 12.4501 19.967 12.3925C19.9421 12.3349 19.9057 12.283 19.86 12.24L19.31 11.7C19.2755 11.6544 19.2309 11.6175 19.1797 11.592C19.1285 11.5666 19.0721 11.5533 19.015 11.5533C18.9578 11.5533 18.9014 11.5666 18.8503 11.592Z\",showTrackChanges:\"M17.2421 13.6048C17.2631 13.6136 17.2841 13.6226 17.305 13.6317V9.29505H13.2626C13.1897 9.30481 13.1159 9.30481 13.043 9.29505C12.7532 9.21632 12.4953 9.04872 12.3056 8.81577C12.1158 8.58283 12.0037 8.29625 11.985 7.99627V4H4.12976C4.09534 4 4.06234 4.01368 4.038 4.03804C4.01367 4.0624 4 4.09543 4 4.12988V19.8552C4 19.8896 4.01367 19.9227 4.038 19.947C4.06234 19.9714 4.09534 19.9851 4.12976 19.9851H13.4875C13.0501 19.8216 12.6281 19.6155 12.2277 19.3686C11.8529 19.1551 11.4911 18.9196 11.1442 18.6632C11.0697 18.6152 10.9982 18.5628 10.9302 18.5065H4.99812C4.87371 18.5065 4.75438 18.457 4.66641 18.3689C4.57843 18.2809 4.529 18.1614 4.529 18.0369C4.529 17.9124 4.57843 17.7929 4.66641 17.7049C4.75438 17.6168 4.87371 17.5673 4.99812 17.5673H10.4396C10.4472 17.4488 10.4756 17.3324 10.5235 17.2235C10.5939 17.017 10.6761 16.8149 10.7694 16.6182H4.99812C4.87371 16.6182 4.75438 16.5687 4.66641 16.4807C4.57843 16.3926 4.529 16.2732 4.529 16.1487C4.529 16.0241 4.57843 15.9047 4.66641 15.8166C4.75438 15.7286 4.87371 15.6791 4.99812 15.6791H11.0867C11.1576 15.6791 11.2268 15.6952 11.2895 15.7253C11.5204 15.361 11.7938 15.027 12.1033 14.73H4.99812C4.87371 14.73 4.75438 14.6805 4.66641 14.5924C4.57843 14.5044 4.529 14.385 4.529 14.2604C4.529 14.1359 4.57843 14.0164 4.66641 13.9284C4.75438 13.8403 4.87371 13.7909 4.99812 13.7909H13.4434C13.9833 13.525 14.5656 13.3516 15.166 13.2795L15.1923 13.2763H15.2189H15.4925C16.0923 13.2609 16.6886 13.3728 17.2421 13.6048ZM13.0829 4.64939L16.5764 8.14613C16.5975 8.16843 16.6118 8.19636 16.6174 8.22657C16.6231 8.25677 16.62 8.28798 16.6084 8.31645C16.5968 8.34492 16.5773 8.36944 16.5521 8.38707C16.527 8.40471 16.4973 8.41471 16.4666 8.41587H13.043L12.8134 8.18609V4.75929C12.8146 4.72857 12.8246 4.69884 12.8422 4.67366C12.8598 4.64849 12.8843 4.62893 12.9128 4.61733C12.9412 4.60573 12.9724 4.60259 13.0026 4.60827C13.0328 4.61396 13.0607 4.62824 13.0829 4.64939ZM10.9869 6.71746C10.9896 6.65841 10.9806 6.59941 10.9604 6.54383C10.9403 6.48825 10.9094 6.4372 10.8696 6.39358C10.8297 6.34997 10.7816 6.31465 10.7281 6.28965C10.6746 6.26466 10.6167 6.25047 10.5577 6.2479H4.99813C4.88074 6.25562 4.77106 6.30914 4.69267 6.39694C4.61428 6.48475 4.57343 6.59983 4.57891 6.71746C4.57343 6.83509 4.61428 6.95017 4.69267 7.03798C4.77106 7.12579 4.88074 7.1793 4.99813 7.18702H10.5876C10.7014 7.17444 10.8061 7.11882 10.8803 7.03154C10.9545 6.94427 10.9927 6.83192 10.9869 6.71746ZM11.0867 8.13614H4.99812C4.87371 8.13614 4.75438 8.18561 4.66641 8.27367C4.57843 8.36173 4.529 8.48116 4.529 8.6057C4.529 8.73023 4.57843 8.84967 4.66641 8.93773C4.75438 9.02579 4.87371 9.07526 4.99812 9.07526H11.0867C11.2111 9.07526 11.3304 9.02579 11.4184 8.93773C11.5064 8.84967 11.5558 8.73023 11.5558 8.6057C11.5558 8.48116 11.5064 8.36173 11.4184 8.27367C11.3304 8.18561 11.2111 8.13614 11.0867 8.13614ZM4.99812 10.9935H15.4285C15.5609 10.9935 15.6878 10.9408 15.7814 10.8472C15.875 10.7535 15.9276 10.6264 15.9276 10.4939C15.9276 10.3614 15.875 10.2344 15.7814 10.1407C15.6878 10.047 15.5609 9.9944 15.4285 9.9944H4.99812C4.86576 9.9944 4.73883 10.047 4.64523 10.1407C4.55164 10.2344 4.49906 10.3614 4.49906 10.4939C4.49906 10.6264 4.55164 10.7535 4.64523 10.8472C4.73883 10.9408 4.86576 10.9935 4.99812 10.9935ZM4.99812 12.8517H11.0867C11.2076 12.844 11.3208 12.7898 11.4027 12.7004C11.4845 12.611 11.5287 12.4934 11.5259 12.3722C11.5286 12.252 11.4841 12.1355 11.402 12.0477C11.3199 11.9599 11.2067 11.9078 11.0867 11.9026H4.99812C4.93912 11.9052 4.8812 11.9194 4.82769 11.9444C4.77417 11.9694 4.7261 12.0047 4.68623 12.0483C4.64637 12.0919 4.61549 12.143 4.59536 12.1985C4.57523 12.2541 4.56625 12.3131 4.56893 12.3722C4.56345 12.4925 4.60535 12.6101 4.68561 12.6998C4.76587 12.7894 4.87809 12.844 4.99812 12.8517ZM19.97 17.4974C19.5787 16.5636 19.0431 15.6971 18.383 14.9298C18.0152 14.5351 17.5679 14.2233 17.0706 14.0148C16.5732 13.8064 16.0373 13.7062 15.4984 13.7209H15.2189C14.4787 13.8098 13.7684 14.0666 13.1423 14.4717C12.5162 14.8769 11.9906 15.4196 11.6057 16.0587C11.3211 16.4677 11.0959 16.9151 10.937 17.3875C10.9006 17.464 10.8817 17.5476 10.8817 17.6323C10.8817 17.717 10.9006 17.8006 10.937 17.877C11.0642 18.0428 11.2196 18.1849 11.3961 18.2967C11.7346 18.5476 12.0879 18.7778 12.4541 18.986C13.4096 19.5767 14.497 19.92 15.6182 19.9851C16.4392 20.0504 17.2632 19.9005 18.0088 19.5501C18.7544 19.1998 19.3959 18.661 19.8702 17.9869C19.9311 17.923 19.9729 17.8432 19.9905 17.7566C20.0082 17.67 20.0011 17.5801 19.97 17.4974ZM15.9775 19.1758C14.3849 19.068 12.8507 18.5331 11.5358 17.6273C11.5788 17.5678 11.6255 17.5111 11.6756 17.4574C12.3061 16.569 13.1295 15.8359 14.0832 15.3126C13.8003 15.7406 13.6785 16.2566 13.7417 16.7681C13.7676 17.0339 13.8465 17.2918 13.9737 17.5265C14.1009 17.7613 14.2739 17.9681 14.4823 18.1348C14.6907 18.3016 14.9304 18.4248 15.1872 18.4972C15.4441 18.5696 15.7128 18.5897 15.9775 18.5564C16.305 18.4971 16.6137 18.3609 16.8785 18.159C17.1432 17.9572 17.3564 17.6954 17.5005 17.3951C17.6446 17.0949 17.7156 16.7647 17.7077 16.4317C17.6997 16.0987 17.613 15.7723 17.4547 15.4793C17.2614 15.3391 17.0533 15.2235 16.8351 15.1339C17.0715 15.226 17.2966 15.3485 17.5046 15.4993C18.0049 15.8976 18.4424 16.3691 18.8022 16.898L18.8927 17.0137L18.8927 17.0137C19.0823 17.2564 19.2729 17.5004 19.4709 17.7072C18.5404 18.6311 17.288 19.1576 15.9775 19.1758ZM16.3168 15.769C16.2085 15.8106 16.1171 15.8873 16.0574 15.9869C15.9977 16.0865 15.9731 16.2032 15.9875 16.3185C15.9949 16.3856 16.0156 16.4505 16.0483 16.5096C16.081 16.5686 16.1251 16.6206 16.178 16.6624C16.2309 16.7042 16.2916 16.7351 16.3566 16.7532C16.4216 16.7714 16.4895 16.7764 16.5564 16.7681H16.6063C16.5618 16.9495 16.4637 17.1132 16.3248 17.238C16.186 17.3627 16.0127 17.4427 15.8278 17.4674H15.6481C15.4335 17.4396 15.2337 17.3427 15.0789 17.1913C14.924 17.04 14.8226 16.8423 14.7897 16.6282C14.7628 16.3782 14.8311 16.1271 14.981 15.9253C15.1305 15.7238 15.3504 15.5861 15.5968 15.5395C15.3446 15.5862 15.12 15.7284 14.9697 15.9364C14.8191 16.1448 14.7547 16.4034 14.7897 16.6582C14.8226 16.8723 14.924 17.0699 15.0789 17.2213C15.2337 17.3727 15.4335 17.4696 15.6481 17.4974H15.8377C16.0209 17.4708 16.1919 17.39 16.3289 17.2654C16.4658 17.1408 16.5625 16.978 16.6063 16.7981C16.7293 16.7633 16.8359 16.686 16.9072 16.5799C16.9785 16.4737 17.0098 16.3457 16.9956 16.2186C16.9882 16.1515 16.9675 16.0865 16.9348 16.0275C16.9021 15.9685 16.858 15.9165 16.805 15.8747C16.7521 15.8329 16.6914 15.802 16.6264 15.7838C16.5615 15.7657 16.4936 15.7607 16.4266 15.769H16.3168Z\",acceptAllChanges:\"M9.36499 16.7348C9.38499 16.7547 9.41212 16.7659 9.44041 16.7659H10.9881C10.9028 16.6008 10.9289 16.3933 11.0663 16.2541L11.7266 15.585H10.1444C10.0549 15.5701 9.97363 15.5238 9.91498 15.4547C9.85639 15.3856 9.82422 15.298 9.82422 15.2074C9.82422 15.1169 9.85639 15.0292 9.91498 14.9601C9.97363 14.891 10.0549 14.8448 10.1444 14.8298H12.4879C12.5584 14.785 12.6407 14.7607 12.7257 14.7607C12.8106 14.7607 12.893 14.785 12.9635 14.8298H16.5295L18.3303 13.0091C18.4135 12.925 18.5271 12.8776 18.6456 12.8777C18.7642 12.8777 18.8777 12.9252 18.9609 13.0094L20 14.0621V8.25532H16.8001C16.7301 8.27288 16.6568 8.27288 16.5868 8.25532C16.3485 8.1935 16.1367 8.0565 15.9829 7.86478C15.8292 7.67306 15.7416 7.43688 15.7335 7.19149V4H9.44041C9.41293 4.0024 9.38718 4.01437 9.36767 4.03383C9.34816 4.05329 9.33615 4.07897 9.33375 4.10638V16.6596C9.33375 16.6878 9.34499 16.7148 9.36499 16.7348ZM10.0744 17.2979H11.4803L12.259 18.0957H5.06727C5.01734 18.0957 4.96838 18.1057 4.9232 18.1246C4.8788 18.1431 4.83798 18.1702 4.80335 18.2048C4.7333 18.2746 4.69398 18.3693 4.69398 18.468C4.69398 18.5668 4.7333 18.6615 4.80335 18.7313C4.87333 18.8011 4.96832 18.8404 5.06727 18.8404H12.9857L13.7947 19.6693L14.0836 19.9574H4.10733C4.09291 19.9591 4.07829 19.9576 4.06457 19.9528C4.05085 19.9481 4.03838 19.9403 4.02812 19.9301C4.01785 19.9198 4.01004 19.9074 4.00529 19.8937C4.00054 19.88 3.99896 19.8654 4.00067 19.8511V7.29787C4.00067 7.26966 4.01191 7.2426 4.03191 7.22265C4.05192 7.2027 4.07905 7.19149 4.10733 7.19149H8.70447V9.05319H5.06727C4.97294 9.05867 4.88453 9.10069 4.8208 9.17019C4.757 9.23973 4.72302 9.33135 4.72594 9.42553C4.72289 9.52082 4.75654 9.61364 4.82002 9.6849C4.88356 9.75613 4.97203 9.80038 5.06727 9.8085H8.70447V10.5638H5.06727C5.01968 10.5652 4.97274 10.5759 4.92932 10.5954C4.88583 10.6148 4.84664 10.6426 4.8139 10.6772C4.78122 10.7118 4.7557 10.7525 4.73877 10.7969C4.72184 10.8413 4.7139 10.8887 4.71527 10.9361C4.7139 10.9837 4.72184 11.031 4.73877 11.0754C4.74424 11.0897 4.75055 11.1037 4.75778 11.1171C4.76162 11.1243 4.76566 11.1313 4.76995 11.1382C4.78265 11.1585 4.79736 11.1776 4.8139 11.1951C4.84664 11.2297 4.88583 11.2575 4.92932 11.2769C4.95491 11.2884 4.98173 11.2968 5.0092 11.3021C5.02834 11.3058 5.04774 11.3079 5.06727 11.3085H8.70447V12.0638H5.06734C4.97782 12.0789 4.89651 12.1251 4.83792 12.1942C4.77926 12.2633 4.7471 12.351 4.7471 12.4415C4.7471 12.5321 4.77926 12.6197 4.83792 12.6888C4.89651 12.758 4.97782 12.8041 5.06734 12.8192H8.70447V13.5745H5.06734C4.97782 13.5895 4.89651 13.6357 4.83792 13.7048C4.81383 13.7332 4.79424 13.7647 4.77946 13.7983C4.7583 13.8465 4.7471 13.8988 4.7471 13.9522C4.7471 14.0427 4.77926 14.1303 4.83792 14.1994C4.89651 14.2686 4.97782 14.3147 5.06734 14.3298H8.70447V15.0744H5.06727C4.97776 15.0895 4.89651 15.1357 4.83785 15.2048C4.77926 15.2739 4.7471 15.3616 4.7471 15.4521C4.7471 15.5043 4.75778 15.5556 4.77809 15.6029C4.793 15.6376 4.81305 15.6701 4.83785 15.6994C4.89651 15.7685 4.97776 15.8147 5.06727 15.8298H8.70447V16.5851H5.06727C4.97776 16.6001 4.89651 16.6463 4.83785 16.7154C4.79489 16.7661 4.76618 16.8267 4.75387 16.8912C4.74938 16.9146 4.7471 16.9386 4.7471 16.9628C4.7471 17.0533 4.77926 17.1409 4.83785 17.21C4.89651 17.2792 4.97776 17.3253 5.06727 17.3404H9.95241C9.99552 17.3331 10.0367 17.3187 10.0744 17.2979ZM20 15.3204L18.5709 16.7659H19.8933C19.9216 16.7659 19.9487 16.7547 19.9687 16.7348C19.9887 16.7148 20 16.6878 20 16.6596V15.3204ZM14.7526 16.6264L13.7248 15.585H15.7825L14.7526 16.6264ZM14.9498 6.08721C14.9465 6.06854 14.9416 6.05023 14.9353 6.03244C14.9202 5.98939 14.897 5.94929 14.8665 5.91442C14.8145 5.85488 14.7444 5.81394 14.6669 5.79787H10.1337C10.0348 5.79787 9.93978 5.83709 9.8698 5.90693C9.79975 5.97676 9.76043 6.07146 9.76043 6.17022C9.76043 6.19463 9.76283 6.21879 9.76752 6.24239C9.77462 6.2782 9.78692 6.31268 9.80398 6.34479C9.82123 6.37716 9.8433 6.40709 9.8698 6.43348C9.93978 6.50332 10.0348 6.54257 10.1337 6.54257H14.6669C14.6811 6.54023 14.6951 6.53702 14.7088 6.53299C14.7206 6.52955 14.7322 6.52549 14.7436 6.52082C14.7624 6.51309 14.7806 6.50371 14.7979 6.4928C14.8378 6.46764 14.8722 6.43468 14.8991 6.39599C14.9259 6.35729 14.9447 6.31359 14.9543 6.26749C14.9554 6.26232 14.9563 6.25716 14.9571 6.25197C14.9579 6.24739 14.9586 6.24281 14.9591 6.23824C14.9612 6.22129 14.962 6.20424 14.9616 6.18723C14.961 6.16727 14.9588 6.14733 14.9549 6.12766C14.9539 6.11406 14.9523 6.10055 14.9498 6.08721ZM15.0189 7.29788H10.1445C10.0549 7.31291 9.97363 7.35911 9.91504 7.42823C9.85639 7.49738 9.82422 7.585 9.82422 7.67555C9.82422 7.76609 9.85639 7.85369 9.91504 7.92284C9.97363 7.99196 10.0549 8.03815 10.1445 8.05319H15.0189C15.0321 8.05241 15.0451 8.05095 15.058 8.04877C15.0745 8.04601 15.0906 8.04212 15.1064 8.03718C15.1669 8.01822 15.2219 7.98361 15.2654 7.93618C15.3291 7.86664 15.3632 7.77502 15.3602 7.68084C15.3606 7.67392 15.3608 7.66701 15.3608 7.66009C15.3609 7.65087 15.3606 7.64165 15.3599 7.63247C15.3592 7.62263 15.358 7.61279 15.3565 7.60302C15.3532 7.58188 15.3479 7.56104 15.3409 7.54072C15.3254 7.49575 15.301 7.45426 15.2693 7.41868C15.2492 7.39621 15.2265 7.37638 15.2017 7.35959C15.1872 7.34979 15.172 7.34102 15.1562 7.33339C15.1132 7.31265 15.0665 7.3006 15.0189 7.29788ZM10.1445 9.56381H18.496C18.5856 9.54877 18.6669 9.50258 18.7255 9.43346C18.7841 9.3643 18.8163 9.27671 18.8163 9.18617C18.8163 9.09562 18.7841 9.008 18.7255 8.93884C18.6669 8.86973 18.5856 8.82353 18.496 8.8085H10.1445C10.0549 8.82353 9.97363 8.86973 9.91504 8.93884C9.85639 9.008 9.82422 9.09562 9.82422 9.18617C9.82422 9.24412 9.83738 9.30087 9.86224 9.35236C9.87624 9.38132 9.89395 9.40859 9.91504 9.43346C9.97363 9.50258 10.0549 9.54877 10.1445 9.56381ZM10.1445 11.0638H15.0189C15.1084 11.0488 15.1897 11.0026 15.2483 10.9335C15.2854 10.8898 15.3118 10.8387 15.3263 10.7842C15.3347 10.7525 15.3391 10.7195 15.3391 10.6861C15.3391 10.5956 15.3069 10.508 15.2483 10.4389C15.1897 10.3697 15.1084 10.3235 15.0189 10.3085H10.1445C10.0549 10.3235 9.97363 10.3697 9.91504 10.4389C9.85639 10.508 9.82422 10.5956 9.82422 10.6861C9.82422 10.7424 9.83666 10.7976 9.8601 10.8478C9.87442 10.8785 9.89284 10.9073 9.91504 10.9335C9.97363 11.0026 10.0549 11.0488 10.1445 11.0638ZM18.496 12.5745H10.1444C10.0549 12.5594 9.97363 12.5132 9.91498 12.4441C9.85639 12.3749 9.82422 12.2873 9.82422 12.1968C9.82422 12.1062 9.85639 12.0186 9.91498 11.9495C9.97363 11.8803 10.0549 11.8342 10.1444 11.8191H18.496C18.5856 11.8342 18.6669 11.8803 18.7255 11.9495C18.7841 12.0186 18.8163 12.1062 18.8163 12.1968C18.8163 12.2873 18.7841 12.3749 18.7255 12.4441C18.6971 12.4776 18.6633 12.5058 18.6259 12.5276C18.5861 12.5507 18.5421 12.5667 18.496 12.5745ZM15.0189 14.0744H10.1444C10.0968 14.0731 10.0499 14.0624 10.0064 14.0429C9.96296 14.0234 9.92376 13.9956 9.89102 13.961C9.85834 13.9265 9.83282 13.8857 9.81589 13.8413C9.79897 13.7969 9.79102 13.7496 9.79239 13.7021C9.79102 13.6546 9.79897 13.6073 9.81589 13.5628C9.83282 13.5184 9.85834 13.4778 9.89102 13.4432C9.92376 13.4086 9.96296 13.3808 10.0064 13.3613C10.0499 13.3419 10.0968 13.3311 10.1444 13.3297H15.0189C15.0661 13.3311 15.1125 13.3419 15.1554 13.3615C15.1983 13.381 15.2368 13.4091 15.2686 13.4438C15.3005 13.4785 15.325 13.5193 15.3407 13.5637C15.3564 13.608 15.363 13.6551 15.3602 13.7021C15.3631 13.7963 15.3291 13.8879 15.2653 13.9574C15.2016 14.027 15.1132 14.0689 15.0189 14.0744ZM16.6188 4.52128L19.4133 7.30852C19.4293 7.32624 19.4401 7.34808 19.4443 7.37157C19.4485 7.39506 19.446 7.41925 19.4371 7.4414C19.4282 7.46356 19.4133 7.48278 19.394 7.4969C19.3747 7.51102 19.3518 7.51947 19.328 7.52128H16.5868L16.4054 7.34043V4.60639C16.4073 4.5826 16.4157 4.55979 16.4299 4.54056C16.444 4.52133 16.4633 4.50644 16.4855 4.49757C16.5077 4.48871 16.532 4.48624 16.5556 4.49043C16.5791 4.49462 16.601 4.50531 16.6188 4.52128ZM18.6454 13.3192L20 14.6915L14.7522 20L14.7416 19.9894L14.1123 19.3617L13.3976 18.6277L11.3817 16.5638L12.7257 15.2021L14.7522 17.2553L18.6454 13.3192Z\",rejectAllChanges:\"M9.54637 16.5847H8.96997V15.8295H12.786C12.8024 15.8265 12.8186 15.8223 12.8343 15.817C12.8535 15.8105 12.8719 15.8023 12.8897 15.7926C12.9315 15.7697 12.969 15.738 12.9997 15.6991C13.0268 15.6649 13.0478 15.6261 13.0621 15.5847H13.571V16.7656H9.79386C9.78396 16.7479 9.77269 16.731 9.76011 16.7151C9.70552 16.6459 9.62976 16.5998 9.54637 16.5847ZM13.4717 12.9573V13.3295H9.72523C9.6809 13.3309 9.63716 13.3416 9.59671 13.361C9.57578 13.3711 9.55595 13.3834 9.53745 13.3977C9.5201 13.411 9.50391 13.4262 9.48917 13.4429C9.45872 13.4775 9.43494 13.5182 9.41917 13.5626C9.41778 13.5664 9.41644 13.5703 9.41523 13.5742H8.96997V12.8189H12.786C12.8694 12.8039 12.9452 12.7577 12.9997 12.6886C13.0078 12.6784 13.0153 12.6677 13.0223 12.6568L13.029 12.6458L13.033 12.6389L13.0397 12.6266C13.0452 12.6157 13.0503 12.6046 13.055 12.5931C13.0576 12.5869 13.0599 12.5806 13.0621 12.5742H13.6872C13.6453 12.5965 13.607 12.6269 13.5746 12.6644C13.5059 12.7439 13.469 12.849 13.4717 12.9573ZM9.82598 14.0742H13.4758C13.4809 14.0932 13.4904 14.1108 13.5037 14.1251C13.5242 14.147 13.552 14.1593 13.581 14.1593H13.6008L13.571 14.1912V14.8295H9.72523C9.64183 14.8445 9.56614 14.8907 9.51149 14.9598C9.4845 14.994 9.46351 15.0328 9.4492 15.0741H8.96997V14.3295H9.54637C9.62976 14.3145 9.70552 14.2683 9.76011 14.1992C9.78947 14.162 9.81166 14.1195 9.82598 14.0742ZM18.9075 8.2552V12.5317H17.7846V12.323C17.7978 12.2827 17.8047 12.2399 17.8047 12.1965C17.8047 12.106 17.7747 12.0184 17.7201 11.9493C17.6655 11.8801 17.5897 11.834 17.5063 11.8189H9.72523C9.64183 11.834 9.56614 11.8801 9.51149 11.9493C9.48444 11.9835 9.46351 12.0222 9.4492 12.0636H8.96997V11.3083H9.54637C9.63425 11.3028 9.71662 11.2608 9.776 11.1913C9.80687 11.1551 9.83029 11.113 9.84527 11.0676L9.84654 11.0637H14.2667C14.3501 11.0486 14.4258 11.0024 14.4805 10.9333C14.5231 10.8794 14.5507 10.8142 14.5607 10.7452C14.5636 10.7258 14.565 10.706 14.565 10.686C14.565 10.6658 14.5635 10.6458 14.5606 10.626C14.5572 10.6026 14.5516 10.5796 14.5442 10.5573C14.5299 10.5144 14.5084 10.4741 14.4805 10.4387C14.4258 10.3696 14.3501 10.3234 14.2667 10.3083H9.72529C9.6832 10.3159 9.64299 10.3314 9.60653 10.3538C9.57081 10.3759 9.5386 10.4045 9.51155 10.4387C9.49639 10.4579 9.4831 10.4785 9.47182 10.5002C9.46133 10.5205 9.45259 10.5417 9.44568 10.5636H8.96997V9.80838H9.16873C9.25656 9.80286 9.33899 9.76085 9.39837 9.69131C9.45775 9.62177 9.48947 9.53022 9.48674 9.43601C9.48711 9.42951 9.48735 9.42302 9.48741 9.41653C9.48741 9.41049 9.48729 9.40445 9.48705 9.39848C9.49457 9.41055 9.50269 9.42218 9.51155 9.43334C9.56614 9.50249 9.64189 9.54866 9.72529 9.56372H17.5063C17.5897 9.54866 17.6655 9.50249 17.7201 9.43334C17.7747 9.36419 17.8047 9.2766 17.8047 9.18603C17.8047 9.09552 17.7747 9.00786 17.7201 8.93878C17.6655 8.86963 17.5897 8.82346 17.5063 8.8084H9.72529C9.64189 8.82346 9.56614 8.86963 9.51155 8.93878C9.4569 9.00786 9.42694 9.09552 9.42694 9.18603L9.427 9.19707L9.42754 9.20875C9.41972 9.19661 9.41123 9.18499 9.40201 9.17389C9.38478 9.15311 9.36537 9.1346 9.34427 9.11863C9.33735 9.11344 9.33026 9.1085 9.32298 9.10383C9.31855 9.10097 9.31406 9.09824 9.30951 9.09565L9.30424 9.09266L9.29659 9.08857C9.28792 9.08402 9.27906 9.07993 9.27009 9.07623C9.2616 9.07279 9.25298 9.06974 9.24431 9.06701C9.21974 9.05935 9.19439 9.05461 9.16873 9.05305H8.96997V4.10638C8.97221 4.07897 8.9834 4.05328 9.00157 4.03383C9.01975 4.01437 9.04374 4.0024 9.06935 4H14.9325V7.1914C14.9401 7.43679 15.0216 7.67296 15.1649 7.86468C15.3082 8.0564 15.5055 8.19338 15.7275 8.2552C15.7927 8.27277 15.861 8.27277 15.9262 8.2552H18.9075ZM13.571 17.2975V19.4251L13.5722 19.4615C13.5835 19.6376 13.6323 19.8068 13.7133 19.957H4.10061C4.08718 19.9587 4.07355 19.9571 4.06077 19.9524C4.04799 19.9477 4.03637 19.9399 4.02681 19.9296C4.01724 19.9194 4.00997 19.907 4.00554 19.8933C4.00111 19.8796 3.99964 19.865 4.00124 19.8506V7.29778C4.00124 7.26957 4.01171 7.24251 4.03034 7.22256C4.04898 7.20261 4.07426 7.1914 4.10061 7.1914H8.38368V9.05305H4.99497C4.90708 9.05857 4.82471 9.10052 4.76533 9.17006C4.70589 9.2396 4.67423 9.33121 4.67696 9.42536C4.67411 9.52067 4.70547 9.61346 4.76461 9.68475C4.8238 9.75598 4.90623 9.80026 4.99497 9.80838H8.38368V10.5636H4.99497C4.96682 10.5645 4.93898 10.5692 4.91199 10.5774C4.89647 10.5821 4.88124 10.588 4.86644 10.5952C4.8494 10.6034 4.83308 10.613 4.81762 10.6241C4.79627 10.6393 4.77655 10.657 4.7589 10.6771C4.72846 10.7116 4.70468 10.7523 4.68891 10.7967C4.67314 10.8411 4.66574 10.8885 4.66701 10.9359C4.66641 10.9597 4.66792 10.9834 4.67156 11.0067C4.6752 11.03 4.68102 11.053 4.68891 11.0752C4.70468 11.1196 4.72846 11.1603 4.7589 11.1949C4.7731 11.211 4.78862 11.2256 4.80524 11.2386C4.81452 11.2459 4.82417 11.2527 4.83417 11.259C4.84461 11.2655 4.85534 11.2714 4.86644 11.2767C4.9069 11.2962 4.95063 11.3069 4.99497 11.3083H8.38368V12.0636H4.99503C4.91163 12.0787 4.83587 12.1249 4.78128 12.194C4.7526 12.2303 4.7307 12.2717 4.71639 12.3159C4.70347 12.3559 4.69667 12.3983 4.69667 12.4413C4.69667 12.5318 4.72664 12.6194 4.78128 12.6886C4.809 12.7237 4.84218 12.7529 4.87906 12.7751C4.89416 12.7842 4.90993 12.7921 4.92619 12.7988C4.94833 12.8079 4.97137 12.8147 4.99503 12.8189H8.38368V13.5742H4.99503C4.95275 13.5819 4.91242 13.5975 4.87584 13.62C4.8403 13.642 4.80822 13.6705 4.78128 13.7046C4.72664 13.7737 4.69667 13.8613 4.69667 13.9519C4.69667 14.0424 4.72664 14.13 4.78128 14.1992C4.83587 14.2683 4.91163 14.3145 4.99503 14.3295H8.38368V15.0741H4.99497C4.94644 15.0829 4.90047 15.1022 4.85977 15.1304C4.83878 15.145 4.81919 15.162 4.80136 15.1811C4.79439 15.1885 4.78765 15.1964 4.78122 15.2045C4.77188 15.2163 4.76327 15.2287 4.75539 15.2416C4.74441 15.2594 4.73495 15.2781 4.727 15.2975C4.71924 15.3163 4.71293 15.3358 4.70808 15.3558C4.70407 15.3723 4.7011 15.389 4.69922 15.4061C4.69752 15.4212 4.69667 15.4364 4.69667 15.4518C4.69667 15.5423 4.72664 15.6299 4.78122 15.6991C4.83587 15.7682 4.91157 15.8144 4.99497 15.8295H8.38368V16.5847H4.99497C4.91157 16.5998 4.83587 16.6459 4.78122 16.7151C4.72664 16.7842 4.69667 16.8718 4.69667 16.9624C4.69667 17.0529 4.72664 17.1405 4.78122 17.2097C4.83587 17.2788 4.91157 17.325 4.99497 17.34H9.54637C9.58655 17.3328 9.62496 17.3183 9.66008 17.2975H13.571ZM15.7573 4.52124L18.3609 7.30839C18.3758 7.32612 18.3858 7.34796 18.3897 7.37145C18.3937 7.39493 18.3914 7.41913 18.3831 7.44128C18.3748 7.46343 18.3609 7.48266 18.3429 7.49678C18.325 7.51089 18.3036 7.51934 18.2814 7.52115H15.7275L15.5585 7.34031V4.60634C15.5602 4.58255 15.5681 4.55975 15.5813 4.54051C15.5945 4.52128 15.6125 4.50639 15.6332 4.49753C15.6539 4.48867 15.6765 4.48619 15.6984 4.49038C15.7203 4.49457 15.7407 4.50526 15.7573 4.52124ZM14.1248 5.91437C14.1732 5.97391 14.2021 6.04884 14.2071 6.1276C14.2157 6.17377 14.2155 6.22129 14.2065 6.26739C14.2045 6.27778 14.2021 6.28804 14.1992 6.29817L14.1944 6.31388C14.1847 6.34291 14.1715 6.3705 14.1551 6.39595C14.13 6.43465 14.098 6.46757 14.0608 6.49276C14.0354 6.5099 14.008 6.52328 13.9794 6.53244C13.9661 6.53672 13.9525 6.5401 13.9387 6.5425H9.71529C9.62309 6.5425 9.5346 6.50328 9.4694 6.43342C9.40413 6.36362 9.3675 6.26889 9.3675 6.17013C9.3675 6.07144 9.40413 5.97671 9.4694 5.90691C9.5346 5.83704 9.62309 5.79783 9.71529 5.79783H13.9387C13.9718 5.80516 14.0034 5.81769 14.0326 5.83484C14.0672 5.85522 14.0984 5.88204 14.1248 5.91437ZM14.2667 7.29776H9.72529C9.69606 7.30302 9.66773 7.31211 9.64092 7.3247C9.62612 7.33171 9.61175 7.33977 9.59798 7.34879C9.56565 7.36996 9.53642 7.39664 9.51155 7.42813C9.4569 7.49722 9.42694 7.58487 9.42694 7.67538C9.42694 7.70155 9.42942 7.72752 9.43434 7.75285C9.44635 7.81505 9.47273 7.87355 9.51155 7.9227C9.55292 7.9751 9.60647 8.01432 9.66628 8.03678C9.67762 8.04107 9.6892 8.04477 9.70097 8.04775C9.70898 8.04983 9.71711 8.05158 9.72529 8.05308H14.2667C14.3546 8.04756 14.437 8.00555 14.4964 7.93601C14.5558 7.86647 14.5875 7.77492 14.5847 7.68071C14.5874 7.63318 14.5813 7.58559 14.5667 7.54059C14.5522 7.4956 14.5296 7.45417 14.5 7.41859C14.4704 7.38301 14.4346 7.35398 14.3946 7.33327C14.3546 7.31256 14.3111 7.30048 14.2667 7.29776ZM4.99497 18.84H12.786C12.8783 18.84 12.9667 18.8008 13.032 18.731C13.0972 18.6611 13.1338 18.5664 13.1338 18.4677C13.1338 18.3689 13.0972 18.2742 13.032 18.2044C12.9667 18.1346 12.8783 18.0954 12.786 18.0954H4.99497C4.90277 18.0954 4.81428 18.1346 4.74908 18.2044C4.68381 18.2742 4.64718 18.3689 4.64718 18.4677C4.64718 18.5664 4.68381 18.6611 4.74908 18.731C4.81428 18.8008 4.90277 18.84 4.99497 18.84ZM17.5858 12.7444H19.5733H19.623C19.7249 12.7499 19.821 12.7971 19.8913 12.8764C19.9616 12.9556 20.0007 13.0607 20.0006 13.17V13.8295C20.0007 13.8458 19.9976 13.862 19.9914 13.8769C19.9853 13.8918 19.9764 13.9052 19.9652 13.9163C19.9539 13.9273 19.9407 13.9357 19.9262 13.9409C19.9118 13.9461 19.8965 13.948 19.8814 13.9465H13.7797C13.7507 13.9465 13.7229 13.9342 13.7024 13.9123C13.6819 13.8903 13.6704 13.8606 13.6704 13.8295V13.17C13.6677 13.0617 13.7046 12.9566 13.7733 12.8771C13.842 12.7976 13.9371 12.75 14.0381 12.7444H16.0256V12.5104C16.0352 12.439 16.0687 12.3737 16.1199 12.3268C16.1711 12.2798 16.2365 12.2544 16.3039 12.2551H17.2976C17.3667 12.2517 17.4345 12.276 17.4878 12.3232C17.541 12.3704 17.576 12.4371 17.5858 12.5104V12.7444ZM14.0679 19.4251V14.1912H19.5037V19.4251C19.4935 19.585 19.4256 19.7344 19.3143 19.8416C19.203 19.9488 19.0571 20.0055 18.9075 19.9996H14.6642C14.5146 20.0055 14.3687 19.9488 14.2574 19.8416C14.1461 19.7344 14.0781 19.585 14.0679 19.4251ZM15.5983 15.1593H15.2505C15.0969 15.1593 14.9723 15.2926 14.9723 15.4572V18.7336C14.9723 18.8981 15.0969 19.0315 15.2505 19.0315H15.5983C15.752 19.0315 15.8766 18.8981 15.8766 18.7336V15.4572C15.8766 15.2926 15.752 15.1593 15.5983 15.1593ZM16.9598 15.1593H16.612C16.4583 15.1593 16.3337 15.2926 16.3337 15.4572V18.7336C16.3337 18.8981 16.4583 19.0315 16.612 19.0315H16.9598C17.1135 19.0315 17.238 18.8981 17.238 18.7336V15.4572C17.238 15.2926 17.1135 15.1593 16.9598 15.1593ZM17.9635 15.1593H18.3113C18.465 15.1593 18.5895 15.2926 18.5895 15.4572V18.7336C18.5895 18.8981 18.465 19.0315 18.3113 19.0315H17.9635C17.8098 19.0315 17.6852 18.8981 17.6852 18.7336V15.4572C17.6852 15.2926 17.8098 15.1593 17.9635 15.1593Z\",acceptSingleChange:\"M17.2 20H15.6628L17.33 18.3091V19.87C17.33 19.8871 17.3266 19.904 17.3201 19.9197C17.3136 19.9355 17.304 19.9499 17.2919 19.9619C17.2799 19.974 17.2655 19.9836 17.2497 19.9901C17.234 19.9966 17.2171 20 17.2 20ZM4.13 20H14.4978L14.1823 19.6791L13.5135 18.9904L13.5123 18.9891L13.0529 18.52H5C4.87537 18.52 4.75586 18.4705 4.66766 18.3823C4.57953 18.2942 4.53003 18.1747 4.53003 18.05C4.53003 17.9253 4.57953 17.8058 4.66766 17.7177C4.75586 17.6295 4.87537 17.58 5 17.58H12.1323L11.6235 17.0604L11.6231 16.48L12.8831 15.19L13.4765 15.1896L15.0807 16.8276L17.33 14.5413V9.3H13.28C13.207 9.30976 13.133 9.30976 13.06 9.3C12.7697 9.22119 12.5113 9.05343 12.3212 8.82027C12.1311 8.58711 12.0187 8.30026 12 8V4H4.13C4.09552 4 4.06246 4.0137 4.03808 4.03808C4.0137 4.06246 4 4.09552 4 4.13V19.87C4 19.9045 4.0137 19.9375 4.03808 19.9619C4.06246 19.9863 4.09552 20 4.13 20ZM13.1 4.65L16.6 8.15C16.6212 8.17232 16.6355 8.20028 16.6412 8.23051C16.6469 8.26075 16.6437 8.29199 16.6321 8.32048C16.6205 8.34898 16.6009 8.37352 16.5757 8.39117C16.5505 8.40882 16.5208 8.41883 16.49 8.42H13.06L12.83 8.19V4.76C12.8312 4.72925 12.8412 4.6995 12.8588 4.67429C12.8765 4.64909 12.901 4.62951 12.9295 4.6179C12.958 4.6063 12.9893 4.60315 13.0195 4.60884C13.0497 4.61453 13.0777 4.62882 13.1 4.65ZM11 6.72C11.0027 6.66089 10.9937 6.60184 10.9735 6.5462C10.9534 6.49057 10.9224 6.43948 10.8825 6.39581C10.8425 6.35217 10.7944 6.3168 10.7408 6.29178C10.6871 6.26678 10.6292 6.25256 10.57 6.25H5C4.88239 6.25772 4.77252 6.31131 4.69397 6.39917C4.61542 6.48706 4.57452 6.60226 4.58002 6.72C4.57452 6.83774 4.61542 6.95294 4.69397 7.04083C4.77252 7.12869 4.88239 7.18228 5 7.19H10.6C10.7141 7.1774 10.8189 7.12173 10.8933 7.03436C10.9677 6.94702 11.0058 6.83456 11 6.72ZM11.1 8.14001H5C4.87537 8.14001 4.75586 8.18954 4.66766 8.27768C4.57953 8.36581 4.53003 8.48535 4.53003 8.61002C4.53003 8.73468 4.57953 8.85422 4.66766 8.94235C4.71558 8.99023 4.77277 9.02673 4.83496 9.05008C4.86932 9.06296 4.90521 9.07184 4.94189 9.07642C4.96106 9.0788 4.98047 9.08002 5 9.08002H11.1C11.2247 9.08002 11.3442 9.03049 11.4324 8.94235C11.5205 8.85422 11.57 8.73468 11.57 8.61002C11.57 8.48535 11.5205 8.36581 11.4324 8.27768C11.3442 8.18954 11.2247 8.14001 11.1 8.14001ZM5 11H15.45C15.5826 11 15.7098 10.9473 15.8035 10.8535C15.8973 10.7598 15.95 10.6326 15.95 10.5C15.95 10.3674 15.8973 10.2402 15.8035 10.1465C15.7098 10.0527 15.5826 10 15.45 10H5C4.86737 10 4.74023 10.0527 4.64642 10.1465C4.55267 10.2402 4.5 10.3674 4.5 10.5C4.5 10.6326 4.55267 10.7598 4.64642 10.8535C4.74023 10.9473 4.86737 11 5 11ZM5 12.86H11.1C11.2211 12.8523 11.3346 12.798 11.4166 12.7085C11.4986 12.6191 11.5428 12.5013 11.54 12.38C11.5427 12.2597 11.4982 12.1431 11.416 12.0552C11.3337 11.9673 11.2203 11.9152 11.1 11.91H5C4.94086 11.9126 4.88287 11.9268 4.82922 11.9518C4.77563 11.9768 4.72748 12.0122 4.6875 12.0558C4.65833 12.0878 4.63391 12.1237 4.61505 12.1624C4.60809 12.1767 4.60193 12.1913 4.5965 12.2062C4.58264 12.2443 4.5741 12.2841 4.57092 12.3243C4.56946 12.3428 4.56915 12.3614 4.57001 12.38C4.56451 12.5004 4.60651 12.6181 4.68689 12.7079C4.76733 12.7976 4.87976 12.8523 5 12.86ZM15.45 14.74H5C4.87537 14.74 4.75586 14.6905 4.66766 14.6023C4.57953 14.5142 4.53003 14.3947 4.53003 14.27C4.53003 14.1453 4.57953 14.0258 4.66766 13.9377C4.75586 13.8495 4.87537 13.8 5 13.8H15.45C15.5747 13.8 15.6942 13.8495 15.7823 13.9377C15.8705 14.0258 15.92 14.1453 15.92 14.27C15.92 14.3947 15.8705 14.5142 15.7823 14.6023C15.6942 14.6905 15.5747 14.74 15.45 14.74ZM11.1 16.63H5C4.87537 16.63 4.75586 16.5805 4.66766 16.4923C4.57953 16.4042 4.53003 16.2846 4.53003 16.16C4.53003 16.0353 4.57953 15.9158 4.66766 15.8276C4.75586 15.7395 4.87537 15.69 5 15.69H11.1C11.2247 15.69 11.3442 15.7395 11.4324 15.8276C11.5205 15.9158 11.57 16.0353 11.57 16.16C11.57 16.2846 11.5205 16.4042 11.4324 16.4923C11.3442 16.5805 11.2247 16.63 11.1 16.63ZM18.73 13.71L20 15.01L15.08 20L15.07 19.99L14.48 19.39L13.81 18.7L11.92 16.77L13.18 15.48L15.08 17.42L18.73 13.71Z\",rejectSingleChange:\"M17.0495 11.5C17.1461 11.5 17.241 11.5173 17.33 11.5501V9.3H13.28C13.207 9.30976 13.133 9.30976 13.06 9.3C12.7697 9.22119 12.5113 9.05343 12.3212 8.82027C12.1311 8.58711 12.0187 8.30026 12 8V4H4.13C4.09552 4 4.06246 4.0137 4.03808 4.03808C4.0137 4.06246 4 4.09552 4 4.13V19.87C4 19.9045 4.0137 19.9375 4.03808 19.9619C4.06246 19.9863 4.09552 20 4.13 20H13.2305C13.1075 19.8287 13.0338 19.6249 13.0205 19.4112L13.0195 19.3956V18.52H5C4.87537 18.52 4.75586 18.4705 4.66772 18.3823C4.57959 18.2942 4.53003 18.1747 4.53003 18.05C4.53003 18.0119 4.53467 17.9742 4.54358 17.9378C4.56396 17.8552 4.60657 17.7788 4.66772 17.7177C4.75586 17.6295 4.87537 17.58 5 17.58H13.0195V14.74H5C4.87537 14.74 4.75586 14.6905 4.66772 14.6023C4.57959 14.5142 4.53003 14.3947 4.53003 14.27C4.53003 14.1453 4.57959 14.0258 4.66772 13.9377C4.75586 13.8495 4.87537 13.8 5 13.8H12.8393C12.6229 13.6377 12.4998 13.3897 12.4998 13.1032C12.4997 12.8414 12.6008 12.5847 12.7513 12.3911C12.9 12.1998 13.1561 12 13.4994 12L15.2519 12C15.2928 11.8972 15.3589 11.7915 15.4649 11.6992C15.6135 11.5698 15.8041 11.499 16.0011 11.5H17.0495ZM13.1 4.65L16.6 8.15C16.6211 8.17232 16.6354 8.20028 16.6411 8.23051C16.6468 8.26075 16.6437 8.29199 16.6321 8.32048C16.6204 8.34898 16.6009 8.37352 16.5757 8.39117C16.5505 8.40882 16.5207 8.41883 16.49 8.42H13.06L12.83 8.19V4.76C12.8311 4.72925 12.8411 4.6995 12.8588 4.67429C12.8764 4.64909 12.901 4.62951 12.9295 4.6179C12.958 4.6063 12.9892 4.60315 13.0194 4.60884C13.0497 4.61453 13.0776 4.62882 13.1 4.65ZM11 6.72C11.0027 6.66089 10.9937 6.60184 10.9735 6.5462C10.9716 6.5408 10.9695 6.53543 10.9673 6.53012C10.9626 6.51852 10.9575 6.50717 10.9518 6.49603C10.9406 6.47391 10.9275 6.45273 10.9127 6.43274C10.9033 6.41992 10.8932 6.40759 10.8824 6.39581C10.8425 6.35217 10.7943 6.3168 10.7407 6.29178C10.6871 6.26678 10.629 6.25256 10.5699 6.25H5C4.88232 6.25772 4.77246 6.31131 4.69397 6.39917C4.61536 6.48706 4.57446 6.60226 4.57996 6.72C4.57715 6.7811 4.58679 6.84152 4.60767 6.8978C4.61523 6.91803 4.62415 6.93771 4.63452 6.9567C4.65088 6.98669 4.67078 7.01495 4.69397 7.04083C4.77246 7.12869 4.88232 7.18228 5 7.19H10.6C10.714 7.1774 10.8188 7.12173 10.8932 7.03436C10.922 7.00049 10.9454 6.96283 10.9629 6.92273C10.9725 6.9006 10.9805 6.87775 10.9865 6.8544C10.9933 6.82791 10.9977 6.80075 10.9995 6.77325C11.0001 6.76453 11.0004 6.75574 11.0005 6.74695C11.0006 6.73798 11.0005 6.729 11 6.72ZM11.1 8.14001H5C4.97534 8.14001 4.95081 8.14194 4.92676 8.14575C4.89587 8.15063 4.8656 8.15857 4.83643 8.1694C4.77368 8.19272 4.71606 8.2294 4.66772 8.27768C4.57959 8.36581 4.53003 8.48535 4.53003 8.61002C4.53003 8.73468 4.57959 8.85422 4.66772 8.94235C4.75586 9.03049 4.87537 9.08002 5 9.08002H11.1C11.2247 9.08002 11.3442 9.03049 11.4324 8.94235C11.4617 8.91306 11.4867 8.88028 11.5071 8.845C11.5349 8.79691 11.554 8.74414 11.5634 8.68915C11.5677 8.66318 11.5701 8.63672 11.5701 8.61002C11.5701 8.48535 11.5205 8.36581 11.4324 8.27768C11.3929 8.23831 11.3474 8.20663 11.2979 8.18365C11.2365 8.15518 11.1689 8.14001 11.1 8.14001ZM5 11H15.45C15.5826 11 15.7098 10.9473 15.8036 10.8535C15.8973 10.7598 15.95 10.6326 15.95 10.5C15.95 10.3674 15.8973 10.2402 15.8036 10.1465C15.7098 10.0527 15.5826 10 15.45 10H5C4.86743 10 4.74023 10.0527 4.64648 10.1465C4.55273 10.2402 4.5 10.3674 4.5 10.5C4.5 10.6326 4.55273 10.7598 4.64648 10.8535C4.74023 10.9473 4.86743 11 5 11ZM5 12.86H11.1C11.2211 12.8523 11.3346 12.798 11.4166 12.7085C11.4987 12.6191 11.5428 12.5013 11.54 12.38C11.5427 12.2597 11.4982 12.1431 11.4159 12.0552C11.3336 11.9673 11.2202 11.9152 11.1 11.91H5C4.94092 11.9126 4.88281 11.9268 4.82922 11.9518C4.77563 11.9768 4.72742 12.0122 4.6875 12.0558C4.64758 12.0995 4.6167 12.1506 4.59644 12.2062C4.58899 12.2266 4.58313 12.2475 4.57874 12.2687C4.57129 12.3052 4.56824 12.3426 4.56995 12.38C4.56445 12.5004 4.60645 12.6181 4.68689 12.7079C4.76733 12.7976 4.87976 12.8523 5 12.86ZM11.1 16.63H5C4.87537 16.63 4.75586 16.5805 4.66772 16.4923C4.57959 16.4042 4.53003 16.2846 4.53003 16.16C4.53003 16.0353 4.57959 15.9158 4.66772 15.8276C4.75586 15.7395 4.87537 15.69 5 15.69H11.1C11.2247 15.69 11.3442 15.7395 11.4324 15.8276C11.5205 15.9158 11.5701 16.0353 11.5701 16.16C11.5701 16.2846 11.5205 16.4042 11.4324 16.4923C11.3442 16.5805 11.2247 16.63 11.1 16.63ZM19.59 12.53H17.36V12.3C17.3574 12.2195 17.3236 12.1432 17.2657 12.0872C17.2078 12.0313 17.1305 12 17.05 12H16C15.9242 11.9994 15.8509 12.0265 15.7938 12.0762C15.7367 12.126 15.6997 12.1949 15.69 12.27V12.5H13.44C13.3768 12.4994 13.3142 12.5125 13.2565 12.5382C13.1988 12.564 13.1473 12.6019 13.1055 12.6493C13.0638 12.6968 13.0327 12.7526 13.0145 12.8132C12.9963 12.8737 12.9913 12.9374 13 13V13.67C13 13.6871 13.0033 13.704 13.0099 13.7198C13.0164 13.7355 13.026 13.7499 13.038 13.7619C13.0501 13.774 13.0644 13.7836 13.0802 13.7901C13.096 13.7966 13.1129 13.8 13.13 13.8H19.84C19.8611 13.8054 19.8834 13.8054 19.9045 13.8C19.9257 13.7946 19.9452 13.7839 19.9611 13.7689C19.9771 13.754 19.989 13.7352 19.9958 13.7144C20.0026 13.6937 20.004 13.6715 20 13.65V13C20.0028 12.8866 19.9617 12.7765 19.8853 12.6927C19.809 12.6088 19.7031 12.5577 19.59 12.55V12.53ZM13.52 14V19.38C13.5303 19.5454 13.6054 19.7 13.7289 19.8105C13.8525 19.9209 14.0145 19.9782 14.18 19.97H18.84C19.0055 19.9782 19.1676 19.9209 19.2911 19.8105C19.4146 19.7 19.4897 19.5454 19.5 19.38V14H13.52ZM15.52 18.67C15.52 18.7522 15.4874 18.8311 15.4292 18.8892C15.3711 18.9473 15.2922 18.98 15.21 18.98H14.83C14.7478 18.98 14.669 18.9473 14.6108 18.8892C14.5527 18.8311 14.52 18.7522 14.52 18.67V15.33C14.52 15.2893 14.528 15.249 14.5436 15.2114C14.5592 15.1738 14.582 15.1396 14.6108 15.1108C14.6396 15.082 14.6738 15.0592 14.7114 15.0436C14.749 15.028 14.7893 15.02 14.83 15.02H15.21C15.2507 15.02 15.291 15.028 15.3287 15.0436C15.3663 15.0592 15.4004 15.082 15.4292 15.1108C15.458 15.1396 15.4808 15.1738 15.4964 15.2114C15.512 15.249 15.52 15.2893 15.52 15.33V18.67ZM17.01 18.67C17.01 18.7522 16.9774 18.8311 16.9192 18.8892C16.8611 18.9473 16.7822 18.98 16.7 18.98H16.32C16.2798 18.98 16.2399 18.9719 16.2029 18.9562C16.1658 18.9405 16.1323 18.9176 16.1043 18.8886C16.0763 18.8597 16.0544 18.8254 16.0399 18.7879C16.0254 18.7503 16.0187 18.7102 16.02 18.67V15.33C16.0187 15.2898 16.0254 15.2497 16.0399 15.2121C16.0544 15.1746 16.0763 15.1403 16.1043 15.1114C16.1323 15.0824 16.1658 15.0595 16.2029 15.0438C16.2399 15.0281 16.2798 15.02 16.32 15.02H16.7C16.7407 15.02 16.781 15.028 16.8187 15.0436C16.8563 15.0592 16.8904 15.082 16.9192 15.1108C16.948 15.1396 16.9708 15.1738 16.9864 15.2114C17.002 15.249 17.01 15.2893 17.01 15.33V18.67ZM18.51 18.67C18.51 18.7107 18.502 18.751 18.4864 18.7886C18.4708 18.8262 18.448 18.8604 18.4192 18.8892C18.3904 18.918 18.3563 18.9408 18.3187 18.9564C18.281 18.972 18.2407 18.98 18.2 18.98H17.82C17.7378 18.98 17.659 18.9473 17.6008 18.8892C17.5427 18.8311 17.51 18.7522 17.51 18.67V15.33C17.51 15.2893 17.518 15.249 17.5336 15.2114C17.5492 15.1738 17.572 15.1396 17.6008 15.1108C17.6296 15.082 17.6638 15.0592 17.7014 15.0436C17.739 15.028 17.7793 15.02 17.82 15.02H18.2C18.2407 15.02 18.281 15.028 18.3187 15.0436C18.3563 15.0592 18.3904 15.082 18.4192 15.1108C18.448 15.1396 18.4708 15.1738 18.4864 15.2114C18.502 15.249 18.51 15.2893 18.51 15.33V18.67Z\",chevronDown:\"M207.029 381.476L12.686 187.132c-9.373-9.373-9.373-24.569 0-33.941l22.667-22.667c9.357-9.357 24.522-9.375 33.901-.04L224 284.505l154.745-154.021c9.379-9.335 24.544-9.317 33.901.04l22.667 22.667c9.373 9.373 9.373 24.569 0 33.941L240.971 381.476c-9.373 9.372-24.569 9.372-33.942 0z\",chevronUp:\"M240.971 130.524l194.343 194.343c9.373 9.373 9.373 24.569 0 33.941l-22.667 22.667c-9.357 9.357-24.522 9.375-33.901.04L224 227.495 69.255 381.516c-9.379 9.335-24.544 9.317-33.901-.04l-22.667-22.667c-9.373-9.373-9.373-24.569 0-33.941L207.03 130.525c9.372-9.373 24.568-9.373 33.941-.001z\"},Y.FILEICONS={docIcon:{extension:\".doc\",path:'<g id=\"surface1\">\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(99.607843%,99.607843%,99.607843%);fill-opacity:1;\" d=\"M 10.578125 25 L 39.421875 25 C 41.53125 25 43.527344 25.492188 45.3125 26.367188 L 45.3125 15.367188 C 45.3125 13.90625 44.976562 13.097656 43.984375 12.109375 C 42.996094 11.121094 35.105469 3.226562 34.503906 2.628906 C 33.90625 2.027344 33.070312 1.5625 31.617188 1.5625 L 6.5625 1.5625 C 5.527344 1.5625 4.6875 2.402344 4.6875 3.4375 L 4.6875 26.367188 C 6.476562 25.492188 8.472656 25 10.578125 25 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 34.375 4.710938 L 42.164062 12.5 L 34.515625 12.5 C 34.464844 12.46875 34.414062 12.425781 34.375 12.390625 Z M 6.25 25.722656 L 6.25 3.4375 C 6.25 3.265625 6.390625 3.125 6.5625 3.125 L 31.25 3.125 L 31.25 12.5 C 31.25 13.980469 32.496094 15.210938 33.742188 15.539062 C 33.902344 15.59375 34.074219 15.625 34.257812 15.625 L 43.75 15.625 L 43.75 25.722656 C 44.859375 26.105469 45.910156 26.625 46.875 27.269531 L 46.875 15.363281 C 46.875 13.511719 46.375 12.289062 45.089844 11.003906 L 35.609375 1.523438 C 34.582031 0.496094 33.273438 0 31.617188 0 L 6.5625 0 C 4.667969 0 3.125 1.542969 3.125 3.4375 L 3.125 27.269531 C 4.089844 26.625 5.140625 26.105469 6.25 25.722656 Z M 6.25 25.722656 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 8.621094 28.125 C 3.859375 28.125 0 31.984375 0 36.742188 L 0 41.378906 C 0 46.140625 3.859375 50 8.621094 50 L 41.378906 50 C 46.140625 50 50 46.140625 50 41.382812 L 50 36.746094 C 50 31.984375 46.140625 28.125 41.382812 28.125 Z M 8.621094 28.125 \"/>\\n      <path style=\" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;\" d=\"M 9.617188 46.875 C 13.234375 46.875 16.160156 43.929688 16.160156 40.292969 C 16.160156 36.695312 13.234375 33.75 9.617188 33.75 L 7.402344 33.75 C 6.820312 33.75 6.371094 34.199219 6.371094 34.78125 L 6.371094 45.84375 C 6.371094 46.335938 6.714844 46.757812 7.191406 46.855469 L 7.402344 46.875 Z M 9.617188 44.792969 L 8.453125 44.792969 L 8.453125 35.832031 L 9.617188 35.832031 C 12.089844 35.832031 14.078125 37.835938 14.078125 40.292969 C 14.078125 42.789062 12.089844 44.773438 9.617188 44.792969 Z M 24.816406 46.875 C 26.539062 46.875 28.191406 46.085938 29.296875 44.867188 C 30.460938 43.648438 31.191406 41.980469 31.191406 40.125 C 31.191406 38.269531 30.460938 36.617188 29.296875 35.382812 C 28.191406 34.144531 26.539062 33.375 24.816406 33.375 C 23.015625 33.375 21.367188 34.144531 20.222656 35.382812 C 19.058594 36.617188 18.367188 38.269531 18.367188 40.125 C 18.367188 41.980469 19.058594 43.648438 20.222656 44.867188 C 21.367188 46.085938 23.015625 46.875 24.816406 46.875 Z M 24.816406 44.738281 C 23.617188 44.738281 22.566406 44.230469 21.777344 43.386719 C 20.992188 42.582031 20.503906 41.398438 20.503906 40.125 C 20.503906 38.851562 20.992188 37.667969 21.777344 36.84375 C 22.566406 36 23.617188 35.511719 24.816406 35.511719 C 25.941406 35.511719 26.992188 36 27.777344 36.84375 C 28.546875 37.667969 29.054688 38.851562 29.054688 40.125 C 29.054688 41.398438 28.546875 42.582031 27.777344 43.386719 C 26.992188 44.230469 25.941406 44.738281 24.816406 44.738281 Z M 39.996094 46.875 C 41.648438 46.875 43.148438 46.332031 44.328125 45.414062 C 44.777344 45.054688 44.851562 44.382812 44.515625 43.914062 C 44.140625 43.460938 43.445312 43.386719 43.015625 43.707031 C 42.171875 44.382812 41.160156 44.738281 39.996094 44.738281 C 38.703125 44.738281 37.503906 44.210938 36.621094 43.386719 C 35.777344 42.5625 35.253906 41.398438 35.253906 40.125 C 35.253906 38.851562 35.777344 37.726562 36.621094 36.863281 C 37.503906 36.039062 38.703125 35.511719 39.996094 35.511719 C 41.160156 35.511719 42.191406 35.867188 43.015625 36.542969 C 43.445312 36.882812 44.140625 36.804688 44.515625 36.335938 C 44.851562 35.867188 44.777344 35.210938 44.328125 34.835938 C 43.148438 33.917969 41.648438 33.375 39.996094 33.375 C 36.246094 33.394531 33.132812 36.414062 33.117188 40.125 C 33.132812 43.855469 36.246094 46.875 39.996094 46.875 Z M 39.996094 46.875 \"/>\\n      </g>'},gifIcon:{extension:\".gif\",path:'<g id=\"surface1\">\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(99.607843%,99.607843%,99.607843%);fill-opacity:1;\" d=\"M 10.578125 25 L 39.421875 25 C 41.53125 25 43.527344 25.492188 45.3125 26.367188 L 45.3125 15.367188 C 45.3125 13.90625 44.976562 13.097656 43.984375 12.109375 C 42.996094 11.121094 35.105469 3.226562 34.503906 2.628906 C 33.90625 2.027344 33.070312 1.5625 31.617188 1.5625 L 6.5625 1.5625 C 5.527344 1.5625 4.6875 2.402344 4.6875 3.4375 L 4.6875 26.367188 C 6.476562 25.492188 8.472656 25 10.578125 25 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 34.375 4.710938 L 42.164062 12.5 L 34.515625 12.5 C 34.464844 12.46875 34.414062 12.425781 34.375 12.390625 Z M 6.25 25.722656 L 6.25 3.4375 C 6.25 3.265625 6.390625 3.125 6.5625 3.125 L 31.25 3.125 L 31.25 12.5 C 31.25 13.980469 32.496094 15.210938 33.742188 15.539062 C 33.902344 15.59375 34.074219 15.625 34.257812 15.625 L 43.75 15.625 L 43.75 25.722656 C 44.859375 26.105469 45.910156 26.625 46.875 27.269531 L 46.875 15.363281 C 46.875 13.511719 46.375 12.289062 45.089844 11.003906 L 35.609375 1.523438 C 34.582031 0.496094 33.273438 0 31.617188 0 L 6.5625 0 C 4.667969 0 3.125 1.542969 3.125 3.4375 L 3.125 27.269531 C 4.089844 26.625 5.140625 26.105469 6.25 25.722656 Z M 6.25 25.722656 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 8.621094 28.125 C 3.859375 28.125 0 31.984375 0 36.742188 L 0 41.378906 C 0 46.140625 3.859375 50 8.621094 50 L 41.378906 50 C 46.140625 50 50 46.140625 50 41.382812 L 50 36.746094 C 50 31.984375 46.140625 28.125 41.382812 28.125 Z M 8.621094 28.125 \"/>\\n      <path style=\" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;\" d=\"M 17.394531 46.875 C 18.988281 46.875 20.46875 46.332031 21.648438 45.414062 C 21.835938 45.28125 21.949219 45.132812 22.003906 44.960938 L 22.003906 44.945312 C 22.023438 44.90625 22.023438 44.886719 22.042969 44.851562 C 22.0625 44.738281 22.097656 44.664062 22.097656 44.53125 L 22.097656 40.386719 C 22.097656 39.789062 21.613281 39.335938 21.011719 39.335938 L 17.28125 39.335938 C 16.699219 39.335938 16.210938 39.789062 16.210938 40.386719 C 16.210938 40.96875 16.699219 41.457031 17.28125 41.457031 L 19.960938 41.457031 L 19.960938 44.023438 C 19.210938 44.457031 18.332031 44.738281 17.394531 44.738281 C 16.042969 44.738281 14.863281 44.230469 14.019531 43.367188 C 13.136719 42.523438 12.613281 41.382812 12.613281 40.144531 C 12.613281 38.867188 13.136719 37.726562 14.019531 36.882812 C 14.863281 36.019531 16.042969 35.511719 17.394531 35.511719 C 18.519531 35.511719 19.550781 35.90625 20.355469 36.523438 C 20.824219 36.898438 21.519531 36.804688 21.875 36.355469 C 22.230469 35.886719 22.15625 35.195312 21.667969 34.835938 C 20.503906 33.917969 18.988281 33.375 17.394531 33.375 C 13.585938 33.375 10.472656 36.375 10.472656 40.144531 C 10.472656 43.894531 13.585938 46.875 17.394531 46.875 Z M 26.945312 46.875 C 27.507812 46.875 27.996094 46.425781 27.996094 45.84375 L 27.996094 34.78125 C 27.996094 34.199219 27.507812 33.75 26.945312 33.75 C 26.363281 33.75 25.914062 34.199219 25.914062 34.78125 L 25.914062 45.84375 C 25.914062 46.425781 26.363281 46.875 26.945312 46.875 Z M 33.066406 46.875 C 33.648438 46.875 34.117188 46.40625 34.117188 45.84375 L 34.117188 41.34375 L 38.488281 41.34375 C 39.050781 41.34375 39.519531 40.875 39.519531 40.292969 C 39.519531 39.75 39.050781 39.261719 38.488281 39.261719 L 34.117188 39.261719 L 34.117188 35.832031 L 39.199219 35.832031 C 39.742188 35.832031 40.230469 35.363281 40.230469 34.78125 C 40.230469 34.21875 39.742188 33.75 39.199219 33.75 L 33.066406 33.75 C 32.488281 33.75 32.035156 34.21875 32.035156 34.78125 L 32.035156 45.84375 C 32.035156 46.40625 32.488281 46.875 33.066406 46.875 Z M 33.066406 46.875 \"/>\\n      </g>'},jpegIcon:{extension:\".jpeg\",path:'<g id=\"surface1\">\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(99.607843%,99.607843%,99.607843%);fill-opacity:1;\" d=\"M 10.578125 25 L 39.421875 25 C 41.53125 25 43.527344 25.492188 45.3125 26.367188 L 45.3125 15.367188 C 45.3125 13.90625 44.976562 13.097656 43.984375 12.109375 C 42.996094 11.121094 35.105469 3.226562 34.503906 2.628906 C 33.90625 2.027344 33.070312 1.5625 31.617188 1.5625 L 6.5625 1.5625 C 5.527344 1.5625 4.6875 2.402344 4.6875 3.4375 L 4.6875 26.367188 C 6.476562 25.492188 8.472656 25 10.578125 25 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 34.375 4.710938 L 42.164062 12.5 L 34.515625 12.5 C 34.464844 12.46875 34.414062 12.425781 34.375 12.390625 Z M 6.25 25.722656 L 6.25 3.4375 C 6.25 3.265625 6.390625 3.125 6.5625 3.125 L 31.25 3.125 L 31.25 12.5 C 31.25 13.980469 32.496094 15.210938 33.742188 15.539062 C 33.902344 15.59375 34.074219 15.625 34.257812 15.625 L 43.75 15.625 L 43.75 25.722656 C 44.859375 26.105469 45.910156 26.625 46.875 27.269531 L 46.875 15.363281 C 46.875 13.511719 46.375 12.289062 45.089844 11.003906 L 35.609375 1.523438 C 34.582031 0.496094 33.273438 0 31.617188 0 L 6.5625 0 C 4.667969 0 3.125 1.542969 3.125 3.4375 L 3.125 27.269531 C 4.089844 26.625 5.140625 26.105469 6.25 25.722656 Z M 6.25 25.722656 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 8.621094 28.125 C 3.859375 28.125 0 31.984375 0 36.742188 L 0 41.378906 C 0 46.140625 3.859375 50 8.621094 50 L 41.378906 50 C 46.140625 50 50 46.140625 50 41.382812 L 50 36.746094 C 50 31.984375 46.140625 28.125 41.382812 28.125 Z M 8.621094 28.125 \"/>\\n      <path style=\" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;\" d=\"M 9 43.75 C 11.140625 43.75 12.890625 42.015625 12.890625 39.875 L 12.890625 33.671875 C 12.890625 33.1875 12.5 32.8125 12.03125 32.8125 C 11.546875 32.8125 11.15625 33.1875 11.15625 33.671875 L 11.15625 39.875 C 11.15625 41.046875 10.1875 42.015625 9 42.015625 C 8.046875 42.015625 7.234375 41.390625 6.953125 40.53125 C 6.8125 40.078125 6.328125 39.828125 5.859375 39.984375 C 5.421875 40.109375 5.15625 40.59375 5.3125 41.0625 C 5.8125 42.625 7.28125 43.75 9 43.75 Z M 15.640625 43.75 C 16.125 43.75 16.515625 43.359375 16.515625 42.890625 L 16.515625 39.5 L 18.4375 39.5 C 20.296875 39.5 21.796875 38 21.796875 36.171875 C 21.796875 34.3125 20.296875 32.8125 18.4375 32.8125 L 15.640625 32.8125 C 15.171875 32.8125 14.78125 33.1875 14.78125 33.671875 L 14.78125 42.890625 C 14.78125 43.359375 15.171875 43.75 15.640625 43.75 Z M 18.4375 37.765625 L 16.515625 37.765625 L 16.515625 34.546875 L 18.4375 34.546875 C 19.34375 34.546875 20.046875 35.265625 20.0625 36.171875 C 20.046875 37.046875 19.34375 37.765625 18.4375 37.765625 Z M 29.234375 43.75 C 29.6875 43.75 30.09375 43.359375 30.09375 42.890625 C 30.09375 42.40625 29.6875 42.015625 29.234375 42.015625 L 25 42.015625 L 25 39.140625 L 28.640625 39.140625 C 29.109375 39.140625 29.5 38.75 29.5 38.265625 C 29.5 37.8125 29.109375 37.40625 28.640625 37.40625 L 25 37.40625 L 25 34.546875 L 29.234375 34.546875 C 29.6875 34.546875 30.09375 34.15625 30.09375 33.671875 C 30.09375 33.1875 29.6875 32.8125 29.234375 32.8125 L 24.125 32.8125 C 23.640625 32.8125 23.265625 33.1875 23.265625 33.671875 L 23.265625 42.890625 C 23.265625 43.359375 23.640625 43.75 24.125 43.75 C 24.125 43.75 24.140625 43.734375 24.140625 43.734375 C 24.140625 43.734375 24.140625 43.75 24.171875 43.75 Z M 37.1875 43.75 C 38.515625 43.75 39.75 43.296875 40.734375 42.53125 C 40.890625 42.421875 40.984375 42.296875 41.03125 42.15625 L 41.03125 42.140625 C 41.046875 42.109375 41.046875 42.09375 41.0625 42.0625 C 41.078125 41.96875 41.109375 41.90625 41.109375 41.796875 L 41.109375 38.34375 C 41.109375 37.914062 40.8125 37.578125 40.410156 37.492188 L 40.203125 37.46875 L 37.09375 37.46875 C 36.609375 37.46875 36.203125 37.84375 36.203125 38.34375 C 36.203125 38.828125 36.609375 39.234375 37.09375 39.234375 L 39.328125 39.234375 L 39.328125 41.375 C 38.703125 41.734375 37.96875 41.96875 37.1875 41.96875 C 36.0625 41.96875 35.078125 41.546875 34.375 40.828125 C 33.640625 40.125 33.203125 39.171875 33.203125 38.140625 C 33.203125 37.078125 33.640625 36.125 34.375 35.421875 C 35.078125 34.703125 36.0625 34.28125 37.1875 34.28125 C 38.125 34.28125 38.984375 34.609375 39.65625 35.125 C 40.046875 35.4375 40.625 35.359375 40.921875 34.984375 C 41.21875 34.59375 41.15625 34.015625 40.75 33.71875 C 39.78125 32.953125 38.515625 32.5 37.1875 32.5 C 34.015625 32.5 31.421875 35 31.421875 38.140625 C 31.421875 41.265625 34.015625 43.75 37.1875 43.75 Z M 37.1875 43.75 \"/>\\n      </g>'},logIcon:{extension:\".log\",path:'<g id=\"surface1\">\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(99.607843%,99.607843%,99.607843%);fill-opacity:1;\" d=\"M 10.578125 25 L 39.421875 25 C 41.53125 25 43.527344 25.492188 45.3125 26.367188 L 45.3125 15.367188 C 45.3125 13.90625 44.976562 13.097656 43.984375 12.109375 C 42.996094 11.121094 35.105469 3.226562 34.503906 2.628906 C 33.90625 2.027344 33.070312 1.5625 31.617188 1.5625 L 6.5625 1.5625 C 5.527344 1.5625 4.6875 2.402344 4.6875 3.4375 L 4.6875 26.367188 C 6.476562 25.492188 8.472656 25 10.578125 25 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 34.375 4.710938 L 42.164062 12.5 L 34.515625 12.5 C 34.464844 12.46875 34.414062 12.425781 34.375 12.390625 Z M 6.25 25.722656 L 6.25 3.4375 C 6.25 3.265625 6.390625 3.125 6.5625 3.125 L 31.25 3.125 L 31.25 12.5 C 31.25 13.980469 32.496094 15.210938 33.742188 15.539062 C 33.902344 15.59375 34.074219 15.625 34.257812 15.625 L 43.75 15.625 L 43.75 25.722656 C 44.859375 26.105469 45.910156 26.625 46.875 27.269531 L 46.875 15.363281 C 46.875 13.511719 46.375 12.289062 45.089844 11.003906 L 35.609375 1.523438 C 34.582031 0.496094 33.273438 0 31.617188 0 L 6.5625 0 C 4.667969 0 3.125 1.542969 3.125 3.4375 L 3.125 27.269531 C 4.089844 26.625 5.140625 26.105469 6.25 25.722656 Z M 6.25 25.722656 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 8.621094 28.125 C 3.859375 28.125 0 31.984375 0 36.742188 L 0 41.378906 C 0 46.140625 3.859375 50 8.621094 50 L 41.378906 50 C 46.140625 50 50 46.140625 50 41.382812 L 50 36.746094 C 50 31.984375 46.140625 28.125 41.382812 28.125 Z M 8.621094 28.125 \"/>\\n      <path style=\" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;\" d=\"M 13.542969 46.875 C 14.085938 46.875 14.574219 46.40625 14.574219 45.84375 C 14.574219 45.261719 14.085938 44.792969 13.542969 44.792969 L 8.460938 44.792969 L 8.460938 34.78125 C 8.460938 34.21875 7.992188 33.75 7.410156 33.75 C 6.828125 33.75 6.378906 34.21875 6.378906 34.78125 L 6.378906 45.84375 C 6.378906 46.40625 6.828125 46.875 7.410156 46.875 Z M 21.742188 46.875 C 23.46875 46.875 25.117188 46.085938 26.222656 44.867188 C 27.386719 43.648438 28.117188 41.980469 28.117188 40.125 C 28.117188 38.269531 27.386719 36.617188 26.222656 35.382812 C 25.117188 34.144531 23.46875 33.375 21.742188 33.375 C 19.941406 33.375 18.292969 34.144531 17.148438 35.382812 C 15.984375 36.617188 15.292969 38.269531 15.292969 40.125 C 15.292969 41.980469 15.984375 43.648438 17.148438 44.867188 C 18.292969 46.085938 19.941406 46.875 21.742188 46.875 Z M 21.742188 44.738281 C 20.542969 44.738281 19.492188 44.230469 18.703125 43.386719 C 17.917969 42.582031 17.429688 41.398438 17.429688 40.125 C 17.429688 38.851562 17.917969 37.667969 18.703125 36.84375 C 19.492188 36 20.542969 35.511719 21.742188 35.511719 C 22.867188 35.511719 23.917969 36 24.703125 36.84375 C 25.472656 37.667969 25.980469 38.851562 25.980469 40.125 C 25.980469 41.398438 25.472656 42.582031 24.703125 43.386719 C 23.917969 44.230469 22.867188 44.738281 21.742188 44.738281 Z M 37.300781 46.875 C 38.894531 46.875 40.375 46.332031 41.558594 45.414062 C 41.746094 45.28125 41.855469 45.132812 41.914062 44.960938 L 41.914062 44.945312 L 41.949219 44.851562 C 41.96875 44.738281 42.007812 44.664062 42.007812 44.53125 L 42.007812 40.386719 C 42.007812 39.789062 41.519531 39.335938 40.917969 39.335938 L 37.1875 39.335938 C 36.605469 39.335938 36.121094 39.789062 36.121094 40.386719 C 36.121094 40.96875 36.605469 41.457031 37.1875 41.457031 L 39.871094 41.457031 L 39.871094 44.023438 C 39.121094 44.457031 38.238281 44.738281 37.300781 44.738281 C 35.949219 44.738281 34.769531 44.230469 33.925781 43.367188 C 33.042969 42.523438 32.519531 41.382812 32.519531 40.144531 C 32.519531 38.867188 33.042969 37.726562 33.925781 36.882812 C 34.769531 36.019531 35.949219 35.511719 37.300781 35.511719 C 38.425781 35.511719 39.457031 35.90625 40.261719 36.523438 C 40.730469 36.898438 41.425781 36.804688 41.78125 36.355469 C 42.136719 35.886719 42.0625 35.195312 41.574219 34.835938 C 40.414062 33.917969 38.894531 33.375 37.300781 33.375 C 33.496094 33.375 30.382812 36.375 30.382812 40.144531 C 30.382812 43.894531 33.496094 46.875 37.300781 46.875 Z M 37.300781 46.875 \"/>\\n      </g>'},movIcon:{extension:\".mov\",path:'<g id=\"surface1\">\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(99.607843%,99.607843%,99.607843%);fill-opacity:1;\" d=\"M 10.578125 25 L 39.421875 25 C 41.53125 25 43.527344 25.492188 45.3125 26.367188 L 45.3125 15.367188 C 45.3125 13.90625 44.976562 13.097656 43.984375 12.109375 C 42.996094 11.121094 35.105469 3.226562 34.503906 2.628906 C 33.90625 2.027344 33.070312 1.5625 31.617188 1.5625 L 6.5625 1.5625 C 5.527344 1.5625 4.6875 2.402344 4.6875 3.4375 L 4.6875 26.367188 C 6.476562 25.492188 8.472656 25 10.578125 25 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 34.375 4.710938 L 42.164062 12.5 L 34.515625 12.5 C 34.464844 12.46875 34.414062 12.425781 34.375 12.390625 Z M 6.25 25.722656 L 6.25 3.4375 C 6.25 3.265625 6.390625 3.125 6.5625 3.125 L 31.25 3.125 L 31.25 12.5 C 31.25 13.980469 32.496094 15.210938 33.742188 15.539062 C 33.902344 15.59375 34.074219 15.625 34.257812 15.625 L 43.75 15.625 L 43.75 25.722656 C 44.859375 26.105469 45.910156 26.625 46.875 27.269531 L 46.875 15.363281 C 46.875 13.511719 46.375 12.289062 45.089844 11.003906 L 35.609375 1.523438 C 34.582031 0.496094 33.273438 0 31.617188 0 L 6.5625 0 C 4.667969 0 3.125 1.542969 3.125 3.4375 L 3.125 27.269531 C 4.089844 26.625 5.140625 26.105469 6.25 25.722656 Z M 6.25 25.722656 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 8.621094 28.125 C 3.859375 28.125 0 31.984375 0 36.742188 L 0 41.378906 C 0 46.140625 3.859375 50 8.621094 50 L 41.378906 50 C 46.140625 50 50 46.140625 50 41.382812 L 50 36.746094 C 50 31.984375 46.140625 28.125 41.382812 28.125 Z M 8.621094 28.125 \"/>\\n      <path style=\" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;\" d=\"M 15.472656 46.875 C 16.035156 46.875 16.523438 46.40625 16.523438 45.84375 L 16.523438 34.78125 C 16.523438 34.289062 16.152344 33.882812 15.679688 33.777344 L 15.472656 33.75 L 15.453125 33.75 C 15.117188 33.75 14.816406 33.898438 14.609375 34.179688 L 10.878906 39.355469 L 7.148438 34.179688 C 6.960938 33.898438 6.625 33.75 6.324219 33.75 L 6.265625 33.75 C 5.703125 33.75 5.234375 34.21875 5.234375 34.78125 L 5.234375 45.84375 C 5.234375 46.40625 5.703125 46.875 6.265625 46.875 C 6.847656 46.875 7.316406 46.40625 7.316406 45.84375 L 7.316406 37.949219 L 10 41.699219 C 10.203125 41.980469 10.523438 42.132812 10.859375 42.132812 L 10.898438 42.132812 C 11.234375 42.132812 11.535156 41.980469 11.742188 41.699219 L 14.441406 37.949219 L 14.441406 45.84375 C 14.441406 46.40625 14.890625 46.875 15.472656 46.875 Z M 25.460938 46.875 C 27.1875 46.875 28.835938 46.085938 29.941406 44.867188 C 31.105469 43.648438 31.835938 41.980469 31.835938 40.125 C 31.835938 38.269531 31.105469 36.617188 29.941406 35.382812 C 28.835938 34.144531 27.1875 33.375 25.460938 33.375 C 23.660156 33.375 22.011719 34.144531 20.867188 35.382812 C 19.703125 36.617188 19.011719 38.269531 19.011719 40.125 C 19.011719 41.980469 19.703125 43.648438 20.867188 44.867188 C 22.011719 46.085938 23.660156 46.875 25.460938 46.875 Z M 25.460938 44.738281 C 24.261719 44.738281 23.210938 44.230469 22.421875 43.386719 C 21.636719 42.582031 21.148438 41.398438 21.148438 40.125 C 21.148438 38.851562 21.636719 37.667969 22.421875 36.84375 C 23.210938 36 24.261719 35.511719 25.460938 35.511719 C 26.585938 35.511719 27.636719 36 28.421875 36.84375 C 29.191406 37.667969 29.699219 38.851562 29.699219 40.125 C 29.699219 41.398438 29.191406 42.582031 28.421875 43.386719 C 27.636719 44.230469 26.585938 44.738281 25.460938 44.738281 Z M 38.683594 46.855469 L 38.71875 46.855469 C 38.777344 46.835938 38.8125 46.820312 38.871094 46.820312 C 38.886719 46.800781 38.886719 46.800781 38.90625 46.800781 C 38.964844 46.78125 39.019531 46.726562 39.058594 46.707031 L 39.09375 46.6875 L 39.207031 46.59375 C 39.226562 46.574219 39.226562 46.574219 39.246094 46.539062 L 39.339844 46.425781 C 39.355469 46.425781 39.355469 46.425781 39.355469 46.40625 C 39.394531 46.367188 39.414062 46.292969 39.433594 46.257812 L 44.0625 35.304688 C 44.269531 34.800781 44.027344 34.179688 43.5 33.976562 C 42.996094 33.75 42.375 33.992188 42.152344 34.519531 L 38.496094 43.199219 L 34.839844 34.519531 C 34.613281 33.992188 34.011719 33.75 33.507812 33.976562 C 32.964844 34.179688 32.71875 34.800781 32.945312 35.304688 L 37.539062 46.257812 C 37.574219 46.292969 37.613281 46.367188 37.632812 46.40625 C 37.632812 46.425781 37.652344 46.425781 37.652344 46.425781 C 37.667969 46.460938 37.707031 46.5 37.746094 46.539062 C 37.746094 46.574219 37.761719 46.574219 37.761719 46.59375 C 37.820312 46.632812 37.855469 46.648438 37.894531 46.6875 L 37.914062 46.6875 C 37.96875 46.726562 38.042969 46.78125 38.082031 46.800781 L 38.101562 46.800781 C 38.101562 46.800781 38.121094 46.800781 38.121094 46.820312 C 38.15625 46.820312 38.230469 46.835938 38.269531 46.855469 L 38.308594 46.855469 L 38.402344 46.871094 L 38.496094 46.875 C 38.550781 46.875 38.605469 46.875 38.683594 46.855469 Z M 38.683594 46.855469 \"/>\\n      </g>'},ogvIcon:{extension:\".ogv\",path:'<g id=\"surface1\">\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(99.607843%,99.607843%,99.607843%);fill-opacity:1;\" d=\"M 10.578125 25 L 39.421875 25 C 41.53125 25 43.527344 25.492188 45.3125 26.367188 L 45.3125 15.367188 C 45.3125 13.90625 44.976562 13.097656 43.984375 12.109375 C 42.996094 11.121094 35.105469 3.226562 34.503906 2.628906 C 33.90625 2.027344 33.070312 1.5625 31.617188 1.5625 L 6.5625 1.5625 C 5.527344 1.5625 4.6875 2.402344 4.6875 3.4375 L 4.6875 26.367188 C 6.476562 25.492188 8.472656 25 10.578125 25 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 34.375 4.710938 L 42.164062 12.5 L 34.515625 12.5 C 34.464844 12.46875 34.414062 12.425781 34.375 12.390625 Z M 6.25 25.722656 L 6.25 3.4375 C 6.25 3.265625 6.390625 3.125 6.5625 3.125 L 31.25 3.125 L 31.25 12.5 C 31.25 13.980469 32.496094 15.210938 33.742188 15.539062 C 33.902344 15.59375 34.074219 15.625 34.257812 15.625 L 43.75 15.625 L 43.75 25.722656 C 44.859375 26.105469 45.910156 26.625 46.875 27.269531 L 46.875 15.363281 C 46.875 13.511719 46.375 12.289062 45.089844 11.003906 L 35.609375 1.523438 C 34.582031 0.496094 33.273438 0 31.617188 0 L 6.5625 0 C 4.667969 0 3.125 1.542969 3.125 3.4375 L 3.125 27.269531 C 4.089844 26.625 5.140625 26.105469 6.25 25.722656 Z M 6.25 25.722656 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 8.621094 28.125 C 3.859375 28.125 0 31.984375 0 36.742188 L 0 41.378906 C 0 46.140625 3.859375 50 8.621094 50 L 41.378906 50 C 46.140625 50 50 46.140625 50 41.382812 L 50 36.746094 C 50 31.984375 46.140625 28.125 41.382812 28.125 Z M 8.621094 28.125 \"/>\\n      <path style=\" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;\" d=\"M 11.511719 46.875 C 13.238281 46.875 14.886719 46.085938 15.996094 44.867188 C 17.15625 43.648438 17.886719 41.980469 17.886719 40.125 C 17.886719 38.269531 17.15625 36.617188 15.996094 35.382812 C 14.886719 34.144531 13.238281 33.375 11.511719 33.375 C 9.714844 33.375 8.0625 34.144531 6.917969 35.382812 C 5.757812 36.617188 5.0625 38.269531 5.0625 40.125 C 5.0625 41.980469 5.757812 43.648438 6.917969 44.867188 C 8.0625 46.085938 9.714844 46.875 11.511719 46.875 Z M 11.511719 44.738281 C 10.3125 44.738281 9.261719 44.230469 8.476562 43.386719 C 7.6875 42.582031 7.199219 41.398438 7.199219 40.125 C 7.199219 38.851562 7.6875 37.667969 8.476562 36.84375 C 9.261719 36 10.3125 35.511719 11.511719 35.511719 C 12.636719 35.511719 13.6875 36 14.476562 36.84375 C 15.246094 37.667969 15.75 38.851562 15.75 40.125 C 15.75 41.398438 15.246094 42.582031 14.476562 43.386719 C 13.6875 44.230469 12.636719 44.738281 11.511719 44.738281 Z M 27.25 46.875 C 28.84375 46.875 30.324219 46.332031 31.507812 45.414062 C 31.695312 45.28125 31.804688 45.132812 31.863281 44.960938 L 31.863281 44.945312 C 31.882812 44.90625 31.882812 44.886719 31.898438 44.851562 C 31.917969 44.738281 31.957031 44.664062 31.957031 44.53125 L 31.957031 40.386719 C 31.957031 39.789062 31.46875 39.335938 30.867188 39.335938 L 27.136719 39.335938 C 26.554688 39.335938 26.070312 39.789062 26.070312 40.386719 C 26.070312 40.96875 26.554688 41.457031 27.136719 41.457031 L 29.820312 41.457031 L 29.820312 44.023438 C 29.070312 44.457031 28.1875 44.738281 27.25 44.738281 C 25.898438 44.738281 24.71875 44.230469 23.875 43.367188 C 22.992188 42.523438 22.46875 41.382812 22.46875 40.144531 C 22.46875 38.867188 22.992188 37.726562 23.875 36.882812 C 24.71875 36.019531 25.898438 35.511719 27.25 35.511719 C 28.375 35.511719 29.40625 35.90625 30.210938 36.523438 C 30.679688 36.898438 31.375 36.804688 31.730469 36.355469 C 32.085938 35.886719 32.011719 35.195312 31.523438 34.835938 C 30.363281 33.917969 28.84375 33.375 27.25 33.375 C 23.445312 33.375 20.332031 36.375 20.332031 40.144531 C 20.332031 43.894531 23.445312 46.875 27.25 46.875 Z M 40.191406 46.855469 L 40.230469 46.855469 C 40.285156 46.835938 40.324219 46.820312 40.378906 46.820312 C 40.398438 46.800781 40.398438 46.800781 40.417969 46.800781 C 40.472656 46.78125 40.53125 46.726562 40.566406 46.707031 C 40.605469 46.6875 40.605469 46.6875 40.605469 46.6875 L 40.71875 46.59375 C 40.738281 46.574219 40.738281 46.574219 40.753906 46.539062 L 40.847656 46.425781 C 40.867188 46.425781 40.867188 46.425781 40.867188 46.40625 C 40.90625 46.367188 40.925781 46.292969 40.941406 46.257812 L 45.574219 35.304688 C 45.78125 34.800781 45.535156 34.179688 45.011719 33.976562 C 44.503906 33.75 43.886719 33.992188 43.660156 34.519531 L 40.003906 43.199219 L 36.347656 34.519531 C 36.125 33.992188 35.523438 33.75 35.019531 33.976562 C 34.472656 34.179688 34.230469 34.800781 34.457031 35.304688 L 39.050781 46.257812 C 39.085938 46.292969 39.125 46.367188 39.144531 46.40625 C 39.144531 46.425781 39.160156 46.425781 39.160156 46.425781 C 39.179688 46.460938 39.21875 46.5 39.253906 46.539062 C 39.253906 46.574219 39.273438 46.574219 39.273438 46.59375 C 39.332031 46.632812 39.367188 46.648438 39.40625 46.6875 L 39.425781 46.6875 C 39.480469 46.726562 39.554688 46.78125 39.59375 46.800781 L 39.613281 46.800781 C 39.613281 46.800781 39.628906 46.800781 39.628906 46.820312 C 39.667969 46.820312 39.742188 46.835938 39.78125 46.855469 L 39.816406 46.855469 L 39.910156 46.871094 L 40.003906 46.875 C 40.0625 46.875 40.117188 46.875 40.191406 46.855469 Z M 40.191406 46.855469 \"/>\\n      </g>'},pngIcon:{extension:\".png\",path:'<g id=\"surface1\">\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(99.607843%,99.607843%,99.607843%);fill-opacity:1;\" d=\"M 10.578125 25 L 39.421875 25 C 41.53125 25 43.527344 25.492188 45.3125 26.367188 L 45.3125 15.367188 C 45.3125 13.90625 44.976562 13.097656 43.984375 12.109375 C 42.996094 11.121094 35.105469 3.226562 34.503906 2.628906 C 33.90625 2.027344 33.070312 1.5625 31.617188 1.5625 L 6.5625 1.5625 C 5.527344 1.5625 4.6875 2.402344 4.6875 3.4375 L 4.6875 26.367188 C 6.476562 25.492188 8.472656 25 10.578125 25 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 34.375 4.710938 L 42.164062 12.5 L 34.515625 12.5 C 34.464844 12.46875 34.414062 12.425781 34.375 12.390625 Z M 6.25 25.722656 L 6.25 3.4375 C 6.25 3.265625 6.390625 3.125 6.5625 3.125 L 31.25 3.125 L 31.25 12.5 C 31.25 13.980469 32.496094 15.210938 33.742188 15.539062 C 33.902344 15.59375 34.074219 15.625 34.257812 15.625 L 43.75 15.625 L 43.75 25.722656 C 44.859375 26.105469 45.910156 26.625 46.875 27.269531 L 46.875 15.363281 C 46.875 13.511719 46.375 12.289062 45.089844 11.003906 L 35.609375 1.523438 C 34.582031 0.496094 33.273438 0 31.617188 0 L 6.5625 0 C 4.667969 0 3.125 1.542969 3.125 3.4375 L 3.125 27.269531 C 4.089844 26.625 5.140625 26.105469 6.25 25.722656 Z M 6.25 25.722656 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 8.621094 28.125 C 3.859375 28.125 0 31.984375 0 36.742188 L 0 41.378906 C 0 46.140625 3.859375 50 8.621094 50 L 41.378906 50 C 46.140625 50 50 46.140625 50 41.382812 L 50 36.746094 C 50 31.984375 46.140625 28.125 41.382812 28.125 Z M 8.621094 28.125 \"/>\\n      <path style=\" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;\" d=\"M 7.523438 46.875 C 8.105469 46.875 8.574219 46.40625 8.574219 45.84375 L 8.574219 41.773438 L 10.878906 41.773438 C 13.109375 41.773438 14.910156 39.976562 14.910156 37.78125 C 14.910156 35.550781 13.109375 33.75 10.878906 33.75 L 7.523438 33.75 C 6.960938 33.75 6.492188 34.199219 6.492188 34.78125 L 6.492188 45.84375 C 6.492188 46.40625 6.960938 46.875 7.523438 46.875 Z M 10.878906 39.695312 L 8.574219 39.695312 L 8.574219 35.832031 L 10.878906 35.832031 C 11.964844 35.832031 12.808594 36.695312 12.828125 37.78125 C 12.808594 38.832031 11.964844 39.695312 10.878906 39.695312 Z M 26.75 46.875 C 27.3125 46.875 27.78125 46.40625 27.78125 45.84375 L 27.78125 34.949219 C 27.78125 34.40625 27.3125 33.9375 26.75 33.9375 C 26.1875 33.9375 25.738281 34.40625 25.738281 34.949219 L 25.738281 42.675781 L 19.679688 34.292969 C 19.363281 33.84375 18.722656 33.75 18.253906 34.070312 C 17.972656 34.273438 17.824219 34.613281 17.84375 34.929688 L 17.84375 45.84375 C 17.84375 46.40625 18.292969 46.875 18.875 46.875 C 19.417969 46.875 19.886719 46.40625 19.886719 45.84375 L 19.886719 38.0625 L 25.886719 46.386719 C 25.90625 46.425781 25.941406 46.460938 25.980469 46.5 C 26.167969 46.726562 26.449219 46.875 26.75 46.875 Z M 38.082031 46.875 C 39.675781 46.875 41.15625 46.332031 42.339844 45.414062 C 42.527344 45.28125 42.636719 45.132812 42.695312 44.960938 L 42.695312 44.945312 C 42.714844 44.90625 42.714844 44.886719 42.730469 44.851562 C 42.75 44.738281 42.789062 44.664062 42.789062 44.53125 L 42.789062 40.386719 C 42.789062 39.789062 42.300781 39.335938 41.699219 39.335938 L 37.96875 39.335938 C 37.386719 39.335938 36.902344 39.789062 36.902344 40.386719 C 36.902344 40.96875 37.386719 41.457031 37.96875 41.457031 L 40.652344 41.457031 L 40.652344 44.023438 C 39.902344 44.457031 39.019531 44.738281 38.082031 44.738281 C 36.730469 44.738281 35.550781 44.230469 34.707031 43.367188 C 33.824219 42.523438 33.300781 41.382812 33.300781 40.144531 C 33.300781 38.867188 33.824219 37.726562 34.707031 36.882812 C 35.550781 36.019531 36.730469 35.511719 38.082031 35.511719 C 39.207031 35.511719 40.238281 35.90625 41.042969 36.523438 C 41.511719 36.898438 42.207031 36.804688 42.5625 36.355469 C 42.917969 35.886719 42.84375 35.195312 42.355469 34.835938 C 41.195312 33.917969 39.675781 33.375 38.082031 33.375 C 34.277344 33.375 31.164062 36.375 31.164062 40.144531 C 31.164062 43.894531 34.277344 46.875 38.082031 46.875 Z M 38.082031 46.875 \"/>\\n      </g>'},txtIcon:{extension:\".txt\",path:'<g id=\"surface1\">\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(99.607843%,99.607843%,99.607843%);fill-opacity:1;\" d=\"M 10.578125 25 L 39.421875 25 C 41.53125 25 43.527344 25.492188 45.3125 26.367188 L 45.3125 15.367188 C 45.3125 13.90625 44.976562 13.097656 43.984375 12.109375 C 42.996094 11.121094 35.105469 3.226562 34.503906 2.628906 C 33.90625 2.027344 33.070312 1.5625 31.617188 1.5625 L 6.5625 1.5625 C 5.527344 1.5625 4.6875 2.402344 4.6875 3.4375 L 4.6875 26.367188 C 6.476562 25.492188 8.472656 25 10.578125 25 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 34.375 4.710938 L 42.164062 12.5 L 34.515625 12.5 C 34.464844 12.46875 34.414062 12.425781 34.375 12.390625 Z M 6.25 25.722656 L 6.25 3.4375 C 6.25 3.265625 6.390625 3.125 6.5625 3.125 L 31.25 3.125 L 31.25 12.5 C 31.25 13.980469 32.496094 15.210938 33.742188 15.539062 C 33.902344 15.59375 34.074219 15.625 34.257812 15.625 L 43.75 15.625 L 43.75 25.722656 C 44.859375 26.105469 45.910156 26.625 46.875 27.269531 L 46.875 15.363281 C 46.875 13.511719 46.375 12.289062 45.089844 11.003906 L 35.609375 1.523438 C 34.582031 0.496094 33.273438 0 31.617188 0 L 6.5625 0 C 4.667969 0 3.125 1.542969 3.125 3.4375 L 3.125 27.269531 C 4.089844 26.625 5.140625 26.105469 6.25 25.722656 Z M 6.25 25.722656 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 8.621094 28.125 C 3.859375 28.125 0 31.984375 0 36.742188 L 0 41.378906 C 0 46.140625 3.859375 50 8.621094 50 L 41.378906 50 C 46.140625 50 50 46.140625 50 41.382812 L 50 36.746094 C 50 31.984375 46.140625 28.125 41.382812 28.125 Z M 8.621094 28.125 \"/>\\n      <path style=\" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;\" d=\"M 12.847656 46.875 C 13.429688 46.875 13.878906 46.425781 13.878906 45.84375 L 13.878906 35.832031 L 16.859375 35.832031 C 17.421875 35.832031 17.890625 35.34375 17.890625 34.78125 C 17.890625 34.199219 17.421875 33.75 16.859375 33.75 L 8.855469 33.75 C 8.273438 33.75 7.824219 34.199219 7.824219 34.78125 C 7.824219 35.34375 8.273438 35.832031 8.855469 35.832031 L 11.816406 35.832031 L 11.816406 45.84375 C 11.816406 46.425781 12.285156 46.875 12.847656 46.875 Z M 29.019531 46.875 C 29.222656 46.875 29.429688 46.800781 29.617188 46.667969 C 30.085938 46.351562 30.160156 45.695312 29.84375 45.242188 L 26.28125 40.367188 L 29.84375 35.53125 C 30.160156 35.0625 30.085938 34.425781 29.617188 34.105469 C 29.148438 33.75 28.53125 33.84375 28.175781 34.332031 L 25.023438 38.644531 L 21.855469 34.332031 C 21.535156 33.84375 20.878906 33.75 20.429688 34.105469 C 19.960938 34.425781 19.867188 35.0625 20.1875 35.53125 L 23.75 40.367188 L 20.1875 45.242188 C 19.867188 45.695312 19.960938 46.351562 20.429688 46.667969 C 20.597656 46.800781 20.804688 46.875 21.03125 46.875 C 21.347656 46.875 21.648438 46.707031 21.855469 46.445312 L 25.023438 42.113281 L 28.175781 46.445312 C 28.378906 46.707031 28.679688 46.875 29.019531 46.875 Z M 37.464844 46.875 C 38.042969 46.875 38.496094 46.425781 38.496094 45.84375 L 38.496094 35.832031 L 41.476562 35.832031 C 42.039062 35.832031 42.507812 35.34375 42.507812 34.78125 C 42.507812 34.199219 42.039062 33.75 41.476562 33.75 L 33.46875 33.75 C 32.886719 33.75 32.4375 34.199219 32.4375 34.78125 C 32.4375 35.34375 32.886719 35.832031 33.46875 35.832031 L 36.433594 35.832031 L 36.433594 45.84375 C 36.433594 46.425781 36.902344 46.875 37.464844 46.875 Z M 37.464844 46.875 \"/>\\n      </g>'},webmIcon:{extension:\".webm\",path:'<g id=\"surface1\">\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(99.607843%,99.607843%,99.607843%);fill-opacity:1;\" d=\"M 10.578125 25 L 39.421875 25 C 41.53125 25 43.527344 25.492188 45.3125 26.367188 L 45.3125 15.367188 C 45.3125 13.90625 44.976562 13.097656 43.984375 12.109375 C 42.996094 11.121094 35.105469 3.226562 34.503906 2.628906 C 33.90625 2.027344 33.070312 1.5625 31.617188 1.5625 L 6.5625 1.5625 C 5.527344 1.5625 4.6875 2.402344 4.6875 3.4375 L 4.6875 26.367188 C 6.476562 25.492188 8.472656 25 10.578125 25 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 34.375 4.710938 L 42.164062 12.5 L 34.515625 12.5 C 34.464844 12.46875 34.414062 12.425781 34.375 12.390625 Z M 6.25 25.722656 L 6.25 3.4375 C 6.25 3.265625 6.390625 3.125 6.5625 3.125 L 31.25 3.125 L 31.25 12.5 C 31.25 13.980469 32.496094 15.210938 33.742188 15.539062 C 33.902344 15.59375 34.074219 15.625 34.257812 15.625 L 43.75 15.625 L 43.75 25.722656 C 44.859375 26.105469 45.910156 26.625 46.875 27.269531 L 46.875 15.363281 C 46.875 13.511719 46.375 12.289062 45.089844 11.003906 L 35.609375 1.523438 C 34.582031 0.496094 33.273438 0 31.617188 0 L 6.5625 0 C 4.667969 0 3.125 1.542969 3.125 3.4375 L 3.125 27.269531 C 4.089844 26.625 5.140625 26.105469 6.25 25.722656 Z M 6.25 25.722656 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 8.621094 28.125 C 3.859375 28.125 0 31.984375 0 36.742188 L 0 41.378906 C 0 46.140625 3.859375 50 8.621094 50 L 41.378906 50 C 46.140625 50 50 46.140625 50 41.382812 L 50 36.746094 C 50 31.984375 46.140625 28.125 41.382812 28.125 Z M 8.621094 28.125 \"/>\\n      <path style=\" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;\" d=\"M 7.195312 43.734375 L 7.242188 43.734375 C 7.273438 43.71875 7.304688 43.703125 7.367188 43.703125 C 7.367188 43.6875 7.382812 43.6875 7.382812 43.6875 L 7.398438 43.6875 C 7.429688 43.671875 7.476562 43.625 7.523438 43.59375 L 7.554688 43.59375 C 7.585938 43.5625 7.617188 43.53125 7.648438 43.515625 C 7.648438 43.5 7.664062 43.5 7.664062 43.46875 L 7.757812 43.375 C 7.757812 43.375 7.757812 43.359375 7.773438 43.359375 C 7.789062 43.328125 7.820312 43.265625 7.835938 43.21875 L 9.882812 38.375 L 11.929688 43.21875 C 11.945312 43.265625 11.960938 43.328125 11.992188 43.359375 C 11.992188 43.359375 11.992188 43.375 12.023438 43.375 L 12.085938 43.46875 C 12.101562 43.5 12.101562 43.5 12.117188 43.515625 C 12.148438 43.53125 12.179688 43.5625 12.226562 43.59375 L 12.242188 43.59375 C 12.273438 43.625 12.320312 43.671875 12.382812 43.6875 C 12.398438 43.6875 12.398438 43.6875 12.414062 43.703125 C 12.445312 43.703125 12.476562 43.71875 12.523438 43.734375 L 12.570312 43.734375 L 12.640625 43.746094 L 12.710938 43.75 C 12.773438 43.75 12.820312 43.75 12.867188 43.734375 L 12.898438 43.734375 C 12.945312 43.71875 12.992188 43.703125 13.023438 43.703125 C 13.023438 43.6875 13.039062 43.6875 13.039062 43.6875 L 13.054688 43.6875 C 13.117188 43.671875 13.148438 43.625 13.195312 43.59375 L 13.210938 43.59375 C 13.242188 43.5625 13.289062 43.53125 13.320312 43.515625 C 13.320312 43.5 13.335938 43.5 13.335938 43.46875 C 13.367188 43.4375 13.398438 43.40625 13.414062 43.375 C 13.414062 43.375 13.429688 43.359375 13.429688 43.359375 C 13.460938 43.328125 13.492188 43.265625 13.507812 43.21875 L 17.335938 34.109375 C 17.523438 33.6875 17.320312 33.171875 16.898438 33 C 16.445312 32.8125 15.945312 33.015625 15.757812 33.453125 L 12.710938 40.6875 L 10.695312 35.890625 C 10.539062 35.546875 10.210938 35.359375 9.882812 35.359375 C 9.539062 35.359375 9.210938 35.546875 9.070312 35.890625 L 7.054688 40.6875 L 3.992188 33.453125 C 3.820312 33.015625 3.304688 32.8125 2.882812 33 C 2.429688 33.171875 2.242188 33.6875 2.414062 34.109375 L 6.257812 43.21875 C 6.289062 43.265625 6.304688 43.328125 6.335938 43.359375 L 6.335938 43.375 C 6.367188 43.40625 6.382812 43.4375 6.414062 43.46875 C 6.429688 43.5 6.429688 43.5 6.445312 43.515625 C 6.492188 43.53125 6.507812 43.5625 6.554688 43.59375 L 6.570312 43.59375 C 6.601562 43.625 6.664062 43.671875 6.710938 43.6875 C 6.726562 43.6875 6.726562 43.6875 6.742188 43.703125 C 6.773438 43.703125 6.804688 43.71875 6.851562 43.734375 L 6.898438 43.734375 L 6.976562 43.746094 L 7.054688 43.75 C 7.101562 43.75 7.148438 43.75 7.195312 43.734375 Z M 25.179688 43.75 C 25.632812 43.75 26.039062 43.359375 26.039062 42.890625 C 26.039062 42.40625 25.632812 42.015625 25.179688 42.015625 L 20.945312 42.015625 L 20.945312 39.140625 L 24.585938 39.140625 C 25.054688 39.140625 25.445312 38.75 25.445312 38.265625 C 25.445312 37.8125 25.054688 37.40625 24.585938 37.40625 L 20.945312 37.40625 L 20.945312 34.546875 L 25.179688 34.546875 C 25.632812 34.546875 26.039062 34.15625 26.039062 33.671875 C 26.039062 33.1875 25.632812 32.8125 25.179688 32.8125 L 20.070312 32.8125 C 19.585938 32.8125 19.210938 33.1875 19.210938 33.671875 L 19.210938 42.890625 C 19.210938 43.359375 19.585938 43.75 20.070312 43.75 C 20.070312 43.75 20.085938 43.734375 20.085938 43.734375 C 20.085938 43.734375 20.085938 43.75 20.117188 43.75 Z M 31.539062 43.75 C 33.382812 43.75 34.882812 42.25 34.882812 40.390625 C 34.882812 39.203125 34.242188 38.15625 33.304688 37.5625 C 33.679688 37.0625 33.898438 36.453125 33.898438 35.78125 C 33.898438 34.140625 32.570312 32.8125 30.929688 32.8125 L 28.710938 32.8125 C 28.242188 32.8125 27.851562 33.1875 27.851562 33.671875 L 27.851562 42.890625 C 27.851562 43.359375 28.242188 43.75 28.710938 43.75 L 28.757812 43.734375 C 28.757812 43.734375 28.757812 43.75 28.773438 43.75 Z M 30.929688 37.046875 L 29.585938 37.046875 L 29.585938 34.546875 L 30.929688 34.546875 C 31.617188 34.546875 32.164062 35.09375 32.164062 35.78125 C 32.164062 36.46875 31.617188 37.046875 30.929688 37.046875 Z M 31.539062 42.015625 L 29.585938 42.015625 L 29.585938 38.78125 L 31.539062 38.78125 C 32.429688 38.796875 33.148438 39.5 33.148438 40.390625 C 33.148438 41.296875 32.429688 42 31.539062 42.015625 Z M 45.664062 43.75 C 46.132812 43.75 46.539062 43.359375 46.539062 42.890625 L 46.539062 33.671875 C 46.539062 33.269531 46.242188 32.9375 45.859375 32.839844 L 45.664062 32.8125 L 45.648438 32.8125 C 45.367188 32.8125 45.117188 32.9375 44.945312 33.171875 L 41.835938 37.484375 L 38.726562 33.171875 C 38.570312 32.9375 38.289062 32.8125 38.039062 32.8125 L 37.992188 32.8125 C 37.523438 32.8125 37.132812 33.203125 37.132812 33.671875 L 37.132812 42.890625 C 37.132812 43.359375 37.523438 43.75 37.992188 43.75 C 38.476562 43.75 38.867188 43.359375 38.867188 42.890625 L 38.867188 36.3125 L 41.101562 39.4375 C 41.273438 39.671875 41.539062 39.796875 41.820312 39.796875 L 41.851562 39.796875 C 42.132812 39.796875 42.382812 39.671875 42.554688 39.4375 L 44.804688 36.3125 L 44.804688 42.890625 C 44.804688 43.359375 45.179688 43.75 45.664062 43.75 Z M 45.664062 43.75 \"/>\\n      </g>'},webpIcon:{extension:\".webp\",path:'<g id=\"surface1\">\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(99.607843%,99.607843%,99.607843%);fill-opacity:1;\" d=\"M 10.578125 25 L 39.421875 25 C 41.53125 25 43.527344 25.492188 45.3125 26.367188 L 45.3125 15.367188 C 45.3125 13.90625 44.976562 13.097656 43.984375 12.109375 C 42.996094 11.121094 35.105469 3.226562 34.503906 2.628906 C 33.90625 2.027344 33.070312 1.5625 31.617188 1.5625 L 6.5625 1.5625 C 5.527344 1.5625 4.6875 2.402344 4.6875 3.4375 L 4.6875 26.367188 C 6.476562 25.492188 8.472656 25 10.578125 25 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 34.375 4.710938 L 42.164062 12.5 L 34.515625 12.5 C 34.464844 12.46875 34.414062 12.425781 34.375 12.390625 Z M 6.25 25.722656 L 6.25 3.4375 C 6.25 3.265625 6.390625 3.125 6.5625 3.125 L 31.25 3.125 L 31.25 12.5 C 31.25 13.980469 32.496094 15.210938 33.742188 15.539062 C 33.902344 15.59375 34.074219 15.625 34.257812 15.625 L 43.75 15.625 L 43.75 25.722656 C 44.859375 26.105469 45.910156 26.625 46.875 27.269531 L 46.875 15.363281 C 46.875 13.511719 46.375 12.289062 45.089844 11.003906 L 35.609375 1.523438 C 34.582031 0.496094 33.273438 0 31.617188 0 L 6.5625 0 C 4.667969 0 3.125 1.542969 3.125 3.4375 L 3.125 27.269531 C 4.089844 26.625 5.140625 26.105469 6.25 25.722656 Z M 6.25 25.722656 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 8.621094 28.125 C 3.859375 28.125 0 31.984375 0 36.742188 L 0 41.378906 C 0 46.140625 3.859375 50 8.621094 50 L 41.378906 50 C 46.140625 50 50 46.140625 50 41.382812 L 50 36.746094 C 50 31.984375 46.140625 28.125 41.382812 28.125 Z M 8.621094 28.125 \"/>\\n      <path style=\" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;\" d=\"M 9.234375 43.734375 L 9.28125 43.734375 C 9.3125 43.71875 9.34375 43.703125 9.40625 43.703125 L 9.414062 43.6875 C 9.421875 43.6875 9.421875 43.6875 9.4375 43.6875 C 9.46875 43.671875 9.515625 43.625 9.5625 43.59375 L 9.59375 43.59375 C 9.625 43.5625 9.65625 43.53125 9.6875 43.515625 C 9.6875 43.5 9.703125 43.5 9.703125 43.46875 L 9.796875 43.375 C 9.796875 43.375 9.796875 43.359375 9.8125 43.359375 C 9.828125 43.328125 9.859375 43.265625 9.875 43.21875 L 11.921875 38.375 L 13.96875 43.21875 C 13.984375 43.265625 14 43.328125 14.03125 43.359375 C 14.03125 43.359375 14.03125 43.375 14.0625 43.375 L 14.125 43.46875 C 14.140625 43.5 14.140625 43.5 14.15625 43.515625 L 14.203125 43.546875 L 14.265625 43.59375 C 14.265625 43.59375 14.265625 43.59375 14.28125 43.59375 C 14.3125 43.625 14.359375 43.671875 14.421875 43.6875 C 14.4375 43.6875 14.4375 43.6875 14.453125 43.703125 C 14.484375 43.703125 14.515625 43.71875 14.5625 43.734375 L 14.609375 43.734375 L 14.679688 43.746094 L 14.75 43.75 C 14.8125 43.75 14.859375 43.75 14.90625 43.734375 L 14.9375 43.734375 C 14.984375 43.71875 15.03125 43.703125 15.0625 43.703125 C 15.0625 43.6875 15.078125 43.6875 15.078125 43.6875 L 15.09375 43.6875 C 15.15625 43.671875 15.1875 43.625 15.234375 43.59375 L 15.25 43.59375 C 15.28125 43.5625 15.328125 43.53125 15.359375 43.515625 C 15.359375 43.5 15.375 43.5 15.375 43.46875 C 15.40625 43.4375 15.4375 43.40625 15.453125 43.375 L 15.46875 43.359375 C 15.5 43.328125 15.53125 43.265625 15.546875 43.21875 L 19.375 34.109375 C 19.5625 33.6875 19.359375 33.171875 18.9375 33 C 18.484375 32.8125 17.984375 33.015625 17.796875 33.453125 L 14.75 40.6875 L 12.734375 35.890625 C 12.578125 35.546875 12.25 35.359375 11.921875 35.359375 C 11.578125 35.359375 11.25 35.546875 11.109375 35.890625 L 9.09375 40.6875 L 6.03125 33.453125 C 5.859375 33.015625 5.34375 32.8125 4.921875 33 C 4.46875 33.171875 4.28125 33.6875 4.453125 34.109375 L 8.296875 43.21875 C 8.328125 43.265625 8.34375 43.328125 8.375 43.359375 L 8.375 43.375 C 8.40625 43.40625 8.421875 43.4375 8.453125 43.46875 C 8.46875 43.5 8.46875 43.5 8.484375 43.515625 L 8.539062 43.546875 L 8.59375 43.59375 C 8.59375 43.59375 8.59375 43.59375 8.609375 43.59375 C 8.640625 43.625 8.703125 43.671875 8.75 43.6875 C 8.765625 43.6875 8.765625 43.6875 8.78125 43.703125 C 8.8125 43.703125 8.84375 43.71875 8.890625 43.734375 L 8.9375 43.734375 L 9.015625 43.746094 L 9.09375 43.75 C 9.140625 43.75 9.1875 43.75 9.234375 43.734375 Z M 27.21875 43.75 C 27.671875 43.75 28.078125 43.359375 28.078125 42.890625 C 28.078125 42.40625 27.671875 42.015625 27.21875 42.015625 L 22.984375 42.015625 L 22.984375 39.140625 L 26.625 39.140625 C 27.09375 39.140625 27.484375 38.75 27.484375 38.265625 C 27.484375 37.8125 27.09375 37.40625 26.625 37.40625 L 22.984375 37.40625 L 22.984375 34.546875 L 27.21875 34.546875 C 27.671875 34.546875 28.078125 34.15625 28.078125 33.671875 C 28.078125 33.1875 27.671875 32.8125 27.21875 32.8125 L 22.109375 32.8125 C 21.625 32.8125 21.25 33.1875 21.25 33.671875 L 21.25 42.890625 C 21.25 43.359375 21.625 43.75 22.109375 43.75 L 22.125 43.734375 C 22.125 43.734375 22.125 43.75 22.15625 43.75 Z M 33.578125 43.75 C 35.421875 43.75 36.921875 42.25 36.921875 40.390625 C 36.921875 39.203125 36.28125 38.15625 35.34375 37.5625 C 35.71875 37.0625 35.9375 36.453125 35.9375 35.78125 C 35.9375 34.140625 34.609375 32.8125 32.96875 32.8125 L 30.75 32.8125 C 30.28125 32.8125 29.890625 33.1875 29.890625 33.671875 L 29.890625 42.890625 C 29.890625 43.359375 30.28125 43.75 30.75 43.75 C 30.765625 43.75 30.765625 43.734375 30.796875 43.734375 C 30.796875 43.734375 30.796875 43.75 30.8125 43.75 Z M 32.96875 37.046875 L 31.625 37.046875 L 31.625 34.546875 L 32.96875 34.546875 C 33.65625 34.546875 34.203125 35.09375 34.203125 35.78125 C 34.203125 36.46875 33.65625 37.046875 32.96875 37.046875 Z M 33.578125 42.015625 L 31.625 42.015625 L 31.625 38.78125 L 33.578125 38.78125 C 34.46875 38.796875 35.1875 39.5 35.1875 40.390625 C 35.1875 41.296875 34.46875 42 33.578125 42.015625 Z M 40.03125 43.75 C 40.515625 43.75 40.90625 43.359375 40.90625 42.890625 L 40.90625 39.5 L 42.828125 39.5 C 44.6875 39.5 46.1875 38 46.1875 36.171875 C 46.1875 34.3125 44.6875 32.8125 42.828125 32.8125 L 40.03125 32.8125 C 39.5625 32.8125 39.171875 33.1875 39.171875 33.671875 L 39.171875 42.890625 C 39.171875 43.359375 39.5625 43.75 40.03125 43.75 Z M 42.828125 37.765625 L 40.90625 37.765625 L 40.90625 34.546875 L 42.828125 34.546875 C 43.734375 34.546875 44.4375 35.265625 44.453125 36.171875 C 44.4375 37.046875 43.734375 37.765625 42.828125 37.765625 Z M 42.828125 37.765625 \"/>\\n      </g>'},wmvIcon:{extension:\".wmv\",path:'<g id=\"surface1\">\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(99.607843%,99.607843%,99.607843%);fill-opacity:1;\" d=\"M 10.578125 25 L 39.421875 25 C 41.53125 25 43.527344 25.492188 45.3125 26.367188 L 45.3125 15.367188 C 45.3125 13.90625 44.976562 13.097656 43.984375 12.109375 C 42.996094 11.121094 35.105469 3.226562 34.503906 2.628906 C 33.90625 2.027344 33.070312 1.5625 31.617188 1.5625 L 6.5625 1.5625 C 5.527344 1.5625 4.6875 2.402344 4.6875 3.4375 L 4.6875 26.367188 C 6.476562 25.492188 8.472656 25 10.578125 25 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 34.375 4.710938 L 42.164062 12.5 L 34.515625 12.5 C 34.464844 12.46875 34.414062 12.425781 34.375 12.390625 Z M 6.25 25.722656 L 6.25 3.4375 C 6.25 3.265625 6.390625 3.125 6.5625 3.125 L 31.25 3.125 L 31.25 12.5 C 31.25 13.980469 32.496094 15.210938 33.742188 15.539062 C 33.902344 15.59375 34.074219 15.625 34.257812 15.625 L 43.75 15.625 L 43.75 25.722656 C 44.859375 26.105469 45.910156 26.625 46.875 27.269531 L 46.875 15.363281 C 46.875 13.511719 46.375 12.289062 45.089844 11.003906 L 35.609375 1.523438 C 34.582031 0.496094 33.273438 0 31.617188 0 L 6.5625 0 C 4.667969 0 3.125 1.542969 3.125 3.4375 L 3.125 27.269531 C 4.089844 26.625 5.140625 26.105469 6.25 25.722656 Z M 6.25 25.722656 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 8.621094 28.125 C 3.859375 28.125 0 31.984375 0 36.742188 L 0 41.378906 C 0 46.140625 3.859375 50 8.621094 50 L 41.378906 50 C 46.140625 50 50 46.140625 50 41.382812 L 50 36.746094 C 50 31.984375 46.140625 28.125 41.382812 28.125 Z M 8.621094 28.125 \"/>\\n      <path style=\" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;\" d=\"M 8.484375 43.734375 L 8.53125 43.734375 C 8.5625 43.71875 8.59375 43.703125 8.65625 43.703125 L 8.664062 43.6875 C 8.671875 43.6875 8.671875 43.6875 8.6875 43.6875 C 8.71875 43.671875 8.765625 43.625 8.8125 43.59375 L 8.84375 43.59375 C 8.875 43.5625 8.90625 43.53125 8.9375 43.515625 C 8.9375 43.5 8.953125 43.5 8.953125 43.46875 L 9.046875 43.375 C 9.046875 43.375 9.046875 43.359375 9.0625 43.359375 C 9.078125 43.328125 9.109375 43.265625 9.125 43.21875 L 11.171875 38.375 L 13.21875 43.21875 C 13.234375 43.265625 13.25 43.328125 13.28125 43.359375 C 13.28125 43.359375 13.28125 43.375 13.3125 43.375 L 13.375 43.46875 C 13.390625 43.5 13.390625 43.5 13.40625 43.515625 L 13.453125 43.546875 L 13.515625 43.59375 C 13.515625 43.59375 13.515625 43.59375 13.53125 43.59375 C 13.5625 43.625 13.609375 43.671875 13.671875 43.6875 C 13.6875 43.6875 13.6875 43.6875 13.703125 43.703125 C 13.734375 43.703125 13.765625 43.71875 13.8125 43.734375 L 13.859375 43.734375 L 13.929688 43.746094 L 14 43.75 C 14.0625 43.75 14.109375 43.75 14.15625 43.734375 L 14.1875 43.734375 C 14.234375 43.71875 14.28125 43.703125 14.3125 43.703125 C 14.3125 43.6875 14.328125 43.6875 14.328125 43.6875 L 14.34375 43.6875 C 14.40625 43.671875 14.4375 43.625 14.484375 43.59375 L 14.5 43.59375 C 14.53125 43.5625 14.578125 43.53125 14.609375 43.515625 C 14.609375 43.5 14.625 43.5 14.625 43.46875 C 14.65625 43.4375 14.6875 43.40625 14.703125 43.375 L 14.71875 43.359375 C 14.75 43.328125 14.78125 43.265625 14.796875 43.21875 L 18.625 34.109375 C 18.8125 33.6875 18.609375 33.171875 18.1875 33 C 17.734375 32.8125 17.234375 33.015625 17.046875 33.453125 L 14 40.6875 L 11.984375 35.890625 C 11.828125 35.546875 11.5 35.359375 11.171875 35.359375 C 10.828125 35.359375 10.5 35.546875 10.359375 35.890625 L 8.34375 40.6875 L 5.28125 33.453125 C 5.109375 33.015625 4.59375 32.8125 4.171875 33 C 3.71875 33.171875 3.53125 33.6875 3.703125 34.109375 L 7.546875 43.21875 C 7.578125 43.265625 7.59375 43.328125 7.625 43.359375 L 7.625 43.375 C 7.65625 43.40625 7.671875 43.4375 7.703125 43.46875 C 7.71875 43.5 7.71875 43.5 7.734375 43.515625 L 7.789062 43.546875 L 7.84375 43.59375 C 7.84375 43.59375 7.84375 43.59375 7.859375 43.59375 C 7.890625 43.625 7.953125 43.671875 8 43.6875 C 8.015625 43.6875 8.015625 43.6875 8.03125 43.703125 C 8.0625 43.703125 8.09375 43.71875 8.140625 43.734375 L 8.1875 43.734375 L 8.265625 43.746094 L 8.34375 43.75 C 8.390625 43.75 8.4375 43.75 8.484375 43.734375 Z M 29.03125 43.75 C 29.5 43.75 29.90625 43.359375 29.90625 42.890625 L 29.90625 33.671875 C 29.90625 33.269531 29.609375 32.9375 29.226562 32.839844 L 29.03125 32.8125 L 29.015625 32.8125 C 28.734375 32.8125 28.484375 32.9375 28.3125 33.171875 L 25.203125 37.484375 L 22.09375 33.171875 C 21.9375 32.9375 21.65625 32.8125 21.40625 32.8125 L 21.359375 32.8125 C 20.890625 32.8125 20.5 33.203125 20.5 33.671875 L 20.5 42.890625 C 20.5 43.359375 20.890625 43.75 21.359375 43.75 C 21.84375 43.75 22.234375 43.359375 22.234375 42.890625 L 22.234375 36.3125 L 24.46875 39.4375 C 24.640625 39.671875 24.90625 39.796875 25.1875 39.796875 L 25.21875 39.796875 C 25.5 39.796875 25.75 39.671875 25.921875 39.4375 L 28.171875 36.3125 L 28.171875 42.890625 C 28.171875 43.359375 28.546875 43.75 29.03125 43.75 Z M 37.015625 43.734375 L 37.0625 43.734375 C 37.09375 43.71875 37.125 43.703125 37.1875 43.703125 L 37.195312 43.6875 C 37.203125 43.6875 37.203125 43.6875 37.21875 43.6875 C 37.25 43.671875 37.296875 43.625 37.34375 43.59375 L 37.375 43.59375 C 37.40625 43.5625 37.4375 43.53125 37.46875 43.515625 C 37.46875 43.5 37.484375 43.5 37.484375 43.46875 L 37.578125 43.375 C 37.578125 43.375 37.578125 43.359375 37.59375 43.359375 C 37.609375 43.328125 37.640625 43.265625 37.65625 43.21875 L 39.703125 38.375 L 41.75 43.21875 C 41.765625 43.265625 41.78125 43.328125 41.8125 43.359375 C 41.8125 43.359375 41.8125 43.375 41.84375 43.375 L 41.90625 43.46875 C 41.921875 43.5 41.921875 43.5 41.9375 43.515625 L 41.984375 43.546875 L 42.046875 43.59375 C 42.046875 43.59375 42.046875 43.59375 42.0625 43.59375 C 42.09375 43.625 42.140625 43.671875 42.203125 43.6875 C 42.21875 43.6875 42.21875 43.6875 42.234375 43.703125 C 42.265625 43.703125 42.296875 43.71875 42.34375 43.734375 L 42.390625 43.734375 L 42.460938 43.746094 L 42.53125 43.75 C 42.59375 43.75 42.640625 43.75 42.6875 43.734375 L 42.71875 43.734375 C 42.765625 43.71875 42.8125 43.703125 42.84375 43.703125 C 42.84375 43.6875 42.859375 43.6875 42.859375 43.6875 L 42.875 43.6875 C 42.9375 43.671875 42.96875 43.625 43.015625 43.59375 L 43.03125 43.59375 C 43.0625 43.5625 43.109375 43.53125 43.140625 43.515625 C 43.140625 43.5 43.15625 43.5 43.15625 43.46875 C 43.1875 43.4375 43.21875 43.40625 43.234375 43.375 L 43.25 43.359375 C 43.28125 43.328125 43.3125 43.265625 43.328125 43.21875 L 47.15625 34.109375 C 47.34375 33.6875 47.140625 33.171875 46.71875 33 C 46.265625 32.8125 45.765625 33.015625 45.578125 33.453125 L 42.53125 40.6875 L 40.515625 35.890625 C 40.359375 35.546875 40.03125 35.359375 39.703125 35.359375 C 39.359375 35.359375 39.03125 35.546875 38.890625 35.890625 L 36.875 40.6875 L 33.8125 33.453125 C 33.640625 33.015625 33.125 32.8125 32.703125 33 C 32.25 33.171875 32.0625 33.6875 32.234375 34.109375 L 36.078125 43.21875 C 36.109375 43.265625 36.125 43.328125 36.15625 43.359375 L 36.15625 43.375 C 36.1875 43.40625 36.203125 43.4375 36.234375 43.46875 C 36.25 43.5 36.25 43.5 36.265625 43.515625 L 36.320312 43.546875 L 36.375 43.59375 C 36.375 43.59375 36.375 43.59375 36.390625 43.59375 C 36.421875 43.625 36.484375 43.671875 36.53125 43.6875 C 36.546875 43.6875 36.546875 43.6875 36.5625 43.703125 C 36.59375 43.703125 36.625 43.71875 36.671875 43.734375 L 36.71875 43.734375 L 36.796875 43.746094 L 36.875 43.75 C 36.921875 43.75 36.96875 43.75 37.015625 43.734375 Z M 37.015625 43.734375 \"/>\\n      </g>'},xlsIcon:{extension:\".xls\",path:'<g id=\"surface1\">\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(99.607843%,99.607843%,99.607843%);fill-opacity:1;\" d=\"M 10.578125 25 L 39.421875 25 C 41.53125 25 43.527344 25.492188 45.3125 26.367188 L 45.3125 15.367188 C 45.3125 13.90625 44.976562 13.097656 43.984375 12.109375 C 42.996094 11.121094 35.105469 3.226562 34.503906 2.628906 C 33.90625 2.027344 33.070312 1.5625 31.617188 1.5625 L 6.5625 1.5625 C 5.527344 1.5625 4.6875 2.402344 4.6875 3.4375 L 4.6875 26.367188 C 6.476562 25.492188 8.472656 25 10.578125 25 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 34.375 4.710938 L 42.164062 12.5 L 34.515625 12.5 C 34.464844 12.46875 34.414062 12.425781 34.375 12.390625 Z M 6.25 25.722656 L 6.25 3.4375 C 6.25 3.265625 6.390625 3.125 6.5625 3.125 L 31.25 3.125 L 31.25 12.5 C 31.25 13.980469 32.496094 15.210938 33.742188 15.539062 C 33.902344 15.59375 34.074219 15.625 34.257812 15.625 L 43.75 15.625 L 43.75 25.722656 C 44.859375 26.105469 45.910156 26.625 46.875 27.269531 L 46.875 15.363281 C 46.875 13.511719 46.375 12.289062 45.089844 11.003906 L 35.609375 1.523438 C 34.582031 0.496094 33.273438 0 31.617188 0 L 6.5625 0 C 4.667969 0 3.125 1.542969 3.125 3.4375 L 3.125 27.269531 C 4.089844 26.625 5.140625 26.105469 6.25 25.722656 Z M 6.25 25.722656 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 8.621094 28.125 C 3.859375 28.125 0 31.984375 0 36.742188 L 0 41.378906 C 0 46.140625 3.859375 50 8.621094 50 L 41.378906 50 C 46.140625 50 50 46.140625 50 41.382812 L 50 36.746094 C 50 31.984375 46.140625 28.125 41.382812 28.125 Z M 8.621094 28.125 \"/>\\n      <path style=\" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;\" d=\"M 17.21875 46.875 C 17.425781 46.875 17.632812 46.800781 17.820312 46.667969 C 18.289062 46.351562 18.363281 45.695312 18.042969 45.242188 L 14.480469 40.367188 L 18.042969 35.53125 C 18.363281 35.0625 18.289062 34.425781 17.820312 34.105469 C 17.351562 33.75 16.730469 33.84375 16.375 34.332031 L 13.226562 38.644531 L 10.054688 34.332031 C 9.738281 33.84375 9.082031 33.75 8.632812 34.105469 C 8.164062 34.425781 8.070312 35.0625 8.386719 35.53125 L 11.949219 40.367188 L 8.386719 45.242188 C 8.070312 45.695312 8.164062 46.351562 8.632812 46.667969 C 8.800781 46.800781 9.007812 46.875 9.230469 46.875 C 9.550781 46.875 9.851562 46.707031 10.054688 46.445312 L 13.226562 42.113281 L 16.375 46.445312 C 16.582031 46.707031 16.882812 46.875 17.21875 46.875 Z M 29.351562 46.875 C 29.894531 46.875 30.382812 46.40625 30.382812 45.84375 C 30.382812 45.261719 29.894531 44.792969 29.351562 44.792969 L 24.269531 44.792969 L 24.269531 34.78125 C 24.269531 34.21875 23.800781 33.75 23.21875 33.75 C 22.636719 33.75 22.1875 34.21875 22.1875 34.78125 L 22.1875 45.84375 C 22.1875 46.335938 22.53125 46.757812 23.007812 46.855469 L 23.222656 46.875 Z M 37.28125 46.855469 C 38.613281 46.855469 39.832031 46.460938 40.75 45.789062 C 41.6875 45.113281 42.363281 44.082031 42.363281 42.882812 C 42.363281 42.300781 42.195312 41.738281 41.914062 41.289062 C 41.480469 40.59375 40.804688 40.105469 40.039062 39.730469 C 39.289062 39.375 38.40625 39.132812 37.449219 38.945312 L 37.414062 38.945312 C 36.398438 38.757812 35.554688 38.457031 35.070312 38.117188 C 34.824219 37.949219 34.65625 37.78125 34.5625 37.632812 C 34.46875 37.480469 34.429688 37.332031 34.429688 37.105469 C 34.429688 36.710938 34.636719 36.300781 35.144531 35.925781 C 35.648438 35.550781 36.398438 35.289062 37.242188 35.289062 C 38.386719 35.289062 39.304688 35.851562 40.261719 36.488281 C 40.710938 36.789062 41.3125 36.65625 41.59375 36.207031 C 41.894531 35.773438 41.761719 35.175781 41.332031 34.875 C 40.375 34.257812 39.042969 33.375 37.242188 33.375 C 36.023438 33.375 34.882812 33.730469 34 34.367188 C 33.136719 35.007812 32.5 35.980469 32.5 37.105469 C 32.5 37.667969 32.648438 38.195312 32.929688 38.644531 C 33.34375 39.300781 33.960938 39.769531 34.675781 40.105469 C 35.386719 40.445312 36.210938 40.667969 37.09375 40.835938 L 37.132812 40.835938 C 38.238281 41.042969 39.15625 41.363281 39.699219 41.71875 C 39.980469 41.90625 40.148438 42.09375 40.261719 42.28125 C 40.375 42.46875 40.429688 42.636719 40.429688 42.882812 C 40.429688 43.351562 40.1875 43.820312 39.625 44.230469 C 39.0625 44.644531 38.21875 44.925781 37.28125 44.925781 C 35.949219 44.945312 34.523438 44.15625 33.699219 43.480469 C 33.289062 43.144531 32.667969 43.199219 32.332031 43.613281 C 32.011719 44.023438 32.070312 44.644531 32.480469 44.980469 C 33.550781 45.824219 35.257812 46.835938 37.28125 46.855469 Z M 37.28125 46.855469 \"/>\\n      </g>'},xlsxIcon:{extension:\".xlsx\",path:'<g id=\"surface1\">\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(99.607843%,99.607843%,99.607843%);fill-opacity:1;\" d=\"M 10.578125 25 L 39.421875 25 C 41.53125 25 43.527344 25.492188 45.3125 26.367188 L 45.3125 15.367188 C 45.3125 13.90625 44.976562 13.097656 43.984375 12.109375 C 42.996094 11.121094 35.105469 3.226562 34.503906 2.628906 C 33.90625 2.027344 33.070312 1.5625 31.617188 1.5625 L 6.5625 1.5625 C 5.527344 1.5625 4.6875 2.402344 4.6875 3.4375 L 4.6875 26.367188 C 6.476562 25.492188 8.472656 25 10.578125 25 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 34.375 4.710938 L 42.164062 12.5 L 34.515625 12.5 C 34.464844 12.46875 34.414062 12.425781 34.375 12.390625 Z M 6.25 25.722656 L 6.25 3.4375 C 6.25 3.265625 6.390625 3.125 6.5625 3.125 L 31.25 3.125 L 31.25 12.5 C 31.25 13.980469 32.496094 15.210938 33.742188 15.539062 C 33.902344 15.59375 34.074219 15.625 34.257812 15.625 L 43.75 15.625 L 43.75 25.722656 C 44.859375 26.105469 45.910156 26.625 46.875 27.269531 L 46.875 15.363281 C 46.875 13.511719 46.375 12.289062 45.089844 11.003906 L 35.609375 1.523438 C 34.582031 0.496094 33.273438 0 31.617188 0 L 6.5625 0 C 4.667969 0 3.125 1.542969 3.125 3.4375 L 3.125 27.269531 C 4.089844 26.625 5.140625 26.105469 6.25 25.722656 Z M 6.25 25.722656 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 8.621094 28.125 C 3.859375 28.125 0 31.984375 0 36.742188 L 0 41.378906 C 0 46.140625 3.859375 50 8.621094 50 L 41.378906 50 C 46.140625 50 50 46.140625 50 41.382812 L 50 36.746094 C 50 31.984375 46.140625 28.125 41.382812 28.125 Z M 8.621094 28.125 \"/>\\n      <path style=\" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;\" d=\"M 13.070312 43.75 C 13.242188 43.75 13.414062 43.6875 13.570312 43.578125 C 13.960938 43.3125 14.023438 42.765625 13.757812 42.390625 L 10.789062 38.328125 L 13.757812 34.296875 C 14.023438 33.90625 13.960938 33.375 13.570312 33.109375 C 13.179688 32.8125 12.664062 32.890625 12.367188 33.296875 L 9.742188 36.890625 L 7.101562 33.296875 C 6.835938 32.890625 6.289062 32.8125 5.914062 33.109375 C 5.523438 33.375 5.445312 33.90625 5.710938 34.296875 L 8.679688 38.328125 L 5.710938 42.390625 C 5.445312 42.765625 5.523438 43.3125 5.914062 43.578125 C 6.054688 43.6875 6.226562 43.75 6.414062 43.75 C 6.679688 43.75 6.929688 43.609375 7.101562 43.390625 L 9.742188 39.78125 L 12.367188 43.390625 C 12.539062 43.609375 12.789062 43.75 13.070312 43.75 Z M 23.179688 43.75 C 23.632812 43.75 24.039062 43.359375 24.039062 42.890625 C 24.039062 42.40625 23.632812 42.015625 23.179688 42.015625 L 18.945312 42.015625 L 18.945312 33.671875 C 18.945312 33.203125 18.554688 32.8125 18.070312 32.8125 C 17.585938 32.8125 17.210938 33.203125 17.210938 33.671875 L 17.210938 42.890625 C 17.210938 43.359375 17.585938 43.75 18.070312 43.75 Z M 29.789062 43.734375 C 30.898438 43.734375 31.914062 43.40625 32.679688 42.84375 C 33.460938 42.28125 34.023438 41.421875 34.023438 40.421875 C 34.023438 39.9375 33.882812 39.46875 33.648438 39.09375 C 33.289062 38.515625 32.726562 38.109375 32.085938 37.796875 C 31.460938 37.5 30.726562 37.296875 29.929688 37.140625 L 29.898438 37.140625 C 29.054688 36.984375 28.351562 36.734375 27.945312 36.453125 C 27.742188 36.3125 27.601562 36.171875 27.523438 36.046875 C 27.445312 35.921875 27.414062 35.796875 27.414062 35.609375 C 27.414062 35.28125 27.585938 34.9375 28.007812 34.625 C 28.429688 34.3125 29.054688 34.09375 29.757812 34.09375 C 30.710938 34.09375 31.476562 34.5625 32.273438 35.09375 C 32.648438 35.34375 33.148438 35.234375 33.382812 34.859375 C 33.632812 34.5 33.523438 34 33.164062 33.75 C 32.367188 33.234375 31.257812 32.5 29.757812 32.5 C 28.742188 32.5 27.789062 32.796875 27.054688 33.328125 C 26.335938 33.859375 25.804688 34.671875 25.804688 35.609375 C 25.804688 36.078125 25.929688 36.515625 26.164062 36.890625 C 26.507812 37.4375 27.023438 37.828125 27.617188 38.109375 C 28.210938 38.390625 28.898438 38.578125 29.632812 38.71875 L 29.664062 38.71875 C 30.585938 38.890625 31.351562 39.15625 31.804688 39.453125 C 32.039062 39.609375 32.179688 39.765625 32.273438 39.921875 C 32.367188 40.078125 32.414062 40.21875 32.414062 40.421875 C 32.414062 40.8125 32.210938 41.203125 31.742188 41.546875 C 31.273438 41.890625 30.570312 42.125 29.789062 42.125 C 28.679688 42.140625 27.492188 41.484375 26.804688 40.921875 C 26.460938 40.640625 25.945312 40.6875 25.664062 41.03125 C 25.398438 41.375 25.445312 41.890625 25.789062 42.171875 C 26.679688 42.875 28.101562 43.71875 29.789062 43.734375 Z M 43.179688 43.75 C 43.351562 43.75 43.523438 43.6875 43.679688 43.578125 C 44.070312 43.3125 44.132812 42.765625 43.867188 42.390625 L 40.898438 38.328125 L 43.867188 34.296875 C 44.132812 33.90625 44.070312 33.375 43.679688 33.109375 C 43.289062 32.8125 42.773438 32.890625 42.476562 33.296875 L 39.851562 36.890625 L 37.210938 33.296875 C 36.945312 32.890625 36.398438 32.8125 36.023438 33.109375 C 35.632812 33.375 35.554688 33.90625 35.820312 34.296875 L 38.789062 38.328125 L 35.820312 42.390625 C 35.554688 42.765625 35.632812 43.3125 36.023438 43.578125 C 36.164062 43.6875 36.335938 43.75 36.523438 43.75 C 36.789062 43.75 37.039062 43.609375 37.210938 43.390625 L 39.851562 39.78125 L 42.476562 43.390625 C 42.648438 43.609375 42.898438 43.75 43.179688 43.75 Z M 43.179688 43.75 \"/>\\n      </g>'},zipIcon:{extension:\".zip\",path:'<g id=\"surface1\">\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(99.607843%,99.607843%,99.607843%);fill-opacity:1;\" d=\"M 10.578125 25 L 39.421875 25 C 41.53125 25 43.527344 25.492188 45.3125 26.367188 L 45.3125 15.367188 C 45.3125 13.90625 44.976562 13.097656 43.984375 12.109375 C 42.996094 11.121094 35.105469 3.226562 34.503906 2.628906 C 33.90625 2.027344 33.070312 1.5625 31.617188 1.5625 L 6.5625 1.5625 C 5.527344 1.5625 4.6875 2.402344 4.6875 3.4375 L 4.6875 26.367188 C 6.476562 25.492188 8.472656 25 10.578125 25 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 34.375 4.710938 L 42.164062 12.5 L 34.515625 12.5 C 34.464844 12.46875 34.414062 12.425781 34.375 12.390625 Z M 6.25 25.722656 L 6.25 3.4375 C 6.25 3.265625 6.390625 3.125 6.5625 3.125 L 31.25 3.125 L 31.25 12.5 C 31.25 13.980469 32.496094 15.210938 33.742188 15.539062 C 33.902344 15.59375 34.074219 15.625 34.257812 15.625 L 43.75 15.625 L 43.75 25.722656 C 44.859375 26.105469 45.910156 26.625 46.875 27.269531 L 46.875 15.363281 C 46.875 13.511719 46.375 12.289062 45.089844 11.003906 L 35.609375 1.523438 C 34.582031 0.496094 33.273438 0 31.617188 0 L 6.5625 0 C 4.667969 0 3.125 1.542969 3.125 3.4375 L 3.125 27.269531 C 4.089844 26.625 5.140625 26.105469 6.25 25.722656 Z M 6.25 25.722656 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 8.621094 28.125 C 3.859375 28.125 0 31.984375 0 36.742188 L 0 41.378906 C 0 46.140625 3.859375 50 8.621094 50 L 41.378906 50 C 46.140625 50 50 46.140625 50 41.382812 L 50 36.746094 C 50 31.984375 46.140625 28.125 41.382812 28.125 Z M 8.621094 28.125 \"/>\\n      <path style=\" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;\" d=\"M 20.175781 46.875 C 20.855469 46.875 21.402344 46.351562 21.402344 45.671875 C 21.402344 44.992188 20.855469 44.445312 20.175781 44.445312 L 13.132812 44.445312 L 21.183594 33.488281 L 21.183594 33.445312 C 21.203125 33.421875 21.226562 33.378906 21.25 33.335938 C 21.269531 33.3125 21.269531 33.289062 21.292969 33.269531 C 21.3125 33.203125 21.3125 33.179688 21.335938 33.136719 C 21.335938 33.09375 21.378906 33.070312 21.378906 33.007812 C 21.378906 32.984375 21.378906 32.960938 21.402344 32.917969 L 21.402344 32.679688 C 21.402344 32.632812 21.402344 32.613281 21.378906 32.546875 C 21.378906 32.503906 21.378906 32.480469 21.335938 32.4375 C 21.335938 32.414062 21.3125 32.371094 21.3125 32.304688 C 21.292969 32.285156 21.269531 32.242188 21.269531 32.21875 C 21.25 32.195312 21.226562 32.152344 21.203125 32.109375 C 21.183594 32.066406 21.160156 32.042969 21.117188 32.023438 C 21.09375 32 21.074219 31.957031 21.050781 31.933594 C 21.03125 31.914062 21.007812 31.867188 20.964844 31.847656 C 20.941406 31.824219 20.941406 31.804688 20.898438 31.78125 L 20.875 31.78125 C 20.832031 31.757812 20.8125 31.738281 20.765625 31.714844 C 20.746094 31.695312 20.722656 31.648438 20.65625 31.648438 L 20.570312 31.605469 L 20.4375 31.585938 C 20.417969 31.585938 20.375 31.5625 20.351562 31.5625 L 10.75 31.5625 C 10.070312 31.5625 9.546875 32.085938 9.546875 32.765625 C 9.546875 33.421875 10.070312 33.992188 10.75 33.992188 L 17.8125 33.992188 L 9.785156 44.972656 L 9.765625 44.972656 C 9.742188 45.015625 9.71875 45.058594 9.699219 45.082031 C 9.699219 45.101562 9.675781 45.148438 9.632812 45.167969 C 9.632812 45.210938 9.609375 45.257812 9.609375 45.277344 C 9.589844 45.320312 9.589844 45.367188 9.566406 45.386719 L 9.566406 45.496094 C 9.546875 45.539062 9.546875 45.585938 9.546875 45.648438 L 9.546875 45.738281 C 9.546875 45.78125 9.566406 45.824219 9.566406 45.890625 C 9.566406 45.933594 9.589844 45.957031 9.589844 45.976562 L 9.632812 46.109375 C 9.632812 46.152344 9.675781 46.175781 9.699219 46.21875 C 9.699219 46.242188 9.71875 46.261719 9.742188 46.328125 C 9.765625 46.351562 9.785156 46.394531 9.808594 46.414062 C 9.828125 46.4375 9.851562 46.460938 9.894531 46.480469 L 9.9375 46.542969 L 9.984375 46.589844 C 10.003906 46.613281 10.027344 46.632812 10.046875 46.632812 L 10.046875 46.65625 C 10.070312 46.679688 10.09375 46.679688 10.136719 46.699219 C 10.179688 46.722656 10.222656 46.742188 10.246094 46.742188 C 10.265625 46.789062 10.289062 46.789062 10.3125 46.808594 C 10.375 46.808594 10.421875 46.832031 10.464844 46.832031 C 10.484375 46.851562 10.507812 46.851562 10.53125 46.851562 L 10.648438 46.871094 Z M 26.214844 46.875 C 26.871094 46.875 27.4375 46.351562 27.4375 45.671875 L 27.4375 32.765625 C 27.4375 32.085938 26.871094 31.5625 26.214844 31.5625 C 25.535156 31.5625 25.011719 32.085938 25.011719 32.765625 L 25.011719 45.671875 C 25.011719 46.351562 25.535156 46.875 26.214844 46.875 Z M 32.734375 46.875 C 33.410156 46.875 33.957031 46.328125 33.957031 45.671875 L 33.957031 40.925781 L 36.648438 40.925781 C 39.25 40.925781 41.351562 38.824219 41.351562 36.265625 C 41.351562 33.664062 39.25 31.5625 36.648438 31.5625 L 32.734375 31.5625 C 32.078125 31.5625 31.53125 32.085938 31.53125 32.765625 L 31.53125 45.671875 C 31.53125 46.328125 32.078125 46.875 32.734375 46.875 Z M 36.648438 38.496094 L 33.957031 38.496094 L 33.957031 33.992188 L 36.648438 33.992188 C 37.917969 33.992188 38.902344 34.996094 38.921875 36.265625 C 38.902344 37.492188 37.917969 38.496094 36.648438 38.496094 Z M 36.648438 38.496094 \"/>\\n      </g>'},docxIcon:{extension:\".docx\",path:'<g id=\"surface9\" clip-path=\"url(#clip1)\">\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 8.621094 28.125 C 3.859375 28.125 0 31.984375 0 36.742188 L 0 41.378906 C 0 46.140625 3.859375 50 8.621094 50 L 41.378906 50 C 46.140625 50 50 46.140625 50 41.382812 L 50 36.746094 C 50 31.984375 46.140625 28.125 41.382812 28.125 Z M 8.621094 28.125 \"/>\\n      </g>\\n      </defs>\\n      <g id=\"surface1\">\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(99.607843%,99.607843%,99.607843%);fill-opacity:1;\" d=\"M 10.578125 25 L 39.421875 25 C 41.53125 25 43.527344 25.492188 45.3125 26.367188 L 45.3125 15.367188 C 45.3125 13.90625 44.976562 13.097656 43.984375 12.109375 C 42.996094 11.121094 35.105469 3.226562 34.503906 2.628906 C 33.90625 2.027344 33.070312 1.5625 31.617188 1.5625 L 6.5625 1.5625 C 5.527344 1.5625 4.6875 2.402344 4.6875 3.4375 L 4.6875 26.367188 C 6.476562 25.492188 8.472656 25 10.578125 25 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 34.375 4.710938 L 42.164062 12.5 L 34.515625 12.5 C 34.464844 12.46875 34.414062 12.425781 34.375 12.390625 Z M 6.25 25.722656 L 6.25 3.4375 C 6.25 3.265625 6.390625 3.125 6.5625 3.125 L 31.25 3.125 L 31.25 12.5 C 31.25 13.980469 32.496094 15.210938 33.742188 15.539062 C 33.902344 15.59375 34.074219 15.625 34.257812 15.625 L 43.75 15.625 L 43.75 25.722656 C 44.859375 26.105469 45.910156 26.625 46.875 27.269531 L 46.875 15.363281 C 46.875 13.511719 46.375 12.289062 45.089844 11.003906 L 35.609375 1.523438 C 34.582031 0.496094 33.273438 0 31.617188 0 L 6.5625 0 C 4.667969 0 3.125 1.542969 3.125 3.4375 L 3.125 27.269531 C 4.089844 26.625 5.140625 26.105469 6.25 25.722656 Z M 6.25 25.722656 \"/>\\n      <use xlink:href=\"#surface9\" mask=\"url(#mask0)\"/>\\n      <path style=\" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;\" d=\"M 7.789062 43.75 C 9.589844 43.75 10.988281 43.269531 11.984375 42.304688 C 12.980469 41.339844 13.476562 39.984375 13.476562 38.234375 C 13.476562 36.496094 12.980469 35.144531 11.984375 34.179688 C 10.988281 33.214844 9.589844 32.734375 7.789062 32.734375 L 4.695312 32.734375 C 4.394531 32.734375 4.15625 32.816406 3.984375 32.984375 C 3.8125 33.152344 3.726562 33.386719 3.726562 33.6875 L 3.726562 42.796875 C 3.726562 43.097656 3.8125 43.332031 3.984375 43.5 C 4.15625 43.667969 4.394531 43.75 4.695312 43.75 Z M 7.664062 42.109375 L 5.742188 42.109375 L 5.742188 34.375 L 7.664062 34.375 C 10.195312 34.375 11.460938 35.660156 11.460938 38.234375 C 11.460938 40.816406 10.195312 42.109375 7.664062 42.109375 Z M 20.414062 43.890625 C 21.476562 43.890625 22.402344 43.660156 23.1875 43.203125 C 23.972656 42.746094 24.582031 42.089844 25.007812 41.234375 C 25.433594 40.378906 25.648438 39.378906 25.648438 38.234375 C 25.648438 37.089844 25.4375 36.089844 25.015625 35.242188 C 24.59375 34.394531 23.988281 33.738281 23.203125 33.28125 C 22.417969 32.824219 21.488281 32.59375 20.414062 32.59375 C 19.339844 32.59375 18.410156 32.824219 17.617188 33.28125 C 16.824219 33.738281 16.21875 34.394531 15.796875 35.242188 C 15.375 36.089844 15.164062 37.089844 15.164062 38.234375 C 15.164062 39.378906 15.378906 40.378906 15.804688 41.234375 C 16.230469 42.089844 16.839844 42.746094 17.625 43.203125 C 18.410156 43.660156 19.339844 43.890625 20.414062 43.890625 Z M 20.414062 42.28125 C 19.394531 42.28125 18.597656 41.933594 18.03125 41.234375 C 17.464844 40.535156 17.179688 39.535156 17.179688 38.234375 C 17.179688 36.933594 17.464844 35.933594 18.03125 35.242188 C 18.597656 34.550781 19.394531 34.203125 20.414062 34.203125 C 21.425781 34.203125 22.214844 34.550781 22.78125 35.242188 C 23.347656 35.933594 23.632812 36.933594 23.632812 38.234375 C 23.632812 39.535156 23.347656 40.535156 22.78125 41.234375 C 22.214844 41.933594 21.425781 42.28125 20.414062 42.28125 Z M 32.601562 43.890625 C 33.289062 43.890625 33.933594 43.789062 34.539062 43.585938 C 35.144531 43.382812 35.679688 43.089844 36.148438 42.703125 C 36.285156 42.597656 36.378906 42.488281 36.429688 42.367188 C 36.480469 42.246094 36.507812 42.109375 36.507812 41.953125 C 36.507812 41.722656 36.445312 41.53125 36.320312 41.375 C 36.195312 41.21875 36.042969 41.140625 35.867188 41.140625 C 35.753906 41.140625 35.644531 41.160156 35.539062 41.203125 C 35.433594 41.246094 35.332031 41.296875 35.226562 41.359375 C 34.746094 41.683594 34.316406 41.910156 33.9375 42.046875 C 33.558594 42.183594 33.144531 42.25 32.695312 42.25 C 31.613281 42.25 30.792969 41.910156 30.234375 41.234375 C 29.675781 40.558594 29.398438 39.558594 29.398438 38.234375 C 29.398438 36.921875 29.675781 35.925781 30.234375 35.25 C 30.792969 34.574219 31.613281 34.234375 32.695312 34.234375 C 33.164062 34.234375 33.589844 34.300781 33.976562 34.429688 C 34.363281 34.558594 34.777344 34.792969 35.226562 35.125 C 35.445312 35.269531 35.660156 35.34375 35.867188 35.34375 C 36.042969 35.34375 36.195312 35.265625 36.320312 35.109375 C 36.445312 34.953125 36.507812 34.761719 36.507812 34.53125 C 36.507812 34.363281 36.480469 34.222656 36.429688 34.109375 C 36.378906 33.996094 36.285156 33.886719 36.148438 33.78125 C 35.679688 33.394531 35.144531 33.101562 34.539062 32.898438 C 33.933594 32.695312 33.289062 32.59375 32.601562 32.59375 C 31.539062 32.59375 30.609375 32.824219 29.8125 33.28125 C 29.015625 33.738281 28.402344 34.394531 27.976562 35.242188 C 27.550781 36.089844 27.335938 37.089844 27.335938 38.234375 C 27.335938 39.378906 27.550781 40.378906 27.976562 41.234375 C 28.402344 42.089844 29.015625 42.746094 29.8125 43.203125 C 30.609375 43.660156 31.539062 43.890625 32.601562 43.890625 Z M 46.132812 43.84375 C 46.382812 43.84375 46.605469 43.75 46.796875 43.5625 C 46.988281 43.375 47.085938 43.15625 47.085938 42.90625 C 47.085938 42.707031 47.003906 42.511719 46.835938 42.3125 L 43.445312 38.15625 L 46.710938 34.171875 C 46.867188 34.003906 46.945312 33.808594 46.945312 33.578125 C 46.945312 33.328125 46.847656 33.113281 46.65625 32.929688 C 46.464844 32.746094 46.242188 32.65625 45.992188 32.65625 C 45.730469 32.65625 45.507812 32.769531 45.320312 33 L 42.273438 36.765625 L 39.226562 33 C 39.027344 32.769531 38.800781 32.65625 38.539062 32.65625 C 38.289062 32.65625 38.070312 32.746094 37.882812 32.929688 C 37.695312 33.113281 37.601562 33.328125 37.601562 33.578125 C 37.601562 33.808594 37.679688 34.003906 37.835938 34.171875 L 41.101562 38.15625 L 37.695312 42.3125 C 37.539062 42.5 37.460938 42.699219 37.460938 42.90625 C 37.460938 43.15625 37.558594 43.371094 37.75 43.554688 C 37.941406 43.738281 38.164062 43.828125 38.414062 43.828125 C 38.675781 43.828125 38.898438 43.71875 39.085938 43.5 L 42.273438 39.5625 L 45.445312 43.5 C 45.644531 43.730469 45.871094 43.84375 46.132812 43.84375 Z M 46.132812 43.84375 \"/>\\n      </g>'},jpgIcon:{extension:\".jpg\",path:'<g id=\"surface1\">\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(99.607843%,99.607843%,99.607843%);fill-opacity:1;\" d=\"M 10.578125 25 L 39.421875 25 C 41.53125 25 43.527344 25.492188 45.3125 26.367188 L 45.3125 15.367188 C 45.3125 13.90625 44.976562 13.097656 43.984375 12.109375 C 42.996094 11.121094 35.105469 3.226562 34.503906 2.628906 C 33.90625 2.027344 33.070312 1.5625 31.617188 1.5625 L 6.5625 1.5625 C 5.527344 1.5625 4.6875 2.402344 4.6875 3.4375 L 4.6875 26.367188 C 6.476562 25.492188 8.472656 25 10.578125 25 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 34.375 4.710938 L 42.164062 12.5 L 34.515625 12.5 C 34.464844 12.46875 34.414062 12.425781 34.375 12.390625 Z M 6.25 25.722656 L 6.25 3.4375 C 6.25 3.265625 6.390625 3.125 6.5625 3.125 L 31.25 3.125 L 31.25 12.5 C 31.25 13.980469 32.496094 15.210938 33.742188 15.539062 C 33.902344 15.59375 34.074219 15.625 34.257812 15.625 L 43.75 15.625 L 43.75 25.722656 C 44.859375 26.105469 45.910156 26.625 46.875 27.269531 L 46.875 15.363281 C 46.875 13.511719 46.375 12.289062 45.089844 11.003906 L 35.609375 1.523438 C 34.582031 0.496094 33.273438 0 31.617188 0 L 6.5625 0 C 4.667969 0 3.125 1.542969 3.125 3.4375 L 3.125 27.269531 C 4.089844 26.625 5.140625 26.105469 6.25 25.722656 Z M 6.25 25.722656 \"/>\\n      <use xlink:href=\"#surface9\" mask=\"url(#mask0)\"/>\\n      <path style=\" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;\" d=\"M 8.789062 47.007812 L 9.488281 46.960938 C 12.214844 46.757812 13.578125 45.277344 13.578125 42.523438 L 13.578125 32.742188 C 13.578125 32.320312 13.453125 31.980469 13.195312 31.726562 C 12.941406 31.472656 12.59375 31.34375 12.15625 31.34375 C 11.734375 31.34375 11.394531 31.472656 11.140625 31.726562 C 10.886719 31.980469 10.757812 32.320312 10.757812 32.742188 L 10.757812 42.523438 C 10.757812 43.238281 10.605469 43.769531 10.296875 44.117188 C 9.992188 44.46875 9.539062 44.660156 8.941406 44.6875 L 8.242188 44.730469 C 7.847656 44.761719 7.558594 44.867188 7.378906 45.046875 C 7.195312 45.230469 7.105469 45.496094 7.105469 45.847656 C 7.105469 46.664062 7.667969 47.050781 8.789062 47.007812 Z M 18.304688 47.007812 C 18.742188 47.007812 19.089844 46.878906 19.34375 46.625 C 19.597656 46.367188 19.726562 46.023438 19.726562 45.585938 L 19.726562 40.882812 L 23.640625 40.882812 C 25.289062 40.882812 26.574219 40.464844 27.492188 39.632812 C 28.410156 38.804688 28.871094 37.644531 28.871094 36.15625 C 28.871094 34.667969 28.410156 33.511719 27.492188 32.6875 C 26.574219 31.863281 25.289062 31.453125 23.640625 31.453125 L 18.261719 31.453125 C 17.839844 31.453125 17.507812 31.570312 17.265625 31.804688 C 17.023438 32.035156 16.90625 32.363281 16.90625 32.789062 L 16.90625 45.585938 C 16.90625 46.023438 17.03125 46.367188 17.289062 46.625 C 17.542969 46.878906 17.882812 47.007812 18.304688 47.007812 Z M 23.292969 38.714844 L 19.726562 38.714844 L 19.726562 33.640625 L 23.292969 33.640625 C 25.230469 33.640625 26.203125 34.488281 26.203125 36.179688 C 26.203125 37.871094 25.230469 38.714844 23.292969 38.714844 Z M 38.605469 47.070312 C 39.320312 47.070312 40.0625 47.011719 40.835938 46.898438 C 41.609375 46.78125 42.285156 46.621094 42.871094 46.414062 C 43.410156 46.242188 43.765625 46.015625 43.941406 45.738281 C 44.117188 45.460938 44.203125 44.988281 44.203125 44.316406 L 44.203125 39.613281 C 44.203125 39.292969 44.101562 39.03125 43.898438 38.835938 C 43.695312 38.640625 43.425781 38.539062 43.089844 38.539062 L 39.21875 38.539062 C 38.867188 38.539062 38.59375 38.628906 38.398438 38.804688 C 38.199219 38.976562 38.101562 39.226562 38.101562 39.546875 C 38.101562 39.867188 38.199219 40.117188 38.398438 40.289062 C 38.59375 40.464844 38.867188 40.554688 39.21875 40.554688 L 41.6875 40.554688 L 41.6875 44.425781 C 40.699219 44.703125 39.707031 44.839844 38.714844 44.839844 C 35.390625 44.839844 33.726562 42.945312 33.726562 39.152344 C 33.726562 37.300781 34.132812 35.90625 34.941406 34.964844 C 35.75 34.023438 36.949219 33.554688 38.539062 33.554688 C 39.238281 33.554688 39.867188 33.644531 40.421875 33.828125 C 40.972656 34.007812 41.574219 34.324219 42.214844 34.777344 C 42.390625 34.894531 42.542969 34.980469 42.671875 35.03125 C 42.804688 35.082031 42.949219 35.105469 43.109375 35.105469 C 43.359375 35.105469 43.570312 34.996094 43.746094 34.777344 C 43.921875 34.558594 44.007812 34.289062 44.007812 33.96875 C 44.007812 33.75 43.96875 33.558594 43.886719 33.398438 C 43.808594 33.238281 43.679688 33.078125 43.503906 32.917969 C 42.191406 31.808594 40.507812 31.257812 38.453125 31.257812 C 36.90625 31.257812 35.5625 31.574219 34.425781 32.207031 C 33.289062 32.84375 32.410156 33.753906 31.789062 34.941406 C 31.171875 36.128906 30.859375 37.535156 30.859375 39.152344 C 30.859375 40.800781 31.171875 42.21875 31.789062 43.40625 C 32.410156 44.597656 33.304688 45.503906 34.46875 46.132812 C 35.636719 46.757812 37.015625 47.070312 38.605469 47.070312 Z M 38.605469 47.070312 \"/>\\n      </g>'},mp3Icon:{extension:\".mp3\",path:'<g id=\"surface9\" clip-path=\"url(#clip1)\">\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 43.828125 43.710938 C 43.605469 44.28125 43.273438 44.804688 42.84375 45.265625 C 42.40625 45.730469 41.867188 46.113281 41.242188 46.398438 C 40.597656 46.699219 39.851562 46.855469 39.027344 46.855469 C 38.328125 46.855469 37.703125 46.757812 37.160156 46.570312 C 36.609375 46.378906 36.160156 46.136719 35.769531 45.839844 C 35.386719 45.550781 35.050781 45.210938 34.796875 44.832031 C 34.570312 44.507812 34.394531 44.195312 34.265625 43.890625 C 34.140625 43.59375 34.054688 43.335938 33.996094 43.101562 C 33.792969 42.261719 34.304688 41.417969 35.140625 41.210938 C 35.980469 41.007812 36.828125 41.519531 37.03125 42.355469 C 37.039062 42.390625 37.066406 42.488281 37.144531 42.671875 C 37.191406 42.777344 37.265625 42.914062 37.371094 43.0625 C 37.4375 43.160156 37.53125 43.257812 37.65625 43.351562 C 37.792969 43.453125 37.972656 43.542969 38.195312 43.625 C 38.332031 43.667969 38.59375 43.730469 39.027344 43.730469 C 39.390625 43.730469 39.695312 43.675781 39.925781 43.566406 C 40.1875 43.445312 40.398438 43.300781 40.558594 43.132812 C 40.71875 42.957031 40.839844 42.773438 40.914062 42.578125 C 40.996094 42.371094 41.03125 42.195312 41.03125 42.023438 C 41.03125 41.789062 41 41.585938 40.921875 41.398438 C 40.871094 41.257812 40.785156 41.148438 40.660156 41.039062 C 40.515625 40.910156 40.296875 40.792969 40.011719 40.699219 C 39.6875 40.59375 39.253906 40.539062 38.738281 40.535156 C 37.882812 40.527344 37.1875 39.832031 37.1875 38.972656 L 37.1875 38.832031 C 37.1875 37.984375 37.859375 37.292969 38.699219 37.265625 C 39.070312 37.257812 39.398438 37.195312 39.679688 37.101562 C 39.921875 37.011719 40.121094 36.902344 40.273438 36.773438 C 40.40625 36.652344 40.507812 36.519531 40.582031 36.359375 C 40.652344 36.210938 40.6875 36.027344 40.6875 35.8125 C 40.6875 35.523438 40.644531 35.289062 40.574219 35.125 C 40.5 34.96875 40.414062 34.847656 40.304688 34.757812 C 40.1875 34.660156 40.042969 34.582031 39.867188 34.53125 C 39.402344 34.386719 38.878906 34.398438 38.480469 34.542969 C 38.289062 34.617188 38.121094 34.714844 37.976562 34.84375 C 37.820312 34.984375 37.695312 35.148438 37.59375 35.339844 C 37.484375 35.550781 37.40625 35.773438 37.367188 36.039062 C 37.230469 36.890625 36.429688 37.472656 35.574219 37.335938 C 34.722656 37.195312 34.140625 36.398438 34.28125 35.542969 C 34.378906 34.9375 34.5625 34.378906 34.835938 33.871094 C 35.109375 33.355469 35.464844 32.898438 35.890625 32.519531 C 36.320312 32.132812 36.824219 31.828125 37.382812 31.617188 C 38.433594 31.226562 39.667969 31.199219 40.78125 31.539062 C 41.351562 31.714844 41.863281 31.992188 42.308594 32.355469 C 42.777344 32.753906 43.148438 33.242188 43.414062 33.824219 C 43.679688 34.402344 43.8125 35.070312 43.8125 35.8125 C 43.8125 36.476562 43.679688 37.097656 43.421875 37.660156 C 43.25 38.046875 43.023438 38.394531 42.746094 38.707031 C 43.242188 39.148438 43.609375 39.671875 43.835938 40.261719 C 44.046875 40.804688 44.15625 41.398438 44.15625 42.023438 C 44.15625 42.578125 44.046875 43.148438 43.828125 43.710938 Z M 31.445312 38.492188 C 31.148438 39.140625 30.734375 39.703125 30.199219 40.164062 C 29.6875 40.605469 29.078125 40.957031 28.390625 41.199219 C 27.71875 41.4375 26.976562 41.5625 26.191406 41.5625 L 25 41.5625 L 25 45 C 25 45.859375 24.296875 46.5625 23.4375 46.5625 C 22.578125 46.5625 21.875 45.859375 21.875 45 L 21.875 32.8125 C 21.875 31.945312 22.578125 31.25 23.4375 31.25 L 26.191406 31.25 C 27.890625 31.25 29.257812 31.667969 30.253906 32.5 C 31.339844 33.398438 31.886719 34.714844 31.886719 36.40625 C 31.886719 37.148438 31.738281 37.851562 31.445312 38.492188 Z M 18.730469 45.210938 C 18.730469 46.070312 18.03125 46.773438 17.167969 46.773438 C 16.300781 46.773438 15.605469 46.070312 15.605469 45.210938 L 15.605469 39.28125 L 14.015625 43.140625 C 14.007812 43.164062 13.996094 43.191406 13.984375 43.214844 C 13.71875 43.777344 13.15625 44.117188 12.566406 44.117188 L 12.53125 44.117188 C 11.9375 44.117188 11.375 43.777344 11.109375 43.214844 L 11.082031 43.160156 L 9.339844 39.101562 L 9.339844 45.210938 C 9.339844 46.070312 8.640625 46.773438 7.777344 46.773438 C 6.910156 46.773438 6.214844 46.070312 6.214844 45.210938 L 6.214844 32.824219 C 6.214844 31.960938 6.910156 31.261719 7.777344 31.261719 L 7.835938 31.261719 C 8.472656 31.261719 9.046875 31.617188 9.335938 32.1875 L 12.527344 39.09375 L 15.59375 32.207031 C 15.894531 31.617188 16.46875 31.261719 17.105469 31.261719 L 17.167969 31.261719 C 18.03125 31.261719 18.730469 31.960938 18.730469 32.824219 Z M 41.382812 28.125 L 8.621094 28.125 C 3.859375 28.125 0 31.984375 0 36.742188 L 0 41.378906 C 0 46.136719 3.859375 50 8.621094 50 L 41.378906 50 C 46.140625 50 50 46.136719 50 41.382812 L 50 36.746094 C 50 31.984375 46.140625 28.125 41.382812 28.125 Z M 41.382812 28.125 \"/>\\n      </g>\\n      </defs>\\n      <g id=\"surface1\">\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(99.607843%,99.607843%,99.607843%);fill-opacity:1;\" d=\"M 10.578125 25 L 39.421875 25 C 41.53125 25 43.527344 25.492188 45.3125 26.367188 L 45.3125 15.367188 C 45.3125 13.90625 44.976562 13.097656 43.984375 12.109375 C 42.996094 11.121094 35.105469 3.226562 34.503906 2.628906 C 33.90625 2.027344 33.070312 1.5625 31.617188 1.5625 L 6.5625 1.5625 C 5.527344 1.5625 4.6875 2.402344 4.6875 3.4375 L 4.6875 26.367188 C 6.476562 25.492188 8.472656 25 10.578125 25 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 34.375 4.710938 L 42.164062 12.5 L 34.515625 12.5 C 34.464844 12.46875 34.414062 12.425781 34.375 12.390625 Z M 6.25 25.722656 L 6.25 3.4375 C 6.25 3.265625 6.390625 3.125 6.5625 3.125 L 31.25 3.125 L 31.25 12.5 C 31.25 13.980469 32.496094 15.210938 33.742188 15.539062 C 33.902344 15.59375 34.074219 15.625 34.257812 15.625 L 43.75 15.625 L 43.75 25.722656 C 44.859375 26.105469 45.910156 26.625 46.875 27.269531 L 46.875 15.363281 C 46.875 13.511719 46.375 12.289062 45.089844 11.003906 L 35.609375 1.523438 C 34.582031 0.496094 33.273438 0 31.617188 0 L 6.5625 0 C 4.667969 0 3.125 1.542969 3.125 3.4375 L 3.125 27.269531 C 4.089844 26.625 5.140625 26.105469 6.25 25.722656 Z M 6.25 25.722656 \"/>\\n      <use xlink:href=\"#surface9\" mask=\"url(#mask0)\"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 28.257812 34.902344 C 27.835938 34.550781 27.140625 34.375 26.191406 34.375 L 25 34.375 L 25 38.4375 L 26.191406 38.4375 C 26.621094 38.4375 27.007812 38.375 27.34375 38.253906 C 27.667969 38.140625 27.929688 37.992188 28.148438 37.804688 C 28.34375 37.632812 28.492188 37.4375 28.601562 37.195312 C 28.710938 36.964844 28.757812 36.703125 28.757812 36.40625 C 28.757812 35.324219 28.382812 35.003906 28.257812 34.902344 \"/>\\n      <path style=\"fill:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(99.607843%,99.607843%,99.607843%);stroke-opacity:1;stroke-miterlimit:4;\" d=\"M 11.34125 13.57875 C 11.345 13.5925 11.3525 13.62375 11.36375 13.67375 C 11.3775 13.7225 11.3975 13.78125 11.42625 13.85 C 11.45375 13.9175 11.49375 13.9875 11.54625 14.0625 C 11.5975 14.13875 11.66625 14.20875 11.75 14.27125 C 11.83375 14.33625 11.9375 14.38875 12.0575 14.43125 C 12.1775 14.4725 12.32 14.49375 12.4875 14.49375 C 12.67875 14.49375 12.845 14.46125 12.9875 14.39375 C 13.13 14.32875 13.24875 14.245 13.34375 14.1425 C 13.43875 14.0425 13.51125 13.93 13.55875 13.8075 C 13.6075 13.6825 13.63125 13.56375 13.63125 13.4475 C 13.63125 13.31125 13.6075 13.1825 13.5625 13.065 C 13.515 12.9475 13.4425 12.845 13.3425 12.7575 C 13.2425 12.67 13.115 12.6 12.96 12.55 C 12.805 12.49875 12.6175 12.4725 12.4 12.4725 L 12.4 12.42625 C 12.57 12.42 12.72375 12.3925 12.8625 12.34375 C 13.0025 12.29625 13.11875 12.2275 13.21625 12.14375 C 13.31375 12.05875 13.3875 11.96 13.44125 11.845 C 13.4925 11.7275 13.52 11.60125 13.52 11.46 C 13.52 11.29375 13.4925 11.1525 13.43875 11.0325 C 13.38375 10.91375 13.31125 10.81625 13.21875 10.74 C 13.1275 10.66375 13.0225 10.6075 12.90375 10.5725 C 12.78625 10.535 12.66375 10.5175 12.5375 10.5175 C 12.395 10.5175 12.26125 10.54 12.14 10.58625 C 12.0175 10.6325 11.91 10.69625 11.81875 10.77875 C 11.72625 10.8625 11.64875 10.96 11.5875 11.07375 C 11.5275 11.18875 11.48625 11.315 11.4625 11.45375 M 7.5 14.4 L 7.5 10.5 L 8.3825 10.5 C 8.8075 10.5 9.13375 10.595 9.3625 10.78375 C 9.59 10.975 9.7025 11.2625 9.7025 11.65 C 9.7025 11.81625 9.6725 11.97125 9.6075 12.11125 C 9.5425 12.2525 9.4525 12.37375 9.335 12.475 C 9.21875 12.5775 9.0775 12.65625 8.9175 12.71375 C 8.75625 12.77125 8.5775 12.8 8.3825 12.8 L 7.6 12.8 M 2.4875 14.4675 L 2.4875 10.50375 L 2.5075 10.50375 C 2.5225 10.50375 2.53375 10.5125 2.5425 10.52625 L 3.9925 13.58625 C 3.99875 13.5975 4.005 13.6075 4.00875 13.6175 M 4.02125 13.6175 C 4.02625 13.6075 4.03125 13.5975 4.0375 13.58625 L 5.44 10.52625 C 5.4475 10.5125 5.45875 10.50375 5.4725 10.50375 L 5.4925 10.50375 L 5.4925 14.4675 \" transform=\"matrix(3.125,0,0,3.125,0,0)\"/>\\n      </g>'},mp4Icon:{extension:\".mp4\",path:'<g id=\"surface6\" clip-path=\"url(#clip1)\">\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 36.898438 40.625 L 40.625 35.480469 L 40.625 40.625 Z M 28.761719 36.40625 C 28.761719 36.703125 28.707031 36.964844 28.605469 37.195312 C 28.496094 37.433594 28.347656 37.632812 28.148438 37.804688 C 27.929688 37.992188 27.667969 38.144531 27.34375 38.257812 C 27.003906 38.375 26.621094 38.4375 26.191406 38.4375 L 25 38.4375 L 25 34.375 L 26.191406 34.375 C 27.140625 34.375 27.835938 34.554688 28.253906 34.902344 C 28.378906 35.007812 28.761719 35.324219 28.761719 36.40625 Z M 44.6875 43.75 L 43.75 43.75 L 43.75 45.3125 C 43.75 46.175781 43.050781 46.875 42.1875 46.875 C 41.324219 46.875 40.625 46.175781 40.625 45.3125 L 40.625 43.75 L 34.066406 43.75 C 33.199219 43.75 32.503906 43.050781 32.503906 42.1875 L 32.503906 41.875 C 32.503906 41.546875 32.605469 41.226562 32.800781 40.957031 L 39.363281 31.898438 C 39.660156 31.492188 40.128906 31.25 40.628906 31.25 L 42.1875 31.25 C 43.050781 31.25 43.75 31.949219 43.75 32.8125 L 43.75 40.625 L 44.6875 40.625 C 45.550781 40.625 46.25 41.324219 46.25 42.1875 C 46.25 43.050781 45.550781 43.75 44.6875 43.75 Z M 31.445312 38.492188 C 31.148438 39.140625 30.730469 39.703125 30.195312 40.167969 C 29.6875 40.605469 29.082031 40.957031 28.390625 41.203125 C 27.71875 41.441406 26.976562 41.5625 26.191406 41.5625 L 25 41.5625 L 25 45 C 25 45.863281 24.300781 46.5625 23.4375 46.5625 C 22.578125 46.5625 21.875 45.863281 21.875 45 L 21.875 32.8125 C 21.875 31.949219 22.578125 31.25 23.4375 31.25 L 26.191406 31.25 C 27.890625 31.25 29.257812 31.671875 30.253906 32.5 C 31.339844 33.398438 31.886719 34.714844 31.886719 36.40625 C 31.886719 37.148438 31.738281 37.851562 31.445312 38.492188 Z M 18.730469 45.210938 C 18.730469 46.070312 18.027344 46.773438 17.167969 46.773438 C 16.300781 46.773438 15.605469 46.070312 15.605469 45.210938 L 15.605469 39.6875 L 14.035156 43.105469 C 14.019531 43.144531 14.003906 43.179688 13.984375 43.214844 C 13.71875 43.78125 13.15625 44.117188 12.566406 44.117188 L 12.53125 44.117188 C 11.941406 44.117188 11.378906 43.78125 11.113281 43.214844 C 11.097656 43.183594 11.078125 43.152344 11.066406 43.125 L 9.339844 39.484375 L 9.339844 45.210938 C 9.339844 46.070312 8.640625 46.773438 7.777344 46.773438 C 6.910156 46.773438 6.214844 46.070312 6.214844 45.210938 L 6.214844 32.824219 C 6.214844 31.960938 6.910156 31.261719 7.777344 31.261719 L 7.835938 31.261719 C 8.472656 31.261719 9.046875 31.617188 9.335938 32.191406 L 9.355469 32.226562 L 12.523438 38.90625 L 15.578125 32.242188 C 15.585938 32.226562 15.597656 32.210938 15.605469 32.191406 C 15.894531 31.617188 16.46875 31.261719 17.105469 31.261719 L 17.164062 31.261719 C 18.027344 31.261719 18.726562 31.960938 18.726562 32.824219 L 18.726562 45.210938 Z M 41.382812 28.125 L 8.621094 28.125 C 3.859375 28.125 0 31.984375 0 36.742188 L 0 41.378906 C 0 46.140625 3.859375 50 8.621094 50 L 41.378906 50 C 46.140625 50 50 46.140625 50 41.382812 L 50 36.746094 C 50 31.984375 46.140625 28.125 41.382812 28.125 Z M 41.382812 28.125 \"/>\\n      </g>\\n      </defs>\\n      <g id=\"surface1\">\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(99.607843%,99.607843%,99.607843%);fill-opacity:1;\" d=\"M 10.578125 25 L 39.421875 25 C 41.53125 25 43.527344 25.492188 45.3125 26.367188 L 45.3125 15.367188 C 45.3125 13.90625 44.976562 13.097656 43.984375 12.109375 C 42.996094 11.121094 35.105469 3.226562 34.503906 2.628906 C 33.90625 2.027344 33.070312 1.5625 31.617188 1.5625 L 6.5625 1.5625 C 5.527344 1.5625 4.6875 2.402344 4.6875 3.4375 L 4.6875 26.367188 C 6.476562 25.492188 8.472656 25 10.578125 25 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 34.375 4.710938 L 42.164062 12.5 L 34.515625 12.5 C 34.464844 12.46875 34.414062 12.425781 34.375 12.390625 Z M 6.25 25.722656 L 6.25 3.4375 C 6.25 3.265625 6.390625 3.125 6.5625 3.125 L 31.25 3.125 L 31.25 12.5 C 31.25 13.980469 32.496094 15.210938 33.742188 15.539062 C 33.902344 15.59375 34.074219 15.625 34.257812 15.625 L 43.75 15.625 L 43.75 25.722656 C 44.859375 26.105469 45.910156 26.625 46.875 27.269531 L 46.875 15.363281 C 46.875 13.511719 46.375 12.289062 45.089844 11.003906 L 35.609375 1.523438 C 34.582031 0.496094 33.273438 0 31.617188 0 L 6.5625 0 C 4.667969 0 3.125 1.542969 3.125 3.4375 L 3.125 27.269531 C 4.089844 26.625 5.140625 26.105469 6.25 25.722656 Z M 6.25 25.722656 \"/>\\n      <use xlink:href=\"#surface6\" mask=\"url(#mask0)\"/>\\n      <path style=\"fill:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(99.607843%,99.607843%,99.607843%);stroke-opacity:1;stroke-miterlimit:4;\" d=\"M 14.3 13.5 L 10.90125 13.5 L 10.90125 13.4 L 13.00125 10.5 L 13.5 10.5 L 13.5 14.5 M 7.5 14.4 L 7.5 10.5 L 8.3825 10.5 C 8.8075 10.5 9.13375 10.595 9.3625 10.78375 C 9.59 10.975 9.7025 11.2625 9.7025 11.65 C 9.7025 11.81625 9.6725 11.97125 9.6075 12.11125 C 9.5425 12.2525 9.4525 12.37375 9.335 12.47625 C 9.21875 12.5775 9.0775 12.65625 8.9175 12.71375 C 8.75625 12.77125 8.5775 12.8 8.3825 12.8 L 7.6 12.8 M 2.4875 14.4675 L 2.4875 10.50375 L 2.5075 10.50375 C 2.5225 10.50375 2.53375 10.5125 2.5425 10.52625 L 3.9925 13.58625 C 3.99875 13.5975 4.005 13.6075 4.00875 13.6175 M 4.02125 13.6175 C 4.02625 13.6075 4.03125 13.5975 4.0375 13.58625 L 5.44 10.52625 C 5.4475 10.5125 5.45875 10.50375 5.4725 10.50375 L 5.4925 10.50375 L 5.4925 14.4675 \" transform=\"matrix(3.125,0,0,3.125,0,0)\"/>\\n      </g>'},oggIcon:{extension:\".ogg\",path:'<g id=\"surface9\" clip-path=\"url(#clip1)\">\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 8.621094 28.125 C 3.859375 28.125 0 31.984375 0 36.742188 L 0 41.378906 C 0 46.140625 3.859375 50 8.621094 50 L 41.378906 50 C 46.140625 50 50 46.140625 50 41.382812 L 50 36.746094 C 50 31.984375 46.140625 28.125 41.382812 28.125 Z M 8.621094 28.125 \"/>\\n      </g>\\n      </defs>\\n      <g id=\"surface1\">\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(99.607843%,99.607843%,99.607843%);fill-opacity:1;\" d=\"M 10.578125 25 L 39.421875 25 C 41.53125 25 43.527344 25.492188 45.3125 26.367188 L 45.3125 15.367188 C 45.3125 13.90625 44.976562 13.097656 43.984375 12.109375 C 42.996094 11.121094 35.105469 3.226562 34.503906 2.628906 C 33.90625 2.027344 33.070312 1.5625 31.617188 1.5625 L 6.5625 1.5625 C 5.527344 1.5625 4.6875 2.402344 4.6875 3.4375 L 4.6875 26.367188 C 6.476562 25.492188 8.472656 25 10.578125 25 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 34.375 4.710938 L 42.164062 12.5 L 34.515625 12.5 C 34.464844 12.46875 34.414062 12.425781 34.375 12.390625 Z M 6.25 25.722656 L 6.25 3.4375 C 6.25 3.265625 6.390625 3.125 6.5625 3.125 L 31.25 3.125 L 31.25 12.5 C 31.25 13.980469 32.496094 15.210938 33.742188 15.539062 C 33.902344 15.59375 34.074219 15.625 34.257812 15.625 L 43.75 15.625 L 43.75 25.722656 C 44.859375 26.105469 45.910156 26.625 46.875 27.269531 L 46.875 15.363281 C 46.875 13.511719 46.375 12.289062 45.089844 11.003906 L 35.609375 1.523438 C 34.582031 0.496094 33.273438 0 31.617188 0 L 6.5625 0 C 4.667969 0 3.125 1.542969 3.125 3.4375 L 3.125 27.269531 C 4.089844 26.625 5.140625 26.105469 6.25 25.722656 Z M 6.25 25.722656 \"/>\\n      <use xlink:href=\"#surface9\" mask=\"url(#mask0)\"/>\\n      <path style=\" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;\" d=\"M 8.976562 47.070312 C 10.464844 47.070312 11.757812 46.75 12.859375 46.109375 C 13.960938 45.46875 14.808594 44.550781 15.40625 43.351562 C 16.003906 42.15625 16.304688 40.757812 16.304688 39.152344 C 16.304688 37.550781 16.007812 36.152344 15.417969 34.964844 C 14.828125 33.777344 13.980469 32.859375 12.882812 32.21875 C 11.78125 31.578125 10.480469 31.257812 8.976562 31.257812 C 7.472656 31.257812 6.167969 31.578125 5.0625 32.21875 C 3.953125 32.859375 3.101562 33.777344 2.511719 34.964844 C 1.921875 36.152344 1.625 37.550781 1.625 39.152344 C 1.625 40.757812 1.925781 42.15625 2.523438 43.351562 C 3.121094 44.550781 3.972656 45.46875 5.070312 46.109375 C 6.171875 46.75 7.472656 47.070312 8.976562 47.070312 Z M 8.976562 44.820312 C 7.546875 44.820312 6.433594 44.332031 5.640625 43.351562 C 4.847656 42.375 4.449219 40.976562 4.449219 39.152344 C 4.449219 37.332031 4.847656 35.933594 5.640625 34.964844 C 6.433594 33.996094 7.546875 33.507812 8.976562 33.507812 C 10.390625 33.507812 11.496094 33.996094 12.289062 34.964844 C 13.085938 35.933594 13.484375 37.332031 13.484375 39.152344 C 13.484375 40.976562 13.085938 42.375 12.289062 43.351562 C 11.496094 44.332031 10.390625 44.820312 8.976562 44.820312 Z M 26.410156 47.070312 C 27.125 47.070312 27.871094 47.011719 28.640625 46.898438 C 29.414062 46.78125 30.09375 46.621094 30.675781 46.414062 C 31.214844 46.242188 31.574219 46.015625 31.75 45.738281 C 31.921875 45.460938 32.011719 44.988281 32.011719 44.316406 L 32.011719 39.613281 C 32.011719 39.292969 31.910156 39.03125 31.703125 38.835938 C 31.5 38.640625 31.230469 38.539062 30.894531 38.539062 L 27.023438 38.539062 C 26.671875 38.539062 26.398438 38.628906 26.203125 38.804688 C 26.007812 38.976562 25.90625 39.226562 25.90625 39.546875 C 25.90625 39.867188 26.007812 40.117188 26.203125 40.289062 C 26.398438 40.464844 26.671875 40.554688 27.023438 40.554688 L 29.496094 40.554688 L 29.496094 44.425781 C 28.503906 44.703125 27.511719 44.839844 26.519531 44.839844 C 23.195312 44.839844 21.53125 42.945312 21.53125 39.152344 C 21.53125 37.300781 21.9375 35.90625 22.746094 34.964844 C 23.554688 34.023438 24.753906 33.554688 26.34375 33.554688 C 27.046875 33.554688 27.671875 33.644531 28.226562 33.828125 C 28.78125 34.007812 29.378906 34.324219 30.019531 34.777344 C 30.195312 34.894531 30.347656 34.980469 30.480469 35.03125 C 30.609375 35.082031 30.757812 35.105469 30.917969 35.105469 C 31.164062 35.105469 31.375 34.996094 31.550781 34.777344 C 31.726562 34.558594 31.8125 34.289062 31.8125 33.96875 C 31.8125 33.75 31.773438 33.558594 31.695312 33.398438 C 31.613281 33.238281 31.484375 33.078125 31.3125 32.917969 C 30 31.808594 28.3125 31.257812 26.257812 31.257812 C 24.710938 31.257812 23.371094 31.574219 22.234375 32.207031 C 21.09375 32.84375 20.214844 33.753906 19.597656 34.941406 C 18.976562 36.128906 18.667969 37.535156 18.667969 39.152344 C 18.667969 40.800781 18.976562 42.21875 19.597656 43.40625 C 20.214844 44.597656 21.109375 45.503906 22.277344 46.132812 C 23.441406 46.757812 24.820312 47.070312 26.410156 47.070312 Z M 42.445312 47.070312 C 43.160156 47.070312 43.902344 47.011719 44.675781 46.898438 C 45.449219 46.78125 46.128906 46.621094 46.710938 46.414062 C 47.25 46.242188 47.609375 46.015625 47.78125 45.738281 C 47.957031 45.460938 48.046875 44.988281 48.046875 44.316406 L 48.046875 39.613281 C 48.046875 39.292969 47.941406 39.03125 47.738281 38.835938 C 47.535156 38.640625 47.265625 38.539062 46.929688 38.539062 L 43.058594 38.539062 C 42.707031 38.539062 42.433594 38.628906 42.238281 38.804688 C 42.039062 38.976562 41.941406 39.226562 41.941406 39.546875 C 41.941406 39.867188 42.039062 40.117188 42.238281 40.289062 C 42.433594 40.464844 42.707031 40.554688 43.058594 40.554688 L 45.53125 40.554688 L 45.53125 44.425781 C 44.539062 44.703125 43.546875 44.839844 42.554688 44.839844 C 39.230469 44.839844 37.566406 42.945312 37.566406 39.152344 C 37.566406 37.300781 37.972656 35.90625 38.78125 34.964844 C 39.589844 34.023438 40.789062 33.554688 42.378906 33.554688 C 43.078125 33.554688 43.707031 33.644531 44.261719 33.828125 C 44.816406 34.007812 45.414062 34.324219 46.054688 34.777344 C 46.230469 34.894531 46.382812 34.980469 46.515625 35.03125 C 46.644531 35.082031 46.792969 35.105469 46.953125 35.105469 C 47.199219 35.105469 47.410156 34.996094 47.585938 34.777344 C 47.761719 34.558594 47.847656 34.289062 47.847656 33.96875 C 47.847656 33.75 47.808594 33.558594 47.726562 33.398438 C 47.648438 33.238281 47.519531 33.078125 47.34375 32.917969 C 46.03125 31.808594 44.347656 31.257812 42.292969 31.257812 C 40.746094 31.257812 39.40625 31.574219 38.265625 32.207031 C 37.128906 32.84375 36.25 33.753906 35.632812 34.941406 C 35.011719 36.128906 34.703125 37.535156 34.703125 39.152344 C 34.703125 40.800781 35.011719 42.21875 35.632812 43.40625 C 36.25 44.597656 37.144531 45.503906 38.3125 46.132812 C 39.476562 46.757812 40.855469 47.070312 42.445312 47.070312 Z M 42.445312 47.070312 \"/>\\n      </g>'},pdfIcon:{extension:\".pdf\",path:'<g id=\"surface1\">\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(99.607843%,99.607843%,99.607843%);fill-opacity:1;\" d=\"M 10.59375 25 L 39.4375 25 C 41.476562 25.003906 43.484375 25.472656 45.3125 26.375 L 45.3125 15.375 C 45.347656 14.191406 44.867188 13.054688 44 12.25 L 34.625 2.875 C 33.875 2.003906 32.773438 1.523438 31.625 1.5625 L 6.625 1.5625 C 5.589844 1.5625 4.75 2.402344 4.75 3.4375 L 4.75 26.375 C 6.566406 25.480469 8.566406 25.007812 10.59375 25 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 34.375 4.71875 L 42.15625 12.5 L 34.53125 12.5 C 34.480469 12.511719 34.425781 12.511719 34.375 12.5 Z M 6.25 25.71875 L 6.25 3.4375 C 6.25 3.265625 6.390625 3.125 6.5625 3.125 L 31.25 3.125 L 31.25 12.5 C 31.300781 13.980469 32.316406 15.253906 33.75 15.625 C 33.957031 15.675781 34.167969 15.675781 34.375 15.625 L 43.75 15.625 L 43.75 25.71875 C 44.859375 26.09375 45.910156 26.621094 46.875 27.28125 L 46.875 15.375 C 46.964844 13.722656 46.3125 12.117188 45.09375 11 L 35.71875 1.625 C 34.648438 0.523438 33.160156 -0.0664062 31.625 0 L 6.625 0 C 5.703125 -0.015625 4.8125 0.339844 4.152344 0.984375 C 3.496094 1.632812 3.125 2.515625 3.125 3.4375 L 3.125 27.28125 C 4.09375 26.625 5.144531 26.101562 6.25 25.71875 Z M 6.25 25.71875 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 8.625 28.125 C 6.335938 28.117188 4.136719 29.023438 2.515625 30.640625 C 0.898438 32.261719 -0.0078125 34.460938 0 36.75 L 0 41.375 C 0 46.136719 3.863281 50 8.625 50 L 41.375 50 C 46.132812 49.984375 49.984375 46.132812 50 41.375 L 50 36.75 C 50 31.988281 46.136719 28.125 41.375 28.125 Z M 8.625 28.125 \"/>\\n      <path style=\" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;\" d=\"M 14.40625 41.78125 L 12.09375 41.78125 L 12.09375 45.84375 C 12.003906 46.351562 11.5625 46.726562 11.046875 46.726562 C 10.53125 46.726562 10.089844 46.351562 10 45.84375 L 10 34.78125 C 10 34.210938 10.460938 33.75 11.03125 33.75 L 14.40625 33.75 C 15.925781 33.617188 17.390625 34.351562 18.191406 35.648438 C 18.992188 36.945312 18.992188 38.585938 18.191406 39.882812 C 17.390625 41.179688 15.925781 41.914062 14.40625 41.78125 Z M 12.09375 39.6875 L 14.40625 39.6875 C 15.152344 39.78125 15.882812 39.4375 16.289062 38.804688 C 16.691406 38.171875 16.691406 37.359375 16.289062 36.726562 C 15.882812 36.09375 15.152344 35.75 14.40625 35.84375 L 12.09375 35.84375 Z M 12.09375 39.6875 \"/>\\n      <path style=\" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;\" d=\"M 20.3125 45.84375 L 20.3125 34.78125 C 20.3125 34.210938 20.773438 33.75 21.34375 33.75 L 23.5625 33.75 C 27.1875 33.75 30.125 36.6875 30.125 40.3125 C 30.125 43.9375 27.1875 46.875 23.5625 46.875 L 21.34375 46.875 C 20.773438 46.875 20.3125 46.414062 20.3125 45.84375 Z M 22.40625 44.78125 L 23.5625 44.78125 C 26.03125 44.78125 28.03125 42.78125 28.03125 40.3125 C 28.03125 37.84375 26.03125 35.84375 23.5625 35.84375 L 22.40625 35.84375 Z M 22.40625 44.78125 \"/>\\n      <path style=\" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;\" d=\"M 33.1875 45.84375 L 33.1875 34.78125 C 33.183594 34.476562 33.3125 34.1875 33.542969 33.992188 C 33.769531 33.792969 34.074219 33.703125 34.375 33.75 L 40.625 33.75 C 41.132812 33.839844 41.507812 34.28125 41.507812 34.796875 C 41.507812 35.3125 41.132812 35.753906 40.625 35.84375 L 35.25 35.84375 L 35.25 39.28125 L 39.625 39.28125 C 40.195312 39.28125 40.65625 39.742188 40.65625 40.3125 C 40.65625 40.882812 40.195312 41.34375 39.625 41.34375 L 35.25 41.34375 L 35.25 45.84375 C 35.257812 46.359375 34.882812 46.796875 34.375 46.875 C 34.074219 46.921875 33.769531 46.832031 33.542969 46.632812 C 33.3125 46.4375 33.183594 46.148438 33.1875 45.84375 Z M 33.1875 45.84375 \"/>\\n      </g>'},defaultIcon:{extension:\".default\",path:'<g id=\"surface1\">\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 3.117188 44.777344 C 1.394531 44.777344 0 43.386719 0 41.671875 L 0 3.484375 C 0 1.769531 1.394531 0.378906 3.117188 0.378906 L 25.792969 0.378906 C 27.164062 0.304688 28.5 0.808594 29.480469 1.765625 L 37.980469 10.230469 C 39.144531 11.242188 39.769531 12.730469 39.683594 14.265625 L 39.683594 41.671875 C 39.683594 43.386719 38.289062 44.777344 36.5625 44.777344 Z M 25.511719 3.203125 L 3.117188 3.203125 C 2.960938 3.203125 2.832031 3.328125 2.832031 3.484375 L 2.832031 41.671875 C 2.832031 41.828125 2.960938 41.957031 3.117188 41.957031 L 36.5625 41.957031 C 36.679688 41.949219 36.785156 41.867188 36.820312 41.757812 L 36.820312 14.492188 L 28.34375 14.492188 C 28.160156 14.539062 27.964844 14.539062 27.777344 14.492188 C 26.480469 14.15625 25.554688 13.007812 25.511719 11.671875 Z M 28.34375 4.640625 L 28.34375 11.671875 C 28.390625 11.683594 28.441406 11.683594 28.488281 11.671875 L 35.402344 11.671875 Z M 28.34375 4.640625 \"/>\\n      </g>'}},Y.MODULES.modals=function(l){var a=l.$;l.shared.modals||(l.shared.modals={});var o,c=l.shared.modals;function e(){for(var e in c)if(Object.prototype.hasOwnProperty.call(c,e)){var t=c[e];t&&t.$modal&&t.$modal.removeData().remove()}o&&o.removeData().remove(),c={}}function s(e,t){if(c[e]){var n=c[e].$modal,r=n.data(\"instance\")||l;r.events.enableBlur(),n.hide(),o.hide(),a(r.o_doc).find(\"body\").first().removeClass(\"fr-prevent-scroll fr-mobile\"),n.removeClass(\"fr-active\"),t||(r.accessibility.restoreSelection(),r.events.trigger(\"modals.hide\"))}}function n(e){var t;if(\"string\"==typeof e){if(!c[e])return;t=c[e].$modal}else t=e;return t&&l.node.hasClass(t,\"fr-active\")&&l.core.sameInstance(t)||!1}return{_init:function t(){l.events.on(\"shared.destroy\",e,!0)},get:function r(e){return c[e]},create:function d(n,e,t){if(e='<div class=\"fr-modal-head-line\">'.concat(e,\"</div>\"),l.shared.$overlay||(l.shared.$overlay=a(l.doc.createElement(\"DIV\")).addClass(\"fr-overlay\"),a(\"body\").first().append(l.shared.$overlay)),o=l.shared.$overlay,l.opts.theme&&o.addClass(\"\".concat(l.opts.theme,\"-theme\")),!c[n]){var r=function i(e,t){var n='<div tabIndex=\"-1\" class=\"fr-modal'.concat(l.opts.theme?\" \".concat(l.opts.theme,\"-theme\"):\"\",'\"><div class=\"fr-modal-wrapper\">'),r='<button title=\"'.concat(l.language.translate(\"Cancel\"),'\" class=\"fr-command fr-btn fr-modal-close\"><svg xmlns=\"http://www.w3.org/2000/svg\" x=\"0px\" y=\"0px\" viewBox=\"0 0 24 24\"><path d=\"').concat(Y.SVG.close,'\"/></svg></button>');n+='<div class=\"fr-modal-head\">'.concat(e).concat(r,\"</div>\"),n+='<div tabIndex=\"-1\" class=\"fr-modal-body\">'.concat(t,\"</div>\"),n+=\"</div></div>\";var o=a(l.doc.createElement(\"DIV\"));return o.html(n),o.find(\"> .fr-modal\")}(e,t);c[n]={$modal:r,$head:r.find(\".fr-modal-head\"),$body:r.find(\".fr-modal-body\")},l.helpers.isMobile()||r.addClass(\"fr-desktop\"),a(\"body\").first().append(r),l.events.$on(r,\"click\",\".fr-modal-close\",function(){s(n)},!0),c[n].$body.css(\"margin-top\",c[n].$head.outerHeight()),l.events.$on(r,\"keydown\",function(e){var t=e.which;return t===Y.KEYCODE.ESC?(s(n),l.accessibility.focusModalButton(r),!1):!(!a(e.currentTarget).is(\"input[type=text], textarea\")&&t!==Y.KEYCODE.ARROW_UP&&t!==Y.KEYCODE.ARROW_DOWN&&!l.keys.isBrowserAction(e)&&(e.preventDefault(),e.stopPropagation(),1))},!0),s(n,!0)}return c[n]},show:function i(e){if(c[e]){var t=c[e].$modal;t.data(\"instance\",l),t.show(),o.show(),a(l.o_doc).find(\"body\").first().addClass(\"fr-prevent-scroll\"),l.helpers.isMobile()&&a(l.o_doc).find(\"body\").first().addClass(\"fr-mobile\"),t.addClass(\"fr-active\"),l.accessibility.focusModal(t)}},hide:s,resize:function f(e){if(c[e]){var t=c[e],n=t.$modal,r=t.$body,o=l.o_win.innerHeight,i=n.find(\".fr-modal-wrapper\"),a=o-i.outerHeight(!0)+(i.height()-(r.outerHeight(!0)-r.height())),s=\"auto\";a<r.get(0).scrollHeight&&(s=a),r.height(s)}},isVisible:n,areVisible:function p(e){for(var t in c)if(Object.prototype.hasOwnProperty.call(c,t)&&n(t)&&(void 0===e||c[t].$modal.data(\"instance\")===e))return c[t].$modal;return!1}}},Y.MODULES.position=function(y){var N=y.$;function o(){var e=y.selection.ranges(0),t=e.getBoundingClientRect();if(0===t.top&&0===t.left&&0===t.width||0===t.height){var n=!1,r=y.opts.toolbarInline&&e.startContainer&&e.startContainer.firstChild&&\"BR\"===e.startContainer.firstChild.tagName;0===y.$el.find(\".fr-marker\").length&&(r?N(e.startContainer.firstChild).after(Y.MARKERS):y.selection.save(),n=!0);var o=y.$el.find(\".fr-marker\").first();o.css(\"display\",\"inline\"),o.css(\"line-height\",\"\");var i=o.offset(),a=o.outerHeight();o.css(\"display\",\"none\"),o.css(\"line-height\",0),(t={}).left=i&&i.left,t.width=0,t.height=a,t.top=i&&i.top-(y.helpers.isMobile()&&!y.helpers.isIOS()||y.opts.iframe?0:y.helpers.scrollTop()),t.right=1,t.bottom=1,t.ok=!0,n&&(r?y.$el.find(\".fr-marker\").remove():y.selection.restore())}return t}function i(e,t,n,r){var o=n.data(\"container\");if(!o||\"BODY\"===o.get(0).tagName&&\"static\"===o.css(\"position\")||(e&&(e-=o.offset().left),t&&(t-=o.offset().top),\"BODY\"!==o.get(0).tagName?(e&&(e+=o.get(0).scrollLeft),t&&(t+=o.get(0).scrollTop)):\"absolute\"===o.css(\"position\")&&(e&&(e+=o.position().left),t&&(t+=o.position().top))),y.opts.iframe&&o&&y.$tb&&o.get(0)!==y.$tb.get(0)){var i=y.helpers.getPX(y.$wp.find(\".fr-iframe\").css(\"padding-top\")),a=y.helpers.getPX(y.$wp.find(\".fr-iframe\").css(\"padding-left\"));e&&(e+=y.$iframe.offset().left+a),t&&(t+=y.$iframe.offset().top+i)}var s=function l(e,t){var n=e.outerWidth(!0);return t+n>y.$sc.get(0).clientWidth-10&&(t=y.$sc.get(0).clientWidth-n-10),t<0&&(t=10),t}(n,e);e&&n.css(\"left\",s),t&&n.css(\"top\",function c(e,t,n){var r=e.outerHeight(!0);if(!y.helpers.isMobile()&&y.$tb&&e.parent().get(0)!==y.$tb.get(0)){var o=e.parent().offset().top,i=t-r-(n||0);e.parent().get(0)===y.$sc.get(0)&&(o-=e.parent().position().top);var a=y.$sc.get(0).clientHeight;o+t+r>y.$sc.offset().top+a&&0<e.parent().offset().top+i&&0<i?i>y.$wp.scrollTop()&&(t=i,e.addClass(\"fr-above\")):e.removeClass(\"fr-above\")}return t}(n,t,r))}function a(e){var n=N(e),t=n.is(\".fr-sticky-on\"),r=n.data(\"sticky-top\"),o=n.data(\"sticky-scheduled\");if(void 0===r){n.data(\"sticky-top\",0);var i=N('<div class=\"fr-sticky-dummy\" style=\"height: '.concat(n.outerHeight(),'px;\"></div>'));y.$box.prepend(i)}else y.$box.find(\".fr-sticky-dummy\").css(\"height\",n.outerHeight());if(y.core.hasFocus()||0<y.$tb.findVisible(\"input:focus\").length){var a=y.helpers.scrollTop(),s=Math.min(Math.max(a-y.$tb.parent().offset().top,0),y.$tb.parent().outerHeight()-n.outerHeight());if(s!==r&&s!==o&&(clearTimeout(n.data(\"sticky-timeout\")),n.data(\"sticky-scheduled\",s),n.outerHeight()<a-y.$tb.parent().offset().top&&n.addClass(\"fr-opacity-0\"),n.data(\"sticky-timeout\",setTimeout(function(){var e=y.helpers.scrollTop(),t=Math.min(Math.max(e-y.$tb.parent().offset().top,0),y.$tb.parent().outerHeight()-n.outerHeight());0<t&&\"BODY\"===y.$tb.parent().get(0).tagName&&(t+=y.$tb.parent().position().top),t!==r&&(n.css(\"top\",Math.max(t,0)),n.data(\"sticky-top\",t),n.data(\"sticky-scheduled\",t)),n.removeClass(\"fr-opacity-0\")},100))),!t){var l=y.$tb.parent(),c=l.get(0).offsetWidth-l.get(0).clientWidth;n.css(\"top\",\"0\"),n.width(l.width()-c),n.addClass(\"fr-sticky-on\"),y.$box.addClass(\"fr-sticky-box\")}}else clearTimeout(N(e).css(\"sticky-timeout\")),n.css(\"top\",\"0\"),n.css(\"position\",\"\"),n.css(\"width\",\"\"),n.data(\"sticky-top\",0),n.removeClass(\"fr-sticky-on\"),y.$box.removeClass(\"fr-sticky-box\")}function t(e){if(e.offsetWidth){var t=N(e),n=t.outerHeight(),r=t.data(\"sticky-position\"),o=N(\"body\"===y.opts.scrollableContainer?y.o_win:y.opts.scrollableContainer).outerHeight(),i=0,a=0;\"body\"!==y.opts.scrollableContainer&&(i=y.$sc.offset().top,a=N(y.o_win).outerHeight()-i-o);var s=\"body\"===y.opts.scrollableContainer?y.helpers.scrollTop():i,l=t.is(\".fr-sticky-on\");t.data(\"sticky-parent\")||t.data(\"sticky-parent\",t.parent());var c=t.data(\"sticky-parent\"),d=c.offset().top,f=c.outerHeight();if(t.data(\"sticky-offset\")?y.$box.find(\".fr-sticky-dummy\").css(\"height\",\"\".concat(n,\"px\")):(t.data(\"sticky-offset\",!0),t.after('<div class=\"fr-sticky-dummy\" style=\"height: '.concat(n,'px;\"></div>'))),!r){var p=\"auto\"!==t.css(\"top\")||\"auto\"!==t.css(\"bottom\");p||t.css(\"position\",\"fixed\"),r={top:y.node.hasClass(t.get(0),\"fr-top\"),bottom:y.node.hasClass(t.get(0),\"fr-bottom\")},p||t.css(\"position\",\"\"),t.data(\"sticky-position\",r),t.data(\"top\",y.node.hasClass(t.get(0),\"fr-top\")?t.css(\"top\"):\"auto\"),t.data(\"bottom\",y.node.hasClass(t.get(0),\"fr-bottom\")?t.css(\"bottom\"):\"auto\")}var u=y.helpers.getPX(t.data(\"top\")),h=y.helpers.getPX(t.data(\"bottom\")),g=r.top&&function E(){return d<s+u&&s+u<=d+f-n}(),C=r.bottom&&function L(){return d+n<s+o-h&&s+o-h<d+f}();if(g||C){var m=c.get(0).offsetWidth-c.get(0).clientWidth;if(t.css(\"width\",\"\".concat(c.get(0).getBoundingClientRect().width-m,\"px\")),l)\"body\"!==y.opts.scrollableContainer&&(t.css(\"top\")&&\"auto\"!==t.data(\"top\")&&t.css(\"top\",y.helpers.getPX(t.data(\"top\"))+i-window.scrollY),t.css(\"bottom\")&&\"auto\"!==t.data(\"bottom\")&&t.css(\"bottom\",y.helpers.getPX(t.data(\"bottom\"))+a+window.scrollY));else{if(t.addClass(\"fr-sticky-on\"),t.removeClass(\"fr-sticky-off\"),t.css(\"top\"))if(\"auto\"!==t.data(\"top\")){var v=\"body\"===y.opts.scrollableContainer?i:i-window.scrollY;t.css(\"top\",y.helpers.getPX(t.data(\"top\"))+v)}else t.data(\"top\",\"auto\");if(t.css(\"bottom\"))if(\"auto\"!==t.data(\"bottom\")){var b=\"body\"===y.opts.scrollableContainer?a:a+window.scrollY;t.css(\"bottom\",y.helpers.getPX(t.data(\"bottom\"))+b)}else t.css(\"bottom\",\"auto\")}}else y.node.hasClass(t.get(0),\"fr-sticky-off\")||(t.css(\"width\",\"\"),t.removeClass(\"fr-sticky-on\"),t.addClass(\"fr-sticky-off\"),t.css(\"top\")&&\"auto\"!==t.data(\"top\")&&r.top&&t.css(\"top\",0),t.css(\"bottom\")&&\"auto\"!==t.data(\"bottom\")&&r.bottom&&t.css(\"bottom\",0))}}function s(){if(y.helpers.requestAnimationFrame()(s),!1!==y.events.trigger(\"position.refresh\"))for(var e=0;e<y._stickyElements.length;e++)if(y.opts.toolbarBottom){var t=y.$tb.parent(),n=t.get(0).offsetWidth-t.get(0).clientWidth,r=N(y._stickyElements[e]);r.width(t.width()-n),r.addClass(\"fr-sticky-on\"),y.$box.addClass(\"fr-sticky-box\")}else a(y._stickyElements[e])}function n(){if(y._stickyElements)for(var e=0;e<y._stickyElements.length;e++)t(y._stickyElements[e])}return{_init:function e(){!function t(){if(y._stickyElements=[],y.helpers.getIOSVersion()<=8)s(),y.events.$on(N(y.o_win),\"scroll\",function(){if(y.core.hasFocus())for(var e=0;e<y._stickyElements.length;e++){var t=N(y._stickyElements[e]),n=t.parent(),r=y.helpers.scrollTop();t.outerHeight()<r-n.offset().top&&(y.opts.toolbarBottom&&y.helpers.isIOS()||(t.addClass(\"fr-opacity-0\"),t.data(\"sticky-top\",-1),t.data(\"sticky-scheduled\",-1)))}},!0);else{\"body\"!==y.opts.scrollableContainer&&y.events.$on(N(y.opts.scrollableContainer),\"scroll\",n,!0),y.events.$on(N(y.o_win),\"scroll\",n,!0),y.events.$on(N(y.o_win),\"resize\",n,!0),y.events.on(\"initialized\",n),y.events.on(\"focus\",n),y.events.$on(N(y.o_win),\"resize\",\"textarea\",n,!0);var e=N(y.el).parents(\".modal\");e.get(0)&&y.events.$on(e,\"scroll\",n,!0)}y.events.on(\"destroy\",function(){y._stickyElements=[]})}()},forSelection:function l(e){var t=o();if(t.top!=undefined){e.css({top:0,left:0});var n=t.top+t.height,r=t.left+t.width/2-e.get(0).offsetWidth/2+y.helpers.scrollLeft();y.opts.iframe||(n+=y.helpers.scrollTop()),i(r,n,e,t.height)}},addSticky:function r(e){e.addClass(\"fr-sticky\"),y.helpers.isIOS()&&!y.opts.toolbarBottom&&e.addClass(\"fr-sticky-ios\"),e.removeClass(\"fr-sticky\"),y._stickyElements.push(e.get(0))},refresh:n,at:i,getBoundingRect:o}},Y.MODULES.refresh=function(l){var c=l.$;function i(e,t){e.toggleClass(\"fr-disabled\",t).attr(\"aria-disabled\",t)}function e(e){var t=l.$tb.find('.fr-more-toolbar[data-name=\"'.concat(e.attr(\"data-group-name\"),'\"]')),n=function s(e,t){var n=0,r=t.find(\"> .fr-command, > .fr-btn-wrap\");r.each(function(e,t){n+=c(t).outerWidth()});var o,i=l.helpers.getPX(c(r[0]).css(\"margin-left\")),a=l.helpers.getPX(c(r[0]).css(\"margin-right\"));o=\"rtl\"===l.opts.direction?l.$tb.outerWidth()-e.offset().left+l.$tb.offset().left-(n+e.outerWidth()+r.length*(i+a))/2:e.offset().left-l.$tb.offset().left-(n-e.outerWidth()+r.length*(i+a))/2;o+n+r.length*(i+a)>l.$tb.outerWidth()&&(o-=(n+r.length*(i+a)-e.outerWidth())/2);o<0&&(o=0);return o}(e,t);\"rtl\"===l.opts.direction?t.css(\"padding-right\",n):t.css(\"padding-left\",n)}return{undo:function t(e){i(e,!l.undo.canDo())},redo:function n(e){i(e,!l.undo.canRedo())},outdent:function a(e){if(l.node.hasClass(e.get(0),\"fr-no-refresh\"))return!1;if(c(\"button#markdown-\".concat(l.id,\".fr-active\")).length)return!1;for(var t=l.selection.blocks(),n=0;n<t.length;n++){var r=\"rtl\"===l.opts.direction||\"rtl\"===c(t[n]).css(\"direction\")?\"margin-right\":\"margin-left\",o=t[0].parentElement;if([\"HTML\",\"P\",\"DIV\",\"UL\",\"OL\",\"LI\",\"TR\",\"BLOCKQUOTE\",\"BODY\"].indexOf(o.parentNode.tagName)<0)return i(e,!0),!0;if(t[0].previousSibling&&\"none\"==o.parentNode.style.listStyleType)return i(e,!0),!0;if(\"LI\"===t[n].tagName||\"LI\"===t[n].parentNode.tagName)return i(e,!1),!0;if(0<l.helpers.getPX(c(t[n]).css(r))+l.helpers.getPX(c(t[n]).css(\"text-indent\")))return i(e,!1),!0}i(e,!0)},indent:function o(e){if(l.node.hasClass(e.get(0),\"fr-no-refresh\"))return!1;if(c(\"button#markdown-\".concat(l.id,\".fr-active\")).length)return!1;for(var t=l.selection.blocks(),n=0;n<t.length;n++){for(var r=t[n].previousSibling;r&&r.nodeType===Node.TEXT_NODE&&0===r.textContent.length;)r=r.previousSibling;if(\"LI\"!==t[n].tagName||r)return i(e,!1),!0;i(e,!0)}},moreText:e,moreParagraph:e,moreMisc:e,moreRich:e}},Object.assign(Y.DEFAULTS,{attribution:!0,toolbarBottom:!1,toolbarButtons:null,toolbarButtonsXS:null,toolbarButtonsSM:null,toolbarButtonsMD:null,toolbarContainer:null,toolbarInline:!1,toolbarSticky:!0,toolbarStickyOffset:0,toolbarVisibleWithoutSelection:!1,toolbarResponsiveToEditor:!1}),Y.TOOLBAR_BUTTONS={moreText:{buttons:[\"bold\",\"italic\",\"underline\",\"strikeThrough\",\"subscript\",\"superscript\",\"fontFamily\",\"fontSize\",\"textColor\",\"backgroundColor\",\"inlineClass\",\"inlineStyle\",\"clearFormatting\"]},moreParagraph:{buttons:[\"alignLeft\",\"alignCenter\",\"formatOLSimple\",\"alignRight\",\"alignJustify\",\"formatOL\",\"formatUL\",\"paragraphFormat\",\"paragraphStyle\",\"lineHeight\",\"outdent\",\"indent\",\"quote\"]},moreRich:{buttons:[\"trackChanges\",\"markdown\",\"insertLink\",\"insertFiles\",\"insertImage\",\"insertVideo\",\"insertTable\",\"emoticons\",\"fontAwesome\",\"specialCharacters\",\"embedly\",\"insertFile\",\"insertHR\",\"openFilePicker\"],buttonsVisible:4},moreMisc:{buttons:[\"undo\",\"redo\",\"fullscreen\",\"print\",\"getPDF\",\"spellChecker\",\"selectAll\",\"html\",\"help\",\"findReplaceButton\"],align:\"right\",buttonsVisible:2},trackChanges:{buttons:[\"showChanges\",\"applyAll\",\"removeAll\",\"applyLast\",\"removeLast\"],buttonsVisible:0}},Y.TOOLBAR_BUTTONS_MD=null,(Y.TOOLBAR_BUTTONS_SM={}).moreText=Object.assign({},Y.TOOLBAR_BUTTONS.moreText,{buttonsVisible:2}),Y.TOOLBAR_BUTTONS_SM.moreParagraph=Object.assign({},Y.TOOLBAR_BUTTONS.moreParagraph,{buttonsVisible:2}),Y.TOOLBAR_BUTTONS_SM.moreRich=Object.assign({},Y.TOOLBAR_BUTTONS.moreRich,{buttonsVisible:2}),Y.TOOLBAR_BUTTONS_SM.moreMisc=Object.assign({},Y.TOOLBAR_BUTTONS.moreMisc,{buttonsVisible:2}),Y.TOOLBAR_BUTTONS_SM.trackChanges=Object.assign({},Y.TOOLBAR_BUTTONS.trackChanges,{buttonsVisible:0}),(Y.TOOLBAR_BUTTONS_XS={}).moreText=Object.assign({},Y.TOOLBAR_BUTTONS.moreText,{buttonsVisible:0}),Y.TOOLBAR_BUTTONS_XS.moreParagraph=Object.assign({},Y.TOOLBAR_BUTTONS.moreParagraph,{buttonsVisible:0}),Y.TOOLBAR_BUTTONS_XS.moreRich=Object.assign({},Y.TOOLBAR_BUTTONS.moreRich,{buttonsVisible:0}),Y.TOOLBAR_BUTTONS_XS.moreMisc=Object.assign({},Y.TOOLBAR_BUTTONS.moreMisc,{buttonsVisible:2}),Y.TOOLBAR_BUTTONS_XS.trackChanges=Object.assign({},Y.TOOLBAR_BUTTONS.trackChanges,{buttonsVisible:0}),Y.POWERED_BY='<a id=\"fr-logo\" href=\"https://froala.com/wysiwyg-editor\" target=\"_blank\" title=\"Froala WYSIWYG HTML Editor\"><span>Powered by</span><svg id=\"Layer_1\" data-name=\"Layer 1\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 822.8 355.33\"><defs><style>.fr-logo{fill:#b1b2b7;}</style></defs><title>Froala</title><path class=\"fr-logo\" d=\"M123.58,78.65A16.16,16.16,0,0,0,111.13,73H16.6C7.6,73,0,80.78,0,89.94V128.3a16.45,16.45,0,0,0,32.9,0V104.14h78.5A15.63,15.63,0,0,0,126.87,91.2,15.14,15.14,0,0,0,123.58,78.65Z\"/><path class=\"fr-logo\" d=\"M103.54,170a16.05,16.05,0,0,0-11.44-4.85H15.79A15.81,15.81,0,0,0,0,180.93v88.69a16.88,16.88,0,0,0,5,11.92,16,16,0,0,0,11.35,4.7h.17a16.45,16.45,0,0,0,16.41-16.6v-73.4H92.2A15.61,15.61,0,0,0,107.89,181,15.1,15.1,0,0,0,103.54,170Z\"/><path class=\"fr-logo\" d=\"M233,144.17c-5.29-6.22-16-7.52-24.14-7.52-16.68,0-28.72,7.71-36.5,23.47v-5.67a16.15,16.15,0,1,0-32.3,0v115.5a16.15,16.15,0,1,0,32.3,0v-38.7c0-19.09,3.5-63.5,35.9-63.5a44.73,44.73,0,0,1,5.95.27h.12c12.79,1.2,20.06-2.73,21.6-11.69C236.76,151.48,235.78,147.39,233,144.17Z\"/><path class=\"fr-logo\" d=\"M371.83,157c-13.93-13.11-32.9-20.33-53.43-20.33S279,143.86,265.12,157c-14.67,13.88-22.42,32.82-22.42,54.77,0,21.68,8,41.28,22.4,55.2,13.92,13.41,32.85,20.8,53.3,20.8s39.44-7.38,53.44-20.79c14.55-13.94,22.56-33.54,22.56-55.21S386.39,170.67,371.83,157Zm-9.73,54.77c0,25.84-18.38,44.6-43.7,44.6s-43.7-18.76-43.7-44.6c0-25.15,18.38-43.4,43.7-43.4S362.1,186.59,362.1,211.74Z\"/><path class=\"fr-logo\" d=\"M552.7,138.14a16.17,16.17,0,0,0-16,16.3v1C526.41,143.85,509,136.64,490,136.64c-19.83,0-38.19,7.24-51.69,20.4C424,171,416.4,190,416.4,212c0,21.61,7.78,41.16,21.9,55,13.56,13.33,31.92,20.67,51.7,20.67,18.83,0,36.29-7.41,46.7-19.37v1.57a16.15,16.15,0,1,0,32.3,0V154.44A16.32,16.32,0,0,0,552.7,138.14Zm-16.3,73.6c0,30.44-22.81,44.3-44,44.3-24.57,0-43.1-19-43.1-44.3s18.13-43.4,43.1-43.4C513.73,168.34,536.4,183.55,536.4,211.74Z\"/><path class=\"fr-logo\" d=\"M623.5,61.94a16.17,16.17,0,0,0-16,16.3v191.7a16.15,16.15,0,1,0,32.3,0V78.24A16.32,16.32,0,0,0,623.5,61.94Z\"/><path class=\"fr-logo\" d=\"M806.5,138.14a16.17,16.17,0,0,0-16,16.3v1c-10.29-11.63-27.74-18.84-46.7-18.84-19.83,0-38.19,7.24-51.69,20.4-14.33,14-21.91,33-21.91,55,0,21.61,7.78,41.16,21.9,55,13.56,13.33,31.92,20.67,51.7,20.67,18.83,0,36.29-7.41,46.7-19.37v1.57a16.15,16.15,0,1,0,32.3,0V154.44A16.32,16.32,0,0,0,806.5,138.14Zm-16.3,73.6c0,30.44-22.81,44.3-44,44.3-24.57,0-43.1-19-43.1-44.3s18.13-43.4,43.1-43.4C767.53,168.34,790.2,183.55,790.2,211.74Z\"/></svg></a>',Y.MODULES.toolbar=function(L){var y=L.$;function e(e){if(-1<L.opts.pluginsEnabled.indexOf(\"filestack\")&&L.opts.filestackOptions&&L.opts.filestackOptions.uploadToFilestackOnly){var t,n=JSON.parse(JSON.stringify(e)),r=n.moreRich&&n.moreRich.buttons&&n.moreRich.buttons.includes(\"openFilePicker\"),o=n.moreRich&&n.moreRich.buttons&&n.moreRich.buttons.includes(\"insertFile\"),i=n.moreRich&&n.moreRich.buttons&&n.moreRich.buttons.includes(\"insertFiles\");r?(-1!==(t=n.moreRich&&n.moreRich.buttons&&n.moreRich.buttons.findIndex(function(e){return\"insertFile\"===e}))&&n.moreRich.buttons.splice(t,1),-1!==(t=n.moreRich&&n.moreRich.buttons&&n.moreRich.buttons.findIndex(function(e){return\"insertFiles\"===e}))&&n.moreRich.buttons.splice(t,1)):o&&i&&-1!==(t=n.moreRich&&n.moreRich.buttons&&n.moreRich.buttons.findIndex(function(e){return\"insertFiles\"===e}))&&n.moreRich.buttons.splice(t,1);var a=n.moreRich&&n.moreRich.buttons&&n.moreRich.buttons.findIndex(function(e){return\"insertImage\"===e});-1<a&&null!==a&&(n.moreRich.buttons[a]=\"openFilePickerImageOnly\");var s=n.moreRich&&n.moreRich.buttons&&n.moreRich.buttons.findIndex(function(e){return\"insertVideo\"===e});return-1<s&&null!==s&&(n.moreRich.buttons[s]=\"openFilePickerVideoOnly\"),n}return e}var N,t=[];function n(e){var n={};if(Array.isArray(e)){if(!Array.isArray(e[0])){for(var t=[],r=[],o=0;o<e.length;o++)\"|\"===e[o]||\"-\"===e[o]?(0<r.length&&t.push(r),r=[]):r.push(e[o]);0<r.length&&t.push(r),e=t}e.forEach(function(e,t){n[\"group\".concat(t+1)]={buttons:e}}),n.showMoreButtons=!1}else\"object\"!==w(e)||Array.isArray(e)||((n=e).showMoreButtons=!0);return n}function S(){var e=L.helpers.screenSize(L.opts.toolbarResponsiveToEditor);return t[N=e]}function T(){for(var d=L.$tb.find(\".fr-more-toolbar\"),f=function f(){var e=y(d[p]);if(e.hasClass(\"fr-expanded\")){var n=L.helpers.getPX(e.css(\"padding-left\")),t=e.find(\"> .fr-command, > .fr-btn-wrap\"),r=y(t[0]),o=L.helpers.getPX(r.css(\"margin-left\")),i=L.helpers.getPX(r.css(\"margin-right\")),a=L.helpers.getPX(r.css(\"margin-top\")),s=L.helpers.getPX(r.css(\"margin-bottom\"));if(t.each(function(e,t){n+=y(t).outerWidth()+o+i}),L.$tb.outerWidth()<n){var l=Math.floor(n/L.$tb.outerWidth());n+=l*(n/e[0].childElementCount),l=Math.ceil(n/L.$tb.outerWidth());var c=(L.helpers.getPX(r.css(\"height\"))+a+s)*l;e.css(\"height\",c)}}else e.css(\"height\",\"\")},p=0;p<d.length;p++)f();!L.helpers.isMobile()&&L.opts.toolbarBottom?L.$tb.find(\".fr-toolbar .fr-more-toolbar\").removeClass(\"position-relative\"):L.$tb.find(\".fr-toolbar .fr-more-toolbar\").addClass(\"position-relative\")}function o(){if(0==L.$tb.find(\"[data-name='trackChanges-\".concat(L.id,\"']\")).length&&-1<L.opts.pluginsEnabled.indexOf(\"track_changes\")){L.$tb.append(y('<div class=\"fr-more-toolbar\"></div>').data(\"name\",\"trackChanges-\".concat(L.id)));for(var e=0,t=[\"showChanges\",\"applyAll\",\"removeAll\",\"applyLast\",\"removeLast\"];e<t.length;e++){var n=t[e],r=Y.COMMANDS[n];if(r){r.more_btn=!0;var o=y(L.button.build(n,r,!0));L.button.addButtons(o),L.$tb.find(\"[data-name='trackChanges-\".concat(L.id,\"']\")).append(o)}}}if(N!==L.helpers.screenSize(L.opts.toolbarResponsiveToEditor)){var i=S(),a=y(),s=y();for(var l in L.$tb.find(\".fr-btn-grp > .fr-command, .fr-more-toolbar > .fr-command, .fr-btn-grp > .fr-btn-wrap > .fr-command, .fr-more-toolbar > .fr-btn-wrap > .fr-command\").addClass(\"fr-hidden\"),function E(){for(var e=L.$tb.find(\".fr-btn-grp, .fr-more-toolbar\"),t=function t(){var n=y(e[r]);n.children().each(function(e,t){n.before(t)}),n.remove()},r=0;r<e.length;r++)t()}(),L.$tb.find(\".fr-separator.fr-vs, .fr-separator.fr-hs\").remove(),i){var c=i[l];if(c.buttons&&(\"trackChanges\"!==l||-1!==L.opts.pluginsEnabled.indexOf(\"track_changes\"))){var d=void 0,f=0,p=3,u=void 0;\"trackChanges\"!==l&&(u=y('<div class=\"fr-btn-grp fr-float-'.concat(i[l].align?i[l].align:\"left\",'\"></div>'))),i.showMoreButtons&&(d=y('<div class=\"fr-more-toolbar\"></div>').data(\"name\",\"\".concat(l,\"-\").concat(L.id)),\"trackChanges\"!==l&&\"moreRich\"!==l||!L.opts.trackChangesEnabled||d.addClass(\"fr-expanded\"));for(var h=0;h<c.buttons.length;h++){c.buttonsVisible!==undefined&&(p=c.buttonsVisible);var g=L.$tb.find('> .fr-command[data-cmd=\"'+c.buttons[h]+'\"], > div.fr-btn-wrap > .fr-command[data-cmd=\"'+c.buttons[h]+'\"]'),C=null;L.node.hasClass(g.next().get(0),\"fr-dropdown-menu\")&&(C=g.next()),L.node.hasClass(g.next().get(0),\"fr-options\")&&(g.removeClass(\"fr-hidden\"),g.next().removeClass(\"fr-hidden\"),g=g.parent()),g.removeClass(\"fr-hidden\"),i.showMoreButtons&&p<=f?(d.append(g),C&&d.append(C)):(u.append(g),\"|\"===c.buttons[h]?u.append(y('<div class=\"fr-separator fr-vs\" role=\"separator\" aria-orientation=\"vertical\"></div>')):\"-\"===c.buttons[h]&&u.append(y('<div class=\"fr-separator fr-hs\" role=\"separator\" aria-orientation=\"horizontal\"></div>')),C&&u.append(C)),f++}if(i.showMoreButtons&&p<f){var m=L.$tb.find('.fr-command[data-cmd=\"'.concat(l,'\"]'));if(0<m.length)m.removeClass(\"fr-hidden fr-open\");else{var v=l,b=Y.COMMANDS[v];b&&(b.more_btn=!0,m=y(L.button.build(v,b,!0)),L.button.addButtons(m))}u&&u.append(m)}u&&a.push(u),i.showMoreButtons&&s.push(d)}}L.opts.toolbarBottom?(L.$tb.append(s),L.$tb.find(\".fr-newline\").remove(),L.$tb.append('<div class=\"fr-newline\"></div>'),L.$tb.append(a)):(L.$tb.append(a),L.$tb.find(\".fr-newline\").remove(),L.$tb.append('<div class=\"fr-newline\"></div>'),L.$tb.append(s)),L.$tb.removeClass(\"fr-toolbar-open\"),L.$box.removeClass(\"fr-toolbar-open\"),L.events.trigger(\"codeView.toggle\")}T()}function r(t,n){setTimeout(function(){var e;L.opts.iframe?e=L.$iframe.get(0).contentWindow.document.activeElement:e=document.activeElement;if((!t||t.which!=Y.KEYCODE.ESC)&&L.selection.inEditor()&&L.core.hasFocus()&&!L.popups.areVisible()&&\"false\"!=y(L.selection.blocks()[0]).closest(\"table\").attr(\"contenteditable\")&&\"INPUT\"!==e.tagName&&\"TEXTAREA\"!==e.tagName&&(L.opts.toolbarVisibleWithoutSelection||!L.selection.isCollapsed()&&!L.keys.isIME()||n)){if(L.$tb.data(\"instance\",L),!1===L.events.trigger(\"toolbar.show\",[t]))return;if(t&&L.helpers.isMobile()&&!function r(e,t){var n=e.target;for(;n;){if(n===t)return!0;n=n.parentElement}return!1}(t,L.$box))return;L.$tb.show(),L.opts.toolbarContainer||L.position.forSelection(L.$tb),1<L.opts.zIndex?L.$tb.css(\"z-index\",L.opts.zIndex+1):L.$tb.css(\"z-index\",null)}},0)}function i(e){return(!e||\"blur\"!==e.type||document.activeElement!==L.el)&&((!e||\"blur\"!==e.type||!L.helpers.isMobile())&&(!(!e||\"keydown\"!==e.type||!L.keys.ctrlKey(e))||(!!L.button.getButtons(\".fr-dropdown.fr-active\").next().find(L.o_doc.activeElement).length||(L.helpers.isMobile()&&L.opts.toolbarInline&&(L.$tb.find(\".fr-expanded\").toggleClass(\"fr-expanded\"),L.$tb.find(\".fr-open\").removeClass(\"fr-open\"),L.$tb.removeClass(\"fr-toolbar-open\"),T()),void(!1!==L.events.trigger(\"toolbar.hide\")&&L.$tb.hide())))))}t[Y.XS]=n(e(L.opts.toolbarButtonsXS||L.opts.toolbarButtons||Y.TOOLBAR_BUTTONS_XS||Y.TOOLBAR_BUTTONS||[])),t[Y.SM]=n(e(L.opts.toolbarButtonsSM||L.opts.toolbarButtons||Y.TOOLBAR_BUTTONS_SM||Y.TOOLBAR_BUTTONS||[])),t[Y.MD]=n(e(L.opts.toolbarButtonsMD||L.opts.toolbarButtons||Y.TOOLBAR_BUTTONS_MD||Y.TOOLBAR_BUTTONS||[])),t[Y.LG]=n(e(L.opts.toolbarButtons||Y.TOOLBAR_BUTTONS||[]));var a=null;function s(e){clearTimeout(a),e&&e.which===Y.KEYCODE.ESC||(a=setTimeout(r,L.opts.typingTimer))}function l(){L.events.on(\"window.mousedown\",i),L.events.on(\"keydown\",i),L.events.on(\"blur\",i),L.events.$on(L.$tb,\"transitionend\",\".fr-more-toolbar\",function(){L.position.forSelection(L.$tb)}),L.helpers.isMobile()||L.events.on(\"window.mouseup\",r),L.helpers.isMobile()?L.helpers.isIOS()||(L.events.on(\"window.touchend\",r),L.browser.mozilla&&setInterval(r,200)):L.events.on(\"window.keyup\",s),L.events.on(\"keydown\",function(e){e&&e.which===Y.KEYCODE.ESC&&L.events.trigger(\"toolbar.esc\")}),L.events.on(\"keydown\",function(e){if(e.which===Y.KEYCODE.ALT)return e.stopPropagation(),!1},!0),L.events.$on(L.$wp,\"scroll.toolbar\",r),L.events.on(\"commands.after\",r),L.helpers.isMobile()&&(L.events.$on(L.$doc,\"selectionchange\",s),L.events.$on(L.$doc,\"orientationchange\",r))}function c(){L.$tb&&(L.$tb.html(\"\").removeData().remove(),L.$tb=null),L.$second_tb&&(L.$second_tb.html(\"\").removeData().remove(),L.$second_tb=null)}function d(){L.$box.removeClass(\"fr-top fr-bottom fr-inline fr-basic\"),L.$box.find(\".fr-sticky-dummy\").remove()}function f(){L.opts.theme&&L.$tb.addClass(\"\".concat(L.opts.theme,\"-theme\")),1<L.opts.zIndex&&L.$tb.css(\"z-index\",L.opts.zIndex+1),\"auto\"!==L.opts.direction&&L.$tb.removeClass(\"fr-ltr fr-rtl\").addClass(\"fr-\".concat(L.opts.direction)),L.helpers.isMobile()?L.$tb.addClass(\"fr-mobile\"):L.$tb.addClass(\"fr-desktop\"),L.opts.toolbarContainer?(L.opts.toolbarInline&&(l(),i()),L.opts.toolbarBottom?L.$tb.addClass(\"fr-bottom\"):L.$tb.addClass(\"fr-top\")):function e(){L.opts.toolbarInline?(L.$sc.append(L.$tb),L.$tb.data(\"container\",L.$sc),L.$tb.addClass(\"fr-inline\"),l(),L.opts.toolbarBottom=!1):(L.opts.toolbarBottom?(L.$box.append(L.$tb),L.$tb.addClass(\"fr-bottom\"),L.$box.addClass(\"fr-bottom\")):(L.opts.toolbarBottom=!1,L.$box.prepend(L.$tb),L.$tb.addClass(\"fr-top\"),L.$box.addClass(\"fr-top\")),L.$tb.addClass(\"fr-basic\"),L.opts.toolbarSticky&&(L.opts.toolbarStickyOffset&&(L.opts.toolbarBottom?L.$tb.css(\"bottom\",L.opts.toolbarStickyOffset):L.$tb.css(\"top\",L.opts.toolbarStickyOffset)),L.position.addSticky(L.$tb)))}(),function t(){var e=L.button.buildGroup(S());L.$tb.append(e),T(),L.button.bindCommands(L.$tb)}(),function r(){L.events.$on(y(L.o_win),\"resize\",o),L.events.$on(y(L.o_win),\"orientationchange\",o),L.opts.toolbarButtons&&-1<JSON.stringify(L.opts.toolbarButtons).indexOf(\"trackChanges\")&&o();var e=L.$tb.find(\".fr-more-toolbar[data-name=trackChanges-\".concat(L.id,\"]\")),t=0!==e.length&&e.hasClass(\"fr-expanded\");if(L.opts.trackChangesEnabled&&!t){var n=L.$tb.find(\".fr-command.fr-btn[data-cmd=trackChanges\");e.addClass(\"fr-expanded\"),n.toggleClass(\"fr-open\"),L.toolbar.enable()}}(),L.accessibility.registerToolbar(L.$tb),L.events.$on(L.$tb,\"\".concat(L._mousedown,\" \").concat(L._mouseup),function(e){var t=e.originalEvent?e.originalEvent.target||e.originalEvent.originalTarget:null;if(t&&\"INPUT\"!==t.tagName&&!L.edit.isDisabled())return e.stopPropagation(),e.preventDefault(),!1},!0),L.helpers.isMobile()&&L.events.$on(L.$tb,\"click\",function(){L.popups.areVisible().length||L.id!==L.shared.selected_editor&&L.shared.selected_editor||L.$el.focus()}),L.events.$on(L.$tb,\"transitionend\",\".fr-more-toolbar\",function(){L.$box.hasClass(\"fr-fullscreen\")&&(L.opts.height=L.o_win.innerHeight-(L.opts.toolbarInline?0:L.$tb.outerHeight()+(L.$second_tb?L.$second_tb.outerHeight():0)),L.size.refresh())})}var p=!1;return{_init:function u(){if(L.$sc=y(L.opts.scrollableContainer).first(),!L.$wp)return!1;L.opts.toolbarInline||L.opts.toolbarBottom||(L.$second_tb=y(L.doc.createElement(\"div\")).attr(\"class\",\"fr-second-toolbar\"),L.$box.append(L.$second_tb),(!1!==L.ul||L.opts.attribution)&&L.$second_tb.prepend(Y.POWERED_BY)),L.opts.toolbarContainer?(L.shared.$tb?(L.$tb=L.shared.$tb,L.opts.toolbarInline&&l()):(L.shared.$tb=y(L.doc.createElement(\"DIV\")),L.shared.$tb.addClass(\"fr-toolbar\"),L.$tb=L.shared.$tb,y(L.opts.toolbarContainer).append(L.$tb),f(),L.$tb.data(\"instance\",L)),L.opts.toolbarInline?L.$box.addClass(\"fr-inline\"):L.$box.addClass(\"fr-basic\"),L.events.on(\"focus\",function(){L.$tb.data(\"instance\",L)},!0),L.opts.toolbarInline=!1):L.opts.toolbarInline?(L.$box.addClass(\"fr-inline\"),L.shared.$tb?(L.$tb=L.shared.$tb,l()):(L.shared.$tb=y(L.doc.createElement(\"DIV\")),L.shared.$tb.addClass(\"fr-toolbar\"),L.$tb=L.shared.$tb,f())):(L.$box.addClass(\"fr-basic\"),L.$tb=y(L.doc.createElement(\"DIV\")),L.$tb.addClass(\"fr-toolbar\"),f(),L.$tb.data(\"instance\",L)),L.events.on(\"destroy\",d,!0),L.events.on(L.opts.toolbarInline||L.opts.toolbarContainer?\"shared.destroy\":\"destroy\",c,!0),L.events.on(\"edit.on\",function(){L.$tb.removeClass(\"fr-disabled\").removeAttr(\"aria-disabled\")}),L.events.on(\"edit.off\",function(){L.$tb.addClass(\"fr-disabled\").attr(\"aria-disabled\",!0)}),function e(){L.events.on(\"shortcut\",function(e,t,n){var r;if(t&&!n?r=L.$tb.find('.fr-command[data-cmd=\"'.concat(t,'\"]')):t&&n&&(r=L.$tb.find('.fr-command[data-cmd=\"'.concat(t,'\"][data-param1=\"').concat(n,'\"]'))),r.length&&(e.preventDefault(),e.stopPropagation(),r.parents(\".fr-toolbar\").data(\"instance\",L),\"keydown\"===e.type))return L.button.exec(r),!1})}()},hide:i,show:function h(){if(!1===L.events.trigger(\"toolbar.show\"))return!1;L.$tb.show()},showInline:r,disable:function g(){!p&&L.$tb&&(L.$tb.find(\".fr-btn-grp > .fr-command, .fr-more-toolbar > .fr-command, .fr-btn-wrap > .fr-command\").addClass(\"fr-disabled fr-no-refresh\").attr(\"aria-disabled\",!0),p=!0)},enable:function C(){p&&L.$tb&&(L.$tb.find(\".fr-btn-grp > .fr-command, .fr-more-toolbar > .fr-command, .fr-btn-wrap > .fr-command\").removeClass(\"fr-disabled fr-no-refresh\").attr(\"aria-disabled\",!1),p=!1),L.button.bulkRefresh()},setMoreToolbarsHeight:T}};var c=[\"scroll\",\"wheel\",\"touchmove\",\"touchstart\",\"touchend\"],f=[\"webkit\",\"moz\",\"ms\",\"o\"],p=[\"transitionend\"],i=document.createElement(\"div\").style,a=[\"Webkit\",\"Moz\",\"ms\",\"O\",\"css\",\"style\"],s={visibility:\"hidden\",display:\"block\"},r=[\"focus\",\"blur\",\"click\"],u={},h=function h(e,t){return{altKey:e.altKey,bubbles:e.bubbles,cancelable:e.cancelable,changedTouches:e.changedTouches,ctrlKey:e.ctrlKey,detail:e.detail,eventPhase:e.eventPhase,metaKey:e.metaKey,pageX:e.pageX,pageY:e.pageY,shiftKey:e.shiftKey,view:e.view,\"char\":e[\"char\"],key:e.key,keyCode:e.keyCode,button:e.button,buttons:e.buttons,clientX:e.clientX,clientY:e.clientY,offsetX:e.offsetX,offsetY:e.offsetY,pointerId:e.pointerId,pointerType:e.pointerType,screenX:e.screenX,screenY:e.screenY,targetTouches:e.targetTouches,toElement:e.toElement,touches:e.touches,type:e.type,which:e.which,target:e.target,currentTarget:t,originalEvent:e,stopPropagation:function(){e.stopPropagation()},stopImmediatePropagation:function(){e.stopImmediatePropagation()},preventDefault:function(){(/Android/i.test(navigator.userAgent)&&\"touchend\"===e.type||-1===c.indexOf(e.type))&&e.preventDefault()}}},g=function g(e){if(e.ownerDocument&&e.ownerDocument.body&&e.ownerDocument.body.contains(e)||\"#document\"===e.nodeName||\"HTML\"===e.nodeName||e===window)return!0;if(\"function\"!=typeof e.getRootNode)return!1;var t=e.getRootNode();return t&&t.host&&g(t.host)},C=function C(n,r){return function(e){var t=e.target;if(r)for(r=v(r);t&&t!==this;)Element.prototype.matches.call(t,v(r))&&n.call(t,h(e,t)),t=t.parentNode;else g(t)&&n.call(t,h(e,t))}},m=function m(e,t){return new L(e,t)},v=function v(e){return e&&\"string\"==typeof e?e.replace(/^\\s*>/g,\":scope >\").replace(/,\\s*>/g,\", :scope >\"):e},b=function b(e){return\"function\"==typeof e&&\"number\"!=typeof e.nodeType},E=m;m.fn=m.prototype={constructor:m,length:0,contains:function(e){if(!e)return!1;if(Array.isArray(e)){for(var t=0;t<e.length;t++)if(this.contains(e[t])&&this!=e[t])return!0;return!1}for(var n=0;n<this.length;n++)for(var r=e;r;){if(r==this[n]||r[0]&&r[0].isEqualNode(this[n]))return!0;r=r.parentNode}return!1},findVisible:function(e){for(var t=this.find(e),n=t.length-1;0<=n;n--)E(t[n]).isVisible()||t.splice(n,1);return t},formatParams:function(t){var e=\"\".concat(Object.keys(t).map(function(e){return\"\".concat(e,\"=\").concat(encodeURIComponent(t[e]))}).join(\"&\"));return e||\"\"},ajax:function(t){var n=new XMLHttpRequest,e=this.formatParams(t.data);for(var r in\"GET\"===t.method.toUpperCase()&&(t.url=e?t.url+\"?\"+e:t.url),n.open(t.method,t.url,!0),t.withCredentials&&(n.withCredentials=!0),t.crossDomain&&n.setRequestHeader(\"Access-Control-Allow-Origin\",\"*\"),t.headers)Object.prototype.hasOwnProperty.call(t.headers,r)&&n.setRequestHeader(r,t.headers[r]);Object.prototype.hasOwnProperty.call(t.headers,\"Content-Type\")||(\"json\"===t.dataType?n.setRequestHeader(\"Content-Type\",\"application/json\"):n.setRequestHeader(\"Content-Type\",\"application/x-www-form-urlencoded; charset=UTF-8\")),n.onload=function(){if(200==n.status){var e=n.responseText;\"json\"===t.dataType&&(e=JSON.parse(e)),t.done(e,n.status,n)}else t.fail(n)},n.send(e)},prevAll:function(){var e=E();if(!this[0])return e;for(var t=this[0];t&&t.previousSibling;)t=t.previousSibling,e.push(t);return e},index:function(e){return e?\"string\"==typeof e?[].indexOf.call(E(e),this[0]):[].indexOf.call(this,e.length?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},isVisible:function(){return!!this[0]&&!!(this[0].offsetWidth||this[0].offsetHeight||this[0].getClientRects().length)},toArray:function(){return[].slice.call(this)},get:function(e){return null==e?[].slice.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=m.merge(this.constructor(),e);return t.prevObject=this,t},wrapAll:function(e){var t;return this[0]&&(b(e)&&(e=e.call(this[0])),t=m(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){for(var e=this;e.firstElementChild;)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(e){if(\"string\"==typeof e){for(var t=e.split(\" \"),n=0;n<t.length&&0===t[n].trim().length;)n++;if(n<t.length&&(E(e).length&&t[n].trim()===E(e)[0].tagName&&(e=document.createElement(t[n].trim())),n++),\"string\"!=typeof e)for(var r=E(e);n<t.length;n++){t[n]=t[n].trim();var o=t[n].split(\"=\");r.attr(o[0],o[1].replace('\"',\"\"))}}for(;this[0].firstChild&&this[0].firstChild!==e&&\"string\"!=typeof e;)e.appendChild(this[0].firstChild)},wrapContent:function(e){for(var t=document.createElement(e.tagName),n=0;n<e.attributes.length;n++)E(t).attr(e.attributes[n].nodeName,e.attributes[n].value);E(this[0]).contents().wrapAll(t)},wrap:function(t){var n=b(t);return this.each(function(e){E(this).wrapAll(n?t.call(this,e):t)})},unwrap:function(){return this.parent().each(function(){this.nodeName&&this.nodeName.toLowerCase()===name.toLowerCase()||m(this).replaceWith(this.childNodes)})},grep:function(e,t,n){for(var r=[],o=0,i=e.length,a=!n;o<i;o++)!t(e[o],o)!==a&&r.push(e[o]);return r},map:function(n){return this.pushStack(m.map(this,function(e,t){return n.call(e,t,e)}))},slice:function(){return this.pushStack([].slice.apply(this,arguments))},each:function(e){if(this.length)for(var t=0;t<this.length&&!1!==e.call(this[t],t,this[t]);t++);return this},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},empty:function(){for(var e=0;e<this.length;e++)this[e].innerHTML=\"\"},contents:function(){for(var e=E(),t=0;t<this.length;t++)for(var n=this[t].childNodes,r=0;r<n.length;r++)e.push(n[r]);return e},attr:function(e,t){if(\"object\"===w(e)){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&null!==e[n]&&this.attr(n,e[n]);return this}if(void 0===t)return 0===this.length||!this[0].getAttribute&&\"checked\"!==e?undefined:\"checked\"===e?this[0].checked:\"tagName\"===e?this[0].tagName:this[0].getAttribute(e);if(\"checked\"===e)for(var r=0;r<this.length;r++)this[r].checked=t;else if(\"tagName\"===e)for(var o=0;o<this.length;o++)this[o].tagName=t;else for(var i=0;i<this.length;i++)this[i].setAttribute(e,t);return this},removeAttr:function(e){for(var t=0;t<this.length;t++)this[t].removeAttribute&&this[t].removeAttribute(e);return this},hide:function(){return this.css(\"display\",\"none\"),this},show:function(){return this.css(\"display\",\"block\"),this},focus:function(){return this.length&&this[0].focus(),this},blur:function(){return this.length&&this[0].blur(),this},data:function(e,t){if(void 0!==t){for(var n=0;n<this.length;n++)\"object\"!==w(this[n][\"data-\"+e]=t)&&\"function\"!=typeof t&&this[n].setAttribute&&this[n].setAttribute(\"data-\"+e,t);return this}if(void 0!==t)return this.attr(\"data-\"+e,t);if(0===this.length)return undefined;for(var r=0;r<this.length;r++){var o=this[r][\"data-\"+e];if(null==o&&this[r].getAttribute&&(o=this[r].getAttribute(\"data-\"+e)),void 0!==o&&null!=o)return o}return undefined},removeData:function(e){for(var t=0;t<this.length;t++)this[t].removeAttribute&&this[t].removeAttribute(\"data-\"+e),this[t][\"data-\"+e]=null;return this},getCorrectStyleName:function(e){if(!u[e]){var t;e in i&&(t=e);for(var n=e[0].toUpperCase()+e.slice(1),r=a.length;r--;)(e=a[r]+n)in i&&(t=e);u[e]=t}return u[e]},css:function(e,t){if(void 0!==t){if(0===this.length)return this;(\"string\"!=typeof t||\"\"===t.trim()||isNaN(t))&&\"number\"!=typeof t||!/(margin)|(padding)|(height)|(width)|(top)|(left)|(right)|(bottom)/gi.test(e)||/(line-height)/gi.test(e)||(t+=\"px\");for(var n=0;n<this.length;n++)e=E(this).getCorrectStyleName(e),this[n].style[e]=t;return this}if(\"string\"==typeof e){if(0===this.length)return undefined;var r=this[0].ownerDocument||document,o=r.defaultView||r.parentWindow;return e=E(this).getCorrectStyleName(e),o.getComputedStyle(this[0])[e]}for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&this.css(i,e[i]);return this},toggleClass:function(e,t){if(1<e.split(\" \").length){for(var n=e.split(\" \"),r=0;r<n.length;r++)this.toggleClass(n[r],t);return this}for(var o=0;o<this.length;o++)void 0===t?this[o].classList.contains(e)?this[o].classList.remove(e):this[o].classList.add(e):t?this[o].classList.contains(e)||this[o].classList.add(e):this[o].classList.contains(e)&&this[o].classList.remove(e);return this},addClass:function(e){if(0===e.length)return this;if(1<e.split(\" \").length){for(var t=e.split(\" \"),n=0;n<t.length;n++)this.addClass(t[n]);return this}for(var r=0;r<this.length;r++)this[r].classList.add(e);return this},removeClass:function(e){if(1<e.split(\" \").length){for(var t=e.split(\" \"),n=0;n<t.length;n++)t[n]=t[n].trim(),t[n].length&&this.removeClass(t[n]);return this}for(var r=0;r<this.length;r++)e.length&&this[r].classList.remove(e);return this},getClass:function(e){return e.getAttribute&&e.getAttribute(\"class\")||\"\"},stripAndCollapse:function(e){return(e.match(/[^\\x20\\t\\r\\n\\f]+/g)||[]).join(\" \")},hasClass:function(e){var t,n,r=0;for(t=\" \"+e+\" \";n=this[r++];)if(1===n.nodeType&&-1<(\" \"+E(this).stripAndCollapse(E(this).getClass(n))+\" \").indexOf(t))return!0;return!1},scrollTop:function(e){if(void 0===e)return 0===this.length?undefined:this[0]===document?document.documentElement.scrollTop:this[0].scrollTop;for(var t=0;t<this.length;t++)this[t]===document?window.scrollTo(document.documentElement.scrollLeft,e):this[t].scrollTop=e},scrollLeft:function(e){if(void 0===e)return 0===this.length?undefined:this[0]===document?document.documentElement.scrollLeft:this[0].scrollLeft;for(var t=0;t<this.length;t++)this[t]===document?window.scrollTo(e,document.documentElement.scrollTop):this[t].scrollLeft=e},on:function(e,t,n){if(1<e.split(\" \").length){for(var r=e.split(\" \"),o=0;o<r.length;o++)if(-1!==p.indexOf(e))for(var i=0;i<f.length;i++)this.on(f[i]+e[0].toUpperCase()+e.slice(1),t,n);else this.on(r[o],t,n);return this}n=\"function\"==typeof t?C(t,null):C(n,t);for(var a=0;a<this.length;a++){var s=E(this[a]);s.data(\"events\")||s.data(\"events\",[]),s.data(\"events\").push([e,n]);var l=e.split(\".\");l=l[0],/Android/i.test(navigator.userAgent)&&e.includes(\"touchend\")||!(0<=c.indexOf(l))?s.get(0).addEventListener(l,n):s.get(0).addEventListener(l,n,{passive:!0})}},off:function(e){if(1<e.split(\" \").length){for(var t=e.split(\" \"),n=0;n<t.length;n++)this.off(t[n]);return this}for(var r=0;r<this.length;r++){var o=E(this[r]);if(o.data(\"events\")){var i=e.split(\".\");i=i[0];for(var a=o.data(\"events\")||[],s=a.length-1;0<=s;s--){var l=a[s];l[0]==e&&(o.get(0).removeEventListener(i,l[1]),a.splice(s,1))}}}},trigger:function(e){for(var t=0;t<this.length;t++){var n=void 0;\"function\"==typeof Event?n=0<=e.search(/^mouse/g)?new MouseEvent(e,{view:window,cancelable:!0,bubbles:!0}):new Event(e):0<=e.search(/^mouse/g)?(n=document.createEvent(\"MouseEvents\")).initMouseEvent(e,!0,!0,window,0,0,0,0,0,!1,!1,!1,!1,0,null):(n=document.createEvent(\"Event\")).initEvent(e,!0,!0),0<=r.indexOf(e)&&\"function\"==typeof this[t][e]?this[t][e]():this[t].dispatchEvent(n)}},triggerHandler:function(){},val:function(e){if(void 0===e)return this[0].value;for(var t=0;t<this.length;t++)this[t].value=e;return this},siblings:function(){return E(this[0]).parent().children().not(this)},find:function(e){var t=E();if(\"string\"!=typeof e){for(var n=0;n<e.length;n++)for(var r=0;r<this.length;r++)if(this[r]!==e[n]&&E(this[r]).contains(e[n])){t.push(e[n]);break}return t}var o=function o(e){return\"object\"===(\"undefined\"==typeof HTMLElement?\"undefined\":w(HTMLElement))?e instanceof HTMLElement:e&&\"object\"===w(e)&&null!==e&&1===e.nodeType&&\"string\"==typeof e.nodeName};e=v(e);for(var i=0;i<this.length;i++)if(this[i].querySelectorAll){var a=[];if(e&&\"string\"==typeof e)try{a=this[i].querySelectorAll(e)}catch(l){a=this[i].children}else o(e)&&(a=[e]);for(var s=0;s<a.length;s++)t.push(a[s])}return t},children:function(){for(var e=E(),t=0;t<this.length;t++)for(var n=this[t].children,r=0;r<n.length;r++)e.push(n[r]);return e},not:function(e){if(\"string\"==typeof e)for(var t=this.length-1;0<=t;t--)Element.prototype.matches.call(this[t],e)&&this.splice(t,1);else if(e instanceof m){for(var n=this.length-1;0<=n;n--)for(var r=0;r<e.length;r++)if(this[n]===e[r]){this.splice(n,1);break}}else for(var o=this.length-1;0<=o;o--)this[o]===e[0]&&this.splice(o,1);return this},add:function(e){for(var t=0;t<e.length;t++)this.push(e[t]);return this},closest:function(e){for(var t=0;t<this.length;t++){var n=Element.prototype.closest.call(this[t],e);if(n)return E(n)}return E()},html:function(e){if(void 0===e)return 0===this.length?undefined:this[0].innerHTML;if(\"string\"==typeof e)for(var t=0;t<this.length;t++){this[t].innerHTML=e;for(var n=this[t].children,r=this[t].ownerDocument||document,o=0;o<n.length;o++)if(\"SCRIPT\"===n[o].tagName){var i=r.createElement(\"script\");i.innerHTML=n[o].innerHTML,n[o].hasAttribute(\"async\")&&i.setAttribute(\"async\",\"\"),i.src=n[o].src,n[o].hasAttribute(\"defer\")&&i.setAttribute(\"defer\",\"\"),r.head.appendChild(i).parentNode.removeChild(i)}}else{this[0].innerHTML=\"\",this.append(e[0]);var a=this[0].ownerDocument||document;if(\"SCRIPT\"===e[0].tagName){var s=a.createElement(\"script\");s.innerHTML=e[0].innerHTML,a.head.appendChild(s).parentNode.removeChild(s)}}return this},text:function(e){if(!e)return this.length?this[0].textContent:\"\";for(var t=0;t<this.length;t++)this[t].textContent=e},after:function e(t){if(t)if(\"string\"==typeof t)for(var n=0;n<this.length;n++){var e=this[n];if(e.nodeType!=Node.ELEMENT_NODE){var r=e.ownerDocument.createElement(\"SPAN\");E(e).after(r),E(r).after(t).remove()}else e.insertAdjacentHTML(\"afterend\",t)}else{var o=this[0];if(o.nextSibling)if(t instanceof m)for(var i=0;i<t.length;i++)o.nextSibling.parentNode.insertBefore(t[i],o.nextSibling);else o.nextSibling.parentNode.insertBefore(t,o.nextSibling);else E(o.parentNode).append(t)}return this},clone:function(e){for(var t=E(),n=0;n<this.length;n++)t.push(this[n].cloneNode(e));return t},replaceWith:function(e){if(\"string\"==typeof e)for(var t=0;t<this.length;t++)this[t].parentNode&&(this[t].outerHTML=e);else if(e&&e.length)for(var n=0;n<this.length;n++)this.replaceWith(e[n]);else this.after(e).remove()},insertBefore:function(e){return E(e).before(this[0]),this},before:function e(t){if(t instanceof m){for(var n=0;n<t.length;n++)this.before(t[n]);return this}if(t)if(\"string\"==typeof t)for(var r=0;r<this.length;r++){var e=this[r];if(e.nodeType!=Node.ELEMENT_NODE){var o=e.ownerDocument.createElement(\"SPAN\");E(e).before(o),E(o).before(t).remove()}else e.parentNode&&e.insertAdjacentHTML(\"beforebegin\",t)}else{var i=this[0];if(i.parentNode)if(t instanceof m)for(var a=0;a<t.length;a++)i.parentNode.insertBefore(t[a],i);else i.parentNode.insertBefore(t,i)}return this},append:function(e){if(0==this.length)return this;if(\"string\"==typeof e)for(var t=0;t<this.length;t++){var n=this[t],r=n.ownerDocument.createElement(\"SPAN\");E(n).append(r),E(r).after(e).remove()}else if(e instanceof m||Array.isArray(e))for(var o=0;o<e.length;o++)this.append(e[o]);else\"function\"!=typeof e&&this[0].appendChild(e);return this},prepend:function(e){if(0==this.length)return this;if(\"string\"==typeof e)for(var t=0;t<this.length;t++){var n=this[t],r=n.ownerDocument.createElement(\"SPAN\");E(n).prepend(r),E(r).before(e).remove()}else if(e instanceof m)for(var o=0;o<e.length;o++)this.prepend(e[o]);else{var i=this[0];i.firstChild?i.firstChild?i.insertBefore(e,i.firstChild):i.appendChild(e):E(i).append(e)}return this},remove:function(){for(var e=0;e<this.length;e++)this[e].parentNode&&this[e].parentNode.removeChild(this[e]);return this},prev:function(){return this.length&&this[0].previousElementSibling?E(this[0].previousElementSibling):E()},next:function(){return this.length&&this[0].nextElementSibling?E(this[0].nextElementSibling):E()},nextAllVisible:function(){return this.next()},prevAllVisible:function(){return this.prev()},outerHeight:function(e){if(0===this.length)return undefined;var t=this[0];if(t===t.window)return t.innerHeight;var n={},r=this.isVisible();if(!r)for(var o in s)n[o]=t.style[o],t.style[o]=s[o];var i=t.offsetHeight;if(e&&(i+=parseInt(E(t).css(\"marginTop\"))+parseInt(E(t).css(\"marginBottom\"))),!r)for(var a in s)t.style[a]=n[a];return i},outerWidth:function(e){if(0===this.length)return undefined;var t=this[0];if(t===t.window)return t.outerWidth;var n={},r=this.isVisible();if(!r)for(var o in s)n[o]=t.style[o],t.style[o]=s[o];var i=t.offsetWidth;if(e&&(i+=parseInt(E(t).css(\"marginLeft\"))+parseInt(E(t).css(\"marginRight\"))),!r)for(var a in s)t.style[a]=n[a];return i},width:function(e){if(e===undefined){if(this[0]instanceof HTMLDocument)return this[0].body.offsetWidth;if(this[0])return this[0].offsetWidth}else this[0].style.width=e+\"px\"},height:function(e){var t=this[0];if(e===undefined){if(t instanceof HTMLDocument){var n=t.documentElement;return Math.max(t.body.scrollHeight,n.scrollHeight,t.body.offsetHeight,n.offsetHeight,n.clientHeight)}return t.offsetHeight}t.style.height=e+\"px\"},is:function(e){return 0!==this.length&&(\"string\"==typeof e&&this[0].matches?this[0].matches(e):e instanceof m?this[0]==e[0]:this[0]==e)},parent:function(){return 0===this.length?E():E(this[0].parentNode)},_matches:function(e,t){var n=e.matches||e.matchesSelector||e.msMatchesSelector||e.mozMatchesSelector||e.webkitMatchesSelector||e.oMatchesSelector;return e&&!t?n:n.call(e,t)},parents:function(e){for(var t=E(),n=0;n<this.length;n++)for(var r=this[n].parentNode;r&&r!=document&&this._matches(r);)e?this._matches(r,e)&&t.push(r):t.push(r),r=r.parentNode;return t},parentsUntil:function(e,t){var n=E();e instanceof m&&0<e.length&&(e=e[0]);for(var r=0;r<this.length;r++)for(var o=this[r].parentNode;o&&o!=document&&o!=e&&this[r]!=e&&(\"string\"!=typeof e||!Element.prototype.matches.call(o,e));)t?Element.prototype.matches.call(o,t)&&n.push(o):n.push(o),o=o.parentNode;return n},insertAfter:function(e){var t=e.parent()[0];t&&t.insertBefore(this[0],e[0].nextElementSibling)},filter:function(e){var t=E();if(\"function\"==typeof e)for(var n=0;n<this.length;n++)e.call(this[n],this[n])&&t.push(this[n]);else if(\"string\"==typeof e)for(var r=0;r<this.length;r++)this[r].matches(e)&&t.push(this[r]);return t},offset:function(){if(0===this.length)return undefined;var e=this[0].getBoundingClientRect(),t=this[0].ownerDocument.defaultView;return{top:e.top+t.pageYOffset,left:e.left+t.pageXOffset}},position:function(){return{left:this[0].offsetLeft,top:this[0].offsetTop}},push:[].push,splice:[].splice},m.extend=function(e){e=e||{};for(var t=1;t<arguments.length;t++)if(arguments[t])for(var n in arguments[t])Object.prototype.hasOwnProperty.call(arguments[t],n)&&(e[n]=arguments[t][n]);return e},m.merge=function(e,t){for(var n=+t.length,r=0,o=e.length;r<n;r++)e[o++]=t[r];return e.length=o,e},m.map=function(e,t,n){var r,o,i=0,a=[];if(Array.isArray(e))for(r=e.length;i<r;i++)null!=(o=t(e[i],i,n))&&a.push(o);else for(i in e)null!=(o=t(e[i],i,n))&&a.push(o);return[].concat.apply([],a)};var L=function L(e,t){if(!e)return this;if(\"string\"==typeof e&&\"<\"===e[0]){var n=document.createElement(\"DIV\");return n.innerHTML=e,E(n.firstElementChild)}if(t=t instanceof m?t[0]:t,\"string\"!=typeof e)return e instanceof m?e:(this[0]=e,this.length=1,this);e=v(e);for(var r=(t||document).querySelectorAll(e),o=0;o<r.length;o++)this[o]=r[o];return this.length=r.length,this};L.prototype=m.prototype;var y=Y;function O(){var t=this;this.doc=this.$el.get(0).ownerDocument,this.win=\"defaultView\"in this.doc?this.doc.defaultView:this.doc.parentWindow,this.$doc=m(this.doc),this.$win=m(this.win),this.opts.pluginsEnabled||(this.opts.pluginsEnabled=Object.keys(y.PLUGINS)),this.opts.pluginsDisabled&&(this.opts.pluginsDisabled=Array.isArray(this.opts.pluginsDisabled)?this.opts.pluginsDisabled:[this.opts.pluginsDisabled],this.opts.pluginsEnabled=this.opts.pluginsEnabled.filter(function(e){return!t.opts.pluginsDisabled.includes(e)})),this.opts.initOnClick?(this.load(y.MODULES),this.$el.on(\"touchstart.init\",function(){m(this).data(\"touched\",!0)}),this.$el.on(\"touchmove.init\",function(){m(this).removeData(\"touched\")}),this.$el.on(\"mousedown.init touchend.init dragenter.init focus.init\",function r(e){if(\"false\"!==this.$el.attr(\"contentEditable\")||!this.opts.initOnClick){if(\"touchend\"===e.type&&!this.$el.data(\"touched\"))return!0;if(1===e.which||!e.which){this.$el.off(\"mousedown.init touchstart.init touchmove.init touchend.init dragenter.init focus.init\"),this.load(y.MODULES),this.load(y.PLUGINS);var t=e.originalEvent&&e.originalEvent.originalTarget;if(t&&\"IMG\"===t.tagName&&m(t).trigger(\"mousedown\"),\"undefined\"==typeof this.ul&&this.destroy(),\"touchend\"===e.type&&this.image&&e.originalEvent&&e.originalEvent.target&&m(e.originalEvent.target).is(\"img\")){var n=this;setTimeout(function(){n.image.edit(m(e.originalEvent.target))},100)}this.ready=!0,this.events.trigger(\"initialized\")}}}.bind(this)),this.events.trigger(\"initializationDelayed\")):(this.load(y.MODULES),this.load(y.PLUGINS),m(this.o_win).scrollTop(this.c_scroll),\"undefined\"==typeof this.ul&&this.destroy(),this.ready=!0,this.events.trigger(\"initialized\"))}return y.Bootstrap=function(e,t,n){this.id=++y.ID,this.$=m;var r={};\"function\"==typeof t&&(n=t,t={}),n&&(t.events||(t.events={}),t.events.initialized=n),t&&t.documentReady&&(r.toolbarButtons=[[\"fullscreen\",\"undo\",\"redo\",\"getPDF\",\"print\"],[\"bold\",\"italic\",\"underline\",\"textColor\",\"backgroundColor\",\"clearFormatting\"],[\"alignLeft\",\"alignCenter\",\"alignRight\",\"alignJustify\"],[\"formatOL\",\"formatUL\",\"indent\",\"outdent\"],[\"paragraphFormat\"],[\"fontFamily\"],[\"fontSize\"],[\"insertLink\",\"insertImage\",\"quote\"]],r.paragraphFormatSelection=!0,r.fontFamilySelection=!0,r.fontSizeSelection=!0,r.placeholderText=\"\",r.quickInsertEnabled=!1,r.charCounterCount=!1),this.opts=Object.assign({},Object.assign({},y.DEFAULTS,r,\"object\"===w(t)&&t));var o=JSON.stringify(this.opts);y.OPTS_MAPPING[o]=y.OPTS_MAPPING[o]||this.id,this.sid=y.OPTS_MAPPING[o],y.SHARED[this.sid]=y.SHARED[this.sid]||{},this.shared=y.SHARED[this.sid],this.shared.count=(this.shared.count||0)+1,this.$oel=m(e),this.$oel.data(\"froala.editor\",this),this.o_doc=e.ownerDocument,this.o_win=\"defaultView\"in this.o_doc?this.o_doc.defaultView:this.o_doc.parentWindow,this.c_scroll=m(this.o_win).scrollTop(),this._init()},y.Bootstrap.prototype._init=function(){var e=this.$oel.get(0).tagName;this.$oel.closest(\"label\").length;var t=function(){\"TEXTAREA\"!==e&&(this._original_html=this._original_html||this.$oel.html()),this.$box=this.$box||this.$oel,this.opts.fullPage&&(this.opts.iframe=!0),this.opts.iframe?(this.$iframe=m('<iframe src=\"about:blank\" frameBorder=\"0\">'),this.$wp=m(\"<div></div>\"),this.$box.html(this.$wp),this.$wp.append(this.$iframe),this.$iframe.get(0).contentWindow.document.open(),this.$iframe.get(0).contentWindow.document.write(\"<!DOCTYPE html>\"),this.$iframe.get(0).contentWindow.document.write(\"<html><head></head><body></body></html>\"),this.$iframe.get(0).contentWindow.document.close(),this.iframe_document=this.$iframe.get(0).contentWindow.document,this.$el=m(this.iframe_document.querySelector(\"body\")),this.el=this.$el.get(0),this.$head=m(this.iframe_document.querySelector(\"head\")),this.$html=m(this.iframe_document.querySelector(\"html\"))):(this.$el=m(this.o_doc.createElement(\"DIV\")),this.el=this.$el.get(0),this.$wp=m(this.o_doc.createElement(\"DIV\")).append(this.$el),this.$box.html(this.$wp)),setTimeout(O.bind(this),0)}.bind(this),n=function(){this.$box=m(\"<div>\"),this.$oel.before(this.$box).hide(),this._original_html=this.$oel.val();var e=this;this.$oel.parents(\"form\").on(\"submit.\".concat(this.id),function(){e.events.trigger(\"form.submit\")}),this.$oel.parents(\"form\").on(\"reset.\".concat(this.id),function(){e.events.trigger(\"form.reset\")}),t()}.bind(this),r=function(){this.$el=this.$oel,this.el=this.$el.get(0),this.$el.attr(\"contenteditable\",!0).css(\"outline\",\"none\").css(\"display\",\"inline-block\"),this.opts.multiLine=!1,this.opts.toolbarInline=!1,setTimeout(O.bind(this),0)}.bind(this),o=function(){this.$el=this.$oel,this.el=this.$el.get(0),this.opts.toolbarInline=!1,setTimeout(O.bind(this),0)}.bind(this),i=function(){this.$el=this.$oel,this.el=this.$el.get(0),this.opts.toolbarInline=!1,this.$oel.on(\"click.popup\",function(e){e.preventDefault()}),setTimeout(O.bind(this),0)}.bind(this);this.opts.editInPopup?i():\"TEXTAREA\"===e?n():\"A\"===e?r():\"IMG\"===e?o():\"BUTTON\"===e||\"INPUT\"===e?(this.opts.editInPopup=!0,this.opts.toolbarInline=!1,i()):t()},y.Bootstrap.prototype.load=function(e){for(var t in e)if(Object.prototype.hasOwnProperty.call(e,t)){if(this[t])continue;if(y.PLUGINS[t]&&this.opts.pluginsEnabled.indexOf(t)<0)continue;if(this[t]=new e[t](this),this[t]._init&&(this[t]._init(),this.opts.initOnClick&&\"core\"===t))return!1}},y.Bootstrap.prototype.destroy=function(){this.destrying=!0,this.shared.count--,this.events&&this.events.$off();var e=this.html&&this.html.get();if(this.events&&(this.opts.iframe&&(this.events.disableBlur(),this.win.focus(),this.events.enableBlur()),this.events.trigger(\"destroy\",[],!0),this.events.trigger(\"shared.destroy\",[],!0)),0===this.shared.count){for(var t in this.shared)Object.prototype.hasOwnProperty.call(this.shared,t)&&(this.shared[t]=null,y.SHARED[this.sid][t]=null);delete y.SHARED[this.sid]}this.$oel.parents(\"form\").off(\".\".concat(this.id)),this.$oel.off(\"click.popup\"),this.$oel.removeData(\"froala.editor\"),this.$oel.off(\"froalaEditor\"),this.core&&this.core.destroy(e),y.INSTANCES.splice(y.INSTANCES.indexOf(this),1)},Y});","/*!\n * froala_editor v4.6.2 (https://www.froala.com/wysiwyg-editor)\n * License https://froala.com/wysiwyg-editor/terms/\n * Copyright 2014-2025 Froala Labs\n */\n\n!function(o,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?t(require(\"froala-editor\")):\"function\"==typeof define&&define.amd?define([\"froala-editor\"],t):t(o.FroalaEditor)}(this,function(v){\"use strict\";v=v&&v.hasOwnProperty(\"default\")?v[\"default\"]:v,Object.assign(v.POPUP_TEMPLATES,{\"textColor.picker\":\"[_BUTTONS_][_TEXT_COLORS_][_CUSTOM_COLOR_]\",\"backgroundColor.picker\":\"[_BUTTONS_][_BACKGROUND_COLORS_][_CUSTOM_COLOR_]\"}),Object.assign(v.DEFAULTS,{colorsText:[\"#61BD6D\",\"#1ABC9C\",\"#54ACD2\",\"#2C82C9\",\"#9365B8\",\"#475577\",\"#CCCCCC\",\"#41A85F\",\"#00A885\",\"#3D8EB9\",\"#2969B0\",\"#553982\",\"#28324E\",\"#000000\",\"#F7DA64\",\"#FBA026\",\"#EB6B56\",\"#E25041\",\"#A38F84\",\"#EFEFEF\",\"#FFFFFF\",\"#FAC51C\",\"#F37934\",\"#D14841\",\"#B8312F\",\"#7C706B\",\"#D1D5D8\",\"REMOVE\"],colorsBackground:[\"#61BD6D\",\"#1ABC9C\",\"#54ACD2\",\"#2C82C9\",\"#9365B8\",\"#475577\",\"#CCCCCC\",\"#41A85F\",\"#00A885\",\"#3D8EB9\",\"#2969B0\",\"#553982\",\"#28324E\",\"#000000\",\"#F7DA64\",\"#FBA026\",\"#EB6B56\",\"#E25041\",\"#A38F84\",\"#EFEFEF\",\"#FFFFFF\",\"#FAC51C\",\"#F37934\",\"#D14841\",\"#B8312F\",\"#7C706B\",\"#D1D5D8\",\"REMOVE\"],colorsStep:7,colorsHEXInput:!0,colorsButtons:[\"colorsBack\",\"|\",\"-\"]}),v.PLUGINS.colors=function(m){var O=m.$,s='<div class=\"fr-color-hex-layer fr-active fr-layer\" id=\"fr-color-hex-layer- \\n  '.concat(m.id,'\"><div class=\"fr-input-line\"><input maxlength=\"9\" id=\"[ID]\"\\n  type=\"text\" placeholder=\"').concat(m.language.translate(\"HEX Color\"),'\" \\n  tabIndex=\"1\" aria-required=\"true\"></div><div class=\"fr-action-buttons\"><button \\n  type=\"button\" class=\"fr-command fr-submit\" data-cmd=\"[COMMAND]\" tabIndex=\"2\" role=\"button\">\\n  ').concat(m.language.translate(\"OK\"),\"</button></div></div>\");function l(o){for(var t=\"text\"===o?m.opts.colorsText:m.opts.colorsBackground,r='<div class=\"fr-color-set fr-'.concat(o,'-color fr-selected-set\">'),e=0;e<t.length;e++)0!==e&&e%m.opts.colorsStep==0&&(r+=\"<br>\"),\"REMOVE\"!==t[e]?r+='<span class=\"fr-command fr-select-color\" style=\"background:'.concat(t[e].toUpperCase(),';\" \\n        tabIndex=\"-1\" aria-selected=\"false\" role=\"button\" data-cmd=\"apply').concat(o,'Color\" \\n        data-param1=\"').concat(t[e].toUpperCase(),'\"><span class=\"fr-sr-only\"> ').concat(m.language.translate(\"Color\")).concat(t[e],\" \\n        &nbsp;&nbsp;&nbsp;</span></span>\"):r+='<span class=\"fr-command fr-select-color\" data-cmd=\"apply'.concat(o,'Color\"\\n         tabIndex=\"-1\" role=\"button\" data-param1=\"REMOVE\" \\n         title=\"').concat(m.language.translate(\"Clear Formatting\"),'\">').concat(m.icon.create(\"remove\"),' \\n        <span class=\"fr-sr-only\"> ').concat(m.language.translate(\"Clear Formatting\"),\" </span></span>\");return\"\".concat(r,\"</div>\")}function i(o){var t,r=m.popups.get(\"\".concat(o,\"Color.picker\")),e=O(m.selection.element());t=\"background\"===o?\"background-color\":\"color\";var a=r.find(\".fr-\".concat(o,\"-color .fr-select-color\"));for(a.find(\".fr-selected-color\").remove(),a.removeClass(\"fr-active-item\"),a.not('[data-param1=\"REMOVE\"]').attr(\"aria-selected\",!1);e.get(0)!==m.el;){if(\"transparent\"!==e.css(t)&&\"rgba(0, 0, 0, 0)\"!==e.css(t)){var c=r.find(\".fr-\".concat(o,'-color .fr-select-color[data-param1=\"').concat(m.helpers.RGBToHex(e.css(t)),'\"]'));c.append('<span class=\"fr-selected-color\" aria-hidden=\"true\">\\uf00c</span>'),c.addClass(\"fr-active-item\").attr(\"aria-selected\",!0);break}e=e.parent()}!function n(o){var t=m.popups.get(\"\".concat(o,\"Color.picker\")),r=t.find(\".fr-\".concat(o,\"-color .fr-active-item\")).attr(\"data-param1\"),e=t.find(\".fr-color-hex-layer input\");r||(r=\"\");e.length&&O(e.val(r).input).trigger(\"change\")}(o)}function e(o){\"REMOVE\"!==o?m.format.applyStyle(\"background-color\",m.helpers.HEXtoRGB(o)):m.format.removeStyle(\"background-color\"),m.popups.hide(\"backgroundColor.picker\")}function a(o){\"REMOVE\"!==o?m.format.applyStyle(\"color\",m.helpers.HEXtoRGB(o)):m.format.removeStyle(\"color\"),m.popups.hide(\"textColor.picker\")}return{showColorsPopup:function p(o){var t=m.$tb.find('.fr-command[data-cmd=\"'.concat(o,'\"]')),r=m.popups.get(\"\".concat(o,\".picker\"));if(r||(r=function n(o){var t=\"\";m.opts.toolbarInline&&0<m.opts.colorsButtons.length&&(t+='<div class=\"fr-buttons fr-colors-buttons fr-tabs\">\\n        '.concat(m.button.buildList(m.opts.colorsButtons),\"\\n        </div>\"));var r,e=\"\";r=\"textColor\"===o?(m.opts.colorsHEXInput&&(e=s.replace(/\\[ID\\]/g,\"fr-color-hex-layer-text-\".concat(m.id)).replace(/\\[COMMAND\\]/g,\"customTextColor\")),{buttons:t,text_colors:l(\"text\"),custom_color:e}):(m.opts.colorsHEXInput&&(e=s.replace(/\\[ID\\]/g,\"fr-color-hex-layer-background-\".concat(m.id)).replace(/\\[COMMAND\\]/g,\"customBackgroundColor\")),{buttons:t,background_colors:l(\"background\"),custom_color:e});var a=m.popups.create(\"\".concat(o,\".picker\"),r);return function c(h,k){m.events.on(\"popup.tab\",function(o){var t=O(o.currentTarget);if(!m.popups.isVisible(k)||!t.is(\"span, input, button\"))return!0;var r,e,a=o.which,c=!0;if(v.KEYCODE.TAB===a){var n=h.find(\"span.fr-select-color\");if(t.is(n.first())&&o.shiftKey||t.is(h.find(\"span.fr-submit\"))&&!o.shiftKey){var s=h.find(\".fr-buttons\");c=!m.accessibility.focusToolbar(s,!!o.shiftKey)}if(!1!==c){var l=h.find(\"span.fr-select-color\");l.add(h.find(\"input\")),l.add(h.find(\"button.fr-submit\")),r=l.index(t),r=o.shiftKey?((r-1)%l.length+l.length)%l.length:(r+1)%l.length,e=l.get(r),m.events.disableBlur(),e.focus(),c=!1}}else if(v.KEYCODE.ARROW_UP===a||v.KEYCODE.ARROW_DOWN===a||v.KEYCODE.ARROW_LEFT===a||v.KEYCODE.ARROW_RIGHT===a){if(t.is(\"span.fr-select-color\")){var i=t.parent().find(\"span.fr-select-color\"),p=i.index(t),u=m.opts.colorsStep,d=Math.floor(i.length/u),f=p%u,C=Math.floor(p/u),b=C*u+f,g=d*u;v.KEYCODE.ARROW_UP===a?b=((b-u)%g+g)%g:v.KEYCODE.ARROW_DOWN===a?b=(b+u)%g:v.KEYCODE.ARROW_LEFT===a?b=((b-1)%g+g)%g:v.KEYCODE.ARROW_RIGHT===a&&(b=(b+1)%g);var E=O(i.get(b));m.events.disableBlur(),E.focus(),c=!1}}else v.KEYCODE.ENTER===a&&(m.button.exec(t),c=!1);return!1===c&&(o.preventDefault(),o.stopPropagation()),c},!0)}(a,\"\".concat(o,\".picker\")),a}(o)),!r.hasClass(\"fr-active\"))if(m.popups.setContainer(\"\".concat(o,\".picker\"),m.$tb),i(\"textColor\"===o?\"text\":\"background\"),t.isVisible()){var e=m.button.getPosition(t),a=e.left,c=e.top;m.popups.show(\"\".concat(o,\".picker\"),a,c,t.outerHeight())}else m.position.forSelection(r),m.popups.show(\"\".concat(o,\".picker\"))},background:e,customColor:function c(o){var t=m.popups.get(\"\".concat(o,\"Color.picker\")).find(\".fr-color-hex-layer input\");if(t.length){var r=t.val();\"background\"===o?e(r):a(r)}},text:a,back:function o(){m.popups.hide(\"textColor.picker\"),m.popups.hide(\"backgroundColor.picker\"),m.toolbar.showInline()}}},v.DefineIcon(\"textColor\",{NAME:\"tint\",SVG_KEY:\"textColor\"}),v.RegisterCommand(\"textColor\",{title:\"Text Color\",undo:!1,focus:!0,refreshOnCallback:!1,popup:!0,callback:function(){this.popups.isVisible(\"textColor.picker\")?(this.$el.find(\".fr-marker\").length&&(this.events.disableBlur(),this.selection.restore()),this.popups.hide(\"textColor.picker\")):this.colors.showColorsPopup(\"textColor\")}}),v.RegisterCommand(\"applytextColor\",{undo:!0,callback:function(o,t){this.colors.text(t)}}),v.RegisterCommand(\"customTextColor\",{title:\"OK\",undo:!0,callback:function(){this.colors.customColor(\"text\")}}),v.DefineIcon(\"backgroundColor\",{NAME:\"paint-brush\",SVG_KEY:\"backgroundColor\"}),v.RegisterCommand(\"backgroundColor\",{title:\"Background Color\",undo:!1,focus:!0,refreshOnCallback:!1,popup:!0,callback:function(){this.popups.isVisible(\"backgroundColor.picker\")?(this.$el.find(\".fr-marker\").length&&(this.events.disableBlur(),this.selection.restore()),this.popups.hide(\"backgroundColor.picker\")):this.colors.showColorsPopup(\"backgroundColor\")}}),v.RegisterCommand(\"applybackgroundColor\",{undo:!0,callback:function(o,t){this.colors.background(t)}}),v.RegisterCommand(\"customBackgroundColor\",{title:\"OK\",undo:!0,callback:function(){this.colors.customColor(\"background\")}}),v.DefineIcon(\"colorsBack\",{NAME:\"arrow-left\",SVG_KEY:\"back\"}),v.RegisterCommand(\"colorsBack\",{title:\"Back\",undo:!1,focus:!1,back:!0,refreshAfterCallback:!1,callback:function(){this.colors.back()}}),v.DefineIcon(\"remove\",{NAME:\"eraser\",SVG_KEY:\"remove\"})});","/*!\n * froala_editor v4.6.2 (https://www.froala.com/wysiwyg-editor)\n * License https://froala.com/wysiwyg-editor/terms/\n * Copyright 2014-2025 Froala Labs\n */\n\n!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?t(require(\"froala-editor\")):\"function\"==typeof define&&define.amd?define([\"froala-editor\"],t):t(e.FroalaEditor)}(this,function(m){\"use strict\";m=m&&m.hasOwnProperty(\"default\")?m[\"default\"]:m,Object.assign(m.DEFAULTS,{dragInline:!0}),m.PLUGINS.draggable=function(g){var d=g.$;function e(e){return!(!e.originalEvent||!e.originalEvent.target||e.originalEvent.target.nodeType!==Node.TEXT_NODE)||(e.target&&\"A\"===e.target.tagName&&1===e.target.childNodes.length&&\"IMG\"===e.target.childNodes[0].tagName&&(e.target=e.target.childNodes[0]),d(e.target).hasClass(\"fr-draggable\")?(g.undo.canDo()||g.undo.saveStep(),g.opts.dragInline?g.$el.attr(\"contenteditable\",!0):g.$el.attr(\"contenteditable\",!1),g.opts.toolbarInline&&g.toolbar.hide(),d(e.target).addClass(\"fr-dragging\"),g.browser.msie||g.browser.edge||g.selection.clear(),void e.originalEvent.dataTransfer.setData(\"text\",\"Froala\")):(e.preventDefault(),!1))}var p,v=function v(e){return!(e&&(\"HTML\"===e.tagName||\"BODY\"===e.tagName||g.node.isElement(e)))};function c(e,t,n){if(g.opts.iframe){var r=g.helpers.getPX(g.$wp.find(\".fr-iframe\").css(\"padding-top\")),a=g.helpers.getPX(g.$wp.find(\".fr-iframe\").css(\"padding-left\"));e+=g.$iframe.offset().top+r,t+=g.$iframe.offset().left+a}p.offset().top!==e&&p.css(\"top\",e),p.offset().left!==t&&p.css(\"left\",t),p.width()!==n&&p.css(\"width\",n)}function t(e){e.originalEvent.dataTransfer.dropEffect=\"move\",g.opts.dragInline?(!function n(){for(var e=null,t=0;t<m.INSTANCES.length;t++)if((e=m.INSTANCES[t].$el.find(\".fr-dragging\")).length)return e.get(0)}()||g.browser.msie||g.browser.edge)&&e.preventDefault():(e.preventDefault(),function f(e){var t=g.doc.elementFromPoint(e.originalEvent.pageX-g.win.pageXOffset,e.originalEvent.pageY-g.win.pageYOffset);if(!v(t)){for(var n=0,r=t;!v(r)&&r===t&&0<e.originalEvent.pageY-g.win.pageYOffset-n;)n++,r=g.doc.elementFromPoint(e.originalEvent.pageX-g.win.pageXOffset,e.originalEvent.pageY-g.win.pageYOffset-n);(!v(r)||p&&0===g.$el.find(r).length&&r!==p.get(0))&&(r=null);for(var a=0,o=t;!v(o)&&o===t&&e.originalEvent.pageY-g.win.pageYOffset+a<d(g.doc).height();)a++,o=g.doc.elementFromPoint(e.originalEvent.pageX-g.win.pageXOffset,e.originalEvent.pageY-g.win.pageYOffset+a);(!v(o)||p&&0===g.$el.find(o).length&&o!==p.get(0))&&(o=null),t=null===o&&r?r:o&&null===r?o:o&&r?n<a?r:o:null}if(d(t).hasClass(\"fr-drag-helper\"))return!1;if(t&&!g.node.isBlock(t)&&(t=g.node.blockParent(t)),t&&0<=[\"TD\",\"TH\",\"TR\",\"THEAD\",\"TBODY\"].indexOf(t.tagName)&&(t=d(t).parents(\"table\").get(0)),t&&0<=[\"LI\"].indexOf(t.tagName)&&(t=d(t).parents(\"UL, OL\").get(0)),t&&!d(t).hasClass(\"fr-drag-helper\")){var i;p||(m.$draggable_helper||(m.$draggable_helper=d(document.createElement(\"div\")).attr(\"class\",\"fr-drag-helper\")),p=m.$draggable_helper,g.events.on(\"shared.destroy\",function(){p.html(\"\").removeData().remove(),p=null},!0)),i=e.originalEvent.pageY<d(t).offset().top+d(t).outerHeight()/2;var l=d(t),s=0;i||0!==l.next().length?(i||(l=l.next()),\"before\"===p.data(\"fr-position\")&&l.is(p.data(\"fr-tag\"))||(0<l.prev().length&&(s=parseFloat(l.prev().css(\"margin-bottom\"))||0),s=Math.max(s,parseFloat(l.css(\"margin-top\"))||0),c(l.offset().top-s/2-g.$box.offset().top,l.offset().left-g.win.pageXOffset-g.$box.offset().left,l.width()),p.data(\"fr-position\",\"before\"))):\"after\"===p.data(\"fr-position\")&&l.is(p.data(\"fr-tag\"))||(s=parseFloat(l.css(\"margin-bottom\"))||0,c(l.offset().top+d(t).height()+s/2-g.$box.offset().top,l.offset().left-g.win.pageXOffset-g.$box.offset().left,l.width()),p.data(\"fr-position\",\"after\")),p.data(\"fr-tag\",l),p.addClass(\"fr-visible\"),g.$box.append(p)}else p&&0<g.$box.find(p).length&&p.removeClass(\"fr-visible\")}(e))}function n(e){e.originalEvent.dataTransfer.dropEffect=\"move\",g.opts.dragInline||e.preventDefault()}function r(e){g.$el.attr(\"contenteditable\",!0);var t=g.$el.find(\".fr-dragging\");p&&p.hasClass(\"fr-visible\")&&g.$box.find(p).length?a(e):t.length&&(e.preventDefault(),e.stopPropagation()),p&&g.$box.find(p).length&&p.removeClass(\"fr-visible\"),t.removeClass(\"fr-dragging\")}function a(e){var t,n;g.$el.attr(\"contenteditable\",!0);for(var r=0;r<m.INSTANCES.length;r++)if((t=m.INSTANCES[r].$el.find(\".fr-dragging\")).length){n=m.INSTANCES[r];break}if(t.length){if(e.preventDefault(),e.stopPropagation(),p&&p.hasClass(\"fr-visible\")&&g.$box.find(p).length)p.data(\"fr-tag\")[p.data(\"fr-position\")]('<span class=\"fr-marker\"></span>'),p.removeClass(\"fr-visible\");else if(!1===g.markers.insertAtPoint(e.originalEvent))return!1;if(t.removeClass(\"fr-dragging\"),!1===(t=g.events.chainTrigger(\"element.beforeDrop\",t)))return!1;var a=t;if(t.parent().is(\"A\")&&1===t.parent().get(0).childNodes.length&&(a=t.parent()),g.core.isEmpty())g.events.focus();else g.$el.find(\".fr-marker\").replaceWith(m.MARKERS),g.selection.restore();if(n===g||g.undo.canDo()||g.undo.saveStep(),g.core.isEmpty())g.$el.html(a);else{var o=g.markers.insert();(g||\"\").selection&&a.contains(o)&&a.before(o),0===a.find(o).length?d(o).replaceWith(a):0===t.find(o).length&&d(o).replaceWith(t),t.after(m.MARKERS),g.selection.restore()}return g.popups.hideAll(),g.selection.save(),g.$el.find(g.html.emptyBlockTagsQuery()).not(\"TD, TH, LI, .fr-inner\").not(g.opts.htmlAllowedEmptyTags.join(\",\")).remove(),g.html.wrap(),g.html.fillEmptyBlocks(),g.selection.restore(),g.undo.saveStep(),g.opts.iframe&&g.size.syncIframe(),n!==g&&(n.popups.hideAll(),n.$el.find(n.html.emptyBlockTagsQuery()).not(\"TD, TH, LI, .fr-inner\").remove(),n.html.wrap(),n.html.fillEmptyBlocks(),n.undo.saveStep(),n.events.trigger(\"element.dropped\"),n.opts.iframe&&n.size.syncIframe()),g.events.trigger(\"element.dropped\",[a]),!1}p&&p.removeClass(\"fr-visible\"),g.undo.canDo()||g.undo.saveStep(),setTimeout(function(){g.undo.saveStep()},0)}function o(e){if(e&&\"DIV\"===e.tagName&&g.node.hasClass(e,\"fr-drag-helper\"))e.parentNode.removeChild(e);else if(e&&e.nodeType===Node.ELEMENT_NODE)for(var t=e.querySelectorAll(\"div.fr-drag-helper\"),n=0;n<t.length;n++)t[n].parentNode.removeChild(t[n])}return{_init:function i(){g.opts.enter===m.ENTER_BR&&(g.opts.dragInline=!0),g.events.on(\"dragstart\",e,!0),g.events.on(\"dragover\",t,!0),g.events.on(\"dragenter\",n,!0),g.events.on(\"document.dragend\",r,!0),g.events.on(\"document.drop\",r,!0),g.events.on(\"drop\",a,!0),g.events.on(\"html.processGet\",o)}}}});","/*!\n * froala_editor v4.6.2 (https://www.froala.com/wysiwyg-editor)\n * License https://froala.com/wysiwyg-editor/terms/\n * Copyright 2014-2025 Froala Labs\n */\n\n!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?t(require(\"froala-editor\")):\"function\"==typeof define&&define.amd?define([\"froala-editor\"],t):t(e.FroalaEditor)}(this,function(Me){\"use strict\";function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,i=Array(t);a<t;a++)i[a]=e[a];return i}function Ke(e,t){var a=\"undefined\"!=typeof Symbol&&e[Symbol.iterator]||e[\"@@iterator\"];if(!a){if(Array.isArray(e)||(a=l(e))||t&&e&&\"number\"==typeof e.length){a&&(e=a);var i=0,r=function(){};return{s:r,n:function(){return i>=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},f:r}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}var n,o=!0,s=!1;return{s:function(){a=a.call(e)},n:function(){var e=a.next();return o=e.done,e},e:function(e){s=!0,n=e},f:function(){try{o||null==a[\"return\"]||a[\"return\"]()}finally{if(s)throw n}}}}function Ye(e){return function t(e){if(Array.isArray(e))return r(e)}(e)||function a(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||l(e)||function i(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function We(e){return(We=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function l(e,t){if(e){if(\"string\"==typeof e)return r(e,t);var a={}.toString.call(e).slice(8,-1);return\"Object\"===a&&e.constructor&&(a=e.constructor.name),\"Map\"===a||\"Set\"===a?Array.from(e):\"Arguments\"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?r(e,t):void 0}}Me=Me&&Me.hasOwnProperty(\"default\")?Me[\"default\"]:Me,Object.assign(Me.POPUP_TEMPLATES,{\"image.insert\":\"[_BUTTONS_][_UPLOAD_LAYER_][_BY_URL_LAYER_][_PROGRESS_BAR_]\",\"image.edit\":\"[_BUTTONS_]\",\"image.alt\":\"[_BUTTONS_][_ALT_LAYER_]\",\"image.size\":\"[_BUTTONS_][_SIZE_LAYER_]\"}),Object.assign(Me.DEFAULTS,{imageInsertButtons:[\"imageBack\",\"|\",\"imageUpload\",\"imageByURL\"],imageEditButtons:[\"imageReplace\",\"imageAlign\",\"imageCaption\",\"imageRemove\",\"imageLink\",\"linkOpen\",\"linkEdit\",\"linkRemove\",\"-\",\"imageDisplay\",\"imageStyle\",\"imageAlt\",\"imageSize\"],imageAltButtons:[\"imageBack\",\"|\"],imageSizeButtons:[\"imageBack\",\"|\"],imageUpload:!0,imageUploadURL:null,imageCORSProxy:\"https://cors-anywhere.froala.com\",imageUploadRemoteUrls:!0,imageUploadParam:\"file\",imageUploadParams:{},imageUploadToS3:!1,imageUploadToAzure:!1,imageUploadMethod:\"POST\",imageMaxSize:10485760,imageAllowedTypes:[\"jpeg\",\"jpg\",\"png\",\"gif\",\"webp\"],imageResize:!0,imageResizeWithPercent:!1,imageRoundPercent:!1,imageDefaultWidth:300,imageDefaultAlign:\"center\",imageDefaultDisplay:\"block\",imageSplitHTML:!1,imageStyles:{\"fr-rounded\":\"Rounded\",\"fr-bordered\":\"Bordered\",\"fr-shadow\":\"Shadow\"},imageMove:!0,imageMultipleStyles:!0,imageTextNear:!0,imagePaste:!0,imagePasteProcess:!1,imageMinWidth:16,imageOutputSize:!1,imageDefaultMargin:5,imageAddNewLine:!1}),Me.IMAGE_ALLOW_REGEX=/\\.(gif|jpe?g|tiff?|png|webp|bmp)$/i,Me.PLUGINS.image=function(R){var U,p,f,g,c,a,A=R.$,C=\"https://i.froala.com/upload\",t=!1,i=1,d=2,u=3,m=4,S=5,E=6,r={};function h(){var e=R.popups.get(\"image.insert\").find(\".fr-image-by-url-layer input\");e.val(\"\"),U&&e.val(U.attr(\"src\")),e.trigger(\"change\")}function o(e){return window.pageYOffset+e.get(0).getBoundingClientRect().top}function n(){var e=R.popups.get(\"image.edit\");if(e||(e=N()),e){var t=U;R.popups.setContainer(\"image.edit\",R.$wp||R.$sc),R.popups.refresh(\"image.edit\");var a=t.offset().left+t.outerWidth()/2,i=t&&o(t),r=R.$wp&&o(R.$wp);r||(r=i);var n=0;R.opts.iframe?((n=R.$wp.scrollTop()+e.outerHeight())<t.get(0).getBoundingClientRect().top&&(n=t.get(0).getBoundingClientRect().top),n>t.get(0).getBoundingClientRect().top+t.height()&&(n=t.get(0).getBoundingClientRect().top+t.height())):n=r<i?i:R.$wp&&i+t.height()<r+R.$wp.height()?i+t.height():r+e.outerHeight(),U.hasClass(\"fr-uploading\")?P():R.popups.show(\"image.edit\",a,n,1,!0)}}function v(){k()}function s(e){0<e.parents(\".fr-img-caption\").length&&(e=e.parents(\".fr-img-caption\").first());var t=e.hasClass(\"fr-dib\")?\"block\":e.hasClass(\"fr-dii\")?\"inline\":null,a=e.hasClass(\"fr-fil\")?\"left\":e.hasClass(\"fr-fir\")?\"right\":ve(e);he(e,t,a),e.removeClass(\"fr-dib fr-dii fr-fir fr-fil\")}function l(){for(var e,t=\"IMG\"==R.el.tagName?[R.el]:R.el.querySelectorAll(\"img\"),a=0;a<t.length;a++){var i=A(t[a]);!R.opts.htmlUntouched&&R.opts.useClasses?((R.opts.imageDefaultAlign||R.opts.imageDefaultDisplay)&&(0<(e=i).parents(\".fr-img-caption\").length&&(e=e.parents(\".fr-img-caption\").first()),e.hasClass(\"fr-dii\")||e.hasClass(\"fr-dib\")||(e.addClass(\"fr-fi\".concat(ve(e)[0])),e.addClass(\"fr-di\".concat(be(e)[0])),e.css(\"margin\",\"\"),e.css(\"float\",\"\"),e.css(\"display\",\"\"),e.css(\"z-index\",\"\"),e.css(\"position\",\"\"),e.css(\"overflow\",\"\"),e.css(\"vertical-align\",\"\"))),R.opts.imageTextNear||(0<i.parents(\".fr-img-caption\").length?i.parents(\".fr-img-caption\").first().removeClass(\"fr-dii\").addClass(\"fr-dib\"):i.removeClass(\"fr-dii\").addClass(\"fr-dib\"))):R.opts.htmlUntouched||R.opts.useClasses||(R.opts.imageDefaultAlign||R.opts.imageDefaultDisplay)&&s(i),R.opts.iframe&&i.on(\"load\",R.size.syncIframe)}}function b(e){void 0===e&&(e=!0);var t,a=Array.prototype.slice.call(R.el.querySelectorAll(\"img\")),i=[];for(t=0;t<a.length;t++)if(i.push(a[t].getAttribute(\"src\")),A(a[t]).toggleClass(\"fr-draggable\",R.opts.imageMove),\"\"===a[t].getAttribute(\"class\")&&a[t].removeAttribute(\"class\"),\"\"===a[t].getAttribute(\"style\")&&a[t].removeAttribute(\"style\"),a[t].parentNode&&a[t].parentNode.parentNode&&R.node.hasClass(a[t].parentNode.parentNode,\"fr-img-caption\")){var r=a[t].parentNode.parentNode;R.browser.mozilla||r.setAttribute(\"contenteditable\",!1),r.setAttribute(\"draggable\",!1),r.classList.add(\"fr-draggable\");var n=a[t].nextSibling;n&&!R.browser.mozilla&&n.setAttribute(\"contenteditable\",!0)}if(c)for(t=0;t<c.length;t++)i.indexOf(c[t].getAttribute(\"src\"))<0&&R.events.trigger(\"image.removed\",[A(c[t])]);if(c&&e){var o=[];for(t=0;t<c.length;t++)o.push(c[t].getAttribute(\"src\"));for(t=0;t<a.length;t++)o.indexOf(a[t].getAttribute(\"src\"))<0&&R.events.trigger(\"image.loaded\",[A(a[t])])}c=a}function x(){if(p||function o(){var e;R.shared.$image_resizer?(p=R.shared.$image_resizer,g=R.shared.$img_overlay,R.events.on(\"destroy\",function(){A(\"body\").first().append(p.removeClass(\"fr-active\"))},!0)):(R.shared.$image_resizer=A(document.createElement(\"div\")).attr(\"class\",\"fr-image-resizer\"),p=R.shared.$image_resizer,R.events.$on(p,\"mousedown\",function(e){e.stopPropagation()},!0),R.opts.imageResize&&(p.append(y(\"nw\")+y(\"ne\")+y(\"sw\")+y(\"se\")),R.shared.$img_overlay=A(document.createElement(\"div\")).attr(\"class\",\"fr-image-overlay\"),g=R.shared.$img_overlay,e=p.get(0).ownerDocument,A(e).find(\"body\").first().append(g)));R.events.on(\"shared.destroy\",function(){p.html(\"\").removeData().remove(),p=null,R.opts.imageResize&&(g.remove(),g=null)},!0),R.helpers.isMobile()||R.events.$on(A(R.o_win),\"resize\",function(){U&&!U.hasClass(\"fr-uploading\")?ce(!0):U&&(x(),ye(),P(!1))});if(R.opts.imageResize){e=p.get(0).ownerDocument,R.events.$on(p,R._mousedown,\".fr-handler\",D),R.events.$on(A(e),R._mousemove,T),R.events.$on(A(e.defaultView||e.parentWindow),R._mouseup,$),R.events.$on(g,\"mouseleave\",$);var i=1,r=null,n=0;R.events.on(\"keydown\",function(e){if(U){var t=-1!=navigator.userAgent.indexOf(\"Mac OS X\")?e.metaKey:e.ctrlKey,a=e.which;(a!==r||200<e.timeStamp-n)&&(i=1),(a==Me.KEYCODE.EQUALS||R.browser.mozilla&&a==Me.KEYCODE.FF_EQUALS)&&t&&!e.altKey?i=te.call(this,e,1,1,i):(a==Me.KEYCODE.HYPHEN||R.browser.mozilla&&a==Me.KEYCODE.FF_HYPHEN)&&t&&!e.altKey?i=te.call(this,e,2,-1,i):R.keys.ctrlKey(e)||a!=Me.KEYCODE.ENTER||(U.before(\"<br>\"),z(U)),r=a,n=e.timeStamp}},!0),R.events.on(\"keyup\",function(){i=1})}}(),!U)return!1;var e=R.$wp||R.$sc;e.append(p),p.data(\"instance\",R);var t=e.scrollTop()-(\"static\"!=e.css(\"position\")?e.offset().top:0),a=e.scrollLeft()-(\"static\"!=e.css(\"position\")?e.offset().left:0);a-=R.helpers.getPX(e.css(\"border-left-width\")),t-=R.helpers.getPX(e.css(\"border-top-width\")),R.$el.is(\"img\")&&R.$sc.is(\"body\")&&(a=t=0);var i=Ce();Se()&&(i=i.find(\".fr-img-wrap\"));var r=0,n=0;R.opts.iframe&&(r=R.helpers.getPX(R.$wp.find(\".fr-iframe\").css(\"padding-top\")),n=R.helpers.getPX(R.$wp.find(\".fr-iframe\").css(\"padding-left\"))),p.css(\"top\",(R.opts.iframe?i.offset().top+r:i.offset().top+t)-1).css(\"left\",(R.opts.iframe?i.offset().left+n:i.offset().left+a)-1).css(\"width\",i.get(0).getBoundingClientRect().width).css(\"height\",i.get(0).getBoundingClientRect().height).addClass(\"fr-active\")}function y(e){return'<div class=\"fr-handler fr-h'.concat(e,'\"></div>')}function w(e){Se()&&U.parents(\".fr-img-caption\").css(\"width\",e),U.css(\"width\",e)}function D(e){if(!R.core.sameInstance(p))return!0;if(e.preventDefault(),e.stopPropagation(),R.$el.find(\"img.fr-error\").left)return!1;R.undo.canDo()||R.undo.saveStep();var t=e.pageX||e.originalEvent.touches[0].pageX;if(\"mousedown\"==e.type){var a=R.$oel.get(0),i=a.ownerDocument,r=i.defaultView||i.parentWindow,n=!1;try{n=r.location!=r.parent.location&&!(r.$&&r.$.FE)}catch(l){}n&&r.frameElement&&(t+=R.helpers.getPX(A(a).offset().left)+r.frameElement.clientLeft)}(f=A(this)).data(\"start-x\",t),f.data(\"start-width\",U.width()),f.data(\"start-height\",U.height());var o=U.width();if(R.opts.imageResizeWithPercent){var s=U.parentsUntil(R.$el,R.html.blockTagsQuery()).get(0)||R.el;o=(o/A(s).outerWidth()*100).toFixed(2)+\"%\"}w(o),g.show(),R.popups.hideAll(),me()}function T(e){if(!R.core.sameInstance(p))return!0;var t;if(f&&U){if(e.preventDefault(),R.$el.find(\"img.fr-error\").left)return!1;var a=e.pageX||(e.originalEvent.touches?e.originalEvent.touches[0].pageX:null);if(!a)return!1;var i=a-f.data(\"start-x\"),r=f.data(\"start-width\");if((f.hasClass(\"fr-hnw\")||f.hasClass(\"fr-hsw\"))&&(i=0-i),R.opts.imageResizeWithPercent){var n=U.parentsUntil(R.$el,R.html.blockTagsQuery()).get(0)||R.el;r=((r+i)/A(n).outerWidth()*100).toFixed(2),R.opts.imageRoundPercent&&(r=Math.round(r)),w(\"\".concat(r,\"%\")),(t=Se()?(R.helpers.getPX(U.parents(\".fr-img-caption\").css(\"width\"))/A(n).outerWidth()*100).toFixed(2):(R.helpers.getPX(U.css(\"width\"))/A(n).outerWidth()*100).toFixed(2))===r||R.opts.imageRoundPercent||w(\"\".concat(t,\"%\")),U.css(\"height\",\"\").removeAttr(\"height\")}else r+i>=R.opts.imageMinWidth&&(w(r+i),t=Se()?R.helpers.getPX(U.parents(\".fr-img-caption\").css(\"width\")):R.helpers.getPX(U.css(\"width\"))),t!==r+i&&w(t),((U.attr(\"style\")||\"\").match(/(^height:)|(; *height:)/)||U.attr(\"height\"))&&(U.css(\"height\",f.data(\"start-height\")*U.width()/f.data(\"start-width\")),U.removeAttr(\"height\"));x(),R.events.trigger(\"image.resize\",[Ae()])}}function $(e){if(!R.core.sameInstance(p))return!0;if(f&&U){if(e&&e.stopPropagation(),R.$el.find(\"img.fr-error\").left)return!1;f=null,g.hide(),x(),n(),R.undo.saveStep(),R.events.trigger(\"image.resizeEnd\",[Ae()])}else p.removeClass(\"fr-active\")}function I(e,t,a){R.edit.on(),U&&U.addClass(\"fr-error\"),r[e]?O(R.language.translate(r[e])):O(R.language.translate(\"Something went wrong. Please try again.\")),!U&&a&&ae(a),R.events.trigger(\"image.error\",[{code:e,message:r[e]},t,a])}function N(e){if(e)return R.$wp&&R.events.$on(R.$wp,\"scroll.image-edit\",function(){U&&R.popups.isVisible(\"image.edit\")&&(R.events.disableBlur(),n())}),!0;var t=\"\";if(0<R.opts.imageEditButtons.length){var a={buttons:t+='<div class=\"fr-buttons\">\\n        '.concat(R.button.buildList(R.opts.imageEditButtons),\"\\n        </div>\")};return R.popups.create(\"image.edit\",a)}return!1}function P(e){var t=R.popups.get(\"image.insert\");if(t||(t=X()),t.find(\".fr-layer.fr-active\").removeClass(\"fr-active\").addClass(\"fr-pactive\"),t.find(\".fr-image-progress-bar-layer\").addClass(\"fr-active\"),t.find(\".fr-buttons\").hide(),U){var a=Ce();R.popups.setContainer(\"image.insert\",R.$sc);var i=a.offset().left,r=a.offset().top+a.height();R.popups.show(\"image.insert\",i,r,a.outerHeight())}void 0===e&&B(R.language.translate(\"Uploading\"),0)}function k(e){var t=R.popups.get(\"image.insert\");if(t&&(t.find(\".fr-layer.fr-pactive\").addClass(\"fr-active\").removeClass(\"fr-pactive\"),t.find(\".fr-image-progress-bar-layer\").removeClass(\"fr-active\"),t.find(\".fr-buttons\").show(),e||R.$el.find(\"img.fr-error\").length)){if(R.events.focus(),R.$el.find(\"img.fr-error\").length&&(R.$el.find(\"img.fr-error\").remove(),R.undo.saveStep(),R.undo.run(),R.undo.dropRedo()),!R.$wp&&U){var a=U;ce(!0),R.selection.setAfter(a.get(0)),R.selection.restore()}R.popups.hide(\"image.insert\")}}function B(e,t){var a=R.popups.get(\"image.insert\");if(a){var i=a.find(\".fr-image-progress-bar-layer\");i.find(\"h3\").text(e+(t?\" \".concat(t,\"%\"):\"\")),i.removeClass(\"fr-error\"),t?(i.find(\"div\").removeClass(\"fr-indeterminate\"),i.find(\"div > span\").css(\"width\",\"\".concat(t,\"%\"))):i.find(\"div\").addClass(\"fr-indeterminate\")}}function O(e){P();var t=R.popups.get(\"image.insert\").find(\".fr-image-progress-bar-layer\");t.addClass(\"fr-error\");var a=t.find(\"h3\");a.text(e),R.events.disableBlur(),a.focus()}function z(e){ge.call(e.get(0))}function L(){var e=A(this);R.popups.hide(\"image.insert\"),e.removeClass(\"fr-uploading\"),e.next().is(\"br\")&&e.next().remove(),z(e),R.events.trigger(\"image.loaded\",[e])}function _(s,e,l,p,f){p&&\"string\"==typeof p&&(p=R.$(p)),R.edit.off(),B(R.language.translate(\"Loading image\")),e&&(s=R.helpers.sanitizeURL(s));var t=new Image;t.onload=function(){var e,t;if(p){R.undo.canDo()||p.hasClass(\"fr-uploading\")||R.undo.saveStep();var a=p.data(\"fr-old-src\");if(p.data(\"fr-image-pasted\")&&(a=null),R.$wp){(e=p.clone().removeData(\"fr-old-src\").removeClass(\"fr-uploading\").removeAttr(\"data-fr-image-pasted\")).off(\"load\"),a&&p.attr(\"src\",a),!R.opts.trackChangesEnabled||p[0].parentNode&&\"SPAN\"===p[0].parentNode.tagName&&p[0].parentNode.hasAttribute(\"data-tracking\")||R.track_changes.replaceSpecialItem(p);var i=c.indexOf(p[0]);0<=i&&(c[i]=e[0]),p.replaceWith(e)}else e=p;for(var r=e.get(0).attributes,n=0;n<r.length;n++){var o=r[n];0===o.nodeName.indexOf(\"data-\")&&\"data-pasted\"!==o.nodeName?e.removeAttr(o.nodeName):l&&l.hasOwnProperty(o.nodeName)&&e.removeAttr(o.nodeName)}if(void 0!==l)for(t in l)l.hasOwnProperty(t)&&\"link\"!=t&&e.attr(\"\".concat(t),l[t]);e.on(\"load\",L),e.attr(\"src\",s),R.edit.on(),b(!1),p[0].src!=s&&R.selection.restore(),R.undo.saveStep(),R.events.disableBlur(),R.$el.blur(),R.events.trigger(a?\"image.replaced\":\"image.inserted\",[e,f])}else(e=W(s,l,L))&&(b(!1),R.undo.saveStep(),R.events.disableBlur(),R.$el.blur(),R.events.trigger(\"image.inserted\",[e,f]))},t.onerror=function(){I(i)},P(R.language.translate(\"Loading image\")),t.src=s}function M(e,t,a){B(R.language.translate(\"Loading image\"));var i=this.status,r=this.response,n=this.responseXML,o=this.responseText;try{if(R.opts.imageUploadToS3||R.opts.imageUploadToAzure)if(201==i){var s;if(R.opts.imageUploadToAzure){if(!1===R.events.trigger(\"image.uploadedToAzure\",[this.responseURL,a,r],!0))return R.edit.on(),!1;s=t}else s=function p(e){try{var t=A(e).find(\"Location\").text(),a=A(e).find(\"Key\").text();return!1===R.events.trigger(\"image.uploadedToS3\",[t,a,e],!0)?(R.edit.on(),!1):t}catch(i){return I(m,e),!1}}(n);s&&_(s,!1,[],e,r||n)}else I(m,r||n,e);else if(200<=i&&i<300){var l=function f(e){try{if(!1===R.events.trigger(\"image.uploaded\",[e],!0))return R.edit.on(),!1;var t=JSON.parse(e);return t.link?t:(I(d,e),!1)}catch(a){return I(m,e),!1}}(o);l&&_(l.link,!1,l,e,r||o)}else I(u,r||o,e)}catch(g){I(m,r||o,e)}}function K(){I(m,this.response||this.responseText||this.responseXML)}function Y(e){if(e.lengthComputable){var t=e.loaded/e.total*100|0;B(R.language.translate(\"Uploading\"),t)}}function W(e,t,a){var i,r=A(document.createElement(\"img\")).attr(\"src\",e);if(t&&void 0!==t)for(i in t)t.hasOwnProperty(i)&&\"link\"!=i&&(\" data-\".concat(i,'=\"').concat(t[i],'\"'),r.attr(\"\".concat(i),t[i]));var n=R.opts.imageDefaultWidth;n&&\"auto\"!=n&&(n=R.opts.imageResizeWithPercent?\"100%\":\"\".concat(n,\"px\")),r.attr(\"style\",n?\"width: \".concat(n,\";\"):\"\"),he(r,R.opts.imageDefaultDisplay,R.opts.imageDefaultAlign),r.on(\"load\",a),r.on(\"error\",a),R.edit.on(),R.events.focus(!0),R.selection.restore(),R.undo.saveStep(),R.opts.imageSplitHTML?R.markers.split():R.markers.insert(),R.html.wrap();var o=R.$el.find(\".fr-marker\");if(o.length)(o.parent().is(\"hr\")||o.parent().is(\"IMG\"))&&o.parent().after(o),R.node.isLastSibling(o)&&o.parent().hasClass(\"fr-deletable\")&&o.insertAfter(o.parent()),o.replaceWith(r);else{if(R.opts.trackChangesEnabled)return k(!0),!1;R.$el.append(r)}return R.selection.clear(),r}function G(){R.edit.on(),k(!0)}function H(e,t){if(void 0!==e&&0<e.length){if(!1===R.events.trigger(\"image.beforeUpload\",[e,t]))return!1;var a,i=e[0];if(!(null!==R.opts.imageUploadURL&&R.opts.imageUploadURL!=C||R.opts.imageUploadToS3||R.opts.imageUploadToAzure))return function y(r,n){var o=new FileReader;o.onload=function(){var e=o.result;if(o.result.indexOf(\"svg+xml\")<0){for(var t=atob(o.result.split(\",\")[1]),a=[],i=0;i<t.length;i++)a.push(t.charCodeAt(i));e=window.URL.createObjectURL(new Blob([new Uint8Array(a)],{type:r.type})),n&&n.data(\"fr-old-src\",n.attr(\"src\")),R.image.insert(e,!1,null,n)}else R.image.insert(e,null,null,R.image.get())},P(),o.readAsDataURL(r)}(i,t||U),!1;if(i.name||(i.name=(new Date).getTime()+\".\"+(i.type||\"image/jpeg\").replace(/image\\//g,\"\")),i.size>R.opts.imageMaxSize)return I(S),!1;if(R.opts.imageAllowedTypes.indexOf(i.type.replace(/image\\//g,\"\"))<0)return I(E),!1;if(R.drag_support.formdata&&(a=R.drag_support.formdata?new FormData:null),a){var r;if(!1!==R.opts.imageUploadToS3)for(r in a.append(\"key\",R.opts.imageUploadToS3.keyStart+(new Date).getTime()+\"-\"+(i.name||\"untitled\")),a.append(\"success_action_status\",\"201\"),a.append(\"X-Requested-With\",\"xhr\"),a.append(\"Content-Type\",i.type),R.opts.imageUploadToS3.params)R.opts.imageUploadToS3.params.hasOwnProperty(r)&&a.append(r,R.opts.imageUploadToS3.params[r]);for(r in R.opts.imageUploadParams)R.opts.imageUploadParams.hasOwnProperty(r)&&a.append(r,R.opts.imageUploadParams[r]);a.append(R.opts.imageUploadParam,i,i.name);var n,o,s=R.opts.imageUploadURL,l=R.opts.imageUploadMethod;R.opts.imageUploadToS3&&(s=R.opts.imageUploadToS3.uploadURL?R.opts.imageUploadToS3.uploadURL:\"https://\".concat(R.opts.imageUploadToS3.region,\".amazonaws.com/\").concat(R.opts.imageUploadToS3.bucket)),R.opts.imageUploadToAzure&&(n=s=R.opts.imageUploadToAzure.uploadURL?\"\".concat(R.opts.imageUploadToAzure.uploadURL,\"/\").concat(i.name):encodeURI(\"https://\".concat(R.opts.imageUploadToAzure.account,\".blob.core.windows.net/\").concat(R.opts.imageUploadToAzure.container,\"/\").concat(i.name)),R.opts.imageUploadToAzure.SASToken&&(s+=R.opts.imageUploadToAzure.SASToken),l=\"PUT\");var p=R.core.getXHR(s,l);if(R.opts.imageUploadToAzure){var f=(new Date).toUTCString();if(!R.opts.imageUploadToAzure.SASToken&&R.opts.imageUploadToAzure.accessKey){var g=R.opts.imageUploadToAzure.account,c=R.opts.imageUploadToAzure.container;if(R.opts.imageUploadToAzure.uploadURL){var d=R.opts.imageUploadToAzure.uploadURL.split(\"/\");c=d.pop(),g=d.pop().split(\".\")[0]}var u=\"x-ms-blob-type:BlockBlob\\nx-ms-date:\".concat(f,\"\\nx-ms-version:2019-07-07\"),m=encodeURI(\"/\"+g+\"/\"+c+\"/\"+i.name),h=l+\"\\n\\n\\n\"+i.size+\"\\n\\n\"+i.type+\"\\n\\n\\n\\n\\n\\n\\n\"+u+\"\\n\"+m,v=R.cryptoJSPlugin.cryptoJS.HmacSHA256(h,R.cryptoJSPlugin.cryptoJS.enc.Base64.parse(R.opts.imageUploadToAzure.accessKey)).toString(R.cryptoJSPlugin.cryptoJS.enc.Base64),b=\"SharedKey \"+g+\":\"+v;o=v,p.setRequestHeader(\"Authorization\",b)}for(r in p.setRequestHeader(\"x-ms-version\",\"2019-07-07\"),p.setRequestHeader(\"x-ms-date\",f),p.setRequestHeader(\"Content-Type\",i.type),p.setRequestHeader(\"x-ms-blob-type\",\"BlockBlob\"),R.opts.imageUploadParams)R.opts.imageUploadParams.hasOwnProperty(r)&&p.setRequestHeader(r,R.opts.imageUploadParams[r]);for(r in R.opts.imageUploadToAzure.params)R.opts.imageUploadToAzure.params.hasOwnProperty(r)&&p.setRequestHeader(r,R.opts.imageUploadToAzure.params[r])}!function w(t,a,i,r,n,o){function s(){var e=A(this);e.off(\"load\"),e.addClass(\"fr-uploading\"),e.next().is(\"br\")&&e.next().remove(),R.placeholder.refresh(),z(e),x(),P(),R.edit.off(),t.onload=function(){M.call(t,e,n,o)},t.onerror=K,t.upload.onprogress=Y,t.onabort=G,A(e.off(\"abortUpload\")).on(\"abortUpload\",function(){4!=t.readyState&&(t.abort(),r?(r.attr(\"src\",r.data(\"fr-old-src\")),r.removeClass(\"fr-uploading\")):e.remove(),ce(!0))}),t.send(R.opts.imageUploadToAzure?i:a)}var l=new FileReader;l.onload=function(){var e=l.result;if(l.result.indexOf(\"svg+xml\")<0){for(var t=atob(l.result.split(\",\")[1]),a=[],i=0;i<t.length;i++)a.push(t.charCodeAt(i));e=window.URL.createObjectURL(new Blob([new Uint8Array(a)],{type:\"image/jpeg\"}))}r?(r.on(\"load\",s),r.on(\"error\",function(){s(),A(this).off(\"error\")}),R.edit.on(),R.undo.saveStep(),r.data(\"fr-old-src\",r.attr(\"src\")),r.attr(\"src\",e)):W(e,null,s)},l.readAsDataURL(i)}(p,a,i,t||U,n,o)}}}function F(e){if(e.is(\"img\")&&0<e.parents(\".fr-img-caption\").length)return e.parents(\".fr-img-caption\")}function V(e){var t=e.originalEvent.dataTransfer;if(t&&t.files&&t.files.length){var a=t.files[0];if(a&&a.type&&-1!==a.type.indexOf(\"image\")&&0<=R.opts.imageAllowedTypes.indexOf(a.type.replace(/image\\//g,\"\"))){if(!R.opts.imageUpload)return e.preventDefault(),e.stopPropagation(),!1;R.markers.remove(),R.markers.insertAtPoint(e.originalEvent),R.$el.find(\".fr-marker\").replaceWith(Me.MARKERS),0===R.$el.find(\".fr-marker\").length&&R.selection.setAtEnd(R.el),R.popups.hideAll();var i=R.popups.get(\"image.insert\");i||(i=X()),R.popups.setContainer(\"image.insert\",R.$sc);var r=e.originalEvent.pageX,n=e.originalEvent.pageY;if(R.opts.iframe){var o=R.helpers.getPX(R.$wp.find(\".fr-iframe\").css(\"padding-top\")),s=R.helpers.getPX(R.$wp.find(\".fr-iframe\").css(\"padding-left\"));n+=R.$iframe.offset().top+o,r+=R.$iframe.offset().left+s}return R.popups.show(\"image.insert\",r,n),P(),0<=R.opts.imageAllowedTypes.indexOf(a.type.replace(/image\\//g,\"\"))?(ce(!0),H(t.files)):I(E),e.preventDefault(),e.stopPropagation(),!1}}}function X(e){if(e)return R.popups.onRefresh(\"image.insert\",h),R.popups.onHide(\"image.insert\",v),!0;var t,a,i=\"\";R.opts.imageUpload||-1===R.opts.imageInsertButtons.indexOf(\"imageUpload\")||R.opts.imageInsertButtons.splice(R.opts.imageInsertButtons.indexOf(\"imageUpload\"),1);var r=R.button.buildList(R.opts.imageInsertButtons);\"\"!==r&&(i='<div class=\"fr-buttons fr-tabs\">'.concat(r,\"</div>\"));var n=R.opts.imageInsertButtons.indexOf(\"imageUpload\"),o=R.opts.imageInsertButtons.indexOf(\"imageByURL\"),s=\"\";0<=n&&(t=\" fr-active\",0<=o&&o<n&&(t=\"\"),s='<div class=\"fr-image-upload-layer'.concat(t,' fr-layer\" id=\"fr-image-upload-layer-').concat(R.id,'\"><strong>').concat(R.language.translate(\"Drop image\"),\"</strong><br>(\").concat(R.language.translate(\"or click\"),')<div class=\"fr-form\"><input type=\"file\" accept=\"image/').concat(R.opts.imageAllowedTypes.join(\", image/\").toLowerCase(),'\" tabIndex=\"-1\" aria-labelledby=\"fr-image-upload-layer-').concat(R.id,'\" role=\"button\"></div></div>'));var l=\"\";0<=o&&(t=\" fr-active\",0<=n&&n<o&&(t=\"\"),l='<div class=\"fr-image-by-url-layer'.concat(t,' fr-layer\" id=\"fr-image-by-url-layer-').concat(R.id,'\"><div class=\"fr-input-line\"><input id=\"fr-image-by-url-layer-text-').concat(R.id,'\" type=\"text\" placeholder=\"http://\" tabIndex=\"1\" aria-required=\"true\"></div><div class=\"fr-action-buttons\"><button type=\"button\" class=\"fr-command fr-submit\" data-cmd=\"imageInsertByURL\" tabIndex=\"2\" role=\"button\">').concat(R.language.translate(\"Insert\"),\"</button></div></div>\"));var p={buttons:i,upload_layer:s,by_url_layer:l,progress_bar:'<div class=\"fr-image-progress-bar-layer fr-layer\"><h3 tabIndex=\"-1\" class=\"fr-message\">Uploading</h3><div class=\"fr-loader\"><span class=\"fr-progress\"></span></div><div class=\"fr-action-buttons\"><button type=\"button\" class=\"fr-command fr-dismiss\" data-cmd=\"imageDismissError\" tabIndex=\"2\" role=\"button\">OK</button></div></div>'};return 1<=R.opts.imageInsertButtons.length&&(a=R.popups.create(\"image.insert\",p)),R.$wp&&R.events.$on(R.$wp,\"scroll\",function(){U&&R.popups.isVisible(\"image.insert\")&&ye()}),function f(i){R.events.$on(i,\"dragover dragenter\",\".fr-image-upload-layer\",function(e){return A(this).addClass(\"fr-drop\"),(R.browser.msie||R.browser.edge)&&e.preventDefault(),!1},!0),R.events.$on(i,\"dragleave dragend\",\".fr-image-upload-layer\",function(e){return A(this).removeClass(\"fr-drop\"),(R.browser.msie||R.browser.edge)&&e.preventDefault(),!1},!0),R.events.$on(i,\"drop\",\".fr-image-upload-layer\",function(e){e.preventDefault(),e.stopPropagation(),A(this).removeClass(\"fr-drop\");var t=e.originalEvent.dataTransfer;if(t&&t.files){var a=i.data(\"instance\")||R;a.events.disableBlur(),a.image.upload(t.files),a.events.enableBlur()}},!0),R.helpers.isIOS()&&R.events.$on(i,\"touchstart\",'.fr-image-upload-layer input[type=\"file\"]',function(){A(this).trigger(\"click\")},!0),R.events.$on(i,\"change\",'.fr-image-upload-layer input[type=\"file\"]',function(){if(this.files){var e=i.data(\"instance\")||R;e.events.disableBlur(),i.find(\"input:focus\").blur(),e.events.enableBlur(),e.image.upload(this.files,U)}A(this).val(\"\")},!0)}(a),a}function q(){U&&R.popups.get(\"image.alt\").find(\"input\").val(U.attr(\"alt\")||\"\").trigger(\"change\")}function j(){var e=R.popups.get(\"image.alt\");e||(e=J()),k(),R.popups.refresh(\"image.alt\"),R.popups.setContainer(\"image.alt\",R.$sc);var t=Ce(),a=t.outerWidth()/2;Se()&&(t=t.find(\".fr-img-wrap\"),a=U.outerWidth()/2);var i=t.offset().left+a,r=t.offset().top+t.outerHeight(),n=t.outerHeight();R.opts.iframe&&Se()&&(n=U?U.outerHeight():0),R.popups.show(\"image.alt\",i,r,n,!0)}function J(e){if(e)return R.popups.onRefresh(\"image.alt\",q),!0;var t={buttons:'<div class=\"fr-buttons fr-tabs\">'.concat(R.button.buildList(R.opts.imageAltButtons),\"</div>\"),alt_layer:'<div class=\"fr-image-alt-layer fr-layer fr-active\" id=\"fr-image-alt-layer-'.concat(R.id,'\"><div class=\"fr-input-line\"><input id=\"fr-image-alt-layer-text-').concat(R.id,'\" type=\"text\" placeholder=\"').concat(R.language.translate(\"Alternative Text\"),'\" tabIndex=\"1\"></div><div class=\"fr-action-buttons\"><button type=\"button\" class=\"fr-command fr-submit\" data-cmd=\"imageSetAlt\" tabIndex=\"2\" role=\"button\">').concat(R.language.translate(\"Update\"),\"</button></div></div>\")},a=R.popups.create(\"image.alt\",t);return R.$wp&&R.events.$on(R.$wp,\"scroll.image-alt\",function(){U&&R.popups.isVisible(\"image.alt\")&&j()}),a}function Q(){var e=R.popups.get(\"image.size\"),t=U.get(0).style.height?U.get(0).style.height:\"auto\",a=U.get(0).style.width?U.get(0).style.width:\"auto\";if(U)if(Se()){var i=U.parent();i.get(0).style.width||(i=U.parent().parent()),e.find('input[name=\"width\"]').val(a).trigger(\"change\"),e.find('input[name=\"height\"]').val(t).trigger(\"change\")}else e.find('input[name=\"width\"]').val(a).trigger(\"change\"),e.find('input[name=\"height\"]').val(t).trigger(\"change\")}function Z(){var e=R.popups.get(\"image.size\");e||(e=ee()),k(),R.popups.refresh(\"image.size\"),R.popups.setContainer(\"image.size\",R.$sc);var t=Ce(),a=t.outerWidth()/2;Se()&&(t=t.find(\".fr-img-wrap\"),a=U.outerWidth()/2);var i=t.outerHeight();R.opts.iframe&&Se()&&(i=U?U.outerHeight():0);var r=t.offset().left+a,n=t.offset().top+t.outerHeight();R.popups.show(\"image.size\",r,n,i,!0)}function ee(e){if(e)return R.popups.onRefresh(\"image.size\",Q),!0;var t={buttons:'<div class=\"fr-buttons fr-tabs\">'.concat(R.button.buildList(R.opts.imageSizeButtons),\"</div>\"),size_layer:'<div class=\"fr-image-size-layer fr-layer fr-active\" id=\"fr-image-size-layer-'.concat(R.id,'\"><div class=\"fr-image-group\"><div class=\"fr-input-line\"><input id=\"fr-image-size-layer-width-\\'').concat(R.id,'\" type=\"text\" name=\"width\" placeholder=\"').concat(R.language.translate(\"Width\"),'\" tabIndex=\"1\"></div><div class=\"fr-input-line\"><input id=\"fr-image-size-layer-height').concat(R.id,'\" type=\"text\" name=\"height\" placeholder=\"').concat(R.language.translate(\"Height\"),'\" tabIndex=\"1\"></div></div><div class=\"fr-action-buttons\"><button type=\"button\" class=\"fr-command fr-submit\" data-cmd=\"imageSetSize\" tabIndex=\"2\" role=\"button\">').concat(R.language.translate(\"Update\"),\"</button></div></div>\")},a=R.popups.create(\"image.size\",t);return R.$wp&&R.events.$on(R.$wp,\"scroll.image-size\",function(){U&&R.popups.isVisible(\"image.size\")&&Z()}),a}function te(e,t,a,i){return e.pageX=t,D.call(this,e),e.pageX=e.pageX+a*Math.floor(Math.pow(1.1,i)),T.call(this,e),$.call(this,e),++i}function ae(e){if(e=e||Ce(),R.opts.trackChangesEnabled&&!R.helpers.isMobile()&&(!e[0].parentNode||\"SPAN\"!==e[0].parentNode.tagName||!e[0].parentNode.hasAttribute(\"data-tracking\")))return R.track_changes.removeSpecialItem(e),R.popups.hideAll(),void ce(!0);e&&!1!==R.events.trigger(\"image.beforeRemove\",[e])&&(R.popups.hideAll(),we(),ce(!0),R.undo.canDo()||R.undo.saveStep(),e.get(0)==R.el?e.removeAttr(\"src\"):(e.get(0).parentNode&&\"A\"==e.get(0).parentNode.tagName?(R.selection.setBefore(e.get(0).parentNode)||R.selection.setAfter(e.get(0).parentNode)||e.parent().after(Me.MARKERS),A(e.get(0).parentNode).remove()):(R.selection.setBefore(e.get(0))||R.selection.setAfter(e.get(0))||e.after(Me.MARKERS),e.remove()),R.html.fillEmptyBlocks(),R.selection.restore()),R.undo.saveStep())}function ie(e){var t=e.which,a=document.getElementsByClassName(\"fs-transforms-container\"),i=!1;if(a&&a.length){var r,n=Ke(a);try{for(n.s();!(r=n.n()).done;){var o=r.value;o.childNodes&&o.childNodes.length&&(i=!0)}}catch(p){n.e(p)}finally{n.f()}}if(i&&(U=null),U&&(t==Me.KEYCODE.BACKSPACE||t==Me.KEYCODE.DELETE))return e.preventDefault(),e.stopPropagation(),ae(),!1;if(U&&t==Me.KEYCODE.ESC){var s=U;return ce(!0),R.selection.setAfter(s.get(0)),R.selection.restore(),e.preventDefault(),!1}if(!U||t!=Me.KEYCODE.ARROW_LEFT&&t!=Me.KEYCODE.ARROW_RIGHT)return U&&t===Me.KEYCODE.TAB?(e.preventDefault(),e.stopPropagation(),ce(!0),!1):U&&t!=Me.KEYCODE.F10&&!R.keys.isBrowserAction(e)?(e.preventDefault(),e.stopPropagation(),!1):void 0;var l=U.get(0);return ce(!0),t==Me.KEYCODE.ARROW_LEFT?R.selection.setBefore(l):R.selection.setAfter(l),R.selection.restore(),e.preventDefault(),!1}function re(e){if(e&&\"IMG\"==e.tagName){if(R.node.hasClass(e,\"fr-uploading\")||R.node.hasClass(e,\"fr-error\")?e.parentNode.removeChild(e):R.node.hasClass(e,\"fr-draggable\")&&e.classList.remove(\"fr-draggable\"),e.parentNode&&e.parentNode.parentNode&&R.node.hasClass(e.parentNode.parentNode,\"fr-img-caption\")){var t=e.parentNode.parentNode;t.removeAttribute(\"contenteditable\"),t.removeAttribute(\"draggable\"),t.classList.remove(\"fr-draggable\");var a=e.nextSibling;a&&a.removeAttribute(\"contenteditable\")}}else if(e&&e.nodeType==Node.ELEMENT_NODE)for(var i=e.querySelectorAll(\"img.fr-uploading, img.fr-error, img.fr-draggable\"),r=0;r<i.length;r++)re(i[r])}function ne(e){if(!1===R.events.trigger(\"image.beforePasteUpload\",[e]))return A(e).removeAttr(\"data-fr-image-pasted\"),!1;U=A(e),x(),n(),P(),U.on(\"load\",function(){var t=[];x(),A(R.popups.get(\"image.insert\").get(0)).find(\"div.fr-active.fr-error\").length<1&&P(),A(this).data(\"events\").filter(function(e){\"load\"===e[0]&&t.push(e)}),t.length<=1&&A(this).off(\"load\")});for(var t=A(e).attr(\"src\").split(\",\"),a=atob(t[1]),i=[],r=0;r<a.length;r++)i.push(a.charCodeAt(r));H([R.browser.safari&&!R.opts.imageUploadURL?new Blob([new Uint8Array(i)],{type:t[0].replace(/data\\:/g,\"\")}):new Blob([new Uint8Array(i)],{type:t[0].replace(/data\\:/g,\"\").replace(/;base64/g,\"\")})],U)}function oe(){R.opts.imagePaste?R.$el.find(\"img[data-fr-image-pasted]\").each(function(e,a){if(R.opts.imagePasteProcess){var t=R.opts.imageDefaultWidth;t&&\"auto\"!=t&&(t+=R.opts.imageResizeWithPercent?\"%\":\"px\"),A(a).css(\"width\",t).removeClass(\"fr-dii fr-dib fr-fir fr-fil\"),he(A(a),R.opts.imageDefaultDisplay,R.opts.imageDefaultAlign)}if(0===a.src.indexOf(\"data:\"))ne(a);else if(0===a.src.indexOf(\"blob:\")||0===a.src.indexOf(\"http\")&&R.opts.imageUploadRemoteUrls&&R.opts.imageCORSProxy){var i=new Image;i.crossOrigin=\"Anonymous\",i.onload=function(){var e=R.o_doc.createElement(\"CANVAS\"),t=e.getContext(\"2d\");e.height=this.naturalHeight,e.width=this.naturalWidth,t.drawImage(this,0,0),setTimeout(function(){ne(a)},0),a.src=e.toDataURL(Me.IMAGE_TYPE)},R.browser.msie&&Me.IMAGE_ALLOW_REGEX.test(a.src)&&(Me.IMAGE_TYPE=\"image/\"+a.src.split(Me.IMAGE_ALLOW_REGEX)[1]),i.src=(0===a.src.indexOf(\"blob:\")?\"\":\"\".concat(R.opts.imageCORSProxy,\"/\"))+a.src,0!==a.src.indexOf(\"blob:\")&&R.undo.saveStep()}else 0!==a.src.indexOf(\"http\")||0===a.src.indexOf(\"https://mail.google.com/mail\")?(R.selection.save(),A(a).remove(),R.selection.restore()):A(a).removeAttr(\"data-fr-image-pasted\")}):R.$el.find(\"img[data-fr-image-pasted]\").remove()}function se(e){var t=e.target.result,a=R.opts.imageDefaultWidth;a&&\"auto\"!=a&&(a+=R.opts.imageResizeWithPercent?\"%\":\"px\"),R.undo.saveStep(),R.html.insert('<img data-fr-image-pasted=\"true\" src=\"'.concat(t,'\"').concat(a?' style=\"width: '.concat(a,';\"'):\"\",\">\"));var i=R.$el.find('img[data-fr-image-pasted=\"true\"]');i&&he(i,R.opts.imageDefaultDisplay,R.opts.imageDefaultAlign),R.events.trigger(\"paste.after\")}function le(e,t){var a=new FileReader;a.onload=function i(e){var t=R.opts.imageDefaultWidth;t&&\"auto\"!=t&&(t+=R.opts.imageResizeWithPercent?\"%\":\"px\"),R.html.insert('<img data-fr-image-pasted=\"true\" src=\"'.concat(e,'\"').concat(t?' style=\"width: '.concat(t,';\"'):\"\",\">\"));var a=R.$el.find('img[data-fr-image-pasted=\"true\"]');a&&he(a,R.opts.imageDefaultDisplay,R.opts.imageDefaultAlign),R.events.trigger(\"paste.after\")}(t),a.readAsDataURL(e,t)}function pe(e,t){var a=t||e&&e.clipboardData;if(a&&a.items){var i=(a||window.clipboardData).getData(\"text/html\")||\"\";R.browser.mozilla&&(\"\"===i||/<!--StartFragment-->([ ])<!--EndFragment-->/.test(i))&&(i=R.win.localStorage.getItem(\"fr-copied-html\"));var r=(new DOMParser).parseFromString(i,\"text/html\").querySelector(\"img\");if(r&&!R.opts.imageUploadURL){if(!r)return!1;var n=r.src,o=null;if(a.types&&-1!=[].indexOf.call(a.types,\"text/rtf\")||a.getData(\"text/rtf\"))o=a.items[0].getAsFile();else for(var s=0;s<a.items.length;s++)if(o=a.items[s].getAsFile()){Me.IMAGE_TYPE=o.type;break}if(o)return le(o,n),!1}else{var l=null;if(a.types&&-1!=[].indexOf.call(a.types,\"text/rtf\")||a.getData(\"text/rtf\"))l=a.items[0].getAsFile();else for(var p=0;p<a.items.length&&!(l=a.items[p].getAsFile());p++);if(l)return function f(e){var t=new FileReader;t.onload=se,t.readAsDataURL(e)}(l),!1}}}function fe(e){return e=e.replace(/<img /gi,'<img data-fr-image-pasted=\"true\" ')}function ge(e){if(\"false\"==A(this).parents(\"[contenteditable]\").not(\".fr-element\").not(\".fr-img-caption\").not(\"body\").first().attr(\"contenteditable\"))return!0;if(e&&\"touchend\"==e.type&&a)return!0;if(e&&R.edit.isDisabled())return e.stopPropagation(),e.preventDefault(),!1;for(var t=0;t<Me.INSTANCES.length;t++)Me.INSTANCES[t]!=R&&Me.INSTANCES[t].events.trigger(\"image.hideResizer\");R.toolbar.disable(),e&&(e.stopPropagation(),e.preventDefault()),R.helpers.isMobile()&&(R.events.disableBlur(),R.$el.blur(),R.events.enableBlur()),R.opts.iframe&&R.size.syncIframe(),U=A(this),we(),x(),n(),R.browser.msie?(R.popups.areVisible()&&R.events.disableBlur(),R.win.getSelection&&(R.win.getSelection().removeAllRanges(),R.win.getSelection().addRange(R.doc.createRange()))):R.selection.clear(),R.helpers.isIOS()&&(R.events.disableBlur(),R.$el.blur()),R.button.bulkRefresh(),R.events.trigger(\"video.hideResizer\")}function ce(e){U&&(function t(){return de}()||!0===e)&&(R.toolbar.enable(),p.removeClass(\"fr-active\"),R.popups.hideAll(),U=null,me(),f=null,g&&g.hide())}r[i]=\"Image cannot be loaded from the passed link.\",r[d]=\"No link in upload response.\",r[u]=\"Error during file upload.\",r[m]=\"Parsing response failed.\",r[S]=\"File is too large.\",r[E]=\"Image file type is invalid.\",r[7]=\"Files can be uploaded only to same domain in IE 8 and IE 9.\";var de=!(r[8]=\"Image file is corrupted.\");function ue(){de=!0}function me(){de=!1}function he(e,t,a){if(!R.opts.htmlUntouched&&R.opts.useClasses)e.removeClass(\"fr-fil fr-fir fr-dib fr-dii\"),a&&e.addClass(\"fr-fi\".concat(a[0])),t&&e.addClass(\"fr-di\".concat(t[0]));else if(\"inline\"==t)if(e.css({display:\"inline-block\",verticalAlign:\"bottom\",margin:R.opts.imageDefaultMargin}),\"center\"==a)e.css({\"float\":\"none\",marginBottom:\"\",marginTop:\"\",maxWidth:\"calc(100% - \".concat(2*R.opts.imageDefaultMargin,\"px)\"),textAlign:\"center\"});else if(\"left\"==a){var i=\"0px\",r=e.parent(\"span.fr-img-caption\").get(0);r||(r=e.parent().get(0)),r&&\"li\"===r.tagName.toLowerCase()?i=\"20px\":r&&\"p\"===r.tagName.toLowerCase()&&(i=\"15px\"),e.css({\"float\":\"left\",marginLeft:0,maxWidth:\"calc(100% - \".concat(R.opts.imageDefaultMargin,\"px)\"),textAlign:\"left\",marginRight:i})}else e.css({\"float\":\"right\",marginRight:0,maxWidth:\"calc(100% - \".concat(R.opts.imageDefaultMargin,\"px)\"),textAlign:\"right\"});else\"block\"==t&&(e.css({display:\"block\",\"float\":\"none\",verticalAlign:\"top\",margin:\"\".concat(R.opts.imageDefaultMargin,\"px auto\"),textAlign:\"center\"}),\"left\"==a?e.css({marginLeft:0,textAlign:\"left\"}):\"right\"==a&&e.css({marginRight:0,textAlign:\"right\"}))}function ve(e){if(void 0===e&&(e=Ce()),e){if(e.hasClass(\"fr-fil\"))return\"left\";if(e.hasClass(\"fr-fir\"))return\"right\";if(e.hasClass(\"fr-dib\")||e.hasClass(\"fr-dii\"))return\"center\";var t=e.css(\"float\");if(e.css(\"float\",\"none\"),\"block\"==e.css(\"display\")){if(e.css(\"float\",\"\"),e.css(\"float\")!=t&&e.css(\"float\",t),0===parseInt(e.css(\"margin-left\"),10))return\"left\";if(0===parseInt(e.css(\"margin-right\"),10))return\"right\"}else{if(e.css(\"float\",\"\"),e.css(\"float\")!=t&&e.css(\"float\",t),\"left\"==e.css(\"float\"))return\"left\";if(\"right\"==e.css(\"float\"))return\"right\"}}return\"center\"}function be(e){void 0===e&&(e=Ce());var t=e.css(\"float\");return e.css(\"float\",\"none\"),\"block\"==e.css(\"display\")?(e.css(\"float\",\"\"),e.css(\"float\")!=t&&e.css(\"float\",t),\"block\"):(e.css(\"float\",\"\"),e.css(\"float\")!=t&&e.css(\"float\",t),\"inline\")}function ye(){var e=R.popups.get(\"image.insert\");e||(e=X()),R.popups.isVisible(\"image.insert\")||(k(),R.popups.refresh(\"image.insert\"),R.popups.setContainer(\"image.insert\",R.$sc));var t=Ce(),a=t&&t.outerWidth()/2;Se()&&(t=t.find(\".fr-img-wrap\"),a=U.outerWidth()/2);var i,r=t.offset().left+a,n=t.outerHeight(!0);R.opts.iframe&&Se()&&(n=U?U.outerHeight():0),i=0<R.$el.find(\"img[data-fr-image-pasted]\").length?R.$wp.offset().top-R.helpers.scrollTop()+R.$wp.height():t.offset().top+t.outerHeight(),R.popups.show(\"image.insert\",r,i,n,!0)}function we(){if(U){R.events.disableBlur(),R.selection.clear();var e=R.doc.createRange();e.selectNode(U.get(0)),R.browser.msie&&e.collapse(!0),R.selection.get().addRange(e),R.events.enableBlur()}}function Ae(){return U}function Ce(){return Se()?U.parents(\".fr-img-caption\").first():U}function Se(){return!!U&&0<U.parents(\".fr-img-caption\").length}function Ee(e){for(var t=document.createDocumentFragment();e.firstChild;){var a=e.removeChild(e.firstChild);t.appendChild(a)}e.parentNode.replaceChild(t,e)}return{_init:function Re(){var n;(function e(){R.events.$on(R.$el,R._mousedown,\"IMG\"==R.el.tagName?null:'img:not([contenteditable=\"false\"])',function(e){if(\"false\"==A(this).parents(\"contenteditable\").not(\".fr-element\").not(\".fr-img-caption\").not(\"body\").first().attr(\"contenteditable\"))return!0;R.helpers.isMobile()||R.selection.clear(),t=!0,R.popups.areVisible()&&R.events.disableBlur(),R.browser.msie&&(R.events.disableBlur(),R.$el.attr(\"contenteditable\",!1)),R.draggable||\"touchstart\"==e.type||e.preventDefault(),e.stopPropagation()}),R.events.$on(R.$el,R._mousedown,\".fr-img-caption .fr-inner\",function(e){R.core.hasFocus()||R.events.focus(),e.stopPropagation()}),R.events.$on(R.$el,\"paste\",\".fr-img-caption .fr-inner\",function(e){!0===R.opts.toolbarInline&&(R.toolbar.hide(),e.stopPropagation())}),R.events.$on(R.$el,R._mousedown,'img:not([contenteditable=\"false\"])',function(e){var t=this;R.browser.mozilla&&3==e.which&&(A(this).attr(\"contenteditable\",!1),setTimeout(function(){A(t).removeAttr(\"contenteditable\")},200))}),R.events.$on(R.$el,R._mouseup,\"IMG\"==R.el.tagName?null:'img:not([contenteditable=\"false\"])',function(e){if(\"false\"==A(this).parents(\"contenteditable\").not(\".fr-element\").not(\".fr-img-caption\").not(\"body\").first().attr(\"contenteditable\"))return!0;t&&(t=!1,e.stopPropagation(),R.browser.msie&&(R.$el.attr(\"contenteditable\",!0),R.events.enableBlur()))}),R.events.on(\"keyup\",function(e){if(e.shiftKey&&\"\"===R.selection.text().replace(/\\n/g,\"\")&&R.keys.isArrow(e.which)){var t=R.selection.element(),a=R.selection.endElement();t&&\"IMG\"==t.tagName?z(A(t)):a&&\"IMG\"==a.tagName&&z(A(a))}},!0),R.events.on(\"drop\",V),R.events.on(\"element.beforeDrop\",F),R.events.on(\"mousedown window.mousedown\",ue),R.events.on(\"window.touchmove\",me),R.events.on(\"mouseup window.mouseup\",function(){if(U&&!R.helpers.isMobile())return ce(),!1;me()}),R.events.on(\"touchstart touchend\",function(){if(U&&R.helpers.isMobile())return ce(),!1;me()}),R.events.on(\"commands.mousedown\",function(e){0<e.parents(\".fr-toolbar\").length&&ce()}),R.events.on(\"image.resizeEnd\",function(){R.opts.iframe&&R.size.syncIframe()}),R.events.on(\"blur image.hideResizer commands.undo commands.redo element.dropped\",function(){ce(!(t=!1))}),R.events.on(\"modals.hide\",function(){U&&(we(),R.selection.clear())}),R.events.on(\"image.resizeEnd\",function(){R.win.getSelection&&z(U)}),R.events.on(\"filestack-init\",function(){X()}),R.events.on(\"filestack-init-edit\",function(){for(var e=R.$(\".fr-popup:not(.fr-do-not-hide)\"),t=e.length-1;0<=t;t--)e[t].parentElement.removeChild(e[t]);N()}),R.opts.imageAddNewLine&&R.events.on(\"image.inserted\",function(e){var t=e.get(0);for(t.nextSibling&&\"BR\"===t.nextSibling.tagName&&(t=t.nextSibling);t&&!R.node.isElement(t);)t=R.node.isLastSibling(t)?t.parentNode:null;R.node.isElement(t)&&(R.opts.enter===Me.ENTER_BR?e.after(\"<br>\"):A(R.node.blockParent(e.get(0))).after(\"<\".concat(R.html.defaultTag(),\"><br></\").concat(R.html.defaultTag(),\">\")))})})(),\"IMG\"==R.el.tagName&&R.$el.addClass(\"fr-view\"),R.events.$on(R.$el,R.helpers.isMobile()&&!R.helpers.isWindowsPhone()?\"touchend\":\"click\",\"IMG\"==R.el.tagName?null:'img:not([contenteditable=\"false\"])',ge),R.helpers.isMobile()&&(R.events.$on(R.$el,\"touchstart\",\"IMG\"==R.el.tagName?null:'img:not([contenteditable=\"false\"])',function(){a=!1}),R.events.$on(R.$el,\"touchmove\",function(){a=!0})),R.$wp?(R.events.on(\"window.keydown keydown\",ie,!0),R.events.on(\"keyup\",function(e){if(U&&e.which==Me.KEYCODE.ENTER)return!1},!0),R.events.$on(R.$el,\"keydown\",function(){var e=R.selection.element();(e.nodeType===Node.TEXT_NODE||\"BR\"==e.tagName&&R.node.isLastSibling(e))&&(e=e.parentNode),R.node.hasClass(e,\"fr-inner\")||(R.node.hasClass(e,\"fr-img-caption\")||(e=A(e).parents(\".fr-img-caption\").get(0)),R.node.hasClass(e,\"fr-img-caption\")&&(R.opts.trackChangesEnabled||A(e).after(Me.INVISIBLE_SPACE+Me.MARKERS),R.selection.restore()))})):R.events.$on(R.$win,\"keydown\",ie),R.events.on(\"toolbar.esc\",function(){if(U){if(R.$wp)R.events.disableBlur(),R.events.focus();else{var e=U;ce(!0),R.selection.setAfter(e.get(0)),R.selection.restore()}return!1}},!0),R.events.on(\"toolbar.focusEditor\",function(){if(U)return!1},!0),R.events.on(\"window.cut window.copy\",function(e){if(U&&R.popups.isVisible(\"image.edit\")&&!R.popups.get(\"image.edit\").find(\":focus\").length){var t=Ce();Se()?(t.before(Me.START_MARKER),t.after(Me.END_MARKER),R.selection.restore(),R.paste.saveCopiedText(t.get(0).outerHTML,t.text())):(we(),R.paste.saveCopiedText(U.get(0).outerHTML,U.attr(\"alt\"))),\"copy\"==e.type?setTimeout(function(){z(U)}):(ce(!0),R.undo.saveStep(),setTimeout(function(){R.undo.saveStep()},0))}},!0),R.browser.msie&&R.events.on(\"keydown\",function(e){if(!R.selection.isCollapsed()||!U)return!0;var t=e.which;t==Me.KEYCODE.C&&R.keys.ctrlKey(e)?R.events.trigger(\"window.copy\"):t==Me.KEYCODE.X&&R.keys.ctrlKey(e)&&R.events.trigger(\"window.cut\")}),R.events.$on(A(R.o_win),\"keydown\",function(e){if(R.opts.pluginsEnabled.includes(\"filestack\")&&R.opts.iframe){var t=document.getElementsByClassName(\"fs-transforms-container\"),a=!1;if(t&&t.length){var i,r=Ke(t);try{for(r.s();!(i=r.n()).done;){var n=i.value;n.childNodes&&n.childNodes.length&&(a=!0)}}catch(s){r.e(s)}finally{r.f()}}a&&(U=null)}var o=e.which;if(U&&o==Me.KEYCODE.BACKSPACE)return e.preventDefault(),!1}),R.events.$on(R.$win,\"keydown\",function(e){var t=e.which;U&&U.hasClass(\"fr-uploading\")&&t==Me.KEYCODE.ESC&&U.trigger(\"abortUpload\")}),R.events.on(\"destroy\",function(){U&&U.hasClass(\"fr-uploading\")&&U.trigger(\"abortUpload\")}),R.events.on(\"paste.before\",pe),R.events.on(\"paste.beforeCleanup\",fe),R.events.on(\"paste.after\",oe),R.events.on(\"html.set\",l),R.events.on(\"html.inserted\",l),l(),R.events.on(\"destroy\",function(){c=[]}),R.events.on(\"html.processGet\",re),R.opts.imageOutputSize&&R.events.on(\"html.beforeGet\",function(){n=R.el.querySelectorAll(\"img\");for(var e=0;e<n.length;e++){var t=parseFloat(A(n[e]).css(\"padding-left\"))+parseFloat(A(n[e]).css(\"padding-right\")),a=A(n[e]).width()-t,i=n[e].style.width||a,r=n[e].style.height||A(n[e]).height();i&&n[e].setAttribute(\"width\",\"\".concat(i).replace(/px/,\"\")),r&&n[e].setAttribute(\"height\",\"\".concat(r).replace(/px/,\"\"))}}),R.opts.iframe&&R.events.on(\"image.loaded\",R.size.syncIframe),R.$wp&&(b(),R.events.on(\"contentChanged\",b)),R.events.$on(A(R.o_win),\"orientationchange.image\",function(){setTimeout(function(){U&&z(U)},100)}),N(!0),X(!0),ee(!0),J(!0),R.events.on(\"node.remove\",function(e){if(\"IMG\"==e.get(0).tagName)return ae(e),!1})},showInsertPopup:function Ue(){var e=R.$tb.find('.fr-command[data-cmd=\"insertImage\"]'),t=R.popups.get(\"image.insert\");if(t||(t=X()),k(),!t.hasClass(\"fr-active\"))if(R.popups.refresh(\"image.insert\"),R.popups.setContainer(\"image.insert\",R.$tb),e.isVisible()){var a=R.button.getPosition(e),i=a.left,r=a.top;R.popups.show(\"image.insert\",i,r,e.outerHeight())}else R.position.forSelection(t),R.popups.show(\"image.insert\")},showLayer:function xe(e){var t,a,i=R.popups.get(\"image.insert\");if(U||R.opts.toolbarInline){if(U){var r=Ce(),n=0;Se()&&(r=r.find(\".fr-img-wrap\"),n=U.outerWidth()/2),a=r.offset().top+r.outerHeight(),t=r.offset().left+n}}else{var o=R.$tb.find('.fr-command[data-cmd=\"insertImage\"]');t=o.offset().left,a=o.offset().top+(R.opts.toolbarBottom?10:o.outerHeight()-10)}!U&&R.opts.toolbarInline&&(a=i.offset().top-R.helpers.getPX(i.css(\"margin-top\")),i.hasClass(\"fr-above\")&&(a+=i.outerHeight())),i.find(\".fr-layer\").removeClass(\"fr-active\"),i.find(\".fr-\".concat(e,\"-layer\")).addClass(\"fr-active\"),R.popups.show(\"image.insert\",t,a,U?U.outerHeight():0,Se()),R.accessibility.focusPopup(i)},refreshUploadButton:function De(e){var t=R.popups.get(\"image.insert\");t&&t.find(\".fr-image-upload-layer\").hasClass(\"fr-active\")&&e.addClass(\"fr-active\").attr(\"aria-pressed\",!0)},refreshByURLButton:function Te(e){var t=R.popups.get(\"image.insert\");t&&t.find(\".fr-image-by-url-layer\").hasClass(\"fr-active\")&&e.addClass(\"fr-active\").attr(\"aria-pressed\",!0)},upload:H,insertByURL:function $e(){var e=R.popups.get(\"image.insert\").find(\".fr-image-by-url-layer input\");if(0<e.val().length){P(),B(R.language.translate(\"Loading image\"));var t=e.val().trim();if(R.opts.imageUploadRemoteUrls&&R.opts.imageCORSProxy&&R.opts.imageUpload){var a=new XMLHttpRequest;a.onload=function(){200==this.status?H([new Blob([this.response],{type:this.response.type||\"image/png\"})],U):I(i)},a.onerror=function(){_(t,!0,[],U)},a.open(\"GET\",\"\".concat(R.opts.imageCORSProxy,\"/\").concat(t),!0),a.responseType=\"blob\",a.send()}else _(t,!0,[],U);e.val(\"\"),e.blur()}},align:function Ie(e){var t=Ce();t.removeClass(\"fr-fir fr-fil\"),!R.opts.htmlUntouched&&R.opts.useClasses?\"left\"==e?t.addClass(\"fr-fil\"):\"right\"==e&&t.addClass(\"fr-fir\"):he(t,be(),e),we(),x(),n(),R.selection.clear()},refreshAlign:function Ne(e){U&&e.find(\"> *\").first().replaceWith(R.icon.create(\"image-align-\".concat(ve())))},refreshAlignOnShow:function Pe(e,t){U&&t.find('.fr-command[data-param1=\"'.concat(ve(),'\"]')).addClass(\"fr-active\").attr(\"aria-selected\",!0)},display:function ke(e){var t=Ce();t.removeClass(\"fr-dii fr-dib\"),!R.opts.htmlUntouched&&R.opts.useClasses?\"inline\"==e?t.addClass(\"fr-dii\"):\"block\"==e&&t.addClass(\"fr-dib\"):he(t,e,ve()),we(),x(),n(),R.selection.clear()},refreshDisplayOnShow:function Be(e,t){U&&t.find('.fr-command[data-param1=\"'.concat(be(),'\"]')).addClass(\"fr-active\").attr(\"aria-selected\",!0)},replace:ye,back:function e(){U?(R.events.disableBlur(),A(\".fr-popup input:focus\").blur(),z(U)):(R.events.disableBlur(),R.selection.restore(),R.events.enableBlur(),R.popups.hide(\"image.insert\"),R.toolbar.showInline())},get:Ae,getEl:Ce,insert:_,showProgressBar:P,remove:ae,hideProgressBar:k,applyStyle:function Oe(e,t,a){if(void 0===t&&(t=R.opts.imageStyles),void 0===a&&(a=R.opts.imageMultipleStyles),!U)return!1;var i=Ce();if(!a){var r=Object.keys(t);r.splice(r.indexOf(e),1),i.removeClass(r.join(\" \"))}\"object\"==We(t[e])?(i.removeAttr(\"style\"),i.css(t[e].style)):(i.toggleClass(e),Se()&&U.hasClass(e)&&U.removeClass(e)),z(U)},showAltPopup:j,showSizePopup:Z,setAlt:function ze(e){if(U){var t=R.popups.get(\"image.alt\");U.attr(\"alt\",e||t.find(\"input\").val()||\"\"),t.find(\"input:focus\").blur(),z(U)}},setSize:function Le(e,t){if(U){var a=R.popups.get(\"image.size\");e=e||a.find('input[name=\"width\"]').val()||\"\",t=t||a.find('input[name=\"height\"]').val()||\"\";var i=/^[\\d]+((px)|%)*$/g;U.removeAttr(\"width\").removeAttr(\"height\"),e.match(i)?U.css(\"width\",e):U.css(\"width\",\"\"),t.match(i)?U.css(\"height\",t):U.css(\"height\",\"\"),Se()&&(U.parents(\".fr-img-caption\").removeAttr(\"width\").removeAttr(\"height\"),e.match(i)?U.parents(\".fr-img-caption\").css(\"width\",e):U.parents(\".fr-img-caption\").css(\"width\",\"\"),t.match(i)?U.parents(\".fr-img-caption\").css(\"height\",t):U.parents(\".fr-img-caption\").css(\"height\",\"\")),a&&a.find(\"input:focus\").blur(),z(U)}},toggleCaption:function _e(){var e,t=R.$el.get(0),a=[\"fr-dii\",\"fr-dib\",\"fr-fil\",\"fr-fir\"];if(U&&!Se()){(e=U).parent().is(\"a\")&&(e=U.parent());var i=U.parents(\"ul\")&&0<U.parents(\"ul\").length?U.parents(\"ul\"):U.parents(\"ol\")&&0<U.parents(\"ol\").length?U.parents(\"ol\"):[];if(0<i.length){var r=i.find(\"li\").length,n=U.parents(\"li\"),o=document.createElement(\"li\");r-1===n.index()&&(i.append(o),o.innerHTML=\"&nbsp;\")}var s,l,p=(U.attr(\"class\")||\"\").split(/\\s+/),f=p.filter(function(e){return a.includes(e)});U.attr(\"class\",p.filter(function(e){return!a.includes(e)}).join(\" \")),e.attr(\"style\")?l=-1<(s=e.attr(\"style\").split(\":\")).indexOf(\"width\")?s[s.indexOf(\"width\")+1].replace(\";\",\"\"):\"\":e.attr(\"width\")&&(l=e.attr(\"width\"));var g=R.opts.imageResizeWithPercent?(-1<l.indexOf(\"px\")?null:l)||\"100%\":U.width()+\"px\";e.wrap('<div class=\"fr-img-space-wrap\"><span '+(R.browser.mozilla?\"\":'contenteditable=\"false\"')+'class=\"fr-img-caption '+f.join(\" \")+'\" style=\"'+(e.attr(\"style\")||\"\")+'\" draggable=\"false\"></span></div>'),e.wrap('<span class=\"fr-img-wrap\"></span>'),U.after('<span class=\"fr-inner\"'.concat(R.browser.mozilla?\"\":' contenteditable=\"true\"',\">\").concat(Me.START_MARKER).concat(R.language.translate(\"Image Caption\")).concat(Me.END_MARKER,\"</span>\")),U.parents(\".fr-img-caption\").css(\"width\",g);var c=U.parents(\".fr-img-space-wrap\").length;1==c?Ee(t.querySelector(\".fr-img-space-wrap\")):1<c&&(Ee(t.querySelector(\".fr-img-space-wrap\")),Ee(t.querySelector(\".fr-img-space-wrap2\"))),ce(!0),R.selection.restore()}else{if(e=Ce(),U.insertBefore(e),null!==e[0].querySelector(\"a\")){for(var d,u=e[0].querySelector(\"a\"),m=document.createElement(\"a\"),h=0,v=u.attributes,b=v.length;h<b;h++)d=v[h],m.setAttribute(d.nodeName,d.nodeValue);U.wrap(m)}var y=(e.attr(\"class\")||\"\").split(/\\s+/),w=[\"fr-img-caption\"],A=y.filter(function(e){return!w.includes(e)}),C=(U.attr(\"class\")||\"\").split(/\\s+/),S=Ye(new Set(C.concat(A)));U.attr(\"class\",S.join(\" \")).attr(\"style\",e.attr(\"style\")),e.remove();var E=U.parents(\".fr-img-space-wrap\").length;1==E?Ee(t.querySelector(\".fr-img-space-wrap\")):1<E&&(Ee(t.querySelector(\".fr-img-space-wrap\")),Ee(t.querySelector(\".fr-img-space-wrap2\"))),z(U)}},hasCaption:Se,exitEdit:ce,edit:z}},Me.DefineIcon(\"insertImage\",{NAME:\"image\",SVG_KEY:\"insertImage\"}),Me.RegisterShortcut(Me.KEYCODE.P,\"insertImage\",null,\"P\"),Me.RegisterCommand(\"insertImage\",{title:\"Insert Image\",undo:!1,focus:!0,refreshAfterCallback:!1,popup:!0,callback:function(){this.popups.isVisible(\"image.insert\")?(this.$el.find(\".fr-marker\").length&&(this.events.disableBlur(),this.selection.restore()),this.popups.hide(\"image.insert\")):this.image.showInsertPopup()},plugin:\"image\"}),Me.DefineIcon(\"imageUpload\",{NAME:\"upload\",SVG_KEY:\"upload\"}),Me.RegisterCommand(\"imageUpload\",{title:\"Upload Image\",undo:!1,focus:!1,toggle:!0,callback:function(){this.image.showLayer(\"image-upload\")},refresh:function(e){this.image.refreshUploadButton(e)}}),Me.DefineIcon(\"imageByURL\",{NAME:\"link\",SVG_KEY:\"insertLink\"}),Me.RegisterCommand(\"imageByURL\",{title:\"By URL\",undo:!1,focus:!1,toggle:!0,callback:function(){this.image.showLayer(\"image-by-url\")},refresh:function(e){this.image.refreshByURLButton(e)}}),Me.RegisterCommand(\"imageInsertByURL\",{title:\"Insert Image\",undo:!0,refreshAfterCallback:!1,callback:function(){this.image.insertByURL()},refresh:function(e){this.image.get()?e.text(this.language.translate(\"Replace\")):e.text(this.language.translate(\"Insert\"))}}),Me.DefineIcon(\"imageDisplay\",{NAME:\"star\",SVG_KEY:\"imageDisplay\"}),Me.RegisterCommand(\"imageDisplay\",{title:\"Display\",type:\"dropdown\",options:{inline:\"Inline\",block:\"Break Text\"},callback:function(e,t){this.image.display(t)},refresh:function(e){this.opts.imageTextNear||e.addClass(\"fr-hidden\")},refreshOnShow:function(e,t){this.image.refreshDisplayOnShow(e,t)}}),Me.DefineIcon(\"image-align\",{NAME:\"align-left\",SVG_KEY:\"alignLeft\"}),Me.DefineIcon(\"image-align-left\",{NAME:\"align-left\",SVG_KEY:\"alignLeft\"}),Me.DefineIcon(\"image-align-right\",{NAME:\"align-right\",SVG_KEY:\"alignRight\"}),Me.DefineIcon(\"image-align-center\",{NAME:\"align-justify\",SVG_KEY:\"alignCenter\"}),Me.DefineIcon(\"imageAlign\",{NAME:\"align-justify\",SVG_KEY:\"alignJustify\"}),Me.RegisterCommand(\"imageAlign\",{type:\"dropdown\",title:\"Align\",options:{left:\"Align Left\",center:\"Align Center\",right:\"Align Right\"},html:function(){var e='<ul class=\"fr-dropdown-list\" role=\"presentation\">',t=Me.COMMANDS.imageAlign.options;for(var a in t)t.hasOwnProperty(a)&&(e+='<li role=\"presentation\"><a class=\"fr-command fr-title\" tabIndex=\"-1\" role=\"option\" data-cmd=\"imageAlign\" data-param1=\"'.concat(a,'\" title=\"').concat(this.language.translate(t[a]),'\">').concat(this.icon.create(\"image-align-\".concat(a)),'<span class=\"fr-sr-only\">').concat(this.language.translate(t[a]),\"</span></a></li>\"));return e+=\"</ul>\"},callback:function(e,t){this.image.align(t)},refresh:function(e){this.image.refreshAlign(e)},refreshOnShow:function(e,t){this.image.refreshAlignOnShow(e,t)}}),Me.DefineIcon(\"imageReplace\",{NAME:\"exchange\",FA5NAME:\"exchange-alt\",SVG_KEY:\"replaceImage\"}),Me.RegisterCommand(\"imageReplace\",{title:\"Replace\",undo:!1,focus:!1,popup:!0,refreshAfterCallback:!1,callback:function(){this.image.replace()}}),Me.DefineIcon(\"imageRemove\",{NAME:\"trash\",SVG_KEY:\"remove\"}),Me.RegisterCommand(\"imageRemove\",{title:\"Remove\",callback:function(){this.image.remove()}}),Me.DefineIcon(\"imageBack\",{NAME:\"arrow-left\",SVG_KEY:\"back\"}),Me.RegisterCommand(\"imageBack\",{title:\"Back\",undo:!1,focus:!1,back:!0,callback:function(){this.image.back()},refresh:function(e){this.$;this.image.get()||this.opts.toolbarInline?(e.removeClass(\"fr-hidden\"),e.next(\".fr-separator\").removeClass(\"fr-hidden\")):(e.addClass(\"fr-hidden\"),e.next(\".fr-separator\").addClass(\"fr-hidden\"))}}),Me.RegisterCommand(\"imageDismissError\",{title:\"OK\",undo:!1,callback:function(){this.image.hideProgressBar(!0)}}),Me.DefineIcon(\"imageStyle\",{NAME:\"magic\",SVG_KEY:\"imageClass\"}),Me.RegisterCommand(\"imageStyle\",{title:\"Style\",type:\"dropdown\",html:function(){var e='<ul class=\"fr-dropdown-list\" role=\"presentation\">',t=this.opts.imageStyles;for(var a in t)if(t.hasOwnProperty(a)){var i=t[a];\"object\"==We(i)&&(i=i.title),e+='<li role=\"presentation\"><a class=\"fr-command\" tabIndex=\"-1\" role=\"option\" data-cmd=\"imageStyle\" data-param1=\"'.concat(a,'\">').concat(this.language.translate(i),\"</a></li>\")}return e+=\"</ul>\"},callback:function(e,t){this.image.applyStyle(t)},refreshOnShow:function(e,t){var a=this.$,i=this.image.getEl();i&&t.find(\".fr-command\").each(function(){var e=a(this).data(\"param1\"),t=i.hasClass(e);a(this).toggleClass(\"fr-active\",t).attr(\"aria-selected\",t)})}}),Me.DefineIcon(\"imageAlt\",{NAME:\"info\",SVG_KEY:\"imageAltText\"}),Me.RegisterCommand(\"imageAlt\",{undo:!1,focus:!1,popup:!0,title:\"Alternative Text\",callback:function(){this.image.showAltPopup()}}),Me.RegisterCommand(\"imageSetAlt\",{undo:!0,focus:!1,title:\"Update\",refreshAfterCallback:!1,callback:function(){this.image.setAlt()}}),Me.DefineIcon(\"imageSize\",{NAME:\"arrows-alt\",SVG_KEY:\"imageSize\"}),Me.RegisterCommand(\"imageSize\",{undo:!1,focus:!1,popup:!0,title:\"Change Size\",callback:function(){this.image.showSizePopup()}}),Me.RegisterCommand(\"imageSetSize\",{undo:!0,focus:!1,title:\"Update\",refreshAfterCallback:!1,callback:function(){this.image.setSize()}}),Me.DefineIcon(\"imageCaption\",{NAME:\"commenting\",FA5NAME:\"comment-alt\",SVG_KEY:\"imageCaption\"}),Me.RegisterCommand(\"imageCaption\",{undo:!0,focus:!1,title:\"Image Caption\",refreshAfterCallback:!0,callback:function(){this.image.toggleCaption()},refresh:function(e){this.image.get()&&e.toggleClass(\"fr-active\",this.image.hasCaption())}})});","/*!\n * froala_editor v4.6.2 (https://www.froala.com/wysiwyg-editor)\n * License https://froala.com/wysiwyg-editor/terms/\n * Copyright 2014-2025 Froala Labs\n */\n\n!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?t(require(\"froala-editor\")):\"function\"==typeof define&&define.amd?define([\"froala-editor\"],t):t(e.FroalaEditor)}(this,function(C){\"use strict\";C=C&&C.hasOwnProperty(\"default\")?C[\"default\"]:C,Object.assign(C.POPUP_TEMPLATES,{\"link.edit\":\"[_BUTTONS_]\",\"link.insert\":\"[_BUTTONS_][_INPUT_LAYER_]\"}),Object.assign(C.DEFAULTS,{linkEditButtons:[\"linkOpen\",\"linkStyle\",\"linkEdit\",\"linkRemove\"],linkInsertButtons:[\"linkBack\",\"|\",\"linkList\"],linkAttributes:{},linkAutoPrefix:\"http://\",linkStyles:{\"fr-green\":\"Green\",\"fr-strong\":\"Thick\"},linkMultipleStyles:!0,linkConvertEmailAddress:!0,linkAlwaysBlank:!1,linkAlwaysNoFollow:!1,linkNoOpener:!0,linkNoReferrer:!0,linkList:[{text:\"Froala\",href:\"https://froala.com\",target:\"_blank\"},{text:\"Google\",href:\"https://google.com\",target:\"_blank\"},{displayText:\"Facebook\",href:\"https://facebook.com\"}],linkText:!0}),C.PLUGINS.link=function(h){var m=h.$;function v(){var e=h.image?h.image.get():null;if(e||!h.$wp)return\"A\"==h.el.tagName?h.el:e&&e.get(0).parentNode&&\"A\"==e.get(0).parentNode.tagName?e.get(0).parentNode:void 0;var t=h.selection.ranges(0).commonAncestorContainer;try{t&&(t.contains&&t.contains(h.el)||!h.el.contains(t)||h.el==t)&&(t=null)}catch(l){t=null}if(t&&\"A\"===t.tagName)return t;var n,i,r=h.selection.element(),a=h.selection.endElement();\"A\"==r.tagName||h.node.isElement(r)||(r=h.opts.iframe&&null!==(n=h.markdown)&&void 0!==n&&n.isEnabled()?null:m(r).parentsUntil(h.$el,\"a\").first().get(0));\"A\"==a.tagName||h.node.isElement(a)||(a=h.opts.iframe&&null!==(i=h.markdown)&&void 0!==i&&i.isEnabled()?null:m(a).parentsUntil(h.$el,\"a\").first().get(0));try{a&&(a.contains&&a.contains(h.el)||!h.el.contains(a)||h.el==a)&&(a=null)}catch(l){a=null}try{r&&(r.contains&&r.contains(h.el)||!h.el.contains(r)||h.el==r)&&(r=null)}catch(l){r=null}return a&&a==r&&\"A\"==a.tagName?(h.browser.msie||h.helpers.isMobile())&&(h.selection.info(r).atEnd||h.selection.info(r).atStart)?null:r:null}function b(){var e,t,n,i,r=h.image?h.image.get():null,a=[];if(r)\"A\"==r.get(0).parentNode.tagName&&a.push(r.get(0).parentNode);else if(h.win.getSelection){var l=h.win.getSelection();if(l.getRangeAt&&l.rangeCount){i=h.doc.createRange();for(var s=0;s<l.rangeCount;++s)if((t=(e=l.getRangeAt(s)).commonAncestorContainer)&&1!=t.nodeType&&(t=t.parentNode),t&&\"a\"==t.nodeName.toLowerCase())a.push(t);else{n=t.getElementsByTagName(\"a\");for(var o=0;o<n.length;++o)i.selectNodeContents(n[o]),i.compareBoundaryPoints(e.END_TO_START,e)<1&&-1<i.compareBoundaryPoints(e.START_TO_END,e)&&a.push(n[o])}}}else if(h.doc.selection&&\"Control\"!=h.doc.selection.type)if(\"a\"==(t=(e=h.doc.selection.createRange()).parentElement()).nodeName.toLowerCase())a.push(t);else{n=t.getElementsByTagName(\"a\"),i=h.doc.body.createTextRange();for(var c=0;c<n.length;++c)i.moveToElementText(n[c]),-1<i.compareEndPoints(\"StartToEnd\",e)&&i.compareEndPoints(\"EndToStart\",e)<1&&a.push(n[c])}return a}function E(r){if(h.core.hasFocus()||h.opts.iframe&&(!document.hasFocus||document.hasFocus())){if(a(),r&&\"keyup\"===r.type&&(r.altKey||r.which==C.KEYCODE.ALT))return!0;setTimeout(function(){if(!r||r&&(1==r.which||\"mouseup\"!=r.type)){var e=v(),t=h.image?h.image.get():null;if(e&&!t){if(h.image){var n=h.node.contents(e);if(1==n.length&&\"IMG\"==n[0].tagName){var i=h.selection.ranges(0);return 0===i.startOffset&&0===i.endOffset?m(e).before(C.INVISIBLE_SPACE+C.MARKERS):m(e).after(C.INVISIBLE_SPACE+C.MARKERS),h.selection.restore(),!1}}r&&r.stopPropagation(),l(e)}}},h.helpers.isIOS()?100:0)}}function l(e){var t=h.popups.get(\"link.edit\");t||(t=function a(){var e=\"\";1<=h.opts.linkEditButtons.length&&(\"A\"==h.el.tagName&&0<=h.opts.linkEditButtons.indexOf(\"linkRemove\")&&h.opts.linkEditButtons.splice(h.opts.linkEditButtons.indexOf(\"linkRemove\"),1),e='<div class=\"fr-buttons\">'.concat(h.button.buildList(h.opts.linkEditButtons),\"</div>\"));var t={buttons:e},n=h.popups.create(\"link.edit\",t);h.$wp&&h.events.$on(h.$wp,\"scroll.link-edit\",function(){v()&&h.popups.isVisible(\"link.edit\")&&l(v())});return n}());var n=m(e);h.popups.isVisible(\"link.edit\")||h.popups.refresh(\"link.edit\"),h.popups.setContainer(\"link.edit\",h.$sc);var i=n.offset().left+n.outerWidth()/2,r=n.offset().top+n.outerHeight();h.popups.show(\"link.edit\",i,r,n.outerHeight(),!0)}function a(){h.popups.hide(\"link.edit\")}function o(){var e=h.popups.get(\"link.insert\"),t=v();if(t){var n,i,r=m(t),a=e.find('input.fr-link-attr[type=\"text\"]'),l=e.find('input.fr-link-attr[type=\"checkbox\"]');for(n=0;n<a.length;n++){var s=(i=m(a[n])).attr(\"name\")||\"\",o=\"href\"===s?decodeURI(r.attr(s)):r.attr(s);i.val(o)}for(l.attr(\"checked\",!1),n=0;n<l.length;n++)i=m(l[n]),r.attr(i.attr(\"name\"))==i.data(\"checked\")&&i.attr(\"checked\",!0);e.find('input.fr-link-attr[type=\"text\"][name=\"text\"]').val(r.text())}else e.find('input.fr-link-attr[type=\"text\"]').val(\"\"),e.find('input.fr-link-attr[type=\"checkbox\"]').attr(\"checked\",!1),e.find('input.fr-link-attr[type=\"text\"][name=\"text\"]').val(h.selection.text());e.find(\"input.fr-link-attr\").trigger(\"change\"),(h.image?h.image.get():null)?e.find('.fr-link-attr[name=\"text\"]').parent().hide():e.find('.fr-link-attr[name=\"text\"]').parent().show()}function s(e){if(e)return h.popups.onRefresh(\"link.insert\",o),!0;var t=\"\";1<=h.opts.linkInsertButtons.length&&(t='<div class=\"fr-buttons fr-tabs\">'.concat(h.button.buildList(h.opts.linkInsertButtons),\"</div>\"));var n=\"\",i=0;for(var r in n='<div class=\"fr-link-insert-layer fr-layer fr-active\" id=\"fr-link-insert-layer-'.concat(h.id,'\">'),n+='<div class=\"fr-input-line\"><input id=\"fr-link-insert-layer-url-'.concat(h.id,'\" name=\"href\" type=\"text\" class=\"fr-link-attr\" placeholder=\"').concat(h.language.translate(\"URL\"),'\" tabIndex=\"').concat(++i,'\"></div>'),h.opts.linkText&&(n+='<div class=\"fr-input-line\"><input id=\"fr-link-insert-layer-text-'.concat(h.id,'\" name=\"text\" type=\"text\" class=\"fr-link-attr\" placeholder=\"').concat(h.language.translate(\"Text\"),'\" tabIndex=\"').concat(++i,'\"></div>')),h.opts.linkAttributes)if(h.opts.linkAttributes.hasOwnProperty(r)){var a=h.opts.linkAttributes[r];n+='<div class=\"fr-input-line\"><input name=\"'.concat(r,'\" type=\"text\" class=\"fr-link-attr\" placeholder=\"').concat(h.language.translate(a),'\" tabIndex=\"').concat(++i,'\"></div>')}h.opts.linkAlwaysBlank||(n+='<div class=\"fr-checkbox-line\"><span class=\"fr-checkbox\"><input name=\"target\" class=\"fr-link-attr\" data-checked=\"_blank\" type=\"checkbox\" id=\"fr-link-target-'.concat(h.id,'\" tabIndex=\"').concat(++i,'\"><span>').concat('<svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"10\" height=\"10\" viewBox=\"0 0 32 32\"><path d=\"M27 4l-15 15-7-7-5 5 12 12 20-20z\" fill=\"#FFF\"></path></svg>','</span></span><label id=\"fr-label-target-').concat(h.id,'\">').concat(h.language.translate(\"Open in new tab\"),\"</label></div>\"));var l={buttons:t,input_layer:n+='<div class=\"fr-action-buttons\"><button class=\"fr-command fr-submit\" role=\"button\" data-cmd=\"linkInsert\" href=\"#\" tabIndex=\"'.concat(++i,'\" type=\"button\">').concat(h.language.translate(\"Insert\"),\"</button></div></div>\")},s=h.popups.create(\"link.insert\",l);return h.$wp&&h.events.$on(h.$wp,\"scroll.link-insert\",function(){(h.image?h.image.get():null)&&h.popups.isVisible(\"link.insert\")&&f(),h.popups.isVisible(\"link.insert\")&&p()}),s}function c(e,t,n){if(h.opts.trackChangesEnabled){if(h.edit.on(),h.events.focus(!0),h.undo.saveStep(),h.markers.insert(),h.html.wrap(),!h.$el.find(\".fr-marker\").length)return void h.popups.hide(\"link.insert\");h.markers.remove()}if(void 0===n&&(n={}),!1===h.events.trigger(\"link.beforeInsert\",[e,t,n]))return!1;var i=h.image?h.image.get():null;i||\"A\"==h.el.tagName?\"A\"==h.el.tagName&&h.$el.focus():(h.selection.restore(),h.popups.hide(\"link.insert\"));var r=e;h.opts.linkConvertEmailAddress&&h.helpers.isEmail(e)&&!/^mailto:.*/i.test(e)&&(e=\"mailto:\".concat(e));if(\"\"===h.opts.linkAutoPrefix||new RegExp(\"^(\"+C.LinkProtocols.join(\"|\")+\"):.\",\"i\").test(e)||/^data:image.*/i.test(e)||/^(https?:|ftps?:|file:|)\\/\\//i.test(e)||/^([A-Za-z]:(\\\\){1,2}|[A-Za-z]:((\\\\){1,2}[^\\\\]+)+)(\\\\)?$/i.test(e)||[\"/\",\"{\",\"[\",\"#\",\"(\",\".\",'\"',\"\\\\\"].indexOf((e||\"\")[0])<0&&(e=h.opts.linkAutoPrefix+e),(e=h.helpers.sanitizeURL(e))===decodeURIComponent(e)&&(e=encodeURI(e)),h.opts.linkAlwaysBlank&&(n.target=\"_blank\"),h.opts.linkAlwaysNoFollow&&(n.rel=\"nofollow\"),h.helpers.isEmail(r)&&(n.target=null,n.rel=null),\"_blank\"==n.target?(h.opts.linkNoOpener&&(n.rel?n.rel+=\" noopener\":n.rel=\"noopener\"),h.opts.linkNoReferrer&&(n.rel?n.rel+=\" noreferrer\":n.rel=\"noreferrer\")):null==n.target&&(n.rel?n.rel=n.rel.replace(/noopener/,\"\").replace(/noreferrer/,\"\"):n.rel=null),t=t||\"\",e===h.opts.linkAutoPrefix)return h.popups.get(\"link.insert\").find('input[name=\"href\"]').addClass(\"fr-error\"),h.events.trigger(\"link.bad\",[r]),!1;var a,l=v();if(l){if((a=m(l)).attr(\"href\",e),0<t.length&&a.text()!=t&&!i){if(h.opts.trackChangesEnabled){var s=m(a.get(0).outerHTML);s.insertBefore(a.parent());var o=h.track_changes.wrapLinkInTracking(s,h.track_changes.getPendingChanges().length-1),c=h.track_changes.wrapInDelete(o);a.parent().append(c)}for(var p=a.get(0);1===p.childNodes.length&&p.childNodes[0].nodeType==Node.ELEMENT_NODE;)p=p.childNodes[0];m(p).text(t)}for(var f in i||a.prepend(C.START_MARKER).append(C.END_MARKER),n)n[f]?a.attr(f,n[f]):a.removeAttr(f);i||h.selection.restore()}else{i?(i.wrap('<a href=\"'.concat(e,'\"></a>')),h.image.hasCaption()&&i.parent().append(i.parents(\".fr-img-caption\").find(\".fr-inner\"))):(h.format.remove(\"a\"),h.selection.isCollapsed()?(t=0===t.length?r:t,h.html.insert('<a href=\"'.concat(e,'\">').concat(C.START_MARKER).concat(t.replace(/&/g,\"&amp;\").replace(/</g,\"&lt;\").replace(/>/g,\"&gt;\")).concat(C.END_MARKER,\"</a>\")),h.selection.restore()):0<t.length&&t!=h.selection.text().replace(/\\n/g,\"\")?(h.selection.remove(),h.html.insert('<a href=\"'.concat(e,'\">').concat(C.START_MARKER).concat(t.replace(/&/g,\"&amp;\")).concat(C.END_MARKER,\"</a>\")),h.selection.restore()):(!function g(){if(!h.selection.isCollapsed()){h.selection.save();for(var e=h.$el.find(\".fr-marker\").addClass(\"fr-unprocessed\").toArray();e.length;){var t=m(e.pop());t.removeClass(\"fr-unprocessed\");var n=h.node.deepestParent(t.get(0));if(n){for(var i=t.get(0),r=\"\",a=\"\";i=i.parentNode,h.node.isBlock(i)||(r+=h.node.closeTagString(i),a=h.node.openTagString(i)+a),i!=n;);var l=h.node.openTagString(t.get(0))+t.html()+h.node.closeTagString(t.get(0));t.replaceWith('<span id=\"fr-break\"></span>');var s=n.outerHTML;s=(s=s.replace(/<span id=\"fr-break\"><\\/span>/g,r+l+a)).replace(a+r,\"\"),n.outerHTML=s}e=h.$el.find(\".fr-marker.fr-unprocessed\").toArray()}h.html.cleanEmptyTags(),h.selection.restore()}}(),h.format.apply(\"a\",{href:e})));for(var d=b(),u=0;u<d.length;u++)(a=m(d[u])).attr(n),a.removeAttr(\"_moz_dirty\");1==d.length&&h.$wp&&!i&&(m(d[0]).prepend(C.START_MARKER).append(C.END_MARKER),h.selection.restore())}if(i){var k=h.popups.get(\"link.insert\");k&&k.find(\"input:focus\").blur(),h.image.edit(i)}else E()}function p(){a();var e=v();if(e){var t=h.popups.get(\"link.insert\");t||(t=s()),h.popups.isVisible(\"link.insert\")||(h.popups.refresh(\"link.insert\"),h.selection.save(),h.helpers.isMobile()&&(h.events.disableBlur(),h.$el.blur(),h.events.enableBlur())),h.popups.setContainer(\"link.insert\",h.$sc);var n=(h.image?h.image.get():null)||m(e),i=n.offset().left+n.outerWidth()/2,r=n.offset().top+n.outerHeight();h.popups.show(\"link.insert\",i,r,n.outerHeight(),!0)}}function f(){var e=h.image?h.image.getEl():null;if(e){var t=h.popups.get(\"link.insert\"),n=e.outerWidth()/2;h.image.hasCaption()&&(e=e.find(\".fr-img-wrap\"),m(e)&&m(e).find(\"img\")&&(n=m(e).find(\"img\").outerWidth()/2)),t||(t=s()),o(),h.popups.setContainer(\"link.insert\",h.$sc);var i=e.offset().left+n,r=e.offset().top+e.outerHeight(),a=e.outerHeight();h.opts.iframe&&h.image.hasCaption()&&m(e)&&m(e).find(\"img\")&&(a=m(e).find(\"img\").outerHeight()),h.popups.show(\"link.insert\",i,r,a,!0)}}return{_init:function e(){h.events.on(\"keyup\",function(e){e.which!=C.KEYCODE.ESC&&E(e)}),h.events.on(\"window.mouseup\",E),h.events.$on(h.$el,\"click\",\"a\",function(e){h.edit.isDisabled()&&e.preventDefault()}),h.helpers.isMobile()&&h.events.$on(h.$doc,\"selectionchange\",E),s(!0),\"A\"==h.el.tagName&&h.$el.addClass(\"fr-view\"),h.events.on(\"toolbar.esc\",function(){if(h.popups.isVisible(\"link.edit\"))return h.events.disableBlur(),h.events.focus(),!1},!0)},remove:function i(){var e=v(),t=h.image?h.image.get():null;if(!1===h.events.trigger(\"link.beforeRemove\",[e]))return!1;if(t&&e)if(h.image.hasCaption()){t.addClass(\"img-link-caption\"),m(e).replaceWith(m(e).html());var n=document.querySelectorAll(\"img.img-link-caption\");h.image.edit(m(n[0])),m(n[0]).removeClass(\"img-link-caption\")}else t.unwrap(),h.image.edit(t);else e&&(h.selection.save(),m(e).replaceWith(m(e).html()),h.selection.restore(),a())},showInsertPopup:function d(){var e=h.$tb.find('.fr-command[data-cmd=\"insertLink\"]'),t=h.popups.get(\"link.insert\");if(t||(t=s()),!t.hasClass(\"fr-active\"))if(h.popups.refresh(\"link.insert\"),h.popups.setContainer(\"link.insert\",h.$tb||h.$sc),e.isVisible()){var n=h.button.getPosition(e),i=n.left,r=n.top;h.popups.show(\"link.insert\",i,r,e.outerHeight())}else h.position.forSelection(t),h.popups.show(\"link.insert\")},usePredefined:function u(e){var t,n,i=h.opts.linkList[e],r=h.popups.get(\"link.insert\"),a=r.find('input.fr-link-attr[type=\"text\"]'),l=r.find('input.fr-link-attr[type=\"checkbox\"]');for(i.rel&&(r.rel=i.rel),n=0;n<a.length;n++)i[(t=m(a[n])).attr(\"name\")]?(t.val(i[t.attr(\"name\")]),t.toggleClass(\"fr-not-empty\",!0)):\"text\"!=t.attr(\"name\")&&t.val(\"\");for(n=0;n<l.length;n++)(t=m(l[n])).attr(\"checked\",t.data(\"checked\")==i[t.attr(\"name\")]);h.accessibility.focusPopup(r)},insertCallback:function k(){var e,t,n=h.popups.get(\"link.insert\"),i=n.find('input.fr-link-attr[type=\"text\"]'),r=n.find('input.fr-link-attr[type=\"checkbox\"]'),a=(i.filter('[name=\"href\"]').val()||\"\").trim(),l=h.opts.linkText?i.filter('[name=\"text\"]').val():\"\",s={};for(t=0;t<i.length;t++)e=m(i[t]),[\"href\",\"text\"].indexOf(e.attr(\"name\"))<0&&(s[e.attr(\"name\")]=e.val());for(t=0;t<r.length;t++)(e=m(r[t])).is(\":checked\")?s[e.attr(\"name\")]=e.data(\"checked\"):s[e.attr(\"name\")]=e.data(\"unchecked\")||null;n.rel&&(s.rel=n.rel);var o=h.helpers.scrollTop();c(a,l,s),m(h.o_win).scrollTop(o)},insert:c,update:p,get:v,allSelected:b,back:function t(){h.image&&h.image.get()?h.image.back():(h.events.disableBlur(),h.selection.restore(),h.events.enableBlur(),v()&&h.$wp?(h.selection.restore(),a(),E()):\"A\"==h.el.tagName?(h.$el.focus(),E()):(h.popups.hide(\"link.insert\"),h.toolbar.showInline()))},imageLink:f,applyStyle:function g(e,t,n){void 0===n&&(n=h.opts.linkMultipleStyles),void 0===t&&(t=h.opts.linkStyles);var i=v();if(!i)return!1;if(!n){var r=Object.keys(t);r.splice(r.indexOf(e),1),m(i).removeClass(r.join(\" \"))}m(i).toggleClass(e),E()}}},C.DefineIcon(\"insertLink\",{NAME:\"link\",SVG_KEY:\"insertLink\"}),C.RegisterShortcut(C.KEYCODE.K,\"insertLink\",null,\"K\"),C.RegisterCommand(\"insertLink\",{title:\"Insert Link\",undo:!1,focus:!0,refreshOnCallback:!1,popup:!0,callback:function(){this.popups.isVisible(\"link.insert\")?(this.$el.find(\".fr-marker\").length&&(this.events.disableBlur(),this.selection.restore()),this.popups.hide(\"link.insert\")):this.link.showInsertPopup()},plugin:\"link\"}),C.DefineIcon(\"linkOpen\",{NAME:\"external-link\",FA5NAME:\"external-link-alt\",SVG_KEY:\"openLink\"}),C.RegisterCommand(\"linkOpen\",{title:\"Open Link\",undo:!1,refresh:function(e){this.link.get()?e.removeClass(\"fr-hidden\"):e.addClass(\"fr-hidden\")},callback:function(){var e=this.link.get();if(e){var t=e.getAttribute(\"href\");if(t&&t.startsWith(\"#_mso\")){var n='a[href=\"#'.concat(e.name,'\"]'),i=this.$el.find(n);i.length&&i.get(0).scrollIntoView({behavior:\"smooth\",block:\"center\"})}else-1!==e.href.indexOf(\"mailto:\")?this.o_win.open(e.href).close():(e.target||(e.target=\"_self\"),this.browser.msie||this.browser.edge?this.o_win.open(e.href,e.target):this.o_win.open(e.href,e.target,\"noopener\"));this.popups.hide(\"link.edit\")}},plugin:\"link\"}),C.DefineIcon(\"linkEdit\",{NAME:\"edit\",SVG_KEY:\"edit\"}),C.RegisterCommand(\"linkEdit\",{title:\"Edit Link\",undo:!1,refreshAfterCallback:!1,popup:!0,callback:function(){this.link.update()},refresh:function(e){this.link.get()?e.removeClass(\"fr-hidden\"):e.addClass(\"fr-hidden\")},plugin:\"link\"}),C.DefineIcon(\"linkRemove\",{NAME:\"unlink\",SVG_KEY:\"unlink\"}),C.RegisterCommand(\"linkRemove\",{title:\"Unlink\",callback:function(){this.link.remove()},refresh:function(e){this.link.get()?e.removeClass(\"fr-hidden\"):e.addClass(\"fr-hidden\")},plugin:\"link\"}),C.DefineIcon(\"linkBack\",{NAME:\"arrow-left\",SVG_KEY:\"back\"}),C.RegisterCommand(\"linkBack\",{title:\"Back\",undo:!1,focus:!1,back:!0,refreshAfterCallback:!1,callback:function(){this.link.back()},refresh:function(e){var t=this.link.get()&&this.doc.hasFocus();(this.image?this.image.get():null)||t||this.opts.toolbarInline?(e.removeClass(\"fr-hidden\"),e.next(\".fr-separator\").removeClass(\"fr-hidden\")):(e.addClass(\"fr-hidden\"),e.next(\".fr-separator\").addClass(\"fr-hidden\"))},plugin:\"link\"}),C.DefineIcon(\"linkList\",{NAME:\"search\",SVG_KEY:\"search\"}),C.RegisterCommand(\"linkList\",{title:\"Choose Link\",type:\"dropdown\",focus:!1,undo:!1,refreshAfterCallback:!1,html:function(){for(var e='<ul class=\"fr-dropdown-list\" role=\"presentation\">',t=this.opts.linkList,n=0;n<t.length;n++)e+='<li role=\"presentation\"><a class=\"fr-command\" tabIndex=\"-1\" role=\"option\" data-cmd=\"linkList\" data-param1=\"'.concat(n,'\">').concat(t[n].displayText||t[n].text,\"</a></li>\");return e+=\"</ul>\"},callback:function(e,t){this.link.usePredefined(t)},plugin:\"link\"}),C.RegisterCommand(\"linkInsert\",{focus:!1,refreshAfterCallback:!1,callback:function(){this.link.insertCallback()},refresh:function(e){this.link.get()?e.text(this.language.translate(\"Update\")):e.text(this.language.translate(\"Insert\"))},plugin:\"link\"}),C.DefineIcon(\"imageLink\",{NAME:\"link\",SVG_KEY:\"insertLink\"}),C.RegisterCommand(\"imageLink\",{title:\"Insert Link\",undo:!1,focus:!1,popup:!0,callback:function(){this.link.imageLink()},refresh:function(e){var t;this.link.get()?((t=e.prev()).hasClass(\"fr-separator\")&&t.removeClass(\"fr-hidden\"),e.addClass(\"fr-hidden\")):((t=e.prev()).hasClass(\"fr-separator\")&&t.addClass(\"fr-hidden\"),e.removeClass(\"fr-hidden\"))},plugin:\"link\"}),C.DefineIcon(\"linkStyle\",{NAME:\"magic\",SVG_KEY:\"linkStyles\"}),C.RegisterCommand(\"linkStyle\",{title:\"Style\",type:\"dropdown\",html:function(){var e='<ul class=\"fr-dropdown-list\" role=\"presentation\">',t=this.opts.linkStyles;for(var n in t)t.hasOwnProperty(n)&&(e+='<li role=\"presentation\"><a class=\"fr-command\" tabIndex=\"-1\" role=\"option\" data-cmd=\"linkStyle\" data-param1=\"'.concat(n,'\">').concat(this.language.translate(t[n]),\"</a></li>\"));return e+=\"</ul>\"},callback:function(e,t){this.link.applyStyle(t)},refreshOnShow:function(e,t){var n=this.$,i=this.link.get();if(i){var r=n(i);t.find(\".fr-command\").each(function(){var e=n(this).data(\"param1\"),t=r.hasClass(e);n(this).toggleClass(\"fr-active\",t).attr(\"aria-selected\",t)})}},refresh:function(e){this.link.get()?e.removeClass(\"fr-hidden\"):e.addClass(\"fr-hidden\")},plugin:\"link\"})});","/*!\n * froala_editor v4.6.2 (https://www.froala.com/wysiwyg-editor)\n * License https://froala.com/wysiwyg-editor/terms/\n * Copyright 2014-2025 Froala Labs\n */\n\n!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?t(require(\"froala-editor\")):\"function\"==typeof define&&define.amd?define([\"froala-editor\"],t):t(e.FroalaEditor)}(this,function(o){\"use strict\";o=o&&o.hasOwnProperty(\"default\")?o[\"default\"]:o,Object.assign(o.DEFAULTS,{listAdvancedTypes:!0}),o.PLUGINS.lists=function(m){var g=m.$;function u(e){return'<span class=\"fr-open-'.concat(e.toLowerCase(),'\"></span>')}function h(e){return'<span class=\"fr-close-'.concat(e.toLowerCase(),'\"></span>')}function c(e,t){!function c(e,t){for(var a=[],n=0;n<e.length;n++){var r=e[n].parentNode;\"LI\"==e[n].tagName&&r.tagName!=t&&a.indexOf(r)<0&&a.push(r)}for(var o=a.length-1;0<=o;o--){var l=g(a[o]);l.replaceWith(\"<\".concat(t.toLowerCase(),\" \").concat(m.node.attributes(l.get(0)),\">\").concat(l.html(),\"</\").concat(t.toLowerCase(),\">\"))}}(e,t);var a,n=m.html.defaultTag(),r=null;e.length&&(a=\"rtl\"==m.opts.direction||\"rtl\"==g(e[0]).css(\"direction\")?\"margin-right\":\"margin-left\");for(var o=0;o<e.length;o++)if(\"TD\"!=e[o].tagName&&\"TH\"!=e[o].tagName&&\"LI\"!=e[o].tagName){var l=m.helpers.getPX(g(e[o]).css(a))||0;(e[o].style.marginLeft=null)===r&&(r=l);var i=0<r?\"<\".concat(t,' style=\"').concat(a,\": \").concat(r,'px \">'):\"<\".concat(t,\">\"),s=\"</\".concat(t,\">\");for(l-=r;0<l/m.opts.indentMargin;)i+=\"</\".concat(t,\">\"),s+=s,l-=m.opts.indentMargin;n&&e[o].tagName.toLowerCase()==n?g(e[o]).replaceWith(\"\".concat(i,\"<li\").concat(m.node.attributes(e[o]),\">\").concat(g(e[o]).html(),\"</li>\").concat(s)):g(e[o]).wrap(\"\".concat(i,\"<li></li>\").concat(s))}m.clean.lists()}function d(e){var n,t,a=[];for(n=e.length-1;0<=n;n--)for(t=n-1;0<=t;t--){if(g(e[t]).find(e[n]).length||e[t]==e[n]){g(e[n]).addClass(\"fr-removed-block-\".concat(n)),a.push(n),e.splice(n,1);break}if(g(e[t]).contains(e[n])){g(e[t]).addClass(\"fr-removed-block-\".concat(t)),a.push(t),e.splice(t,1);break}}var r=[],o=!1;for(n=0;n<e.length;n++){var l=g(e[n]),i=e[n].parentNode,s=l.attr(\"class\");if(l.is(\":first-child\")&&(o=!0,g(i.parentNode).removeAttr(\"start\")),l.before(h(i.tagName)),\"LI\"==i.parentNode.tagName){if(l.is(\":last-child\")){var c=l.find(\"> ul, > ol\").last();c.length&&c.wrap(\"<\".concat(i.tagName,\">\"))}l.before(h(\"LI\")),l.after(u(\"LI\"))}else if(\"OL\"==i.parentNode.tagName)o||(l.before(h(\"OL\")),l.after(u(\"OL\")));else if(\"UL\"==i.parentNode.tagName)o||(l.before(h(\"UL\")),l.after(u(\"UL\")));else{var d=\"\";s&&(d+=' class=\"'.concat(s,'\"'));var p=\"rtl\"==m.opts.direction||\"rtl\"==l.css(\"direction\")?\"margin-right\":\"margin-left\";m.helpers.getPX(g(i).css(p))&&0<=(g(i).attr(\"style\")||\"\").indexOf(\"\".concat(p,\":\"))&&(d+=' style=\"'.concat(p,\":\").concat(m.helpers.getPX(g(i).css(p)),'px;\"')),m.html.defaultTag()&&0===l.find(m.html.blockTagsQuery()).length&&l.wrapInner(\"<\".concat(m.html.defaultTag()).concat(d,\"></\").concat(m.html.defaultTag(),\">\")),m.node.isEmpty(l.get(0),!0)||0!==l.find(m.html.blockTagsQuery()).length||(\"DIV\"==i.parentNode.tagName&&m.html.defaultTag()?(l.prepend(u(m.html.defaultTag())),l.append(h(m.html.defaultTag()))):l.append(\"<br>\")),l.append(u(\"LI\")),l.prepend(h(\"LI\"))}l.after(u(i.tagName)),\"LI\"==i.parentNode.tagName&&(i=i.parentNode.parentNode),r.indexOf(i)<0&&r.push(i)}var f=function f(){var e=g(r[n]),t=e.html(),a=m.helpers.getPX(e.css(\"margin-left\"))||0;t=(t=t.replace(/<span class=\"fr-open-([a-z]*)\"><\\/span>/g,function(e,t){return 0<a?\"<\".concat(t,' style=\"margin-left:').concat(a,'px;\">'):\"<\".concat(t,\">\")})).replace(/<span class=\"fr-close-([a-z]*)\"><\\/span>/g,\"</$1>\"),e.replaceWith(m.node.openTagString(e.get(0))+t+m.node.closeTagString(e.get(0)))};for(n=0;n<r.length;n++)f();return m.$el.find(\"li:empty\").remove(),m.$el.find(\"ul:empty, ol:empty\").remove(),m.clean.lists(),m.$el.find(\"ul:empty, ol:empty\").remove(),m.html.wrap(),a}function N(e,t){var a=g(document.createElement(\"li\"));if(e.childNodes.length)for(var n=e.childNodes[0].attributes,r=0;r<n.length;r++){var o=n[r];\"style\"===o.name&&(a[0].style.cssText+=o.value)}g(e).prepend(a),g(e).removeAttr(\"start\");for(var l=m.node.contents(t)[0];l&&!m.node.isList(l);){var i=l.nextSibling;a.append(l),l=i}}function e(e){if(\"indent\"==e||\"outdent\"==e){var t=!1,a=m.selection.blocks(!1,!0),n=[],r=a[0].previousSibling||a[0].parentElement;if(\"outdent\"==e){if(\"UL\"!=a[0].parentNode.tagName&&\"UL\"!=r.parentNode.tagName&&\"OL\"!=r.parentNode.tagName&&\"LI\"!=r.parentNode.tagName)return;if(!a[0].previousSibling&&\"none\"==r.parentNode.style.listStyleType)return void function l(e){for(m.selection.save();0<e.childNodes.length;)e.parentNode.parentNode.append(e.childNodes[0]);m.clean.lists(),m.selection.restore()}(r)}else{if(\"UL\"!=a[0].parentElement.tagName&&\"OL\"!=a[0].parentElement.tagName&&\"LI\"!=a[0].parentElement.tagName)return;if(m.node.isBlock(a[0])&&\"LI\"!==a[0].tagName&&0<g(a[0]).parentsUntil(m.$el,\"LI\").length&&(a[0]=a[0].parentElement,r=a[0].parentElement),!a[0].previousSibling||\"LI\"!=a[0].previousSibling.tagName){if(r&&[\"UL\",\"OL\"].includes(r.tagName))return void function i(e){m.selection.save();var t=\"OL\"==e.tagName?document.createElement(\"ol\"):document.createElement(\"ul\");for(g(t).css(\"list-style-type\",g(e).css(\"list-style-type\"));0<e.childNodes.length;)t.append(e.childNodes[0]);var a=g(document.createElement(\"li\"));a.css(\"list-style-type\",\"none\"),a.append(t),e.append(a.get(0)),m.clean.lists(),m.selection.restore()}(r);t=!0}}for(var o=0;o<a.length;o++)\"LI\"==a[o].tagName?(t=!0,n.push(a[o])):\"LI\"==a[o].parentNode.tagName&&n.indexOf(a[o].parentNode)<0&&(t=!0,n.push(a[o].parentNode));t&&(\"indent\"==e?function f(e){m.selection.save();for(var t=!1,a=0;a<e.length;a++){var n=e[a].previousSibling;if(n&&\"LI\"==n.tagName&&!t){var r=g(e[a]).find(\"> ul, > ol\").last().get(0);if(r)N(r,e[a]),g(n).append(g(r)),g(e[a]).remove();else{var o=g(n).find(\"> ul, > ol\").last().get(0);if(o)g(o).append(g(e[a]));else{var l=g(\"<\".concat(e[a].parentNode.tagName,\">\"));g(n).append(l),l.append(g(e[a]))}}}else if(!n||\"OL\"!=n.tagName&&\"UL\"!=n.tagName){var i=e[a].parentNode;if(t=!0,\"UL\"==i.tagName||\"OL\"==i.tagName){var s=g(e[a]).find(\"> ol, > ul\"),c=null==e[a].previousSibling;if(s.length){var d=s.first().get(0);N(d,e[a]),c?g(i).prepend(g(d)):g(i).append(g(d)),g(e[a]).remove()}else g(e[a]).wrap(\"<\".concat(i.tagName,\">\"));c&&0<g(i).find(\"> li\").length&&g(i).attr(\"start\",\"2\")}}else{var p=g(e[a]).find(\"> ol, > ul\").first().get(0);p?(N(p,e[a]),g(n).append(g(p).children()),g(e[a]).remove(),g(p).remove()):g(n).append(g(e[a]))}}m.clean.lists(),m.selection.restore()}(n):function s(e){m.selection.save();var t=[];do{t=d(e),e=[];for(var a=0;a<t.length;a++){var n=m.$el.find(\".fr-removed-block-\".concat(t[a])).first().get(0);g(n).removeClass(\"fr-removed-block-\".concat(t[a])),\"\"==g(n).attr(\"class\")&&g(n).removeAttr(\"class\"),e.push(n)}}while(0<t.length);m.selection.restore()}(n))}}return{_init:function t(){m.events.on(\"commands.after\",e),m.events.on(\"keydown\",function(e){if(e.which==o.KEYCODE.TAB||(e.ctrlKey||e.metaKey)&&\"]\"===e.key){if(!e.shiftKey&&m.$tb.find('[data-cmd=\"indent\"]').hasClass(\"fr-disabled\"))return e.preventDefault(),e.stopPropagation(),!1;for(var t=m.selection.blocks(),a=[],n=0;n<t.length;n++)\"LI\"==t[n].tagName?a.push(t[n]):\"LI\"==t[n].parentNode.tagName&&a.push(t[n].parentNode);if(1<=a.length||a.length&&(m.selection.info(a[0]).atStart||m.node.isEmpty(a[0])))return e.preventDefault(),e.stopPropagation(),e.shiftKey?m.commands.outdent():m.commands.indent(),!1}},!0)},format:function p(e,t){var a,n,r=1<(n=m.selection.blocks(!0)).length&&n[n.length-1],o=m.selection.ranges();if(r&&o.length&&m.node.isEmpty(r)&&!o[0].endOffset&&o[0].setEndAfter(r.firstChild,1),m.html.syncInputs(),m.selection.save(),m.browser.safari&&m.helpers.getSafariVersion()<17){var l=m.selection.ranges();if(o&&o[0].endContainer&&l&&l[0].endContainer&&!o[0].endContainer.isSameNode(l[0].endContainer)&&o[0].endContainer.previousSibling&&o[0].endContainer.previousSibling.isSameNode(l[0].endContainer)){var i=g(l[0].endContainer).find('.fr-marker[data-type=\"false\"]');g(o[0].endContainer).append(i[0])}}for(m.html.wrap(!0,!0,!0,!0),m.selection.restore(),n=m.selection.blocks(!0),a=0;a<n.length;a++)\"LI\"!=n[a].tagName&&\"LI\"==n[a].parentNode.tagName&&(n[a]=n[a].parentNode);if(m.selection.save(),function s(e,t){for(var a=!0,n=0;n<e.length;n++){if(\"LI\"!=e[n].tagName)return!1;e[n].parentNode.tagName!=t&&(a=!1)}return a}(n,e)?t||d(n):c(n,e),m.html.unwrap(),m.selection.restore(),t=t||\"default\"){for(n=m.selection.blocks(),a=0;a<n.length;a++)\"LI\"!=n[a].tagName&&\"LI\"==n[a].parentNode.tagName&&(n[a]=n[a].parentNode);for(a=0;a<n.length;a++)\"LI\"==n[a].tagName&&(g(n[a].parentNode).css(\"list-style-type\",\"default\"===t?\"\":t),0===(g(n[a].parentNode).attr(\"style\")||\"\").length&&g(n[a].parentNode).removeAttr(\"style\"))}},refresh:function r(e,t){var a=g(m.selection.element());if(a.get(0)!=m.el){var n=a.get(0);(n=\"LI\"!=n.tagName&&n.firstElementChild&&\"LI\"!=n.firstElementChild.tagName?a.parents(\"li\").get(0):\"LI\"==n.tagName||n.firstElementChild?n.firstElementChild&&\"LI\"==n.firstElementChild.tagName?a.get(0).firstChild:a.get(0):a.parents(\"li\").get(0))&&n.parentNode.tagName==t&&m.el.contains(n.parentNode)&&e.addClass(\"fr-active\")}}}},o.DefineIcon(\"formatOLSimple\",{NAME:\"list-ol\",SVG_KEY:\"orderedList\"}),o.RegisterCommand(\"formatOLSimple\",{title:\"Ordered List\",type:\"button\",options:{\"default\":\"Default\",circle:\"Circle\",disc:\"Disc\",square:\"Square\"},refresh:function(e){this.lists.refresh(e,\"OL\")},callback:function(e,t){this.lists.format(\"OL\",t)},plugin:\"lists\"}),o.RegisterCommand(\"formatUL\",{title:\"Unordered List\",type:\"button\",hasOptions:function(){return this.opts.listAdvancedTypes},options:{\"default\":\"Default\",circle:\"Circle\",disc:\"Disc\",square:\"Square\"},refresh:function(e){this.lists.refresh(e,\"UL\")},callback:function(e,t){this.lists.format(\"UL\",t)},plugin:\"lists\"}),o.RegisterCommand(\"formatOL\",{title:\"Ordered List\",hasOptions:function(){return this.opts.listAdvancedTypes},options:{\"default\":\"Default\",\"lower-alpha\":\"Lower Alpha\",\"lower-greek\":\"Lower Greek\",\"lower-roman\":\"Lower Roman\",\"upper-alpha\":\"Upper Alpha\",\"upper-roman\":\"Upper Roman\"},refresh:function(e){this.lists.refresh(e,\"OL\")},callback:function(e,t){this.lists.format(\"OL\",t)},plugin:\"lists\"}),o.DefineIcon(\"formatUL\",{NAME:\"list-ul\",SVG_KEY:\"unorderedList\"}),o.DefineIcon(\"formatOL\",{NAME:\"list-ol\",SVG_KEY:\"orderedList\"})});","/*!\n * froala_editor v4.6.2 (https://www.froala.com/wysiwyg-editor)\n * License https://froala.com/wysiwyg-editor/terms/\n * Copyright 2014-2025 Froala Labs\n */\n\n!function(a,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?t(require(\"froala-editor\")):\"function\"==typeof define&&define.amd?define([\"froala-editor\"],t):t(a.FroalaEditor)}(this,function(a){\"use strict\";a=a&&a.hasOwnProperty(\"default\")?a[\"default\"]:a,Object.assign(a.DEFAULTS,{paragraphFormat:{N:\"Normal\",H1:\"Heading 1\",H2:\"Heading 2\",H3:\"Heading 3\",H4:\"Heading 4\",PRE:\"Code\"},paragraphFormatSelection:!1,paragraphDefaultSelection:\"Paragraph Format\"}),a.PLUGINS.paragraphFormat=function(h){var g=h.$;function c(a,t){var e=h.html.defaultTag();if(t&&t.toLowerCase()!=e)if(0<a.find(\"ul, ol\").length){var r=g(\"<\"+t+\">\");a.prepend(r);for(var n=h.node.contents(a.get(0))[0];n&&[\"UL\",\"OL\"].indexOf(n.tagName)<0;){var o=n.nextSibling;r.append(n),n=o}}else a.html(\"<\"+t+\">\"+a.html()+\"</\"+t+\">\")}return{apply:function u(a){\"N\"==a&&(a=h.html.defaultTag()),h.selection.save(),h.html.wrap(!0,!0,!h.opts.paragraphFormat.BLOCKQUOTE,!0,!0),h.selection.restore();var t,e,r,n,o,i,p,l,s=h.selection.blocks();h.selection.save(),h.$el.find(\"pre\").attr(\"skip\",!0);for(var m=0;m<s.length;m++)if(s[m].tagName!=a&&!h.node.isList(s[m])){var d=g(s[m]);if(\"LI\"==s[m].tagName)c(d,a);else if(\"LI\"==s[m].parentNode.tagName&&s[m])i=d,p=a,l=h.html.defaultTag(),p&&p.toLowerCase()!=l||(p='div class=\"fr-temp-div\"'),i.replaceWith(g(\"<\"+p+\">\").html(i.html()));else if(0<=[\"TD\",\"TH\"].indexOf(s[m].parentNode.tagName))r=d,n=a,o=h.html.defaultTag(),n||(n='div class=\"fr-temp-div\"'+(h.node.isEmpty(r.get(0),!0)?' data-empty=\"true\"':\"\")),n.toLowerCase()==o?(h.node.isEmpty(r.get(0),!0)||r.append(\"<br/>\"),r.replaceWith(r.html())):r.replaceWith(g(\"<\"+n+\">\").html(r.html()));else{if(\"PRE\"===a&&null===d[0].nextSibling){var f=g(\"<br>\");d[0].after(f[0])}t=d,(e=a)||(e='div class=\"fr-temp-div\"'+(h.node.isEmpty(t.get(0),!0)?' data-empty=\"true\"':\"\")),(\"H1\"==e||\"H2\"==e||\"H3\"==e||\"H4\"==e||\"H5\"==e)&&-1<h.node.attributes(t.get(0)).indexOf(\"font-size:\")?t.replaceWith(g(\"<\"+e+\" \"+h.node.attributes(t.get(0)).replace(/font-size:[0-9]+px;?/,\"\")+\">\").html(t.html()).removeAttr(\"data-empty\")):t.replaceWith(g(\"<\"+e+\" \"+h.node.attributes(t.get(0))+\">\").html(t.html()).removeAttr(\"data-empty\"))}}h.$el.find('pre:not([skip=\"true\"]) + pre:not([skip=\"true\"])').each(function(){g(this).prev().append(\"<br>\"+g(this).html()),g(this).remove()}),h.$el.find(\"pre\").removeAttr(\"skip\"),h.html.unwrap(),h.selection.restore()},refreshOnShow:function i(a,t){var e=h.selection.blocks();if(e.length){var r=e[0],n=\"N\",o=h.html.defaultTag();r.tagName.toLowerCase()!=o&&r!=h.el&&(n=r.tagName),t.find('.fr-command[data-param1=\"'+n+'\"]').addClass(\"fr-active\").attr(\"aria-selected\",!0)}else t.find('.fr-command[data-param1=\"N\"]').addClass(\"fr-active\").attr(\"aria-selected\",!0)},refresh:function o(a){if(h.opts.paragraphFormatSelection){var t=h.selection.blocks();if(t.length){var e=t[0],r=\"N\",n=h.html.defaultTag();e.tagName.toLowerCase()!=n&&e!=h.el&&(r=e.tagName),0<=[\"LI\",\"TD\",\"TH\"].indexOf(r)&&(r=\"N\"),a.find(\">span\").text(h.language.translate(h.opts.paragraphFormat[r]))}else a.find(\">span\").text(h.language.translate(h.opts.paragraphFormat.N))}}}},a.RegisterCommand(\"paragraphFormat\",{type:\"dropdown\",displaySelection:function(a){return a.opts.paragraphFormatSelection},defaultSelection:function(a){return a.language.translate(a.opts.paragraphDefaultSelection)},displaySelectionWidth:80,html:function(){var a='<ul class=\"fr-dropdown-list\" role=\"presentation\">',t=this.opts.paragraphFormat;for(var e in t)if(t.hasOwnProperty(e)){var r=this.shortcuts.get(\"paragraphFormat.\"+e);r=r?'<span class=\"fr-shortcut\">'+r+\"</span>\":\"\",a+='<li role=\"presentation\"><'+(\"N\"==e?this.html.defaultTag()||\"DIV\":e)+' style=\"padding: 0 !important; margin: 0 !important; border: 0 !important; background-color: transparent !important; '+(\"PRE\"==e||\"N\"==e?\"font-size: 15px\":\"font-weight: bold !important; \")+(\"H1\"==e?\"font-size: 2em !important; \":\"\")+(\"H2\"==e?\"font-size: 1.5em !important; \":\"\")+(\"H3\"==e?\"font-size: 1.17em !important; \":\"\")+(\"H4\"==e?\"font-size: 15px !important;\":\"\")+'\"  role=\"presentation\"><a class=\"fr-command\" tabIndex=\"-1\" role=\"option\" data-cmd=\"paragraphFormat\" data-param1=\"'+e+'\" title=\"'+this.language.translate(t[e])+'\">'+this.language.translate(t[e])+\"</a></\"+(\"N\"==e?this.html.defaultTag()||\"DIV\":e)+\"></li>\"}return a+=\"</ul>\"},title:\"Paragraph Format\",callback:function(a,t){this.paragraphFormat.apply(t)},refresh:function(a){this.paragraphFormat.refresh(a)},refreshOnShow:function(a,t){this.paragraphFormat.refreshOnShow(a,t)},plugin:\"paragraphFormat\"}),a.DefineIcon(\"paragraphFormat\",{NAME:\"paragraph\",SVG_KEY:\"paragraphFormat\"})});","/*!\n * froala_editor v4.6.2 (https://www.froala.com/wysiwyg-editor)\n * License https://froala.com/wysiwyg-editor/terms/\n * Copyright 2014-2025 Froala Labs\n */\n\n!function(a,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?e(require(\"froala-editor\")):\"function\"==typeof define&&define.amd?define([\"froala-editor\"],e):e(a.FroalaEditor)}(this,function(a){\"use strict\";a=a&&a.hasOwnProperty(\"default\")?a[\"default\"]:a,Object.assign(a.DEFAULTS,{paragraphStyles:{\"fr-text-gray\":\"Gray\",\"fr-text-bordered\":\"Bordered\",\"fr-text-spaced\":\"Spaced\",\"fr-text-uppercase\":\"Uppercase\"},paragraphMultipleStyles:!0}),a.PLUGINS.paragraphStyle=function(i){var p=i.$;return{_init:function a(){},apply:function c(a,e,t){void 0===e&&(e=i.opts.paragraphStyles),void 0===t&&(t=i.opts.paragraphMultipleStyles);var r=\"\";t||((r=Object.keys(e)).splice(r.indexOf(a),1),r=r.join(\" \")),i.selection.save(),i.html.wrap(!0,!0,!0,!0),i.selection.restore();var l=i.selection.blocks();i.selection.save();for(var n=p(l[0]).hasClass(a),s=0;s<l.length;s++)p(l[s]).removeClass(r).toggleClass(a,!n),p(l[s]).hasClass(\"fr-temp-div\")&&p(l[s]).removeClass(\"fr-temp-div\"),\"\"===p(l[s]).attr(\"class\")&&p(l[s]).removeAttr(\"class\");if(1===l.length&&\"fr-text-bordered\"===a&&null===l[0].nextSibling){var o=p(\"<br>\");l[0].after(o[0])}i.html.unwrap(),i.selection.restore()},refreshOnShow:function l(a,e){var t=i.selection.blocks();if(t.length){var r=p(t[0]);e.find(\".fr-command\").each(function(){var a=p(this).data(\"param1\"),e=r.hasClass(a);p(this).toggleClass(\"fr-active\",e).attr(\"aria-selected\",e)})}}}},a.RegisterCommand(\"paragraphStyle\",{type:\"dropdown\",html:function(){var a='<ul class=\"fr-dropdown-list\" role=\"presentation\">',e=this.opts.paragraphStyles;for(var t in e)e.hasOwnProperty(t)&&(a+='<li role=\"presentation\"><a class=\"fr-command '.concat(t,'\" tabIndex=\"-1\" role=\"option\" data-cmd=\"paragraphStyle\" data-param1=\"').concat(t,'\" title=\"').concat(this.language.translate(e[t]),'\">').concat(this.language.translate(e[t]),\"</a></li>\"));return a+=\"</ul>\"},title:\"Paragraph Style\",callback:function(a,e){this.paragraphStyle.apply(e)},refreshOnShow:function(a,e){this.paragraphStyle.refreshOnShow(a,e)},plugin:\"paragraphStyle\"}),a.DefineIcon(\"paragraphStyle\",{NAME:\"magic\",SVG_KEY:\"paragraphStyle\"})});","/*!\n * froala_editor v4.6.2 (https://www.froala.com/wysiwyg-editor)\n * License https://froala.com/wysiwyg-editor/terms/\n * Copyright 2014-2025 Froala Labs\n */\n\n!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?t(require(\"froala-editor\")):\"function\"==typeof define&&define.amd?define([\"froala-editor\"],t):t(e.FroalaEditor)}(this,function(e){\"use strict\";(e=e&&e.hasOwnProperty(\"default\")?e[\"default\"]:e).PLUGINS.quote=function(r){var c=r.$;function s(e){for(;e.parentNode&&e.parentNode!=r.el;)e=e.parentNode;return e}return{apply:function t(e){r.selection.save(),r.html.wrap(!0,!0,!0,!0),r.selection.restore(),\"increase\"==e?function o(){var e,t=r.selection.blocks();for(e=0;e<t.length;e++)t[e]=s(t[e]);r.selection.save();var n=c(document.createElement(\"blockquote\"));for(n.insertBefore(t[0]),e=0;e<t.length;e++)n.append(t[e]);r.opts.trackChangesEnabled&&r.track_changes.addQuote(n),r.html.unwrap(),r.selection.restore()}():\"decrease\"==e&&function a(){var e,t=r.opts.trackChangesEnabled,n=r.selection.blocks();for(e=0;e<n.length;e++)\"BLOCKQUOTE\"!=n[e].tagName&&(n[e]=t&&c(n[e]).parentsUntil(r.$el,\"[data-track-id^=pending]\").get(0)||c(n[e]).parentsUntil(r.$el,\"BLOCKQUOTE\").get(0));for(r.selection.save(),e=0;e<n.length;e++)n[e]&&(t?r.track_changes.removeQuote(c(n[e]),e):c(n[e]).replaceWith(n[e].innerHTML));r.html.unwrap(),r.selection.restore()}()}}},e.RegisterShortcut(e.KEYCODE.SINGLE_QUOTE,\"quote\",\"increase\",\"'\"),e.RegisterShortcut(e.KEYCODE.SINGLE_QUOTE,\"quote\",\"decrease\",\"'\",!0),e.RegisterCommand(\"quote\",{title:\"Quote\",type:\"dropdown\",html:function(){var e='<ul class=\"fr-dropdown-list\" role=\"presentation\">',t={increase:\"Increase\",decrease:\"Decrease\"};for(var n in t)if(t.hasOwnProperty(n)){var o=this.shortcuts.get(\"quote.\".concat(n));e+='<li role=\"presentation\"><a class=\"fr-command fr-active '.concat(n,'\" tabIndex=\"-1\" role=\"option\" data-cmd=\"quote\" data-param1=\"').concat(n,'\" title=\"').concat(t[n],'\">').concat(this.language.translate(t[n])).concat(o?'<span class=\"fr-shortcut\">'.concat(o,\"</span>\"):\"\",\"</a></li>\")}return e+=\"</ul>\"},callback:function(e,t){this.quote.apply(t)},plugin:\"quote\"}),e.DefineIcon(\"quote\",{NAME:\"quote-left\",SVG_KEY:\"blockquote\"})});","/*!\n * froala_editor v4.6.2 (https://www.froala.com/wysiwyg-editor)\n * License https://froala.com/wysiwyg-editor/terms/\n * Copyright 2014-2025 Froala Labs\n */\n\n!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?t(require(\"froala-editor\")):\"function\"==typeof define&&define.amd?define([\"froala-editor\"],t):t(e.FroalaEditor)}(this,function(e){\"use strict\";e=e&&e.hasOwnProperty(\"default\")?e[\"default\"]:e,Object.assign(e.DEFAULTS,{saveInterval:1e4,saveURL:null,saveParams:{},saveParam:\"body\",saveMethod:\"POST\"}),e.PLUGINS.save=function(i){var f=i.$,n=null,l=null,t=!1,v=1,c=2,s={};function u(e,t){i.events.trigger(\"save.error\",[{code:e,message:s[e]},t])}function a(e){void 0===e&&(e=i.html.get());var n=e,t=i.events.trigger(\"save.before\",[e]);if(!1===t)return!1;if(\"string\"==typeof t&&(e=t),i.opts.saveURL){var s={};for(var a in i.opts.saveParams)if(i.opts.saveParams.hasOwnProperty(a)){var o=i.opts.saveParams[a];s[a]=\"function\"==typeof o?o.call(this):o}var r={};r[i.opts.saveParam]=e,f(this).ajax({method:i.opts.saveMethod,url:i.opts.saveURL,data:Object.assign(r,s),crossDomain:i.opts.requestWithCORS,withCredentials:i.opts.requestWithCredentials,headers:i.opts.requestHeaders,done:function(e,t,s){l=n,i.events.trigger(\"save.after\",[e])},fail:function(e){u(c,e.response||e.responseText)}})}else u(v)}function o(){clearTimeout(n),n=setTimeout(function(){var e=i.html.get();(l!=e||t)&&(t=!1,a(l=e))},0)}return s[v]=\"Missing saveURL option.\",s[c]=\"Something went wrong during save.\",{_init:function r(){if(i.opts.letteringClass)for(var e=i.opts.letteringClass,t=i.$el.find(\".\".concat(e)).length,s=0;s<t;s++)i.$el.find(\".\".concat(e))[s].innerHTML=i.$el.find(\".\".concat(e))[s].innerText.replace(/([\\w'-]+|[?.\",])/g,\"<span class = 'fr-word-select'>$1</span>\");i.opts.saveInterval&&(l=i.html.get(),i.events.on(\"contentChanged\",function(){setTimeout(o,i.opts.saveInterval)}),i.events.on(\"keydown destroy\",function(){clearTimeout(n)}))},save:a,reset:function e(){o(),t=!1},force:function d(){t=!0}}},e.DefineIcon(\"save\",{NAME:\"floppy-o\",FA5NAME:\"save\"}),e.RegisterCommand(\"save\",{title:\"Save\",undo:!1,focus:!1,refreshAfterCallback:!1,callback:function(){this.save.save()},plugin:\"save\"})});","/*!\n * froala_editor v4.6.2 (https://www.froala.com/wysiwyg-editor)\n * License https://froala.com/wysiwyg-editor/terms/\n * Copyright 2014-2025 Froala Labs\n */\n\n!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?t(require(\"froala-editor\")):\"function\"==typeof define&&define.amd?define([\"froala-editor\"],t):t(e.FroalaEditor)}(this,function(je){\"use strict\";function n(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,l=Array(t);a<t;a++)l[a]=e[a];return l}function Ge(e){return function t(e){if(Array.isArray(e))return n(e)}(e)||function a(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||function l(e,t){if(e){if(\"string\"==typeof e)return n(e,t);var a={}.toString.call(e).slice(8,-1);return\"Object\"===a&&e.constructor&&(a=e.constructor.name),\"Map\"===a||\"Set\"===a?Array.from(e):\"Arguments\"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?n(e,t):void 0}}(e)||function r(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}je=je&&je.hasOwnProperty(\"default\")?je[\"default\"]:je,Object.assign(je.POPUP_TEMPLATES,{\"table.insert\":\"[_BUTTONS_][_ROWS_COLUMNS_]\",\"table.edit\":\"[_BUTTONS_]\",\"table.colors\":\"[_BUTTONS_][_COLORS_][_CUSTOM_COLOR_]\",\"table.cellProperties\":\"[_CELL_PROPERTIES_FORM_][_BUTTONS_]\",\"table.tableProperties\":\"[_TABLE_PROPERTIES_FORM_][_BUTTONS_]\"}),Object.assign(je.DEFAULTS,{tableInsertMaxSize:10,tableEditButtons:[\"tableHeader\",\"tableFooter\",\"tableRemove\",\"tableRows\",\"tableColumns\",\"tableProperties\",\"-\",\"tableCells\",\"tableCellProperties\",\"tableCellVerticalAlign\",\"tableCellHorizontalAlign\",\"tableCellStyle\"],tableInsertButtons:[\"tableBack\",\"|\"],tableResizer:!0,tableDefaultWidth:\"50%\",tableDefaultAlign:\"center\",tableDefaultHeight:\"100px\",tableDefaultBGColor:\"\",tableDefaultBorderColor:\"\",tableDefaultBorderWidth:\"1px\",tableDefaultBorderStyle:\"solid\",tableBorderStyle:[\"solid\",\"dashed\",\"dotted\",\"double\",\"groove\",\"ridge\",\"inset\",\"outset\"],tableResizerOffset:5,tableResizingLimit:30,tableColorsButtons:[\"tableBack\",\"|\"],tableColors:[\"#61BD6D\",\"#1ABC9C\",\"#54ACD2\",\"#2C82C9\",\"#9365B8\",\"#475577\",\"#CCCCCC\",\"#41A85F\",\"#00A885\",\"#3D8EB9\",\"#2969B0\",\"#553982\",\"#28324E\",\"#000000\",\"#F7DA64\",\"#FBA026\",\"#EB6B56\",\"#E25041\",\"#A38F84\",\"#EFEFEF\",\"#FFFFFF\",\"#FAC51C\",\"#F37934\",\"#D14841\",\"#B8312F\",\"#7C706B\",\"#D1D5D8\",\"REMOVE\"],tableColorsStep:7,tableCellStyles:{\"fr-highlighted\":\"Highlighted\",\"fr-thick\":\"Thick\"},tableStyles:{\"fr-dashed-borders\":\"Dashed Borders\",\"fr-alternate-rows\":\"Alternate Rows\"},tableCellMultipleStyles:!0,tableMultipleStyles:!0,tableInsertHelper:!0,keepTextFormatOnTable:!1,tableInsertHelperOffset:15,proportionalTableResize:!0,enableTableSelection:!0}),je.PLUGINS.table=function(Y){var W,c,p,b,l,f,h,u,g,Z=Y.$,i=!1,s={};function C(){var e=j();if(e){var t=Y.popups.get(\"table.edit\");if(t||(t=o()),t){Y.popups.setContainer(\"table.edit\",Y.$sc);var a=_(e),l=a.left+(a.right-a.left)/2,r=a.bottom;Y.popups.show(\"table.edit\",l,r,a.bottom-a.top,!0),Y.edit.isDisabled()&&(Y.$el.removeClass(\"fr-no-selection\"),Y.edit.on(),Y.button.bulkRefresh(),Y.selection.setAtEnd(Y.$el.find(\".fr-selected-cell\").last().get(0)),Y.selection.restore())}}}function r(){0===ge().length&&Y.toolbar.enable()}function n(e){if(e)return Y.popups.onHide(\"table.insert\",function(){Y.popups.get(\"table.insert\").find('.fr-table-size .fr-select-table-size > span[data-row=\"1\"][data-col=\"1\"]').trigger(\"mouseover\")}),!0;var t=\"\";0<Y.opts.tableInsertButtons.length&&(t='<div class=\"fr-buttons fr-tabs\">'.concat(Y.button.buildList(Y.opts.tableInsertButtons),\"</div>\"));var a={buttons:t,rows_columns:function n(){for(var e='<div class=\"fr-table-size\"><div class=\"fr-table-size-info\">1 &times; 1</div><div class=\"fr-select-table-size\">',t=1;t<=Y.opts.tableInsertMaxSize;t++){for(var a=1;a<=Y.opts.tableInsertMaxSize;a++){var l=\"inline-block\";2<t&&!Y.helpers.isMobile()&&(l=\"none\");var r=\"fr-table-cell \";1==t&&1==a&&(r+=\" hover\"),e+='<span class=\"fr-command '.concat(r,'\" tabIndex=\"-1\" data-cmd=\"tableInsert\" data-row=\"').concat(t,'\" data-col=\"').concat(a,'\" data-param1=\"').concat(t,'\" data-param2=\"').concat(a,'\" style=\"display: ').concat(l,';\" role=\"button\"><span></span><span class=\"fr-sr-only\">').concat(t,\" &times; \").concat(a,\"&nbsp;&nbsp;&nbsp;</span></span>\")}e+='<div class=\"new-line\"></div>'}return e+=\"</div></div>\"}()},l=Y.popups.create(\"table.insert\",a);return Y.events.$on(l,\"mouseover\",\".fr-table-size .fr-select-table-size .fr-table-cell\",function(e){d(Z(e.currentTarget))},!0),function r(e){Y.events.$on(e,\"focus\",\"[tabIndex]\",function(e){var t=Z(e.currentTarget);d(t)}),Y.events.on(\"popup.tab\",function(e){var t=Z(e.currentTarget);if(!Y.popups.isVisible(\"table.insert\")||!t.is(\"span, a\"))return!0;var a,l=e.which;if(je.KEYCODE.ARROW_UP==l||je.KEYCODE.ARROW_DOWN==l||je.KEYCODE.ARROW_LEFT==l||je.KEYCODE.ARROW_RIGHT==l){if(t.is(\"span.fr-table-cell\")){var r=t.parent().find(\"span.fr-table-cell\"),n=r.index(t),o=Y.opts.tableInsertMaxSize,i=n%o,s=Math.floor(n/o);je.KEYCODE.ARROW_UP==l?s=Math.max(0,s-1):je.KEYCODE.ARROW_DOWN==l?s=Math.min(Y.opts.tableInsertMaxSize-1,s+1):je.KEYCODE.ARROW_LEFT==l?i=Math.max(0,i-1):je.KEYCODE.ARROW_RIGHT==l&&(i=Math.min(Y.opts.tableInsertMaxSize-1,i+1));var c=s*o+i,f=Z(r.get(c));d(f),Y.events.disableBlur(),f.focus(),a=!1}}else je.KEYCODE.ENTER==l&&(Y.button.exec(t),a=!1);return!1===a&&(e.preventDefault(),e.stopPropagation()),a},!0)}(l),l}function d(e){var t=e.data(\"row\");null!==t&&(t=parseInt(t));var a=e.data(\"col\");null!==a&&(a=parseInt(a));var l=e.parent();l.siblings(\".fr-table-size-info\").html(\"\".concat(t,\" &times; \").concat(a)),l.find(\"> span\").removeClass(\"hover fr-active-item\");for(var r=1;r<=Y.opts.tableInsertMaxSize;r++)for(var n=0;n<=Y.opts.tableInsertMaxSize;n++){var o=l.find('> span[data-row=\"'.concat(r,'\"][data-col=\"').concat(n,'\"]'));r<=t&&n<=a?o.addClass(\"hover\"):r<=t+1||r<=2&&!Y.helpers.isMobile()?o.css(\"display\",\"inline-block\"):2<r&&!Y.helpers.isMobile()&&o.css(\"display\",\"none\")}e.addClass(\"fr-active-item\")}function o(e){if(e)return Y.popups.onHide(\"table.edit\",r),!0;if(0<Y.opts.tableEditButtons.length){var t={buttons:'<div class=\"fr-buttons\">'.concat(Y.button.buildList(Y.opts.tableEditButtons),\"</div>\")},a=Y.popups.create(\"table.edit\",t);return Y.events.$on(Y.$wp,\"scroll.table-edit\",function(){Y.popups.isVisible(\"table.edit\")&&C()}),a}return!1}function T(e,t,a){var l=Z(e),r=Z(t);a&&\"REMOVE\"!==a&&\"transparent\"!==a&&\"rgba(0, 0, 0, 0)\"!==a?(l.css(\"background-color\",a),r.css(\"display\",\"none\")):(l.css(\"background-color\",\"transparent\"),r.css(\"display\",\"block\"))}function m(){var e=Y.popups.get(\"table.cellProperties\");if(!e){e=Y.popups.create(\"table.cellProperties\",{cell_properties_form:'\\n          <div class=\"fr-cell-properties-form\">\\n            <div class=\"fr-cell-properties-section\">\\n              <label>Background</label>\\n              <div class=\"fr-cell-bg-container\">\\n                <input type=\"text\" id=\"fr-cell-bg\" class=\"fr-input\" tabIndex=\"1\" placeholder=\"Color\">\\n                <button type=\"button\" class=\"fr-command fr-btn-cell-bg-color\" tabIndex=\"2\" data-param1=\"cell\" data-cmd=\"openColorPicker\">\\n                  <div class=\"fr-color-preview\">\\n                    <div class=\"fr-color-preview-indicator\"></div>\\n                  </div>\\n                </button>\\n              </div>\\n            </div>\\n        \\n            <div class=\"fr-cell-dimensions-container\">\\n              <div class=\"fr-cell-dimension-section\">\\n                <label>Dimensions</label>\\n                <div class=\"fr-dimension-inputs\">\\n                  <input type=\"text\" id=\"fr-cell-width\" tabIndex=\"3\" placeholder=\"Width\">\\n                  <span class=\"fr-dimension-separator\">\\xd7</span>\\n                  <input type=\"text\" id=\"fr-cell-height\" tabIndex=\"4\" placeholder=\"Height\">\\n                  <label for=\"fr-cell-height\"></label>\\n                </div>\\n              </div>\\n        \\n              <div class=\"fr-cell-padding-section\">\\n                <label>Padding</label>\\n                <div>\\n                  <input type=\"text\" id=\"fr-cell-padding\" tabIndex=\"5\" placeholder=\"Size\">\\n                  <label for=\"fr-cell-padding\"></label>\\n                </div>\\n              </div>\\n            </div>\\n        \\n            <div class=\"fr-cell-properties-buttons\">\\n              <button type=\"button\" class=\"fr-command fr-enable-accessibility fr-cancel-button\" tabIndex=\"6\" data-cmd=\"onCancel\">Cancel</button>\\n              <button type=\"button\" class=\"fr-command fr-enable-accessibility fr-save-button\" tabIndex=\"7\" data-cmd=\"applyCellProperties\">Save</button>\\n            </div>\\n          </div>',buttons:\"\"}),w(),Y.events.$on(e,\"input\",\"#fr-cell-bg\",function(){e.data(\"bg-modified\",!0)}),Y.events.$on(e,\"input\",\"#fr-cell-width\",function(){e.data(\"width-modified\",!0)}),Y.events.$on(e,\"input\",\"#fr-cell-height\",function(){e.data(\"height-modified\",!0)}),Y.events.$on(e,\"input\",\"#fr-cell-padding\",function(){e.data(\"padding-modified\",!0)})}return e}function w(){var e=Y.popups.get(\"table.cellProperties\");e&&(e.data(\"bg-modified\",!1),e.data(\"width-modified\",!1),e.data(\"height-modified\",!1),e.data(\"padding-modified\",!1))}function v(e){var t,a,l,r,n=Y.popups.get(\"table.colors\").data(\"type\");if(\"table\"===n){var o=Y.popups.get(\"table.tableProperties\");t=o.find(\".fr-color-preview\"),a=o.find(\".fr-color-preview-indicator\"),l=o.find(\"#fr-table-bg\")}else if(\"cell\"===n){var i=Y.popups.get(\"table.cellProperties\");t=i.find(\".fr-color-preview\"),a=i.find(\".fr-color-preview-indicator\"),l=i.find(\"#fr-cell-bg\"),r=Y.popups.get(\"table.cellProperties\")}else if(\"border\"===n){var s=Y.popups.get(\"table.tableProperties\");t=s.find(\".fr-border-color-preview\"),a=s.find(\".fr-border-color-preview-indicator\"),l=s.find(\"#fr-table-border-color\")}\"string\"==typeof e&&(Y.helpers.isRGBColor(e)&&(e=Y.helpers.RGBToHex(e).toUpperCase()),(Y.helpers.isValidHexColor(e)||\"transparent\"===e||\"\"===e)&&(Z(l).val(e),Z(l).focus(),\"cell\"===n&&Z(r).data(\"bg-modified\",!0),T(t,a,e)))}function y(e){var t=Y.doc.createRange(),a=e.get(0).querySelector(\"td, th\");t.setStart(a,0),t.collapse(!0);var l=Y.selection.get();l.removeAllRanges(),l.addRange(t)}function e(){s[Y.id]||(s[Y.id]=Z(document.createElement(\"div\")).attr(\"class\",\"fr-table-selector\").html('<a role=\"button\" tabIndex=\"-1\" title=\"'.concat(Y.language.translate(\"Select Table\"),'\">').concat(Y.icon.create(\"tableSelectorIcon\"),\"</a>\")));var n=Y.language.translate(\"The content you are pasting does not contain a table.\\nPlease ensure the copied content is in table format.\");Y.events.on(\"paste.before\",function(e,t){if(Y.popups.hideAll(),Y.$el.find(\"table.fr-table-selected\").length){var a=t||e&&e.clipboardData;if(a&&a.items){var l=(a||window.clipboardData).getData(\"text/html\")||\"\";if(!l||-1===l.indexOf(\"<table\"))return alert(n),e.preventDefault(),e.stopPropagation(),!1}}return!0}),Y.events.on(\"html.beforeInsert\",function(e){if(!g){var t=Y.$el.find(\"table.fr-table-selected\"),a=ge();if(a.length&&!t.length&&e.startsWith(\"<table\")&&(t=Z(a[0].closest(\"table\"))),!t.length||i)return!0;var l=function r(e){var t=Y.doc.createElement(\"div\");t.innerHTML=e;for(var a=t.firstChild;a;){var l=a.nextSibling;(a.nodeType===Node.TEXT_NODE&&\"\"===a.textContent.replace(/\\u200b/g,\"\").trim()||a.nodeType===Node.COMMENT_NODE||\"SPAN\"===a.tagName&&\"\"===a.textContent.replace(/\\u200b/g,\"\").trim())&&a.remove(),a=l}return 1===t.childNodes.length&&\"TABLE\"===t.childNodes[0].tagName&&t.childNodes[0]}(e);return l?(function u(e,t){for(var a=t.get(0),l=ge().length?ge()[0]:a.rows[0].cells[0],r=l&&l.parentNode?l.parentNode.rowIndex:0,n=l?l.cellIndex:0,o=a.rows,i=e.rows,s=0;s<i.length;s++){if(!o[r+s])for(var c=o[o.length-1].cells.length,f=a.insertRow(),d=0;d<c;d++)f.insertCell();for(var p=o[r+s],b=function b(){if(!p.cells[n+h])for(var e=0;e<o.length;e++)o[e].insertCell();var t=p.cells[n+h],a=i[s].cells[h];t.outerHTML=a.outerHTML;var l=o[r+s].cells[n+h];setTimeout(function(){Y.events.trigger(\"cell.replaced\",[t,l])},10)},h=0;h<i[s].cells.length;h++)b()}return!0}(l,t)&&setTimeout(function(){Y.$el.find(\".fr-selected-cell\").removeClass(\"fr-selected-cell\");var e=Y.snapshot.get();Y.undo_stack[Y.undo_index-1]=e},20),Y.keys.positionCaret(),Y.popups.hideAll(),Y.events.trigger(\"html.inserted\")):alert(n),!1}g=!1}),Y.events.on(\"mousedown\",function(){Y.$el.find(\"table.fr-table-selected\").length&&oe()}),Y.events.$on(Z(Y.o_win),\"resize\",function(){var e=Y.$el.find(\"table.fr-table-selected\");e.length?ie(e):oe()}),Y.events.on(\"commands.undo commands.redo commands.before\",function(e){if(!/^align/.test(e)){var t=Y.$el.find(\"table.fr-table-selected\");t.length&&(oe(),y(t))}});var e=null,t=null;Y.events.on(\"snapshot.before\",function(){t=Y.$el.find(\"table.fr-table-selection-hover\"),e=Y.$el.find(\"table.fr-table-selected\"),re(t,\"fr-table-selection-hover\"),re(e,\"fr-table-selected\")}),Y.events.on(\"snapshot.after\",function(){e&&e.addClass(\"fr-table-selected\"),t&&t.addClass(\"fr-table-selection-hover\")}),Y.events.$on(s[Y.id],\"click\",function(){var e=Y.$el.find(\"table.fr-table-selection-hover\"),t=Y.$el.find(\"table.fr-table-selected\");e.length&&(re(t,\"fr-table-selected\"),s[Y.id].addClass(\"fr-table-selector-active-selected\"),e.addClass(\"fr-table-selected\"),re(e,\"fr-table-selection-hover\"),t=e);var a=Y.doc.createRange();Y.selection.get().removeAllRanges();var l=t.get(0);a.selectNode(l),Y.selection.get().addRange(a),s[Y.id].attr(\"draggable\",!0)}),Y.events.$on(s[Y.id],\"dragstart\",function(e){var t=Y.$el.find(\"table.fr-table-selected\");if(t&&t.length){i=!0;var a=t.clone(!0).removeClass(\"fr-table-selected fr-table-draggable\"),l=a[0].outerHTML,r=a.text().trim();e.originalEvent.dataTransfer.setDragImage(t[0],10,10),e.originalEvent.dataTransfer.setData(\"text/html\",l),e.originalEvent.dataTransfer.setData(\"text/plain\",r);var n=new Blob([l],{type:\"text/html\"}),o=URL.createObjectURL(n);e.originalEvent.dataTransfer.setData(\"text/uri-list\",o),e.originalEvent.dataTransfer.setData(\"DownloadURL\",\"text/html:table.html:\".concat(o)),e.originalEvent.dataTransfer.effectAllowed=\"Move\",t.addClass(\"fr-table-draggable\"),setTimeout(function(){return URL.revokeObjectURL(o)},5e3)}}),Y.events.$on(s[Y.id],\"dragend\",function(e){i=!1,ne();var t=Y.$el.find(\"table.fr-table-draggable\"),a=t.hasClass(\"not-drop\");(e=e.originalEvent)&&e.dataTransfer&&\"none\"!==e.dataTransfer.dropEffect&&!a?t.remove():t.removeClass(\"fr-table-draggable\")}),Y.events.on(\"destroy\",function(){oe(),s[Y.id]=null})}function E(e){var t={startTag:\"\",closeTag:\"\"};return Y.opts.keepTextFormatOnTable&&(t=R(function i(e){var t=new Set,a=e.textContent,l=0,r=[e.firstChild];for(;0<r.length;){var n=r.pop();if(n&&(t.has(n)||(0===l&&a!==n.textContent&&(a=n.textContent,l++),t.add(n)),n.hasChildNodes()))for(var o=0;o<n.childNodes.length;){if(3===n.childNodes[o].nodeType)return Ge(t);if(n.childNodes[o].textContent){if(0===l&&n.childNodes[o].textContent!==a){a=n.childNodes[o].textContent,r.push(n.childNodes[o]),l++;break}n.childNodes[o].textContent===a&&r.push(n.childNodes[o])}o++}}return Ge(t)}(e).reverse())),{startTag:t.startTag,closeTag:t.closeTag}}function R(e){var t=\"\",a=\"\",l=[\"br\",\"#text\",\"#comment\",\"font\"];if(0<e.length)for(var r=e.length-1;0<=r;r--){var n=e[r],o=Y.node.isBlock(n),i=l.indexOf(n.nodeName.toLowerCase());if(!o&&i<0){var s=n.style,c=\"\";if(s&&s.length){for(var f=0;f<s.length;f++)c+=s[f]+\": \"+s[s[f]].replace(/\"/gi,\"\")+\"; \";c=c.trim()}t+=c?\"<\"+n.nodeName.toLowerCase()+' style=\"'+c+'\">':\"<\"+n.nodeName.toLowerCase()+\">\",a=\"</\"+n.nodeName.toLowerCase()+\">\"+a}}return{startTag:t,closeTag:a}}function x(){var e=ve(),t=ge(),a=0<t.length,l=0<e.length;(a||l)&&(a&&(Y.selection.setBefore(t[0])||Y.selection.setAfter(t[0]),Y.selection.restore(),Y.popups.hide(\"table.edit\")),y(e),Y.undo.saveStep(),oe(),V(),e.remove(),Y.$el.focus())}function A(e){var t=ve();if(0<t.length){if(0<Y.$el.find(\"thead .fr-selected-cell\").length&&\"above\"==e||0<Y.$el.find(\"tfoot td.fr-selected-cell\").length&&\"below\"==e)return;var a,l,r,n=j(),o=L(n);if(null==o)return;l=\"above\"==e?o.min_i:o.max_i;var i=\"<tr>\";for(a=0;a<n[l].length;a++)if(\"below\"==e&&l<n.length-1&&n[l][a]==n[l+1][a]||\"above\"==e&&0<l&&n[l][a]==n[l-1][a]){if(0===a||0<a&&n[l][a]!=n[l][a-1]){var s=Z(n[l][a]);s.attr(\"rowspan\",parseInt(s.attr(\"rowspan\"),10)+1)}}else{var c=Z(n[l][a]);if(\"TH\"==c.attr(\"tagName\").toUpperCase())i+='<th style=\"'+c.attr(\"style\")+'\" ><br></th>';else{var f=E(n[l][a]);i+='<td style=\"'+c.attr(\"style\")+'\" >'+f.startTag+\"<br>\"+f.closeTag+\"</td>\"}}i+=\"</tr>\",r=0<Y.$el.find(\"thead .fr-selected-cell\").length&&\"below\"==e||0<Y.$el.find(\"tfoot td.fr-selected-cell\").length&&\"above\"==e?Z(t.find(\"tbody\").not(t.find(\"> table tbody\"))):Z(t.find(\"tr\").not(t.find(\"> table tr\")).get(l)),\"below\"==e?\"TBODY\"==r.attr(\"tagName\")?r.prepend(i):r[0].parentNode&&r[0].insertAdjacentHTML(\"afterend\",i):\"above\"==e&&(\"TBODY\"==r.attr(\"tagName\")?r.append(i):r.before(i),Y.popups.isVisible(\"table.edit\")&&C())}}function O(e,t,a){var l,r,n,o,i,s=0,c=j(a);if(e<(t=Math.min(t,c[0].length-1)))for(r=e;r<=t;r++)if(!(e<r&&c[0][r]==c[0][r-1])&&1<(o=Math.min(parseInt(c[0][r].getAttribute(\"colspan\"),10)||1,t-e+1))&&c[0][r]==c[0][r+1])for(s=o-1,l=1;l<c.length;l++)if(c[l][r]!=c[l-1][r]){for(n=r;n<r+o;n++)if(c[l][n]!==undefined)if(1<(i=parseInt(c[l][n].getAttribute(\"colspan\"),10)||1)&&c[l][n]==c[l][n+1])n+=s=Math.min(s,i-1);else if(!(s=Math.max(0,s-1)))break;if(!s)break}s&&M(c,s,\"colspan\",0,c.length-1,e,t)}function H(e,t,a){var l,r,n,o,i,s=0,c=j(a);if(e<(t=Math.min(t,c.length-1)))for(l=e;l<=t;l++)if(!(e<l&&c[l][0]==c[l-1][0])&&c[l][0]!==undefined&&1<(o=Math.min(parseInt(c[l][0].getAttribute(\"rowspan\"),10)||1,t-e+1))&&c[l][0]==c[l+1][0])for(s=o-1,r=1;r<c[0].length;r++)if(c[l][r]!=c[l][r-1]){for(n=l;n<l+o;n++)if(c[n][r]!==undefined)if(1<(i=parseInt(c[n][r].getAttribute(\"rowspan\"),10)||1)&&c[n][r]==c[n+1][r])n+=s=Math.min(s,i-1);else if(!(s=Math.max(0,s-1)))break;if(!s)break}s&&M(c,s,\"rowspan\",e,t,0,c[0].length-1)}function M(e,t,a,l,r,n,o){var i,s,c;for(i=l;i<=r;i++)for(s=n;s<=o;s++)l<i&&e[i][s]==e[i-1][s]||n<s&&e[i][s]==e[i][s-1]||e[i][s]!==undefined&&1<(c=parseInt(e[i][s].getAttribute(a),10)||1)&&(1<c-t?e[i][s].setAttribute(a,c-t):e[i][s].removeAttribute(a))}function $(e,t,a,l,r){H(e,t,r),O(a,l,r)}function D(e){e.style.removeProperty(\"border\"),e.style.removeProperty(\"border-top\"),e.style.removeProperty(\"border-bottom\"),e.style.removeProperty(\"border-left\"),e.style.removeProperty(\"border-right\")}function j(e){var c=[];if(null==(e=e||null)&&0<ge().length&&(e=ve()),e){if(!e.find(\"tr\").html().match(/xl[0-9]+/gi))for(var t=e.find(\"tr:empty\"),a=t.length-1;0<=a;a--)Z(t[a]).remove();e.find(\"tr\").not(e.find(\"> table tr\")).each(function(i,e){var t=Z(e),s=0;t.find(\"> th, > td\").each(function(e,t){for(var a=Z(t),l=parseInt(a.attr(\"colspan\"),10)||1,r=parseInt(a.attr(\"rowspan\"),10)||1,n=i;n<i+r;n++)for(var o=s;o<s+l;o++)c[n]||(c[n]=[]),c[n][o]?s++:c[n][o]=t;s+=l})})}return c}function P(e,t){for(var a=0;a<t.length;a++)for(var l=0;l<t[a].length;l++)if(t[a][l]==e)return{row:a,col:l}}function k(e,t,a){for(var l=e+1,r=t+1;l<a.length;){if(a[l][t]!=a[e][t]){l--;break}l++}for(l==a.length&&l--;r<a[e].length;){if(a[e][r]!=a[e][t]){r--;break}r++}return r==a[e].length&&r--,{row:l,col:r}}function S(){Y.el.querySelector(\".fr-cell-fixed\")&&Y.el.querySelector(\".fr-cell-fixed\").classList.remove(\"fr-cell-fixed\"),Y.el.querySelector(\".fr-cell-handler\")&&Y.el.querySelector(\".fr-cell-handler\").classList.remove(\"fr-cell-handler\")}function V(){var e=Y.$el.find(\".fr-selected-cell\");0<e.length&&e.each(function(){var e=Z(this);e.removeClass(\"fr-selected-cell\"),\"\"===e.attr(\"class\")&&e.removeAttr(\"class\")}),S()}function N(){Y.events.disableBlur(),Y.selection.clear(),Y.$el.addClass(\"fr-no-selection\"),Y.$el.blur(),Y.events.enableBlur()}function L(e){var t=Y.$el.find(\".fr-selected-cell\");if(0<t.length){var a,l=e.length,r=0,n=e[0].length,o=0;for(a=0;a<t.length;a++){var i=P(t[a],e),s=k(i.row,i.col,e);l=Math.min(i.row,l),r=Math.max(s.row,r),n=Math.min(i.col,n),o=Math.max(s.col,o)}return{min_i:l,max_i:r,min_j:n,max_j:o}}return null}function _(e){var t=L(e);if(null!=t){var a=Z(e[t.min_i][t.min_j]),l=Z(e[t.min_i][t.max_j]),r=Z(e[t.max_i][t.min_j]);return{left:a.length&&a.offset().left,right:l.length&&l.offset().left+l.outerWidth(),top:a.length&&a.offset().top,bottom:r.length&&r.offset().top+r.outerHeight()}}}function I(e,t){if(Z(e).is(t))V(),Z(e).addClass(\"fr-selected-cell\");else{N(),Y.edit.off();var a=j(),l=P(e,a),r=P(t,a);if(!l||!r)return;var n=function b(e,t,a,l,r){var n,o,i,s,c=e,f=t,d=a,p=l;for(n=c;n<=f;n++)(1<(parseInt(Z(r[n][d]).attr(\"rowspan\"),10)||1)||1<(parseInt(Z(r[n][d]).attr(\"colspan\"),10)||1))&&(s=k((i=P(r[n][d],r)).row,i.col,r),c=Math.min(i.row,c),f=Math.max(s.row,f),d=Math.min(i.col,d),p=Math.max(s.col,p)),(1<(parseInt(Z(r[n][p]).attr(\"rowspan\"),10)||1)||1<(parseInt(Z(r[n][p]).attr(\"colspan\"),10)||1))&&(s=k((i=P(r[n][p],r)).row,i.col,r),c=Math.min(i.row,c),f=Math.max(s.row,f),d=Math.min(i.col,d),p=Math.max(s.col,p));for(o=d;o<=p;o++)(1<(parseInt(Z(r[c][o]).attr(\"rowspan\"),10)||1)||1<(parseInt(Z(r[c][o]).attr(\"colspan\"),10)||1))&&(s=k((i=P(r[c][o],r)).row,i.col,r),c=Math.min(i.row,c),f=Math.max(s.row,f),d=Math.min(i.col,d),p=Math.max(s.col,p)),(1<(parseInt(Z(r[f][o]).attr(\"rowspan\"),10)||1)||1<(parseInt(Z(r[f][o]).attr(\"colspan\"),10)||1))&&(s=k((i=P(r[f][o],r)).row,i.col,r),c=Math.min(i.row,c),f=Math.max(s.row,f),d=Math.min(i.col,d),p=Math.max(s.col,p));return c==e&&f==t&&d==a&&p==l?{min_i:e,max_i:t,min_j:a,max_j:l}:b(c,f,d,p,r)}(Math.min(l.row,r.row),Math.max(l.row,r.row),Math.min(l.col,r.col),Math.max(l.col,r.col),a);V(),e.classList.add(\"fr-cell-fixed\"),t.classList.add(\"fr-cell-handler\");for(var o=n.min_i;o<=n.max_i;o++)for(var i=n.min_j;i<=n.max_j;i++)Z(e).closest(\"table\").is(Z(a[o][i]).closest(\"table\"))&&Z(a[o][i]).addClass(\"fr-selected-cell\")}}function B(e){var t=null,a=Z(e.target);return\"TD\"==e.target.tagName||\"TH\"==e.target.tagName?t=e.target:0<a.closest(\"th\",a.closest(\"thead\")[0]).length?t=a.closest(\"th\",a.closest(\"thead\")[0]).get(0):0<a.closest(\"td\",a.closest(\"tr\")[0]).length&&(t=a.closest(\"td\",a.closest(\"tr\")[0]).get(0)),-1===Y.$el.html.toString().search(t)?null:t}function F(){V(),Y.popups.hide(\"table.edit\")}function z(e){var t=B(e);if(\"false\"==Z(t).parents(\"[contenteditable]\").not(\".fr-element\").not(\".fr-img-caption\").not(\"body\").first().attr(\"contenteditable\"))return!0;if(0<ge().length&&!t&&F(),!Y.edit.isDisabled()||Y.popups.isVisible(\"table.edit\"))if(1!=e.which||1==e.which&&Y.helpers.isMac()&&e.ctrlKey)(3==e.which||1==e.which&&Y.helpers.isMac()&&e.ctrlKey)&&t&&F();else if(b=!0,t){0<ge().length&&!e.shiftKey&&F(),e.stopPropagation(),Y.events.trigger(\"image.hideResizer\"),Y.events.trigger(\"video.hideResizer\"),p=!0;var a=t.tagName.toLowerCase();e.shiftKey&&0<Y.$el.find(\"\".concat(a,\".fr-selected-cell\")).length?Z(Y.$el.find(\"\".concat(a,\".fr-selected-cell\")).closest(\"table\")).is(Z(t).closest(\"table\"))?I(l,t):N():((Y.keys.ctrlKey(e)||e.shiftKey)&&\"TD\"===e.currentTarget.tagName&&(1<ge().length||0===Z(t).find(Y.selection.element()).length&&!Z(t).is(Y.selection.element()))&&N(),l=t,0<Y.opts.tableEditButtons.length&&I(l,l))}}function K(e){var t=Y.popups.areVisible();if(!Y.edit.isDisabled()&&t&&!t.hasClass(\"fr-do-not-hide\"))return!0;var a=B(e);if(1===ge().length&&null===a&&(Y.toolbar.enable(),V()),(1===ge().length&&a&&\"TD\"!==a.tagName&&\"TH\"!==a.tagName||!p&&!Y.$tb.is(e.target)&&!Y.$tb.is(Z(e.target).closest(\".fr-toolbar\")))&&(Y.toolbar.enable(),V()),(\"BODY\"===e.target.tagName||\"HTML\"===e.target.tagName)&&!a&&0<ge().length&&Y.toolbar.enable(),!(1!=e.which||1==e.which&&Y.helpers.isMac()&&e.ctrlKey)){if(b=!1,p)p=!1,B(e)||1!=ge().length?0<ge().length?Y.selection.isCollapsed()?(C(),Y.toolbar.enable()):(V(),Y.edit.on()):ge().length||(Y.$el.removeClass(\"fr-no-selection\"),Y.edit.on()):V();if(h){if(h=!1,W.removeClass(\"fr-moving\"),Y.$el.removeClass(\"fr-no-selection\"),Y.edit.on(),W.hasClass(\"fr-table-col-resizer\")){var l=parseFloat(W.css(\"left\"))+Y.opts.tableResizerOffset+Y.$wp.offset().left;Y.opts.iframe&&(l-=Y.$iframe.offset().left),W.data(\"release-position\",l),W.removeData(\"max-left\"),W.removeData(\"max-right\")}else{var r=parseFloat(W.css(\"top\"));W.data(\"release-position\",r),W.removeData(\"max-top\"),W.removeData(\"max-bottom\")}!function K(){var e=W.data(\"origin\"),t=W.data(\"release-position\");if(e!==t){var a=W.data(\"first\"),l=W.data(\"second\"),r=W.data(\"table\"),n=r.outerWidth();if(Y.undo.canDo()||Y.undo.saveStep(),W.hasClass(\"fr-table-col-resizer\")){var o=j(r),i=o[0]?o[0].length:0,s=we(r,i);if(-1!=a&&-1!=l||!Y.opts.proportionalTableResize){var c=function z(e,t,a){for(var l=t[0]?t[0].length:0,r=e.outerWidth(),n=[],o=[],i=a.find(\"col\"),s=0;s<l;s++){var c=i.eq(s),f=void 0,d=parseFloat(c.attr(\"width\")||c.css(\"width\"));if(d&&!isNaN(d))f=(c.attr(\"width\")||\"\").includes(\"%\")||(c.css(\"width\")||\"\").includes(\"%\")?d/100*r:d;else{var p=Z(t[0][s]);f=p.outerWidth()}n[s]=f,o[s]=f/r*100}return{currentWidths:n,currentPercentages:o}}(r,o,s),f=c.currentWidths,d=c.currentPercentages,p=Ge(d),b=t-e,h=b/n*100;if(Y.opts.proportionalTableResize){var u=(d[a]*(f[a]+t-e)/f[a]).toFixed(4),g=(d[a]+d[l]-u).toFixed(4);p[a]=+u,p[l]=+g}else{p[a]+=h,p[l]-=h;if(p[a]<1){var v=1-p[a];p[a]=1,p[l]-=v}if(p[l]<1){var m=1-p[l];p[l]=1,p[a]-=m}}Ee(s,p)}var C=s.find(\"col\"),w=-1==a&&0==l,y=a==C.length-1&&-1==l;if(w||y){var E,T=r.parent(),R=parseFloat(T.css(\"padding-left\")),x=parseFloat(T.css(\"padding-right\")),A=R+x,O=n/(T.width()-A)*100;\"rtl\"==Y.opts.direction&&0===l||\"rtl\"!=Y.opts.direction&&0!==l?E=(n+t-e)/n*O:(\"rtl\"==Y.opts.direction&&0!==l||\"rtl\"!=Y.opts.direction&&0===l)&&(E=(n-t+e)/n*O),r.css(\"width\",\"\".concat(Math.round(E).toFixed(4),\"%\"))}}else{var H=r.find(\"tr\"),M=Math.round(t-e),$=r.height();if(-1!=a&&-1!=l){var D=H.eq(a),S=D.outerHeight(),V=Math.max(S+M,Y.opts.tableResizingLimit);r.css(\"height\",\"\"),D.css(\"height\",V+\"px\"),r.css(\"height\",r.height()+\"px\")}else{var N=-1==a&&0==l;if(Y.opts.proportionalTableResize){var L=N?-M:M;Re(r,L+$)}else{if(r.css(\"height\",\"\"),N){var _=H.eq(0),I=_.outerHeight(),P=Math.max(I-M,Y.opts.tableResizingLimit);_.css(\"height\",P+\"px\")}else{var k=H.eq(H.length-1),B=k.outerHeight(),F=Math.max(B+M,Y.opts.tableResizingLimit);k.css(\"height\",F+\"px\")}r.css(\"height\",r.height()+\"px\")}}Y.opts.iframe&&Y.$iframe.height(Y.iframe_document.scrollingElement.offsetHeight)}Y.selection.restore(),Y.undo.saveStep(),Y.events.trigger(\"table.resized\",[r.get(0)])}W.removeData(\"origin\"),W.removeData(\"release-position\"),W.removeData(\"first\"),W.removeData(\"second\"),W.removeData(\"table\")}(),ee()}}}function G(e){if((!(Z(e.currentTarget).is(Z(e.originalEvent.relatedTarget))||e.currentTarget.contains(e.originalEvent.relatedTarget)||e.originalEvent.relatedTarget&&e.originalEvent.relatedTarget.contains(e.currentTarget))||e.currentTarget.querySelector(\"input, textarea\"))&&(Y.events.$on(Z(\"input, textarea\"),\"click\",t),!0===p&&0<Y.opts.tableEditButtons.length)){if(Z(e.currentTarget).closest(\"table\").is(ve()))return void I(l,e.currentTarget);\"TD\"!==e.currentTarget.tagName&&\"TH\"!==e.currentTarget.tagName&&N()}}function U(e,t,a,l){for(var r,n=t;n!=Y.el&&\"TD\"!=n.tagName&&\"TH\"!=n.tagName&&(\"up\"==l?r=n.previousElementSibling:\"down\"==l&&(r=n.nextElementSibling),!r);)n=n.parentNode;\"TD\"==n.tagName||\"TH\"==n.tagName?function o(e,t){for(var a=e;a&&\"TABLE\"!=a.tagName&&a.parentNode!=Y.el;)a=a.parentNode;if(a&&\"TABLE\"==a.tagName){var l=j(Z(a));\"up\"==t?X(P(e,l),a,l):\"down\"==t&&q(P(e,l),a,l)}}(n,l):r&&(\"up\"==l&&Y.selection.setAtEnd(r),\"down\"==l&&Y.selection.setAtStart(r))}function X(e,t,a){0<Z(\".tribute-container\").length&&\"none\"!=Z(\".tribute-container\").css(\"display\")||(0<e.row?Y.selection.setAtEnd(a[e.row-1][e.col]):U(0,t,0,\"up\"))}function q(e,t,a){if(!(0<Z(\".tribute-container\").length&&\"none\"!=Z(\".tribute-container\").css(\"display\"))){var l=parseInt(a[e.row][e.col].getAttribute(\"rowspan\"),10)||1;e.row<a.length-l?Y.selection.setAtStart(a[e.row+l][e.col]):U(0,t,0,\"down\")}}function J(e){var t=e.which,a=Y.selection.blocks();if(a.length&&(\"P\"!==(a=a[0]).tagName&&\"DIV\"!==a.tagName||(a=a.parentNode),\"TD\"==a.tagName||\"TH\"==a.tagName)){for(var l=a;l&&\"TABLE\"!=l.tagName&&l.parentNode!=Y.el;)l=l.parentNode;if(l&&\"TABLE\"==l.tagName&&(je.KEYCODE.ARROW_LEFT==t||je.KEYCODE.ARROW_UP==t||je.KEYCODE.ARROW_RIGHT==t||je.KEYCODE.ARROW_DOWN==t)&&(0<ge().length&&F(),Y.browser.webkit&&(je.KEYCODE.ARROW_UP==t||je.KEYCODE.ARROW_DOWN==t))){if(!function p(e,t,a){if(!e)return!1;var l=\"TD\"===e.tagName||\"TH\"===e.tagName?e:Z(e).parentsUntil(Y.el,\"td, th\").get(0);if(!l)return!1;if(l.textContent.trim().length<=0&&1===l.children.length&&\"BR\"===l.children[0].tagName)return!0;if((\"TD\"===l.tagName||\"TH\"===l.tagName)&&e&&e.nodeType!==Node.TEXT_NODE)if(e.children&&0<e.children.length){var r=t>e.children.length?e.children.length-1:t-1,n=e.children[r]||e.firstChild;n&&\"string\"==typeof n.textContent&&(t=(e=n).textContent.trim().length-1)}else e.firstChild&&\"string\"==typeof e.firstChild.textContent&&(e=e.firstChild,t=e.textContent.trim().length-1);var o=document.createRange();o.selectNodeContents(l);var i,s=o.getBoundingClientRect();if(e.textContent.trim().length<=0&&e.getBoundingClientRect)i=e.getBoundingClientRect();else{var c=e;e.nodeType!==Node.TEXT_NODE&&(c=function d(e){var t=document.createTreeWalker(e,NodeFilter.SHOW_TEXT,null,!1),a=null;for(;t.nextNode();)a=t.currentNode;return a}(e),t=c&&\"up\"===a?c.textContent.length:0);var f=document.createRange();f.setStart(c||e,t),f.collapse(!0),i=f.getBoundingClientRect()}{if(\"up\"===a){if(\"BR\"===e.tagName){if(l.firstChild.isSameNode(e))return!0;if(e.previousSibling&&(Y.node.isBlock(e.previousSibling)||Y.node.isVoid(e.previousSibling)))return!1}return Math.abs(i.top-s.top)<=6}if(\"down\"===a){if(\"BR\"===e.tagName){if(l.lastChild.isSameNode(e))return!0;if(e.nextSibling&&(Y.node.isBlock(e.nextSibling)||Y.node.isVoid(e.nextSibling)))return l.lastChild.isSameNode(e.nextSibling)||!1}return Math.abs(s.bottom-i.bottom)<=6}}return!1}(Y.selection.ranges(0).startContainer,Y.selection.ranges(0).startOffset,je.KEYCODE.ARROW_UP==t?\"up\":\"down\"))return;e.preventDefault(),e.stopPropagation();var r=j(Z(l)),n=P(a,r);return je.KEYCODE.ARROW_UP==t?X(n,l,r):je.KEYCODE.ARROW_DOWN==t&&q(n,l,r),Y.selection.restore(),!1}}}function Q(){Y.shared.$table_resizer||(Y.shared.$table_resizer=Z(document.createElement(\"div\")).attr(\"class\",\"fr-table-resizer\").html(\"<div></div>\")),W=Y.shared.$table_resizer,Y.events.$on(W,\"mousedown\",function(e){return!Y.core.sameInstance(W)||(0<ge().length&&F(),1==e.which?(Y.selection.save(),h=!0,W.addClass(\"fr-moving\"),N(),Y.edit.off(),W.find(\"div\").css(\"opacity\",1),!1):void 0)}),Y.events.$on(W,\"mousemove\",function(e){if(!Y.core.sameInstance(W))return!0;h&&(Y.opts.iframe&&(e.pageX-=Y.$iframe.offset().left,e.pageY-=Y.$iframe.offset().top),pe(e))});var t=function t(e){h&&K(e)};window.addEventListener(\"mouseup\",t,!0),Y.events.on(\"destroy\",function(){window.removeEventListener(\"mouseup\",t,!0)},!0),Y.events.on(\"shared.destroy\",function(){W.html(\"\").removeData().remove(),W=null},!0),Y.events.on(\"destroy\",function(){Y.$el.find(\".fr-selected-cell\").removeClass(\"fr-selected-cell\"),Z(\"body\").first().append(W.hide())},!0)}function ee(){W&&(W.find(\"div\").css(\"opacity\",0),W.css(\"top\",0),W.css(\"left\",0),W.css(\"height\",0),W.css(\"width\",0),W.find(\"div\").css(\"height\",0),W.find(\"div\").css(\"width\",0),W.css(\"padding-top\",0),W.css(\"padding-bottom\",0),W.css(\"padding-left\",0),W.css(\"padding-right\",0),W.hide())}function te(){c&&c.removeClass(\"fr-visible\").css(\"left\",\"-9999px\")}function ae(e,t){if(Y.$box.find(\".fr-line-breaker\").isVisible())return!1;c||he(),Y.$box.append(c),c.data(\"instance\",Y);var a,l=Z(t).find(\"tr\").first(),r=e.pageX,n=0,o=0;if(Y.opts.iframe){var i=Y.helpers.getPX(Y.$wp.find(\".fr-iframe\").css(\"padding-top\")),s=Y.helpers.getPX(Y.$wp.find(\".fr-iframe\").css(\"padding-left\"));n+=Y.$iframe.offset().left-Y.helpers.scrollLeft()+s,o+=Y.$iframe.offset().top-Y.helpers.scrollTop()+i}l.find(\"th, td\").each(function(){var e=Z(this);return e.offset().left<=r&&r<e.offset().left+e.outerWidth()/2?(a=parseInt(c.find(\"a\").css(\"width\"),10),c.css(\"top\",o+e.offset().top-Y.$box.offset().top-a-5),c.css(\"left\",n+e.offset().left-Y.$box.offset().left-a/2),c.data(\"selected-cell\",e),c.data(\"position\",\"before\"),c.addClass(\"fr-visible\"),!1):e.offset().left+e.outerWidth()/2<=r&&r<e.offset().left+e.outerWidth()?(a=parseInt(c.find(\"a\").css(\"width\"),10),c.css(\"top\",o+e.offset().top-Y.$box.offset().top-a-5),c.css(\"left\",n+e.offset().left-Y.$box.offset().left+e.outerWidth()-a/2),c.data(\"selected-cell\",e),c.data(\"position\",\"after\"),c.addClass(\"fr-visible\"),!1):void 0})}function le(e,t){if(Y.$box.find(\".fr-line-breaker\").isVisible())return!1;c||he(),Y.$box.append(c),c.data(\"instance\",Y);var a,l=Z(t),r=e.pageY,n=0,o=0;if(Y.opts.iframe){var i=Y.helpers.getPX(Y.$wp.find(\".fr-iframe\").css(\"padding-top\")),s=Y.helpers.getPX(Y.$wp.find(\".fr-iframe\").css(\"padding-left\"));n+=Y.$iframe.offset().left-Y.helpers.scrollLeft()+s,o+=Y.$iframe.offset().top-Y.helpers.scrollTop()+i}l.find(\"tr\").each(function(){var e=Z(this);a=parseInt(c.find(\"a\").css(\"width\"),10);var t=n+e.offset().left-Y.$box.offset().left;return t=0!==Y.$box.offset().left?t-a-5:t+a-5,e.offset().top<=r&&r<e.offset().top+e.outerHeight()/2?(c.css(\"top\",o+e.offset().top-Y.$box.offset().top-a/2),c.css(\"left\",t),c.data(\"selected-cell\",e.find(\"td\").first()),c.data(\"position\",\"above\"),c.addClass(\"fr-visible\"),!1):e.offset().top+e.outerHeight()/2<=r&&r<e.offset().top+e.outerHeight()?(c.css(\"top\",o+e.offset().top-Y.$box.offset().top+e.outerHeight()-a/2),c.css(\"left\",t),c.data(\"selected-cell\",e.find(\"td\").first()),c.data(\"position\",\"below\"),c.addClass(\"fr-visible\"),!1):void 0})}function re(e,t){var a=Z(e);a.removeClass(t),a.length&&a.get(0).hasAttribute(\"class\")&&!a.attr(\"class\").trim()&&a.removeAttr(\"class\")}function ne(){s[Y.id]&&!i&&(re(s[Y.id],\"fr-table-selector-active fr-table-selector-active-selected\"),s[Y.id].addClass(\"fr-table-selector-inactive\"),re(Y.$el.find(\"table.fr-table-selection-hover\"),\"fr-table-selection-hover\"),function e(){s[Y.id].removeAttr(\"draggable\"),u&&(i=!1,u.hide(),u.removeAttr(\"data-position\"),u.removeData(\"target-element\"))}())}function oe(){re(Y.$el.find(\"table.fr-table-selected\"),\"fr-table-selected fr-table-selection-hover\"),ne()}function ie(e){Y.$box.append(s[Y.id]),s[Y.id].data(\"instance\",Y);var t=e.offset().left-Y.$box.offset().left+16,a=e.offset().top-Y.$box.offset().top-s[Y.id].outerHeight();if(Y.opts.iframe){var l=Y.helpers.getPX(Y.$wp.find(\".fr-iframe\").css(\"padding-top\")),r=Y.helpers.getPX(Y.$wp.find(\".fr-iframe\").css(\"padding-left\"));t+=Y.$iframe.offset().left-Y.helpers.scrollLeft()+r,a+=Y.$iframe.offset().top-Y.helpers.scrollTop()+l}s[Y.id].css(\"top\",a),s[Y.id].css(\"left\",t)}function se(e){f=null;var t=Y.doc.elementFromPoint(e.pageX-Y.win.pageXOffset,e.pageY-Y.win.pageYOffset);Y.opts.tableResizer&&(!Y.popups.areVisible()||Y.popups.areVisible()&&Y.popups.isVisible(\"table.edit\"))&&function I(e,t){var a,l=Z(t);l&&(a=l.closest(\"table\"));var r=a.parent();if(t&&\"TD\"!=t.tagName&&\"TH\"!=t.tagName&&(0<l.closest(\"td\").length?t=l.closest(\"td\"):0<l.closest(\"th\").length&&(t=l.closest(\"th\"))),!t||\"TD\"!=t.tagName&&\"TH\"!=t.tagName)W&&l.get(0)!=W.get(0)&&l.parent().get(0)!=W.get(0)&&Y.core.sameInstance(W)&&ee();else{if(l=Z(t),0===Y.$el.find(l).length)return!1;var n=l.offset().left-1,o=n+l.outerWidth(),i=l.offset().top-1,s=i+l.outerHeight();if(Math.abs(e.pageX-n)<=Y.opts.tableResizerOffset||Math.abs(o-e.pageX)<=Y.opts.tableResizerOffset){var c,f,d,p,b,h=j(a),u=P(t,h),g=k(u.row,u.col,h),v=a.offset().top,m=a.outerHeight()-1;\"rtl\"!=Y.opts.direction?e.pageX-n<=Y.opts.tableResizerOffset?(d=n,0<u.col?(p=n-fe(u.col-1,h)+Y.opts.tableResizingLimit,b=n+fe(u.col,h)-Y.opts.tableResizingLimit,c=u.col-1,f=u.col):(c=-1,f=0,p=Y.$wp.offset().left-1+parseFloat(r.css(\"padding-left\")),b=Y.opts.proportionalTableResize?a.offset().left-1+a.width()-h[0].length*Y.opts.tableResizingLimit:n+fe(u.col,h)-Y.opts.tableResizingLimit)):o-e.pageX<=Y.opts.tableResizerOffset&&(d=o,g.col<h[g.row].length&&h[g.row][g.col+1]?(p=o-fe(g.col,h)+Y.opts.tableResizingLimit,b=o+fe(g.col+1,h)-Y.opts.tableResizingLimit,c=g.col,f=g.col+1):(c=g.col,f=-1,p=Y.opts.proportionalTableResize?a.offset().left-1+h[0].length*Y.opts.tableResizingLimit:o-fe(g.col,h)+Y.opts.tableResizingLimit,b=r.offset().left-1+r.width()-parseFloat(r.css(\"padding-left\")))):o-e.pageX<=Y.opts.tableResizerOffset?(d=o,0<u.col?(p=o-fe(u.col,h)+Y.opts.tableResizingLimit,b=o+fe(u.col-1,h)-Y.opts.tableResizingLimit,c=u.col,f=u.col-1):(c=null,f=0,p=a.offset().left+h[0].length*Y.opts.tableResizingLimit,b=r.offset().left-1+r.width()+parseFloat(r.css(\"padding-left\")))):e.pageX-n<=Y.opts.tableResizerOffset&&(d=n,g.col<h[g.row].length&&h[g.row][g.col+1]?(p=n-fe(g.col+1,h)+Y.opts.tableResizingLimit,b=n+fe(g.col,h)-Y.opts.tableResizingLimit,c=g.col+1,f=g.col):(c=g.col,f=null,p=r.offset().left+parseFloat(r.css(\"padding-left\")),b=a.offset().left-1+a.width()-h[0].length*Y.opts.tableResizingLimit)),W||Q(),ee(),W.removeClass(\"fr-table-row-resizer\"),W.addClass(\"fr-table-col-resizer\"),W.data(\"table\",a),W.data(\"first\",c),W.data(\"second\",f),W.data(\"instance\",Y),Y.$wp.append(W);var C=d-Y.win.pageXOffset-Y.opts.tableResizerOffset-Y.$wp.offset().left,w=v-Y.$wp.offset().top+Y.$wp.scrollTop();if(Y.opts.iframe){var y=Y.helpers.getPX(Y.$wp.find(\".fr-iframe\").css(\"padding-top\")),E=Y.helpers.getPX(Y.$wp.find(\".fr-iframe\").css(\"padding-left\"));C+=Y.$iframe.offset().left+E,w+=Y.$iframe.offset().top+y,p+=Y.$iframe.offset().left,b+=Y.$iframe.offset().left}W.data(\"max-left\",p),W.data(\"max-right\",b),W.data(\"origin\",d-Y.win.pageXOffset),W.css(\"top\",w),W.css(\"left\",C),W.css(\"height\",m),W.find(\"div\").css(\"height\",m),W.css(\"padding-left\",Y.opts.tableResizerOffset),W.css(\"padding-right\",Y.opts.tableResizerOffset),W.show()}else if(Math.abs(e.pageY-i)<=Y.opts.tableResizerOffset||Math.abs(s-e.pageY)<=Y.opts.tableResizerOffset){var T,R,x,A,O,H=j(a),M=P(t,H),$=k(M.row,M.col,H),D=a.offset().left,S=a.outerWidth()-1;e.pageY-i<=Y.opts.tableResizerOffset?(x=i,0<M.row?(A=i-de(M.row-1,H),O=Y.win.outerHeight,T=M.row-1,R=M.row):(T=-1,R=0,A=Y.$el.offset().top-1+parseInt(a.css(\"margin-top\"),10),O=Y.opts.proportionalTableResize?a.offset().top-1+a.height()-H.length*Y.opts.tableResizingLimit:a.offset().top+l.height())):s-e.pageY<=Y.opts.tableResizerOffset&&(x=s,$.row<H.length-1?(A=s-de($.row,H),O=Y.win.outerHeight,T=$.row,R=$.row+1):(T=$.row,R=-1,A=Y.opts.proportionalTableResize?a.offset().top-1+H.length*Y.opts.tableResizingLimit:s-de($.row,H),O=Y.win.outerHeight)),W||Q(),ee(),W.removeClass(\"fr-table-col-resizer\"),W.addClass(\"fr-table-row-resizer\"),W.data(\"table\",a),W.data(\"first\",T),W.data(\"second\",R),W.data(\"instance\",Y),Y.$wp.append(W);var V=D-Y.$wp.offset().left,N=x-Y.$wp.offset().top+Y.$wp.scrollTop()-Y.opts.tableResizerOffset;if(Y.opts.iframe){var L=Y.helpers.getPX(Y.$wp.find(\".fr-iframe\").css(\"padding-top\")),_=Y.helpers.getPX(Y.$wp.find(\".fr-iframe\").css(\"padding-left\"));V+=Y.$iframe.offset().left+_,N+=Y.$iframe.offset().top+L,A+=Y.$iframe.offset().top,O+=Y.$iframe.offset().top}W.data(\"max-top\",A-Y.$wp.offset().top+Y.$wp.scrollTop()-Y.opts.tableResizerOffset),W.data(\"max-bottom\",O-Y.$wp.offset().top+Y.$wp.scrollTop()-Y.opts.tableResizerOffset),W.data(\"origin\",N),W.css(\"top\",N),W.css(\"left\",V),W.css(\"width\",S),W.find(\"div\").css(\"width\",S),W.css(\"padding-top\",Y.opts.tableResizerOffset),W.css(\"padding-bottom\",Y.opts.tableResizerOffset),W.show()}else Y.core.sameInstance(W)&&ee()}}(e,t),!Y.opts.tableInsertHelper||Y.popups.areVisible()||Y.$tb.hasClass(\"fr-inline\")&&Y.$tb.isVisible()||function n(e,t){if(0===ge().length){var a,l,r;if(t&&(\"HTML\"==t.tagName||\"BODY\"==t.tagName||Y.node.isElement(t)))for(a=1;a<=Y.opts.tableInsertHelperOffset;a++){if(l=Y.doc.elementFromPoint(e.pageX-Y.win.pageXOffset,e.pageY-Y.win.pageYOffset+a),Z(l).hasClass(\"fr-tooltip\"))return!0;if(l&&(\"TH\"==l.tagName||\"TD\"==l.tagName||\"TABLE\"==l.tagName)&&(Z(l).parents(\".fr-wrapper\").length||Y.opts.iframe)&&\"false\"!=Z(l).closest(\"table\").attr(\"contenteditable\"))return ae(e,Z(l).closest(\"table\")),!0;if(r=Y.doc.elementFromPoint(e.pageX-Y.win.pageXOffset+a,e.pageY-Y.win.pageYOffset),Z(r).hasClass(\"fr-tooltip\"))return!0;if(r&&(\"TH\"==r.tagName||\"TD\"==r.tagName||\"TABLE\"==r.tagName)&&(Z(r).parents(\".fr-wrapper\").length||Y.opts.iframe)&&\"false\"!=Z(r).closest(\"table\").attr(\"contenteditable\"))return le(e,Z(r).closest(\"table\")),!0}Y.core.sameInstance(c)&&te()}}(e,t),Y.opts.enableTableSelection&&function i(e,t){var a=Z(t),l=Y.$el.find(\"table.fr-table-selection-hover\"),r=Y.$el.find(\"table.fr-table-selected\");if(Y.node.isElement(t)||Y.node.isElement(a.parents(\".fr-view\").first().get(0))||Y.core.sameInstance(a)||Y.core.sameInstance(a.parents(\"div.fr-table-selector\"))){if(!a.parents(\".fr-table-selector\").length){var n=a.closest(\"table\").filter(function(){return!(!Y.$el||!Y.$el.length)&&Y.$el.get(0).contains(this)});if(n.length){if(ie(n),s[Y.id].addClass(\"fr-table-selector-active\"),re(s[Y.id],\"fr-table-selector-inactive\"),re(l,\"fr-table-selection-hover\"),r.length){var o=r.get(0)===n.get(0);s[Y.id].toggleClass(\"fr-table-selector-active-selected\",o),s[Y.id].attr(\"draggable\",o)}n.addClass(\"fr-table-selection-hover\")}else l.length&&Math.abs(l.offset().top-e.pageY)<5||s[Y.id].hasClass(\"fr-table-selector-inactive\")||ne()}}else r.length||ne()}(e,t)}function ce(){if(h){var e=W.data(\"table\").offset().top-Y.win.pageYOffset;if(Y.opts.iframe){var t=Y.helpers.getPX(Y.$wp.find(\".fr-iframe\").css(\"padding-top\"));e+=Y.$iframe.offset().top-Y.helpers.scrollTop()+t}W.css(\"top\",e)}}function fe(e,t){var a,l=Z(t[0][e]).outerWidth();for(a=1;a<t.length;a++)l=Math.min(l,Z(t[a][e]).outerWidth());return l}function de(e,t){var a,l=Z(t[e][0]).outerHeight();for(a=1;a<t[e].length;a++)l=Math.min(l,Z(t[e][a]).outerHeight());return l}function pe(e){if(1<ge().length&&b&&N(),!1===b&&!1===p&&!1===h)f&&clearTimeout(f),Y.edit.isDisabled()&&!Y.popups.isVisible(\"table.edit\")||(f=setTimeout(se,30,e));else if(h)if(W.hasClass(\"fr-table-col-resizer\")){var t=e.pageX-Y.win.pageXOffset;Y.opts.iframe&&(t+=Y.$iframe.offset().left);var a=W.data(\"max-left\"),l=W.data(\"max-right\");a<=t&&t<=l?W.css(\"left\",t-Y.opts.tableResizerOffset-Y.$wp.offset().left):t<a&&parseFloat(W.css(\"left\"),10)>a-Y.opts.tableResizerOffset?W.css(\"left\",a-Y.opts.tableResizerOffset-Y.$wp.offset().left):l<t&&parseFloat(W.css(\"left\"),10)<l-Y.opts.tableResizerOffset&&W.css(\"left\",l-Y.opts.tableResizerOffset-Y.$wp.offset().left)}else{var r=e.pageY-Y.win.pageYOffset;Y.opts.iframe&&(r+=Y.$iframe.offset().top);var n,o,i=W.data(\"max-top\"),s=W.data(\"max-bottom\");n=Y.opts.height?(o=r-Y.opts.tableResizerOffset-Y.$wp.offset().top+Y.$wp.scrollTop(),Y.opts.iframe&&(s=Y.win.innerHeight),o):(o=r-Y.opts.tableResizerOffset-Y.$wp.offset().top+Y.helpers.scrollTop(),Y.opts.iframe&&(o=r-Y.opts.tableResizerOffset-Y.$wp.offset().top),s=Y.win.innerHeight,e.clientY),i<=o&&n<=s&&W.css(\"top\",o)}else b&&te()}function be(e){Y.node.isEmpty(e.get(0))?Y.opts.keepTextFormatOnTable&&Y.browser.mozilla?e.append(je.MARKERS):e.prepend(je.MARKERS):e.prepend(je.START_MARKER).append(je.END_MARKER)}function he(){Y.shared.$ti_helper||(Y.shared.$ti_helper=Z(document.createElement(\"div\")).attr(\"class\",\"fr-insert-helper\").html('<a class=\"fr-floating-btn\" role=\"button\" tabIndex=\"-1\" title=\"'.concat(Y.language.translate(\"Insert\"),'\"><svg viewBox=\"0 0 32 32\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M22,16.75 L16.75,16.75 L16.75,22 L15.25,22.000 L15.25,16.75 L10,16.75 L10,15.25 L15.25,15.25 L15.25,10 L16.75,10 L16.75,15.25 L22,15.25 L22,16.75 Z\"/></svg></a>')),Y.events.bindClick(Y.shared.$ti_helper,\"a\",function(){var e=c.data(\"selected-cell\"),t=c.data(\"position\"),a=c.data(\"instance\")||Y;\"before\"==t?(Y.undo.saveStep(),e.addClass(\"fr-selected-cell\"),a.table.insertColumn(t),e.removeClass(\"fr-selected-cell\"),Y.undo.saveStep()):\"after\"==t?(Y.undo.saveStep(),e.addClass(\"fr-selected-cell\"),a.table.insertColumn(t),e.removeClass(\"fr-selected-cell\"),Y.undo.saveStep()):\"above\"==t?(Y.undo.saveStep(),e.addClass(\"fr-selected-cell\"),a.table.insertRow(t),e.removeClass(\"fr-selected-cell\"),Y.undo.saveStep()):\"below\"==t&&(Y.undo.saveStep(),e.addClass(\"fr-selected-cell\"),a.table.insertRow(t),e.removeClass(\"fr-selected-cell\"),Y.undo.saveStep()),te()}),Y.events.on(\"shared.destroy\",function(){Y.shared.$ti_helper.html(\"\").removeData().remove(),Y.shared.$ti_helper=null},!0),Y.events.$on(Y.shared.$ti_helper,\"mousemove\",function(e){e.stopPropagation()},!0),Y.events.$on(Z(Y.o_win),\"scroll\",function(){te()},!0),Y.events.$on(Y.$wp,\"scroll\",function(){te()},!0)),c=Y.shared.$ti_helper,Y.events.on(\"destroy\",function(){c=null}),Y.tooltip.bind(Y.$box,\".fr-insert-helper > a.fr-floating-btn\")}function ue(){l=null,clearTimeout(f)}function ge(){return Y.el.querySelectorAll(\".fr-selected-cell\")}function ve(){var e=ge(),t=Y.$el.find(\"table.fr-table-selected\");if(e.length){for(var a=e[0];a&&\"TABLE\"!=a.tagName&&a.parentNode!=Y.el;)a=a.parentNode;return a&&\"TABLE\"==a.tagName?Z(a):Z([])}return t.length?Z(t.get(0)):Z([])}function me(e){var t=Y.popups.get(\"table.tableProperties\"),a=t.find(\".fr-table-alignment-container\"),l=a.find(\".fr-table-\".concat(e,\"-align\")).get(0);a.find(\".fr-table-left-align\").get(0).innerHTML=Y.icon.create(\"leftTableAlign\"),a.find(\".fr-table-center-align\").get(0).innerHTML=Y.icon.create(\"centerTableAlign\"),a.find(\".fr-table-right-align\").get(0).innerHTML=Y.icon.create(\"rightTableAlign\"),l.innerHTML=Y.icon.create(\"\".concat(e,\"TableAlignActive\")),l.focus(),t.data(\"tableAlign\",e)}function Ce(){var e={buttons:\"\",table_properties_form:'\\n         <div class=\"fr-table-properties-form\">\\n            <div class=\"fr-table-properties-section\">\\n              <label>Background</label>\\n              <div class=\"fr-table-bg-container\">\\n                <div class=\"fr-input-line\">\\n                  <input type=\"text\" title=\"'.concat(Y.language.translate(\"Custom background color input\"),'\" id=\"fr-table-bg\" class=\"fr-input\" placeholder=\"Color\" tabIndex=\"1\" aria-required=\"true\">\\n                </div>\\n                <button title=\"').concat(Y.language.translate(\"Background color picker\"),'\" role=\"button\" type=\"button\" class=\"fr-command fr-enable-accessibility fr-btn-table-bg-color\" data-param1=\"table\" tabIndex=\"2\" data-cmd=\"openColorPicker\">\\n                  <div class=\"fr-color-preview\">\\n                    <div class=\"fr-color-preview-indicator\"></div>\\n                  </div>\\n                </button>\\n              </div>\\n              <label>Border</label>\\n              <div class=\"fr-table-border-container\">\\n                <div class=\"fr-input-line\">\\n                  <label class=\"fr-field-lable\">Style</label>\\n                  <div class= \"fr-buttons fr-border-style\"> ').concat(Y.button.build(\"tableBorderStyle\",je.COMMANDS.tableBorderStyle,!0),'</div>\\n                </div>\\n                <div class=\"fr-input-line\">\\n                  <input  title=\"').concat(Y.language.translate(\"Custom border color input\"),'\" id=\"fr-table-border-color\" class=\"fr-input\" type=\"text\" placeholder=\"Color\" tabIndex=\"3\" aria-required=\"true\">\\n                </div>\\n                <button  title=\"').concat(Y.language.translate(\"Border color picker\"),'\" role=\"button\" type=\"button\" class=\"fr-command fr-btn-table-border-bg-color fr-enable-accessibility\" tabIndex=\"4\" data-param1=\"border\" data-cmd=\"openColorPicker\">\\n                  <div class=\"fr-border-color-preview\">\\n                    <div class=\"fr-border-color-preview-indicator\"></div>\\n                  </div>\\n                </button>\\n                <div class=\"fr-input-line\">\\n                  <input  title=\"').concat(Y.language.translate(\"Border width\"),'\" id=\"fr-table-border-width\" type=\"text\" class=\"fr-input\" placeholder=\"Width\" tabIndex=\"5\" aria-required=\"true\">\\n                </div>\\n              </div>\\n              <div class=\"fr-table-dimentions-section\">\\n                <div>\\n                  <label>Dimentions</label>\\n                  <div class=\"fr-table-dimentions-container\">\\n                    <div class=\"fr-input-line\">\\n                      <input title=\"').concat(Y.language.translate(\"Table width\"),'\" type=\"text\" id=\"fr-table-width\" placeholder=\"Width\" tabIndex=\"6\">\\n                    </div>\\n                    <span class=\"fr-dimension-separator\">\\xd7</span>\\n                    <div class=\"fr-input-line\">\\n                      <input title=\"').concat(Y.language.translate(\"Table height\"),'\" type=\"text\" id=\"fr-table-height\" placeholder=\"Height\" tabIndex=\"7\">\\n                    </div>\\n                  </div>\\n                </div>\\n                <div class=\"fr-table-alignment-section\">\\n                  <label>Alignment</label>\\n                  <div class=\"fr-table-alignment-container\">\\n                    <button title=\"').concat(Y.language.translate(\"Left align\"),'\" class=\"fr-enable-accessibility fr-command fr-table-left-align\" data-param1=\"left\" data-cmd=\"tableAlign\" tabIndex=\"8\">').concat(Y.icon.create(\"leftTableAlign\"),'</button>\\n                    <button title=\"').concat(Y.language.translate(\"Center align\"),'\" class=\"fr-enable-accessibility fr-command fr-table-center-align\" data-param1=\"center\" data-cmd=\"tableAlign\" tabIndex=\"9\">').concat(Y.icon.create(\"centerTableAlign\"),'</button>\\n                    <button title=\"').concat(Y.language.translate(\"Right align\"),'\" class=\"fr-enable-accessibility fr-command fr-table-right-align\" data-param1=\"right\" data-cmd=\"tableAlign\" tabIndex=\"10\">').concat(Y.icon.create(\"rightTableAlign\"),'</button>\\n                  </div>\\n                </div>\\n              </div>\\n              <label>Table style</label>\\n              <div class=\"fr-table-style-container\">\\n                <div class=\"fr-input-line\">\\n                  <label class=\"fr-field-lable\">Style</label>\\n                  <div class= \"fr-buttons fr-table-style\"> ').concat(Y.button.build(\"tableStyle\",je.COMMANDS.tableStyle,!0),'</div>\\n                </div>\\n              </div>\\n            </div>\\n            <div class=\"fr-table-properties-buttons\">\\n              <button title=\"').concat(Y.language.translate(\"Cancel\"),'\" role=\"button\" type=\"button\" class=\"fr-enable-accessibility fr-command fr-cancel-button\" tabIndex=\"11\" data-cmd=\"onCancel\">Cancel</button>\\n              <button title=\"').concat(Y.language.translate(\"Save\"),'\" role=\"button\" type=\"button\" class=\"fr-enable-accessibility fr-command fr-save-button\" tabIndex=\"12\" data-cmd=\"applyTableProperties\">Save</button>\\n            </div>\\n          </div>\\n        ')},n=Y.popups.create(\"table.tableProperties\",e),t=function t(e,l,r){n.find(e).on(\"keydown\",function(t){var e=Z(t.target),a=t.which;a!==je.KEYCODE.ENTER&&a!==je.KEYCODE.ARROW_DOWN&&a!==je.KEYCODE.SPACE||e.hasClass(\"fr-active\")||!e.is(\"button\")||(l&&r&&Y.button.click(e),t.preventDefault(),t.stopPropagation()),setTimeout(function(){if(a===je.KEYCODE.TAB&&l&&r){var e=t.shiftKey?n.find(l):n.find(r);e&&e.length&&e.focus(),t.preventDefault(),t.stopPropagation()}},10)})};return t(\".fr-border-style > button\",\".fr-btn-table-bg-color\",\"#fr-table-border-color\"),t(\".fr-border-style > .fr-dropdown-menu li\",\".fr-btn-table-bg-color\",\"#fr-table-border-color\"),t(\".fr-table-style > button\",\".fr-table-right-align\",\".fr-cancel-button\"),t(\".fr-table-style > .fr-dropdown-menu li\",\".fr-table-right-align\",\".fr-cancel-button\"),t(\".fr-save-button\",\".fr-cancel-button\",\"#fr-table-bg\"),n}function t(){p=!1}function we(e,t){var a=e.find(\"colgroup\");0===a.length&&(a=Z(Y.doc.createElement(\"colgroup\")),e.prepend(a));var l=a.find(\"col\").length;if(l<t)for(var r=l;r<t;r++)a.append(Z(Y.doc.createElement(\"col\")));else t<l&&a.find(\"col\").slice(t).remove();return Ee(a,ye(e)),e.find(\"th, td\").each(function(){Z(this).css(\"width\",\"\")}),a}function ye(e){var t=[];return e.find(\"colgroup\").find(\"col\").each(function(){var e=Math.round(Z(this).width())||0;t.push(e)}),t}function Ee(e,t){var a=e.find(\"col\"),l=t.reduce(function(e,t){return e+t},0);if(.01<Math.abs(l-100)){var r=100/l;t=t.map(function(e){return e*r})}a.each(function(e){e<t.length&&Z(this).css(\"width\",t[e].toFixed(4)+\"%\")})}function Te(e){var t=function f(e){var t=e.target,l=e.clientY;if(\"OL\"===t.tagName||\"UL\"===t.tagName){var a=Z(t).find(\"li\"),r=null,n=Infinity;return a.each(function(){var e=this.getBoundingClientRect(),t=e.top+e.height/2,a=Math.abs(l-t);a<n&&(n=a,r=this)}),r||t}var o=Z(t).closest(\"li\")[0];if(o)return o;return function i(e){var t=e;for(;t&&t!==Y.$el[0];){if(Y.node.isBlock(t))return t;t=t.parentElement}return null}(t)}(e);if(t){var a=t.getBoundingClientRect(),l=e.clientY,r=parseFloat(Z(t).css(\"margin-top\"))||0,n=parseFloat(Z(t).css(\"margin-bottom\"))||0,o=l<a.top+a.height/2,i=o?-r:n,s=(o?a.top:a.bottom)-Y.$box.offset().top+Y.helpers.scrollTop()+i/2,c=a.x-Y.$wp.offset().left;u||(u=Z(Y.doc.createElement(\"div\")).addClass(\"fr-table-drop-indicator\").html('<div class=\"fr-table-drop-indicator-line\"></div>'),Y.$box.append(u)),Y.opts.iframe&&(s+=Y.$iframe.offset().top,c+=Y.$iframe.offset().left),u.css({top:s+\"px\",left:c,width:a.width+\"px\"}).attr(\"data-position\",o?\"above\":\"below\").data(\"target-element\",t),u.show()}}function Re(e,t){e.css(\"height\",\"\");var a=e.height(),l=e.find(\"tr\"),r=(t-a)/l.length;l.each(function(){var e=Z(this),t=e.outerHeight(),a=Math.max(t+r,Y.opts.tableResizingLimit);e.css(\"height\",a+\"px\")}),e.css(\"height\",\"\".concat(t,\"px\"))}return{_init:function xe(){if(!Y.$wp)return!1;if(Y.helpers.isMobile()&&(Y.events.$on(Y.$el,\"mousedown\",z),Y.events.$on(Y.$win,\"mouseup\",K)),!Y.helpers.isMobile()){h=p=b=!1,Y.events.$on(Y.$el,\"mousedown\",z),Y.popups.onShow(\"image.edit\",function(){V(),p=b=!1}),Y.popups.onShow(\"link.edit\",function(){V(),p=b=!1}),Y.events.$on(Y.$el,\"mouseover\",\"th, td\",G),Y.events.$on(Y.$win,\"mouseup\",K),Y.opts.iframe&&Y.events.$on(Z(Y.o_win),\"mouseup\",K),Y.events.$on(Y.$win,\"mousemove\",pe),Y.events.$on(Z(Y.o_win),\"scroll\",ce),Y.events.on(\"contentChanged\",function(){ne(),0<ge().length&&!Y.popups.isVisible(\"table.tableProperties\")&&(C(),Y.$el.find(\"img\").on(\"load.selected-cells\",function(){Z(this).off(\"load.selected-cells\"),0<ge().length&&C()}))}),Y.events.$on(Z(Y.o_win),\"resize\",function(){V()}),Y.events.on(\"toolbar.esc\",function(){if(0<ge().length)return Y.events.disableBlur(),Y.events.focus(),!1},!0),Y.events.$on(Z(Y.o_win),\"keydown\",function(){b&&p&&(p=b=!1,Y.$el.removeClass(\"fr-no-selection\"),Y.edit.on(),Y.selection.setAtEnd(Y.$el.find(\".fr-selected-cell\").last().get(0)),Y.selection.restore(),V())}),Y.events.$on(Y.$el,\"keydown\",function(e){e.shiftKey?!1===function o(e){var t=ge();if(null!=t&&0<t.length){var a,l=j(),r=e.which,n=P(1==t.length?a=t[0]:(a=Y.el.querySelector(\".fr-cell-fixed\"),Y.el.querySelector(\".fr-cell-handler\")),l);if(je.KEYCODE.ARROW_RIGHT==r){if(n.col<l[0].length-1)return I(a,l[n.row][n.col+1]),!1}else if(je.KEYCODE.ARROW_DOWN==r){if(n.row<l.length-1)return I(a,l[n.row+1][n.col]),!1}else if(je.KEYCODE.ARROW_LEFT==r){if(0<n.col)return I(a,l[n.row][n.col-1]),!1}else if(je.KEYCODE.ARROW_UP==r&&0<n.row)return I(a,l[n.row-1][n.col]),!1}}(e)&&setTimeout(function(){C()},0):J(e)}),Y.events.on(\"keydown\",function(e){if(!1===function v(e){if(e.which==je.KEYCODE.TAB){var t;if(0<ge().length)t=Y.$el.find(\".fr-selected-cell\").last();else{var a=Y.selection.element();\"TD\"==a.tagName||\"TH\"==a.tagName?t=Z(a):a!=Y.el&&(0<Z(a).parentsUntil(Y.$el,\"td\").length?t=Z(a).parents(\"td\").first():0<Z(a).parentsUntil(Y.$el,\"th\").length&&(t=Z(a).parents(\"th\").first()))}if(t)return e.preventDefault(),!!(0===Y.selection.get().focusOffset&&0<Z(Y.selection.element()).parentsUntil(Y.$el,\"ol, ul\").length&&(0<Z(Y.selection.element()).closest(\"li\").prev().length||Z(Y.selection.element()).is(\"li\")&&0<Z(Y.selection.element()).prev().length))||(F(),e.shiftKey?0<t.prev().length?be(t.prev()):0<t.closest(\"tr\").length&&0<t.closest(\"tr\").prev().length?be(t.closest(\"tr\").prev().find(\"td\").last()):0<t.closest(\"tbody\").length&&0<t.closest(\"table\").find(\"thead tr\").length&&be(t.closest(\"table\").find(\"thead tr th\").last()):0<t.next().length?be(t.next()):0<t.closest(\"tr\").length&&0<t.closest(\"tr\").next().length?be(t.closest(\"tr\").next().find(\"td\").first()):0<t.closest(\"thead\").length&&0<t.closest(\"table\").find(\"tbody tr\").length?be(t.closest(\"table\").find(\"tbody tr td\").first()):(t.addClass(\"fr-selected-cell\"),A(\"below\"),V(),be(t.closest(\"tr\").next().find(\"td\").first())),Y.selection.restore(),!1)}}(e))return!1;var t=function t(){V(),oe(),e.preventDefault(),e.stopPropagation()},a=Y.$el.find(\"table.fr-table-selected\"),l=e.which;if(a.length&&!Y.keys.isArrow(e.which)&&l!==je.KEYCODE.TAB&&l!==je.KEYCODE.ALT&&l!==je.KEYCODE.ESC){if(e.ctrlKey||e.metaKey||l===je.KEYCODE.SHIFT)return!0;x(),Y.undo.saveStep(),t();var r=Y.html.defaultTag();if(l===je.KEYCODE.ENTER||Y.keys.isCharacter(l)&&!e.ctrlKey&&!e.metaKey){var n,o=l===je.KEYCODE.ENTER;n=r?o?\"<\".concat(r,' id=\"cursor-marker\"></').concat(r,\">\"):\"<\".concat(r,' id=\"cursor-marker\"> ').concat(l===je.KEYCODE.SPACE?\"&nbsp;\":e.key,\"</\").concat(r,\">\"):o?'<br id=\"cursor-marker\">':\"\".concat(l===je.KEYCODE.SPACE?\"&nbsp;\":e.key,' <br id=\"cursor-marker\">'),Y.html.insert(n,!0,!0);var i=Y.$el.find(\"#cursor-marker\").get(0);i&&i.parentNode&&setTimeout(function(){var e=Y.doc.createRange();e.setStart(i,o?0:1),e.setEnd(i,o?0:1),e.collapse(!0);var t=Y.selection.get();t.removeAllRanges(),t.addRange(e),Y.$el.focus()},0),i&&i.removeAttribute(\"id\")}return!1}if(a.length&&Y.keys.isArrow(e.which)){var s=e.which===je.KEYCODE.ARROW_DOWN||e.which===je.KEYCODE.ARROW_RIGHT,c=e.which===je.KEYCODE.ARROW_UP||e.which===je.KEYCODE.ARROW_LEFT;if(s||c){var f=s?a.next():a.prev();if(f&&f.length&&f[0].nodeType===Node.ELEMENT_NODE){var d=f[0];if(\"UL\"===d.tagName||\"OL\"===d.tagName){var p=d.querySelectorAll(\"li\");0<p.length&&(d=p[p.length-1])}(0===d.childNodes.length||1===d.childNodes.length&&\"BR\"===d.firstChild.nodeName)&&(d.innerHTML=\"\",d.appendChild(document.createTextNode(\"\\u200b\")));var b=Y.doc.createRange();s?b.setStartBefore(f[0]):(b.selectNodeContents(d),b.collapse(!1));var h=Y.selection.get();h.removeAllRanges(),h.addRange(b),setTimeout(function(){Y.events.disableBlur(),Y.$el[0].focus(),Y.events.enableBlur()},0)}}return t(),!1}!(e.ctrlKey||e.metaKey)&&a.length&&(V(),oe()),ne();var u=ge();if(0<u.length){if(0<u.length&&Y.keys.ctrlKey(e)&&e.which==je.KEYCODE.A)return V(),Y.popups.isVisible(\"table.edit\")&&Y.popups.hide(\"table.edit\"),u=[],!0;if(e.which==je.KEYCODE.ESC&&Y.popups.isVisible(\"table.edit\"))return V(),Y.popups.hide(\"table.edit\"),e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation(),!(u=[]);if(1<u.length&&(e.which==je.KEYCODE.BACKSPACE||e.which==je.KEYCODE.DELETE)){Y.undo.saveStep();for(var g=0;g<u.length;g++)Z(u[g]).html(\"<br>\"),g==u.length-1&&Z(u[g]).prepend(je.MARKERS);return Y.selection.restore(),Y.undo.saveStep(),!(u=[])}if(1<u.length&&e.which!=je.KEYCODE.F10&&!Y.keys.isBrowserAction(e))return e.preventDefault(),!(u=[])}else if(!(u=[])===function m(e){if(e.altKey&&e.which==je.KEYCODE.SPACE){var t,a=Y.selection.element();if(\"TD\"==a.tagName||\"TH\"==a.tagName?t=a:0<Z(a).closest(\"td\").length?t=Z(a).closest(\"td\").get(0):0<Z(a).closest(\"th\").length&&(t=Z(a).closest(\"th\").get(0)),t)return e.preventDefault(),I(t,t),C(),!1}}(e))return!1},!0);var t=null,a=[];Y.events.on(\"html.beforeGet\",function(){a=ge();for(var e=0;e<a.length;e++)a[e].className=(a[e].className||\"\").replace(/fr-selected-cell/g,\"\");(t=Y.$el.find(\"table.fr-table-selected\"))&&t.length&&re(t,\"fr-table-selected\")}),Y.events.on(\"html.afterGet\",function(){for(var e=0;e<a.length;e++)a[e].className=(a[e].className?a[e].className.trim()+\" \":\"\")+\"fr-selected-cell\";a=[],t&&t.length&&t.addClass(\"fr-table-selected\")});var f=!1,d=[\"applytextColor\",\"bold\",\"italic\",\"underline\",\"strikeThrough\",\"subscript\",\"superscript\",\"fontFamily\",\"fontSize\",\"applybackgroundColor\",\"inlineClass\",\"inlineStyle\",\"alignLeft\",\"alignCenter\",\"formatOLSimple\",\"alignRight\",\"alignJustify\",\"formatOL\",\"formatUL\",\"paragraphFormat\",\"paragraphStyle\",\"lineHeight\",\"outdent\",\"indent\",\"quote\",\"clearFormatting\"];Y.events.on(\"commands.before\",function(e,t){if(!f&&1<ge().length&&-1!==d.indexOf(e)){Y.undo.saveStep(),Y.selection.save(),Y.$el.find(\".fr-marker\").removeClass(\"fr-marker\").addClass(\"fr-marker-placeholder\");var a=je.COMMANDS[e].undo;je.COMMANDS[e].undo=!1,f=!0;for(var l={},r=0;r<ge().length;r++){var n=ge()[r],o=n.closest(\"tr\").rowIndex;l[o]||(l[o]=[]),l[o].push(n)}for(var i in l){var s=l[i];Y.selection.get().removeAllRanges();var c=Y.doc.createRange();c.setStartBefore(s[0]),c.setEndAfter(s[s.length-1]),Y.selection.get().addRange(c),Y.commands.exec(e,[t])}return Y.$el.find(\".fr-marker-placeholder\").addClass(\"fr-marker\").removeClass(\"fr-marker-placeholder\"),Y.selection.restore(),Y.undo.saveStep(),je.COMMANDS[e].undo=a,f=!1}}),Y.events.on(\"dragover\",function(e){if(F(),i){e.preventDefault(),e.stopPropagation();var t=Y.$el.find(\"table.fr-table-selected\"),a=e.target;if(t.is(a)||t.contains(a))return u&&u.hide(),void t.addClass(\"not-drop\");Y.$el.is(a)?t.addClass(\"not-drop\"):t.removeClass(\"not-drop\"),Te(e.originalEvent)}}),Y.events.on(\"element.dropped\",function(e){F(),p=b=!1;var t=B({target:e.get(0)});t&&(I(t,t),C())}),Y.el.addEventListener(\"copy\",function(e){var t=function d(){var e=ge();if(!e||0===e.length)return null;var t=e[0],a=e[e.length-1],l=t.parentElement,r=a.parentElement,n=l.closest(\"table\"),o=Array.from(n.rows),i=o.indexOf(l),s=o.indexOf(r),c=Array.from(l.cells).indexOf(t),f=Array.from(r.cells).indexOf(a);return{rows:o.slice(i,s+1).map(function(e){return Array.from(e.cells).slice(c,f+1)})}}();if(t){var a=t.rows.map(function(e){return\"<tr>\"+e.map(function(e){var t=e.tagName.toLowerCase(),a=e.getAttribute(\"style\");return\"<\".concat(t).concat(a?' style=\"'.concat(a,'\"'):\"\",\">\").concat(e.innerHTML,\"</\").concat(t,\">\")}).join(\"\")+\"</tr>\"}).join(\"\"),l=t.rows.map(function(e){return e.map(function(e){return e.textContent.trim()}).join(\"\\t\")}).join(\"\\n\"),r=\"<table>\".concat(a,\"</table>\");Y.paste.saveCopiedText(r,l),e.clipboardData.setData(\"text/html\",r),e.preventDefault()}}),Y.events.on(\"commands.after\",function(e){if(\"applyTableProperties\"===e){var t=Y.$el.find(\".fr-selected-cell\").closest(\"table\"),a=!!t.length&&parseFloat(t[0].style.height);a&&Re(t,a)}}),n(!0),o(!0),e()}Y.events.on(\"destroy\",ue)},insert:function Ae(e,t){var a=function d(){var e={startTag:\"\",closeTag:\"\"};if(Y.opts.keepTextFormatOnTable){var t=Z(Y.selection.element().firstChild).parentsUntil(Y.$el);e=R(t)}return{startTag:e.startTag,closeTag:e.closeTag}}(),l=[];Y.opts.tableDefaultWidth&&l.push(\"width: \"+Y.opts.tableDefaultWidth+\";\"),Y.opts.tableDefaultHeight&&l.push(\"height: \"+Y.opts.tableDefaultHeight+\";\"),l.push(\"margin: auto;\"),\"left\"===Y.opts.tableDefaultAlign?l.push(\"float: left;\"):\"right\"===Y.opts.tableDefaultAlign&&l.push(\"float: right;\"),Y.opts.tableDefaultBorderColor&&l.push(\"border-color: \"+Y.opts.tableDefaultBorderColor+\";\"),Y.opts.tableDefaultBorderWidth&&l.push(\"border-width: \"+Y.opts.tableDefaultBorderWidth+\";\"),Y.opts.tableDefaultBorderStyle&&l.push(\"border-style: \"+Y.opts.tableDefaultBorderStyle+\";\"),Y.opts.tableDefaultBGColor&&l.push(\"background-color: \"+Y.opts.tableDefaultBorderStyle+\";\");var r,n,o=l.join(\" \"),i=\"<table \"+(o?'style=\"'+o+'\"':\"\")+' class=\"fr-inserted-table\">',s=100/t;for(i+=\"<colgroup>\",n=0;n<t;n++)i+=\"<col\"+(Y.opts.tableDefaultWidth?' style=\"width: '+s.toFixed(4)+'%;\"':\"\")+\">\";for(i+=\"</colgroup>\",i+=\"<tbody>\",r=0;r<e;r++){for(i+=\"<tr>\",n=0;n<t;n++)i+=\"<td>\"+a.startTag,0===r&&0===n&&(i+=je.MARKERS),i+=\"<br>\"+a.closeTag+\"</td>\";i+=\"</tr>\"}if(i+=\"</tbody></table>\",Y.opts.trackChangesEnabled){Y.edit.on(),Y.events.focus(!0),Y.selection.restore(),Y.undo.saveStep(),Y.markers.insert(),Y.html.wrap();var c=Y.$el.find(\".fr-marker\");Y.node.isLastSibling(c)&&c.parent().hasClass(\"fr-deletable\")&&c.insertAfter(c.parent()),c.replaceWith(i),Y.selection.clear()}else g=!0,Y.html.insert(i);Y.selection.restore();var f=Y.$el.find(\".fr-inserted-table\");re(f,\"fr-inserted-table\"),Y.events.trigger(\"table.inserted\",[f.get(0)])},remove:x,insertRow:A,deleteRow:function Oe(){var e=ve();if(0<e.length){var t,a,l,r=j(),n=L(r);if(null==n)return;if(0===n.min_i&&n.max_i==r.length-1)x();else{for(t=n.max_i;t>=n.min_i;t--){for(l=Z(e.find(\"tr\").not(e.find(\"> table tr\")).get(t)),a=0;a<r[t].length;a++)if(0===a||r[t][a]!=r[t][a-1]){var o=Z(r[t][a]);if(1<parseInt(o.attr(\"rowspan\"),10)){var i=parseInt(o.attr(\"rowspan\"),10)-1;1==i?o.removeAttr(\"rowspan\"):o.attr(\"rowspan\",i)}if(t<r.length-1&&r[t][a]==r[t+1][a]&&(0===t||r[t][a]!=r[t-1][a])){for(var s=r[t][a],c=a;0<c&&r[t][c]==r[t][c-1];)c--;0===c?Z(e.find(\"tr\").not(e.find(\"> table tr\")).get(t+1)).prepend(s):Z(r[t+1][c-1])[0].parentNode&&Z(r[t+1][c-1])[0].insertAdjacentElement(\"afterend\",s)}}var f=l.parent();l.remove(),0===f.find(\"tr\").length&&f.remove(),r=j(e)}$(0,r.length-1,0,r[0].length-1,e),0<n.min_i?Y.selection.setAtEnd(r[n.min_i-1][0]):Y.selection.setAtEnd(r[0][0]),Y.selection.restore(),Y.popups.hide(\"table.edit\")}}},insertColumn:function He(d){var e=ve();if(0<e.length){var p=j(),t=L(p),b=\"before\"==d?t.min_j:t.max_j;we(e,p[0].length);var a=ye(e);a=function i(e){var t=e.reduce(function(e,t){return e+t},0);if(0<t)return e.map(function(e){return e/t*100});var a=100/e.length;return new Array(e.length).fill(a)}(a);var l,r=100/(p[0].length+1),n=(100-r)/100,o=a.map(function(e){return e*n});e.find(\"th, td\").each(function(){(l=Z(this)).data(\"old-width\",l.outerWidth()/e.outerWidth()*100)}),function c(e,t,a,l,r){var n=e.find(\"colgroup\"),o=n.find(\"col\"),i=\"before\"===t?a:a+1,s=Z(Y.doc.createElement(\"col\"));return s.css(\"width\",l.toFixed(4)+\"%\"),i<o.length?o.eq(i).before(s):n.append(s),o.each(function(e){var t=r[e]||l;Z(this).css(\"width\",t.toFixed(4)+\"%\")}),n}(e,d,b,r,o),e.find(\"tr\").not(e.find(\"> table tr\")).each(function(e){for(var t,a=Z(this),l=0,r=0;l-1<b;){if(!(t=a.find(\"> th, > td\").get(r))){t=null;break}t==p[e][l]?(l+=parseInt(Z(t).attr(\"colspan\"),10)||1,r++):(l+=parseInt(Z(p[e][l]).attr(\"colspan\"),10)||1,\"after\"==d&&(t=0===r?-1:a.find(\"> th, > td\").get(r-1)))}var n=Z(t);if(\"after\"==d&&b<l-1||\"before\"==d&&0<b&&p[e][b]==p[e][b-1]){if(0===e||0<e&&p[e][b]!=p[e-1][b]){var o=parseInt(n.attr(\"colspan\"),10)+1;n.attr(\"colspan\",o),n.removeData(\"old-width\")}}else{var i,s=(n.get(0)||\"\").tagName;if(0<a.find(\"th\").length&&\"TH\"===s)i=\"<th><br></th>\";else{var c=E(p[e][b]),f=n.attr(\"style\")||\"\";i=\"<td\".concat(f?' style=\"'.concat(f,'\"'):\"\",\">\")+c.startTag+\"<br>\"+c.closeTag+\"</td>\"}Z(i).append(\"<br>\"),-1==t?a.prepend(i):null==t?a.append(i):\"before\"==d?n.before(i):\"after\"==d&&n.after(i)}}),e.find(\"th, td\").each(function(){Z(this).removeData(\"old-width\")}),Y.popups.isVisible(\"table.edit\")&&C()}},deleteColumn:function Me(){var e=ve();if(0<e.length){var t,a,l,r=j();we(e,r[0].length);var n=L(r);if(null==n)return;if(0===n.min_j&&n.max_j==r[0].length-1)x();else{var o=ye(e);for(a=n.max_j;a>=n.min_j;a--)for(t=0;t<r.length;t++)if(0===t||r[t][a]!=r[t-1][a])if(l=Z(r[t][a]),1<(parseInt(l.attr(\"colspan\"),10)||1)){var i=parseInt(l.attr(\"colspan\"),10)-1;1==i?l.removeAttr(\"colspan\"):l.attr(\"colspan\",i),l.removeData(\"old-width\")}else{var s=Z(l.parent().get(0));l.remove(),0===s.find(\"> th, > td\").length&&(0===s.prev().length||0===s.next().length||s.prev().find(\"> th[rowspan], > td[rowspan]\").length<s.prev().find(\"> th, > td\").length)&&s.remove()}$(0,r.length-1,0,r[0].length-1,e),function d(e,t,a,l){var r=l.length-(a-t+1);if(0<r){for(var n=we(e,r),o=0,i=0;i<l.length;i++)(i<t||a<i)&&(o+=l[i]);for(var s=[],c=0;c<l.length;c++)if(c<t||a<c){var f=100*l[c]/o;s.push(f)}Ee(n,s)}}(e,n.min_j,n.max_j,o),0<n.min_j?Y.selection.setAtEnd(r[n.min_i][n.min_j-1]):Y.selection.setAtEnd(r[n.min_i][0]),Y.selection.restore(),Y.popups.hide(\"table.edit\")}}},mergeCells:function $e(){if(1<ge().length&&(0===Y.$el.find(\"th.fr-selected-cell\").length||0===Y.$el.find(\"td.fr-selected-cell\").length)){S();var e,t,a=j(),l=L(a);if(null==l)return;var r=Y.$el.find(\".fr-selected-cell\"),n=Z(r[0]),o=n.closest(\"table\"),i=n.html(),s=ye(o);for(l.min_j<l.max_j&&n.attr(\"colspan\",l.max_j-l.min_j+1),l.min_i<l.max_i&&n.attr(\"rowspan\",l.max_i-l.min_i+1),e=1;e<r.length;e++)\"<br>\"!=(t=Z(r[e])).html()&&\"\"!==t.html()&&(i+=\"<br>\".concat(t.html())),t.remove();n.html(i),Y.selection.setAtEnd(n.get(0)),Y.selection.restore(),Y.toolbar.enable(),H(l.min_i,l.max_i,o);var c=o.find(\"tr:empty\");for(e=c.length-1;0<=e;e--)Z(c[e]).remove();O(l.min_j,l.max_j,o);var f=j(o),d=f[0]?f[0].length:0;if(a[0].length>d){var p=o.find(\"colgroup\"),b=a[0].map(function(e,t){return Z(e).is(\".fr-selected-cell\")?t:null}).filter(function(e){return null!==e}),h=b.reduce(function(e,t){return e+s[t]},0);Ee(p,[].concat(Ge(s.slice(0,Math.min.apply(Math,Ge(b)))),[h],Ge(s.slice(Math.max.apply(Math,Ge(b))+1))))}we(o,d),C()}},splitCellVertically:function De(){if(1==ge().length){var e=Y.$el.find(\".fr-selected-cell\"),t=parseInt(e.attr(\"colspan\"),10)||1,a=e.parent().outerWidth(),l=e.outerWidth(),r=e.parents(\"table\"),n=0,o=e.clone().html(\"<br>\"),i=j(),s=P(e.get(0),i);if(1<t)n=Math.ceil(t/2),l=function p(e,t,a){var l,r=0;for(l=e;l<=t;l++)r+=fe(l,a);return r}(s.col,s.col+n-1,i)/a*100,1<n?e.attr(\"colspan\",n):e.removeAttr(\"colspan\"),1<t-n?o.attr(\"colspan\",t-n):o.removeAttr(\"colspan\");else{var c;for(c=0;c<i.length;c++)if(0===c||i[c][s.col]!=i[c-1][s.col]){var f=Z(i[c][s.col]);if(!f.is(e)){var d=(parseInt(f.attr(\"colspan\"),10)||1)+1;f.attr(\"colspan\",d)}}l=l/a*100/2}e[0].parentNode&&e[0].insertAdjacentElement(\"afterend\",o[0]),function b(e,t,a,l,r){var n=e.find(\"colgroup\");0===n.length&&(n=we(e,r[0].length));var o=n.find(\"col\");if(1<a){var i=ye(e);Ee(n,i)}else{var s=l,c=o.eq(t.col);c.length&&c.css(\"width\",s.toFixed(4)+\"%\");var f=Z(Y.doc.createElement(\"col\"));f.css(\"width\",s.toFixed(4)+\"%\"),t.col+1<o.length?o.eq(t.col+1).before(f):n.append(f)}}(r,s,t,l,i),V(),Y.popups.hide(\"table.edit\")}},splitCellHorizontally:function Se(){if(1==ge().length){var e=Y.$el.find(\".fr-selected-cell\"),t=e.parent(),a=e.closest(\"table\"),l=parseInt(e.attr(\"rowspan\"),10),r=j(),n=P(e.get(0),r),o=e.clone().html(\"<br>\");if(1<l){var i=Math.ceil(l/2);1<i?e.attr(\"rowspan\",i):e.removeAttr(\"rowspan\"),1<l-i?o.attr(\"rowspan\",l-i):o.removeAttr(\"rowspan\");for(var s=n.row+i,c=0===n.col?n.col:n.col-1;0<=c&&(r[s][c]==r[s][c-1]||0<s&&r[s][c]==r[s-1][c]);)c--;-1==c?Z(a.find(\"tr\").not(a.find(\"> table tr\")).get(s)).prepend(o):Z(r[s][c])[0].parentNode&&Z(r[s][c])[0].insertAdjacentElement(\"afterend\",o[0])}else{var f,d=Z(document.createElement(\"tr\")).append(o);for(f=0;f<r[0].length;f++)if(0===f||r[n.row][f]!=r[n.row][f-1]){var p=Z(r[n.row][f]);p.is(e)||p.attr(\"rowspan\",(parseInt(p.attr(\"rowspan\"),10)||1)+1)}t[0].parentNode&&t[0].insertAdjacentElement(\"afterend\",d[0])}V(),Y.popups.hide(\"table.edit\")}},addHeader:function Ve(){var e=ve();if(0<e.length&&0===e.find(\"> th\").length){var t,a=\"<thead><tr>\",l=0;for(l=e.find(\"tr\").first().find(\"> th\").length,e.find(\"tr\").first().find(\"> td\").each(function(){var e=Z(this);l+=parseInt(e.attr(\"colspan\"),10)||1}),t=0;t<l;t++)a+=\"<th><br></th>\";a+=\"</tr></thead>\",e.prepend(a),C()}},addFooter:function Ne(){var e=ve();if(0<e.length&&0===e.find(\"tfoot\").length){var t=\"<tfoot><tr>\",a=0,l=e.find(\"thead tr\").first();0===l.length&&(l=e.find(\"tbody tr\").first()),l.find(\"th, td\").each(function(){a+=parseInt(Z(this).attr(\"colspan\"),10)||1});for(var r=0;r<a;r++)t+=\"<td><br></td>\";t+=\"</tr></tfoot>\",e.append(t),C()}},removeHeader:function Le(){var e=ve(),t=e.find(\"> thead\");if(0<(t=Z(t)).length)if(0===e.find(\"tbody tr\").length)x();else if(t.remove(),0<ge().length)C();else{Y.popups.hide(\"table.edit\");var a=e.find(\"tbody tr\").first().find(\"td\").first().get(0);a&&(Y.selection.setAtEnd(a),Y.selection.restore())}},removeFooter:function _e(){var e=ve(),t=e.find(\"tfoot\");if(0<t.length)if(0===e.find(\"tbody tr\").length)x();else if(t.remove(),0<ge().length)C();else{Y.popups.hide(\"table.edit\");var a=e.find(\"tbody tr\").first().find(\"td\").first().get(0);a&&(Y.selection.setAtEnd(a),Y.selection.restore())}},setBackground:function a(e){var t=Y.$el.find(\".fr-selected-cell\");\"REMOVE\"!=e?t.css(\"background-color\",Y.helpers.HEXtoRGB(e)):t.css(\"background-color\",\"\")},showInsertPopup:function Ie(){var e=Y.$tb.find('.fr-command[data-cmd=\"insertTable\"]'),t=Y.popups.get(\"table.insert\");if(t||(t=n()),!t.hasClass(\"fr-active\")){Y.popups.refresh(\"table.insert\"),Y.popups.setContainer(\"table.insert\",Y.$tb);var a=Y.button.getPosition(e),l=a.left,r=a.top;Y.popups.show(\"table.insert\",l,r,e.outerHeight())}},showEditPopup:C,showColorsPopup:function Pe(e){var t=j();if(t){var a=Y.popups.get(\"table.colors\");a||(a=function i(){var e=\"\",t=0;0<Y.opts.tableColorsButtons.length&&(e='<div class=\"fr-buttons fr-colors-buttons fr-tabs\">'.concat(Y.button.buildList(Y.opts.tableColorsButtons),\"</div>\"));var a=\"\";Y.opts.colorsHEXInput&&(a='<div class=\"fr-color-hex-layer fr-table-colors-hex-layer fr-active fr-layer\" id=\"fr-table-colors-hex-layer-'.concat(Y.id,'\">\\n        <div class=\"fr-input-line\">\\n        <input maxlength=\"7\" id=\"fr-table-colors-hex-layer-text\" tabIndex=\"').concat(++t,'\" type=\"text\" placeholder=\"').concat(Y.language.translate(\"HEX Color\"),'\" aria-required=\"true\">\\n        </div>\\n        <div class=\"fr-action-buttons\">\\n        <button type=\"button\" class=\"fr-command fr-submit\" tabIndex=\"').concat(++t,'\" data-cmd=\"applyCustomColor\" role=\"button\">\\n        ').concat(Y.language.translate(\"OK\"),\"\\n        </button>\\n        </div>\\n        </div>\"));var l={buttons:e,colors:function n(){for(var e='<div class=\"fr-color-set fr-table-colors\">',t=0;t<Y.opts.tableColors.length;t++)0!==t&&t%Y.opts.tableColorsStep==0&&(e+=\"<br>\"),\"REMOVE\"!=Y.opts.tableColors[t]?e+='<span class=\"fr-command fr-select-color\" style=\"background: '.concat(Y.opts.tableColors[t],';\" tabIndex=\"-1\" aria-selected=\"false\" role=\"button\" data-cmd=\\'onSelectColor\\' data-param1=\"').concat(Y.opts.tableColors[t],'\"><span class=\"fr-sr-only\">').concat(Y.language.translate(\"Color\"),\" \").concat(Y.opts.tableColors[t],\"&nbsp;&nbsp;&nbsp;</span></span>\"):e+='<span class=\"fr-command fr-select-color\" data-cmd=\\'onColorClear\\' tabIndex=\"-1\" role=\"button\" title=\"'.concat(Y.language.translate(\"Clear Formatting\"),'\">').concat(Y.icon.create(\"tableColorRemove\"),'<span class=\"fr-sr-only\">').concat(Y.language.translate(\"Clear Formatting\"),\"</span></span>\");return e+=\"</div>\"}(),custom_color:a},r=Y.popups.create(\"table.colors\",l);return function o(m){Y.events.on(\"popup.tab\",function(e){var t=Z(e.currentTarget);if(!Y.popups.isVisible(\"table.colors\")||!t.is(\"span, input, button\"))return!0;var a,l,r=e.which,n=!0;if(je.KEYCODE.TAB==r){var o=m.find(\"span.fr-select-color\");if(t.is(o.first())&&e.shiftKey||t.is(m.find(\"span.fr-submit\"))&&!e.shiftKey){var i=m.find(\".fr-buttons\");n=!Y.accessibility.focusToolbar(i,!!e.shiftKey)}if(!1!==n){var s=m.find(\"span.fr-select-color\");s.add(m.find(\"input\")),s.add(m.find(\"button.fr-submit\")),a=s.index(t),a=e.shiftKey?((a-1)%s.length+s.length)%s.length:(a+1)%s.length,l=s.get(a),Y.events.disableBlur(),l.focus(),n=!1}}else if(je.KEYCODE.ARROW_UP==r||je.KEYCODE.ARROW_DOWN==r||je.KEYCODE.ARROW_LEFT==r||je.KEYCODE.ARROW_RIGHT==r){var c=t.parent().find(\"span.fr-command\"),f=c.index(t),d=Y.opts.colorsStep,p=Math.floor(c.length/d),b=f%d,h=Math.floor(f/d),u=h*d+b,g=p*d;je.KEYCODE.ARROW_UP==r?u=((u-d)%g+g)%g:je.KEYCODE.ARROW_DOWN==r?u=(u+d)%g:je.KEYCODE.ARROW_LEFT==r?u=((u-1)%g+g)%g:je.KEYCODE.ARROW_RIGHT==r&&(u=(u+1)%g);var v=Z(c.get(u));Y.events.disableBlur(),v.focus(),n=!1}else je.KEYCODE.ENTER==r&&(Y.button.exec(t),n=!1);return!1===n&&(e.preventDefault(),e.stopPropagation()),n},!0)}(r),r}()),a.data(\"type\",e),Y.popups.setContainer(\"table.colors\",Y.$sc);var l=_(t),r=(l.left+l.right)/2,n=l.bottom;!function o(){var e=Y.popups.get(\"table.colors\"),t=Y.$el.find(\".fr-selected-cell\").first(),a=Y.helpers.RGBToHex(t.css(\"background-color\")),l=e.find(\".fr-table-colors-hex-layer input\");e.find(\".fr-selected-color\").removeClass(\"fr-selected-color fr-active-item\"),e.find('span[data-param1=\"'.concat(a,'\"]')).addClass(\"fr-selected-color fr-active-item\"),l.val(\"\")}(),Y.popups.show(\"table.colors\",r,n,l.bottom-l.top,!0)}},showTableProperties:function ke(){var e=j();if(e){var n=Y.popups.get(\"table.tableProperties\");n||(n=Ce());var t=ve();n.data(\"tableStyle\",{}),n.data(\"borderStyle\",\"\");var a=t[0],l=a&&a.getAttribute(\"style\")||\"\",r=!!l,o=r&&/background(-color)?\\s*:/i.test(l)?t.css(\"background-color\"):\"\",i=r&&/border(-color)?\\s*:/i.test(l)?t.css(\"border-color\"):\"\",s=r&&/border(-style)?\\s*:/i.test(l)?t.css(\"border-style\"):\"\",c=r&&/border(-width)?\\s*:/i.test(l)?t[0].style.borderWidth:\"\",f=r&&/(^|\\s|;)width\\s*:/i.test(l)&&a?a.style.width:\"\",d=r&&/(^|\\s|;)height\\s*:/i.test(l)&&a?a.style.height:\"\",p=r?/\\bfloat\\s*:\\s*right\\b/i.test(l)?\"right\":/\\bfloat\\s*:\\s*left\\b/i.test(l)?\"left\":/\\bmargin\\s*:\\s*auto\\b/i.test(l)?\"center\":\"left\":\"left\",b=\"\",h={};if(t.is(\"[class]\")){var u=t.attr(\"class\").split(/\\s+/),g=Y.opts.tableStyles;h=u.reduce(function(e,t){return g.hasOwnProperty(t)&&(e[t]=g[t]),e},{}),b=Object.values(h).join(\", \")}var v=function v(e,t,a,l){var r=Y.helpers.isRGBColor(l)?Y.helpers.RGBToHex(l):l;n.find(e).val(r),T(n.find(t),n.find(a),r)},m=n.find(\".fr-border-style\").find(\".fr-dropdown\"),C=n.find(\".fr-table-style\").find(\".fr-dropdown\");v(\"#fr-table-bg\",\".fr-color-preview\",\".fr-color-preview-indicator\",o),v(\"#fr-table-border-color\",\".fr-border-color-preview\",\".fr-border-color-preview-indicator\",i),m.find(\"> span\").text(s),C.find(\"> span\").text(b||\" \"),me(p),setTimeout(function(){c&&n.find(\"#fr-table-border-width\").val(c).focus(),i&&n.find(\"#fr-table-border-color\").focus(),f&&n.find(\"#fr-table-width\").val(f).focus(),d&&n.find(\"#fr-table-height\").val(d).focus(),s&&n.data(\"borderStyle\",s),h&&n.data(\"tableStyle\",h),n.find(\"#fr-table-bg\").focus()},10),Y.popups.setContainer(\"table.tableProperties\",Y.$sc);var w=_(e),y=(w.left+w.right)/2,E=w.bottom;Y.popups.show(\"table.tableProperties\",y,E,w.bottom-w.top,!0)}},hideTableProperties:function Be(){Y.popups.hide(\"table.tableProperties\")},updateTableAlign:me,back:function Fe(e){if(e&&Y.popups.isVisible(\"table.colors\")){Y.popups.hide(\"table.colors\");var t=j();if(t){var a=\"table\"===e||\"border\"===e,l=a?\"table.tableProperties\":\"table.cellProperties\",r=Y.popups.get(l);r||(r=a?Ce():m()),Y.popups.setContainer(l,Y.$sc);var n,o=_(t),i=o.left+(o.right-o.left)/2,s=o.bottom;Y.popups.show(l,i,s,o.bottom-o.top,!0),n=\"table\"===e?\".fr-btn-table-bg-color\":\"border\"===e?\".fr-btn-table-border-bg-color\":\".fr-btn-cell-bg-color\",r.find(n).focus()}}else 0<ge().length?C():(Y.popups.hide(\"table.insert\"),Y.toolbar.showInline())},verticalAlign:function ze(e){Y.$el.find(\".fr-selected-cell\").css(\"vertical-align\",e)},horizontalAlign:function Ke(e){var t=Y.$el.find(\".fr-selected-cell\");t.css(\"text-align\",e),t.children().css(\"text-align\",\"\")},applyStyle:function Ye(e,t,a,l){if(0<t.length){if(Y.opts.useClasses||(\"TABLE\"===t.get(0).tagName?function n(e,t){var a=e.childNodes;if(0<a.length)for(var l=0;l<a.length;l++)\"TD\"===a[l].tagName?\"fr-dashed-borders\"===t||\"fr-highlighted\"===t||\"fr-thick\"===t?D(a[l]):\"fr-alternate-rows\"===t&&a[l].style.removeProperty(\"background-color\"):n(a[l],t)}(t.get(0),e):D(t.get(0))),!a){var r=Object.keys(l);r.splice(r.indexOf(e),1),t.removeClass(r.join(\" \"))}t.toggleClass(e)}},selectedTable:ve,selectedCells:ge,customColor:function We(){var e=Y.popups.get(\"table.colors\").find(\".fr-table-colors-hex-layer input\"),t=e.val(),a=t;t&&t.length&&(0!==t.indexOf(\"#\")&&(a=\"#\"+t),v(a)),e.val(\"\")},selectCells:I,resetAll:w,showCellPropertiesPopup:function Ze(){var e=j();if(e){var t=Y.popups.get(\"table.cellProperties\")||m();t.find(\"#fr-cell-bg, #fr-cell-width, #fr-cell-height, #fr-cell-padding\").val(\"\"),w(),T(t.find(\".fr-color-preview\"),t.find(\".fr-color-preview-indicator\"),\"\");var a=Y.table.selectedCells();if(a.length){var s=null,c=!0,f=null,d=!0,p=null,b=!0,h=null,u=!0,n=function n(e){return\"rgba(0, 100, 255, 0.15)\"===e};Array.from(a).forEach(function(e,t){var a,l=Z(e),r=l.css(\"background-color\");r&&\"rgba(0, 0, 0, 0)\"!==r&&\"transparent\"!==r&&(a=Y.helpers.RGBToHex(r));var n=l.attr(\"data-cell-width\"),o=l.attr(\"data-cell-height\"),i=l.attr(\"data-cell-padding\");0===t?(f=n||null,p=o||null,h=i||null,s=a||null):(n!==f&&(d=!1),o!==p&&(b=!1),i!==h&&(u=!1),a!==s&&(c=!1))});var l=\"\";if(1===a.length){var r=Z(a[0]),o=r.css(\"background-color\");!(r[0]&&r[0].hasAttribute(\"style\")&&/background(-color)?:/i.test(r.attr(\"style\")))&&n(o)||(l=Y.helpers.isRGBColor(o)?Y.helpers.RGBToHex(o):o)}else c&&s&&Array.from(a).every(function(e){var t=Z(e),a=e.getAttribute(\"style\")||\"\",l=/background(-color)?:/i.test(a),r=t.css(\"background-color\");return l||!n(r)})&&(l=Y.helpers.isRGBColor(s)?Y.helpers.RGBToHex(s):s);t.find(\"#fr-cell-bg\").val(l),T(t.find(\".fr-color-preview\"),t.find(\".fr-color-preview-indicator\"),l),d&&f&&t.find(\"#fr-cell-width\").val(f),b&&p&&t.find(\"#fr-cell-height\").val(p),u&&h&&t.find(\"#fr-cell-padding\").val(h),Y.popups.setContainer(\"table.cellProperties\",Y.$sc);var i=_(e),g=i.left+(i.right-i.left)/2,v=i.bottom;Y.popups.show(\"table.cellProperties\",g,v,i.bottom-i.top,!0)}}},updateSelectedColor:v}},je.RegisterCommand(\"tableProperties\",{title:\"Table Properties\",icon:\"tablePropertiesIcon\",undo:!1,focus:!1,popup:!0,callback:function(){this.table.showTableProperties()}}),je.RegisterCommand(\"openColorPicker\",{title:\"Select color\",focus:!1,popup:!0,callback:function(e,t){this.table.showColorsPopup(t)}}),je.RegisterCommand(\"onCancel\",{title:\"Cancel\",callback:function(){this.popups.hide(\"table.tableProperties\"),this.popups.hide(\"table.cellProperties\"),this.table.showEditPopup()}}),je.RegisterCommand(\"applyCustomColor\",{title:\"OK\",undo:!0,callback:function(){var e=this.popups.get(\"table.colors\");this.table.back(e.data(\"type\")),this.table.customColor()}}),je.RegisterCommand(\"onSelectColor\",{undo:!0,focus:!1,callback:function(e,t){var a=this.popups.get(\"table.colors\");this.table.back(a.data(\"type\")),this.table.updateSelectedColor(t)}}),je.RegisterCommand(\"tableAlign\",{title:\"Table Align\",undo:!0,callback:function(e,t){this.table.updateTableAlign(t)}}),je.RegisterCommand(\"tableBorderStyle\",{title:\"\",type:\"dropdown\",focus:!0,undo:!0,refreshAfterCallback:!0,displaySelection:function(e){return e.opts.tableBorderStyle},html:function(){for(var e='<ul class=\"fr-dropdown-list\" role=\"presentation\">',t=this.opts.tableBorderStyle,a=0;a<t.length;a++)e+='<li role=\"presentation\"><a class=\"fr-command\" tabIndex=\"-1\" role=\"option\" data-cmd=\"tableBorderStyle\" data-param1=\"'.concat(t[a],'\" title=\"').concat(t[a],'\">').concat(t[a],\"</a></li>\");return e+=\"</ul>\"},callback:function(e,t){var a=this.popups.get(\"table.tableProperties\"),l=a.find(\".fr-border-style\").find(\".fr-dropdown\");l.find(\"> span\").text(t),a.data(\"borderStyle\",t),l.focus()},refreshOnShow:function(e,t){var a=this.popups.get(\"table.tableProperties\").data(\"borderStyle\");t.find(\".fr-command.fr-active\").removeClass(\"fr-active\").attr(\"aria-selected\",!1),t.find('.fr-command[data-param1=\"'.concat(a,'\"]')).addClass(\"fr-active\").attr(\"aria-selected\",!0)}}),je.RegisterCommand(\"tableStyle\",{title:\"\",type:\"dropdown\",focus:!0,undo:!0,displaySelectionWidth:\"300\",refreshAfterCallback:!0,displaySelection:function(e){return e.opts.tableStyles},html:function(){var e='<ul class=\"fr-dropdown-list\" role=\"presentation\">',t=this.opts.tableStyles;for(var a in t)t.hasOwnProperty(a)&&(e+='<li role=\"presentation\"><a class=\"fr-command\" tabIndex=\"-1\" role=\"option\" data-cmd=\"tableStyle\" data-param1=\"'.concat(a,'\" title=\"').concat(this.language.translate(t[a]),'\">').concat(this.language.translate(t[a]),\"</a></li>\"));return e+=\"</ul>\"},callback:function(e,t){var a=this.popups.get(\"table.tableProperties\"),l=a.find(\".fr-table-style\").find(\".fr-dropdown\"),r=this.opts.tableStyles,n=a.data(\"tableStyle\")||{};n[t]?delete n[t]:n[t]=r[t],a.data(\"tableStyle\",n);var o=Object.keys(n).length?Object.values(n).join(\", \"):\" \";l.find(\"> span\").text(o),l.focus()},refreshOnShow:function(e,t){var r=this,a=this.$el.find(\".fr-selected-cell\").closest(\"table\"),n=this.popups.get(\"table.tableProperties\");a&&t.find(\".fr-command\").each(function(e,t){var a=r.$(t).data(\"param1\"),l=n.data(\"tableStyle\")&&n.data(\"tableStyle\")[a];l&&r.$(t).toggleClass(\"fr-active\",l).attr(\"aria-selected\",l)})}}),je.RegisterCommand(\"onColorClear\",{undo:!0,focus:!1,callback:function(){var e=this.popups.get(\"table.colors\");this.table.back(e.data(\"type\")),e.find(\"#fr-table-colors-hex-layer-text\").val(\"\"),this.table.updateSelectedColor(\"\")}}),je.RegisterCommand(\"applyTableProperties\",{title:\"Apply Table Properties\",undo:!0,focus:!0,callback:function(){var e=this.popups.get(\"table.tableProperties\"),t=e.find(\"#fr-table-bg\").val(),a=e.find(\"#fr-table-border-color\").val(),l=this.table.selectedTable(),r=e.find(\"#fr-table-width\").val(),n=e.find(\"#fr-table-height\").val(),o=e.find(\"#fr-table-border-width\").val(),i=e.data(\"borderStyle\"),s=e.data(\"tableAlign\"),c=e.data(\"tableStyle\"),f=!t||\"REMOVE\"===t||\"transparent\"===t||\"rgba(0, 0, 0, 0)\"===t;l.css(\"background-color\",f?\"\":t);var d=!a||\"REMOVE\"===a||\"transparent\"===a||\"rgba(0, 0, 0, 0)\"===a;l.css(\"border-color\",d?\"\":a);var p=function p(e){if(\"\"===e)return!0;var t=e.trim();return/^-?\\d+(\\.\\d+)?$/.test(t)&&(t+=\"px\"),/^-?\\d+(\\.\\d+)?(px|%)$/.test(t)?t:null};if(r&&p(r)?l.css(\"width\",p(r)):l.css(\"width\",\"\"),n&&p(n)?l.css(\"height\",p(n)):l.css(\"height\",\"\"),o&&p(o)?l.css(\"border-width\",p(o)):l.css(\"border-width\",\"\"),i&&l.css(\"border-style\",i),\"center\"===s?(l.css(\"margin\",\"auto\"),l.css(\"float\",\"\")):(l.parent().is(\"li\")&&l.parent().css(\"display\",\"list-item flow-root\"),l.css(\"float\",s),l.css(\"margin\",\"\")),l.removeAttr(\"class\"),c&&0<Object.keys(c).length)for(var b in c)c.hasOwnProperty(b)&&l.addClass(b);this.popups.hide(\"table.tableProperties\")}}),je.RegisterCommand(\"tableCellProperties\",{title:\"Cell Properties\",icon:\"tableCellProperties\",undo:!1,focus:!1,popup:!0,callback:function(){this.table.showCellPropertiesPopup()},refresh:function(e){var t=0<this.table.selectedCells().length;e.toggleClass(\"fr-disabled\",!t).attr(\"aria-disabled\",!t)}}),je.RegisterCommand(\"applyCellProperties\",{title:\"Apply Cell Properties\",undo:!0,focus:!1,callback:function(){var n=this.$,e=this.popups.get(\"table.cellProperties\"),o=function o(e,t,a,l){var r=n(e);a?(l&&r.attr(l,a),a!==r[0].style[t]&&([\"width\",\"height\"].includes(t)&&r.removeAttr(t),r.css(t,a))):(r.css(t,\"\"),l&&r.removeAttr(l),[\"width\",\"height\"].includes(t)&&r.removeAttr(t))},r=e.find(\"#fr-cell-bg\").val(),i=e.find(\"#fr-cell-width\").val(),s=e.find(\"#fr-cell-height\").val(),c=e.find(\"#fr-cell-padding\").val(),f=!0===e.data(\"bg-modified\"),d=!0===e.data(\"width-modified\"),p=!0===e.data(\"height-modified\"),b=!0===e.data(\"padding-modified\");this.table.selectedCells().forEach(function(e){var t=n(e);if(f){var a=!r||\"REMOVE\"===r||\"transparent\"===r||\"rgba(0, 0, 0, 0)\"===r;t.css(\"background-color\",a?\"\":r)}var l=function l(e){if(\"\"===e)return!0;var t=e.trim();return/^-?\\d+(\\.\\d+)?$/.test(t)&&(t+=\"px\"),/^-?\\d+(\\.\\d+)?(px|%)$/.test(t)?t:null};d&&l(i)&&o(e,\"width\",i,\"data-cell-width\"),p&&l(s)&&o(e,\"height\",s,\"data-cell-height\"),b&&l(c)&&o(e,\"padding\",c,\"data-cell-padding\")}),this.table.resetAll(),this.popups.hide(\"table.cellProperties\")}}),je.DefineIcon(\"insertTable\",{NAME:\"table\",SVG_KEY:\"insertTable\"}),je.RegisterCommand(\"insertTable\",{title:\"Insert Table\",undo:!1,focus:!0,refreshOnCallback:!1,popup:!0,callback:function(){this.popups.isVisible(\"table.insert\")?(this.$el.find(\".fr-marker\").length&&(this.events.disableBlur(),this.selection.restore()),this.popups.hide(\"table.insert\")):this.table.showInsertPopup()},plugin:\"table\"}),je.RegisterCommand(\"tableInsert\",{callback:function(e,t,a){this.table.insert(t,a),this.popups.hide(\"table.insert\")}}),je.DefineIcon(\"tableHeader\",{NAME:\"header\",FA5NAME:\"heading\",SVG_KEY:\"tableHeader\"}),je.RegisterCommand(\"tableHeader\",{title:\"Table Header\",focus:!1,toggle:!0,callback:function(){this.popups.get(\"table.edit\").find('.fr-command[data-cmd=\"tableHeader\"]').hasClass(\"fr-active\")?this.table.removeHeader():this.table.addHeader()},refresh:function(e){var t=this.table.selectedTable();0<t.length&&(0===t.find(\"> thead\").length?e.removeClass(\"fr-active\").attr(\"aria-pressed\",!1):e.addClass(\"fr-active\").attr(\"aria-pressed\",!0))}}),je.DefineIcon(\"tableFooter\",{NAME:\"table\",FA5NAME:\"table\",SVG_KEY:\"tableFooter\"}),je.RegisterCommand(\"tableFooter\",{title:\"Table Footer\",focus:!1,toggle:!0,callback:function(){this.popups.get(\"table.edit\").find('.fr-command[data-cmd=\"tableFooter\"]').hasClass(\"fr-active\")?this.table.removeFooter():this.table.addFooter()},refresh:function(e){var t=this.table.selectedTable();0<t.length&&(0===t.find(\"tfoot\").length?e.removeClass(\"fr-active\").attr(\"aria-pressed\",!1):e.addClass(\"fr-active\").attr(\"aria-pressed\",!0))}}),je.DefineIcon(\"tableRows\",{NAME:\"bars\",SVG_KEY:\"row\"}),je.RegisterCommand(\"tableRows\",{type:\"dropdown\",focus:!1,title:\"Row\",options:{above:\"Insert row above\",below:\"Insert row below\",\"delete\":\"Delete row\"},html:function(){var e='<ul class=\"fr-dropdown-list\" role=\"presentation\">',t=je.COMMANDS.tableRows.options;for(var a in t)t.hasOwnProperty(a)&&(e+='<li role=\"presentation\"><a class=\"fr-command\" tabIndex=\"-1\" role=\"option\" data-cmd=\"tableRows\" data-param1=\"'+a+'\" title=\"'+this.language.translate(t[a])+'\">'+this.language.translate(t[a])+\"</a></li>\");return e+=\"</ul>\"},callback:function(e,t){\"above\"==t||\"below\"==t?this.table.insertRow(t):this.table.deleteRow()}}),je.DefineIcon(\"tableColumns\",{NAME:\"bars fa-rotate-90\",SVG_KEY:\"columns\"}),je.RegisterCommand(\"tableColumns\",{type:\"dropdown\",focus:!1,title:\"Column\",options:{before:\"Insert column before\",after:\"Insert column after\",\"delete\":\"Delete column\"},html:function(){var e='<ul class=\"fr-dropdown-list\" role=\"presentation\">',t=je.COMMANDS.tableColumns.options;for(var a in t)t.hasOwnProperty(a)&&(e+='<li role=\"presentation\"><a class=\"fr-command\" tabIndex=\"-1\" role=\"option\" data-cmd=\"tableColumns\" data-param1=\"'.concat(a,'\" title=\"').concat(this.language.translate(t[a]),'\">').concat(this.language.translate(t[a]),\"</a></li>\"));return e+=\"</ul>\"},callback:function(e,t){\"before\"==t||\"after\"==t?this.table.insertColumn(t):this.table.deleteColumn()}}),je.DefineIcon(\"tableCells\",{NAME:\"square-o\",FA5NAME:\"square\",SVG_KEY:\"cellOptions\"}),je.RegisterCommand(\"tableCells\",{type:\"dropdown\",focus:!1,title:\"Cell\",options:{merge:\"Merge cells\",\"vertical-split\":\"Vertical split\",\"horizontal-split\":\"Horizontal split\"},html:function(){var e='<ul class=\"fr-dropdown-list\" role=\"presentation\">',t=je.COMMANDS.tableCells.options;for(var a in t)t.hasOwnProperty(a)&&(e+='<li role=\"presentation\"><a class=\"fr-command\" tabIndex=\"-1\" role=\"option\" data-cmd=\"tableCells\" data-param1=\"'.concat(a,'\" title=\"').concat(this.language.translate(t[a]),'\">').concat(this.language.translate(t[a]),\"</a></li>\"));return e+=\"</ul>\"},callback:function(e,t){\"merge\"==t?this.table.mergeCells():\"vertical-split\"==t?this.table.splitCellVertically():this.table.splitCellHorizontally()},refreshOnShow:function(e,t){1<this.$el.find(\".fr-selected-cell\").length?(t.find('a[data-param1=\"vertical-split\"]').addClass(\"fr-disabled\").attr(\"aria-disabled\",!0),t.find('a[data-param1=\"horizontal-split\"]').addClass(\"fr-disabled\").attr(\"aria-disabled\",!0),t.find('a[data-param1=\"merge\"]').removeClass(\"fr-disabled\").attr(\"aria-disabled\",!1)):(t.find('a[data-param1=\"merge\"]').addClass(\"fr-disabled\").attr(\"aria-disabled\",!0),t.find('a[data-param1=\"vertical-split\"]').removeClass(\"fr-disabled\").attr(\"aria-disabled\",!1),t.find('a[data-param1=\"horizontal-split\"]').removeClass(\"fr-disabled\").attr(\"aria-disabled\",!1))}}),je.DefineIcon(\"tableRemove\",{NAME:\"trash\",SVG_KEY:\"removeTable\"}),je.RegisterCommand(\"tableRemove\",{title:\"Remove Table\",focus:!1,callback:function(){this.table.remove()}}),je.DefineIcon(\"tableBack\",{NAME:\"arrow-left\",SVG_KEY:\"back\"}),je.RegisterCommand(\"tableBack\",{title:\"Back\",undo:!1,focus:!1,back:!0,callback:function(){var e=this.popups.get(\"table.colors\");this.table.back(e&&e.length?e.data(\"type\"):null)}}),je.DefineIcon(\"tableCellVerticalAlign\",{NAME:\"arrows-v\",FA5NAME:\"arrows-alt-v\",SVG_KEY:\"verticalAlignMiddle\"}),je.RegisterCommand(\"tableCellVerticalAlign\",{type:\"dropdown\",focus:!1,title:\"Vertical Align\",options:{Top:\"Align Top\",Middle:\"Align Middle\",Bottom:\"Align Bottom\"},html:function(){var e='<ul class=\"fr-dropdown-list\" role=\"presentation\">',t=je.COMMANDS.tableCellVerticalAlign.options;for(var a in t)t.hasOwnProperty(a)&&(e+='<li role=\"presentation\"><a class=\"fr-command\" tabIndex=\"-1\" role=\"option\" data-cmd=\"tableCellVerticalAlign\" data-param1=\"'.concat(a.toLowerCase(),'\" title=\"').concat(this.language.translate(t[a]),'\">').concat(this.language.translate(a),\"</a></li>\"));return e+=\"</ul>\"},callback:function(e,t){this.table.verticalAlign(t)},refreshOnShow:function(e,t){t.find('.fr-command[data-param1=\"'+this.$el.find(\".fr-selected-cell\").css(\"vertical-align\")+'\"]').addClass(\"fr-active\").attr(\"aria-selected\",!0)}}),je.DefineIcon(\"tableCellHorizontalAlign\",{NAME:\"align-left\",SVG_KEY:\"alignLeft\"}),je.DefineIcon(\"align-left\",{NAME:\"align-left\",SVG_KEY:\"alignLeft\"}),je.DefineIcon(\"align-right\",{NAME:\"align-right\",SVG_KEY:\"alignRight\"}),je.DefineIcon(\"align-center\",{NAME:\"align-center\",SVG_KEY:\"alignCenter\"}),je.DefineIcon(\"align-justify\",{NAME:\"align-justify\",SVG_KEY:\"alignJustify\"}),je.RegisterCommand(\"tableCellHorizontalAlign\",{type:\"dropdown\",focus:!1,title:\"Horizontal Align\",options:{left:\"Align Left\",center:\"Align Center\",right:\"Align Right\",justify:\"Align Justify\"},html:function(){var e='<ul class=\"fr-dropdown-list\" role=\"presentation\">',t=je.COMMANDS.tableCellHorizontalAlign.options;for(var a in t)t.hasOwnProperty(a)&&(e+='<li role=\"presentation\"><a class=\"fr-command fr-title\" tabIndex=\"-1\" role=\"option\" data-cmd=\"tableCellHorizontalAlign\" data-param1=\"'.concat(a,'\" title=\"').concat(this.language.translate(t[a]),'\">').concat(this.icon.create(\"align-\".concat(a)),'<span class=\"fr-sr-only\">').concat(this.language.translate(t[a]),\"</span></a></li>\"));return e+=\"</ul>\"},callback:function(e,t){this.table.horizontalAlign(t)},refresh:function(e){var t=this.table.selectedCells(),a=this.$;t.length&&e.find(\"> *\").first().replaceWith(this.icon.create(\"align-\".concat(this.helpers.getAlignment(a(t[0])))))},refreshOnShow:function(e,t){t.find('.fr-command[data-param1=\"'+this.helpers.getAlignment(this.$el.find(\".fr-selected-cell\").first())+'\"]').addClass(\"fr-active\").attr(\"aria-selected\",!0)}}),je.DefineIcon(\"tableCellStyle\",{NAME:\"magic\",SVG_KEY:\"cellStyle\"}),je.RegisterCommand(\"tableCellStyle\",{title:\"Cell Style\",type:\"dropdown\",focus:!1,html:function(){var e='<ul class=\"fr-dropdown-list\" role=\"presentation\">',t=this.opts.tableCellStyles;for(var a in t)t.hasOwnProperty(a)&&(e+='<li role=\"presentation\"><a class=\"fr-command\" tabIndex=\"-1\" role=\"option\" data-cmd=\"tableCellStyle\" data-param1=\"'.concat(a,'\" title=\"').concat(this.language.translate(t[a]),'\">').concat(this.language.translate(t[a]),\"</a></li>\"));return e+=\"</ul>\"},callback:function(e,t){this.table.applyStyle(t,this.$el.find(\".fr-selected-cell\"),this.opts.tableCellMultipleStyles,this.opts.tableCellStyles)},refreshOnShow:function(e,t){var a=this.$,l=this.$el.find(\".fr-selected-cell\").first();l&&t.find(\".fr-command\").each(function(){var e=a(this).data(\"param1\"),t=l.hasClass(e);a(this).toggleClass(\"fr-active\",t).attr(\"aria-selected\",t)})}}),je.DefineIcon(\"tableColorRemove\",{NAME:\"eraser\",SVG_KEY:\"remove\"}),je.DefineIcon(\"tableCellProperties\",{template:\"svgMultiplePath\",PATHS:'\\n    <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M19.513 3.25C20.9736 3.25 22.1577 4.43408 22.1577 5.89471V12.6517L22.1546 12.6526C21.8784 12.4577 21.6084 12.2933 21.3448 12.1593C21.1821 12.0767 21.0123 11.9963 20.8353 11.9183V8.53928H15.546V12.2584C15.3417 12.3719 15.1339 12.5033 14.9223 12.6526L12.7375 11.9949L11.6254 13.8287H8.93418V16.4735H12.9027C12.893 16.6127 12.8882 16.7519 12.8882 16.891C12.8882 17.1927 12.911 17.4943 12.9565 17.7959H3.64471C2.18408 17.7959 1 16.6118 1 15.1512V5.89471C1 4.43408 2.18408 3.25 3.64471 3.25H19.513ZM19.513 4.57235H15.546V7.21692H20.8353V5.89471C20.8353 5.16439 20.2433 4.57235 19.513 4.57235ZM8.93418 4.57235H14.2236V7.21692H8.93418V4.57235ZM3.64471 4.57235H7.61183V7.21692H2.32235V5.89471C2.32235 5.16439 2.91439 4.57235 3.64471 4.57235ZM2.32235 12.5063V8.53928H7.61183V12.5063H2.32235ZM2.32235 15.1512V13.8287H7.61183V16.4735H3.64471C2.91439 16.4735 2.32235 15.8815 2.32235 15.1512Z\" fill=\"#333333\"/>\\n    <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M17.102 20.6423L17.4335 22.25H19.6434L19.9749 20.6423C20.1959 20.553 20.4031 20.4592 20.5964 20.361C20.7898 20.2627 20.9878 20.1421 21.1903 19.9992L22.7925 20.4815L23.8974 18.6595L22.6268 17.5877C22.6636 17.3555 22.682 17.1232 22.682 16.891C22.682 16.6588 22.6636 16.4266 22.6268 16.1944L23.8974 15.1226L22.7925 13.3005L21.1903 13.7828C20.9878 13.6399 20.7898 13.5193 20.5964 13.4211C20.4031 13.3228 20.1959 13.2291 19.9749 13.1397L19.6434 11.5321H17.4335L17.102 13.1397C16.881 13.2291 16.6739 13.3228 16.4805 13.4211C16.2871 13.5193 16.0892 13.6399 15.8866 13.7828L14.2844 13.3005L13.1795 15.1226L14.4502 16.1944C14.4133  16.4266 14.3949 16.6588 14.3949 16.891C14.3949 17.1232 14.4133 17.3555 14.4502 17.5877L13.1795 18.6595L14.2844 20.4815L15.8866 19.9992C16.0892 20.1421 16.2871 20.2627 16.4805 20.361C16.6739 20.4592 16.881 20.553 17.102 20.6423ZM20.0992 18.4049C19.6664 18.8247 19.1462 19.0346 18.5385 19.0346C17.9307  19.0346 17.4105 18.8247 16.9777 18.4049C16.545 17.9851 16.3286 17.4805 16.3286 16.891C16.3286 16.3015 16.545 15.7969 16.9777 15.3771C17.4105 14.9573 17.9307 14.7474 18.5385 14.7474C19.1462 14.7474 19.6664 14.9573 20.0992 15.3771C20.532 15.7969 20.7483 16.3015 20.7483 16.891C20.7483 17.4805 20.532 17.9851 20.0992 18.4049Z\" fill=\"#333333\"/>\\n  '}),je.DefineIcon(\"tablePropertiesIcon\",{template:\"svgMultiplePath\",viewBox:\"0 0 24 24\",PATHS:'\\n    <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M22.1577 5.89471C22.1577 4.43408 20.9736 3.25 19.513 3.25H3.64471C2.18408 3.25 1 4.43408 1 5.89471V15.1512C1 16.6118 2.18408 17.7959 3.64471 17.7959H12.9565C12.911 17.4943 12.8882 17.1927 12.8882 16.891C12.8882 16.7519 12.893 16.6127 12.9027 16.4735H8.93418V13.8287H11.6254L12.4273 12.5063H8.93418V8.53928H14.2236V12.4422L14.9223 12.6526C15.1339 12.5033 15.3417 12.3719 15.546 12.2584V8.53928H20.8353V11.9183C21.0123 11.9963 21.1821 12.0767 21.3448 12.1593C21.6084 12.2933 21.8784 12.4577 22.1546 12.6526L22.1577 12.6517V5.89471ZM15.546 4.57235H19.513C20.2433 4.57235 20.8353 5.16439 20.8353 5.89471V7.21692H15.546V4.57235ZM14.2236 4.57235H8.93418V7.21692H14.2236V4.57235ZM7.61183 4.57235H3.64471C2.91439 4.57235 2.32235 5.16439 2.32235 5.89471V7.21692H7.61183V4.57235ZM2.32235 8.53928V12.5063H7.61183V8.53928H2.32235ZM2.32235 13.8287V15.1512C2.32235 15.8815 2.91439 16.4735 3.64471 16.4735H7.61183V13.8287H2.32235Z\" fill=\"#333333\"/>\\n    <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M17.102 20.6423L17.4335 22.25H19.6434L19.9749 20.6423C20.1959 20.553 20.4031 20.4592 20.5964 20.361C20.7898 20.2627 20.9878 20.1421 21.1903 19.9992L22.7925 20.4815L23.8974 18.6595L22.6268 17.5877C22.6636 17.3555 22.682 17.1232 22.682 16.891C22.682 16.6588 22.6636 16.4266 22.6268 16.1944L23.8974 15.1226L22.7925 13.3005L21.1903 13.7828C20.9878 13.6399 20.7898 13.5193 20.5964 13.4211C20.4031 13.3228 20.1959 13.2291 19.9749 13.1397L19.6434 11.5321H17.4335L17.102 13.1397C16.881 13.2291 16.6739 13.3228 16.4805 13.4211C16.2871 13.5193 16.0892 13.6399 15.8866 13.7828L14.2844 13.3005L13.1795 15.1226L14.4502 16.1944C14.4133 16.4266 14.3949 16.6588 14.3949 16.891C14.3949 17.1232 14.4133 17.3555 14.4502 17.5877L13.1795 18.6595L14.2844 20.4815L15.8866 19.9992C16.0892 20.1421 16.2871 20.2627 16.4805 20.361C16.6739 20.4592 16.881 20.553 17.102 20.6423ZM20.0992 18.4049C19.6664 18.8247 19.1462 19.0346 18.5385 19.0346C17.9307 19.0346 17.4105 18.8247 16.9777 18.4049C16.545 17.9851 16.3286 17.4805 16.3286 16.891C16.3286 16.3015 16.545 15.7969 16.9777 15.3771C17.4105 14.9573 17.9307 14.7474 18.5385 14.7474C19.1462 14.7474 19.6664 14.9573 20.0992 15.3771C20.532 15.7969 20.7483 16.3015 20.7483 16.891C20.7483 17.4805 20.532 17.9851 20.0992 18.4049Z\" fill=\"#333333\"/>\\n  '}),je.DefineIcon(\"leftTableAlign\",{template:\"svgMultiplePath\",viewBox:\"0 0 24 24\",PATHS:'\\n    <path d=\"M18.3333 3V4.33333H1V3H18.3333Z\" fill=\"#999998\"/>\\n    <path d=\"M18.3333 15V16.3333H1V15H18.3333Z\" fill=\"#999998\"/>\\n    <path d=\"M18.3333 6.45801V7.79134H13V6.45801H18.3333Z\" fill=\"#999998\"/>\\n    <path d=\"M18.3333 9.12467V10.458H13V9.12467H18.3333Z\" fill=\"#999998\"/>\\n    <path d=\"M18.3333 11.7913V13.1247H13V11.7913H18.3333Z\" fill=\"#999998\"/>\\n    <path d=\"M10.3333 12.3333V13.6667H2.33333V12.3333H10.3333ZM10.3333 7H2.33333V13.6667C1.6431 13.6667 1.07495 13.1422 1.00651 12.4701L1 12.3333V7C1 6.26362 1.59695 5.66667 2.33333 5.66667H10.3333C11.0697 5.66667 11.6667 6.26362 11.6667 7V12.3333L11.6602 12.4701C11.5917 13.1422 11.0236 13.6667 10.3333 13.6667V7Z\" fill=\"#333333\"/>\\n  '}),je.DefineIcon(\"leftTableAlignActive\",{template:\"svgMultiplePath\",viewBox:\"0 0 24 24\",PATHS:'\\n    <path d=\"M18.8333 3.5V4.83333H1.5V3.5H18.8333Z\" fill=\"#90B7FF\"/>\\n    <path d=\"M18.8333 15.5V16.8333H1.5V15.5H18.8333Z\" fill=\"#90B7FF\"/>\\n    <path d=\"M18.8333 6.95801V8.29134H13.5V6.95801H18.8333Z\" fill=\"#90B7FF\"/>\\n    <path d=\"M18.8333 9.62467V10.958H13.5V9.62467H18.8333Z\" fill=\"#90B7FF\"/>\\n    <path d=\"M18.8333 12.2913V13.6247H13.5V12.2913H18.8333Z\" fill=\"#90B7FF\"/>\\n    <path d=\"M10.8333 12.8333V14.1667H2.83333V12.8333H10.8333ZM10.8333 7.5H2.83333V14.1667C2.1431 14.1667 1.57495 13.6422 1.50651 12.9701L1.5 12.8333V7.5C1.5 6.76362 2.09695 6.16667 2.83333 6.16667H10.8333C11.5697 6.16667 12.1667 6.76362 12.1667 7.5V12.8333L12.1602 12.9701C12.0917 13.6422 11.5236 14.1667 10.8333 14.1667V7.5Z\" fill=\"#2A77FF\"/>\\n  '}),je.DefineIcon(\"centerTableAlign\",{template:\"svgMultiplePath\",viewBox:\"0 0 24 24\",PATHS:'\\n    <path d=\"M18.3333 3V4.33333H1V3H18.3333Z\" fill=\"#999998\"/>\\n    <path d=\"M18.3333 15V16.3333H1V15H18.3333Z\" fill=\"#999998\"/>\\n    <path d=\"M13 12.3333V13.6667H6.33333V12.3333H13ZM13 7H6.33333V13.6667L6.19661 13.6602C5.56938 13.5963 5.07038 13.0973 5.00651 12.4701L5 12.3333V7C5 6.26362 5.59695 5.66667 6.33333 5.66667H13C13.7364 5.66667 14.3333 6.26362 14.3333 7V12.3333L14.3268 12.4701C14.263 13.0973 13.764 13.5963 13.1367 13.6602L13 13.6667V7Z\" fill=\"#333333\"/>\\n  '}),je.DefineIcon(\"centerTableAlignActive\",{template:\"svgMultiplePath\",viewBox:\"0 0 24 24\",PATHS:'\\n    <path d=\"M18.8333 3.5V4.83333H1.5V3.5H18.8333Z\" fill=\"#90B7FF\"/>\\n    <path d=\"M18.8333 15.5V16.8333H1.5V15.5H18.8333Z\" fill=\"#90B7FF\"/>\\n    <path d=\"M13.5 12.8333V14.1667H6.83333V12.8333H13.5ZM13.5 7.5H6.83333V14.1667L6.69661 14.1602C6.06938 14.0963 5.57038 13.5973 5.50651 12.9701L5.5 12.8333V7.5C5.5 6.76362 6.09695 6.16667 6.83333 6.16667H13.5C14.2364 6.16667 14.8333 6.76362 14.8333 7.5V12.8333L14.8268 12.9701C14.763 13.5973 14.264 14.0963 13.6367 14.1602L13.5 14.1667V7.5Z\" fill=\"#2A77FF\"/>\\n '}),je.DefineIcon(\"rightTableAlignActive\",{template:\"svgMultiplePath\",viewBox:\"0 0 24 24\",PATHS:'\\n    <path d=\"M18.8333 3.5V4.83333H1.5V3.5H18.8333Z\" fill=\"#90B7FF\"/>\\n    <path d=\"M18.8333 15.5V16.8333H1.5V15.5H18.8333Z\" fill=\"#90B7FF\"/>\\n    <path d=\"M6.83333 6.95801V8.29134H1.5V6.95801H6.83333Z\" fill=\"#90B7FF\"/>\\n    <path d=\"M6.83333 9.62467V10.958H1.5V9.62467H6.83333Z\" fill=\"#90B7FF\"/>\\n    <path d=\"M6.83333 12.2913V13.6247H1.5V12.2913H6.83333Z\" fill=\"#90B7FF\"/>\\n    <path d=\"M17.5 12.8333V14.1667H9.5V12.8333H17.5ZM17.5 7.5H9.5V14.1667C8.80976 14.1667 8.24162 13.6422 8.17318 12.9701L8.16667 12.8333V7.5C8.16667 6.76362 8.76362 6.16667 9.5 6.16667H17.5C18.2364 6.16667 18.8333 6.76362 18.8333 7.5V12.8333L18.8268 12.9701C18.7584 13.6422 18.1902 14.1667 17.5 14.1667V7.5Z\" fill=\"#2A77FF\"/>\\n  '}),je.DefineIcon(\"rightTableAlign\",{template:\"svgMultiplePath\",viewBox:\"0 0 24 24\",PATHS:'\\n    <path d=\"M18.3333 3V4.33333H1V3H18.3333Z\" fill=\"#999998\"/>\\n    <path d=\"M18.3333 15V16.3333H1V15H18.3333Z\" fill=\"#999998\"/>\\n    <path d=\"M6.33333 6.45801V7.79134H1V6.45801H6.33333Z\" fill=\"#999998\"/>\\n    <path d=\"M6.33333 9.12468V10.458H1V9.12468H6.33333Z\" fill=\"#999998\"/>\\n    <path d=\"M6.33333 11.7913V13.1247H1V11.7913H6.33333Z\" fill=\"#999998\"/>\\n    <path d=\"M17 12.3333V13.6667H9V12.3333H17ZM17 7H9V13.6667C8.30976 13.6667 7.74162 13.1422 7.67318 12.4701L7.66667 12.3333V7C7.66667 6.26362 8.26362 5.66667 9 5.66667H17C17.7364 5.66667 18.3333 6.26362 18.3333 7V12.3333L18.3268 12.4701C18.2584 13.1422 17.6902 13.6667 17 13.6667V7Z\" fill=\"#333333\"/>\\n  '}),je.DefineIcon(\"tableSelectorIcon\",{template:\"svgMultiplePath\",VIEWBOX:\"1 1 14 14\",PATHS:'<mask id=\"mask0_85_21\" style=\"mask-type:alpha\" maskUnits=\"userSpaceOnUse\" x=\"0\" y=\"0\" width=\"16\" height=\"16\"><rect width=\"16\" height=\"16\" fill=\"white\"/></mask>\\n          <g mask=\"url(#mask0_85_21)\"><path d=\"M3.33333 14C2.96667 14 2.65278 13.8694 2.39167 13.6083C2.13056 13.3472 2 13.0333 2 12.6667V10H3.33333V12.6667H6V14H3.33333ZM10 \\n          14V12.6667H12.6667V10H14V12.6667C14 13.0333 13.8694 13.3472 13.6083 13.6083C13.3472 13.8694 13.0333 14 12.6667 14H10ZM2 6V3.33333C2 2.96667 2.13056 2.65278 2.39167 \\n          2.39167C2.65278 2.13056 2.96667 2 3.33333 2H6V3.33333H3.33333V6H2ZM12.6667 6V3.33333H10V2H12.6667C13.0333 2 13.3472 2.13056 13.6083 2.39167C13.8694 2.65278 14 2.96667 \\n          14 3.33333V6H12.6667Z\" fill=\"white\"/> <rect opacity=\"0.4\" x=\"4\" y=\"4\" width=\"8\" height=\"8\" fill=\"white\"/></g>'})});","/*!\n * froala_editor v4.6.2 (https://www.froala.com/wysiwyg-editor)\n * License https://froala.com/wysiwyg-editor/terms/\n * Copyright 2014-2025 Froala Labs\n */\n\n!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?t(require(\"froala-editor\")):\"function\"==typeof define&&define.amd?define([\"froala-editor\"],t):t(e.FroalaEditor)}(this,function(r){\"use strict\";(r=r&&r.hasOwnProperty(\"default\")?r[\"default\"]:r).URLRegEx=\"(^| |\\\\u00A0)(\".concat(r.LinkRegEx,\"|([a-z0-9+-_.]{1,}@[a-z0-9+-_.]{1,}\\\\.[a-z0-9+-_]{1,}))$\"),r.PLUGINS.url=function(u){var c=u.$,o=null;function t(e,t,n){for(var r=\"\";n.length&&\".\"==n[n.length-1];)r+=\".\",n=n.substring(0,n.length-1);var a=n;if(u.opts.linkConvertEmailAddress)u.helpers.isEmail(a)&&!/^mailto:.*/i.test(a)&&(a=\"mailto:\".concat(a));else if(u.helpers.isEmail(a))return t+n;return/^((http|https|ftp|ftps|mailto|tel|sms|notes|data)\\:)/i.test(a)||(a=\"//\".concat(a)),(t||\"\")+\"<a\".concat(u.opts.linkAlwaysBlank?' target=\"_blank\"':\"\").concat(o?' rel=\"'.concat(o,'\"'):\"\",' data-fr-linked=\"true\" href=\"').concat(a,'\">').concat(n.replace(/&amp;/g,\"&\").replace(/&/g,\"&amp;\").replace(/</g,\"&lt;\").replace(/>/g,\"&gt;\"),\"</a>\").concat(r)}var d=function d(){return new RegExp(r.URLRegEx,\"gi\")};function g(e){return u.opts.linkAlwaysNoFollow&&(o=\"nofollow\"),u.opts.linkAlwaysBlank&&(u.opts.linkNoOpener&&(o?o+=\" noopener\":o=\"noopener\"),u.opts.linkNoReferrer&&(o?o+=\" noreferrer\":o=\"noreferrer\")),e.replace(d(),t)}function h(e){var t=e.split(\" \");return t[t.length-1]}function n(){var e=u.selection.ranges(0),t=e.startContainer;if(t.nodeType!==Node.TEXT_NODE)return!1;if(!t||e.startOffset!==(t.textContent||\"\").length){u.markers.insert();var n=u.$el.find(\".fr-marker\"),r=t.textContent.match(/(^| |\\u00A0)(((([a-z\\u0080-\\u009f\\u00a1-\\uffff0-9-_\\.]{1,})(\\.(com|net|org|edu|mil|gov|co|biz|info|me|dev)))|((ftp|http|https):\\/\\/[a-z\\u0080-\\u009f\\u00a1-\\uffff0-9-_\\.]{1,})|(www\\.[a-z\\u0080-\\u009f\\u00a1-\\uffff0-9-_\\.]{1,}\\.[a-z0-9-]{2,24})|((ftp|http|https):\\/\\/[\\u0021-\\uffff]{1,}@[a-z\\u0080-\\u009f\\u00a1-\\uffff0-9-_\\.]{1,}))((:[0-9]{1,5})|)(((\\/|\\?|#)[a-z\\u00a1-\\uffff0-9@?\\|!^=%&amp;\\/~+#-\\'*-_{}]*)|())|([a-z0-9+-_.]{1,}@[a-z0-9+-_.]{1,}\\.[a-z0-9+-_]{1,}))$/gi);if(n.remove(),!r)return!1}if(function p(e){return!!e&&(\"A\"===e.tagName||!(!e.parentNode||e.parentNode==u.el)&&p(e.parentNode))}(t))return!1;if(d().test(h(t.textContent))){var a,o=t.textContent.length;if(0<o&&\",\"===t.textContent.charAt(o-1)){c(t).before(g(t.textContent.substring(0,o-1))),(a=c(t.parentNode).find(\"a[data-fr-linked]\")).removeAttr(\"data-fr-linked\"),t.textContent=\",\";var i=u.win.getSelection().getRangeAt(0);i.setStart(t,1),i.setEnd(t,1)}else c(t).before(g(t.textContent)),(a=c(t.parentNode).find(\"a[data-fr-linked]\")).removeAttr(\"data-fr-linked\"),t.parentNode.removeChild(t);u.events.trigger(\"url.linked\",[a.get(0)])}else if(t.textContent.split(\" \").length<=2&&t.previousSibling&&\"A\"===t.previousSibling.tagName){var l=t.previousSibling.innerText+t.textContent,f=t.textContent.length;if(d().test(h(l))&&\",\"!==t.textContent.charAt(f-1)){var s=(new DOMParser).parseFromString(g(l),\"text/html\").body.childNodes;t.parentNode.replaceChild(s[0],t.previousSibling),s.length&&c(t).before(s[0]),t.parentNode.removeChild(t)}}}return{_init:function e(){u.events.on(\"keypress\",function(e){!u.selection.isCollapsed()||\")\"!=e.key&&\"(\"!=e.key||n()},!0),u.events.on(\"keydown\",function(e){var t=e.which;!u.selection.isCollapsed()||t!=r.KEYCODE.ENTER&&t!=r.KEYCODE.SPACE||n()},!0),u.events.on(\"paste.beforeCleanup\",function(e){if(u.helpers.isURL(e)&&!u.$el[0].getAttribute(\"plainpaste\")){var t=null;return u.opts.linkAlwaysBlank&&(u.opts.linkNoOpener&&(t?t+=\" noopener\":t=\"noopener\"),u.opts.linkNoReferrer&&(t?t+=\" noreferrer\":t=\"noreferrer\")),\"<a\".concat(u.opts.linkAlwaysBlank?' target=\"_blank\"':\"\").concat(t?' rel=\"'.concat(t,'\"'):\"\",' href=\"').concat(e,'\" >').concat(e,\"</a>\")}if(u.$el[0].getAttribute(\"plainpaste\"))return function n(e){if(\"string\"==typeof e)return(e=e.replace(/&amp;/g,\"&\")).replace(/(?:https?|ftp|file):\\/\\/(?:\\([-A-Z0-9+&@#\\/%=~_|$?!:,.'\\u2019\"`()[\\]{}\\\\]*\\)|[-A-Z0-9+&@#\\/%=~_|$?!:,.'\\u2019\"`()[\\]{}\\\\])*(?:\\([-A-Z0-9+&@#\\/%=~_|$?!:,.'\\u2019\"`()[\\]{}\\\\]*\\)|[-A-Z0-9+&@#\\/%=~_|$'\\u2019\"`()[\\]{}\\\\])|www\\.(?:\\([-A-Z0-9+&@#\\/%=~_|$?!:,.'\\u2019\"`()[\\]{}\\\\]*\\)|[-A-Z0-9+&@#\\/%=~_|$?!:,.'\\u2019\"`()[\\]{}\\\\])*(?:\\([-A-Z0-9+&@#\\/%=~_|$?!:,.'\\u2019\"`()[\\]{}\\\\]*\\)|[-A-Z0-9+&@#\\/%=~_|$'\\u2019\"`()[\\]{}\\\\])|(?:[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+\\.[a-zA-Z]{2,})|(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)+[a-z]{2,}(?:\\/[^\\s<]*)?/gim,g)}(e)})}}}});","/*!\n * froala_editor v4.6.2 (https://www.froala.com/wysiwyg-editor)\n * License https://froala.com/wysiwyg-editor/terms/\n * Copyright 2014-2025 Froala Labs\n */\n\n!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?t(require(\"froala-editor\")):\"function\"==typeof define&&define.amd?define([\"froala-editor\"],t):t(e.FroalaEditor)}(this,function(we){\"use strict\";we=we&&we.hasOwnProperty(\"default\")?we[\"default\"]:we,Object.assign(we.POPUP_TEMPLATES,{\"video.insert\":\"[_BUTTONS_][_BY_URL_LAYER_][_EMBED_LAYER_][_UPLOAD_LAYER_][_PROGRESS_BAR_]\",\"video.edit\":\"[_BUTTONS_]\",\"video.size\":\"[_BUTTONS_][_SIZE_LAYER_]\"}),Object.assign(we.DEFAULTS,{videoAllowedTypes:[\"mp4\",\"webm\",\"ogg\",\"mp3\",\"mpeg\",\"url\"],videoAllowedProviders:[\".*\"],videoDefaultAlign:\"center\",videoDefaultDisplay:\"block\",videoDefaultWidth:600,videoEditButtons:[\"videoReplace\",\"videoRemove\",\"videoDisplay\",\"videoAlign\",\"videoSize\",\"autoplay\"],videoInsertButtons:[\"videoBack\",\"|\",\"videoByURL\",\"videoEmbed\",\"videoUpload\"],videoMaxSize:52428800,videoMove:!0,videoResize:!0,videoResponsive:!1,videoSizeButtons:[\"videoBack\",\"|\"],videoSplitHTML:!1,videoTextNear:!0,videoUpload:!0,videoUploadMethod:\"POST\",videoUploadParam:\"file\",videoUploadParams:{},videoUploadToS3:!1,videoUploadToAzure:!1,videoUploadURL:null}),we.VIDEO_PROVIDERS=[{test_regex:/^.*((youtu.be)|(youtube.com))\\/((v\\/)|(\\/u\\/\\w\\/)|(embed\\/)|(watch\\?))?\\/?((shorts\\/)|(v=))?([^#\\&\\?]*).*/,url_regex:/(?:https?:\\/\\/)?(?:www\\.)?(?:m\\.)?(?:youtube\\.com|youtu\\.be)\\/(?:watch\\?v=|embed\\/|shorts\\/)?([0-9a-zA-Z_\\-]+)(.*)?/g,url_text:\"https://www.youtube.com/embed/$1?$2\",html:'<iframe width=\"640\" height=\"360\" src=\"{url}&wmode=opaque&rel=0\" frameborder=\"0\" allowfullscreen></iframe>',provider:\"youtube\"},{test_regex:/^.*(?:vimeo.com)\\/(?:channels(\\/\\w+\\/)?|groups\\/*\\/videos\\/\\u200b\\d+\\/|video\\/|)(\\d+)(?:$|\\/|\\?)/,url_regex:/(?:https?:\\/\\/)?(?:www\\.|player\\.)?vimeo.com\\/(?:channels\\/(?:\\w+\\/)?|groups\\/(?:[^\\/]*)\\/videos\\/|album\\/(?:\\d+)\\/video\\/|video\\/|)(\\d+)(?:[a-zA-Z0-9_\\-]+)?(\\/[a-zA-Z0-9_\\-]+)?/i,url_text:\"https://player.vimeo.com/video/$1\",html:'<iframe width=\"640\" height=\"360\" src=\"{url}\" frameborder=\"0\" allowfullscreen></iframe>',provider:\"vimeo\"},{test_regex:/^.+(dailymotion.com|dai.ly)\\/(video|hub)?\\/?([^_]+)[^#]*(#video=([^_&]+))?/,url_regex:/(?:https?:\\/\\/)?(?:www\\.)?(?:dailymotion\\.com|dai\\.ly)\\/(?:video|hub)?\\/?(.+)/g,url_text:\"https://www.dailymotion.com/embed/video/$1\",html:'<iframe width=\"640\" height=\"360\" src=\"{url}\" frameborder=\"0\" allowfullscreen></iframe>',provider:\"dailymotion\"},{test_regex:/^.+(screen.yahoo.com)\\/[^_&]+/,url_regex:\"\",url_text:\"\",html:'<iframe width=\"640\" height=\"360\" src=\"{url}?format=embed\" frameborder=\"0\" allowfullscreen=\"true\" mozallowfullscreen=\"true\" webkitallowfullscreen=\"true\" allowtransparency=\"true\"></iframe>',provider:\"yahoo\"},{test_regex:/^.+(rutube.ru)\\/[^_&]+/,url_regex:/(?:https?:\\/\\/)?(?:www\\.)?(?:rutube\\.ru)\\/(?:video)?\\/?(.+)/g,url_text:\"https://rutube.ru/play/embed/$1\",html:'<iframe width=\"640\" height=\"360\" src=\"{url}\" frameborder=\"0\" allowfullscreen=\"true\" mozallowfullscreen=\"true\" webkitallowfullscreen=\"true\" allowtransparency=\"true\"></iframe>',provider:\"rutube\"},{test_regex:/^(?:.+)vidyard.com\\/(?:watch)?\\/?([^.&/]+)\\/?(?:[^_.&]+)?/,url_regex:/^(?:.+)vidyard.com\\/(?:watch)?\\/?([^.&/]+)\\/?(?:[^_.&]+)?/g,url_text:\"https://play.vidyard.com/$1\",html:'<iframe width=\"640\" height=\"360\" src=\"{url}\" frameborder=\"0\" allowfullscreen></iframe>',provider:\"vidyard\"}],we.VIDEO_EMBED_REGEX=/^\\W*(<div[^>]*>\\s*<iframe[^>]*>.*?<\\/iframe>\\s*<\\/div>(\\s*<script[^>]*>.*?<\\/script>)?|<iframe[^>]*>.*?<\\/iframe>|<embed(.|\\n)*>)\\W*$/i,we.PLUGINS.video=function(w){var s,f,p,E,i,o,A=w.$,C=\"https://i.froala.com/upload\",c=2,v=3,u=4,S=5,U=6,a={};function g(){var e=w.popups.get(\"video.insert\");e.find(\".fr-video-by-url-layer input\").val(\"\").trigger(\"change\");var t=e.find(\".fr-video-embed-layer textarea\");t.val(\"\").trigger(\"change\"),(t=e.find(\".fr-video-upload-layer input\")).val(\"\").trigger(\"change\")}function r(){var e=w.popups.get(\"video.edit\");if(e||(e=function n(){var e=\"\";if(0<w.opts.videoEditButtons.length){w.opts.videoResponsive&&(-1<w.opts.videoEditButtons.indexOf(\"videoSize\")&&w.opts.videoEditButtons.splice(w.opts.videoEditButtons.indexOf(\"videoSize\"),1),-1<w.opts.videoEditButtons.indexOf(\"videoDisplay\")&&w.opts.videoEditButtons.splice(w.opts.videoEditButtons.indexOf(\"videoDisplay\"),1),-1<w.opts.videoEditButtons.indexOf(\"videoAlign\")&&w.opts.videoEditButtons.splice(w.opts.videoEditButtons.indexOf(\"videoAlign\"),1));var t={buttons:e+='<div class=\"fr-buttons\"> \\n      '.concat(w.button.buildList(w.opts.videoEditButtons),\" \\n      </div>\")},o=w.popups.create(\"video.edit\",t);return w.events.$on(w.$wp,\"scroll.video-edit\",function(){E&&w.popups.isVisible(\"video.edit\")&&(w.events.disableBlur(),l(E))}),o}return!1}()),e){w.popups.setContainer(\"video.edit\",w.$sc),w.popups.refresh(\"video.edit\");var t=E.find(\"iframe, embed, \".concat(E.find(\"iframe, embed, audio\").get(0)?\"audio\":\"video\")),o=t.offset().left+t.outerWidth()/2,i=t.offset().top+t.outerHeight(),a=t.get(0).src?t.get(0).src:t.get(0).currentSrc,r=!(!(a=(a=a.split(\".\"))[a.length-1]).includes(\"pdf\")&&!a.includes(\"txt\"));t.hasClass(\"fr-file\")||r||E.find(\"audio\").get(0)?(document.getElementById(\"autoplay-\".concat(w.id))&&(document.getElementById(\"autoplay-\".concat(w.id)).style.display=\"none\"),document.getElementById(\"videoReplace-\".concat(w.id))&&(document.getElementById(\"videoReplace-\".concat(w.id)).style.display=\"none\")):(document.getElementById(\"autoplay-\".concat(w.id))&&(document.getElementById(\"autoplay-\".concat(w.id)).style.display=\"\"),document.getElementById(\"videoReplace-\".concat(w.id))&&(document.getElementById(\"videoReplace-\".concat(w.id)).style.display=\"\")),w.popups.show(\"video.edit\",o,i,t.outerHeight(),!0)}}function n(e){if(e)return w.popups.onRefresh(\"video.insert\",g),w.popups.onHide(\"video.insert\",J),!0;var t=\"\";w.opts.videoUpload||-1===w.opts.videoInsertButtons.indexOf(\"videoUpload\")||w.opts.videoInsertButtons.splice(w.opts.videoInsertButtons.indexOf(\"videoUpload\"),1);var o=w.button.buildList(w.opts.videoInsertButtons);\"\"!==o&&(t='<div class=\"fr-buttons\">'+o+\"</div>\");var i,a=\"\",r=w.opts.videoInsertButtons.indexOf(\"videoUpload\"),n=w.opts.videoInsertButtons.indexOf(\"videoByURL\"),s=w.opts.videoInsertButtons.indexOf(\"videoEmbed\");if(0<=n){i=\" fr-active\",(r<n&&0<=r||s<n&&0<=s)&&(i=\"\");a='<div class=\"fr-video-by-url-layer fr-layer'.concat(i,'\" id=\"fr-video-by-url-layer-').concat(w.id,'\"><div class=\"fr-input-line\"><input id=\"fr-video-by-url-layer-text-').concat(w.id,'\" type=\"text\" placeholder=\"').concat(w.language.translate(\"Paste in a video URL\"),'\" tabIndex=\"1\" aria-required=\"true\"></div><div class=\"fr-action-buttons\"><span style=\\'float:left\\'><div class=\"fr-checkbox-line fr-autoplay-margin\"><span class=\"fr-checkbox\"> <input id=\\'videoPluginAutoplay\\' data-checked=\"_blank\" type=\"checkbox\" aria-label=\"').concat(w.language.translate(\"Autoplay\"),'\"><span>').concat('<svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"10\" height=\"10\" viewBox=\"0 0 32 32\"><path d=\"M27 4l-15 15-7-7-5 5 12 12 20-20z\" fill=\"#FFF\"></path></svg>','</span></span> <label id=\"fr-label-target-').concat(w.id,'\">').concat(w.language.translate(\"Autoplay\"),'</label></div> </span><button type=\"button\" class=\"fr-command fr-submit\" data-cmd=\"videoInsertByURL\" tabIndex=\"2\" role=\"button\">').concat(w.language.translate(\"Insert\"),\"</button></div></div>\")}var d=\"\";0<=s&&(i=\" fr-active\",(r<s&&0<=r||n<s&&0<=n)&&(i=\"\"),d='<div class=\"fr-video-embed-layer fr-layer'.concat(i,'\" id=\"fr-video-embed-layer-').concat(w.id,'\"><div class=\"fr-input-line\"><textarea id=\"fr-video-embed-layer-text').concat(w.id,'\" type=\"text\" placeholder=\"').concat(w.language.translate(\"Embedded Code\"),'\" tabIndex=\"1\" aria-required=\"true\" rows=\"5\"></textarea></div><div class=\"fr-action-buttons\"><button type=\"button\" class=\"fr-command fr-submit\" data-cmd=\"videoInsertEmbed\" tabIndex=\"2\" role=\"button\">').concat(w.language.translate(\"Insert\"),\"</button></div></div>\"));var l=\"\";0<=r&&(i=\" fr-active\",(s<r&&0<=s||n<r&&0<=n)&&(i=\"\"),l='<div class=\"fr-video-upload-layer fr-layer'.concat(i,'\" id=\"fr-video-upload-layer-').concat(w.id,'\"><strong>').concat(w.language.translate(\"Drop video\"),\"</strong><br>(\").concat(w.language.translate(\"or click\"),')<div class=\"fr-form\"><input type=\"file\" accept=\"video/').concat(w.opts.videoAllowedTypes.join(\", video/\").toLowerCase(),'\" tabIndex=\"-1\" aria-labelledby=\"fr-video-upload-layer-').concat(w.id,'\" role=\"button\"></div></div>'));var f={buttons:t,by_url_layer:a,embed_layer:d,upload_layer:l,progress_bar:'<div class=\"fr-video-progress-bar-layer fr-layer\"><h3 tabIndex=\"-1\" class=\"fr-message\">Uploading</h3><div class=\"fr-loader\"><span class=\"fr-progress\"></span></div><div class=\"fr-action-buttons\"><button type=\"button\" class=\"fr-command fr-dismiss\" data-cmd=\"videoDismissError\" tabIndex=\"2\" role=\"button\">OK</button></div></div>'},p=w.popups.create(\"video.insert\",f);return function c(i){w.events.$on(i,\"dragover dragenter\",\".fr-video-upload-layer\",function(){return A(this).addClass(\"fr-drop\"),!1},!0),w.events.$on(i,\"dragleave dragend\",\".fr-video-upload-layer\",function(){return A(this).removeClass(\"fr-drop\"),!1},!0),w.events.$on(i,\"drop\",\".fr-video-upload-layer\",function(e){e.preventDefault(),e.stopPropagation(),A(this).removeClass(\"fr-drop\");var t=e.originalEvent.dataTransfer;if(t&&t.files){var o=i.data(\"instance\")||w;o.events.disableBlur(),o.video.upload(t.files),o.events.enableBlur()}},!0),w.helpers.isIOS()&&w.events.$on(i,\"touchstart\",'.fr-video-upload-layer input[type=\"file\"]',function(){A(this).trigger(\"click\")},!0);w.events.$on(i,\"change\",'.fr-video-upload-layer input[type=\"file\"]',function(){if(this.files){var e=i.data(\"instance\")||w;e.events.disableBlur(),i.find(\"input:focus\").blur(),e.events.enableBlur(),e.video.upload(this.files)}A(this).val(\"\")},!0)}(p),p}function h(e){w.events.focus(!0),w.selection.restore();var t=!1;if(E&&(q(),t=!0),w.opts.trackChangesEnabled){w.edit.on(),w.events.focus(!0),w.selection.restore(),w.undo.saveStep(),w.markers.insert(),w.html.wrap();var o=w.$el.find(\".fr-marker\");w.node.isLastSibling(o)&&o.parent().hasClass(\"fr-deletable\")&&o.insertAfter(o.parent()),o.replaceWith('<span contenteditable=\"false\" draggable=\"true\" class=\"fr-jiv fr-video fr-deletable\">'.concat(e,\"</span>\")),w.selection.clear()}else w.html.insert('<span contenteditable=\"false\" draggable=\"true\" class=\"fr-jiv fr-video fr-deletable\">'.concat(e,\"</span>\"),!1,w.opts.videoSplitHTML);w.popups.hide(\"video.insert\");var i=w.$el.find(\".fr-jiv\");i.removeClass(\"fr-jiv\"),i.toggleClass(\"fr-rv\",w.opts.videoResponsive),Z(i,w.opts.videoDefaultDisplay,w.opts.videoDefaultAlign),i.toggleClass(\"fr-draggable\",w.opts.videoMove),w.events.trigger(t?\"video.replaced\":\"video.inserted\",[i])}function m(){var e=A(this);w.popups.hide(\"video.insert\"),e.removeClass(\"fr-uploading\"),e.parent().next().is(\"br\")&&e.parent().next().remove(),l(e.parent()),w.events.trigger(\"video.loaded\",[e.parent()])}function x(s,e,d,l,f,p){w.edit.off(),b(\"Loading video\"),e&&(s=w.helpers.sanitizeURL(s));var c=function c(){var e,t;if(l){w.undo.canDo()||l.find(\"video\").hasClass(\"fr-uploading\")||w.undo.saveStep();var o=l.find(\"video\").data(\"fr-old-src\"),i=l.data(\"fr-replaced\");if(l.data(\"fr-replaced\",!1),0<l.find(\"iframe\").length)l.remove(),e=I(s,d,m);else{w.$wp?((e=l.clone(!0)).find(\"video\").removeData(\"fr-old-src\").removeClass(\"fr-uploading\"),e.find(\"video\").off(\"canplay\"),o&&l.find(\"video\").attr(\"src\",o),l.replaceWith(e)):e=l;for(var a=e.find(\"video\").get(0).attributes,r=0;r<a.length;r++){var n=a[r];0===n.nodeName.indexOf(\"data-\")&&e.find(\"video\").removeAttr(n.nodeName)}if(void 0!==d)for(t in d)d.hasOwnProperty(t)&&\"link\"!=t&&e.find(\"video\").attr(\"data-\".concat(t),d[t]);e.find(\"video\").on(\"canplay\",m),e.find(\"video\").attr(\"src\",s)}w.edit.on(),O(),w.undo.saveStep(),w.$el.blur(),w.events.trigger(i?\"video.replaced\":\"video.inserted\",[e,f])}else e=I(s,d,m,p),O(),w.undo.saveStep(),w.events.trigger(\"video.inserted\",[e,f])};R(\"Loading video\"),c()}function R(e){var t=w.popups.get(\"video.insert\");if(t||(t=n()),t.find(\".fr-layer.fr-active\").removeClass(\"fr-active\").addClass(\"fr-pactive\"),t.find(\".fr-video-progress-bar-layer\").addClass(\"fr-active\"),t.find(\".fr-buttons\").hide(),E){var o=E.find(\"iframe, embed, \".concat(E.find(\"iframe, embed, audio\").get(0)?\"audio\":\"video\"));w.popups.setContainer(\"video.insert\",w.$sc);var i=o.offset().left,a=o.offset().top+o.height();w.popups.show(\"video.insert\",i,a,o.outerHeight())}void 0===e&&b(w.language.translate(\"Uploading\"),0)}function d(e){var t=w.popups.get(\"video.insert\");if(t&&(t.find(\".fr-layer.fr-pactive\").addClass(\"fr-active\").removeClass(\"fr-pactive\"),t.find(\".fr-video-progress-bar-layer\").removeClass(\"fr-active\"),t.find(\".fr-buttons\").show(),e||w.$el.find(\"video.fr-error\").length)){if(w.events.focus(),w.$el.find(\"video.fr-error\").length&&(w.$el.find(\"video.fr-error\").parent().remove(),w.undo.saveStep(),w.undo.run(),w.undo.dropRedo()),!w.$wp&&E){var o=E;V(!0),w.selection.setAfter(o.find(\"video\").get(0)),w.selection.restore()}w.popups.hide(\"video.insert\")}}function b(e,t){var o=w.popups.get(\"video.insert\");if(o){var i=o.find(\".fr-video-progress-bar-layer\");i.find(\"h3\").text(e+(t?\" \".concat(t,\"%\"):\"\")),i.removeClass(\"fr-error\"),t?(i.find(\"div\").removeClass(\"fr-indeterminate\"),i.find(\"div > span\").css(\"width\",\"\".concat(t,\"%\"))):i.find(\"div\").addClass(\"fr-indeterminate\")}}function y(e){R();var t=w.popups.get(\"video.insert\").find(\".fr-video-progress-bar-layer\");t.addClass(\"fr-error\");var o=t.find(\"h3\");o.text(e),w.events.disableBlur(),o.focus()}function l(e){t.call(e.get(0))}function _(e,t,o){b(\"Loading video\");var i=this.status,a=this.response,r=this.responseXML,n=this.responseText;try{if(w.opts.videoUploadToS3||w.opts.videoUploadToAzure)if(201==i){var s;if(w.opts.videoUploadToAzure){if(!1===w.events.trigger(\"video.uploadedToAzure\",[this.responseURL,o,a],!0))return w.edit.on(),!1;s=t}else s=function l(e){try{var t=A(e).find(\"Location\").text(),o=A(e).find(\"Key\").text();return!1===w.events.trigger(\"video.uploadedToS3\",[t,o,e],!0)?(w.edit.on(),!1):t}catch(i){return F(u,e),!1}}(r);s&&x(s,!1,[],e,a||r)}else F(u,a||r);else if(200<=i&&i<300){var d=function f(e){try{if(!1===w.events.trigger(\"video.uploaded\",[e],!0))return w.edit.on(),!1;var t=JSON.parse(e);return t.link?t:(F(c,e),!1)}catch(o){return F(u,e),!1}}(n);d&&x(d.link,!1,d,e,a||n)}else F(v,a||n)}catch(p){F(u,a||n)}}function B(){F(u,this.response||this.responseText||this.responseXML)}function D(e){if(e.lengthComputable){var t=e.loaded/e.total*100|0;b(w.language.translate(\"Uploading\"),t)}}function k(){w.edit.on(),d(!0)}function I(e,t,o,i){var a,r,n=\"\";if(t&&void 0!==t)for(a in t)t.hasOwnProperty(a)&&\"link\"!=a&&(n+=\" \".concat(a,'=\"').concat(t[a],'\"'));var s=w.opts.videoDefaultWidth;s&&\"auto\"!=s&&(s=\"\".concat(s,\"px\")),w.helpers.isMobile()&&w.browser.safari&&(n+=\" autoplay playsinline\"),(r=\"audio\"==i?A(document.createElement(\"span\")).attr(\"contenteditable\",\"false\").attr(\"draggable\",\"true\").attr(\"class\",\"fr-video fr-dv\"+w.opts.videoDefaultDisplay[0]+(\"center\"!=w.opts.videoDefaultAlign?\" fr-fv\"+w.opts.videoDefaultAlign[0]:\"\")).html('<audio src=\"'+e+'\" '+n+\" controls>\"+w.language.translate(\"Your browser does not support HTML5 video.\")+\"</audio>\"):A(document.createElement(\"span\")).attr(\"contenteditable\",\"false\").attr(\"draggable\",\"true\").attr(\"class\",\"fr-video fr-dv\"+w.opts.videoDefaultDisplay[0]+(\"center\"!=w.opts.videoDefaultAlign?\" fr-fv\"+w.opts.videoDefaultAlign[0]:\"\")).html('<video src=\"'+e+'\" '+n+(s?' style=\"width: '+s+';\" ':\"\")+\" controls>\"+w.language.translate(\"Your browser does not support HTML5 video.\")+\"</video>\")).toggleClass(\"fr-draggable\",w.opts.videoMove),w.edit.on(),w.events.focus(!0),w.selection.restore(),w.undo.saveStep(),w.opts.videoSplitHTML?w.markers.split():(w.cursor.enter(),w.markers.insert()),w.html.wrap();var d=w.$el.find(\".fr-marker\");return w.node.isLastSibling(d)&&d.parent().hasClass(\"fr-deletable\")&&d.insertAfter(d.parent()),d.replaceWith(r),w.selection.clear(),\"audio\"!==i&&(r.find(\"video\").get(0).readyState>r.find(\"video\").get(0).HAVE_FUTURE_DATA||w.helpers.isIOS()?o.call(r.find(\"video\").get(0)):r.find(\"video\").on(\"canplaythrough load\",o)),r}function T(e){if(!w.core.sameInstance(p))return!0;e.preventDefault(),e.stopPropagation();var t=e.pageX||(e.originalEvent.touches?e.originalEvent.touches[0].pageX:null),o=e.pageY||(e.originalEvent.touches?e.originalEvent.touches[0].pageY:null);if(!t||!o)return!1;if(\"mousedown\"==e.type){var i=w.$oel.get(0).ownerDocument,a=i.defaultView||i.parentWindow,r=!1;try{r=a.location!=a.parent.location&&!(a.$&&a.$.FE)}catch(n){}r&&a.frameElement&&(t+=w.helpers.getPX(A(a.frameElement).offset().left)+a.frameElement.clientLeft,o=e.clientY+w.helpers.getPX(A(a.frameElement).offset().top)+a.frameElement.clientTop)}w.undo.canDo()||w.undo.saveStep(),(f=A(this)).data(\"start-x\",t),f.data(\"start-y\",o),s.show(),w.popups.hideAll(),Y()}function z(e){if(!w.core.sameInstance(p))return!0;if(f){e.preventDefault();var t=e.pageX||(e.originalEvent.touches?e.originalEvent.touches[0].pageX:null),o=e.pageY||(e.originalEvent.touches?e.originalEvent.touches[0].pageY:null);if(!t||!o)return!1;var i=f.data(\"start-x\"),a=f.data(\"start-y\");f.data(\"start-x\",t),f.data(\"start-y\",o);var r=t-i,n=o-a,s=E.find(\"iframe, embed, \".concat(E.find(\"iframe, embed, audio\").get(0)?\"audio\":\"video\")),d=s.width(),l=s.height();(f.hasClass(\"fr-hnw\")||f.hasClass(\"fr-hsw\"))&&(r=0-r),(f.hasClass(\"fr-hnw\")||f.hasClass(\"fr-hne\"))&&(n=0-n),s.css(\"width\",d+r),s.css(\"height\",l+n),s.removeAttr(\"width\"),s.removeAttr(\"height\"),M()}}function P(e){if(!w.core.sameInstance(p))return!0;f&&E&&(e&&e.stopPropagation(),f=null,s.hide(),M(),r(),w.undo.saveStep())}function $(e){return'<div class=\"fr-handler fr-h'.concat(e,'\"></div>')}function L(e,t,o,i){return e.pageX=t,e.pageY=t,T.call(this,e),e.pageX=e.pageX+o*Math.floor(Math.pow(1.1,i)),e.pageY=e.pageY+o*Math.floor(Math.pow(1.1,i)),z.call(this,e),P.call(this,e),++i}function O(){var e,t=Array.prototype.slice.call(w.el.querySelectorAll(\"video, .fr-video > *\")),o=[];for(e=0;e<t.length;e++)o.push(t[e].getAttribute(\"src\")),A(t[e]).toggleClass(\"fr-draggable\",w.opts.videoMove),\"\"===t[e].getAttribute(\"class\")&&t[e].removeAttribute(\"class\"),\"\"===t[e].getAttribute(\"style\")&&t[e].removeAttribute(\"style\");if(i)for(e=0;e<i.length;e++)o.indexOf(i[e].getAttribute(\"src\"))<0&&w.events.trigger(\"video.removed\",[A(i[e])]);i=t}function M(){p||function n(){var e;if(w.shared.$video_resizer?(p=w.shared.$video_resizer,s=w.shared.$vid_overlay,w.events.on(\"destroy\",function(){A(\"body\").first().append(p.removeClass(\"fr-active\"))},!0)):(w.shared.$video_resizer=A(document.createElement(\"div\")).attr(\"class\",\"fr-video-resizer\"),p=w.shared.$video_resizer,w.events.$on(p,\"mousedown\",function(e){e.stopPropagation()},!0),w.opts.videoResize&&(p.append($(\"nw\")+$(\"ne\")+$(\"sw\")+$(\"se\")),w.shared.$vid_overlay=A(document.createElement(\"div\")).attr(\"class\",\"fr-video-overlay\"),s=w.shared.$vid_overlay,e=p.get(0).ownerDocument,A(e).find(\"body\").first().append(s))),w.events.on(\"shared.destroy\",function(){p.html(\"\").removeData().remove(),p=null,w.opts.videoResize&&(s.remove(),s=null)},!0),w.helpers.isMobile()||w.events.$on(A(w.o_win),\"resize.video\",function(){V(!0)}),w.opts.videoResize){e=p.get(0).ownerDocument,w.events.$on(p,w._mousedown,\".fr-handler\",T),w.events.$on(A(e),w._mousemove,z),w.events.$on(A(e.defaultView||e.parentWindow),w._mouseup,P),w.events.$on(s,\"mouseleave\",P);var i=1,a=null,r=0;w.events.on(\"keydown\",function(e){if(E){var t=-1!=navigator.userAgent.indexOf(\"Mac OS X\")?e.metaKey:e.ctrlKey,o=e.which;(o!==a||200<e.timeStamp-r)&&(i=1),(o==we.KEYCODE.EQUALS||w.browser.mozilla&&o==we.KEYCODE.FF_EQUALS)&&t&&!e.altKey?i=L.call(this,e,1,1,i):(o==we.KEYCODE.HYPHEN||w.browser.mozilla&&o==we.KEYCODE.FF_HYPHEN)&&t&&!e.altKey&&(i=L.call(this,e,2,-1,i)),a=o,r=e.timeStamp}}),w.events.on(\"keyup\",function(){i=1})}}(),(w.$wp||w.$sc).append(p),p.data(\"instance\",w);var e=E.find(\"iframe, embed, \".concat(E.find(\"iframe, embed, audio\").get(0)?\"audio\":\"video\")),t=0,o=0;w.opts.iframe&&(o=w.helpers.getPX(w.$wp.find(\".fr-iframe\").css(\"padding-top\")),t=w.helpers.getPX(w.$wp.find(\".fr-iframe\").css(\"padding-left\"))),p.css(\"top\",(w.opts.iframe?e.offset().top+o-1:e.offset().top-w.$wp.offset().top-1)+w.$wp.scrollTop()).css(\"left\",(w.opts.iframe?e.offset().left+t-1:e.offset().left-w.$wp.offset().left-1)+w.$wp.scrollLeft()).css(\"width\",e.get(0).getBoundingClientRect().width).css(\"height\",e.get(0).getBoundingClientRect().height).addClass(\"fr-active\")}function t(e){if(e&&\"touchend\"==e.type&&o)return!0;if(e&&w.edit.isDisabled())return e.stopPropagation(),e.preventDefault(),!1;if(w.edit.isDisabled())return!1;for(var t=0;t<we.INSTANCES.length;t++)we.INSTANCES[t]!=w&&we.INSTANCES[t].events.trigger(\"video.hideResizer\");w.toolbar.disable(),w.helpers.isMobile()&&(w.events.disableBlur(),w.$el.blur(),w.events.enableBlur()),w.$el.find(\".fr-video.fr-active\").removeClass(\"fr-active\"),(E=A(this)).addClass(\"fr-active\"),w.opts.iframe&&w.size.syncIframe(),te(),M(),r(),w.selection.clear(),w.button.bulkRefresh(),w.events.trigger(\"image.hideResizer\")}function V(e){E&&(function t(){return w.shared.vid_exit_flag}()||!0===e)&&(p.removeClass(\"fr-active\"),w.toolbar.enable(),E.removeClass(\"fr-active\"),E=null,Y())}function N(){w.shared.vid_exit_flag=!0}function Y(){w.shared.vid_exit_flag=!1}function H(e){var t=e.originalEvent.dataTransfer;if(t&&t.files&&t.files.length){var o=t.files[0];if(o&&o.type&&-1!==o.type.indexOf(\"video\")){if(!w.opts.videoUpload)return e.preventDefault(),e.stopPropagation(),!1;w.markers.remove(),w.markers.insertAtPoint(e.originalEvent),w.$el.find(\".fr-marker\").replaceWith(we.MARKERS),w.popups.hideAll();var i=w.popups.get(\"video.insert\");return i||(i=n()),w.popups.setContainer(\"video.insert\",w.$sc),w.popups.show(\"video.insert\",e.originalEvent.pageX,e.originalEvent.pageY),R(),0<=w.opts.videoAllowedTypes.indexOf(o.type.replace(/video\\//g,\"\"))?K(t.files):F(U),e.preventDefault(),e.stopPropagation(),!1}}}function K(e){if(void 0!==e&&0<e.length){if(!1===w.events.trigger(\"video.beforeUpload\",[e]))return!1;var t,o=e[0];if(!(null!==w.opts.videoUploadURL&&w.opts.videoUploadURL!=C||w.opts.videoUploadToS3||w.opts.videoUploadToAzure))return function y(i){E&&E.find(\"iframe\")&&E.find(\"iframe\").length&&q();var a=new FileReader;a.onload=function(){a.result;for(var e=atob(a.result.split(\",\")[1]),t=[],o=0;o<e.length;o++)t.push(e.charCodeAt(o));x(window.URL.createObjectURL(new Blob([new Uint8Array(t)],{type:i.type})),!1,null,E)},R(),a.readAsDataURL(i)}(o),!1;if(o.size>w.opts.videoMaxSize)return F(S),!1;if(w.opts.videoAllowedTypes.indexOf(o.type.replace(/video\\//g,\"\"))<0)return F(U),!1;if(w.drag_support.formdata&&(t=w.drag_support.formdata?new FormData:null),t){var i;if(!1!==w.opts.videoUploadToS3)for(i in t.append(\"key\",w.opts.videoUploadToS3.keyStart+(new Date).getTime()+\"-\"+(o.name||\"untitled\")),t.append(\"success_action_status\",\"201\"),t.append(\"X-Requested-With\",\"xhr\"),t.append(\"Content-Type\",o.type),w.opts.videoUploadToS3.params)w.opts.videoUploadToS3.params.hasOwnProperty(i)&&t.append(i,w.opts.videoUploadToS3.params[i]);for(i in w.opts.videoUploadParams)w.opts.videoUploadParams.hasOwnProperty(i)&&t.append(i,w.opts.videoUploadParams[i]);t.append(w.opts.videoUploadParam,o);var a,r,n=w.opts.videoUploadURL;w.opts.videoUploadToS3&&(n=w.opts.videoUploadToS3.uploadURL?w.opts.videoUploadToS3.uploadURL:\"https://\".concat(w.opts.videoUploadToS3.region,\".amazonaws.com/\").concat(w.opts.videoUploadToS3.bucket));var s=w.opts.videoUploadMethod;w.opts.videoUploadToAzure&&(n=w.opts.videoUploadToAzure.uploadURL?\"\".concat(w.opts.videoUploadToAzure.uploadURL,\"/\").concat(o.name):encodeURI(\"https://\".concat(w.opts.videoUploadToAzure.account,\".blob.core.windows.net/\").concat(w.opts.videoUploadToAzure.container,\"/\").concat(o.name)),a=n,w.opts.videoUploadToAzure.SASToken&&(n+=w.opts.videoUploadToAzure.SASToken),s=\"PUT\");var d=w.core.getXHR(n,s);if(w.opts.videoUploadToAzure){var l=(new Date).toUTCString();if(!w.opts.videoUploadToAzure.SASToken&&w.opts.videoUploadToAzure.accessKey){var f=w.opts.videoUploadToAzure.account,p=w.opts.videoUploadToAzure.container;if(w.opts.videoUploadToAzure.uploadURL){var c=w.opts.videoUploadToAzure.uploadURL.split(\"/\");p=c.pop(),f=c.pop().split(\".\")[0]}var v=\"x-ms-blob-type:BlockBlob\\nx-ms-date:\".concat(l,\"\\nx-ms-version:2019-07-07\"),u=encodeURI(\"/\"+f+\"/\"+p+\"/\"+o.name),g=s+\"\\n\\n\\n\"+o.size+\"\\n\\n\"+o.type+\"\\n\\n\\n\\n\\n\\n\\n\"+v+\"\\n\"+u,h=w.cryptoJSPlugin.cryptoJS.HmacSHA256(g,w.cryptoJSPlugin.cryptoJS.enc.Base64.parse(w.opts.videoUploadToAzure.accessKey)).toString(w.cryptoJSPlugin.cryptoJS.enc.Base64),m=\"SharedKey \"+f+\":\"+h;r=h,d.setRequestHeader(\"Authorization\",m)}for(i in d.setRequestHeader(\"x-ms-version\",\"2019-07-07\"),d.setRequestHeader(\"x-ms-date\",l),d.setRequestHeader(\"Content-Type\",o.type),d.setRequestHeader(\"x-ms-blob-type\",\"BlockBlob\"),w.opts.videoUploadParams)w.opts.videoUploadParams.hasOwnProperty(i)&&d.setRequestHeader(i,w.opts.videoUploadParams[i]);for(i in w.opts.videoUploadToAzure.params)w.opts.videoUploadToAzure.params.hasOwnProperty(i)&&d.setRequestHeader(i,w.opts.videoUploadToAzure.params[i])}d.onload=function(){_.call(d,E,a,r)},d.onerror=B,d.upload.onprogress=D,d.onabort=k,R(),w.events.disableBlur(),w.edit.off(),w.events.enableBlur();var b=w.popups.get(\"video.insert\");b&&A(b.off(\"abortUpload\")).on(\"abortUpload\",function(){4!=d.readyState&&d.abort()}),d.send(w.opts.videoUploadToAzure?o:t)}}}function F(e,t){w.edit.on(),E&&E.find(\"video\").addClass(\"fr-error\"),y(w.language.translate(\"Something went wrong. Please try again.\")),w.events.trigger(\"video.error\",[{code:e,message:a[e]},t])}function X(){if(E){var e=w.popups.get(\"video.size\"),t=E.find(\"iframe, embed, \".concat(E.find(\"iframe, embed, audio\").get(0)?\"audio\":\"video\"));e.find('input[name=\"width\"]').val(t.get(0).style.width||t.attr(\"width\")).trigger(\"change\"),e.find('input[name=\"height\"]').val(t.get(0).style.height||t.attr(\"height\")).trigger(\"change\")}}function G(e){if(e)return w.popups.onRefresh(\"video.size\",X),!0;var t={buttons:'<div class=\"fr-buttons fr-tabs\">'.concat(w.button.buildList(w.opts.videoSizeButtons),\"</div>\"),size_layer:'<div class=\"fr-video-size-layer fr-layer fr-active\" id=\"fr-video-size-layer-'.concat(w.id,'\"><div class=\"fr-video-group\"><div class=\"fr-input-line\"><input id=\"fr-video-size-layer-width-').concat(w.id,'\" type=\"text\" name=\"width\" placeholder=\"').concat(w.language.translate(\"Width\"),'\" tabIndex=\"1\"></div><div class=\"fr-input-line\"><input id=\"fr-video-size-layer-height-').concat(w.id,'\" type=\"text\" name=\"height\" placeholder=\"').concat(w.language.translate(\"Height\"),'\" tabIndex=\"1\"></div></div><div class=\"fr-action-buttons\"><button type=\"button\" class=\"fr-command fr-submit\" data-cmd=\"videoSetSize\" tabIndex=\"2\" role=\"button\">').concat(w.language.translate(\"Update\"),\"</button></div></div>\")},o=w.popups.create(\"video.size\",t);return w.events.$on(w.$wp,\"scroll\",function(){E&&w.popups.isVisible(\"video.size\")&&(w.events.disableBlur(),l(E))}),o}function j(e){if(void 0===e&&(e=E),e){if(e.hasClass(\"fr-fvl\"))return\"left\";if(e.hasClass(\"fr-fvr\"))return\"right\";if(e.hasClass(\"fr-dvb\")||e.hasClass(\"fr-dvi\"))return\"center\";if(\"block\"==e.css(\"display\")){if(\"left\"==e.css(\"text-algin\"))return\"left\";if(\"right\"==e.css(\"text-align\"))return\"right\"}else{if(\"left\"==e.css(\"float\"))return\"left\";if(\"right\"==e.css(\"float\"))return\"right\"}}return\"center\"}function W(e){void 0===e&&(e=E);var t=e.css(\"float\");return e.css(\"float\",\"none\"),\"block\"==e.css(\"display\")?(e.css(\"float\",\"\"),e.css(\"float\")!=t&&e.css(\"float\",t),\"block\"):(e.css(\"float\",\"\"),e.css(\"float\")!=t&&e.css(\"float\",t),\"inline\")}function q(){if(E&&!1!==w.events.trigger(\"video.beforeRemove\",[E])){var e=E;if(w.popups.hideAll(),V(!0),w.opts.trackChangesEnabled&&(!e[0].parentNode||\"SPAN\"!==e[0].parentNode.tagName||!e[0].parentNode.hasAttribute(\"data-tracking\")))return void w.track_changes.removeSpecialItem(e);w.selection.setBefore(e.get(0))||w.selection.setAfter(e.get(0)),e.remove(),w.selection.restore(),w.html.fillEmptyBlocks()}}function J(){d()}function Z(e,t,o){!w.opts.htmlUntouched&&w.opts.useClasses?(e.removeClass(\"fr-fvl fr-fvr fr-dvb fr-dvi\"),e.addClass(\"fr-fv\".concat(o[0],\" fr-dv\").concat(t[0]))):\"inline\"==t?(e.css({display:\"inline-block\"}),\"center\"==o?e.css({\"float\":\"none\"}):\"left\"==o?e.css({\"float\":\"left\"}):e.css({\"float\":\"right\"})):(e.css({display:\"block\",clear:\"both\"}),\"left\"==o?e.css({textAlign:\"left\"}):\"right\"==o?e.css({textAlign:\"right\"}):e.css({textAlign:\"center\"}))}function Q(){var e=w.$el.find(\"video\").filter(function(){return 0===A(this).parents(\"span.fr-video\").length});if(0!=e.length){e.wrap(A(document.createElement(\"span\")).attr(\"class\",\"fr-video fr-deletable\").attr(\"contenteditable\",\"false\")),w.$el.find(\"embed, iframe\").filter(function(){if(w.browser.safari&&this.getAttribute(\"src\")&&this.setAttribute(\"src\",this.src),0<A(this).parents(\"span.fr-video\").length)return!1;for(var e=A(this).attr(\"src\"),t=0;t<we.VIDEO_PROVIDERS.length;t++){var o=we.VIDEO_PROVIDERS[t];if(o.test_regex.test(e)&&new RegExp(w.opts.videoAllowedProviders.join(\"|\")).test(o.provider))return!0}return!1}).map(function(){return 0===A(this).parents(\"object\").length?this:A(this).parents(\"object\").get(0)}).wrap(A(document.createElement(\"span\")).attr(\"class\",\"fr-video\").attr(\"contenteditable\",\"false\"));for(var t,o,i,a,r=w.$el.find(\"span.fr-video, video\"),n=0;n<r.length;n++){var s=A(r[n]);!w.opts.htmlUntouched&&w.opts.useClasses?((a=s).hasClass(\"fr-dvi\")||a.hasClass(\"fr-dvb\")||(a.addClass(\"fr-fv\".concat(j(a)[0])),a.addClass(\"fr-dv\".concat(W(a)[0]))),w.opts.videoTextNear||s.removeClass(\"fr-dvi\").addClass(\"fr-dvb\")):w.opts.htmlUntouched||w.opts.useClasses||(void 0,o=(t=s).hasClass(\"fr-dvb\")?\"block\":t.hasClass(\"fr-dvi\")?\"inline\":null,i=t.hasClass(\"fr-fvl\")?\"left\":t.hasClass(\"fr-fvr\")?\"right\":j(t),Z(t,o,i),t.removeClass(\"fr-dvb fr-dvi fr-fvr fr-fvl\"))}r.toggleClass(\"fr-draggable\",w.opts.videoMove)}}function ee(e){document.getElementById(\"autoplay-\".concat(w.id)).style.cssText=\"background:\".concat(e)}function te(){if(E){w.selection.clear();var e=w.doc.createRange();e.selectNode(E.get(0)),w.selection.get().addRange(e)}}return a[1]=\"Video cannot be loaded from the passed link.\",a[c]=\"No link in upload response.\",a[v]=\"Error during file upload.\",a[u]=\"Parsing response failed.\",a[S]=\"File is too large.\",a[U]=\"Video file type is invalid.\",a[7]=\"Files can be uploaded only to same domain in IE 8 and IE 9.\",w.shared.vid_exit_flag=!1,{_init:function oe(){w.opts.videoResponsive&&(w.opts.videoResize=!1),function e(){w.events.on(\"drop\",H,!0),w.events.on(\"mousedown window.mousedown\",N),w.events.on(\"window.touchmove\",Y),w.events.on(\"mouseup window.mouseup\",V),w.events.on(\"commands.mousedown\",function(e){0<e.parents(\".fr-toolbar\").length&&V()}),w.events.on(\"video.hideResizer commands.undo commands.redo element.dropped\",function(){V(!0)}),w.events.on(\"filestack-init-video\",function(){n()})}(),w.helpers.isMobile()&&(w.events.$on(w.$el,\"touchstart\",\"span.fr-video\",function(){o=!1}),w.events.$on(w.$el,\"touchmove\",function(){o=!0})),w.events.on(\"html.set\",Q),Q(),w.events.$on(w.$el,\"mousedown\",\"span.fr-video\",function(e){e.stopPropagation(),(w.browser.msie||w.browser.edge)&&(e.target.innerText||(e.target.dragDrop(),t.call(this,e)))}),w.events.$on(w.$el,\"click touchend\",\"span.fr-video\",function(e){if(e.target.innerText.length||\"false\"==A(this).parents(\"[contenteditable]\").not(\".fr-element\").not(\".fr-img-caption\").not(\"body\").first().attr(\"contenteditable\"))return!0;t.call(this,e)}),w.events.on(\"keydown\",function(e){var t=e.which;return!E||t!=we.KEYCODE.BACKSPACE&&t!=we.KEYCODE.DELETE?E&&t==we.KEYCODE.ESC?(V(!0),e.preventDefault(),!1):E&&t!=we.KEYCODE.F10&&!w.keys.isBrowserAction(e)?(e.preventDefault(),!1):void 0:(e.preventDefault(),q(),w.undo.saveStep(),!1)},!0),w.events.on(\"toolbar.esc\",function(){if(E)return w.events.disableBlur(),w.events.focus(),!1},!0),w.events.on(\"toolbar.focusEditor\",function(){if(E)return!1},!0),w.events.on(\"keydown\",function(){w.$el.find(\"span.fr-video:empty\").remove()}),w.$wp&&(O(),w.events.on(\"contentChanged\",O)),n(!0),G(!0)},showInsertPopup:function ie(){var e=w.$tb.find('.fr-command[data-cmd=\"insertVideo\"]'),t=w.popups.get(\"video.insert\");if(t||(t=n()),d(),!t.hasClass(\"fr-active\"))if(w.popups.refresh(\"video.insert\"),w.popups.setContainer(\"video.insert\",w.$tb),e.isVisible()){var o=w.button.getPosition(e),i=o.left,a=o.top;w.popups.show(\"video.insert\",i,a,e.outerHeight())}else w.position.forSelection(t),w.popups.show(\"video.insert\")},showLayer:function ae(e){var t,o,i=w.popups.get(\"video.insert\");if(!E&&!w.opts.toolbarInline){var a=w.$tb.find('.fr-command[data-cmd=\"insertVideo\"]');t=a.offset().left,o=a.offset().top+(w.opts.toolbarBottom?10:a.outerHeight()-10)}w.opts.toolbarInline&&(o=i.offset().top-w.helpers.getPX(i.css(\"margin-top\")),i.hasClass(\"fr-above\")&&(o+=i.outerHeight())),i.find(\".fr-layer\").removeClass(\"fr-active\"),i.find(\".fr-\".concat(e,\"-layer\")).addClass(\"fr-active\"),w.popups.show(\"video.insert\",t,o,0),w.accessibility.focusPopup(i)},refreshByURLButton:function re(e){var t=w.popups.get(\"video.insert\");t&&t.find(\".fr-video-by-url-layer\").hasClass(\"fr-active\")&&e.addClass(\"fr-active\").attr(\"aria-pressed\",!0)},refreshEmbedButton:function ne(e){var t=w.popups.get(\"video.insert\");t&&t.find(\".fr-video-embed-layer\").hasClass(\"fr-active\")&&e.addClass(\"fr-active\").attr(\"aria-pressed\",!0)},refreshUploadButton:function se(e){var t=w.popups.get(\"video.insert\");t&&t.find(\".fr-video-upload-layer\").hasClass(\"fr-active\")&&e.addClass(\"fr-active\").attr(\"aria-pressed\",!0)},upload:K,insertByURL:function de(e){var t=!!document.getElementById(\"videoPluginAutoplay\")&&document.getElementById(\"videoPluginAutoplay\").checked;if(void 0===e){var o=(e=(w.popups.get(\"video.insert\").find('.fr-video-by-url-layer input[type=\"text\"]').val()||\"\").trim()).match(/(https?:\\/\\/)?(www\\.)?(player\\.)?vimeo\\.com\\/?(showcase\\/)*([0-9))([a-z]*\\/)*([0-9]{6,11})[?]?.*/);if(o&&7==o.length){var i=o[6],a=e.substring(0,e.lastIndexOf(\"/\")),r=e.substring(e.lastIndexOf(\"/\")+1,e.length);e=r.includes(\"?h=\")||r.includes(\"?v=\")||i===r?(\"\".concat(a,\"/\").concat(r)||\"\").trim():(\"\".concat(a,\"?h=\").concat(r)||\"\").trim()}}var n=null;if(/^http/.test(e)||(e=\"https://\".concat(e)),w.helpers.isURL(e))for(var s=0;s<we.VIDEO_PROVIDERS.length;s++){var d=we.VIDEO_PROVIDERS[s],l=\"autoplay=1&mute=1\";if(d.html.includes(\"autoplay=1\")&&document.getElementById(\"videoPluginAutoplay\").checked)d.html=d.html,document.getElementById(\"videoPluginAutoplay\").checked=!1;else if(t){var f=d.html.indexOf(\"{url}\")+5;d.html=[d.html.slice(0,f),l,d.html.slice(f)].join(\"\"),t=!1,document.getElementById(\"videoPluginAutoplay\").checked=!1}else(d=we.VIDEO_PROVIDERS[s]).html=d.html.replace(l,\"\");if(d.test_regex.test(e)&&new RegExp(w.opts.videoAllowedProviders.join(\"|\")).test(d.provider)){n=e.replace(d.url_regex,d.url_text),n=d.html.replace(/\\{url\\}/,n);break}}n?h(n):(y(w.language.translate(\"Something went wrong. Please try again.\")),w.events.trigger(\"video.linkError\",[e]))},insertEmbed:function le(e){void 0===e&&(e=w.popups.get(\"video.insert\").find(\".fr-video-embed-layer textarea\").val()||\"\"),0!==e.length&&we.VIDEO_EMBED_REGEX.test(e)?h(e):(y(w.language.translate(\"Something went wrong. Please try again.\")),w.events.trigger(\"video.codeError\",[e]))},insert:h,align:function fe(e){E.removeClass(\"fr-fvr fr-fvl\"),!w.opts.htmlUntouched&&w.opts.useClasses?\"left\"==e?E.addClass(\"fr-fvl\"):\"right\"==e&&E.addClass(\"fr-fvr\"):Z(E,W(),e),te(),M(),r(),w.selection.clear()},refreshAlign:function pe(e){if(!E)return!1;e.find(\">*\").first().replaceWith(w.icon.create(\"video-align-\".concat(j())))},refreshAlignOnShow:function ce(e,t){E&&t.find('.fr-command[data-param1=\"'.concat(j(),'\"]')).addClass(\"fr-active\").attr(\"aria-selected\",!0)},display:function ve(e){E.removeClass(\"fr-dvi fr-dvb\"),!w.opts.htmlUntouched&&w.opts.useClasses?\"inline\"==e?E.addClass(\"fr-dvi\"):\"block\"==e&&E.addClass(\"fr-dvb\"):Z(E,e,j()),te(),M(),r(),w.selection.clear()},refreshDisplayOnShow:function ue(e,t){E&&t.find('.fr-command[data-param1=\"'.concat(W(),'\"]')).addClass(\"fr-active\").attr(\"aria-selected\",!0)},remove:q,hideProgressBar:d,showSizePopup:function ge(){var e=w.popups.get(\"video.size\");e||(e=G()),d(),w.popups.refresh(\"video.size\"),w.popups.setContainer(\"video.size\",w.$sc);var t=E.find(\"iframe, embed, \".concat(E.find(\"iframe, embed, audio\").get(0)?\"audio\":\"video\")),o=t.offset().left+t.outerWidth()/2,i=t.offset().top+t.height();w.popups.show(\"video.size\",o,i,t.height(),!0)},replace:function he(){var e=w.popups.get(\"video.insert\");e||(e=n()),w.popups.isVisible(\"video.insert\")||(d(),w.popups.refresh(\"video.insert\"),w.popups.setContainer(\"video.insert\",w.$sc));var t=E.offset().left+E.outerWidth()/2,o=E.offset().top+E.height();w.popups.show(\"video.insert\",t,o,E.outerHeight(),!0)},back:function e(){E?(w.events.disableBlur(),E[0].click()):(w.events.disableBlur(),w.selection.restore(),w.events.enableBlur(),w.popups.hide(\"video.insert\"),w.toolbar.showInline())},setSize:function me(e,t){if(E){var o=w.popups.get(\"video.size\"),i=E.find(\"iframe, embed, \".concat(E.find(\"iframe, embed, audio\").get(0)?\"audio\":\"video\"));i.css(\"width\",e||o.find('input[name=\"width\"]').val()),i.css(\"height\",t||o.find('input[name=\"height\"]').val()),i.get(0).style.width&&i.removeAttr(\"width\"),i.get(0).style.height&&i.removeAttr(\"height\"),o.find(\"input:focus\").blur(),setTimeout(function(){E.trigger(\"click\")},w.helpers.isAndroid()?50:0)}},get:function be(){return E},showProgressBar:R,_editVideo:l,setAutoplay:function ye(){var e;if(E.find(\"iframe, embed, audio\").get(0))(e=E.find(\"iframe, embed, audio\")).get(0).src.includes(\"autoplay=1\")?(ee(\"#FFFFFF\"),e.get(0).src=e.get(0).src.replace(\"&autoplay=1\",\"\")):(ee(\"#D6D6D6\"),e.get(0).src=e.get(0).src+\"&autoplay=1\");else if((e=E.find(\"iframe, embed, video\")).get(0).outerHTML.includes(\"autoplay\"))ee(\"#FFFFFF\"),e.get(0).outerHTML=e.get(0).outerHTML.replace(\"autoplay\",\"\");else{ee(\"#D6D6D6\");var t=e.get(0).outerHTML.indexOf(\"class\")-1;e.get(0).outerHTML=[e.get(0).outerHTML.slice(0,t),\"autoplay\",e.get(0).outerHTML.slice(t)].join(\"\")}},insertHtmlVideo:x}},we.RegisterCommand(\"insertVideo\",{title:\"Insert Video\",undo:!1,focus:!0,refreshAfterCallback:!1,popup:!0,callback:function(){this.popups.isVisible(\"video.insert\")?(this.$el.find(\".fr-marker\").length&&(this.events.disableBlur(),this.selection.restore()),this.popups.hide(\"video.insert\")):this.video.showInsertPopup()},plugin:\"video\"}),we.DefineIcon(\"insertVideo\",{NAME:\"video-camera\",FA5NAME:\"camera\",SVG_KEY:\"insertVideo\"}),we.DefineIcon(\"videoByURL\",{NAME:\"link\",SVG_KEY:\"insertLink\"}),we.RegisterCommand(\"videoByURL\",{title:\"By URL\",undo:!1,focus:!1,toggle:!0,callback:function(){this.video.showLayer(\"video-by-url\")},refresh:function(e){this.video.refreshByURLButton(e)}}),we.DefineIcon(\"videoEmbed\",{NAME:\"code\",SVG_KEY:\"codeView\"}),we.RegisterCommand(\"videoEmbed\",{title:\"Embedded Code\",undo:!1,focus:!1,toggle:!0,callback:function(){this.video.showLayer(\"video-embed\")},refresh:function(e){this.video.refreshEmbedButton(e)}}),we.DefineIcon(\"videoUpload\",{NAME:\"upload\",SVG_KEY:\"upload\"}),we.RegisterCommand(\"videoUpload\",{title:\"Upload Video\",undo:!1,focus:!1,toggle:!0,callback:function(){this.video.showLayer(\"video-upload\")},refresh:function(e){this.video.refreshUploadButton(e)}}),we.RegisterCommand(\"videoInsertByURL\",{undo:!0,focus:!0,callback:function(){this.video.insertByURL()}}),we.RegisterCommand(\"videoInsertEmbed\",{undo:!0,focus:!0,callback:function(){this.video.insertEmbed()}}),we.DefineIcon(\"videoDisplay\",{NAME:\"star\",SVG_KEY:\"star\"}),we.RegisterCommand(\"videoDisplay\",{title:\"Display\",type:\"dropdown\",options:{inline:\"Inline\",block:\"Break Text\"},callback:function(e,t){this.video.display(t)},refresh:function(e){this.opts.videoTextNear||e.addClass(\"fr-hidden\")},refreshOnShow:function(e,t){this.video.refreshDisplayOnShow(e,t)}}),we.DefineIcon(\"video-align\",{NAME:\"align-left\",SVG_KEY:\"align Left\"}),we.DefineIcon(\"video-align-left\",{NAME:\"align-left\",SVG_KEY:\"alignLeft\"}),we.DefineIcon(\"video-align-right\",{NAME:\"align-right\",SVG_KEY:\"alignRight\"}),we.DefineIcon(\"video-align-center\",{NAME:\"align-justify\",SVG_KEY:\"alignJustify\"}),we.DefineIcon(\"videoAlign\",{NAME:\"align-center\",SVG_KEY:\"alignCenter\"}),we.RegisterCommand(\"videoAlign\",{type:\"dropdown\",title:\"Align\",options:{left:\"Align Left\",center:\"None\",right:\"Align Right\"},html:function(){var e='<ul class=\"fr-dropdown-list\" role=\"presentation\">',t=we.COMMANDS.videoAlign.options;for(var o in t)t.hasOwnProperty(o)&&(e+='<li role=\"presentation\"><a class=\"fr-command fr-title\" tabIndex=\"-1\" role=\"option\" data-cmd=\"videoAlign\" data-param1=\"'.concat(o,'\" title=\"').concat(this.language.translate(t[o]),'\">').concat(this.icon.create(\"video-align-\".concat(o)),'<span class=\"fr-sr-only\">').concat(this.language.translate(t[o]),\"</span></a></li>\"));return e+=\"</ul>\"},callback:function(e,t){this.video.align(t)},refresh:function(e){this.video.refreshAlign(e)},refreshOnShow:function(e,t){this.video.refreshAlignOnShow(e,t)}}),we.DefineIcon(\"videoReplace\",{NAME:\"exchange\",FA5NAME:\"exchange-alt\",SVG_KEY:\"replaceImage\"}),we.RegisterCommand(\"videoReplace\",{title:\"Replace\",undo:!1,focus:!1,popup:!0,refreshAfterCallback:!1,callback:function(){this.video.replace()}}),we.DefineIcon(\"videoRemove\",{NAME:\"trash\",SVG_KEY:\"remove\"}),we.RegisterCommand(\"videoRemove\",{title:\"Remove\",callback:function(){this.video.remove()}}),we.DefineIcon(\"autoplay\",{NAME:\"autoplay\",SVG_KEY:\"autoplay\"}),we.RegisterCommand(\"autoplay\",{undo:!1,focus:!1,popup:!0,title:\"Autoplay\",callback:function(){this.video.setAutoplay()}}),we.DefineIcon(\"videoSize\",{NAME:\"arrows-alt\",SVG_KEY:\"imageSize\"}),we.RegisterCommand(\"videoSize\",{undo:!1,focus:!1,popup:!0,title:\"Change Size\",callback:function(){this.video.showSizePopup()}}),we.DefineIcon(\"videoBack\",{NAME:\"arrow-left\",SVG_KEY:\"back\"}),we.RegisterCommand(\"videoBack\",{title:\"Back\",undo:!1,focus:!1,back:!0,callback:function(){this.video.back()},refresh:function(e){this.video.get()||this.opts.toolbarInline?(e.removeClass(\"fr-hidden\"),e.next().hasClass(\"fr-separator\")&&e.next().removeClass(\"fr-hidden\")):(e.addClass(\"fr-hidden\"),e.next().hasClass(\"fr-separator\")&&e.next().addClass(\"fr-hidden\"))}}),we.RegisterCommand(\"videoDismissError\",{title:\"OK\",undo:!1,callback:function(){this.video.hideProgressBar(!0)}}),we.RegisterCommand(\"videoSetSize\",{undo:!0,focus:!1,title:\"Update\",refreshAfterCallback:!1,callback:function(){this.video.setSize()}})});","var currentNonce;\nexport var setNonce = function (nonce) {\n    currentNonce = nonce;\n};\nexport var getNonce = function () {\n    if (currentNonce) {\n        return currentNonce;\n    }\n    if (typeof __webpack_nonce__ !== 'undefined') {\n        return __webpack_nonce__;\n    }\n    return undefined;\n};\n","/**\n * @license React\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\"),ca=require(\"scheduler\");function p(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;c<arguments.length;c++)b+=\"&args[]=\"+encodeURIComponent(arguments[c]);return\"Minified React error #\"+a+\"; visit \"+b+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}var da=new Set,ea={};function fa(a,b){ha(a,b);ha(a+\"Capture\",b)}\nfunction ha(a,b){ea[a]=b;for(a=0;a<b.length;a++)da.add(b[a])}\nvar ia=!(\"undefined\"===typeof window||\"undefined\"===typeof window.document||\"undefined\"===typeof window.document.createElement),ja=Object.prototype.hasOwnProperty,ka=/^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$/,la=\n{},ma={};function oa(a){if(ja.call(ma,a))return!0;if(ja.call(la,a))return!1;if(ka.test(a))return ma[a]=!0;la[a]=!0;return!1}function pa(a,b,c,d){if(null!==c&&0===c.type)return!1;switch(typeof b){case \"function\":case \"symbol\":return!0;case \"boolean\":if(d)return!1;if(null!==c)return!c.acceptsBooleans;a=a.toLowerCase().slice(0,5);return\"data-\"!==a&&\"aria-\"!==a;default:return!1}}\nfunction qa(a,b,c,d){if(null===b||\"undefined\"===typeof b||pa(a,b,c,d))return!0;if(d)return!1;if(null!==c)switch(c.type){case 3:return!b;case 4:return!1===b;case 5:return isNaN(b);case 6:return isNaN(b)||1>b}return!1}function v(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 z={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){z[a]=new v(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];z[b]=new v(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){z[a]=new v(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){z[a]=new v(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){z[a]=new v(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){z[a]=new v(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){z[a]=new v(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){z[a]=new v(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){z[a]=new v(a,5,!1,a.toLowerCase(),null,!1,!1)});var ra=/[\\-:]([a-z])/g;function sa(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(ra,\nsa);z[b]=new v(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(ra,sa);z[b]=new v(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(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!1,!1)});\nz.xlinkHref=new v(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction ta(a,b,c,d){var e=z.hasOwnProperty(b)?z[b]:null;if(null!==e?0!==e.type:d||!(2<b.length)||\"o\"!==b[0]&&\"O\"!==b[0]||\"n\"!==b[1]&&\"N\"!==b[1])qa(b,c,e,d)&&(c=null),d||null===e?oa(b)&&(null===c?a.removeAttribute(b):a.setAttribute(b,\"\"+c)):e.mustUseProperty?a[e.propertyName]=null===c?3===e.type?!1:\"\":c:(b=e.attributeName,d=e.attributeNamespace,null===c?a.removeAttribute(b):(e=e.type,c=3===e||4===e&&!0===c?\"\":\"\"+c,d?a.setAttributeNS(d,b,c):a.setAttribute(b,c)))}\nvar ua=aa.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,va=Symbol.for(\"react.element\"),wa=Symbol.for(\"react.portal\"),ya=Symbol.for(\"react.fragment\"),za=Symbol.for(\"react.strict_mode\"),Aa=Symbol.for(\"react.profiler\"),Ba=Symbol.for(\"react.provider\"),Ca=Symbol.for(\"react.context\"),Da=Symbol.for(\"react.forward_ref\"),Ea=Symbol.for(\"react.suspense\"),Fa=Symbol.for(\"react.suspense_list\"),Ga=Symbol.for(\"react.memo\"),Ha=Symbol.for(\"react.lazy\");Symbol.for(\"react.scope\");Symbol.for(\"react.debug_trace_mode\");\nvar Ia=Symbol.for(\"react.offscreen\");Symbol.for(\"react.legacy_hidden\");Symbol.for(\"react.cache\");Symbol.for(\"react.tracing_marker\");var Ja=Symbol.iterator;function Ka(a){if(null===a||\"object\"!==typeof a)return null;a=Ja&&a[Ja]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}var A=Object.assign,La;function Ma(a){if(void 0===La)try{throw Error();}catch(c){var b=c.stack.trim().match(/\\n( *(at )?)/);La=b&&b[1]||\"\"}return\"\\n\"+La+a}var Na=!1;\nfunction Oa(a,b){if(!a||Na)return\"\";Na=!0;var c=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(b)if(b=function(){throw Error();},Object.defineProperty(b.prototype,\"props\",{set:function(){throw Error();}}),\"object\"===typeof Reflect&&Reflect.construct){try{Reflect.construct(b,[])}catch(l){var d=l}Reflect.construct(a,[],b)}else{try{b.call()}catch(l){d=l}a.call(b.prototype)}else{try{throw Error();}catch(l){d=l}a()}}catch(l){if(l&&d&&\"string\"===typeof l.stack){for(var e=l.stack.split(\"\\n\"),\nf=d.stack.split(\"\\n\"),g=e.length-1,h=f.length-1;1<=g&&0<=h&&e[g]!==f[h];)h--;for(;1<=g&&0<=h;g--,h--)if(e[g]!==f[h]){if(1!==g||1!==h){do if(g--,h--,0>h||e[g]!==f[h]){var k=\"\\n\"+e[g].replace(\" at new \",\" at \");a.displayName&&k.includes(\"<anonymous>\")&&(k=k.replace(\"<anonymous>\",a.displayName));return k}while(1<=g&&0<=h)}break}}}finally{Na=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?Ma(a):\"\"}\nfunction Pa(a){switch(a.tag){case 5:return Ma(a.type);case 16:return Ma(\"Lazy\");case 13:return Ma(\"Suspense\");case 19:return Ma(\"SuspenseList\");case 0:case 2:case 15:return a=Oa(a.type,!1),a;case 11:return a=Oa(a.type.render,!1),a;case 1:return a=Oa(a.type,!0),a;default:return\"\"}}\nfunction Qa(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 ya:return\"Fragment\";case wa:return\"Portal\";case Aa:return\"Profiler\";case za:return\"StrictMode\";case Ea:return\"Suspense\";case Fa:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case Ca:return(a.displayName||\"Context\")+\".Consumer\";case Ba:return(a._context.displayName||\"Context\")+\".Provider\";case Da:var b=a.render;a=a.displayName;a||(a=b.displayName||\nb.name||\"\",a=\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");return a;case Ga:return b=a.displayName||null,null!==b?b:Qa(a.type)||\"Memo\";case Ha:b=a._payload;a=a._init;try{return Qa(a(b))}catch(c){}}return null}\nfunction Ra(a){var b=a.type;switch(a.tag){case 24:return\"Cache\";case 9:return(b.displayName||\"Context\")+\".Consumer\";case 10:return(b._context.displayName||\"Context\")+\".Provider\";case 18:return\"DehydratedFragment\";case 11:return a=b.render,a=a.displayName||a.name||\"\",b.displayName||(\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");case 7:return\"Fragment\";case 5:return b;case 4:return\"Portal\";case 3:return\"Root\";case 6:return\"Text\";case 16:return Qa(b);case 8:return b===za?\"StrictMode\":\"Mode\";case 22:return\"Offscreen\";\ncase 12:return\"Profiler\";case 21:return\"Scope\";case 13:return\"Suspense\";case 19:return\"SuspenseList\";case 25:return\"TracingMarker\";case 1:case 0:case 17:case 2:case 14:case 15:if(\"function\"===typeof b)return b.displayName||b.name||null;if(\"string\"===typeof b)return b}return null}function Sa(a){switch(typeof a){case \"boolean\":case \"number\":case \"string\":case \"undefined\":return a;case \"object\":return a;default:return\"\"}}\nfunction 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 A({},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 ab(a,b){b=b.checked;null!=b&&ta(a,\"checked\",b,!1)}\nfunction bb(a,b){ab(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\")?cb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&cb(a,b.type,Sa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction db(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 cb(a,b,c){if(\"number\"!==b||Xa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}var eb=Array.isArray;\nfunction fb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e<c.length;e++)b[\"$\"+c[e]]=!0;for(c=0;c<a.length;c++)e=b.hasOwnProperty(\"$\"+a[c].value),a[c].selected!==e&&(a[c].selected=e),e&&d&&(a[c].defaultSelected=!0)}else{c=\"\"+Sa(c);b=null;for(e=0;e<a.length;e++){if(a[e].value===c){a[e].selected=!0;d&&(a[e].defaultSelected=!0);return}null!==b||a[e].disabled||(b=a[e])}null!==b&&(b.selected=!0)}}\nfunction gb(a,b){if(null!=b.dangerouslySetInnerHTML)throw Error(p(91));return A({},b,{value:void 0,defaultValue:void 0,children:\"\"+a._wrapperState.initialValue})}function hb(a,b){var c=b.value;if(null==c){c=b.children;b=b.defaultValue;if(null!=c){if(null!=b)throw Error(p(92));if(eb(c)){if(1<c.length)throw Error(p(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)}function kb(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\"}}\nfunction lb(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?kb(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar mb,nb=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(\"http://www.w3.org/2000/svg\"!==a.namespaceURI||\"innerHTML\"in a)a.innerHTML=b;else{mb=mb||document.createElement(\"div\");mb.innerHTML=\"<svg>\"+b.valueOf().toString()+\"</svg>\";for(b=mb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction ob(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar pb={animationIterationCount:!0,aspectRatio:!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,\nzoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},qb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(pb).forEach(function(a){qb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);pb[b]=pb[a]})});function rb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||pb.hasOwnProperty(a)&&pb[a]?(\"\"+b).trim():b+\"px\"}\nfunction sb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=rb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var tb=A({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 ub(a,b){if(b){if(tb[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(p(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(p(60));if(\"object\"!==typeof b.dangerouslySetInnerHTML||!(\"__html\"in b.dangerouslySetInnerHTML))throw Error(p(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(p(62));}}\nfunction vb(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}}var wb=null;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(p(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;a<b.length;a++)Bb(b[a])}}function Gb(a,b){return a(b)}function Hb(){}var Ib=!1;function Jb(a,b,c){if(Ib)return a(b,c);Ib=!0;try{return Gb(a,b,c)}finally{if(Ib=!1,null!==zb||null!==Ab)Hb(),Fb()}}\nfunction Kb(a,b){var c=a.stateNode;if(null===c)return null;var d=Db(c);if(null===d)return null;c=d[b];a:switch(b){case \"onClick\":case \"onClickCapture\":case \"onDoubleClick\":case \"onDoubleClickCapture\":case \"onMouseDown\":case \"onMouseDownCapture\":case \"onMouseMove\":case \"onMouseMoveCapture\":case \"onMouseUp\":case \"onMouseUpCapture\":case \"onMouseEnter\":(d=!d.disabled)||(a=a.type,d=!(\"button\"===a||\"input\"===a||\"select\"===a||\"textarea\"===a));a=!d;break a;default:a=!1}if(a)return null;if(c&&\"function\"!==\ntypeof c)throw Error(p(231,b,typeof c));return c}var Lb=!1;if(ia)try{var Mb={};Object.defineProperty(Mb,\"passive\",{get:function(){Lb=!0}});window.addEventListener(\"test\",Mb,Mb);window.removeEventListener(\"test\",Mb,Mb)}catch(a){Lb=!1}function Nb(a,b,c,d,e,f,g,h,k){var l=Array.prototype.slice.call(arguments,3);try{b.apply(c,l)}catch(m){this.onError(m)}}var Ob=!1,Pb=null,Qb=!1,Rb=null,Sb={onError:function(a){Ob=!0;Pb=a}};function Tb(a,b,c,d,e,f,g,h,k){Ob=!1;Pb=null;Nb.apply(Sb,arguments)}\nfunction Ub(a,b,c,d,e,f,g,h,k){Tb.apply(this,arguments);if(Ob){if(Ob){var l=Pb;Ob=!1;Pb=null}else throw Error(p(198));Qb||(Qb=!0,Rb=l)}}function Vb(a){var b=a,c=a;if(a.alternate)for(;b.return;)b=b.return;else{a=b;do b=a,0!==(b.flags&4098)&&(c=b.return),a=b.return;while(a)}return 3===b.tag?c:null}function Wb(a){if(13===a.tag){var b=a.memoizedState;null===b&&(a=a.alternate,null!==a&&(b=a.memoizedState));if(null!==b)return b.dehydrated}return null}function Xb(a){if(Vb(a)!==a)throw Error(p(188));}\nfunction Yb(a){var b=a.alternate;if(!b){b=Vb(a);if(null===b)throw Error(p(188));return b!==a?null:a}for(var c=a,d=b;;){var e=c.return;if(null===e)break;var f=e.alternate;if(null===f){d=e.return;if(null!==d){c=d;continue}break}if(e.child===f.child){for(f=e.child;f;){if(f===c)return Xb(e),a;if(f===d)return Xb(e),b;f=f.sibling}throw Error(p(188));}if(c.return!==d.return)c=e,d=f;else{for(var g=!1,h=e.child;h;){if(h===c){g=!0;c=e;d=f;break}if(h===d){g=!0;d=e;c=f;break}h=h.sibling}if(!g){for(h=f.child;h;){if(h===\nc){g=!0;c=f;d=e;break}if(h===d){g=!0;d=f;c=e;break}h=h.sibling}if(!g)throw Error(p(189));}}if(c.alternate!==d)throw Error(p(190));}if(3!==c.tag)throw Error(p(188));return c.stateNode.current===c?a:b}function Zb(a){a=Yb(a);return null!==a?$b(a):null}function $b(a){if(5===a.tag||6===a.tag)return a;for(a=a.child;null!==a;){var b=$b(a);if(null!==b)return b;a=a.sibling}return null}\nvar ac=ca.unstable_scheduleCallback,bc=ca.unstable_cancelCallback,cc=ca.unstable_shouldYield,dc=ca.unstable_requestPaint,B=ca.unstable_now,ec=ca.unstable_getCurrentPriorityLevel,fc=ca.unstable_ImmediatePriority,gc=ca.unstable_UserBlockingPriority,hc=ca.unstable_NormalPriority,ic=ca.unstable_LowPriority,jc=ca.unstable_IdlePriority,kc=null,lc=null;function mc(a){if(lc&&\"function\"===typeof lc.onCommitFiberRoot)try{lc.onCommitFiberRoot(kc,a,void 0,128===(a.current.flags&128))}catch(b){}}\nvar oc=Math.clz32?Math.clz32:nc,pc=Math.log,qc=Math.LN2;function nc(a){a>>>=0;return 0===a?32:31-(pc(a)/qc|0)|0}var rc=64,sc=4194304;\nfunction tc(a){switch(a&-a){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return a&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return a&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;\ndefault:return a}}function uc(a,b){var c=a.pendingLanes;if(0===c)return 0;var d=0,e=a.suspendedLanes,f=a.pingedLanes,g=c&268435455;if(0!==g){var h=g&~e;0!==h?d=tc(h):(f&=g,0!==f&&(d=tc(f)))}else g=c&~e,0!==g?d=tc(g):0!==f&&(d=tc(f));if(0===d)return 0;if(0!==b&&b!==d&&0===(b&e)&&(e=d&-d,f=b&-b,e>=f||16===e&&0!==(f&4194240)))return b;0!==(d&4)&&(d|=c&16);b=a.entangledLanes;if(0!==b)for(a=a.entanglements,b&=d;0<b;)c=31-oc(b),e=1<<c,d|=a[c],b&=~e;return d}\nfunction vc(a,b){switch(a){case 1:case 2:case 4:return b+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return b+5E3;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}\nfunction wc(a,b){for(var c=a.suspendedLanes,d=a.pingedLanes,e=a.expirationTimes,f=a.pendingLanes;0<f;){var g=31-oc(f),h=1<<g,k=e[g];if(-1===k){if(0===(h&c)||0!==(h&d))e[g]=vc(h,b)}else k<=b&&(a.expiredLanes|=h);f&=~h}}function xc(a){a=a.pendingLanes&-1073741825;return 0!==a?a:a&1073741824?1073741824:0}function yc(){var a=rc;rc<<=1;0===(rc&4194240)&&(rc=64);return a}function zc(a){for(var b=[],c=0;31>c;c++)b.push(a);return b}\nfunction Ac(a,b,c){a.pendingLanes|=b;536870912!==b&&(a.suspendedLanes=0,a.pingedLanes=0);a=a.eventTimes;b=31-oc(b);a[b]=c}function Bc(a,b){var c=a.pendingLanes&~b;a.pendingLanes=b;a.suspendedLanes=0;a.pingedLanes=0;a.expiredLanes&=b;a.mutableReadLanes&=b;a.entangledLanes&=b;b=a.entanglements;var d=a.eventTimes;for(a=a.expirationTimes;0<c;){var e=31-oc(c),f=1<<e;b[e]=0;d[e]=-1;a[e]=-1;c&=~f}}\nfunction Cc(a,b){var c=a.entangledLanes|=b;for(a=a.entanglements;c;){var d=31-oc(c),e=1<<d;e&b|a[d]&b&&(a[d]|=b);c&=~e}}var C=0;function Dc(a){a&=-a;return 1<a?4<a?0!==(a&268435455)?16:536870912:4:1}var Ec,Fc,Gc,Hc,Ic,Jc=!1,Kc=[],Lc=null,Mc=null,Nc=null,Oc=new Map,Pc=new Map,Qc=[],Rc=\"mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit\".split(\" \");\nfunction Sc(a,b){switch(a){case \"focusin\":case \"focusout\":Lc=null;break;case \"dragenter\":case \"dragleave\":Mc=null;break;case \"mouseover\":case \"mouseout\":Nc=null;break;case \"pointerover\":case \"pointerout\":Oc.delete(b.pointerId);break;case \"gotpointercapture\":case \"lostpointercapture\":Pc.delete(b.pointerId)}}\nfunction Tc(a,b,c,d,e,f){if(null===a||a.nativeEvent!==f)return a={blockedOn:b,domEventName:c,eventSystemFlags:d,nativeEvent:f,targetContainers:[e]},null!==b&&(b=Cb(b),null!==b&&Fc(b)),a;a.eventSystemFlags|=d;b=a.targetContainers;null!==e&&-1===b.indexOf(e)&&b.push(e);return a}\nfunction Uc(a,b,c,d,e){switch(b){case \"focusin\":return Lc=Tc(Lc,a,b,c,d,e),!0;case \"dragenter\":return Mc=Tc(Mc,a,b,c,d,e),!0;case \"mouseover\":return Nc=Tc(Nc,a,b,c,d,e),!0;case \"pointerover\":var f=e.pointerId;Oc.set(f,Tc(Oc.get(f)||null,a,b,c,d,e));return!0;case \"gotpointercapture\":return f=e.pointerId,Pc.set(f,Tc(Pc.get(f)||null,a,b,c,d,e)),!0}return!1}\nfunction Vc(a){var b=Wc(a.target);if(null!==b){var c=Vb(b);if(null!==c)if(b=c.tag,13===b){if(b=Wb(c),null!==b){a.blockedOn=b;Ic(a.priority,function(){Gc(c)});return}}else if(3===b&&c.stateNode.current.memoizedState.isDehydrated){a.blockedOn=3===c.tag?c.stateNode.containerInfo:null;return}}a.blockedOn=null}\nfunction Xc(a){if(null!==a.blockedOn)return!1;for(var b=a.targetContainers;0<b.length;){var c=Yc(a.domEventName,a.eventSystemFlags,b[0],a.nativeEvent);if(null===c){c=a.nativeEvent;var d=new c.constructor(c.type,c);wb=d;c.target.dispatchEvent(d);wb=null}else return b=Cb(c),null!==b&&Fc(b),a.blockedOn=c,!1;b.shift()}return!0}function Zc(a,b,c){Xc(a)&&c.delete(b)}function $c(){Jc=!1;null!==Lc&&Xc(Lc)&&(Lc=null);null!==Mc&&Xc(Mc)&&(Mc=null);null!==Nc&&Xc(Nc)&&(Nc=null);Oc.forEach(Zc);Pc.forEach(Zc)}\nfunction ad(a,b){a.blockedOn===b&&(a.blockedOn=null,Jc||(Jc=!0,ca.unstable_scheduleCallback(ca.unstable_NormalPriority,$c)))}\nfunction bd(a){function b(b){return ad(b,a)}if(0<Kc.length){ad(Kc[0],a);for(var c=1;c<Kc.length;c++){var d=Kc[c];d.blockedOn===a&&(d.blockedOn=null)}}null!==Lc&&ad(Lc,a);null!==Mc&&ad(Mc,a);null!==Nc&&ad(Nc,a);Oc.forEach(b);Pc.forEach(b);for(c=0;c<Qc.length;c++)d=Qc[c],d.blockedOn===a&&(d.blockedOn=null);for(;0<Qc.length&&(c=Qc[0],null===c.blockedOn);)Vc(c),null===c.blockedOn&&Qc.shift()}var cd=ua.ReactCurrentBatchConfig,dd=!0;\nfunction ed(a,b,c,d){var e=C,f=cd.transition;cd.transition=null;try{C=1,fd(a,b,c,d)}finally{C=e,cd.transition=f}}function gd(a,b,c,d){var e=C,f=cd.transition;cd.transition=null;try{C=4,fd(a,b,c,d)}finally{C=e,cd.transition=f}}\nfunction fd(a,b,c,d){if(dd){var e=Yc(a,b,c,d);if(null===e)hd(a,b,d,id,c),Sc(a,d);else if(Uc(e,a,b,c,d))d.stopPropagation();else if(Sc(a,d),b&4&&-1<Rc.indexOf(a)){for(;null!==e;){var f=Cb(e);null!==f&&Ec(f);f=Yc(a,b,c,d);null===f&&hd(a,b,d,id,c);if(f===e)break;e=f}null!==e&&d.stopPropagation()}else hd(a,b,d,null,c)}}var id=null;\nfunction Yc(a,b,c,d){id=null;a=xb(d);a=Wc(a);if(null!==a)if(b=Vb(a),null===b)a=null;else if(c=b.tag,13===c){a=Wb(b);if(null!==a)return a;a=null}else if(3===c){if(b.stateNode.current.memoizedState.isDehydrated)return 3===b.tag?b.stateNode.containerInfo:null;a=null}else b!==a&&(a=null);id=a;return null}\nfunction jd(a){switch(a){case \"cancel\":case \"click\":case \"close\":case \"contextmenu\":case \"copy\":case \"cut\":case \"auxclick\":case \"dblclick\":case \"dragend\":case \"dragstart\":case \"drop\":case \"focusin\":case \"focusout\":case \"input\":case \"invalid\":case \"keydown\":case \"keypress\":case \"keyup\":case \"mousedown\":case \"mouseup\":case \"paste\":case \"pause\":case \"play\":case \"pointercancel\":case \"pointerdown\":case \"pointerup\":case \"ratechange\":case \"reset\":case \"resize\":case \"seeked\":case \"submit\":case \"touchcancel\":case \"touchend\":case \"touchstart\":case \"volumechange\":case \"change\":case \"selectionchange\":case \"textInput\":case \"compositionstart\":case \"compositionend\":case \"compositionupdate\":case \"beforeblur\":case \"afterblur\":case \"beforeinput\":case \"blur\":case \"fullscreenchange\":case \"focus\":case \"hashchange\":case \"popstate\":case \"select\":case \"selectstart\":return 1;case \"drag\":case \"dragenter\":case \"dragexit\":case \"dragleave\":case \"dragover\":case \"mousemove\":case \"mouseout\":case \"mouseover\":case \"pointermove\":case \"pointerout\":case \"pointerover\":case \"scroll\":case \"toggle\":case \"touchmove\":case \"wheel\":case \"mouseenter\":case \"mouseleave\":case \"pointerenter\":case \"pointerleave\":return 4;\ncase \"message\":switch(ec()){case fc:return 1;case gc:return 4;case hc:case ic:return 16;case jc:return 536870912;default:return 16}default:return 16}}var kd=null,ld=null,md=null;function nd(){if(md)return md;var a,b=ld,c=b.length,d,e=\"value\"in kd?kd.value:kd.textContent,f=e.length;for(a=0;a<c&&b[a]===e[a];a++);var g=c-a;for(d=1;d<=g&&b[c-d]===e[f-d];d++);return md=e.slice(a,1<d?1-d:void 0)}\nfunction od(a){var b=a.keyCode;\"charCode\"in a?(a=a.charCode,0===a&&13===b&&(a=13)):a=b;10===a&&(a=13);return 32<=a||13===a?a:0}function pd(){return!0}function qd(){return!1}\nfunction rd(a){function b(b,d,e,f,g){this._reactName=b;this._targetInst=e;this.type=d;this.nativeEvent=f;this.target=g;this.currentTarget=null;for(var c in a)a.hasOwnProperty(c)&&(b=a[c],this[c]=b?b(f):f[c]);this.isDefaultPrevented=(null!=f.defaultPrevented?f.defaultPrevented:!1===f.returnValue)?pd:qd;this.isPropagationStopped=qd;return this}A(b.prototype,{preventDefault:function(){this.defaultPrevented=!0;var a=this.nativeEvent;a&&(a.preventDefault?a.preventDefault():\"unknown\"!==typeof a.returnValue&&\n(a.returnValue=!1),this.isDefaultPrevented=pd)},stopPropagation:function(){var a=this.nativeEvent;a&&(a.stopPropagation?a.stopPropagation():\"unknown\"!==typeof a.cancelBubble&&(a.cancelBubble=!0),this.isPropagationStopped=pd)},persist:function(){},isPersistent:pd});return b}\nvar sd={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(a){return a.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},td=rd(sd),ud=A({},sd,{view:0,detail:0}),vd=rd(ud),wd,xd,yd,Ad=A({},ud,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:zd,button:0,buttons:0,relatedTarget:function(a){return void 0===a.relatedTarget?a.fromElement===a.srcElement?a.toElement:a.fromElement:a.relatedTarget},movementX:function(a){if(\"movementX\"in\na)return a.movementX;a!==yd&&(yd&&\"mousemove\"===a.type?(wd=a.screenX-yd.screenX,xd=a.screenY-yd.screenY):xd=wd=0,yd=a);return wd},movementY:function(a){return\"movementY\"in a?a.movementY:xd}}),Bd=rd(Ad),Cd=A({},Ad,{dataTransfer:0}),Dd=rd(Cd),Ed=A({},ud,{relatedTarget:0}),Fd=rd(Ed),Gd=A({},sd,{animationName:0,elapsedTime:0,pseudoElement:0}),Hd=rd(Gd),Id=A({},sd,{clipboardData:function(a){return\"clipboardData\"in a?a.clipboardData:window.clipboardData}}),Jd=rd(Id),Kd=A({},sd,{data:0}),Ld=rd(Kd),Md={Esc:\"Escape\",\nSpacebar:\" \",Left:\"ArrowLeft\",Up:\"ArrowUp\",Right:\"ArrowRight\",Down:\"ArrowDown\",Del:\"Delete\",Win:\"OS\",Menu:\"ContextMenu\",Apps:\"ContextMenu\",Scroll:\"ScrollLock\",MozPrintableKey:\"Unidentified\"},Nd={8:\"Backspace\",9:\"Tab\",12:\"Clear\",13:\"Enter\",16:\"Shift\",17:\"Control\",18:\"Alt\",19:\"Pause\",20:\"CapsLock\",27:\"Escape\",32:\" \",33:\"PageUp\",34:\"PageDown\",35:\"End\",36:\"Home\",37:\"ArrowLeft\",38:\"ArrowUp\",39:\"ArrowRight\",40:\"ArrowDown\",45:\"Insert\",46:\"Delete\",112:\"F1\",113:\"F2\",114:\"F3\",115:\"F4\",116:\"F5\",117:\"F6\",118:\"F7\",\n119:\"F8\",120:\"F9\",121:\"F10\",122:\"F11\",123:\"F12\",144:\"NumLock\",145:\"ScrollLock\",224:\"Meta\"},Od={Alt:\"altKey\",Control:\"ctrlKey\",Meta:\"metaKey\",Shift:\"shiftKey\"};function Pd(a){var b=this.nativeEvent;return b.getModifierState?b.getModifierState(a):(a=Od[a])?!!b[a]:!1}function zd(){return Pd}\nvar Qd=A({},ud,{key:function(a){if(a.key){var b=Md[a.key]||a.key;if(\"Unidentified\"!==b)return b}return\"keypress\"===a.type?(a=od(a),13===a?\"Enter\":String.fromCharCode(a)):\"keydown\"===a.type||\"keyup\"===a.type?Nd[a.keyCode]||\"Unidentified\":\"\"},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:zd,charCode:function(a){return\"keypress\"===a.type?od(a):0},keyCode:function(a){return\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0},which:function(a){return\"keypress\"===\na.type?od(a):\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0}}),Rd=rd(Qd),Sd=A({},Ad,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Td=rd(Sd),Ud=A({},ud,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:zd}),Vd=rd(Ud),Wd=A({},sd,{propertyName:0,elapsedTime:0,pseudoElement:0}),Xd=rd(Wd),Yd=A({},Ad,{deltaX:function(a){return\"deltaX\"in a?a.deltaX:\"wheelDeltaX\"in a?-a.wheelDeltaX:0},\ndeltaY:function(a){return\"deltaY\"in a?a.deltaY:\"wheelDeltaY\"in a?-a.wheelDeltaY:\"wheelDelta\"in a?-a.wheelDelta:0},deltaZ:0,deltaMode:0}),Zd=rd(Yd),$d=[9,13,27,32],ae=ia&&\"CompositionEvent\"in window,be=null;ia&&\"documentMode\"in document&&(be=document.documentMode);var ce=ia&&\"TextEvent\"in window&&!be,de=ia&&(!ae||be&&8<be&&11>=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.char.length)return b.char;if(b.which)return String.fromCharCode(b.which)}return null;case \"compositionend\":return de&&\"ko\"!==b.locale?null:b.data;default:return null}}\nvar le={color:!0,date:!0,datetime:!0,\"datetime-local\":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function me(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return\"input\"===b?!!le[a.type]:\"textarea\"===b?!0:!1}function ne(a,b,c,d){Eb(d);b=oe(b,\"onChange\");0<b.length&&(c=new td(\"onChange\",\"change\",null,c,d),a.push({event:c,listeners:b}))}var pe=null,qe=null;function re(a){se(a,0)}function te(a){var b=ue(a);if(Wa(b))return a}\nfunction ve(a,b){if(\"change\"===a)return b}var we=!1;if(ia){var xe;if(ia){var ye=\"oninput\"in document;if(!ye){var ze=document.createElement(\"div\");ze.setAttribute(\"oninput\",\"return;\");ye=\"function\"===typeof ze.oninput}xe=ye}else xe=!1;we=xe&&(!document.documentMode||9<document.documentMode)}function Ae(){pe&&(pe.detachEvent(\"onpropertychange\",Be),qe=pe=null)}function Be(a){if(\"value\"===a.propertyName&&te(qe)){var b=[];ne(b,qe,a,xb(a));Jb(re,b)}}\nfunction Ce(a,b,c){\"focusin\"===a?(Ae(),pe=b,qe=c,pe.attachEvent(\"onpropertychange\",Be)):\"focusout\"===a&&Ae()}function De(a){if(\"selectionchange\"===a||\"keyup\"===a||\"keydown\"===a)return te(qe)}function Ee(a,b){if(\"click\"===a)return te(b)}function Fe(a,b){if(\"input\"===a||\"change\"===a)return te(b)}function Ge(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}var He=\"function\"===typeof Object.is?Object.is:Ge;\nfunction Ie(a,b){if(He(a,b))return!0;if(\"object\"!==typeof a||null===a||\"object\"!==typeof b||null===b)return!1;var c=Object.keys(a),d=Object.keys(b);if(c.length!==d.length)return!1;for(d=0;d<c.length;d++){var e=c[d];if(!ja.call(b,e)||!He(a[e],b[e]))return!1}return!0}function Je(a){for(;a&&a.firstChild;)a=a.firstChild;return a}\nfunction Ke(a,b){var c=Je(a);a=0;for(var d;c;){if(3===c.nodeType){d=a+c.textContent.length;if(a<=b&&d>=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=Je(c)}}function Le(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Le(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Me(){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 Ne(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)}\nfunction Oe(a){var b=Me(),c=a.focusedElem,d=a.selectionRange;if(b!==c&&c&&c.ownerDocument&&Le(c.ownerDocument.documentElement,c)){if(null!==d&&Ne(c))if(b=d.start,a=d.end,void 0===a&&(a=b),\"selectionStart\"in c)c.selectionStart=b,c.selectionEnd=Math.min(a,c.value.length);else if(a=(b=c.ownerDocument||document)&&b.defaultView||window,a.getSelection){a=a.getSelection();var e=c.textContent.length,f=Math.min(d.start,e);d=void 0===d.end?f:Math.min(d.end,e);!a.extend&&f>d&&(e=d,d=f,f=e);e=Ke(c,f);var g=Ke(c,\nd);e&&g&&(1!==a.rangeCount||a.anchorNode!==e.node||a.anchorOffset!==e.offset||a.focusNode!==g.node||a.focusOffset!==g.offset)&&(b=b.createRange(),b.setStart(e.node,e.offset),a.removeAllRanges(),f>d?(a.addRange(b),a.extend(g.node,g.offset)):(b.setEnd(g.node,g.offset),a.addRange(b)))}b=[];for(a=c;a=a.parentNode;)1===a.nodeType&&b.push({element:a,left:a.scrollLeft,top:a.scrollTop});\"function\"===typeof c.focus&&c.focus();for(c=0;c<b.length;c++)a=b[c],a.element.scrollLeft=a.left,a.element.scrollTop=a.top}}\nvar Pe=ia&&\"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&&Ne(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&&Ie(Se,d)||(Se=d,d=oe(Re,\"onSelect\"),0<d.length&&(b=new td(\"onSelect\",\"select\",null,b,c),a.push({event:b,listeners:d}),b.target=Qe)))}\nfunction Ve(a,b){var c={};c[a.toLowerCase()]=b.toLowerCase();c[\"Webkit\"+a]=\"webkit\"+b;c[\"Moz\"+a]=\"moz\"+b;return c}var We={animationend:Ve(\"Animation\",\"AnimationEnd\"),animationiteration:Ve(\"Animation\",\"AnimationIteration\"),animationstart:Ve(\"Animation\",\"AnimationStart\"),transitionend:Ve(\"Transition\",\"TransitionEnd\")},Xe={},Ye={};\nia&&(Ye=document.createElement(\"div\").style,\"AnimationEvent\"in window||(delete We.animationend.animation,delete We.animationiteration.animation,delete We.animationstart.animation),\"TransitionEvent\"in window||delete We.transitionend.transition);function Ze(a){if(Xe[a])return Xe[a];if(!We[a])return a;var b=We[a],c;for(c in b)if(b.hasOwnProperty(c)&&c in Ye)return Xe[a]=b[c];return a}var $e=Ze(\"animationend\"),af=Ze(\"animationiteration\"),bf=Ze(\"animationstart\"),cf=Ze(\"transitionend\"),df=new Map,ef=\"abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel\".split(\" \");\nfunction ff(a,b){df.set(a,b);fa(b,[a])}for(var gf=0;gf<ef.length;gf++){var hf=ef[gf],jf=hf.toLowerCase(),kf=hf[0].toUpperCase()+hf.slice(1);ff(jf,\"on\"+kf)}ff($e,\"onAnimationEnd\");ff(af,\"onAnimationIteration\");ff(bf,\"onAnimationStart\");ff(\"dblclick\",\"onDoubleClick\");ff(\"focusin\",\"onFocus\");ff(\"focusout\",\"onBlur\");ff(cf,\"onTransitionEnd\");ha(\"onMouseEnter\",[\"mouseout\",\"mouseover\"]);ha(\"onMouseLeave\",[\"mouseout\",\"mouseover\"]);ha(\"onPointerEnter\",[\"pointerout\",\"pointerover\"]);\nha(\"onPointerLeave\",[\"pointerout\",\"pointerover\"]);fa(\"onChange\",\"change click focusin focusout input keydown keyup selectionchange\".split(\" \"));fa(\"onSelect\",\"focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange\".split(\" \"));fa(\"onBeforeInput\",[\"compositionend\",\"keypress\",\"textInput\",\"paste\"]);fa(\"onCompositionEnd\",\"compositionend focusout keydown keypress keyup mousedown\".split(\" \"));fa(\"onCompositionStart\",\"compositionstart focusout keydown keypress keyup mousedown\".split(\" \"));\nfa(\"onCompositionUpdate\",\"compositionupdate focusout keydown keypress keyup mousedown\".split(\" \"));var lf=\"abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting\".split(\" \"),mf=new Set(\"cancel close invalid load scroll toggle\".split(\" \").concat(lf));\nfunction nf(a,b,c){var d=a.type||\"unknown-event\";a.currentTarget=c;Ub(d,b,void 0,a);a.currentTarget=null}\nfunction se(a,b){b=0!==(b&4);for(var c=0;c<a.length;c++){var d=a[c],e=d.event;d=d.listeners;a:{var f=void 0;if(b)for(var g=d.length-1;0<=g;g--){var h=d[g],k=h.instance,l=h.currentTarget;h=h.listener;if(k!==f&&e.isPropagationStopped())break a;nf(e,h,l);f=k}else for(g=0;g<d.length;g++){h=d[g];k=h.instance;l=h.currentTarget;h=h.listener;if(k!==f&&e.isPropagationStopped())break a;nf(e,h,l);f=k}}}if(Qb)throw a=Rb,Qb=!1,Rb=null,a;}\nfunction D(a,b){var c=b[of];void 0===c&&(c=b[of]=new Set);var d=a+\"__bubble\";c.has(d)||(pf(b,a,2,!1),c.add(d))}function qf(a,b,c){var d=0;b&&(d|=4);pf(c,a,d,b)}var rf=\"_reactListening\"+Math.random().toString(36).slice(2);function sf(a){if(!a[rf]){a[rf]=!0;da.forEach(function(b){\"selectionchange\"!==b&&(mf.has(b)||qf(b,!1,a),qf(b,!0,a))});var b=9===a.nodeType?a:a.ownerDocument;null===b||b[rf]||(b[rf]=!0,qf(\"selectionchange\",!1,b))}}\nfunction pf(a,b,c,d){switch(jd(b)){case 1:var e=ed;break;case 4:e=gd;break;default:e=fd}c=e.bind(null,b,c,a);e=void 0;!Lb||\"touchstart\"!==b&&\"touchmove\"!==b&&\"wheel\"!==b||(e=!0);d?void 0!==e?a.addEventListener(b,c,{capture:!0,passive:e}):a.addEventListener(b,c,!0):void 0!==e?a.addEventListener(b,c,{passive:e}):a.addEventListener(b,c,!1)}\nfunction hd(a,b,c,d,e){var f=d;if(0===(b&1)&&0===(b&2)&&null!==d)a:for(;;){if(null===d)return;var g=d.tag;if(3===g||4===g){var h=d.stateNode.containerInfo;if(h===e||8===h.nodeType&&h.parentNode===e)break;if(4===g)for(g=d.return;null!==g;){var k=g.tag;if(3===k||4===k)if(k=g.stateNode.containerInfo,k===e||8===k.nodeType&&k.parentNode===e)return;g=g.return}for(;null!==h;){g=Wc(h);if(null===g)return;k=g.tag;if(5===k||6===k){d=f=g;continue a}h=h.parentNode}}d=d.return}Jb(function(){var d=f,e=xb(c),g=[];\na:{var h=df.get(a);if(void 0!==h){var k=td,n=a;switch(a){case \"keypress\":if(0===od(c))break a;case \"keydown\":case \"keyup\":k=Rd;break;case \"focusin\":n=\"focus\";k=Fd;break;case \"focusout\":n=\"blur\";k=Fd;break;case \"beforeblur\":case \"afterblur\":k=Fd;break;case \"click\":if(2===c.button)break a;case \"auxclick\":case \"dblclick\":case \"mousedown\":case \"mousemove\":case \"mouseup\":case \"mouseout\":case \"mouseover\":case \"contextmenu\":k=Bd;break;case \"drag\":case \"dragend\":case \"dragenter\":case \"dragexit\":case \"dragleave\":case \"dragover\":case \"dragstart\":case \"drop\":k=\nDd;break;case \"touchcancel\":case \"touchend\":case \"touchmove\":case \"touchstart\":k=Vd;break;case $e:case af:case bf:k=Hd;break;case cf:k=Xd;break;case \"scroll\":k=vd;break;case \"wheel\":k=Zd;break;case \"copy\":case \"cut\":case \"paste\":k=Jd;break;case \"gotpointercapture\":case \"lostpointercapture\":case \"pointercancel\":case \"pointerdown\":case \"pointermove\":case \"pointerout\":case \"pointerover\":case \"pointerup\":k=Td}var t=0!==(b&4),J=!t&&\"scroll\"===a,x=t?null!==h?h+\"Capture\":null:h;t=[];for(var w=d,u;null!==\nw;){u=w;var F=u.stateNode;5===u.tag&&null!==F&&(u=F,null!==x&&(F=Kb(w,x),null!=F&&t.push(tf(w,F,u))));if(J)break;w=w.return}0<t.length&&(h=new k(h,n,null,c,e),g.push({event:h,listeners:t}))}}if(0===(b&7)){a:{h=\"mouseover\"===a||\"pointerover\"===a;k=\"mouseout\"===a||\"pointerout\"===a;if(h&&c!==wb&&(n=c.relatedTarget||c.fromElement)&&(Wc(n)||n[uf]))break a;if(k||h){h=e.window===e?e:(h=e.ownerDocument)?h.defaultView||h.parentWindow:window;if(k){if(n=c.relatedTarget||c.toElement,k=d,n=n?Wc(n):null,null!==\nn&&(J=Vb(n),n!==J||5!==n.tag&&6!==n.tag))n=null}else k=null,n=d;if(k!==n){t=Bd;F=\"onMouseLeave\";x=\"onMouseEnter\";w=\"mouse\";if(\"pointerout\"===a||\"pointerover\"===a)t=Td,F=\"onPointerLeave\",x=\"onPointerEnter\",w=\"pointer\";J=null==k?h:ue(k);u=null==n?h:ue(n);h=new t(F,w+\"leave\",k,c,e);h.target=J;h.relatedTarget=u;F=null;Wc(e)===d&&(t=new t(x,w+\"enter\",n,c,e),t.target=u,t.relatedTarget=J,F=t);J=F;if(k&&n)b:{t=k;x=n;w=0;for(u=t;u;u=vf(u))w++;u=0;for(F=x;F;F=vf(F))u++;for(;0<w-u;)t=vf(t),w--;for(;0<u-w;)x=\nvf(x),u--;for(;w--;){if(t===x||null!==x&&t===x.alternate)break b;t=vf(t);x=vf(x)}t=null}else t=null;null!==k&&wf(g,h,k,t,!1);null!==n&&null!==J&&wf(g,J,n,t,!0)}}}a:{h=d?ue(d):window;k=h.nodeName&&h.nodeName.toLowerCase();if(\"select\"===k||\"input\"===k&&\"file\"===h.type)var na=ve;else if(me(h))if(we)na=Fe;else{na=De;var xa=Ce}else(k=h.nodeName)&&\"input\"===k.toLowerCase()&&(\"checkbox\"===h.type||\"radio\"===h.type)&&(na=Ee);if(na&&(na=na(a,d))){ne(g,na,c,e);break a}xa&&xa(a,h,d);\"focusout\"===a&&(xa=h._wrapperState)&&\nxa.controlled&&\"number\"===h.type&&cb(h,\"number\",h.value)}xa=d?ue(d):window;switch(a){case \"focusin\":if(me(xa)||\"true\"===xa.contentEditable)Qe=xa,Re=d,Se=null;break;case \"focusout\":Se=Re=Qe=null;break;case \"mousedown\":Te=!0;break;case \"contextmenu\":case \"mouseup\":case \"dragend\":Te=!1;Ue(g,c,e);break;case \"selectionchange\":if(Pe)break;case \"keydown\":case \"keyup\":Ue(g,c,e)}var $a;if(ae)b:{switch(a){case \"compositionstart\":var ba=\"onCompositionStart\";break b;case \"compositionend\":ba=\"onCompositionEnd\";\nbreak b;case \"compositionupdate\":ba=\"onCompositionUpdate\";break b}ba=void 0}else ie?ge(a,c)&&(ba=\"onCompositionEnd\"):\"keydown\"===a&&229===c.keyCode&&(ba=\"onCompositionStart\");ba&&(de&&\"ko\"!==c.locale&&(ie||\"onCompositionStart\"!==ba?\"onCompositionEnd\"===ba&&ie&&($a=nd()):(kd=e,ld=\"value\"in kd?kd.value:kd.textContent,ie=!0)),xa=oe(d,ba),0<xa.length&&(ba=new Ld(ba,a,null,c,e),g.push({event:ba,listeners:xa}),$a?ba.data=$a:($a=he(c),null!==$a&&(ba.data=$a))));if($a=ce?je(a,c):ke(a,c))d=oe(d,\"onBeforeInput\"),\n0<d.length&&(e=new Ld(\"onBeforeInput\",\"beforeinput\",null,c,e),g.push({event:e,listeners:d}),e.data=$a)}se(g,b)})}function tf(a,b,c){return{instance:a,listener:b,currentTarget:c}}function oe(a,b){for(var c=b+\"Capture\",d=[];null!==a;){var e=a,f=e.stateNode;5===e.tag&&null!==f&&(e=f,f=Kb(a,c),null!=f&&d.unshift(tf(a,f,e)),f=Kb(a,b),null!=f&&d.push(tf(a,f,e)));a=a.return}return d}function vf(a){if(null===a)return null;do a=a.return;while(a&&5!==a.tag);return a?a:null}\nfunction wf(a,b,c,d,e){for(var f=b._reactName,g=[];null!==c&&c!==d;){var h=c,k=h.alternate,l=h.stateNode;if(null!==k&&k===d)break;5===h.tag&&null!==l&&(h=l,e?(k=Kb(c,f),null!=k&&g.unshift(tf(c,k,h))):e||(k=Kb(c,f),null!=k&&g.push(tf(c,k,h))));c=c.return}0!==g.length&&a.push({event:b,listeners:g})}var xf=/\\r\\n?/g,yf=/\\u0000|\\uFFFD/g;function zf(a){return(\"string\"===typeof a?a:\"\"+a).replace(xf,\"\\n\").replace(yf,\"\")}function Af(a,b,c){b=zf(b);if(zf(a)!==b&&c)throw Error(p(425));}function Bf(){}\nvar Cf=null,Df=null;function Ef(a,b){return\"textarea\"===a||\"noscript\"===a||\"string\"===typeof b.children||\"number\"===typeof b.children||\"object\"===typeof b.dangerouslySetInnerHTML&&null!==b.dangerouslySetInnerHTML&&null!=b.dangerouslySetInnerHTML.__html}\nvar Ff=\"function\"===typeof setTimeout?setTimeout:void 0,Gf=\"function\"===typeof clearTimeout?clearTimeout:void 0,Hf=\"function\"===typeof Promise?Promise:void 0,Jf=\"function\"===typeof queueMicrotask?queueMicrotask:\"undefined\"!==typeof Hf?function(a){return Hf.resolve(null).then(a).catch(If)}:Ff;function If(a){setTimeout(function(){throw a;})}\nfunction Kf(a,b){var c=b,d=0;do{var e=c.nextSibling;a.removeChild(c);if(e&&8===e.nodeType)if(c=e.data,\"/$\"===c){if(0===d){a.removeChild(e);bd(b);return}d--}else\"$\"!==c&&\"$?\"!==c&&\"$!\"!==c||d++;c=e}while(c);bd(b)}function Lf(a){for(;null!=a;a=a.nextSibling){var b=a.nodeType;if(1===b||3===b)break;if(8===b){b=a.data;if(\"$\"===b||\"$!\"===b||\"$?\"===b)break;if(\"/$\"===b)return null}}return a}\nfunction Mf(a){a=a.previousSibling;for(var b=0;a;){if(8===a.nodeType){var c=a.data;if(\"$\"===c||\"$!\"===c||\"$?\"===c){if(0===b)return a;b--}else\"/$\"===c&&b++}a=a.previousSibling}return null}var Nf=Math.random().toString(36).slice(2),Of=\"__reactFiber$\"+Nf,Pf=\"__reactProps$\"+Nf,uf=\"__reactContainer$\"+Nf,of=\"__reactEvents$\"+Nf,Qf=\"__reactListeners$\"+Nf,Rf=\"__reactHandles$\"+Nf;\nfunction Wc(a){var b=a[Of];if(b)return b;for(var c=a.parentNode;c;){if(b=c[uf]||c[Of]){c=b.alternate;if(null!==b.child||null!==c&&null!==c.child)for(a=Mf(a);null!==a;){if(c=a[Of])return c;a=Mf(a)}return b}a=c;c=a.parentNode}return null}function Cb(a){a=a[Of]||a[uf];return!a||5!==a.tag&&6!==a.tag&&13!==a.tag&&3!==a.tag?null:a}function ue(a){if(5===a.tag||6===a.tag)return a.stateNode;throw Error(p(33));}function Db(a){return a[Pf]||null}var Sf=[],Tf=-1;function Uf(a){return{current:a}}\nfunction E(a){0>Tf||(a.current=Sf[Tf],Sf[Tf]=null,Tf--)}function G(a,b){Tf++;Sf[Tf]=a.current;a.current=b}var Vf={},H=Uf(Vf),Wf=Uf(!1),Xf=Vf;function Yf(a,b){var c=a.type.contextTypes;if(!c)return Vf;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}\nfunction Zf(a){a=a.childContextTypes;return null!==a&&void 0!==a}function $f(){E(Wf);E(H)}function ag(a,b,c){if(H.current!==Vf)throw Error(p(168));G(H,b);G(Wf,c)}function bg(a,b,c){var d=a.stateNode;b=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in b))throw Error(p(108,Ra(a)||\"Unknown\",e));return A({},c,d)}\nfunction cg(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Vf;Xf=H.current;G(H,a);G(Wf,Wf.current);return!0}function dg(a,b,c){var d=a.stateNode;if(!d)throw Error(p(169));c?(a=bg(a,b,Xf),d.__reactInternalMemoizedMergedChildContext=a,E(Wf),E(H),G(H,a)):E(Wf);G(Wf,c)}var eg=null,fg=!1,gg=!1;function hg(a){null===eg?eg=[a]:eg.push(a)}function ig(a){fg=!0;hg(a)}\nfunction jg(){if(!gg&&null!==eg){gg=!0;var a=0,b=C;try{var c=eg;for(C=1;a<c.length;a++){var d=c[a];do d=d(!0);while(null!==d)}eg=null;fg=!1}catch(e){throw null!==eg&&(eg=eg.slice(a+1)),ac(fc,jg),e;}finally{C=b,gg=!1}}return null}var kg=[],lg=0,mg=null,ng=0,og=[],pg=0,qg=null,rg=1,sg=\"\";function tg(a,b){kg[lg++]=ng;kg[lg++]=mg;mg=a;ng=b}\nfunction ug(a,b,c){og[pg++]=rg;og[pg++]=sg;og[pg++]=qg;qg=a;var d=rg;a=sg;var e=32-oc(d)-1;d&=~(1<<e);c+=1;var f=32-oc(b)+e;if(30<f){var g=e-e%5;f=(d&(1<<g)-1).toString(32);d>>=g;e-=g;rg=1<<32-oc(b)+e|c<<e|d;sg=f+a}else rg=1<<f|c<<e|d,sg=a}function vg(a){null!==a.return&&(tg(a,1),ug(a,1,0))}function wg(a){for(;a===mg;)mg=kg[--lg],kg[lg]=null,ng=kg[--lg],kg[lg]=null;for(;a===qg;)qg=og[--pg],og[pg]=null,sg=og[--pg],og[pg]=null,rg=og[--pg],og[pg]=null}var xg=null,yg=null,I=!1,zg=null;\nfunction Ag(a,b){var c=Bg(5,null,null,0);c.elementType=\"DELETED\";c.stateNode=b;c.return=a;b=a.deletions;null===b?(a.deletions=[c],a.flags|=16):b.push(c)}\nfunction Cg(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,xg=a,yg=Lf(b.firstChild),!0):!1;case 6:return b=\"\"===a.pendingProps||3!==b.nodeType?null:b,null!==b?(a.stateNode=b,xg=a,yg=null,!0):!1;case 13:return b=8!==b.nodeType?null:b,null!==b?(c=null!==qg?{id:rg,overflow:sg}:null,a.memoizedState={dehydrated:b,treeContext:c,retryLane:1073741824},c=Bg(18,null,null,0),c.stateNode=b,c.return=a,a.child=c,xg=a,yg=\nnull,!0):!1;default:return!1}}function Dg(a){return 0!==(a.mode&1)&&0===(a.flags&128)}function Eg(a){if(I){var b=yg;if(b){var c=b;if(!Cg(a,b)){if(Dg(a))throw Error(p(418));b=Lf(c.nextSibling);var d=xg;b&&Cg(a,b)?Ag(d,c):(a.flags=a.flags&-4097|2,I=!1,xg=a)}}else{if(Dg(a))throw Error(p(418));a.flags=a.flags&-4097|2;I=!1;xg=a}}}function Fg(a){for(a=a.return;null!==a&&5!==a.tag&&3!==a.tag&&13!==a.tag;)a=a.return;xg=a}\nfunction Gg(a){if(a!==xg)return!1;if(!I)return Fg(a),I=!0,!1;var b;(b=3!==a.tag)&&!(b=5!==a.tag)&&(b=a.type,b=\"head\"!==b&&\"body\"!==b&&!Ef(a.type,a.memoizedProps));if(b&&(b=yg)){if(Dg(a))throw Hg(),Error(p(418));for(;b;)Ag(a,b),b=Lf(b.nextSibling)}Fg(a);if(13===a.tag){a=a.memoizedState;a=null!==a?a.dehydrated:null;if(!a)throw Error(p(317));a:{a=a.nextSibling;for(b=0;a;){if(8===a.nodeType){var c=a.data;if(\"/$\"===c){if(0===b){yg=Lf(a.nextSibling);break a}b--}else\"$\"!==c&&\"$!\"!==c&&\"$?\"!==c||b++}a=a.nextSibling}yg=\nnull}}else yg=xg?Lf(a.stateNode.nextSibling):null;return!0}function Hg(){for(var a=yg;a;)a=Lf(a.nextSibling)}function Ig(){yg=xg=null;I=!1}function Jg(a){null===zg?zg=[a]:zg.push(a)}var Kg=ua.ReactCurrentBatchConfig;function Lg(a,b){if(a&&a.defaultProps){b=A({},b);a=a.defaultProps;for(var c in a)void 0===b[c]&&(b[c]=a[c]);return b}return b}var Mg=Uf(null),Ng=null,Og=null,Pg=null;function Qg(){Pg=Og=Ng=null}function Rg(a){var b=Mg.current;E(Mg);a._currentValue=b}\nfunction Sg(a,b,c){for(;null!==a;){var d=a.alternate;(a.childLanes&b)!==b?(a.childLanes|=b,null!==d&&(d.childLanes|=b)):null!==d&&(d.childLanes&b)!==b&&(d.childLanes|=b);if(a===c)break;a=a.return}}function Tg(a,b){Ng=a;Pg=Og=null;a=a.dependencies;null!==a&&null!==a.firstContext&&(0!==(a.lanes&b)&&(Ug=!0),a.firstContext=null)}\nfunction Vg(a){var b=a._currentValue;if(Pg!==a)if(a={context:a,memoizedValue:b,next:null},null===Og){if(null===Ng)throw Error(p(308));Og=a;Ng.dependencies={lanes:0,firstContext:a}}else Og=Og.next=a;return b}var Wg=null;function Xg(a){null===Wg?Wg=[a]:Wg.push(a)}function Yg(a,b,c,d){var e=b.interleaved;null===e?(c.next=c,Xg(b)):(c.next=e.next,e.next=c);b.interleaved=c;return Zg(a,d)}\nfunction Zg(a,b){a.lanes|=b;var c=a.alternate;null!==c&&(c.lanes|=b);c=a;for(a=a.return;null!==a;)a.childLanes|=b,c=a.alternate,null!==c&&(c.childLanes|=b),c=a,a=a.return;return 3===c.tag?c.stateNode:null}var $g=!1;function ah(a){a.updateQueue={baseState:a.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}\nfunction bh(a,b){a=a.updateQueue;b.updateQueue===a&&(b.updateQueue={baseState:a.baseState,firstBaseUpdate:a.firstBaseUpdate,lastBaseUpdate:a.lastBaseUpdate,shared:a.shared,effects:a.effects})}function ch(a,b){return{eventTime:a,lane:b,tag:0,payload:null,callback:null,next:null}}\nfunction dh(a,b,c){var d=a.updateQueue;if(null===d)return null;d=d.shared;if(0!==(K&2)){var e=d.pending;null===e?b.next=b:(b.next=e.next,e.next=b);d.pending=b;return Zg(a,c)}e=d.interleaved;null===e?(b.next=b,Xg(d)):(b.next=e.next,e.next=b);d.interleaved=b;return Zg(a,c)}function eh(a,b,c){b=b.updateQueue;if(null!==b&&(b=b.shared,0!==(c&4194240))){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nfunction fh(a,b){var c=a.updateQueue,d=a.alternate;if(null!==d&&(d=d.updateQueue,c===d)){var e=null,f=null;c=c.firstBaseUpdate;if(null!==c){do{var g={eventTime:c.eventTime,lane:c.lane,tag:c.tag,payload:c.payload,callback:c.callback,next:null};null===f?e=f=g:f=f.next=g;c=c.next}while(null!==c);null===f?e=f=b:f=f.next=b}else e=f=b;c={baseState:d.baseState,firstBaseUpdate:e,lastBaseUpdate:f,shared:d.shared,effects:d.effects};a.updateQueue=c;return}a=c.lastBaseUpdate;null===a?c.firstBaseUpdate=b:a.next=\nb;c.lastBaseUpdate=b}\nfunction gh(a,b,c,d){var e=a.updateQueue;$g=!1;var f=e.firstBaseUpdate,g=e.lastBaseUpdate,h=e.shared.pending;if(null!==h){e.shared.pending=null;var k=h,l=k.next;k.next=null;null===g?f=l:g.next=l;g=k;var m=a.alternate;null!==m&&(m=m.updateQueue,h=m.lastBaseUpdate,h!==g&&(null===h?m.firstBaseUpdate=l:h.next=l,m.lastBaseUpdate=k))}if(null!==f){var q=e.baseState;g=0;m=l=k=null;h=f;do{var r=h.lane,y=h.eventTime;if((d&r)===r){null!==m&&(m=m.next={eventTime:y,lane:0,tag:h.tag,payload:h.payload,callback:h.callback,\nnext:null});a:{var n=a,t=h;r=b;y=c;switch(t.tag){case 1:n=t.payload;if(\"function\"===typeof n){q=n.call(y,q,r);break a}q=n;break a;case 3:n.flags=n.flags&-65537|128;case 0:n=t.payload;r=\"function\"===typeof n?n.call(y,q,r):n;if(null===r||void 0===r)break a;q=A({},q,r);break a;case 2:$g=!0}}null!==h.callback&&0!==h.lane&&(a.flags|=64,r=e.effects,null===r?e.effects=[h]:r.push(h))}else y={eventTime:y,lane:r,tag:h.tag,payload:h.payload,callback:h.callback,next:null},null===m?(l=m=y,k=q):m=m.next=y,g|=r;\nh=h.next;if(null===h)if(h=e.shared.pending,null===h)break;else r=h,h=r.next,r.next=null,e.lastBaseUpdate=r,e.shared.pending=null}while(1);null===m&&(k=q);e.baseState=k;e.firstBaseUpdate=l;e.lastBaseUpdate=m;b=e.shared.interleaved;if(null!==b){e=b;do g|=e.lane,e=e.next;while(e!==b)}else null===f&&(e.shared.lanes=0);hh|=g;a.lanes=g;a.memoizedState=q}}\nfunction ih(a,b,c){a=b.effects;b.effects=null;if(null!==a)for(b=0;b<a.length;b++){var d=a[b],e=d.callback;if(null!==e){d.callback=null;d=c;if(\"function\"!==typeof e)throw Error(p(191,e));e.call(d)}}}var jh=(new aa.Component).refs;function kh(a,b,c,d){b=a.memoizedState;c=c(d,b);c=null===c||void 0===c?b:A({},b,c);a.memoizedState=c;0===a.lanes&&(a.updateQueue.baseState=c)}\nvar nh={isMounted:function(a){return(a=a._reactInternals)?Vb(a)===a:!1},enqueueSetState:function(a,b,c){a=a._reactInternals;var d=L(),e=lh(a),f=ch(d,e);f.payload=b;void 0!==c&&null!==c&&(f.callback=c);b=dh(a,f,e);null!==b&&(mh(b,a,e,d),eh(b,a,e))},enqueueReplaceState:function(a,b,c){a=a._reactInternals;var d=L(),e=lh(a),f=ch(d,e);f.tag=1;f.payload=b;void 0!==c&&null!==c&&(f.callback=c);b=dh(a,f,e);null!==b&&(mh(b,a,e,d),eh(b,a,e))},enqueueForceUpdate:function(a,b){a=a._reactInternals;var c=L(),d=\nlh(a),e=ch(c,d);e.tag=2;void 0!==b&&null!==b&&(e.callback=b);b=dh(a,e,d);null!==b&&(mh(b,a,d,c),eh(b,a,d))}};function oh(a,b,c,d,e,f,g){a=a.stateNode;return\"function\"===typeof a.shouldComponentUpdate?a.shouldComponentUpdate(d,f,g):b.prototype&&b.prototype.isPureReactComponent?!Ie(c,d)||!Ie(e,f):!0}\nfunction ph(a,b,c){var d=!1,e=Vf;var f=b.contextType;\"object\"===typeof f&&null!==f?f=Vg(f):(e=Zf(b)?Xf:H.current,d=b.contextTypes,f=(d=null!==d&&void 0!==d)?Yf(a,e):Vf);b=new b(c,f);a.memoizedState=null!==b.state&&void 0!==b.state?b.state:null;b.updater=nh;a.stateNode=b;b._reactInternals=a;d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=e,a.__reactInternalMemoizedMaskedChildContext=f);return b}\nfunction qh(a,b,c,d){a=b.state;\"function\"===typeof b.componentWillReceiveProps&&b.componentWillReceiveProps(c,d);\"function\"===typeof b.UNSAFE_componentWillReceiveProps&&b.UNSAFE_componentWillReceiveProps(c,d);b.state!==a&&nh.enqueueReplaceState(b,b.state,null)}\nfunction rh(a,b,c,d){var e=a.stateNode;e.props=c;e.state=a.memoizedState;e.refs=jh;ah(a);var f=b.contextType;\"object\"===typeof f&&null!==f?e.context=Vg(f):(f=Zf(b)?Xf:H.current,e.context=Yf(a,f));e.state=a.memoizedState;f=b.getDerivedStateFromProps;\"function\"===typeof f&&(kh(a,b,f,c),e.state=a.memoizedState);\"function\"===typeof b.getDerivedStateFromProps||\"function\"===typeof e.getSnapshotBeforeUpdate||\"function\"!==typeof e.UNSAFE_componentWillMount&&\"function\"!==typeof e.componentWillMount||(b=e.state,\n\"function\"===typeof e.componentWillMount&&e.componentWillMount(),\"function\"===typeof e.UNSAFE_componentWillMount&&e.UNSAFE_componentWillMount(),b!==e.state&&nh.enqueueReplaceState(e,e.state,null),gh(a,c,e,d),e.state=a.memoizedState);\"function\"===typeof e.componentDidMount&&(a.flags|=4194308)}\nfunction sh(a,b,c){a=c.ref;if(null!==a&&\"function\"!==typeof a&&\"object\"!==typeof a){if(c._owner){c=c._owner;if(c){if(1!==c.tag)throw Error(p(309));var d=c.stateNode}if(!d)throw Error(p(147,a));var e=d,f=\"\"+a;if(null!==b&&null!==b.ref&&\"function\"===typeof b.ref&&b.ref._stringRef===f)return b.ref;b=function(a){var b=e.refs;b===jh&&(b=e.refs={});null===a?delete b[f]:b[f]=a};b._stringRef=f;return b}if(\"string\"!==typeof a)throw Error(p(284));if(!c._owner)throw Error(p(290,a));}return a}\nfunction th(a,b){a=Object.prototype.toString.call(b);throw Error(p(31,\"[object Object]\"===a?\"object with keys {\"+Object.keys(b).join(\", \")+\"}\":a));}function uh(a){var b=a._init;return b(a._payload)}\nfunction vh(a){function b(b,c){if(a){var d=b.deletions;null===d?(b.deletions=[c],b.flags|=16):d.push(c)}}function c(c,d){if(!a)return null;for(;null!==d;)b(c,d),d=d.sibling;return null}function d(a,b){for(a=new Map;null!==b;)null!==b.key?a.set(b.key,b):a.set(b.index,b),b=b.sibling;return a}function e(a,b){a=wh(a,b);a.index=0;a.sibling=null;return a}function f(b,c,d){b.index=d;if(!a)return b.flags|=1048576,c;d=b.alternate;if(null!==d)return d=d.index,d<c?(b.flags|=2,c):d;b.flags|=2;return c}function g(b){a&&\nnull===b.alternate&&(b.flags|=2);return b}function h(a,b,c,d){if(null===b||6!==b.tag)return b=xh(c,a.mode,d),b.return=a,b;b=e(b,c);b.return=a;return b}function k(a,b,c,d){var f=c.type;if(f===ya)return m(a,b,c.props.children,d,c.key);if(null!==b&&(b.elementType===f||\"object\"===typeof f&&null!==f&&f.$$typeof===Ha&&uh(f)===b.type))return d=e(b,c.props),d.ref=sh(a,b,c),d.return=a,d;d=yh(c.type,c.key,c.props,null,a.mode,d);d.ref=sh(a,b,c);d.return=a;return d}function l(a,b,c,d){if(null===b||4!==b.tag||\nb.stateNode.containerInfo!==c.containerInfo||b.stateNode.implementation!==c.implementation)return b=zh(c,a.mode,d),b.return=a,b;b=e(b,c.children||[]);b.return=a;return b}function m(a,b,c,d,f){if(null===b||7!==b.tag)return b=Ah(c,a.mode,d,f),b.return=a,b;b=e(b,c);b.return=a;return b}function q(a,b,c){if(\"string\"===typeof b&&\"\"!==b||\"number\"===typeof b)return b=xh(\"\"+b,a.mode,c),b.return=a,b;if(\"object\"===typeof b&&null!==b){switch(b.$$typeof){case va:return c=yh(b.type,b.key,b.props,null,a.mode,c),\nc.ref=sh(a,null,b),c.return=a,c;case wa:return b=zh(b,a.mode,c),b.return=a,b;case Ha:var d=b._init;return q(a,d(b._payload),c)}if(eb(b)||Ka(b))return b=Ah(b,a.mode,c,null),b.return=a,b;th(a,b)}return null}function r(a,b,c,d){var e=null!==b?b.key:null;if(\"string\"===typeof c&&\"\"!==c||\"number\"===typeof c)return null!==e?null:h(a,b,\"\"+c,d);if(\"object\"===typeof c&&null!==c){switch(c.$$typeof){case va:return c.key===e?k(a,b,c,d):null;case wa:return c.key===e?l(a,b,c,d):null;case Ha:return e=c._init,r(a,\nb,e(c._payload),d)}if(eb(c)||Ka(c))return null!==e?null:m(a,b,c,d,null);th(a,c)}return null}function y(a,b,c,d,e){if(\"string\"===typeof d&&\"\"!==d||\"number\"===typeof d)return a=a.get(c)||null,h(b,a,\"\"+d,e);if(\"object\"===typeof d&&null!==d){switch(d.$$typeof){case va:return a=a.get(null===d.key?c:d.key)||null,k(b,a,d,e);case wa:return a=a.get(null===d.key?c:d.key)||null,l(b,a,d,e);case Ha:var f=d._init;return y(a,b,c,f(d._payload),e)}if(eb(d)||Ka(d))return a=a.get(c)||null,m(b,a,d,e,null);th(b,d)}return null}\nfunction n(e,g,h,k){for(var l=null,m=null,u=g,w=g=0,x=null;null!==u&&w<h.length;w++){u.index>w?(x=u,u=null):x=u.sibling;var n=r(e,u,h[w],k);if(null===n){null===u&&(u=x);break}a&&u&&null===n.alternate&&b(e,u);g=f(n,g,w);null===m?l=n:m.sibling=n;m=n;u=x}if(w===h.length)return c(e,u),I&&tg(e,w),l;if(null===u){for(;w<h.length;w++)u=q(e,h[w],k),null!==u&&(g=f(u,g,w),null===m?l=u:m.sibling=u,m=u);I&&tg(e,w);return l}for(u=d(e,u);w<h.length;w++)x=y(u,e,w,h[w],k),null!==x&&(a&&null!==x.alternate&&u.delete(null===\nx.key?w:x.key),g=f(x,g,w),null===m?l=x:m.sibling=x,m=x);a&&u.forEach(function(a){return b(e,a)});I&&tg(e,w);return l}function t(e,g,h,k){var l=Ka(h);if(\"function\"!==typeof l)throw Error(p(150));h=l.call(h);if(null==h)throw Error(p(151));for(var u=l=null,m=g,w=g=0,x=null,n=h.next();null!==m&&!n.done;w++,n=h.next()){m.index>w?(x=m,m=null):x=m.sibling;var t=r(e,m,n.value,k);if(null===t){null===m&&(m=x);break}a&&m&&null===t.alternate&&b(e,m);g=f(t,g,w);null===u?l=t:u.sibling=t;u=t;m=x}if(n.done)return c(e,\nm),I&&tg(e,w),l;if(null===m){for(;!n.done;w++,n=h.next())n=q(e,n.value,k),null!==n&&(g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);I&&tg(e,w);return l}for(m=d(e,m);!n.done;w++,n=h.next())n=y(m,e,w,n.value,k),null!==n&&(a&&null!==n.alternate&&m.delete(null===n.key?w:n.key),g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);a&&m.forEach(function(a){return b(e,a)});I&&tg(e,w);return l}function J(a,d,f,h){\"object\"===typeof f&&null!==f&&f.type===ya&&null===f.key&&(f=f.props.children);if(\"object\"===typeof f&&null!==f){switch(f.$$typeof){case va:a:{for(var k=\nf.key,l=d;null!==l;){if(l.key===k){k=f.type;if(k===ya){if(7===l.tag){c(a,l.sibling);d=e(l,f.props.children);d.return=a;a=d;break a}}else if(l.elementType===k||\"object\"===typeof k&&null!==k&&k.$$typeof===Ha&&uh(k)===l.type){c(a,l.sibling);d=e(l,f.props);d.ref=sh(a,l,f);d.return=a;a=d;break a}c(a,l);break}else b(a,l);l=l.sibling}f.type===ya?(d=Ah(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=yh(f.type,f.key,f.props,null,a.mode,h),h.ref=sh(a,d,f),h.return=a,a=h)}return g(a);case wa:a:{for(l=f.key;null!==\nd;){if(d.key===l)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=zh(f,a.mode,h);d.return=a;a=d}return g(a);case Ha:return l=f._init,J(a,d,l(f._payload),h)}if(eb(f))return n(a,d,f,h);if(Ka(f))return t(a,d,f,h);th(a,f)}return\"string\"===typeof f&&\"\"!==f||\"number\"===typeof f?(f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):\n(c(a,d),d=xh(f,a.mode,h),d.return=a,a=d),g(a)):c(a,d)}return J}var Bh=vh(!0),Ch=vh(!1),Dh={},Eh=Uf(Dh),Fh=Uf(Dh),Gh=Uf(Dh);function Hh(a){if(a===Dh)throw Error(p(174));return a}function Ih(a,b){G(Gh,b);G(Fh,a);G(Eh,Dh);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:lb(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=lb(b,a)}E(Eh);G(Eh,b)}function Jh(){E(Eh);E(Fh);E(Gh)}\nfunction Kh(a){Hh(Gh.current);var b=Hh(Eh.current);var c=lb(b,a.type);b!==c&&(G(Fh,a),G(Eh,c))}function Lh(a){Fh.current===a&&(E(Eh),E(Fh))}var M=Uf(0);\nfunction Mh(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&128))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 Nh=[];\nfunction Oh(){for(var a=0;a<Nh.length;a++)Nh[a]._workInProgressVersionPrimary=null;Nh.length=0}var Ph=ua.ReactCurrentDispatcher,Qh=ua.ReactCurrentBatchConfig,Rh=0,N=null,O=null,P=null,Sh=!1,Th=!1,Uh=0,Vh=0;function Q(){throw Error(p(321));}function Wh(a,b){if(null===b)return!1;for(var c=0;c<b.length&&c<a.length;c++)if(!He(a[c],b[c]))return!1;return!0}\nfunction Xh(a,b,c,d,e,f){Rh=f;N=b;b.memoizedState=null;b.updateQueue=null;b.lanes=0;Ph.current=null===a||null===a.memoizedState?Yh:Zh;a=c(d,e);if(Th){f=0;do{Th=!1;Uh=0;if(25<=f)throw Error(p(301));f+=1;P=O=null;b.updateQueue=null;Ph.current=$h;a=c(d,e)}while(Th)}Ph.current=ai;b=null!==O&&null!==O.next;Rh=0;P=O=N=null;Sh=!1;if(b)throw Error(p(300));return a}function bi(){var a=0!==Uh;Uh=0;return a}\nfunction ci(){var a={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};null===P?N.memoizedState=P=a:P=P.next=a;return P}function di(){if(null===O){var a=N.alternate;a=null!==a?a.memoizedState:null}else a=O.next;var b=null===P?N.memoizedState:P.next;if(null!==b)P=b,O=a;else{if(null===a)throw Error(p(310));O=a;a={memoizedState:O.memoizedState,baseState:O.baseState,baseQueue:O.baseQueue,queue:O.queue,next:null};null===P?N.memoizedState=P=a:P=P.next=a}return P}\nfunction ei(a,b){return\"function\"===typeof b?b(a):b}\nfunction fi(a){var b=di(),c=b.queue;if(null===c)throw Error(p(311));c.lastRenderedReducer=a;var d=O,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){f=e.next;d=d.baseState;var h=g=null,k=null,l=f;do{var m=l.lane;if((Rh&m)===m)null!==k&&(k=k.next={lane:0,action:l.action,hasEagerState:l.hasEagerState,eagerState:l.eagerState,next:null}),d=l.hasEagerState?l.eagerState:a(d,l.action);else{var q={lane:m,action:l.action,hasEagerState:l.hasEagerState,\neagerState:l.eagerState,next:null};null===k?(h=k=q,g=d):k=k.next=q;N.lanes|=m;hh|=m}l=l.next}while(null!==l&&l!==f);null===k?g=d:k.next=h;He(d,b.memoizedState)||(Ug=!0);b.memoizedState=d;b.baseState=g;b.baseQueue=k;c.lastRenderedState=d}a=c.interleaved;if(null!==a){e=a;do f=e.lane,N.lanes|=f,hh|=f,e=e.next;while(e!==a)}else null===e&&(c.lanes=0);return[b.memoizedState,c.dispatch]}\nfunction gi(a){var b=di(),c=b.queue;if(null===c)throw Error(p(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]}function hi(){}\nfunction ii(a,b){var c=N,d=di(),e=b(),f=!He(d.memoizedState,e);f&&(d.memoizedState=e,Ug=!0);d=d.queue;ji(ki.bind(null,c,d,a),[a]);if(d.getSnapshot!==b||f||null!==P&&P.memoizedState.tag&1){c.flags|=2048;li(9,mi.bind(null,c,d,e,b),void 0,null);if(null===R)throw Error(p(349));0!==(Rh&30)||ni(c,b,e)}return e}function ni(a,b,c){a.flags|=16384;a={getSnapshot:b,value:c};b=N.updateQueue;null===b?(b={lastEffect:null,stores:null},N.updateQueue=b,b.stores=[a]):(c=b.stores,null===c?b.stores=[a]:c.push(a))}\nfunction mi(a,b,c,d){b.value=c;b.getSnapshot=d;oi(b)&&pi(a)}function ki(a,b,c){return c(function(){oi(b)&&pi(a)})}function oi(a){var b=a.getSnapshot;a=a.value;try{var c=b();return!He(a,c)}catch(d){return!0}}function pi(a){var b=Zg(a,1);null!==b&&mh(b,a,1,-1)}\nfunction qi(a){var b=ci();\"function\"===typeof a&&(a=a());b.memoizedState=b.baseState=a;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:ei,lastRenderedState:a};b.queue=a;a=a.dispatch=ri.bind(null,N,a);return[b.memoizedState,a]}\nfunction li(a,b,c,d){a={tag:a,create:b,destroy:c,deps:d,next:null};b=N.updateQueue;null===b?(b={lastEffect:null,stores:null},N.updateQueue=b,b.lastEffect=a.next=a):(c=b.lastEffect,null===c?b.lastEffect=a.next=a:(d=c.next,c.next=a,a.next=d,b.lastEffect=a));return a}function si(){return di().memoizedState}function ti(a,b,c,d){var e=ci();N.flags|=a;e.memoizedState=li(1|b,c,void 0,void 0===d?null:d)}\nfunction ui(a,b,c,d){var e=di();d=void 0===d?null:d;var f=void 0;if(null!==O){var g=O.memoizedState;f=g.destroy;if(null!==d&&Wh(d,g.deps)){e.memoizedState=li(b,c,f,d);return}}N.flags|=a;e.memoizedState=li(1|b,c,f,d)}function vi(a,b){return ti(8390656,8,a,b)}function ji(a,b){return ui(2048,8,a,b)}function wi(a,b){return ui(4,2,a,b)}function xi(a,b){return ui(4,4,a,b)}\nfunction yi(a,b){if(\"function\"===typeof b)return a=a(),b(a),function(){b(null)};if(null!==b&&void 0!==b)return a=a(),b.current=a,function(){b.current=null}}function zi(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return ui(4,4,yi.bind(null,b,a),c)}function Ai(){}function Bi(a,b){var c=di();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&Wh(b,d[1]))return d[0];c.memoizedState=[a,b];return a}\nfunction Ci(a,b){var c=di();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&Wh(b,d[1]))return d[0];a=a();c.memoizedState=[a,b];return a}function Di(a,b,c){if(0===(Rh&21))return a.baseState&&(a.baseState=!1,Ug=!0),a.memoizedState=c;He(c,b)||(c=yc(),N.lanes|=c,hh|=c,a.baseState=!0);return b}function Ei(a,b){var c=C;C=0!==c&&4>c?c:4;a(!0);var d=Qh.transition;Qh.transition={};try{a(!1),b()}finally{C=c,Qh.transition=d}}function Fi(){return di().memoizedState}\nfunction Gi(a,b,c){var d=lh(a);c={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(Hi(a))Ii(b,c);else if(c=Yg(a,b,c,d),null!==c){var e=L();mh(c,a,d,e);Ji(c,b,d)}}\nfunction ri(a,b,c){var d=lh(a),e={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(Hi(a))Ii(b,e);else{var f=a.alternate;if(0===a.lanes&&(null===f||0===f.lanes)&&(f=b.lastRenderedReducer,null!==f))try{var g=b.lastRenderedState,h=f(g,c);e.hasEagerState=!0;e.eagerState=h;if(He(h,g)){var k=b.interleaved;null===k?(e.next=e,Xg(b)):(e.next=k.next,k.next=e);b.interleaved=e;return}}catch(l){}finally{}c=Yg(a,b,e,d);null!==c&&(e=L(),mh(c,a,d,e),Ji(c,b,d))}}\nfunction Hi(a){var b=a.alternate;return a===N||null!==b&&b===N}function Ii(a,b){Th=Sh=!0;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}function Ji(a,b,c){if(0!==(c&4194240)){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nvar ai={readContext:Vg,useCallback:Q,useContext:Q,useEffect:Q,useImperativeHandle:Q,useInsertionEffect:Q,useLayoutEffect:Q,useMemo:Q,useReducer:Q,useRef:Q,useState:Q,useDebugValue:Q,useDeferredValue:Q,useTransition:Q,useMutableSource:Q,useSyncExternalStore:Q,useId:Q,unstable_isNewReconciler:!1},Yh={readContext:Vg,useCallback:function(a,b){ci().memoizedState=[a,void 0===b?null:b];return a},useContext:Vg,useEffect:vi,useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return ti(4194308,\n4,yi.bind(null,b,a),c)},useLayoutEffect:function(a,b){return ti(4194308,4,a,b)},useInsertionEffect:function(a,b){return ti(4,2,a,b)},useMemo:function(a,b){var c=ci();b=void 0===b?null:b;a=a();c.memoizedState=[a,b];return a},useReducer:function(a,b,c){var d=ci();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:a,lastRenderedState:b};d.queue=a;a=a.dispatch=Gi.bind(null,N,a);return[d.memoizedState,a]},useRef:function(a){var b=\nci();a={current:a};return b.memoizedState=a},useState:qi,useDebugValue:Ai,useDeferredValue:function(a){return ci().memoizedState=a},useTransition:function(){var a=qi(!1),b=a[0];a=Ei.bind(null,a[1]);ci().memoizedState=a;return[b,a]},useMutableSource:function(){},useSyncExternalStore:function(a,b,c){var d=N,e=ci();if(I){if(void 0===c)throw Error(p(407));c=c()}else{c=b();if(null===R)throw Error(p(349));0!==(Rh&30)||ni(d,b,c)}e.memoizedState=c;var f={value:c,getSnapshot:b};e.queue=f;vi(ki.bind(null,d,\nf,a),[a]);d.flags|=2048;li(9,mi.bind(null,d,f,c,b),void 0,null);return c},useId:function(){var a=ci(),b=R.identifierPrefix;if(I){var c=sg;var d=rg;c=(d&~(1<<32-oc(d)-1)).toString(32)+c;b=\":\"+b+\"R\"+c;c=Uh++;0<c&&(b+=\"H\"+c.toString(32));b+=\":\"}else c=Vh++,b=\":\"+b+\"r\"+c.toString(32)+\":\";return a.memoizedState=b},unstable_isNewReconciler:!1},Zh={readContext:Vg,useCallback:Bi,useContext:Vg,useEffect:ji,useImperativeHandle:zi,useInsertionEffect:wi,useLayoutEffect:xi,useMemo:Ci,useReducer:fi,useRef:si,useState:function(){return fi(ei)},\nuseDebugValue:Ai,useDeferredValue:function(a){var b=di();return Di(b,O.memoizedState,a)},useTransition:function(){var a=fi(ei)[0],b=di().memoizedState;return[a,b]},useMutableSource:hi,useSyncExternalStore:ii,useId:Fi,unstable_isNewReconciler:!1},$h={readContext:Vg,useCallback:Bi,useContext:Vg,useEffect:ji,useImperativeHandle:zi,useInsertionEffect:wi,useLayoutEffect:xi,useMemo:Ci,useReducer:gi,useRef:si,useState:function(){return gi(ei)},useDebugValue:Ai,useDeferredValue:function(a){var b=di();return null===\nO?b.memoizedState=a:Di(b,O.memoizedState,a)},useTransition:function(){var a=gi(ei)[0],b=di().memoizedState;return[a,b]},useMutableSource:hi,useSyncExternalStore:ii,useId:Fi,unstable_isNewReconciler:!1};function Ki(a,b){try{var c=\"\",d=b;do c+=Pa(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,digest:null}}function Li(a,b,c){return{value:a,source:null,stack:null!=c?c:null,digest:null!=b?b:null}}\nfunction Mi(a,b){try{console.error(b.value)}catch(c){setTimeout(function(){throw c;})}}var Ni=\"function\"===typeof WeakMap?WeakMap:Map;function Oi(a,b,c){c=ch(-1,c);c.tag=3;c.payload={element:null};var d=b.value;c.callback=function(){Pi||(Pi=!0,Qi=d);Mi(a,b)};return c}\nfunction Ri(a,b,c){c=ch(-1,c);c.tag=3;var d=a.type.getDerivedStateFromError;if(\"function\"===typeof d){var e=b.value;c.payload=function(){return d(e)};c.callback=function(){Mi(a,b)}}var f=a.stateNode;null!==f&&\"function\"===typeof f.componentDidCatch&&(c.callback=function(){Mi(a,b);\"function\"!==typeof d&&(null===Si?Si=new Set([this]):Si.add(this));var c=b.stack;this.componentDidCatch(b.value,{componentStack:null!==c?c:\"\"})});return c}\nfunction Ti(a,b,c){var d=a.pingCache;if(null===d){d=a.pingCache=new Ni;var e=new Set;d.set(b,e)}else e=d.get(b),void 0===e&&(e=new Set,d.set(b,e));e.has(c)||(e.add(c),a=Ui.bind(null,a,b,c),b.then(a,a))}function Vi(a){do{var b;if(b=13===a.tag)b=a.memoizedState,b=null!==b?null!==b.dehydrated?!0:!1:!0;if(b)return a;a=a.return}while(null!==a);return null}\nfunction Wi(a,b,c,d,e){if(0===(a.mode&1))return a===b?a.flags|=65536:(a.flags|=128,c.flags|=131072,c.flags&=-52805,1===c.tag&&(null===c.alternate?c.tag=17:(b=ch(-1,1),b.tag=2,dh(c,b,1))),c.lanes|=1),a;a.flags|=65536;a.lanes=e;return a}var Xi=ua.ReactCurrentOwner,Ug=!1;function Yi(a,b,c,d){b.child=null===a?Ch(b,null,c,d):Bh(b,a.child,c,d)}\nfunction Zi(a,b,c,d,e){c=c.render;var f=b.ref;Tg(b,e);d=Xh(a,b,c,d,f,e);c=bi();if(null!==a&&!Ug)return b.updateQueue=a.updateQueue,b.flags&=-2053,a.lanes&=~e,$i(a,b,e);I&&c&&vg(b);b.flags|=1;Yi(a,b,d,e);return b.child}\nfunction aj(a,b,c,d,e){if(null===a){var f=c.type;if(\"function\"===typeof f&&!bj(f)&&void 0===f.defaultProps&&null===c.compare&&void 0===c.defaultProps)return b.tag=15,b.type=f,cj(a,b,f,d,e);a=yh(c.type,null,d,b,b.mode,e);a.ref=b.ref;a.return=b;return b.child=a}f=a.child;if(0===(a.lanes&e)){var g=f.memoizedProps;c=c.compare;c=null!==c?c:Ie;if(c(g,d)&&a.ref===b.ref)return $i(a,b,e)}b.flags|=1;a=wh(f,d);a.ref=b.ref;a.return=b;return b.child=a}\nfunction cj(a,b,c,d,e){if(null!==a){var f=a.memoizedProps;if(Ie(f,d)&&a.ref===b.ref)if(Ug=!1,b.pendingProps=d=f,0!==(a.lanes&e))0!==(a.flags&131072)&&(Ug=!0);else return b.lanes=a.lanes,$i(a,b,e)}return dj(a,b,c,d,e)}\nfunction ej(a,b,c){var d=b.pendingProps,e=d.children,f=null!==a?a.memoizedState:null;if(\"hidden\"===d.mode)if(0===(b.mode&1))b.memoizedState={baseLanes:0,cachePool:null,transitions:null},G(fj,gj),gj|=c;else{if(0===(c&1073741824))return a=null!==f?f.baseLanes|c:c,b.lanes=b.childLanes=1073741824,b.memoizedState={baseLanes:a,cachePool:null,transitions:null},b.updateQueue=null,G(fj,gj),gj|=a,null;b.memoizedState={baseLanes:0,cachePool:null,transitions:null};d=null!==f?f.baseLanes:c;G(fj,gj);gj|=d}else null!==\nf?(d=f.baseLanes|c,b.memoizedState=null):d=c,G(fj,gj),gj|=d;Yi(a,b,e,c);return b.child}function hj(a,b){var c=b.ref;if(null===a&&null!==c||null!==a&&a.ref!==c)b.flags|=512,b.flags|=2097152}function dj(a,b,c,d,e){var f=Zf(c)?Xf:H.current;f=Yf(b,f);Tg(b,e);c=Xh(a,b,c,d,f,e);d=bi();if(null!==a&&!Ug)return b.updateQueue=a.updateQueue,b.flags&=-2053,a.lanes&=~e,$i(a,b,e);I&&d&&vg(b);b.flags|=1;Yi(a,b,c,e);return b.child}\nfunction ij(a,b,c,d,e){if(Zf(c)){var f=!0;cg(b)}else f=!1;Tg(b,e);if(null===b.stateNode)jj(a,b),ph(b,c,d),rh(b,c,d,e),d=!0;else if(null===a){var g=b.stateNode,h=b.memoizedProps;g.props=h;var k=g.context,l=c.contextType;\"object\"===typeof l&&null!==l?l=Vg(l):(l=Zf(c)?Xf:H.current,l=Yf(b,l));var m=c.getDerivedStateFromProps,q=\"function\"===typeof m||\"function\"===typeof g.getSnapshotBeforeUpdate;q||\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\"function\"!==typeof g.componentWillReceiveProps||\n(h!==d||k!==l)&&qh(b,g,d,l);$g=!1;var r=b.memoizedState;g.state=r;gh(b,d,g,e);k=b.memoizedState;h!==d||r!==k||Wf.current||$g?(\"function\"===typeof m&&(kh(b,c,m,d),k=b.memoizedState),(h=$g||oh(b,c,h,d,r,k,l))?(q||\"function\"!==typeof g.UNSAFE_componentWillMount&&\"function\"!==typeof g.componentWillMount||(\"function\"===typeof g.componentWillMount&&g.componentWillMount(),\"function\"===typeof g.UNSAFE_componentWillMount&&g.UNSAFE_componentWillMount()),\"function\"===typeof g.componentDidMount&&(b.flags|=4194308)):\n(\"function\"===typeof g.componentDidMount&&(b.flags|=4194308),b.memoizedProps=d,b.memoizedState=k),g.props=d,g.state=k,g.context=l,d=h):(\"function\"===typeof g.componentDidMount&&(b.flags|=4194308),d=!1)}else{g=b.stateNode;bh(a,b);h=b.memoizedProps;l=b.type===b.elementType?h:Lg(b.type,h);g.props=l;q=b.pendingProps;r=g.context;k=c.contextType;\"object\"===typeof k&&null!==k?k=Vg(k):(k=Zf(c)?Xf:H.current,k=Yf(b,k));var y=c.getDerivedStateFromProps;(m=\"function\"===typeof y||\"function\"===typeof g.getSnapshotBeforeUpdate)||\n\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\"function\"!==typeof g.componentWillReceiveProps||(h!==q||r!==k)&&qh(b,g,d,k);$g=!1;r=b.memoizedState;g.state=r;gh(b,d,g,e);var n=b.memoizedState;h!==q||r!==n||Wf.current||$g?(\"function\"===typeof y&&(kh(b,c,y,d),n=b.memoizedState),(l=$g||oh(b,c,l,d,r,n,k)||!1)?(m||\"function\"!==typeof g.UNSAFE_componentWillUpdate&&\"function\"!==typeof g.componentWillUpdate||(\"function\"===typeof g.componentWillUpdate&&g.componentWillUpdate(d,n,k),\"function\"===typeof g.UNSAFE_componentWillUpdate&&\ng.UNSAFE_componentWillUpdate(d,n,k)),\"function\"===typeof g.componentDidUpdate&&(b.flags|=4),\"function\"===typeof g.getSnapshotBeforeUpdate&&(b.flags|=1024)):(\"function\"!==typeof g.componentDidUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=1024),b.memoizedProps=d,b.memoizedState=n),g.props=d,g.state=n,g.context=k,d=l):(\"function\"!==typeof g.componentDidUpdate||h===a.memoizedProps&&r===\na.memoizedState||(b.flags|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=1024),d=!1)}return kj(a,b,c,d,f,e)}\nfunction kj(a,b,c,d,e,f){hj(a,b);var g=0!==(b.flags&128);if(!d&&!g)return e&&dg(b,c,!1),$i(a,b,f);d=b.stateNode;Xi.current=b;var h=g&&\"function\"!==typeof c.getDerivedStateFromError?null:d.render();b.flags|=1;null!==a&&g?(b.child=Bh(b,a.child,null,f),b.child=Bh(b,null,h,f)):Yi(a,b,h,f);b.memoizedState=d.state;e&&dg(b,c,!0);return b.child}function lj(a){var b=a.stateNode;b.pendingContext?ag(a,b.pendingContext,b.pendingContext!==b.context):b.context&&ag(a,b.context,!1);Ih(a,b.containerInfo)}\nfunction mj(a,b,c,d,e){Ig();Jg(e);b.flags|=256;Yi(a,b,c,d);return b.child}var nj={dehydrated:null,treeContext:null,retryLane:0};function oj(a){return{baseLanes:a,cachePool:null,transitions:null}}\nfunction pj(a,b,c){var d=b.pendingProps,e=M.current,f=!1,g=0!==(b.flags&128),h;(h=g)||(h=null!==a&&null===a.memoizedState?!1:0!==(e&2));if(h)f=!0,b.flags&=-129;else if(null===a||null!==a.memoizedState)e|=1;G(M,e&1);if(null===a){Eg(b);a=b.memoizedState;if(null!==a&&(a=a.dehydrated,null!==a))return 0===(b.mode&1)?b.lanes=1:\"$!\"===a.data?b.lanes=8:b.lanes=1073741824,null;g=d.children;a=d.fallback;return f?(d=b.mode,f=b.child,g={mode:\"hidden\",children:g},0===(d&1)&&null!==f?(f.childLanes=0,f.pendingProps=\ng):f=qj(g,d,0,null),a=Ah(a,d,c,null),f.return=b,a.return=b,f.sibling=a,b.child=f,b.child.memoizedState=oj(c),b.memoizedState=nj,a):rj(b,g)}e=a.memoizedState;if(null!==e&&(h=e.dehydrated,null!==h))return sj(a,b,g,d,h,e,c);if(f){f=d.fallback;g=b.mode;e=a.child;h=e.sibling;var k={mode:\"hidden\",children:d.children};0===(g&1)&&b.child!==e?(d=b.child,d.childLanes=0,d.pendingProps=k,b.deletions=null):(d=wh(e,k),d.subtreeFlags=e.subtreeFlags&14680064);null!==h?f=wh(h,f):(f=Ah(f,g,c,null),f.flags|=2);f.return=\nb;d.return=b;d.sibling=f;b.child=d;d=f;f=b.child;g=a.child.memoizedState;g=null===g?oj(c):{baseLanes:g.baseLanes|c,cachePool:null,transitions:g.transitions};f.memoizedState=g;f.childLanes=a.childLanes&~c;b.memoizedState=nj;return d}f=a.child;a=f.sibling;d=wh(f,{mode:\"visible\",children:d.children});0===(b.mode&1)&&(d.lanes=c);d.return=b;d.sibling=null;null!==a&&(c=b.deletions,null===c?(b.deletions=[a],b.flags|=16):c.push(a));b.child=d;b.memoizedState=null;return d}\nfunction rj(a,b){b=qj({mode:\"visible\",children:b},a.mode,0,null);b.return=a;return a.child=b}function tj(a,b,c,d){null!==d&&Jg(d);Bh(b,a.child,null,c);a=rj(b,b.pendingProps.children);a.flags|=2;b.memoizedState=null;return a}\nfunction sj(a,b,c,d,e,f,g){if(c){if(b.flags&256)return b.flags&=-257,d=Li(Error(p(422))),tj(a,b,g,d);if(null!==b.memoizedState)return b.child=a.child,b.flags|=128,null;f=d.fallback;e=b.mode;d=qj({mode:\"visible\",children:d.children},e,0,null);f=Ah(f,e,g,null);f.flags|=2;d.return=b;f.return=b;d.sibling=f;b.child=d;0!==(b.mode&1)&&Bh(b,a.child,null,g);b.child.memoizedState=oj(g);b.memoizedState=nj;return f}if(0===(b.mode&1))return tj(a,b,g,null);if(\"$!\"===e.data){d=e.nextSibling&&e.nextSibling.dataset;\nif(d)var h=d.dgst;d=h;f=Error(p(419));d=Li(f,d,void 0);return tj(a,b,g,d)}h=0!==(g&a.childLanes);if(Ug||h){d=R;if(null!==d){switch(g&-g){case 4:e=2;break;case 16:e=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:e=32;break;case 536870912:e=268435456;break;default:e=0}e=0!==(e&(d.suspendedLanes|g))?0:e;\n0!==e&&e!==f.retryLane&&(f.retryLane=e,Zg(a,e),mh(d,a,e,-1))}uj();d=Li(Error(p(421)));return tj(a,b,g,d)}if(\"$?\"===e.data)return b.flags|=128,b.child=a.child,b=vj.bind(null,a),e._reactRetry=b,null;a=f.treeContext;yg=Lf(e.nextSibling);xg=b;I=!0;zg=null;null!==a&&(og[pg++]=rg,og[pg++]=sg,og[pg++]=qg,rg=a.id,sg=a.overflow,qg=b);b=rj(b,d.children);b.flags|=4096;return b}function wj(a,b,c){a.lanes|=b;var d=a.alternate;null!==d&&(d.lanes|=b);Sg(a.return,b,c)}\nfunction xj(a,b,c,d,e){var f=a.memoizedState;null===f?a.memoizedState={isBackwards:b,rendering:null,renderingStartTime:0,last:d,tail:c,tailMode:e}:(f.isBackwards=b,f.rendering=null,f.renderingStartTime=0,f.last=d,f.tail=c,f.tailMode=e)}\nfunction yj(a,b,c){var d=b.pendingProps,e=d.revealOrder,f=d.tail;Yi(a,b,d.children,c);d=M.current;if(0!==(d&2))d=d&1|2,b.flags|=128;else{if(null!==a&&0!==(a.flags&128))a:for(a=b.child;null!==a;){if(13===a.tag)null!==a.memoizedState&&wj(a,c,b);else if(19===a.tag)wj(a,c,b);else if(null!==a.child){a.child.return=a;a=a.child;continue}if(a===b)break a;for(;null===a.sibling;){if(null===a.return||a.return===b)break a;a=a.return}a.sibling.return=a.return;a=a.sibling}d&=1}G(M,d);if(0===(b.mode&1))b.memoizedState=\nnull;else switch(e){case \"forwards\":c=b.child;for(e=null;null!==c;)a=c.alternate,null!==a&&null===Mh(a)&&(e=c),c=c.sibling;c=e;null===c?(e=b.child,b.child=null):(e=c.sibling,c.sibling=null);xj(b,!1,e,c,f);break;case \"backwards\":c=null;e=b.child;for(b.child=null;null!==e;){a=e.alternate;if(null!==a&&null===Mh(a)){b.child=e;break}a=e.sibling;e.sibling=c;c=e;e=a}xj(b,!0,c,null,f);break;case \"together\":xj(b,!1,null,null,void 0);break;default:b.memoizedState=null}return b.child}\nfunction jj(a,b){0===(b.mode&1)&&null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2)}function $i(a,b,c){null!==a&&(b.dependencies=a.dependencies);hh|=b.lanes;if(0===(c&b.childLanes))return null;if(null!==a&&b.child!==a.child)throw Error(p(153));if(null!==b.child){a=b.child;c=wh(a,a.pendingProps);b.child=c;for(c.return=b;null!==a.sibling;)a=a.sibling,c=c.sibling=wh(a,a.pendingProps),c.return=b;c.sibling=null}return b.child}\nfunction zj(a,b,c){switch(b.tag){case 3:lj(b);Ig();break;case 5:Kh(b);break;case 1:Zf(b.type)&&cg(b);break;case 4:Ih(b,b.stateNode.containerInfo);break;case 10:var d=b.type._context,e=b.memoizedProps.value;G(Mg,d._currentValue);d._currentValue=e;break;case 13:d=b.memoizedState;if(null!==d){if(null!==d.dehydrated)return G(M,M.current&1),b.flags|=128,null;if(0!==(c&b.child.childLanes))return pj(a,b,c);G(M,M.current&1);a=$i(a,b,c);return null!==a?a.sibling:null}G(M,M.current&1);break;case 19:d=0!==(c&\nb.childLanes);if(0!==(a.flags&128)){if(d)return yj(a,b,c);b.flags|=128}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null,e.lastEffect=null);G(M,M.current);if(d)break;else return null;case 22:case 23:return b.lanes=0,ej(a,b,c)}return $i(a,b,c)}var Aj,Bj,Cj,Dj;\nAj=function(a,b){for(var c=b.child;null!==c;){if(5===c.tag||6===c.tag)a.appendChild(c.stateNode);else if(4!==c.tag&&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}c.sibling.return=c.return;c=c.sibling}};Bj=function(){};\nCj=function(a,b,c,d){var e=a.memoizedProps;if(e!==d){a=b.stateNode;Hh(Eh.current);var f=null;switch(c){case \"input\":e=Ya(a,e);d=Ya(a,d);f=[];break;case \"select\":e=A({},e,{value:void 0});d=A({},d,{value:void 0});f=[];break;case \"textarea\":e=gb(a,e);d=gb(a,d);f=[];break;default:\"function\"!==typeof e.onClick&&\"function\"===typeof d.onClick&&(a.onclick=Bf)}ub(c,d);var g;c=null;for(l in e)if(!d.hasOwnProperty(l)&&e.hasOwnProperty(l)&&null!=e[l])if(\"style\"===l){var h=e[l];for(g in h)h.hasOwnProperty(g)&&\n(c||(c={}),c[g]=\"\")}else\"dangerouslySetInnerHTML\"!==l&&\"children\"!==l&&\"suppressContentEditableWarning\"!==l&&\"suppressHydrationWarning\"!==l&&\"autoFocus\"!==l&&(ea.hasOwnProperty(l)?f||(f=[]):(f=f||[]).push(l,null));for(l in d){var k=d[l];h=null!=e?e[l]:void 0;if(d.hasOwnProperty(l)&&k!==h&&(null!=k||null!=h))if(\"style\"===l)if(h){for(g in h)!h.hasOwnProperty(g)||k&&k.hasOwnProperty(g)||(c||(c={}),c[g]=\"\");for(g in k)k.hasOwnProperty(g)&&h[g]!==k[g]&&(c||(c={}),c[g]=k[g])}else c||(f||(f=[]),f.push(l,\nc)),c=k;else\"dangerouslySetInnerHTML\"===l?(k=k?k.__html:void 0,h=h?h.__html:void 0,null!=k&&h!==k&&(f=f||[]).push(l,k)):\"children\"===l?\"string\"!==typeof k&&\"number\"!==typeof k||(f=f||[]).push(l,\"\"+k):\"suppressContentEditableWarning\"!==l&&\"suppressHydrationWarning\"!==l&&(ea.hasOwnProperty(l)?(null!=k&&\"onScroll\"===l&&D(\"scroll\",a),f||h===k||(f=[])):(f=f||[]).push(l,k))}c&&(f=f||[]).push(\"style\",c);var l=f;if(b.updateQueue=l)b.flags|=4}};Dj=function(a,b,c,d){c!==d&&(b.flags|=4)};\nfunction Ej(a,b){if(!I)switch(a.tailMode){case \"hidden\":b=a.tail;for(var c=null;null!==b;)null!==b.alternate&&(c=b),b=b.sibling;null===c?a.tail=null:c.sibling=null;break;case \"collapsed\":c=a.tail;for(var d=null;null!==c;)null!==c.alternate&&(d=c),c=c.sibling;null===d?b||null===a.tail?a.tail=null:a.tail.sibling=null:d.sibling=null}}\nfunction S(a){var b=null!==a.alternate&&a.alternate.child===a.child,c=0,d=0;if(b)for(var e=a.child;null!==e;)c|=e.lanes|e.childLanes,d|=e.subtreeFlags&14680064,d|=e.flags&14680064,e.return=a,e=e.sibling;else for(e=a.child;null!==e;)c|=e.lanes|e.childLanes,d|=e.subtreeFlags,d|=e.flags,e.return=a,e=e.sibling;a.subtreeFlags|=d;a.childLanes=c;return b}\nfunction Fj(a,b,c){var d=b.pendingProps;wg(b);switch(b.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return S(b),null;case 1:return Zf(b.type)&&$f(),S(b),null;case 3:d=b.stateNode;Jh();E(Wf);E(H);Oh();d.pendingContext&&(d.context=d.pendingContext,d.pendingContext=null);if(null===a||null===a.child)Gg(b)?b.flags|=4:null===a||a.memoizedState.isDehydrated&&0===(b.flags&256)||(b.flags|=1024,null!==zg&&(Gj(zg),zg=null));Bj(a,b);S(b);return null;case 5:Lh(b);var e=Hh(Gh.current);\nc=b.type;if(null!==a&&null!=b.stateNode)Cj(a,b,c,d,e),a.ref!==b.ref&&(b.flags|=512,b.flags|=2097152);else{if(!d){if(null===b.stateNode)throw Error(p(166));S(b);return null}a=Hh(Eh.current);if(Gg(b)){d=b.stateNode;c=b.type;var f=b.memoizedProps;d[Of]=b;d[Pf]=f;a=0!==(b.mode&1);switch(c){case \"dialog\":D(\"cancel\",d);D(\"close\",d);break;case \"iframe\":case \"object\":case \"embed\":D(\"load\",d);break;case \"video\":case \"audio\":for(e=0;e<lf.length;e++)D(lf[e],d);break;case \"source\":D(\"error\",d);break;case \"img\":case \"image\":case \"link\":D(\"error\",\nd);D(\"load\",d);break;case \"details\":D(\"toggle\",d);break;case \"input\":Za(d,f);D(\"invalid\",d);break;case \"select\":d._wrapperState={wasMultiple:!!f.multiple};D(\"invalid\",d);break;case \"textarea\":hb(d,f),D(\"invalid\",d)}ub(c,f);e=null;for(var g in f)if(f.hasOwnProperty(g)){var h=f[g];\"children\"===g?\"string\"===typeof h?d.textContent!==h&&(!0!==f.suppressHydrationWarning&&Af(d.textContent,h,a),e=[\"children\",h]):\"number\"===typeof h&&d.textContent!==\"\"+h&&(!0!==f.suppressHydrationWarning&&Af(d.textContent,\nh,a),e=[\"children\",\"\"+h]):ea.hasOwnProperty(g)&&null!=h&&\"onScroll\"===g&&D(\"scroll\",d)}switch(c){case \"input\":Va(d);db(d,f,!0);break;case \"textarea\":Va(d);jb(d);break;case \"select\":case \"option\":break;default:\"function\"===typeof f.onClick&&(d.onclick=Bf)}d=e;b.updateQueue=d;null!==d&&(b.flags|=4)}else{g=9===e.nodeType?e:e.ownerDocument;\"http://www.w3.org/1999/xhtml\"===a&&(a=kb(c));\"http://www.w3.org/1999/xhtml\"===a?\"script\"===c?(a=g.createElement(\"div\"),a.innerHTML=\"<script>\\x3c/script>\",a=a.removeChild(a.firstChild)):\n\"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[Of]=b;a[Pf]=d;Aj(a,b,!1,!1);b.stateNode=a;a:{g=vb(c,d);switch(c){case \"dialog\":D(\"cancel\",a);D(\"close\",a);e=d;break;case \"iframe\":case \"object\":case \"embed\":D(\"load\",a);e=d;break;case \"video\":case \"audio\":for(e=0;e<lf.length;e++)D(lf[e],a);e=d;break;case \"source\":D(\"error\",a);e=d;break;case \"img\":case \"image\":case \"link\":D(\"error\",\na);D(\"load\",a);e=d;break;case \"details\":D(\"toggle\",a);e=d;break;case \"input\":Za(a,d);e=Ya(a,d);D(\"invalid\",a);break;case \"option\":e=d;break;case \"select\":a._wrapperState={wasMultiple:!!d.multiple};e=A({},d,{value:void 0});D(\"invalid\",a);break;case \"textarea\":hb(a,d);e=gb(a,d);D(\"invalid\",a);break;default:e=d}ub(c,e);h=e;for(f in h)if(h.hasOwnProperty(f)){var k=h[f];\"style\"===f?sb(a,k):\"dangerouslySetInnerHTML\"===f?(k=k?k.__html:void 0,null!=k&&nb(a,k)):\"children\"===f?\"string\"===typeof k?(\"textarea\"!==\nc||\"\"!==k)&&ob(a,k):\"number\"===typeof k&&ob(a,\"\"+k):\"suppressContentEditableWarning\"!==f&&\"suppressHydrationWarning\"!==f&&\"autoFocus\"!==f&&(ea.hasOwnProperty(f)?null!=k&&\"onScroll\"===f&&D(\"scroll\",a):null!=k&&ta(a,f,k,g))}switch(c){case \"input\":Va(a);db(a,d,!1);break;case \"textarea\":Va(a);jb(a);break;case \"option\":null!=d.value&&a.setAttribute(\"value\",\"\"+Sa(d.value));break;case \"select\":a.multiple=!!d.multiple;f=d.value;null!=f?fb(a,!!d.multiple,f,!1):null!=d.defaultValue&&fb(a,!!d.multiple,d.defaultValue,\n!0);break;default:\"function\"===typeof e.onClick&&(a.onclick=Bf)}switch(c){case \"button\":case \"input\":case \"select\":case \"textarea\":d=!!d.autoFocus;break a;case \"img\":d=!0;break a;default:d=!1}}d&&(b.flags|=4)}null!==b.ref&&(b.flags|=512,b.flags|=2097152)}S(b);return null;case 6:if(a&&null!=b.stateNode)Dj(a,b,a.memoizedProps,d);else{if(\"string\"!==typeof d&&null===b.stateNode)throw Error(p(166));c=Hh(Gh.current);Hh(Eh.current);if(Gg(b)){d=b.stateNode;c=b.memoizedProps;d[Of]=b;if(f=d.nodeValue!==c)if(a=\nxg,null!==a)switch(a.tag){case 3:Af(d.nodeValue,c,0!==(a.mode&1));break;case 5:!0!==a.memoizedProps.suppressHydrationWarning&&Af(d.nodeValue,c,0!==(a.mode&1))}f&&(b.flags|=4)}else d=(9===c.nodeType?c:c.ownerDocument).createTextNode(d),d[Of]=b,b.stateNode=d}S(b);return null;case 13:E(M);d=b.memoizedState;if(null===a||null!==a.memoizedState&&null!==a.memoizedState.dehydrated){if(I&&null!==yg&&0!==(b.mode&1)&&0===(b.flags&128))Hg(),Ig(),b.flags|=98560,f=!1;else if(f=Gg(b),null!==d&&null!==d.dehydrated){if(null===\na){if(!f)throw Error(p(318));f=b.memoizedState;f=null!==f?f.dehydrated:null;if(!f)throw Error(p(317));f[Of]=b}else Ig(),0===(b.flags&128)&&(b.memoizedState=null),b.flags|=4;S(b);f=!1}else null!==zg&&(Gj(zg),zg=null),f=!0;if(!f)return b.flags&65536?b:null}if(0!==(b.flags&128))return b.lanes=c,b;d=null!==d;d!==(null!==a&&null!==a.memoizedState)&&d&&(b.child.flags|=8192,0!==(b.mode&1)&&(null===a||0!==(M.current&1)?0===T&&(T=3):uj()));null!==b.updateQueue&&(b.flags|=4);S(b);return null;case 4:return Jh(),\nBj(a,b),null===a&&sf(b.stateNode.containerInfo),S(b),null;case 10:return Rg(b.type._context),S(b),null;case 17:return Zf(b.type)&&$f(),S(b),null;case 19:E(M);f=b.memoizedState;if(null===f)return S(b),null;d=0!==(b.flags&128);g=f.rendering;if(null===g)if(d)Ej(f,!1);else{if(0!==T||null!==a&&0!==(a.flags&128))for(a=b.child;null!==a;){g=Mh(a);if(null!==g){b.flags|=128;Ej(f,!1);d=g.updateQueue;null!==d&&(b.updateQueue=d,b.flags|=4);b.subtreeFlags=0;d=c;for(c=b.child;null!==c;)f=c,a=d,f.flags&=14680066,\ng=f.alternate,null===g?(f.childLanes=0,f.lanes=a,f.child=null,f.subtreeFlags=0,f.memoizedProps=null,f.memoizedState=null,f.updateQueue=null,f.dependencies=null,f.stateNode=null):(f.childLanes=g.childLanes,f.lanes=g.lanes,f.child=g.child,f.subtreeFlags=0,f.deletions=null,f.memoizedProps=g.memoizedProps,f.memoizedState=g.memoizedState,f.updateQueue=g.updateQueue,f.type=g.type,a=g.dependencies,f.dependencies=null===a?null:{lanes:a.lanes,firstContext:a.firstContext}),c=c.sibling;G(M,M.current&1|2);return b.child}a=\na.sibling}null!==f.tail&&B()>Hj&&(b.flags|=128,d=!0,Ej(f,!1),b.lanes=4194304)}else{if(!d)if(a=Mh(g),null!==a){if(b.flags|=128,d=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Ej(f,!0),null===f.tail&&\"hidden\"===f.tailMode&&!g.alternate&&!I)return S(b),null}else 2*B()-f.renderingStartTime>Hj&&1073741824!==c&&(b.flags|=128,d=!0,Ej(f,!1),b.lanes=4194304);f.isBackwards?(g.sibling=b.child,b.child=g):(c=f.last,null!==c?c.sibling=g:b.child=g,f.last=g)}if(null!==f.tail)return b=f.tail,f.rendering=\nb,f.tail=b.sibling,f.renderingStartTime=B(),b.sibling=null,c=M.current,G(M,d?c&1|2:c&1),b;S(b);return null;case 22:case 23:return Ij(),d=null!==b.memoizedState,null!==a&&null!==a.memoizedState!==d&&(b.flags|=8192),d&&0!==(b.mode&1)?0!==(gj&1073741824)&&(S(b),b.subtreeFlags&6&&(b.flags|=8192)):S(b),null;case 24:return null;case 25:return null}throw Error(p(156,b.tag));}\nfunction Jj(a,b){wg(b);switch(b.tag){case 1:return Zf(b.type)&&$f(),a=b.flags,a&65536?(b.flags=a&-65537|128,b):null;case 3:return Jh(),E(Wf),E(H),Oh(),a=b.flags,0!==(a&65536)&&0===(a&128)?(b.flags=a&-65537|128,b):null;case 5:return Lh(b),null;case 13:E(M);a=b.memoizedState;if(null!==a&&null!==a.dehydrated){if(null===b.alternate)throw Error(p(340));Ig()}a=b.flags;return a&65536?(b.flags=a&-65537|128,b):null;case 19:return E(M),null;case 4:return Jh(),null;case 10:return Rg(b.type._context),null;case 22:case 23:return Ij(),\nnull;case 24:return null;default:return null}}var Kj=!1,U=!1,Lj=\"function\"===typeof WeakSet?WeakSet:Set,V=null;function Mj(a,b){var c=a.ref;if(null!==c)if(\"function\"===typeof c)try{c(null)}catch(d){W(a,b,d)}else c.current=null}function Nj(a,b,c){try{c()}catch(d){W(a,b,d)}}var Oj=!1;\nfunction Pj(a,b){Cf=dd;a=Me();if(Ne(a)){if(\"selectionStart\"in a)var c={start:a.selectionStart,end:a.selectionEnd};else a:{c=(c=a.ownerDocument)&&c.defaultView||window;var d=c.getSelection&&c.getSelection();if(d&&0!==d.rangeCount){c=d.anchorNode;var e=d.anchorOffset,f=d.focusNode;d=d.focusOffset;try{c.nodeType,f.nodeType}catch(F){c=null;break a}var g=0,h=-1,k=-1,l=0,m=0,q=a,r=null;b:for(;;){for(var y;;){q!==c||0!==e&&3!==q.nodeType||(h=g+e);q!==f||0!==d&&3!==q.nodeType||(k=g+d);3===q.nodeType&&(g+=\nq.nodeValue.length);if(null===(y=q.firstChild))break;r=q;q=y}for(;;){if(q===a)break b;r===c&&++l===e&&(h=g);r===f&&++m===d&&(k=g);if(null!==(y=q.nextSibling))break;q=r;r=q.parentNode}q=y}c=-1===h||-1===k?null:{start:h,end:k}}else c=null}c=c||{start:0,end:0}}else c=null;Df={focusedElem:a,selectionRange:c};dd=!1;for(V=b;null!==V;)if(b=V,a=b.child,0!==(b.subtreeFlags&1028)&&null!==a)a.return=b,V=a;else for(;null!==V;){b=V;try{var n=b.alternate;if(0!==(b.flags&1024))switch(b.tag){case 0:case 11:case 15:break;\ncase 1:if(null!==n){var t=n.memoizedProps,J=n.memoizedState,x=b.stateNode,w=x.getSnapshotBeforeUpdate(b.elementType===b.type?t:Lg(b.type,t),J);x.__reactInternalSnapshotBeforeUpdate=w}break;case 3:var u=b.stateNode.containerInfo;1===u.nodeType?u.textContent=\"\":9===u.nodeType&&u.documentElement&&u.removeChild(u.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(p(163));}}catch(F){W(b,b.return,F)}a=b.sibling;if(null!==a){a.return=b.return;V=a;break}V=b.return}n=Oj;Oj=!1;return n}\nfunction Qj(a,b,c){var d=b.updateQueue;d=null!==d?d.lastEffect:null;if(null!==d){var e=d=d.next;do{if((e.tag&a)===a){var f=e.destroy;e.destroy=void 0;void 0!==f&&Nj(b,c,f)}e=e.next}while(e!==d)}}function Rj(a,b){b=b.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){var c=b=b.next;do{if((c.tag&a)===a){var d=c.create;c.destroy=d()}c=c.next}while(c!==b)}}function Sj(a){var b=a.ref;if(null!==b){var c=a.stateNode;switch(a.tag){case 5:a=c;break;default:a=c}\"function\"===typeof b?b(a):b.current=a}}\nfunction Tj(a){var b=a.alternate;null!==b&&(a.alternate=null,Tj(b));a.child=null;a.deletions=null;a.sibling=null;5===a.tag&&(b=a.stateNode,null!==b&&(delete b[Of],delete b[Pf],delete b[of],delete b[Qf],delete b[Rf]));a.stateNode=null;a.return=null;a.dependencies=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.stateNode=null;a.updateQueue=null}function Uj(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction Vj(a){a:for(;;){for(;null===a.sibling;){if(null===a.return||Uj(a.return))return null;a=a.return}a.sibling.return=a.return;for(a=a.sibling;5!==a.tag&&6!==a.tag&&18!==a.tag;){if(a.flags&2)continue a;if(null===a.child||4===a.tag)continue a;else a.child.return=a,a=a.child}if(!(a.flags&2))return a.stateNode}}\nfunction Wj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,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=Bf));else if(4!==d&&(a=a.child,null!==a))for(Wj(a,b,c),a=a.sibling;null!==a;)Wj(a,b,c),a=a.sibling}\nfunction Xj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(Xj(a,b,c),a=a.sibling;null!==a;)Xj(a,b,c),a=a.sibling}var X=null,Yj=!1;function Zj(a,b,c){for(c=c.child;null!==c;)ak(a,b,c),c=c.sibling}\nfunction ak(a,b,c){if(lc&&\"function\"===typeof lc.onCommitFiberUnmount)try{lc.onCommitFiberUnmount(kc,c)}catch(h){}switch(c.tag){case 5:U||Mj(c,b);case 6:var d=X,e=Yj;X=null;Zj(a,b,c);X=d;Yj=e;null!==X&&(Yj?(a=X,c=c.stateNode,8===a.nodeType?a.parentNode.removeChild(c):a.removeChild(c)):X.removeChild(c.stateNode));break;case 18:null!==X&&(Yj?(a=X,c=c.stateNode,8===a.nodeType?Kf(a.parentNode,c):1===a.nodeType&&Kf(a,c),bd(a)):Kf(X,c.stateNode));break;case 4:d=X;e=Yj;X=c.stateNode.containerInfo;Yj=!0;\nZj(a,b,c);X=d;Yj=e;break;case 0:case 11:case 14:case 15:if(!U&&(d=c.updateQueue,null!==d&&(d=d.lastEffect,null!==d))){e=d=d.next;do{var f=e,g=f.destroy;f=f.tag;void 0!==g&&(0!==(f&2)?Nj(c,b,g):0!==(f&4)&&Nj(c,b,g));e=e.next}while(e!==d)}Zj(a,b,c);break;case 1:if(!U&&(Mj(c,b),d=c.stateNode,\"function\"===typeof d.componentWillUnmount))try{d.props=c.memoizedProps,d.state=c.memoizedState,d.componentWillUnmount()}catch(h){W(c,b,h)}Zj(a,b,c);break;case 21:Zj(a,b,c);break;case 22:c.mode&1?(U=(d=U)||null!==\nc.memoizedState,Zj(a,b,c),U=d):Zj(a,b,c);break;default:Zj(a,b,c)}}function bk(a){var b=a.updateQueue;if(null!==b){a.updateQueue=null;var c=a.stateNode;null===c&&(c=a.stateNode=new Lj);b.forEach(function(b){var d=ck.bind(null,a,b);c.has(b)||(c.add(b),b.then(d,d))})}}\nfunction dk(a,b){var c=b.deletions;if(null!==c)for(var d=0;d<c.length;d++){var e=c[d];try{var f=a,g=b,h=g;a:for(;null!==h;){switch(h.tag){case 5:X=h.stateNode;Yj=!1;break a;case 3:X=h.stateNode.containerInfo;Yj=!0;break a;case 4:X=h.stateNode.containerInfo;Yj=!0;break a}h=h.return}if(null===X)throw Error(p(160));ak(f,g,e);X=null;Yj=!1;var k=e.alternate;null!==k&&(k.return=null);e.return=null}catch(l){W(e,b,l)}}if(b.subtreeFlags&12854)for(b=b.child;null!==b;)ek(b,a),b=b.sibling}\nfunction ek(a,b){var c=a.alternate,d=a.flags;switch(a.tag){case 0:case 11:case 14:case 15:dk(b,a);fk(a);if(d&4){try{Qj(3,a,a.return),Rj(3,a)}catch(t){W(a,a.return,t)}try{Qj(5,a,a.return)}catch(t){W(a,a.return,t)}}break;case 1:dk(b,a);fk(a);d&512&&null!==c&&Mj(c,c.return);break;case 5:dk(b,a);fk(a);d&512&&null!==c&&Mj(c,c.return);if(a.flags&32){var e=a.stateNode;try{ob(e,\"\")}catch(t){W(a,a.return,t)}}if(d&4&&(e=a.stateNode,null!=e)){var f=a.memoizedProps,g=null!==c?c.memoizedProps:f,h=a.type,k=a.updateQueue;\na.updateQueue=null;if(null!==k)try{\"input\"===h&&\"radio\"===f.type&&null!=f.name&&ab(e,f);vb(h,g);var l=vb(h,f);for(g=0;g<k.length;g+=2){var m=k[g],q=k[g+1];\"style\"===m?sb(e,q):\"dangerouslySetInnerHTML\"===m?nb(e,q):\"children\"===m?ob(e,q):ta(e,m,q,l)}switch(h){case \"input\":bb(e,f);break;case \"textarea\":ib(e,f);break;case \"select\":var r=e._wrapperState.wasMultiple;e._wrapperState.wasMultiple=!!f.multiple;var y=f.value;null!=y?fb(e,!!f.multiple,y,!1):r!==!!f.multiple&&(null!=f.defaultValue?fb(e,!!f.multiple,\nf.defaultValue,!0):fb(e,!!f.multiple,f.multiple?[]:\"\",!1))}e[Pf]=f}catch(t){W(a,a.return,t)}}break;case 6:dk(b,a);fk(a);if(d&4){if(null===a.stateNode)throw Error(p(162));e=a.stateNode;f=a.memoizedProps;try{e.nodeValue=f}catch(t){W(a,a.return,t)}}break;case 3:dk(b,a);fk(a);if(d&4&&null!==c&&c.memoizedState.isDehydrated)try{bd(b.containerInfo)}catch(t){W(a,a.return,t)}break;case 4:dk(b,a);fk(a);break;case 13:dk(b,a);fk(a);e=a.child;e.flags&8192&&(f=null!==e.memoizedState,e.stateNode.isHidden=f,!f||\nnull!==e.alternate&&null!==e.alternate.memoizedState||(gk=B()));d&4&&bk(a);break;case 22:m=null!==c&&null!==c.memoizedState;a.mode&1?(U=(l=U)||m,dk(b,a),U=l):dk(b,a);fk(a);if(d&8192){l=null!==a.memoizedState;if((a.stateNode.isHidden=l)&&!m&&0!==(a.mode&1))for(V=a,m=a.child;null!==m;){for(q=V=m;null!==V;){r=V;y=r.child;switch(r.tag){case 0:case 11:case 14:case 15:Qj(4,r,r.return);break;case 1:Mj(r,r.return);var n=r.stateNode;if(\"function\"===typeof n.componentWillUnmount){d=r;c=r.return;try{b=d,n.props=\nb.memoizedProps,n.state=b.memoizedState,n.componentWillUnmount()}catch(t){W(d,c,t)}}break;case 5:Mj(r,r.return);break;case 22:if(null!==r.memoizedState){hk(q);continue}}null!==y?(y.return=r,V=y):hk(q)}m=m.sibling}a:for(m=null,q=a;;){if(5===q.tag){if(null===m){m=q;try{e=q.stateNode,l?(f=e.style,\"function\"===typeof f.setProperty?f.setProperty(\"display\",\"none\",\"important\"):f.display=\"none\"):(h=q.stateNode,k=q.memoizedProps.style,g=void 0!==k&&null!==k&&k.hasOwnProperty(\"display\")?k.display:null,h.style.display=\nrb(\"display\",g))}catch(t){W(a,a.return,t)}}}else if(6===q.tag){if(null===m)try{q.stateNode.nodeValue=l?\"\":q.memoizedProps}catch(t){W(a,a.return,t)}}else if((22!==q.tag&&23!==q.tag||null===q.memoizedState||q===a)&&null!==q.child){q.child.return=q;q=q.child;continue}if(q===a)break a;for(;null===q.sibling;){if(null===q.return||q.return===a)break a;m===q&&(m=null);q=q.return}m===q&&(m=null);q.sibling.return=q.return;q=q.sibling}}break;case 19:dk(b,a);fk(a);d&4&&bk(a);break;case 21:break;default:dk(b,\na),fk(a)}}function fk(a){var b=a.flags;if(b&2){try{a:{for(var c=a.return;null!==c;){if(Uj(c)){var d=c;break a}c=c.return}throw Error(p(160));}switch(d.tag){case 5:var e=d.stateNode;d.flags&32&&(ob(e,\"\"),d.flags&=-33);var f=Vj(a);Xj(a,f,e);break;case 3:case 4:var g=d.stateNode.containerInfo,h=Vj(a);Wj(a,h,g);break;default:throw Error(p(161));}}catch(k){W(a,a.return,k)}a.flags&=-3}b&4096&&(a.flags&=-4097)}function ik(a,b,c){V=a;jk(a,b,c)}\nfunction jk(a,b,c){for(var d=0!==(a.mode&1);null!==V;){var e=V,f=e.child;if(22===e.tag&&d){var g=null!==e.memoizedState||Kj;if(!g){var h=e.alternate,k=null!==h&&null!==h.memoizedState||U;h=Kj;var l=U;Kj=g;if((U=k)&&!l)for(V=e;null!==V;)g=V,k=g.child,22===g.tag&&null!==g.memoizedState?kk(e):null!==k?(k.return=g,V=k):kk(e);for(;null!==f;)V=f,jk(f,b,c),f=f.sibling;V=e;Kj=h;U=l}lk(a,b,c)}else 0!==(e.subtreeFlags&8772)&&null!==f?(f.return=e,V=f):lk(a,b,c)}}\nfunction lk(a){for(;null!==V;){var b=V;if(0!==(b.flags&8772)){var c=b.alternate;try{if(0!==(b.flags&8772))switch(b.tag){case 0:case 11:case 15:U||Rj(5,b);break;case 1:var d=b.stateNode;if(b.flags&4&&!U)if(null===c)d.componentDidMount();else{var e=b.elementType===b.type?c.memoizedProps:Lg(b.type,c.memoizedProps);d.componentDidUpdate(e,c.memoizedState,d.__reactInternalSnapshotBeforeUpdate)}var f=b.updateQueue;null!==f&&ih(b,f,d);break;case 3:var g=b.updateQueue;if(null!==g){c=null;if(null!==b.child)switch(b.child.tag){case 5:c=\nb.child.stateNode;break;case 1:c=b.child.stateNode}ih(b,g,c)}break;case 5:var h=b.stateNode;if(null===c&&b.flags&4){c=h;var k=b.memoizedProps;switch(b.type){case \"button\":case \"input\":case \"select\":case \"textarea\":k.autoFocus&&c.focus();break;case \"img\":k.src&&(c.src=k.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(null===b.memoizedState){var l=b.alternate;if(null!==l){var m=l.memoizedState;if(null!==m){var q=m.dehydrated;null!==q&&bd(q)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;\ndefault:throw Error(p(163));}U||b.flags&512&&Sj(b)}catch(r){W(b,b.return,r)}}if(b===a){V=null;break}c=b.sibling;if(null!==c){c.return=b.return;V=c;break}V=b.return}}function hk(a){for(;null!==V;){var b=V;if(b===a){V=null;break}var c=b.sibling;if(null!==c){c.return=b.return;V=c;break}V=b.return}}\nfunction kk(a){for(;null!==V;){var b=V;try{switch(b.tag){case 0:case 11:case 15:var c=b.return;try{Rj(4,b)}catch(k){W(b,c,k)}break;case 1:var d=b.stateNode;if(\"function\"===typeof d.componentDidMount){var e=b.return;try{d.componentDidMount()}catch(k){W(b,e,k)}}var f=b.return;try{Sj(b)}catch(k){W(b,f,k)}break;case 5:var g=b.return;try{Sj(b)}catch(k){W(b,g,k)}}}catch(k){W(b,b.return,k)}if(b===a){V=null;break}var h=b.sibling;if(null!==h){h.return=b.return;V=h;break}V=b.return}}\nvar mk=Math.ceil,nk=ua.ReactCurrentDispatcher,ok=ua.ReactCurrentOwner,pk=ua.ReactCurrentBatchConfig,K=0,R=null,Y=null,Z=0,gj=0,fj=Uf(0),T=0,qk=null,hh=0,rk=0,sk=0,tk=null,uk=null,gk=0,Hj=Infinity,vk=null,Pi=!1,Qi=null,Si=null,wk=!1,xk=null,yk=0,zk=0,Ak=null,Bk=-1,Ck=0;function L(){return 0!==(K&6)?B():-1!==Bk?Bk:Bk=B()}\nfunction lh(a){if(0===(a.mode&1))return 1;if(0!==(K&2)&&0!==Z)return Z&-Z;if(null!==Kg.transition)return 0===Ck&&(Ck=yc()),Ck;a=C;if(0!==a)return a;a=window.event;a=void 0===a?16:jd(a.type);return a}function mh(a,b,c,d){if(50<zk)throw zk=0,Ak=null,Error(p(185));Ac(a,c,d);if(0===(K&2)||a!==R)a===R&&(0===(K&2)&&(rk|=c),4===T&&Dk(a,Z)),Ek(a,d),1===c&&0===K&&0===(b.mode&1)&&(Hj=B()+500,fg&&jg())}\nfunction Ek(a,b){var c=a.callbackNode;wc(a,b);var d=uc(a,a===R?Z:0);if(0===d)null!==c&&bc(c),a.callbackNode=null,a.callbackPriority=0;else if(b=d&-d,a.callbackPriority!==b){null!=c&&bc(c);if(1===b)0===a.tag?ig(Fk.bind(null,a)):hg(Fk.bind(null,a)),Jf(function(){0===(K&6)&&jg()}),c=null;else{switch(Dc(d)){case 1:c=fc;break;case 4:c=gc;break;case 16:c=hc;break;case 536870912:c=jc;break;default:c=hc}c=Gk(c,Hk.bind(null,a))}a.callbackPriority=b;a.callbackNode=c}}\nfunction Hk(a,b){Bk=-1;Ck=0;if(0!==(K&6))throw Error(p(327));var c=a.callbackNode;if(Ik()&&a.callbackNode!==c)return null;var d=uc(a,a===R?Z:0);if(0===d)return null;if(0!==(d&30)||0!==(d&a.expiredLanes)||b)b=Jk(a,d);else{b=d;var e=K;K|=2;var f=Kk();if(R!==a||Z!==b)vk=null,Hj=B()+500,Lk(a,b);do try{Mk();break}catch(h){Nk(a,h)}while(1);Qg();nk.current=f;K=e;null!==Y?b=0:(R=null,Z=0,b=T)}if(0!==b){2===b&&(e=xc(a),0!==e&&(d=e,b=Ok(a,e)));if(1===b)throw c=qk,Lk(a,0),Dk(a,d),Ek(a,B()),c;if(6===b)Dk(a,d);\nelse{e=a.current.alternate;if(0===(d&30)&&!Pk(e)&&(b=Jk(a,d),2===b&&(f=xc(a),0!==f&&(d=f,b=Ok(a,f))),1===b))throw c=qk,Lk(a,0),Dk(a,d),Ek(a,B()),c;a.finishedWork=e;a.finishedLanes=d;switch(b){case 0:case 1:throw Error(p(345));case 2:Qk(a,uk,vk);break;case 3:Dk(a,d);if((d&130023424)===d&&(b=gk+500-B(),10<b)){if(0!==uc(a,0))break;e=a.suspendedLanes;if((e&d)!==d){L();a.pingedLanes|=a.suspendedLanes&e;break}a.timeoutHandle=Ff(Qk.bind(null,a,uk,vk),b);break}Qk(a,uk,vk);break;case 4:Dk(a,d);if((d&4194240)===\nd)break;b=a.eventTimes;for(e=-1;0<d;){var g=31-oc(d);f=1<<g;g=b[g];g>e&&(e=g);d&=~f}d=e;d=B()-d;d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*mk(d/1960))-d;if(10<d){a.timeoutHandle=Ff(Qk.bind(null,a,uk,vk),d);break}Qk(a,uk,vk);break;case 5:Qk(a,uk,vk);break;default:throw Error(p(329));}}}Ek(a,B());return a.callbackNode===c?Hk.bind(null,a):null}\nfunction Ok(a,b){var c=tk;a.current.memoizedState.isDehydrated&&(Lk(a,b).flags|=256);a=Jk(a,b);2!==a&&(b=uk,uk=c,null!==b&&Gj(b));return a}function Gj(a){null===uk?uk=a:uk.push.apply(uk,a)}\nfunction Pk(a){for(var b=a;;){if(b.flags&16384){var c=b.updateQueue;if(null!==c&&(c=c.stores,null!==c))for(var d=0;d<c.length;d++){var e=c[d],f=e.getSnapshot;e=e.value;try{if(!He(f(),e))return!1}catch(g){return!1}}}c=b.child;if(b.subtreeFlags&16384&&null!==c)c.return=b,b=c;else{if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return!0;b=b.return}b.sibling.return=b.return;b=b.sibling}}return!0}\nfunction Dk(a,b){b&=~sk;b&=~rk;a.suspendedLanes|=b;a.pingedLanes&=~b;for(a=a.expirationTimes;0<b;){var c=31-oc(b),d=1<<c;a[c]=-1;b&=~d}}function Fk(a){if(0!==(K&6))throw Error(p(327));Ik();var b=uc(a,0);if(0===(b&1))return Ek(a,B()),null;var c=Jk(a,b);if(0!==a.tag&&2===c){var d=xc(a);0!==d&&(b=d,c=Ok(a,d))}if(1===c)throw c=qk,Lk(a,0),Dk(a,b),Ek(a,B()),c;if(6===c)throw Error(p(345));a.finishedWork=a.current.alternate;a.finishedLanes=b;Qk(a,uk,vk);Ek(a,B());return null}\nfunction Rk(a,b){var c=K;K|=1;try{return a(b)}finally{K=c,0===K&&(Hj=B()+500,fg&&jg())}}function Sk(a){null!==xk&&0===xk.tag&&0===(K&6)&&Ik();var b=K;K|=1;var c=pk.transition,d=C;try{if(pk.transition=null,C=1,a)return a()}finally{C=d,pk.transition=c,K=b,0===(K&6)&&jg()}}function Ij(){gj=fj.current;E(fj)}\nfunction Lk(a,b){a.finishedWork=null;a.finishedLanes=0;var c=a.timeoutHandle;-1!==c&&(a.timeoutHandle=-1,Gf(c));if(null!==Y)for(c=Y.return;null!==c;){var d=c;wg(d);switch(d.tag){case 1:d=d.type.childContextTypes;null!==d&&void 0!==d&&$f();break;case 3:Jh();E(Wf);E(H);Oh();break;case 5:Lh(d);break;case 4:Jh();break;case 13:E(M);break;case 19:E(M);break;case 10:Rg(d.type._context);break;case 22:case 23:Ij()}c=c.return}R=a;Y=a=wh(a.current,null);Z=gj=b;T=0;qk=null;sk=rk=hh=0;uk=tk=null;if(null!==Wg){for(b=\n0;b<Wg.length;b++)if(c=Wg[b],d=c.interleaved,null!==d){c.interleaved=null;var e=d.next,f=c.pending;if(null!==f){var g=f.next;f.next=e;d.next=g}c.pending=d}Wg=null}return a}\nfunction Nk(a,b){do{var c=Y;try{Qg();Ph.current=ai;if(Sh){for(var d=N.memoizedState;null!==d;){var e=d.queue;null!==e&&(e.pending=null);d=d.next}Sh=!1}Rh=0;P=O=N=null;Th=!1;Uh=0;ok.current=null;if(null===c||null===c.return){T=1;qk=b;Y=null;break}a:{var f=a,g=c.return,h=c,k=b;b=Z;h.flags|=32768;if(null!==k&&\"object\"===typeof k&&\"function\"===typeof k.then){var l=k,m=h,q=m.tag;if(0===(m.mode&1)&&(0===q||11===q||15===q)){var r=m.alternate;r?(m.updateQueue=r.updateQueue,m.memoizedState=r.memoizedState,\nm.lanes=r.lanes):(m.updateQueue=null,m.memoizedState=null)}var y=Vi(g);if(null!==y){y.flags&=-257;Wi(y,g,h,f,b);y.mode&1&&Ti(f,l,b);b=y;k=l;var n=b.updateQueue;if(null===n){var t=new Set;t.add(k);b.updateQueue=t}else n.add(k);break a}else{if(0===(b&1)){Ti(f,l,b);uj();break a}k=Error(p(426))}}else if(I&&h.mode&1){var J=Vi(g);if(null!==J){0===(J.flags&65536)&&(J.flags|=256);Wi(J,g,h,f,b);Jg(Ki(k,h));break a}}f=k=Ki(k,h);4!==T&&(T=2);null===tk?tk=[f]:tk.push(f);f=g;do{switch(f.tag){case 3:f.flags|=65536;\nb&=-b;f.lanes|=b;var x=Oi(f,k,b);fh(f,x);break a;case 1:h=k;var w=f.type,u=f.stateNode;if(0===(f.flags&128)&&(\"function\"===typeof w.getDerivedStateFromError||null!==u&&\"function\"===typeof u.componentDidCatch&&(null===Si||!Si.has(u)))){f.flags|=65536;b&=-b;f.lanes|=b;var F=Ri(f,h,b);fh(f,F);break a}}f=f.return}while(null!==f)}Tk(c)}catch(na){b=na;Y===c&&null!==c&&(Y=c=c.return);continue}break}while(1)}function Kk(){var a=nk.current;nk.current=ai;return null===a?ai:a}\nfunction uj(){if(0===T||3===T||2===T)T=4;null===R||0===(hh&268435455)&&0===(rk&268435455)||Dk(R,Z)}function Jk(a,b){var c=K;K|=2;var d=Kk();if(R!==a||Z!==b)vk=null,Lk(a,b);do try{Uk();break}catch(e){Nk(a,e)}while(1);Qg();K=c;nk.current=d;if(null!==Y)throw Error(p(261));R=null;Z=0;return T}function Uk(){for(;null!==Y;)Vk(Y)}function Mk(){for(;null!==Y&&!cc();)Vk(Y)}function Vk(a){var b=Wk(a.alternate,a,gj);a.memoizedProps=a.pendingProps;null===b?Tk(a):Y=b;ok.current=null}\nfunction Tk(a){var b=a;do{var c=b.alternate;a=b.return;if(0===(b.flags&32768)){if(c=Fj(c,b,gj),null!==c){Y=c;return}}else{c=Jj(c,b);if(null!==c){c.flags&=32767;Y=c;return}if(null!==a)a.flags|=32768,a.subtreeFlags=0,a.deletions=null;else{T=6;Y=null;return}}b=b.sibling;if(null!==b){Y=b;return}Y=b=a}while(null!==b);0===T&&(T=5)}function Qk(a,b,c){var d=C,e=pk.transition;try{pk.transition=null,C=1,Xk(a,b,c,d)}finally{pk.transition=e,C=d}return null}\nfunction Xk(a,b,c,d){do Ik();while(null!==xk);if(0!==(K&6))throw Error(p(327));c=a.finishedWork;var e=a.finishedLanes;if(null===c)return null;a.finishedWork=null;a.finishedLanes=0;if(c===a.current)throw Error(p(177));a.callbackNode=null;a.callbackPriority=0;var f=c.lanes|c.childLanes;Bc(a,f);a===R&&(Y=R=null,Z=0);0===(c.subtreeFlags&2064)&&0===(c.flags&2064)||wk||(wk=!0,Gk(hc,function(){Ik();return null}));f=0!==(c.flags&15990);if(0!==(c.subtreeFlags&15990)||f){f=pk.transition;pk.transition=null;\nvar g=C;C=1;var h=K;K|=4;ok.current=null;Pj(a,c);ek(c,a);Oe(Df);dd=!!Cf;Df=Cf=null;a.current=c;ik(c,a,e);dc();K=h;C=g;pk.transition=f}else a.current=c;wk&&(wk=!1,xk=a,yk=e);f=a.pendingLanes;0===f&&(Si=null);mc(c.stateNode,d);Ek(a,B());if(null!==b)for(d=a.onRecoverableError,c=0;c<b.length;c++)e=b[c],d(e.value,{componentStack:e.stack,digest:e.digest});if(Pi)throw Pi=!1,a=Qi,Qi=null,a;0!==(yk&1)&&0!==a.tag&&Ik();f=a.pendingLanes;0!==(f&1)?a===Ak?zk++:(zk=0,Ak=a):zk=0;jg();return null}\nfunction Ik(){if(null!==xk){var a=Dc(yk),b=pk.transition,c=C;try{pk.transition=null;C=16>a?16:a;if(null===xk)var d=!1;else{a=xk;xk=null;yk=0;if(0!==(K&6))throw Error(p(331));var e=K;K|=4;for(V=a.current;null!==V;){var f=V,g=f.child;if(0!==(V.flags&16)){var h=f.deletions;if(null!==h){for(var k=0;k<h.length;k++){var l=h[k];for(V=l;null!==V;){var m=V;switch(m.tag){case 0:case 11:case 15:Qj(8,m,f)}var q=m.child;if(null!==q)q.return=m,V=q;else for(;null!==V;){m=V;var r=m.sibling,y=m.return;Tj(m);if(m===\nl){V=null;break}if(null!==r){r.return=y;V=r;break}V=y}}}var n=f.alternate;if(null!==n){var t=n.child;if(null!==t){n.child=null;do{var J=t.sibling;t.sibling=null;t=J}while(null!==t)}}V=f}}if(0!==(f.subtreeFlags&2064)&&null!==g)g.return=f,V=g;else b:for(;null!==V;){f=V;if(0!==(f.flags&2048))switch(f.tag){case 0:case 11:case 15:Qj(9,f,f.return)}var x=f.sibling;if(null!==x){x.return=f.return;V=x;break b}V=f.return}}var w=a.current;for(V=w;null!==V;){g=V;var u=g.child;if(0!==(g.subtreeFlags&2064)&&null!==\nu)u.return=g,V=u;else b:for(g=w;null!==V;){h=V;if(0!==(h.flags&2048))try{switch(h.tag){case 0:case 11:case 15:Rj(9,h)}}catch(na){W(h,h.return,na)}if(h===g){V=null;break b}var F=h.sibling;if(null!==F){F.return=h.return;V=F;break b}V=h.return}}K=e;jg();if(lc&&\"function\"===typeof lc.onPostCommitFiberRoot)try{lc.onPostCommitFiberRoot(kc,a)}catch(na){}d=!0}return d}finally{C=c,pk.transition=b}}return!1}function Yk(a,b,c){b=Ki(c,b);b=Oi(a,b,1);a=dh(a,b,1);b=L();null!==a&&(Ac(a,1,b),Ek(a,b))}\nfunction W(a,b,c){if(3===a.tag)Yk(a,a,c);else for(;null!==b;){if(3===b.tag){Yk(b,a,c);break}else if(1===b.tag){var d=b.stateNode;if(\"function\"===typeof b.type.getDerivedStateFromError||\"function\"===typeof d.componentDidCatch&&(null===Si||!Si.has(d))){a=Ki(c,a);a=Ri(b,a,1);b=dh(b,a,1);a=L();null!==b&&(Ac(b,1,a),Ek(b,a));break}}b=b.return}}\nfunction Ui(a,b,c){var d=a.pingCache;null!==d&&d.delete(b);b=L();a.pingedLanes|=a.suspendedLanes&c;R===a&&(Z&c)===c&&(4===T||3===T&&(Z&130023424)===Z&&500>B()-gk?Lk(a,0):sk|=c);Ek(a,b)}function Zk(a,b){0===b&&(0===(a.mode&1)?b=1:(b=sc,sc<<=1,0===(sc&130023424)&&(sc=4194304)));var c=L();a=Zg(a,b);null!==a&&(Ac(a,b,c),Ek(a,c))}function vj(a){var b=a.memoizedState,c=0;null!==b&&(c=b.retryLane);Zk(a,c)}\nfunction ck(a,b){var c=0;switch(a.tag){case 13:var d=a.stateNode;var e=a.memoizedState;null!==e&&(c=e.retryLane);break;case 19:d=a.stateNode;break;default:throw Error(p(314));}null!==d&&d.delete(b);Zk(a,c)}var Wk;\nWk=function(a,b,c){if(null!==a)if(a.memoizedProps!==b.pendingProps||Wf.current)Ug=!0;else{if(0===(a.lanes&c)&&0===(b.flags&128))return Ug=!1,zj(a,b,c);Ug=0!==(a.flags&131072)?!0:!1}else Ug=!1,I&&0!==(b.flags&1048576)&&ug(b,ng,b.index);b.lanes=0;switch(b.tag){case 2:var d=b.type;jj(a,b);a=b.pendingProps;var e=Yf(b,H.current);Tg(b,c);e=Xh(null,b,d,a,e,c);var f=bi();b.flags|=1;\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof?(b.tag=1,b.memoizedState=null,b.updateQueue=\nnull,Zf(d)?(f=!0,cg(b)):f=!1,b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null,ah(b),e.updater=nh,b.stateNode=e,e._reactInternals=b,rh(b,d,a,c),b=kj(null,b,d,!0,f,c)):(b.tag=0,I&&f&&vg(b),Yi(null,b,e,c),b=b.child);return b;case 16:d=b.elementType;a:{jj(a,b);a=b.pendingProps;e=d._init;d=e(d._payload);b.type=d;e=b.tag=$k(d);a=Lg(d,a);switch(e){case 0:b=dj(null,b,d,a,c);break a;case 1:b=ij(null,b,d,a,c);break a;case 11:b=Zi(null,b,d,a,c);break a;case 14:b=aj(null,b,d,Lg(d.type,a),c);break a}throw Error(p(306,\nd,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),dj(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),ij(a,b,d,e,c);case 3:a:{lj(b);if(null===a)throw Error(p(387));d=b.pendingProps;f=b.memoizedState;e=f.element;bh(a,b);gh(b,d,null,c);var g=b.memoizedState;d=g.element;if(f.isDehydrated)if(f={element:d,isDehydrated:!1,cache:g.cache,pendingSuspenseBoundaries:g.pendingSuspenseBoundaries,transitions:g.transitions},b.updateQueue.baseState=\nf,b.memoizedState=f,b.flags&256){e=Ki(Error(p(423)),b);b=mj(a,b,d,c,e);break a}else if(d!==e){e=Ki(Error(p(424)),b);b=mj(a,b,d,c,e);break a}else for(yg=Lf(b.stateNode.containerInfo.firstChild),xg=b,I=!0,zg=null,c=Ch(b,null,d,c),b.child=c;c;)c.flags=c.flags&-3|4096,c=c.sibling;else{Ig();if(d===e){b=$i(a,b,c);break a}Yi(a,b,d,c)}b=b.child}return b;case 5:return Kh(b),null===a&&Eg(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:null,g=e.children,Ef(d,e)?g=null:null!==f&&Ef(d,f)&&(b.flags|=32),\nhj(a,b),Yi(a,b,g,c),b.child;case 6:return null===a&&Eg(b),null;case 13:return pj(a,b,c);case 4:return Ih(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Bh(b,null,d,c):Yi(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),Zi(a,b,d,e,c);case 7:return Yi(a,b,b.pendingProps,c),b.child;case 8:return Yi(a,b,b.pendingProps.children,c),b.child;case 12:return Yi(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;f=b.memoizedProps;\ng=e.value;G(Mg,d._currentValue);d._currentValue=g;if(null!==f)if(He(f.value,g)){if(f.children===e.children&&!Wf.current){b=$i(a,b,c);break a}}else for(f=b.child,null!==f&&(f.return=b);null!==f;){var h=f.dependencies;if(null!==h){g=f.child;for(var k=h.firstContext;null!==k;){if(k.context===d){if(1===f.tag){k=ch(-1,c&-c);k.tag=2;var l=f.updateQueue;if(null!==l){l=l.shared;var m=l.pending;null===m?k.next=k:(k.next=m.next,m.next=k);l.pending=k}}f.lanes|=c;k=f.alternate;null!==k&&(k.lanes|=c);Sg(f.return,\nc,b);h.lanes|=c;break}k=k.next}}else if(10===f.tag)g=f.type===b.type?null:f.child;else if(18===f.tag){g=f.return;if(null===g)throw Error(p(341));g.lanes|=c;h=g.alternate;null!==h&&(h.lanes|=c);Sg(g,c,b);g=f.sibling}else g=f.child;if(null!==g)g.return=f;else for(g=f;null!==g;){if(g===b){g=null;break}f=g.sibling;if(null!==f){f.return=g.return;g=f;break}g=g.return}f=g}Yi(a,b,e.children,c);b=b.child}return b;case 9:return e=b.type,d=b.pendingProps.children,Tg(b,c),e=Vg(e),d=d(e),b.flags|=1,Yi(a,b,d,c),\nb.child;case 14:return d=b.type,e=Lg(d,b.pendingProps),e=Lg(d.type,e),aj(a,b,d,e,c);case 15:return cj(a,b,b.type,b.pendingProps,c);case 17:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),jj(a,b),b.tag=1,Zf(d)?(a=!0,cg(b)):a=!1,Tg(b,c),ph(b,d,e),rh(b,d,e,c),kj(null,b,d,!0,a,c);case 19:return yj(a,b,c);case 22:return ej(a,b,c)}throw Error(p(156,b.tag));};function Gk(a,b){return ac(a,b)}\nfunction al(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.subtreeFlags=this.flags=0;this.deletions=null;this.childLanes=this.lanes=0;this.alternate=null}function Bg(a,b,c,d){return new al(a,b,c,d)}function bj(a){a=a.prototype;return!(!a||!a.isReactComponent)}\nfunction $k(a){if(\"function\"===typeof a)return bj(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===Da)return 11;if(a===Ga)return 14}return 2}\nfunction wh(a,b){var c=a.alternate;null===c?(c=Bg(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.type=a.type,c.flags=0,c.subtreeFlags=0,c.deletions=null);c.flags=a.flags&14680064;c.childLanes=a.childLanes;c.lanes=a.lanes;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=a.updateQueue;b=a.dependencies;c.dependencies=null===b?null:{lanes:b.lanes,firstContext:b.firstContext};\nc.sibling=a.sibling;c.index=a.index;c.ref=a.ref;return c}\nfunction yh(a,b,c,d,e,f){var g=2;d=a;if(\"function\"===typeof a)bj(a)&&(g=1);else if(\"string\"===typeof a)g=5;else a:switch(a){case ya:return Ah(c.children,e,f,b);case za:g=8;e|=8;break;case Aa:return a=Bg(12,c,b,e|2),a.elementType=Aa,a.lanes=f,a;case Ea:return a=Bg(13,c,b,e),a.elementType=Ea,a.lanes=f,a;case Fa:return a=Bg(19,c,b,e),a.elementType=Fa,a.lanes=f,a;case Ia:return qj(c,e,f,b);default:if(\"object\"===typeof a&&null!==a)switch(a.$$typeof){case Ba:g=10;break a;case Ca:g=9;break a;case Da:g=11;\nbreak a;case Ga:g=14;break a;case Ha:g=16;d=null;break a}throw Error(p(130,null==a?a:typeof a,\"\"));}b=Bg(g,c,b,e);b.elementType=a;b.type=d;b.lanes=f;return b}function Ah(a,b,c,d){a=Bg(7,a,d,b);a.lanes=c;return a}function qj(a,b,c,d){a=Bg(22,a,d,b);a.elementType=Ia;a.lanes=c;a.stateNode={isHidden:!1};return a}function xh(a,b,c){a=Bg(6,a,null,b);a.lanes=c;return a}\nfunction zh(a,b,c){b=Bg(4,null!==a.children?a.children:[],a.key,b);b.lanes=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}\nfunction bl(a,b,c,d,e){this.tag=b;this.containerInfo=a;this.finishedWork=this.pingCache=this.current=this.pendingChildren=null;this.timeoutHandle=-1;this.callbackNode=this.pendingContext=this.context=null;this.callbackPriority=0;this.eventTimes=zc(0);this.expirationTimes=zc(-1);this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0;this.entanglements=zc(0);this.identifierPrefix=d;this.onRecoverableError=e;this.mutableSourceEagerHydrationData=\nnull}function cl(a,b,c,d,e,f,g,h,k){a=new bl(a,b,c,h,k);1===b?(b=1,!0===f&&(b|=8)):b=0;f=Bg(3,null,null,b);a.current=f;f.stateNode=a;f.memoizedState={element:d,isDehydrated:c,cache:null,transitions:null,pendingSuspenseBoundaries:null};ah(f);return a}function dl(a,b,c){var d=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:wa,key:null==d?null:\"\"+d,children:a,containerInfo:b,implementation:c}}\nfunction el(a){if(!a)return Vf;a=a._reactInternals;a:{if(Vb(a)!==a||1!==a.tag)throw Error(p(170));var b=a;do{switch(b.tag){case 3:b=b.stateNode.context;break a;case 1:if(Zf(b.type)){b=b.stateNode.__reactInternalMemoizedMergedChildContext;break a}}b=b.return}while(null!==b);throw Error(p(171));}if(1===a.tag){var c=a.type;if(Zf(c))return bg(a,c,b)}return b}\nfunction fl(a,b,c,d,e,f,g,h,k){a=cl(c,d,!0,a,e,f,g,h,k);a.context=el(null);c=a.current;d=L();e=lh(c);f=ch(d,e);f.callback=void 0!==b&&null!==b?b:null;dh(c,f,e);a.current.lanes=e;Ac(a,e,d);Ek(a,d);return a}function gl(a,b,c,d){var e=b.current,f=L(),g=lh(e);c=el(c);null===b.context?b.context=c:b.pendingContext=c;b=ch(f,g);b.payload={element:a};d=void 0===d?null:d;null!==d&&(b.callback=d);a=dh(e,b,g);null!==a&&(mh(a,e,g,f),eh(a,e,g));return g}\nfunction hl(a){a=a.current;if(!a.child)return null;switch(a.child.tag){case 5:return a.child.stateNode;default:return a.child.stateNode}}function il(a,b){a=a.memoizedState;if(null!==a&&null!==a.dehydrated){var c=a.retryLane;a.retryLane=0!==c&&c<b?c:b}}function jl(a,b){il(a,b);(a=a.alternate)&&il(a,b)}function kl(){return null}var ll=\"function\"===typeof reportError?reportError:function(a){console.error(a)};function ml(a){this._internalRoot=a}\nnl.prototype.render=ml.prototype.render=function(a){var b=this._internalRoot;if(null===b)throw Error(p(409));gl(a,b,null,null)};nl.prototype.unmount=ml.prototype.unmount=function(){var a=this._internalRoot;if(null!==a){this._internalRoot=null;var b=a.containerInfo;Sk(function(){gl(null,a,null,null)});b[uf]=null}};function nl(a){this._internalRoot=a}\nnl.prototype.unstable_scheduleHydration=function(a){if(a){var b=Hc();a={blockedOn:null,target:a,priority:b};for(var c=0;c<Qc.length&&0!==b&&b<Qc[c].priority;c++);Qc.splice(c,0,a);0===c&&Vc(a)}};function ol(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeType)}function pl(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeType&&(8!==a.nodeType||\" react-mount-point-unstable \"!==a.nodeValue))}function ql(){}\nfunction rl(a,b,c,d,e){if(e){if(\"function\"===typeof d){var f=d;d=function(){var a=hl(g);f.call(a)}}var g=fl(b,d,a,0,null,!1,!1,\"\",ql);a._reactRootContainer=g;a[uf]=g.current;sf(8===a.nodeType?a.parentNode:a);Sk();return g}for(;e=a.lastChild;)a.removeChild(e);if(\"function\"===typeof d){var h=d;d=function(){var a=hl(k);h.call(a)}}var k=cl(a,0,!1,null,null,!1,!1,\"\",ql);a._reactRootContainer=k;a[uf]=k.current;sf(8===a.nodeType?a.parentNode:a);Sk(function(){gl(b,k,c,d)});return k}\nfunction sl(a,b,c,d,e){var f=c._reactRootContainer;if(f){var g=f;if(\"function\"===typeof e){var h=e;e=function(){var a=hl(g);h.call(a)}}gl(b,g,a,e)}else g=rl(c,b,a,e,d);return hl(g)}Ec=function(a){switch(a.tag){case 3:var b=a.stateNode;if(b.current.memoizedState.isDehydrated){var c=tc(b.pendingLanes);0!==c&&(Cc(b,c|1),Ek(b,B()),0===(K&6)&&(Hj=B()+500,jg()))}break;case 13:Sk(function(){var b=Zg(a,1);if(null!==b){var c=L();mh(b,a,1,c)}}),jl(a,1)}};\nFc=function(a){if(13===a.tag){var b=Zg(a,134217728);if(null!==b){var c=L();mh(b,a,134217728,c)}jl(a,134217728)}};Gc=function(a){if(13===a.tag){var b=lh(a),c=Zg(a,b);if(null!==c){var d=L();mh(c,a,b,d)}jl(a,b)}};Hc=function(){return C};Ic=function(a,b){var c=C;try{return C=a,b()}finally{C=c}};\nyb=function(a,b,c){switch(b){case \"input\":bb(a,c);b=c.name;if(\"radio\"===c.type&&null!=b){for(c=a;c.parentNode;)c=c.parentNode;c=c.querySelectorAll(\"input[name=\"+JSON.stringify(\"\"+b)+'][type=\"radio\"]');for(b=0;b<c.length;b++){var d=c[b];if(d!==a&&d.form===a.form){var e=Db(d);if(!e)throw Error(p(90));Wa(d);bb(d,e)}}}break;case \"textarea\":ib(a,c);break;case \"select\":b=c.value,null!=b&&fb(a,!!c.multiple,b,!1)}};Gb=Rk;Hb=Sk;\nvar tl={usingClientEntryPoint:!1,Events:[Cb,ue,Db,Eb,Fb,Rk]},ul={findFiberByHostInstance:Wc,bundleType:0,version:\"18.2.0\",rendererPackageName:\"react-dom\"};\nvar vl={bundleType:ul.bundleType,version:ul.version,rendererPackageName:ul.rendererPackageName,rendererConfig:ul.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:ua.ReactCurrentDispatcher,findHostInstanceByFiber:function(a){a=Zb(a);return null===a?null:a.stateNode},findFiberByHostInstance:ul.findFiberByHostInstance||\nkl,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:\"18.2.0-next-9e3b772b8-20220608\"};if(\"undefined\"!==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var wl=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!wl.isDisabled&&wl.supportsFiber)try{kc=wl.inject(vl),lc=wl}catch(a){}}exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=tl;\nexports.createPortal=function(a,b){var c=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!ol(b))throw Error(p(200));return dl(a,b,null,c)};exports.createRoot=function(a,b){if(!ol(a))throw Error(p(299));var c=!1,d=\"\",e=ll;null!==b&&void 0!==b&&(!0===b.unstable_strictMode&&(c=!0),void 0!==b.identifierPrefix&&(d=b.identifierPrefix),void 0!==b.onRecoverableError&&(e=b.onRecoverableError));b=cl(a,1,!1,null,null,c,!1,d,e);a[uf]=b.current;sf(8===a.nodeType?a.parentNode:a);return new ml(b)};\nexports.findDOMNode=function(a){if(null==a)return null;if(1===a.nodeType)return a;var b=a._reactInternals;if(void 0===b){if(\"function\"===typeof a.render)throw Error(p(188));a=Object.keys(a).join(\",\");throw Error(p(268,a));}a=Zb(b);a=null===a?null:a.stateNode;return a};exports.flushSync=function(a){return Sk(a)};exports.hydrate=function(a,b,c){if(!pl(b))throw Error(p(200));return sl(null,a,b,!0,c)};\nexports.hydrateRoot=function(a,b,c){if(!ol(a))throw Error(p(405));var d=null!=c&&c.hydratedSources||null,e=!1,f=\"\",g=ll;null!==c&&void 0!==c&&(!0===c.unstable_strictMode&&(e=!0),void 0!==c.identifierPrefix&&(f=c.identifierPrefix),void 0!==c.onRecoverableError&&(g=c.onRecoverableError));b=fl(b,null,a,1,null!=c?c:null,e,!1,f,g);a[uf]=b.current;sf(a);if(d)for(a=0;a<d.length;a++)c=d[a],e=c._getVersion,e=e(c._source),null==b.mutableSourceEagerHydrationData?b.mutableSourceEagerHydrationData=[c,e]:b.mutableSourceEagerHydrationData.push(c,\ne);return new nl(b)};exports.render=function(a,b,c){if(!pl(b))throw Error(p(200));return sl(null,a,b,!1,c)};exports.unmountComponentAtNode=function(a){if(!pl(a))throw Error(p(40));return a._reactRootContainer?(Sk(function(){sl(null,null,a,!1,function(){a._reactRootContainer=null;a[uf]=null})}),!0):!1};exports.unstable_batchedUpdates=Rk;\nexports.unstable_renderSubtreeIntoContainer=function(a,b,c,d){if(!pl(c))throw Error(p(200));if(null==a||void 0===a._reactInternals)throw Error(p(38));return sl(a,b,c,!1,d)};exports.version=\"18.2.0-next-9e3b772b8-20220608\";\n","'use strict';\n\nvar m = require('react-dom');\nif (process.env.NODE_ENV === 'production') {\n  exports.createRoot = m.createRoot;\n  exports.hydrateRoot = m.hydrateRoot;\n} else {\n  var i = m.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n  exports.createRoot = function(c, o) {\n    i.usingClientEntryPoint = true;\n    try {\n      return m.createRoot(c, o);\n    } finally {\n      i.usingClientEntryPoint = false;\n    }\n  };\n  exports.hydrateRoot = function(c, h, o) {\n    i.usingClientEntryPoint = true;\n    try {\n      return m.hydrateRoot(c, h, o);\n    } finally {\n      i.usingClientEntryPoint = false;\n    }\n  };\n}\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","import * as React from 'react';\nimport { styleSingleton } from 'react-style-singleton';\nimport { fullWidthClassName, zeroRightClassName, noScrollbarsClassName, removedBarSizeVariable } from './constants';\nimport { getGapWidth } from './utils';\nvar Style = styleSingleton();\nexport var lockAttribute = 'data-scroll-locked';\n// important tip - once we measure scrollBar width and remove them\n// we could not repeat this operation\n// thus we are using style-singleton - only the first \"yet correct\" style will be applied.\nvar getStyles = function (_a, allowRelative, gapMode, important) {\n    var left = _a.left, top = _a.top, right = _a.right, gap = _a.gap;\n    if (gapMode === void 0) { gapMode = 'margin'; }\n    return \"\\n  .\".concat(noScrollbarsClassName, \" {\\n   overflow: hidden \").concat(important, \";\\n   padding-right: \").concat(gap, \"px \").concat(important, \";\\n  }\\n  body[\").concat(lockAttribute, \"] {\\n    overflow: hidden \").concat(important, \";\\n    overscroll-behavior: contain;\\n    \").concat([\n        allowRelative && \"position: relative \".concat(important, \";\"),\n        gapMode === 'margin' &&\n            \"\\n    padding-left: \".concat(left, \"px;\\n    padding-top: \").concat(top, \"px;\\n    padding-right: \").concat(right, \"px;\\n    margin-left:0;\\n    margin-top:0;\\n    margin-right: \").concat(gap, \"px \").concat(important, \";\\n    \"),\n        gapMode === 'padding' && \"padding-right: \".concat(gap, \"px \").concat(important, \";\"),\n    ]\n        .filter(Boolean)\n        .join(''), \"\\n  }\\n  \\n  .\").concat(zeroRightClassName, \" {\\n    right: \").concat(gap, \"px \").concat(important, \";\\n  }\\n  \\n  .\").concat(fullWidthClassName, \" {\\n    margin-right: \").concat(gap, \"px \").concat(important, \";\\n  }\\n  \\n  .\").concat(zeroRightClassName, \" .\").concat(zeroRightClassName, \" {\\n    right: 0 \").concat(important, \";\\n  }\\n  \\n  .\").concat(fullWidthClassName, \" .\").concat(fullWidthClassName, \" {\\n    margin-right: 0 \").concat(important, \";\\n  }\\n  \\n  body[\").concat(lockAttribute, \"] {\\n    \").concat(removedBarSizeVariable, \": \").concat(gap, \"px;\\n  }\\n\");\n};\nvar getCurrentUseCounter = function () {\n    var counter = parseInt(document.body.getAttribute(lockAttribute) || '0', 10);\n    return isFinite(counter) ? counter : 0;\n};\nexport var useLockAttribute = function () {\n    React.useEffect(function () {\n        document.body.setAttribute(lockAttribute, (getCurrentUseCounter() + 1).toString());\n        return function () {\n            var newCounter = getCurrentUseCounter() - 1;\n            if (newCounter <= 0) {\n                document.body.removeAttribute(lockAttribute);\n            }\n            else {\n                document.body.setAttribute(lockAttribute, newCounter.toString());\n            }\n        };\n    }, []);\n};\n/**\n * Removes page scrollbar and blocks page scroll when mounted\n */\nexport var RemoveScrollBar = function (_a) {\n    var noRelative = _a.noRelative, noImportant = _a.noImportant, _b = _a.gapMode, gapMode = _b === void 0 ? 'margin' : _b;\n    useLockAttribute();\n    /*\n     gap will be measured on every component mount\n     however it will be used only by the \"first\" invocation\n     due to singleton nature of <Style\n     */\n    var gap = React.useMemo(function () { return getGapWidth(gapMode); }, [gapMode]);\n    return React.createElement(Style, { styles: getStyles(gap, !noRelative, gapMode, !noImportant ? '!important' : '') });\n};\n","export var zeroRightClassName = 'right-scroll-bar-position';\nexport var fullWidthClassName = 'width-before-scroll-bar';\nexport var noScrollbarsClassName = 'with-scroll-bars-hidden';\n/**\n * Name of a CSS variable containing the amount of \"hidden\" scrollbar\n * ! might be undefined ! use will fallback!\n */\nexport var removedBarSizeVariable = '--removed-body-scroll-bar-size';\n","export var zeroGap = {\n    left: 0,\n    top: 0,\n    right: 0,\n    gap: 0,\n};\nvar parse = function (x) { return parseInt(x || '', 10) || 0; };\nvar getOffset = function (gapMode) {\n    var cs = window.getComputedStyle(document.body);\n    var left = cs[gapMode === 'padding' ? 'paddingLeft' : 'marginLeft'];\n    var top = cs[gapMode === 'padding' ? 'paddingTop' : 'marginTop'];\n    var right = cs[gapMode === 'padding' ? 'paddingRight' : 'marginRight'];\n    return [parse(left), parse(top), parse(right)];\n};\nexport var getGapWidth = function (gapMode) {\n    if (gapMode === void 0) { gapMode = 'margin'; }\n    if (typeof window === 'undefined') {\n        return zeroGap;\n    }\n    var offsets = getOffset(gapMode);\n    var documentWidth = document.documentElement.clientWidth;\n    var windowWidth = window.innerWidth;\n    return {\n        left: offsets[0],\n        top: offsets[1],\n        right: offsets[2],\n        gap: Math.max(0, windowWidth - documentWidth + offsets[2] - offsets[0]),\n    };\n};\n","import { __assign } from \"tslib\";\nimport * as React from 'react';\nimport { RemoveScroll } from './UI';\nimport SideCar from './sidecar';\nvar ReactRemoveScroll = React.forwardRef(function (props, ref) { return (React.createElement(RemoveScroll, __assign({}, props, { ref: ref, sideCar: SideCar }))); });\nReactRemoveScroll.classNames = RemoveScroll.classNames;\nexport default ReactRemoveScroll;\n","import { __spreadArray } from \"tslib\";\nimport * as React from 'react';\nimport { RemoveScrollBar } from 'react-remove-scroll-bar';\nimport { styleSingleton } from 'react-style-singleton';\nimport { nonPassive } from './aggresiveCapture';\nimport { handleScroll, locationCouldBeScrolled } from './handleScroll';\nexport var getTouchXY = function (event) {\n    return 'changedTouches' in event ? [event.changedTouches[0].clientX, event.changedTouches[0].clientY] : [0, 0];\n};\nexport var getDeltaXY = function (event) { return [event.deltaX, event.deltaY]; };\nvar extractRef = function (ref) {\n    return ref && 'current' in ref ? ref.current : ref;\n};\nvar deltaCompare = function (x, y) { return x[0] === y[0] && x[1] === y[1]; };\nvar generateStyle = function (id) { return \"\\n  .block-interactivity-\".concat(id, \" {pointer-events: none;}\\n  .allow-interactivity-\").concat(id, \" {pointer-events: all;}\\n\"); };\nvar idCounter = 0;\nvar lockStack = [];\nexport function RemoveScrollSideCar(props) {\n    var shouldPreventQueue = React.useRef([]);\n    var touchStartRef = React.useRef([0, 0]);\n    var activeAxis = React.useRef();\n    var id = React.useState(idCounter++)[0];\n    var Style = React.useState(styleSingleton)[0];\n    var lastProps = React.useRef(props);\n    React.useEffect(function () {\n        lastProps.current = props;\n    }, [props]);\n    React.useEffect(function () {\n        if (props.inert) {\n            document.body.classList.add(\"block-interactivity-\".concat(id));\n            var allow_1 = __spreadArray([props.lockRef.current], (props.shards || []).map(extractRef), true).filter(Boolean);\n            allow_1.forEach(function (el) { return el.classList.add(\"allow-interactivity-\".concat(id)); });\n            return function () {\n                document.body.classList.remove(\"block-interactivity-\".concat(id));\n                allow_1.forEach(function (el) { return el.classList.remove(\"allow-interactivity-\".concat(id)); });\n            };\n        }\n        return;\n    }, [props.inert, props.lockRef.current, props.shards]);\n    var shouldCancelEvent = React.useCallback(function (event, parent) {\n        if (('touches' in event && event.touches.length === 2) || (event.type === 'wheel' && event.ctrlKey)) {\n            return !lastProps.current.allowPinchZoom;\n        }\n        var touch = getTouchXY(event);\n        var touchStart = touchStartRef.current;\n        var deltaX = 'deltaX' in event ? event.deltaX : touchStart[0] - touch[0];\n        var deltaY = 'deltaY' in event ? event.deltaY : touchStart[1] - touch[1];\n        var currentAxis;\n        var target = event.target;\n        var moveDirection = Math.abs(deltaX) > Math.abs(deltaY) ? 'h' : 'v';\n        // allow horizontal touch move on Range inputs. They will not cause any scroll\n        if ('touches' in event && moveDirection === 'h' && target.type === 'range') {\n            return false;\n        }\n        var canBeScrolledInMainDirection = locationCouldBeScrolled(moveDirection, target);\n        if (!canBeScrolledInMainDirection) {\n            return true;\n        }\n        if (canBeScrolledInMainDirection) {\n            currentAxis = moveDirection;\n        }\n        else {\n            currentAxis = moveDirection === 'v' ? 'h' : 'v';\n            canBeScrolledInMainDirection = locationCouldBeScrolled(moveDirection, target);\n            // other axis might be not scrollable\n        }\n        if (!canBeScrolledInMainDirection) {\n            return false;\n        }\n        if (!activeAxis.current && 'changedTouches' in event && (deltaX || deltaY)) {\n            activeAxis.current = currentAxis;\n        }\n        if (!currentAxis) {\n            return true;\n        }\n        var cancelingAxis = activeAxis.current || currentAxis;\n        return handleScroll(cancelingAxis, parent, event, cancelingAxis === 'h' ? deltaX : deltaY, true);\n    }, []);\n    var shouldPrevent = React.useCallback(function (_event) {\n        var event = _event;\n        if (!lockStack.length || lockStack[lockStack.length - 1] !== Style) {\n            // not the last active\n            return;\n        }\n        var delta = 'deltaY' in event ? getDeltaXY(event) : getTouchXY(event);\n        var sourceEvent = shouldPreventQueue.current.filter(function (e) { return e.name === event.type && (e.target === event.target || event.target === e.shadowParent) && deltaCompare(e.delta, delta); })[0];\n        // self event, and should be canceled\n        if (sourceEvent && sourceEvent.should) {\n            if (event.cancelable) {\n                event.preventDefault();\n            }\n            return;\n        }\n        // outside or shard event\n        if (!sourceEvent) {\n            var shardNodes = (lastProps.current.shards || [])\n                .map(extractRef)\n                .filter(Boolean)\n                .filter(function (node) { return node.contains(event.target); });\n            var shouldStop = shardNodes.length > 0 ? shouldCancelEvent(event, shardNodes[0]) : !lastProps.current.noIsolation;\n            if (shouldStop) {\n                if (event.cancelable) {\n                    event.preventDefault();\n                }\n            }\n        }\n    }, []);\n    var shouldCancel = React.useCallback(function (name, delta, target, should) {\n        var event = { name: name, delta: delta, target: target, should: should, shadowParent: getOutermostShadowParent(target) };\n        shouldPreventQueue.current.push(event);\n        setTimeout(function () {\n            shouldPreventQueue.current = shouldPreventQueue.current.filter(function (e) { return e !== event; });\n        }, 1);\n    }, []);\n    var scrollTouchStart = React.useCallback(function (event) {\n        touchStartRef.current = getTouchXY(event);\n        activeAxis.current = undefined;\n    }, []);\n    var scrollWheel = React.useCallback(function (event) {\n        shouldCancel(event.type, getDeltaXY(event), event.target, shouldCancelEvent(event, props.lockRef.current));\n    }, []);\n    var scrollTouchMove = React.useCallback(function (event) {\n        shouldCancel(event.type, getTouchXY(event), event.target, shouldCancelEvent(event, props.lockRef.current));\n    }, []);\n    React.useEffect(function () {\n        lockStack.push(Style);\n        props.setCallbacks({\n            onScrollCapture: scrollWheel,\n            onWheelCapture: scrollWheel,\n            onTouchMoveCapture: scrollTouchMove,\n        });\n        document.addEventListener('wheel', shouldPrevent, nonPassive);\n        document.addEventListener('touchmove', shouldPrevent, nonPassive);\n        document.addEventListener('touchstart', scrollTouchStart, nonPassive);\n        return function () {\n            lockStack = lockStack.filter(function (inst) { return inst !== Style; });\n            document.removeEventListener('wheel', shouldPrevent, nonPassive);\n            document.removeEventListener('touchmove', shouldPrevent, nonPassive);\n            document.removeEventListener('touchstart', scrollTouchStart, nonPassive);\n        };\n    }, []);\n    var removeScrollBar = props.removeScrollBar, inert = props.inert;\n    return (React.createElement(React.Fragment, null,\n        inert ? React.createElement(Style, { styles: generateStyle(id) }) : null,\n        removeScrollBar ? React.createElement(RemoveScrollBar, { gapMode: props.gapMode }) : null));\n}\nfunction getOutermostShadowParent(node) {\n    var shadowParent = null;\n    while (node !== null) {\n        if (node instanceof ShadowRoot) {\n            shadowParent = node.host;\n            node = node.host;\n        }\n        node = node.parentNode;\n    }\n    return shadowParent;\n}\n","import { __assign, __rest } from \"tslib\";\nimport * as React from 'react';\nimport { fullWidthClassName, zeroRightClassName } from 'react-remove-scroll-bar/constants';\nimport { useMergeRefs } from 'use-callback-ref';\nimport { effectCar } from './medium';\nvar nothing = function () {\n    return;\n};\n/**\n * Removes scrollbar from the page and contain the scroll within the Lock\n */\nvar RemoveScroll = React.forwardRef(function (props, parentRef) {\n    var ref = React.useRef(null);\n    var _a = React.useState({\n        onScrollCapture: nothing,\n        onWheelCapture: nothing,\n        onTouchMoveCapture: nothing,\n    }), callbacks = _a[0], setCallbacks = _a[1];\n    var forwardProps = props.forwardProps, children = props.children, className = props.className, removeScrollBar = props.removeScrollBar, enabled = props.enabled, shards = props.shards, sideCar = props.sideCar, noIsolation = props.noIsolation, inert = props.inert, allowPinchZoom = props.allowPinchZoom, _b = props.as, Container = _b === void 0 ? 'div' : _b, gapMode = props.gapMode, rest = __rest(props, [\"forwardProps\", \"children\", \"className\", \"removeScrollBar\", \"enabled\", \"shards\", \"sideCar\", \"noIsolation\", \"inert\", \"allowPinchZoom\", \"as\", \"gapMode\"]);\n    var SideCar = sideCar;\n    var containerRef = useMergeRefs([ref, parentRef]);\n    var containerProps = __assign(__assign({}, rest), callbacks);\n    return (React.createElement(React.Fragment, null,\n        enabled && (React.createElement(SideCar, { sideCar: effectCar, removeScrollBar: removeScrollBar, shards: shards, noIsolation: noIsolation, inert: inert, setCallbacks: setCallbacks, allowPinchZoom: !!allowPinchZoom, lockRef: ref, gapMode: gapMode })),\n        forwardProps ? (React.cloneElement(React.Children.only(children), __assign(__assign({}, containerProps), { ref: containerRef }))) : (React.createElement(Container, __assign({}, containerProps, { className: className, ref: containerRef }), children))));\n});\nRemoveScroll.defaultProps = {\n    enabled: true,\n    removeScrollBar: true,\n    inert: false,\n};\nRemoveScroll.classNames = {\n    fullWidth: fullWidthClassName,\n    zeroRight: zeroRightClassName,\n};\nexport { RemoveScroll };\n","var passiveSupported = false;\nif (typeof window !== 'undefined') {\n    try {\n        var options = Object.defineProperty({}, 'passive', {\n            get: function () {\n                passiveSupported = true;\n                return true;\n            },\n        });\n        // @ts-ignore\n        window.addEventListener('test', options, options);\n        // @ts-ignore\n        window.removeEventListener('test', options, options);\n    }\n    catch (err) {\n        passiveSupported = false;\n    }\n}\nexport var nonPassive = passiveSupported ? { passive: false } : false;\n","var alwaysContainsScroll = function (node) {\n    // textarea will always _contain_ scroll inside self. It only can be hidden\n    return node.tagName === 'TEXTAREA';\n};\nvar elementCanBeScrolled = function (node, overflow) {\n    if (!(node instanceof Element)) {\n        return false;\n    }\n    var styles = window.getComputedStyle(node);\n    return (\n    // not-not-scrollable\n    styles[overflow] !== 'hidden' &&\n        // contains scroll inside self\n        !(styles.overflowY === styles.overflowX && !alwaysContainsScroll(node) && styles[overflow] === 'visible'));\n};\nvar elementCouldBeVScrolled = function (node) { return elementCanBeScrolled(node, 'overflowY'); };\nvar elementCouldBeHScrolled = function (node) { return elementCanBeScrolled(node, 'overflowX'); };\nexport var locationCouldBeScrolled = function (axis, node) {\n    var ownerDocument = node.ownerDocument;\n    var current = node;\n    do {\n        // Skip over shadow root\n        if (typeof ShadowRoot !== 'undefined' && current instanceof ShadowRoot) {\n            current = current.host;\n        }\n        var isScrollable = elementCouldBeScrolled(axis, current);\n        if (isScrollable) {\n            var _a = getScrollVariables(axis, current), scrollHeight = _a[1], clientHeight = _a[2];\n            if (scrollHeight > clientHeight) {\n                return true;\n            }\n        }\n        current = current.parentNode;\n    } while (current && current !== ownerDocument.body);\n    return false;\n};\nvar getVScrollVariables = function (_a) {\n    var scrollTop = _a.scrollTop, scrollHeight = _a.scrollHeight, clientHeight = _a.clientHeight;\n    return [\n        scrollTop,\n        scrollHeight,\n        clientHeight,\n    ];\n};\nvar getHScrollVariables = function (_a) {\n    var scrollLeft = _a.scrollLeft, scrollWidth = _a.scrollWidth, clientWidth = _a.clientWidth;\n    return [\n        scrollLeft,\n        scrollWidth,\n        clientWidth,\n    ];\n};\nvar elementCouldBeScrolled = function (axis, node) {\n    return axis === 'v' ? elementCouldBeVScrolled(node) : elementCouldBeHScrolled(node);\n};\nvar getScrollVariables = function (axis, node) {\n    return axis === 'v' ? getVScrollVariables(node) : getHScrollVariables(node);\n};\nvar getDirectionFactor = function (axis, direction) {\n    /**\n     * If the element's direction is rtl (right-to-left), then scrollLeft is 0 when the scrollbar is at its rightmost position,\n     * and then increasingly negative as you scroll towards the end of the content.\n     * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollLeft\n     */\n    return axis === 'h' && direction === 'rtl' ? -1 : 1;\n};\nexport var handleScroll = function (axis, endTarget, event, sourceDelta, noOverscroll) {\n    var directionFactor = getDirectionFactor(axis, window.getComputedStyle(endTarget).direction);\n    var delta = directionFactor * sourceDelta;\n    // find scrollable target\n    var target = event.target;\n    var targetInLock = endTarget.contains(target);\n    var shouldCancelScroll = false;\n    var isDeltaPositive = delta > 0;\n    var availableScroll = 0;\n    var availableScrollTop = 0;\n    do {\n        var _a = getScrollVariables(axis, target), position = _a[0], scroll_1 = _a[1], capacity = _a[2];\n        var elementScroll = scroll_1 - capacity - directionFactor * position;\n        if (position || elementScroll) {\n            if (elementCouldBeScrolled(axis, target)) {\n                availableScroll += elementScroll;\n                availableScrollTop += position;\n            }\n        }\n        if (target instanceof ShadowRoot) {\n            target = target.host;\n        }\n        else {\n            target = target.parentNode;\n        }\n    } while (\n    // portaled content\n    (!targetInLock && target !== document.body) ||\n        // self content\n        (targetInLock && (endTarget.contains(target) || endTarget === target)));\n    // handle epsilon around 0 (non standard zoom levels)\n    if (isDeltaPositive &&\n        ((noOverscroll && Math.abs(availableScroll) < 1) || (!noOverscroll && delta > availableScroll))) {\n        shouldCancelScroll = true;\n    }\n    else if (!isDeltaPositive &&\n        ((noOverscroll && Math.abs(availableScrollTop) < 1) || (!noOverscroll && -delta > availableScrollTop))) {\n        shouldCancelScroll = true;\n    }\n    return shouldCancelScroll;\n};\n","import { createSidecarMedium } from 'use-sidecar';\nexport var effectCar = createSidecarMedium();\n","import { exportSidecar } from 'use-sidecar';\nimport { RemoveScrollSideCar } from './SideEffect';\nimport { effectCar } from './medium';\nexport default exportSidecar(effectCar, RemoveScrollSideCar);\n","import { styleHookSingleton } from './hook';\n/**\n * create a Component to add styles on demand\n * - styles are added when first instance is mounted\n * - styles are removed when the last instance is unmounted\n * - changing styles in runtime does nothing unless dynamic is set. But with multiple components that can lead to the undefined behavior\n */\nexport var styleSingleton = function () {\n    var useStyle = styleHookSingleton();\n    var Sheet = function (_a) {\n        var styles = _a.styles, dynamic = _a.dynamic;\n        useStyle(styles, dynamic);\n        return null;\n    };\n    return Sheet;\n};\n","import * as React from 'react';\nimport { stylesheetSingleton } from './singleton';\n/**\n * creates a hook to control style singleton\n * @see {@link styleSingleton} for a safer component version\n * @example\n * ```tsx\n * const useStyle = styleHookSingleton();\n * ///\n * useStyle('body { overflow: hidden}');\n */\nexport var styleHookSingleton = function () {\n    var sheet = stylesheetSingleton();\n    return function (styles, isDynamic) {\n        React.useEffect(function () {\n            sheet.add(styles);\n            return function () {\n                sheet.remove();\n            };\n        }, [styles && isDynamic]);\n    };\n};\n","import { getNonce } from 'get-nonce';\nfunction makeStyleTag() {\n    if (!document)\n        return null;\n    var tag = document.createElement('style');\n    tag.type = 'text/css';\n    var nonce = getNonce();\n    if (nonce) {\n        tag.setAttribute('nonce', nonce);\n    }\n    return tag;\n}\nfunction injectStyles(tag, css) {\n    // @ts-ignore\n    if (tag.styleSheet) {\n        // @ts-ignore\n        tag.styleSheet.cssText = css;\n    }\n    else {\n        tag.appendChild(document.createTextNode(css));\n    }\n}\nfunction insertStyleTag(tag) {\n    var head = document.head || document.getElementsByTagName('head')[0];\n    head.appendChild(tag);\n}\nexport var stylesheetSingleton = function () {\n    var counter = 0;\n    var stylesheet = null;\n    return {\n        add: function (style) {\n            if (counter == 0) {\n                if ((stylesheet = makeStyleTag())) {\n                    injectStyles(stylesheet, style);\n                    insertStyleTag(stylesheet);\n                }\n            }\n            counter++;\n        },\n        remove: function () {\n            counter--;\n            if (!counter && stylesheet) {\n                stylesheet.parentNode && stylesheet.parentNode.removeChild(stylesheet);\n                stylesheet = null;\n            }\n        },\n    };\n};\n","/**\n * @license React\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var f=require(\"react\"),k=Symbol.for(\"react.element\"),l=Symbol.for(\"react.fragment\"),m=Object.prototype.hasOwnProperty,n=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,g){var b,d={},e=null,h=null;void 0!==g&&(e=\"\"+g);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(h=a.ref);for(b in a)m.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:k,type:c,key:e,ref:h,props:d,_owner:n.current}}exports.Fragment=l;exports.jsx=q;exports.jsxs=q;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n  module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n  module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","/**\n * @license React\n * scheduler.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';function f(a,b){var c=a.length;a.push(b);a:for(;0<c;){var d=c-1>>>1,e=a[d];if(0<g(e,b))a[d]=b,a[c]=e,c=d;else break a}}function h(a){return 0===a.length?null:a[0]}function k(a){if(0===a.length)return null;var b=a[0],c=a.pop();if(c!==b){a[0]=c;a:for(var d=0,e=a.length,w=e>>>1;d<w;){var m=2*(d+1)-1,C=a[m],n=m+1,x=a[n];if(0>g(C,c))n<e&&0>g(x,C)?(a[d]=x,a[n]=c,d=n):(a[d]=C,a[m]=c,d=m);else if(n<e&&0>g(x,c))a[d]=x,a[n]=c,d=n;else break a}}return b}\nfunction g(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}if(\"object\"===typeof performance&&\"function\"===typeof performance.now){var l=performance;exports.unstable_now=function(){return l.now()}}else{var p=Date,q=p.now();exports.unstable_now=function(){return p.now()-q}}var r=[],t=[],u=1,v=null,y=3,z=!1,A=!1,B=!1,D=\"function\"===typeof setTimeout?setTimeout:null,E=\"function\"===typeof clearTimeout?clearTimeout:null,F=\"undefined\"!==typeof setImmediate?setImmediate:null;\n\"undefined\"!==typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function G(a){for(var b=h(t);null!==b;){if(null===b.callback)k(t);else if(b.startTime<=a)k(t),b.sortIndex=b.expirationTime,f(r,b);else break;b=h(t)}}function H(a){B=!1;G(a);if(!A)if(null!==h(r))A=!0,I(J);else{var b=h(t);null!==b&&K(H,b.startTime-a)}}\nfunction J(a,b){A=!1;B&&(B=!1,E(L),L=-1);z=!0;var c=y;try{G(b);for(v=h(r);null!==v&&(!(v.expirationTime>b)||a&&!M());){var d=v.callback;if(\"function\"===typeof d){v.callback=null;y=v.priorityLevel;var e=d(v.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?v.callback=e:v===h(r)&&k(r);G(b)}else k(r);v=h(r)}if(null!==v)var w=!0;else{var m=h(t);null!==m&&K(H,m.startTime-b);w=!1}return w}finally{v=null,y=c,z=!1}}var N=!1,O=null,L=-1,P=5,Q=-1;\nfunction M(){return exports.unstable_now()-Q<P?!1:!0}function R(){if(null!==O){var a=exports.unstable_now();Q=a;var b=!0;try{b=O(!0,a)}finally{b?S():(N=!1,O=null)}}else N=!1}var S;if(\"function\"===typeof F)S=function(){F(R)};else if(\"undefined\"!==typeof MessageChannel){var T=new MessageChannel,U=T.port2;T.port1.onmessage=R;S=function(){U.postMessage(null)}}else S=function(){D(R,0)};function I(a){O=a;N||(N=!0,S())}function K(a,b){L=D(function(){a(exports.unstable_now())},b)}\nexports.unstable_IdlePriority=5;exports.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(){A||z||(A=!0,I(J))};\nexports.unstable_forceFrameRate=function(a){0>a||125<a?console.error(\"forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported\"):P=0<a?Math.floor(1E3/a):5};exports.unstable_getCurrentPriorityLevel=function(){return y};exports.unstable_getFirstCallbackNode=function(){return h(r)};exports.unstable_next=function(a){switch(y){case 1:case 2:case 3:var b=3;break;default:b=y}var c=y;y=b;try{return a()}finally{y=c}};exports.unstable_pauseExecution=function(){};\nexports.unstable_requestPaint=function(){};exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=y;y=a;try{return b()}finally{y=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&&0<c?d+c:d):c=d;switch(a){case 1:var e=-1;break;case 2:e=250;break;case 5:e=1073741823;break;case 4:e=1E4;break;default:e=5E3}e=c+e;a={id:u++,callback:b,priorityLevel:a,startTime:c,expirationTime:e,sortIndex:-1};c>d?(a.sortIndex=c,f(t,a),null===h(r)&&a===h(t)&&(B?(E(L),L=-1):B=!0,K(H,c-d))):(a.sortIndex=e,f(r,a),A||z||(A=!0,I(J)));return a};\nexports.unstable_shouldYield=M;exports.unstable_wrapCallback=function(a){var b=y;return function(){var c=y;y=b;try{return a.apply(this,arguments)}finally{y=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","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=e||self).Tribute=t()}(this,(function(){\"use strict\";function e(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function t(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}function n(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}function i(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if(!(Symbol.iterator in Object(e)||\"[object Arguments]\"===Object.prototype.toString.call(e)))return;var n=[],i=!0,r=!1,o=void 0;try{for(var u,l=e[Symbol.iterator]();!(i=(u=l.next()).done)&&(n.push(u.value),!t||n.length!==t);i=!0);}catch(e){r=!0,o=e}finally{try{i||null==l.return||l.return()}finally{if(r)throw o}}return n}(e,t)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance\")}()}if(Array.prototype.find||(Array.prototype.find=function(e){if(null===this)throw new TypeError(\"Array.prototype.find called on null or undefined\");if(\"function\"!=typeof e)throw new TypeError(\"predicate must be a function\");for(var t,n=Object(this),i=n.length>>>0,r=arguments[1],o=0;o<i;o++)if(t=n[o],e.call(r,t,o,n))return t}),window&&\"function\"!=typeof window.CustomEvent){var r=function(e,t){t=t||{bubbles:!1,cancelable:!1,detail:void 0};var n=document.createEvent(\"CustomEvent\");return n.initCustomEvent(e,t.bubbles,t.cancelable,t.detail),n};void 0!==window.Event&&(r.prototype=window.Event.prototype),window.CustomEvent=r}var o=function(){function t(n){e(this,t),this.tribute=n,this.tribute.events=this}return n(t,[{key:\"bind\",value:function(e){e.boundKeydown=this.keydown.bind(e,this),e.boundKeyup=this.keyup.bind(e,this),e.boundInput=this.input.bind(e,this),e.addEventListener(\"keydown\",e.boundKeydown,!1),e.addEventListener(\"keyup\",e.boundKeyup,!1),e.addEventListener(\"input\",e.boundInput,!1)}},{key:\"unbind\",value:function(e){e.removeEventListener(\"keydown\",e.boundKeydown,!1),e.removeEventListener(\"keyup\",e.boundKeyup,!1),e.removeEventListener(\"input\",e.boundInput,!1),delete e.boundKeydown,delete e.boundKeyup,delete e.boundInput}},{key:\"keydown\",value:function(e,n){e.shouldDeactivate(n)&&(e.tribute.isActive=!1,e.tribute.hideMenu());var i=this;e.commandEvent=!1,t.keys().forEach((function(t){t.key===n.keyCode&&(e.commandEvent=!0,e.callbacks()[t.value.toLowerCase()](n,i))}))}},{key:\"input\",value:function(e,t){e.inputEvent=!0,e.keyup.call(this,e,t)}},{key:\"click\",value:function(e,t){var n=e.tribute;if(n.menu&&n.menu.contains(t.target)){var i=t.target;for(t.preventDefault(),t.stopPropagation();\"li\"!==i.nodeName.toLowerCase();)if(!(i=i.parentNode)||i===n.menu)throw new Error(\"cannot find the <li> container for the click\");n.selectItemAtIndex(i.getAttribute(\"data-index\"),t),n.hideMenu()}else n.current.element&&!n.current.externalTrigger&&(n.current.externalTrigger=!1,setTimeout((function(){return n.hideMenu()})))}},{key:\"keyup\",value:function(e,t){if(e.inputEvent&&(e.inputEvent=!1),e.updateSelection(this),27!==t.keyCode){if(!e.tribute.allowSpaces&&e.tribute.hasTrailingSpace)return e.tribute.hasTrailingSpace=!1,e.commandEvent=!0,void e.callbacks().space(t,this);if(!e.tribute.isActive)if(e.tribute.autocompleteMode)e.callbacks().triggerChar(t,this,\"\");else{var n=e.getKeyCode(e,this,t);if(isNaN(n)||!n)return;var i=e.tribute.triggers().find((function(e){return e.charCodeAt(0)===n}));void 0!==i&&e.callbacks().triggerChar(t,this,i)}e.tribute.current.mentionText.length<e.tribute.current.collection.menuShowMinLength||((e.tribute.current.trigger||e.tribute.autocompleteMode)&&!1===e.commandEvent||e.tribute.isActive&&8===t.keyCode)&&e.tribute.showMenuFor(this,!0)}}},{key:\"shouldDeactivate\",value:function(e){if(!this.tribute.isActive)return!1;if(0===this.tribute.current.mentionText.length){var n=!1;return t.keys().forEach((function(t){e.keyCode===t.key&&(n=!0)})),!n}return!1}},{key:\"getKeyCode\",value:function(e,t,n){var i=e.tribute,r=i.range.getTriggerInfo(!1,i.hasTrailingSpace,!0,i.allowSpaces,i.autocompleteMode);return!!r&&r.mentionTriggerChar.charCodeAt(0)}},{key:\"updateSelection\",value:function(e){this.tribute.current.element=e;var t=this.tribute.range.getTriggerInfo(!1,this.tribute.hasTrailingSpace,!0,this.tribute.allowSpaces,this.tribute.autocompleteMode);t&&(this.tribute.current.selectedPath=t.mentionSelectedPath,this.tribute.current.mentionText=t.mentionText,this.tribute.current.selectedOffset=t.mentionSelectedOffset)}},{key:\"callbacks\",value:function(){var e=this;return{triggerChar:function(t,n,i){var r=e.tribute;r.current.trigger=i;var o=r.collection.find((function(e){return e.trigger===i}));r.current.collection=o,r.current.mentionText.length>=r.current.collection.menuShowMinLength&&r.inputEvent&&r.showMenuFor(n,!0)},enter:function(t,n){e.tribute.isActive&&e.tribute.current.filteredItems&&(t.preventDefault(),t.stopPropagation(),setTimeout((function(){e.tribute.selectItemAtIndex(e.tribute.menuSelected,t),e.tribute.hideMenu()}),0))},escape:function(t,n){e.tribute.isActive&&(t.preventDefault(),t.stopPropagation(),e.tribute.isActive=!1,e.tribute.hideMenu())},tab:function(t,n){e.callbacks().enter(t,n)},space:function(t,n){e.tribute.isActive&&(e.tribute.spaceSelectsMatch?e.callbacks().enter(t,n):e.tribute.allowSpaces||(t.stopPropagation(),setTimeout((function(){e.tribute.hideMenu(),e.tribute.isActive=!1}),0)))},up:function(t,n){if(e.tribute.isActive&&e.tribute.current.filteredItems){t.preventDefault(),t.stopPropagation();var i=e.tribute.current.filteredItems.length,r=e.tribute.menuSelected;i>r&&r>0?(e.tribute.menuSelected--,e.setActiveLi()):0===r&&(e.tribute.menuSelected=i-1,e.setActiveLi(),e.tribute.menu.scrollTop=e.tribute.menu.scrollHeight)}},down:function(t,n){if(e.tribute.isActive&&e.tribute.current.filteredItems){t.preventDefault(),t.stopPropagation();var i=e.tribute.current.filteredItems.length-1,r=e.tribute.menuSelected;i>r?(e.tribute.menuSelected++,e.setActiveLi()):i===r&&(e.tribute.menuSelected=0,e.setActiveLi(),e.tribute.menu.scrollTop=0)}},delete:function(t,n){e.tribute.isActive&&e.tribute.current.mentionText.length<1?e.tribute.hideMenu():e.tribute.isActive&&e.tribute.showMenuFor(n)}}}},{key:\"setActiveLi\",value:function(e){var t=this.tribute.menu.querySelectorAll(\"li\"),n=t.length>>>0;e&&(this.tribute.menuSelected=parseInt(e));for(var i=0;i<n;i++){var r=t[i];if(i===this.tribute.menuSelected){r.classList.add(this.tribute.current.collection.selectClass);var o=r.getBoundingClientRect(),u=this.tribute.menu.getBoundingClientRect();if(o.bottom>u.bottom){var l=o.bottom-u.bottom;this.tribute.menu.scrollTop+=l}else if(o.top<u.top){var s=u.top-o.top;this.tribute.menu.scrollTop-=s}}else r.classList.remove(this.tribute.current.collection.selectClass)}}},{key:\"getFullHeight\",value:function(e,t){var n=e.getBoundingClientRect().height;if(t){var i=e.currentStyle||window.getComputedStyle(e);return n+parseFloat(i.marginTop)+parseFloat(i.marginBottom)}return n}}],[{key:\"keys\",value:function(){return[{key:9,value:\"TAB\"},{key:8,value:\"DELETE\"},{key:13,value:\"ENTER\"},{key:27,value:\"ESCAPE\"},{key:32,value:\"SPACE\"},{key:38,value:\"UP\"},{key:40,value:\"DOWN\"}]}}]),t}(),u=function(){function t(n){e(this,t),this.tribute=n,this.tribute.menuEvents=this,this.menu=this.tribute.menu}return n(t,[{key:\"bind\",value:function(e){var t=this;this.menuClickEvent=this.tribute.events.click.bind(null,this),this.menuContainerScrollEvent=this.debounce((function(){t.tribute.isActive&&t.tribute.showMenuFor(t.tribute.current.element,!1)}),300,!1),this.windowResizeEvent=this.debounce((function(){t.tribute.isActive&&t.tribute.range.positionMenuAtCaret(!0)}),300,!1),this.tribute.range.getDocument().addEventListener(\"MSPointerDown\",this.menuClickEvent,!1),this.tribute.range.getDocument().addEventListener(\"mousedown\",this.menuClickEvent,!1),window.addEventListener(\"resize\",this.windowResizeEvent),this.menuContainer?this.menuContainer.addEventListener(\"scroll\",this.menuContainerScrollEvent,!1):window.addEventListener(\"scroll\",this.menuContainerScrollEvent)}},{key:\"unbind\",value:function(e){this.tribute.range.getDocument().removeEventListener(\"mousedown\",this.menuClickEvent,!1),this.tribute.range.getDocument().removeEventListener(\"MSPointerDown\",this.menuClickEvent,!1),window.removeEventListener(\"resize\",this.windowResizeEvent),this.menuContainer?this.menuContainer.removeEventListener(\"scroll\",this.menuContainerScrollEvent,!1):window.removeEventListener(\"scroll\",this.menuContainerScrollEvent)}},{key:\"debounce\",value:function(e,t,n){var i,r=arguments,o=this;return function(){var u=o,l=r,s=n&&!i;clearTimeout(i),i=setTimeout((function(){i=null,n||e.apply(u,l)}),t),s&&e.apply(u,l)}}}]),t}(),l=function(){function t(n){e(this,t),this.tribute=n,this.tribute.range=this}return n(t,[{key:\"getDocument\",value:function(){var e;return this.tribute.current.collection&&(e=this.tribute.current.collection.iframe),e?e.contentWindow.document:document}},{key:\"positionMenuAtCaret\",value:function(e){var t,n=this,i=this.tribute.current,r=this.getTriggerInfo(!1,this.tribute.hasTrailingSpace,!0,this.tribute.allowSpaces,this.tribute.autocompleteMode);if(void 0!==r){if(!this.tribute.positionMenu)return void(this.tribute.menu.style.cssText=\"display: block;\");t=this.isContentEditable(i.element)?this.getContentEditableCaretPosition(r.mentionPosition):this.getTextAreaOrInputUnderlinePosition(this.tribute.current.element,r.mentionPosition),this.tribute.menu.style.cssText=\"top: \".concat(t.top,\"px;\\n                                     left: \").concat(t.left,\"px;\\n                                     right: \").concat(t.right,\"px;\\n                                     bottom: \").concat(t.bottom,\"px;\\n                                     position: absolute;\\n                                     display: block;\"),\"auto\"===t.left&&(this.tribute.menu.style.left=\"auto\"),\"auto\"===t.top&&(this.tribute.menu.style.top=\"auto\"),e&&this.scrollIntoView(),window.setTimeout((function(){var i={width:n.tribute.menu.offsetWidth,height:n.tribute.menu.offsetHeight},r=n.isMenuOffScreen(t,i),o=window.innerWidth>i.width&&(r.left||r.right),u=window.innerHeight>i.height&&(r.top||r.bottom);(o||u)&&(n.tribute.menu.style.cssText=\"display: none\",n.positionMenuAtCaret(e))}),0)}else this.tribute.menu.style.cssText=\"display: none\"}},{key:\"selectElement\",value:function(e,t,n){var i,r=e;if(t)for(var o=0;o<t.length;o++){if(void 0===(r=r.childNodes[t[o]]))return;for(;r.length<n;)n-=r.length,r=r.nextSibling;0!==r.childNodes.length||r.length||(r=r.previousSibling)}var u=this.getWindowSelection();(i=this.getDocument().createRange()).setStart(r,n),i.setEnd(r,n),i.collapse(!0);try{u.removeAllRanges()}catch(e){}u.addRange(i),e.focus()}},{key:\"replaceTriggerText\",value:function(e,t,n,i,r){var o=this.getTriggerInfo(!0,n,t,this.tribute.allowSpaces,this.tribute.autocompleteMode);if(void 0!==o){var u=this.tribute.current,l=new CustomEvent(\"tribute-replaced\",{detail:{item:r,instance:u,context:o,event:i}});if(this.isContentEditable(u.element)){e+=\"string\"==typeof this.tribute.replaceTextSuffix?this.tribute.replaceTextSuffix:\" \";var s=o.mentionPosition+o.mentionText.length;this.tribute.autocompleteMode||(s+=o.mentionTriggerChar.length),this.pasteHtml(e,o.mentionPosition,s)}else{var a=this.tribute.current.element,c=\"string\"==typeof this.tribute.replaceTextSuffix?this.tribute.replaceTextSuffix:\" \";e+=c;var h=o.mentionPosition,d=o.mentionPosition+o.mentionText.length+c.length;this.tribute.autocompleteMode||(d+=o.mentionTriggerChar.length-1),a.value=a.value.substring(0,h)+e+a.value.substring(d,a.value.length),a.selectionStart=h+e.length,a.selectionEnd=h+e.length}u.element.dispatchEvent(new CustomEvent(\"input\",{bubbles:!0})),u.element.dispatchEvent(l)}}},{key:\"pasteHtml\",value:function(e,t,n){var i,r;r=this.getWindowSelection(),(i=this.getDocument().createRange()).setStart(r.anchorNode,t),i.setEnd(r.anchorNode,n),i.deleteContents();var o=this.getDocument().createElement(\"div\");o.innerHTML=e;for(var u,l,s=this.getDocument().createDocumentFragment();u=o.firstChild;)l=s.appendChild(u);i.insertNode(s),l&&((i=i.cloneRange()).setStartAfter(l),i.collapse(!0),r.removeAllRanges(),r.addRange(i))}},{key:\"getWindowSelection\",value:function(){return this.tribute.collection.iframe?this.tribute.collection.iframe.contentWindow.getSelection():window.getSelection()}},{key:\"getNodePositionInParent\",value:function(e){if(null===e.parentNode)return 0;for(var t=0;t<e.parentNode.childNodes.length;t++){if(e.parentNode.childNodes[t]===e)return t}}},{key:\"getContentEditableSelectedPath\",value:function(e){var t=this.getWindowSelection(),n=t.anchorNode,i=[];if(null!=n){for(var r,o=n.contentEditable;null!==n&&\"true\"!==o;)r=this.getNodePositionInParent(n),i.push(r),null!==(n=n.parentNode)&&(o=n.contentEditable);return i.reverse(),{selected:n,path:i,offset:t.getRangeAt(0).startOffset}}}},{key:\"getTextPrecedingCurrentSelection\",value:function(){var e=this.tribute.current,t=\"\";if(this.isContentEditable(e.element)){var n=this.getWindowSelection().anchorNode;if(null!=n){var i=n.textContent,r=this.getWindowSelection().getRangeAt(0).startOffset;i&&r>=0&&(t=i.substring(0,r))}}else{var o=this.tribute.current.element;if(o){var u=o.selectionStart;o.value&&u>=0&&(t=o.value.substring(0,u))}}return t}},{key:\"getLastWordInText\",value:function(e){var t=(e=e.replace(/\\u00A0/g,\" \")).split(/\\s+/);return t[t.length-1].trim()}},{key:\"getTriggerInfo\",value:function(e,t,n,i,r){var o,u,l,s=this,a=this.tribute.current;if(this.isContentEditable(a.element)){var c=this.getContentEditableSelectedPath(a);c&&(o=c.selected,u=c.path,l=c.offset)}else o=this.tribute.current.element;var h=this.getTextPrecedingCurrentSelection(),d=this.getLastWordInText(h);if(r)return{mentionPosition:h.length-d.length,mentionText:d,mentionSelectedElement:o,mentionSelectedPath:u,mentionSelectedOffset:l};if(null!=h){var f,m=-1;if(this.tribute.collection.forEach((function(e){var t=e.trigger,i=e.requireLeadingSpace?s.lastIndexWithLeadingSpace(h,t):h.lastIndexOf(t);i>m&&(m=i,f=t,n=e.requireLeadingSpace)})),m>=0&&(0===m||!n||/[\\xA0\\s]/g.test(h.substring(m-1,m)))){var p=h.substring(m+f.length,h.length);f=h.substring(m,m+f.length);var v=p.substring(0,1),g=p.length>0&&(\" \"===v||\" \"===v);t&&(p=p.trim());var b=i?/[^\\S ]/g:/[\\xA0\\s]/g;if(this.tribute.hasTrailingSpace=b.test(p),!g&&(e||!b.test(p)))return{mentionPosition:m,mentionText:p,mentionSelectedElement:o,mentionSelectedPath:u,mentionSelectedOffset:l,mentionTriggerChar:f}}}}},{key:\"lastIndexWithLeadingSpace\",value:function(e,t){for(var n=e.split(\"\").reverse().join(\"\"),i=-1,r=0,o=e.length;r<o;r++){for(var u=r===e.length-1,l=/\\s/.test(n[r+1]),s=!0,a=t.length-1;a>=0;a--)if(t[a]!==n[r-a]){s=!1;break}if(s&&(u||l)){i=e.length-1-r;break}}return i}},{key:\"isContentEditable\",value:function(e){return\"INPUT\"!==e.nodeName&&\"TEXTAREA\"!==e.nodeName}},{key:\"isMenuOffScreen\",value:function(e,t){var n=window.innerWidth,i=window.innerHeight,r=document.documentElement,o=(window.pageXOffset||r.scrollLeft)-(r.clientLeft||0),u=(window.pageYOffset||r.scrollTop)-(r.clientTop||0),l=\"number\"==typeof e.top?e.top:u+i-e.bottom-t.height,s=\"number\"==typeof e.right?e.right:e.left+t.width,a=\"number\"==typeof e.bottom?e.bottom:e.top+t.height,c=\"number\"==typeof e.left?e.left:o+n-e.right-t.width;return{top:l<Math.floor(u),right:s>Math.ceil(o+n),bottom:a>Math.ceil(u+i),left:c<Math.floor(o)}}},{key:\"getMenuDimensions\",value:function(){var e={width:null,height:null};return this.tribute.menu.style.cssText=\"top: 0px;\\n                                 left: 0px;\\n                                 position: fixed;\\n                                 display: block;\\n                                 visibility; hidden;\",e.width=this.tribute.menu.offsetWidth,e.height=this.tribute.menu.offsetHeight,this.tribute.menu.style.cssText=\"display: none;\",e}},{key:\"getTextAreaOrInputUnderlinePosition\",value:function(e,t,n){var i=null!==window.mozInnerScreenX,r=this.getDocument().createElement(\"div\");r.id=\"input-textarea-caret-position-mirror-div\",this.getDocument().body.appendChild(r);var o=r.style,u=window.getComputedStyle?getComputedStyle(e):e.currentStyle;o.whiteSpace=\"pre-wrap\",\"INPUT\"!==e.nodeName&&(o.wordWrap=\"break-word\"),o.position=\"absolute\",o.visibility=\"hidden\",[\"direction\",\"boxSizing\",\"width\",\"height\",\"overflowX\",\"overflowY\",\"borderTopWidth\",\"borderRightWidth\",\"borderBottomWidth\",\"borderLeftWidth\",\"paddingTop\",\"paddingRight\",\"paddingBottom\",\"paddingLeft\",\"fontStyle\",\"fontVariant\",\"fontWeight\",\"fontStretch\",\"fontSize\",\"fontSizeAdjust\",\"lineHeight\",\"fontFamily\",\"textAlign\",\"textTransform\",\"textIndent\",\"textDecoration\",\"letterSpacing\",\"wordSpacing\"].forEach((function(e){o[e]=u[e]})),i?(o.width=\"\".concat(parseInt(u.width)-2,\"px\"),e.scrollHeight>parseInt(u.height)&&(o.overflowY=\"scroll\")):o.overflow=\"hidden\",r.textContent=e.value.substring(0,t),\"INPUT\"===e.nodeName&&(r.textContent=r.textContent.replace(/\\s/g,\" \"));var l=this.getDocument().createElement(\"span\");l.textContent=e.value.substring(t)||\".\",r.appendChild(l);var s=e.getBoundingClientRect(),a=document.documentElement,c=(window.pageXOffset||a.scrollLeft)-(a.clientLeft||0),h=(window.pageYOffset||a.scrollTop)-(a.clientTop||0),d=0,f=0;this.menuContainerIsBody&&(d=s.top,f=s.left);var m={top:d+h+l.offsetTop+parseInt(u.borderTopWidth)+parseInt(u.fontSize)-e.scrollTop,left:f+c+l.offsetLeft+parseInt(u.borderLeftWidth)},p=window.innerWidth,v=window.innerHeight,g=this.getMenuDimensions(),b=this.isMenuOffScreen(m,g);b.right&&(m.right=p-m.left,m.left=\"auto\");var y=this.tribute.menuContainer?this.tribute.menuContainer.offsetHeight:this.getDocument().body.offsetHeight;if(b.bottom){var w=y-(v-(this.tribute.menuContainer?this.tribute.menuContainer.getBoundingClientRect():this.getDocument().body.getBoundingClientRect()).top);m.bottom=w+(v-s.top-l.offsetTop),m.top=\"auto\"}return(b=this.isMenuOffScreen(m,g)).left&&(m.left=p>g.width?c+p-g.width:c,delete m.right),b.top&&(m.top=v>g.height?h+v-g.height:h,delete m.bottom),this.getDocument().body.removeChild(r),m}},{key:\"getContentEditableCaretPosition\",value:function(e){var t,n=this.getWindowSelection();(t=this.getDocument().createRange()).setStart(n.anchorNode,e),t.setEnd(n.anchorNode,e),t.collapse(!1);var i=t.getBoundingClientRect(),r=document.documentElement,o=(window.pageXOffset||r.scrollLeft)-(r.clientLeft||0),u=(window.pageYOffset||r.scrollTop)-(r.clientTop||0),l={left:i.left+o,top:i.top+i.height+u},s=window.innerWidth,a=window.innerHeight,c=this.getMenuDimensions(),h=this.isMenuOffScreen(l,c);h.right&&(l.left=\"auto\",l.right=s-i.left-o);var d=this.tribute.menuContainer?this.tribute.menuContainer.offsetHeight:this.getDocument().body.offsetHeight;if(h.bottom){var f=d-(a-(this.tribute.menuContainer?this.tribute.menuContainer.getBoundingClientRect():this.getDocument().body.getBoundingClientRect()).top);l.top=\"auto\",l.bottom=f+(a-i.top)}return(h=this.isMenuOffScreen(l,c)).left&&(l.left=s>c.width?o+s-c.width:o,delete l.right),h.top&&(l.top=a>c.height?u+a-c.height:u,delete l.bottom),this.menuContainerIsBody||(l.left=l.left?l.left-this.tribute.menuContainer.offsetLeft:l.left,l.top=l.top?l.top-this.tribute.menuContainer.offsetTop:l.top),l}},{key:\"scrollIntoView\",value:function(e){var t,n=this.menu;if(void 0!==n){for(;void 0===t||0===t.height;)if(0===(t=n.getBoundingClientRect()).height&&(void 0===(n=n.childNodes[0])||!n.getBoundingClientRect))return;var i=t.top,r=i+t.height;if(i<0)window.scrollTo(0,window.pageYOffset+t.top-20);else if(r>window.innerHeight){var o=window.pageYOffset+t.top-20;o-window.pageYOffset>100&&(o=window.pageYOffset+100);var u=window.pageYOffset-(window.innerHeight-r);u>o&&(u=o),window.scrollTo(0,u)}}}},{key:\"menuContainerIsBody\",get:function(){return this.tribute.menuContainer===document.body||!this.tribute.menuContainer}}]),t}(),s=function(){function t(n){e(this,t),this.tribute=n,this.tribute.search=this}return n(t,[{key:\"simpleFilter\",value:function(e,t){var n=this;return t.filter((function(t){return n.test(e,t)}))}},{key:\"test\",value:function(e,t){return null!==this.match(e,t)}},{key:\"match\",value:function(e,t,n){n=n||{};t.length;var i=n.pre||\"\",r=n.post||\"\",o=n.caseSensitive&&t||t.toLowerCase();if(n.skip)return{rendered:t,score:0};e=n.caseSensitive&&e||e.toLowerCase();var u=this.traverse(o,e,0,0,[]);return u?{rendered:this.render(t,u.cache,i,r),score:u.score}:null}},{key:\"traverse\",value:function(e,t,n,i,r){if(t.length===i)return{score:this.calculateScore(r),cache:r.slice()};if(!(e.length===n||t.length-i>e.length-n)){for(var o,u,l=t[i],s=e.indexOf(l,n);s>-1;){if(r.push(s),u=this.traverse(e,t,s+1,i+1,r),r.pop(),!u)return o;(!o||o.score<u.score)&&(o=u),s=e.indexOf(l,s+1)}return o}}},{key:\"calculateScore\",value:function(e){var t=0,n=1;return e.forEach((function(i,r){r>0&&(e[r-1]+1===i?n+=n+1:n=1),t+=n})),t}},{key:\"render\",value:function(e,t,n,i){var r=e.substring(0,t[0]);return t.forEach((function(o,u){r+=n+e[o]+i+e.substring(o+1,t[u+1]?t[u+1]:e.length)})),r}},{key:\"filter\",value:function(e,t,n){var i=this;return n=n||{},t.reduce((function(t,r,o,u){var l=r;n.extract&&((l=n.extract(r))||(l=\"\"));var s=i.match(e,l,n);return null!=s&&(t[t.length]={string:s.rendered,score:s.score,index:o,original:r}),t}),[]).sort((function(e,t){var n=t.score-e.score;return n||e.index-t.index}))}}]),t}();return function(){function t(n){var i,r=this,a=n.values,c=void 0===a?null:a,h=n.iframe,d=void 0===h?null:h,f=n.selectClass,m=void 0===f?\"highlight\":f,p=n.containerClass,v=void 0===p?\"tribute-container\":p,g=n.itemClass,b=void 0===g?\"\":g,y=n.trigger,w=void 0===y?\"@\":y,T=n.autocompleteMode,C=void 0!==T&&T,S=n.selectTemplate,E=void 0===S?null:S,k=n.menuItemTemplate,x=void 0===k?null:k,M=n.lookup,A=void 0===M?\"key\":M,L=n.fillAttr,I=void 0===L?\"value\":L,N=n.collection,O=void 0===N?null:N,D=n.menuContainer,P=void 0===D?null:D,R=n.noMatchTemplate,W=void 0===R?null:R,H=n.requireLeadingSpace,B=void 0===H||H,F=n.allowSpaces,_=void 0!==F&&F,j=n.replaceTextSuffix,Y=void 0===j?null:j,z=n.positionMenu,K=void 0===z||z,q=n.spaceSelectsMatch,U=void 0!==q&&q,X=n.searchOpts,Q=void 0===X?{}:X,V=n.menuItemLimit,G=void 0===V?null:V,J=n.menuShowMinLength,Z=void 0===J?0:J;if(e(this,t),this.autocompleteMode=C,this.menuSelected=0,this.current={},this.inputEvent=!1,this.isActive=!1,this.menuContainer=P,this.allowSpaces=_,this.replaceTextSuffix=Y,this.positionMenu=K,this.hasTrailingSpace=!1,this.spaceSelectsMatch=U,this.autocompleteMode&&(w=\"\",_=!1),c)this.collection=[{trigger:w,iframe:d,selectClass:m,containerClass:v,itemClass:b,selectTemplate:(E||t.defaultSelectTemplate).bind(this),menuItemTemplate:(x||t.defaultMenuItemTemplate).bind(this),noMatchTemplate:(i=W,\"string\"==typeof i?\"\"===i.trim()?null:i:\"function\"==typeof i?i.bind(r):W||function(){return\"<li>No Match Found!</li>\"}.bind(r)),lookup:A,fillAttr:I,values:c,requireLeadingSpace:B,searchOpts:Q,menuItemLimit:G,menuShowMinLength:Z}];else{if(!O)throw new Error(\"[Tribute] No collection specified.\");this.autocompleteMode&&console.warn(\"Tribute in autocomplete mode does not work for collections\"),this.collection=O.map((function(e){return{trigger:e.trigger||w,iframe:e.iframe||d,selectClass:e.selectClass||m,containerClass:e.containerClass||v,itemClass:e.itemClass||b,selectTemplate:(e.selectTemplate||t.defaultSelectTemplate).bind(r),menuItemTemplate:(e.menuItemTemplate||t.defaultMenuItemTemplate).bind(r),noMatchTemplate:function(e){return\"string\"==typeof e?\"\"===e.trim()?null:e:\"function\"==typeof e?e.bind(r):W||function(){return\"<li>No Match Found!</li>\"}.bind(r)}(W),lookup:e.lookup||A,fillAttr:e.fillAttr||I,values:e.values,requireLeadingSpace:e.requireLeadingSpace,searchOpts:e.searchOpts||Q,menuItemLimit:e.menuItemLimit||G,menuShowMinLength:e.menuShowMinLength||Z}}))}new l(this),new o(this),new u(this),new s(this)}return n(t,[{key:\"triggers\",value:function(){return this.collection.map((function(e){return e.trigger}))}},{key:\"attach\",value:function(e){if(!e)throw new Error(\"[Tribute] Must pass in a DOM node or NodeList.\");if(\"undefined\"!=typeof jQuery&&e instanceof jQuery&&(e=e.get()),e.constructor===NodeList||e.constructor===HTMLCollection||e.constructor===Array)for(var t=e.length,n=0;n<t;++n)this._attach(e[n]);else this._attach(e)}},{key:\"_attach\",value:function(e){e.hasAttribute(\"data-tribute\")&&console.warn(\"Tribute was already bound to \"+e.nodeName),this.ensureEditable(e),this.events.bind(e),e.setAttribute(\"data-tribute\",!0)}},{key:\"ensureEditable\",value:function(e){if(-1===t.inputTypes().indexOf(e.nodeName)){if(!e.contentEditable)throw new Error(\"[Tribute] Cannot bind to \"+e.nodeName);e.contentEditable=!0}}},{key:\"createMenu\",value:function(e){var t=this.range.getDocument().createElement(\"div\"),n=this.range.getDocument().createElement(\"ul\");return t.className=e,t.appendChild(n),this.menuContainer?this.menuContainer.appendChild(t):this.range.getDocument().body.appendChild(t)}},{key:\"showMenuFor\",value:function(e,t){var n=this;if(!this.isActive||this.current.element!==e||this.current.mentionText!==this.currentMentionTextSnapshot){this.currentMentionTextSnapshot=this.current.mentionText,this.menu||(this.menu=this.createMenu(this.current.collection.containerClass),e.tributeMenu=this.menu,this.menuEvents.bind(this.menu)),this.isActive=!0,this.menuSelected=0,this.current.mentionText||(this.current.mentionText=\"\");var r=function(e){if(n.isActive){var r=n.search.filter(n.current.mentionText,e,{pre:n.current.collection.searchOpts.pre||\"<span>\",post:n.current.collection.searchOpts.post||\"</span>\",skip:n.current.collection.searchOpts.skip,extract:function(e){if(\"string\"==typeof n.current.collection.lookup)return e[n.current.collection.lookup];if(\"function\"==typeof n.current.collection.lookup)return n.current.collection.lookup(e,n.current.mentionText);throw new Error(\"Invalid lookup attribute, lookup must be string or function.\")}});n.current.collection.menuItemLimit&&(r=r.slice(0,n.current.collection.menuItemLimit)),n.current.filteredItems=r;var o=n.menu.querySelector(\"ul\");if(n.range.positionMenuAtCaret(t),!r.length){var u=new CustomEvent(\"tribute-no-match\",{detail:n.menu});return n.current.element.dispatchEvent(u),void(\"function\"==typeof n.current.collection.noMatchTemplate&&!n.current.collection.noMatchTemplate()||!n.current.collection.noMatchTemplate?n.hideMenu():\"function\"==typeof n.current.collection.noMatchTemplate?o.innerHTML=n.current.collection.noMatchTemplate():o.innerHTML=n.current.collection.noMatchTemplate)}o.innerHTML=\"\";var l=n.range.getDocument().createDocumentFragment();r.forEach((function(e,t){var r=n.range.getDocument().createElement(\"li\");r.setAttribute(\"data-index\",t),r.className=n.current.collection.itemClass,r.addEventListener(\"mousemove\",(function(e){var t=i(n._findLiTarget(e.target),2),r=(t[0],t[1]);0!==e.movementY&&n.events.setActiveLi(r)})),n.menuSelected===t&&r.classList.add(n.current.collection.selectClass),r.innerHTML=n.current.collection.menuItemTemplate(e),l.appendChild(r)})),o.appendChild(l)}};\"function\"==typeof this.current.collection.values?this.current.collection.values(this.current.mentionText,r):r(this.current.collection.values)}}},{key:\"_findLiTarget\",value:function(e){if(!e)return[];var t=e.getAttribute(\"data-index\");return t?[e,t]:this._findLiTarget(e.parentNode)}},{key:\"showMenuForCollection\",value:function(e,t){e!==document.activeElement&&this.placeCaretAtEnd(e),this.current.collection=this.collection[t||0],this.current.externalTrigger=!0,this.current.element=e,e.isContentEditable?this.insertTextAtCursor(this.current.collection.trigger):this.insertAtCaret(e,this.current.collection.trigger),this.showMenuFor(e)}},{key:\"placeCaretAtEnd\",value:function(e){if(e.focus(),void 0!==window.getSelection&&void 0!==document.createRange){var t=document.createRange();t.selectNodeContents(e),t.collapse(!1);var n=window.getSelection();n.removeAllRanges(),n.addRange(t)}else if(void 0!==document.body.createTextRange){var i=document.body.createTextRange();i.moveToElementText(e),i.collapse(!1),i.select()}}},{key:\"insertTextAtCursor\",value:function(e){var t,n;(n=(t=window.getSelection()).getRangeAt(0)).deleteContents();var i=document.createTextNode(e);n.insertNode(i),n.selectNodeContents(i),n.collapse(!1),t.removeAllRanges(),t.addRange(n)}},{key:\"insertAtCaret\",value:function(e,t){var n=e.scrollTop,i=e.selectionStart,r=e.value.substring(0,i),o=e.value.substring(e.selectionEnd,e.value.length);e.value=r+t+o,i+=t.length,e.selectionStart=i,e.selectionEnd=i,e.focus(),e.scrollTop=n}},{key:\"hideMenu\",value:function(){this.menu&&(this.menu.style.cssText=\"display: none;\",this.isActive=!1,this.menuSelected=0,this.current={})}},{key:\"selectItemAtIndex\",value:function(e,t){if(\"number\"==typeof(e=parseInt(e))&&!isNaN(e)){var n=this.current.filteredItems[e],i=this.current.collection.selectTemplate(n);null!==i&&this.replaceText(i,t,n)}}},{key:\"replaceText\",value:function(e,t,n){this.range.replaceTriggerText(e,!0,!0,t,n)}},{key:\"_append\",value:function(e,t,n){if(\"function\"==typeof e.values)throw new Error(\"Unable to append to values, as it is a function.\");e.values=n?t:e.values.concat(t)}},{key:\"append\",value:function(e,t,n){var i=parseInt(e);if(\"number\"!=typeof i)throw new Error(\"please provide an index for the collection to update.\");var r=this.collection[i];this._append(r,t,n)}},{key:\"appendCurrent\",value:function(e,t){if(!this.isActive)throw new Error(\"No active state. Please use append instead and pass an index.\");this._append(this.current.collection,e,t)}},{key:\"detach\",value:function(e){if(!e)throw new Error(\"[Tribute] Must pass in a DOM node or NodeList.\");if(\"undefined\"!=typeof jQuery&&e instanceof jQuery&&(e=e.get()),e.constructor===NodeList||e.constructor===HTMLCollection||e.constructor===Array)for(var t=e.length,n=0;n<t;++n)this._detach(e[n]);else this._detach(e)}},{key:\"_detach\",value:function(e){var t=this;this.events.unbind(e),e.tributeMenu&&this.menuEvents.unbind(e.tributeMenu),setTimeout((function(){e.removeAttribute(\"data-tribute\"),t.isActive=!1,e.tributeMenu&&e.tributeMenu.remove()}))}},{key:\"isActive\",get:function(){return this._isActive},set:function(e){if(this._isActive!=e&&(this._isActive=e,this.current.element)){var t=new CustomEvent(\"tribute-active-\".concat(e));this.current.element.dispatchEvent(t)}}}],[{key:\"defaultSelectTemplate\",value:function(e){return void 0===e?\"\".concat(this.current.collection.trigger).concat(this.current.mentionText):this.range.isContentEditable(this.current.element)?'<span class=\"tribute-mention\">'+(this.current.collection.trigger+e.original[this.current.collection.fillAttr])+\"</span>\":this.current.collection.trigger+e.original[this.current.collection.fillAttr]}},{key:\"defaultMenuItemTemplate\",value:function(e){return e.string}},{key:\"inputTypes\",value:function(){return[\"TEXTAREA\",\"INPUT\"]}}]),t}()}));\n//# sourceMappingURL=tribute.min.js.map\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.instanceOf = exports.select = exports.ANONYMOUS_SELECT_KEY = exports.not = exports.when = void 0;\nconst symbols = require(\"./symbols\");\nconst when = (predicate) => ({\n    [symbols.PatternKind]: symbols.Guard,\n    [symbols.Guard]: predicate,\n});\nexports.when = when;\nconst not = (pattern) => ({\n    [symbols.PatternKind]: symbols.Not,\n    [symbols.Not]: pattern,\n});\nexports.not = not;\nexports.ANONYMOUS_SELECT_KEY = '@ts-pattern/__anonymous-select-key';\nfunction select(key) {\n    return key === undefined\n        ? {\n            [symbols.PatternKind]: symbols.AnonymousSelect,\n        }\n        : {\n            [symbols.PatternKind]: symbols.NamedSelect,\n            [symbols.NamedSelect]: key,\n        };\n}\nexports.select = select;\nfunction isInstanceOf(classConstructor) {\n    return (val) => val instanceof classConstructor;\n}\nconst instanceOf = (classConstructor) => (0, exports.when)(isInstanceOf(classConstructor));\nexports.instanceOf = instanceOf;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isMatching = exports.match = exports.instanceOf = exports.select = exports.not = exports.when = exports.__ = void 0;\nconst symbols = require(\"./symbols\");\nconst guards_1 = require(\"./guards\");\nObject.defineProperty(exports, \"when\", { enumerable: true, get: function () { return guards_1.when; } });\nObject.defineProperty(exports, \"not\", { enumerable: true, get: function () { return guards_1.not; } });\nObject.defineProperty(exports, \"select\", { enumerable: true, get: function () { return guards_1.select; } });\nObject.defineProperty(exports, \"instanceOf\", { enumerable: true, get: function () { return guards_1.instanceOf; } });\nconst wildcards_1 = require(\"./wildcards\");\nObject.defineProperty(exports, \"__\", { enumerable: true, get: function () { return wildcards_1.__; } });\n/**\n * #### match\n *\n * Entry point to create a pattern matching expression.\n *\n * It returns a `Match` builder, on which you can chain\n * several `.with(pattern, handler)` clauses.\n */\nconst match = (value) => builder(value, []);\nexports.match = match;\n/**\n * ### builder\n * This is the implementation of our pattern matching, using the\n * builder pattern.\n */\nconst builder = (value, cases) => {\n    const run = () => {\n        const entry = cases.find(({ test }) => test(value));\n        if (!entry) {\n            let displayedValue;\n            try {\n                displayedValue = JSON.stringify(value);\n            }\n            catch (e) {\n                displayedValue = value;\n            }\n            throw new Error(`Pattern matching error: no pattern matches value ${displayedValue}`);\n        }\n        return entry.handler(entry.select(value), value);\n    };\n    return {\n        with(...args) {\n            const handler = args[args.length - 1];\n            const patterns = [];\n            const predicates = [];\n            for (let i = 0; i < args.length - 1; i++) {\n                const arg = args[i];\n                if (typeof arg === 'function') {\n                    predicates.push(arg);\n                }\n                else {\n                    patterns.push(arg);\n                }\n            }\n            let selected = {};\n            const doesMatch = (value) => Boolean(patterns.some((pattern) => matchPattern(pattern, value, (key, value) => {\n                selected[key] = value;\n            })) && predicates.every((predicate) => predicate(value)));\n            return builder(value, cases.concat([\n                {\n                    test: doesMatch,\n                    handler,\n                    select: (value) => Object.keys(selected).length\n                        ? selected[guards_1.ANONYMOUS_SELECT_KEY] !== undefined\n                            ? selected[guards_1.ANONYMOUS_SELECT_KEY]\n                            : selected\n                        : value,\n                },\n            ]));\n        },\n        when: (predicate, handler) => builder(value, cases.concat([\n            {\n                test: predicate,\n                handler,\n                select: (value) => value,\n            },\n        ])),\n        otherwise: (handler) => builder(value, cases.concat([\n            {\n                test: () => true,\n                handler,\n                select: (value) => value,\n            },\n        ])).run(),\n        exhaustive: () => run(),\n        run,\n    };\n};\nconst isObject = (value) => Boolean(value && typeof value === 'object');\nconst isGuardPattern = (x) => {\n    const pattern = x;\n    return pattern && pattern[symbols.PatternKind] === symbols.Guard;\n};\nconst isNotPattern = (x) => {\n    const pattern = x;\n    return pattern && pattern[symbols.PatternKind] === symbols.Not;\n};\nconst isNamedSelectPattern = (x) => {\n    const pattern = x;\n    return pattern && pattern[symbols.PatternKind] === symbols.NamedSelect;\n};\nconst isAnonymousSelectPattern = (x) => {\n    const pattern = x;\n    return pattern && pattern[symbols.PatternKind] === symbols.AnonymousSelect;\n};\n// tells us if the value matches a given pattern.\nconst matchPattern = (pattern, value, select) => {\n    if (isObject(pattern)) {\n        if (isGuardPattern(pattern))\n            return Boolean(pattern[symbols.Guard](value));\n        if (isNamedSelectPattern(pattern)) {\n            select(pattern[symbols.NamedSelect], value);\n            return true;\n        }\n        if (isAnonymousSelectPattern(pattern)) {\n            select(guards_1.ANONYMOUS_SELECT_KEY, value);\n            return true;\n        }\n        if (isNotPattern(pattern))\n            return !matchPattern(pattern[symbols.Not], value, select);\n        if (!isObject(value))\n            return false;\n        if (Array.isArray(pattern)) {\n            if (!Array.isArray(value))\n                return false;\n            // List pattern\n            if (pattern.length === 1) {\n                const selected = {};\n                const listSelect = (key, value) => {\n                    selected[key] = (selected[key] || []).concat([value]);\n                };\n                const doesMatch = value.every((v) => matchPattern(pattern[0], v, listSelect));\n                if (doesMatch) {\n                    Object.keys(selected).forEach((key) => select(key, selected[key]));\n                }\n                return doesMatch;\n            }\n            // Tuple pattern\n            return pattern.length === value.length\n                ? pattern.every((subPattern, i) => matchPattern(subPattern, value[i], select))\n                : false;\n        }\n        if (pattern instanceof Map) {\n            if (!(value instanceof Map))\n                return false;\n            return [...pattern.keys()].every((key) => matchPattern(pattern.get(key), value.get(key), select));\n        }\n        if (pattern instanceof Set) {\n            if (!(value instanceof Set))\n                return false;\n            if (pattern.size === 0)\n                return value.size === 0;\n            if (pattern.size === 1) {\n                const [subPattern] = [...pattern.values()];\n                return Object.values(wildcards_1.__).includes(subPattern)\n                    ? matchPattern([subPattern], [...value.values()], select)\n                    : value.has(subPattern);\n            }\n            return [...pattern.values()].every((subPattern) => value.has(subPattern));\n        }\n        return Object.keys(pattern).every((k) => k in value &&\n            matchPattern(\n            // @ts-ignore\n            pattern[k], \n            // @ts-ignore\n            value[k], select));\n    }\n    return value === pattern;\n};\nfunction isMatching(...args) {\n    if (args.length === 1) {\n        const [pattern] = args;\n        return (value) => matchPattern(pattern, value, () => { });\n    }\n    if (args.length === 2) {\n        const [pattern, value] = args;\n        return matchPattern(pattern, value, () => { });\n    }\n    throw new Error(`isMatching wasn't given enough arguments: expected 1 or 2, received ${args.length}.`);\n}\nexports.isMatching = isMatching;\n","\"use strict\";\n/**\n * Symbols used internally within ts-pattern to construct and discriminate\n * Guard, Not, and Select, and AnonymousSelect patterns\n *\n * Symbols have the advantage of not appearing in auto-complete suggestions in\n * user defined patterns, and eliminate the admittedly unlikely risk of property\n * overlap between ts-pattern internals and user defined patterns.\n *\n * These symbols have to be visible to tsc for type inference to work, but\n * users should not import them\n * @module\n * @private\n * @internal\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AnonymousSelect = exports.NamedSelect = exports.Not = exports.Guard = exports.PatternKind = void 0;\n/** @internal This symbol should only be used by ts-pattern's internals. */\nexports.PatternKind = Symbol('@ts-pattern/pattern-kind');\n/** @internal This symbol should only be used by ts-pattern's internals. */\nexports.Guard = Symbol('@ts-pattern/guard');\n/** @internal This symbol should only be used by ts-pattern's internals. */\nexports.Not = Symbol('@ts-pattern/not');\n/** @internal This symbol should only be used by ts-pattern's internals. */\nexports.NamedSelect = Symbol('@ts-pattern/named-select');\n/** @internal This symbol should only be used by ts-pattern's internals. */\nexports.AnonymousSelect = Symbol('@ts-pattern/anonymous-select');\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.__ = void 0;\nconst guards_1 = require(\"./guards\");\nfunction isUnknown(x) {\n    return true;\n}\nfunction isNumber(x) {\n    return typeof x === 'number';\n}\nfunction numberIsNaN(x) {\n    return Number.isNaN(x);\n}\nfunction isString(x) {\n    return typeof x === 'string';\n}\nfunction isBoolean(x) {\n    return typeof x === 'boolean';\n}\nfunction isNullish(x) {\n    return x === null || x === undefined;\n}\nconst unknownGuard = (0, guards_1.when)(isUnknown);\nconst stringGuard = (0, guards_1.when)(isString);\nconst numberGuard = (0, guards_1.when)(isNumber);\nconst NaNGuard = (0, guards_1.when)(numberIsNaN);\nconst booleanGuard = (0, guards_1.when)(isBoolean);\nconst nullishGuard = (0, guards_1.when)(isNullish);\n/**\n * ### Catch All wildcard\n * `__` is wildcard pattern, matching **any value**.\n *\n * `__.string` is wildcard pattern matching any **string**.\n *\n * `__.number` is wildcard pattern matching any **number**.\n *\n * `__.NaN` is wildcard pattern matching **NaN**\n *\n * `__.boolean` is wildcard pattern matching any **boolean**.\n *\n * `__.nullish` is wildcard pattern matching **null** or **undefined**.\n * @example\n *  match(value)\n *   .with(__, () => 'will always match')\n *   .with(__.string, () => 'will match on strings only')\n *   .with(__.number, () => 'will match on numbers only')\n *   .with(__.NaN, () => 'will match on NaN')\n *   .with(__.boolean, () => 'will match on booleans only')\n *   .with(__.nullish, () => 'will match on null or undefined only')\n */\nexports.__ = Object.assign(unknownGuard, {\n    string: stringGuard,\n    number: numberGuard,\n    NaN: NaNGuard,\n    boolean: booleanGuard,\n    nullish: nullishGuard,\n});\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\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, pack) {\r\n    if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n        if (ar || !(i in from)) {\r\n            if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n            ar[i] = from[i];\r\n        }\r\n    }\r\n    return to.concat(ar || Array.prototype.slice.call(from));\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","/**\n * Assigns a value for a given ref, no matter of the ref format\n * @param {RefObject} ref - a callback function or ref object\n * @param value - a new value\n *\n * @see https://github.com/theKashey/use-callback-ref#assignref\n * @example\n * const refObject = useRef();\n * const refFn = (ref) => {....}\n *\n * assignRef(refObject, \"refValue\");\n * assignRef(refFn, \"refValue\");\n */\nexport function assignRef(ref, value) {\n    if (typeof ref === 'function') {\n        ref(value);\n    }\n    else if (ref) {\n        ref.current = value;\n    }\n    return ref;\n}\n","import * as React from 'react';\nimport { assignRef } from './assignRef';\nimport { useCallbackRef } from './useRef';\nvar useIsomorphicLayoutEffect = typeof window !== 'undefined' ? React.useLayoutEffect : React.useEffect;\nvar currentValues = new WeakMap();\n/**\n * Merges two or more refs together providing a single interface to set their value\n * @param {RefObject|Ref} refs\n * @returns {MutableRefObject} - a new ref, which translates all changes to {refs}\n *\n * @see {@link mergeRefs} a version without buit-in memoization\n * @see https://github.com/theKashey/use-callback-ref#usemergerefs\n * @example\n * const Component = React.forwardRef((props, ref) => {\n *   const ownRef = useRef();\n *   const domRef = useMergeRefs([ref, ownRef]); // 👈 merge together\n *   return <div ref={domRef}>...</div>\n * }\n */\nexport function useMergeRefs(refs, defaultValue) {\n    var callbackRef = useCallbackRef(defaultValue || null, function (newValue) {\n        return refs.forEach(function (ref) { return assignRef(ref, newValue); });\n    });\n    // handle refs changes - added or removed\n    useIsomorphicLayoutEffect(function () {\n        var oldValue = currentValues.get(callbackRef);\n        if (oldValue) {\n            var prevRefs_1 = new Set(oldValue);\n            var nextRefs_1 = new Set(refs);\n            var current_1 = callbackRef.current;\n            prevRefs_1.forEach(function (ref) {\n                if (!nextRefs_1.has(ref)) {\n                    assignRef(ref, null);\n                }\n            });\n            nextRefs_1.forEach(function (ref) {\n                if (!prevRefs_1.has(ref)) {\n                    assignRef(ref, current_1);\n                }\n            });\n        }\n        currentValues.set(callbackRef, refs);\n    }, [refs]);\n    return callbackRef;\n}\n","import { useState } from 'react';\n/**\n * creates a MutableRef with ref change callback\n * @param initialValue - initial ref value\n * @param {Function} callback - a callback to run when value changes\n *\n * @example\n * const ref = useCallbackRef(0, (newValue, oldValue) => console.log(oldValue, '->', newValue);\n * ref.current = 1;\n * // prints 0 -> 1\n *\n * @see https://reactjs.org/docs/hooks-reference.html#useref\n * @see https://github.com/theKashey/use-callback-ref#usecallbackref---to-replace-reactuseref\n * @returns {MutableRefObject}\n */\nexport function useCallbackRef(initialValue, callback) {\n    var ref = useState(function () { return ({\n        // value\n        value: initialValue,\n        // last callback\n        callback: callback,\n        // \"memoized\" public interface\n        facade: {\n            get current() {\n                return ref.value;\n            },\n            set current(value) {\n                var last = ref.value;\n                if (last !== value) {\n                    ref.value = value;\n                    ref.callback(value, last);\n                }\n            },\n        },\n    }); })[0];\n    // update callback\n    ref.callback = callback;\n    return ref.facade;\n}\n","import { __assign, __rest } from \"tslib\";\nimport * as React from 'react';\nvar SideCar = function (_a) {\n    var sideCar = _a.sideCar, rest = __rest(_a, [\"sideCar\"]);\n    if (!sideCar) {\n        throw new Error('Sidecar: please provide `sideCar` property to import the right car');\n    }\n    var Target = sideCar.read();\n    if (!Target) {\n        throw new Error('Sidecar medium not found');\n    }\n    return React.createElement(Target, __assign({}, rest));\n};\nSideCar.isSideCarExport = true;\nexport function exportSidecar(medium, exported) {\n    medium.useMedium(exported);\n    return SideCar;\n}\n","import { __assign } from \"tslib\";\nfunction ItoI(a) {\n    return a;\n}\nfunction innerCreateMedium(defaults, middleware) {\n    if (middleware === void 0) { middleware = ItoI; }\n    var buffer = [];\n    var assigned = false;\n    var medium = {\n        read: function () {\n            if (assigned) {\n                throw new Error('Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.');\n            }\n            if (buffer.length) {\n                return buffer[buffer.length - 1];\n            }\n            return defaults;\n        },\n        useMedium: function (data) {\n            var item = middleware(data, assigned);\n            buffer.push(item);\n            return function () {\n                buffer = buffer.filter(function (x) { return x !== item; });\n            };\n        },\n        assignSyncMedium: function (cb) {\n            assigned = true;\n            while (buffer.length) {\n                var cbs = buffer;\n                buffer = [];\n                cbs.forEach(cb);\n            }\n            buffer = {\n                push: function (x) { return cb(x); },\n                filter: function () { return buffer; },\n            };\n        },\n        assignMedium: function (cb) {\n            assigned = true;\n            var pendingQueue = [];\n            if (buffer.length) {\n                var cbs = buffer;\n                buffer = [];\n                cbs.forEach(cb);\n                pendingQueue = buffer;\n            }\n            var executeQueue = function () {\n                var cbs = pendingQueue;\n                pendingQueue = [];\n                cbs.forEach(cb);\n            };\n            var cycle = function () { return Promise.resolve().then(executeQueue); };\n            cycle();\n            buffer = {\n                push: function (x) {\n                    pendingQueue.push(x);\n                    cycle();\n                },\n                filter: function (filter) {\n                    pendingQueue = pendingQueue.filter(filter);\n                    return buffer;\n                },\n            };\n        },\n    };\n    return medium;\n}\nexport function createMedium(defaults, middleware) {\n    if (middleware === void 0) { middleware = ItoI; }\n    return innerCreateMedium(defaults, middleware);\n}\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport function createSidecarMedium(options) {\n    if (options === void 0) { options = {}; }\n    var medium = innerCreateMedium(null);\n    medium.options = __assign({ async: true, ssr: false }, options);\n    return medium;\n}\n","import { getSideAxis, getAlignmentAxis, getAxisLength, getSide, getAlignment, evaluate, getPaddingObject, rectToClientRect, min, clamp, placements, getAlignmentSides, getOppositeAlignmentPlacement, getOppositePlacement, getExpandedPlacements, getOppositeAxisPlacements, sides, max, getOppositeAxis } from '@floating-ui/utils';\nexport { rectToClientRect } from '@floating-ui/utils';\n\nfunction computeCoordsFromPlacement(_ref, placement, rtl) {\n  let {\n    reference,\n    floating\n  } = _ref;\n  const sideAxis = getSideAxis(placement);\n  const alignmentAxis = getAlignmentAxis(placement);\n  const alignLength = getAxisLength(alignmentAxis);\n  const side = getSide(placement);\n  const isVertical = sideAxis === 'y';\n  const commonX = reference.x + reference.width / 2 - floating.width / 2;\n  const commonY = reference.y + reference.height / 2 - floating.height / 2;\n  const commonAlign = reference[alignLength] / 2 - floating[alignLength] / 2;\n  let coords;\n  switch (side) {\n    case 'top':\n      coords = {\n        x: commonX,\n        y: reference.y - floating.height\n      };\n      break;\n    case 'bottom':\n      coords = {\n        x: commonX,\n        y: reference.y + reference.height\n      };\n      break;\n    case 'right':\n      coords = {\n        x: reference.x + reference.width,\n        y: commonY\n      };\n      break;\n    case 'left':\n      coords = {\n        x: reference.x - floating.width,\n        y: commonY\n      };\n      break;\n    default:\n      coords = {\n        x: reference.x,\n        y: reference.y\n      };\n  }\n  switch (getAlignment(placement)) {\n    case 'start':\n      coords[alignmentAxis] -= commonAlign * (rtl && isVertical ? -1 : 1);\n      break;\n    case 'end':\n      coords[alignmentAxis] += commonAlign * (rtl && isVertical ? -1 : 1);\n      break;\n  }\n  return coords;\n}\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n *\n * This export does not have any `platform` interface logic. You will need to\n * write one for the platform you are using Floating UI with.\n */\nconst computePosition = async (reference, floating, config) => {\n  const {\n    placement = 'bottom',\n    strategy = 'absolute',\n    middleware = [],\n    platform\n  } = config;\n  const validMiddleware = middleware.filter(Boolean);\n  const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(floating));\n  let rects = await platform.getElementRects({\n    reference,\n    floating,\n    strategy\n  });\n  let {\n    x,\n    y\n  } = computeCoordsFromPlacement(rects, placement, rtl);\n  let statefulPlacement = placement;\n  let middlewareData = {};\n  let resetCount = 0;\n  for (let i = 0; i < validMiddleware.length; i++) {\n    const {\n      name,\n      fn\n    } = validMiddleware[i];\n    const {\n      x: nextX,\n      y: nextY,\n      data,\n      reset\n    } = await fn({\n      x,\n      y,\n      initialPlacement: placement,\n      placement: statefulPlacement,\n      strategy,\n      middlewareData,\n      rects,\n      platform,\n      elements: {\n        reference,\n        floating\n      }\n    });\n    x = nextX != null ? nextX : x;\n    y = nextY != null ? nextY : y;\n    middlewareData = {\n      ...middlewareData,\n      [name]: {\n        ...middlewareData[name],\n        ...data\n      }\n    };\n    if (reset && resetCount <= 50) {\n      resetCount++;\n      if (typeof reset === 'object') {\n        if (reset.placement) {\n          statefulPlacement = reset.placement;\n        }\n        if (reset.rects) {\n          rects = reset.rects === true ? await platform.getElementRects({\n            reference,\n            floating,\n            strategy\n          }) : reset.rects;\n        }\n        ({\n          x,\n          y\n        } = computeCoordsFromPlacement(rects, statefulPlacement, rtl));\n      }\n      i = -1;\n    }\n  }\n  return {\n    x,\n    y,\n    placement: statefulPlacement,\n    strategy,\n    middlewareData\n  };\n};\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nasync function detectOverflow(state, options) {\n  var _await$platform$isEle;\n  if (options === void 0) {\n    options = {};\n  }\n  const {\n    x,\n    y,\n    platform,\n    rects,\n    elements,\n    strategy\n  } = state;\n  const {\n    boundary = 'clippingAncestors',\n    rootBoundary = 'viewport',\n    elementContext = 'floating',\n    altBoundary = false,\n    padding = 0\n  } = evaluate(options, state);\n  const paddingObject = getPaddingObject(padding);\n  const altContext = elementContext === 'floating' ? 'reference' : 'floating';\n  const element = elements[altBoundary ? altContext : elementContext];\n  const clippingClientRect = rectToClientRect(await platform.getClippingRect({\n    element: ((_await$platform$isEle = await (platform.isElement == null ? void 0 : platform.isElement(element))) != null ? _await$platform$isEle : true) ? element : element.contextElement || (await (platform.getDocumentElement == null ? void 0 : platform.getDocumentElement(elements.floating))),\n    boundary,\n    rootBoundary,\n    strategy\n  }));\n  const rect = elementContext === 'floating' ? {\n    x,\n    y,\n    width: rects.floating.width,\n    height: rects.floating.height\n  } : rects.reference;\n  const offsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(elements.floating));\n  const offsetScale = (await (platform.isElement == null ? void 0 : platform.isElement(offsetParent))) ? (await (platform.getScale == null ? void 0 : platform.getScale(offsetParent))) || {\n    x: 1,\n    y: 1\n  } : {\n    x: 1,\n    y: 1\n  };\n  const elementClientRect = rectToClientRect(platform.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform.convertOffsetParentRelativeRectToViewportRelativeRect({\n    elements,\n    rect,\n    offsetParent,\n    strategy\n  }) : rect);\n  return {\n    top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y,\n    bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y,\n    left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x,\n    right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x\n  };\n}\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = options => ({\n  name: 'arrow',\n  options,\n  async fn(state) {\n    const {\n      x,\n      y,\n      placement,\n      rects,\n      platform,\n      elements,\n      middlewareData\n    } = state;\n    // Since `element` is required, we don't Partial<> the type.\n    const {\n      element,\n      padding = 0\n    } = evaluate(options, state) || {};\n    if (element == null) {\n      return {};\n    }\n    const paddingObject = getPaddingObject(padding);\n    const coords = {\n      x,\n      y\n    };\n    const axis = getAlignmentAxis(placement);\n    const length = getAxisLength(axis);\n    const arrowDimensions = await platform.getDimensions(element);\n    const isYAxis = axis === 'y';\n    const minProp = isYAxis ? 'top' : 'left';\n    const maxProp = isYAxis ? 'bottom' : 'right';\n    const clientProp = isYAxis ? 'clientHeight' : 'clientWidth';\n    const endDiff = rects.reference[length] + rects.reference[axis] - coords[axis] - rects.floating[length];\n    const startDiff = coords[axis] - rects.reference[axis];\n    const arrowOffsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(element));\n    let clientSize = arrowOffsetParent ? arrowOffsetParent[clientProp] : 0;\n\n    // DOM platform can return `window` as the `offsetParent`.\n    if (!clientSize || !(await (platform.isElement == null ? void 0 : platform.isElement(arrowOffsetParent)))) {\n      clientSize = elements.floating[clientProp] || rects.floating[length];\n    }\n    const centerToReference = endDiff / 2 - startDiff / 2;\n\n    // If the padding is large enough that it causes the arrow to no longer be\n    // centered, modify the padding so that it is centered.\n    const largestPossiblePadding = clientSize / 2 - arrowDimensions[length] / 2 - 1;\n    const minPadding = min(paddingObject[minProp], largestPossiblePadding);\n    const maxPadding = min(paddingObject[maxProp], largestPossiblePadding);\n\n    // Make sure the arrow doesn't overflow the floating element if the center\n    // point is outside the floating element's bounds.\n    const min$1 = minPadding;\n    const max = clientSize - arrowDimensions[length] - maxPadding;\n    const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;\n    const offset = clamp(min$1, center, max);\n\n    // If the reference is small enough that the arrow's padding causes it to\n    // to point to nothing for an aligned placement, adjust the offset of the\n    // floating element itself. To ensure `shift()` continues to take action,\n    // a single reset is performed when this is true.\n    const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center !== offset && rects.reference[length] / 2 - (center < min$1 ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;\n    const alignmentOffset = shouldAddOffset ? center < min$1 ? center - min$1 : center - max : 0;\n    return {\n      [axis]: coords[axis] + alignmentOffset,\n      data: {\n        [axis]: offset,\n        centerOffset: center - offset - alignmentOffset,\n        ...(shouldAddOffset && {\n          alignmentOffset\n        })\n      },\n      reset: shouldAddOffset\n    };\n  }\n});\n\nfunction getPlacementList(alignment, autoAlignment, allowedPlacements) {\n  const allowedPlacementsSortedByAlignment = alignment ? [...allowedPlacements.filter(placement => getAlignment(placement) === alignment), ...allowedPlacements.filter(placement => getAlignment(placement) !== alignment)] : allowedPlacements.filter(placement => getSide(placement) === placement);\n  return allowedPlacementsSortedByAlignment.filter(placement => {\n    if (alignment) {\n      return getAlignment(placement) === alignment || (autoAlignment ? getOppositeAlignmentPlacement(placement) !== placement : false);\n    }\n    return true;\n  });\n}\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'autoPlacement',\n    options,\n    async fn(state) {\n      var _middlewareData$autoP, _middlewareData$autoP2, _placementsThatFitOnE;\n      const {\n        rects,\n        middlewareData,\n        placement,\n        platform,\n        elements\n      } = state;\n      const {\n        crossAxis = false,\n        alignment,\n        allowedPlacements = placements,\n        autoAlignment = true,\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n      const placements$1 = alignment !== undefined || allowedPlacements === placements ? getPlacementList(alignment || null, autoAlignment, allowedPlacements) : allowedPlacements;\n      const overflow = await detectOverflow(state, detectOverflowOptions);\n      const currentIndex = ((_middlewareData$autoP = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP.index) || 0;\n      const currentPlacement = placements$1[currentIndex];\n      if (currentPlacement == null) {\n        return {};\n      }\n      const alignmentSides = getAlignmentSides(currentPlacement, rects, await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating)));\n\n      // Make `computeCoords` start from the right place.\n      if (placement !== currentPlacement) {\n        return {\n          reset: {\n            placement: placements$1[0]\n          }\n        };\n      }\n      const currentOverflows = [overflow[getSide(currentPlacement)], overflow[alignmentSides[0]], overflow[alignmentSides[1]]];\n      const allOverflows = [...(((_middlewareData$autoP2 = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP2.overflows) || []), {\n        placement: currentPlacement,\n        overflows: currentOverflows\n      }];\n      const nextPlacement = placements$1[currentIndex + 1];\n\n      // There are more placements to check.\n      if (nextPlacement) {\n        return {\n          data: {\n            index: currentIndex + 1,\n            overflows: allOverflows\n          },\n          reset: {\n            placement: nextPlacement\n          }\n        };\n      }\n      const placementsSortedByMostSpace = allOverflows.map(d => {\n        const alignment = getAlignment(d.placement);\n        return [d.placement, alignment && crossAxis ?\n        // Check along the mainAxis and main crossAxis side.\n        d.overflows.slice(0, 2).reduce((acc, v) => acc + v, 0) :\n        // Check only the mainAxis.\n        d.overflows[0], d.overflows];\n      }).sort((a, b) => a[1] - b[1]);\n      const placementsThatFitOnEachSide = placementsSortedByMostSpace.filter(d => d[2].slice(0,\n      // Aligned placements should not check their opposite crossAxis\n      // side.\n      getAlignment(d[0]) ? 2 : 3).every(v => v <= 0));\n      const resetPlacement = ((_placementsThatFitOnE = placementsThatFitOnEachSide[0]) == null ? void 0 : _placementsThatFitOnE[0]) || placementsSortedByMostSpace[0][0];\n      if (resetPlacement !== placement) {\n        return {\n          data: {\n            index: currentIndex + 1,\n            overflows: allOverflows\n          },\n          reset: {\n            placement: resetPlacement\n          }\n        };\n      }\n      return {};\n    }\n  };\n};\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'flip',\n    options,\n    async fn(state) {\n      var _middlewareData$arrow, _middlewareData$flip;\n      const {\n        placement,\n        middlewareData,\n        rects,\n        initialPlacement,\n        platform,\n        elements\n      } = state;\n      const {\n        mainAxis: checkMainAxis = true,\n        crossAxis: checkCrossAxis = true,\n        fallbackPlacements: specifiedFallbackPlacements,\n        fallbackStrategy = 'bestFit',\n        fallbackAxisSideDirection = 'none',\n        flipAlignment = true,\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n\n      // If a reset by the arrow was caused due to an alignment offset being\n      // added, we should skip any logic now since `flip()` has already done its\n      // work.\n      // https://github.com/floating-ui/floating-ui/issues/2549#issuecomment-1719601643\n      if ((_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n        return {};\n      }\n      const side = getSide(placement);\n      const initialSideAxis = getSideAxis(initialPlacement);\n      const isBasePlacement = getSide(initialPlacement) === initialPlacement;\n      const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n      const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));\n      const hasFallbackAxisSideDirection = fallbackAxisSideDirection !== 'none';\n      if (!specifiedFallbackPlacements && hasFallbackAxisSideDirection) {\n        fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl));\n      }\n      const placements = [initialPlacement, ...fallbackPlacements];\n      const overflow = await detectOverflow(state, detectOverflowOptions);\n      const overflows = [];\n      let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || [];\n      if (checkMainAxis) {\n        overflows.push(overflow[side]);\n      }\n      if (checkCrossAxis) {\n        const sides = getAlignmentSides(placement, rects, rtl);\n        overflows.push(overflow[sides[0]], overflow[sides[1]]);\n      }\n      overflowsData = [...overflowsData, {\n        placement,\n        overflows\n      }];\n\n      // One or more sides is overflowing.\n      if (!overflows.every(side => side <= 0)) {\n        var _middlewareData$flip2, _overflowsData$filter;\n        const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;\n        const nextPlacement = placements[nextIndex];\n        if (nextPlacement) {\n          const ignoreCrossAxisOverflow = checkCrossAxis === 'alignment' ? initialSideAxis !== getSideAxis(nextPlacement) : false;\n          if (!ignoreCrossAxisOverflow ||\n          // We leave the current main axis only if every placement on that axis\n          // overflows the main axis.\n          overflowsData.every(d => getSideAxis(d.placement) === initialSideAxis ? d.overflows[0] > 0 : true)) {\n            // Try next placement and re-run the lifecycle.\n            return {\n              data: {\n                index: nextIndex,\n                overflows: overflowsData\n              },\n              reset: {\n                placement: nextPlacement\n              }\n            };\n          }\n        }\n\n        // First, find the candidates that fit on the mainAxis side of overflow,\n        // then find the placement that fits the best on the main crossAxis side.\n        let resetPlacement = (_overflowsData$filter = overflowsData.filter(d => d.overflows[0] <= 0).sort((a, b) => a.overflows[1] - b.overflows[1])[0]) == null ? void 0 : _overflowsData$filter.placement;\n\n        // Otherwise fallback.\n        if (!resetPlacement) {\n          switch (fallbackStrategy) {\n            case 'bestFit':\n              {\n                var _overflowsData$filter2;\n                const placement = (_overflowsData$filter2 = overflowsData.filter(d => {\n                  if (hasFallbackAxisSideDirection) {\n                    const currentSideAxis = getSideAxis(d.placement);\n                    return currentSideAxis === initialSideAxis ||\n                    // Create a bias to the `y` side axis due to horizontal\n                    // reading directions favoring greater width.\n                    currentSideAxis === 'y';\n                  }\n                  return true;\n                }).map(d => [d.placement, d.overflows.filter(overflow => overflow > 0).reduce((acc, overflow) => acc + overflow, 0)]).sort((a, b) => a[1] - b[1])[0]) == null ? void 0 : _overflowsData$filter2[0];\n                if (placement) {\n                  resetPlacement = placement;\n                }\n                break;\n              }\n            case 'initialPlacement':\n              resetPlacement = initialPlacement;\n              break;\n          }\n        }\n        if (placement !== resetPlacement) {\n          return {\n            reset: {\n              placement: resetPlacement\n            }\n          };\n        }\n      }\n      return {};\n    }\n  };\n};\n\nfunction getSideOffsets(overflow, rect) {\n  return {\n    top: overflow.top - rect.height,\n    right: overflow.right - rect.width,\n    bottom: overflow.bottom - rect.height,\n    left: overflow.left - rect.width\n  };\n}\nfunction isAnySideFullyClipped(overflow) {\n  return sides.some(side => overflow[side] >= 0);\n}\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'hide',\n    options,\n    async fn(state) {\n      const {\n        rects\n      } = state;\n      const {\n        strategy = 'referenceHidden',\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n      switch (strategy) {\n        case 'referenceHidden':\n          {\n            const overflow = await detectOverflow(state, {\n              ...detectOverflowOptions,\n              elementContext: 'reference'\n            });\n            const offsets = getSideOffsets(overflow, rects.reference);\n            return {\n              data: {\n                referenceHiddenOffsets: offsets,\n                referenceHidden: isAnySideFullyClipped(offsets)\n              }\n            };\n          }\n        case 'escaped':\n          {\n            const overflow = await detectOverflow(state, {\n              ...detectOverflowOptions,\n              altBoundary: true\n            });\n            const offsets = getSideOffsets(overflow, rects.floating);\n            return {\n              data: {\n                escapedOffsets: offsets,\n                escaped: isAnySideFullyClipped(offsets)\n              }\n            };\n          }\n        default:\n          {\n            return {};\n          }\n      }\n    }\n  };\n};\n\nfunction getBoundingRect(rects) {\n  const minX = min(...rects.map(rect => rect.left));\n  const minY = min(...rects.map(rect => rect.top));\n  const maxX = max(...rects.map(rect => rect.right));\n  const maxY = max(...rects.map(rect => rect.bottom));\n  return {\n    x: minX,\n    y: minY,\n    width: maxX - minX,\n    height: maxY - minY\n  };\n}\nfunction getRectsByLine(rects) {\n  const sortedRects = rects.slice().sort((a, b) => a.y - b.y);\n  const groups = [];\n  let prevRect = null;\n  for (let i = 0; i < sortedRects.length; i++) {\n    const rect = sortedRects[i];\n    if (!prevRect || rect.y - prevRect.y > prevRect.height / 2) {\n      groups.push([rect]);\n    } else {\n      groups[groups.length - 1].push(rect);\n    }\n    prevRect = rect;\n  }\n  return groups.map(rect => rectToClientRect(getBoundingRect(rect)));\n}\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'inline',\n    options,\n    async fn(state) {\n      const {\n        placement,\n        elements,\n        rects,\n        platform,\n        strategy\n      } = state;\n      // A MouseEvent's client{X,Y} coords can be up to 2 pixels off a\n      // ClientRect's bounds, despite the event listener being triggered. A\n      // padding of 2 seems to handle this issue.\n      const {\n        padding = 2,\n        x,\n        y\n      } = evaluate(options, state);\n      const nativeClientRects = Array.from((await (platform.getClientRects == null ? void 0 : platform.getClientRects(elements.reference))) || []);\n      const clientRects = getRectsByLine(nativeClientRects);\n      const fallback = rectToClientRect(getBoundingRect(nativeClientRects));\n      const paddingObject = getPaddingObject(padding);\n      function getBoundingClientRect() {\n        // There are two rects and they are disjoined.\n        if (clientRects.length === 2 && clientRects[0].left > clientRects[1].right && x != null && y != null) {\n          // Find the first rect in which the point is fully inside.\n          return clientRects.find(rect => x > rect.left - paddingObject.left && x < rect.right + paddingObject.right && y > rect.top - paddingObject.top && y < rect.bottom + paddingObject.bottom) || fallback;\n        }\n\n        // There are 2 or more connected rects.\n        if (clientRects.length >= 2) {\n          if (getSideAxis(placement) === 'y') {\n            const firstRect = clientRects[0];\n            const lastRect = clientRects[clientRects.length - 1];\n            const isTop = getSide(placement) === 'top';\n            const top = firstRect.top;\n            const bottom = lastRect.bottom;\n            const left = isTop ? firstRect.left : lastRect.left;\n            const right = isTop ? firstRect.right : lastRect.right;\n            const width = right - left;\n            const height = bottom - top;\n            return {\n              top,\n              bottom,\n              left,\n              right,\n              width,\n              height,\n              x: left,\n              y: top\n            };\n          }\n          const isLeftSide = getSide(placement) === 'left';\n          const maxRight = max(...clientRects.map(rect => rect.right));\n          const minLeft = min(...clientRects.map(rect => rect.left));\n          const measureRects = clientRects.filter(rect => isLeftSide ? rect.left === minLeft : rect.right === maxRight);\n          const top = measureRects[0].top;\n          const bottom = measureRects[measureRects.length - 1].bottom;\n          const left = minLeft;\n          const right = maxRight;\n          const width = right - left;\n          const height = bottom - top;\n          return {\n            top,\n            bottom,\n            left,\n            right,\n            width,\n            height,\n            x: left,\n            y: top\n          };\n        }\n        return fallback;\n      }\n      const resetRects = await platform.getElementRects({\n        reference: {\n          getBoundingClientRect\n        },\n        floating: elements.floating,\n        strategy\n      });\n      if (rects.reference.x !== resetRects.reference.x || rects.reference.y !== resetRects.reference.y || rects.reference.width !== resetRects.reference.width || rects.reference.height !== resetRects.reference.height) {\n        return {\n          reset: {\n            rects: resetRects\n          }\n        };\n      }\n      return {};\n    }\n  };\n};\n\nconst originSides = /*#__PURE__*/new Set(['left', 'top']);\n\n// For type backwards-compatibility, the `OffsetOptions` type was also\n// Derivable.\n\nasync function convertValueToCoords(state, options) {\n  const {\n    placement,\n    platform,\n    elements\n  } = state;\n  const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n  const side = getSide(placement);\n  const alignment = getAlignment(placement);\n  const isVertical = getSideAxis(placement) === 'y';\n  const mainAxisMulti = originSides.has(side) ? -1 : 1;\n  const crossAxisMulti = rtl && isVertical ? -1 : 1;\n  const rawValue = evaluate(options, state);\n\n  // eslint-disable-next-line prefer-const\n  let {\n    mainAxis,\n    crossAxis,\n    alignmentAxis\n  } = typeof rawValue === 'number' ? {\n    mainAxis: rawValue,\n    crossAxis: 0,\n    alignmentAxis: null\n  } : {\n    mainAxis: rawValue.mainAxis || 0,\n    crossAxis: rawValue.crossAxis || 0,\n    alignmentAxis: rawValue.alignmentAxis\n  };\n  if (alignment && typeof alignmentAxis === 'number') {\n    crossAxis = alignment === 'end' ? alignmentAxis * -1 : alignmentAxis;\n  }\n  return isVertical ? {\n    x: crossAxis * crossAxisMulti,\n    y: mainAxis * mainAxisMulti\n  } : {\n    x: mainAxis * mainAxisMulti,\n    y: crossAxis * crossAxisMulti\n  };\n}\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = function (options) {\n  if (options === void 0) {\n    options = 0;\n  }\n  return {\n    name: 'offset',\n    options,\n    async fn(state) {\n      var _middlewareData$offse, _middlewareData$arrow;\n      const {\n        x,\n        y,\n        placement,\n        middlewareData\n      } = state;\n      const diffCoords = await convertValueToCoords(state, options);\n\n      // If the placement is the same and the arrow caused an alignment offset\n      // then we don't need to change the positioning coordinates.\n      if (placement === ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse.placement) && (_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n        return {};\n      }\n      return {\n        x: x + diffCoords.x,\n        y: y + diffCoords.y,\n        data: {\n          ...diffCoords,\n          placement\n        }\n      };\n    }\n  };\n};\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'shift',\n    options,\n    async fn(state) {\n      const {\n        x,\n        y,\n        placement\n      } = state;\n      const {\n        mainAxis: checkMainAxis = true,\n        crossAxis: checkCrossAxis = false,\n        limiter = {\n          fn: _ref => {\n            let {\n              x,\n              y\n            } = _ref;\n            return {\n              x,\n              y\n            };\n          }\n        },\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n      const coords = {\n        x,\n        y\n      };\n      const overflow = await detectOverflow(state, detectOverflowOptions);\n      const crossAxis = getSideAxis(getSide(placement));\n      const mainAxis = getOppositeAxis(crossAxis);\n      let mainAxisCoord = coords[mainAxis];\n      let crossAxisCoord = coords[crossAxis];\n      if (checkMainAxis) {\n        const minSide = mainAxis === 'y' ? 'top' : 'left';\n        const maxSide = mainAxis === 'y' ? 'bottom' : 'right';\n        const min = mainAxisCoord + overflow[minSide];\n        const max = mainAxisCoord - overflow[maxSide];\n        mainAxisCoord = clamp(min, mainAxisCoord, max);\n      }\n      if (checkCrossAxis) {\n        const minSide = crossAxis === 'y' ? 'top' : 'left';\n        const maxSide = crossAxis === 'y' ? 'bottom' : 'right';\n        const min = crossAxisCoord + overflow[minSide];\n        const max = crossAxisCoord - overflow[maxSide];\n        crossAxisCoord = clamp(min, crossAxisCoord, max);\n      }\n      const limitedCoords = limiter.fn({\n        ...state,\n        [mainAxis]: mainAxisCoord,\n        [crossAxis]: crossAxisCoord\n      });\n      return {\n        ...limitedCoords,\n        data: {\n          x: limitedCoords.x - x,\n          y: limitedCoords.y - y,\n          enabled: {\n            [mainAxis]: checkMainAxis,\n            [crossAxis]: checkCrossAxis\n          }\n        }\n      };\n    }\n  };\n};\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    options,\n    fn(state) {\n      const {\n        x,\n        y,\n        placement,\n        rects,\n        middlewareData\n      } = state;\n      const {\n        offset = 0,\n        mainAxis: checkMainAxis = true,\n        crossAxis: checkCrossAxis = true\n      } = evaluate(options, state);\n      const coords = {\n        x,\n        y\n      };\n      const crossAxis = getSideAxis(placement);\n      const mainAxis = getOppositeAxis(crossAxis);\n      let mainAxisCoord = coords[mainAxis];\n      let crossAxisCoord = coords[crossAxis];\n      const rawOffset = evaluate(offset, state);\n      const computedOffset = typeof rawOffset === 'number' ? {\n        mainAxis: rawOffset,\n        crossAxis: 0\n      } : {\n        mainAxis: 0,\n        crossAxis: 0,\n        ...rawOffset\n      };\n      if (checkMainAxis) {\n        const len = mainAxis === 'y' ? 'height' : 'width';\n        const limitMin = rects.reference[mainAxis] - rects.floating[len] + computedOffset.mainAxis;\n        const limitMax = rects.reference[mainAxis] + rects.reference[len] - computedOffset.mainAxis;\n        if (mainAxisCoord < limitMin) {\n          mainAxisCoord = limitMin;\n        } else if (mainAxisCoord > limitMax) {\n          mainAxisCoord = limitMax;\n        }\n      }\n      if (checkCrossAxis) {\n        var _middlewareData$offse, _middlewareData$offse2;\n        const len = mainAxis === 'y' ? 'width' : 'height';\n        const isOriginSide = originSides.has(getSide(placement));\n        const limitMin = rects.reference[crossAxis] - rects.floating[len] + (isOriginSide ? ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse[crossAxis]) || 0 : 0) + (isOriginSide ? 0 : computedOffset.crossAxis);\n        const limitMax = rects.reference[crossAxis] + rects.reference[len] + (isOriginSide ? 0 : ((_middlewareData$offse2 = middlewareData.offset) == null ? void 0 : _middlewareData$offse2[crossAxis]) || 0) - (isOriginSide ? computedOffset.crossAxis : 0);\n        if (crossAxisCoord < limitMin) {\n          crossAxisCoord = limitMin;\n        } else if (crossAxisCoord > limitMax) {\n          crossAxisCoord = limitMax;\n        }\n      }\n      return {\n        [mainAxis]: mainAxisCoord,\n        [crossAxis]: crossAxisCoord\n      };\n    }\n  };\n};\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'size',\n    options,\n    async fn(state) {\n      var _state$middlewareData, _state$middlewareData2;\n      const {\n        placement,\n        rects,\n        platform,\n        elements\n      } = state;\n      const {\n        apply = () => {},\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n      const overflow = await detectOverflow(state, detectOverflowOptions);\n      const side = getSide(placement);\n      const alignment = getAlignment(placement);\n      const isYAxis = getSideAxis(placement) === 'y';\n      const {\n        width,\n        height\n      } = rects.floating;\n      let heightSide;\n      let widthSide;\n      if (side === 'top' || side === 'bottom') {\n        heightSide = side;\n        widthSide = alignment === ((await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating))) ? 'start' : 'end') ? 'left' : 'right';\n      } else {\n        widthSide = side;\n        heightSide = alignment === 'end' ? 'top' : 'bottom';\n      }\n      const maximumClippingHeight = height - overflow.top - overflow.bottom;\n      const maximumClippingWidth = width - overflow.left - overflow.right;\n      const overflowAvailableHeight = min(height - overflow[heightSide], maximumClippingHeight);\n      const overflowAvailableWidth = min(width - overflow[widthSide], maximumClippingWidth);\n      const noShift = !state.middlewareData.shift;\n      let availableHeight = overflowAvailableHeight;\n      let availableWidth = overflowAvailableWidth;\n      if ((_state$middlewareData = state.middlewareData.shift) != null && _state$middlewareData.enabled.x) {\n        availableWidth = maximumClippingWidth;\n      }\n      if ((_state$middlewareData2 = state.middlewareData.shift) != null && _state$middlewareData2.enabled.y) {\n        availableHeight = maximumClippingHeight;\n      }\n      if (noShift && !alignment) {\n        const xMin = max(overflow.left, 0);\n        const xMax = max(overflow.right, 0);\n        const yMin = max(overflow.top, 0);\n        const yMax = max(overflow.bottom, 0);\n        if (isYAxis) {\n          availableWidth = width - 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : max(overflow.left, overflow.right));\n        } else {\n          availableHeight = height - 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : max(overflow.top, overflow.bottom));\n        }\n      }\n      await apply({\n        ...state,\n        availableWidth,\n        availableHeight\n      });\n      const nextDimensions = await platform.getDimensions(elements.floating);\n      if (width !== nextDimensions.width || height !== nextDimensions.height) {\n        return {\n          reset: {\n            rects: true\n          }\n        };\n      }\n      return {};\n    }\n  };\n};\n\nexport { arrow, autoPlacement, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, shift, size };\n","import { rectToClientRect, arrow as arrow$1, autoPlacement as autoPlacement$1, detectOverflow as detectOverflow$1, flip as flip$1, hide as hide$1, inline as inline$1, limitShift as limitShift$1, offset as offset$1, shift as shift$1, size as size$1, computePosition as computePosition$1 } from '@floating-ui/core';\nimport { round, createCoords, max, min, floor } from '@floating-ui/utils';\nimport { getComputedStyle as getComputedStyle$1, isHTMLElement, isElement, getWindow, isWebKit, getFrameElement, getNodeScroll, getDocumentElement, isTopLayer, getNodeName, isOverflowElement, getOverflowAncestors, getParentNode, isLastTraversableNode, isContainingBlock, isTableElement, getContainingBlock } from '@floating-ui/utils/dom';\nexport { getOverflowAncestors } from '@floating-ui/utils/dom';\n\nfunction getCssDimensions(element) {\n  const css = getComputedStyle$1(element);\n  // In testing environments, the `width` and `height` properties are empty\n  // strings for SVG elements, returning NaN. Fallback to `0` in this case.\n  let width = parseFloat(css.width) || 0;\n  let height = parseFloat(css.height) || 0;\n  const hasOffset = isHTMLElement(element);\n  const offsetWidth = hasOffset ? element.offsetWidth : width;\n  const offsetHeight = hasOffset ? element.offsetHeight : height;\n  const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight;\n  if (shouldFallback) {\n    width = offsetWidth;\n    height = offsetHeight;\n  }\n  return {\n    width,\n    height,\n    $: shouldFallback\n  };\n}\n\nfunction unwrapElement(element) {\n  return !isElement(element) ? element.contextElement : element;\n}\n\nfunction getScale(element) {\n  const domElement = unwrapElement(element);\n  if (!isHTMLElement(domElement)) {\n    return createCoords(1);\n  }\n  const rect = domElement.getBoundingClientRect();\n  const {\n    width,\n    height,\n    $\n  } = getCssDimensions(domElement);\n  let x = ($ ? round(rect.width) : rect.width) / width;\n  let y = ($ ? round(rect.height) : rect.height) / height;\n\n  // 0, NaN, or Infinity should always fallback to 1.\n\n  if (!x || !Number.isFinite(x)) {\n    x = 1;\n  }\n  if (!y || !Number.isFinite(y)) {\n    y = 1;\n  }\n  return {\n    x,\n    y\n  };\n}\n\nconst noOffsets = /*#__PURE__*/createCoords(0);\nfunction getVisualOffsets(element) {\n  const win = getWindow(element);\n  if (!isWebKit() || !win.visualViewport) {\n    return noOffsets;\n  }\n  return {\n    x: win.visualViewport.offsetLeft,\n    y: win.visualViewport.offsetTop\n  };\n}\nfunction shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {\n  if (isFixed === void 0) {\n    isFixed = false;\n  }\n  if (!floatingOffsetParent || isFixed && floatingOffsetParent !== getWindow(element)) {\n    return false;\n  }\n  return isFixed;\n}\n\nfunction getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {\n  if (includeScale === void 0) {\n    includeScale = false;\n  }\n  if (isFixedStrategy === void 0) {\n    isFixedStrategy = false;\n  }\n  const clientRect = element.getBoundingClientRect();\n  const domElement = unwrapElement(element);\n  let scale = createCoords(1);\n  if (includeScale) {\n    if (offsetParent) {\n      if (isElement(offsetParent)) {\n        scale = getScale(offsetParent);\n      }\n    } else {\n      scale = getScale(element);\n    }\n  }\n  const visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : createCoords(0);\n  let x = (clientRect.left + visualOffsets.x) / scale.x;\n  let y = (clientRect.top + visualOffsets.y) / scale.y;\n  let width = clientRect.width / scale.x;\n  let height = clientRect.height / scale.y;\n  if (domElement) {\n    const win = getWindow(domElement);\n    const offsetWin = offsetParent && isElement(offsetParent) ? getWindow(offsetParent) : offsetParent;\n    let currentWin = win;\n    let currentIFrame = getFrameElement(currentWin);\n    while (currentIFrame && offsetParent && offsetWin !== currentWin) {\n      const iframeScale = getScale(currentIFrame);\n      const iframeRect = currentIFrame.getBoundingClientRect();\n      const css = getComputedStyle$1(currentIFrame);\n      const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x;\n      const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y;\n      x *= iframeScale.x;\n      y *= iframeScale.y;\n      width *= iframeScale.x;\n      height *= iframeScale.y;\n      x += left;\n      y += top;\n      currentWin = getWindow(currentIFrame);\n      currentIFrame = getFrameElement(currentWin);\n    }\n  }\n  return rectToClientRect({\n    width,\n    height,\n    x,\n    y\n  });\n}\n\n// If <html> has a CSS width greater than the viewport, then this will be\n// incorrect for RTL.\nfunction getWindowScrollBarX(element, rect) {\n  const leftScroll = getNodeScroll(element).scrollLeft;\n  if (!rect) {\n    return getBoundingClientRect(getDocumentElement(element)).left + leftScroll;\n  }\n  return rect.left + leftScroll;\n}\n\nfunction getHTMLOffset(documentElement, scroll) {\n  const htmlRect = documentElement.getBoundingClientRect();\n  const x = htmlRect.left + scroll.scrollLeft - getWindowScrollBarX(documentElement, htmlRect);\n  const y = htmlRect.top + scroll.scrollTop;\n  return {\n    x,\n    y\n  };\n}\n\nfunction convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {\n  let {\n    elements,\n    rect,\n    offsetParent,\n    strategy\n  } = _ref;\n  const isFixed = strategy === 'fixed';\n  const documentElement = getDocumentElement(offsetParent);\n  const topLayer = elements ? isTopLayer(elements.floating) : false;\n  if (offsetParent === documentElement || topLayer && isFixed) {\n    return rect;\n  }\n  let scroll = {\n    scrollLeft: 0,\n    scrollTop: 0\n  };\n  let scale = createCoords(1);\n  const offsets = createCoords(0);\n  const isOffsetParentAnElement = isHTMLElement(offsetParent);\n  if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n    if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n      scroll = getNodeScroll(offsetParent);\n    }\n    if (isHTMLElement(offsetParent)) {\n      const offsetRect = getBoundingClientRect(offsetParent);\n      scale = getScale(offsetParent);\n      offsets.x = offsetRect.x + offsetParent.clientLeft;\n      offsets.y = offsetRect.y + offsetParent.clientTop;\n    }\n  }\n  const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);\n  return {\n    width: rect.width * scale.x,\n    height: rect.height * scale.y,\n    x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x + htmlOffset.x,\n    y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y + htmlOffset.y\n  };\n}\n\nfunction getClientRects(element) {\n  return Array.from(element.getClientRects());\n}\n\n// Gets the entire size of the scrollable document area, even extending outside\n// of the `<html>` and `<body>` rect bounds if horizontally scrollable.\nfunction getDocumentRect(element) {\n  const html = getDocumentElement(element);\n  const scroll = getNodeScroll(element);\n  const body = element.ownerDocument.body;\n  const width = max(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth);\n  const height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);\n  let x = -scroll.scrollLeft + getWindowScrollBarX(element);\n  const y = -scroll.scrollTop;\n  if (getComputedStyle$1(body).direction === 'rtl') {\n    x += max(html.clientWidth, body.clientWidth) - width;\n  }\n  return {\n    width,\n    height,\n    x,\n    y\n  };\n}\n\n// Safety check: ensure the scrollbar space is reasonable in case this\n// calculation is affected by unusual styles.\n// Most scrollbars leave 15-18px of space.\nconst SCROLLBAR_MAX = 25;\nfunction getViewportRect(element, strategy) {\n  const win = getWindow(element);\n  const html = getDocumentElement(element);\n  const visualViewport = win.visualViewport;\n  let width = html.clientWidth;\n  let height = html.clientHeight;\n  let x = 0;\n  let y = 0;\n  if (visualViewport) {\n    width = visualViewport.width;\n    height = visualViewport.height;\n    const visualViewportBased = isWebKit();\n    if (!visualViewportBased || visualViewportBased && strategy === 'fixed') {\n      x = visualViewport.offsetLeft;\n      y = visualViewport.offsetTop;\n    }\n  }\n  const windowScrollbarX = getWindowScrollBarX(html);\n  // <html> `overflow: hidden` + `scrollbar-gutter: stable` reduces the\n  // visual width of the <html> but this is not considered in the size\n  // of `html.clientWidth`.\n  if (windowScrollbarX <= 0) {\n    const doc = html.ownerDocument;\n    const body = doc.body;\n    const bodyStyles = getComputedStyle(body);\n    const bodyMarginInline = doc.compatMode === 'CSS1Compat' ? parseFloat(bodyStyles.marginLeft) + parseFloat(bodyStyles.marginRight) || 0 : 0;\n    const clippingStableScrollbarWidth = Math.abs(html.clientWidth - body.clientWidth - bodyMarginInline);\n    if (clippingStableScrollbarWidth <= SCROLLBAR_MAX) {\n      width -= clippingStableScrollbarWidth;\n    }\n  } else if (windowScrollbarX <= SCROLLBAR_MAX) {\n    // If the <body> scrollbar is on the left, the width needs to be extended\n    // by the scrollbar amount so there isn't extra space on the right.\n    width += windowScrollbarX;\n  }\n  return {\n    width,\n    height,\n    x,\n    y\n  };\n}\n\nconst absoluteOrFixed = /*#__PURE__*/new Set(['absolute', 'fixed']);\n// Returns the inner client rect, subtracting scrollbars if present.\nfunction getInnerBoundingClientRect(element, strategy) {\n  const clientRect = getBoundingClientRect(element, true, strategy === 'fixed');\n  const top = clientRect.top + element.clientTop;\n  const left = clientRect.left + element.clientLeft;\n  const scale = isHTMLElement(element) ? getScale(element) : createCoords(1);\n  const width = element.clientWidth * scale.x;\n  const height = element.clientHeight * scale.y;\n  const x = left * scale.x;\n  const y = top * scale.y;\n  return {\n    width,\n    height,\n    x,\n    y\n  };\n}\nfunction getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {\n  let rect;\n  if (clippingAncestor === 'viewport') {\n    rect = getViewportRect(element, strategy);\n  } else if (clippingAncestor === 'document') {\n    rect = getDocumentRect(getDocumentElement(element));\n  } else if (isElement(clippingAncestor)) {\n    rect = getInnerBoundingClientRect(clippingAncestor, strategy);\n  } else {\n    const visualOffsets = getVisualOffsets(element);\n    rect = {\n      x: clippingAncestor.x - visualOffsets.x,\n      y: clippingAncestor.y - visualOffsets.y,\n      width: clippingAncestor.width,\n      height: clippingAncestor.height\n    };\n  }\n  return rectToClientRect(rect);\n}\nfunction hasFixedPositionAncestor(element, stopNode) {\n  const parentNode = getParentNode(element);\n  if (parentNode === stopNode || !isElement(parentNode) || isLastTraversableNode(parentNode)) {\n    return false;\n  }\n  return getComputedStyle$1(parentNode).position === 'fixed' || hasFixedPositionAncestor(parentNode, stopNode);\n}\n\n// A \"clipping ancestor\" is an `overflow` element with the characteristic of\n// clipping (or hiding) child elements. This returns all clipping ancestors\n// of the given element up the tree.\nfunction getClippingElementAncestors(element, cache) {\n  const cachedResult = cache.get(element);\n  if (cachedResult) {\n    return cachedResult;\n  }\n  let result = getOverflowAncestors(element, [], false).filter(el => isElement(el) && getNodeName(el) !== 'body');\n  let currentContainingBlockComputedStyle = null;\n  const elementIsFixed = getComputedStyle$1(element).position === 'fixed';\n  let currentNode = elementIsFixed ? getParentNode(element) : element;\n\n  // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n  while (isElement(currentNode) && !isLastTraversableNode(currentNode)) {\n    const computedStyle = getComputedStyle$1(currentNode);\n    const currentNodeIsContaining = isContainingBlock(currentNode);\n    if (!currentNodeIsContaining && computedStyle.position === 'fixed') {\n      currentContainingBlockComputedStyle = null;\n    }\n    const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle && absoluteOrFixed.has(currentContainingBlockComputedStyle.position) || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);\n    if (shouldDropCurrentNode) {\n      // Drop non-containing blocks.\n      result = result.filter(ancestor => ancestor !== currentNode);\n    } else {\n      // Record last containing block for next iteration.\n      currentContainingBlockComputedStyle = computedStyle;\n    }\n    currentNode = getParentNode(currentNode);\n  }\n  cache.set(element, result);\n  return result;\n}\n\n// Gets the maximum area that the element is visible in due to any number of\n// clipping ancestors.\nfunction getClippingRect(_ref) {\n  let {\n    element,\n    boundary,\n    rootBoundary,\n    strategy\n  } = _ref;\n  const elementClippingAncestors = boundary === 'clippingAncestors' ? isTopLayer(element) ? [] : getClippingElementAncestors(element, this._c) : [].concat(boundary);\n  const clippingAncestors = [...elementClippingAncestors, rootBoundary];\n  const firstClippingAncestor = clippingAncestors[0];\n  const clippingRect = clippingAncestors.reduce((accRect, clippingAncestor) => {\n    const rect = getClientRectFromClippingAncestor(element, clippingAncestor, strategy);\n    accRect.top = max(rect.top, accRect.top);\n    accRect.right = min(rect.right, accRect.right);\n    accRect.bottom = min(rect.bottom, accRect.bottom);\n    accRect.left = max(rect.left, accRect.left);\n    return accRect;\n  }, getClientRectFromClippingAncestor(element, firstClippingAncestor, strategy));\n  return {\n    width: clippingRect.right - clippingRect.left,\n    height: clippingRect.bottom - clippingRect.top,\n    x: clippingRect.left,\n    y: clippingRect.top\n  };\n}\n\nfunction getDimensions(element) {\n  const {\n    width,\n    height\n  } = getCssDimensions(element);\n  return {\n    width,\n    height\n  };\n}\n\nfunction getRectRelativeToOffsetParent(element, offsetParent, strategy) {\n  const isOffsetParentAnElement = isHTMLElement(offsetParent);\n  const documentElement = getDocumentElement(offsetParent);\n  const isFixed = strategy === 'fixed';\n  const rect = getBoundingClientRect(element, true, isFixed, offsetParent);\n  let scroll = {\n    scrollLeft: 0,\n    scrollTop: 0\n  };\n  const offsets = createCoords(0);\n\n  // If the <body> scrollbar appears on the left (e.g. RTL systems). Use\n  // Firefox with layout.scrollbar.side = 3 in about:config to test this.\n  function setLeftRTLScrollbarOffset() {\n    offsets.x = getWindowScrollBarX(documentElement);\n  }\n  if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n    if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n      scroll = getNodeScroll(offsetParent);\n    }\n    if (isOffsetParentAnElement) {\n      const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent);\n      offsets.x = offsetRect.x + offsetParent.clientLeft;\n      offsets.y = offsetRect.y + offsetParent.clientTop;\n    } else if (documentElement) {\n      setLeftRTLScrollbarOffset();\n    }\n  }\n  if (isFixed && !isOffsetParentAnElement && documentElement) {\n    setLeftRTLScrollbarOffset();\n  }\n  const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);\n  const x = rect.left + scroll.scrollLeft - offsets.x - htmlOffset.x;\n  const y = rect.top + scroll.scrollTop - offsets.y - htmlOffset.y;\n  return {\n    x,\n    y,\n    width: rect.width,\n    height: rect.height\n  };\n}\n\nfunction isStaticPositioned(element) {\n  return getComputedStyle$1(element).position === 'static';\n}\n\nfunction getTrueOffsetParent(element, polyfill) {\n  if (!isHTMLElement(element) || getComputedStyle$1(element).position === 'fixed') {\n    return null;\n  }\n  if (polyfill) {\n    return polyfill(element);\n  }\n  let rawOffsetParent = element.offsetParent;\n\n  // Firefox returns the <html> element as the offsetParent if it's non-static,\n  // while Chrome and Safari return the <body> element. The <body> element must\n  // be used to perform the correct calculations even if the <html> element is\n  // non-static.\n  if (getDocumentElement(element) === rawOffsetParent) {\n    rawOffsetParent = rawOffsetParent.ownerDocument.body;\n  }\n  return rawOffsetParent;\n}\n\n// Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\nfunction getOffsetParent(element, polyfill) {\n  const win = getWindow(element);\n  if (isTopLayer(element)) {\n    return win;\n  }\n  if (!isHTMLElement(element)) {\n    let svgOffsetParent = getParentNode(element);\n    while (svgOffsetParent && !isLastTraversableNode(svgOffsetParent)) {\n      if (isElement(svgOffsetParent) && !isStaticPositioned(svgOffsetParent)) {\n        return svgOffsetParent;\n      }\n      svgOffsetParent = getParentNode(svgOffsetParent);\n    }\n    return win;\n  }\n  let offsetParent = getTrueOffsetParent(element, polyfill);\n  while (offsetParent && isTableElement(offsetParent) && isStaticPositioned(offsetParent)) {\n    offsetParent = getTrueOffsetParent(offsetParent, polyfill);\n  }\n  if (offsetParent && isLastTraversableNode(offsetParent) && isStaticPositioned(offsetParent) && !isContainingBlock(offsetParent)) {\n    return win;\n  }\n  return offsetParent || getContainingBlock(element) || win;\n}\n\nconst getElementRects = async function (data) {\n  const getOffsetParentFn = this.getOffsetParent || getOffsetParent;\n  const getDimensionsFn = this.getDimensions;\n  const floatingDimensions = await getDimensionsFn(data.floating);\n  return {\n    reference: getRectRelativeToOffsetParent(data.reference, await getOffsetParentFn(data.floating), data.strategy),\n    floating: {\n      x: 0,\n      y: 0,\n      width: floatingDimensions.width,\n      height: floatingDimensions.height\n    }\n  };\n};\n\nfunction isRTL(element) {\n  return getComputedStyle$1(element).direction === 'rtl';\n}\n\nconst platform = {\n  convertOffsetParentRelativeRectToViewportRelativeRect,\n  getDocumentElement,\n  getClippingRect,\n  getOffsetParent,\n  getElementRects,\n  getClientRects,\n  getDimensions,\n  getScale,\n  isElement,\n  isRTL\n};\n\nfunction rectsAreEqual(a, b) {\n  return a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height;\n}\n\n// https://samthor.au/2021/observing-dom/\nfunction observeMove(element, onMove) {\n  let io = null;\n  let timeoutId;\n  const root = getDocumentElement(element);\n  function cleanup() {\n    var _io;\n    clearTimeout(timeoutId);\n    (_io = io) == null || _io.disconnect();\n    io = null;\n  }\n  function refresh(skip, threshold) {\n    if (skip === void 0) {\n      skip = false;\n    }\n    if (threshold === void 0) {\n      threshold = 1;\n    }\n    cleanup();\n    const elementRectForRootMargin = element.getBoundingClientRect();\n    const {\n      left,\n      top,\n      width,\n      height\n    } = elementRectForRootMargin;\n    if (!skip) {\n      onMove();\n    }\n    if (!width || !height) {\n      return;\n    }\n    const insetTop = floor(top);\n    const insetRight = floor(root.clientWidth - (left + width));\n    const insetBottom = floor(root.clientHeight - (top + height));\n    const insetLeft = floor(left);\n    const rootMargin = -insetTop + \"px \" + -insetRight + \"px \" + -insetBottom + \"px \" + -insetLeft + \"px\";\n    const options = {\n      rootMargin,\n      threshold: max(0, min(1, threshold)) || 1\n    };\n    let isFirstUpdate = true;\n    function handleObserve(entries) {\n      const ratio = entries[0].intersectionRatio;\n      if (ratio !== threshold) {\n        if (!isFirstUpdate) {\n          return refresh();\n        }\n        if (!ratio) {\n          // If the reference is clipped, the ratio is 0. Throttle the refresh\n          // to prevent an infinite loop of updates.\n          timeoutId = setTimeout(() => {\n            refresh(false, 1e-7);\n          }, 1000);\n        } else {\n          refresh(false, ratio);\n        }\n      }\n      if (ratio === 1 && !rectsAreEqual(elementRectForRootMargin, element.getBoundingClientRect())) {\n        // It's possible that even though the ratio is reported as 1, the\n        // element is not actually fully within the IntersectionObserver's root\n        // area anymore. This can happen under performance constraints. This may\n        // be a bug in the browser's IntersectionObserver implementation. To\n        // work around this, we compare the element's bounding rect now with\n        // what it was at the time we created the IntersectionObserver. If they\n        // are not equal then the element moved, so we refresh.\n        refresh();\n      }\n      isFirstUpdate = false;\n    }\n\n    // Older browsers don't support a `document` as the root and will throw an\n    // error.\n    try {\n      io = new IntersectionObserver(handleObserve, {\n        ...options,\n        // Handle <iframe>s\n        root: root.ownerDocument\n      });\n    } catch (_e) {\n      io = new IntersectionObserver(handleObserve, options);\n    }\n    io.observe(element);\n  }\n  refresh(true);\n  return cleanup;\n}\n\n/**\n * Automatically updates the position of the floating element when necessary.\n * Should only be called when the floating element is mounted on the DOM or\n * visible on the screen.\n * @returns cleanup function that should be invoked when the floating element is\n * removed from the DOM or hidden from the screen.\n * @see https://floating-ui.com/docs/autoUpdate\n */\nfunction autoUpdate(reference, floating, update, options) {\n  if (options === void 0) {\n    options = {};\n  }\n  const {\n    ancestorScroll = true,\n    ancestorResize = true,\n    elementResize = typeof ResizeObserver === 'function',\n    layoutShift = typeof IntersectionObserver === 'function',\n    animationFrame = false\n  } = options;\n  const referenceEl = unwrapElement(reference);\n  const ancestors = ancestorScroll || ancestorResize ? [...(referenceEl ? getOverflowAncestors(referenceEl) : []), ...getOverflowAncestors(floating)] : [];\n  ancestors.forEach(ancestor => {\n    ancestorScroll && ancestor.addEventListener('scroll', update, {\n      passive: true\n    });\n    ancestorResize && ancestor.addEventListener('resize', update);\n  });\n  const cleanupIo = referenceEl && layoutShift ? observeMove(referenceEl, update) : null;\n  let reobserveFrame = -1;\n  let resizeObserver = null;\n  if (elementResize) {\n    resizeObserver = new ResizeObserver(_ref => {\n      let [firstEntry] = _ref;\n      if (firstEntry && firstEntry.target === referenceEl && resizeObserver) {\n        // Prevent update loops when using the `size` middleware.\n        // https://github.com/floating-ui/floating-ui/issues/1740\n        resizeObserver.unobserve(floating);\n        cancelAnimationFrame(reobserveFrame);\n        reobserveFrame = requestAnimationFrame(() => {\n          var _resizeObserver;\n          (_resizeObserver = resizeObserver) == null || _resizeObserver.observe(floating);\n        });\n      }\n      update();\n    });\n    if (referenceEl && !animationFrame) {\n      resizeObserver.observe(referenceEl);\n    }\n    resizeObserver.observe(floating);\n  }\n  let frameId;\n  let prevRefRect = animationFrame ? getBoundingClientRect(reference) : null;\n  if (animationFrame) {\n    frameLoop();\n  }\n  function frameLoop() {\n    const nextRefRect = getBoundingClientRect(reference);\n    if (prevRefRect && !rectsAreEqual(prevRefRect, nextRefRect)) {\n      update();\n    }\n    prevRefRect = nextRefRect;\n    frameId = requestAnimationFrame(frameLoop);\n  }\n  update();\n  return () => {\n    var _resizeObserver2;\n    ancestors.forEach(ancestor => {\n      ancestorScroll && ancestor.removeEventListener('scroll', update);\n      ancestorResize && ancestor.removeEventListener('resize', update);\n    });\n    cleanupIo == null || cleanupIo();\n    (_resizeObserver2 = resizeObserver) == null || _resizeObserver2.disconnect();\n    resizeObserver = null;\n    if (animationFrame) {\n      cancelAnimationFrame(frameId);\n    }\n  };\n}\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nconst detectOverflow = detectOverflow$1;\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = offset$1;\n\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = autoPlacement$1;\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = shift$1;\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = flip$1;\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = size$1;\n\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = hide$1;\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = arrow$1;\n\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = inline$1;\n\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = limitShift$1;\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n */\nconst computePosition = (reference, floating, options) => {\n  // This caches the expensive `getClippingElementAncestors` function so that\n  // multiple lifecycle resets re-use the same result. It only lives for a\n  // single call. If other functions become expensive, we can add them as well.\n  const cache = new Map();\n  const mergedOptions = {\n    platform,\n    ...options\n  };\n  const platformWithCache = {\n    ...mergedOptions.platform,\n    _c: cache\n  };\n  return computePosition$1(reference, floating, {\n    ...mergedOptions,\n    platform: platformWithCache\n  });\n};\n\nexport { arrow, autoPlacement, autoUpdate, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, platform, shift, size };\n","function hasWindow() {\n  return typeof window !== 'undefined';\n}\nfunction getNodeName(node) {\n  if (isNode(node)) {\n    return (node.nodeName || '').toLowerCase();\n  }\n  // Mocked nodes in testing environments may not be instances of Node. By\n  // returning `#document` an infinite loop won't occur.\n  // https://github.com/floating-ui/floating-ui/issues/2317\n  return '#document';\n}\nfunction getWindow(node) {\n  var _node$ownerDocument;\n  return (node == null || (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;\n}\nfunction getDocumentElement(node) {\n  var _ref;\n  return (_ref = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ? void 0 : _ref.documentElement;\n}\nfunction isNode(value) {\n  if (!hasWindow()) {\n    return false;\n  }\n  return value instanceof Node || value instanceof getWindow(value).Node;\n}\nfunction isElement(value) {\n  if (!hasWindow()) {\n    return false;\n  }\n  return value instanceof Element || value instanceof getWindow(value).Element;\n}\nfunction isHTMLElement(value) {\n  if (!hasWindow()) {\n    return false;\n  }\n  return value instanceof HTMLElement || value instanceof getWindow(value).HTMLElement;\n}\nfunction isShadowRoot(value) {\n  if (!hasWindow() || typeof ShadowRoot === 'undefined') {\n    return false;\n  }\n  return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;\n}\nconst invalidOverflowDisplayValues = /*#__PURE__*/new Set(['inline', 'contents']);\nfunction isOverflowElement(element) {\n  const {\n    overflow,\n    overflowX,\n    overflowY,\n    display\n  } = getComputedStyle(element);\n  return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && !invalidOverflowDisplayValues.has(display);\n}\nconst tableElements = /*#__PURE__*/new Set(['table', 'td', 'th']);\nfunction isTableElement(element) {\n  return tableElements.has(getNodeName(element));\n}\nconst topLayerSelectors = [':popover-open', ':modal'];\nfunction isTopLayer(element) {\n  return topLayerSelectors.some(selector => {\n    try {\n      return element.matches(selector);\n    } catch (_e) {\n      return false;\n    }\n  });\n}\nconst transformProperties = ['transform', 'translate', 'scale', 'rotate', 'perspective'];\nconst willChangeValues = ['transform', 'translate', 'scale', 'rotate', 'perspective', 'filter'];\nconst containValues = ['paint', 'layout', 'strict', 'content'];\nfunction isContainingBlock(elementOrCss) {\n  const webkit = isWebKit();\n  const css = isElement(elementOrCss) ? getComputedStyle(elementOrCss) : elementOrCss;\n\n  // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n  // https://drafts.csswg.org/css-transforms-2/#individual-transforms\n  return transformProperties.some(value => css[value] ? css[value] !== 'none' : false) || (css.containerType ? css.containerType !== 'normal' : false) || !webkit && (css.backdropFilter ? css.backdropFilter !== 'none' : false) || !webkit && (css.filter ? css.filter !== 'none' : false) || willChangeValues.some(value => (css.willChange || '').includes(value)) || containValues.some(value => (css.contain || '').includes(value));\n}\nfunction getContainingBlock(element) {\n  let currentNode = getParentNode(element);\n  while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {\n    if (isContainingBlock(currentNode)) {\n      return currentNode;\n    } else if (isTopLayer(currentNode)) {\n      return null;\n    }\n    currentNode = getParentNode(currentNode);\n  }\n  return null;\n}\nfunction isWebKit() {\n  if (typeof CSS === 'undefined' || !CSS.supports) return false;\n  return CSS.supports('-webkit-backdrop-filter', 'none');\n}\nconst lastTraversableNodeNames = /*#__PURE__*/new Set(['html', 'body', '#document']);\nfunction isLastTraversableNode(node) {\n  return lastTraversableNodeNames.has(getNodeName(node));\n}\nfunction getComputedStyle(element) {\n  return getWindow(element).getComputedStyle(element);\n}\nfunction getNodeScroll(element) {\n  if (isElement(element)) {\n    return {\n      scrollLeft: element.scrollLeft,\n      scrollTop: element.scrollTop\n    };\n  }\n  return {\n    scrollLeft: element.scrollX,\n    scrollTop: element.scrollY\n  };\n}\nfunction getParentNode(node) {\n  if (getNodeName(node) === 'html') {\n    return node;\n  }\n  const result =\n  // Step into the shadow DOM of the parent of a slotted node.\n  node.assignedSlot ||\n  // DOM Element detected.\n  node.parentNode ||\n  // ShadowRoot detected.\n  isShadowRoot(node) && node.host ||\n  // Fallback.\n  getDocumentElement(node);\n  return isShadowRoot(result) ? result.host : result;\n}\nfunction getNearestOverflowAncestor(node) {\n  const parentNode = getParentNode(node);\n  if (isLastTraversableNode(parentNode)) {\n    return node.ownerDocument ? node.ownerDocument.body : node.body;\n  }\n  if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) {\n    return parentNode;\n  }\n  return getNearestOverflowAncestor(parentNode);\n}\nfunction getOverflowAncestors(node, list, traverseIframes) {\n  var _node$ownerDocument2;\n  if (list === void 0) {\n    list = [];\n  }\n  if (traverseIframes === void 0) {\n    traverseIframes = true;\n  }\n  const scrollableAncestor = getNearestOverflowAncestor(node);\n  const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body);\n  const win = getWindow(scrollableAncestor);\n  if (isBody) {\n    const frameElement = getFrameElement(win);\n    return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], frameElement && traverseIframes ? getOverflowAncestors(frameElement) : []);\n  }\n  return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));\n}\nfunction getFrameElement(win) {\n  return win.parent && Object.getPrototypeOf(win.parent) ? win.frameElement : null;\n}\n\nexport { getComputedStyle, getContainingBlock, getDocumentElement, getFrameElement, getNearestOverflowAncestor, getNodeName, getNodeScroll, getOverflowAncestors, getParentNode, getWindow, isContainingBlock, isElement, isHTMLElement, isLastTraversableNode, isNode, isOverflowElement, isShadowRoot, isTableElement, isTopLayer, isWebKit };\n","/**\n * Custom positioning reference element.\n * @see https://floating-ui.com/docs/virtual-elements\n */\n\nconst sides = ['top', 'right', 'bottom', 'left'];\nconst alignments = ['start', 'end'];\nconst placements = /*#__PURE__*/sides.reduce((acc, side) => acc.concat(side, side + \"-\" + alignments[0], side + \"-\" + alignments[1]), []);\nconst min = Math.min;\nconst max = Math.max;\nconst round = Math.round;\nconst floor = Math.floor;\nconst createCoords = v => ({\n  x: v,\n  y: v\n});\nconst oppositeSideMap = {\n  left: 'right',\n  right: 'left',\n  bottom: 'top',\n  top: 'bottom'\n};\nconst oppositeAlignmentMap = {\n  start: 'end',\n  end: 'start'\n};\nfunction clamp(start, value, end) {\n  return max(start, min(value, end));\n}\nfunction evaluate(value, param) {\n  return typeof value === 'function' ? value(param) : value;\n}\nfunction getSide(placement) {\n  return placement.split('-')[0];\n}\nfunction getAlignment(placement) {\n  return placement.split('-')[1];\n}\nfunction getOppositeAxis(axis) {\n  return axis === 'x' ? 'y' : 'x';\n}\nfunction getAxisLength(axis) {\n  return axis === 'y' ? 'height' : 'width';\n}\nconst yAxisSides = /*#__PURE__*/new Set(['top', 'bottom']);\nfunction getSideAxis(placement) {\n  return yAxisSides.has(getSide(placement)) ? 'y' : 'x';\n}\nfunction getAlignmentAxis(placement) {\n  return getOppositeAxis(getSideAxis(placement));\n}\nfunction getAlignmentSides(placement, rects, rtl) {\n  if (rtl === void 0) {\n    rtl = false;\n  }\n  const alignment = getAlignment(placement);\n  const alignmentAxis = getAlignmentAxis(placement);\n  const length = getAxisLength(alignmentAxis);\n  let mainAlignmentSide = alignmentAxis === 'x' ? alignment === (rtl ? 'end' : 'start') ? 'right' : 'left' : alignment === 'start' ? 'bottom' : 'top';\n  if (rects.reference[length] > rects.floating[length]) {\n    mainAlignmentSide = getOppositePlacement(mainAlignmentSide);\n  }\n  return [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)];\n}\nfunction getExpandedPlacements(placement) {\n  const oppositePlacement = getOppositePlacement(placement);\n  return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];\n}\nfunction getOppositeAlignmentPlacement(placement) {\n  return placement.replace(/start|end/g, alignment => oppositeAlignmentMap[alignment]);\n}\nconst lrPlacement = ['left', 'right'];\nconst rlPlacement = ['right', 'left'];\nconst tbPlacement = ['top', 'bottom'];\nconst btPlacement = ['bottom', 'top'];\nfunction getSideList(side, isStart, rtl) {\n  switch (side) {\n    case 'top':\n    case 'bottom':\n      if (rtl) return isStart ? rlPlacement : lrPlacement;\n      return isStart ? lrPlacement : rlPlacement;\n    case 'left':\n    case 'right':\n      return isStart ? tbPlacement : btPlacement;\n    default:\n      return [];\n  }\n}\nfunction getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {\n  const alignment = getAlignment(placement);\n  let list = getSideList(getSide(placement), direction === 'start', rtl);\n  if (alignment) {\n    list = list.map(side => side + \"-\" + alignment);\n    if (flipAlignment) {\n      list = list.concat(list.map(getOppositeAlignmentPlacement));\n    }\n  }\n  return list;\n}\nfunction getOppositePlacement(placement) {\n  return placement.replace(/left|right|bottom|top/g, side => oppositeSideMap[side]);\n}\nfunction expandPaddingObject(padding) {\n  return {\n    top: 0,\n    right: 0,\n    bottom: 0,\n    left: 0,\n    ...padding\n  };\n}\nfunction getPaddingObject(padding) {\n  return typeof padding !== 'number' ? expandPaddingObject(padding) : {\n    top: padding,\n    right: padding,\n    bottom: padding,\n    left: padding\n  };\n}\nfunction rectToClientRect(rect) {\n  const {\n    x,\n    y,\n    width,\n    height\n  } = rect;\n  return {\n    width,\n    height,\n    top: y,\n    left: x,\n    right: x + width,\n    bottom: y + height,\n    x,\n    y\n  };\n}\n\nexport { alignments, clamp, createCoords, evaluate, expandPaddingObject, floor, getAlignment, getAlignmentAxis, getAlignmentSides, getAxisLength, getExpandedPlacements, getOppositeAlignmentPlacement, getOppositeAxis, getOppositeAxisPlacements, getOppositePlacement, getPaddingObject, getSide, getSideAxis, max, min, placements, rectToClientRect, round, sides };\n","var Dr=Object.defineProperty,Ld=Object.defineProperties;var Ad=Object.getOwnPropertyDescriptors;var Kt=Object.getOwnPropertySymbols;var Hr=Object.prototype.hasOwnProperty,_r=Object.prototype.propertyIsEnumerable;var Fr=(e,t,o)=>t in e?Dr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[t]=o,i=(e,t)=>{for(var o in t||(t={}))Hr.call(t,o)&&Fr(e,o,t[o]);if(Kt)for(var o of Kt(t))_r.call(t,o)&&Fr(e,o,t[o]);return e},c=(e,t)=>Ld(e,Ad(t));var d=(e,t)=>{var o={};for(var n in e)Hr.call(e,n)&&t.indexOf(n)<0&&(o[n]=e[n]);if(e!=null&&Kt)for(var n of Kt(e))t.indexOf(n)<0&&_r.call(e,n)&&(o[n]=e[n]);return o};var v=(e,t)=>()=>(e&&(t=e(e=0)),t);var Wr=(e,t)=>{for(var o in t)Dr(e,o,{get:t[o],enumerable:!0})};var Kr=(e,t,o)=>new Promise((n,r)=>{var a=p=>{try{s(o.next(p))}catch(u){r(u)}},l=p=>{try{s(o.throw(p))}catch(u){r(u)}},s=p=>p.done?n(p.value):Promise.resolve(p.value).then(a,l);s((o=o.apply(e,t)).next())});var Wo,Ur=v(()=>{\"use strict\";Wo=(e,t=2)=>{if(!+e)return\"0 Bytes\";let o=1024,n=t<0?0:t,r=[\"Bytes\",\"KiB\",\"MiB\",\"GiB\",\"TiB\",\"PiB\",\"EiB\",\"ZiB\",\"YiB\"],a=Math.floor(Math.log(e)/Math.log(o));return`${parseFloat((e/Math.pow(o,a)).toFixed(n))} ${r[a]}`}});function Xd(){let e=0,t,o,n=\"\";for(;e<arguments.length;)(t=arguments[e++])&&(o=Jr(t))&&(n&&(n+=\" \"),n+=o);return n}function Zr(e,...t){let o,n,r,a=l;function l(p){let u=t.reduce((m,g)=>g(m),e());return o=$d(u),n=o.cache.get,r=o.cache.set,a=s,s(p)}function s(p){let u=n(p);if(u)return u;let m=Zd(p,o);return r(p,m),m}return function(){return a(Xd.apply(null,arguments))}}var $o,Bd,Xr,$r,Fd,Dd,Uo,qr,Hd,_d,Wd,Yr,Kd,Ud,$d,qd,Zd,Jr,J,Qr,Yd,Jd,Qd,jd,ep,tp,op,Ve,Le,it,Ko,Mt,rp,z,Ae,np,ap,lp,ip,sp,cp,Tt,st,dp,jr,pp,up,Ut,mp,Nt,fp,wp,en,tn=v(()=>{\"use strict\";$o=\"-\",Bd=e=>{let t=Dd(e),{conflictingClassGroups:o,conflictingClassGroupModifiers:n}=e;return{getClassGroupId:l=>{let s=l.split($o);return s[0]===\"\"&&s.length!==1&&s.shift(),Xr(s,t)||Fd(l)},getConflictingClassGroupIds:(l,s)=>{let p=o[l]||[];return s&&n[l]?[...p,...n[l]]:p}}},Xr=(e,t)=>{var l;if(e.length===0)return t.classGroupId;let o=e[0],n=t.nextPart.get(o),r=n?Xr(e.slice(1),n):void 0;if(r)return r;if(t.validators.length===0)return;let a=e.join($o);return(l=t.validators.find(({validator:s})=>s(a)))==null?void 0:l.classGroupId},$r=/^\\[(.+)\\]$/,Fd=e=>{if($r.test(e)){let t=$r.exec(e)[1],o=t==null?void 0:t.substring(0,t.indexOf(\":\"));if(o)return\"arbitrary..\"+o}},Dd=e=>{let{theme:t,prefix:o}=e,n={nextPart:new Map,validators:[]};return _d(Object.entries(e.classGroups),o).forEach(([a,l])=>{Uo(l,n,a,t)}),n},Uo=(e,t,o,n)=>{e.forEach(r=>{if(typeof r==\"string\"){let a=r===\"\"?t:qr(t,r);a.classGroupId=o;return}if(typeof r==\"function\"){if(Hd(r)){Uo(r(n),t,o,n);return}t.validators.push({validator:r,classGroupId:o});return}Object.entries(r).forEach(([a,l])=>{Uo(l,qr(t,a),o,n)})})},qr=(e,t)=>{let o=e;return t.split($o).forEach(n=>{o.nextPart.has(n)||o.nextPart.set(n,{nextPart:new Map,validators:[]}),o=o.nextPart.get(n)}),o},Hd=e=>e.isThemeGetter,_d=(e,t)=>t?e.map(([o,n])=>{let r=n.map(a=>typeof a==\"string\"?t+a:typeof a==\"object\"?Object.fromEntries(Object.entries(a).map(([l,s])=>[t+l,s])):a);return[o,r]}):e,Wd=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,o=new Map,n=new Map,r=(a,l)=>{o.set(a,l),t++,t>e&&(t=0,n=o,o=new Map)};return{get(a){let l=o.get(a);if(l!==void 0)return l;if((l=n.get(a))!==void 0)return r(a,l),l},set(a,l){o.has(a)?o.set(a,l):r(a,l)}}},Yr=\"!\",Kd=e=>{let{separator:t,experimentalParseClassName:o}=e,n=t.length===1,r=t[0],a=t.length,l=s=>{let p=[],u=0,m=0,g;for(let S=0;S<s.length;S++){let x=s[S];if(u===0){if(x===r&&(n||s.slice(S,S+a)===t)){p.push(s.slice(m,S)),m=S+a;continue}if(x===\"/\"){g=S;continue}}x===\"[\"?u++:x===\"]\"&&u--}let b=p.length===0?s:s.substring(m),f=b.startsWith(Yr),h=f?b.substring(1):b,y=g&&g>m?g-m:void 0;return{modifiers:p,hasImportantModifier:f,baseClassName:h,maybePostfixModifierPosition:y}};return o?s=>o({className:s,parseClassName:l}):l},Ud=e=>{if(e.length<=1)return e;let t=[],o=[];return e.forEach(n=>{n[0]===\"[\"?(t.push(...o.sort(),n),o=[]):o.push(n)}),t.push(...o.sort()),t},$d=e=>i({cache:Wd(e.cacheSize),parseClassName:Kd(e)},Bd(e)),qd=/\\s+/,Zd=(e,t)=>{let{parseClassName:o,getClassGroupId:n,getConflictingClassGroupIds:r}=t,a=[],l=e.trim().split(qd),s=\"\";for(let p=l.length-1;p>=0;p-=1){let u=l[p],{modifiers:m,hasImportantModifier:g,baseClassName:b,maybePostfixModifierPosition:f}=o(u),h=!!f,y=n(h?b.substring(0,f):b);if(!y){if(!h){s=u+(s.length>0?\" \"+s:s);continue}if(y=n(b),!y){s=u+(s.length>0?\" \"+s:s);continue}h=!1}let S=Ud(m).join(\":\"),x=g?S+Yr:S,C=x+y;if(a.includes(C))continue;a.push(C);let M=r(y,h);for(let T=0;T<M.length;++T){let G=M[T];a.push(x+G)}s=u+(s.length>0?\" \"+s:s)}return s};Jr=e=>{if(typeof e==\"string\")return e;let t,o=\"\";for(let n=0;n<e.length;n++)e[n]&&(t=Jr(e[n]))&&(o&&(o+=\" \"),o+=t);return o};J=e=>{let t=o=>o[e]||[];return t.isThemeGetter=!0,t},Qr=/^\\[(?:([a-z-]+):)?(.+)\\]$/i,Yd=/^\\d+\\/\\d+$/,Jd=new Set([\"px\",\"full\",\"screen\"]),Qd=/^(\\d+(\\.\\d+)?)?(xs|sm|md|lg|xl)$/,jd=/\\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\\b(calc|min|max|clamp)\\(.+\\)|^0$/,ep=/^(rgba?|hsla?|hwb|(ok)?(lab|lch))\\(.+\\)$/,tp=/^(inset_)?-?((\\d+)?\\.?(\\d+)[a-z]+|0)_-?((\\d+)?\\.?(\\d+)[a-z]+|0)/,op=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\\(.+\\)$/,Ve=e=>it(e)||Jd.has(e)||Yd.test(e),Le=e=>st(e,\"length\",dp),it=e=>!!e&&!Number.isNaN(Number(e)),Ko=e=>st(e,\"number\",it),Mt=e=>!!e&&Number.isInteger(Number(e)),rp=e=>e.endsWith(\"%\")&&it(e.slice(0,-1)),z=e=>Qr.test(e),Ae=e=>Qd.test(e),np=new Set([\"length\",\"size\",\"percentage\"]),ap=e=>st(e,np,jr),lp=e=>st(e,\"position\",jr),ip=new Set([\"image\",\"url\"]),sp=e=>st(e,ip,up),cp=e=>st(e,\"\",pp),Tt=()=>!0,st=(e,t,o)=>{let n=Qr.exec(e);return n?n[1]?typeof t==\"string\"?n[1]===t:t.has(n[1]):o(n[2]):!1},dp=e=>jd.test(e)&&!ep.test(e),jr=()=>!1,pp=e=>tp.test(e),up=e=>op.test(e),Ut=()=>{let e=J(\"colors\"),t=J(\"spacing\"),o=J(\"blur\"),n=J(\"brightness\"),r=J(\"borderColor\"),a=J(\"borderRadius\"),l=J(\"borderSpacing\"),s=J(\"borderWidth\"),p=J(\"contrast\"),u=J(\"grayscale\"),m=J(\"hueRotate\"),g=J(\"invert\"),b=J(\"gap\"),f=J(\"gradientColorStops\"),h=J(\"gradientColorStopPositions\"),y=J(\"inset\"),S=J(\"margin\"),x=J(\"opacity\"),C=J(\"padding\"),M=J(\"saturate\"),T=J(\"scale\"),G=J(\"sepia\"),N=J(\"skew\"),A=J(\"space\"),F=J(\"translate\"),P=()=>[\"auto\",\"contain\",\"none\"],I=()=>[\"auto\",\"hidden\",\"clip\",\"visible\",\"scroll\"],E=()=>[\"auto\",z,t],R=()=>[z,t],O=()=>[\"\",Ve,Le],Z=()=>[\"auto\",it,z],U=()=>[\"bottom\",\"center\",\"left\",\"left-bottom\",\"left-top\",\"right\",\"right-bottom\",\"right-top\",\"top\"],V=()=>[\"solid\",\"dashed\",\"dotted\",\"double\",\"none\"],X=()=>[\"normal\",\"multiply\",\"screen\",\"overlay\",\"darken\",\"lighten\",\"color-dodge\",\"color-burn\",\"hard-light\",\"soft-light\",\"difference\",\"exclusion\",\"hue\",\"saturation\",\"color\",\"luminosity\"],Y=()=>[\"start\",\"end\",\"center\",\"between\",\"around\",\"evenly\",\"stretch\"],H=()=>[\"\",\"0\",z],$=()=>[\"auto\",\"avoid\",\"all\",\"avoid-page\",\"page\",\"left\",\"right\",\"column\"],_=()=>[it,z];return{cacheSize:500,separator:\":\",theme:{colors:[Tt],spacing:[Ve,Le],blur:[\"none\",\"\",Ae,z],brightness:_(),borderColor:[e],borderRadius:[\"none\",\"\",\"full\",Ae,z],borderSpacing:R(),borderWidth:O(),contrast:_(),grayscale:H(),hueRotate:_(),invert:H(),gap:R(),gradientColorStops:[e],gradientColorStopPositions:[rp,Le],inset:E(),margin:E(),opacity:_(),padding:R(),saturate:_(),scale:_(),sepia:H(),skew:_(),space:R(),translate:R()},classGroups:{aspect:[{aspect:[\"auto\",\"square\",\"video\",z]}],container:[\"container\"],columns:[{columns:[Ae]}],\"break-after\":[{\"break-after\":$()}],\"break-before\":[{\"break-before\":$()}],\"break-inside\":[{\"break-inside\":[\"auto\",\"avoid\",\"avoid-page\",\"avoid-column\"]}],\"box-decoration\":[{\"box-decoration\":[\"slice\",\"clone\"]}],box:[{box:[\"border\",\"content\"]}],display:[\"block\",\"inline-block\",\"inline\",\"flex\",\"inline-flex\",\"table\",\"inline-table\",\"table-caption\",\"table-cell\",\"table-column\",\"table-column-group\",\"table-footer-group\",\"table-header-group\",\"table-row-group\",\"table-row\",\"flow-root\",\"grid\",\"inline-grid\",\"contents\",\"list-item\",\"hidden\"],float:[{float:[\"right\",\"left\",\"none\",\"start\",\"end\"]}],clear:[{clear:[\"left\",\"right\",\"both\",\"none\",\"start\",\"end\"]}],isolation:[\"isolate\",\"isolation-auto\"],\"object-fit\":[{object:[\"contain\",\"cover\",\"fill\",\"none\",\"scale-down\"]}],\"object-position\":[{object:[...U(),z]}],overflow:[{overflow:I()}],\"overflow-x\":[{\"overflow-x\":I()}],\"overflow-y\":[{\"overflow-y\":I()}],overscroll:[{overscroll:P()}],\"overscroll-x\":[{\"overscroll-x\":P()}],\"overscroll-y\":[{\"overscroll-y\":P()}],position:[\"static\",\"fixed\",\"absolute\",\"relative\",\"sticky\"],inset:[{inset:[y]}],\"inset-x\":[{\"inset-x\":[y]}],\"inset-y\":[{\"inset-y\":[y]}],start:[{start:[y]}],end:[{end:[y]}],top:[{top:[y]}],right:[{right:[y]}],bottom:[{bottom:[y]}],left:[{left:[y]}],visibility:[\"visible\",\"invisible\",\"collapse\"],z:[{z:[\"auto\",Mt,z]}],basis:[{basis:E()}],\"flex-direction\":[{flex:[\"row\",\"row-reverse\",\"col\",\"col-reverse\"]}],\"flex-wrap\":[{flex:[\"wrap\",\"wrap-reverse\",\"nowrap\"]}],flex:[{flex:[\"1\",\"auto\",\"initial\",\"none\",z]}],grow:[{grow:H()}],shrink:[{shrink:H()}],order:[{order:[\"first\",\"last\",\"none\",Mt,z]}],\"grid-cols\":[{\"grid-cols\":[Tt]}],\"col-start-end\":[{col:[\"auto\",{span:[\"full\",Mt,z]},z]}],\"col-start\":[{\"col-start\":Z()}],\"col-end\":[{\"col-end\":Z()}],\"grid-rows\":[{\"grid-rows\":[Tt]}],\"row-start-end\":[{row:[\"auto\",{span:[Mt,z]},z]}],\"row-start\":[{\"row-start\":Z()}],\"row-end\":[{\"row-end\":Z()}],\"grid-flow\":[{\"grid-flow\":[\"row\",\"col\",\"dense\",\"row-dense\",\"col-dense\"]}],\"auto-cols\":[{\"auto-cols\":[\"auto\",\"min\",\"max\",\"fr\",z]}],\"auto-rows\":[{\"auto-rows\":[\"auto\",\"min\",\"max\",\"fr\",z]}],gap:[{gap:[b]}],\"gap-x\":[{\"gap-x\":[b]}],\"gap-y\":[{\"gap-y\":[b]}],\"justify-content\":[{justify:[\"normal\",...Y()]}],\"justify-items\":[{\"justify-items\":[\"start\",\"end\",\"center\",\"stretch\"]}],\"justify-self\":[{\"justify-self\":[\"auto\",\"start\",\"end\",\"center\",\"stretch\"]}],\"align-content\":[{content:[\"normal\",...Y(),\"baseline\"]}],\"align-items\":[{items:[\"start\",\"end\",\"center\",\"baseline\",\"stretch\"]}],\"align-self\":[{self:[\"auto\",\"start\",\"end\",\"center\",\"stretch\",\"baseline\"]}],\"place-content\":[{\"place-content\":[...Y(),\"baseline\"]}],\"place-items\":[{\"place-items\":[\"start\",\"end\",\"center\",\"baseline\",\"stretch\"]}],\"place-self\":[{\"place-self\":[\"auto\",\"start\",\"end\",\"center\",\"stretch\"]}],p:[{p:[C]}],px:[{px:[C]}],py:[{py:[C]}],ps:[{ps:[C]}],pe:[{pe:[C]}],pt:[{pt:[C]}],pr:[{pr:[C]}],pb:[{pb:[C]}],pl:[{pl:[C]}],m:[{m:[S]}],mx:[{mx:[S]}],my:[{my:[S]}],ms:[{ms:[S]}],me:[{me:[S]}],mt:[{mt:[S]}],mr:[{mr:[S]}],mb:[{mb:[S]}],ml:[{ml:[S]}],\"space-x\":[{\"space-x\":[A]}],\"space-x-reverse\":[\"space-x-reverse\"],\"space-y\":[{\"space-y\":[A]}],\"space-y-reverse\":[\"space-y-reverse\"],w:[{w:[\"auto\",\"min\",\"max\",\"fit\",\"svw\",\"lvw\",\"dvw\",z,t]}],\"min-w\":[{\"min-w\":[z,t,\"min\",\"max\",\"fit\"]}],\"max-w\":[{\"max-w\":[z,t,\"none\",\"full\",\"min\",\"max\",\"fit\",\"prose\",{screen:[Ae]},Ae]}],h:[{h:[z,t,\"auto\",\"min\",\"max\",\"fit\",\"svh\",\"lvh\",\"dvh\"]}],\"min-h\":[{\"min-h\":[z,t,\"min\",\"max\",\"fit\",\"svh\",\"lvh\",\"dvh\"]}],\"max-h\":[{\"max-h\":[z,t,\"min\",\"max\",\"fit\",\"svh\",\"lvh\",\"dvh\"]}],size:[{size:[z,t,\"auto\",\"min\",\"max\",\"fit\"]}],\"font-size\":[{text:[\"base\",Ae,Le]}],\"font-smoothing\":[\"antialiased\",\"subpixel-antialiased\"],\"font-style\":[\"italic\",\"not-italic\"],\"font-weight\":[{font:[\"thin\",\"extralight\",\"light\",\"normal\",\"medium\",\"semibold\",\"bold\",\"extrabold\",\"black\",Ko]}],\"font-family\":[{font:[Tt]}],\"fvn-normal\":[\"normal-nums\"],\"fvn-ordinal\":[\"ordinal\"],\"fvn-slashed-zero\":[\"slashed-zero\"],\"fvn-figure\":[\"lining-nums\",\"oldstyle-nums\"],\"fvn-spacing\":[\"proportional-nums\",\"tabular-nums\"],\"fvn-fraction\":[\"diagonal-fractions\",\"stacked-fractions\"],tracking:[{tracking:[\"tighter\",\"tight\",\"normal\",\"wide\",\"wider\",\"widest\",z]}],\"line-clamp\":[{\"line-clamp\":[\"none\",it,Ko]}],leading:[{leading:[\"none\",\"tight\",\"snug\",\"normal\",\"relaxed\",\"loose\",Ve,z]}],\"list-image\":[{\"list-image\":[\"none\",z]}],\"list-style-type\":[{list:[\"none\",\"disc\",\"decimal\",z]}],\"list-style-position\":[{list:[\"inside\",\"outside\"]}],\"placeholder-color\":[{placeholder:[e]}],\"placeholder-opacity\":[{\"placeholder-opacity\":[x]}],\"text-alignment\":[{text:[\"left\",\"center\",\"right\",\"justify\",\"start\",\"end\"]}],\"text-color\":[{text:[e]}],\"text-opacity\":[{\"text-opacity\":[x]}],\"text-decoration\":[\"underline\",\"overline\",\"line-through\",\"no-underline\"],\"text-decoration-style\":[{decoration:[...V(),\"wavy\"]}],\"text-decoration-thickness\":[{decoration:[\"auto\",\"from-font\",Ve,Le]}],\"underline-offset\":[{\"underline-offset\":[\"auto\",Ve,z]}],\"text-decoration-color\":[{decoration:[e]}],\"text-transform\":[\"uppercase\",\"lowercase\",\"capitalize\",\"normal-case\"],\"text-overflow\":[\"truncate\",\"text-ellipsis\",\"text-clip\"],\"text-wrap\":[{text:[\"wrap\",\"nowrap\",\"balance\",\"pretty\"]}],indent:[{indent:R()}],\"vertical-align\":[{align:[\"baseline\",\"top\",\"middle\",\"bottom\",\"text-top\",\"text-bottom\",\"sub\",\"super\",z]}],whitespace:[{whitespace:[\"normal\",\"nowrap\",\"pre\",\"pre-line\",\"pre-wrap\",\"break-spaces\"]}],break:[{break:[\"normal\",\"words\",\"all\",\"keep\"]}],hyphens:[{hyphens:[\"none\",\"manual\",\"auto\"]}],content:[{content:[\"none\",z]}],\"bg-attachment\":[{bg:[\"fixed\",\"local\",\"scroll\"]}],\"bg-clip\":[{\"bg-clip\":[\"border\",\"padding\",\"content\",\"text\"]}],\"bg-opacity\":[{\"bg-opacity\":[x]}],\"bg-origin\":[{\"bg-origin\":[\"border\",\"padding\",\"content\"]}],\"bg-position\":[{bg:[...U(),lp]}],\"bg-repeat\":[{bg:[\"no-repeat\",{repeat:[\"\",\"x\",\"y\",\"round\",\"space\"]}]}],\"bg-size\":[{bg:[\"auto\",\"cover\",\"contain\",ap]}],\"bg-image\":[{bg:[\"none\",{\"gradient-to\":[\"t\",\"tr\",\"r\",\"br\",\"b\",\"bl\",\"l\",\"tl\"]},sp]}],\"bg-color\":[{bg:[e]}],\"gradient-from-pos\":[{from:[h]}],\"gradient-via-pos\":[{via:[h]}],\"gradient-to-pos\":[{to:[h]}],\"gradient-from\":[{from:[f]}],\"gradient-via\":[{via:[f]}],\"gradient-to\":[{to:[f]}],rounded:[{rounded:[a]}],\"rounded-s\":[{\"rounded-s\":[a]}],\"rounded-e\":[{\"rounded-e\":[a]}],\"rounded-t\":[{\"rounded-t\":[a]}],\"rounded-r\":[{\"rounded-r\":[a]}],\"rounded-b\":[{\"rounded-b\":[a]}],\"rounded-l\":[{\"rounded-l\":[a]}],\"rounded-ss\":[{\"rounded-ss\":[a]}],\"rounded-se\":[{\"rounded-se\":[a]}],\"rounded-ee\":[{\"rounded-ee\":[a]}],\"rounded-es\":[{\"rounded-es\":[a]}],\"rounded-tl\":[{\"rounded-tl\":[a]}],\"rounded-tr\":[{\"rounded-tr\":[a]}],\"rounded-br\":[{\"rounded-br\":[a]}],\"rounded-bl\":[{\"rounded-bl\":[a]}],\"border-w\":[{border:[s]}],\"border-w-x\":[{\"border-x\":[s]}],\"border-w-y\":[{\"border-y\":[s]}],\"border-w-s\":[{\"border-s\":[s]}],\"border-w-e\":[{\"border-e\":[s]}],\"border-w-t\":[{\"border-t\":[s]}],\"border-w-r\":[{\"border-r\":[s]}],\"border-w-b\":[{\"border-b\":[s]}],\"border-w-l\":[{\"border-l\":[s]}],\"border-opacity\":[{\"border-opacity\":[x]}],\"border-style\":[{border:[...V(),\"hidden\"]}],\"divide-x\":[{\"divide-x\":[s]}],\"divide-x-reverse\":[\"divide-x-reverse\"],\"divide-y\":[{\"divide-y\":[s]}],\"divide-y-reverse\":[\"divide-y-reverse\"],\"divide-opacity\":[{\"divide-opacity\":[x]}],\"divide-style\":[{divide:V()}],\"border-color\":[{border:[r]}],\"border-color-x\":[{\"border-x\":[r]}],\"border-color-y\":[{\"border-y\":[r]}],\"border-color-s\":[{\"border-s\":[r]}],\"border-color-e\":[{\"border-e\":[r]}],\"border-color-t\":[{\"border-t\":[r]}],\"border-color-r\":[{\"border-r\":[r]}],\"border-color-b\":[{\"border-b\":[r]}],\"border-color-l\":[{\"border-l\":[r]}],\"divide-color\":[{divide:[r]}],\"outline-style\":[{outline:[\"\",...V()]}],\"outline-offset\":[{\"outline-offset\":[Ve,z]}],\"outline-w\":[{outline:[Ve,Le]}],\"outline-color\":[{outline:[e]}],\"ring-w\":[{ring:O()}],\"ring-w-inset\":[\"ring-inset\"],\"ring-color\":[{ring:[e]}],\"ring-opacity\":[{\"ring-opacity\":[x]}],\"ring-offset-w\":[{\"ring-offset\":[Ve,Le]}],\"ring-offset-color\":[{\"ring-offset\":[e]}],shadow:[{shadow:[\"\",\"inner\",\"none\",Ae,cp]}],\"shadow-color\":[{shadow:[Tt]}],opacity:[{opacity:[x]}],\"mix-blend\":[{\"mix-blend\":[...X(),\"plus-lighter\",\"plus-darker\"]}],\"bg-blend\":[{\"bg-blend\":X()}],filter:[{filter:[\"\",\"none\"]}],blur:[{blur:[o]}],brightness:[{brightness:[n]}],contrast:[{contrast:[p]}],\"drop-shadow\":[{\"drop-shadow\":[\"\",\"none\",Ae,z]}],grayscale:[{grayscale:[u]}],\"hue-rotate\":[{\"hue-rotate\":[m]}],invert:[{invert:[g]}],saturate:[{saturate:[M]}],sepia:[{sepia:[G]}],\"backdrop-filter\":[{\"backdrop-filter\":[\"\",\"none\"]}],\"backdrop-blur\":[{\"backdrop-blur\":[o]}],\"backdrop-brightness\":[{\"backdrop-brightness\":[n]}],\"backdrop-contrast\":[{\"backdrop-contrast\":[p]}],\"backdrop-grayscale\":[{\"backdrop-grayscale\":[u]}],\"backdrop-hue-rotate\":[{\"backdrop-hue-rotate\":[m]}],\"backdrop-invert\":[{\"backdrop-invert\":[g]}],\"backdrop-opacity\":[{\"backdrop-opacity\":[x]}],\"backdrop-saturate\":[{\"backdrop-saturate\":[M]}],\"backdrop-sepia\":[{\"backdrop-sepia\":[G]}],\"border-collapse\":[{border:[\"collapse\",\"separate\"]}],\"border-spacing\":[{\"border-spacing\":[l]}],\"border-spacing-x\":[{\"border-spacing-x\":[l]}],\"border-spacing-y\":[{\"border-spacing-y\":[l]}],\"table-layout\":[{table:[\"auto\",\"fixed\"]}],caption:[{caption:[\"top\",\"bottom\"]}],transition:[{transition:[\"none\",\"all\",\"\",\"colors\",\"opacity\",\"shadow\",\"transform\",z]}],duration:[{duration:_()}],ease:[{ease:[\"linear\",\"in\",\"out\",\"in-out\",z]}],delay:[{delay:_()}],animate:[{animate:[\"none\",\"spin\",\"ping\",\"pulse\",\"bounce\",z]}],transform:[{transform:[\"\",\"gpu\",\"none\"]}],scale:[{scale:[T]}],\"scale-x\":[{\"scale-x\":[T]}],\"scale-y\":[{\"scale-y\":[T]}],rotate:[{rotate:[Mt,z]}],\"translate-x\":[{\"translate-x\":[F]}],\"translate-y\":[{\"translate-y\":[F]}],\"skew-x\":[{\"skew-x\":[N]}],\"skew-y\":[{\"skew-y\":[N]}],\"transform-origin\":[{origin:[\"center\",\"top\",\"top-right\",\"right\",\"bottom-right\",\"bottom\",\"bottom-left\",\"left\",\"top-left\",z]}],accent:[{accent:[\"auto\",e]}],appearance:[{appearance:[\"none\",\"auto\"]}],cursor:[{cursor:[\"auto\",\"default\",\"pointer\",\"wait\",\"text\",\"move\",\"help\",\"not-allowed\",\"none\",\"context-menu\",\"progress\",\"cell\",\"crosshair\",\"vertical-text\",\"alias\",\"copy\",\"no-drop\",\"grab\",\"grabbing\",\"all-scroll\",\"col-resize\",\"row-resize\",\"n-resize\",\"e-resize\",\"s-resize\",\"w-resize\",\"ne-resize\",\"nw-resize\",\"se-resize\",\"sw-resize\",\"ew-resize\",\"ns-resize\",\"nesw-resize\",\"nwse-resize\",\"zoom-in\",\"zoom-out\",z]}],\"caret-color\":[{caret:[e]}],\"pointer-events\":[{\"pointer-events\":[\"none\",\"auto\"]}],resize:[{resize:[\"none\",\"y\",\"x\",\"\"]}],\"scroll-behavior\":[{scroll:[\"auto\",\"smooth\"]}],\"scroll-m\":[{\"scroll-m\":R()}],\"scroll-mx\":[{\"scroll-mx\":R()}],\"scroll-my\":[{\"scroll-my\":R()}],\"scroll-ms\":[{\"scroll-ms\":R()}],\"scroll-me\":[{\"scroll-me\":R()}],\"scroll-mt\":[{\"scroll-mt\":R()}],\"scroll-mr\":[{\"scroll-mr\":R()}],\"scroll-mb\":[{\"scroll-mb\":R()}],\"scroll-ml\":[{\"scroll-ml\":R()}],\"scroll-p\":[{\"scroll-p\":R()}],\"scroll-px\":[{\"scroll-px\":R()}],\"scroll-py\":[{\"scroll-py\":R()}],\"scroll-ps\":[{\"scroll-ps\":R()}],\"scroll-pe\":[{\"scroll-pe\":R()}],\"scroll-pt\":[{\"scroll-pt\":R()}],\"scroll-pr\":[{\"scroll-pr\":R()}],\"scroll-pb\":[{\"scroll-pb\":R()}],\"scroll-pl\":[{\"scroll-pl\":R()}],\"snap-align\":[{snap:[\"start\",\"end\",\"center\",\"align-none\"]}],\"snap-stop\":[{snap:[\"normal\",\"always\"]}],\"snap-type\":[{snap:[\"none\",\"x\",\"y\",\"both\"]}],\"snap-strictness\":[{snap:[\"mandatory\",\"proximity\"]}],touch:[{touch:[\"auto\",\"none\",\"manipulation\"]}],\"touch-x\":[{\"touch-pan\":[\"x\",\"left\",\"right\"]}],\"touch-y\":[{\"touch-pan\":[\"y\",\"up\",\"down\"]}],\"touch-pz\":[\"touch-pinch-zoom\"],select:[{select:[\"none\",\"text\",\"all\",\"auto\"]}],\"will-change\":[{\"will-change\":[\"auto\",\"scroll\",\"contents\",\"transform\",z]}],fill:[{fill:[e,\"none\"]}],\"stroke-w\":[{stroke:[Ve,Le,Ko]}],stroke:[{stroke:[e,\"none\"]}],sr:[\"sr-only\",\"not-sr-only\"],\"forced-color-adjust\":[{\"forced-color-adjust\":[\"auto\",\"none\"]}]},conflictingClassGroups:{overflow:[\"overflow-x\",\"overflow-y\"],overscroll:[\"overscroll-x\",\"overscroll-y\"],inset:[\"inset-x\",\"inset-y\",\"start\",\"end\",\"top\",\"right\",\"bottom\",\"left\"],\"inset-x\":[\"right\",\"left\"],\"inset-y\":[\"top\",\"bottom\"],flex:[\"basis\",\"grow\",\"shrink\"],gap:[\"gap-x\",\"gap-y\"],p:[\"px\",\"py\",\"ps\",\"pe\",\"pt\",\"pr\",\"pb\",\"pl\"],px:[\"pr\",\"pl\"],py:[\"pt\",\"pb\"],m:[\"mx\",\"my\",\"ms\",\"me\",\"mt\",\"mr\",\"mb\",\"ml\"],mx:[\"mr\",\"ml\"],my:[\"mt\",\"mb\"],size:[\"w\",\"h\"],\"font-size\":[\"leading\"],\"fvn-normal\":[\"fvn-ordinal\",\"fvn-slashed-zero\",\"fvn-figure\",\"fvn-spacing\",\"fvn-fraction\"],\"fvn-ordinal\":[\"fvn-normal\"],\"fvn-slashed-zero\":[\"fvn-normal\"],\"fvn-figure\":[\"fvn-normal\"],\"fvn-spacing\":[\"fvn-normal\"],\"fvn-fraction\":[\"fvn-normal\"],\"line-clamp\":[\"display\",\"overflow\"],rounded:[\"rounded-s\",\"rounded-e\",\"rounded-t\",\"rounded-r\",\"rounded-b\",\"rounded-l\",\"rounded-ss\",\"rounded-se\",\"rounded-ee\",\"rounded-es\",\"rounded-tl\",\"rounded-tr\",\"rounded-br\",\"rounded-bl\"],\"rounded-s\":[\"rounded-ss\",\"rounded-es\"],\"rounded-e\":[\"rounded-se\",\"rounded-ee\"],\"rounded-t\":[\"rounded-tl\",\"rounded-tr\"],\"rounded-r\":[\"rounded-tr\",\"rounded-br\"],\"rounded-b\":[\"rounded-br\",\"rounded-bl\"],\"rounded-l\":[\"rounded-tl\",\"rounded-bl\"],\"border-spacing\":[\"border-spacing-x\",\"border-spacing-y\"],\"border-w\":[\"border-w-s\",\"border-w-e\",\"border-w-t\",\"border-w-r\",\"border-w-b\",\"border-w-l\"],\"border-w-x\":[\"border-w-r\",\"border-w-l\"],\"border-w-y\":[\"border-w-t\",\"border-w-b\"],\"border-color\":[\"border-color-s\",\"border-color-e\",\"border-color-t\",\"border-color-r\",\"border-color-b\",\"border-color-l\"],\"border-color-x\":[\"border-color-r\",\"border-color-l\"],\"border-color-y\":[\"border-color-t\",\"border-color-b\"],\"scroll-m\":[\"scroll-mx\",\"scroll-my\",\"scroll-ms\",\"scroll-me\",\"scroll-mt\",\"scroll-mr\",\"scroll-mb\",\"scroll-ml\"],\"scroll-mx\":[\"scroll-mr\",\"scroll-ml\"],\"scroll-my\":[\"scroll-mt\",\"scroll-mb\"],\"scroll-p\":[\"scroll-px\",\"scroll-py\",\"scroll-ps\",\"scroll-pe\",\"scroll-pt\",\"scroll-pr\",\"scroll-pb\",\"scroll-pl\"],\"scroll-px\":[\"scroll-pr\",\"scroll-pl\"],\"scroll-py\":[\"scroll-pt\",\"scroll-pb\"],touch:[\"touch-x\",\"touch-y\",\"touch-pz\"],\"touch-x\":[\"touch\"],\"touch-y\":[\"touch\"],\"touch-pz\":[\"touch\"]},conflictingClassGroupModifiers:{\"font-size\":[\"leading\"]}}},mp=(e,{cacheSize:t,prefix:o,separator:n,experimentalParseClassName:r,extend:a={},override:l={}})=>{Nt(e,\"cacheSize\",t),Nt(e,\"prefix\",o),Nt(e,\"separator\",n),Nt(e,\"experimentalParseClassName\",r);for(let s in l)fp(e[s],l[s]);for(let s in a)wp(e[s],a[s]);return e},Nt=(e,t,o)=>{o!==void 0&&(e[t]=o)},fp=(e,t)=>{if(t)for(let o in t)Nt(e,o,t[o])},wp=(e,t)=>{if(t)for(let o in t){let n=t[o];n!==void 0&&(e[o]=(e[o]||[]).concat(n))}},en=(e,...t)=>typeof e==\"function\"?Zr(Ut,e,...t):Zr(()=>mp(Ut(),e),...t)});var gp,w,on=v(()=>{\"use strict\";tn();gp=Ut(),w=en(()=>c(i({},gp),{prefix:\"tw-\"}))});var k=v(()=>{\"use strict\";Ur();on()});import{jsx as rn,jsxs as vp}from\"react/jsx-runtime\";var hp,nn,an=v(()=>{\"use strict\";hp=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return vp(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},o),{children:[e?rn(\"title\",{id:t,children:e}):null,rn(\"path\",{fillRule:\"evenodd\",d:\"M12.068 3.002a1 1 0 0 1 .902.755l3.25 13 2.852-7.128a1 1 0 0 1 1.76-.184l2 3a1 1 0 1 1-1.664 1.11l-.945-1.418-3.294 8.234a1 1 0 0 1-1.9-.128l-3.249-13-2.851 7.128A1 1 0 0 1 7.2 14.6L5 11.667 2.8 14.6a1 1 0 1 1-1.6-1.2l3-4a1 1 0 0 1 1.6 0l1.932 2.576 3.34-8.347a1 1 0 0 1 .996-.627\",clipRule:\"evenodd\"})]}))},nn=hp});import{jsx as qo,jsxs as xp}from\"react/jsx-runtime\";var bp,ln,sn=v(()=>{\"use strict\";bp=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return xp(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 43 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?qo(\"title\",{id:t,children:e}):null,qo(\"path\",{fillRule:\"evenodd\",d:\"M9.43 3.359c-.333-.844-1.527-.844-1.86 0L6.538 5.975a1 1 0 0 1-.563.563L3.359 7.57c-.844.333-.844 1.527 0 1.86l2.616 1.032a1 1 0 0 1 .563.563l1.032 2.616c.333.844 1.527.844 1.86 0l1.032-2.616a1 1 0 0 1 .563-.563l2.616-1.032c.844-.333.844-1.527 0-1.86l-2.616-1.032a1 1 0 0 1-.563-.563zm8.5 10c-.333-.844-1.527-.845-1.86 0l-.608 1.54a1 1 0 0 1-.563.563l-1.54.608c-.844.333-.845 1.527 0 1.86l1.54.608a1 1 0 0 1 .563.563l.608 1.54c.333.844 1.527.844 1.86 0l.608-1.54a1 1 0 0 1 .563-.563l1.54-.608c.844-.333.844-1.527 0-1.86l-1.54-.608a1 1 0 0 1-.563-.563z\",clipRule:\"evenodd\"}),qo(\"path\",{d:\"M30.385 6 26 17.424h2.064l1.073-3.024h4.558l1.073 3.024h2.144L32.512 6zM38 6v11.424h2V6zm-6.592 1.969h.047l1.713 4.912H29.68z\"})]}))},ln=bp});import{jsx as cn,jsxs as yp}from\"react/jsx-runtime\";var Sp,dn,pn=v(()=>{\"use strict\";Sp=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return yp(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 20 20\",\"aria-labelledby\":t},o),{children:[e?cn(\"title\",{id:t,children:e}):null,cn(\"path\",{fillRule:\"evenodd\",d:\"M18 16.75H2v-1.5h16zM5.035 3.316a.5.5 0 0 1 .93 0l.973 2.464a.5.5 0 0 0 .28.282l2.466.97a.5.5 0 0 1 0 .93l-2.465.973a.5.5 0 0 0-.281.28l-.973 2.464a.5.5 0 0 1-.93 0l-.972-2.463a.5.5 0 0 0-.282-.281l-2.465-.972a.5.5 0 0 1 0-.93l2.465-.971a.5.5 0 0 0 .282-.282zM18 10.75h-6v-1.5h6zm0-5h-6v-1.5h6z\",clipRule:\"evenodd\"})]}))},dn=Sp});import{jsx as un,jsxs as Vp}from\"react/jsx-runtime\";var Rp,mn,fn=v(()=>{\"use strict\";Rp=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Vp(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?un(\"title\",{id:t,children:e}):null,un(\"path\",{fillRule:\"evenodd\",d:\"M11 17.586V4a1 1 0 1 1 2 0v13.586l5.293-5.293a1 1 0 0 1 1.414 1.414l-7 7a1 1 0 0 1-1.414 0l-7-7a1 1 0 1 1 1.414-1.414z\",clipRule:\"evenodd\"})]}))},mn=Rp});import{jsx as wn,jsxs as Gp}from\"react/jsx-runtime\";var Pp,gn,hn=v(()=>{\"use strict\";Pp=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Gp(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?wn(\"title\",{id:t,children:e}):null,wn(\"path\",{fillRule:\"evenodd\",d:\"m9.414 16 8.293-8.293a1 1 0 0 0-1.414-1.414L8 14.586V7a1 1 0 0 0-2 0v10a1 1 0 0 0 1 1h10a1 1 0 1 0 0-2z\",clipRule:\"evenodd\"})]}))},gn=Pp});import{jsx as vn,jsxs as Ip}from\"react/jsx-runtime\";var Cp,bn,xn=v(()=>{\"use strict\";Cp=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Ip(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?vn(\"title\",{id:t,children:e}):null,vn(\"path\",{fillRule:\"evenodd\",d:\"M11.707 5.707a1 1 0 0 0-1.414-1.414l-7 7a1 1 0 0 0 0 1.414l7 7a1 1 0 0 0 1.414-1.414L6.414 13H20a1 1 0 1 0 0-2H6.414z\",clipRule:\"evenodd\"})]}))},bn=Cp});import{jsx as Sn,jsxs as Mp}from\"react/jsx-runtime\";var Ep,yn,Rn=v(()=>{\"use strict\";Ep=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Mp(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?Sn(\"title\",{id:t,children:e}):null,Sn(\"path\",{fillRule:\"evenodd\",d:\"M7 6a1 1 0 0 0-1 1v10a1 1 0 1 0 2 0V9.414l8.293 8.293a1 1 0 0 0 1.414-1.414L9.414 8H17a1 1 0 1 0 0-2z\",clipRule:\"evenodd\"})]}))},yn=Ep});import{jsx as Vn,jsxs as Np}from\"react/jsx-runtime\";var Tp,Pn,Gn=v(()=>{\"use strict\";Tp=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Np(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?Vn(\"title\",{id:t,children:e}):null,Vn(\"path\",{fillRule:\"evenodd\",d:\"M6.293 7.707a1 1 0 0 1 1.414-1.414L16 14.586V7a1 1 0 1 1 2 0v10a1 1 0 0 1-1 1H7a1 1 0 1 1 0-2h7.586z\",clipRule:\"evenodd\"})]}))},Pn=Tp});import{jsx as Cn,jsxs as Lp}from\"react/jsx-runtime\";var kp,In,En=v(()=>{\"use strict\";kp=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Lp(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?Cn(\"title\",{id:t,children:e}):null,Cn(\"path\",{fillRule:\"evenodd\",d:\"M12.293 5.707a1 1 0 0 1 1.414-1.414l7 7a1 1 0 0 1 0 1.414l-7 7a1 1 0 0 1-1.414-1.414L17.586 13H4a1 1 0 1 1 0-2h13.586z\",clipRule:\"evenodd\"})]}))},In=kp});import{jsx as Mn,jsxs as zp}from\"react/jsx-runtime\";var Ap,Tn,Nn=v(()=>{\"use strict\";Ap=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return zp(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?Mn(\"title\",{id:t,children:e}):null,Mn(\"path\",{fillRule:\"evenodd\",d:\"M17.924 6.617a1 1 0 0 0-.215-.322l-.004-.004A1 1 0 0 0 17 6H7a1 1 0 0 0 0 2h7.586l-8.293 8.293a1 1 0 1 0 1.414 1.414L16 9.414V17a1 1 0 1 0 2 0V6.997a1 1 0 0 0-.076-.38\",clipRule:\"evenodd\"})]}))},Tn=Ap});import{jsx as kn,jsxs as Bp}from\"react/jsx-runtime\";var Op,Ln,An=v(()=>{\"use strict\";Op=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Bp(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?kn(\"title\",{id:t,children:e}):null,kn(\"path\",{fillRule:\"evenodd\",d:\"M5.707 11.707a1 1 0 0 1-1.414-1.414l7-7a1 1 0 0 1 1.414 0l7 7a1 1 0 0 1-1.414 1.414L13 6.414V20a1 1 0 1 1-2 0V6.414z\",clipRule:\"evenodd\"})]}))},Ln=Op});import{jsx as zn,jsxs as Dp}from\"react/jsx-runtime\";var Fp,On,Bn=v(()=>{\"use strict\";Fp=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Dp(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},o),{children:[e?zn(\"title\",{id:t,children:e}):null,zn(\"path\",{fillRule:\"evenodd\",d:\"M7 9a5 5 0 0 1 10 0v1.93a3 3 0 0 0 1.336 2.496l.949.633a1.606 1.606 0 0 1-.89 2.941H5.604a1.606 1.606 0 0 1-.89-2.941l.95-.633A3 3 0 0 0 7 10.93zm5-7a7 7 0 0 0-7 7v1.93a1 1 0 0 1-.445.832l-.95.632a3.606 3.606 0 0 0 2 6.606H8c0 .15.034.304.106.448a4.8 4.8 0 0 0 1.608 1.848A4.1 4.1 0 0 0 12 22c.813 0 1.602-.248 2.286-.704a4.8 4.8 0 0 0 1.608-1.848A1 1 0 0 0 16 19h2.394a3.606 3.606 0 0 0 2-6.606l-.949-.632A1 1 0 0 1 19 10.93V9a7 7 0 0 0-7-7m1.832 17h-3.664c.19.258.413.47.656.632.37.246.774.368 1.176.368s.807-.122 1.176-.368c.243-.161.466-.374.656-.632\",clipRule:\"evenodd\"})]}))},On=Fp});import{jsx as Fn,jsxs as _p}from\"react/jsx-runtime\";var Hp,Dn,Hn=v(()=>{\"use strict\";Hp=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return _p(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},o),{children:[e?Fn(\"title\",{id:t,children:e}):null,Fn(\"path\",{d:\"M18 2a2 2 0 0 1 2 2v12a1 1 0 0 1-.927.996 2.86 2.86 0 0 0-.323 1.317c0 .48.12 1.032.398 1.699A1 1 0 0 1 19 22H6.5A3.5 3.5 0 0 1 3 18.5V6a4 4 0 0 1 4-4zM6.5 17a1.5 1.5 0 0 0 0 3h10.52a5.8 5.8 0 0 1-.27-1.687c0-.456.065-.892.186-1.313zm.25-12.982A2 2 0 0 0 5 6v9.336A3.5 3.5 0 0 1 6.5 15h.25zM8.25 15H18V4H8.25z\"})]}))},Dn=Hp});import{jsx as _n,jsxs as Kp}from\"react/jsx-runtime\";var Wp,Wn,Kn=v(()=>{\"use strict\";Wp=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Kp(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?_n(\"title\",{id:t,children:e}):null,_n(\"path\",{fillRule:\"evenodd\",d:\"M4 5a3 3 0 0 1 3-3h10a3 3 0 0 1 3 3v15.114c0 1.898-2.397 2.729-3.571 1.237L12 15.727l1.571-1.237L18 20.114V5a1 1 0 0 0-1-1H7a1 1 0 0 0-1 1v15.114l4.429-5.624a2 2 0 0 1 3.142 0L12 15.727l-4.429 5.624C6.397 22.843 4 22.012 4 20.114z\",clipRule:\"evenodd\"})]}))},Wn=Wp});import{jsx as Un,jsxs as $p}from\"react/jsx-runtime\";var Up,$n,qn=v(()=>{\"use strict\";Up=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return $p(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?Un(\"title\",{id:t,children:e}):null,Un(\"path\",{fillRule:\"evenodd\",d:\"M5 7a1 1 0 1 1-2 0 1 1 0 0 1 2 0m0 5a1 1 0 1 1-2 0 1 1 0 0 1 2 0m-1 6a1 1 0 1 0 0-2 1 1 0 0 0 0 2M8 6a1 1 0 0 0 0 2h12a1 1 0 1 0 0-2zm-1 6a1 1 0 0 1 1-1h12a1 1 0 1 1 0 2H8a1 1 0 0 1-1-1m1 4a1 1 0 1 0 0 2h12a1 1 0 1 0 0-2z\",clipRule:\"evenodd\"})]}))},$n=Up});import{jsx as Zn,jsxs as Zp}from\"react/jsx-runtime\";var qp,Xn,Yn=v(()=>{\"use strict\";qp=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Zp(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?Zn(\"title\",{id:t,children:e}):null,Zn(\"path\",{fillRule:\"evenodd\",d:\"M8 1a1 1 0 0 1 1 1v1h6V2a1 1 0 1 1 2 0v1h2a3 3 0 0 1 3 3v13a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V6a3 3 0 0 1 3-3h2V2a1 1 0 0 1 1-1m8 4H5a1 1 0 0 0-1 1v1h16V6a1 1 0 0 0-1-1zM4 9v10a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1V9z\",clipRule:\"evenodd\"})]}))},Xn=qp});import{jsx as Jn,jsxs as Yp}from\"react/jsx-runtime\";var Xp,Qn,jn=v(()=>{\"use strict\";Xp=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Yp(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?Jn(\"title\",{id:t,children:e}):null,Jn(\"path\",{fillRule:\"evenodd\",d:\"M5 2a3 3 0 0 0-3 3v3a3 3 0 0 0 3 3h3a3 3 0 0 0 3-3V5a3 3 0 0 0-3-3zM4 5a1 1 0 0 1 1-1h3a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1zm12-3a3 3 0 0 0-3 3v3a3 3 0 0 0 3 3h3a3 3 0 0 0 3-3V5a3 3 0 0 0-3-3zm-1 3a1 1 0 0 1 1-1h3a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1h-3a1 1 0 0 1-1-1zm-2 11a3 3 0 0 1 3-3h3a3 3 0 0 1 3 3v3a3 3 0 0 1-3 3h-3a3 3 0 0 1-3-3zm3-1a1 1 0 0 0-1 1v3a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1zM5 13a3 3 0 0 0-3 3v3a3 3 0 0 0 3 3h3a3 3 0 0 0 3-3v-3a3 3 0 0 0-3-3zm-1 3a1 1 0 0 1 1-1h3a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1z\",clipRule:\"evenodd\"})]}))},Qn=Xp});import{jsx as ea,jsxs as Qp}from\"react/jsx-runtime\";var Jp,ta,oa=v(()=>{\"use strict\";Jp=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Qp(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?ea(\"title\",{id:t,children:e}):null,ea(\"path\",{fillRule:\"evenodd\",d:\"M3 12a9 9 0 1 1 18 0 9 9 0 0 1-18 0m9-11C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1m4.768 8.64a1 1 0 1 0-1.536-1.28l-4.3 5.159-2.225-2.226a1 1 0 0 0-1.414 1.414l3 3a1 1 0 0 0 1.475-.067z\",clipRule:\"evenodd\"})]}))},ta=Jp});import{jsx as ra,jsxs as eu}from\"react/jsx-runtime\";var jp,ct,na=v(()=>{\"use strict\";jp=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return eu(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},o),{children:[e?ra(\"title\",{id:t,children:e}):null,ra(\"path\",{fillRule:\"evenodd\",d:\"M20.61 5.207a1 1 0 0 1 .183 1.403l-10 13a1 1 0 0 1-1.5.097l-5-5a1 1 0 0 1 1.414-1.414l4.195 4.195L19.207 5.39a1 1 0 0 1 1.403-.183\",clipRule:\"evenodd\"})]}))},ct=jp});import{jsx as aa,jsxs as ou}from\"react/jsx-runtime\";var tu,la,ia=v(()=>{\"use strict\";tu=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return ou(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?aa(\"title\",{id:t,children:e}):null,aa(\"path\",{fillRule:\"evenodd\",d:\"M7.707 5.293a1 1 0 0 0-1.414 0L5 6.586l-.293-.293a1 1 0 0 0-1.414 1.414l1 1a1 1 0 0 0 1.414 0l2-2a1 1 0 0 0 0-1.414m0 5a1 1 0 0 0-1.414 0L5 11.586l-.293-.293a1 1 0 0 0-1.414 1.414l1 1a1 1 0 0 0 1.414 0l2-2a1 1 0 0 0 0-1.414m-1.414 5a1 1 0 0 1 1.414 1.414l-2 2a1 1 0 0 1-1.414 0l-1-1a1 1 0 1 1 1.414-1.414l.293.293zM11 6a1 1 0 1 0 0 2h9a1 1 0 1 0 0-2zm0 5a1 1 0 1 0 0 2h9a1 1 0 1 0 0-2zm0 5a1 1 0 1 0 0 2h9a1 1 0 1 0 0-2z\",clipRule:\"evenodd\"})]}))},la=tu});import{jsx as sa,jsxs as nu}from\"react/jsx-runtime\";var ru,$t,ca=v(()=>{\"use strict\";ru=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return nu(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 16 16\",\"aria-labelledby\":t},o),{children:[e?sa(\"title\",{id:t,children:e}):null,sa(\"path\",{fillRule:\"evenodd\",d:\"M12.682 4.269a1 1 0 0 1 .05 1.413l-5.6 6a1 1 0 0 1-1.416.047l-2.4-2.25A1 1 0 0 1 4.684 8.02l1.669 1.565 4.916-5.267a1 1 0 0 1 1.413-.049\",clipRule:\"evenodd\"})]}))},$t=ru});import{jsx as da,jsxs as lu}from\"react/jsx-runtime\";var au,pa,ua=v(()=>{\"use strict\";au=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return lu(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?da(\"title\",{id:t,children:e}):null,da(\"path\",{fillRule:\"evenodd\",d:\"M2 5a3 3 0 0 1 3-3h14a3 3 0 0 1 3 3v14a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3zm3-1a1 1 0 0 0-1 1v14a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1z\",clipRule:\"evenodd\"})]}))},pa=au});import{jsx as ma,jsxs as su}from\"react/jsx-runtime\";var iu,ze,fa=v(()=>{\"use strict\";iu=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return su(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},o),{children:[e?ma(\"title\",{id:t,children:e}):null,ma(\"path\",{fillRule:\"evenodd\",d:\"M7.293 9.293a1 1 0 0 1 1.414 0L12 12.586l3.293-3.293a1 1 0 1 1 1.414 1.414l-4 4a1 1 0 0 1-1.414 0l-4-4a1 1 0 0 1 0-1.414\",clipRule:\"evenodd\"})]}))},ze=iu});import{jsx as wa,jsxs as du}from\"react/jsx-runtime\";var cu,qt,ga=v(()=>{\"use strict\";cu=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return du(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},o),{children:[e?wa(\"title\",{id:t,children:e}):null,wa(\"path\",{fillRule:\"evenodd\",d:\"M12.707 2.293a1 1 0 0 0-1.414 0l-5 5a1 1 0 0 0 1.414 1.414L12 4.414l4.293 4.293a1 1 0 1 0 1.414-1.414zm5 14.414-5 5a1 1 0 0 1-1.414 0l-5-5a1 1 0 1 1 1.414-1.414L12 19.586l4.293-4.293a1 1 0 0 1 1.414 1.414\",clipRule:\"evenodd\"})]}))},qt=cu});import{jsx as ha,jsxs as uu}from\"react/jsx-runtime\";var pu,va,ba=v(()=>{\"use strict\";pu=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return uu(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},o),{children:[e?ha(\"title\",{id:t,children:e}):null,ha(\"path\",{fillRule:\"evenodd\",d:\"M14.707 7.293a1 1 0 0 1 0 1.414L11.414 12l3.293 3.293a1 1 0 0 1-1.414 1.414l-4-4a1 1 0 0 1 0-1.414l4-4a1 1 0 0 1 1.414 0\",clipRule:\"evenodd\"})]}))},va=pu});import{jsx as xa,jsxs as fu}from\"react/jsx-runtime\";var mu,dt,Sa=v(()=>{\"use strict\";mu=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return fu(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},o),{children:[e?xa(\"title\",{id:t,children:e}):null,xa(\"path\",{fillRule:\"evenodd\",d:\"M9.293 16.707a1 1 0 0 1 0-1.414L12.586 12 9.293 8.707a1 1 0 0 1 1.414-1.414l4 4a1 1 0 0 1 0 1.414l-4 4a1 1 0 0 1-1.414 0\",clipRule:\"evenodd\"})]}))},dt=mu});import{jsx as ya,jsxs as gu}from\"react/jsx-runtime\";var wu,Ra,Va=v(()=>{\"use strict\";wu=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return gu(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},o),{children:[e?ya(\"title\",{id:t,children:e}):null,ya(\"path\",{fillRule:\"evenodd\",d:\"m17.707 4.707-5 5a1 1 0 0 1-1.414 0l-5-5a1 1 0 0 1 1.414-1.414L12 7.586l4.293-4.293a1 1 0 1 1 1.414 1.414m0 14.586-5-5a1 1 0 0 0-1.414 0l-5 5a1 1 0 1 0 1.414 1.414L12 16.414l4.293 4.293a1 1 0 0 0 1.414-1.414\",clipRule:\"evenodd\"})]}))},Ra=wu});import{jsx as Pa,jsxs as vu}from\"react/jsx-runtime\";var hu,Ga,Ca=v(()=>{\"use strict\";hu=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return vu(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},o),{children:[e?Pa(\"title\",{id:t,children:e}):null,Pa(\"path\",{d:\"M8 7a1 1 0 0 0-.707 1.707L10.586 12l-3.293 3.293a1 1 0 1 0 1.414 1.414l4-4a1 1 0 0 0 0-1.414l-4-4A1 1 0 0 0 8 7m7 0a1 1 0 0 0-1 1v8a1 1 0 1 0 2 0V8a1 1 0 0 0-1-1\"})]}))},Ga=hu});import{jsx as Ia,jsxs as xu}from\"react/jsx-runtime\";var bu,Ea,Ma=v(()=>{\"use strict\";bu=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return xu(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},o),{children:[e?Ia(\"title\",{id:t,children:e}):null,Ia(\"path\",{fillRule:\"evenodd\",d:\"M16.707 7.293a1 1 0 0 1 0 1.414L13.414 12l3.293 3.293a1 1 0 0 1-1.414 1.414l-4-4a1 1 0 0 1 0-1.414l4-4a1 1 0 0 1 1.414 0M9 7a1 1 0 0 1 1 1v8a1 1 0 1 1-2 0V8a1 1 0 0 1 1-1\",clipRule:\"evenodd\"})]}))},Ea=bu});import{jsx as Ta,jsxs as yu}from\"react/jsx-runtime\";var Su,Zt,Na=v(()=>{\"use strict\";Su=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return yu(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},o),{children:[e?Ta(\"title\",{id:t,children:e}):null,Ta(\"path\",{fillRule:\"evenodd\",d:\"M11.293 9.293a1 1 0 0 1 1.414 0l4 4a1 1 0 0 1-1.414 1.414L12 11.414l-3.293 3.293a1 1 0 0 1-1.414-1.414z\",clipRule:\"evenodd\"})]}))},Zt=Su});import{jsx as ka,jsxs as Vu}from\"react/jsx-runtime\";var Ru,La,Aa=v(()=>{\"use strict\";Ru=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Vu(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?ka(\"title\",{id:t,children:e}):null,ka(\"path\",{fillRule:\"evenodd\",d:\"M13.014 4.4c1.155-1.154 2.833-1.14 3.754-.218s.936 2.6-.219 3.754l-6.734 6.735c-.411.41-.933.347-1.17.11-.238-.239-.302-.76.11-1.17l6.902-6.903a1 1 0 0 0-1.415-1.415L7.34 12.196c-1.077 1.077-1.239 2.87-.11 3.998 1.13 1.13 2.922.968 4-.109l6.733-6.734c1.821-1.821 2.032-4.77.22-6.583s-4.763-1.602-6.583.219L2.845 11.74c-1.82 1.82-2.032 4.77-.22 6.583 1.21 1.21 2.95 1.518 4.491 1.046a1 1 0 0 0-.585-1.912c-.924.282-1.868.075-2.49-.548-.922-.921-.937-2.6.218-3.755zm4.28 17.307a1 1 0 0 1 0-1.414L18.585 19H13a1 1 0 1 1 0-2h5.586l-1.293-1.293a1 1 0 0 1 1.414-1.414l3 3a1 1 0 0 1 0 1.414l-3 3a1 1 0 0 1-1.414 0Z\",clipRule:\"evenodd\"})]}))},La=Ru});import{jsx as za,jsxs as Gu}from\"react/jsx-runtime\";var Pu,Oa,Ba=v(()=>{\"use strict\";Pu=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Gu(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?za(\"title\",{id:t,children:e}):null,za(\"path\",{d:\"M16.887 2.09a5.3 5.3 0 0 0-3.608 1.558L3.65 13.28c-1.995 1.996-2.118 5.222-.134 7.205 1.326 1.326 3.221 1.712 4.916 1.223a1 1 0 0 0-.555-1.922c-1.055.305-2.18.053-2.947-.715-1.141-1.14-1.143-3.1.134-4.377l9.63-9.629c1.277-1.277 3.237-1.275 4.378-.134 1.141 1.14 1.143 3.1-.134 4.377l-7.409 7.408c-.459.459-1.122.426-1.482.066s-.39-1.023.068-1.482l7.592-7.592a1 1 0 1 0-1.414-1.414l-7.592 7.592c-1.177 1.177-1.27 3.108-.068 4.31 1.202 1.203 3.133 1.111 4.31-.066l7.409-7.408c1.995-1.996 2.118-5.222.134-7.205a4.88 4.88 0 0 0-3.6-1.426z\"})]}))},Oa=Pu});import{jsx as Fa,jsxs as Iu}from\"react/jsx-runtime\";var Cu,Da,Ha=v(()=>{\"use strict\";Cu=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Iu(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?Fa(\"title\",{id:t,children:e}):null,Fa(\"path\",{d:\"M13 2c-5.387 0-9.78 4.26-9.992 9.594l-1.301-1.301a1 1 0 1 0-1.414 1.414l3 3a1 1 0 0 0 1.414 0l3-3a1 1 0 1 0-1.414-1.414l-1.281 1.281A8 8 0 1 1 13 20a7.98 7.98 0 0 1-5.963-2.666 1 1 0 0 0-1.49 1.332A9.98 9.98 0 0 0 13 22c5.523 0 10-4.477 10-10S18.523 2 13 2m0 4a1 1 0 0 0-1 1v4.586A2 2 0 0 0 12.586 13l2.707 2.707a1 1 0 1 0 1.414-1.414L14 11.586V7a1 1 0 0 0-1-1\"})]}))},Da=Cu});import{jsx as _a,jsxs as Mu}from\"react/jsx-runtime\";var Eu,Wa,Ka=v(()=>{\"use strict\";Eu=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Mu(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?_a(\"title\",{id:t,children:e}):null,_a(\"path\",{d:\"M12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1m0 2a9 9 0 1 1 0 18 9 9 0 0 1 0-18m0 3a1 1 0 0 0-1 1v4.586A2 2 0 0 0 11.586 13l2.707 2.707a1 1 0 1 0 1.414-1.414L13 11.586V7a1 1 0 0 0-1-1\"})]}))},Wa=Eu});import{jsx as Ua,jsxs as Nu}from\"react/jsx-runtime\";var Tu,$a,qa=v(()=>{\"use strict\";Tu=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Nu(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},o),{children:[e?Ua(\"title\",{id:t,children:e}):null,Ua(\"path\",{fillRule:\"evenodd\",d:\"M14.868 2.957c-.865-2.83-4.871-2.83-5.737 0L8.59 4.73a1 1 0 0 1-1.181.682l-1.805-.417C2.719 4.33.717 7.798 2.734 9.963l1.263 1.355a1 1 0 0 1 0 1.364l-1.263 1.355c-2.017 2.165-.015 5.634 2.869 4.969l1.805-.416a1 1 0 0 1 1.181.681l.542 1.772c.866 2.83 4.872 2.83 5.737 0l.543-1.772a1 1 0 0 1 1.18-.681l1.806.416c2.883.665 4.886-2.804 2.868-4.969l-1.263-1.355a1 1 0 0 1 0-1.364l1.263-1.355c2.018-2.165.015-5.634-2.868-4.969l-1.805.417a1 1 0 0 1-1.181-.682zm-3.825.585c.29-.943 1.624-.943 1.913 0l.542 1.772a3 3 0 0 0 3.543 2.045l1.805-.416c.961-.222 1.629.935.956 1.656L18.54 9.955a3 3 0 0 0 0 4.09l1.263 1.356c.673.721.005 1.878-.956 1.656l-1.805-.416a3 3 0 0 0-3.543 2.045l-.542 1.772c-.289.943-1.624.943-1.912 0l-.543-1.772a3 3 0 0 0-3.542-2.045l-1.806.416c-.96.222-1.628-.935-.956-1.656l1.263-1.355a3 3 0 0 0 0-4.091L4.197 8.599c-.672-.721-.005-1.878.956-1.656l1.806.416A3 3 0 0 0 10.5 5.314zM10 12a2 2 0 1 1 4 0 2 2 0 0 1-4 0m2-4a4 4 0 1 0 0 8 4 4 0 0 0 0-8\",clipRule:\"evenodd\"})]}))},$a=Tu});import{jsx as Za,jsxs as Lu}from\"react/jsx-runtime\";var ku,Xa,Ya=v(()=>{\"use strict\";ku=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Lu(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?Za(\"title\",{id:t,children:e}):null,Za(\"path\",{d:\"M4 9a1 1 0 0 0 0 2h16a1 1 0 1 0 0-2zm0 4a1 1 0 1 0 0 2h9a1 1 0 1 0 0-2z\"})]}))},Xa=ku});import{jsx as Ja,jsxs as zu}from\"react/jsx-runtime\";var Au,Qa,ja=v(()=>{\"use strict\";Au=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return zu(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?Ja(\"title\",{id:t,children:e}):null,Ja(\"path\",{fillRule:\"evenodd\",d:\"M9 2a3 3 0 0 0-3 3v1H5a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3v-1h1a3 3 0 0 0 3-3V5a3 3 0 0 0-3-3zm9 14h1a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1H9a1 1 0 0 0-1 1v1h7a3 3 0 0 1 3 3zM4 9a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1z\",clipRule:\"evenodd\"})]}))},Qa=Au});import{jsx as el,jsxs as Bu}from\"react/jsx-runtime\";var Ou,tl,ol=v(()=>{\"use strict\";Ou=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Bu(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?el(\"title\",{id:t,children:e}):null,el(\"path\",{fillRule:\"evenodd\",d:\"M10.828 1a3 3 0 0 0-2.12.879l-4.83 4.828A3 3 0 0 0 3 8.828V20a3 3 0 0 0 3 3h12a3 3 0 0 0 3-3V4a3 3 0 0 0-3-3zM10 3.414 5.414 8H9a1 1 0 0 0 1-1zM5 10v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1h-6v4a3 3 0 0 1-3 3zm2 3a1 1 0 0 1 1-1h8a1 1 0 1 1 0 2H8a1 1 0 0 1-1-1m1 3a1 1 0 1 0 0 2h8a1 1 0 1 0 0-2z\",clipRule:\"evenodd\"})]}))},tl=Ou});import{jsx as rl,jsxs as Du}from\"react/jsx-runtime\";var Fu,nl,al=v(()=>{\"use strict\";Fu=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Du(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?rl(\"title\",{id:t,children:e}):null,rl(\"path\",{d:\"M12 2a1 1 0 0 0-1 1v10.586l-3.293-3.293a1 1 0 1 0-1.414 1.414l5 5a1 1 0 0 0 1.414 0l5-5a1 1 0 1 0-1.414-1.414L13 13.586V3a1 1 0 0 0-1-1M3 14a1 1 0 0 0-1 1v4a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3v-4a1 1 0 1 0-2 0v4a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-4a1 1 0 0 0-1-1\"})]}))},nl=Fu});import{jsx as ll,jsxs as _u}from\"react/jsx-runtime\";var Hu,il,sl=v(()=>{\"use strict\";Hu=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return _u(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?ll(\"title\",{id:t,children:e}):null,ll(\"path\",{d:\"M4 9a1 1 0 0 0 0 2h16a1 1 0 1 0 0-2zm0 4a1 1 0 1 0 0 2h16a1 1 0 1 0 0-2z\"})]}))},il=Hu});import{jsx as cl,jsxs as Ku}from\"react/jsx-runtime\";var Wu,dl,pl=v(()=>{\"use strict\";Wu=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Ku(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?cl(\"title\",{id:t,children:e}):null,cl(\"path\",{d:\"M9.5 5a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3m5 0a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3m-5 5.5a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3m5 0a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3m-5 5.5a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3m5 0a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3\"})]}))},dl=Wu});import{jsx as ul,jsxs as $u}from\"react/jsx-runtime\";var Uu,ml,fl=v(()=>{\"use strict\";Uu=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return $u(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?ul(\"title\",{id:t,children:e}):null,ul(\"path\",{d:\"M5 10a2 2 0 1 0 0 4 2 2 0 0 0 0-4m7 0a2 2 0 1 0 0 4 2 2 0 0 0 0-4m7 0a2 2 0 1 0 0 4 2 2 0 0 0 0-4\"})]}))},ml=Uu});import{jsx as wl,jsxs as Zu}from\"react/jsx-runtime\";var qu,gl,hl=v(()=>{\"use strict\";qu=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Zu(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?wl(\"title\",{id:t,children:e}):null,wl(\"path\",{d:\"M12 3a2 2 0 1 0 0 4 2 2 0 0 0 0-4m0 7a2 2 0 1 0 0 4 2 2 0 0 0 0-4m0 7a2 2 0 1 0 0 4 2 2 0 0 0 0-4\"})]}))},gl=qu});import{jsx as vl,jsxs as Yu}from\"react/jsx-runtime\";var Xu,bl,xl=v(()=>{\"use strict\";Xu=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Yu(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?vl(\"title\",{id:t,children:e}):null,vl(\"path\",{d:\"M12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1m0 2a9 9 0 1 1 0 18 9 9 0 0 1 0-18M9 8a1 1 0 1 0 0 2 1 1 0 0 0 0-2m6 0a1 1 0 1 0 0 2 1 1 0 0 0 0-2m-7.043 5.168a.832.832 0 0 0-.623 1.332v.002h.002l.002.004.006.008.02.025.068.082c.056.067.136.16.24.268.207.215.509.5.9.785.78.567 1.948 1.16 3.428 1.16s2.648-.593 3.428-1.16a7 7 0 0 0 .9-.785q.156-.165.24-.268l.069-.082.02-.025.005-.008.002-.004h.002V14.5a.832.832 0 0 0-1.33-1.002l-.002.002-.004.006-.037.045a5 5 0 0 1-.846.775c-.595.433-1.427.84-2.447.84s-1.852-.407-2.447-.84a5 5 0 0 1-.846-.775l-.037-.045-.006-.008a.83.83 0 0 0-.707-.33\"})]}))},bl=Xu});import{jsx as Sl,jsxs as Qu}from\"react/jsx-runtime\";var Ju,yl,Rl=v(()=>{\"use strict\";Ju=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Qu(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},o),{children:[e?Sl(\"title\",{id:t,children:e}):null,Sl(\"path\",{fillRule:\"evenodd\",d:\"M4 3a3 3 0 0 0-3 3v12a3 3 0 0 0 3 3h16a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3zM3 6a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1v.52l-8.375 6.7a1 1 0 0 1-1.25 0L3 6.52zm0 3.08V18a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1V9.08l-7.126 5.701a3 3 0 0 1-3.748 0z\",clipRule:\"evenodd\"})]}))},yl=Ju});import{jsx as Vl,jsxs as em}from\"react/jsx-runtime\";var ju,Xt,Pl=v(()=>{\"use strict\";ju=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return em(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?Vl(\"title\",{id:t,children:e}):null,Vl(\"path\",{fillRule:\"evenodd\",d:\"M3 12a9 9 0 0 1 14.618-7.032l-12.65 12.65A8.96 8.96 0 0 1 3 12m3.382 7.032a9 9 0 0 0 12.65-12.65zM12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1\",clipRule:\"evenodd\"})]}))},Xt=ju});import{jsx as Gl,jsxs as om}from\"react/jsx-runtime\";var tm,Oe,Cl=v(()=>{\"use strict\";tm=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return om(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},o),{children:[e?Gl(\"title\",{id:t,children:e}):null,Gl(\"path\",{fillRule:\"evenodd\",d:\"M12 3a9 9 0 1 0 0 18 9 9 0 0 0 0-18M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12m11-5a1 1 0 0 1 1 1v5a1 1 0 1 1-2 0V8a1 1 0 0 1 1-1m0 10a1 1 0 1 0 0-2 1 1 0 0 0 0 2\",clipRule:\"evenodd\"})]}))},Oe=tm});import{jsx as Il,jsxs as nm}from\"react/jsx-runtime\";var rm,El,Ml=v(()=>{\"use strict\";rm=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return nm(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},o),{children:[e?Il(\"title\",{id:t,children:e}):null,Il(\"path\",{fillRule:\"evenodd\",d:\"M12.866 4.49a1 1 0 0 0-1.731 0L3.604 17.5a1 1 0 0 0 .865 1.5h15.063a1 1 0 0 0 .865-1.501zm-3.462-1c1.156-1.996 4.037-1.996 5.193 0l7.53 13.008c1.159 2-.284 4.503-2.595 4.503H4.469c-2.31 0-3.754-2.503-2.596-4.503zM12 8a1 1 0 0 1 1 1v4a1 1 0 1 1-2 0V9a1 1 0 0 1 1-1m0 9a1 1 0 1 0 0-2 1 1 0 0 0 0 2\",clipRule:\"evenodd\"})]}))},El=rm});import{jsx as Tl,jsxs as lm}from\"react/jsx-runtime\";var am,Nl,kl=v(()=>{\"use strict\";am=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return lm(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?Tl(\"title\",{id:t,children:e}):null,Tl(\"path\",{d:\"M14 3a1 1 0 1 0 0 2h3.586l-4.293 4.293a1 1 0 1 0 1.414 1.414L19 6.414V10a1 1 0 1 0 2 0V3.996a1 1 0 0 0-.291-.701l-.004-.004A1 1 0 0 0 20 3zM4 13a1 1 0 0 0-1 1v6.004a1 1 0 0 0 .291.701l.004.004c.18.18.43.291.705.291h6a1 1 0 1 0 0-2H6.414l4.293-4.293a1 1 0 1 0-1.414-1.414L5 17.586V14a1 1 0 0 0-1-1\"})]}))},Nl=am});import{jsx as Ll,jsxs as sm}from\"react/jsx-runtime\";var im,Al,zl=v(()=>{\"use strict\";im=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return sm(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?Ll(\"title\",{id:t,children:e}):null,Ll(\"path\",{d:\"M12 2a1 1 0 0 0-.707.293l-5 5a1 1 0 1 0 1.414 1.414L11 5.414V16a1 1 0 1 0 2 0V5.414l3.293 3.293a1 1 0 1 0 1.414-1.414l-5-5A1 1 0 0 0 12 2M3 14a1 1 0 0 0-1 1v4a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3v-4a1 1 0 1 0-2 0v4a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-4a1 1 0 0 0-1-1\"})]}))},Al=im});import{jsx as Ol,jsxs as dm}from\"react/jsx-runtime\";var cm,Bl,Fl=v(()=>{\"use strict\";cm=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return dm(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},o),{children:[e?Ol(\"title\",{id:t,children:e}):null,Ol(\"path\",{d:\"M15 2a1 1 0 0 0-1 1 1 1 0 0 0 1 1h3.586l-9.293 9.293a1 1 0 0 0 0 1.414 1 1 0 0 0 1.414 0L20 5.414V9a1 1 0 0 0 1 1 1 1 0 0 0 1-1V3a1 1 0 0 0-.293-.707 1 1 0 0 0-.414 0A1 1 0 0 0 21 2ZM5 5C3.355 5 2 6.355 2 8v11c0 1.645 1.355 3 3 3h11c1.645 0 3-1.355 3-3v-6a1 1 0 0 0-1-1 1 1 0 0 0-1 1v6c0 .564-.436 1-1 1H5c-.564 0-1-.436-1-1V8c0-.564.436-1 1-1h6a1 1 0 0 0 1-1 1 1 0 0 0-1-1Z\"})]}))},Bl=cm});import{jsx as Dl,jsxs as um}from\"react/jsx-runtime\";var pm,Hl,_l=v(()=>{\"use strict\";pm=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return um(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?Dl(\"title\",{id:t,children:e}):null,Dl(\"path\",{d:\"M12 4C5.848 4 2.554 8.882 1.512 10.752a2.55 2.55 0 0 0 0 2.496C2.554 15.118 5.848 20 12 20s9.444-4.882 10.486-6.752a2.55 2.55 0 0 0 0-2.496C21.444 8.882 18.152 4 12 4m0 2c4.98 0 7.761 3.97 8.74 5.727a.55.55 0 0 1 0 .546C19.761 14.03 16.98 18 12 18s-7.761-3.97-8.74-5.727a.55.55 0 0 1 0-.546C4.239 9.97 7.02 6 12 6m0 2a4 4 0 1 0 0 8 4 4 0 0 0 0-8m0 2a2 2 0 1 1 0 4 2 2 0 0 1 0-4\"})]}))},Hl=pm});import{jsx as Wl,jsxs as fm}from\"react/jsx-runtime\";var mm,Kl,Ul=v(()=>{\"use strict\";mm=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return fm(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?Wl(\"title\",{id:t,children:e}):null,Wl(\"path\",{fillRule:\"evenodd\",d:\"M8.707 1.879A3 3 0 0 1 10.828 1H18a3 3 0 0 1 3 3v16a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V8.828a3 3 0 0 1 .879-2.12l4.828-4.83ZM5.414 8 10 3.414V7a1 1 0 0 1-1 1zM5 20V10h4a3 3 0 0 0 3-3V3h6a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1m12.78-6.375a1 1 0 1 0-1.56-1.25l-3.303 4.128-1.21-1.21a1 1 0 0 0-1.414 1.414l2 2a1 1 0 0 0 1.488-.082z\",clipRule:\"evenodd\"})]}))},Kl=mm});import{jsx as $l,jsxs as gm}from\"react/jsx-runtime\";var wm,ql,Zl=v(()=>{\"use strict\";wm=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return gm(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?$l(\"title\",{id:t,children:e}):null,$l(\"path\",{fillRule:\"evenodd\",d:\"M12 3h3a1 1 0 1 0 0-2h-4.172a3 3 0 0 0-2.12.879l-4.83 4.828A3 3 0 0 0 3 8.828V20a3 3 0 0 0 3 3h12a3 3 0 0 0 3-3v-5a1 1 0 1 0-2 0v5a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V10h4a3 3 0 0 0 3-3zM5.414 8H9a1 1 0 0 0 1-1V3.414zm12.879-1.879a1 1 0 0 1 1.414 0l.172.172a1 1 0 0 1 0 1.414L19 8.586 17.414 7zM16 8.414l-5.148 5.148-1.057 2.643 2.643-1.057L17.586 10zm5.121-3.707a3 3 0 0 0-4.242 0l-7.586 7.586a1 1 0 0 0-.221.336l-2 5a1 1 0 0 0 1.3 1.3l5-2a1 1 0 0 0 .335-.222l7.586-7.586a3 3 0 0 0 0-4.242z\",clipRule:\"evenodd\"})]}))},ql=wm});import{jsx as Xl,jsxs as vm}from\"react/jsx-runtime\";var hm,Yl,Jl=v(()=>{\"use strict\";hm=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return vm(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?Xl(\"title\",{id:t,children:e}):null,Xl(\"path\",{fillRule:\"evenodd\",d:\"M10.828 1a3 3 0 0 0-2.12.879l-4.83 4.828A3 3 0 0 0 3 8.828V20a3 3 0 0 0 3 3h12a3 3 0 0 0 3-3V4a3 3 0 0 0-3-3zM10 3.414 5.414 8H9a1 1 0 0 0 1-1zM5 10v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1h-6v4a3 3 0 0 1-3 3z\",clipRule:\"evenodd\"})]}))},Yl=hm});import{jsx as Ql,jsxs as xm}from\"react/jsx-runtime\";var bm,jl,ei=v(()=>{\"use strict\";bm=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return xm(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?Ql(\"title\",{id:t,children:e}):null,Ql(\"path\",{fillRule:\"evenodd\",d:\"M10.828 1a3 3 0 0 0-2.12.879l-4.83 4.828A3 3 0 0 0 3 8.828V20a3 3 0 0 0 3 3h12a3 3 0 0 0 3-3V4a3 3 0 0 0-3-3zM10 3.414 5.414 8H9a1 1 0 0 0 1-1zM5 10v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1h-6v4a3 3 0 0 1-3 3zm9 2a1 1 0 0 1 1 1v2h2a1 1 0 1 1 0 2h-2v2a1 1 0 1 1-2 0v-2h-2a1 1 0 1 1 0-2h2v-2a1 1 0 0 1 1-1\",clipRule:\"evenodd\"})]}))},jl=bm});import{jsx as ti,jsxs as ym}from\"react/jsx-runtime\";var Sm,oi,ri=v(()=>{\"use strict\";Sm=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return ym(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?ti(\"title\",{id:t,children:e}):null,ti(\"path\",{fillRule:\"evenodd\",d:\"M10.828 1a3 3 0 0 0-2.12.879l-4.83 4.828A3 3 0 0 0 3 8.828V20a3 3 0 0 0 3 3h12a3 3 0 0 0 3-3V4a3 3 0 0 0-3-3zM10 3.414 5.414 8H9a1 1 0 0 0 1-1zM5 10v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1h-6v4a3 3 0 0 1-3 3zm5.293 2.293a1 1 0 0 1 1.414 0l1.793 1.793 1.793-1.793a1 1 0 0 1 1.414 1.414L14.914 15.5l1.793 1.793a1 1 0 0 1-1.414 1.414L13.5 16.914l-1.793 1.793a1 1 0 0 1-1.414-1.414l1.793-1.793-1.793-1.793a1 1 0 0 1 0-1.414\",clipRule:\"evenodd\"})]}))},oi=Sm});import{jsx as ni,jsxs as Vm}from\"react/jsx-runtime\";var Rm,ai,li=v(()=>{\"use strict\";Rm=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Vm(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?ni(\"title\",{id:t,children:e}):null,ni(\"path\",{d:\"M4 6a1 1 0 0 0 0 2h16a1 1 0 1 0 0-2zm3 5a1 1 0 1 0 0 2h10a1 1 0 1 0 0-2zm3 5a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2z\"})]}))},ai=Rm});import{jsx as ii,jsxs as Gm}from\"react/jsx-runtime\";var Pm,si,ci=v(()=>{\"use strict\";Pm=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Gm(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?ii(\"title\",{id:t,children:e}):null,ii(\"path\",{fillRule:\"evenodd\",d:\"M11.17 3.473c.36-.381.64-.473.83-.473s.47.091.83.473c.363.384.736.992 1.07 1.827.581 1.454.986 3.443 1.08 5.7H9.02c.094-2.257.499-4.246 1.08-5.7.334-.835.707-1.443 1.07-1.827M7.019 11c.094-2.467.534-4.718 1.224-6.442q.192-.48.416-.918A9.01 9.01 0 0 0 3.055 11zm-3.964 2h3.964c.094 2.467.534 4.718 1.224 6.442q.192.48.416.918A9.01 9.01 0 0 1 3.055 13m5.966 0h5.958c-.093 2.257-.498 4.246-1.079 5.7-.334.835-.707 1.444-1.07 1.827-.36.381-.641.473-.83.473s-.47-.091-.83-.473c-.363-.384-.736-.992-1.07-1.827-.581-1.454-.986-3.443-1.08-5.7Zm7.96 0c-.094 2.467-.534 4.718-1.224 6.442q-.192.48-.416.918A9.01 9.01 0 0 0 20.945 13zm3.964-2a9.01 9.01 0 0 0-5.604-7.36q.224.436.416.918c.69 1.724 1.13 3.975 1.224 6.442zM23 12c0 6.075-4.925 11-11 11S1 18.075 1 12 5.925 1 12 1s11 4.925 11 11\",clipRule:\"evenodd\"})]}))},si=Pm});import{jsx as di,jsxs as Im}from\"react/jsx-runtime\";var Cm,pi,ui=v(()=>{\"use strict\";Cm=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Im(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?di(\"title\",{id:t,children:e}):null,di(\"path\",{d:\"M12 2a1 1 0 0 0-1 1v14a1 1 0 1 0 2 0V3a1 1 0 0 0-1-1M8 6a1 1 0 0 0-1 1v10a1 1 0 1 0 2 0V7a1 1 0 0 0-1-1m8 3a1 1 0 0 0-1 1v7a1 1 0 1 0 2 0v-7a1 1 0 0 0-1-1M4 11a1 1 0 0 0-1 1v5a1 1 0 1 0 2 0v-5a1 1 0 0 0-1-1m16 2a1 1 0 0 0-1 1v3a1 1 0 1 0 2 0v-3a1 1 0 0 0-1-1M3 20a1 1 0 1 0 0 2h18a1 1 0 1 0 0-2z\"})]}))},pi=Cm});import{jsx as mi,jsxs as Mm}from\"react/jsx-runtime\";var Em,fi,wi=v(()=>{\"use strict\";Em=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Mm(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?mi(\"title\",{id:t,children:e}):null,mi(\"path\",{d:\"M11.295 4.11a1 1 0 0 1 1.41 0l7 6.954a1 1 0 0 1 .295.71V19a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-7.226a1 1 0 0 1 .295-.71Zm2.82-1.42a3 3 0 0 0-4.23.001l-7 6.954A3 3 0 0 0 2 11.774V19a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3v-7.226a3 3 0 0 0-.886-2.129ZM10 14a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v6h2v-6a3 3 0 0 0-3-3h-2a3 3 0 0 0-3 3v6h2z\"})]}))},fi=Em});import{jsx as gi,jsxs as Nm}from\"react/jsx-runtime\";var Tm,hi,vi=v(()=>{\"use strict\";Tm=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Nm(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?gi(\"title\",{id:t,children:e}):null,gi(\"path\",{d:\"M2 5a3 3 0 0 1 3-3h14a3 3 0 0 1 3 3v14a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3Zm3-1a1 1 0 0 0-1 1v8.586L6.586 11a2 2 0 0 1 2.828 0L13 14.586 14.586 13a2 2 0 0 1 2.828 0L20 15.586V5a1 1 0 0 0-1-1Zm15 14.414-4-4L14.414 16a2 2 0 0 1-2.828 0L8 12.414l-4 4V19a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1zM17 8.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0\"})]}))},hi=Tm});import{jsx as bi,jsxs as Lm}from\"react/jsx-runtime\";var km,xi,Si=v(()=>{\"use strict\";km=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Lm(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?bi(\"title\",{id:t,children:e}):null,bi(\"path\",{fillRule:\"evenodd\",d:\"M5 2a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3V5a3 3 0 0 0-3-3zM4 5a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v8h-4c-1.152 0-1.856.924-2.11 1.655a2.001 2.001 0 0 1-3.78 0C9.855 13.924 9.152 13 8 13H4zm0 10v4a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1v-4h-3.997a.2.2 0 0 0-.054.037.7.7 0 0 0-.168.272 4.001 4.001 0 0 1-7.562 0 .7.7 0 0 0-.168-.272.2.2 0 0 0-.054-.037zm3.997 0h-.004zm8.01 0h-.004z\",clipRule:\"evenodd\"})]}))},xi=km});import{jsx as yi,jsxs as zm}from\"react/jsx-runtime\";var Am,Yt,Ri=v(()=>{\"use strict\";Am=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return zm(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?yi(\"title\",{id:t,children:e}):null,yi(\"path\",{d:\"M12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1m0 2a9 9 0 1 1 0 18 9 9 0 0 1 0-18m0 3a1 1 0 1 0 0 2 1 1 0 0 0 0-2m-1 3a1 1 0 1 0 0 2v6a1 1 0 1 0 2 0v-7a1 1 0 0 0-1-1z\"})]}))},Yt=Am});import{jsx as Vi,jsxs as Bm}from\"react/jsx-runtime\";var Om,Pi,Gi=v(()=>{\"use strict\";Om=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Bm(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",\"aria-hidden\":\"true\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},o),{children:[e?Vi(\"title\",{id:t,children:e}):null,Vi(\"path\",{d:\"M1.4 8.305c2.35-2.602 5.839-3.253 9.363-1.547l.341.173q.136-.072.272-.136L12.59 8.25q-.289.111-.575.257v10.649c2.54-.81 4.974-.496 6.974.134V12.29h1.82v9.704c-2.426-1.213-6.065-2.426-9.704-.486l-.341-.173c-3.524-1.691-7.013-.516-9.363.659Zm8.794.204C7.484 7.105 5 7.454 3.22 9.056v10.235c2-.63 4.434-.945 6.975-.134Zm7.624-6.918a.606.606 0 0 1 1.128 0L20 4.265c.062.156.186.28.342.342l2.674 1.054a.606.606 0 0 1 0 1.128l-2.674 1.055a.6.6 0 0 0-.342.341l-1.054 2.674a.606.606 0 0 1-1.128 0l-1.055-2.674a.6.6 0 0 0-.341-.34l-2.674-1.056a.606.606 0 0 1 0-1.128l2.674-1.054a.6.6 0 0 0 .34-.342z\"})]}))},Pi=Om});import{jsx as Ci,jsxs as Dm}from\"react/jsx-runtime\";var Fm,Ii,Ei=v(()=>{\"use strict\";Fm=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Dm(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",preserveAspectRatio:\"xMidYMid\",viewBox:\"0 0 1402 1402\",\"aria-labelledby\":t},o),{children:[e?Ci(\"title\",{id:t,children:e}):null,Ci(\"path\",{d:\"M336.763 1.66c-83.7 4.8-164.1 41.1-228.3 103.1-60.3 58.3-94.2 128.2-105 216.8-2.2 18.3-3.1 58-1.6 75 6.1 69.3 29.5 128.5 72 181.8 13.6 17.1 46.5 52.4 89.5 96l27 27.3-48.5 48.7c-26.7 26.8-52.3 53.4-56.9 59-46.7 57-71.8 115.1-81.6 188.4-2.4 18-2.9 62.2-1 80.5 6.8 64 27.9 119.2 65.9 172.2 50.9 71 119 118 200.7 138.6 67.2 16.9 137.3 16.2 198-2.2 42.1-12.7 82.2-34.5 117-63.7 18.4-15.3 57.2-51.9 97.2-91.5l19.7-19.5 45.3 45c55.4 54.9 70 67.7 98.2 86.3 67.9 44.7 155.3 65 239.6 55.5 76.8-8.7 149.9-44 208.9-100.9 68.7-66.3 104.6-150.5 107.8-253 2.5-81.7-21.7-155.6-72.6-221.2-9.9-12.8-23.4-27.2-73.4-78.3l-43.6-44.5 48.8-49c47-47.2 56.7-57.7 69.7-75 32.9-43.7 55.5-96 65.3-150.9 17.7-99-3.9-195-61.6-274.3-62.2-85.5-143.5-134-247.1-147.3-86.5-11.2-162.3 4.5-232 47.9-31.1 19.4-36.1 23.8-113 99l-40.3 39.4-47.2-47c-26-25.8-52.9-51.6-59.8-57.4-64.5-53.4-132.6-80.1-216.9-84.9-19.1-1.1-20.2-1.1-40.2.1m44 144.9c43.9 4.7 84.6 22.1 120.2 51.5 9.5 7.8 216.3 213.5 215.5 214.3-.2.2-16.5-.4-36.2-1.3-51-2.5-79.5-1.4-115.1 4.6-63.3 10.6-120.1 38.5-172.2 84.5-5.8 5.1-30.5 29.3-54.9 53.8l-44.4 44.4-25.1-24.4c-26.4-25.7-58.8-59.1-71.4-73.4-34.9-39.8-53.1-92.2-50.9-146.5 3-71.8 37-132.7 96.2-172 30.7-20.4 65.3-32.8 100-35.8 9.2-.8 29.2-.6 38.3.3m685.9 1.5c67.5 8.8 122.1 43.9 157.5 101.2 16 25.8 26.1 53.8 30.4 83.8 2.2 16.3 1.5 46.7-1.6 64.5-6.7 38.1-25.1 76-52 106.9-6.4 7.4-211.2 214-211.7 213.7-.1-.1.5-12.5 1.4-27.6 2.7-48.4 2.1-79.7-2.3-111.5-9.3-68.5-35.6-126-82.8-181.5-4.9-5.8-29.9-31.5-55.5-57.3l-46.6-46.7 42-42.1c23.1-23.1 47-46.4 53-51.6 33-28.6 71.2-45.8 115-51.7 13.8-1.9 38.9-1.9 53.2-.1m-331.1 381.9c54 11.3 99.1 46.5 122.9 96 23.4 48.7 22.8 106-1.7 153.8-25.6 50.1-72.3 84.5-127.3 93.8-11.4 2-15.5 2.2-33.5 1.7-15.5-.4-22.8-1-30.2-2.6-57.7-12.5-105.5-52.6-127.4-106.8-15.3-38-16.3-82.6-2.7-121.6 21.4-61.7 76.4-106.9 141.1-116.2 15.1-2.2 43.5-1.3 58.8 1.9m-324.3 187.7c-5 64.6-2.9 101.1 8.2 143.4 13.7 52.5 39.4 100.3 77.8 145 3.4 3.8 27.5 28.5 53.6 54.8l47.6 47.7-37 37.1c-40.9 40.9-60.1 59-73.6 69.1-28.5 21.5-62.9 35.1-100.4 39.8-21.4 2.7-53.5 1-75.5-4.1-21.7-5-50.5-17.1-68.5-28.9-30.3-19.9-56.4-49-74.3-83-34.4-65.2-31.4-143.6 7.9-208.7 14.4-23.7 16.7-26.3 129.8-139.5 58.6-58.7 106.6-106.6 106.8-106.5.1.2-.9 15.4-2.4 33.8m743.6 132.6c24.9 25.2 48.2 49.4 51.8 53.8 32.4 40.1 48.6 85.7 48.6 137 .1 56.6-20.4 108.2-58.7 148.3-35.1 36.7-84.1 60.9-134.1 66.3-13.2 1.4-38.6.7-53.8-1.6-32.2-4.8-67.5-19.7-95.9-40.4-14.9-10.9-35.6-31-137-132.3-92.2-92.2-92.8-92.8-89-92.8 2.1 0 19.1 1.2 37.8 2.6 61.5 4.7 99.5 2 142.4-10.2 34.8-9.9 67.1-24.8 97.6-45 29-19.3 45-33.4 99.4-87.9 23.9-23.9 43.9-43.5 44.5-43.5.5 0 21.4 20.6 46.4 45.7\"})]}))},Ii=Fm});import{jsx as Mi,jsxs as _m}from\"react/jsx-runtime\";var Hm,Jt,Ti=v(()=>{\"use strict\";Hm=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return _m(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},o),{children:[e?Mi(\"title\",{id:t,children:e}):null,Mi(\"path\",{d:\"M16.685 16.084C9.49 24.781 5.738 21.582 4.678 20.672c-1.481-1.26-2.682-2.279-.43-4.998 2.25-2.718 3.442-1.699 4.922-.44 1.481 1.26 2.602 1.28 4.843-1.439s2.172-3.718.56-5.078c-1.61-1.359-2.68-2.279-.43-4.997 2.252-2.72 3.452-1.7 4.933-.44 1.06.92 4.813 4.118-2.391 12.804\"})]}))},Jt=Hm});import{jsx as Ni,jsxs as Km}from\"react/jsx-runtime\";var Wm,Qt,ki=v(()=>{\"use strict\";Wm=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Km(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},o),{children:[e?Ni(\"title\",{id:t,children:e}):null,Ni(\"path\",{fillRule:\"evenodd\",d:\"M19 9.7a8.3 8.3 0 0 0-3.49-.7C11.37 9 8 11.92 8 15.5a5.8 5.8 0 0 0 .36 1.86 5.65 5.65 0 0 1-4 1.64.33.33 0 0 1-.26-.56 5.5 5.5 0 0 0 1.52-2.72A6.72 6.72 0 0 1 2 10c0-3.87 3.92-7 8.51-7S18.84 6 19 9.7M15.5 21c.659 0 1.294-.083 1.893-.237A5 5 0 0 0 20.7 22c.26 0 .4-.26.22-.42a4 4 0 0 1-1.218-1.883C21.108 18.686 22 17.181 22 15.5c0-3.038-2.91-5.5-6.5-5.5S9 12.462 9 15.5s2.91 5.5 6.5 5.5\",clipRule:\"evenodd\"})]}))},Qt=Wm});import{jsx as Li,jsxs as $m}from\"react/jsx-runtime\";var Um,Ai,zi=v(()=>{\"use strict\";Um=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return $m(\"svg\",c(i({fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?Li(\"title\",{id:t,children:e}):null,Li(\"path\",{d:\"m7 2-.258.008A5 5 0 0 0 2 7v10a5 5 0 0 0 5 5h5.77l-.463-2H7a3 3 0 0 1-3-3v-7h16v2.307l2 .463V7a5 5 0 0 0-4.744-4.992L17 2zm0 2h10a3 3 0 0 1 3 3v1H4V7a3 3 0 0 1 3-3m0 1a1 1 0 1 0 0 2 1 1 0 0 0 0-2m3 0a1 1 0 1 0 0 2 1 1 0 0 0 0-2m1.986 6.986 3.875 11.625 2.582-5.168 5.168-2.582zm2.371 2.371 5.344 1.782-2.152 1.076-.223.111-.111.223-1.076 2.152z\"})]}))},Ai=Um});import{jsx as Oi,jsxs as Zm}from\"react/jsx-runtime\";var qm,jt,Bi=v(()=>{\"use strict\";qm=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Zm(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},o),{children:[e?Oi(\"title\",{id:t,children:e}):null,Oi(\"path\",{d:\"M12 2C6.48 2 2 5.81 2 10.5a8.2 8.2 0 0 0 4.24 6.94 6.63 6.63 0 0 1-2.11 3.86c-.29.27-.06.7.35.7a8 8 0 0 0 6.26-3.07s.83.07 1.26.07c5.52 0 10-3.81 10-8.5S17.52 2 12 2\"})]}))},jt=qm});import{jsx as Fi,jsxs as Ym}from\"react/jsx-runtime\";var Xm,Di,Hi=v(()=>{\"use strict\";Xm=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Ym(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},o),{children:[e?Fi(\"title\",{id:t,children:e}):null,Fi(\"path\",{d:\"M11.464 2.302a.627.627 0 0 1 1.072 0l2.971 4.915c.087.145.23.248.395.286l5.613 1.294c.46.106.64.66.331 1.015l-3.777 4.333a.62.62 0 0 0-.15.462l.497 5.716a.625.625 0 0 1-.866.627l-5.306-2.238a.63.63 0 0 0-.488 0L6.45 20.95a.625.625 0 0 1-.867-.627l.499-5.716a.62.62 0 0 0-.151-.462L2.154 9.812a.622.622 0 0 1 .33-1.015l5.614-1.294a.63.63 0 0 0 .395-.286z\"})]}))},Di=Xm});import{jsx as _i,jsxs as Qm}from\"react/jsx-runtime\";var Jm,eo,Wi=v(()=>{\"use strict\";Jm=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Qm(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?_i(\"title\",{id:t,children:e}):null,_i(\"path\",{d:\"M8 3a4 4 0 0 0-4 4v11.5A2.61 2.61 0 0 0 6.71 21a.5.5 0 0 0 0-1 1.51 1.51 0 1 1 0-3H17.3a2.35 2.35 0 0 0 0 3h-3.8a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1 1.51 1.51 0 1 1-.014-3q.095 0 .184-.031a.5.5 0 0 0 .287-.272A.5.5 0 0 0 20 16.5V4a1 1 0 0 0-1-1zm.5 15a.5.5 0 0 0-.5.5v4a.48.48 0 0 0 .32.46.4.4 0 0 0 .18 0 .48.48 0 0 0 .36-.16L10 21.63l1.14 1.21a.48.48 0 0 0 .54.12.5.5 0 0 0 .32-.46v-4a.5.5 0 0 0-.5-.5z\"})]}))},eo=Jm});import{jsx as pt,jsxs as ef}from\"react/jsx-runtime\";var jm,Ki,Ui=v(()=>{\"use strict\";jm=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return ef(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 84 18\",\"aria-labelledby\":t},o),{children:[e?pt(\"title\",{id:t,children:e}):null,pt(\"g\",{clipPath:\"url(#kundo-logo-icon_svg__a)\",transform:\"translate(0 -.934)\",children:pt(\"path\",{d:\"M67.373 9.934c0-3.747 1.825-8.504 8.281-8.504 5.638 0 8.282 3.632 8.282 8.504s-2.644 8.503-8.282 8.503c-6.456 0-8.281-4.757-8.281-8.503m12.398 0c0-1.471-.187-5.378-4.117-5.378-2.128 0-4.093 1.126-4.093 5.378s1.964 5.378 4.093 5.378c3.93 0 4.117-4.022 4.117-5.378M57.805 1.89c1.567 0 7.953.184 7.953 8.02 0 7.838-5.661 8.068-8.305 8.068h-6.69V1.89Zm-3.182 12.962h2.456c3.018 0 4.515-1.54 4.515-4.872 0-4.459-2.667-4.964-4.28-4.964h-2.691Zm-17.381-6.94v10.066h-3.86V1.89h3.906l6.457 9.997h.07V1.89h3.86v16.087h-3.93L37.288 7.911zm-17.1-6.022v9.377c0 2.666.818 4.045 3.228 4.045s3.228-1.264 3.228-4.045V1.89h3.86v9.997c0 1.632-.257 6.55-7.088 6.55-6.83 0-7.088-4.803-7.088-6.55V1.89zm-10.013 0h4.82L8.375 8.555l7.065 9.423h-4.82l-4.912-6.941-1.848 1.838v5.102H0V1.89h3.86v6.55z\"})}),pt(\"defs\",{children:pt(\"clipPath\",{id:\"kundo-logo-icon_svg__a\",children:pt(\"path\",{d:\"M0 .295h83.935v19.41H0z\"})})})]}))},Ki=jm});import{jsx as $i,jsxs as of}from\"react/jsx-runtime\";var tf,to,qi=v(()=>{\"use strict\";tf=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return of(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},o),{children:[e?$i(\"title\",{id:t,children:e}):null,$i(\"path\",{fillRule:\"evenodd\",d:\"M12.01 13.503a.4.4 0 0 1-.21-.063L2 6h20l-9.78 7.44a.4.4 0 0 1-.21.063m-.02.997a1.5 1.5 0 0 0 .82-.26L22 7.27V18H2V7.27l9.21 6.99c.23.156.502.24.78.24\",clipRule:\"evenodd\"})]}))},to=tf});import{jsx as Zi,jsxs as nf}from\"react/jsx-runtime\";var rf,oo,Xi=v(()=>{\"use strict\";rf=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return nf(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},o),{children:[e?Zi(\"title\",{id:t,children:e}):null,Zi(\"path\",{d:\"M12 2c-2.526.027-4.95.996-6.796 2.715a10.04 10.04 0 0 0-1.061 13.554A10.12 10.12 0 0 0 10.433 22v-7h-2.55v-2.94h2.55V9.84c0-2.52 1.497-3.91 3.786-3.91q1.131.015 2.249.2V8.6h-1.265a1.46 1.46 0 0 0-1.551.932 1.45 1.45 0 0 0-.086.638v1.89h2.791L15.906 15h-2.34v7a10.12 10.12 0 0 0 6.291-3.731 10.043 10.043 0 0 0-1.061-13.554A10.13 10.13 0 0 0 12 2\"})]}))},oo=rf});import{jsx as Yi,jsxs as lf}from\"react/jsx-runtime\";var af,ro,Ji=v(()=>{\"use strict\";af=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return lf(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},o),{children:[e?Yi(\"title\",{id:t,children:e}):null,Yi(\"path\",{d:\"m19.94 5.28-5.27 15.08a1 1 0 0 1-1.79.07l-2.56-5.77a2 2 0 0 0-1-1l-5.75-2.54a1 1 0 0 1 .07-1.79l15.08-5.27a1 1 0 0 1 1.22 1.22\"})]}))},ro=af});import{jsx as ut,jsxs as cf}from\"react/jsx-runtime\";var sf,no,Qi=v(()=>{\"use strict\";sf=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return cf(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},o),{children:[e?ut(\"title\",{id:t,children:e}):null,ut(\"g\",{clipPath:\"url(#kundo-social-instagram-icon_svg__a)\",children:ut(\"path\",{fillRule:\"evenodd\",d:\"M12 3.8c2.67 0 3 0 4 .06a5.6 5.6 0 0 1 1.86.34 3.33 3.33 0 0 1 1.9 1.9 5.6 5.6 0 0 1 .38 1.9c.05 1 .06 1.37.06 4s0 3-.06 4a5.6 5.6 0 0 1-.34 1.86 3.33 3.33 0 0 1-1.9 1.9 5.6 5.6 0 0 1-1.86.34c-1 .05-1.37.06-4 .06s-3 0-4-.06a5.6 5.6 0 0 1-1.94-.3 3.33 3.33 0 0 1-1.9-1.9 5.6 5.6 0 0 1-.34-1.9c0-.381-.009-.671-.02-1.03-.017-.581-.04-1.343-.04-2.97 0-2.63 0-3 .06-4a5.6 5.6 0 0 1 .34-1.9 3.33 3.33 0 0 1 1.9-1.9A5.6 5.6 0 0 1 8 3.86c.381 0 .671-.009 1.03-.02.581-.017 1.343-.04 2.97-.04M12 2c-2.72 0-3.06 0-4.12.06a7.6 7.6 0 0 0-2.43.46 4.85 4.85 0 0 0-1.77 1.16 4.85 4.85 0 0 0-1.16 1.77 7.6 7.6 0 0 0-.46 2.43C2 8.94 2 9.28 2 12s0 3.06.06 4.12c.02.83.175 1.65.46 2.43a4.85 4.85 0 0 0 1.16 1.77 4.85 4.85 0 0 0 1.77 1.16c.78.285 1.6.44 2.43.46C8.94 22 9.28 22 12 22s3.06 0 4.12-.06a7.6 7.6 0 0 0 2.43-.46 5.2 5.2 0 0 0 2.93-2.93c.285-.78.44-1.6.46-2.43 0-.407.009-.708.02-1.079.017-.594.04-1.366.04-3.041 0-2.72 0-3.06-.06-4.12a7.6 7.6 0 0 0-.46-2.43 4.85 4.85 0 0 0-1.16-1.77 4.85 4.85 0 0 0-1.77-1.16 7.6 7.6 0 0 0-2.43-.46C15.06 2 14.72 2 12 2m0 4.86a5.14 5.14 0 1 0 0 10.28 5.14 5.14 0 0 0 0-10.28m0 8.47a3.33 3.33 0 1 1 0-6.66 3.33 3.33 0 0 1 0 6.66m6.54-8.67a1.2 1.2 0 1 1-2.4 0 1.2 1.2 0 0 1 2.4 0\",clipRule:\"evenodd\"})}),ut(\"defs\",{children:ut(\"clipPath\",{id:\"kundo-social-instagram-icon_svg__a\",children:ut(\"path\",{d:\"M0 0h24v24H0z\"})})})]}))},no=sf});import{jsx as ji,jsxs as pf}from\"react/jsx-runtime\";var df,ao,es=v(()=>{\"use strict\";df=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return pf(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},o),{children:[e?ji(\"title\",{id:t,children:e}):null,ji(\"path\",{fillRule:\"evenodd\",d:\"M12.153 2.006a9.9 9.9 0 0 0-3.87.636 9.8 9.8 0 0 0-3.307 2.081 9.65 9.65 0 0 0-2.212 3.192 9.5 9.5 0 0 0-.763 3.791 9.3 9.3 0 0 0 .806 3.925 9.5 9.5 0 0 0 2.382 3.245.85.85 0 0 1 .274.57v1.78a.8.8 0 0 0 .384.652.83.83 0 0 0 .763.058l2.03-.88c.178-.06.37-.06.548 0a11.2 11.2 0 0 0 2.965.35 9.92 9.92 0 0 0 6.963-2.84A9.63 9.63 0 0 0 22 11.705a9.63 9.63 0 0 0-2.884-6.859 9.92 9.92 0 0 0-6.963-2.84m6.09 7.46-2.984 4.66a1.5 1.5 0 0 1-1.011.68 1.54 1.54 0 0 1-1.192-.28l-2.375-1.75a.615.615 0 0 0-.731 0l-3.208 2.4a.48.48 0 0 1-.6-.043.47.47 0 0 1-.08-.587l2.974-4.66a1.5 1.5 0 0 1 1.012-.68 1.54 1.54 0 0 1 1.191.28l2.376 1.75a.62.62 0 0 0 .73 0l3.208-2.4a.49.49 0 0 1 .59.055.48.48 0 0 1 .1.575\",clipRule:\"evenodd\"})]}))},ao=df});import{jsx as ts,jsxs as mf}from\"react/jsx-runtime\";var uf,lo,os=v(()=>{\"use strict\";uf=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return mf(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 360 362\",\"aria-labelledby\":t},o),{children:[e?ts(\"title\",{id:t,children:e}):null,ts(\"path\",{fillRule:\"evenodd\",d:\"M307.546 52.566C273.709 18.684 228.706.017 180.756 0 81.951 0 1.538 80.404 1.504 179.235c-.017 31.594 8.242 62.432 23.928 89.609L0 361.736l95.024-24.925c26.179 14.285 55.659 21.805 85.655 21.814h.077c98.788 0 179.21-80.413 179.244-179.244.017-47.898-18.608-92.926-52.454-126.807zm-126.79 275.788h-.06c-26.73-.008-52.952-7.194-75.831-20.765l-5.44-3.231-56.391 14.791 15.05-54.981-3.542-5.638c-14.912-23.721-22.793-51.139-22.776-79.286.035-82.14 66.867-148.973 149.051-148.973 39.793.017 77.198 15.53 105.328 43.695 28.131 28.157 43.61 65.596 43.593 105.398-.035 82.149-66.867 148.982-148.982 148.982zm81.719-111.577c-4.478-2.243-26.497-13.073-30.606-14.568-4.108-1.496-7.09-2.243-10.073 2.243-2.982 4.487-11.568 14.577-14.181 17.559-2.613 2.991-5.226 3.361-9.704 1.117-4.477-2.243-18.908-6.97-36.02-22.226-13.313-11.878-22.304-26.54-24.916-31.027-2.613-4.486-.275-6.91 1.959-9.136 2.011-2.011 4.478-5.234 6.721-7.847s2.983-4.486 4.478-7.469c1.496-2.991.748-5.603-.369-7.847-1.118-2.243-10.073-24.289-13.812-33.253-3.636-8.732-7.331-7.546-10.073-7.692-2.613-.13-5.595-.155-8.586-.155s-7.839 1.118-11.947 5.604-15.677 15.324-15.677 37.361 16.047 43.344 18.29 46.335 31.585 48.225 76.51 67.632c10.684 4.615 19.029 7.374 25.535 9.437 10.727 3.412 20.49 2.931 28.208 1.779 8.604-1.289 26.498-10.838 30.228-21.298s3.73-19.433 2.613-21.298-4.108-2.991-8.586-5.234z\",clipRule:\"evenodd\"})]}))},lo=uf});import{jsx as rs,jsxs as wf}from\"react/jsx-runtime\";var ff,ns,as=v(()=>{\"use strict\";ff=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return wf(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?rs(\"title\",{id:t,children:e}):null,rs(\"path\",{d:\"M3 2a1 1 0 0 0-1 1v16a3 3 0 0 0 3 3h16a1 1 0 1 0 0-2H5a1 1 0 0 1-1-1v-2.531l4.94-4.115 4.353 4.353a1 1 0 0 0 1.459-.049l7-8a.999.999 0 1 0-1.504-1.316l-6.297 7.195-4.244-4.244a1 1 0 0 0-1.348-.06L4 13.864V3a1 1 0 0 0-1-1\"})]}))},ns=ff});import{jsx as ls,jsxs as hf}from\"react/jsx-runtime\";var gf,is,ss=v(()=>{\"use strict\";gf=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return hf(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?ls(\"title\",{id:t,children:e}):null,ls(\"path\",{fillRule:\"evenodd\",d:\"M13 4a1 1 0 1 0 0 2 1 1 0 0 0 0-2m-3 1a3 3 0 1 1 5.708 1.293l1.999 2a3 3 0 1 1-1.414 1.414l-2-2a3 3 0 0 1-1.797.25l-4.84 5.647a3 3 0 1 1-1.468-1.36l4.535-5.29A3 3 0 0 1 10 5M4 15a1 1 0 1 1 2 0 1 1 0 0 1-2 0m-1 5a1 1 0 1 0 0 2h18a1 1 0 1 0 0-2zm15-9a1 1 0 1 1 2 0 1 1 0 0 1-2 0\",clipRule:\"evenodd\"})]}))},is=gf});import{jsx as cs,jsxs as bf}from\"react/jsx-runtime\";var vf,ds,ps=v(()=>{\"use strict\";vf=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return bf(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?cs(\"title\",{id:t,children:e}):null,cs(\"path\",{fillRule:\"evenodd\",d:\"M8 8a4 4 0 1 1 8 0v2H8zm-2 2V8a6 6 0 1 1 12 0v2h1a3 3 0 0 1 3 3v6a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3v-6a3 3 0 0 1 3-3zm-2 3a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1z\",clipRule:\"evenodd\"})]}))},ds=vf});import{jsx as us,jsxs as Sf}from\"react/jsx-runtime\";var xf,ms,fs=v(()=>{\"use strict\";xf=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Sf(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?us(\"title\",{id:t,children:e}):null,us(\"path\",{d:\"M15 2a1 1 0 1 0 0 2h4a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1h-4a1 1 0 1 0 0 2h4a3 3 0 0 0 3-3V5a3 3 0 0 0-3-3zm-5 4a1 1 0 0 0-.707 1.707L12.586 11H3a1 1 0 1 0 0 2h9.586l-3.293 3.293a1 1 0 1 0 1.414 1.414l5-5a1 1 0 0 0 0-1.414l-5-5A1 1 0 0 0 10 6\"})]}))},ms=xf});import{jsx as ws,jsxs as Rf}from\"react/jsx-runtime\";var yf,gs,hs=v(()=>{\"use strict\";yf=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Rf(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?ws(\"title\",{id:t,children:e}):null,ws(\"path\",{d:\"M5 2a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h4a1 1 0 1 0 0-2H5a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h4a1 1 0 0 0 0-2zm11 4a1 1 0 0 0-.707 1.707L18.586 11H9a1 1 0 1 0 0 2h9.586l-3.293 3.293a1 1 0 1 0 1.414 1.414l5-5a1 1 0 0 0 0-1.414l-5-5A1 1 0 0 0 16 6\"})]}))},gs=yf});import{jsx as vs,jsxs as Pf}from\"react/jsx-runtime\";var Vf,bs,xs=v(()=>{\"use strict\";Vf=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Pf(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?vs(\"title\",{id:t,children:e}):null,vs(\"path\",{d:\"M12 1c-4.47 0-9 3.375-9 9 0 3.879 2.206 7.116 4.271 9.31a24.7 24.7 0 0 0 2.868 2.592 22 22 0 0 0 1.224.877l.076.05.022.013.006.004.002.002L12 22l.531.848.002-.002.006-.004.022-.014.076-.049q.098-.063.273-.183c.232-.16.56-.392.951-.694a24.7 24.7 0 0 0 2.868-2.591C18.794 17.116 21 13.879 21 10c0-5.625-4.53-9-9-9m0 21-.53.848a1 1 0 0 0 1.06 0zm0-19c3.53 0 7 2.639 7 7 0 3.121-1.794 5.884-3.729 7.94A22.7 22.7 0 0 1 12 20.79a22.7 22.7 0 0 1-3.271-2.852C6.794 15.884 5 13.121 5 10c0-4.361 3.47-7 7-7m0 3a4 4 0 1 0 0 8 4 4 0 0 0 0-8m0 2a2 2 0 1 1 0 4 2 2 0 0 1 0-4\"})]}))},bs=Vf});import{jsx as Ss,jsxs as Cf}from\"react/jsx-runtime\";var Gf,ys,Rs=v(()=>{\"use strict\";Gf=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Cf(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},o),{children:[e?Ss(\"title\",{id:t,children:e}):null,Ss(\"path\",{d:\"M19.836 2.025c-.36.019-.718.138-1.035.375l-.022.016A12 12 0 0 1 11.025 5H5C3.355 5 2 6.355 2 8v4c0 1.645 1.355 3 3 3h.162c.193 2.45.955 4.824 2.438 6.8.55.734 1.342 1.157 2.117 1.221a3.05 3.05 0 0 0 2.084-.62 3.05 3.05 0 0 0 1.18-1.827c.154-.762-.03-1.641-.58-2.375-.7-.932-1.064-2.036-1.235-3.178 2.757-.037 5.448.85 7.613 2.563l.022.016C20.069 18.55 22 17.585 22 16V4c0-1.189-1.086-2.03-2.164-1.975m.184 1.96L20 4v12l.02.016A14 14 0 0 0 10.975 13H9V7h1.975a14 14 0 0 0 9.045-3.016M5 7h2v6H5c-.564 0-1-.436-1-1V8c0-.564.436-1 1-1m2.162 8h2c.18 1.583.676 3.116 1.639 4.4.25.334.264.554.219.776a1.1 1.1 0 0 1-.42.625 1.1 1.1 0 0 1-.717.228c-.225-.018-.434-.096-.684-.43C7.976 18.97 7.35 17.017 7.162 15\"})]}))},ys=Gf});import{jsx as Vs,jsxs as Ef}from\"react/jsx-runtime\";var If,Ps,Gs=v(()=>{\"use strict\";If=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Ef(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},o),{children:[e?Vs(\"title\",{id:t,children:e}):null,Vs(\"path\",{fillRule:\"evenodd\",d:\"M3 6a1 1 0 0 1 1-1h16a1 1 0 1 1 0 2H4a1 1 0 0 1-1-1m0 6a1 1 0 0 1 1-1h16a1 1 0 1 1 0 2H4a1 1 0 0 1-1-1m1 5a1 1 0 1 0 0 2h16a1 1 0 1 0 0-2z\",clipRule:\"evenodd\"})]}))},Ps=If});import{jsx as Cs,jsxs as Tf}from\"react/jsx-runtime\";var Mf,Is,Es=v(()=>{\"use strict\";Mf=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Tf(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?Cs(\"title\",{id:t,children:e}):null,Cs(\"path\",{d:\"M14 3a1 1 0 0 0-1 1v6c0 .275.111.524.291.705l.004.004a1 1 0 0 0 .701.291H20a1 1 0 1 0 0-2h-3.586l4.293-4.293a1 1 0 1 0-1.414-1.414L15 7.586V4a1 1 0 0 0-1-1M4 13a1 1 0 1 0 0 2h3.586l-4.293 4.293a1 1 0 1 0 1.414 1.414L9 16.414V20a1 1 0 1 0 2 0v-6.004a1 1 0 0 0-.291-.701l-.004-.004A1 1 0 0 0 10 13z\"})]}))},Is=Mf});import{jsx as Ms,jsxs as kf}from\"react/jsx-runtime\";var Nf,Ts,Ns=v(()=>{\"use strict\";Nf=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return kf(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?Ms(\"title\",{id:t,children:e}):null,Ms(\"path\",{d:\"M12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1m0 2a9 9 0 1 1 0 18 9 9 0 0 1 0-18m-4 8a1 1 0 1 0 0 2h8a1 1 0 1 0 0-2z\"})]}))},Ts=Nf});import{jsx as ks,jsxs as Af}from\"react/jsx-runtime\";var Lf,Ls,As=v(()=>{\"use strict\";Lf=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Af(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},o),{children:[e?ks(\"title\",{id:t,children:e}):null,ks(\"path\",{fillRule:\"evenodd\",d:\"M4 12a1 1 0 0 1 1-1h14a1 1 0 1 1 0 2H5a1 1 0 0 1-1-1\",clipRule:\"evenodd\"})]}))},Ls=Lf});import{jsx as zs,jsxs as Of}from\"react/jsx-runtime\";var zf,io,Os=v(()=>{\"use strict\";zf=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Of(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 16 16\",\"aria-labelledby\":t},o),{children:[e?zs(\"title\",{id:t,children:e}):null,zs(\"rect\",{width:10,height:2,x:3,y:7,rx:1})]}))},io=zf});import{jsx as Bs,jsxs as Ff}from\"react/jsx-runtime\";var Bf,Fs,Ds=v(()=>{\"use strict\";Bf=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Ff(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?Bs(\"title\",{id:t,children:e}):null,Bs(\"path\",{d:\"M12 1a1 1 0 0 0-.707.293l-3 3a1 1 0 1 0 1.414 1.414L11 4.414V11H4.414l1.293-1.293a1 1 0 1 0-1.414-1.414l-3 3a1 1 0 0 0 0 1.414l3 3a1 1 0 1 0 1.414-1.414L4.414 13H11v6.586l-1.293-1.293a1 1 0 1 0-1.414 1.414l3 3a1 1 0 0 0 1.414 0l3-3a1 1 0 1 0-1.414-1.414L13 19.586V13h6.586l-1.293 1.293a1 1 0 1 0 1.414 1.414l3-3a1 1 0 0 0 0-1.414l-3-3a1 1 0 1 0-1.414 1.414L19.586 11H13V4.414l1.293 1.293a1 1 0 1 0 1.414-1.414l-3-3A1 1 0 0 0 12 1\"})]}))},Fs=Bf});import{jsx as Zo,jsxs as Hf}from\"react/jsx-runtime\";var Df,so,Hs=v(()=>{\"use strict\";Df=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Hf(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",fillRule:\"evenodd\",viewBox:\"0 0 14 14\",\"aria-labelledby\":t},o),{children:[e?Zo(\"title\",{id:t,children:e}):null,Zo(\"path\",{d:\"M10 8a1 1 0 0 0-1 1v3H2V5h3a1 1 0 1 0 0-2H1a1 1 0 0 0-1 1v9a1 1 0 0 0 1 1h9a1 1 0 0 0 1-1V9a1 1 0 0 0-1-1\"}),Zo(\"path\",{d:\"M13 0H8a1 1 0 1 0 0 2h2.586L4.293 8.293a.999.999 0 1 0 1.414 1.414L12 3.414V6a1 1 0 1 0 2 0V1a1 1 0 0 0-1-1\"})]}))},so=Df});import{jsx as _s,jsxs as Wf}from\"react/jsx-runtime\";var _f,Ws,Ks=v(()=>{\"use strict\";_f=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Wf(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?_s(\"title\",{id:t,children:e}):null,_s(\"path\",{fillRule:\"evenodd\",d:\"M22 13.207a3 3 0 0 1-.885 2.128l-5.825 5.792a3 3 0 0 1-2.115.873H5a3 3 0 0 1-3-3V5a3 3 0 0 1 3-3h14a3 3 0 0 1 3 3zM20 12h-5a3 3 0 0 0-3 3v5H5a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1zm-.379 2L14 19.59V15a1 1 0 0 1 1-1z\",clipRule:\"evenodd\"})]}))},Ws=_f});import{jsx as Us,jsxs as Uf}from\"react/jsx-runtime\";var Kf,$s,qs=v(()=>{\"use strict\";Kf=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Uf(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?Us(\"title\",{id:t,children:e}):null,Us(\"path\",{fillRule:\"evenodd\",d:\"M17.293 5.121a1 1 0 0 1 1.414 0l.172.172a1 1 0 0 1 0 1.414L18 7.586 16.414 6zM15 7.414l-8.148 8.148-1.057 2.643 2.643-1.057L16.586 9zm5.121-3.707a3 3 0 0 0-4.242 0L5.293 14.293a1 1 0 0 0-.221.336l-2 5a1 1 0 0 0 1.3 1.3l5-2a1 1 0 0 0 .335-.222L20.293 8.121a3 3 0 0 0 0-4.242z\",clipRule:\"evenodd\"})]}))},$s=Kf});import{jsx as Zs,jsxs as qf}from\"react/jsx-runtime\";var $f,Xs,Ys=v(()=>{\"use strict\";$f=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return qf(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",\"aria-labelledby\":t},o),{children:[e?Zs(\"title\",{id:t,children:e}):null,Zs(\"path\",{fillRule:\"evenodd\",d:\"M14.6 3.1c-.067-.267-.2-.467-.4-.667s-.4-.333-.6-.466c-.267-.067-.533-.134-.8-.134H11c-.4 0-.867.134-1.267.467a2 2 0 0 0-.666 1.133 5.8 5.8 0 0 1-.4 1.534c-.134.333-.134.666-.067 1.066s.267.667.533.934l.067.066c.2.2.267.467.133.734-.6.8-1.266 1.466-2.066 2.066-.267.2-.534.067-.734-.133l-.066-.067c-.267-.266-.6-.4-.934-.466C5.2 9.1 4.8 9.1 4.467 9.233c-.534.2-1 .334-1.534.4a1.83 1.83 0 0 0-1.2.667c-.266.267-.4.733-.4 1.2v1.8c0 .267.067.533.134.733.133.267.266.467.466.6.2.2.4.334.667.4.2.067.4.134.6.134h.2c1.933-.2 3.867-.867 5.467-1.934 1.533-1 2.866-2.266 3.8-3.8A12.5 12.5 0 0 0 14.6 3.9a1.6 1.6 0 0 0 0-.8m-3 5.6a11.8 11.8 0 0 1-3.4 3.4c-1.533.933-3.2 1.533-4.933 1.733h-.2c-.067 0-.134-.066-.2-.133-.067-.067-.067-.133-.134-.2-.066-.067-.066-.133-.066-.2v-1.8a.5.5 0 0 1 .133-.333c.067-.134.2-.2.333-.2C3.733 10.9 4.4 10.7 5 10.5c.067 0 .133-.067.2-.067h.133c.134 0 .2.067.267.134l.067.066c.666.667 1.666.8 2.4.267a11.4 11.4 0 0 0 2.4-2.333c.533-.734.4-1.734-.267-2.467-.2-.133-.2-.267-.267-.333v-.334c.2-.6.4-1.2.467-1.8 0-.133.067-.266.2-.333s.267-.133.4-.133h1.8c.067 0 .133 0 .2.066.067 0 .133.067.2.134.067.066.067.133.133.2v.2c-.2 1.733-.8 3.4-1.733 4.933\",clipRule:\"evenodd\"})]}))},Xs=$f});import{jsx as Js,jsxs as Xf}from\"react/jsx-runtime\";var Zf,Qs,js=v(()=>{\"use strict\";Zf=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Xf(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},o),{children:[e?Js(\"title\",{id:t,children:e}):null,Js(\"path\",{fillRule:\"evenodd\",d:\"M21.3 2.9c.3.3.5.6.6 1q.15.6 0 1.2c-.3 3-1.3 5.8-2.9 8.3-1.4 2.3-3.4 4.2-5.7 5.7-2.4 1.6-5.3 2.6-8.2 2.9h-.3c-.3 0-.6-.1-.9-.2-.4-.1-.7-.3-1-.6-.3-.2-.5-.5-.7-.9-.1-.3-.2-.7-.2-1.1v-2.7c0-.7.2-1.4.6-1.8.5-.6 1.1-.9 1.8-1 .8-.1 1.5-.3 2.3-.6.5-.2 1.1-.2 1.6-.1s1 .3 1.4.7l.1.1c.3.3.7.5 1.1.2 1.2-.9 2.2-1.9 3.1-3.1.2-.4.1-.8-.2-1.1l-.1-.1c-.4-.4-.7-.8-.8-1.4s-.1-1.1.1-1.6c.3-.7.5-1.5.6-2.3.1-.6.5-1.3 1-1.7.6-.5 1.3-.7 1.9-.7h2.7c.4 0 .8.1 1.2.2.3.2.6.4.9.7m-9 14.5c2-1.3 3.8-3.1 5.1-5.1 1.4-2.3 2.3-4.8 2.6-7.4v-.3c-.05-.05-.075-.1-.1-.15a.5.5 0 0 0-.1-.15c-.1-.1-.2-.2-.3-.2-.1-.1-.2-.1-.3-.1h-2.7c-.2 0-.4.1-.6.2s-.3.3-.3.5c-.1.9-.4 1.8-.7 2.7v.5a.5.5 0 0 1 .082.13.85.85 0 0 0 .318.37c1 1.1 1.2 2.6.4 3.7-1 1.3-2.2 2.5-3.6 3.5-1.1.8-2.6.6-3.6-.4l-.1-.1c-.1-.1-.2-.2-.4-.2h-.2c-.05 0-.1.025-.15.05s-.1.05-.15.05c-.9.3-1.9.6-2.8.7-.2 0-.4.1-.5.3-.1.1-.2.3-.2.5v2.7c0 .1 0 .2.1.3.05.05.075.1.1.15s.05.1.1.15c.1.1.2.2.3.2h.3c2.6-.3 5.1-1.2 7.4-2.6M5 7H3c-.6 0-1-.4-1-1s.4-1 1-1h2V3c0-.6.4-1 1-1s1 .4 1 1v2h2c.6 0 1 .4 1 1s-.4 1-1 1H7v2c0 .6-.4 1-1 1s-1-.4-1-1z\",clipRule:\"evenodd\"})]}))},Qs=Zf});import{jsx as e1,jsxs as Jf}from\"react/jsx-runtime\";var Yf,t1,o1=v(()=>{\"use strict\";Yf=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Jf(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?e1(\"title\",{id:t,children:e}):null,e1(\"path\",{fillRule:\"evenodd\",d:\"M11 3.055A9.001 9.001 0 0 0 12 21a8.97 8.97 0 0 0 6.14-2.42l-6.092-5.222A3 3 0 0 1 11 11.08zm8.442 14.007A9 9 0 0 0 13 3.055v8.025a1 1 0 0 0 .35.76zM12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1\",clipRule:\"evenodd\"})]}))},t1=Yf});import{jsx as r1,jsxs as jf}from\"react/jsx-runtime\";var Qf,n1,a1=v(()=>{\"use strict\";Qf=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return jf(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?r1(\"title\",{id:t,children:e}):null,r1(\"path\",{d:\"M12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1m0 2a9 9 0 1 1 0 18 9 9 0 0 1 0-18m0 4a1 1 0 0 0-1 1v3H8a1 1 0 1 0 0 2h3v3a1 1 0 1 0 2 0v-3h3a1 1 0 1 0 0-2h-3V8a1 1 0 0 0-1-1\"})]}))},n1=Qf});import{jsx as l1,jsxs as t2}from\"react/jsx-runtime\";var e2,i1,s1=v(()=>{\"use strict\";e2=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return t2(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},o),{children:[e?l1(\"title\",{id:t,children:e}):null,l1(\"path\",{fillRule:\"evenodd\",d:\"M13 5a1 1 0 1 0-2 0v6H5a1 1 0 1 0 0 2h6v6a1 1 0 1 0 2 0v-6h6a1 1 0 1 0 0-2h-6z\",clipRule:\"evenodd\"})]}))},i1=e2});import{jsx as c1,jsxs as r2}from\"react/jsx-runtime\";var o2,mt,d1=v(()=>{\"use strict\";o2=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return r2(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?c1(\"title\",{id:t,children:e}):null,c1(\"path\",{d:\"M12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1m0 2a9 9 0 1 1 0 18 9 9 0 0 1 0-18m-.049 2a4.04 4.04 0 0 0-3.918 2.996 1 1 0 1 0 1.934.508A2.04 2.04 0 0 1 11.95 7C13.097 7 14 7.91 14 9c0 .637-.305 1.208-.791 1.578-.448.34-.995.781-1.43 1.313-.439.536-.828 1.243-.828 2.109v1a1 1 0 1 0 2 0v-1c0-.239.105-.51.377-.842.277-.338.66-.66 1.092-.988A3.98 3.98 0 0 0 16 9c0-2.224-1.828-4-4.049-4M12 17a1 1 0 1 0 0 2 1 1 0 0 0 0-2\"})]}))},mt=o2});import{jsx as p1,jsxs as a2}from\"react/jsx-runtime\";var n2,u1,m1=v(()=>{\"use strict\";n2=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return a2(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?p1(\"title\",{id:t,children:e}):null,p1(\"path\",{d:\"M13 2c-5.387 0-9.78 4.26-9.992 9.594l-1.301-1.301a1 1 0 1 0-1.414 1.414l3 3a1 1 0 0 0 1.414 0l3-3a1 1 0 1 0-1.414-1.414l-1.281 1.281A8 8 0 1 1 13 20a7.98 7.98 0 0 1-5.963-2.666 1 1 0 0 0-1.49 1.332A9.98 9.98 0 0 0 13 22c5.523 0 10-4.477 10-10S18.523 2 13 2\"})]}))},u1=n2});import{jsx as f1,jsxs as i2}from\"react/jsx-runtime\";var l2,w1,g1=v(()=>{\"use strict\";l2=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return i2(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?f1(\"title\",{id:t,children:e}):null,f1(\"path\",{d:\"M11 2C5.477 2 1 6.477 1 12s4.477 10 10 10a9.98 9.98 0 0 0 7.453-3.334 1 1 0 0 0-1.49-1.332A7.98 7.98 0 0 1 11 20a8 8 0 1 1 7.988-8.426l-1.281-1.281a1 1 0 1 0-1.414 1.414l3 3a1 1 0 0 0 1.414 0l3-3a1 1 0 1 0-1.414-1.414l-1.3 1.3C20.778 6.26 16.386 2 11 2\"})]}))},w1=l2});import{jsx as h1,jsxs as c2}from\"react/jsx-runtime\";var s2,v1,b1=v(()=>{\"use strict\";s2=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return c2(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},o),{children:[e?h1(\"title\",{id:t,children:e}):null,h1(\"path\",{d:\"M7 8a1.5 1.5 0 0 1 .75 2.798V14H18a4 4 0 0 1 4 4v1a4 4 0 0 1-3.794 3.995L18 23H6l-.206-.005a4 4 0 0 1-3.79-3.789L2 19v-1a4 4 0 0 1 4-4h.25v-3.202A1.498 1.498 0 0 1 7 8m-1 8a2 2 0 0 0-2 2v1a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-1a2 2 0 0 0-2-2zm3 1.75a.75.75 0 0 1 0 1.5H8a.75.75 0 0 1 0-1.5zm4 0a.75.75 0 0 1 0 1.5h-1a.75.75 0 0 1 0-1.5zM7 4a5 5 0 0 1 5 5 1 1 0 1 1-2 0 3 3 0 0 0-3-3 1 1 0 0 1 0-2m0-4a9 9 0 0 1 9 9 1 1 0 1 1-2 0 7 7 0 0 0-7-7 1 1 0 0 1 0-2\"})]}))},v1=s2});import{jsx as x1,jsxs as p2}from\"react/jsx-runtime\";var d2,co,S1=v(()=>{\"use strict\";d2=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return p2(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?x1(\"title\",{id:t,children:e}):null,x1(\"path\",{fillRule:\"evenodd\",d:\"M4 11a7 7 0 1 1 14 0 7 7 0 0 1-14 0m7-9a9 9 0 1 0 5.618 16.032l3.675 3.675a1 1 0 0 0 1.414-1.414l-3.675-3.675A9 9 0 0 0 11 2\",clipRule:\"evenodd\"})]}))},co=d2});import{jsx as y1,jsxs as m2}from\"react/jsx-runtime\";var u2,R1,V1=v(()=>{\"use strict\";u2=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return m2(\"svg\",c(i({fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?y1(\"title\",{id:t,children:e}):null,y1(\"path\",{d:\"M12 1c3.208 2.2 9.625 3.3 9.625 3.3v8.36L21.62 13c-.122 3.495-2.128 6.635-5.236 8.02L12 23l-4.384-1.98c-3.108-1.386-5.114-4.526-5.236-8.021l-.005-.338V4.3S8.792 3.2 12 1m0 2.404c-1.745.934-3.824 1.608-5.47 2.06-.777.212-1.496.382-2.092.516v6.68c0 2.696 1.411 5.084 3.574 6.258l.443.218.01.005L12 20.736l3.536-1.595.009-.005c2.41-1.075 4.017-3.6 4.018-6.475V5.98a46 46 0 0 1-2.093-.518c-1.646-.451-3.725-1.125-5.47-2.06m3.396 5.117a1.031 1.031 0 1 1 1.458 1.458l-6.229 6.23-3.48-3.48a1.031 1.031 0 1 1 1.46-1.458l2.02 2.02z\"})]}))},R1=u2});import{jsx as P1,jsxs as w2}from\"react/jsx-runtime\";var f2,G1,C1=v(()=>{\"use strict\";f2=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return w2(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?P1(\"title\",{id:t,children:e}):null,P1(\"path\",{fillRule:\"evenodd\",d:\"M12 4c-5.19 0-9 3.33-9 7 0 1.916.995 3.941 2.617 5.213.009.007.343.38.441.674.106.318.142.714.048 1.184-.1.494-.34 1.066-.789 1.735l.269-.042c1.484-.248 2.948-.713 3.707-1.471A1 1 0 0 1 10 18h2c5.19 0 9-3.33 9-7s-3.81-7-9-7M2.076 21.383a1 1 0 0 1 .217-1.09c1.568-1.568 1.833-2.42 1.863-2.69C2.208 15.963 1 13.466 1 11c0-5.167 5.145-9 11-9s11 3.833 11 9-5.145 9-11 9h-1.615c-1.251 1.035-3.08 1.505-4.47 1.736a20 20 0 0 1-2.668.26c-.205.005-.961-.107-1.17-.613Z\",clipRule:\"evenodd\"})]}))},G1=f2});import{jsx as I1,jsxs as h2}from\"react/jsx-runtime\";var g2,E1,M1=v(()=>{\"use strict\";g2=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return h2(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},o),{children:[e?I1(\"title\",{id:t,children:e}):null,I1(\"path\",{fillRule:\"evenodd\",d:\"M3 9.111C3 5.96 6.37 3 11 3s8 2.959 8 6.111q-.002.712-.21 1.383A8.1 8.1 0 0 0 16 10c-3.434 0-6.601 2.182-6.965 5.29a1.6 1.6 0 0 0-.636.324c-.414.285-1.49.938-3.417 1.235.264-.488.5-1.058.608-1.67.177-.78-.23-1.372-.395-1.61l-.026-.04a1 1 0 0 0-.175-.197C3.759 12.265 3 10.668 3 9.112Zm6.244 8.34C8.276 18.05 6.258 19 2.9 19a1 1 0 0 1-.704-1.71v-.001l.007-.006.034-.036.141-.154a7 7 0 0 0 .46-.582c.356-.503.684-1.11.784-1.69l-.009-.017-.032-.051C1.997 13.332 1 11.24 1 9.11 1 4.441 5.73 1 11 1s10 3.441 10 8.111a6.7 6.7 0 0 1-.42 2.329c1.457 1.053 2.42 2.613 2.42 4.449 0 1.502-.66 2.977-1.724 4.01.078.3.249.621.446.908a5 5 0 0 0 .372.471l.02.022.002.001A1 1 0 0 1 21.4 23c-2.506 0-3.949-.792-4.57-1.222H16c-3.068 0-5.922-1.741-6.756-4.328ZM21 15.888C21 13.934 18.949 12 16 12s-5 1.934-5 3.889 2.051 3.889 5 3.889h.96c.36 0 .716.111.988.342.205.144.686.446 1.51.655a4 4 0 0 1-.18-.659c-.141-.66.196-1.16.307-1.326l.018-.026a1 1 0 0 1 .172-.2C20.532 17.89 21 16.875 21 15.89Z\",clipRule:\"evenodd\"})]}))},E1=g2});import{jsx as T1,jsxs as b2}from\"react/jsx-runtime\";var v2,N1,k1=v(()=>{\"use strict\";v2=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return b2(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},o),{children:[e?T1(\"title\",{id:t,children:e}):null,T1(\"path\",{d:\"M12 3a1 1 0 0 0-.895.553l-6 12a1 1 0 0 0 .448 1.342 1 1 0 0 0 1.342-.448L8.617 13h6.766l1.722 3.447a1 1 0 0 0 1.342.448 1 1 0 0 0 .448-1.342l-6-12A1 1 0 0 0 12 3m0 3.236L14.383 11H9.617Zm9.293 11.057L18 20.586l-1.293-1.293a1 1 0 0 0-1.414 0 1 1 0 0 0 0 1.414l2 2a1 1 0 0 0 1.414 0l4-4a1 1 0 0 0 0-1.414 1 1 0 0 0-1.414 0\"})]}))},N1=v2});import{jsx as Xo,jsxs as S2}from\"react/jsx-runtime\";var x2,po,L1=v(()=>{\"use strict\";x2=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return S2(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?Xo(\"title\",{id:t,children:e}):null,Xo(\"path\",{fill:\"#eee\",fillRule:\"evenodd\",d:\"M12 19a7 7 0 1 0 0-14 7 7 0 0 0 0 14m0 3c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10\",clipRule:\"evenodd\"}),Xo(\"path\",{fill:\"currentColor\",d:\"M2 12C2 6.477 6.477 2 12 2v3a7 7 0 0 0-7 7z\"})]}))},po=x2});import{jsx as A1,jsxs as R2}from\"react/jsx-runtime\";var y2,z1,O1=v(()=>{\"use strict\";y2=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return R2(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?A1(\"title\",{id:t,children:e}):null,A1(\"path\",{fillRule:\"evenodd\",d:\"M13.794 3.374c-.734-1.486-2.854-1.486-3.587 0L8.246 7.346l-4.387.642c-1.64.24-2.293 2.255-1.106 3.411l3.173 3.09-.749 4.365c-.28 1.634 1.435 2.88 2.902 2.108L12 18.9l3.921 2.062c1.467.771 3.183-.474 2.902-2.108l-.748-4.365 3.172-3.09c1.188-1.156.534-3.172-1.106-3.411l-4.386-.642z\",clipRule:\"evenodd\"})]}))},z1=y2});import{jsx as B1,jsxs as P2}from\"react/jsx-runtime\";var V2,F1,D1=v(()=>{\"use strict\";V2=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return P2(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?B1(\"title\",{id:t,children:e}):null,B1(\"path\",{fillRule:\"evenodd\",d:\"M10.207 3.374c.733-1.486 2.853-1.486 3.587 0l1.96 3.972 4.387.642c1.64.24 2.294 2.255 1.106 3.411l-3.172 3.09.748 4.365c.28 1.634-1.435 2.88-2.902 2.108l-3.92-2.062-3.922 2.062c-1.467.771-3.182-.474-2.902-2.108l.749-4.365-3.173-3.09C1.566 10.243 2.22 8.227 3.86 7.988l4.387-.642zm3.754 4.858-1.96-3.973-1.962 3.973a2 2 0 0 1-1.504 1.093l-4.386.642 3.172 3.09a2 2 0 0 1 .576 1.77l-.749 4.365 3.921-2.062a2 2 0 0 1 1.862 0l3.921 2.062-.748-4.364a2 2 0 0 1 .575-1.771l3.173-3.09-4.387-.642a2 2 0 0 1-1.504-1.093\",clipRule:\"evenodd\"})]}))},F1=V2});import{jsx as H1,jsxs as C2}from\"react/jsx-runtime\";var G2,_1,W1=v(()=>{\"use strict\";G2=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return C2(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?H1(\"title\",{id:t,children:e}):null,H1(\"path\",{d:\"M18.229 2.865a1 1 0 0 1 1.543 1.271l-1.156 1.401a9.22 9.22 0 0 1 2.617 5.9l1.06-1.06a1 1 0 0 1 1.414 1.413l-2.75 2.75a1 1 0 0 1-1.414 0l-2.75-2.75a1 1 0 0 1 1.414-1.414l1.017 1.016a7.22 7.22 0 0 0-1.889-4.298L8.207 18.178A7.2 7.2 0 0 0 12 19.25a7.22 7.22 0 0 0 4.833-1.845 1 1 0 0 1 1.334 1.49A9.22 9.22 0 0 1 12 21.25a9.2 9.2 0 0 1-5.074-1.516l-1.154 1.402a1 1 0 0 1-1.543-1.271l1.154-1.403a9.22 9.22 0 0 1-2.615-5.898l-1.06 1.06A1 1 0 0 1 .292 12.21l2.75-2.75a1 1 0 0 1 1.414 0l2.75 2.75a1 1 0 0 1-1.414 1.414L4.777 12.61a7.22 7.22 0 0 0 1.887 4.298l9.128-11.085A7.2 7.2 0 0 0 12 4.75a7.2 7.2 0 0 0-4.556 1.61 1 1 0 0 1-1.258-1.554A9.2 9.2 0 0 1 12 2.75c1.874 0 3.617.558 5.073 1.516z\"})]}))},_1=G2});import{jsx as K1,jsxs as E2}from\"react/jsx-runtime\";var I2,U1,$1=v(()=>{\"use strict\";I2=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return E2(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?K1(\"title\",{id:t,children:e}):null,K1(\"path\",{d:\"M17 1a1 1 0 0 0-.707 1.707L18.586 5H7a5 5 0 0 0-5 5v2a1 1 0 1 0 2 0v-2a3 3 0 0 1 3-3h11.586l-2.293 2.293a1 1 0 1 0 1.414 1.414l4-4a1 1 0 0 0 .291-.658L22 6l-4.293-4.707A1 1 0 0 0 17 1m4.924 4.617L22 5.99a1 1 0 0 0-.076-.373M21 11a1 1 0 0 0-1 1v2a3 3 0 0 1-3 3H5.414l2.293-2.293a1 1 0 1 0-1.414-1.414l-4 4a1 1 0 0 0-.217.322 1 1 0 0 0 0 .768 1 1 0 0 0 .217.324l4 4a1 1 0 1 0 1.414-1.414L5.414 19H17a5 5 0 0 0 5-5v-2a1 1 0 0 0-1-1\"})]}))},U1=I2});import{jsx as q1,jsxs as T2}from\"react/jsx-runtime\";var M2,Z1,X1=v(()=>{\"use strict\";M2=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return T2(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?q1(\"title\",{id:t,children:e}):null,q1(\"path\",{d:\"M13.828 2a3 3 0 0 0-2.121.879l-9 9a3 3 0 0 0 0 4.242l5.172 5.172a3 3 0 0 0 4.242 0l9-9A3 3 0 0 0 22 10.172V5a3 3 0 0 0-3-3zm-.707 2.293A1 1 0 0 1 13.828 4H19a1 1 0 0 1 1 1v5.172a1 1 0 0 1-.293.707l-9 9a1 1 0 0 1-1.414 0L4.12 14.707a1 1 0 0 1 0-1.414zM17 8a1 1 0 1 0 0-2 1 1 0 0 0 0 2\"})]}))},Z1=M2});import{jsx as Y1,jsxs as k2}from\"react/jsx-runtime\";var N2,J1,Q1=v(()=>{\"use strict\";N2=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return k2(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},o),{children:[e?Y1(\"title\",{id:t,children:e}):null,Y1(\"path\",{d:\"M7 3a1 1 0 0 0-1 1v13.586l-2.293-2.293a1 1 0 0 0-1.414 0 1 1 0 0 0 0 1.414l4 4A1 1 0 0 0 7 21a1 1 0 0 0 .707-.293l4-4a1 1 0 0 0 0-1.414 1 1 0 0 0-1.414 0L8 17.586V4a1 1 0 0 0-1-1m4 0a1 1 0 0 0-1 1 1 1 0 0 0 1 1h10a1 1 0 0 0 1-1 1 1 0 0 0-1-1Zm0 4a1 1 0 0 0-1 1 1 1 0 0 0 1 1h7a1 1 0 0 0 1-1 1 1 0 0 0-1-1Zm0 4a1 1 0 0 0-1 1 1 1 0 0 0 1 1h4a1 1 0 0 0 1-1 1 1 0 0 0-1-1z\"})]}))},J1=N2});import{jsx as j1,jsxs as A2}from\"react/jsx-runtime\";var L2,e0,t0=v(()=>{\"use strict\";L2=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return A2(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},o),{children:[e?j1(\"title\",{id:t,children:e}):null,j1(\"path\",{d:\"M7 3a1 1 0 0 0-.707.293l-4 4a1 1 0 0 0 0 1.414 1 1 0 0 0 1.414 0L6 6.414V20a1 1 0 0 0 1 1 1 1 0 0 0 1-1V6.414l2.293 2.293a1 1 0 0 0 1.414 0 1 1 0 0 0 0-1.414l-4-4A1 1 0 0 0 7 3m4 8a1 1 0 0 0-1 1 1 1 0 0 0 1 1h4a1 1 0 0 0 1-1 1 1 0 0 0-1-1zm0 4a1 1 0 0 0-1 1 1 1 0 0 0 1 1h7a1 1 0 0 0 1-1 1 1 0 0 0-1-1zm0 4a1 1 0 0 0-1 1 1 1 0 0 0 1 1h10a1 1 0 0 0 1-1 1 1 0 0 0-1-1z\"})]}))},e0=L2});import{jsx as o0,jsxs as O2}from\"react/jsx-runtime\";var z2,r0,n0=v(()=>{\"use strict\";z2=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return O2(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?o0(\"title\",{id:t,children:e}):null,o0(\"path\",{fillRule:\"evenodd\",d:\"M11.798 21.598c1.004.473 2.05-.058 2.47-.899L17.618 14H19a3 3 0 0 0 3-3V5a3 3 0 0 0-3-3H6.64a3 3 0 0 0-2.942 2.412l-1.2 6A3 3 0 0 0 5.439 14H9v4c0 1.051.505 1.86 1.072 2.427.56.559 1.23.938 1.727 1.171ZM18 4h1a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1h-1zm-2 0v8.764l-3.48 6.961c-.358-.179-.74-.419-1.035-.713C11.163 18.69 11 18.362 11 18v-4a2 2 0 0 0-2-2H5.44a1 1 0 0 1-.981-1.196l1.2-6A1 1 0 0 1 6.639 4zm-3.48 15.725.129.063a.18.18 0 0 0-.137-.005c-.023.01-.03.02-.032.022z\",clipRule:\"evenodd\"})]}))},r0=z2});import{jsx as a0,jsxs as F2}from\"react/jsx-runtime\";var B2,l0,i0=v(()=>{\"use strict\";B2=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return F2(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?a0(\"title\",{id:t,children:e}):null,a0(\"path\",{fillRule:\"evenodd\",d:\"M12.202 2.402c-1.004-.473-2.05.058-2.47.899L6.381 10H5a3 3 0 0 0-3 3v6a3 3 0 0 0 3 3h12.36a3 3 0 0 0 2.942-2.412l1.2-6A3 3 0 0 0 18.56 10H15V6c0-1.051-.504-1.86-1.071-2.427-.56-.559-1.23-.938-1.727-1.171M8 20h9.36a1 1 0 0 0 .981-.804l1.2-6a1 1 0 0 0-.98-1.196H15a2 2 0 0 1-2-2V6c0-.361-.163-.69-.485-1.012-.295-.295-.677-.534-1.034-.713l.04-.08c-.002.003-.01.013-.033.022a.18.18 0 0 1-.137-.005q.064.03.13.063L8 11.236zm-2 0v-8H5a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1z\",clipRule:\"evenodd\"})]}))},l0=B2});import{jsx as s0,jsxs as H2}from\"react/jsx-runtime\";var D2,c0,d0=v(()=>{\"use strict\";D2=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return H2(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},o),{children:[e?s0(\"title\",{id:t,children:e}):null,s0(\"path\",{d:\"M14.63 11.287c.655-1.717 3.085-1.717 3.74 0l3.565 9.358a1 1 0 0 1-1.869.712l-1.14-2.99h-4.852l-1.14 2.99a1 1 0 0 1-1.869-.712zm.206 5.08h3.329L16.5 12zM7.5 2a1 1 0 0 1 1 1v2H12a1 1 0 1 1 0 2h-1.094c-.287 1.61-1.22 3.15-2.339 4.41a14 14 0 0 0 2.835 1.675 1 1 0 1 1-.804 1.83 16 16 0 0 1-3.48-2.1c-1.231 1.03-2.608 1.822-3.864 2.152a1 1 0 1 1-.508-1.934c.851-.223 1.886-.787 2.877-1.579a10.8 10.8 0 0 1-1.486-1.95 1 1 0 0 1 1.726-1.009c.309.527.72 1.062 1.212 1.582C7.96 9.081 8.595 8.008 8.86 7H3a1 1 0 0 1 0-2h3.5V3a1 1 0 0 1 1-1\"})]}))},c0=D2});import{jsx as p0,jsxs as W2}from\"react/jsx-runtime\";var _2,u0,m0=v(()=>{\"use strict\";_2=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return W2(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?p0(\"title\",{id:t,children:e}):null,p0(\"path\",{fillRule:\"evenodd\",d:\"M9 5a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v1H9zM7 6V5a3 3 0 0 1 3-3h4a3 3 0 0 1 3 3v1h4a1 1 0 1 1 0 2h-1v11a3 3 0 0 1-3 3H7a3 3 0 0 1-3-3V8H3a1 1 0 0 1 0-2zM6 8h12v11a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1zm4 2a1 1 0 0 1 1 1v6a1 1 0 1 1-2 0v-6a1 1 0 0 1 1-1m5 1a1 1 0 1 0-2 0v6a1 1 0 1 0 2 0z\",clipRule:\"evenodd\"})]}))},u0=_2});import{jsx as f0,jsxs as U2}from\"react/jsx-runtime\";var K2,w0,g0=v(()=>{\"use strict\";K2=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return U2(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?f0(\"title\",{id:t,children:e}):null,f0(\"path\",{fillRule:\"evenodd\",d:\"M8 8a4 4 0 0 1 7.668-1.6 1 1 0 1 0 1.832-.8A6.001 6.001 0 0 0 6 8v2H5a3 3 0 0 0-3 3v6a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3v-6a3 3 0 0 0-3-3H8zm-1 4H5a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1v-6a1 1 0 0 0-1-1z\",clipRule:\"evenodd\"})]}))},w0=K2});import{jsx as h0,jsxs as q2}from\"react/jsx-runtime\";var $2,v0,b0=v(()=>{\"use strict\";$2=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return q2(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?h0(\"title\",{id:t,children:e}):null,h0(\"path\",{fillRule:\"evenodd\",d:\"M12.707 1.293a1 1 0 0 0-1.414 0L8.879 3.707A1 1 0 0 1 8.172 4H5a3 3 0 0 0-3 3v12a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3V7a3 3 0 0 0-3-3h-3.172a1 1 0 0 1-.707-.293zM10.293 5.12 12 3.414l1.707 1.707A3 3 0 0 0 15.828 6H19a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1c0-2.386-1.32-5.159-3.982-6.375a4 4 0 1 0-6.036 0C6.32 14.841 5 17.614 5 20a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1h3.172a3 3 0 0 0 2.12-.879ZM7 20h10c0-2.339-1.684-5-5-5s-5 2.661-5 5m5-11a2 2 0 1 0 0 4 2 2 0 0 0 0-4\",clipRule:\"evenodd\"})]}))},v0=$2});import{jsx as x0,jsxs as X2}from\"react/jsx-runtime\";var Z2,S0,y0=v(()=>{\"use strict\";Z2=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return X2(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?x0(\"title\",{id:t,children:e}):null,x0(\"path\",{d:\"M11 2a6 6 0 0 0-3.77 10.668c-2.867 1.057-5.106 3.286-5.912 6.08a2.42 2.42 0 0 0 .555 2.338A2.9 2.9 0 0 0 4 22h8a1 1 0 0 0 0-2H4a.9.9 0 0 1-.652-.264.43.43 0 0 1-.108-.433C4.097 16.33 7.204 14 11 14c2.074 0 3.96.701 5.377 1.832a1 1 0 0 0 1.248-1.564 10.3 10.3 0 0 0-2.854-1.6A6 6 0 0 0 11 2m0 2a4 4 0 1 1 0 8 4 4 0 0 1 0-8m11.082 12.004a1 1 0 0 0-.863.371l-3.301 4.127-1.211-1.209a1 1 0 1 0-1.414 1.414l2 2a.998.998 0 0 0 1.488-.082l4-5a1 1 0 0 0-.699-1.621\"})]}))},S0=Z2});import{jsx as R0,jsxs as J2}from\"react/jsx-runtime\";var Y2,V0,P0=v(()=>{\"use strict\";Y2=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return J2(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},o),{children:[e?R0(\"title\",{id:t,children:e}):null,R0(\"path\",{d:\"M8 1C4.146 1 1 4.146 1 8s3.146 7 7 7a1 1 0 0 0 1-1 1 1 0 0 0-1-1c-2.773 0-5-2.227-5-5s2.227-5 5-5a4.994 4.994 0 0 1 4.932 4.166 1 1 0 0 0 1.15.82 1 1 0 0 0 .82-1.152A7.01 7.01 0 0 0 8 1m0 3a1 1 0 0 0-1 1v2.752c0 .424.169.831.469 1.13l1.824 1.825a1 1 0 0 0 1.414 0 1 1 0 0 0 0-1.414L9 7.586V5a1 1 0 0 0-1-1m8 5c-2.197 0-4 1.803-4 4 0 1.021.39 1.957 1.027 2.666a7.05 7.05 0 0 0-3.793 4.537 2.2 2.2 0 0 0 .504 2.018c.46.498 1.112.779 1.817.779h8.89c.705 0 1.357-.28 1.817-.78.46-.498.702-1.274.504-2.017a7.05 7.05 0 0 0-3.793-4.537A3.98 3.98 0 0 0 20 13c0-2.197-1.803-4-4-4m0 2c1.116 0 2 .884 2 2s-.884 2-2 2-2-.884-2-2 .884-2 2-2m0 6c2.311 0 4.264 1.59 4.832 3.719.023.087.017.083-.041.146a.5.5 0 0 1-.346.135h-8.89a.5.5 0 0 1-.346-.135c-.058-.063-.064-.06-.041-.146C11.736 18.589 13.688 17 16 17\",color:\"currentColor\"})]}))},V0=Y2});import{jsx as G0,jsxs as j2}from\"react/jsx-runtime\";var Q2,C0,I0=v(()=>{\"use strict\";Q2=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return j2(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?G0(\"title\",{id:t,children:e}):null,G0(\"path\",{fillRule:\"evenodd\",d:\"M8 8a4 4 0 1 1 8 0 4 4 0 0 1-8 0m4-6a6 6 0 0 0-3.77 10.668c-2.868 1.057-5.106 3.287-5.911 6.08a2.42 2.42 0 0 0 .554 2.338A2.89 2.89 0 0 0 5 22h14c.822 0 1.6-.338 2.127-.914a2.42 2.42 0 0 0 .555-2.337c-.805-2.794-3.044-5.024-5.912-6.081A6 6 0 0 0 12 2M4.24 19.303C5.097 16.33 8.204 14 12 14s6.904 2.33 7.76 5.303a.42.42 0 0 1-.108.433A.9.9 0 0 1 19 20H5a.9.9 0 0 1-.652-.264.42.42 0 0 1-.108-.433\",clipRule:\"evenodd\"})]}))},C0=Q2});import{jsx as E0,jsxs as tw}from\"react/jsx-runtime\";var ew,M0,T0=v(()=>{\"use strict\";ew=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return tw(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?E0(\"title\",{id:t,children:e}):null,E0(\"path\",{d:\"M11 2a6 6 0 0 0-3.77 10.668c-2.867 1.057-5.106 3.286-5.912 6.08a2.42 2.42 0 0 0 .555 2.338A2.9 2.9 0 0 0 4 22h9a1 1 0 0 0 0-2H4a.9.9 0 0 1-.652-.264.43.43 0 0 1-.108-.433C4.097 16.33 7.204 14 11 14c1.665 0 3.209.45 4.486 1.215a1.002 1.002 0 1 0 1.028-1.717 10.4 10.4 0 0 0-1.743-.83A6 6 0 0 0 11 2m0 2a4 4 0 1 1 0 8 4 4 0 0 1 0-8m8 11a1 1 0 0 0-1 1v2h-2a1 1 0 0 0 0 2h2v2a1 1 0 0 0 2 0v-2h2a1 1 0 1 0 0-2h-2v-2a1 1 0 0 0-1-1\"})]}))},M0=ew});import{jsx as N0,jsxs as rw}from\"react/jsx-runtime\";var ow,k0,L0=v(()=>{\"use strict\";ow=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return rw(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?N0(\"title\",{id:t,children:e}):null,N0(\"path\",{d:\"M11 2a6 6 0 0 0-3.77 10.668c-2.867 1.057-5.106 3.286-5.912 6.08a2.42 2.42 0 0 0 .555 2.338A2.9 2.9 0 0 0 4 22h9a1 1 0 0 0 0-2H4a.9.9 0 0 1-.652-.264.43.43 0 0 1-.108-.433C4.097 16.33 7.204 14 11 14c1.665 0 3.209.45 4.486 1.215a1.002 1.002 0 1 0 1.028-1.717 10.4 10.4 0 0 0-1.743-.83A6 6 0 0 0 11 2m0 2a4 4 0 1 1 0 8 4 4 0 0 1 0-8m6 12a1 1 0 0 0-.707 1.707l1.793 1.793-1.793 1.793a1 1 0 1 0 1.414 1.414l1.793-1.793 1.793 1.793a1 1 0 1 0 1.414-1.414L20.914 19.5l1.793-1.793a1 1 0 1 0-1.414-1.414L19.5 18.086l-1.793-1.793A1 1 0 0 0 17 16\"})]}))},k0=ow});import{jsx as A0,jsxs as aw}from\"react/jsx-runtime\";var nw,z0,O0=v(()=>{\"use strict\";nw=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return aw(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?A0(\"title\",{id:t,children:e}):null,A0(\"path\",{fillRule:\"evenodd\",d:\"M3 4a1 1 0 0 1 1-1h16a1 1 0 1 1 0 2H4a1 1 0 0 1-1-1\",clipRule:\"evenodd\"})]}))},z0=nw});import{jsx as B0,jsxs as iw}from\"react/jsx-runtime\";var lw,F0,D0=v(()=>{\"use strict\";lw=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return iw(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?B0(\"title\",{id:t,children:e}):null,B0(\"path\",{fillRule:\"evenodd\",d:\"M3 20a1 1 0 0 1 1-1h16a1 1 0 1 1 0 2H4a1 1 0 0 1-1-1\",clipRule:\"evenodd\"})]}))},F0=lw});import{jsx as H0,jsxs as cw}from\"react/jsx-runtime\";var sw,uo,_0=v(()=>{\"use strict\";sw=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return cw(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?H0(\"title\",{id:t,children:e}):null,H0(\"path\",{d:\"M8.5 2.727a.98.98 0 0 0-.93.632L6.537 5.975a1 1 0 0 1-.562.562L3.359 7.57c-.844.333-.844 1.527 0 1.86l2.616 1.033c.257.101.46.305.562.562l1.033 2.616c.333.844 1.527.844 1.86 0l1.033-2.616a1 1 0 0 1 .562-.562l2.616-1.033c.844-.333.844-1.527 0-1.86l-2.616-1.033a1 1 0 0 1-.562-.562L9.43 3.359a.98.98 0 0 0-.93-.632m8.5 10a.98.98 0 0 0-.93.632l-.607 1.54a1 1 0 0 1-.565.564l-1.539.607c-.844.333-.844 1.527 0 1.86l1.54.607c.257.102.462.307.564.565l.607 1.539c.333.844 1.527.844 1.86 0l.607-1.54c.102-.257.307-.462.565-.564l1.539-.607c.844-.333.844-1.527 0-1.86l-1.54-.607a1 1 0 0 1-.564-.565l-.607-1.539a.98.98 0 0 0-.93-.632\"})]}))},uo=sw});import{jsx as W0,jsxs as pw}from\"react/jsx-runtime\";var dw,Be,K0=v(()=>{\"use strict\";dw=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return pw(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},o),{children:[e?W0(\"title\",{id:t,children:e}):null,W0(\"path\",{fillRule:\"evenodd\",d:\"M4.707 3.293a1 1 0 0 0-1.414 1.414L10.586 12l-7.293 7.293a1 1 0 1 0 1.414 1.414L12 13.414l7.293 7.293a1 1 0 0 0 1.414-1.414L13.414 12l7.293-7.293a1 1 0 0 0-1.414-1.414L12 10.586z\",clipRule:\"evenodd\"})]}))},Be=dw});import{jsx as U0,jsxs as mw}from\"react/jsx-runtime\";var uw,$0,q0=v(()=>{\"use strict\";uw=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return mw(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},o),{children:[e?U0(\"title\",{id:t,children:e}):null,U0(\"path\",{fillRule:\"evenodd\",d:\"M7.293 8.707a1 1 0 0 1 1.414-1.414L12 10.586l3.293-3.293a1 1 0 1 1 1.414 1.414L13.414 12l3.293 3.293a1 1 0 0 1-1.414 1.414L12 13.414l-3.293 3.293a1 1 0 0 1-1.414-1.414L10.586 12z\",clipRule:\"evenodd\"})]}))},$0=uw});var oe={};Wr(oe,{ActivityIcon:()=>nn,AiIcon:()=>ln,AiTwinkleText:()=>dn,ArrowDownIcon:()=>mn,ArrowLeftDownIcon:()=>gn,ArrowLeftIcon:()=>bn,ArrowLeftUpIcon:()=>yn,ArrowRightDownIcon:()=>Pn,ArrowRightIcon:()=>In,ArrowRightUpIcon:()=>Tn,ArrowUpIcon:()=>Ln,BellIcon:()=>On,BookIcon:()=>Dn,BookmarkIcon:()=>Wn,BulletedListIcon:()=>$n,CalendarIcon:()=>Xn,CategoryIcon:()=>Qn,CheckCircleIcon:()=>ta,CheckIcon:()=>ct,CheckListIcon:()=>la,CheckSmallIcon:()=>$t,CheckboxOutlineIcon:()=>pa,ChevronDownIcon:()=>ze,ChevronExpandIcon:()=>qt,ChevronLeftIcon:()=>va,ChevronRightIcon:()=>dt,ChevronShrinkIcon:()=>Ra,ChevronSkipEndIcon:()=>Ga,ChevronSkipStartIcon:()=>Ea,ChevronUpIcon:()=>Zt,ClipsArrowRightIcon:()=>La,ClipsIcon:()=>Oa,ClockHistoryIcon:()=>Da,ClockIcon:()=>Wa,CogIcon:()=>$a,CommentIcon:()=>Xa,CopyIcon:()=>Qa,DocumentIcon:()=>tl,DownloadIcon:()=>nl,DragHandleIcon:()=>il,DragIndicatorIcon:()=>dl,EllipsisHIcon:()=>ml,EllipsisVIcon:()=>gl,EmojiIcon:()=>bl,EnvelopeIcon:()=>yl,ErrorIcon:()=>Xt,ExclamationCircleIcon:()=>Oe,ExclamationTriangleIcon:()=>El,ExpandIcon:()=>Nl,ExportIcon:()=>Al,ExternalLinkIcon:()=>Bl,EyeIcon:()=>Hl,FileCheckIcon:()=>Kl,FileEditIcon:()=>ql,FileIcon:()=>Yl,FilePlusIcon:()=>jl,FileXIcon:()=>oi,FilterIcon:()=>ai,GlobeIcon:()=>si,HistogramChartIcon:()=>pi,HouseIcon:()=>fi,ImageIcon:()=>hi,InboxIcon:()=>xi,InfoCircleIcon:()=>Yt,KundoAiKnowledgeIcon:()=>Pi,KundoAvatarShield:()=>Ii,KundoCallsIcon:()=>Jt,KundoChatIcon:()=>Qt,KundoExternalSourceIcon:()=>Ai,KundoForumIcon:()=>jt,KundoHelpcenterIcon:()=>Di,KundoKnowledgeIcon:()=>eo,KundoLogoIcon:()=>Ki,KundoMailIcon:()=>to,KundoSocialFacebookIcon:()=>oo,KundoSocialInstagramDmIcon:()=>ro,KundoSocialInstagramIcon:()=>no,KundoSocialMessengerIcon:()=>ao,KundoSocialWhatsappIcon:()=>lo,LineChart1Icon:()=>ns,LineChart2Icon:()=>is,LockIcon:()=>ds,LogInIcon:()=>ms,LogOutIcon:()=>gs,MapPinIcon:()=>bs,MegaphoneIcon:()=>ys,MenuIcon:()=>Ps,MinimizeIcon:()=>Is,MinusCircleIcon:()=>Ts,MinusIcon:()=>Ls,MinusSmallIcon:()=>io,MoveIcon:()=>Fs,NoExternalIcon:()=>so,NoteIcon:()=>Ws,PencilIcon:()=>$s,PhoneIcon:()=>Xs,PhonePlusIcon:()=>Qs,PieChartIcon:()=>t1,PlusCircleIcon:()=>n1,PlusIcon:()=>i1,QuestionCircleIcon:()=>mt,RotateLeftIcon:()=>u1,RotateRightIcon:()=>w1,RouterIcon:()=>v1,SearchIcon:()=>co,Security:()=>R1,SpeechBubbleIcon:()=>G1,SpeechBubblesIcon:()=>E1,SpellCheckIcon:()=>N1,SpinnerIcon:()=>po,StarFilledIcon:()=>z1,StarIcon:()=>F1,StopUpdatesIcon:()=>_1,SwitchIcon:()=>U1,TagIcon:()=>Z1,TextLongIcon:()=>J1,TextShortIcon:()=>e0,ThumbDownIcon:()=>r0,ThumbUpIcon:()=>l0,TranslateIcon:()=>c0,TrashCanIcon:()=>u0,UnlockIcon:()=>w0,UserAssignIcon:()=>v0,UserCheckIcon:()=>S0,UserClockIcon:()=>V0,UserIcon:()=>C0,UserPlusIcon:()=>M0,UserXIcon:()=>k0,WindowMaximizeIcon:()=>z0,WindowMinimizeIcon:()=>F0,WinkleIcon:()=>uo,XIcon:()=>Be,XSmallIcon:()=>$0});var D=v(()=>{\"use strict\";an();sn();pn();fn();hn();xn();Rn();Gn();En();Nn();An();Bn();Hn();Kn();qn();Yn();jn();oa();na();ia();ca();ua();fa();ga();ba();Sa();Va();Ca();Ma();Na();Aa();Ba();Ha();Ka();qa();Ya();ja();ol();al();sl();pl();fl();hl();xl();Rl();Pl();Cl();Ml();kl();zl();Fl();_l();Ul();Zl();Jl();ei();ri();li();ci();ui();wi();vi();Si();Ri();Gi();Ei();Ti();ki();zi();Bi();Hi();Wi();Ui();qi();Xi();Ji();Qi();es();os();as();ss();ps();fs();hs();xs();Rs();Gs();Es();Ns();As();Os();Ds();Hs();Ks();qs();Ys();js();o1();a1();s1();d1();m1();g1();b1();S1();V1();C1();M1();k1();L1();O1();D1();W1();$1();X1();Q1();t0();n0();i0();d0();m0();g0();b0();y0();P0();I0();T0();L0();O0();D0();_0();K0();q0()});var oc={};Wr(oc,{Helper:()=>tc,Tooltip:()=>kt});import{useState as ec}from\"react\";import*as we from\"@radix-ui/react-tooltip\";import{jsx as Fe,jsxs as j0}from\"react/jsx-runtime\";var kt,tc,Qo=v(()=>{\"use strict\";k();D();kt=({children:e,content:t,className:o,open:n=!1,onOpenChange:r,container:a,arrow:l=!1,contentSide:s=\"bottom\",contentAlign:p=\"center\",theme:u=\"light\",sideOffset:m=8,alignOffset:g=0})=>{let[b,f]=ec(n);return Fe(we.Provider,{delayDuration:200,children:j0(we.Root,{onOpenChange:h=>{f(h),r&&r(h)},open:b,children:[Fe(we.Trigger,{asChild:!0,children:Fe(\"div\",{className:w(\"tw-inline-block\",o),\"aria-label\":b?t==null?void 0:t.toString():void 0,children:e})}),Fe(we.Portal,{container:a||document.body,children:j0(we.Content,{sideOffset:m,side:s,align:p,alignOffset:g,className:w(\"tw-flex tw-items-center\",\"tw-min-h-[28px] tw-w-full tw-max-w-[20rem]\",\"tw-px-3 tw-py-1.5\",\"tw-rounded\",\"tw-text-sm tw-font-normal\",u===\"dark\"?[\"tw-bg-primary-900 tw-text-white\"]:[\"tw-bg-white tw-text-gray-80\",\"tw-shadow-sm\"],\"tw-will-change-[opacity,transform]\",\"data-[side=top]:tw-animate-slideDownAndFade\",\"data-[side=right]:tw-animate-slideLeftAndFade\",\"data-[side=bottom]:tw-animate-slideUpAndFade\",\"data-[side=left]:tw-animate-slideRightAndFade\",\"tw-z-[1000]\"),children:[Fe(\"div\",{children:t}),l&&Fe(we.Arrow,{width:\"20\",height:\"8\",className:w(\" -tw-mt-[1px]\",u===\"dark\"?[\"tw-fill-primary-900\"]:[\"tw-fill-white\"])})]})})]})})},tc=({className:e,tooltip:t,tooltipTheme:o=\"light\",sideOffset:n=8,alignOffset:r=4})=>{let[a,l]=ec(!1);return Fe(kt,{content:t,open:a,theme:o,contentAlign:\"start\",className:w(\"*:tw-block *:tw-w-4 *:tw-h-4 *:tw-p-0 *:tw-m-0\",\"tw-text-gray-70 *:tw-text-gray-70 *tw-fill-current\",\"tw-cursor-help\",e),onOpenChange:s=>{l(s)},arrow:!1,alignOffset:r,sideOffset:n,children:Fe(mt,{role:\"presentation\",className:\"tw-object-contain tw-h-full tw-w-auto tw-inline-block tw-mb-1\"})})}});import{jsx as Od}from\"react/jsx-runtime\";var zd=()=>Od(\"h1\",{className:\"tw-text-2xl tw-text-blue-500\",children:\"Headings\"});k();import{lazy as Z0,Suspense as fw}from\"react\";import{Fragment as vw,jsx as ft}from\"react/jsx-runtime\";var ww=Z0(()=>Promise.resolve().then(()=>(D(),oe)).then(e=>({default:e.KundoLogoIcon}))),gw=Z0(()=>Promise.resolve().then(()=>(D(),oe)).then(e=>({default:e.KundoAvatarShield}))),hw=({id:e=\"kundo-logo\",className:t,asAvatar:o=!1})=>ft(\"div\",{id:e,className:w(\"tw-text-0\",t),children:ft(fw,{fallback:ft(vw,{}),children:o?ft(\"div\",{className:\"tw-flex tw-h-[34px] tw-w-[34px] tw-items-center tw-justify-center tw-rounded-md\",children:ft(gw,{className:\"tw-block tw-w-full tw-h-auto tw-text-primary-900 tw-fill-primary-900\"})}):ft(ww,{className:\"tw-inline-block tw-h-full tw-w-auto tw-object-contain tw-fill-current tw-select-none\"})})});var bw=(x=>(x.Chatflow=\"chatflow\",x.AIAssistant=\"ai_assistant\",x.Activity=\"activity\",x.FacebookMessenger=\"facebook_messenger\",x.WhatsApp=\"whatsapp\",x.FacebookPage=\"facebook_page\",x.Inbox=\"inbox\",x.Knowledgebase=\"knowledgebase\",x.Forum=\"forum\",x.InstagramComments=\"instagram_comments\",x.InstagramMessenger=\"instagram_messenger\",x.Calls=\"calls\",x.Chat=\"chat\",x.Email=\"email\",x.AIKnowledge=\"ai_knowledge\",x.ExternalSource=\"external_source\",x.WebSource=\"web_source\",x))(bw||{});D();k();import mo,{useMemo as X0,createElement as xw}from\"react\";import{Fragment as yw,jsx as Xe,jsxs as Yo}from\"react/jsx-runtime\";var Sw=(e,t)=>{switch(e){case\"small\":return[\"tw-h-[34px] tw-rounded-[17px] tw-px-5 tw-gap-x-1\",t&&\"tw-pl-2\"];case\"medium\":return[\"tw-h-[44px] tw-rounded-[22px] tw-text-md tw-px-6 tw-gap-x-1.5\",t&&\"tw-pl-3\"];default:case\"large\":return[\"tw-h-[48px] tw-rounded-[24px] tw-text-md tw-px-7 tw-gap-x-2\",t&&\"tw-pl-4\"]}},Y0=e=>{switch(e){default:case\"primary\":return w([\"tw-border-0 tw-border-none\",\"tw-bg-primary-700 tw-text-secondary-100\",\"hover:tw-bg-primary-900\",\"active:tw-bg-primary-900\",\"aria-disabled:tw-bg-gray-20 aria-disabled:tw-text-gray-50\"]);case\"secondary\":return w([\"tw-border tw-border-solid tw-border-gray-40\",\"tw-bg-white tw-text-primary-700\",\"hover:tw-bg-white hover:tw-text-primary-900 hover:tw-border-primary-900\",\"active:tw-bg-white active:tw-border-primary-900\",\"aria-disabled:tw-bg-gray-10 aria-disabled:tw-border-gray-30 aria-disabled:tw-text-gray-50\"]);case\"tertiary\":return w([\"tw-border-0 tw-border-none\",\"tw-bg-transparent tw-text-gray-70\",\"hover:tw-bg-secondary-100 hover:tw-text-primary-700\",\"active:tw-bg-secondary-100 active:tw-text-primary-700\",\"aria-disabled:tw-bg-transparent aria-disabled:tw-border-gray-10 aria-disabled:tw-text-gray-50\"]);case\"danger\":return w([\"tw-border-0 tw-border-none\",\"tw-bg-error-700 tw-text-error-100\",\"hover:tw-bg-error-900\",\"active:tw-bg-error-900\",\"aria-disabled:tw-bg-gray-20 aria-disabled:tw-text-gray-50\"])}},J0=\"tw-relative tw-inline-flex tw-group tw-flex tw-items-center tw-cursor-pointer tw-leading-none disabled:tw-cursor-not-allowed tw-text-base tw-leading-5 tw-not-italic tw-font-semibold tw-duration-200\",Q0=({variant:e})=>Xe(\"div\",{className:w(\"tw-absolute tw-top-0 tw-left-0 tw-w-full tw-h-full tw-m-0 tw-p-0\",\"tw-flex tw-justify-center tw-items-center\"),children:Yo(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",className:w(\"tw-inline-block tw-w-auto tw-object-contain tw-animate-spin tw-text-xl tw-text-white/30\",e===\"secondary\"||e===\"tertiary\"?\"tw-text-gray-30\":\"tw-text-white/30\"),children:[Xe(\"path\",{fill:\"currentColor\",fillRule:\"evenodd\",d:\"M12 19a7 7 0 1 0 0-14 7 7 0 0 0 0 14Zm0 3c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10Z\",clipRule:\"evenodd\"}),Xe(\"path\",{fill:e===\"secondary\"||e===\"tertiary\"?\"#815064\":\"#ffffff\",d:\"M2 12C2 6.477 6.477 2 12 2v3a7 7 0 0 0-7 7H2Z\"})]})}),nV=mo.forwardRef((e,t)=>{let f=e,{variant:o,size:n,label:r,icon:a,className:l,id:s,type:p=\"button\",loading:u=!1,disabled:m=!1}=f,g=d(f,[\"variant\",\"size\",\"label\",\"icon\",\"className\",\"id\",\"type\",\"loading\",\"disabled\"]),b=X0(()=>{let h=Y0(o),y=Sw(n,a);return w(J0,h,y,l)},[o,n,a,l]);return Yo(\"button\",c(i({id:s,type:p,className:b,\"aria-disabled\":m},g),{ref:t,children:[a&&mo.cloneElement(a,{className:w(\"tw-text-lg tw-fill-current tw-select-none\",u&&\"tw-invisible\")}),r&&Xe(\"div\",{className:w(\"tw-select-none\",u&&\"tw-invisible\"),children:r}),u&&Xe(Q0,{variant:o})]}))}),fo=mo.forwardRef((e,t)=>{let x=e,{as:o=\"div\",variant:n,size:r,label:a,icon:l,className:s,iconClassName:p,disabled:u,onClick:m,href:g,loading:b=!1,children:f,type:h=\"button\"}=x,y=d(x,[\"as\",\"variant\",\"size\",\"label\",\"icon\",\"className\",\"iconClassName\",\"disabled\",\"onClick\",\"href\",\"loading\",\"children\",\"type\"]),S=X0(()=>{let C=Y0(n);return w(J0,C,s)},[n,r,l,s]);return xw(o,i({role:\"button\",tabIndex:u?-1:0,\"aria-label\":a?String(a):void 0,\"aria-disabled\":u?!0:void 0,className:w(\"tw-relative tw-inline-flex tw-group tw-items-center tw-justify-center\",\"tw-rounded-full\",S,r===\"small\"&&\"tw-h-[34px] tw-w-[34px]\",r===\"medium\"&&\"tw-h-[44px] tw-w-[44px]\",r===\"large\"&&\"tw-h-[48px] tw-w-[48px]\",u?[\"tw-cursor-not-allowed\"]:[\"tw-cursor-pointer\"],s),ref:t,href:o===\"a\"&&g?String(g):void 0,onClick:m,type:o===\"button\"?h:void 0},y),Yo(yw,{children:[l&&mo.cloneElement(l,{className:w(r===\"small\"&&\"tw-w-[20px] tw-h-[20px]\",r===\"medium\"&&\"tw-w-[20px] tw-h-[20px]\",r===\"large\"&&\"tw-w-[24px] tw-h-[24px]\",\"tw-fill-current tw-select-none\",b&&\"tw-invisible\",p),\"aria-hidden\":u?!0:void 0}),f&&Xe(\"div\",{className:w(b&&\"tw-invisible\"),children:f}),b&&Xe(Q0,{variant:n})]}))});k();import*as wo from\"@radix-ui/react-switch\";import{forwardRef as Rw,useMemo as Vw}from\"react\";import{jsx as Jo,jsxs as Gw}from\"react/jsx-runtime\";var Pw=Rw(({id:e,checked:t,label:o,name:n,onChange:r,disabled:a,className:l},s)=>{let p=Vw(()=>Jo(wo.Root,{ref:s,className:w(\"tw-flex tw-items-center tw-justify-start tw-shrink-0\",\"tw-relative tw-w-[34px] tw-h-[20px] tw-px-0.5 tw-py-0 tw-rounded-full\",\"tw-bg-gray-50 hover:tw-bg-gray-60\",\"tw-transition-all tw-duration-200\",a?\"data-[disabled]:tw-cursor-not-allowed data-[disabled]:tw-bg-gray-30\":\"data-[state=checked]:tw-bg-success-700 data-[state=checked]:hover:tw-bg-success-600\",l),id:e,name:n,checked:t,onCheckedChange:r,tabIndex:0,disabled:a,children:Jo(wo.Thumb,{className:w(\"tw-block tw-flex-initial tw-shrink-0 tw-w-4 tw-h-4\",\"tw-rounded-full\",a?\"tw-bg-gray-10\":\"tw-bg-white\",\"tw-transition-transform tw-will-change-transform tw-duration-200\",\"data-[state=unchecked]:tw-translate-x-0\",\"data-[state=checked]:tw-translate-x-[14px]\")})}),[t,a]);return o?Gw(\"div\",{className:\"tw-flex tw-items-center\",children:[Jo(\"label\",{className:w(\"tw-pr-1.5 tw-cursor-pointer tw-whitespace-nowrap tw-select-none\",a?\"tw-text-gray-50 tw-cursor-not-allowed\":\"tw-cursor-pointer\"),htmlFor:e,children:o}),p]}):p});k();import{useId as Nw,forwardRef as kw,useState as Lw}from\"react\";k();D();import{useState as Ew,lazy as Mw}from\"react\";k();import{Fragment as Cw,jsx as go,jsxs as Iw}from\"react/jsx-runtime\";var ho=({children:e,className:t,id:o})=>go(\"div\",{className:w(\"tw-flex tw-text-red-60 tw-space-x-1\",t),children:e&&Iw(Cw,{children:[go(\"div\",{className:\"tw-h-4 tw-text-0\",children:go(Oe,{className:\"tw-object-contain tw-h-full tw-w-auto tw-inline-block\"})}),go(\"div\",{id:o,className:\"tw-text-sm tw-font-normal tw-mt-[1px]\",children:e})]})});import{jsx as wt,jsxs as rc}from\"react/jsx-runtime\";var Tw=Mw(()=>Promise.resolve().then(()=>(Qo(),oc)).then(e=>({default:e.Tooltip}))),Ye=({children:e,id:t})=>wt(ho,{className:\"tw-mt-1 tw-grow\",id:t,children:e}),Je=({children:e,id:t})=>wt(\"div\",{className:\"tw-mt-1 tw-text-sm tw-text-gray-60 tw-font-normal tw-grow\",id:t,children:e}),Qe=({children:e,label:t,id:o,tooltip:n,className:r,required:a,disabled:l})=>{let[s,p]=Ew(!1);return rc(\"div\",{className:w(\"tw-flex tw-flex-col\",\"tw-text-gray-80\",r),children:[t&&rc(\"div\",{className:\"tw-w-full tw-align-middle tw-mb-1 tw-font-0\",children:[wt(\"label\",{htmlFor:o,className:w(\"tw-text-base tw-font-normal\",\"tw-m-0 tw-p-0 tw-inline-block tw-pr-1\",l?\"tw-text-gray-50\":\"tw-text-gray-80\"),children:a?`${t} *`:t}),n&&wt(Tw,{content:n,onOpenChange:u=>{p(u)},open:s,className:w(\"tw-inline-block\",\"tw-text-gray-50 tw-h-5 tw-select-none tw-cursor-help\"),children:wt(mt,{role:\"presentation\",className:\"tw-object-contain tw-h-full tw-w-auto tw-inline-block tw-mb-1\"})})]}),e]})},vo=e=>{switch(e){case\"small\":return\"tw-rounded-[17px]\";case\"medium\":return\"tw-rounded-[22px]\";case\"large\":return\"tw-rounded-[24px]\";default:return\"tw-rounded-md\"}},gt=({children:e,focus:t,hasError:o,className:n,disabled:r,size:a,isTextArea:l=!1,rounded:s=!1})=>wt(\"div\",{className:w(\"tw-flex tw-items-center tw-box-border\",\"tw-border tw-border-solid tw-overflow-hidden\",\"tw-transition-[border, outline] tw-duration-200\",s?vo(a):\"tw-rounded-md\",!l&&\"*:tw-flex *:tw-items-center *:tw-truncate\",\"first:*:tw-box-border first:*:tw-bg-transparent first:focus:*:tw-bg-transparent\",\"first:*:tw-border-0 first:*:tw-border-none\",\"first:*:tw-ring-0 first:*:tw-ring-offset-0 first:*:tw-ring-transparent first:focus:*:tw-ring-0 first:focus:*:tw-ring-offset-0 first:focus:*:tw-ring-transparent\",\"first:*:tw-outline-0 first:*:tw-outline-transparent first:*:tw-outline-none first:focus:*:tw-outline-0 first:focus:*:tw-outline-transparent first:focus:*:tw-outline-none\",\"first:*:placeholder:tw-text-gray-50 first:*:placeholder:tw-font-normal first:*:tw-text-gray-70 first:*:tw-text-base first:*:tw-font-normal\",r?[\"tw-cursor-not-allowed \",\"tw-bg-gray-10 tw-border-gray-30\",\"first:*:tw-pointer-events-none\"]:[\"tw-bg-white\",o?[\"tw-border-red-60 hover:tw-border-red-80 active:tw-border-red-80\"]:[\"tw-border-gray-40 hover:tw-border-primary-500 active:tw-border-primary-500\"],t&&[o?\"tw-border-red-80\":[\"tw-border-primary-500 hover:tw-border-primary-500 \",\"tw-outline tw-outline-1 tw-outline-primary-500 tw-outline-offset-0\"]]],n),children:e}),bo=e=>{switch(e){case\"small\":return[\"tw-h-[34px] tw-px-3\",vo(e)];case\"medium\":return[\"tw-h-[44px] tw-px-4\",vo(e)];default:case\"large\":return[\"tw-h-[48px] tw-px-5\",vo(e)]}};import{jsx as xo,jsxs as nc}from\"react/jsx-runtime\";var jo=kw((S,y)=>{var x=S,{label:e,type:t=\"text\",tooltip:o,hasError:n,errorText:r,className:a,optionalText:l,inputSize:s=\"medium\",onFocus:p,onBlur:u,action:m,required:g,disabled:b,rounded:f=!1}=x,h=d(x,[\"label\",\"type\",\"tooltip\",\"hasError\",\"errorText\",\"className\",\"optionalText\",\"inputSize\",\"onFocus\",\"onBlur\",\"action\",\"required\",\"disabled\",\"rounded\"]);let C=Nw(),M=`${C}-error`,T=`${C}-optional`,[G,N]=Lw(!1),A=(F,P)=>{let I=[];return F&&I.push(M),P&&I.push(T),I.join(\" \")};return nc(Qe,{id:C,label:e,tooltip:o,className:a,required:g,disabled:b,children:[nc(gt,{focus:G,hasError:n,className:\"w-full\",size:s,disabled:b,rounded:f,children:[xo(\"input\",i({ref:y,id:C,type:t,className:w(\"tw-grow tw-box-border\",bo(s)),\"aria-label\":e,\"aria-invalid\":n,\"aria-describedby\":`${A(n,l)}`||void 0,\"aria-required\":g?\"true\":void 0,required:g||void 0,onFocus:F=>{N(!0),p&&p(F)},onBlur:F=>{N(!1),u&&u(F)},disabled:b},h)),m&&xo(\"div\",{className:\"tw-flex tw-items-center tw-shrink-0 tw-gap-2\",children:m})]}),l&&!n&&xo(Je,{id:T,children:l}),n&&xo(Ye,{id:M,children:r})]})});k();import{useId as Aw,useState as zw,forwardRef as Ow}from\"react\";import{jsx as Lt,jsxs as Dw}from\"react/jsx-runtime\";var Bw=e=>{switch(e){case\"small\":return[\"tw-pr-[32px]\",\"tw-py-0\"];case\"medium\":return[\"tw-pr-[44px]\",\"tw-py-0\"];default:case\"large\":return[\"tw-pr-[52px]\",\"tw-py-0\"]}},Fw=Ow((C,x)=>{var M=C,{id:e,name:t,label:o,className:n,options:r,onChange:a,onFocus:l,onBlur:s,value:p,required:u=!0,tooltip:m,hasError:g,errorText:b,optionalText:f,size:h=\"medium\",disabled:y}=M,S=d(M,[\"id\",\"name\",\"label\",\"className\",\"options\",\"onChange\",\"onFocus\",\"onBlur\",\"value\",\"required\",\"tooltip\",\"hasError\",\"errorText\",\"optionalText\",\"size\",\"disabled\"]);let T=e||Aw(),G=`${T}-error`,N=`${T}-optional`,[A,F]=zw(!1);return Dw(Qe,{id:T,label:o,tooltip:m,className:n,required:u,disabled:y,children:[Lt(gt,{focus:A,hasError:g,disabled:y,className:\"w-full\",size:h,children:Lt(\"select\",c(i({ref:x,id:T,name:t,title:o||void 0,\"aria-label\":o||void 0,\"aria-invalid\":g,\"aria-required\":u?\"true\":void 0,required:u||void 0,\"aria-describedby\":`${((I,E)=>{let R=[];return I&&R.push(G),E&&R.push(N),R.join(\" \")})(g,f)}`||void 0,className:w(\"tw-grow\",\"tw-appearance-none tw-bg-transparent tw-border-none tw-border-0\",bo(h),Bw(h),y&&\"tw-cursor-not-allowed\"),defaultValue:p,disabled:y,onFocus:I=>{F(!0),l&&l(I)},onBlur:I=>{F(!1),s&&s(I)},onChange:a&&(I=>a(I.target.value))},S),{children:r.map(I=>Lt(\"option\",{value:I.value,children:I.label},I.value))}))}),f&&!g&&Lt(Je,{id:N,children:f}),g&&Lt(Ye,{id:G,children:b})]})});import{Fragment as P4,useState as Qc}from\"react\";import*as De from\"react\";import{flushSync as Uw}from\"react-dom\";function je(e,t,o){var l;let n=(l=o.initialDeps)!=null?l:[],r;function a(){var s,p,u,m;let g;o.key&&((s=o.debug)!=null&&s.call(o))&&(g=Date.now());let b=e();if(!(b.length!==n.length||b.some((y,S)=>n[S]!==y)))return r;n=b;let h;if(o.key&&((p=o.debug)!=null&&p.call(o))&&(h=Date.now()),r=t(...b),o.key&&((u=o.debug)!=null&&u.call(o))){let y=Math.round((Date.now()-g)*100)/100,S=Math.round((Date.now()-h)*100)/100,x=S/16,C=(M,T)=>{for(M=String(M);M.length<T;)M=\" \"+M;return M};console.info(`%c\\u23F1 ${C(S,5)} /${C(y,5)} ms`,`\n            font-size: .6rem;\n            font-weight: bold;\n            color: hsl(${Math.max(0,Math.min(120-120*x,120))}deg 100% 31%);`,o==null?void 0:o.key)}return(m=o==null?void 0:o.onChange)==null||m.call(o,r),r}return a.updateDeps=s=>{n=s},a}function So(e,t){if(e===void 0)throw new Error(`Unexpected undefined${t?`: ${t}`:\"\"}`);return e}var ac=(e,t)=>Math.abs(e-t)<1,lc=(e,t,o)=>{let n;return function(...r){e.clearTimeout(n),n=e.setTimeout(()=>t.apply(this,r),o)}};var Hw=e=>e,_w=e=>{let t=Math.max(e.startIndex-e.overscan,0),o=Math.min(e.endIndex+e.overscan,e.count-1),n=[];for(let r=t;r<=o;r++)n.push(r);return n},cc=(e,t)=>{let o=e.scrollElement;if(!o)return;let n=e.targetWindow;if(!n)return;let r=l=>{let{width:s,height:p}=l;t({width:Math.round(s),height:Math.round(p)})};if(r(o.getBoundingClientRect()),!n.ResizeObserver)return()=>{};let a=new n.ResizeObserver(l=>{let s=()=>{let p=l[0];if(p!=null&&p.borderBoxSize){let u=p.borderBoxSize[0];if(u){r({width:u.inlineSize,height:u.blockSize});return}}r(o.getBoundingClientRect())};e.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(s):s()});return a.observe(o,{box:\"border-box\"}),()=>{a.unobserve(o)}},ic={passive:!0};var sc=typeof window==\"undefined\"?!0:\"onscrollend\"in window,dc=(e,t)=>{let o=e.scrollElement;if(!o)return;let n=e.targetWindow;if(!n)return;let r=0,a=e.options.useScrollendEvent&&sc?()=>{}:lc(n,()=>{t(r,!1)},e.options.isScrollingResetDelay),l=m=>()=>{let{horizontal:g,isRtl:b}=e.options;r=g?o.scrollLeft*(b&&-1||1):o.scrollTop,a(),t(r,m)},s=l(!0),p=l(!1);p(),o.addEventListener(\"scroll\",s,ic);let u=e.options.useScrollendEvent&&sc;return u&&o.addEventListener(\"scrollend\",p,ic),()=>{o.removeEventListener(\"scroll\",s),u&&o.removeEventListener(\"scrollend\",p)}};var Ww=(e,t,o)=>{if(t!=null&&t.borderBoxSize){let n=t.borderBoxSize[0];if(n)return Math.round(n[o.options.horizontal?\"inlineSize\":\"blockSize\"])}return Math.round(e.getBoundingClientRect()[o.options.horizontal?\"width\":\"height\"])};var pc=(e,{adjustments:t=0,behavior:o},n)=>{var r,a;let l=e+t;(a=(r=n.scrollElement)==null?void 0:r.scrollTo)==null||a.call(r,{[n.options.horizontal?\"left\":\"top\"]:l,behavior:o})},yo=class{constructor(t){this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.scrollToIndexTimeoutId=null,this.measurementsCache=[],this.itemSizeCache=new Map,this.pendingMeasuredCacheIndexes=[],this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this.scrollAdjustments=0,this.elementsCache=new Map,this.observer=(()=>{let o=null,n=()=>o||(!this.targetWindow||!this.targetWindow.ResizeObserver?null:o=new this.targetWindow.ResizeObserver(r=>{r.forEach(a=>{let l=()=>{this._measureElement(a.target,a)};this.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(l):l()})}));return{disconnect:()=>{var r;(r=n())==null||r.disconnect(),o=null},observe:r=>{var a;return(a=n())==null?void 0:a.observe(r,{box:\"border-box\"})},unobserve:r=>{var a;return(a=n())==null?void 0:a.unobserve(r)}}})(),this.range=null,this.setOptions=o=>{Object.entries(o).forEach(([n,r])=>{typeof r==\"undefined\"&&delete o[n]}),this.options=i({debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:Hw,rangeExtractor:_w,onChange:()=>{},measureElement:Ww,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:\"data-index\",initialMeasurementsCache:[],lanes:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,useScrollendEvent:!1,useAnimationFrameWithResizeObserver:!1},o)},this.notify=o=>{var n,r;(r=(n=this.options).onChange)==null||r.call(n,this,o)},this.maybeNotify=je(()=>(this.calculateRange(),[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]),o=>{this.notify(o)},{key:process.env.NODE_ENV!==\"production\"&&\"maybeNotify\",debug:()=>this.options.debug,initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),this.cleanup=()=>{this.unsubs.filter(Boolean).forEach(o=>o()),this.unsubs=[],this.observer.disconnect(),this.scrollElement=null,this.targetWindow=null},this._didMount=()=>()=>{this.cleanup()},this._willUpdate=()=>{var r;var o;let n=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==n){if(this.cleanup(),!n){this.maybeNotify();return}this.scrollElement=n,this.scrollElement&&\"ownerDocument\"in this.scrollElement?this.targetWindow=this.scrollElement.ownerDocument.defaultView:this.targetWindow=(r=(o=this.scrollElement)==null?void 0:o.window)!=null?r:null,this.elementsCache.forEach(a=>{this.observer.observe(a)}),this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0}),this.unsubs.push(this.options.observeElementRect(this,a=>{this.scrollRect=a,this.maybeNotify()})),this.unsubs.push(this.options.observeElementOffset(this,(a,l)=>{this.scrollAdjustments=0,this.scrollDirection=l?this.getScrollOffset()<a?\"forward\":\"backward\":null,this.scrollOffset=a,this.isScrolling=l,this.maybeNotify()}))}},this.getSize=()=>{var o;return this.options.enabled?(this.scrollRect=(o=this.scrollRect)!=null?o:this.options.initialRect,this.scrollRect[this.options.horizontal?\"width\":\"height\"]):(this.scrollRect=null,0)},this.getScrollOffset=()=>{var o;return this.options.enabled?(this.scrollOffset=(o=this.scrollOffset)!=null?o:typeof this.options.initialOffset==\"function\"?this.options.initialOffset():this.options.initialOffset,this.scrollOffset):(this.scrollOffset=null,0)},this.getFurthestMeasurement=(o,n)=>{let r=new Map,a=new Map;for(let l=n-1;l>=0;l--){let s=o[l];if(r.has(s.lane))continue;let p=a.get(s.lane);if(p==null||s.end>p.end?a.set(s.lane,s):s.end<p.end&&r.set(s.lane,!0),r.size===this.options.lanes)break}return a.size===this.options.lanes?Array.from(a.values()).sort((l,s)=>l.end===s.end?l.index-s.index:l.end-s.end)[0]:void 0},this.getMeasurementOptions=je(()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled],(o,n,r,a,l)=>(this.pendingMeasuredCacheIndexes=[],{count:o,paddingStart:n,scrollMargin:r,getItemKey:a,enabled:l}),{key:!1}),this.getMeasurements=je(()=>[this.getMeasurementOptions(),this.itemSizeCache],({count:o,paddingStart:n,scrollMargin:r,getItemKey:a,enabled:l},s)=>{if(!l)return this.measurementsCache=[],this.itemSizeCache.clear(),[];this.measurementsCache.length===0&&(this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach(m=>{this.itemSizeCache.set(m.key,m.size)}));let p=this.pendingMeasuredCacheIndexes.length>0?Math.min(...this.pendingMeasuredCacheIndexes):0;this.pendingMeasuredCacheIndexes=[];let u=this.measurementsCache.slice(0,p);for(let m=p;m<o;m++){let g=a(m),b=this.options.lanes===1?u[m-1]:this.getFurthestMeasurement(u,m),f=b?b.end+this.options.gap:n+r,h=s.get(g),y=typeof h==\"number\"?h:this.options.estimateSize(m),S=f+y,x=b?b.lane:m%this.options.lanes;u[m]={index:m,start:f,size:y,end:S,key:g,lane:x}}return this.measurementsCache=u,u},{key:process.env.NODE_ENV!==\"production\"&&\"getMeasurements\",debug:()=>this.options.debug}),this.calculateRange=je(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes],(o,n,r,a)=>this.range=o.length>0&&n>0?Kw({measurements:o,outerSize:n,scrollOffset:r,lanes:a}):null,{key:process.env.NODE_ENV!==\"production\"&&\"calculateRange\",debug:()=>this.options.debug}),this.getVirtualIndexes=je(()=>{let o=null,n=null,r=this.calculateRange();return r&&(o=r.startIndex,n=r.endIndex),this.maybeNotify.updateDeps([this.isScrolling,o,n]),[this.options.rangeExtractor,this.options.overscan,this.options.count,o,n]},(o,n,r,a,l)=>a===null||l===null?[]:o({startIndex:a,endIndex:l,overscan:n,count:r}),{key:process.env.NODE_ENV!==\"production\"&&\"getVirtualIndexes\",debug:()=>this.options.debug}),this.indexFromElement=o=>{let n=this.options.indexAttribute,r=o.getAttribute(n);return r?parseInt(r,10):(console.warn(`Missing attribute name '${n}={index}' on measured element.`),-1)},this._measureElement=(o,n)=>{let r=this.indexFromElement(o),a=this.measurementsCache[r];if(!a)return;let l=a.key,s=this.elementsCache.get(l);s!==o&&(s&&this.observer.unobserve(s),this.observer.observe(o),this.elementsCache.set(l,o)),o.isConnected&&this.resizeItem(r,this.options.measureElement(o,n,this))},this.resizeItem=(o,n)=>{var s;let r=this.measurementsCache[o];if(!r)return;let a=(s=this.itemSizeCache.get(r.key))!=null?s:r.size,l=n-a;l!==0&&((this.shouldAdjustScrollPositionOnItemSizeChange!==void 0?this.shouldAdjustScrollPositionOnItemSizeChange(r,l,this):r.start<this.getScrollOffset()+this.scrollAdjustments)&&(process.env.NODE_ENV!==\"production\"&&this.options.debug&&console.info(\"correction\",l),this._scrollToOffset(this.getScrollOffset(),{adjustments:this.scrollAdjustments+=l,behavior:void 0})),this.pendingMeasuredCacheIndexes.push(r.index),this.itemSizeCache=new Map(this.itemSizeCache.set(r.key,n)),this.notify(!1))},this.measureElement=o=>{if(!o){this.elementsCache.forEach((n,r)=>{n.isConnected||(this.observer.unobserve(n),this.elementsCache.delete(r))});return}this._measureElement(o,void 0)},this.getVirtualItems=je(()=>[this.getVirtualIndexes(),this.getMeasurements()],(o,n)=>{let r=[];for(let a=0,l=o.length;a<l;a++){let s=o[a],p=n[s];r.push(p)}return r},{key:process.env.NODE_ENV!==\"production\"&&\"getVirtualItems\",debug:()=>this.options.debug}),this.getVirtualItemForOffset=o=>{let n=this.getMeasurements();if(n.length!==0)return So(n[uc(0,n.length-1,r=>So(n[r]).start,o)])},this.getOffsetForAlignment=(o,n,r=0)=>{let a=this.getSize(),l=this.getScrollOffset();n===\"auto\"&&(n=o>=l+a?\"end\":\"start\"),n===\"center\"?o+=(r-a)/2:n===\"end\"&&(o-=a);let s=this.options.horizontal?\"scrollWidth\":\"scrollHeight\",u=(this.scrollElement?\"document\"in this.scrollElement?this.scrollElement.document.documentElement[s]:this.scrollElement[s]:0)-a;return Math.max(Math.min(u,o),0)},this.getOffsetForIndex=(o,n=\"auto\")=>{o=Math.max(0,Math.min(o,this.options.count-1));let r=this.measurementsCache[o];if(!r)return;let a=this.getSize(),l=this.getScrollOffset();if(n===\"auto\")if(r.end>=l+a-this.options.scrollPaddingEnd)n=\"end\";else if(r.start<=l+this.options.scrollPaddingStart)n=\"start\";else return[l,n];let s=n===\"end\"?r.end+this.options.scrollPaddingEnd:r.start-this.options.scrollPaddingStart;return[this.getOffsetForAlignment(s,n,r.size),n]},this.isDynamicMode=()=>this.elementsCache.size>0,this.cancelScrollToIndex=()=>{this.scrollToIndexTimeoutId!==null&&this.targetWindow&&(this.targetWindow.clearTimeout(this.scrollToIndexTimeoutId),this.scrollToIndexTimeoutId=null)},this.scrollToOffset=(o,{align:n=\"start\",behavior:r}={})=>{this.cancelScrollToIndex(),r===\"smooth\"&&this.isDynamicMode()&&console.warn(\"The `smooth` scroll behavior is not fully supported with dynamic size.\"),this._scrollToOffset(this.getOffsetForAlignment(o,n),{adjustments:void 0,behavior:r})},this.scrollToIndex=(o,{align:n=\"auto\",behavior:r}={})=>{o=Math.max(0,Math.min(o,this.options.count-1)),this.cancelScrollToIndex(),r===\"smooth\"&&this.isDynamicMode()&&console.warn(\"The `smooth` scroll behavior is not fully supported with dynamic size.\");let a=this.getOffsetForIndex(o,n);if(!a)return;let[l,s]=a;this._scrollToOffset(l,{adjustments:void 0,behavior:r}),r!==\"smooth\"&&this.isDynamicMode()&&this.targetWindow&&(this.scrollToIndexTimeoutId=this.targetWindow.setTimeout(()=>{if(this.scrollToIndexTimeoutId=null,this.elementsCache.has(this.options.getItemKey(o))){let[u]=So(this.getOffsetForIndex(o,s));ac(u,this.getScrollOffset())||this.scrollToIndex(o,{align:s,behavior:r})}else this.scrollToIndex(o,{align:s,behavior:r})}))},this.scrollBy=(o,{behavior:n}={})=>{this.cancelScrollToIndex(),n===\"smooth\"&&this.isDynamicMode()&&console.warn(\"The `smooth` scroll behavior is not fully supported with dynamic size.\"),this._scrollToOffset(this.getScrollOffset()+o,{adjustments:void 0,behavior:n})},this.getTotalSize=()=>{var a;var o;let n=this.getMeasurements(),r;if(n.length===0)r=this.options.paddingStart;else if(this.options.lanes===1)r=(a=(o=n[n.length-1])==null?void 0:o.end)!=null?a:0;else{let l=Array(this.options.lanes).fill(null),s=n.length-1;for(;s>0&&l.some(p=>p===null);){let p=n[s];l[p.lane]===null&&(l[p.lane]=p.end),s--}r=Math.max(...l.filter(p=>p!==null))}return Math.max(r-this.options.scrollMargin+this.options.paddingEnd,0)},this._scrollToOffset=(o,{adjustments:n,behavior:r})=>{this.options.scrollToFn(o,{behavior:r,adjustments:n},this)},this.measure=()=>{this.itemSizeCache=new Map,this.notify(!1)},this.setOptions(t)}},uc=(e,t,o,n)=>{for(;e<=t;){let r=(e+t)/2|0,a=o(r);if(a<n)e=r+1;else if(a>n)t=r-1;else return r}return e>0?e-1:0};function Kw({measurements:e,outerSize:t,scrollOffset:o,lanes:n}){let r=e.length-1,l=uc(0,r,p=>e[p].start,o),s=l;if(n===1)for(;s<r&&e[s].end<o+t;)s++;else if(n>1){let p=Array(n).fill(0);for(;s<r&&p.some(m=>m<o+t);){let m=e[s];p[m.lane]=m.end,s++}let u=Array(n).fill(o+t);for(;l>0&&u.some(m=>m>=o);){let m=e[l];u[m.lane]=m.start,l--}l=Math.max(0,l-l%n),s=Math.min(r,s+(n-1-s%n))}return{startIndex:l,endIndex:s}}var mc=typeof document!=\"undefined\"?De.useLayoutEffect:De.useEffect;function $w(e){let t=De.useReducer(()=>({}),{})[1],o=c(i({},e),{onChange:(r,a)=>{var l;a?Uw(t):t(),(l=e.onChange)==null||l.call(e,r,a)}}),[n]=De.useState(()=>new yo(o));return n.setOptions(o),mc(()=>n._didMount(),[]),mc(()=>n._willUpdate()),n}function fc(e){return $w(i({observeElementRect:cc,observeElementOffset:dc,scrollToFn:pc},e))}import Ce,{createContext as ur,createRef as Lg,Fragment as Bc,useCallback as Ag,useContext as mr,useEffect as zg,useMemo as Ie,useReducer as Og,useRef as be,useState as Bg}from\"react\";import{useState as Qw}from\"react\";import{useEffect as Xw,useLayoutEffect as Yw}from\"react\";var qw=Object.defineProperty,Zw=(e,t,o)=>t in e?qw(e,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[t]=o,er=(e,t,o)=>(Zw(e,typeof t!=\"symbol\"?t+\"\":t,o),o),tr=class{constructor(){er(this,\"current\",this.detect()),er(this,\"handoffState\",\"pending\"),er(this,\"currentId\",0)}set(t){this.current!==t&&(this.handoffState=\"pending\",this.currentId=0,this.current=t)}reset(){this.set(this.detect())}nextId(){return++this.currentId}get isServer(){return this.current===\"server\"}get isClient(){return this.current===\"client\"}detect(){return typeof window==\"undefined\"||typeof document==\"undefined\"?\"server\":\"client\"}handoff(){this.handoffState===\"pending\"&&(this.handoffState=\"complete\")}get isHandoffComplete(){return this.handoffState===\"complete\"}},he=new tr;var q=(e,t)=>{he.isServer?Xw(e,t):Yw(e,t)};import{useRef as Jw}from\"react\";function re(e){let t=Jw(e);return q(()=>{t.current=e},[e]),t}function Ro(e,t){let[o,n]=Qw(e),r=re(e);return q(()=>n(r.current),[r,n,...t]),o}import{useRef as or,useState as eg}from\"react\";import jw from\"react\";var L=function(e){let t=re(e);return jw.useCallback((...o)=>t.current(...o),[t])};function wc(e,t,o){let[n,r]=eg(o),a=e!==void 0,l=or(a),s=or(!1),p=or(!1);return a&&!l.current&&!s.current?(s.current=!0,l.current=a,console.error(\"A component is changing from uncontrolled to controlled. This may be caused by the value changing from undefined to a defined value, which should not happen.\")):!a&&l.current&&!p.current&&(p.current=!0,l.current=a,console.error(\"A component is changing from controlled to uncontrolled. This may be caused by the value changing from a defined value to undefined, which should not happen.\")),[a?e:n,L(u=>(a||r(u),t==null?void 0:t(u)))]}import{useEffect as tg,useState as og}from\"react\";function gc(e){typeof queueMicrotask==\"function\"?queueMicrotask(e):Promise.resolve().then(e).catch(t=>setTimeout(()=>{throw t}))}function ve(){let e=[],t={addEventListener(o,n,r,a){return o.addEventListener(n,r,a),t.add(()=>o.removeEventListener(n,r,a))},requestAnimationFrame(...o){let n=requestAnimationFrame(...o);return t.add(()=>cancelAnimationFrame(n))},nextFrame(...o){return t.requestAnimationFrame(()=>t.requestAnimationFrame(...o))},setTimeout(...o){let n=setTimeout(...o);return t.add(()=>clearTimeout(n))},microTask(...o){let n={current:!0};return gc(()=>{n.current&&o[0]()}),t.add(()=>{n.current=!1})},style(o,n,r){let a=o.style.getPropertyValue(n);return Object.assign(o.style,{[n]:r}),this.add(()=>{Object.assign(o.style,{[n]:a})})},group(o){let n=ve();return o(n),this.add(()=>n.dispose())},add(o){return e.push(o),()=>{let n=e.indexOf(o);if(n>=0)for(let r of e.splice(n,1))r()}},dispose(){for(let o of e.splice(0))o()}};return t}function He(){let[e]=og(ve);return tg(()=>()=>e.dispose(),[e]),e}import vc from\"react\";import*as et from\"react\";function rg(){let e=typeof document==\"undefined\";return\"useSyncExternalStore\"in et?(t=>t.useSyncExternalStore)(et)(()=>()=>{},()=>!1,()=>!e):!1}function At(){let e=rg(),[t,o]=et.useState(he.isHandoffComplete);return t&&he.isHandoffComplete===!1&&o(!1),et.useEffect(()=>{t!==!0&&o(!0)},[t]),et.useEffect(()=>he.handoff(),[]),e?!1:t}var hc,ht=(hc=vc.useId)!=null?hc:function(){let e=At(),[t,o]=vc.useState(e?()=>he.nextId():null);return q(()=>{t===null&&o(he.nextId())},[t]),t!=null?\"\"+t:void 0};import{useEffect as ug,useRef as Rc}from\"react\";function Q(e,t,...o){if(e in t){let r=t[e];return typeof r==\"function\"?r(...o):r}let n=new Error(`Tried to handle \"${e}\" but there is no handler defined. Only defined handlers are: ${Object.keys(t).map(r=>`\"${r}\"`).join(\", \")}.`);throw Error.captureStackTrace&&Error.captureStackTrace(n,Q),n}function vt(e){return he.isServer?null:e instanceof Node?e.ownerDocument:e!=null&&e.hasOwnProperty(\"current\")&&e.current instanceof Node?e.current.ownerDocument:document}var bc=[\"[contentEditable=true]\",\"[tabindex]\",\"a[href]\",\"area[href]\",\"button:not([disabled])\",\"iframe\",\"input:not([disabled])\",\"select:not([disabled])\",\"textarea:not([disabled])\"].map(e=>`${e}:not([tabindex='-1'])`).join(\",\"),ng=(e=>(e[e.First=1]=\"First\",e[e.Previous=2]=\"Previous\",e[e.Next=4]=\"Next\",e[e.Last=8]=\"Last\",e[e.WrapAround=16]=\"WrapAround\",e[e.NoScroll=32]=\"NoScroll\",e))(ng||{}),ag=(e=>(e[e.Error=0]=\"Error\",e[e.Overflow=1]=\"Overflow\",e[e.Success=2]=\"Success\",e[e.Underflow=3]=\"Underflow\",e))(ag||{}),lg=(e=>(e[e.Previous=-1]=\"Previous\",e[e.Next=1]=\"Next\",e))(lg||{});var rr=(e=>(e[e.Strict=0]=\"Strict\",e[e.Loose=1]=\"Loose\",e))(rr||{});function xc(e,t=0){var o;return e===((o=vt(e))==null?void 0:o.body)?!1:Q(t,{0(){return e.matches(bc)},1(){let n=e;for(;n!==null;){if(n.matches(bc))return!0;n=n.parentElement}return!1}})}var ig=(e=>(e[e.Keyboard=0]=\"Keyboard\",e[e.Mouse=1]=\"Mouse\",e))(ig||{});typeof window!=\"undefined\"&&typeof document!=\"undefined\"&&(document.addEventListener(\"keydown\",e=>{e.metaKey||e.altKey||e.ctrlKey||(document.documentElement.dataset.headlessuiFocusVisible=\"\")},!0),document.addEventListener(\"click\",e=>{e.detail===1?delete document.documentElement.dataset.headlessuiFocusVisible:e.detail===0&&(document.documentElement.dataset.headlessuiFocusVisible=\"\")},!0));var KP=[\"textarea\",\"input\"].join(\",\");function Sc(e,t=o=>o){return e.slice().sort((o,n)=>{let r=t(o),a=t(n);if(r===null||a===null)return 0;let l=r.compareDocumentPosition(a);return l&Node.DOCUMENT_POSITION_FOLLOWING?-1:l&Node.DOCUMENT_POSITION_PRECEDING?1:0})}function sg(){return/iPhone/gi.test(window.navigator.platform)||/Mac/gi.test(window.navigator.platform)&&window.navigator.maxTouchPoints>0}function cg(){return/Android/gi.test(window.navigator.userAgent)}function Vo(){return sg()||cg()}import{useEffect as dg}from\"react\";function zt(e,t,o){let n=re(t);dg(()=>{function r(a){n.current(a)}return document.addEventListener(e,r,o),()=>document.removeEventListener(e,r,o)},[e,o])}import{useEffect as pg}from\"react\";function yc(e,t,o){let n=re(t);pg(()=>{function r(a){n.current(a)}return window.addEventListener(e,r,o),()=>window.removeEventListener(e,r,o)},[e,o])}function Vc(e,t,o=!0){let n=Rc(!1);ug(()=>{requestAnimationFrame(()=>{n.current=o})},[o]);function r(l,s){if(!n.current||l.defaultPrevented)return;let p=s(l);if(p===null||!p.getRootNode().contains(p)||!p.isConnected)return;let u=function m(g){return typeof g==\"function\"?m(g()):Array.isArray(g)||g instanceof Set?g:[g]}(e);for(let m of u){if(m===null)continue;let g=m instanceof HTMLElement?m:m.current;if(g!=null&&g.contains(p)||l.composed&&l.composedPath().includes(g))return}return!xc(p,rr.Loose)&&p.tabIndex!==-1&&l.preventDefault(),t(l,p)}let a=Rc(null);zt(\"pointerdown\",l=>{var s,p;n.current&&(a.current=((p=(s=l.composedPath)==null?void 0:s.call(l))==null?void 0:p[0])||l.target)},!0),zt(\"mousedown\",l=>{var s,p;n.current&&(a.current=((p=(s=l.composedPath)==null?void 0:s.call(l))==null?void 0:p[0])||l.target)},!0),zt(\"click\",l=>{Vo()||a.current&&(r(l,()=>a.current),a.current=null)},!0),zt(\"touchend\",l=>r(l,()=>l.target instanceof HTMLElement?l.target:null),!0),yc(\"blur\",l=>r(l,()=>window.document.activeElement instanceof HTMLIFrameElement?window.document.activeElement:null),!0)}import{useMemo as mg}from\"react\";function Pc(...e){return mg(()=>vt(...e),[...e])}import{useState as fg}from\"react\";function Gc(e){var t;if(e.type)return e.type;let o=(t=e.as)!=null?t:\"button\";if(typeof o==\"string\"&&o.toLowerCase()===\"button\")return\"button\"}function Cc(e,t){let[o,n]=fg(()=>Gc(e));return q(()=>{n(Gc(e))},[e.type,e.as]),q(()=>{o||t.current&&t.current instanceof HTMLButtonElement&&!t.current.hasAttribute(\"type\")&&n(\"button\")},[o,t]),o}import{useEffect as wg,useRef as gg}from\"react\";var hg=Symbol();function Pe(...e){let t=gg(e);wg(()=>{t.current=e},[e]);let o=L(n=>{for(let r of t.current)r!=null&&(typeof r==\"function\"?r(n):r.current=n)});return e.every(n=>n==null||(n==null?void 0:n[hg]))?void 0:o}import{useRef as vg}from\"react\";function Ic(e){return[e.screenX,e.screenY]}function Ec(){let e=vg([-1,-1]);return{wasMoved(t){let o=Ic(t);return e.current[0]===o[0]&&e.current[1]===o[1]?!1:(e.current=o,!0)},update(t){e.current=Ic(t)}}}import{useEffect as bg,useRef as Mc}from\"react\";function Tc({container:e,accept:t,walk:o,enabled:n=!0}){let r=Mc(t),a=Mc(o);bg(()=>{r.current=t,a.current=o},[t,o]),q(()=>{if(!e||!n)return;let l=vt(e);if(!l)return;let s=r.current,p=a.current,u=Object.assign(g=>s(g),{acceptNode:s}),m=l.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,u,!1);for(;m.nextNode();)p(m.currentNode)},[e,n,r,a])}import{useEffect as xg,useRef as Sg}from\"react\";function nr(e,t){let o=Sg([]),n=L(e);xg(()=>{let r=[...o.current];for(let[a,l]of t.entries())if(o.current[a]!==l){let s=n(t,r);return o.current=t,s}},[n,...t])}import{cloneElement as yg,createElement as Rg,forwardRef as Vg,Fragment as ar,isValidElement as Pg,useCallback as PG,useRef as GG}from\"react\";function bt(...e){return Array.from(new Set(e.flatMap(t=>typeof t==\"string\"?t.split(\" \"):[]))).filter(Boolean).join(\" \")}var xt=(e=>(e[e.None=0]=\"None\",e[e.RenderStrategy=1]=\"RenderStrategy\",e[e.Static=2]=\"Static\",e))(xt||{}),Ge=(e=>(e[e.Unmount=0]=\"Unmount\",e[e.Hidden=1]=\"Hidden\",e))(Ge||{});function ge({ourProps:e,theirProps:t,slot:o,defaultTag:n,features:r,visible:a=!0,name:l,mergeRefs:s}){s=s!=null?s:Gg;let p=Nc(t,e);if(a)return Po(p,o,n,l,s);let u=r!=null?r:0;if(u&2){let m=p,{static:b=!1}=m,f=d(m,[\"static\"]);if(b)return Po(f,o,n,l,s)}if(u&1){let g=p,{unmount:b=!0}=g,f=d(g,[\"unmount\"]);return Q(b?0:1,{0(){return null},1(){return Po(c(i({},f),{hidden:!0,style:{display:\"none\"}}),o,n,l,s)}})}return Po(p,o,n,l,s)}function Po(e,t={},o,n,r){let b=lr(e,[\"unmount\",\"static\"]),{as:a=o,children:l,refName:s=\"ref\"}=b,p=d(b,[\"as\",\"children\",\"refName\"]),u=e.ref!==void 0?{[s]:e.ref}:{},m=typeof l==\"function\"?l(t):l;\"className\"in p&&p.className&&typeof p.className==\"function\"&&(p.className=p.className(t));let g={};if(t){let f=!1,h=[];for(let[y,S]of Object.entries(t))typeof S==\"boolean\"&&(f=!0),S===!0&&h.push(y);f&&(g[\"data-headlessui-state\"]=h.join(\" \"))}if(a===ar&&Object.keys(Go(p)).length>0){if(!Pg(m)||Array.isArray(m)&&m.length>1)throw new Error(['Passing props on \"Fragment\"!',\"\",`The current component <${n} /> is rendering a \"Fragment\".`,\"However we need to passthrough the following props:\",Object.keys(p).map(S=>`  - ${S}`).join(`\n`),\"\",\"You can apply a few solutions:\",['Add an `as=\"...\"` prop, to ensure that we render an actual element instead of a \"Fragment\".',\"Render a single element as the child so that we can forward the props onto that element.\"].map(S=>`  - ${S}`).join(`\n`)].join(`\n`));let f=m.props,h=typeof(f==null?void 0:f.className)==\"function\"?(...S)=>bt(f==null?void 0:f.className(...S),p.className):bt(f==null?void 0:f.className,p.className),y=h?{className:h}:{};return yg(m,Object.assign({},Nc(m.props,Go(lr(p,[\"ref\"]))),g,u,{ref:r(m.ref,u.ref)},y))}return Rg(a,Object.assign({},lr(p,[\"ref\"]),a!==ar&&u,a!==ar&&g),m)}function Gg(...e){return e.every(t=>t==null)?void 0:t=>{for(let o of e)o!=null&&(typeof o==\"function\"?o(t):o.current=t)}}function Nc(...e){var t;if(e.length===0)return{};if(e.length===1)return e[0];let o={},n={};for(let r of e)for(let a in r)a.startsWith(\"on\")&&typeof r[a]==\"function\"?((t=n[a])!=null||(n[a]=[]),n[a].push(r[a])):o[a]=r[a];if(o.disabled||o[\"aria-disabled\"])return Object.assign(o,Object.fromEntries(Object.keys(n).map(r=>[r,void 0])));for(let r in n)Object.assign(o,{[r](a,...l){let s=n[r];for(let p of s){if((a instanceof Event||(a==null?void 0:a.nativeEvent)instanceof Event)&&a.defaultPrevented)return;p(a,...l)}}});return o}function ue(e){var t;return Object.assign(Vg(e),{displayName:(t=e.displayName)!=null?t:e.name})}function Go(e){let t=Object.assign({},e);for(let o in t)t[o]===void 0&&delete t[o];return t}function lr(e,t=[]){let o=Object.assign({},e);for(let n of t)n in o&&delete o[n];return o}var Cg=\"div\",ir=(e=>(e[e.None=1]=\"None\",e[e.Focusable=2]=\"Focusable\",e[e.Hidden=4]=\"Hidden\",e))(ir||{});function Ig(e,t){var o;let l=e,{features:n=1}=l,r=d(l,[\"features\"]),a={ref:t,\"aria-hidden\":(n&2)===2?!0:(o=r[\"aria-hidden\"])!=null?o:void 0,hidden:(n&4)===4?!0:void 0,style:i({position:\"fixed\",top:1,left:1,width:1,height:0,padding:0,margin:-1,overflow:\"hidden\",clip:\"rect(0, 0, 0, 0)\",whiteSpace:\"nowrap\",borderWidth:\"0\"},(n&4)===4&&(n&2)!==2&&{display:\"none\"})};return ge({ourProps:a,theirProps:r,slot:{},defaultTag:Cg,name:\"Hidden\"})}var kc=ue(Ig);import Eg,{createContext as Mg,useContext as Tg}from\"react\";var sr=Mg(null);sr.displayName=\"OpenClosedContext\";var le=(e=>(e[e.Open=1]=\"Open\",e[e.Closed=2]=\"Closed\",e[e.Closing=4]=\"Closing\",e[e.Opening=8]=\"Opening\",e))(le||{});function Ot(){return Tg(sr)}function Co({value:e,children:t}){return Eg.createElement(sr.Provider,{value:e},t)}function Lc(e){function t(){document.readyState!==\"loading\"&&(e(),document.removeEventListener(\"DOMContentLoaded\",t))}typeof window!=\"undefined\"&&typeof document!=\"undefined\"&&(document.addEventListener(\"DOMContentLoaded\",t),t())}var _e=[];Lc(()=>{function e(t){t.target instanceof HTMLElement&&t.target!==document.body&&_e[0]!==t.target&&(_e.unshift(t.target),_e=_e.filter(o=>o!=null&&o.isConnected),_e.splice(10))}window.addEventListener(\"click\",e,{capture:!0}),window.addEventListener(\"mousedown\",e,{capture:!0}),window.addEventListener(\"focus\",e,{capture:!0}),document.body.addEventListener(\"click\",e,{capture:!0}),document.body.addEventListener(\"mousedown\",e,{capture:!0}),document.body.addEventListener(\"focus\",e,{capture:!0})});function Ac(e){let t=e.parentElement,o=null;for(;t&&!(t instanceof HTMLFieldSetElement);)t instanceof HTMLLegendElement&&(o=t),t=t.parentElement;let n=(t==null?void 0:t.getAttribute(\"disabled\"))===\"\";return n&&Ng(o)?!1:n}function Ng(e){if(!e)return!1;let t=e.previousElementSibling;for(;t!==null;){if(t instanceof HTMLLegendElement)return!1;t=t.previousElementSibling}return!0}function kg(e){throw new Error(\"Unexpected object: \"+e)}var j=(e=>(e[e.First=0]=\"First\",e[e.Previous=1]=\"Previous\",e[e.Next=2]=\"Next\",e[e.Last=3]=\"Last\",e[e.Specific=4]=\"Specific\",e[e.Nothing=5]=\"Nothing\",e))(j||{});function cr(e,t){let o=t.resolveItems();if(o.length<=0)return null;let n=t.resolveActiveIndex(),r=n!=null?n:-1;switch(e.focus){case 0:{for(let a=0;a<o.length;++a)if(!t.resolveDisabled(o[a],a,o))return a;return n}case 1:{for(let a=r-1;a>=0;--a)if(!t.resolveDisabled(o[a],a,o))return a;return n}case 2:{for(let a=r+1;a<o.length;++a)if(!t.resolveDisabled(o[a],a,o))return a;return n}case 3:{for(let a=o.length-1;a>=0;--a)if(!t.resolveDisabled(o[a],a,o))return a;return n}case 4:{for(let a=0;a<o.length;++a)if(t.resolveId(o[a],a,o)===e.id)return a;return n}case 5:return null;default:kg(e)}}function dr(e={},t=null,o=[]){for(let[n,r]of Object.entries(e))Oc(o,zc(t,n),r);return o}function zc(e,t){return e?e+\"[\"+t+\"]\":t}function Oc(e,t,o){if(Array.isArray(o))for(let[n,r]of o.entries())Oc(e,zc(t,n.toString()),r);else o instanceof Date?e.push([t,o.toISOString()]):typeof o==\"boolean\"?e.push([t,o?\"1\":\"0\"]):typeof o==\"string\"?e.push([t,o]):typeof o==\"number\"?e.push([t,`${o}`]):o==null?e.push([t,\"\"]):dr(o,t,e)}var se=(e=>(e.Space=\" \",e.Enter=\"Enter\",e.Escape=\"Escape\",e.Backspace=\"Backspace\",e.Delete=\"Delete\",e.ArrowLeft=\"ArrowLeft\",e.ArrowUp=\"ArrowUp\",e.ArrowRight=\"ArrowRight\",e.ArrowDown=\"ArrowDown\",e.Home=\"Home\",e.End=\"End\",e.PageUp=\"PageUp\",e.PageDown=\"PageDown\",e.Tab=\"Tab\",e))(se||{});var Fg=(e=>(e[e.Open=0]=\"Open\",e[e.Closed=1]=\"Closed\",e))(Fg||{}),Dg=(e=>(e[e.Single=0]=\"Single\",e[e.Multi=1]=\"Multi\",e))(Dg||{}),Hg=(e=>(e[e.Pointer=0]=\"Pointer\",e[e.Focus=1]=\"Focus\",e[e.Other=2]=\"Other\",e))(Hg||{}),_g=(e=>(e[e.OpenCombobox=0]=\"OpenCombobox\",e[e.CloseCombobox=1]=\"CloseCombobox\",e[e.GoToOption=2]=\"GoToOption\",e[e.RegisterOption=3]=\"RegisterOption\",e[e.UnregisterOption=4]=\"UnregisterOption\",e[e.RegisterLabel=5]=\"RegisterLabel\",e[e.SetActivationTrigger=6]=\"SetActivationTrigger\",e[e.UpdateVirtualOptions=7]=\"UpdateVirtualOptions\",e))(_g||{});function pr(e,t=o=>o){let o=e.activeOptionIndex!==null?e.options[e.activeOptionIndex]:null,n=t(e.options.slice()),r=n.length>0&&n[0].dataRef.current.order!==null?n.sort((l,s)=>l.dataRef.current.order-s.dataRef.current.order):Sc(n,l=>l.dataRef.current.domRef.current),a=o?r.indexOf(o):null;return a===-1&&(a=null),{options:r,activeOptionIndex:a}}var Wg={1(e){var t;return(t=e.dataRef.current)!=null&&t.disabled||e.comboboxState===1?e:c(i({},e),{activeOptionIndex:null,comboboxState:1})},0(e){var t,o;if((t=e.dataRef.current)!=null&&t.disabled||e.comboboxState===0)return e;if((o=e.dataRef.current)!=null&&o.value){let n=e.dataRef.current.calculateIndex(e.dataRef.current.value);if(n!==-1)return c(i({},e),{activeOptionIndex:n,comboboxState:0})}return c(i({},e),{comboboxState:0})},2(e,t){var o,n,r,a,l;if((o=e.dataRef.current)!=null&&o.disabled||(n=e.dataRef.current)!=null&&n.optionsRef.current&&!((r=e.dataRef.current)!=null&&r.optionsPropsRef.current.static)&&e.comboboxState===1)return e;if(e.virtual){let m=t.focus===j.Specific?t.idx:cr(t,{resolveItems:()=>e.virtual.options,resolveActiveIndex:()=>{var b,f;return(f=(b=e.activeOptionIndex)!=null?b:e.virtual.options.findIndex(h=>!e.virtual.disabled(h)))!=null?f:null},resolveDisabled:e.virtual.disabled,resolveId(){throw new Error(\"Function not implemented.\")}}),g=(a=t.trigger)!=null?a:2;return e.activeOptionIndex===m&&e.activationTrigger===g?e:c(i({},e),{activeOptionIndex:m,activationTrigger:g})}let s=pr(e);if(s.activeOptionIndex===null){let m=s.options.findIndex(g=>!g.dataRef.current.disabled);m!==-1&&(s.activeOptionIndex=m)}let p=t.focus===j.Specific?t.idx:cr(t,{resolveItems:()=>s.options,resolveActiveIndex:()=>s.activeOptionIndex,resolveId:m=>m.id,resolveDisabled:m=>m.dataRef.current.disabled}),u=(l=t.trigger)!=null?l:2;return e.activeOptionIndex===p&&e.activationTrigger===u?e:c(i(i({},e),s),{activeOptionIndex:p,activationTrigger:u})},3:(e,t)=>{var o,n,r;if((o=e.dataRef.current)!=null&&o.virtual)return c(i({},e),{options:[...e.options,t.payload]});let a=t.payload,l=pr(e,p=>(p.push(a),p));e.activeOptionIndex===null&&(n=e.dataRef.current)!=null&&n.isSelected(t.payload.dataRef.current.value)&&(l.activeOptionIndex=l.options.indexOf(a));let s=c(i(i({},e),l),{activationTrigger:2});return(r=e.dataRef.current)!=null&&r.__demoMode&&e.dataRef.current.value===void 0&&(s.activeOptionIndex=0),s},4:(e,t)=>{var o;if((o=e.dataRef.current)!=null&&o.virtual)return c(i({},e),{options:e.options.filter(r=>r.id!==t.id)});let n=pr(e,r=>{let a=r.findIndex(l=>l.id===t.id);return a!==-1&&r.splice(a,1),r});return c(i(i({},e),n),{activationTrigger:2})},5:(e,t)=>e.labelId===t.id?e:c(i({},e),{labelId:t.id}),6:(e,t)=>e.activationTrigger===t.trigger?e:c(i({},e),{activationTrigger:t.trigger}),7:(e,t)=>{var o;if(((o=e.virtual)==null?void 0:o.options)===t.options)return e;let n=e.activeOptionIndex;if(e.activeOptionIndex!==null){let r=t.options.indexOf(e.virtual.options[e.activeOptionIndex]);r!==-1?n=r:n=null}return c(i({},e),{activeOptionIndex:n,virtual:Object.assign({},e.virtual,{options:t.options})})}},fr=ur(null);fr.displayName=\"ComboboxActionsContext\";function Bt(e){let t=mr(fr);if(t===null){let o=new Error(`<${e} /> is missing a parent <Combobox /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(o,Bt),o}return t}var Fc=ur(null);function Kg(e){var t;let o=tt(\"VirtualProvider\"),[n,r]=Ie(()=>{let p=o.optionsRef.current;if(!p)return[0,0];let u=window.getComputedStyle(p);return[parseFloat(u.paddingBlockStart||u.paddingTop),parseFloat(u.paddingBlockEnd||u.paddingBottom)]},[o.optionsRef.current]),a=fc({scrollPaddingStart:n,scrollPaddingEnd:r,count:o.virtual.options.length,estimateSize(){return 40},getScrollElement(){var p;return(p=o.optionsRef.current)!=null?p:null},overscan:12}),[l,s]=Bg(0);return q(()=>{s(p=>p+1)},[(t=o.virtual)==null?void 0:t.options]),Ce.createElement(Fc.Provider,{value:a},Ce.createElement(\"div\",{style:{position:\"relative\",width:\"100%\",height:`${a.getTotalSize()}px`},ref:p=>{if(p){if(typeof process!=\"undefined\"&&process.env.JEST_WORKER_ID!==void 0||o.activationTrigger===0)return;o.activeOptionIndex!==null&&o.virtual.options.length>o.activeOptionIndex&&a.scrollToIndex(o.activeOptionIndex)}}},a.getVirtualItems().map(p=>{var u;return Ce.createElement(Bc,{key:p.key},Ce.cloneElement((u=e.children)==null?void 0:u.call(e,{option:o.virtual.options[p.index],open:o.comboboxState===0}),{key:`${l}-${p.key}`,\"data-index\":p.index,\"aria-setsize\":o.virtual.options.length,\"aria-posinset\":p.index+1,style:{position:\"absolute\",top:0,left:0,transform:`translateY(${p.start}px)`,overflowAnchor:\"none\"}}))})))}var wr=ur(null);wr.displayName=\"ComboboxDataContext\";function tt(e){let t=mr(wr);if(t===null){let o=new Error(`<${e} /> is missing a parent <Combobox /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(o,tt),o}return t}function Ug(e,t){return Q(t.type,Wg,e,t)}var $g=Bc;function qg(e,t){var o;let Br=e,{value:n,defaultValue:r,onChange:a,form:l,name:s,by:p=null,disabled:u=!1,__demoMode:m=!1,nullable:g=!1,multiple:b=!1,immediate:f=!1,virtual:h=null}=Br,y=d(Br,[\"value\",\"defaultValue\",\"onChange\",\"form\",\"name\",\"by\",\"disabled\",\"__demoMode\",\"nullable\",\"multiple\",\"immediate\",\"virtual\"]),S=!1,x=null,[C=b?[]:void 0,M]=wc(n,a,r),[T,G]=Og(Ug,{dataRef:Lg(),comboboxState:m?0:1,options:[],virtual:x?{options:x.options,disabled:(o=x.disabled)!=null?o:()=>!1}:null,activeOptionIndex:null,activationTrigger:2,labelId:null}),N=be(!1),A=be({static:!1,hold:!1}),F=be(null),P=be(null),I=be(null),E=be(null),R=L(typeof p==\"string\"?(B,W)=>{let ae=p;return(B==null?void 0:B[ae])===(W==null?void 0:W[ae])}:p!=null?p:(B,W)=>B===W),O=L(B=>x?p===null?x.options.indexOf(B):x.options.findIndex(W=>R(W,B)):T.options.findIndex(W=>R(W.dataRef.current.value,B))),Z=Ag(B=>Q(V.mode,{1:()=>C.some(W=>R(W,B)),0:()=>R(C,B)}),[C]),U=L(B=>T.activeOptionIndex===O(B)),V=Ie(()=>c(i({},T),{immediate:S,optionsPropsRef:A,labelRef:F,inputRef:P,buttonRef:I,optionsRef:E,value:C,defaultValue:r,disabled:u,mode:b?1:0,virtual:T.virtual,get activeOptionIndex(){if(N.current&&T.activeOptionIndex===null&&(x?x.options.length>0:T.options.length>0)){if(x){let W=x.options.findIndex(ae=>{var Ze,Et;return!((Et=(Ze=x==null?void 0:x.disabled)==null?void 0:Ze.call(x,ae))!=null&&Et)});if(W!==-1)return W}let B=T.options.findIndex(W=>!W.dataRef.current.disabled);if(B!==-1)return B}return T.activeOptionIndex},calculateIndex:O,compare:R,isSelected:Z,isActive:U,nullable:g,__demoMode:m}),[C,r,u,b,g,m,T,x]);q(()=>{x&&G({type:7,options:x.options})},[x,x==null?void 0:x.options]),q(()=>{T.dataRef.current=V},[V]),Vc([V.buttonRef,V.inputRef,V.optionsRef],()=>_o.closeCombobox(),V.comboboxState===0);let X=Ie(()=>{var B,W,ae;return{open:V.comboboxState===0,disabled:u,activeIndex:V.activeOptionIndex,activeOption:V.activeOptionIndex===null?null:V.virtual?V.virtual.options[(B=V.activeOptionIndex)!=null?B:0]:(ae=(W=V.options[V.activeOptionIndex])==null?void 0:W.dataRef.current.value)!=null?ae:null,value:C}},[V,u,C]),Y=L(()=>{if(V.activeOptionIndex!==null){if(V.virtual)lt(V.virtual.options[V.activeOptionIndex]);else{let{dataRef:B}=V.options[V.activeOptionIndex];lt(B.current.value)}_o.goToOption(j.Specific,V.activeOptionIndex)}}),H=L(()=>{G({type:0}),N.current=!0}),$=L(()=>{G({type:1}),N.current=!1}),_=L((B,W,ae)=>(N.current=!1,B===j.Specific?G({type:2,focus:j.Specific,idx:W,trigger:ae}):G({type:2,focus:B,trigger:ae}))),ie=L((B,W)=>(G({type:3,payload:{id:B,dataRef:W}}),()=>{V.isActive(W.current.value)&&(N.current=!0),G({type:4,id:B})})),Ho=L(B=>(G({type:5,id:B}),()=>G({type:5,id:null}))),lt=L(B=>Q(V.mode,{0(){return M==null?void 0:M(B)},1(){let W=V.value.slice(),ae=W.findIndex(Ze=>R(Ze,B));return ae===-1?W.push(B):W.splice(ae,1),M==null?void 0:M(W)}})),Se=L(B=>{G({type:6,trigger:B})}),_o=Ie(()=>({onChange:lt,registerOption:ie,registerLabel:Ho,goToOption:_,closeCombobox:$,openCombobox:H,setActivationTrigger:Se,selectActiveOption:Y}),[]),Nd=t===null?{}:{ref:t},Wt=be(null),kd=He();return zg(()=>{Wt.current&&r!==void 0&&kd.addEventListener(Wt.current,\"reset\",()=>{M==null||M(r)})},[Wt,M]),Ce.createElement(fr.Provider,{value:_o},Ce.createElement(wr.Provider,{value:V},Ce.createElement(Co,{value:Q(V.comboboxState,{0:le.Open,1:le.Closed})},s!=null&&C!=null&&dr({[s]:C}).map(([B,W],ae)=>Ce.createElement(kc,i({features:ir.Hidden,ref:ae===0?Ze=>{var Et;Wt.current=(Et=Ze==null?void 0:Ze.closest(\"form\"))!=null?Et:null}:void 0},Go({key:B,as:\"input\",type:\"hidden\",hidden:!0,readOnly:!0,form:l,disabled:u,name:B,value:W})))),ge({ourProps:Nd,theirProps:y,slot:X,defaultTag:$g,name:\"Combobox\"}))))}var Zg=\"input\";function Xg(e,t){var o,n,r,a,l;let s=ht(),U=e,{id:p=`headlessui-combobox-input-${s}`,onChange:u,displayValue:m,type:g=\"text\"}=U,b=d(U,[\"id\",\"onChange\",\"displayValue\",\"type\"]),f=tt(\"Combobox.Input\"),h=Bt(\"Combobox.Input\"),y=Pe(f.inputRef,t),S=Pc(f.inputRef),x=be(!1),C=He(),M=L(()=>{h.onChange(null),f.optionsRef.current&&(f.optionsRef.current.scrollTop=0),h.goToOption(j.Nothing)}),T=function(){var V;return typeof m==\"function\"&&f.value!==void 0?(V=m(f.value))!=null?V:\"\":typeof f.value==\"string\"?f.value:\"\"}();nr(([V,X],[Y,H])=>{if(x.current)return;let $=f.inputRef.current;$&&((H===0&&X===1||V!==Y)&&($.value=V),requestAnimationFrame(()=>{if(x.current||!$||(S==null?void 0:S.activeElement)!==$)return;let{selectionStart:_,selectionEnd:ie}=$;Math.abs((ie!=null?ie:0)-(_!=null?_:0))===0&&_===0&&$.setSelectionRange($.value.length,$.value.length)}))},[T,f.comboboxState,S]),nr(([V],[X])=>{if(V===0&&X===1){if(x.current)return;let Y=f.inputRef.current;if(!Y)return;let H=Y.value,{selectionStart:$,selectionEnd:_,selectionDirection:ie}=Y;Y.value=\"\",Y.value=H,ie!==null?Y.setSelectionRange($,_,ie):Y.setSelectionRange($,_)}},[f.comboboxState]);let G=be(!1),N=L(()=>{G.current=!0}),A=L(()=>{C.nextFrame(()=>{G.current=!1})}),F=L(V=>{switch(x.current=!0,V.key){case se.Enter:if(x.current=!1,f.comboboxState!==0||G.current)return;if(V.preventDefault(),V.stopPropagation(),f.activeOptionIndex===null){h.closeCombobox();return}h.selectActiveOption(),f.mode===0&&h.closeCombobox();break;case se.ArrowDown:return x.current=!1,V.preventDefault(),V.stopPropagation(),Q(f.comboboxState,{0:()=>h.goToOption(j.Next),1:()=>h.openCombobox()});case se.ArrowUp:return x.current=!1,V.preventDefault(),V.stopPropagation(),Q(f.comboboxState,{0:()=>h.goToOption(j.Previous),1:()=>{h.openCombobox(),C.nextFrame(()=>{f.value||h.goToOption(j.Last)})}});case se.Home:if(V.shiftKey)break;return x.current=!1,V.preventDefault(),V.stopPropagation(),h.goToOption(j.First);case se.PageUp:return x.current=!1,V.preventDefault(),V.stopPropagation(),h.goToOption(j.First);case se.End:if(V.shiftKey)break;return x.current=!1,V.preventDefault(),V.stopPropagation(),h.goToOption(j.Last);case se.PageDown:return x.current=!1,V.preventDefault(),V.stopPropagation(),h.goToOption(j.Last);case se.Escape:return x.current=!1,f.comboboxState!==0?void 0:(V.preventDefault(),f.optionsRef.current&&!f.optionsPropsRef.current.static&&V.stopPropagation(),f.nullable&&f.mode===0&&f.value===null&&M(),h.closeCombobox());case se.Tab:if(x.current=!1,f.comboboxState!==0)return;f.mode===0&&f.activationTrigger!==1&&h.selectActiveOption(),h.closeCombobox();break}}),P=L(V=>{u==null||u(V),f.nullable&&f.mode===0&&V.target.value===\"\"&&M(),h.openCombobox()}),I=L(V=>{var X,Y,H;let $=(X=V.relatedTarget)!=null?X:_e.find(_=>_!==V.currentTarget);if(x.current=!1,!((Y=f.optionsRef.current)!=null&&Y.contains($))&&!((H=f.buttonRef.current)!=null&&H.contains($))&&f.comboboxState===0)return V.preventDefault(),f.mode===0&&(f.nullable&&f.value===null?M():f.activationTrigger!==1&&h.selectActiveOption()),h.closeCombobox()}),E=L(V=>{var X,Y,H;let $=(X=V.relatedTarget)!=null?X:_e.find(_=>_!==V.currentTarget);(Y=f.buttonRef.current)!=null&&Y.contains($)||(H=f.optionsRef.current)!=null&&H.contains($)||f.disabled||f.immediate&&f.comboboxState!==0&&(h.openCombobox(),C.nextFrame(()=>{h.setActivationTrigger(1)}))}),R=Ro(()=>{if(f.labelId)return[f.labelId].join(\" \")},[f.labelId]),O=Ie(()=>({open:f.comboboxState===0,disabled:f.disabled}),[f]),Z={ref:y,id:p,role:\"combobox\",type:g,\"aria-controls\":(o=f.optionsRef.current)==null?void 0:o.id,\"aria-expanded\":f.comboboxState===0,\"aria-activedescendant\":f.activeOptionIndex===null?void 0:f.virtual?(n=f.options.find(V=>{var X;return!((X=f.virtual)!=null&&X.disabled(V.dataRef.current.value))&&f.compare(V.dataRef.current.value,f.virtual.options[f.activeOptionIndex])}))==null?void 0:n.id:(r=f.options[f.activeOptionIndex])==null?void 0:r.id,\"aria-labelledby\":R,\"aria-autocomplete\":\"list\",defaultValue:(l=(a=e.defaultValue)!=null?a:f.defaultValue!==void 0?m==null?void 0:m(f.defaultValue):null)!=null?l:f.defaultValue,disabled:f.disabled,onCompositionStart:N,onCompositionEnd:A,onKeyDown:F,onChange:P,onFocus:E,onBlur:I};return ge({ourProps:Z,theirProps:b,slot:O,defaultTag:Zg,name:\"Combobox.Input\"})}var Yg=\"button\";function Jg(e,t){var o;let n=tt(\"Combobox.Button\"),r=Bt(\"Combobox.Button\"),a=Pe(n.buttonRef,t),l=ht(),y=e,{id:s=`headlessui-combobox-button-${l}`}=y,p=d(y,[\"id\"]),u=He(),m=L(S=>{switch(S.key){case se.ArrowDown:return S.preventDefault(),S.stopPropagation(),n.comboboxState===1&&r.openCombobox(),u.nextFrame(()=>{var x;return(x=n.inputRef.current)==null?void 0:x.focus({preventScroll:!0})});case se.ArrowUp:return S.preventDefault(),S.stopPropagation(),n.comboboxState===1&&(r.openCombobox(),u.nextFrame(()=>{n.value||r.goToOption(j.Last)})),u.nextFrame(()=>{var x;return(x=n.inputRef.current)==null?void 0:x.focus({preventScroll:!0})});case se.Escape:return n.comboboxState!==0?void 0:(S.preventDefault(),n.optionsRef.current&&!n.optionsPropsRef.current.static&&S.stopPropagation(),r.closeCombobox(),u.nextFrame(()=>{var x;return(x=n.inputRef.current)==null?void 0:x.focus({preventScroll:!0})}));default:return}}),g=L(S=>{if(Ac(S.currentTarget))return S.preventDefault();n.comboboxState===0?r.closeCombobox():(S.preventDefault(),r.openCombobox()),u.nextFrame(()=>{var x;return(x=n.inputRef.current)==null?void 0:x.focus({preventScroll:!0})})}),b=Ro(()=>{if(n.labelId)return[n.labelId,s].join(\" \")},[n.labelId,s]),f=Ie(()=>({open:n.comboboxState===0,disabled:n.disabled,value:n.value}),[n]),h={ref:a,id:s,type:Cc(e,n.buttonRef),tabIndex:-1,\"aria-haspopup\":\"listbox\",\"aria-controls\":(o=n.optionsRef.current)==null?void 0:o.id,\"aria-expanded\":n.comboboxState===0,\"aria-labelledby\":b,disabled:n.disabled,onClick:g,onKeyDown:m};return ge({ourProps:h,theirProps:p,slot:f,defaultTag:Yg,name:\"Combobox.Button\"})}var Qg=\"label\";function jg(e,t){let o=ht(),m=e,{id:n=`headlessui-combobox-label-${o}`}=m,r=d(m,[\"id\"]),a=tt(\"Combobox.Label\"),l=Bt(\"Combobox.Label\"),s=Pe(a.labelRef,t);q(()=>l.registerLabel(n),[n]);let p=L(()=>{var g;return(g=a.inputRef.current)==null?void 0:g.focus({preventScroll:!0})}),u=Ie(()=>({open:a.comboboxState===0,disabled:a.disabled}),[a]);return ge({ourProps:{ref:s,id:n,onClick:p},theirProps:r,slot:u,defaultTag:Qg,name:\"Combobox.Label\"})}var e4=\"ul\",t4=xt.RenderStrategy|xt.Static;function o4(e,t){let o=ht(),f=e,{id:n=`headlessui-combobox-options-${o}`,hold:r=!1}=f,a=d(f,[\"id\",\"hold\"]),l=tt(\"Combobox.Options\"),s=Pe(l.optionsRef,t),p=Ot(),u=p!==null?(p&le.Open)===le.Open:l.comboboxState===0;q(()=>{var h;l.optionsPropsRef.current.static=(h=e.static)!=null?h:!1},[l.optionsPropsRef,e.static]),q(()=>{l.optionsPropsRef.current.hold=r},[l.optionsPropsRef,r]),Tc({container:l.optionsRef.current,enabled:l.comboboxState===0,accept(h){return h.getAttribute(\"role\")===\"option\"?NodeFilter.FILTER_REJECT:h.hasAttribute(\"role\")?NodeFilter.FILTER_SKIP:NodeFilter.FILTER_ACCEPT},walk(h){h.setAttribute(\"role\",\"none\")}});let m=Ro(()=>{var h,y;return(y=l.labelId)!=null?y:(h=l.buttonRef.current)==null?void 0:h.id},[l.labelId,l.buttonRef.current]),g=Ie(()=>({open:l.comboboxState===0,option:void 0}),[l]),b={\"aria-labelledby\":m,role:\"listbox\",\"aria-multiselectable\":l.mode===1?!0:void 0,id:n,ref:s};return l.virtual&&l.comboboxState===0&&Object.assign(a,{children:Ce.createElement(Kg,null,a.children)}),ge({ourProps:b,theirProps:a,slot:g,defaultTag:e4,features:t4,visible:u,name:\"Combobox.Options\"})}var r4=\"li\";function n4(e,t){var o;let n=ht(),I=e,{id:r=`headlessui-combobox-option-${n}`,disabled:a=!1,value:l,order:s=null}=I,p=d(I,[\"id\",\"disabled\",\"value\",\"order\"]),u=tt(\"Combobox.Option\"),m=Bt(\"Combobox.Option\"),g=u.virtual?u.activeOptionIndex===u.calculateIndex(l):u.activeOptionIndex===null?!1:((o=u.options[u.activeOptionIndex])==null?void 0:o.id)===r,b=u.isSelected(l),f=be(null),h=re({disabled:a,value:l,domRef:f,order:s}),y=mr(Fc),S=Pe(t,f,y?y.measureElement:null),x=L(()=>m.onChange(l));q(()=>m.registerOption(r,h),[h,r]);let C=be(!(u.virtual||u.__demoMode));q(()=>{if(!u.virtual||!u.__demoMode)return;let E=ve();return E.requestAnimationFrame(()=>{C.current=!0}),E.dispose},[u.virtual,u.__demoMode]),q(()=>{if(!C.current||u.comboboxState!==0||!g||u.activationTrigger===0)return;let E=ve();return E.requestAnimationFrame(()=>{var R,O;(O=(R=f.current)==null?void 0:R.scrollIntoView)==null||O.call(R,{block:\"nearest\"})}),E.dispose},[f,g,u.comboboxState,u.activationTrigger,u.activeOptionIndex]);let M=L(E=>{var R;if(a||(R=u.virtual)!=null&&R.disabled(l))return E.preventDefault();x(),Vo()||requestAnimationFrame(()=>{var O;return(O=u.inputRef.current)==null?void 0:O.focus({preventScroll:!0})}),u.mode===0&&requestAnimationFrame(()=>m.closeCombobox())}),T=L(()=>{var E;if(a||(E=u.virtual)!=null&&E.disabled(l))return m.goToOption(j.Nothing);let R=u.calculateIndex(l);m.goToOption(j.Specific,R)}),G=Ec(),N=L(E=>G.update(E)),A=L(E=>{var R;if(!G.wasMoved(E)||a||(R=u.virtual)!=null&&R.disabled(l)||g)return;let O=u.calculateIndex(l);m.goToOption(j.Specific,O,0)}),F=L(E=>{var R;G.wasMoved(E)&&(a||(R=u.virtual)!=null&&R.disabled(l)||g&&(u.optionsPropsRef.current.hold||m.goToOption(j.Nothing)))}),P=Ie(()=>({active:g,selected:b,disabled:a}),[g,b,a]);return ge({ourProps:{id:r,ref:S,role:\"option\",tabIndex:a===!0?void 0:-1,\"aria-disabled\":a===!0?!0:void 0,\"aria-selected\":b,disabled:void 0,onClick:M,onFocus:T,onPointerEnter:N,onMouseEnter:N,onPointerMove:A,onMouseMove:A,onPointerLeave:F,onMouseLeave:F},theirProps:p,slot:P,defaultTag:r4,name:\"Combobox.Option\"})}var a4=ue(qg),l4=ue(Jg),i4=ue(Xg),s4=ue(jg),c4=ue(o4),d4=ue(n4),St=Object.assign(a4,{Input:i4,Button:l4,Label:s4,Options:c4,Option:d4});import{useRef as p4}from\"react\";function yt(){let e=p4(!1);return q(()=>(e.current=!0,()=>{e.current=!1}),[]),e}import{useCallback as Io,useState as u4}from\"react\";function Dc(e=0){let[t,o]=u4(e),n=yt(),r=Io(p=>{n.current&&o(u=>u|p)},[t,n]),a=Io(p=>!!(t&p),[t]),l=Io(p=>{n.current&&o(u=>u&~p)},[o,n]),s=Io(p=>{n.current&&o(u=>u^p)},[o]);return{flags:t,addFlag:r,hasFlag:a,removeFlag:l,toggleFlag:s}}import Ee,{createContext as $c,Fragment as Kc,useContext as xr,useEffect as Ft,useMemo as qc,useRef as Me,useState as vr}from\"react\";function Hc(e){let t={called:!1};return(...o)=>{if(!t.called)return t.called=!0,e(...o)}}function gr(e,...t){e&&t.length>0&&e.classList.add(...t)}function hr(e,...t){e&&t.length>0&&e.classList.remove(...t)}function m4(e,t){let o=ve();if(!e)return o.dispose;let{transitionDuration:n,transitionDelay:r}=getComputedStyle(e),[a,l]=[n,r].map(p=>{let[u=0]=p.split(\",\").filter(Boolean).map(m=>m.includes(\"ms\")?parseFloat(m):parseFloat(m)*1e3).sort((m,g)=>g-m);return u}),s=a+l;if(s!==0){o.group(u=>{u.setTimeout(()=>{t(),u.dispose()},s),u.addEventListener(e,\"transitionrun\",m=>{m.target===m.currentTarget&&u.dispose()})});let p=o.addEventListener(e,\"transitionend\",u=>{u.target===u.currentTarget&&(t(),p())})}else t();return o.add(()=>t()),o.dispose}function _c(e,t,o,n){let r=o?\"enter\":\"leave\",a=ve(),l=n!==void 0?Hc(n):()=>{};r===\"enter\"&&(e.removeAttribute(\"hidden\"),e.style.display=\"\");let s=Q(r,{enter:()=>t.enter,leave:()=>t.leave}),p=Q(r,{enter:()=>t.enterTo,leave:()=>t.leaveTo}),u=Q(r,{enter:()=>t.enterFrom,leave:()=>t.leaveFrom});return hr(e,...t.base,...t.enter,...t.enterTo,...t.enterFrom,...t.leave,...t.leaveFrom,...t.leaveTo,...t.entered),gr(e,...t.base,...s,...u),a.nextFrame(()=>{hr(e,...t.base,...s,...u),gr(e,...t.base,...s,...p),m4(e,()=>(hr(e,...t.base,...s),gr(e,...t.base,...t.entered),l()))}),a.dispose}function Wc({immediate:e,container:t,direction:o,classes:n,onStart:r,onStop:a}){let l=yt(),s=He(),p=re(o);q(()=>{e&&(p.current=\"enter\")},[e]),q(()=>{let u=ve();s.add(u.dispose);let m=t.current;if(m&&p.current!==\"idle\"&&l.current)return u.dispose(),r.current(p.current),u.add(_c(m,n.current,p.current===\"enter\",()=>{u.dispose(),a.current(p.current)})),u.dispose},[o])}function We(e=\"\"){return e.split(/\\s+/).filter(t=>t.length>1)}var Eo=$c(null);Eo.displayName=\"TransitionContext\";var f4=(e=>(e.Visible=\"visible\",e.Hidden=\"hidden\",e))(f4||{});function w4(){let e=xr(Eo);if(e===null)throw new Error(\"A <Transition.Child /> is used but it is missing a parent <Transition /> or <Transition.Root />.\");return e}function g4(){let e=xr(Mo);if(e===null)throw new Error(\"A <Transition.Child /> is used but it is missing a parent <Transition /> or <Transition.Root />.\");return e}var Mo=$c(null);Mo.displayName=\"NestingContext\";function To(e){return\"children\"in e?To(e.children):e.current.filter(({el:t})=>t.current!==null).filter(({state:t})=>t===\"visible\").length>0}function Zc(e,t){let o=re(e),n=Me([]),r=yt(),a=He(),l=L((f,h=Ge.Hidden)=>{let y=n.current.findIndex(({el:S})=>S===f);y!==-1&&(Q(h,{[Ge.Unmount](){n.current.splice(y,1)},[Ge.Hidden](){n.current[y].state=\"hidden\"}}),a.microTask(()=>{var S;!To(n)&&r.current&&((S=o.current)==null||S.call(o))}))}),s=L(f=>{let h=n.current.find(({el:y})=>y===f);return h?h.state!==\"visible\"&&(h.state=\"visible\"):n.current.push({el:f,state:\"visible\"}),()=>l(f,Ge.Unmount)}),p=Me([]),u=Me(Promise.resolve()),m=Me({enter:[],leave:[],idle:[]}),g=L((f,h,y)=>{p.current.splice(0),t&&(t.chains.current[h]=t.chains.current[h].filter(([S])=>S!==f)),t==null||t.chains.current[h].push([f,new Promise(S=>{p.current.push(S)})]),t==null||t.chains.current[h].push([f,new Promise(S=>{Promise.all(m.current[h].map(([x,C])=>C)).then(()=>S())})]),h===\"enter\"?u.current=u.current.then(()=>t==null?void 0:t.wait.current).then(()=>y(h)):y(h)}),b=L((f,h,y)=>{Promise.all(m.current[h].splice(0).map(([S,x])=>x)).then(()=>{var S;(S=p.current.shift())==null||S()}).then(()=>y(h))});return qc(()=>({children:n,register:s,unregister:l,onStart:g,onStop:b,wait:u,chains:m}),[s,l,n,g,b,m,u])}function h4(){}var v4=[\"beforeEnter\",\"afterEnter\",\"beforeLeave\",\"afterLeave\"];function Uc(e){var t;let o={};for(let n of v4)o[n]=(t=e[n])!=null?t:h4;return o}function b4(e){let t=Me(Uc(e));return Ft(()=>{t.current=Uc(e)},[e]),t}var x4=\"div\",Xc=xt.RenderStrategy;function S4(e,t){var o,n;let lt=e,{beforeEnter:r,afterEnter:a,beforeLeave:l,afterLeave:s,enter:p,enterFrom:u,enterTo:m,entered:g,leave:b,leaveFrom:f,leaveTo:h}=lt,y=d(lt,[\"beforeEnter\",\"afterEnter\",\"beforeLeave\",\"afterLeave\",\"enter\",\"enterFrom\",\"enterTo\",\"entered\",\"leave\",\"leaveFrom\",\"leaveTo\"]),S=Me(null),x=Pe(S,t),C=(o=y.unmount)==null||o?Ge.Unmount:Ge.Hidden,{show:M,appear:T,initial:G}=w4(),[N,A]=vr(M?\"visible\":\"hidden\"),F=g4(),{register:P,unregister:I}=F;Ft(()=>P(S),[P,S]),Ft(()=>{if(C===Ge.Hidden&&S.current){if(M&&N!==\"visible\"){A(\"visible\");return}return Q(N,{hidden:()=>I(S),visible:()=>P(S)})}},[N,S,P,I,M,C]);let E=re({base:We(y.className),enter:We(p),enterFrom:We(u),enterTo:We(m),entered:We(g),leave:We(b),leaveFrom:We(f),leaveTo:We(h)}),R=b4({beforeEnter:r,afterEnter:a,beforeLeave:l,afterLeave:s}),O=At();Ft(()=>{if(O&&N===\"visible\"&&S.current===null)throw new Error(\"Did you forget to passthrough the `ref` to the actual DOM node?\")},[S,N,O]);let Z=G&&!T,U=T&&M&&G,V=!O||Z?\"idle\":M?\"enter\":\"leave\",X=Dc(0),Y=L(Se=>Q(Se,{enter:()=>{X.addFlag(le.Opening),R.current.beforeEnter()},leave:()=>{X.addFlag(le.Closing),R.current.beforeLeave()},idle:()=>{}})),H=L(Se=>Q(Se,{enter:()=>{X.removeFlag(le.Opening),R.current.afterEnter()},leave:()=>{X.removeFlag(le.Closing),R.current.afterLeave()},idle:()=>{}})),$=Zc(()=>{A(\"hidden\"),I(S)},F),_=Me(!1);Wc({immediate:U,container:S,classes:E,direction:V,onStart:re(Se=>{_.current=!0,$.onStart(S,Se,Y)}),onStop:re(Se=>{_.current=!1,$.onStop(S,Se,H),Se===\"leave\"&&!To($)&&(A(\"hidden\"),I(S))})});let ie=y,Ho={ref:x};return U?ie=c(i({},ie),{className:bt(y.className,...E.current.enter,...E.current.enterFrom)}):_.current&&(ie.className=bt(y.className,(n=S.current)==null?void 0:n.className),ie.className===\"\"&&delete ie.className),Ee.createElement(Mo.Provider,{value:$},Ee.createElement(Co,{value:Q(N,{visible:le.Open,hidden:le.Closed})|X.flags},ge({ourProps:Ho,theirProps:ie,defaultTag:x4,features:Xc,visible:N===\"visible\",name:\"Transition.Child\"})))}function y4(e,t){let M=e,{show:o,appear:n=!1,unmount:r=!0}=M,a=d(M,[\"show\",\"appear\",\"unmount\"]),l=Me(null),s=Pe(l,t);At();let p=Ot();if(o===void 0&&p!==null&&(o=(p&le.Open)===le.Open),![!0,!1].includes(o))throw new Error(\"A <Transition /> is used but it is missing a `show={true | false}` prop.\");let[u,m]=vr(o?\"visible\":\"hidden\"),g=Zc(()=>{m(\"hidden\")}),[b,f]=vr(!0),h=Me([o]);q(()=>{b!==!1&&h.current[h.current.length-1]!==o&&(h.current.push(o),f(!1))},[h,o]);let y=qc(()=>({show:o,appear:n,initial:b}),[o,n,b]);Ft(()=>{if(o)m(\"visible\");else if(!To(g))m(\"hidden\");else{let T=l.current;if(!T)return;let G=T.getBoundingClientRect();G.x===0&&G.y===0&&G.width===0&&G.height===0&&m(\"hidden\")}},[o,g]);let S={unmount:r},x=L(()=>{var T;b&&f(!1),(T=e.beforeEnter)==null||T.call(e)}),C=L(()=>{var T;b&&f(!1),(T=e.beforeLeave)==null||T.call(e)});return Ee.createElement(Mo.Provider,{value:g},Ee.createElement(Eo.Provider,{value:y},ge({ourProps:c(i({},S),{as:Kc,children:Ee.createElement(Yc,c(i(i({ref:s},S),a),{beforeEnter:x,beforeLeave:C}))}),theirProps:{},defaultTag:Kc,features:Xc,visible:u===\"visible\",name:\"Transition\"})))}function R4(e,t){let o=xr(Eo)!==null,n=Ot()!==null;return Ee.createElement(Ee.Fragment,null,!o&&n?Ee.createElement(br,i({ref:t},e)):Ee.createElement(Yc,i({ref:t},e)))}var br=ue(y4),Yc=ue(S4),V4=ue(R4),Jc=Object.assign(br,{Child:V4,Root:br});D();import{Fragment as C4,jsx as xe,jsxs as yr}from\"react/jsx-runtime\";var Sr=[{id:1,name:\"Wade Cooper\"},{id:2,name:\"Arlene Mccoy\"},{id:3,name:\"Devon Webb\"},{id:4,name:\"Tom Cook\"},{id:5,name:\"Tanya Fox\"},{id:6,name:\"Hellen Schmidt\"}],G4=()=>{let[e,t]=Qc(Sr[0]),[o,n]=Qc(\"\"),r=o===\"\"?Sr:Sr.filter(a=>a.name.toLowerCase().replace(/\\s+/g,\"\").includes(o.toLowerCase().replace(/\\s+/g,\"\")));return xe(St,{value:e,onChange:t,children:yr(\"div\",{className:\"tw-relative tw-mt-1\",children:[yr(\"div\",{className:\"tw-relative tw-w-full tw-cursor-default tw-overflow-hidden tw-rounded-lg tw-bg-white tw-text-left tw-shadow-md focus:tw-outline-none focus-visible:tw-ring-2 focus-visible:tw-ring-white focus-visible:tw-ring-opacity-75 focus-visible:tw-ring-offset-2 focus-visible:tw-ring-offset-teal-300 sm:tw-text-base\",children:[xe(St.Input,{className:\"tw-w-full tw-border-none tw-py-2 tw-pl-3 tw-pr-10 tw-leading-5 tw-text-gray-900 focus:tw-ring-0\",displayValue:a=>a.name,onChange:a=>n(a.target.value)}),xe(St.Button,{className:\"tw-absolute tw-inset-y-0 tw-right-0 tw-flex tw-items-center tw-pr-2\",children:xe(ze,{className:\"tw-h-[20px] tw-w-[20px] tw-text-gray-400\",\"aria-hidden\":\"true\"})})]}),xe(Jc,{as:P4,leave:\"transition ease-in duration-100\",leaveFrom:\"opacity-100\",leaveTo:\"opacity-0\",afterLeave:()=>n(\"\"),children:xe(St.Options,{className:\"tw-absolute tw-mt-1 tw-max-h-[240px] tw-w-full tw-overflow-auto tw-rounded-md tw-bg-white tw-py-1 tw-shadow-lg tw-ring-1 tw-ring-black tw-ring-opacity-5 focus:tw-outline-none\",children:r.length===0&&o!==\"\"?xe(\"div\",{className:\"tw-relative tw-cursor-default tw-select-none tw-py-2 tw-px-4 tw-text-gray-700\",children:\"Nothing found.\"}):r.map(a=>xe(St.Option,{className:({active:l})=>`tw-relative tw-cursor-default tw-select-none tw-py-2 tw-pl-10 tw-pr-4 ${l?\"tw-bg-emerald-60 tw-text-white\":\"tw-text-gray-90\"}`,value:a,children:({selected:l,active:s})=>yr(C4,{children:[xe(\"span\",{className:`tw-block tw-truncate ${l?\"tw-font-semibold\":\"tw-font-normal\"}`,children:a.name}),l?xe(\"span\",{className:`tw-absolute tw-inset-y-0 tw-left-0 tw-flex tw-items-center tw-pl-3 ${s?\"tw-text-white\":\"tw-text-emerald-60\"}`,children:xe(ct,{className:\"tw-h-[20px] tw-w-[20px]\",\"aria-hidden\":\"true\"})}):null]})},a.id))})})]})})};k();D();import*as No from\"@radix-ui/react-checkbox\";import{forwardRef as I4}from\"react\";import{jsx as Rt,jsxs as A4}from\"react/jsx-runtime\";var E4=\"data-[disabled]:tw-bg-gray-10 data-[disabled]:tw-border-gray-30 data-[disabled]:tw-cursor-not-allowed\",M4=\"data-[state=checked]:tw-bg-primary-700 data-[state=checked]:hover:tw-bg-primary-300 data-[state=checked]:tw-border-primary-700 data-[state=checked]:hover:tw-border-primary-300 data-[state=checked]:tw-text-white\",T4=\"data-[state=checked]:tw-bg-gray-30 data-[state=checked]:tw-border-gray-30 data-[state=checked]:hover:tw-bg-gray-30 data-[state=checked]:hover:tw-border-gray-30 data-[disabled]:tw-cursor-not-allowed\",N4=\"data-[state=checked]:tw-bg-error-500 data-[state=checked]:tw-border-error-500 data-[state=checked]:hover:tw-bg-error-500 data-[state=checked]:hover:tw-border-error-500 data-[state=checked]:tw-text-white\",k4=I4(({label:e,id:t,name:o,checked:n,defaultChecked:r,disabled:a,onCheckedChange:l,error:s},p)=>A4(\"div\",{className:\"tw-flex tw-items-center\",children:[Rt(No.Root,{ref:p,className:w(\"tw-flex tw-items-center tw-justify-center tw-h-4 tw-w-4 tw-shrink-0 tw-p-0\",\"tw-group tw-appearance-none\",\"tw-duration-200\",\"tw-bg-white\",\" tw-border tw-border-solid tw-border-gray-40 tw-rounded-xs tw-outline-none\",\"tw-leading-[0px]\",[s?N4:M4,a?[n?T4:E4]:[s?\"tw-border-error-500 hover:tw-border-error-500\":\"hover:tw-border-primary-700\"],n===\"indeterminate\"&&[a?\"tw-bg-gray-30 tw-border-gray-30\":\"tw-bg-primary-700 tw-border-primary-700 hover:tw-bg-primary-300 hover:tw-border-primary-300\"]]),checked:n!==void 0?n:void 0,defaultChecked:r,onCheckedChange:l,id:t,name:o,disabled:a,children:Rt(No.Indicator,{className:w(\"tw-text-white\"),children:n===\"indeterminate\"?Rt(io,{}):Rt($t,{})})}),e&&Rt(\"label\",{className:w(\"tw-text-base tw-font-normal\",\"tw-pl-2\",\"tw-cursor-pointer\",a?\"tw-text-gray-50 tw-cursor-not-allowed\":[s?\"tw-text-error-700\":\"tw-text-gray-80\"]),htmlFor:t,children:e})]})),L4=({children:e,placement:t=\"horizontal\",className:o})=>Rt(\"div\",{className:w(`tw-flex ${t===\"vertical\"?\"tw-flex-col tw-space-y-3\":\"tw-space-x-4 tw-items-center\"}`,o),children:e});k();import{useState as jc,useRef as z4,useMemo as O4,useId as B4,useEffect as F4,forwardRef as D4,useImperativeHandle as H4}from\"react\";import{jsx as Vt,jsxs as ed}from\"react/jsx-runtime\";var _4=D4(({id:e,name:t,value:o,defaultValue:n,onChange:r,onFocus:a,onBlur:l,autoHeight:s=!1,disabled:p=!1,readOnly:u=!1,maxLength:m,label:g,tooltip:b,className:f,inputClassName:h,hasError:y,errorText:S,placeholder:x,optionalText:C,blockIfLimitReached:M,tabIndex:T=0,counterText:G},N)=>{let A=e||B4(),F=`${A}-error`,P=`${A}-optional`,[I,E]=jc(!1),R=z4(null);H4(N,()=>R.current,[]);let[O,Z]=jc(0),U=()=>Kr(void 0,null,function*(){var H;yield Z(0),R.current?Z(((H=R.current)==null?void 0:H.scrollHeight)+4):Z(0)}),V=O4(()=>m&&o?`${m-o.length}`:`${m}`,[o,m]);F4(()=>(U(),window.addEventListener(\"resize\",U),()=>{window.removeEventListener(\"resize\",U)}),[s]);let X=o&&m?o.length>m:!1,Y=(H,$)=>{let _=[];return H&&_.push(F),$&&_.push(P),_.join(\" \")};return ed(Qe,{label:g,id:A,tooltip:b,className:f,disabled:p,children:[Vt(gt,{isTextArea:!0,focus:I,hasError:y,className:\"w-full\",disabled:p,children:Vt(\"textarea\",{name:t,ref:R,id:A,value:o,defaultValue:n,onChange:H=>{!p&&!u&&(r&&r(H),s&&U())},onFocus:H=>{E(!0),a&&a(H)},onBlur:H=>{E(!1),l&&l(H)},style:{\"--content-height\":s?`${O}px`:void 0},className:w(\"tw-grow tw-box-border\",\"tw-block tw-min-h-[64px] tw-px-3 tw-py-2.5\",s&&\"tw-h-[--content-height] tw-resize-none\",h),disabled:p,readOnly:u,maxLength:M?m:void 0,placeholder:x,\"aria-label\":g,\"aria-invalid\":y,\"aria-describedby\":`${Y(y,C)}`||void 0,tabIndex:p?-1:T})}),(y||C||m)&&ed(\"div\",{className:w(\"tw-flex tw-gap-x-8\",!C&&!y&&m&&\"tw-justify-end\"),children:[C&&!y&&Vt(Je,{id:P,children:C}),y&&Vt(Ye,{id:F,children:S}),m&&Vt(\"div\",{\"aria-live\":\"polite\",className:\"tw-text-gray-60 tw-text-sm tw-text-right tw-font-normal tw-shrink-0 tw-mt-1\",children:Vt(\"span\",{className:w(X&&\"text-red-60\"),children:G?G(V):V})})]})]})});k();import{jsx as K4}from\"react/jsx-runtime\";var W4=({children:e,className:t})=>K4(\"div\",{className:w(\"tw-flex tw-flex-col tw-gap-y-6\",t),children:e});k();import{jsx as $4}from\"react/jsx-runtime\";var U4=({className:e})=>$4(\"div\",{className:w(\"tw-inline-block tw-w-px tw-bg-gray-30\",e)});import{jsx as Rr,jsxs as Z4}from\"react/jsx-runtime\";var q4=()=>Z4(\"div\",{role:\"status\",className:\"tw-max-w-md tw-animate-pulse\",children:[Rr(\"div\",{className:\"tw-flex tw-items-center tw-justify-between\",children:Rr(\"div\",{className:\"tw-h-4 tw-bg-gray-70 tw-rounded-md tw-w-full tw-mb-2.5\"})}),Rr(\"span\",{className:\"tw-sr-only\",children:\"Loading...\"})]});k();D();import X4,{useMemo as td}from\"react\";import{jsx as me}from\"react/jsx-runtime\";var Y4=[\"tw-bg-blue-60\",\"tw-bg-orange-50\",\"tw-bg-pink-50\",\"tw-bg-emerald-50\",\"tw-bg-gray-50\",\"tw-bg-green-80\",\"tw-bg-purple-40\",\"tw-bg-blue-70\",\"tw-bg-yellow-60\",\"tw-bg-gray-60\",\"tw-bg-blue-80\",\"tw-bg-green-50\",\"tw-bg-orange-60\",\"tw-bg-emerald-80\",\"tw-bg-yellow-90\",\"tw-bg-red-60\",\"tw-bg-pink-40\",\"tw-bg-purple-60\",\"tw-bg-yellow-100\",\"tw-bg-emerald-60\",\"tw-bg-yellow-80\",\"tw-bg-green-60\",\"tw-bg-pink-80\",\"tw-bg-purple-80\",\"tw-bg-yellow-70\",\"tw-bg-blue-60\",\"tw-bg-orange-50\",\"tw-bg-pink-50\",\"tw-bg-emerald-50\",\"tw-bg-gray-50\",\"tw-bg-purple-40\",\"tw-bg-yellow-60\",\"tw-bg-gray-60\",\"tw-bg-blue-80\",\"tw-bg-green-50\",\"tw-bg-orange-60\",\"tw-bg-red-60\",\"tw-bg-pink-40\",\"tw-bg-purple-60\",\"tw-bg-emerald-60\",\"tw-bg-green-60\",\"tw-bg-blue-60\",\"tw-bg-orange-50\",\"tw-bg-pink-50\",\"tw-bg-emerald-50\",\"tw-bg-gray-40\",\"tw-bg-green-40\",\"tw-bg-orange-100\",\"tw-bg-red-30\",\"tw-bg-orange-70\",\"tw-bg-green-70\",\"tw-bg-red-40\",\"tw-bg-yellow-50\",\"tw-bg-blue-40\",\"tw-bg-emerald-70\",\"tw-bg-purple-50\",\"tw-bg-gray-30\",\"tw-bg-green-90\",\"tw-bg-red-50\",\"tw-bg-orange-40\",\"tw-bg-orange-80\",\"tw-bg-pink-30\",\"tw-bg-gray-80\",\"tw-bg-blue-30\",\"tw-bg-purple-30\",\"tw-bg-red-80\",\"tw-bg-yellow-40\",\"tw-bg-yellow-100\",\"tw-bg-emerald-40\",\"tw-bg-pink-60\"],J4=e=>{switch(e){case\"activity\":return me(Jt,{});case\"ai_assistant\":return me(uo,{});case\"facebook_messenger\":return me(ao,{});case\"whatsapp\":return me(lo,{});case\"chatflow\":return me(Qt,{});case\"facebook_page\":return me(oo,{});case\"forum\":return me(jt,{});case\"instagram_comments\":return me(ro,{});case\"instagram_messenger\":return me(no,{});case\"knowledgebase\":return me(eo,{});case\"inbox\":default:return me(to,{})}},od=({icon:e,size:t=\"small\",bgColor:o=\"tw-bg-gray-50\",className:n})=>{let r=s=>{switch(s){case\"small\":default:return\"tw-w-[18px] tw-h-[18px]\";case\"medium\":return\"tw-w-6 tw-h-6\";case\"large\":return\"tw-w-7 tw-h-7\"}},a=td(()=>{switch(t){case\"small\":default:return\"tw-text-xs\";case\"medium\":return\"tw-text-base\";case\"large\":return\"tw-text-[18px]\"}},[t]),l=td(()=>w(\"tw-flex tw-items-center tw-justify-center tw-rounded-full\",r(t),o,n),[t,o,n]);return me(\"div\",{className:l,children:e&&X4.cloneElement(e,{className:w(\"tw-fill-white\",a)})})},Q4=({channelType:e,channelClass:t,className:o,size:n=\"small\",disabled:r=!1})=>{let a=t.split(\"-\")[2],l=Y4[Number(a)-1];return me(od,{icon:J4(e),bgColor:l,className:w(r&&\"tw-opacity-30 tw-grayscale\",o),size:n})};k();D();import{useRef as j4,useEffect as e3,useMemo as t3,useId as o3}from\"react\";import*as ce from\"@radix-ui/react-dialog\";import{jsx as ye,jsxs as ko}from\"react/jsx-runtime\";var r3=({children:e,className:t})=>ye(\"div\",{className:w(\"tw-w-full tw-px-6 md:tw-px-8\",\"tw-grow tw-shrink\",\"tw-overflow-y-auto tw-overflow-x-hidden\",\"tw-font-normal tw-text-gray-100\",t),children:e}),n3=({children:e,className:t})=>ye(\"div\",{className:w(\"tw-flex tw-w-full tw-flex-wrap tw-justify-end tw-items-center\",\"tw-gap-4\",\"tw-shrink-0 tw-grow-0\",\"tw-px-6 md:tw-px-8 tw-pt-4\",t),children:e}),a3=({title:e,triggerButton:t,children:o,open:n,onOpenChange:r,className:a,fullscreen:l=!1,size:s=\"small\",container:p,withCloseButton:u=!0,ariaLabel:m,onOpenAutoFocus:g,onCloseAutoFocus:b,onEscapeKeyDown:f,onPointerDownOutside:h,onInteractOutside:y,clickOutsideToClose:S=!0})=>{let x=j4(null),C=(G,N)=>{let F=N.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])'),P=F[0],I=F[F.length-1];return(R=>{(R.key===\"Tab\"||R.keyCode===9)&&(R.shiftKey?window.parent.parent.document.activeElement===P&&(I.focus(),R.preventDefault()):window.parent.parent.document.activeElement===I&&(P.focus(),R.preventDefault()))})(G)};e3(()=>(window.parent!=window.top&&setTimeout(()=>{let G=x.current;G&&G.addEventListener(\"keydown\",N=>C(N,G))},1e3),()=>{if(window.parent!=window.top){let G=x.current;G&&G.removeEventListener(\"keydown\",N=>C(N,G))}}),[n]);let M=t3(()=>{switch(s){case\"small\":default:return\"tw-max-w-lg\";case\"medium\":return\"tw-max-w-2xl\";case\"large\":return\"tw-max-w-4xl\"}},[s]),T=o3();return ko(ce.Root,{open:n,onOpenChange:G=>{r&&r(G),G||(document.body.style.pointerEvents=\"auto\")},children:[t&&ye(ce.Trigger,{asChild:!0,children:t}),ko(ce.Portal,{container:p||(window.parent!=window.top?window.parent.parent.document.body:document.body),children:[!l&&ye(ce.Overlay,{className:w(\"tw-fixed tw-inset-0 -tw-top-8 tw-z-[1000]\",\"tw-bg-black tw-bg-opacity-50\",\"data-[state=open]:tw-animate-overlayShow\")}),ye(\"div\",{className:w(\"tw-fixed tw-top-0 tw-left-0 tw-w-full tw-h-full tw-z-[1000]\",\"tw-flex tw-flex-col tw-justify-between tw-items-center\",!l&&\"tw-p-4\",!l&&\"before:tw-block before:tw-content-[''] before:tw-w-full before:tw-max-h-[64px] md:before:tw-max-h-[128px] before:tw-h-full before:tw-min-h-[48px]\",!l&&\"after:tw-block after:tw-content-[''] after:tw-w-full after:tw-max-h-[64px] md:after:tw-max-h-[128px] after:tw-h-full after:tw-min-h-[48px]\"),children:ye(ce.Content,{asChild:!0,onOpenAutoFocus:G=>{g&&g(G)},onCloseAutoFocus:G=>{b&&b(G)},onEscapeKeyDown:G=>{!S&&G.preventDefault(),f&&f(G)},onPointerDownOutside:G=>{!S&&G.preventDefault(),h&&h(G)},onInteractOutside:G=>{y&&y(G)},children:ko(\"div\",{ref:x,\"aria-label\":e?void 0:m||void 0,\"aria-describedby\":void 0,\"aria-labelledby\":e?T:void 0,className:w(\"tw-flex tw-flex-col tw-overflow-hidden\",\"tw-bg-white tw-w-full\",l?\"tw-h-full\":\"tw-rounded-xl tw-shadow-lg tw-max-h-full\",!l&&M,\"focus:tw-outline-none\",\"data-[state=open]:tw-animate-overlayShow\",\"tw-pb-6\",a),children:[ko(\"div\",{className:w(\"tw-flex tw-w-full tw-shrink-0 tw-grow-0 tw-items-start\",e&&\"tw-justify-between\",!e&&\"tw-justify-end\",\"tw-px-6 md:tw-px-8 tw-pt-6 tw-pb-4\"),children:[e&&ye(ce.Title,{className:w(\"tw-m-0 tw-pr-2\",\"tw-text-md md:tw-text-lg tw-font-semibold tw-text-gray-90\"),children:e}),u&&ye(ce.Close,{asChild:!0,children:ye(\"button\",{type:\"button\",title:\"Close dialog\",className:w(\"tw-flex tw-justify-center tw-items-center tw-shrink-0\",\"-tw-mr-2 -tw-mt-2 tw-w-8 tw-h-8 tw-p-1 tw-text-gray-70\",\"tw-bg-transparent tw-border-0 tw-border-none tw-cursor-pointer\"),children:ye(Be,{className:\"tw-object-contain tw-h-full tw-w-auto tw-inline-block\"})})})]}),o]})})})]})]})};D();k();import{jsx as rd,jsxs as i3}from\"react/jsx-runtime\";var l3=({className:e,label:t})=>i3(\"div\",{className:\"tw-flex tw-flex-col tw-items-center tw-justify-center tw-space-y-1\",children:[rd(po,{className:w(\"tw-animate-spin tw-text-2xl tw-text-primary-300\",e)}),t&&rd(\"span\",{className:\"tw-text-xs\",children:t})]});k();D();import{createContext as s3,useContext as nd,forwardRef as c3,useId as d3,useMemo as Vr,Fragment as p3}from\"react\";import{jsx as Pt,jsxs as sd}from\"react/jsx-runtime\";var Pr=s3({}),Lo={},ad=[\"tw-flex tw-justify-center tw-items-center tw-box-border\",\"tw-not-italic tw-font-semibold tw-text-base tw-leading-5 hover:tw-outline-0 active:tw-outline-0 \",\"tw-duration-200\"],ld=(e,t,o,n)=>{switch(e){default:case\"primary\":return w([t?\"tw-text-gray-50 hover:tw-text-gray-50\":[o?[\"tw-bg-primary-900 tw-text-secondary-100\"]:[\"tw-bg-primary-700 tw-text-secondary-100\",n?[\"tw-cursor-pointer\",\"hover:tw-bg-primary-900 hover:tw-text-secondary-100\",\"active:tw-bg-primary-900 active:tw-text-secondary-100\"]:\"tw-cursor-default\"]]]);case\"secondary\":return w([t?\"tw-text-gray-50 hover:tw-text-gray-50\":[o?[\"tw-bg-secondary-200 tw-text-primary-700\"]:[\"tw-bg-white tw-text-gray-80\",n?[\"tw-cursor-pointer\",\"hover:tw-bg-secondary-100 hover:tw-text-gray-80\",\"active:tw-bg-secondary-100 active:tw-text-gray-80\"]:\"tw-cursor-default\"]]])}},id=e=>{switch(e){default:case\"small\":return{button:\"tw-h-full tw-rounded-l-[17px] tw-pl-4 tw-pr-1.5\",trigger:\"tw-h-full tw-w-[34px] tw-rounded-r-[17px] tw-py-1.5\"};case\"medium\":return{button:\"tw-h-full tw-rounded-l-[22px] tw-pl-4 tw-pr-1.5\",trigger:\"tw-h-full tw-w-[44px] tw-rounded-r-[22px]\"};case\"large\":return{button:\"tw-h-full tw-rounded-l-[24px] tw-pl-5 tw-pr-2\",trigger:\"tw-h-full tw-w-[48px] tw-rounded-r-[24px]\"}}};Lo.Root=({id:e,children:t,label:o,disabled:n=!1,variant:r=\"primary\",size:a=\"medium\",className:l})=>{let s=d3(),p=Vr(()=>w(\"tw-flex tw-justify-center tw-items-end tw-box-border\",\"tw-relative tw-group\",r===\"primary\"&&[\"tw-border-0 tw-border-none\",n&&\"tw-bg-gray-20 hover:tw-bg-gray-20\"],r===\"secondary\"&&[\"tw-border tw-border-solid tw-border-gray-40\",n?\"tw-bg-gray-10 tw-border-gray-30 hover:tw-bg-gray-10 hover:tw-border-gray-30 active:tw-border-gray-30\":\"hover:tw-border-primary-900 active:tw-border-primary-900\"],a===\"small\"&&\"tw-h-[34px] tw-rounded-[17px]\",a===\"medium\"&&\"tw-h-[44px] tw-rounded-[22px]\",a===\"large\"&&\"tw-h-[48px] tw-rounded-[24px]\",n&&\"tw-cursor-not-allowed tw-select-none *:tw-pointer-events-none *:tw-select-none\",\"tw-duration-200\"),[a,r,n]);return Pt(Pr.Provider,{value:{variant:r,size:a,label:o,disabled:n},children:Pt(\"div\",{id:e||s,role:\"group\",\"aria-label\":o,className:w(p,l),children:t})})};Lo.Content=({id:e,as:t=\"button\",children:o,label:n,className:r,onClick:a})=>{let l=nd(Pr),{variant:s,size:p,disabled:u,label:m}=l,g=Vr(()=>w(ad,ld(s,u,!1,a!==void 0),id(p).button,\"tw-border-r-0\"),[p,s,u,a]);return sd(\"div\",{id:e,role:t===\"button\"?\"button\":void 0,tabIndex:t===\"button\"?0:void 0,\"aria-label\":t===\"button\"&&n||void 0,\"aria-description\":t===\"button\"&&m||void 0,\"aria-disabled\":u,className:w(g,r),onClick:()=>!u&&a&&a(),children:[n&&Pt(\"div\",{className:\"tw-select-none tw-whitespace-nowrap\",children:n}),o]})};Lo.Trigger=c3((p,s)=>{var u=p,{id:e,label:t,children:o,className:n,onClick:r,isOpen:a}=u,l=d(u,[\"id\",\"label\",\"children\",\"className\",\"onClick\",\"isOpen\"]);let m=nd(Pr),{variant:g,size:b,disabled:f,label:h}=m,y=Vr(()=>w(ad,ld(g,f,a,!0),id(b).trigger,\"tw-border-l-0 tw-visible tw-select-none\"),[b,g,f,a]);return sd(p3,{children:[Pt(\"div\",c(i({id:e,role:\"button\",\"aria-label\":t||void 0,\"aria-description\":h||void 0,\"aria-disabled\":f,tabIndex:0,className:w(y,n),\"aria-haspopup\":\"menu\",\"aria-expanded\":a,onClick:r},l),{children:o||Pt(ze,{className:w(\"tw-w-6 tw-h-6 -tw-ml-1 tw-mt-0.5\",a&&\"tw-rotate-180 tw-mt-0\")})})),Pt(\"div\",i(i({ref:s,className:w(\"tw-flex tw-justify-end tw-items-center\",\"tw-absolute tw-right-0 tw-top-0\",\"tw-w-full tw-h-full\",\"tw-pointer-events-none\")},l.onPointerDown&&{onPointerDown:l.onPointerDown}),l.onKeyDown&&{onKeyDown:l.onKeyDown}))]})});k();import{forwardRef as u3,useId as m3}from\"react\";import{jsx as f3}from\"react/jsx-runtime\";var cd=u3((p,s)=>{var u=p,{size:e=\"small\",label:t,icon:o,className:n,id:r,onClick:a}=u,l=d(u,[\"size\",\"label\",\"icon\",\"className\",\"id\",\"onClick\"]);let m=m3();return f3(fo,i({as:\"div\",ref:s,variant:\"tertiary\",icon:o,size:e,label:t,className:w(\"data-[state=open]:tw-bg-secondary-200\",n),id:r||m,onClick:a},l))});cd.displayName=\"MenuButton\";k();import{forwardRef as w3,createElement as g3,useId as h3}from\"react\";import{Fragment as dd,jsx as v3,jsxs as b3}from\"react/jsx-runtime\";var pd=w3((S,y)=>{var x=S,{as:e=\"div\",children:t,icon:o,title:n,size:r=\"medium\",isActive:a,ariaRole:l=\"button\",type:s=\"button\",onClick:p,isRounded:u=!1,href:m,id:g,className:b,target:f}=x,h=d(x,[\"as\",\"children\",\"icon\",\"title\",\"size\",\"isActive\",\"ariaRole\",\"type\",\"onClick\",\"isRounded\",\"href\",\"id\",\"className\",\"target\"]);let C=h3();return g3(m?\"a\":e,i({id:g||C,role:l||\"button\",\"aria-label\":n||void 0,\"aria-current\":a?\"page\":void 0,tabIndex:0,className:w(\"tw-flex tw-items-center tw-justify-center\",r===\"small\"&&\"tw-h-[34px] tw-w-[34px] [&_>svg]:tw-h-5 [&_>svg]:tw-w-5\",r===\"medium\"&&\"tw-h-[40px] tw-w-[40px] [&_>svg]:tw-h-6 [&_>svg]:tw-w-6\",r===\"large\"&&\"tw-h-[52px] tw-w-[52px] [&_>svg]:tw-h-6 [&_>svg]:tw-w-6\",\"[&_>svg]:tw-fill-current\",u&&\"tw-rounded-full\",a?[\"tw-text-secondary-200 tw-bg-primary-900\",\"focus:tw-text-secondary-200 focus:tw-bg-primary-900\"]:[\"tw-text-gray-60 tw-bg-transparent\",\"hover:tw-text-primary-700 hover:tw-bg-secondary-200\",\"active:tw-text-primary-700 active:tw-bg-secondary-200\",\"focus:tw-text-gray-60 focus:tw-bg-transparent\"],\"tw-cursor-pointer tw-select-none tw-duration-200\",e===\"a\"&&m&&\"after:tw-hidden after:tw-content-none\",b),ref:y,href:e===\"a\"&&m?String(m):void 0,target:e===\"a\"&&f?f:void 0,type:m?void 0:e===\"button\"?s:void 0,onClick:p},h),b3(dd,{children:[o||v3(dd,{}),t]}))});pd.displayName=\"NavigationButton\";k();import{useMemo as x3}from\"react\";import{jsx as y3}from\"react/jsx-runtime\";var S3=e=>{switch(e){case\"primary\":return\"tw-bg-primary-700 tw-text-secondary-200\";case\"secondary\":return\"tw-bg-secondary-200 tw-text-primary-700\";case\"success\":return\"tw-text-success-900 tw-bg-success-400\";case\"warning\":return\"tw-text-warning-900 tw-bg-warning-300\";case\"important\":return\"tw-text-important-900 tw-bg-important-300\";default:return\"tw-bg-gray-10 tw-text-gray-70\"}},AE=a=>{var l=a,{children:e,className:t,color:o,variant:n=\"default\"}=l,r=d(l,[\"children\",\"className\",\"color\",\"variant\"]);let s=x3(()=>w(\"tw-inline-flex tw-items-center tw-justify-center\",\"tw-text-sm tw-font-semibold\",\"tw-px-1.5\",\"tw-rounded-sm tw-min-w-[1.25rem] tw-h-5\",S3(n),t),[n,t]);return y3(\"div\",c(i({className:s},r),{children:e}))};Qo();k();import{createElement as G3,memo as wd,useEffect as C3,useRef as fd,useState as I3}from\"react\";import{useMemo as ud,useRef as Gr,useState as md,useEffect as R3}from\"react\";var Dt=({multiple:e=!0,allowedTypes:t,maxFileSize:o=1e6,onChangeCallback:n})=>{let[r,a]=md([]),[l,s]=md(!1),p=ud(()=>{let P=document.createElement(\"input\");return P.setAttribute(\"type\",\"file\"),e&&P.setAttribute(\"multiple\",\"true\"),t&&P.setAttribute(\"accept\",t.join(\",\")),P},[]),u=Gr(p),m=u.current,g=Gr(null),b=()=>{m.click()},f=(P,I)=>{let E=1,R=P,O=P.name.split(\".\"),Z=O.slice(0,-1).join(\".\"),U=O.slice(-1);for(;I.some(V=>V.file.name===`${Z}(${E}).${U}`);)E++;if(E>0){let V=`${Z}(${E}).${U}`;R=new File([P],V,{type:P.type})}return R},h=(P,I)=>{let E=Object.create({}),R=I&&I.filter(Z=>Z.file.name===P.name&&Z.file.size===P.size);R&&R.length>0?E.file=f(P,I):E.file=P;let O=P.name;switch(!0){case(t&&!t.includes(P.type)):E.isValid=!1,E.errorMessages=`File type not allowed (\"${O}\")`;break;case P.size>o:E.isValid=!1,E.errorMessages=`File size too big (\"${O}\")`;break;default:E.isValid=!0,E.errorMessages=null;break}return E},y=()=>{m&&(m.value=\"\")},S=P=>{a(I=>I&&I.length>0?I.filter((E,R)=>R!==P):[])},x=P=>{a(e?I=>[...I,h(P,I)]:[h(P)])},C=P=>{if(P.target){let I=P.target.files;I&&(Array.from(I).forEach(R=>{x(R)}),y(),n&&n())}},M=(P,I)=>{P.preventDefault(),P.stopPropagation(),s(I)},T=P=>{M(P,!0)},G=P=>{M(P,!1)},N=P=>{var I,E;if(M(P,!1),(I=P.dataTransfer)!=null&&I.items){let R=P.dataTransfer.items;R&&Array.from(R).forEach((O,Z)=>{if(O.kind===\"file\"&&O.type!==\"\"){let U=(e||Z===0)&&O.getAsFile();U&&x(U)}})}else{let R=(E=P.dataTransfer)==null?void 0:E.files;R&&Array.from(R).forEach((O,Z)=>{x(O)})}},A=ud(()=>{let P=[],I=r.filter(E=>E.isValid);return I.length>0&&I.forEach(E=>{P.push(E.file)}),P.length>0?P:null},[r]),F=Gr(!1);return R3(()=>{var P,I,E;if(!F.current)return F.current=!0,u.current.addEventListener(\"change\",R=>{C(R)}),(P=g.current)==null||P.addEventListener(\"dragover\",R=>{T(R)}),(I=g.current)==null||I.addEventListener(\"dragleave\",R=>{G(R)}),(E=g.current)==null||E.addEventListener(\"drop\",R=>{N(R)}),()=>{var R,O,Z;u.current.removeEventListener(\"change\",U=>{C(U)}),(R=g.current)==null||R.removeEventListener(\"dragover\",U=>{T(U)}),(O=g.current)==null||O.removeEventListener(\"dragleave\",U=>{G(U)}),(Z=g.current)==null||Z.removeEventListener(\"drop\",U=>{N(U)})}},[]),{uploadFiles:b,uploadedFiles:r,validFiles:A,deleteFile:S,onChangeCallback:n,refDropArea:g,dropAreaIsActive:l}};import{useState as V3}from\"react\";var P3=e=>{let[t,o]=V3(\"\");if(e){let n=new FileReader;return n.readAsDataURL(e),n.onload=()=>{o(n.result)},t}else return null};import{jsx as Ke,jsxs as Cr}from\"react/jsx-runtime\";var gd=wd(({image:e,title:t,className:o})=>{let[n,r]=I3(\"\"),a=new FileReader;a.readAsDataURL(e),a.onload=()=>{r(a.result)};let l=G3(\"img\",{role:\"img\",\"aria-label\":t,alt:t,src:n,className:\"tw-inline-block tw-w-auto tw-h-full tw-object-contain\"},null);return Ke(\"div\",{className:w(\"tw-flex tw-flex-col tw-items-start\",o),children:Ke(\"div\",{role:\"figure\",\"aria-label\":t,\"aria-live\":\"assertive\",className:\"tw-h-[120px] tw-border tw-border-gray-20 tw-border-solid tw-p-4\",children:l})})}),hd=wd(({allowedTypes:e=[\"image/jpeg\",\"image/png\"],maxFileSize:t=1e6,onUpload:o,label:n=\"Choose image\"})=>{let r=()=>{setTimeout(()=>{u.current?u.current.focus():m.current&&m.current.focus()},1e3)},{uploadFiles:a,uploadedFiles:l,validFiles:s,deleteFile:p}=Dt({onChangeCallback:()=>r(),multiple:!1,allowedTypes:e,maxFileSize:t}),u=fd(null),m=fd(null),g=h=>{h.preventDefault(),a()},b=(h,y)=>{h.preventDefault(),p(y)};C3(()=>{s&&s.length>0?o(s):o(null)},[s]);let f=l&&l.length>0;return Cr(\"div\",{children:[s&&s.length>0?l.map((h,y)=>Cr(\"div\",{role:\"group\",\"aria-label\":h.file.name,children:[Ke(gd,{image:h.file,title:h.file.name}),Cr(\"div\",{className:\"tw-flex tw-space-x-5 tw-py-5\",children:[Ke(\"div\",{role:\"button\",tabIndex:0,onClick:S=>g(S),ref:m,children:\"Change File\"}),Ke(\"div\",{role:\"button\",tabIndex:0,onClick:S=>b(S,y),children:\"Delete File\"})]})]},y)):Ke(\"button\",{ref:u,role:\"button\",\"aria-label\":\"Choose image\",tabIndex:0,onClick:h=>{g(h)},className:w(\"tw-flex tw-w-full tw-justify-center tw-items-center\",\"tw-font-semibold tw-text-md\",\"tw-p-6\",\"tw-border tw-border-solid tw-rounded\",\"tw-border-gray-30 tw-bg-gray-10 tw-text-gray-50\"),children:n}),f&&Ke(\"div\",{className:\"tw-mt-2.5 tw-mb-4 tw-text-red-50 tw-text-sm\",\"aria-live\":\"assertive\",children:l.map((h,y)=>Ke(\"div\",{children:h.errorMessages},y))})]})});gd.displayName=\"ImagePreview\";hd.displayName=\"ImageUploader\";k();import{useEffect as E3,useRef as M3}from\"react\";k();import{jsx as Gt,jsxs as Ir}from\"react/jsx-runtime\";var T3=({allowedTypes:e,maxFileSize:t,multiple:o,onUpload:n})=>{let{uploadFiles:r,uploadedFiles:a,validFiles:l,deleteFile:s,refDropArea:p,dropAreaIsActive:u}=Dt({onChangeCallback:()=>{var b;return(b=m.current)==null?void 0:b.focus()},multiple:o,allowedTypes:e,maxFileSize:t}),m=M3(null),g=(b,f)=>{b.preventDefault(),s(f)};return E3(()=>{l&&l.length>0?n(l):n(null)},[l]),Ir(\"div\",{children:[Gt(\"div\",{ref:p,className:w(\"tw-outline-dashed tw-outline-offset-4 tw-outline-2 tw-duration-300\",u?\"tw-outline-blue-50 tw-bg-gray-10\":\"tw-outline-transparent\"),children:Gt(\"button\",{ref:m,onClick:b=>{b.preventDefault(),r()},className:\"tw-border tw-border-solid tw-border-gray-30 tw-rounded tw-p-4 tw-text-gray-50 tw-bg-transparent\",children:\"Upload file\"})}),Gt(\"ul\",{role:\"list\",\"aria-live\":\"assertive\",className:\"tw-flex tw-flex-col tw-space-y-2 tw-mt-4\",children:a&&a.length>0&&a.map((b,f)=>Ir(\"li\",{role:\"listitem\",\"aria-label\":b.file.name,className:\"tw-flex tw-flex-col tw-space-y-1.5\",children:[Ir(\"div\",{className:\"tw-flex tw-justify-between tw-space-x-3 tw-w-full tw-rounded tw-bg-gray-20 tw-p-4\",children:[Gt(\"div\",{children:`${b.file.name} (${Wo(b.file.size)})`}),Gt(\"button\",{onClick:h=>g(h,f),children:\"Delete\"})]}),!b.isValid&&Gt(\"div\",{className:\"tw-text-sm tw-text-red-50 tw-w-full\",children:b.errorMessages})]},f))})]})};k();import*as de from\"@radix-ui/react-toast\";import{jsx as Ue,jsxs as Ao}from\"react/jsx-runtime\";var N3=({swipeDirection:e=\"right\",open:t,onOpenChange:o,title:n,description:r,buttonText:a,duration:l=8e3,closeButtonText:s,className:p,viewPortClassName:u,onAction:m})=>{let g=f=>{switch(f){case\"left\":return\"tw-justify-start\";case\"up\":return\"tw-items-center\";case\"down\":return\"tw-items-center\";default:return\"tw-items-end\"}},b=w(\"tw-flex tw-items-center\",\"tw-h-[32px] tw-px-3\",\"tw-font-semibold tw-text-base\",\"hover:tw-bg-gray-80 active:tw-bg-gray-100 tw-rounded-md tw-shrink-0 tw-duration-200\");return Ao(de.Provider,{swipeDirection:e,children:[Ao(de.Root,{forceMount:!0,open:t,onOpenChange:f=>{o&&o(f),f||(document.body.style.pointerEvents=\"auto\")},className:w(\"tw-flex tw-items-center tw-gap-x-6\",\"tw-bg-gray-90 tw-text-white tw-rounded\",\"tw-basis-12 tw-w-full md:tw-max-w-[348px]\",\"tw-shadow-[0_0_6px_0_rgba(0,0,0,0.24)]\",\"tw-px-4 tw-py-2.5\",t&&\"tw-pointer-events-auto\",\"tw-opacity-0\",\"tw-transition-[opacity] tw-duration-300 tw-ease-out\",\"data-[state=open]:tw-opacity-100\",\"data-[state=closed]:tw-opacity-0\",\"data-[swipe=move]:tw-translate-x-[var(--radix-toast-swipe-move-x)]\",\"data-[swipe=cancel]:tw-translate-x-0 data-[swipe=cancel]:tw-transition-[transform_200ms_ease-out]\",\"data-[swipe=end]:tw-animate-swipeOut\",p),duration:l,children:[Ao(\"div\",{className:w(\"tw-flex tw-flex-col tw-justify-center tw-space-y-[1px] tw-min-h-[32px] tw-grow\"),children:[n&&Ue(de.Title,{className:\"tw-w-full tw-font-semibold tw-text-base\",children:n}),r&&Ue(de.Description,{asChild:!0,className:\"tw-text-sm tw-w-full\",children:Ue(\"div\",{children:r})})]}),(a||s)&&Ao(\"div\",{className:\"tw-flex tw-items-center tw-gap-x-1 tw-shrink-0 -tw-mr-2\",children:[a&&a.length&&Ue(de.Action,{className:b,asChild:!0,altText:a||\"\",children:Ue(\"div\",{role:\"button\",tabIndex:0,onClick:()=>m&&m(),children:a})}),s&&Ue(de.Close,{asChild:!0,className:b,children:Ue(\"div\",{role:\"button\",tabIndex:0,children:s})})]})]}),Ue(de.Viewport,{className:w(\"[--viewport-padding:_24px]\",\"tw-fixed tw-top-0 tw-left-0 tw-bottom-0 tw-right-0\",\"tw-m-0 tw-p-[--viewport-padding] tw-px-4 md:tw-px-[--viewport-padding] md:tw-pt-[80px]\",\"tw-flex tw-flex-col tw-justify-start\",\"tw-outline-none\",\"tw-pointer-events-none\",\"tw-z-[1001]\",g(e),u)})]})};k();import{useEffect as k3,useState as L3}from\"react\";import{format as A3,formatDistanceToNow as z3,isToday as O3,isThisYear as B3}from\"date-fns\";import{da as F3,de as D3,enGB as H3,es as _3,fi as W3,nb as K3,nl as U3,pl as $3,sv as q3}from\"date-fns/locale\";import{jsx as Y3}from\"react/jsx-runtime\";var Z3=e=>{switch(e){case\"sv-SE\":return q3;case\"da-DK\":return F3;case\"fi-FI\":return W3;case\"es-ES\":return _3;case\"de-DE\":return D3;case\"nb-NO\":return K3;case\"nl-NL\":return U3;case\"pl-PL\":return $3;default:case\"en-UK\":return H3}},X3=({timestamp:e,locale:t=\"en-UK\",className:o})=>{let[n,r]=L3(\"\"),a=(l,s)=>{let p=new Date(l),u=Z3(s),m=B3(p)?\"d MMM\":\"d MMM yyyy\";r(O3(p)?z3(p,{locale:u,addSuffix:!0,includeSeconds:!1}):A3(p,m,{locale:u}))};return k3(()=>{a(e,t);let l=setInterval(()=>{a(e,t)},6e4);return()=>{clearInterval(l)}},[e,t]),Y3(\"time\",{dateTime:e,className:w(\"tw-text-gray-60 tw-text-base\",o),title:e,children:n})};k();D();import{useRef as J3,useEffect as zo,createContext as Q3,useState as j3,useContext as eh,useId as vd}from\"react\";import{jsx as $e,jsxs as Er}from\"react/jsx-runtime\";var Mr=Q3({type:\"single\",expanded:[],setExpanded:()=>{}}),th=({index:e,title:t,children:o,action:n,className:r,onExpanded:a})=>{let l=J3(null),{type:s,expanded:p,setExpanded:u}=eh(Mr),m=p.includes(e),g=vd(),b=vd();zo(()=>{m&&l.current&&l.current.focus()},[m]),zo(()=>{a&&m&&l.current&&a(l.current)},[p,m]);let f=()=>{s===\"single\"?u(h=>h.includes(e)?[]:[e]):s===\"multiple\"&&u(h=>h.includes(e)?h.filter(y=>y!==e):[...h,e])};return Er(\"div\",{className:w(\"tw-border-0 tw-border-y tw-border-solid tw-border-y-gray-30 tw-p-0\",\"tw-m-0 -tw-mt-[1px]\"),children:[Er(\"div\",{className:w(\"tw-flex tw-justify-between tw-items-stretch tw-min-h-12 tw-p-0 tw-m-0\"),children:[Er(\"div\",{role:\"button\",tabIndex:0,\"aria-expanded\":m?\"true\":\"false\",\"aria-controls\":b,className:w(\"tw-flex tw-items-center tw-grow tw-gap-x-1.5 tw-group\",\"tw-text-0 tw-text-left tw-text-gray-100\",\"tw-p-0 tw-py-2\",\"tw-cursor-pointer\",r),\"data-state\":m?\"open\":\"closed\",onClick:f,children:[$e(\"div\",{className:\"tw-shrink-0 group-data-[state=open]:tw-rotate-90 tw-duration-200 -tw-ml-1.5\",children:$e(dt,{className:\"tw-text-xl\"})}),$e(\"h3\",{id:g,className:\"tw-text-base tw-font-semibold tw-m-0 tw-p-0\",children:t})]}),n&&$e(\"div\",{className:\"tw-flex tw-justify-between tw-items-center tw-shrink-0\",children:n})]}),$e(\"div\",{ref:l,className:\"tw-pb-5 tw-pt-1.5 tw-group\",\"data-state\":m?\"open\":\"closed\",id:b,role:\"region\",\"aria-labelledby\":g,hidden:!m,tabIndex:m?0:-1,children:$e(\"div\",{className:\"group-data-[state=closed]:tw-animate-hide group-data-[state=open]:tw-animate-open\",children:o})})]})},oh=({defaultIndex:e=void 0,children:t,className:o,type:n=\"single\",onIndexChange:r})=>{let[a,l]=j3([]);return zo(()=>{l(e!==void 0?[e]:[])},[e]),zo(()=>{r&&r(a)},[a]),$e(\"div\",{className:w(o),children:$e(Mr.Provider,{value:{type:n,expanded:a,setExpanded:l},children:t})})};k();import{jsx as nh}from\"react/jsx-runtime\";var rh=({timestamp:e,locale:t,className:o,isNumeric:n=!0,format:r=\"date\"})=>{let a={},l=n?\"2-digit\":\"long\",s=n?\"2-digit\":\"numeric\";switch(r){case\"date\":default:a={year:\"numeric\",month:l,day:s};break;case\"time\":a={hour:\"numeric\",minute:\"numeric\"};break;case\"datetime\":a={year:\"numeric\",month:l,day:s,hour:\"numeric\",minute:\"numeric\"};break}return nh(\"time\",{dateTime:e,className:w(\"tw-text-base\",o),children:new Intl.DateTimeFormat(t,a).format(new Date(e))})};k();D();import{createElement as ah}from\"react\";import{Fragment as ih,jsx as Tr,jsxs as sh}from\"react/jsx-runtime\";var lh=({as:e=\"a\",title:t,url:o,className:n,target:r=\"_blank\",onClick:a,ariaLabel:l})=>ah(e,{href:e===\"a\"?o:void 0,tabIndex:e===\"div\"?0:void 0,\"aria-label\":l||(e===\"div\"?t:void 0),role:e===\"div\"?\"link\":void 0,target:e===\"a\"?r:void 0,className:w(\"tw-inline\",\"tw-text-gray-80 hover:tw-text-gray-80 active:tw-text-gray-80 visited:tw-text-gray-80 tw-cursor-pointer\",\"tw-no-underline hover:tw-no-underline active:tw-no-underline visited:tw-no-underline\",\"tw-border-b-2 tw-border-primary-300 tw-pb-[2px]\",'after:tw-hidden after:tw-content-[\"\"]',\"*:tw-align-middle\",n),onClick:s=>{e===\"a\"&&s.stopPropagation(),window.open(o,r),a&&a(s)}},sh(ih,{children:[Tr(\"span\",{children:t}),r===\"_blank\"&&Tr(\"span\",{className:\"tw-ml-1\",children:Tr(so,{className:\"tw-inline-block tw-text-sm tw-shrink-0 tw-mb-1\"})})]}));k();D();import{useMemo as bd}from\"react\";import{Fragment as dh,jsx as Ct,jsxs as ph}from\"react/jsx-runtime\";var ch=({variant:e=\"info\",message:t,className:o})=>{let n=bd(()=>w(\"tw-shrink-0 tw-text-md tw-mt-0.5\",e===\"info\"&&\"tw-text-gray-80 tw-fill-gray-80\",e===\"warning\"&&\"tw-text-orange-80 tw-fill-orange-80\",e===\"error\"&&\"tw-text-red-80 tw-fill-red-80\"),[e]),r=bd(()=>{let a=w(\"tw-shrink-0 tw-text-md tw-mt-0.5\",e===\"info\"&&\"tw-text-gray-80 tw-fill-gray-80\",e===\"warning\"&&\"tw-text-orange-80 tw-fill-orange-80\",e===\"error\"&&\"tw-text-red-80 tw-fill-red-80\");switch(e){case\"info\":default:return Ct(Yt,{className:a});case\"warning\":return Ct(Oe,{className:a});case\"error\":return Ct(Xt,{className:a})}},[e]);return Ct(\"div\",{role:\"alert\",className:w(\"tw-flex tw-items-start tw-gap-x-2\",\"tw-text-gray-100 tw-text-base tw-font-normal\",e===\"info\"&&\"tw-bg-gray-10\",e===\"warning\"&&\"tw-bg-orange-10\",e===\"error\"&&\"tw-bg-red-10\",t?\"tw-p-4 tw-rounded-md\":\"tw-hidden\",o),children:t&&ph(dh,{children:[Ct(\"div\",{className:\"tw-shrink-0\",\"aria-hidden\":\"true\",children:r}),Ct(\"div\",{className:\"tw-grow\",children:t})]})})};k();import uh,{useMemo as kr,lazy as fe,Suspense as mh}from\"react\";var Nr=[[\"tw-bg-blue-60\",\"tw-fill-blue-60\"],[\"tw-bg-orange-50\",\"tw-fill-orange-50\"],[\"tw-bg-pink-50\",\"tw-fill-pink-50\"],[\"tw-bg-emerald-50\",\"tw-fill-emerald-50\"],[\"tw-bg-gray-50\",\"tw-fill-gray-50\"],[\"tw-bg-green-80\",\"tw-fill-green-80\"],[\"tw-bg-purple-40\",\"tw-fill-purple-40\"],[\"tw-bg-blue-70\",\"tw-fill-blue-70\"],[\"tw-bg-yellow-60\",\"tw-fill-yellow-60\"],[\"tw-bg-gray-60\",\"tw-fill-gray-60\"],[\"tw-bg-blue-80\",\"tw-fill-blue-80\"],[\"tw-bg-green-50\",\"tw-fill-green-50\"],[\"tw-bg-orange-60\",\"tw-fill-orange-60\"],[\"tw-bg-emerald-80\",\"tw-fill-emerald-80\"],[\"tw-bg-yellow-90\",\"tw-fill-yellow-90\"],[\"tw-bg-red-60\",\"tw-fill-red-60\"],[\"tw-bg-pink-40\",\"tw-fill-pink-40\"],[\"tw-bg-purple-60\",\"tw-fill-purple-60\"],[\"tw-bg-yellow-100\",\"tw-fill-yellow-100\"],[\"tw-bg-emerald-60\",\"tw-fill-emerald-60\"],[\"tw-bg-yellow-80\",\"tw-fill-yellow-80\"],[\"tw-bg-green-60\",\"tw-fill-green-60\"],[\"tw-bg-pink-80\",\"tw-fill-pink-80\"],[\"tw-bg-purple-80\",\"tw-fill-purple-80\"],[\"tw-bg-yellow-70\",\"tw-fill-yellow-70\"],[\"tw-bg-blue-60\",\"tw-fill-blue-60\"],[\"tw-bg-orange-50\",\"tw-fill-orange-50\"],[\"tw-bg-pink-50\",\"tw-fill-pink-50\"],[\"tw-bg-emerald-50\",\"tw-fill-emerald-50\"],[\"tw-bg-gray-50\",\"tw-fill-gray-50\"],[\"tw-bg-purple-40\",\"tw-fill-purple-40\"],[\"tw-bg-yellow-60\",\"tw-fill-yellow-60\"],[\"tw-bg-gray-60\",\"tw-fill-gray-60\"],[\"tw-bg-blue-80\",\"tw-fill-blue-80\"],[\"tw-bg-green-50\",\"tw-fill-green-50\"],[\"tw-bg-orange-60\",\"tw-fill-orange-60\"],[\"tw-bg-red-60\",\"tw-fill-red-60\"],[\"tw-bg-pink-40\",\"tw-fill-pink-40\"],[\"tw-bg-purple-60\",\"tw-fill-purple-60\"],[\"tw-bg-emerald-60\",\"tw-fill-emerald-60\"],[\"tw-bg-green-60\",\"tw-fill-green-60\"],[\"tw-bg-blue-60\",\"tw-fill-blue-60\"],[\"tw-bg-orange-50\",\"tw-fill-orange-50\"],[\"tw-bg-pink-50\",\"tw-fill-pink-50\"],[\"tw-bg-emerald-50\",\"tw-fill-emerald-50\"],[\"tw-bg-gray-40\",\"tw-fill-gray-40\"],[\"tw-bg-green-40\",\"tw-fill-green-40\"],[\"tw-bg-orange-100\",\"tw-fill-orange-100\"],[\"tw-bg-red-30\",\"tw-fill-red-30\"],[\"tw-bg-orange-70\",\"tw-fill-orange-70\"],[\"tw-bg-green-70\",\"tw-fill-green-70\"],[\"tw-bg-red-40\",\"tw-fill-red-40\"],[\"tw-bg-yellow-50\",\"tw-fill-yellow-50\"],[\"tw-bg-blue-40\",\"tw-fill-blue-40\"],[\"tw-bg-emerald-70\",\"tw-fill-emerald-70\"],[\"tw-bg-purple-50\",\"tw-fill-purple-50\"],[\"tw-bg-gray-30\",\"tw-fill-gray-30\"],[\"tw-bg-green-90\",\"tw-fill-green-90\"],[\"tw-bg-red-50\",\"tw-fill-red-50\"],[\"tw-bg-orange-40\",\"tw-fill-orange-40\"],[\"tw-bg-orange-80\",\"tw-fill-orange-80\"],[\"tw-bg-pink-30\",\"tw-fill-pink-30\"],[\"tw-bg-gray-80\",\"tw-fill-gray-80\"],[\"tw-bg-blue-30\",\"tw-fill-blue-30\"],[\"tw-bg-purple-30\",\"tw-fill-purple-30\"],[\"tw-bg-red-80\",\"tw-fill-red-80\"],[\"tw-bg-yellow-40\",\"tw-fill-yellow-40\"],[\"tw-bg-yellow-100\",\"tw-fill-yellow-100\"],[\"tw-bg-emerald-40\",\"tw-fill-emerald-40\"],[\"tw-bg-pink-60\",\"tw-fill-pink-60\"]];import{Fragment as Ih,jsx as ne}from\"react/jsx-runtime\";var fh=fe(()=>Promise.resolve().then(()=>(D(),oe)).then(e=>({default:e.KundoCallsIcon}))),wh=fe(()=>Promise.resolve().then(()=>(D(),oe)).then(e=>({default:e.WinkleIcon}))),gh=fe(()=>Promise.resolve().then(()=>(D(),oe)).then(e=>({default:e.KundoSocialMessengerIcon}))),hh=fe(()=>Promise.resolve().then(()=>(D(),oe)).then(e=>({default:e.KundoSocialWhatsappIcon}))),vh=fe(()=>Promise.resolve().then(()=>(D(),oe)).then(e=>({default:e.KundoChatIcon}))),bh=fe(()=>Promise.resolve().then(()=>(D(),oe)).then(e=>({default:e.KundoSocialFacebookIcon}))),xh=fe(()=>Promise.resolve().then(()=>(D(),oe)).then(e=>({default:e.KundoForumIcon}))),Sh=fe(()=>Promise.resolve().then(()=>(D(),oe)).then(e=>({default:e.KundoSocialInstagramDmIcon}))),yh=fe(()=>Promise.resolve().then(()=>(D(),oe)).then(e=>({default:e.KundoSocialInstagramIcon}))),Rh=fe(()=>Promise.resolve().then(()=>(D(),oe)).then(e=>({default:e.KundoKnowledgeIcon}))),Vh=fe(()=>Promise.resolve().then(()=>(D(),oe)).then(e=>({default:e.KundoMailIcon}))),Ph=fe(()=>Promise.resolve().then(()=>(D(),oe)).then(e=>({default:e.KundoAiKnowledgeIcon}))),Gh=fe(()=>Promise.resolve().then(()=>(D(),oe)).then(e=>({default:e.KundoExternalSourceIcon}))),Ch=e=>{switch(e){case\"activity\":case\"calls\":return ne(fh,{});case\"ai_assistant\":return ne(wh,{});case\"facebook_messenger\":return ne(gh,{});case\"whatsapp\":return ne(hh,{});case\"chatflow\":case\"chat\":return ne(vh,{});case\"facebook_page\":return ne(bh,{});case\"forum\":return ne(xh,{});case\"instagram_comments\":return ne(yh,{});case\"instagram_messenger\":return ne(Sh,{});case\"knowledgebase\":return ne(Rh,{});case\"ai_knowledge\":return ne(Ph,{});case\"external_source\":case\"web_source\":return ne(Gh,{});case\"inbox\":case\"email\":default:return ne(Vh,{})}},Oo=({channelType:e=\"chat\",channelColor:t,className:o,size:n=\"small\",disabled:r=!1,isWrapped:a=!0})=>{let l=/\\d+$/,s=t==null?void 0:t.match(l),p=Nr[Number(s)-1],u=p?p[0]:\"tw-bg-gray-50\",m=p?p[1]:\"tw-fill-gray-50\",g=y=>{switch(y){case\"small\":default:return\"tw-w-[18px] tw-h-[18px]\";case\"medium\":return\"tw-w-6 tw-h-6\";case\"large\":return\"tw-w-7 tw-h-7\"}},b=kr(()=>{switch(n){case\"small\":default:return\"tw-text-xs\";case\"medium\":return\"tw-text-base\";case\"large\":return\"tw-text-[18px]\"}},[n]),f=kr(()=>w(\"tw-flex tw-items-center tw-justify-center tw-rounded-full tw-shrink-0\",g(n),a&&u,r&&\"tw-opacity-30 tw-grayscale\",o),[n,u,o,a,r]),h=kr(()=>Ch(e),[e]);return ne(\"div\",{className:f,children:ne(mh,{fallback:ne(Ih,{}),children:uh.cloneElement(h,{className:w(a?\"tw-fill-white\":m,b)})})})};k();import{useId as Eh,forwardRef as Mh}from\"react\";import{jsx as xd}from\"react/jsx-runtime\";var Th=({className:e})=>xd(\"div\",{className:w(e)}),Nh=Mh(({className:e,id:t,children:o},n)=>{let r=t||Eh();return xd(\"div\",{id:r,ref:n,className:w(\"tw-flex tw-flex-col tw-gap-y-2 tw-w-full\",\"tw-animate-pulse\",\"tw-py-1 *:tw-h-3 *:tw-bg-gray-30 *:tw-rounded-[4px]\",e),children:o})});k();import{lazy as kh,useState as Lh,useEffect as Ah}from\"react\";import{jsx as Bo,jsxs as Sd}from\"react/jsx-runtime\";var zh=kh(()=>Promise.resolve().then(()=>(D(),oe)).then(e=>({default:e.XIcon}))),Oh=({label:e,value:t,className:o,isToggle:n=!1,onClick:r,onDelete:a,isSelected:l=!1,size:s=\"large\",describedBy:p,disabled:u=!1})=>{let[m,g]=Lh(l);return Ah(()=>{g(l)},[l]),Sd(\"div\",{role:n||!a?\"button\":\"group\",\"aria-label\":e,\"aria-describedby\":p||void 0,\"data-value\":t,\"aria-pressed\":n?m:void 0,tabIndex:0,className:w(\"tw-inline-flex tw-items-center tw-justify-center\",\"tw-rounded-full tw-box-border\",\"tw-font-semibold\",\"tw-duration-200\",s===\"xsmall\"&&\"tw-h-7 tw-px-3 tw-gap-x-1 tw-text-sm\",s===\"small\"&&\"tw-h-8 tw-px-3 tw-gap-x-1 tw-text-base\",s===\"medium\"&&\"tw-h-[44px] tw-px-3.5 tw-gap-x-1.5 tw-text-base\",s===\"large\"&&\"tw-h-[52px] tw-px-4 tw-gap-x-2 tw-text-base\",n||r?\"tw-cursor-pointer\":\"tw-cursor-default\",n?[\"tw-border tw-border-solid tw-border-primary-500\",m?\"tw-bg-primary-500 tw-text-white\":\"tw-bg-white tw-text-gray-80-500 hover:tw-bg-secondary-100\"]:[\"tw-bg-primary-500 tw-text-white\",r&&\"hover:tw-bg-primary-700\"],o),onClick:()=>{n&&!u&&g(!m),r&&r(t)},children:[Bo(\"div\",{className:\"tw-select-none\",children:e}),!n&&a&&Bo(\"div\",{role:\"button\",\"aria-label\":\"\",onClick:b=>{b.stopPropagation(),a()},className:w(\"tw-flex tw-items-center tw-justify-center tw-shrink-0\",\"tw-cursor-pointer\",\"tw-rounded-full tw-box-border\",\"tw-duration-200\",\"tw-bg-primary-500 hover:tw-bg-primary-300 tw-text-white\",s===\"xsmall\"&&\"tw-w-6 tw-h-6 -tw-mr-[10px]\",s===\"small\"&&\"tw-w-[28px] tw-h-[28px] -tw-mr-[12px]\",s===\"medium\"&&\"tw-w-9 tw-h-9 -tw-mr-[10px]\",s===\"large\"&&\"tw-w-9 tw-h-9 -tw-mr-[10px]\"),children:Bo(zh,{className:w(\"tw-w-4\",s===\"xsmall\"&&\"tw-w-3\",s===\"small\"&&\"tw-w-[14px]\",\"tw-h-auto\")})})]})},Bh=({label:e,className:t,children:o,id:n,errorText:r,hasError:a=!1})=>Sd(\"div\",{id:n,role:\"group\",\"aria-label\":e||void 0,className:w(\"tw-flex tw-flex-wrap tw-items-start\",t),children:[o,a&&Bo(ho,{className:\"tw-mt-3 tw-w-full\",children:r})]});k();import{createElement as Fh}from\"react\";var Dh=({as:e=\"div\",className:t,children:o,label:n})=>Fh(e,{className:w(\"tw-border tw-border-solid tw-border-gray-30\",\"tw-px-4 tw-py-3 lg:tw-px-5 lg:tw-py-4\",\"tw-rounded-md\",t),role:\"region\",\"aria-label\":n||void 0},o);k();import{createElement as Hh,useMemo as _h}from\"react\";var Wh=({as:e=\"div\",id:t,children:o,className:n,styledAs:r})=>{let a=_h(()=>{switch(r&&r!==e?r:e){case\"h1\":return\"tw-text-xl md:tw-text-3xl tw-mb-4\";case\"h2\":return\"tw-text-lg md:tw-text-xl tw-mb-3.5\";case\"h3\":return\"tw-text-md md:tw-text-lg tw-mb-3.5\";case\"h4\":return\"tw-text-base md:tw-text-md tw-mb-3\";case\"h5\":case\"h6\":case\"p\":case\"div\":case\"span\":default:return\"tw-text-base tw-mb-3\"}},[e,r]);return Hh(e,{className:w(\"tw-font-semibold tw-text-gray-100\",\"tw-p-0 tw-m-0\",a,n),id:t},o)};k();import*as qe from\"@radix-ui/react-tabs\";import{motion as Kh,AnimatePresence as Uh}from\"motion/react\";import{jsx as ot}from\"react/jsx-runtime\";var $h=({children:e,className:t,dataOrientation:o=\"horizontal\",defaultValue:n,value:r,asChild:a,onValueChange:l,activationMode:s=\"automatic\"})=>ot(qe.Root,{\"data-orientation\":o,className:w(t),defaultValue:n,value:r,asChild:a,onValueChange:l,activationMode:s,children:e}),qh=({children:e,className:t,label:o,dataOrientation:n=\"horizontal\",loop:r=!0})=>ot(qe.List,{\"aria-label\":o||void 0,className:w(\"tw-flex tw-flex-wrap tw-gap-2\",t),\"data-orientation\":n,loop:r,children:e}),Zh=({value:e,children:t,className:o,disabled:n=!1})=>ot(qe.Trigger,{value:e,disabled:n,asChild:!0,children:ot(\"div\",{className:w(\"tw-flex tw-items-center tw-justify-center tw-relative\",\"tw-box-border\",\"tw-min-h-10 tw-h-auto tw-px-2.5 tw-py-1\",\"tw-font-semibold tw-text-base tw-text-center\",\"tw-text-gray-60\",\"tw-cursor-pointer tw-select-none tw-duration-200 tw-outline-none\",\"hover:tw-bg-secondary-100 hover:tw-text-primary-900\",\"after:tw-content-[''] after:tw-block after:tw-w-full after:tw-absolute after:tw-h-[3px] after:tw-left-0 after:-tw-bottom-[1px] after:tw-bg-transparent after:tw-duration-200\",\"hover:after:tw-bg-secondary-200\",\"data-[state=active]:tw-text-primary-900 data-[state=active]:tw-cursor-default data-[state=active]:after:tw-bg-primary-700\",o),children:t})}),Xh=({value:e,children:t,className:o,dataOrientation:n=\"horizontal\"})=>ot(Uh,{children:ot(qe.Content,{value:e,className:w(\"tw-box-border\",o),\"data-orientation\":n,asChild:!0,children:ot(Kh.div,{initial:{opacity:0},animate:{opacity:1,transition:{delay:.2}},exit:{opacity:0},transition:{duration:.4,ease:\"easeInOut\"},children:t})})});k();D();import{forwardRef as Rd,cloneElement as yd,useMemo as Yh}from\"react\";import*as te from\"@radix-ui/react-dropdown-menu\";import{jsx as pe,jsxs as Lr}from\"react/jsx-runtime\";var Jh=Rd((u,p)=>{var m=u,{label:e,className:t,iconBefore:o,iconAfter:n,spacingBefore:r,hasSubMenu:a,isWarning:l}=m,s=d(m,[\"label\",\"className\",\"iconBefore\",\"iconAfter\",\"spacingBefore\",\"hasSubMenu\",\"isWarning\"]);let g=Yh(()=>w(\"tw-flex-none\",\"tw-w-5 tw-h-auto\",\"tw-fill-current\",l?[\"tw-text-error-500\",\"group-hover:tw-text-error-700 group-data-[state=open]:tw-text-error-700\"]:[\"tw-text-gray-60\",\"group-hover:tw-text-primary-700 group-data-[state=open]:tw-text-primary-700\"]),[l]);return pe(\"div\",c(i({ref:p,role:\"menuitem\",\"aria-label\":e,className:w(\"tw-group\",\"tw-select-none tw-cursor-pointer\",\"tw-px-2\",t)},s),{children:Lr(\"div\",{className:w(\"tw-flex tw-items-center tw-gap-2.5\",\"tw-rounded tw-px-2 tw-py-1.5 tw-bg-white\",l?[\"tw-text-error-500\",\"group-hover:tw-bg-error-100 group-hover:tw-text-error-700\",\"group-data-[state=open]:tw-bg-error-100 group-data-[state=open]:tw-text-error-700\"]:[\"tw-text-gray-80\",\"group-hover:tw-bg-secondary-100 group-hover:tw-text-primary-700\",\"group-data-[state=open]:tw-bg-secondary-100 group-data-[state=open]:tw-text-primary-700\"],\"tw-duration-200\",\"tw-overflow-hidden\",r&&'before:tw-block before:tw-content-[\"\"] before:tw-w-5'),children:[o&&yd(o,{className:g,\"aria-hidden\":!0}),pe(\"div\",{className:\"tw-grow tw-text-base tw-font-normal\",children:e}),n&&yd(n,{className:g,\"aria-hidden\":!0}),a&&pe(dt,{className:w(g,\"tw-w-6 -tw-mr-2\")})]})}))}),Vd=Rd((r,n)=>{var a=r,{children:e,className:t}=a,o=d(a,[\"children\",\"className\"]);return pe(\"div\",c(i({ref:n,className:w(\"tw-bg-white tw-text-gray-100 tw-rounded-xl tw-shadow-[0_1px_3px_0_rgba(0,0,0,0.12),0_6px_12px_0_rgba(0,0,0,0.08)]\",\"data-[state=open]:tw-animate-open\",\"tw-flex tw-flex-col tw-gap-2\",\"*:tw-grow\",\"tw-py-2\",\"tw-z-[1000]\",\"focus:tw-outline-none focus:tw-outline-0 focus:tw-outline-transparent focus:tw-outline-offset-0\",t)},o),{children:e}))}),Qh=({children:e,onSelect:t,disabled:o=!1,textValue:n,asChild:r=!0})=>pe(te.Item,{onSelect:t,asChild:r,disabled:o,textValue:n,children:e}),jh=({className:e})=>pe(te.Separator,{className:w(\"tw-h-[1px] tw-bg-gray-20 tw-select-none\",e)}),ev=({trigger:e,children:t,open:o,onOpenChange:n,defaultOpen:r,disabled:a,textValue:l,className:s,sideOffset:p=-12,alignOffset:u=12,hideWhenDetached:m=!1})=>Lr(te.Sub,{open:o,onOpenChange:n,defaultOpen:r,children:[pe(te.SubTrigger,{asChild:!0,disabled:a,textValue:l,children:e}),pe(te.Portal,{children:pe(te.SubContent,{sideOffset:p,alignOffset:u,hideWhenDetached:m,asChild:!0,children:pe(Vd,{className:s,children:t})})})]}),tv=({trigger:e,children:t,open:o,modal:n,defaultOpen:r,container:a,onOpenChange:l,className:s,loop:p=!1,side:u=\"bottom\",align:m=\"start\",alignOffset:g=12,sideOffset:b=5,hideWhenDetached:f=!1})=>Lr(te.Root,{open:o,modal:n,defaultOpen:r,onOpenChange:l,children:[e&&pe(te.Trigger,{asChild:!0,children:e}),pe(te.Portal,{container:a,children:pe(te.Content,{sideOffset:b,loop:p,side:u,align:m,alignOffset:g,hideWhenDetached:f,asChild:!0,children:pe(Vd,{className:s,children:t})})})]});k();D();import{forwardRef as ov}from\"react\";import*as Re from\"@radix-ui/react-popover\";import{jsx as Te,jsxs as Ar}from\"react/jsx-runtime\";var rv=()=>Te(Re.Close,{asChild:!0,children:Te(\"div\",{role:\"button\",tabIndex:0,\"aria-label\":\"Close\",className:w(\"tw-flex tw-justify-center tw-items-center\",\"tw-w-8 tw-h-8\",\"tw-rounded-full\",\"tw-bg-transparent tw-text-gray-70\",\"hover:tw-bg-secondary-100 hover:tw-text-primary-700\",\"active:tw-bg-secondary-100 active:tw-text-primary-700\"),children:Te(Be,{className:\"tw-w-[18px] tw-h-[18px]\"})})}),nv=ov((l,a)=>{var s=l,{title:e,children:t,className:o,showCloseButton:n=!1}=s,r=d(s,[\"title\",\"children\",\"className\",\"showCloseButton\"]);return Ar(\"div\",c(i({ref:a,className:w(\"tw-bg-white tw-text-gray-100 tw-rounded-xl tw-shadow-[0_1px_3px_0_rgba(0,0,0,0.12),0_6px_12px_0_rgba(0,0,0,0.08)]\",\"data-[state=open]:tw-animate-open\",\"tw-flex tw-flex-col tw-gap-2\",\"*:tw-grow\",\"tw-py-2\",\"tw-z-[1000]\",\"focus:tw-outline-none focus:tw-outline-0 focus:tw-outline-transparent focus:tw-outline-offset-0\",\"tw-overflow-hidden\",o)},r),{children:[(e||n)&&Ar(\"div\",{className:w(\"tw-flex tw-items-start tw-gap-4\",\"tw-pl-3.5 tw-pr-3\",e?\"tw-justify-between\":\"tw-justify-end\"),children:[Te(\"div\",{className:w(\"tw-text-md tw-font-semibold tw-mt-0.5\"),children:e}),n&&Te(rv,{})]}),t]}))}),av=({open:e=!1,defaultOpen:t=!1,modal:o=!1,trigger:n,container:r=document.body,onOpenChange:a,side:l=\"bottom\",sideOffset:s=8,align:p=\"center\",alignOffset:u=0,arrowPadding:m=0,sticky:g=\"partial\",className:b,children:f,title:h,showCloseButton:y=!1})=>Ar(Re.Root,{open:e,onOpenChange:a,defaultOpen:t,modal:o,children:[n&&Te(Re.Trigger,{asChild:!0,children:n}),Te(Re.Portal,{container:r,children:Te(Re.Content,{side:l,sideOffset:s,align:p,alignOffset:u,arrowPadding:m,sticky:g,asChild:!0,children:Te(nv,{className:b,title:h,showCloseButton:y,children:f})})})]});k();import{Fragment as iv,jsx as Fo,jsxs as sv}from\"react/jsx-runtime\";var lv=({children:e,className:t,id:o})=>Fo(\"div\",{className:w(\"tw-flex tw-text-red-60 tw-space-x-1\",t),children:e&&sv(iv,{children:[Fo(\"div\",{className:\"tw-h-4 tw-text-0\",children:Fo(Oe,{className:\"tw-object-contain tw-h-full tw-w-auto tw-inline-block\"})}),Fo(\"div\",{id:o,className:\"tw-text-sm tw-font-normal tw-mt-[1px]\",children:e})]})});k();import{useId as Pd,useRef as Gd,forwardRef as cv,useImperativeHandle as dv}from\"react\";import*as It from\"@radix-ui/react-radio-group\";import{jsx as Ne,jsxs as fv}from\"react/jsx-runtime\";var pv=({children:e,defaultValue:t,value:o,onValueChange:n,disabled:r,name:a,required:l,orientation:s,dir:p,loop:u=!0,className:m})=>Ne(It.Root,{asChild:!0,defaultValue:t,value:o,onValueChange:n,disabled:r,name:a,required:l,orientation:s,dir:p,loop:u,children:Ne(\"div\",{className:w(m),children:e})}),Cd=cv(({children:e,value:t,disabled:o,required:n,className:r,id:a,label:l},s)=>{let p=Pd(),u=Gd(null);return dv(s,()=>({focus:()=>{var m;(m=u.current)==null||m.focus()},click:()=>{var m;(m=u.current)==null||m.click()}})),Ne(It.Item,{asChild:!0,value:t,disabled:o,required:n,children:Ne(\"div\",{ref:u,id:a!=null?a:p,tabIndex:o?-1:0,\"aria-label\":l||void 0,className:w(\"tw-flex tw-justify-center tw-items-center\",\"tw-w-4 tw-h-4\",\"tw-border tw-border-solid\",\"tw-rounded-full\",o?[\"data-[disabled]:tw-cursor-not-allowed\",\"data-[disabled]:data-[state=unchecked]:tw-bg-gray-10 data-[disabled]:data-[state=checked]:tw-bg-gray-10\",\"data-[disabled]:data-[state=unchecked]:tw-border-gray-30 data-[disabled]:data-[state=checked]:tw-border-gray-30 data-[disabled]:data-[state=checked]:tw-bg-gray-30\"]:[\"tw-cursor-pointer\",\"data-[state=unchecked]:tw-bg-white data-[state=unchecked]:tw-border-gray-40\",\"group-hover:data-[state=unchecked]:tw-border-primary-700\",\"data-[state=checked]:tw-bg-primary-700 data-[state=checked]:tw-border-primary-700\",\"group-hover:data-[state=checked]:tw-bg-primary-300 group-hover:data-[state=checked]:tw-border-primary-300\"],\"tw-duration-200\",r),onClick:m=>{var g;o?m.preventDefault():(g=u.current)==null||g.focus()},children:e})})}),Id=({className:e})=>Ne(It.Indicator,{asChild:!0,forceMount:!0,children:Ne(\"div\",{className:w(\"tw-shrink-0\",\"tw-w-2 tw-h-2\",\"tw-bg-white\",\"tw-rounded-full\",\"data-[state=unchecked]:tw-opacity-0 data-[state=checked]:tw-opacity-100\",\"tw-duration-200\",e)})}),uv=({label:e,id:t,value:o,disabled:n,required:r,className:a})=>{let l=Pd(),s=Gd(null);return fv(\"div\",{className:w(\"tw-group\",\"tw-flex tw-items-start tw-gap-2\",a),children:[Ne(Cd,{value:o,disabled:n,required:r,id:t!=null?t:l,ref:s,className:w(\"tw-mt-0.5\",n?[\"\"]:[\"\"]),label:e,children:Ne(Id,{})}),e&&Ne(\"label\",{className:w(\"tw-text-base tw-font-normal\",n?\"tw-cursor-not-allowed tw-text-gray-50\":\"tw-cursor-pointer tw-text-gray-80\"),onClick:()=>{var p;return!n&&((p=s.current)==null?void 0:p.click())},children:e})]})},mv={Root:pv,Item:Cd,Indicator:Id,Button:uv};k();import{createContext as wv,useContext as gv,useId as hv,useState as vv}from\"react\";import*as Do from\"@radix-ui/react-toggle-group\";import{motion as bv}from\"motion/react\";import{jsx as Ht,jsxs as Vv}from\"react/jsx-runtime\";var Ed=wv(null);function xv(){let e=gv(Ed);if(!e)throw new Error(\"SegmentedControl.Item must be used within SegmentedControl.Root\");return e}function Sv({children:e,defaultValue:t,value:o,onValueChange:n,disabled:r,className:a,\"aria-label\":l}){let s=hv(),[p,u]=vv(t),m=o!=null?o:p,g=o!==void 0;function b(f){f&&(g||u(f),n==null||n(f))}return Ht(Ed.Provider,{value:{layoutId:s,selectedValue:m},children:Ht(Do.Root,c(i({type:\"single\"},g?{value:o}:{defaultValue:t}),{onValueChange:b,disabled:r,\"aria-label\":l,orientation:\"horizontal\",asChild:!0,children:Ht(\"div\",{className:w(\"tw-inline-flex tw-items-center tw-h-[42px] tw-p-[4px] tw-bg-gray-20 tw-rounded-xl tw-gap-2\",a),children:e})}))})}function yv({children:e,value:t,disabled:o,className:n}){let{layoutId:r,selectedValue:a}=xv(),l=a===t;return Vv(Do.Item,{value:t,disabled:o,className:w(\"tw-relative tw-p-1.5 tw-px-3.5\",\"tw-text-base tw-font-normal tw-leading-[22px]\",\"tw-rounded-lg tw-cursor-pointer\",\"tw-outline-none tw-bg-transparent\",\"tw-transition-colors tw-duration-200\",\"data-[state=off]:tw-text-gray-70\",\"data-[state=on]:tw-text-gray-80\",\"data-[disabled]:tw-cursor-not-allowed data-[disabled]:tw-opacity-50\",\"focus-visible:tw-ring-2 focus-visible:tw-ring-primary-700 focus-visible:tw-ring-offset-1\",n),children:[l&&Ht(bv.span,{layoutId:r,className:\"tw-absolute tw-inset-0 tw-bg-white tw-rounded-lg\",transition:{type:\"spring\",bounce:.15,duration:.5}}),Ht(\"span\",{className:\"tw-relative tw-z-10\",children:e})]})}var Rv={Root:Sv,Item:yv};k();D();import*as K from\"@radix-ui/react-select\";import{jsx as ee,jsxs as rt}from\"react/jsx-runtime\";var Md=\"tw-text-gray-60 *:tw-w-5 *:tw-h-auto *:tw-fill-current\",Pv=[\"hover:tw-bg-secondary-100 focus:tw-bg-secondary-100 focus:tw-outline-none\",\"tw-transition-[background-color,color] tw-duration-200\",\"tw-cursor-pointer\"].join(\" \"),Gv=[\"hover:tw-bg-secondary-100 hover:tw-text-primary-700\",\"focus:tw-bg-secondary-100 focus:tw-text-primary-700 focus:tw-outline-none\",\"tw-transition-[background-color,color] tw-duration-200\",\"tw-cursor-pointer\"].join(\" \"),Cv=({children:e,trigger:t,container:o,defaultValue:n,value:r,onValueChange:a,defaultOpen:l,open:s,onOpenChange:p,dir:u,name:m,disabled:g,required:b})=>rt(K.Root,{defaultValue:n,value:r,onValueChange:a,defaultOpen:l,open:s,onOpenChange:p,dir:u,name:m,disabled:g,required:b,children:[t,ee(K.Portal,{container:o,children:e})]}),Iv=({placeholder:e,className:t,icon:o,withChannelIcon:n=!1})=>{let r=n?void 0:Md;return ee(K.Trigger,{asChild:!0,children:rt(\"div\",{tabIndex:0,className:w(\"tw-flex tw-items-center tw-justify-between tw-gap-2\",\"tw-text-base tw-text-gray-90\",\"tw-px-2 tw-py-1 tw-rounded tw-min-h-10\",Pv,\"data-[disabled]:pointer-events-none data-[disabled]:tw-cursor-not-allowed data-[disabled]:tw-bg-gray-10 data-[disabled]:tw-text-gray-50\",\"tw-select-none\",t),children:[rt(\"div\",{className:\"tw-flex tw-items-center tw-gap-2 tw-min-w-0\",children:[o&&ee(\"div\",{className:w(r,\"tw-shrink-0\"),children:o}),ee(\"div\",{className:\"tw-grow tw-truncate tw-min-w-0\",children:ee(K.Value,{placeholder:e})})]}),ee(K.Icon,{asChild:!0,children:ee(\"div\",{className:\"tw-shrink-0\",children:ee(qt,{className:\"tw-w-5 tw-h-auto tw-text-gray-60\"})})})]})})},Ev=({children:e,onCloseAutoFocus:t,onEscapeKeyDown:o,onPointerDownOutside:n,position:r=\"popper\",side:a=\"bottom\",sideOffset:l=0,align:s=\"start\",alignOffset:p=0,arrowPadding:u=0,sticky:m=\"partial\",hideWhenDetached:g=!1,className:b})=>rt(K.Content,{onCloseAutoFocus:t,onEscapeKeyDown:o,onPointerDownOutside:n,position:r,side:a,sideOffset:l,align:s,alignOffset:p,arrowPadding:u,sticky:m,hideWhenDetached:g,className:w(\"tw-bg-white tw-rounded-xl\",\"tw-shadow-[0_1px_3px_0_rgba(0,0,0,0.12),0_6px_12px_0_rgba(0,0,0,0.08)]\",\"tw-w-[var(--radix-select-trigger-width)] tw-min-w-max tw-max-w-[var(--radix-popper-available-width)]\",\"tw-max-h-[var(--radix-popper-available-height)]\",\"tw-overflow-hidden tw-z-[1000]\",b),children:[ee(K.ScrollUpButton,{className:\"tw-flex tw-items-center tw-justify-center tw-py-1.5\",children:ee(Zt,{className:\"tw-w-5 tw-h-5 tw-text-gray-60\"})}),ee(K.Viewport,{children:e}),ee(K.ScrollDownButton,{className:\"tw-flex tw-items-center tw-justify-center tw-py-1.5\",children:ee(ze,{className:\"tw-w-5 tw-h-5 tw-text-gray-60\"})})]}),Mv=({children:e,label:t,className:o})=>rt(K.Group,{className:w(\"tw-flex tw-flex-col tw-gap-y-2 *:tw-w-full tw-py-3.5 tw-px-2\",o),children:[t&&ee(K.Label,{className:\"tw-text-sm tw-text-gray-70 tw-font-semibold tw-px-2 tw-pb-1\",children:t}),e]}),Tv=({children:e,value:t,disabled:o=!1,className:n,icon:r,withChannelIcon:a=!1})=>{let l=a?void 0:Md;return rt(K.Item,{value:t,disabled:o,className:w(\"tw-flex tw-items-center tw-justify-between tw-gap-2\",\"tw-px-2 tw-py-1 tw-min-h-8 tw-rounded\",o?\"tw-cursor-not-allowed\":Gv,n),children:[rt(\"div\",{className:w(\"tw-flex tw-items-center tw-gap-2 tw-text-base\",o?\"tw-text-gray-50\":\"tw-text-gray-90\"),children:[r&&ee(\"div\",{className:l,children:r}),ee(K.ItemText,{children:e})]}),ee(\"div\",{className:\"tw-shrink-0 tw-w-5\",children:ee(K.ItemIndicator,{asChild:!0,children:ee(ct,{className:\"tw-w-full tw-h-auto\"})})})]})},Nv=({className:e})=>ee(K.Separator,{className:w(\"tw-w-full tw-h-[1px] tw-bg-gray-30\",e)}),nt={Root:Cv,Trigger:Iv,Content:Ev,Group:Mv,Item:Tv,Separator:Nv};import{useRef as Td,useId as kv,useEffect as zr,memo as Lv,useState as Av,useMemo as zv,useCallback as Ov}from\"react\";k();import{jsx as ke,jsxs as Hv}from\"react/jsx-runtime\";var Bv=Lv(({onClick:e,isLoading:t,isEmpty:o=!0,label:n})=>ke(fo,{variant:o?\"tertiary\":\"primary\",size:\"small\",label:n,icon:ke(co,{}),onClick:()=>!t&&e()})),Fv=({onClick:e,label:t})=>ke(kt,{content:t,container:document.body,children:ke(\"div\",{role:\"button\",\"aria-label\":t,tabIndex:0,onClick:e,className:w(\"tw-flex tw-justify-center tw-shrink-0\",\"tw-w-9 tw-h-9\",\"tw-items-center\",\"tw-bg-transparent tw-text-gray-70 hover:tw-bg-gray-10 active:tw-bg-gray-20\",\"tw-rounded-full tw-duration-200\"),children:ke(Be,{className:\"tw-fill-current tw-w-5 tw-h-5\"})})}),Dv=({className:e,label:t=\"Search\",labelSearchButton:o=\"Search\",labelClearButton:n=\"Clear search\",onQueryChange:r,onSearch:a,onClear:l,isLoading:s,placeholder:p,value:u=\"\",showClearButton:m=!1,size:g=\"large\"})=>{let[b,f]=Av(u),h=Td(null),y=Td(!1),S=kv(),x=()=>{var N;(N=h.current)==null||N.focus()},C=zv(()=>b.trim(),[b]),M=Ov(()=>{C!==\"\"?a(C):x()},[C]),T=N=>{N.key===\"Enter\"&&M()},G=()=>{l(),f(\"\"),setTimeout(x,0)};return zr(()=>{setTimeout(x,200)},[]),zr(()=>{f(u)},[u]),zr(()=>{y.current&&r(b)},[b]),ke(\"div\",{role:\"search\",\"aria-label\":t!=null?t:void 0,className:w(e),children:ke(jo,{ref:h,id:S,value:b,inputSize:g===\"small\"?\"medium\":g,rounded:!0,placeholder:p,onChange:N=>{f(N.target.value),y.current=!0},disabled:s,autoComplete:\"off\",readOnly:s,onKeyDown:T,autoFocus:!0,action:Hv(\"div\",{className:w(\"tw-flex tw-items-center tw-shrink-0 tw-gap-1\",(g===\"medium\"||g===\"small\")&&\"tw-pr-1.5\",g===\"large\"&&\"tw-pr-2\"),children:[m&&ke(Fv,{label:n,onClick:G}),ke(Bv,{isEmpty:b.trim()===\"\",onClick:M,isLoading:s,label:o})]})})})};import{useEffect as Or,useState as _t}from\"react\";k();import{jsx as at}from\"react/jsx-runtime\";var _v=({channels:e,currentChannel:t,className:o,defaultValue:n,value:r,onValueChange:a,open:l,onOpenChange:s,name:p,disabled:u=!1})=>{let[m,g]=_t(r||JSON.stringify({url:(t==null?void 0:t.url)||\"\",color:(t==null?void 0:t.color)||\"\"})),[b,f]=_t((t==null?void 0:t.color)||\"\"),[h,y]=_t(t==null?void 0:t.type),[S,x]=_t((t==null?void 0:t.name)||\"\"),[C,M]=_t(l||!1);Or(()=>{t!=null&&t.url&&(g(JSON.stringify({url:t.url,color:t.color})),f(t.color),y(t.type),x(t.name))},[t]),Or(()=>{if(r!==void 0){g(r);try{let A=JSON.parse(r);f(A.color)}catch(A){}}},[r]),Or(()=>{l!==void 0&&M(l)},[l]);let T=A=>{let F=JSON.parse(A),P=e.find(I=>I.url===F.url);g(A),f(F.color),P&&(y(P.type),x(P.name)),a==null||a(F.url,F.color)},G=A=>{M(A),s==null||s(A)},N=e&&e.length>0;return at(nt.Root,{defaultValue:n,value:m,onValueChange:T,open:C,onOpenChange:G,name:p,disabled:u,trigger:at(nt.Trigger,{placeholder:S,withChannelIcon:!0,icon:at(Oo,{channelColor:b,size:\"medium\",channelType:h}),className:\"tw-text-md tw-font-semibold\"}),children:at(nt.Content,{className:w(o),children:N&&at(nt.Group,{children:e.map(A=>at(nt.Item,{value:JSON.stringify({url:A.url,color:A.color}),withChannelIcon:!0,icon:at(Oo,{channelColor:A.color,size:\"medium\",channelType:A.type}),children:A.name},A.url))})})})};export{oh as Accordion,Mr as AccordionContext,th as AccordionItem,nn as ActivityIcon,ln as AiIcon,dn as AiTwinkleText,ch as Alert,mn as ArrowDownIcon,gn as ArrowLeftDownIcon,bn as ArrowLeftIcon,yn as ArrowLeftUpIcon,Pn as ArrowRightDownIcon,In as ArrowRightIcon,Tn as ArrowRightUpIcon,Ln as ArrowUpIcon,G4 as AutoComplete,AE as Badge,On as BellIcon,Dn as BookIcon,Wn as BookmarkIcon,Dh as BorderBox,$n as BulletedListIcon,nV as Button,Nr as CHANNEL_COLORS,Xn as CalendarIcon,Qn as CategoryIcon,Q4 as ChannelBadge,Oo as ChannelIcon,bw as ChannelType,_v as ChannelsMenuSelector,L4 as CheckBoxGroup,ta as CheckCircleIcon,ct as CheckIcon,la as CheckListIcon,$t as CheckSmallIcon,k4 as Checkbox,pa as CheckboxOutlineIcon,ze as ChevronDownIcon,qt as ChevronExpandIcon,va as ChevronLeftIcon,dt as ChevronRightIcon,Ra as ChevronShrinkIcon,Ga as ChevronSkipEndIcon,Ea as ChevronSkipStartIcon,Zt as ChevronUpIcon,Oh as Chip,Bh as ChipList,La as ClipsArrowRightIcon,Oa as ClipsIcon,Da as ClockHistoryIcon,Wa as ClockIcon,$a as CogIcon,Xa as CommentIcon,Qa as CopyIcon,a3 as Dialog,n3 as DialogActions,r3 as DialogContent,U4 as Divider,tl as DocumentIcon,nl as DownloadIcon,il as DragHandleIcon,dl as DragIndicatorIcon,ml as EllipsisHIcon,gl as EllipsisVIcon,bl as EmojiIcon,yl as EnvelopeIcon,Xt as ErrorIcon,Oe as ExclamationCircleIcon,El as ExclamationTriangleIcon,Nl as ExpandIcon,Al as ExportIcon,Bl as ExternalLinkIcon,Hl as EyeIcon,W4 as Fieldset,Kl as FileCheckIcon,ql as FileEditIcon,Yl as FileIcon,jl as FilePlusIcon,T3 as FileUploader,oi as FileXIcon,ai as FilterIcon,si as GlobeIcon,zd as Headings,tc as Helper,pi as HistogramChartIcon,fi as HouseIcon,od as IconBadge,fo as IconButton,hi as ImageIcon,hd as ImageUploader,xi as InboxIcon,Yt as InfoCircleIcon,jo as Input,Qe as InputRootElement,Ye as InputRootElementError,Je as InputRootOptionalText,Pi as KundoAiKnowledgeIcon,Ii as KundoAvatarShield,Jt as KundoCallsIcon,Qt as KundoChatIcon,Ai as KundoExternalSourceIcon,jt as KundoForumIcon,Di as KundoHelpcenterIcon,eo as KundoKnowledgeIcon,Ki as KundoLogoIcon,to as KundoMailIcon,oo as KundoSocialFacebookIcon,ro as KundoSocialInstagramDmIcon,no as KundoSocialInstagramIcon,ao as KundoSocialMessengerIcon,lo as KundoSocialWhatsappIcon,ns as LineChart1Icon,is as LineChart2Icon,lh as Link,ds as LockIcon,ms as LogInIcon,gs as LogOutIcon,hw as Logo,bs as MapPinIcon,ys as MegaphoneIcon,cd as MenuButton,tv as MenuDropdown,Qh as MenuDropdownItem,Jh as MenuDropdownItemContainer,jh as MenuDropdownSeparator,ev as MenuDropdownSubMenu,Ps as MenuIcon,nt as MenuSelect,Is as MinimizeIcon,Ts as MinusCircleIcon,Ls as MinusIcon,io as MinusSmallIcon,Fs as MoveIcon,pd as NavigationButton,so as NoExternalIcon,Ws as NoteIcon,$s as PencilIcon,Xs as PhoneIcon,Qs as PhonePlusIcon,t1 as PieChartIcon,n1 as PlusCircleIcon,i1 as PlusIcon,av as PopoverMenu,mt as QuestionCircleIcon,mv as RadioGroup,u1 as RotateLeftIcon,w1 as RotateRightIcon,v1 as RouterIcon,Dv as SearchBox,co as SearchIcon,R1 as Security,Rv as SegmentedControl,Fw as Select,q4 as Skeleton,Nh as SkeletonText,Th as SkeletonTextRow,G1 as SpeechBubbleIcon,E1 as SpeechBubblesIcon,N1 as SpellCheckIcon,l3 as Spinner,po as SpinnerIcon,Lo as SplitButton,z1 as StarFilledIcon,F1 as StarIcon,_1 as StopUpdatesIcon,Pw as Switch,U1 as SwitchIcon,Xh as TabsContent,qh as TabsList,$h as TabsRoot,Zh as TabsTrigger,Z1 as TagIcon,_4 as TextArea,J1 as TextLongIcon,e0 as TextShortIcon,r0 as ThumbDownIcon,l0 as ThumbUpIcon,X3 as TimeDistance,rh as TimeStamp,Wh as Title,N3 as Toast,kt as Tooltip,c0 as TranslateIcon,u0 as TrashCanIcon,w0 as UnlockIcon,v0 as UserAssignIcon,S0 as UserCheckIcon,V0 as UserClockIcon,C0 as UserIcon,M0 as UserPlusIcon,k0 as UserXIcon,lv as ValidationMessage,z0 as WindowMaximizeIcon,F0 as WindowMinimizeIcon,uo as WinkleIcon,Be as XIcon,$0 as XSmallIcon,Sw as getSizeClasses,Y0 as getVariantClasses,Dt as useFileUpload,P3 as useImageUploadPreview};\n","// src/arrow.tsx\nimport * as React from \"react\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NAME = \"Arrow\";\nvar Arrow = React.forwardRef((props, forwardedRef) => {\n  const { children, width = 10, height = 5, ...arrowProps } = props;\n  return /* @__PURE__ */ jsx(\n    Primitive.svg,\n    {\n      ...arrowProps,\n      ref: forwardedRef,\n      width,\n      height,\n      viewBox: \"0 0 30 10\",\n      preserveAspectRatio: \"none\",\n      children: props.asChild ? children : /* @__PURE__ */ jsx(\"polygon\", { points: \"0,0 30,0 15,10\" })\n    }\n  );\n});\nArrow.displayName = NAME;\nvar Root = Arrow;\nexport {\n  Arrow,\n  Root\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/compose-refs/src/compose-refs.tsx\nimport * as React from \"react\";\nfunction setRef(ref, value) {\n  if (typeof ref === \"function\") {\n    return ref(value);\n  } else if (ref !== null && ref !== void 0) {\n    ref.current = value;\n  }\n}\nfunction composeRefs(...refs) {\n  return (node) => {\n    let hasCleanup = false;\n    const cleanups = refs.map((ref) => {\n      const cleanup = setRef(ref, node);\n      if (!hasCleanup && typeof cleanup == \"function\") {\n        hasCleanup = true;\n      }\n      return cleanup;\n    });\n    if (hasCleanup) {\n      return () => {\n        for (let i = 0; i < cleanups.length; i++) {\n          const cleanup = cleanups[i];\n          if (typeof cleanup == \"function\") {\n            cleanup();\n          } else {\n            setRef(refs[i], null);\n          }\n        }\n      };\n    }\n  };\n}\nfunction useComposedRefs(...refs) {\n  return React.useCallback(composeRefs(...refs), refs);\n}\nexport {\n  composeRefs,\n  useComposedRefs\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NODES = [\n  \"a\",\n  \"button\",\n  \"div\",\n  \"form\",\n  \"h2\",\n  \"h3\",\n  \"img\",\n  \"input\",\n  \"label\",\n  \"li\",\n  \"nav\",\n  \"ol\",\n  \"p\",\n  \"select\",\n  \"span\",\n  \"svg\",\n  \"ul\"\n];\nvar Primitive = NODES.reduce((primitive, node) => {\n  const Slot = createSlot(`Primitive.${node}`);\n  const Node = React.forwardRef((props, forwardedRef) => {\n    const { asChild, ...primitiveProps } = props;\n    const Comp = asChild ? Slot : node;\n    if (typeof window !== \"undefined\") {\n      window[Symbol.for(\"radix-ui\")] = true;\n    }\n    return /* @__PURE__ */ jsx(Comp, { ...primitiveProps, ref: forwardedRef });\n  });\n  Node.displayName = `Primitive.${node}`;\n  return { ...primitive, [node]: Node };\n}, {});\nfunction dispatchDiscreteCustomEvent(target, event) {\n  if (target) ReactDOM.flushSync(() => target.dispatchEvent(event));\n}\nvar Root = Primitive;\nexport {\n  Primitive,\n  Root,\n  dispatchDiscreteCustomEvent\n};\n//# sourceMappingURL=index.mjs.map\n","// src/slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment as Fragment2, jsx } from \"react/jsx-runtime\";\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n  const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);\n  const Slot2 = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    const childrenArray = React.Children.toArray(children);\n    const slottable = childrenArray.find(isSlottable);\n    if (slottable) {\n      const newElement = slottable.props.children;\n      const newChildren = childrenArray.map((child) => {\n        if (child === slottable) {\n          if (React.Children.count(newElement) > 1) return React.Children.only(null);\n          return React.isValidElement(newElement) ? newElement.props.children : null;\n        } else {\n          return child;\n        }\n      });\n      return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n    }\n    return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n  });\n  Slot2.displayName = `${ownerName}.Slot`;\n  return Slot2;\n}\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlotClone(ownerName) {\n  const SlotClone = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    if (React.isValidElement(children)) {\n      const childrenRef = getElementRef(children);\n      const props2 = mergeProps(slotProps, children.props);\n      if (children.type !== React.Fragment) {\n        props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n      }\n      return React.cloneElement(children, props2);\n    }\n    return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n  });\n  SlotClone.displayName = `${ownerName}.SlotClone`;\n  return SlotClone;\n}\nvar SLOTTABLE_IDENTIFIER = Symbol(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n  const Slottable2 = ({ children }) => {\n    return /* @__PURE__ */ jsx(Fragment2, { children });\n  };\n  Slottable2.displayName = `${ownerName}.Slottable`;\n  Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n  return Slottable2;\n}\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nfunction isSlottable(child) {\n  return React.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\nfunction mergeProps(slotProps, childProps) {\n  const overrideProps = { ...childProps };\n  for (const propName in childProps) {\n    const slotPropValue = slotProps[propName];\n    const childPropValue = childProps[propName];\n    const isHandler = /^on[A-Z]/.test(propName);\n    if (isHandler) {\n      if (slotPropValue && childPropValue) {\n        overrideProps[propName] = (...args) => {\n          const result = childPropValue(...args);\n          slotPropValue(...args);\n          return result;\n        };\n      } else if (slotPropValue) {\n        overrideProps[propName] = slotPropValue;\n      }\n    } else if (propName === \"style\") {\n      overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n    } else if (propName === \"className\") {\n      overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n    }\n  }\n  return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n  let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n  let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.ref;\n  }\n  getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n  mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.props.ref;\n  }\n  return element.props.ref || element.ref;\n}\nexport {\n  Slot as Root,\n  Slot,\n  Slottable,\n  createSlot,\n  createSlottable\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/checkbox.tsx\nimport * as React from \"react\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { usePrevious } from \"@radix-ui/react-use-previous\";\nimport { useSize } from \"@radix-ui/react-use-size\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nvar CHECKBOX_NAME = \"Checkbox\";\nvar [createCheckboxContext, createCheckboxScope] = createContextScope(CHECKBOX_NAME);\nvar [CheckboxProviderImpl, useCheckboxContext] = createCheckboxContext(CHECKBOX_NAME);\nfunction CheckboxProvider(props) {\n  const {\n    __scopeCheckbox,\n    checked: checkedProp,\n    children,\n    defaultChecked,\n    disabled,\n    form,\n    name,\n    onCheckedChange,\n    required,\n    value = \"on\",\n    // @ts-expect-error\n    internal_do_not_use_render\n  } = props;\n  const [checked, setChecked] = useControllableState({\n    prop: checkedProp,\n    defaultProp: defaultChecked ?? false,\n    onChange: onCheckedChange,\n    caller: CHECKBOX_NAME\n  });\n  const [control, setControl] = React.useState(null);\n  const [bubbleInput, setBubbleInput] = React.useState(null);\n  const hasConsumerStoppedPropagationRef = React.useRef(false);\n  const isFormControl = control ? !!form || !!control.closest(\"form\") : (\n    // We set this to true by default so that events bubble to forms without JS (SSR)\n    true\n  );\n  const context = {\n    checked,\n    disabled,\n    setChecked,\n    control,\n    setControl,\n    name,\n    form,\n    value,\n    hasConsumerStoppedPropagationRef,\n    required,\n    defaultChecked: isIndeterminate(defaultChecked) ? false : defaultChecked,\n    isFormControl,\n    bubbleInput,\n    setBubbleInput\n  };\n  return /* @__PURE__ */ jsx(\n    CheckboxProviderImpl,\n    {\n      scope: __scopeCheckbox,\n      ...context,\n      children: isFunction(internal_do_not_use_render) ? internal_do_not_use_render(context) : children\n    }\n  );\n}\nvar TRIGGER_NAME = \"CheckboxTrigger\";\nvar CheckboxTrigger = React.forwardRef(\n  ({ __scopeCheckbox, onKeyDown, onClick, ...checkboxProps }, forwardedRef) => {\n    const {\n      control,\n      value,\n      disabled,\n      checked,\n      required,\n      setControl,\n      setChecked,\n      hasConsumerStoppedPropagationRef,\n      isFormControl,\n      bubbleInput\n    } = useCheckboxContext(TRIGGER_NAME, __scopeCheckbox);\n    const composedRefs = useComposedRefs(forwardedRef, setControl);\n    const initialCheckedStateRef = React.useRef(checked);\n    React.useEffect(() => {\n      const form = control?.form;\n      if (form) {\n        const reset = () => setChecked(initialCheckedStateRef.current);\n        form.addEventListener(\"reset\", reset);\n        return () => form.removeEventListener(\"reset\", reset);\n      }\n    }, [control, setChecked]);\n    return /* @__PURE__ */ jsx(\n      Primitive.button,\n      {\n        type: \"button\",\n        role: \"checkbox\",\n        \"aria-checked\": isIndeterminate(checked) ? \"mixed\" : checked,\n        \"aria-required\": required,\n        \"data-state\": getState(checked),\n        \"data-disabled\": disabled ? \"\" : void 0,\n        disabled,\n        value,\n        ...checkboxProps,\n        ref: composedRefs,\n        onKeyDown: composeEventHandlers(onKeyDown, (event) => {\n          if (event.key === \"Enter\") event.preventDefault();\n        }),\n        onClick: composeEventHandlers(onClick, (event) => {\n          setChecked((prevChecked) => isIndeterminate(prevChecked) ? true : !prevChecked);\n          if (bubbleInput && isFormControl) {\n            hasConsumerStoppedPropagationRef.current = event.isPropagationStopped();\n            if (!hasConsumerStoppedPropagationRef.current) event.stopPropagation();\n          }\n        })\n      }\n    );\n  }\n);\nCheckboxTrigger.displayName = TRIGGER_NAME;\nvar Checkbox = React.forwardRef(\n  (props, forwardedRef) => {\n    const {\n      __scopeCheckbox,\n      name,\n      checked,\n      defaultChecked,\n      required,\n      disabled,\n      value,\n      onCheckedChange,\n      form,\n      ...checkboxProps\n    } = props;\n    return /* @__PURE__ */ jsx(\n      CheckboxProvider,\n      {\n        __scopeCheckbox,\n        checked,\n        defaultChecked,\n        disabled,\n        required,\n        onCheckedChange,\n        name,\n        form,\n        value,\n        internal_do_not_use_render: ({ isFormControl }) => /* @__PURE__ */ jsxs(Fragment, { children: [\n          /* @__PURE__ */ jsx(\n            CheckboxTrigger,\n            {\n              ...checkboxProps,\n              ref: forwardedRef,\n              __scopeCheckbox\n            }\n          ),\n          isFormControl && /* @__PURE__ */ jsx(\n            CheckboxBubbleInput,\n            {\n              __scopeCheckbox\n            }\n          )\n        ] })\n      }\n    );\n  }\n);\nCheckbox.displayName = CHECKBOX_NAME;\nvar INDICATOR_NAME = \"CheckboxIndicator\";\nvar CheckboxIndicator = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeCheckbox, forceMount, ...indicatorProps } = props;\n    const context = useCheckboxContext(INDICATOR_NAME, __scopeCheckbox);\n    return /* @__PURE__ */ jsx(\n      Presence,\n      {\n        present: forceMount || isIndeterminate(context.checked) || context.checked === true,\n        children: /* @__PURE__ */ jsx(\n          Primitive.span,\n          {\n            \"data-state\": getState(context.checked),\n            \"data-disabled\": context.disabled ? \"\" : void 0,\n            ...indicatorProps,\n            ref: forwardedRef,\n            style: { pointerEvents: \"none\", ...props.style }\n          }\n        )\n      }\n    );\n  }\n);\nCheckboxIndicator.displayName = INDICATOR_NAME;\nvar BUBBLE_INPUT_NAME = \"CheckboxBubbleInput\";\nvar CheckboxBubbleInput = React.forwardRef(\n  ({ __scopeCheckbox, ...props }, forwardedRef) => {\n    const {\n      control,\n      hasConsumerStoppedPropagationRef,\n      checked,\n      defaultChecked,\n      required,\n      disabled,\n      name,\n      value,\n      form,\n      bubbleInput,\n      setBubbleInput\n    } = useCheckboxContext(BUBBLE_INPUT_NAME, __scopeCheckbox);\n    const composedRefs = useComposedRefs(forwardedRef, setBubbleInput);\n    const prevChecked = usePrevious(checked);\n    const controlSize = useSize(control);\n    React.useEffect(() => {\n      const input = bubbleInput;\n      if (!input) return;\n      const inputProto = window.HTMLInputElement.prototype;\n      const descriptor = Object.getOwnPropertyDescriptor(\n        inputProto,\n        \"checked\"\n      );\n      const setChecked = descriptor.set;\n      const bubbles = !hasConsumerStoppedPropagationRef.current;\n      if (prevChecked !== checked && setChecked) {\n        const event = new Event(\"click\", { bubbles });\n        input.indeterminate = isIndeterminate(checked);\n        setChecked.call(input, isIndeterminate(checked) ? false : checked);\n        input.dispatchEvent(event);\n      }\n    }, [bubbleInput, prevChecked, checked, hasConsumerStoppedPropagationRef]);\n    const defaultCheckedRef = React.useRef(isIndeterminate(checked) ? false : checked);\n    return /* @__PURE__ */ jsx(\n      Primitive.input,\n      {\n        type: \"checkbox\",\n        \"aria-hidden\": true,\n        defaultChecked: defaultChecked ?? defaultCheckedRef.current,\n        required,\n        disabled,\n        name,\n        value,\n        form,\n        ...props,\n        tabIndex: -1,\n        ref: composedRefs,\n        style: {\n          ...props.style,\n          ...controlSize,\n          position: \"absolute\",\n          pointerEvents: \"none\",\n          opacity: 0,\n          margin: 0,\n          // We transform because the input is absolutely positioned but we have\n          // rendered it **after** the button. This pulls it back to sit on top\n          // of the button.\n          transform: \"translateX(-100%)\"\n        }\n      }\n    );\n  }\n);\nCheckboxBubbleInput.displayName = BUBBLE_INPUT_NAME;\nfunction isFunction(value) {\n  return typeof value === \"function\";\n}\nfunction isIndeterminate(checked) {\n  return checked === \"indeterminate\";\n}\nfunction getState(checked) {\n  return isIndeterminate(checked) ? \"indeterminate\" : checked ? \"checked\" : \"unchecked\";\n}\nexport {\n  Checkbox,\n  CheckboxIndicator,\n  CheckboxIndicator as Indicator,\n  Checkbox as Root,\n  createCheckboxScope,\n  CheckboxBubbleInput as unstable_BubbleInput,\n  CheckboxBubbleInput as unstable_CheckboxBubbleInput,\n  CheckboxProvider as unstable_CheckboxProvider,\n  CheckboxTrigger as unstable_CheckboxTrigger,\n  CheckboxProvider as unstable_Provider,\n  CheckboxTrigger as unstable_Trigger\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nvar canUseDOM = !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\nfunction composeEventHandlers(originalEventHandler, ourEventHandler, { checkForDefaultPrevented = true } = {}) {\n  return function handleEvent(event) {\n    originalEventHandler?.(event);\n    if (checkForDefaultPrevented === false || !event.defaultPrevented) {\n      return ourEventHandler?.(event);\n    }\n  };\n}\nfunction getOwnerWindow(element) {\n  if (!canUseDOM) {\n    throw new Error(\"Cannot access window outside of the DOM\");\n  }\n  return element?.ownerDocument?.defaultView ?? window;\n}\nfunction getOwnerDocument(element) {\n  if (!canUseDOM) {\n    throw new Error(\"Cannot access document outside of the DOM\");\n  }\n  return element?.ownerDocument ?? document;\n}\nfunction getActiveElement(node, activeDescendant = false) {\n  const { activeElement } = getOwnerDocument(node);\n  if (!activeElement?.nodeName) {\n    return null;\n  }\n  if (isFrame(activeElement) && activeElement.contentDocument) {\n    return getActiveElement(activeElement.contentDocument.body, activeDescendant);\n  }\n  if (activeDescendant) {\n    const id = activeElement.getAttribute(\"aria-activedescendant\");\n    if (id) {\n      const element = getOwnerDocument(activeElement).getElementById(id);\n      if (element) {\n        return element;\n      }\n    }\n  }\n  return activeElement;\n}\nfunction isFrame(element) {\n  return element.tagName === \"IFRAME\";\n}\nexport {\n  canUseDOM,\n  composeEventHandlers,\n  getActiveElement,\n  getOwnerDocument,\n  getOwnerWindow,\n  isFrame\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/compose-refs/src/compose-refs.tsx\nimport * as React from \"react\";\nfunction setRef(ref, value) {\n  if (typeof ref === \"function\") {\n    return ref(value);\n  } else if (ref !== null && ref !== void 0) {\n    ref.current = value;\n  }\n}\nfunction composeRefs(...refs) {\n  return (node) => {\n    let hasCleanup = false;\n    const cleanups = refs.map((ref) => {\n      const cleanup = setRef(ref, node);\n      if (!hasCleanup && typeof cleanup == \"function\") {\n        hasCleanup = true;\n      }\n      return cleanup;\n    });\n    if (hasCleanup) {\n      return () => {\n        for (let i = 0; i < cleanups.length; i++) {\n          const cleanup = cleanups[i];\n          if (typeof cleanup == \"function\") {\n            cleanup();\n          } else {\n            setRef(refs[i], null);\n          }\n        }\n      };\n    }\n  };\n}\nfunction useComposedRefs(...refs) {\n  return React.useCallback(composeRefs(...refs), refs);\n}\nexport {\n  composeRefs,\n  useComposedRefs\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/context/src/create-context.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createContext2(rootComponentName, defaultContext) {\n  const Context = React.createContext(defaultContext);\n  const Provider = (props) => {\n    const { children, ...context } = props;\n    const value = React.useMemo(() => context, Object.values(context));\n    return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n  };\n  Provider.displayName = rootComponentName + \"Provider\";\n  function useContext2(consumerName) {\n    const context = React.useContext(Context);\n    if (context) return context;\n    if (defaultContext !== void 0) return defaultContext;\n    throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n  }\n  return [Provider, useContext2];\n}\nfunction createContextScope(scopeName, createContextScopeDeps = []) {\n  let defaultContexts = [];\n  function createContext3(rootComponentName, defaultContext) {\n    const BaseContext = React.createContext(defaultContext);\n    const index = defaultContexts.length;\n    defaultContexts = [...defaultContexts, defaultContext];\n    const Provider = (props) => {\n      const { scope, children, ...context } = props;\n      const Context = scope?.[scopeName]?.[index] || BaseContext;\n      const value = React.useMemo(() => context, Object.values(context));\n      return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n    };\n    Provider.displayName = rootComponentName + \"Provider\";\n    function useContext2(consumerName, scope) {\n      const Context = scope?.[scopeName]?.[index] || BaseContext;\n      const context = React.useContext(Context);\n      if (context) return context;\n      if (defaultContext !== void 0) return defaultContext;\n      throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n    }\n    return [Provider, useContext2];\n  }\n  const createScope = () => {\n    const scopeContexts = defaultContexts.map((defaultContext) => {\n      return React.createContext(defaultContext);\n    });\n    return function useScope(scope) {\n      const contexts = scope?.[scopeName] || scopeContexts;\n      return React.useMemo(\n        () => ({ [`__scope${scopeName}`]: { ...scope, [scopeName]: contexts } }),\n        [scope, contexts]\n      );\n    };\n  };\n  createScope.scopeName = scopeName;\n  return [createContext3, composeContextScopes(createScope, ...createContextScopeDeps)];\n}\nfunction composeContextScopes(...scopes) {\n  const baseScope = scopes[0];\n  if (scopes.length === 1) return baseScope;\n  const createScope = () => {\n    const scopeHooks = scopes.map((createScope2) => ({\n      useScope: createScope2(),\n      scopeName: createScope2.scopeName\n    }));\n    return function useComposedScopes(overrideScopes) {\n      const nextScopes = scopeHooks.reduce((nextScopes2, { useScope, scopeName }) => {\n        const scopeProps = useScope(overrideScopes);\n        const currentScope = scopeProps[`__scope${scopeName}`];\n        return { ...nextScopes2, ...currentScope };\n      }, {});\n      return React.useMemo(() => ({ [`__scope${baseScope.scopeName}`]: nextScopes }), [nextScopes]);\n    };\n  };\n  createScope.scopeName = baseScope.scopeName;\n  return createScope;\n}\nexport {\n  createContext2 as createContext,\n  createContextScope\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/presence.tsx\nimport * as React2 from \"react\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\n\n// src/use-state-machine.tsx\nimport * as React from \"react\";\nfunction useStateMachine(initialState, machine) {\n  return React.useReducer((state, event) => {\n    const nextState = machine[state][event];\n    return nextState ?? state;\n  }, initialState);\n}\n\n// src/presence.tsx\nvar Presence = (props) => {\n  const { present, children } = props;\n  const presence = usePresence(present);\n  const child = typeof children === \"function\" ? children({ present: presence.isPresent }) : React2.Children.only(children);\n  const ref = useComposedRefs(presence.ref, getElementRef(child));\n  const forceMount = typeof children === \"function\";\n  return forceMount || presence.isPresent ? React2.cloneElement(child, { ref }) : null;\n};\nPresence.displayName = \"Presence\";\nfunction usePresence(present) {\n  const [node, setNode] = React2.useState();\n  const stylesRef = React2.useRef(null);\n  const prevPresentRef = React2.useRef(present);\n  const prevAnimationNameRef = React2.useRef(\"none\");\n  const initialState = present ? \"mounted\" : \"unmounted\";\n  const [state, send] = useStateMachine(initialState, {\n    mounted: {\n      UNMOUNT: \"unmounted\",\n      ANIMATION_OUT: \"unmountSuspended\"\n    },\n    unmountSuspended: {\n      MOUNT: \"mounted\",\n      ANIMATION_END: \"unmounted\"\n    },\n    unmounted: {\n      MOUNT: \"mounted\"\n    }\n  });\n  React2.useEffect(() => {\n    const currentAnimationName = getAnimationName(stylesRef.current);\n    prevAnimationNameRef.current = state === \"mounted\" ? currentAnimationName : \"none\";\n  }, [state]);\n  useLayoutEffect(() => {\n    const styles = stylesRef.current;\n    const wasPresent = prevPresentRef.current;\n    const hasPresentChanged = wasPresent !== present;\n    if (hasPresentChanged) {\n      const prevAnimationName = prevAnimationNameRef.current;\n      const currentAnimationName = getAnimationName(styles);\n      if (present) {\n        send(\"MOUNT\");\n      } else if (currentAnimationName === \"none\" || styles?.display === \"none\") {\n        send(\"UNMOUNT\");\n      } else {\n        const isAnimating = prevAnimationName !== currentAnimationName;\n        if (wasPresent && isAnimating) {\n          send(\"ANIMATION_OUT\");\n        } else {\n          send(\"UNMOUNT\");\n        }\n      }\n      prevPresentRef.current = present;\n    }\n  }, [present, send]);\n  useLayoutEffect(() => {\n    if (node) {\n      let timeoutId;\n      const ownerWindow = node.ownerDocument.defaultView ?? window;\n      const handleAnimationEnd = (event) => {\n        const currentAnimationName = getAnimationName(stylesRef.current);\n        const isCurrentAnimation = currentAnimationName.includes(CSS.escape(event.animationName));\n        if (event.target === node && isCurrentAnimation) {\n          send(\"ANIMATION_END\");\n          if (!prevPresentRef.current) {\n            const currentFillMode = node.style.animationFillMode;\n            node.style.animationFillMode = \"forwards\";\n            timeoutId = ownerWindow.setTimeout(() => {\n              if (node.style.animationFillMode === \"forwards\") {\n                node.style.animationFillMode = currentFillMode;\n              }\n            });\n          }\n        }\n      };\n      const handleAnimationStart = (event) => {\n        if (event.target === node) {\n          prevAnimationNameRef.current = getAnimationName(stylesRef.current);\n        }\n      };\n      node.addEventListener(\"animationstart\", handleAnimationStart);\n      node.addEventListener(\"animationcancel\", handleAnimationEnd);\n      node.addEventListener(\"animationend\", handleAnimationEnd);\n      return () => {\n        ownerWindow.clearTimeout(timeoutId);\n        node.removeEventListener(\"animationstart\", handleAnimationStart);\n        node.removeEventListener(\"animationcancel\", handleAnimationEnd);\n        node.removeEventListener(\"animationend\", handleAnimationEnd);\n      };\n    } else {\n      send(\"ANIMATION_END\");\n    }\n  }, [node, send]);\n  return {\n    isPresent: [\"mounted\", \"unmountSuspended\"].includes(state),\n    ref: React2.useCallback((node2) => {\n      stylesRef.current = node2 ? getComputedStyle(node2) : null;\n      setNode(node2);\n    }, [])\n  };\n}\nfunction getAnimationName(styles) {\n  return styles?.animationName || \"none\";\n}\nfunction getElementRef(element) {\n  let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n  let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.ref;\n  }\n  getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n  mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.props.ref;\n  }\n  return element.props.ref || element.ref;\n}\nvar Root = Presence;\nexport {\n  Presence,\n  Root\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NODES = [\n  \"a\",\n  \"button\",\n  \"div\",\n  \"form\",\n  \"h2\",\n  \"h3\",\n  \"img\",\n  \"input\",\n  \"label\",\n  \"li\",\n  \"nav\",\n  \"ol\",\n  \"p\",\n  \"select\",\n  \"span\",\n  \"svg\",\n  \"ul\"\n];\nvar Primitive = NODES.reduce((primitive, node) => {\n  const Slot = createSlot(`Primitive.${node}`);\n  const Node = React.forwardRef((props, forwardedRef) => {\n    const { asChild, ...primitiveProps } = props;\n    const Comp = asChild ? Slot : node;\n    if (typeof window !== \"undefined\") {\n      window[Symbol.for(\"radix-ui\")] = true;\n    }\n    return /* @__PURE__ */ jsx(Comp, { ...primitiveProps, ref: forwardedRef });\n  });\n  Node.displayName = `Primitive.${node}`;\n  return { ...primitive, [node]: Node };\n}, {});\nfunction dispatchDiscreteCustomEvent(target, event) {\n  if (target) ReactDOM.flushSync(() => target.dispatchEvent(event));\n}\nvar Root = Primitive;\nexport {\n  Primitive,\n  Root,\n  dispatchDiscreteCustomEvent\n};\n//# sourceMappingURL=index.mjs.map\n","// src/slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment as Fragment2, jsx } from \"react/jsx-runtime\";\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n  const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);\n  const Slot2 = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    const childrenArray = React.Children.toArray(children);\n    const slottable = childrenArray.find(isSlottable);\n    if (slottable) {\n      const newElement = slottable.props.children;\n      const newChildren = childrenArray.map((child) => {\n        if (child === slottable) {\n          if (React.Children.count(newElement) > 1) return React.Children.only(null);\n          return React.isValidElement(newElement) ? newElement.props.children : null;\n        } else {\n          return child;\n        }\n      });\n      return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n    }\n    return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n  });\n  Slot2.displayName = `${ownerName}.Slot`;\n  return Slot2;\n}\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlotClone(ownerName) {\n  const SlotClone = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    if (React.isValidElement(children)) {\n      const childrenRef = getElementRef(children);\n      const props2 = mergeProps(slotProps, children.props);\n      if (children.type !== React.Fragment) {\n        props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n      }\n      return React.cloneElement(children, props2);\n    }\n    return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n  });\n  SlotClone.displayName = `${ownerName}.SlotClone`;\n  return SlotClone;\n}\nvar SLOTTABLE_IDENTIFIER = Symbol(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n  const Slottable2 = ({ children }) => {\n    return /* @__PURE__ */ jsx(Fragment2, { children });\n  };\n  Slottable2.displayName = `${ownerName}.Slottable`;\n  Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n  return Slottable2;\n}\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nfunction isSlottable(child) {\n  return React.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\nfunction mergeProps(slotProps, childProps) {\n  const overrideProps = { ...childProps };\n  for (const propName in childProps) {\n    const slotPropValue = slotProps[propName];\n    const childPropValue = childProps[propName];\n    const isHandler = /^on[A-Z]/.test(propName);\n    if (isHandler) {\n      if (slotPropValue && childPropValue) {\n        overrideProps[propName] = (...args) => {\n          const result = childPropValue(...args);\n          slotPropValue(...args);\n          return result;\n        };\n      } else if (slotPropValue) {\n        overrideProps[propName] = slotPropValue;\n      }\n    } else if (propName === \"style\") {\n      overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n    } else if (propName === \"className\") {\n      overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n    }\n  }\n  return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n  let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n  let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.ref;\n  }\n  getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n  mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.props.ref;\n  }\n  return element.props.ref || element.ref;\n}\nexport {\n  Slot as Root,\n  Slot,\n  Slottable,\n  createSlot,\n  createSlottable\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-layout-effect/src/use-layout-effect.tsx\nimport * as React from \"react\";\nvar useLayoutEffect2 = globalThis?.document ? React.useLayoutEffect : () => {\n};\nexport {\n  useLayoutEffect2 as useLayoutEffect\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/collection-legacy.tsx\nimport React from \"react\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createCollection(name) {\n  const PROVIDER_NAME = name + \"CollectionProvider\";\n  const [createCollectionContext, createCollectionScope] = createContextScope(PROVIDER_NAME);\n  const [CollectionProviderImpl, useCollectionContext] = createCollectionContext(\n    PROVIDER_NAME,\n    { collectionRef: { current: null }, itemMap: /* @__PURE__ */ new Map() }\n  );\n  const CollectionProvider = (props) => {\n    const { scope, children } = props;\n    const ref = React.useRef(null);\n    const itemMap = React.useRef(/* @__PURE__ */ new Map()).current;\n    return /* @__PURE__ */ jsx(CollectionProviderImpl, { scope, itemMap, collectionRef: ref, children });\n  };\n  CollectionProvider.displayName = PROVIDER_NAME;\n  const COLLECTION_SLOT_NAME = name + \"CollectionSlot\";\n  const CollectionSlotImpl = createSlot(COLLECTION_SLOT_NAME);\n  const CollectionSlot = React.forwardRef(\n    (props, forwardedRef) => {\n      const { scope, children } = props;\n      const context = useCollectionContext(COLLECTION_SLOT_NAME, scope);\n      const composedRefs = useComposedRefs(forwardedRef, context.collectionRef);\n      return /* @__PURE__ */ jsx(CollectionSlotImpl, { ref: composedRefs, children });\n    }\n  );\n  CollectionSlot.displayName = COLLECTION_SLOT_NAME;\n  const ITEM_SLOT_NAME = name + \"CollectionItemSlot\";\n  const ITEM_DATA_ATTR = \"data-radix-collection-item\";\n  const CollectionItemSlotImpl = createSlot(ITEM_SLOT_NAME);\n  const CollectionItemSlot = React.forwardRef(\n    (props, forwardedRef) => {\n      const { scope, children, ...itemData } = props;\n      const ref = React.useRef(null);\n      const composedRefs = useComposedRefs(forwardedRef, ref);\n      const context = useCollectionContext(ITEM_SLOT_NAME, scope);\n      React.useEffect(() => {\n        context.itemMap.set(ref, { ref, ...itemData });\n        return () => void context.itemMap.delete(ref);\n      });\n      return /* @__PURE__ */ jsx(CollectionItemSlotImpl, { ...{ [ITEM_DATA_ATTR]: \"\" }, ref: composedRefs, children });\n    }\n  );\n  CollectionItemSlot.displayName = ITEM_SLOT_NAME;\n  function useCollection(scope) {\n    const context = useCollectionContext(name + \"CollectionConsumer\", scope);\n    const getItems = React.useCallback(() => {\n      const collectionNode = context.collectionRef.current;\n      if (!collectionNode) return [];\n      const orderedNodes = Array.from(collectionNode.querySelectorAll(`[${ITEM_DATA_ATTR}]`));\n      const items = Array.from(context.itemMap.values());\n      const orderedItems = items.sort(\n        (a, b) => orderedNodes.indexOf(a.ref.current) - orderedNodes.indexOf(b.ref.current)\n      );\n      return orderedItems;\n    }, [context.collectionRef, context.itemMap]);\n    return getItems;\n  }\n  return [\n    { Provider: CollectionProvider, Slot: CollectionSlot, ItemSlot: CollectionItemSlot },\n    useCollection,\n    createCollectionScope\n  ];\n}\n\n// src/collection.tsx\nimport React2 from \"react\";\nimport { createContextScope as createContextScope2 } from \"@radix-ui/react-context\";\nimport { useComposedRefs as useComposedRefs2 } from \"@radix-ui/react-compose-refs\";\nimport { createSlot as createSlot2 } from \"@radix-ui/react-slot\";\n\n// src/ordered-dictionary.ts\nvar __instanciated = /* @__PURE__ */ new WeakMap();\nvar OrderedDict = class _OrderedDict extends Map {\n  #keys;\n  constructor(entries) {\n    super(entries);\n    this.#keys = [...super.keys()];\n    __instanciated.set(this, true);\n  }\n  set(key, value) {\n    if (__instanciated.get(this)) {\n      if (this.has(key)) {\n        this.#keys[this.#keys.indexOf(key)] = key;\n      } else {\n        this.#keys.push(key);\n      }\n    }\n    super.set(key, value);\n    return this;\n  }\n  insert(index, key, value) {\n    const has = this.has(key);\n    const length = this.#keys.length;\n    const relativeIndex = toSafeInteger(index);\n    let actualIndex = relativeIndex >= 0 ? relativeIndex : length + relativeIndex;\n    const safeIndex = actualIndex < 0 || actualIndex >= length ? -1 : actualIndex;\n    if (safeIndex === this.size || has && safeIndex === this.size - 1 || safeIndex === -1) {\n      this.set(key, value);\n      return this;\n    }\n    const size = this.size + (has ? 0 : 1);\n    if (relativeIndex < 0) {\n      actualIndex++;\n    }\n    const keys = [...this.#keys];\n    let nextValue;\n    let shouldSkip = false;\n    for (let i = actualIndex; i < size; i++) {\n      if (actualIndex === i) {\n        let nextKey = keys[i];\n        if (keys[i] === key) {\n          nextKey = keys[i + 1];\n        }\n        if (has) {\n          this.delete(key);\n        }\n        nextValue = this.get(nextKey);\n        this.set(key, value);\n      } else {\n        if (!shouldSkip && keys[i - 1] === key) {\n          shouldSkip = true;\n        }\n        const currentKey = keys[shouldSkip ? i : i - 1];\n        const currentValue = nextValue;\n        nextValue = this.get(currentKey);\n        this.delete(currentKey);\n        this.set(currentKey, currentValue);\n      }\n    }\n    return this;\n  }\n  with(index, key, value) {\n    const copy = new _OrderedDict(this);\n    copy.insert(index, key, value);\n    return copy;\n  }\n  before(key) {\n    const index = this.#keys.indexOf(key) - 1;\n    if (index < 0) {\n      return void 0;\n    }\n    return this.entryAt(index);\n  }\n  /**\n   * Sets a new key-value pair at the position before the given key.\n   */\n  setBefore(key, newKey, value) {\n    const index = this.#keys.indexOf(key);\n    if (index === -1) {\n      return this;\n    }\n    return this.insert(index, newKey, value);\n  }\n  after(key) {\n    let index = this.#keys.indexOf(key);\n    index = index === -1 || index === this.size - 1 ? -1 : index + 1;\n    if (index === -1) {\n      return void 0;\n    }\n    return this.entryAt(index);\n  }\n  /**\n   * Sets a new key-value pair at the position after the given key.\n   */\n  setAfter(key, newKey, value) {\n    const index = this.#keys.indexOf(key);\n    if (index === -1) {\n      return this;\n    }\n    return this.insert(index + 1, newKey, value);\n  }\n  first() {\n    return this.entryAt(0);\n  }\n  last() {\n    return this.entryAt(-1);\n  }\n  clear() {\n    this.#keys = [];\n    return super.clear();\n  }\n  delete(key) {\n    const deleted = super.delete(key);\n    if (deleted) {\n      this.#keys.splice(this.#keys.indexOf(key), 1);\n    }\n    return deleted;\n  }\n  deleteAt(index) {\n    const key = this.keyAt(index);\n    if (key !== void 0) {\n      return this.delete(key);\n    }\n    return false;\n  }\n  at(index) {\n    const key = at(this.#keys, index);\n    if (key !== void 0) {\n      return this.get(key);\n    }\n  }\n  entryAt(index) {\n    const key = at(this.#keys, index);\n    if (key !== void 0) {\n      return [key, this.get(key)];\n    }\n  }\n  indexOf(key) {\n    return this.#keys.indexOf(key);\n  }\n  keyAt(index) {\n    return at(this.#keys, index);\n  }\n  from(key, offset) {\n    const index = this.indexOf(key);\n    if (index === -1) {\n      return void 0;\n    }\n    let dest = index + offset;\n    if (dest < 0) dest = 0;\n    if (dest >= this.size) dest = this.size - 1;\n    return this.at(dest);\n  }\n  keyFrom(key, offset) {\n    const index = this.indexOf(key);\n    if (index === -1) {\n      return void 0;\n    }\n    let dest = index + offset;\n    if (dest < 0) dest = 0;\n    if (dest >= this.size) dest = this.size - 1;\n    return this.keyAt(dest);\n  }\n  find(predicate, thisArg) {\n    let index = 0;\n    for (const entry of this) {\n      if (Reflect.apply(predicate, thisArg, [entry, index, this])) {\n        return entry;\n      }\n      index++;\n    }\n    return void 0;\n  }\n  findIndex(predicate, thisArg) {\n    let index = 0;\n    for (const entry of this) {\n      if (Reflect.apply(predicate, thisArg, [entry, index, this])) {\n        return index;\n      }\n      index++;\n    }\n    return -1;\n  }\n  filter(predicate, thisArg) {\n    const entries = [];\n    let index = 0;\n    for (const entry of this) {\n      if (Reflect.apply(predicate, thisArg, [entry, index, this])) {\n        entries.push(entry);\n      }\n      index++;\n    }\n    return new _OrderedDict(entries);\n  }\n  map(callbackfn, thisArg) {\n    const entries = [];\n    let index = 0;\n    for (const entry of this) {\n      entries.push([entry[0], Reflect.apply(callbackfn, thisArg, [entry, index, this])]);\n      index++;\n    }\n    return new _OrderedDict(entries);\n  }\n  reduce(...args) {\n    const [callbackfn, initialValue] = args;\n    let index = 0;\n    let accumulator = initialValue ?? this.at(0);\n    for (const entry of this) {\n      if (index === 0 && args.length === 1) {\n        accumulator = entry;\n      } else {\n        accumulator = Reflect.apply(callbackfn, this, [accumulator, entry, index, this]);\n      }\n      index++;\n    }\n    return accumulator;\n  }\n  reduceRight(...args) {\n    const [callbackfn, initialValue] = args;\n    let accumulator = initialValue ?? this.at(-1);\n    for (let index = this.size - 1; index >= 0; index--) {\n      const entry = this.at(index);\n      if (index === this.size - 1 && args.length === 1) {\n        accumulator = entry;\n      } else {\n        accumulator = Reflect.apply(callbackfn, this, [accumulator, entry, index, this]);\n      }\n    }\n    return accumulator;\n  }\n  toSorted(compareFn) {\n    const entries = [...this.entries()].sort(compareFn);\n    return new _OrderedDict(entries);\n  }\n  toReversed() {\n    const reversed = new _OrderedDict();\n    for (let index = this.size - 1; index >= 0; index--) {\n      const key = this.keyAt(index);\n      const element = this.get(key);\n      reversed.set(key, element);\n    }\n    return reversed;\n  }\n  toSpliced(...args) {\n    const entries = [...this.entries()];\n    entries.splice(...args);\n    return new _OrderedDict(entries);\n  }\n  slice(start, end) {\n    const result = new _OrderedDict();\n    let stop = this.size - 1;\n    if (start === void 0) {\n      return result;\n    }\n    if (start < 0) {\n      start = start + this.size;\n    }\n    if (end !== void 0 && end > 0) {\n      stop = end - 1;\n    }\n    for (let index = start; index <= stop; index++) {\n      const key = this.keyAt(index);\n      const element = this.get(key);\n      result.set(key, element);\n    }\n    return result;\n  }\n  every(predicate, thisArg) {\n    let index = 0;\n    for (const entry of this) {\n      if (!Reflect.apply(predicate, thisArg, [entry, index, this])) {\n        return false;\n      }\n      index++;\n    }\n    return true;\n  }\n  some(predicate, thisArg) {\n    let index = 0;\n    for (const entry of this) {\n      if (Reflect.apply(predicate, thisArg, [entry, index, this])) {\n        return true;\n      }\n      index++;\n    }\n    return false;\n  }\n};\nfunction at(array, index) {\n  if (\"at\" in Array.prototype) {\n    return Array.prototype.at.call(array, index);\n  }\n  const actualIndex = toSafeIndex(array, index);\n  return actualIndex === -1 ? void 0 : array[actualIndex];\n}\nfunction toSafeIndex(array, index) {\n  const length = array.length;\n  const relativeIndex = toSafeInteger(index);\n  const actualIndex = relativeIndex >= 0 ? relativeIndex : length + relativeIndex;\n  return actualIndex < 0 || actualIndex >= length ? -1 : actualIndex;\n}\nfunction toSafeInteger(number) {\n  return number !== number || number === 0 ? 0 : Math.trunc(number);\n}\n\n// src/collection.tsx\nimport { jsx as jsx2 } from \"react/jsx-runtime\";\nfunction createCollection2(name) {\n  const PROVIDER_NAME = name + \"CollectionProvider\";\n  const [createCollectionContext, createCollectionScope] = createContextScope2(PROVIDER_NAME);\n  const [CollectionContextProvider, useCollectionContext] = createCollectionContext(\n    PROVIDER_NAME,\n    {\n      collectionElement: null,\n      collectionRef: { current: null },\n      collectionRefObject: { current: null },\n      itemMap: new OrderedDict(),\n      setItemMap: () => void 0\n    }\n  );\n  const CollectionProvider = ({ state, ...props }) => {\n    return state ? /* @__PURE__ */ jsx2(CollectionProviderImpl, { ...props, state }) : /* @__PURE__ */ jsx2(CollectionInit, { ...props });\n  };\n  CollectionProvider.displayName = PROVIDER_NAME;\n  const CollectionInit = (props) => {\n    const state = useInitCollection();\n    return /* @__PURE__ */ jsx2(CollectionProviderImpl, { ...props, state });\n  };\n  CollectionInit.displayName = PROVIDER_NAME + \"Init\";\n  const CollectionProviderImpl = (props) => {\n    const { scope, children, state } = props;\n    const ref = React2.useRef(null);\n    const [collectionElement, setCollectionElement] = React2.useState(\n      null\n    );\n    const composeRefs = useComposedRefs2(ref, setCollectionElement);\n    const [itemMap, setItemMap] = state;\n    React2.useEffect(() => {\n      if (!collectionElement) return;\n      const observer = getChildListObserver(() => {\n      });\n      observer.observe(collectionElement, {\n        childList: true,\n        subtree: true\n      });\n      return () => {\n        observer.disconnect();\n      };\n    }, [collectionElement]);\n    return /* @__PURE__ */ jsx2(\n      CollectionContextProvider,\n      {\n        scope,\n        itemMap,\n        setItemMap,\n        collectionRef: composeRefs,\n        collectionRefObject: ref,\n        collectionElement,\n        children\n      }\n    );\n  };\n  CollectionProviderImpl.displayName = PROVIDER_NAME + \"Impl\";\n  const COLLECTION_SLOT_NAME = name + \"CollectionSlot\";\n  const CollectionSlotImpl = createSlot2(COLLECTION_SLOT_NAME);\n  const CollectionSlot = React2.forwardRef(\n    (props, forwardedRef) => {\n      const { scope, children } = props;\n      const context = useCollectionContext(COLLECTION_SLOT_NAME, scope);\n      const composedRefs = useComposedRefs2(forwardedRef, context.collectionRef);\n      return /* @__PURE__ */ jsx2(CollectionSlotImpl, { ref: composedRefs, children });\n    }\n  );\n  CollectionSlot.displayName = COLLECTION_SLOT_NAME;\n  const ITEM_SLOT_NAME = name + \"CollectionItemSlot\";\n  const ITEM_DATA_ATTR = \"data-radix-collection-item\";\n  const CollectionItemSlotImpl = createSlot2(ITEM_SLOT_NAME);\n  const CollectionItemSlot = React2.forwardRef(\n    (props, forwardedRef) => {\n      const { scope, children, ...itemData } = props;\n      const ref = React2.useRef(null);\n      const [element, setElement] = React2.useState(null);\n      const composedRefs = useComposedRefs2(forwardedRef, ref, setElement);\n      const context = useCollectionContext(ITEM_SLOT_NAME, scope);\n      const { setItemMap } = context;\n      const itemDataRef = React2.useRef(itemData);\n      if (!shallowEqual(itemDataRef.current, itemData)) {\n        itemDataRef.current = itemData;\n      }\n      const memoizedItemData = itemDataRef.current;\n      React2.useEffect(() => {\n        const itemData2 = memoizedItemData;\n        setItemMap((map) => {\n          if (!element) {\n            return map;\n          }\n          if (!map.has(element)) {\n            map.set(element, { ...itemData2, element });\n            return map.toSorted(sortByDocumentPosition);\n          }\n          return map.set(element, { ...itemData2, element }).toSorted(sortByDocumentPosition);\n        });\n        return () => {\n          setItemMap((map) => {\n            if (!element || !map.has(element)) {\n              return map;\n            }\n            map.delete(element);\n            return new OrderedDict(map);\n          });\n        };\n      }, [element, memoizedItemData, setItemMap]);\n      return /* @__PURE__ */ jsx2(CollectionItemSlotImpl, { ...{ [ITEM_DATA_ATTR]: \"\" }, ref: composedRefs, children });\n    }\n  );\n  CollectionItemSlot.displayName = ITEM_SLOT_NAME;\n  function useInitCollection() {\n    return React2.useState(new OrderedDict());\n  }\n  function useCollection(scope) {\n    const { itemMap } = useCollectionContext(name + \"CollectionConsumer\", scope);\n    return itemMap;\n  }\n  const functions = {\n    createCollectionScope,\n    useCollection,\n    useInitCollection\n  };\n  return [\n    { Provider: CollectionProvider, Slot: CollectionSlot, ItemSlot: CollectionItemSlot },\n    functions\n  ];\n}\nfunction shallowEqual(a, b) {\n  if (a === b) return true;\n  if (typeof a !== \"object\" || typeof b !== \"object\") return false;\n  if (a == null || b == null) return false;\n  const keysA = Object.keys(a);\n  const keysB = Object.keys(b);\n  if (keysA.length !== keysB.length) return false;\n  for (const key of keysA) {\n    if (!Object.prototype.hasOwnProperty.call(b, key)) return false;\n    if (a[key] !== b[key]) return false;\n  }\n  return true;\n}\nfunction isElementPreceding(a, b) {\n  return !!(b.compareDocumentPosition(a) & Node.DOCUMENT_POSITION_PRECEDING);\n}\nfunction sortByDocumentPosition(a, b) {\n  return !a[1].element || !b[1].element ? 0 : isElementPreceding(a[1].element, b[1].element) ? -1 : 1;\n}\nfunction getChildListObserver(callback) {\n  const observer = new MutationObserver((mutationsList) => {\n    for (const mutation of mutationsList) {\n      if (mutation.type === \"childList\") {\n        callback();\n        return;\n      }\n    }\n  });\n  return observer;\n}\nexport {\n  createCollection,\n  createCollection2 as unstable_createCollection\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/compose-refs/src/compose-refs.tsx\nimport * as React from \"react\";\nfunction setRef(ref, value) {\n  if (typeof ref === \"function\") {\n    return ref(value);\n  } else if (ref !== null && ref !== void 0) {\n    ref.current = value;\n  }\n}\nfunction composeRefs(...refs) {\n  return (node) => {\n    let hasCleanup = false;\n    const cleanups = refs.map((ref) => {\n      const cleanup = setRef(ref, node);\n      if (!hasCleanup && typeof cleanup == \"function\") {\n        hasCleanup = true;\n      }\n      return cleanup;\n    });\n    if (hasCleanup) {\n      return () => {\n        for (let i = 0; i < cleanups.length; i++) {\n          const cleanup = cleanups[i];\n          if (typeof cleanup == \"function\") {\n            cleanup();\n          } else {\n            setRef(refs[i], null);\n          }\n        }\n      };\n    }\n  };\n}\nfunction useComposedRefs(...refs) {\n  return React.useCallback(composeRefs(...refs), refs);\n}\nexport {\n  composeRefs,\n  useComposedRefs\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/context/src/create-context.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createContext2(rootComponentName, defaultContext) {\n  const Context = React.createContext(defaultContext);\n  const Provider = (props) => {\n    const { children, ...context } = props;\n    const value = React.useMemo(() => context, Object.values(context));\n    return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n  };\n  Provider.displayName = rootComponentName + \"Provider\";\n  function useContext2(consumerName) {\n    const context = React.useContext(Context);\n    if (context) return context;\n    if (defaultContext !== void 0) return defaultContext;\n    throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n  }\n  return [Provider, useContext2];\n}\nfunction createContextScope(scopeName, createContextScopeDeps = []) {\n  let defaultContexts = [];\n  function createContext3(rootComponentName, defaultContext) {\n    const BaseContext = React.createContext(defaultContext);\n    const index = defaultContexts.length;\n    defaultContexts = [...defaultContexts, defaultContext];\n    const Provider = (props) => {\n      const { scope, children, ...context } = props;\n      const Context = scope?.[scopeName]?.[index] || BaseContext;\n      const value = React.useMemo(() => context, Object.values(context));\n      return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n    };\n    Provider.displayName = rootComponentName + \"Provider\";\n    function useContext2(consumerName, scope) {\n      const Context = scope?.[scopeName]?.[index] || BaseContext;\n      const context = React.useContext(Context);\n      if (context) return context;\n      if (defaultContext !== void 0) return defaultContext;\n      throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n    }\n    return [Provider, useContext2];\n  }\n  const createScope = () => {\n    const scopeContexts = defaultContexts.map((defaultContext) => {\n      return React.createContext(defaultContext);\n    });\n    return function useScope(scope) {\n      const contexts = scope?.[scopeName] || scopeContexts;\n      return React.useMemo(\n        () => ({ [`__scope${scopeName}`]: { ...scope, [scopeName]: contexts } }),\n        [scope, contexts]\n      );\n    };\n  };\n  createScope.scopeName = scopeName;\n  return [createContext3, composeContextScopes(createScope, ...createContextScopeDeps)];\n}\nfunction composeContextScopes(...scopes) {\n  const baseScope = scopes[0];\n  if (scopes.length === 1) return baseScope;\n  const createScope = () => {\n    const scopeHooks = scopes.map((createScope2) => ({\n      useScope: createScope2(),\n      scopeName: createScope2.scopeName\n    }));\n    return function useComposedScopes(overrideScopes) {\n      const nextScopes = scopeHooks.reduce((nextScopes2, { useScope, scopeName }) => {\n        const scopeProps = useScope(overrideScopes);\n        const currentScope = scopeProps[`__scope${scopeName}`];\n        return { ...nextScopes2, ...currentScope };\n      }, {});\n      return React.useMemo(() => ({ [`__scope${baseScope.scopeName}`]: nextScopes }), [nextScopes]);\n    };\n  };\n  createScope.scopeName = baseScope.scopeName;\n  return createScope;\n}\nexport {\n  createContext2 as createContext,\n  createContextScope\n};\n//# sourceMappingURL=index.mjs.map\n","// src/slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment as Fragment2, jsx } from \"react/jsx-runtime\";\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n  const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);\n  const Slot2 = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    const childrenArray = React.Children.toArray(children);\n    const slottable = childrenArray.find(isSlottable);\n    if (slottable) {\n      const newElement = slottable.props.children;\n      const newChildren = childrenArray.map((child) => {\n        if (child === slottable) {\n          if (React.Children.count(newElement) > 1) return React.Children.only(null);\n          return React.isValidElement(newElement) ? newElement.props.children : null;\n        } else {\n          return child;\n        }\n      });\n      return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n    }\n    return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n  });\n  Slot2.displayName = `${ownerName}.Slot`;\n  return Slot2;\n}\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlotClone(ownerName) {\n  const SlotClone = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    if (React.isValidElement(children)) {\n      const childrenRef = getElementRef(children);\n      const props2 = mergeProps(slotProps, children.props);\n      if (children.type !== React.Fragment) {\n        props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n      }\n      return React.cloneElement(children, props2);\n    }\n    return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n  });\n  SlotClone.displayName = `${ownerName}.SlotClone`;\n  return SlotClone;\n}\nvar SLOTTABLE_IDENTIFIER = Symbol(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n  const Slottable2 = ({ children }) => {\n    return /* @__PURE__ */ jsx(Fragment2, { children });\n  };\n  Slottable2.displayName = `${ownerName}.Slottable`;\n  Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n  return Slottable2;\n}\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nfunction isSlottable(child) {\n  return React.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\nfunction mergeProps(slotProps, childProps) {\n  const overrideProps = { ...childProps };\n  for (const propName in childProps) {\n    const slotPropValue = slotProps[propName];\n    const childPropValue = childProps[propName];\n    const isHandler = /^on[A-Z]/.test(propName);\n    if (isHandler) {\n      if (slotPropValue && childPropValue) {\n        overrideProps[propName] = (...args) => {\n          const result = childPropValue(...args);\n          slotPropValue(...args);\n          return result;\n        };\n      } else if (slotPropValue) {\n        overrideProps[propName] = slotPropValue;\n      }\n    } else if (propName === \"style\") {\n      overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n    } else if (propName === \"className\") {\n      overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n    }\n  }\n  return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n  let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n  let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.ref;\n  }\n  getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n  mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.props.ref;\n  }\n  return element.props.ref || element.ref;\n}\nexport {\n  Slot as Root,\n  Slot,\n  Slottable,\n  createSlot,\n  createSlottable\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nvar canUseDOM = !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\nfunction composeEventHandlers(originalEventHandler, ourEventHandler, { checkForDefaultPrevented = true } = {}) {\n  return function handleEvent(event) {\n    originalEventHandler?.(event);\n    if (checkForDefaultPrevented === false || !event.defaultPrevented) {\n      return ourEventHandler?.(event);\n    }\n  };\n}\nfunction getOwnerWindow(element) {\n  if (!canUseDOM) {\n    throw new Error(\"Cannot access window outside of the DOM\");\n  }\n  return element?.ownerDocument?.defaultView ?? window;\n}\nfunction getOwnerDocument(element) {\n  if (!canUseDOM) {\n    throw new Error(\"Cannot access document outside of the DOM\");\n  }\n  return element?.ownerDocument ?? document;\n}\nfunction getActiveElement(node, activeDescendant = false) {\n  const { activeElement } = getOwnerDocument(node);\n  if (!activeElement?.nodeName) {\n    return null;\n  }\n  if (isFrame(activeElement) && activeElement.contentDocument) {\n    return getActiveElement(activeElement.contentDocument.body, activeDescendant);\n  }\n  if (activeDescendant) {\n    const id = activeElement.getAttribute(\"aria-activedescendant\");\n    if (id) {\n      const element = getOwnerDocument(activeElement).getElementById(id);\n      if (element) {\n        return element;\n      }\n    }\n  }\n  return activeElement;\n}\nfunction isFrame(element) {\n  return element.tagName === \"IFRAME\";\n}\nexport {\n  canUseDOM,\n  composeEventHandlers,\n  getActiveElement,\n  getOwnerDocument,\n  getOwnerWindow,\n  isFrame\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/compose-refs/src/compose-refs.tsx\nimport * as React from \"react\";\nfunction setRef(ref, value) {\n  if (typeof ref === \"function\") {\n    return ref(value);\n  } else if (ref !== null && ref !== void 0) {\n    ref.current = value;\n  }\n}\nfunction composeRefs(...refs) {\n  return (node) => {\n    let hasCleanup = false;\n    const cleanups = refs.map((ref) => {\n      const cleanup = setRef(ref, node);\n      if (!hasCleanup && typeof cleanup == \"function\") {\n        hasCleanup = true;\n      }\n      return cleanup;\n    });\n    if (hasCleanup) {\n      return () => {\n        for (let i = 0; i < cleanups.length; i++) {\n          const cleanup = cleanups[i];\n          if (typeof cleanup == \"function\") {\n            cleanup();\n          } else {\n            setRef(refs[i], null);\n          }\n        }\n      };\n    }\n  };\n}\nfunction useComposedRefs(...refs) {\n  return React.useCallback(composeRefs(...refs), refs);\n}\nexport {\n  composeRefs,\n  useComposedRefs\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/context/src/create-context.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createContext2(rootComponentName, defaultContext) {\n  const Context = React.createContext(defaultContext);\n  const Provider = (props) => {\n    const { children, ...context } = props;\n    const value = React.useMemo(() => context, Object.values(context));\n    return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n  };\n  Provider.displayName = rootComponentName + \"Provider\";\n  function useContext2(consumerName) {\n    const context = React.useContext(Context);\n    if (context) return context;\n    if (defaultContext !== void 0) return defaultContext;\n    throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n  }\n  return [Provider, useContext2];\n}\nfunction createContextScope(scopeName, createContextScopeDeps = []) {\n  let defaultContexts = [];\n  function createContext3(rootComponentName, defaultContext) {\n    const BaseContext = React.createContext(defaultContext);\n    const index = defaultContexts.length;\n    defaultContexts = [...defaultContexts, defaultContext];\n    const Provider = (props) => {\n      const { scope, children, ...context } = props;\n      const Context = scope?.[scopeName]?.[index] || BaseContext;\n      const value = React.useMemo(() => context, Object.values(context));\n      return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n    };\n    Provider.displayName = rootComponentName + \"Provider\";\n    function useContext2(consumerName, scope) {\n      const Context = scope?.[scopeName]?.[index] || BaseContext;\n      const context = React.useContext(Context);\n      if (context) return context;\n      if (defaultContext !== void 0) return defaultContext;\n      throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n    }\n    return [Provider, useContext2];\n  }\n  const createScope = () => {\n    const scopeContexts = defaultContexts.map((defaultContext) => {\n      return React.createContext(defaultContext);\n    });\n    return function useScope(scope) {\n      const contexts = scope?.[scopeName] || scopeContexts;\n      return React.useMemo(\n        () => ({ [`__scope${scopeName}`]: { ...scope, [scopeName]: contexts } }),\n        [scope, contexts]\n      );\n    };\n  };\n  createScope.scopeName = scopeName;\n  return [createContext3, composeContextScopes(createScope, ...createContextScopeDeps)];\n}\nfunction composeContextScopes(...scopes) {\n  const baseScope = scopes[0];\n  if (scopes.length === 1) return baseScope;\n  const createScope = () => {\n    const scopeHooks = scopes.map((createScope2) => ({\n      useScope: createScope2(),\n      scopeName: createScope2.scopeName\n    }));\n    return function useComposedScopes(overrideScopes) {\n      const nextScopes = scopeHooks.reduce((nextScopes2, { useScope, scopeName }) => {\n        const scopeProps = useScope(overrideScopes);\n        const currentScope = scopeProps[`__scope${scopeName}`];\n        return { ...nextScopes2, ...currentScope };\n      }, {});\n      return React.useMemo(() => ({ [`__scope${baseScope.scopeName}`]: nextScopes }), [nextScopes]);\n    };\n  };\n  createScope.scopeName = baseScope.scopeName;\n  return createScope;\n}\nexport {\n  createContext2 as createContext,\n  createContextScope\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-layout-effect/src/use-layout-effect.tsx\nimport * as React from \"react\";\nvar useLayoutEffect2 = globalThis?.document ? React.useLayoutEffect : () => {\n};\nexport {\n  useLayoutEffect2 as useLayoutEffect\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/presence.tsx\nimport * as React2 from \"react\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\n\n// src/use-state-machine.tsx\nimport * as React from \"react\";\nfunction useStateMachine(initialState, machine) {\n  return React.useReducer((state, event) => {\n    const nextState = machine[state][event];\n    return nextState ?? state;\n  }, initialState);\n}\n\n// src/presence.tsx\nvar Presence = (props) => {\n  const { present, children } = props;\n  const presence = usePresence(present);\n  const child = typeof children === \"function\" ? children({ present: presence.isPresent }) : React2.Children.only(children);\n  const ref = useComposedRefs(presence.ref, getElementRef(child));\n  const forceMount = typeof children === \"function\";\n  return forceMount || presence.isPresent ? React2.cloneElement(child, { ref }) : null;\n};\nPresence.displayName = \"Presence\";\nfunction usePresence(present) {\n  const [node, setNode] = React2.useState();\n  const stylesRef = React2.useRef(null);\n  const prevPresentRef = React2.useRef(present);\n  const prevAnimationNameRef = React2.useRef(\"none\");\n  const initialState = present ? \"mounted\" : \"unmounted\";\n  const [state, send] = useStateMachine(initialState, {\n    mounted: {\n      UNMOUNT: \"unmounted\",\n      ANIMATION_OUT: \"unmountSuspended\"\n    },\n    unmountSuspended: {\n      MOUNT: \"mounted\",\n      ANIMATION_END: \"unmounted\"\n    },\n    unmounted: {\n      MOUNT: \"mounted\"\n    }\n  });\n  React2.useEffect(() => {\n    const currentAnimationName = getAnimationName(stylesRef.current);\n    prevAnimationNameRef.current = state === \"mounted\" ? currentAnimationName : \"none\";\n  }, [state]);\n  useLayoutEffect(() => {\n    const styles = stylesRef.current;\n    const wasPresent = prevPresentRef.current;\n    const hasPresentChanged = wasPresent !== present;\n    if (hasPresentChanged) {\n      const prevAnimationName = prevAnimationNameRef.current;\n      const currentAnimationName = getAnimationName(styles);\n      if (present) {\n        send(\"MOUNT\");\n      } else if (currentAnimationName === \"none\" || styles?.display === \"none\") {\n        send(\"UNMOUNT\");\n      } else {\n        const isAnimating = prevAnimationName !== currentAnimationName;\n        if (wasPresent && isAnimating) {\n          send(\"ANIMATION_OUT\");\n        } else {\n          send(\"UNMOUNT\");\n        }\n      }\n      prevPresentRef.current = present;\n    }\n  }, [present, send]);\n  useLayoutEffect(() => {\n    if (node) {\n      let timeoutId;\n      const ownerWindow = node.ownerDocument.defaultView ?? window;\n      const handleAnimationEnd = (event) => {\n        const currentAnimationName = getAnimationName(stylesRef.current);\n        const isCurrentAnimation = currentAnimationName.includes(CSS.escape(event.animationName));\n        if (event.target === node && isCurrentAnimation) {\n          send(\"ANIMATION_END\");\n          if (!prevPresentRef.current) {\n            const currentFillMode = node.style.animationFillMode;\n            node.style.animationFillMode = \"forwards\";\n            timeoutId = ownerWindow.setTimeout(() => {\n              if (node.style.animationFillMode === \"forwards\") {\n                node.style.animationFillMode = currentFillMode;\n              }\n            });\n          }\n        }\n      };\n      const handleAnimationStart = (event) => {\n        if (event.target === node) {\n          prevAnimationNameRef.current = getAnimationName(stylesRef.current);\n        }\n      };\n      node.addEventListener(\"animationstart\", handleAnimationStart);\n      node.addEventListener(\"animationcancel\", handleAnimationEnd);\n      node.addEventListener(\"animationend\", handleAnimationEnd);\n      return () => {\n        ownerWindow.clearTimeout(timeoutId);\n        node.removeEventListener(\"animationstart\", handleAnimationStart);\n        node.removeEventListener(\"animationcancel\", handleAnimationEnd);\n        node.removeEventListener(\"animationend\", handleAnimationEnd);\n      };\n    } else {\n      send(\"ANIMATION_END\");\n    }\n  }, [node, send]);\n  return {\n    isPresent: [\"mounted\", \"unmountSuspended\"].includes(state),\n    ref: React2.useCallback((node2) => {\n      stylesRef.current = node2 ? getComputedStyle(node2) : null;\n      setNode(node2);\n    }, [])\n  };\n}\nfunction getAnimationName(styles) {\n  return styles?.animationName || \"none\";\n}\nfunction getElementRef(element) {\n  let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n  let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.ref;\n  }\n  getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n  mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.props.ref;\n  }\n  return element.props.ref || element.ref;\n}\nvar Root = Presence;\nexport {\n  Presence,\n  Root\n};\n//# sourceMappingURL=index.mjs.map\n","// src/slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment as Fragment2, jsx } from \"react/jsx-runtime\";\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n  const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);\n  const Slot2 = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    const childrenArray = React.Children.toArray(children);\n    const slottable = childrenArray.find(isSlottable);\n    if (slottable) {\n      const newElement = slottable.props.children;\n      const newChildren = childrenArray.map((child) => {\n        if (child === slottable) {\n          if (React.Children.count(newElement) > 1) return React.Children.only(null);\n          return React.isValidElement(newElement) ? newElement.props.children : null;\n        } else {\n          return child;\n        }\n      });\n      return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n    }\n    return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n  });\n  Slot2.displayName = `${ownerName}.Slot`;\n  return Slot2;\n}\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlotClone(ownerName) {\n  const SlotClone = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    if (React.isValidElement(children)) {\n      const childrenRef = getElementRef(children);\n      const props2 = mergeProps(slotProps, children.props);\n      if (children.type !== React.Fragment) {\n        props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n      }\n      return React.cloneElement(children, props2);\n    }\n    return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n  });\n  SlotClone.displayName = `${ownerName}.SlotClone`;\n  return SlotClone;\n}\nvar SLOTTABLE_IDENTIFIER = Symbol(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n  const Slottable2 = ({ children }) => {\n    return /* @__PURE__ */ jsx(Fragment2, { children });\n  };\n  Slottable2.displayName = `${ownerName}.Slottable`;\n  Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n  return Slottable2;\n}\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nfunction isSlottable(child) {\n  return React.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\nfunction mergeProps(slotProps, childProps) {\n  const overrideProps = { ...childProps };\n  for (const propName in childProps) {\n    const slotPropValue = slotProps[propName];\n    const childPropValue = childProps[propName];\n    const isHandler = /^on[A-Z]/.test(propName);\n    if (isHandler) {\n      if (slotPropValue && childPropValue) {\n        overrideProps[propName] = (...args) => {\n          const result = childPropValue(...args);\n          slotPropValue(...args);\n          return result;\n        };\n      } else if (slotPropValue) {\n        overrideProps[propName] = slotPropValue;\n      }\n    } else if (propName === \"style\") {\n      overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n    } else if (propName === \"className\") {\n      overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n    }\n  }\n  return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n  let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n  let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.ref;\n  }\n  getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n  mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.props.ref;\n  }\n  return element.props.ref || element.ref;\n}\nexport {\n  Slot as Root,\n  Slot,\n  Slottable,\n  createSlot,\n  createSlottable\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NODES = [\n  \"a\",\n  \"button\",\n  \"div\",\n  \"form\",\n  \"h2\",\n  \"h3\",\n  \"img\",\n  \"input\",\n  \"label\",\n  \"li\",\n  \"nav\",\n  \"ol\",\n  \"p\",\n  \"select\",\n  \"span\",\n  \"svg\",\n  \"ul\"\n];\nvar Primitive = NODES.reduce((primitive, node) => {\n  const Slot = createSlot(`Primitive.${node}`);\n  const Node = React.forwardRef((props, forwardedRef) => {\n    const { asChild, ...primitiveProps } = props;\n    const Comp = asChild ? Slot : node;\n    if (typeof window !== \"undefined\") {\n      window[Symbol.for(\"radix-ui\")] = true;\n    }\n    return /* @__PURE__ */ jsx(Comp, { ...primitiveProps, ref: forwardedRef });\n  });\n  Node.displayName = `Primitive.${node}`;\n  return { ...primitive, [node]: Node };\n}, {});\nfunction dispatchDiscreteCustomEvent(target, event) {\n  if (target) ReactDOM.flushSync(() => target.dispatchEvent(event));\n}\nvar Root = Primitive;\nexport {\n  Primitive,\n  Root,\n  dispatchDiscreteCustomEvent\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/dialog.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContext, createContextScope } from \"@radix-ui/react-context\";\nimport { useId } from \"@radix-ui/react-id\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { DismissableLayer } from \"@radix-ui/react-dismissable-layer\";\nimport { FocusScope } from \"@radix-ui/react-focus-scope\";\nimport { Portal as PortalPrimitive } from \"@radix-ui/react-portal\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { useFocusGuards } from \"@radix-ui/react-focus-guards\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport { hideOthers } from \"aria-hidden\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nvar DIALOG_NAME = \"Dialog\";\nvar [createDialogContext, createDialogScope] = createContextScope(DIALOG_NAME);\nvar [DialogProvider, useDialogContext] = createDialogContext(DIALOG_NAME);\nvar Dialog = (props) => {\n  const {\n    __scopeDialog,\n    children,\n    open: openProp,\n    defaultOpen,\n    onOpenChange,\n    modal = true\n  } = props;\n  const triggerRef = React.useRef(null);\n  const contentRef = React.useRef(null);\n  const [open, setOpen] = useControllableState({\n    prop: openProp,\n    defaultProp: defaultOpen ?? false,\n    onChange: onOpenChange,\n    caller: DIALOG_NAME\n  });\n  return /* @__PURE__ */ jsx(\n    DialogProvider,\n    {\n      scope: __scopeDialog,\n      triggerRef,\n      contentRef,\n      contentId: useId(),\n      titleId: useId(),\n      descriptionId: useId(),\n      open,\n      onOpenChange: setOpen,\n      onOpenToggle: React.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]),\n      modal,\n      children\n    }\n  );\n};\nDialog.displayName = DIALOG_NAME;\nvar TRIGGER_NAME = \"DialogTrigger\";\nvar DialogTrigger = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeDialog, ...triggerProps } = props;\n    const context = useDialogContext(TRIGGER_NAME, __scopeDialog);\n    const composedTriggerRef = useComposedRefs(forwardedRef, context.triggerRef);\n    return /* @__PURE__ */ jsx(\n      Primitive.button,\n      {\n        type: \"button\",\n        \"aria-haspopup\": \"dialog\",\n        \"aria-expanded\": context.open,\n        \"aria-controls\": context.contentId,\n        \"data-state\": getState(context.open),\n        ...triggerProps,\n        ref: composedTriggerRef,\n        onClick: composeEventHandlers(props.onClick, context.onOpenToggle)\n      }\n    );\n  }\n);\nDialogTrigger.displayName = TRIGGER_NAME;\nvar PORTAL_NAME = \"DialogPortal\";\nvar [PortalProvider, usePortalContext] = createDialogContext(PORTAL_NAME, {\n  forceMount: void 0\n});\nvar DialogPortal = (props) => {\n  const { __scopeDialog, forceMount, children, container } = props;\n  const context = useDialogContext(PORTAL_NAME, __scopeDialog);\n  return /* @__PURE__ */ jsx(PortalProvider, { scope: __scopeDialog, forceMount, children: React.Children.map(children, (child) => /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(PortalPrimitive, { asChild: true, container, children: child }) })) });\n};\nDialogPortal.displayName = PORTAL_NAME;\nvar OVERLAY_NAME = \"DialogOverlay\";\nvar DialogOverlay = React.forwardRef(\n  (props, forwardedRef) => {\n    const portalContext = usePortalContext(OVERLAY_NAME, props.__scopeDialog);\n    const { forceMount = portalContext.forceMount, ...overlayProps } = props;\n    const context = useDialogContext(OVERLAY_NAME, props.__scopeDialog);\n    return context.modal ? /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(DialogOverlayImpl, { ...overlayProps, ref: forwardedRef }) }) : null;\n  }\n);\nDialogOverlay.displayName = OVERLAY_NAME;\nvar Slot = createSlot(\"DialogOverlay.RemoveScroll\");\nvar DialogOverlayImpl = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeDialog, ...overlayProps } = props;\n    const context = useDialogContext(OVERLAY_NAME, __scopeDialog);\n    return (\n      // Make sure `Content` is scrollable even when it doesn't live inside `RemoveScroll`\n      // ie. when `Overlay` and `Content` are siblings\n      /* @__PURE__ */ jsx(RemoveScroll, { as: Slot, allowPinchZoom: true, shards: [context.contentRef], children: /* @__PURE__ */ jsx(\n        Primitive.div,\n        {\n          \"data-state\": getState(context.open),\n          ...overlayProps,\n          ref: forwardedRef,\n          style: { pointerEvents: \"auto\", ...overlayProps.style }\n        }\n      ) })\n    );\n  }\n);\nvar CONTENT_NAME = \"DialogContent\";\nvar DialogContent = React.forwardRef(\n  (props, forwardedRef) => {\n    const portalContext = usePortalContext(CONTENT_NAME, props.__scopeDialog);\n    const { forceMount = portalContext.forceMount, ...contentProps } = props;\n    const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);\n    return /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: context.modal ? /* @__PURE__ */ jsx(DialogContentModal, { ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ jsx(DialogContentNonModal, { ...contentProps, ref: forwardedRef }) });\n  }\n);\nDialogContent.displayName = CONTENT_NAME;\nvar DialogContentModal = React.forwardRef(\n  (props, forwardedRef) => {\n    const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);\n    const contentRef = React.useRef(null);\n    const composedRefs = useComposedRefs(forwardedRef, context.contentRef, contentRef);\n    React.useEffect(() => {\n      const content = contentRef.current;\n      if (content) return hideOthers(content);\n    }, []);\n    return /* @__PURE__ */ jsx(\n      DialogContentImpl,\n      {\n        ...props,\n        ref: composedRefs,\n        trapFocus: context.open,\n        disableOutsidePointerEvents: true,\n        onCloseAutoFocus: composeEventHandlers(props.onCloseAutoFocus, (event) => {\n          event.preventDefault();\n          context.triggerRef.current?.focus();\n        }),\n        onPointerDownOutside: composeEventHandlers(props.onPointerDownOutside, (event) => {\n          const originalEvent = event.detail.originalEvent;\n          const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;\n          const isRightClick = originalEvent.button === 2 || ctrlLeftClick;\n          if (isRightClick) event.preventDefault();\n        }),\n        onFocusOutside: composeEventHandlers(\n          props.onFocusOutside,\n          (event) => event.preventDefault()\n        )\n      }\n    );\n  }\n);\nvar DialogContentNonModal = React.forwardRef(\n  (props, forwardedRef) => {\n    const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);\n    const hasInteractedOutsideRef = React.useRef(false);\n    const hasPointerDownOutsideRef = React.useRef(false);\n    return /* @__PURE__ */ jsx(\n      DialogContentImpl,\n      {\n        ...props,\n        ref: forwardedRef,\n        trapFocus: false,\n        disableOutsidePointerEvents: false,\n        onCloseAutoFocus: (event) => {\n          props.onCloseAutoFocus?.(event);\n          if (!event.defaultPrevented) {\n            if (!hasInteractedOutsideRef.current) context.triggerRef.current?.focus();\n            event.preventDefault();\n          }\n          hasInteractedOutsideRef.current = false;\n          hasPointerDownOutsideRef.current = false;\n        },\n        onInteractOutside: (event) => {\n          props.onInteractOutside?.(event);\n          if (!event.defaultPrevented) {\n            hasInteractedOutsideRef.current = true;\n            if (event.detail.originalEvent.type === \"pointerdown\") {\n              hasPointerDownOutsideRef.current = true;\n            }\n          }\n          const target = event.target;\n          const targetIsTrigger = context.triggerRef.current?.contains(target);\n          if (targetIsTrigger) event.preventDefault();\n          if (event.detail.originalEvent.type === \"focusin\" && hasPointerDownOutsideRef.current) {\n            event.preventDefault();\n          }\n        }\n      }\n    );\n  }\n);\nvar DialogContentImpl = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeDialog, trapFocus, onOpenAutoFocus, onCloseAutoFocus, ...contentProps } = props;\n    const context = useDialogContext(CONTENT_NAME, __scopeDialog);\n    const contentRef = React.useRef(null);\n    const composedRefs = useComposedRefs(forwardedRef, contentRef);\n    useFocusGuards();\n    return /* @__PURE__ */ jsxs(Fragment, { children: [\n      /* @__PURE__ */ jsx(\n        FocusScope,\n        {\n          asChild: true,\n          loop: true,\n          trapped: trapFocus,\n          onMountAutoFocus: onOpenAutoFocus,\n          onUnmountAutoFocus: onCloseAutoFocus,\n          children: /* @__PURE__ */ jsx(\n            DismissableLayer,\n            {\n              role: \"dialog\",\n              id: context.contentId,\n              \"aria-describedby\": context.descriptionId,\n              \"aria-labelledby\": context.titleId,\n              \"data-state\": getState(context.open),\n              ...contentProps,\n              ref: composedRefs,\n              onDismiss: () => context.onOpenChange(false)\n            }\n          )\n        }\n      ),\n      /* @__PURE__ */ jsxs(Fragment, { children: [\n        /* @__PURE__ */ jsx(TitleWarning, { titleId: context.titleId }),\n        /* @__PURE__ */ jsx(DescriptionWarning, { contentRef, descriptionId: context.descriptionId })\n      ] })\n    ] });\n  }\n);\nvar TITLE_NAME = \"DialogTitle\";\nvar DialogTitle = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeDialog, ...titleProps } = props;\n    const context = useDialogContext(TITLE_NAME, __scopeDialog);\n    return /* @__PURE__ */ jsx(Primitive.h2, { id: context.titleId, ...titleProps, ref: forwardedRef });\n  }\n);\nDialogTitle.displayName = TITLE_NAME;\nvar DESCRIPTION_NAME = \"DialogDescription\";\nvar DialogDescription = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeDialog, ...descriptionProps } = props;\n    const context = useDialogContext(DESCRIPTION_NAME, __scopeDialog);\n    return /* @__PURE__ */ jsx(Primitive.p, { id: context.descriptionId, ...descriptionProps, ref: forwardedRef });\n  }\n);\nDialogDescription.displayName = DESCRIPTION_NAME;\nvar CLOSE_NAME = \"DialogClose\";\nvar DialogClose = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeDialog, ...closeProps } = props;\n    const context = useDialogContext(CLOSE_NAME, __scopeDialog);\n    return /* @__PURE__ */ jsx(\n      Primitive.button,\n      {\n        type: \"button\",\n        ...closeProps,\n        ref: forwardedRef,\n        onClick: composeEventHandlers(props.onClick, () => context.onOpenChange(false))\n      }\n    );\n  }\n);\nDialogClose.displayName = CLOSE_NAME;\nfunction getState(open) {\n  return open ? \"open\" : \"closed\";\n}\nvar TITLE_WARNING_NAME = \"DialogTitleWarning\";\nvar [WarningProvider, useWarningContext] = createContext(TITLE_WARNING_NAME, {\n  contentName: CONTENT_NAME,\n  titleName: TITLE_NAME,\n  docsSlug: \"dialog\"\n});\nvar TitleWarning = ({ titleId }) => {\n  const titleWarningContext = useWarningContext(TITLE_WARNING_NAME);\n  const MESSAGE = `\\`${titleWarningContext.contentName}\\` requires a \\`${titleWarningContext.titleName}\\` for the component to be accessible for screen reader users.\n\nIf you want to hide the \\`${titleWarningContext.titleName}\\`, you can wrap it with our VisuallyHidden component.\n\nFor more information, see https://radix-ui.com/primitives/docs/components/${titleWarningContext.docsSlug}`;\n  React.useEffect(() => {\n    if (titleId) {\n      const hasTitle = document.getElementById(titleId);\n      if (!hasTitle) console.error(MESSAGE);\n    }\n  }, [MESSAGE, titleId]);\n  return null;\n};\nvar DESCRIPTION_WARNING_NAME = \"DialogDescriptionWarning\";\nvar DescriptionWarning = ({ contentRef, descriptionId }) => {\n  const descriptionWarningContext = useWarningContext(DESCRIPTION_WARNING_NAME);\n  const MESSAGE = `Warning: Missing \\`Description\\` or \\`aria-describedby={undefined}\\` for {${descriptionWarningContext.contentName}}.`;\n  React.useEffect(() => {\n    const describedById = contentRef.current?.getAttribute(\"aria-describedby\");\n    if (descriptionId && describedById) {\n      const hasDescription = document.getElementById(descriptionId);\n      if (!hasDescription) console.warn(MESSAGE);\n    }\n  }, [MESSAGE, contentRef, descriptionId]);\n  return null;\n};\nvar Root = Dialog;\nvar Trigger = DialogTrigger;\nvar Portal = DialogPortal;\nvar Overlay = DialogOverlay;\nvar Content = DialogContent;\nvar Title = DialogTitle;\nvar Description = DialogDescription;\nvar Close = DialogClose;\nexport {\n  Close,\n  Content,\n  Description,\n  Dialog,\n  DialogClose,\n  DialogContent,\n  DialogDescription,\n  DialogOverlay,\n  DialogPortal,\n  DialogTitle,\n  DialogTrigger,\n  Overlay,\n  Portal,\n  Root,\n  Title,\n  Trigger,\n  WarningProvider,\n  createDialogScope\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/dismissable-layer.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { Primitive, dispatchDiscreteCustomEvent } from \"@radix-ui/react-primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { useEscapeKeydown } from \"@radix-ui/react-use-escape-keydown\";\nimport { jsx } from \"react/jsx-runtime\";\nvar DISMISSABLE_LAYER_NAME = \"DismissableLayer\";\nvar CONTEXT_UPDATE = \"dismissableLayer.update\";\nvar POINTER_DOWN_OUTSIDE = \"dismissableLayer.pointerDownOutside\";\nvar FOCUS_OUTSIDE = \"dismissableLayer.focusOutside\";\nvar originalBodyPointerEvents;\nvar DismissableLayerContext = React.createContext({\n  layers: /* @__PURE__ */ new Set(),\n  layersWithOutsidePointerEventsDisabled: /* @__PURE__ */ new Set(),\n  branches: /* @__PURE__ */ new Set()\n});\nvar DismissableLayer = React.forwardRef(\n  (props, forwardedRef) => {\n    const {\n      disableOutsidePointerEvents = false,\n      onEscapeKeyDown,\n      onPointerDownOutside,\n      onFocusOutside,\n      onInteractOutside,\n      onDismiss,\n      ...layerProps\n    } = props;\n    const context = React.useContext(DismissableLayerContext);\n    const [node, setNode] = React.useState(null);\n    const ownerDocument = node?.ownerDocument ?? globalThis?.document;\n    const [, force] = React.useState({});\n    const composedRefs = useComposedRefs(forwardedRef, (node2) => setNode(node2));\n    const layers = Array.from(context.layers);\n    const [highestLayerWithOutsidePointerEventsDisabled] = [...context.layersWithOutsidePointerEventsDisabled].slice(-1);\n    const highestLayerWithOutsidePointerEventsDisabledIndex = layers.indexOf(highestLayerWithOutsidePointerEventsDisabled);\n    const index = node ? layers.indexOf(node) : -1;\n    const isBodyPointerEventsDisabled = context.layersWithOutsidePointerEventsDisabled.size > 0;\n    const isPointerEventsEnabled = index >= highestLayerWithOutsidePointerEventsDisabledIndex;\n    const pointerDownOutside = usePointerDownOutside((event) => {\n      const target = event.target;\n      const isPointerDownOnBranch = [...context.branches].some((branch) => branch.contains(target));\n      if (!isPointerEventsEnabled || isPointerDownOnBranch) return;\n      onPointerDownOutside?.(event);\n      onInteractOutside?.(event);\n      if (!event.defaultPrevented) onDismiss?.();\n    }, ownerDocument);\n    const focusOutside = useFocusOutside((event) => {\n      const target = event.target;\n      const isFocusInBranch = [...context.branches].some((branch) => branch.contains(target));\n      if (isFocusInBranch) return;\n      onFocusOutside?.(event);\n      onInteractOutside?.(event);\n      if (!event.defaultPrevented) onDismiss?.();\n    }, ownerDocument);\n    useEscapeKeydown((event) => {\n      const isHighestLayer = index === context.layers.size - 1;\n      if (!isHighestLayer) return;\n      onEscapeKeyDown?.(event);\n      if (!event.defaultPrevented && onDismiss) {\n        event.preventDefault();\n        onDismiss();\n      }\n    }, ownerDocument);\n    React.useEffect(() => {\n      if (!node) return;\n      if (disableOutsidePointerEvents) {\n        if (context.layersWithOutsidePointerEventsDisabled.size === 0) {\n          originalBodyPointerEvents = ownerDocument.body.style.pointerEvents;\n          ownerDocument.body.style.pointerEvents = \"none\";\n        }\n        context.layersWithOutsidePointerEventsDisabled.add(node);\n      }\n      context.layers.add(node);\n      dispatchUpdate();\n      return () => {\n        if (disableOutsidePointerEvents && context.layersWithOutsidePointerEventsDisabled.size === 1) {\n          ownerDocument.body.style.pointerEvents = originalBodyPointerEvents;\n        }\n      };\n    }, [node, ownerDocument, disableOutsidePointerEvents, context]);\n    React.useEffect(() => {\n      return () => {\n        if (!node) return;\n        context.layers.delete(node);\n        context.layersWithOutsidePointerEventsDisabled.delete(node);\n        dispatchUpdate();\n      };\n    }, [node, context]);\n    React.useEffect(() => {\n      const handleUpdate = () => force({});\n      document.addEventListener(CONTEXT_UPDATE, handleUpdate);\n      return () => document.removeEventListener(CONTEXT_UPDATE, handleUpdate);\n    }, []);\n    return /* @__PURE__ */ jsx(\n      Primitive.div,\n      {\n        ...layerProps,\n        ref: composedRefs,\n        style: {\n          pointerEvents: isBodyPointerEventsDisabled ? isPointerEventsEnabled ? \"auto\" : \"none\" : void 0,\n          ...props.style\n        },\n        onFocusCapture: composeEventHandlers(props.onFocusCapture, focusOutside.onFocusCapture),\n        onBlurCapture: composeEventHandlers(props.onBlurCapture, focusOutside.onBlurCapture),\n        onPointerDownCapture: composeEventHandlers(\n          props.onPointerDownCapture,\n          pointerDownOutside.onPointerDownCapture\n        )\n      }\n    );\n  }\n);\nDismissableLayer.displayName = DISMISSABLE_LAYER_NAME;\nvar BRANCH_NAME = \"DismissableLayerBranch\";\nvar DismissableLayerBranch = React.forwardRef((props, forwardedRef) => {\n  const context = React.useContext(DismissableLayerContext);\n  const ref = React.useRef(null);\n  const composedRefs = useComposedRefs(forwardedRef, ref);\n  React.useEffect(() => {\n    const node = ref.current;\n    if (node) {\n      context.branches.add(node);\n      return () => {\n        context.branches.delete(node);\n      };\n    }\n  }, [context.branches]);\n  return /* @__PURE__ */ jsx(Primitive.div, { ...props, ref: composedRefs });\n});\nDismissableLayerBranch.displayName = BRANCH_NAME;\nfunction usePointerDownOutside(onPointerDownOutside, ownerDocument = globalThis?.document) {\n  const handlePointerDownOutside = useCallbackRef(onPointerDownOutside);\n  const isPointerInsideReactTreeRef = React.useRef(false);\n  const handleClickRef = React.useRef(() => {\n  });\n  React.useEffect(() => {\n    const handlePointerDown = (event) => {\n      if (event.target && !isPointerInsideReactTreeRef.current) {\n        let handleAndDispatchPointerDownOutsideEvent2 = function() {\n          handleAndDispatchCustomEvent(\n            POINTER_DOWN_OUTSIDE,\n            handlePointerDownOutside,\n            eventDetail,\n            { discrete: true }\n          );\n        };\n        var handleAndDispatchPointerDownOutsideEvent = handleAndDispatchPointerDownOutsideEvent2;\n        const eventDetail = { originalEvent: event };\n        if (event.pointerType === \"touch\") {\n          ownerDocument.removeEventListener(\"click\", handleClickRef.current);\n          handleClickRef.current = handleAndDispatchPointerDownOutsideEvent2;\n          ownerDocument.addEventListener(\"click\", handleClickRef.current, { once: true });\n        } else {\n          handleAndDispatchPointerDownOutsideEvent2();\n        }\n      } else {\n        ownerDocument.removeEventListener(\"click\", handleClickRef.current);\n      }\n      isPointerInsideReactTreeRef.current = false;\n    };\n    const timerId = window.setTimeout(() => {\n      ownerDocument.addEventListener(\"pointerdown\", handlePointerDown);\n    }, 0);\n    return () => {\n      window.clearTimeout(timerId);\n      ownerDocument.removeEventListener(\"pointerdown\", handlePointerDown);\n      ownerDocument.removeEventListener(\"click\", handleClickRef.current);\n    };\n  }, [ownerDocument, handlePointerDownOutside]);\n  return {\n    // ensures we check React component tree (not just DOM tree)\n    onPointerDownCapture: () => isPointerInsideReactTreeRef.current = true\n  };\n}\nfunction useFocusOutside(onFocusOutside, ownerDocument = globalThis?.document) {\n  const handleFocusOutside = useCallbackRef(onFocusOutside);\n  const isFocusInsideReactTreeRef = React.useRef(false);\n  React.useEffect(() => {\n    const handleFocus = (event) => {\n      if (event.target && !isFocusInsideReactTreeRef.current) {\n        const eventDetail = { originalEvent: event };\n        handleAndDispatchCustomEvent(FOCUS_OUTSIDE, handleFocusOutside, eventDetail, {\n          discrete: false\n        });\n      }\n    };\n    ownerDocument.addEventListener(\"focusin\", handleFocus);\n    return () => ownerDocument.removeEventListener(\"focusin\", handleFocus);\n  }, [ownerDocument, handleFocusOutside]);\n  return {\n    onFocusCapture: () => isFocusInsideReactTreeRef.current = true,\n    onBlurCapture: () => isFocusInsideReactTreeRef.current = false\n  };\n}\nfunction dispatchUpdate() {\n  const event = new CustomEvent(CONTEXT_UPDATE);\n  document.dispatchEvent(event);\n}\nfunction handleAndDispatchCustomEvent(name, handler, detail, { discrete }) {\n  const target = detail.originalEvent.target;\n  const event = new CustomEvent(name, { bubbles: false, cancelable: true, detail });\n  if (handler) target.addEventListener(name, handler, { once: true });\n  if (discrete) {\n    dispatchDiscreteCustomEvent(target, event);\n  } else {\n    target.dispatchEvent(event);\n  }\n}\nvar Root = DismissableLayer;\nvar Branch = DismissableLayerBranch;\nexport {\n  Branch,\n  DismissableLayer,\n  DismissableLayerBranch,\n  Root\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nvar canUseDOM = !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\nfunction composeEventHandlers(originalEventHandler, ourEventHandler, { checkForDefaultPrevented = true } = {}) {\n  return function handleEvent(event) {\n    originalEventHandler?.(event);\n    if (checkForDefaultPrevented === false || !event.defaultPrevented) {\n      return ourEventHandler?.(event);\n    }\n  };\n}\nfunction getOwnerWindow(element) {\n  if (!canUseDOM) {\n    throw new Error(\"Cannot access window outside of the DOM\");\n  }\n  return element?.ownerDocument?.defaultView ?? window;\n}\nfunction getOwnerDocument(element) {\n  if (!canUseDOM) {\n    throw new Error(\"Cannot access document outside of the DOM\");\n  }\n  return element?.ownerDocument ?? document;\n}\nfunction getActiveElement(node, activeDescendant = false) {\n  const { activeElement } = getOwnerDocument(node);\n  if (!activeElement?.nodeName) {\n    return null;\n  }\n  if (isFrame(activeElement) && activeElement.contentDocument) {\n    return getActiveElement(activeElement.contentDocument.body, activeDescendant);\n  }\n  if (activeDescendant) {\n    const id = activeElement.getAttribute(\"aria-activedescendant\");\n    if (id) {\n      const element = getOwnerDocument(activeElement).getElementById(id);\n      if (element) {\n        return element;\n      }\n    }\n  }\n  return activeElement;\n}\nfunction isFrame(element) {\n  return element.tagName === \"IFRAME\";\n}\nexport {\n  canUseDOM,\n  composeEventHandlers,\n  getActiveElement,\n  getOwnerDocument,\n  getOwnerWindow,\n  isFrame\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/compose-refs/src/compose-refs.tsx\nimport * as React from \"react\";\nfunction setRef(ref, value) {\n  if (typeof ref === \"function\") {\n    return ref(value);\n  } else if (ref !== null && ref !== void 0) {\n    ref.current = value;\n  }\n}\nfunction composeRefs(...refs) {\n  return (node) => {\n    let hasCleanup = false;\n    const cleanups = refs.map((ref) => {\n      const cleanup = setRef(ref, node);\n      if (!hasCleanup && typeof cleanup == \"function\") {\n        hasCleanup = true;\n      }\n      return cleanup;\n    });\n    if (hasCleanup) {\n      return () => {\n        for (let i = 0; i < cleanups.length; i++) {\n          const cleanup = cleanups[i];\n          if (typeof cleanup == \"function\") {\n            cleanup();\n          } else {\n            setRef(refs[i], null);\n          }\n        }\n      };\n    }\n  };\n}\nfunction useComposedRefs(...refs) {\n  return React.useCallback(composeRefs(...refs), refs);\n}\nexport {\n  composeRefs,\n  useComposedRefs\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NODES = [\n  \"a\",\n  \"button\",\n  \"div\",\n  \"form\",\n  \"h2\",\n  \"h3\",\n  \"img\",\n  \"input\",\n  \"label\",\n  \"li\",\n  \"nav\",\n  \"ol\",\n  \"p\",\n  \"select\",\n  \"span\",\n  \"svg\",\n  \"ul\"\n];\nvar Primitive = NODES.reduce((primitive, node) => {\n  const Slot = createSlot(`Primitive.${node}`);\n  const Node = React.forwardRef((props, forwardedRef) => {\n    const { asChild, ...primitiveProps } = props;\n    const Comp = asChild ? Slot : node;\n    if (typeof window !== \"undefined\") {\n      window[Symbol.for(\"radix-ui\")] = true;\n    }\n    return /* @__PURE__ */ jsx(Comp, { ...primitiveProps, ref: forwardedRef });\n  });\n  Node.displayName = `Primitive.${node}`;\n  return { ...primitive, [node]: Node };\n}, {});\nfunction dispatchDiscreteCustomEvent(target, event) {\n  if (target) ReactDOM.flushSync(() => target.dispatchEvent(event));\n}\nvar Root = Primitive;\nexport {\n  Primitive,\n  Root,\n  dispatchDiscreteCustomEvent\n};\n//# sourceMappingURL=index.mjs.map\n","// src/slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment as Fragment2, jsx } from \"react/jsx-runtime\";\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n  const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);\n  const Slot2 = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    const childrenArray = React.Children.toArray(children);\n    const slottable = childrenArray.find(isSlottable);\n    if (slottable) {\n      const newElement = slottable.props.children;\n      const newChildren = childrenArray.map((child) => {\n        if (child === slottable) {\n          if (React.Children.count(newElement) > 1) return React.Children.only(null);\n          return React.isValidElement(newElement) ? newElement.props.children : null;\n        } else {\n          return child;\n        }\n      });\n      return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n    }\n    return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n  });\n  Slot2.displayName = `${ownerName}.Slot`;\n  return Slot2;\n}\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlotClone(ownerName) {\n  const SlotClone = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    if (React.isValidElement(children)) {\n      const childrenRef = getElementRef(children);\n      const props2 = mergeProps(slotProps, children.props);\n      if (children.type !== React.Fragment) {\n        props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n      }\n      return React.cloneElement(children, props2);\n    }\n    return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n  });\n  SlotClone.displayName = `${ownerName}.SlotClone`;\n  return SlotClone;\n}\nvar SLOTTABLE_IDENTIFIER = Symbol(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n  const Slottable2 = ({ children }) => {\n    return /* @__PURE__ */ jsx(Fragment2, { children });\n  };\n  Slottable2.displayName = `${ownerName}.Slottable`;\n  Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n  return Slottable2;\n}\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nfunction isSlottable(child) {\n  return React.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\nfunction mergeProps(slotProps, childProps) {\n  const overrideProps = { ...childProps };\n  for (const propName in childProps) {\n    const slotPropValue = slotProps[propName];\n    const childPropValue = childProps[propName];\n    const isHandler = /^on[A-Z]/.test(propName);\n    if (isHandler) {\n      if (slotPropValue && childPropValue) {\n        overrideProps[propName] = (...args) => {\n          const result = childPropValue(...args);\n          slotPropValue(...args);\n          return result;\n        };\n      } else if (slotPropValue) {\n        overrideProps[propName] = slotPropValue;\n      }\n    } else if (propName === \"style\") {\n      overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n    } else if (propName === \"className\") {\n      overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n    }\n  }\n  return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n  let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n  let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.ref;\n  }\n  getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n  mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.props.ref;\n  }\n  return element.props.ref || element.ref;\n}\nexport {\n  Slot as Root,\n  Slot,\n  Slottable,\n  createSlot,\n  createSlottable\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-callback-ref/src/use-callback-ref.tsx\nimport * as React from \"react\";\nfunction useCallbackRef(callback) {\n  const callbackRef = React.useRef(callback);\n  React.useEffect(() => {\n    callbackRef.current = callback;\n  });\n  return React.useMemo(() => (...args) => callbackRef.current?.(...args), []);\n}\nexport {\n  useCallbackRef\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nvar canUseDOM = !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\nfunction composeEventHandlers(originalEventHandler, ourEventHandler, { checkForDefaultPrevented = true } = {}) {\n  return function handleEvent(event) {\n    originalEventHandler?.(event);\n    if (checkForDefaultPrevented === false || !event.defaultPrevented) {\n      return ourEventHandler?.(event);\n    }\n  };\n}\nfunction getOwnerWindow(element) {\n  if (!canUseDOM) {\n    throw new Error(\"Cannot access window outside of the DOM\");\n  }\n  return element?.ownerDocument?.defaultView ?? window;\n}\nfunction getOwnerDocument(element) {\n  if (!canUseDOM) {\n    throw new Error(\"Cannot access document outside of the DOM\");\n  }\n  return element?.ownerDocument ?? document;\n}\nfunction getActiveElement(node, activeDescendant = false) {\n  const { activeElement } = getOwnerDocument(node);\n  if (!activeElement?.nodeName) {\n    return null;\n  }\n  if (isFrame(activeElement) && activeElement.contentDocument) {\n    return getActiveElement(activeElement.contentDocument.body, activeDescendant);\n  }\n  if (activeDescendant) {\n    const id = activeElement.getAttribute(\"aria-activedescendant\");\n    if (id) {\n      const element = getOwnerDocument(activeElement).getElementById(id);\n      if (element) {\n        return element;\n      }\n    }\n  }\n  return activeElement;\n}\nfunction isFrame(element) {\n  return element.tagName === \"IFRAME\";\n}\nexport {\n  canUseDOM,\n  composeEventHandlers,\n  getActiveElement,\n  getOwnerDocument,\n  getOwnerWindow,\n  isFrame\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/compose-refs/src/compose-refs.tsx\nimport * as React from \"react\";\nfunction setRef(ref, value) {\n  if (typeof ref === \"function\") {\n    return ref(value);\n  } else if (ref !== null && ref !== void 0) {\n    ref.current = value;\n  }\n}\nfunction composeRefs(...refs) {\n  return (node) => {\n    let hasCleanup = false;\n    const cleanups = refs.map((ref) => {\n      const cleanup = setRef(ref, node);\n      if (!hasCleanup && typeof cleanup == \"function\") {\n        hasCleanup = true;\n      }\n      return cleanup;\n    });\n    if (hasCleanup) {\n      return () => {\n        for (let i = 0; i < cleanups.length; i++) {\n          const cleanup = cleanups[i];\n          if (typeof cleanup == \"function\") {\n            cleanup();\n          } else {\n            setRef(refs[i], null);\n          }\n        }\n      };\n    }\n  };\n}\nfunction useComposedRefs(...refs) {\n  return React.useCallback(composeRefs(...refs), refs);\n}\nexport {\n  composeRefs,\n  useComposedRefs\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/context/src/create-context.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createContext2(rootComponentName, defaultContext) {\n  const Context = React.createContext(defaultContext);\n  const Provider = (props) => {\n    const { children, ...context } = props;\n    const value = React.useMemo(() => context, Object.values(context));\n    return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n  };\n  Provider.displayName = rootComponentName + \"Provider\";\n  function useContext2(consumerName) {\n    const context = React.useContext(Context);\n    if (context) return context;\n    if (defaultContext !== void 0) return defaultContext;\n    throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n  }\n  return [Provider, useContext2];\n}\nfunction createContextScope(scopeName, createContextScopeDeps = []) {\n  let defaultContexts = [];\n  function createContext3(rootComponentName, defaultContext) {\n    const BaseContext = React.createContext(defaultContext);\n    const index = defaultContexts.length;\n    defaultContexts = [...defaultContexts, defaultContext];\n    const Provider = (props) => {\n      const { scope, children, ...context } = props;\n      const Context = scope?.[scopeName]?.[index] || BaseContext;\n      const value = React.useMemo(() => context, Object.values(context));\n      return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n    };\n    Provider.displayName = rootComponentName + \"Provider\";\n    function useContext2(consumerName, scope) {\n      const Context = scope?.[scopeName]?.[index] || BaseContext;\n      const context = React.useContext(Context);\n      if (context) return context;\n      if (defaultContext !== void 0) return defaultContext;\n      throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n    }\n    return [Provider, useContext2];\n  }\n  const createScope = () => {\n    const scopeContexts = defaultContexts.map((defaultContext) => {\n      return React.createContext(defaultContext);\n    });\n    return function useScope(scope) {\n      const contexts = scope?.[scopeName] || scopeContexts;\n      return React.useMemo(\n        () => ({ [`__scope${scopeName}`]: { ...scope, [scopeName]: contexts } }),\n        [scope, contexts]\n      );\n    };\n  };\n  createScope.scopeName = scopeName;\n  return [createContext3, composeContextScopes(createScope, ...createContextScopeDeps)];\n}\nfunction composeContextScopes(...scopes) {\n  const baseScope = scopes[0];\n  if (scopes.length === 1) return baseScope;\n  const createScope = () => {\n    const scopeHooks = scopes.map((createScope2) => ({\n      useScope: createScope2(),\n      scopeName: createScope2.scopeName\n    }));\n    return function useComposedScopes(overrideScopes) {\n      const nextScopes = scopeHooks.reduce((nextScopes2, { useScope, scopeName }) => {\n        const scopeProps = useScope(overrideScopes);\n        const currentScope = scopeProps[`__scope${scopeName}`];\n        return { ...nextScopes2, ...currentScope };\n      }, {});\n      return React.useMemo(() => ({ [`__scope${baseScope.scopeName}`]: nextScopes }), [nextScopes]);\n    };\n  };\n  createScope.scopeName = baseScope.scopeName;\n  return createScope;\n}\nexport {\n  createContext2 as createContext,\n  createContextScope\n};\n//# sourceMappingURL=index.mjs.map\n","// src/slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment as Fragment2, jsx } from \"react/jsx-runtime\";\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n  const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);\n  const Slot2 = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    const childrenArray = React.Children.toArray(children);\n    const slottable = childrenArray.find(isSlottable);\n    if (slottable) {\n      const newElement = slottable.props.children;\n      const newChildren = childrenArray.map((child) => {\n        if (child === slottable) {\n          if (React.Children.count(newElement) > 1) return React.Children.only(null);\n          return React.isValidElement(newElement) ? newElement.props.children : null;\n        } else {\n          return child;\n        }\n      });\n      return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n    }\n    return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n  });\n  Slot2.displayName = `${ownerName}.Slot`;\n  return Slot2;\n}\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlotClone(ownerName) {\n  const SlotClone = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    if (React.isValidElement(children)) {\n      const childrenRef = getElementRef(children);\n      const props2 = mergeProps(slotProps, children.props);\n      if (children.type !== React.Fragment) {\n        props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n      }\n      return React.cloneElement(children, props2);\n    }\n    return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n  });\n  SlotClone.displayName = `${ownerName}.SlotClone`;\n  return SlotClone;\n}\nvar SLOTTABLE_IDENTIFIER = Symbol(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n  const Slottable2 = ({ children }) => {\n    return /* @__PURE__ */ jsx(Fragment2, { children });\n  };\n  Slottable2.displayName = `${ownerName}.Slottable`;\n  Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n  return Slottable2;\n}\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nfunction isSlottable(child) {\n  return React.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\nfunction mergeProps(slotProps, childProps) {\n  const overrideProps = { ...childProps };\n  for (const propName in childProps) {\n    const slotPropValue = slotProps[propName];\n    const childPropValue = childProps[propName];\n    const isHandler = /^on[A-Z]/.test(propName);\n    if (isHandler) {\n      if (slotPropValue && childPropValue) {\n        overrideProps[propName] = (...args) => {\n          const result = childPropValue(...args);\n          slotPropValue(...args);\n          return result;\n        };\n      } else if (slotPropValue) {\n        overrideProps[propName] = slotPropValue;\n      }\n    } else if (propName === \"style\") {\n      overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n    } else if (propName === \"className\") {\n      overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n    }\n  }\n  return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n  let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n  let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.ref;\n  }\n  getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n  mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.props.ref;\n  }\n  return element.props.ref || element.ref;\n}\nexport {\n  Slot as Root,\n  Slot,\n  Slottable,\n  createSlot,\n  createSlottable\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NODES = [\n  \"a\",\n  \"button\",\n  \"div\",\n  \"form\",\n  \"h2\",\n  \"h3\",\n  \"img\",\n  \"input\",\n  \"label\",\n  \"li\",\n  \"nav\",\n  \"ol\",\n  \"p\",\n  \"select\",\n  \"span\",\n  \"svg\",\n  \"ul\"\n];\nvar Primitive = NODES.reduce((primitive, node) => {\n  const Slot = createSlot(`Primitive.${node}`);\n  const Node = React.forwardRef((props, forwardedRef) => {\n    const { asChild, ...primitiveProps } = props;\n    const Comp = asChild ? Slot : node;\n    if (typeof window !== \"undefined\") {\n      window[Symbol.for(\"radix-ui\")] = true;\n    }\n    return /* @__PURE__ */ jsx(Comp, { ...primitiveProps, ref: forwardedRef });\n  });\n  Node.displayName = `Primitive.${node}`;\n  return { ...primitive, [node]: Node };\n}, {});\nfunction dispatchDiscreteCustomEvent(target, event) {\n  if (target) ReactDOM.flushSync(() => target.dispatchEvent(event));\n}\nvar Root = Primitive;\nexport {\n  Primitive,\n  Root,\n  dispatchDiscreteCustomEvent\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nvar canUseDOM = !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\nfunction composeEventHandlers(originalEventHandler, ourEventHandler, { checkForDefaultPrevented = true } = {}) {\n  return function handleEvent(event) {\n    originalEventHandler?.(event);\n    if (checkForDefaultPrevented === false || !event.defaultPrevented) {\n      return ourEventHandler?.(event);\n    }\n  };\n}\nfunction getOwnerWindow(element) {\n  if (!canUseDOM) {\n    throw new Error(\"Cannot access window outside of the DOM\");\n  }\n  return element?.ownerDocument?.defaultView ?? window;\n}\nfunction getOwnerDocument(element) {\n  if (!canUseDOM) {\n    throw new Error(\"Cannot access document outside of the DOM\");\n  }\n  return element?.ownerDocument ?? document;\n}\nfunction getActiveElement(node, activeDescendant = false) {\n  const { activeElement } = getOwnerDocument(node);\n  if (!activeElement?.nodeName) {\n    return null;\n  }\n  if (isFrame(activeElement) && activeElement.contentDocument) {\n    return getActiveElement(activeElement.contentDocument.body, activeDescendant);\n  }\n  if (activeDescendant) {\n    const id = activeElement.getAttribute(\"aria-activedescendant\");\n    if (id) {\n      const element = getOwnerDocument(activeElement).getElementById(id);\n      if (element) {\n        return element;\n      }\n    }\n  }\n  return activeElement;\n}\nfunction isFrame(element) {\n  return element.tagName === \"IFRAME\";\n}\nexport {\n  canUseDOM,\n  composeEventHandlers,\n  getActiveElement,\n  getOwnerDocument,\n  getOwnerWindow,\n  isFrame\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/compose-refs/src/compose-refs.tsx\nimport * as React from \"react\";\nfunction setRef(ref, value) {\n  if (typeof ref === \"function\") {\n    return ref(value);\n  } else if (ref !== null && ref !== void 0) {\n    ref.current = value;\n  }\n}\nfunction composeRefs(...refs) {\n  return (node) => {\n    let hasCleanup = false;\n    const cleanups = refs.map((ref) => {\n      const cleanup = setRef(ref, node);\n      if (!hasCleanup && typeof cleanup == \"function\") {\n        hasCleanup = true;\n      }\n      return cleanup;\n    });\n    if (hasCleanup) {\n      return () => {\n        for (let i = 0; i < cleanups.length; i++) {\n          const cleanup = cleanups[i];\n          if (typeof cleanup == \"function\") {\n            cleanup();\n          } else {\n            setRef(refs[i], null);\n          }\n        }\n      };\n    }\n  };\n}\nfunction useComposedRefs(...refs) {\n  return React.useCallback(composeRefs(...refs), refs);\n}\nexport {\n  composeRefs,\n  useComposedRefs\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/context/src/create-context.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createContext2(rootComponentName, defaultContext) {\n  const Context = React.createContext(defaultContext);\n  const Provider = (props) => {\n    const { children, ...context } = props;\n    const value = React.useMemo(() => context, Object.values(context));\n    return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n  };\n  Provider.displayName = rootComponentName + \"Provider\";\n  function useContext2(consumerName) {\n    const context = React.useContext(Context);\n    if (context) return context;\n    if (defaultContext !== void 0) return defaultContext;\n    throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n  }\n  return [Provider, useContext2];\n}\nfunction createContextScope(scopeName, createContextScopeDeps = []) {\n  let defaultContexts = [];\n  function createContext3(rootComponentName, defaultContext) {\n    const BaseContext = React.createContext(defaultContext);\n    const index = defaultContexts.length;\n    defaultContexts = [...defaultContexts, defaultContext];\n    const Provider = (props) => {\n      const { scope, children, ...context } = props;\n      const Context = scope?.[scopeName]?.[index] || BaseContext;\n      const value = React.useMemo(() => context, Object.values(context));\n      return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n    };\n    Provider.displayName = rootComponentName + \"Provider\";\n    function useContext2(consumerName, scope) {\n      const Context = scope?.[scopeName]?.[index] || BaseContext;\n      const context = React.useContext(Context);\n      if (context) return context;\n      if (defaultContext !== void 0) return defaultContext;\n      throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n    }\n    return [Provider, useContext2];\n  }\n  const createScope = () => {\n    const scopeContexts = defaultContexts.map((defaultContext) => {\n      return React.createContext(defaultContext);\n    });\n    return function useScope(scope) {\n      const contexts = scope?.[scopeName] || scopeContexts;\n      return React.useMemo(\n        () => ({ [`__scope${scopeName}`]: { ...scope, [scopeName]: contexts } }),\n        [scope, contexts]\n      );\n    };\n  };\n  createScope.scopeName = scopeName;\n  return [createContext3, composeContextScopes(createScope, ...createContextScopeDeps)];\n}\nfunction composeContextScopes(...scopes) {\n  const baseScope = scopes[0];\n  if (scopes.length === 1) return baseScope;\n  const createScope = () => {\n    const scopeHooks = scopes.map((createScope2) => ({\n      useScope: createScope2(),\n      scopeName: createScope2.scopeName\n    }));\n    return function useComposedScopes(overrideScopes) {\n      const nextScopes = scopeHooks.reduce((nextScopes2, { useScope, scopeName }) => {\n        const scopeProps = useScope(overrideScopes);\n        const currentScope = scopeProps[`__scope${scopeName}`];\n        return { ...nextScopes2, ...currentScope };\n      }, {});\n      return React.useMemo(() => ({ [`__scope${baseScope.scopeName}`]: nextScopes }), [nextScopes]);\n    };\n  };\n  createScope.scopeName = baseScope.scopeName;\n  return createScope;\n}\nexport {\n  createContext2 as createContext,\n  createContextScope\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/direction/src/direction.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nvar DirectionContext = React.createContext(void 0);\nvar DirectionProvider = (props) => {\n  const { dir, children } = props;\n  return /* @__PURE__ */ jsx(DirectionContext.Provider, { value: dir, children });\n};\nfunction useDirection(localDir) {\n  const globalDir = React.useContext(DirectionContext);\n  return localDir || globalDir || \"ltr\";\n}\nvar Provider = DirectionProvider;\nexport {\n  DirectionProvider,\n  Provider,\n  useDirection\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-layout-effect/src/use-layout-effect.tsx\nimport * as React from \"react\";\nvar useLayoutEffect2 = globalThis?.document ? React.useLayoutEffect : () => {\n};\nexport {\n  useLayoutEffect2 as useLayoutEffect\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/presence.tsx\nimport * as React2 from \"react\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\n\n// src/use-state-machine.tsx\nimport * as React from \"react\";\nfunction useStateMachine(initialState, machine) {\n  return React.useReducer((state, event) => {\n    const nextState = machine[state][event];\n    return nextState ?? state;\n  }, initialState);\n}\n\n// src/presence.tsx\nvar Presence = (props) => {\n  const { present, children } = props;\n  const presence = usePresence(present);\n  const child = typeof children === \"function\" ? children({ present: presence.isPresent }) : React2.Children.only(children);\n  const ref = useComposedRefs(presence.ref, getElementRef(child));\n  const forceMount = typeof children === \"function\";\n  return forceMount || presence.isPresent ? React2.cloneElement(child, { ref }) : null;\n};\nPresence.displayName = \"Presence\";\nfunction usePresence(present) {\n  const [node, setNode] = React2.useState();\n  const stylesRef = React2.useRef(null);\n  const prevPresentRef = React2.useRef(present);\n  const prevAnimationNameRef = React2.useRef(\"none\");\n  const initialState = present ? \"mounted\" : \"unmounted\";\n  const [state, send] = useStateMachine(initialState, {\n    mounted: {\n      UNMOUNT: \"unmounted\",\n      ANIMATION_OUT: \"unmountSuspended\"\n    },\n    unmountSuspended: {\n      MOUNT: \"mounted\",\n      ANIMATION_END: \"unmounted\"\n    },\n    unmounted: {\n      MOUNT: \"mounted\"\n    }\n  });\n  React2.useEffect(() => {\n    const currentAnimationName = getAnimationName(stylesRef.current);\n    prevAnimationNameRef.current = state === \"mounted\" ? currentAnimationName : \"none\";\n  }, [state]);\n  useLayoutEffect(() => {\n    const styles = stylesRef.current;\n    const wasPresent = prevPresentRef.current;\n    const hasPresentChanged = wasPresent !== present;\n    if (hasPresentChanged) {\n      const prevAnimationName = prevAnimationNameRef.current;\n      const currentAnimationName = getAnimationName(styles);\n      if (present) {\n        send(\"MOUNT\");\n      } else if (currentAnimationName === \"none\" || styles?.display === \"none\") {\n        send(\"UNMOUNT\");\n      } else {\n        const isAnimating = prevAnimationName !== currentAnimationName;\n        if (wasPresent && isAnimating) {\n          send(\"ANIMATION_OUT\");\n        } else {\n          send(\"UNMOUNT\");\n        }\n      }\n      prevPresentRef.current = present;\n    }\n  }, [present, send]);\n  useLayoutEffect(() => {\n    if (node) {\n      let timeoutId;\n      const ownerWindow = node.ownerDocument.defaultView ?? window;\n      const handleAnimationEnd = (event) => {\n        const currentAnimationName = getAnimationName(stylesRef.current);\n        const isCurrentAnimation = currentAnimationName.includes(CSS.escape(event.animationName));\n        if (event.target === node && isCurrentAnimation) {\n          send(\"ANIMATION_END\");\n          if (!prevPresentRef.current) {\n            const currentFillMode = node.style.animationFillMode;\n            node.style.animationFillMode = \"forwards\";\n            timeoutId = ownerWindow.setTimeout(() => {\n              if (node.style.animationFillMode === \"forwards\") {\n                node.style.animationFillMode = currentFillMode;\n              }\n            });\n          }\n        }\n      };\n      const handleAnimationStart = (event) => {\n        if (event.target === node) {\n          prevAnimationNameRef.current = getAnimationName(stylesRef.current);\n        }\n      };\n      node.addEventListener(\"animationstart\", handleAnimationStart);\n      node.addEventListener(\"animationcancel\", handleAnimationEnd);\n      node.addEventListener(\"animationend\", handleAnimationEnd);\n      return () => {\n        ownerWindow.clearTimeout(timeoutId);\n        node.removeEventListener(\"animationstart\", handleAnimationStart);\n        node.removeEventListener(\"animationcancel\", handleAnimationEnd);\n        node.removeEventListener(\"animationend\", handleAnimationEnd);\n      };\n    } else {\n      send(\"ANIMATION_END\");\n    }\n  }, [node, send]);\n  return {\n    isPresent: [\"mounted\", \"unmountSuspended\"].includes(state),\n    ref: React2.useCallback((node2) => {\n      stylesRef.current = node2 ? getComputedStyle(node2) : null;\n      setNode(node2);\n    }, [])\n  };\n}\nfunction getAnimationName(styles) {\n  return styles?.animationName || \"none\";\n}\nfunction getElementRef(element) {\n  let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n  let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.ref;\n  }\n  getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n  mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.props.ref;\n  }\n  return element.props.ref || element.ref;\n}\nvar Root = Presence;\nexport {\n  Presence,\n  Root\n};\n//# sourceMappingURL=index.mjs.map\n","// src/slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment as Fragment2, jsx } from \"react/jsx-runtime\";\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n  const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);\n  const Slot2 = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    const childrenArray = React.Children.toArray(children);\n    const slottable = childrenArray.find(isSlottable);\n    if (slottable) {\n      const newElement = slottable.props.children;\n      const newChildren = childrenArray.map((child) => {\n        if (child === slottable) {\n          if (React.Children.count(newElement) > 1) return React.Children.only(null);\n          return React.isValidElement(newElement) ? newElement.props.children : null;\n        } else {\n          return child;\n        }\n      });\n      return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n    }\n    return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n  });\n  Slot2.displayName = `${ownerName}.Slot`;\n  return Slot2;\n}\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlotClone(ownerName) {\n  const SlotClone = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    if (React.isValidElement(children)) {\n      const childrenRef = getElementRef(children);\n      const props2 = mergeProps(slotProps, children.props);\n      if (children.type !== React.Fragment) {\n        props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n      }\n      return React.cloneElement(children, props2);\n    }\n    return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n  });\n  SlotClone.displayName = `${ownerName}.SlotClone`;\n  return SlotClone;\n}\nvar SLOTTABLE_IDENTIFIER = Symbol(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n  const Slottable2 = ({ children }) => {\n    return /* @__PURE__ */ jsx(Fragment2, { children });\n  };\n  Slottable2.displayName = `${ownerName}.Slottable`;\n  Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n  return Slottable2;\n}\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nfunction isSlottable(child) {\n  return React.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\nfunction mergeProps(slotProps, childProps) {\n  const overrideProps = { ...childProps };\n  for (const propName in childProps) {\n    const slotPropValue = slotProps[propName];\n    const childPropValue = childProps[propName];\n    const isHandler = /^on[A-Z]/.test(propName);\n    if (isHandler) {\n      if (slotPropValue && childPropValue) {\n        overrideProps[propName] = (...args) => {\n          const result = childPropValue(...args);\n          slotPropValue(...args);\n          return result;\n        };\n      } else if (slotPropValue) {\n        overrideProps[propName] = slotPropValue;\n      }\n    } else if (propName === \"style\") {\n      overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n    } else if (propName === \"className\") {\n      overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n    }\n  }\n  return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n  let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n  let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.ref;\n  }\n  getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n  mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.props.ref;\n  }\n  return element.props.ref || element.ref;\n}\nexport {\n  Slot as Root,\n  Slot,\n  Slottable,\n  createSlot,\n  createSlottable\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NODES = [\n  \"a\",\n  \"button\",\n  \"div\",\n  \"form\",\n  \"h2\",\n  \"h3\",\n  \"img\",\n  \"input\",\n  \"label\",\n  \"li\",\n  \"nav\",\n  \"ol\",\n  \"p\",\n  \"select\",\n  \"span\",\n  \"svg\",\n  \"ul\"\n];\nvar Primitive = NODES.reduce((primitive, node) => {\n  const Slot = createSlot(`Primitive.${node}`);\n  const Node = React.forwardRef((props, forwardedRef) => {\n    const { asChild, ...primitiveProps } = props;\n    const Comp = asChild ? Slot : node;\n    if (typeof window !== \"undefined\") {\n      window[Symbol.for(\"radix-ui\")] = true;\n    }\n    return /* @__PURE__ */ jsx(Comp, { ...primitiveProps, ref: forwardedRef });\n  });\n  Node.displayName = `Primitive.${node}`;\n  return { ...primitive, [node]: Node };\n}, {});\nfunction dispatchDiscreteCustomEvent(target, event) {\n  if (target) ReactDOM.flushSync(() => target.dispatchEvent(event));\n}\nvar Root = Primitive;\nexport {\n  Primitive,\n  Root,\n  dispatchDiscreteCustomEvent\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-callback-ref/src/use-callback-ref.tsx\nimport * as React from \"react\";\nfunction useCallbackRef(callback) {\n  const callbackRef = React.useRef(callback);\n  React.useEffect(() => {\n    callbackRef.current = callback;\n  });\n  return React.useMemo(() => (...args) => callbackRef.current?.(...args), []);\n}\nexport {\n  useCallbackRef\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/menu.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { createCollection } from \"@radix-ui/react-collection\";\nimport { useComposedRefs, composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { DismissableLayer } from \"@radix-ui/react-dismissable-layer\";\nimport { useFocusGuards } from \"@radix-ui/react-focus-guards\";\nimport { FocusScope } from \"@radix-ui/react-focus-scope\";\nimport { useId } from \"@radix-ui/react-id\";\nimport * as PopperPrimitive from \"@radix-ui/react-popper\";\nimport { createPopperScope } from \"@radix-ui/react-popper\";\nimport { Portal as PortalPrimitive } from \"@radix-ui/react-portal\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { Primitive, dispatchDiscreteCustomEvent } from \"@radix-ui/react-primitive\";\nimport * as RovingFocusGroup from \"@radix-ui/react-roving-focus\";\nimport { createRovingFocusGroupScope } from \"@radix-ui/react-roving-focus\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { hideOthers } from \"aria-hidden\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport { jsx } from \"react/jsx-runtime\";\nvar SELECTION_KEYS = [\"Enter\", \" \"];\nvar FIRST_KEYS = [\"ArrowDown\", \"PageUp\", \"Home\"];\nvar LAST_KEYS = [\"ArrowUp\", \"PageDown\", \"End\"];\nvar FIRST_LAST_KEYS = [...FIRST_KEYS, ...LAST_KEYS];\nvar SUB_OPEN_KEYS = {\n  ltr: [...SELECTION_KEYS, \"ArrowRight\"],\n  rtl: [...SELECTION_KEYS, \"ArrowLeft\"]\n};\nvar SUB_CLOSE_KEYS = {\n  ltr: [\"ArrowLeft\"],\n  rtl: [\"ArrowRight\"]\n};\nvar MENU_NAME = \"Menu\";\nvar [Collection, useCollection, createCollectionScope] = createCollection(MENU_NAME);\nvar [createMenuContext, createMenuScope] = createContextScope(MENU_NAME, [\n  createCollectionScope,\n  createPopperScope,\n  createRovingFocusGroupScope\n]);\nvar usePopperScope = createPopperScope();\nvar useRovingFocusGroupScope = createRovingFocusGroupScope();\nvar [MenuProvider, useMenuContext] = createMenuContext(MENU_NAME);\nvar [MenuRootProvider, useMenuRootContext] = createMenuContext(MENU_NAME);\nvar Menu = (props) => {\n  const { __scopeMenu, open = false, children, dir, onOpenChange, modal = true } = props;\n  const popperScope = usePopperScope(__scopeMenu);\n  const [content, setContent] = React.useState(null);\n  const isUsingKeyboardRef = React.useRef(false);\n  const handleOpenChange = useCallbackRef(onOpenChange);\n  const direction = useDirection(dir);\n  React.useEffect(() => {\n    const handleKeyDown = () => {\n      isUsingKeyboardRef.current = true;\n      document.addEventListener(\"pointerdown\", handlePointer, { capture: true, once: true });\n      document.addEventListener(\"pointermove\", handlePointer, { capture: true, once: true });\n    };\n    const handlePointer = () => isUsingKeyboardRef.current = false;\n    document.addEventListener(\"keydown\", handleKeyDown, { capture: true });\n    return () => {\n      document.removeEventListener(\"keydown\", handleKeyDown, { capture: true });\n      document.removeEventListener(\"pointerdown\", handlePointer, { capture: true });\n      document.removeEventListener(\"pointermove\", handlePointer, { capture: true });\n    };\n  }, []);\n  return /* @__PURE__ */ jsx(PopperPrimitive.Root, { ...popperScope, children: /* @__PURE__ */ jsx(\n    MenuProvider,\n    {\n      scope: __scopeMenu,\n      open,\n      onOpenChange: handleOpenChange,\n      content,\n      onContentChange: setContent,\n      children: /* @__PURE__ */ jsx(\n        MenuRootProvider,\n        {\n          scope: __scopeMenu,\n          onClose: React.useCallback(() => handleOpenChange(false), [handleOpenChange]),\n          isUsingKeyboardRef,\n          dir: direction,\n          modal,\n          children\n        }\n      )\n    }\n  ) });\n};\nMenu.displayName = MENU_NAME;\nvar ANCHOR_NAME = \"MenuAnchor\";\nvar MenuAnchor = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeMenu, ...anchorProps } = props;\n    const popperScope = usePopperScope(__scopeMenu);\n    return /* @__PURE__ */ jsx(PopperPrimitive.Anchor, { ...popperScope, ...anchorProps, ref: forwardedRef });\n  }\n);\nMenuAnchor.displayName = ANCHOR_NAME;\nvar PORTAL_NAME = \"MenuPortal\";\nvar [PortalProvider, usePortalContext] = createMenuContext(PORTAL_NAME, {\n  forceMount: void 0\n});\nvar MenuPortal = (props) => {\n  const { __scopeMenu, forceMount, children, container } = props;\n  const context = useMenuContext(PORTAL_NAME, __scopeMenu);\n  return /* @__PURE__ */ jsx(PortalProvider, { scope: __scopeMenu, forceMount, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(PortalPrimitive, { asChild: true, container, children }) }) });\n};\nMenuPortal.displayName = PORTAL_NAME;\nvar CONTENT_NAME = \"MenuContent\";\nvar [MenuContentProvider, useMenuContentContext] = createMenuContext(CONTENT_NAME);\nvar MenuContent = React.forwardRef(\n  (props, forwardedRef) => {\n    const portalContext = usePortalContext(CONTENT_NAME, props.__scopeMenu);\n    const { forceMount = portalContext.forceMount, ...contentProps } = props;\n    const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);\n    const rootContext = useMenuRootContext(CONTENT_NAME, props.__scopeMenu);\n    return /* @__PURE__ */ jsx(Collection.Provider, { scope: props.__scopeMenu, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(Collection.Slot, { scope: props.__scopeMenu, children: rootContext.modal ? /* @__PURE__ */ jsx(MenuRootContentModal, { ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ jsx(MenuRootContentNonModal, { ...contentProps, ref: forwardedRef }) }) }) });\n  }\n);\nvar MenuRootContentModal = React.forwardRef(\n  (props, forwardedRef) => {\n    const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);\n    const ref = React.useRef(null);\n    const composedRefs = useComposedRefs(forwardedRef, ref);\n    React.useEffect(() => {\n      const content = ref.current;\n      if (content) return hideOthers(content);\n    }, []);\n    return /* @__PURE__ */ jsx(\n      MenuContentImpl,\n      {\n        ...props,\n        ref: composedRefs,\n        trapFocus: context.open,\n        disableOutsidePointerEvents: context.open,\n        disableOutsideScroll: true,\n        onFocusOutside: composeEventHandlers(\n          props.onFocusOutside,\n          (event) => event.preventDefault(),\n          { checkForDefaultPrevented: false }\n        ),\n        onDismiss: () => context.onOpenChange(false)\n      }\n    );\n  }\n);\nvar MenuRootContentNonModal = React.forwardRef((props, forwardedRef) => {\n  const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);\n  return /* @__PURE__ */ jsx(\n    MenuContentImpl,\n    {\n      ...props,\n      ref: forwardedRef,\n      trapFocus: false,\n      disableOutsidePointerEvents: false,\n      disableOutsideScroll: false,\n      onDismiss: () => context.onOpenChange(false)\n    }\n  );\n});\nvar Slot = createSlot(\"MenuContent.ScrollLock\");\nvar MenuContentImpl = React.forwardRef(\n  (props, forwardedRef) => {\n    const {\n      __scopeMenu,\n      loop = false,\n      trapFocus,\n      onOpenAutoFocus,\n      onCloseAutoFocus,\n      disableOutsidePointerEvents,\n      onEntryFocus,\n      onEscapeKeyDown,\n      onPointerDownOutside,\n      onFocusOutside,\n      onInteractOutside,\n      onDismiss,\n      disableOutsideScroll,\n      ...contentProps\n    } = props;\n    const context = useMenuContext(CONTENT_NAME, __scopeMenu);\n    const rootContext = useMenuRootContext(CONTENT_NAME, __scopeMenu);\n    const popperScope = usePopperScope(__scopeMenu);\n    const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeMenu);\n    const getItems = useCollection(__scopeMenu);\n    const [currentItemId, setCurrentItemId] = React.useState(null);\n    const contentRef = React.useRef(null);\n    const composedRefs = useComposedRefs(forwardedRef, contentRef, context.onContentChange);\n    const timerRef = React.useRef(0);\n    const searchRef = React.useRef(\"\");\n    const pointerGraceTimerRef = React.useRef(0);\n    const pointerGraceIntentRef = React.useRef(null);\n    const pointerDirRef = React.useRef(\"right\");\n    const lastPointerXRef = React.useRef(0);\n    const ScrollLockWrapper = disableOutsideScroll ? RemoveScroll : React.Fragment;\n    const scrollLockWrapperProps = disableOutsideScroll ? { as: Slot, allowPinchZoom: true } : void 0;\n    const handleTypeaheadSearch = (key) => {\n      const search = searchRef.current + key;\n      const items = getItems().filter((item) => !item.disabled);\n      const currentItem = document.activeElement;\n      const currentMatch = items.find((item) => item.ref.current === currentItem)?.textValue;\n      const values = items.map((item) => item.textValue);\n      const nextMatch = getNextMatch(values, search, currentMatch);\n      const newItem = items.find((item) => item.textValue === nextMatch)?.ref.current;\n      (function updateSearch(value) {\n        searchRef.current = value;\n        window.clearTimeout(timerRef.current);\n        if (value !== \"\") timerRef.current = window.setTimeout(() => updateSearch(\"\"), 1e3);\n      })(search);\n      if (newItem) {\n        setTimeout(() => newItem.focus());\n      }\n    };\n    React.useEffect(() => {\n      return () => window.clearTimeout(timerRef.current);\n    }, []);\n    useFocusGuards();\n    const isPointerMovingToSubmenu = React.useCallback((event) => {\n      const isMovingTowards = pointerDirRef.current === pointerGraceIntentRef.current?.side;\n      return isMovingTowards && isPointerInGraceArea(event, pointerGraceIntentRef.current?.area);\n    }, []);\n    return /* @__PURE__ */ jsx(\n      MenuContentProvider,\n      {\n        scope: __scopeMenu,\n        searchRef,\n        onItemEnter: React.useCallback(\n          (event) => {\n            if (isPointerMovingToSubmenu(event)) event.preventDefault();\n          },\n          [isPointerMovingToSubmenu]\n        ),\n        onItemLeave: React.useCallback(\n          (event) => {\n            if (isPointerMovingToSubmenu(event)) return;\n            contentRef.current?.focus();\n            setCurrentItemId(null);\n          },\n          [isPointerMovingToSubmenu]\n        ),\n        onTriggerLeave: React.useCallback(\n          (event) => {\n            if (isPointerMovingToSubmenu(event)) event.preventDefault();\n          },\n          [isPointerMovingToSubmenu]\n        ),\n        pointerGraceTimerRef,\n        onPointerGraceIntentChange: React.useCallback((intent) => {\n          pointerGraceIntentRef.current = intent;\n        }, []),\n        children: /* @__PURE__ */ jsx(ScrollLockWrapper, { ...scrollLockWrapperProps, children: /* @__PURE__ */ jsx(\n          FocusScope,\n          {\n            asChild: true,\n            trapped: trapFocus,\n            onMountAutoFocus: composeEventHandlers(onOpenAutoFocus, (event) => {\n              event.preventDefault();\n              contentRef.current?.focus({ preventScroll: true });\n            }),\n            onUnmountAutoFocus: onCloseAutoFocus,\n            children: /* @__PURE__ */ jsx(\n              DismissableLayer,\n              {\n                asChild: true,\n                disableOutsidePointerEvents,\n                onEscapeKeyDown,\n                onPointerDownOutside,\n                onFocusOutside,\n                onInteractOutside,\n                onDismiss,\n                children: /* @__PURE__ */ jsx(\n                  RovingFocusGroup.Root,\n                  {\n                    asChild: true,\n                    ...rovingFocusGroupScope,\n                    dir: rootContext.dir,\n                    orientation: \"vertical\",\n                    loop,\n                    currentTabStopId: currentItemId,\n                    onCurrentTabStopIdChange: setCurrentItemId,\n                    onEntryFocus: composeEventHandlers(onEntryFocus, (event) => {\n                      if (!rootContext.isUsingKeyboardRef.current) event.preventDefault();\n                    }),\n                    preventScrollOnEntryFocus: true,\n                    children: /* @__PURE__ */ jsx(\n                      PopperPrimitive.Content,\n                      {\n                        role: \"menu\",\n                        \"aria-orientation\": \"vertical\",\n                        \"data-state\": getOpenState(context.open),\n                        \"data-radix-menu-content\": \"\",\n                        dir: rootContext.dir,\n                        ...popperScope,\n                        ...contentProps,\n                        ref: composedRefs,\n                        style: { outline: \"none\", ...contentProps.style },\n                        onKeyDown: composeEventHandlers(contentProps.onKeyDown, (event) => {\n                          const target = event.target;\n                          const isKeyDownInside = target.closest(\"[data-radix-menu-content]\") === event.currentTarget;\n                          const isModifierKey = event.ctrlKey || event.altKey || event.metaKey;\n                          const isCharacterKey = event.key.length === 1;\n                          if (isKeyDownInside) {\n                            if (event.key === \"Tab\") event.preventDefault();\n                            if (!isModifierKey && isCharacterKey) handleTypeaheadSearch(event.key);\n                          }\n                          const content = contentRef.current;\n                          if (event.target !== content) return;\n                          if (!FIRST_LAST_KEYS.includes(event.key)) return;\n                          event.preventDefault();\n                          const items = getItems().filter((item) => !item.disabled);\n                          const candidateNodes = items.map((item) => item.ref.current);\n                          if (LAST_KEYS.includes(event.key)) candidateNodes.reverse();\n                          focusFirst(candidateNodes);\n                        }),\n                        onBlur: composeEventHandlers(props.onBlur, (event) => {\n                          if (!event.currentTarget.contains(event.target)) {\n                            window.clearTimeout(timerRef.current);\n                            searchRef.current = \"\";\n                          }\n                        }),\n                        onPointerMove: composeEventHandlers(\n                          props.onPointerMove,\n                          whenMouse((event) => {\n                            const target = event.target;\n                            const pointerXHasChanged = lastPointerXRef.current !== event.clientX;\n                            if (event.currentTarget.contains(target) && pointerXHasChanged) {\n                              const newDir = event.clientX > lastPointerXRef.current ? \"right\" : \"left\";\n                              pointerDirRef.current = newDir;\n                              lastPointerXRef.current = event.clientX;\n                            }\n                          })\n                        )\n                      }\n                    )\n                  }\n                )\n              }\n            )\n          }\n        ) })\n      }\n    );\n  }\n);\nMenuContent.displayName = CONTENT_NAME;\nvar GROUP_NAME = \"MenuGroup\";\nvar MenuGroup = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeMenu, ...groupProps } = props;\n    return /* @__PURE__ */ jsx(Primitive.div, { role: \"group\", ...groupProps, ref: forwardedRef });\n  }\n);\nMenuGroup.displayName = GROUP_NAME;\nvar LABEL_NAME = \"MenuLabel\";\nvar MenuLabel = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeMenu, ...labelProps } = props;\n    return /* @__PURE__ */ jsx(Primitive.div, { ...labelProps, ref: forwardedRef });\n  }\n);\nMenuLabel.displayName = LABEL_NAME;\nvar ITEM_NAME = \"MenuItem\";\nvar ITEM_SELECT = \"menu.itemSelect\";\nvar MenuItem = React.forwardRef(\n  (props, forwardedRef) => {\n    const { disabled = false, onSelect, ...itemProps } = props;\n    const ref = React.useRef(null);\n    const rootContext = useMenuRootContext(ITEM_NAME, props.__scopeMenu);\n    const contentContext = useMenuContentContext(ITEM_NAME, props.__scopeMenu);\n    const composedRefs = useComposedRefs(forwardedRef, ref);\n    const isPointerDownRef = React.useRef(false);\n    const handleSelect = () => {\n      const menuItem = ref.current;\n      if (!disabled && menuItem) {\n        const itemSelectEvent = new CustomEvent(ITEM_SELECT, { bubbles: true, cancelable: true });\n        menuItem.addEventListener(ITEM_SELECT, (event) => onSelect?.(event), { once: true });\n        dispatchDiscreteCustomEvent(menuItem, itemSelectEvent);\n        if (itemSelectEvent.defaultPrevented) {\n          isPointerDownRef.current = false;\n        } else {\n          rootContext.onClose();\n        }\n      }\n    };\n    return /* @__PURE__ */ jsx(\n      MenuItemImpl,\n      {\n        ...itemProps,\n        ref: composedRefs,\n        disabled,\n        onClick: composeEventHandlers(props.onClick, handleSelect),\n        onPointerDown: (event) => {\n          props.onPointerDown?.(event);\n          isPointerDownRef.current = true;\n        },\n        onPointerUp: composeEventHandlers(props.onPointerUp, (event) => {\n          if (!isPointerDownRef.current) event.currentTarget?.click();\n        }),\n        onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n          const isTypingAhead = contentContext.searchRef.current !== \"\";\n          if (disabled || isTypingAhead && event.key === \" \") return;\n          if (SELECTION_KEYS.includes(event.key)) {\n            event.currentTarget.click();\n            event.preventDefault();\n          }\n        })\n      }\n    );\n  }\n);\nMenuItem.displayName = ITEM_NAME;\nvar MenuItemImpl = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeMenu, disabled = false, textValue, ...itemProps } = props;\n    const contentContext = useMenuContentContext(ITEM_NAME, __scopeMenu);\n    const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeMenu);\n    const ref = React.useRef(null);\n    const composedRefs = useComposedRefs(forwardedRef, ref);\n    const [isFocused, setIsFocused] = React.useState(false);\n    const [textContent, setTextContent] = React.useState(\"\");\n    React.useEffect(() => {\n      const menuItem = ref.current;\n      if (menuItem) {\n        setTextContent((menuItem.textContent ?? \"\").trim());\n      }\n    }, [itemProps.children]);\n    return /* @__PURE__ */ jsx(\n      Collection.ItemSlot,\n      {\n        scope: __scopeMenu,\n        disabled,\n        textValue: textValue ?? textContent,\n        children: /* @__PURE__ */ jsx(RovingFocusGroup.Item, { asChild: true, ...rovingFocusGroupScope, focusable: !disabled, children: /* @__PURE__ */ jsx(\n          Primitive.div,\n          {\n            role: \"menuitem\",\n            \"data-highlighted\": isFocused ? \"\" : void 0,\n            \"aria-disabled\": disabled || void 0,\n            \"data-disabled\": disabled ? \"\" : void 0,\n            ...itemProps,\n            ref: composedRefs,\n            onPointerMove: composeEventHandlers(\n              props.onPointerMove,\n              whenMouse((event) => {\n                if (disabled) {\n                  contentContext.onItemLeave(event);\n                } else {\n                  contentContext.onItemEnter(event);\n                  if (!event.defaultPrevented) {\n                    const item = event.currentTarget;\n                    item.focus({ preventScroll: true });\n                  }\n                }\n              })\n            ),\n            onPointerLeave: composeEventHandlers(\n              props.onPointerLeave,\n              whenMouse((event) => contentContext.onItemLeave(event))\n            ),\n            onFocus: composeEventHandlers(props.onFocus, () => setIsFocused(true)),\n            onBlur: composeEventHandlers(props.onBlur, () => setIsFocused(false))\n          }\n        ) })\n      }\n    );\n  }\n);\nvar CHECKBOX_ITEM_NAME = \"MenuCheckboxItem\";\nvar MenuCheckboxItem = React.forwardRef(\n  (props, forwardedRef) => {\n    const { checked = false, onCheckedChange, ...checkboxItemProps } = props;\n    return /* @__PURE__ */ jsx(ItemIndicatorProvider, { scope: props.__scopeMenu, checked, children: /* @__PURE__ */ jsx(\n      MenuItem,\n      {\n        role: \"menuitemcheckbox\",\n        \"aria-checked\": isIndeterminate(checked) ? \"mixed\" : checked,\n        ...checkboxItemProps,\n        ref: forwardedRef,\n        \"data-state\": getCheckedState(checked),\n        onSelect: composeEventHandlers(\n          checkboxItemProps.onSelect,\n          () => onCheckedChange?.(isIndeterminate(checked) ? true : !checked),\n          { checkForDefaultPrevented: false }\n        )\n      }\n    ) });\n  }\n);\nMenuCheckboxItem.displayName = CHECKBOX_ITEM_NAME;\nvar RADIO_GROUP_NAME = \"MenuRadioGroup\";\nvar [RadioGroupProvider, useRadioGroupContext] = createMenuContext(\n  RADIO_GROUP_NAME,\n  { value: void 0, onValueChange: () => {\n  } }\n);\nvar MenuRadioGroup = React.forwardRef(\n  (props, forwardedRef) => {\n    const { value, onValueChange, ...groupProps } = props;\n    const handleValueChange = useCallbackRef(onValueChange);\n    return /* @__PURE__ */ jsx(RadioGroupProvider, { scope: props.__scopeMenu, value, onValueChange: handleValueChange, children: /* @__PURE__ */ jsx(MenuGroup, { ...groupProps, ref: forwardedRef }) });\n  }\n);\nMenuRadioGroup.displayName = RADIO_GROUP_NAME;\nvar RADIO_ITEM_NAME = \"MenuRadioItem\";\nvar MenuRadioItem = React.forwardRef(\n  (props, forwardedRef) => {\n    const { value, ...radioItemProps } = props;\n    const context = useRadioGroupContext(RADIO_ITEM_NAME, props.__scopeMenu);\n    const checked = value === context.value;\n    return /* @__PURE__ */ jsx(ItemIndicatorProvider, { scope: props.__scopeMenu, checked, children: /* @__PURE__ */ jsx(\n      MenuItem,\n      {\n        role: \"menuitemradio\",\n        \"aria-checked\": checked,\n        ...radioItemProps,\n        ref: forwardedRef,\n        \"data-state\": getCheckedState(checked),\n        onSelect: composeEventHandlers(\n          radioItemProps.onSelect,\n          () => context.onValueChange?.(value),\n          { checkForDefaultPrevented: false }\n        )\n      }\n    ) });\n  }\n);\nMenuRadioItem.displayName = RADIO_ITEM_NAME;\nvar ITEM_INDICATOR_NAME = \"MenuItemIndicator\";\nvar [ItemIndicatorProvider, useItemIndicatorContext] = createMenuContext(\n  ITEM_INDICATOR_NAME,\n  { checked: false }\n);\nvar MenuItemIndicator = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeMenu, forceMount, ...itemIndicatorProps } = props;\n    const indicatorContext = useItemIndicatorContext(ITEM_INDICATOR_NAME, __scopeMenu);\n    return /* @__PURE__ */ jsx(\n      Presence,\n      {\n        present: forceMount || isIndeterminate(indicatorContext.checked) || indicatorContext.checked === true,\n        children: /* @__PURE__ */ jsx(\n          Primitive.span,\n          {\n            ...itemIndicatorProps,\n            ref: forwardedRef,\n            \"data-state\": getCheckedState(indicatorContext.checked)\n          }\n        )\n      }\n    );\n  }\n);\nMenuItemIndicator.displayName = ITEM_INDICATOR_NAME;\nvar SEPARATOR_NAME = \"MenuSeparator\";\nvar MenuSeparator = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeMenu, ...separatorProps } = props;\n    return /* @__PURE__ */ jsx(\n      Primitive.div,\n      {\n        role: \"separator\",\n        \"aria-orientation\": \"horizontal\",\n        ...separatorProps,\n        ref: forwardedRef\n      }\n    );\n  }\n);\nMenuSeparator.displayName = SEPARATOR_NAME;\nvar ARROW_NAME = \"MenuArrow\";\nvar MenuArrow = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeMenu, ...arrowProps } = props;\n    const popperScope = usePopperScope(__scopeMenu);\n    return /* @__PURE__ */ jsx(PopperPrimitive.Arrow, { ...popperScope, ...arrowProps, ref: forwardedRef });\n  }\n);\nMenuArrow.displayName = ARROW_NAME;\nvar SUB_NAME = \"MenuSub\";\nvar [MenuSubProvider, useMenuSubContext] = createMenuContext(SUB_NAME);\nvar MenuSub = (props) => {\n  const { __scopeMenu, children, open = false, onOpenChange } = props;\n  const parentMenuContext = useMenuContext(SUB_NAME, __scopeMenu);\n  const popperScope = usePopperScope(__scopeMenu);\n  const [trigger, setTrigger] = React.useState(null);\n  const [content, setContent] = React.useState(null);\n  const handleOpenChange = useCallbackRef(onOpenChange);\n  React.useEffect(() => {\n    if (parentMenuContext.open === false) handleOpenChange(false);\n    return () => handleOpenChange(false);\n  }, [parentMenuContext.open, handleOpenChange]);\n  return /* @__PURE__ */ jsx(PopperPrimitive.Root, { ...popperScope, children: /* @__PURE__ */ jsx(\n    MenuProvider,\n    {\n      scope: __scopeMenu,\n      open,\n      onOpenChange: handleOpenChange,\n      content,\n      onContentChange: setContent,\n      children: /* @__PURE__ */ jsx(\n        MenuSubProvider,\n        {\n          scope: __scopeMenu,\n          contentId: useId(),\n          triggerId: useId(),\n          trigger,\n          onTriggerChange: setTrigger,\n          children\n        }\n      )\n    }\n  ) });\n};\nMenuSub.displayName = SUB_NAME;\nvar SUB_TRIGGER_NAME = \"MenuSubTrigger\";\nvar MenuSubTrigger = React.forwardRef(\n  (props, forwardedRef) => {\n    const context = useMenuContext(SUB_TRIGGER_NAME, props.__scopeMenu);\n    const rootContext = useMenuRootContext(SUB_TRIGGER_NAME, props.__scopeMenu);\n    const subContext = useMenuSubContext(SUB_TRIGGER_NAME, props.__scopeMenu);\n    const contentContext = useMenuContentContext(SUB_TRIGGER_NAME, props.__scopeMenu);\n    const openTimerRef = React.useRef(null);\n    const { pointerGraceTimerRef, onPointerGraceIntentChange } = contentContext;\n    const scope = { __scopeMenu: props.__scopeMenu };\n    const clearOpenTimer = React.useCallback(() => {\n      if (openTimerRef.current) window.clearTimeout(openTimerRef.current);\n      openTimerRef.current = null;\n    }, []);\n    React.useEffect(() => clearOpenTimer, [clearOpenTimer]);\n    React.useEffect(() => {\n      const pointerGraceTimer = pointerGraceTimerRef.current;\n      return () => {\n        window.clearTimeout(pointerGraceTimer);\n        onPointerGraceIntentChange(null);\n      };\n    }, [pointerGraceTimerRef, onPointerGraceIntentChange]);\n    return /* @__PURE__ */ jsx(MenuAnchor, { asChild: true, ...scope, children: /* @__PURE__ */ jsx(\n      MenuItemImpl,\n      {\n        id: subContext.triggerId,\n        \"aria-haspopup\": \"menu\",\n        \"aria-expanded\": context.open,\n        \"aria-controls\": subContext.contentId,\n        \"data-state\": getOpenState(context.open),\n        ...props,\n        ref: composeRefs(forwardedRef, subContext.onTriggerChange),\n        onClick: (event) => {\n          props.onClick?.(event);\n          if (props.disabled || event.defaultPrevented) return;\n          event.currentTarget.focus();\n          if (!context.open) context.onOpenChange(true);\n        },\n        onPointerMove: composeEventHandlers(\n          props.onPointerMove,\n          whenMouse((event) => {\n            contentContext.onItemEnter(event);\n            if (event.defaultPrevented) return;\n            if (!props.disabled && !context.open && !openTimerRef.current) {\n              contentContext.onPointerGraceIntentChange(null);\n              openTimerRef.current = window.setTimeout(() => {\n                context.onOpenChange(true);\n                clearOpenTimer();\n              }, 100);\n            }\n          })\n        ),\n        onPointerLeave: composeEventHandlers(\n          props.onPointerLeave,\n          whenMouse((event) => {\n            clearOpenTimer();\n            const contentRect = context.content?.getBoundingClientRect();\n            if (contentRect) {\n              const side = context.content?.dataset.side;\n              const rightSide = side === \"right\";\n              const bleed = rightSide ? -5 : 5;\n              const contentNearEdge = contentRect[rightSide ? \"left\" : \"right\"];\n              const contentFarEdge = contentRect[rightSide ? \"right\" : \"left\"];\n              contentContext.onPointerGraceIntentChange({\n                area: [\n                  // Apply a bleed on clientX to ensure that our exit point is\n                  // consistently within polygon bounds\n                  { x: event.clientX + bleed, y: event.clientY },\n                  { x: contentNearEdge, y: contentRect.top },\n                  { x: contentFarEdge, y: contentRect.top },\n                  { x: contentFarEdge, y: contentRect.bottom },\n                  { x: contentNearEdge, y: contentRect.bottom }\n                ],\n                side\n              });\n              window.clearTimeout(pointerGraceTimerRef.current);\n              pointerGraceTimerRef.current = window.setTimeout(\n                () => contentContext.onPointerGraceIntentChange(null),\n                300\n              );\n            } else {\n              contentContext.onTriggerLeave(event);\n              if (event.defaultPrevented) return;\n              contentContext.onPointerGraceIntentChange(null);\n            }\n          })\n        ),\n        onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n          const isTypingAhead = contentContext.searchRef.current !== \"\";\n          if (props.disabled || isTypingAhead && event.key === \" \") return;\n          if (SUB_OPEN_KEYS[rootContext.dir].includes(event.key)) {\n            context.onOpenChange(true);\n            context.content?.focus();\n            event.preventDefault();\n          }\n        })\n      }\n    ) });\n  }\n);\nMenuSubTrigger.displayName = SUB_TRIGGER_NAME;\nvar SUB_CONTENT_NAME = \"MenuSubContent\";\nvar MenuSubContent = React.forwardRef(\n  (props, forwardedRef) => {\n    const portalContext = usePortalContext(CONTENT_NAME, props.__scopeMenu);\n    const { forceMount = portalContext.forceMount, ...subContentProps } = props;\n    const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);\n    const rootContext = useMenuRootContext(CONTENT_NAME, props.__scopeMenu);\n    const subContext = useMenuSubContext(SUB_CONTENT_NAME, props.__scopeMenu);\n    const ref = React.useRef(null);\n    const composedRefs = useComposedRefs(forwardedRef, ref);\n    return /* @__PURE__ */ jsx(Collection.Provider, { scope: props.__scopeMenu, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(Collection.Slot, { scope: props.__scopeMenu, children: /* @__PURE__ */ jsx(\n      MenuContentImpl,\n      {\n        id: subContext.contentId,\n        \"aria-labelledby\": subContext.triggerId,\n        ...subContentProps,\n        ref: composedRefs,\n        align: \"start\",\n        side: rootContext.dir === \"rtl\" ? \"left\" : \"right\",\n        disableOutsidePointerEvents: false,\n        disableOutsideScroll: false,\n        trapFocus: false,\n        onOpenAutoFocus: (event) => {\n          if (rootContext.isUsingKeyboardRef.current) ref.current?.focus();\n          event.preventDefault();\n        },\n        onCloseAutoFocus: (event) => event.preventDefault(),\n        onFocusOutside: composeEventHandlers(props.onFocusOutside, (event) => {\n          if (event.target !== subContext.trigger) context.onOpenChange(false);\n        }),\n        onEscapeKeyDown: composeEventHandlers(props.onEscapeKeyDown, (event) => {\n          rootContext.onClose();\n          event.preventDefault();\n        }),\n        onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n          const isKeyDownInside = event.currentTarget.contains(event.target);\n          const isCloseKey = SUB_CLOSE_KEYS[rootContext.dir].includes(event.key);\n          if (isKeyDownInside && isCloseKey) {\n            context.onOpenChange(false);\n            subContext.trigger?.focus();\n            event.preventDefault();\n          }\n        })\n      }\n    ) }) }) });\n  }\n);\nMenuSubContent.displayName = SUB_CONTENT_NAME;\nfunction getOpenState(open) {\n  return open ? \"open\" : \"closed\";\n}\nfunction isIndeterminate(checked) {\n  return checked === \"indeterminate\";\n}\nfunction getCheckedState(checked) {\n  return isIndeterminate(checked) ? \"indeterminate\" : checked ? \"checked\" : \"unchecked\";\n}\nfunction focusFirst(candidates) {\n  const PREVIOUSLY_FOCUSED_ELEMENT = document.activeElement;\n  for (const candidate of candidates) {\n    if (candidate === PREVIOUSLY_FOCUSED_ELEMENT) return;\n    candidate.focus();\n    if (document.activeElement !== PREVIOUSLY_FOCUSED_ELEMENT) return;\n  }\n}\nfunction wrapArray(array, startIndex) {\n  return array.map((_, index) => array[(startIndex + index) % array.length]);\n}\nfunction getNextMatch(values, search, currentMatch) {\n  const isRepeated = search.length > 1 && Array.from(search).every((char) => char === search[0]);\n  const normalizedSearch = isRepeated ? search[0] : search;\n  const currentMatchIndex = currentMatch ? values.indexOf(currentMatch) : -1;\n  let wrappedValues = wrapArray(values, Math.max(currentMatchIndex, 0));\n  const excludeCurrentMatch = normalizedSearch.length === 1;\n  if (excludeCurrentMatch) wrappedValues = wrappedValues.filter((v) => v !== currentMatch);\n  const nextMatch = wrappedValues.find(\n    (value) => value.toLowerCase().startsWith(normalizedSearch.toLowerCase())\n  );\n  return nextMatch !== currentMatch ? nextMatch : void 0;\n}\nfunction isPointInPolygon(point, polygon) {\n  const { x, y } = point;\n  let inside = false;\n  for (let i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {\n    const ii = polygon[i];\n    const jj = polygon[j];\n    const xi = ii.x;\n    const yi = ii.y;\n    const xj = jj.x;\n    const yj = jj.y;\n    const intersect = yi > y !== yj > y && x < (xj - xi) * (y - yi) / (yj - yi) + xi;\n    if (intersect) inside = !inside;\n  }\n  return inside;\n}\nfunction isPointerInGraceArea(event, area) {\n  if (!area) return false;\n  const cursorPos = { x: event.clientX, y: event.clientY };\n  return isPointInPolygon(cursorPos, area);\n}\nfunction whenMouse(handler) {\n  return (event) => event.pointerType === \"mouse\" ? handler(event) : void 0;\n}\nvar Root3 = Menu;\nvar Anchor2 = MenuAnchor;\nvar Portal = MenuPortal;\nvar Content2 = MenuContent;\nvar Group = MenuGroup;\nvar Label = MenuLabel;\nvar Item2 = MenuItem;\nvar CheckboxItem = MenuCheckboxItem;\nvar RadioGroup = MenuRadioGroup;\nvar RadioItem = MenuRadioItem;\nvar ItemIndicator = MenuItemIndicator;\nvar Separator = MenuSeparator;\nvar Arrow2 = MenuArrow;\nvar Sub = MenuSub;\nvar SubTrigger = MenuSubTrigger;\nvar SubContent = MenuSubContent;\nexport {\n  Anchor2 as Anchor,\n  Arrow2 as Arrow,\n  CheckboxItem,\n  Content2 as Content,\n  Group,\n  Item2 as Item,\n  ItemIndicator,\n  Label,\n  Menu,\n  MenuAnchor,\n  MenuArrow,\n  MenuCheckboxItem,\n  MenuContent,\n  MenuGroup,\n  MenuItem,\n  MenuItemIndicator,\n  MenuLabel,\n  MenuPortal,\n  MenuRadioGroup,\n  MenuRadioItem,\n  MenuSeparator,\n  MenuSub,\n  MenuSubContent,\n  MenuSubTrigger,\n  Portal,\n  RadioGroup,\n  RadioItem,\n  Root3 as Root,\n  Separator,\n  Sub,\n  SubContent,\n  SubTrigger,\n  createMenuScope\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/dropdown-menu.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport * as MenuPrimitive from \"@radix-ui/react-menu\";\nimport { createMenuScope } from \"@radix-ui/react-menu\";\nimport { useId } from \"@radix-ui/react-id\";\nimport { jsx } from \"react/jsx-runtime\";\nvar DROPDOWN_MENU_NAME = \"DropdownMenu\";\nvar [createDropdownMenuContext, createDropdownMenuScope] = createContextScope(\n  DROPDOWN_MENU_NAME,\n  [createMenuScope]\n);\nvar useMenuScope = createMenuScope();\nvar [DropdownMenuProvider, useDropdownMenuContext] = createDropdownMenuContext(DROPDOWN_MENU_NAME);\nvar DropdownMenu = (props) => {\n  const {\n    __scopeDropdownMenu,\n    children,\n    dir,\n    open: openProp,\n    defaultOpen,\n    onOpenChange,\n    modal = true\n  } = props;\n  const menuScope = useMenuScope(__scopeDropdownMenu);\n  const triggerRef = React.useRef(null);\n  const [open, setOpen] = useControllableState({\n    prop: openProp,\n    defaultProp: defaultOpen ?? false,\n    onChange: onOpenChange,\n    caller: DROPDOWN_MENU_NAME\n  });\n  return /* @__PURE__ */ jsx(\n    DropdownMenuProvider,\n    {\n      scope: __scopeDropdownMenu,\n      triggerId: useId(),\n      triggerRef,\n      contentId: useId(),\n      open,\n      onOpenChange: setOpen,\n      onOpenToggle: React.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]),\n      modal,\n      children: /* @__PURE__ */ jsx(MenuPrimitive.Root, { ...menuScope, open, onOpenChange: setOpen, dir, modal, children })\n    }\n  );\n};\nDropdownMenu.displayName = DROPDOWN_MENU_NAME;\nvar TRIGGER_NAME = \"DropdownMenuTrigger\";\nvar DropdownMenuTrigger = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeDropdownMenu, disabled = false, ...triggerProps } = props;\n    const context = useDropdownMenuContext(TRIGGER_NAME, __scopeDropdownMenu);\n    const menuScope = useMenuScope(__scopeDropdownMenu);\n    return /* @__PURE__ */ jsx(MenuPrimitive.Anchor, { asChild: true, ...menuScope, children: /* @__PURE__ */ jsx(\n      Primitive.button,\n      {\n        type: \"button\",\n        id: context.triggerId,\n        \"aria-haspopup\": \"menu\",\n        \"aria-expanded\": context.open,\n        \"aria-controls\": context.open ? context.contentId : void 0,\n        \"data-state\": context.open ? \"open\" : \"closed\",\n        \"data-disabled\": disabled ? \"\" : void 0,\n        disabled,\n        ...triggerProps,\n        ref: composeRefs(forwardedRef, context.triggerRef),\n        onPointerDown: composeEventHandlers(props.onPointerDown, (event) => {\n          if (!disabled && event.button === 0 && event.ctrlKey === false) {\n            context.onOpenToggle();\n            if (!context.open) event.preventDefault();\n          }\n        }),\n        onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n          if (disabled) return;\n          if ([\"Enter\", \" \"].includes(event.key)) context.onOpenToggle();\n          if (event.key === \"ArrowDown\") context.onOpenChange(true);\n          if ([\"Enter\", \" \", \"ArrowDown\"].includes(event.key)) event.preventDefault();\n        })\n      }\n    ) });\n  }\n);\nDropdownMenuTrigger.displayName = TRIGGER_NAME;\nvar PORTAL_NAME = \"DropdownMenuPortal\";\nvar DropdownMenuPortal = (props) => {\n  const { __scopeDropdownMenu, ...portalProps } = props;\n  const menuScope = useMenuScope(__scopeDropdownMenu);\n  return /* @__PURE__ */ jsx(MenuPrimitive.Portal, { ...menuScope, ...portalProps });\n};\nDropdownMenuPortal.displayName = PORTAL_NAME;\nvar CONTENT_NAME = \"DropdownMenuContent\";\nvar DropdownMenuContent = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeDropdownMenu, ...contentProps } = props;\n    const context = useDropdownMenuContext(CONTENT_NAME, __scopeDropdownMenu);\n    const menuScope = useMenuScope(__scopeDropdownMenu);\n    const hasInteractedOutsideRef = React.useRef(false);\n    return /* @__PURE__ */ jsx(\n      MenuPrimitive.Content,\n      {\n        id: context.contentId,\n        \"aria-labelledby\": context.triggerId,\n        ...menuScope,\n        ...contentProps,\n        ref: forwardedRef,\n        onCloseAutoFocus: composeEventHandlers(props.onCloseAutoFocus, (event) => {\n          if (!hasInteractedOutsideRef.current) context.triggerRef.current?.focus();\n          hasInteractedOutsideRef.current = false;\n          event.preventDefault();\n        }),\n        onInteractOutside: composeEventHandlers(props.onInteractOutside, (event) => {\n          const originalEvent = event.detail.originalEvent;\n          const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;\n          const isRightClick = originalEvent.button === 2 || ctrlLeftClick;\n          if (!context.modal || isRightClick) hasInteractedOutsideRef.current = true;\n        }),\n        style: {\n          ...props.style,\n          // re-namespace exposed content custom properties\n          ...{\n            \"--radix-dropdown-menu-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n            \"--radix-dropdown-menu-content-available-width\": \"var(--radix-popper-available-width)\",\n            \"--radix-dropdown-menu-content-available-height\": \"var(--radix-popper-available-height)\",\n            \"--radix-dropdown-menu-trigger-width\": \"var(--radix-popper-anchor-width)\",\n            \"--radix-dropdown-menu-trigger-height\": \"var(--radix-popper-anchor-height)\"\n          }\n        }\n      }\n    );\n  }\n);\nDropdownMenuContent.displayName = CONTENT_NAME;\nvar GROUP_NAME = \"DropdownMenuGroup\";\nvar DropdownMenuGroup = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeDropdownMenu, ...groupProps } = props;\n    const menuScope = useMenuScope(__scopeDropdownMenu);\n    return /* @__PURE__ */ jsx(MenuPrimitive.Group, { ...menuScope, ...groupProps, ref: forwardedRef });\n  }\n);\nDropdownMenuGroup.displayName = GROUP_NAME;\nvar LABEL_NAME = \"DropdownMenuLabel\";\nvar DropdownMenuLabel = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeDropdownMenu, ...labelProps } = props;\n    const menuScope = useMenuScope(__scopeDropdownMenu);\n    return /* @__PURE__ */ jsx(MenuPrimitive.Label, { ...menuScope, ...labelProps, ref: forwardedRef });\n  }\n);\nDropdownMenuLabel.displayName = LABEL_NAME;\nvar ITEM_NAME = \"DropdownMenuItem\";\nvar DropdownMenuItem = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeDropdownMenu, ...itemProps } = props;\n    const menuScope = useMenuScope(__scopeDropdownMenu);\n    return /* @__PURE__ */ jsx(MenuPrimitive.Item, { ...menuScope, ...itemProps, ref: forwardedRef });\n  }\n);\nDropdownMenuItem.displayName = ITEM_NAME;\nvar CHECKBOX_ITEM_NAME = \"DropdownMenuCheckboxItem\";\nvar DropdownMenuCheckboxItem = React.forwardRef((props, forwardedRef) => {\n  const { __scopeDropdownMenu, ...checkboxItemProps } = props;\n  const menuScope = useMenuScope(__scopeDropdownMenu);\n  return /* @__PURE__ */ jsx(MenuPrimitive.CheckboxItem, { ...menuScope, ...checkboxItemProps, ref: forwardedRef });\n});\nDropdownMenuCheckboxItem.displayName = CHECKBOX_ITEM_NAME;\nvar RADIO_GROUP_NAME = \"DropdownMenuRadioGroup\";\nvar DropdownMenuRadioGroup = React.forwardRef((props, forwardedRef) => {\n  const { __scopeDropdownMenu, ...radioGroupProps } = props;\n  const menuScope = useMenuScope(__scopeDropdownMenu);\n  return /* @__PURE__ */ jsx(MenuPrimitive.RadioGroup, { ...menuScope, ...radioGroupProps, ref: forwardedRef });\n});\nDropdownMenuRadioGroup.displayName = RADIO_GROUP_NAME;\nvar RADIO_ITEM_NAME = \"DropdownMenuRadioItem\";\nvar DropdownMenuRadioItem = React.forwardRef((props, forwardedRef) => {\n  const { __scopeDropdownMenu, ...radioItemProps } = props;\n  const menuScope = useMenuScope(__scopeDropdownMenu);\n  return /* @__PURE__ */ jsx(MenuPrimitive.RadioItem, { ...menuScope, ...radioItemProps, ref: forwardedRef });\n});\nDropdownMenuRadioItem.displayName = RADIO_ITEM_NAME;\nvar INDICATOR_NAME = \"DropdownMenuItemIndicator\";\nvar DropdownMenuItemIndicator = React.forwardRef((props, forwardedRef) => {\n  const { __scopeDropdownMenu, ...itemIndicatorProps } = props;\n  const menuScope = useMenuScope(__scopeDropdownMenu);\n  return /* @__PURE__ */ jsx(MenuPrimitive.ItemIndicator, { ...menuScope, ...itemIndicatorProps, ref: forwardedRef });\n});\nDropdownMenuItemIndicator.displayName = INDICATOR_NAME;\nvar SEPARATOR_NAME = \"DropdownMenuSeparator\";\nvar DropdownMenuSeparator = React.forwardRef((props, forwardedRef) => {\n  const { __scopeDropdownMenu, ...separatorProps } = props;\n  const menuScope = useMenuScope(__scopeDropdownMenu);\n  return /* @__PURE__ */ jsx(MenuPrimitive.Separator, { ...menuScope, ...separatorProps, ref: forwardedRef });\n});\nDropdownMenuSeparator.displayName = SEPARATOR_NAME;\nvar ARROW_NAME = \"DropdownMenuArrow\";\nvar DropdownMenuArrow = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeDropdownMenu, ...arrowProps } = props;\n    const menuScope = useMenuScope(__scopeDropdownMenu);\n    return /* @__PURE__ */ jsx(MenuPrimitive.Arrow, { ...menuScope, ...arrowProps, ref: forwardedRef });\n  }\n);\nDropdownMenuArrow.displayName = ARROW_NAME;\nvar DropdownMenuSub = (props) => {\n  const { __scopeDropdownMenu, children, open: openProp, onOpenChange, defaultOpen } = props;\n  const menuScope = useMenuScope(__scopeDropdownMenu);\n  const [open, setOpen] = useControllableState({\n    prop: openProp,\n    defaultProp: defaultOpen ?? false,\n    onChange: onOpenChange,\n    caller: \"DropdownMenuSub\"\n  });\n  return /* @__PURE__ */ jsx(MenuPrimitive.Sub, { ...menuScope, open, onOpenChange: setOpen, children });\n};\nvar SUB_TRIGGER_NAME = \"DropdownMenuSubTrigger\";\nvar DropdownMenuSubTrigger = React.forwardRef((props, forwardedRef) => {\n  const { __scopeDropdownMenu, ...subTriggerProps } = props;\n  const menuScope = useMenuScope(__scopeDropdownMenu);\n  return /* @__PURE__ */ jsx(MenuPrimitive.SubTrigger, { ...menuScope, ...subTriggerProps, ref: forwardedRef });\n});\nDropdownMenuSubTrigger.displayName = SUB_TRIGGER_NAME;\nvar SUB_CONTENT_NAME = \"DropdownMenuSubContent\";\nvar DropdownMenuSubContent = React.forwardRef((props, forwardedRef) => {\n  const { __scopeDropdownMenu, ...subContentProps } = props;\n  const menuScope = useMenuScope(__scopeDropdownMenu);\n  return /* @__PURE__ */ jsx(\n    MenuPrimitive.SubContent,\n    {\n      ...menuScope,\n      ...subContentProps,\n      ref: forwardedRef,\n      style: {\n        ...props.style,\n        // re-namespace exposed content custom properties\n        ...{\n          \"--radix-dropdown-menu-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n          \"--radix-dropdown-menu-content-available-width\": \"var(--radix-popper-available-width)\",\n          \"--radix-dropdown-menu-content-available-height\": \"var(--radix-popper-available-height)\",\n          \"--radix-dropdown-menu-trigger-width\": \"var(--radix-popper-anchor-width)\",\n          \"--radix-dropdown-menu-trigger-height\": \"var(--radix-popper-anchor-height)\"\n        }\n      }\n    }\n  );\n});\nDropdownMenuSubContent.displayName = SUB_CONTENT_NAME;\nvar Root2 = DropdownMenu;\nvar Trigger = DropdownMenuTrigger;\nvar Portal2 = DropdownMenuPortal;\nvar Content2 = DropdownMenuContent;\nvar Group2 = DropdownMenuGroup;\nvar Label2 = DropdownMenuLabel;\nvar Item2 = DropdownMenuItem;\nvar CheckboxItem2 = DropdownMenuCheckboxItem;\nvar RadioGroup2 = DropdownMenuRadioGroup;\nvar RadioItem2 = DropdownMenuRadioItem;\nvar ItemIndicator2 = DropdownMenuItemIndicator;\nvar Separator2 = DropdownMenuSeparator;\nvar Arrow2 = DropdownMenuArrow;\nvar Sub2 = DropdownMenuSub;\nvar SubTrigger2 = DropdownMenuSubTrigger;\nvar SubContent2 = DropdownMenuSubContent;\nexport {\n  Arrow2 as Arrow,\n  CheckboxItem2 as CheckboxItem,\n  Content2 as Content,\n  DropdownMenu,\n  DropdownMenuArrow,\n  DropdownMenuCheckboxItem,\n  DropdownMenuContent,\n  DropdownMenuGroup,\n  DropdownMenuItem,\n  DropdownMenuItemIndicator,\n  DropdownMenuLabel,\n  DropdownMenuPortal,\n  DropdownMenuRadioGroup,\n  DropdownMenuRadioItem,\n  DropdownMenuSeparator,\n  DropdownMenuSub,\n  DropdownMenuSubContent,\n  DropdownMenuSubTrigger,\n  DropdownMenuTrigger,\n  Group2 as Group,\n  Item2 as Item,\n  ItemIndicator2 as ItemIndicator,\n  Label2 as Label,\n  Portal2 as Portal,\n  RadioGroup2 as RadioGroup,\n  RadioItem2 as RadioItem,\n  Root2 as Root,\n  Separator2 as Separator,\n  Sub2 as Sub,\n  SubContent2 as SubContent,\n  SubTrigger2 as SubTrigger,\n  Trigger,\n  createDropdownMenuScope\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/focus-guards.tsx\nimport * as React from \"react\";\nvar count = 0;\nfunction FocusGuards(props) {\n  useFocusGuards();\n  return props.children;\n}\nfunction useFocusGuards() {\n  React.useEffect(() => {\n    const edgeGuards = document.querySelectorAll(\"[data-radix-focus-guard]\");\n    document.body.insertAdjacentElement(\"afterbegin\", edgeGuards[0] ?? createFocusGuard());\n    document.body.insertAdjacentElement(\"beforeend\", edgeGuards[1] ?? createFocusGuard());\n    count++;\n    return () => {\n      if (count === 1) {\n        document.querySelectorAll(\"[data-radix-focus-guard]\").forEach((node) => node.remove());\n      }\n      count--;\n    };\n  }, []);\n}\nfunction createFocusGuard() {\n  const element = document.createElement(\"span\");\n  element.setAttribute(\"data-radix-focus-guard\", \"\");\n  element.tabIndex = 0;\n  element.style.outline = \"none\";\n  element.style.opacity = \"0\";\n  element.style.position = \"fixed\";\n  element.style.pointerEvents = \"none\";\n  return element;\n}\nexport {\n  FocusGuards,\n  FocusGuards as Root,\n  useFocusGuards\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/focus-scope.tsx\nimport * as React from \"react\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { jsx } from \"react/jsx-runtime\";\nvar AUTOFOCUS_ON_MOUNT = \"focusScope.autoFocusOnMount\";\nvar AUTOFOCUS_ON_UNMOUNT = \"focusScope.autoFocusOnUnmount\";\nvar EVENT_OPTIONS = { bubbles: false, cancelable: true };\nvar FOCUS_SCOPE_NAME = \"FocusScope\";\nvar FocusScope = React.forwardRef((props, forwardedRef) => {\n  const {\n    loop = false,\n    trapped = false,\n    onMountAutoFocus: onMountAutoFocusProp,\n    onUnmountAutoFocus: onUnmountAutoFocusProp,\n    ...scopeProps\n  } = props;\n  const [container, setContainer] = React.useState(null);\n  const onMountAutoFocus = useCallbackRef(onMountAutoFocusProp);\n  const onUnmountAutoFocus = useCallbackRef(onUnmountAutoFocusProp);\n  const lastFocusedElementRef = React.useRef(null);\n  const composedRefs = useComposedRefs(forwardedRef, (node) => setContainer(node));\n  const focusScope = React.useRef({\n    paused: false,\n    pause() {\n      this.paused = true;\n    },\n    resume() {\n      this.paused = false;\n    }\n  }).current;\n  React.useEffect(() => {\n    if (trapped) {\n      let handleFocusIn2 = function(event) {\n        if (focusScope.paused || !container) return;\n        const target = event.target;\n        if (container.contains(target)) {\n          lastFocusedElementRef.current = target;\n        } else {\n          focus(lastFocusedElementRef.current, { select: true });\n        }\n      }, handleFocusOut2 = function(event) {\n        if (focusScope.paused || !container) return;\n        const relatedTarget = event.relatedTarget;\n        if (relatedTarget === null) return;\n        if (!container.contains(relatedTarget)) {\n          focus(lastFocusedElementRef.current, { select: true });\n        }\n      }, handleMutations2 = function(mutations) {\n        const focusedElement = document.activeElement;\n        if (focusedElement !== document.body) return;\n        for (const mutation of mutations) {\n          if (mutation.removedNodes.length > 0) focus(container);\n        }\n      };\n      var handleFocusIn = handleFocusIn2, handleFocusOut = handleFocusOut2, handleMutations = handleMutations2;\n      document.addEventListener(\"focusin\", handleFocusIn2);\n      document.addEventListener(\"focusout\", handleFocusOut2);\n      const mutationObserver = new MutationObserver(handleMutations2);\n      if (container) mutationObserver.observe(container, { childList: true, subtree: true });\n      return () => {\n        document.removeEventListener(\"focusin\", handleFocusIn2);\n        document.removeEventListener(\"focusout\", handleFocusOut2);\n        mutationObserver.disconnect();\n      };\n    }\n  }, [trapped, container, focusScope.paused]);\n  React.useEffect(() => {\n    if (container) {\n      focusScopesStack.add(focusScope);\n      const previouslyFocusedElement = document.activeElement;\n      const hasFocusedCandidate = container.contains(previouslyFocusedElement);\n      if (!hasFocusedCandidate) {\n        const mountEvent = new CustomEvent(AUTOFOCUS_ON_MOUNT, EVENT_OPTIONS);\n        container.addEventListener(AUTOFOCUS_ON_MOUNT, onMountAutoFocus);\n        container.dispatchEvent(mountEvent);\n        if (!mountEvent.defaultPrevented) {\n          focusFirst(removeLinks(getTabbableCandidates(container)), { select: true });\n          if (document.activeElement === previouslyFocusedElement) {\n            focus(container);\n          }\n        }\n      }\n      return () => {\n        container.removeEventListener(AUTOFOCUS_ON_MOUNT, onMountAutoFocus);\n        setTimeout(() => {\n          const unmountEvent = new CustomEvent(AUTOFOCUS_ON_UNMOUNT, EVENT_OPTIONS);\n          container.addEventListener(AUTOFOCUS_ON_UNMOUNT, onUnmountAutoFocus);\n          container.dispatchEvent(unmountEvent);\n          if (!unmountEvent.defaultPrevented) {\n            focus(previouslyFocusedElement ?? document.body, { select: true });\n          }\n          container.removeEventListener(AUTOFOCUS_ON_UNMOUNT, onUnmountAutoFocus);\n          focusScopesStack.remove(focusScope);\n        }, 0);\n      };\n    }\n  }, [container, onMountAutoFocus, onUnmountAutoFocus, focusScope]);\n  const handleKeyDown = React.useCallback(\n    (event) => {\n      if (!loop && !trapped) return;\n      if (focusScope.paused) return;\n      const isTabKey = event.key === \"Tab\" && !event.altKey && !event.ctrlKey && !event.metaKey;\n      const focusedElement = document.activeElement;\n      if (isTabKey && focusedElement) {\n        const container2 = event.currentTarget;\n        const [first, last] = getTabbableEdges(container2);\n        const hasTabbableElementsInside = first && last;\n        if (!hasTabbableElementsInside) {\n          if (focusedElement === container2) event.preventDefault();\n        } else {\n          if (!event.shiftKey && focusedElement === last) {\n            event.preventDefault();\n            if (loop) focus(first, { select: true });\n          } else if (event.shiftKey && focusedElement === first) {\n            event.preventDefault();\n            if (loop) focus(last, { select: true });\n          }\n        }\n      }\n    },\n    [loop, trapped, focusScope.paused]\n  );\n  return /* @__PURE__ */ jsx(Primitive.div, { tabIndex: -1, ...scopeProps, ref: composedRefs, onKeyDown: handleKeyDown });\n});\nFocusScope.displayName = FOCUS_SCOPE_NAME;\nfunction focusFirst(candidates, { select = false } = {}) {\n  const previouslyFocusedElement = document.activeElement;\n  for (const candidate of candidates) {\n    focus(candidate, { select });\n    if (document.activeElement !== previouslyFocusedElement) return;\n  }\n}\nfunction getTabbableEdges(container) {\n  const candidates = getTabbableCandidates(container);\n  const first = findVisible(candidates, container);\n  const last = findVisible(candidates.reverse(), container);\n  return [first, last];\n}\nfunction getTabbableCandidates(container) {\n  const nodes = [];\n  const walker = document.createTreeWalker(container, NodeFilter.SHOW_ELEMENT, {\n    acceptNode: (node) => {\n      const isHiddenInput = node.tagName === \"INPUT\" && node.type === \"hidden\";\n      if (node.disabled || node.hidden || isHiddenInput) return NodeFilter.FILTER_SKIP;\n      return node.tabIndex >= 0 ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;\n    }\n  });\n  while (walker.nextNode()) nodes.push(walker.currentNode);\n  return nodes;\n}\nfunction findVisible(elements, container) {\n  for (const element of elements) {\n    if (!isHidden(element, { upTo: container })) return element;\n  }\n}\nfunction isHidden(node, { upTo }) {\n  if (getComputedStyle(node).visibility === \"hidden\") return true;\n  while (node) {\n    if (upTo !== void 0 && node === upTo) return false;\n    if (getComputedStyle(node).display === \"none\") return true;\n    node = node.parentElement;\n  }\n  return false;\n}\nfunction isSelectableInput(element) {\n  return element instanceof HTMLInputElement && \"select\" in element;\n}\nfunction focus(element, { select = false } = {}) {\n  if (element && element.focus) {\n    const previouslyFocusedElement = document.activeElement;\n    element.focus({ preventScroll: true });\n    if (element !== previouslyFocusedElement && isSelectableInput(element) && select)\n      element.select();\n  }\n}\nvar focusScopesStack = createFocusScopesStack();\nfunction createFocusScopesStack() {\n  let stack = [];\n  return {\n    add(focusScope) {\n      const activeFocusScope = stack[0];\n      if (focusScope !== activeFocusScope) {\n        activeFocusScope?.pause();\n      }\n      stack = arrayRemove(stack, focusScope);\n      stack.unshift(focusScope);\n    },\n    remove(focusScope) {\n      stack = arrayRemove(stack, focusScope);\n      stack[0]?.resume();\n    }\n  };\n}\nfunction arrayRemove(array, item) {\n  const updatedArray = [...array];\n  const index = updatedArray.indexOf(item);\n  if (index !== -1) {\n    updatedArray.splice(index, 1);\n  }\n  return updatedArray;\n}\nfunction removeLinks(items) {\n  return items.filter((item) => item.tagName !== \"A\");\n}\nvar Root = FocusScope;\nexport {\n  FocusScope,\n  Root\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/compose-refs/src/compose-refs.tsx\nimport * as React from \"react\";\nfunction setRef(ref, value) {\n  if (typeof ref === \"function\") {\n    return ref(value);\n  } else if (ref !== null && ref !== void 0) {\n    ref.current = value;\n  }\n}\nfunction composeRefs(...refs) {\n  return (node) => {\n    let hasCleanup = false;\n    const cleanups = refs.map((ref) => {\n      const cleanup = setRef(ref, node);\n      if (!hasCleanup && typeof cleanup == \"function\") {\n        hasCleanup = true;\n      }\n      return cleanup;\n    });\n    if (hasCleanup) {\n      return () => {\n        for (let i = 0; i < cleanups.length; i++) {\n          const cleanup = cleanups[i];\n          if (typeof cleanup == \"function\") {\n            cleanup();\n          } else {\n            setRef(refs[i], null);\n          }\n        }\n      };\n    }\n  };\n}\nfunction useComposedRefs(...refs) {\n  return React.useCallback(composeRefs(...refs), refs);\n}\nexport {\n  composeRefs,\n  useComposedRefs\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NODES = [\n  \"a\",\n  \"button\",\n  \"div\",\n  \"form\",\n  \"h2\",\n  \"h3\",\n  \"img\",\n  \"input\",\n  \"label\",\n  \"li\",\n  \"nav\",\n  \"ol\",\n  \"p\",\n  \"select\",\n  \"span\",\n  \"svg\",\n  \"ul\"\n];\nvar Primitive = NODES.reduce((primitive, node) => {\n  const Slot = createSlot(`Primitive.${node}`);\n  const Node = React.forwardRef((props, forwardedRef) => {\n    const { asChild, ...primitiveProps } = props;\n    const Comp = asChild ? Slot : node;\n    if (typeof window !== \"undefined\") {\n      window[Symbol.for(\"radix-ui\")] = true;\n    }\n    return /* @__PURE__ */ jsx(Comp, { ...primitiveProps, ref: forwardedRef });\n  });\n  Node.displayName = `Primitive.${node}`;\n  return { ...primitive, [node]: Node };\n}, {});\nfunction dispatchDiscreteCustomEvent(target, event) {\n  if (target) ReactDOM.flushSync(() => target.dispatchEvent(event));\n}\nvar Root = Primitive;\nexport {\n  Primitive,\n  Root,\n  dispatchDiscreteCustomEvent\n};\n//# sourceMappingURL=index.mjs.map\n","// src/slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment as Fragment2, jsx } from \"react/jsx-runtime\";\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n  const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);\n  const Slot2 = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    const childrenArray = React.Children.toArray(children);\n    const slottable = childrenArray.find(isSlottable);\n    if (slottable) {\n      const newElement = slottable.props.children;\n      const newChildren = childrenArray.map((child) => {\n        if (child === slottable) {\n          if (React.Children.count(newElement) > 1) return React.Children.only(null);\n          return React.isValidElement(newElement) ? newElement.props.children : null;\n        } else {\n          return child;\n        }\n      });\n      return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n    }\n    return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n  });\n  Slot2.displayName = `${ownerName}.Slot`;\n  return Slot2;\n}\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlotClone(ownerName) {\n  const SlotClone = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    if (React.isValidElement(children)) {\n      const childrenRef = getElementRef(children);\n      const props2 = mergeProps(slotProps, children.props);\n      if (children.type !== React.Fragment) {\n        props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n      }\n      return React.cloneElement(children, props2);\n    }\n    return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n  });\n  SlotClone.displayName = `${ownerName}.SlotClone`;\n  return SlotClone;\n}\nvar SLOTTABLE_IDENTIFIER = Symbol(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n  const Slottable2 = ({ children }) => {\n    return /* @__PURE__ */ jsx(Fragment2, { children });\n  };\n  Slottable2.displayName = `${ownerName}.Slottable`;\n  Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n  return Slottable2;\n}\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nfunction isSlottable(child) {\n  return React.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\nfunction mergeProps(slotProps, childProps) {\n  const overrideProps = { ...childProps };\n  for (const propName in childProps) {\n    const slotPropValue = slotProps[propName];\n    const childPropValue = childProps[propName];\n    const isHandler = /^on[A-Z]/.test(propName);\n    if (isHandler) {\n      if (slotPropValue && childPropValue) {\n        overrideProps[propName] = (...args) => {\n          const result = childPropValue(...args);\n          slotPropValue(...args);\n          return result;\n        };\n      } else if (slotPropValue) {\n        overrideProps[propName] = slotPropValue;\n      }\n    } else if (propName === \"style\") {\n      overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n    } else if (propName === \"className\") {\n      overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n    }\n  }\n  return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n  let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n  let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.ref;\n  }\n  getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n  mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.props.ref;\n  }\n  return element.props.ref || element.ref;\n}\nexport {\n  Slot as Root,\n  Slot,\n  Slottable,\n  createSlot,\n  createSlottable\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-callback-ref/src/use-callback-ref.tsx\nimport * as React from \"react\";\nfunction useCallbackRef(callback) {\n  const callbackRef = React.useRef(callback);\n  React.useEffect(() => {\n    callbackRef.current = callback;\n  });\n  return React.useMemo(() => (...args) => callbackRef.current?.(...args), []);\n}\nexport {\n  useCallbackRef\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/id/src/id.tsx\nimport * as React from \"react\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nvar useReactId = React[\" useId \".trim().toString()] || (() => void 0);\nvar count = 0;\nfunction useId(deterministicId) {\n  const [id, setId] = React.useState(useReactId());\n  useLayoutEffect(() => {\n    if (!deterministicId) setId((reactId) => reactId ?? String(count++));\n  }, [deterministicId]);\n  return deterministicId || (id ? `radix-${id}` : \"\");\n}\nexport {\n  useId\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-layout-effect/src/use-layout-effect.tsx\nimport * as React from \"react\";\nvar useLayoutEffect2 = globalThis?.document ? React.useLayoutEffect : () => {\n};\nexport {\n  useLayoutEffect2 as useLayoutEffect\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/popover.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { DismissableLayer } from \"@radix-ui/react-dismissable-layer\";\nimport { useFocusGuards } from \"@radix-ui/react-focus-guards\";\nimport { FocusScope } from \"@radix-ui/react-focus-scope\";\nimport { useId } from \"@radix-ui/react-id\";\nimport * as PopperPrimitive from \"@radix-ui/react-popper\";\nimport { createPopperScope } from \"@radix-ui/react-popper\";\nimport { Portal as PortalPrimitive } from \"@radix-ui/react-portal\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { hideOthers } from \"aria-hidden\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport { jsx } from \"react/jsx-runtime\";\nvar POPOVER_NAME = \"Popover\";\nvar [createPopoverContext, createPopoverScope] = createContextScope(POPOVER_NAME, [\n  createPopperScope\n]);\nvar usePopperScope = createPopperScope();\nvar [PopoverProvider, usePopoverContext] = createPopoverContext(POPOVER_NAME);\nvar Popover = (props) => {\n  const {\n    __scopePopover,\n    children,\n    open: openProp,\n    defaultOpen,\n    onOpenChange,\n    modal = false\n  } = props;\n  const popperScope = usePopperScope(__scopePopover);\n  const triggerRef = React.useRef(null);\n  const [hasCustomAnchor, setHasCustomAnchor] = React.useState(false);\n  const [open, setOpen] = useControllableState({\n    prop: openProp,\n    defaultProp: defaultOpen ?? false,\n    onChange: onOpenChange,\n    caller: POPOVER_NAME\n  });\n  return /* @__PURE__ */ jsx(PopperPrimitive.Root, { ...popperScope, children: /* @__PURE__ */ jsx(\n    PopoverProvider,\n    {\n      scope: __scopePopover,\n      contentId: useId(),\n      triggerRef,\n      open,\n      onOpenChange: setOpen,\n      onOpenToggle: React.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]),\n      hasCustomAnchor,\n      onCustomAnchorAdd: React.useCallback(() => setHasCustomAnchor(true), []),\n      onCustomAnchorRemove: React.useCallback(() => setHasCustomAnchor(false), []),\n      modal,\n      children\n    }\n  ) });\n};\nPopover.displayName = POPOVER_NAME;\nvar ANCHOR_NAME = \"PopoverAnchor\";\nvar PopoverAnchor = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopePopover, ...anchorProps } = props;\n    const context = usePopoverContext(ANCHOR_NAME, __scopePopover);\n    const popperScope = usePopperScope(__scopePopover);\n    const { onCustomAnchorAdd, onCustomAnchorRemove } = context;\n    React.useEffect(() => {\n      onCustomAnchorAdd();\n      return () => onCustomAnchorRemove();\n    }, [onCustomAnchorAdd, onCustomAnchorRemove]);\n    return /* @__PURE__ */ jsx(PopperPrimitive.Anchor, { ...popperScope, ...anchorProps, ref: forwardedRef });\n  }\n);\nPopoverAnchor.displayName = ANCHOR_NAME;\nvar TRIGGER_NAME = \"PopoverTrigger\";\nvar PopoverTrigger = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopePopover, ...triggerProps } = props;\n    const context = usePopoverContext(TRIGGER_NAME, __scopePopover);\n    const popperScope = usePopperScope(__scopePopover);\n    const composedTriggerRef = useComposedRefs(forwardedRef, context.triggerRef);\n    const trigger = /* @__PURE__ */ jsx(\n      Primitive.button,\n      {\n        type: \"button\",\n        \"aria-haspopup\": \"dialog\",\n        \"aria-expanded\": context.open,\n        \"aria-controls\": context.contentId,\n        \"data-state\": getState(context.open),\n        ...triggerProps,\n        ref: composedTriggerRef,\n        onClick: composeEventHandlers(props.onClick, context.onOpenToggle)\n      }\n    );\n    return context.hasCustomAnchor ? trigger : /* @__PURE__ */ jsx(PopperPrimitive.Anchor, { asChild: true, ...popperScope, children: trigger });\n  }\n);\nPopoverTrigger.displayName = TRIGGER_NAME;\nvar PORTAL_NAME = \"PopoverPortal\";\nvar [PortalProvider, usePortalContext] = createPopoverContext(PORTAL_NAME, {\n  forceMount: void 0\n});\nvar PopoverPortal = (props) => {\n  const { __scopePopover, forceMount, children, container } = props;\n  const context = usePopoverContext(PORTAL_NAME, __scopePopover);\n  return /* @__PURE__ */ jsx(PortalProvider, { scope: __scopePopover, forceMount, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(PortalPrimitive, { asChild: true, container, children }) }) });\n};\nPopoverPortal.displayName = PORTAL_NAME;\nvar CONTENT_NAME = \"PopoverContent\";\nvar PopoverContent = React.forwardRef(\n  (props, forwardedRef) => {\n    const portalContext = usePortalContext(CONTENT_NAME, props.__scopePopover);\n    const { forceMount = portalContext.forceMount, ...contentProps } = props;\n    const context = usePopoverContext(CONTENT_NAME, props.__scopePopover);\n    return /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: context.modal ? /* @__PURE__ */ jsx(PopoverContentModal, { ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ jsx(PopoverContentNonModal, { ...contentProps, ref: forwardedRef }) });\n  }\n);\nPopoverContent.displayName = CONTENT_NAME;\nvar Slot = createSlot(\"PopoverContent.RemoveScroll\");\nvar PopoverContentModal = React.forwardRef(\n  (props, forwardedRef) => {\n    const context = usePopoverContext(CONTENT_NAME, props.__scopePopover);\n    const contentRef = React.useRef(null);\n    const composedRefs = useComposedRefs(forwardedRef, contentRef);\n    const isRightClickOutsideRef = React.useRef(false);\n    React.useEffect(() => {\n      const content = contentRef.current;\n      if (content) return hideOthers(content);\n    }, []);\n    return /* @__PURE__ */ jsx(RemoveScroll, { as: Slot, allowPinchZoom: true, children: /* @__PURE__ */ jsx(\n      PopoverContentImpl,\n      {\n        ...props,\n        ref: composedRefs,\n        trapFocus: context.open,\n        disableOutsidePointerEvents: true,\n        onCloseAutoFocus: composeEventHandlers(props.onCloseAutoFocus, (event) => {\n          event.preventDefault();\n          if (!isRightClickOutsideRef.current) context.triggerRef.current?.focus();\n        }),\n        onPointerDownOutside: composeEventHandlers(\n          props.onPointerDownOutside,\n          (event) => {\n            const originalEvent = event.detail.originalEvent;\n            const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;\n            const isRightClick = originalEvent.button === 2 || ctrlLeftClick;\n            isRightClickOutsideRef.current = isRightClick;\n          },\n          { checkForDefaultPrevented: false }\n        ),\n        onFocusOutside: composeEventHandlers(\n          props.onFocusOutside,\n          (event) => event.preventDefault(),\n          { checkForDefaultPrevented: false }\n        )\n      }\n    ) });\n  }\n);\nvar PopoverContentNonModal = React.forwardRef(\n  (props, forwardedRef) => {\n    const context = usePopoverContext(CONTENT_NAME, props.__scopePopover);\n    const hasInteractedOutsideRef = React.useRef(false);\n    const hasPointerDownOutsideRef = React.useRef(false);\n    return /* @__PURE__ */ jsx(\n      PopoverContentImpl,\n      {\n        ...props,\n        ref: forwardedRef,\n        trapFocus: false,\n        disableOutsidePointerEvents: false,\n        onCloseAutoFocus: (event) => {\n          props.onCloseAutoFocus?.(event);\n          if (!event.defaultPrevented) {\n            if (!hasInteractedOutsideRef.current) context.triggerRef.current?.focus();\n            event.preventDefault();\n          }\n          hasInteractedOutsideRef.current = false;\n          hasPointerDownOutsideRef.current = false;\n        },\n        onInteractOutside: (event) => {\n          props.onInteractOutside?.(event);\n          if (!event.defaultPrevented) {\n            hasInteractedOutsideRef.current = true;\n            if (event.detail.originalEvent.type === \"pointerdown\") {\n              hasPointerDownOutsideRef.current = true;\n            }\n          }\n          const target = event.target;\n          const targetIsTrigger = context.triggerRef.current?.contains(target);\n          if (targetIsTrigger) event.preventDefault();\n          if (event.detail.originalEvent.type === \"focusin\" && hasPointerDownOutsideRef.current) {\n            event.preventDefault();\n          }\n        }\n      }\n    );\n  }\n);\nvar PopoverContentImpl = React.forwardRef(\n  (props, forwardedRef) => {\n    const {\n      __scopePopover,\n      trapFocus,\n      onOpenAutoFocus,\n      onCloseAutoFocus,\n      disableOutsidePointerEvents,\n      onEscapeKeyDown,\n      onPointerDownOutside,\n      onFocusOutside,\n      onInteractOutside,\n      ...contentProps\n    } = props;\n    const context = usePopoverContext(CONTENT_NAME, __scopePopover);\n    const popperScope = usePopperScope(__scopePopover);\n    useFocusGuards();\n    return /* @__PURE__ */ jsx(\n      FocusScope,\n      {\n        asChild: true,\n        loop: true,\n        trapped: trapFocus,\n        onMountAutoFocus: onOpenAutoFocus,\n        onUnmountAutoFocus: onCloseAutoFocus,\n        children: /* @__PURE__ */ jsx(\n          DismissableLayer,\n          {\n            asChild: true,\n            disableOutsidePointerEvents,\n            onInteractOutside,\n            onEscapeKeyDown,\n            onPointerDownOutside,\n            onFocusOutside,\n            onDismiss: () => context.onOpenChange(false),\n            children: /* @__PURE__ */ jsx(\n              PopperPrimitive.Content,\n              {\n                \"data-state\": getState(context.open),\n                role: \"dialog\",\n                id: context.contentId,\n                ...popperScope,\n                ...contentProps,\n                ref: forwardedRef,\n                style: {\n                  ...contentProps.style,\n                  // re-namespace exposed content custom properties\n                  ...{\n                    \"--radix-popover-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n                    \"--radix-popover-content-available-width\": \"var(--radix-popper-available-width)\",\n                    \"--radix-popover-content-available-height\": \"var(--radix-popper-available-height)\",\n                    \"--radix-popover-trigger-width\": \"var(--radix-popper-anchor-width)\",\n                    \"--radix-popover-trigger-height\": \"var(--radix-popper-anchor-height)\"\n                  }\n                }\n              }\n            )\n          }\n        )\n      }\n    );\n  }\n);\nvar CLOSE_NAME = \"PopoverClose\";\nvar PopoverClose = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopePopover, ...closeProps } = props;\n    const context = usePopoverContext(CLOSE_NAME, __scopePopover);\n    return /* @__PURE__ */ jsx(\n      Primitive.button,\n      {\n        type: \"button\",\n        ...closeProps,\n        ref: forwardedRef,\n        onClick: composeEventHandlers(props.onClick, () => context.onOpenChange(false))\n      }\n    );\n  }\n);\nPopoverClose.displayName = CLOSE_NAME;\nvar ARROW_NAME = \"PopoverArrow\";\nvar PopoverArrow = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopePopover, ...arrowProps } = props;\n    const popperScope = usePopperScope(__scopePopover);\n    return /* @__PURE__ */ jsx(PopperPrimitive.Arrow, { ...popperScope, ...arrowProps, ref: forwardedRef });\n  }\n);\nPopoverArrow.displayName = ARROW_NAME;\nfunction getState(open) {\n  return open ? \"open\" : \"closed\";\n}\nvar Root2 = Popover;\nvar Anchor2 = PopoverAnchor;\nvar Trigger = PopoverTrigger;\nvar Portal = PopoverPortal;\nvar Content2 = PopoverContent;\nvar Close = PopoverClose;\nvar Arrow2 = PopoverArrow;\nexport {\n  Anchor2 as Anchor,\n  Arrow2 as Arrow,\n  Close,\n  Content2 as Content,\n  Popover,\n  PopoverAnchor,\n  PopoverArrow,\n  PopoverClose,\n  PopoverContent,\n  PopoverPortal,\n  PopoverTrigger,\n  Portal,\n  Root2 as Root,\n  Trigger,\n  createPopoverScope\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nvar canUseDOM = !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\nfunction composeEventHandlers(originalEventHandler, ourEventHandler, { checkForDefaultPrevented = true } = {}) {\n  return function handleEvent(event) {\n    originalEventHandler?.(event);\n    if (checkForDefaultPrevented === false || !event.defaultPrevented) {\n      return ourEventHandler?.(event);\n    }\n  };\n}\nfunction getOwnerWindow(element) {\n  if (!canUseDOM) {\n    throw new Error(\"Cannot access window outside of the DOM\");\n  }\n  return element?.ownerDocument?.defaultView ?? window;\n}\nfunction getOwnerDocument(element) {\n  if (!canUseDOM) {\n    throw new Error(\"Cannot access document outside of the DOM\");\n  }\n  return element?.ownerDocument ?? document;\n}\nfunction getActiveElement(node, activeDescendant = false) {\n  const { activeElement } = getOwnerDocument(node);\n  if (!activeElement?.nodeName) {\n    return null;\n  }\n  if (isFrame(activeElement) && activeElement.contentDocument) {\n    return getActiveElement(activeElement.contentDocument.body, activeDescendant);\n  }\n  if (activeDescendant) {\n    const id = activeElement.getAttribute(\"aria-activedescendant\");\n    if (id) {\n      const element = getOwnerDocument(activeElement).getElementById(id);\n      if (element) {\n        return element;\n      }\n    }\n  }\n  return activeElement;\n}\nfunction isFrame(element) {\n  return element.tagName === \"IFRAME\";\n}\nexport {\n  canUseDOM,\n  composeEventHandlers,\n  getActiveElement,\n  getOwnerDocument,\n  getOwnerWindow,\n  isFrame\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/compose-refs/src/compose-refs.tsx\nimport * as React from \"react\";\nfunction setRef(ref, value) {\n  if (typeof ref === \"function\") {\n    return ref(value);\n  } else if (ref !== null && ref !== void 0) {\n    ref.current = value;\n  }\n}\nfunction composeRefs(...refs) {\n  return (node) => {\n    let hasCleanup = false;\n    const cleanups = refs.map((ref) => {\n      const cleanup = setRef(ref, node);\n      if (!hasCleanup && typeof cleanup == \"function\") {\n        hasCleanup = true;\n      }\n      return cleanup;\n    });\n    if (hasCleanup) {\n      return () => {\n        for (let i = 0; i < cleanups.length; i++) {\n          const cleanup = cleanups[i];\n          if (typeof cleanup == \"function\") {\n            cleanup();\n          } else {\n            setRef(refs[i], null);\n          }\n        }\n      };\n    }\n  };\n}\nfunction useComposedRefs(...refs) {\n  return React.useCallback(composeRefs(...refs), refs);\n}\nexport {\n  composeRefs,\n  useComposedRefs\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/context/src/create-context.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createContext2(rootComponentName, defaultContext) {\n  const Context = React.createContext(defaultContext);\n  const Provider = (props) => {\n    const { children, ...context } = props;\n    const value = React.useMemo(() => context, Object.values(context));\n    return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n  };\n  Provider.displayName = rootComponentName + \"Provider\";\n  function useContext2(consumerName) {\n    const context = React.useContext(Context);\n    if (context) return context;\n    if (defaultContext !== void 0) return defaultContext;\n    throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n  }\n  return [Provider, useContext2];\n}\nfunction createContextScope(scopeName, createContextScopeDeps = []) {\n  let defaultContexts = [];\n  function createContext3(rootComponentName, defaultContext) {\n    const BaseContext = React.createContext(defaultContext);\n    const index = defaultContexts.length;\n    defaultContexts = [...defaultContexts, defaultContext];\n    const Provider = (props) => {\n      const { scope, children, ...context } = props;\n      const Context = scope?.[scopeName]?.[index] || BaseContext;\n      const value = React.useMemo(() => context, Object.values(context));\n      return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n    };\n    Provider.displayName = rootComponentName + \"Provider\";\n    function useContext2(consumerName, scope) {\n      const Context = scope?.[scopeName]?.[index] || BaseContext;\n      const context = React.useContext(Context);\n      if (context) return context;\n      if (defaultContext !== void 0) return defaultContext;\n      throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n    }\n    return [Provider, useContext2];\n  }\n  const createScope = () => {\n    const scopeContexts = defaultContexts.map((defaultContext) => {\n      return React.createContext(defaultContext);\n    });\n    return function useScope(scope) {\n      const contexts = scope?.[scopeName] || scopeContexts;\n      return React.useMemo(\n        () => ({ [`__scope${scopeName}`]: { ...scope, [scopeName]: contexts } }),\n        [scope, contexts]\n      );\n    };\n  };\n  createScope.scopeName = scopeName;\n  return [createContext3, composeContextScopes(createScope, ...createContextScopeDeps)];\n}\nfunction composeContextScopes(...scopes) {\n  const baseScope = scopes[0];\n  if (scopes.length === 1) return baseScope;\n  const createScope = () => {\n    const scopeHooks = scopes.map((createScope2) => ({\n      useScope: createScope2(),\n      scopeName: createScope2.scopeName\n    }));\n    return function useComposedScopes(overrideScopes) {\n      const nextScopes = scopeHooks.reduce((nextScopes2, { useScope, scopeName }) => {\n        const scopeProps = useScope(overrideScopes);\n        const currentScope = scopeProps[`__scope${scopeName}`];\n        return { ...nextScopes2, ...currentScope };\n      }, {});\n      return React.useMemo(() => ({ [`__scope${baseScope.scopeName}`]: nextScopes }), [nextScopes]);\n    };\n  };\n  createScope.scopeName = baseScope.scopeName;\n  return createScope;\n}\nexport {\n  createContext2 as createContext,\n  createContextScope\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/presence.tsx\nimport * as React2 from \"react\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\n\n// src/use-state-machine.tsx\nimport * as React from \"react\";\nfunction useStateMachine(initialState, machine) {\n  return React.useReducer((state, event) => {\n    const nextState = machine[state][event];\n    return nextState ?? state;\n  }, initialState);\n}\n\n// src/presence.tsx\nvar Presence = (props) => {\n  const { present, children } = props;\n  const presence = usePresence(present);\n  const child = typeof children === \"function\" ? children({ present: presence.isPresent }) : React2.Children.only(children);\n  const ref = useComposedRefs(presence.ref, getElementRef(child));\n  const forceMount = typeof children === \"function\";\n  return forceMount || presence.isPresent ? React2.cloneElement(child, { ref }) : null;\n};\nPresence.displayName = \"Presence\";\nfunction usePresence(present) {\n  const [node, setNode] = React2.useState();\n  const stylesRef = React2.useRef(null);\n  const prevPresentRef = React2.useRef(present);\n  const prevAnimationNameRef = React2.useRef(\"none\");\n  const initialState = present ? \"mounted\" : \"unmounted\";\n  const [state, send] = useStateMachine(initialState, {\n    mounted: {\n      UNMOUNT: \"unmounted\",\n      ANIMATION_OUT: \"unmountSuspended\"\n    },\n    unmountSuspended: {\n      MOUNT: \"mounted\",\n      ANIMATION_END: \"unmounted\"\n    },\n    unmounted: {\n      MOUNT: \"mounted\"\n    }\n  });\n  React2.useEffect(() => {\n    const currentAnimationName = getAnimationName(stylesRef.current);\n    prevAnimationNameRef.current = state === \"mounted\" ? currentAnimationName : \"none\";\n  }, [state]);\n  useLayoutEffect(() => {\n    const styles = stylesRef.current;\n    const wasPresent = prevPresentRef.current;\n    const hasPresentChanged = wasPresent !== present;\n    if (hasPresentChanged) {\n      const prevAnimationName = prevAnimationNameRef.current;\n      const currentAnimationName = getAnimationName(styles);\n      if (present) {\n        send(\"MOUNT\");\n      } else if (currentAnimationName === \"none\" || styles?.display === \"none\") {\n        send(\"UNMOUNT\");\n      } else {\n        const isAnimating = prevAnimationName !== currentAnimationName;\n        if (wasPresent && isAnimating) {\n          send(\"ANIMATION_OUT\");\n        } else {\n          send(\"UNMOUNT\");\n        }\n      }\n      prevPresentRef.current = present;\n    }\n  }, [present, send]);\n  useLayoutEffect(() => {\n    if (node) {\n      let timeoutId;\n      const ownerWindow = node.ownerDocument.defaultView ?? window;\n      const handleAnimationEnd = (event) => {\n        const currentAnimationName = getAnimationName(stylesRef.current);\n        const isCurrentAnimation = currentAnimationName.includes(CSS.escape(event.animationName));\n        if (event.target === node && isCurrentAnimation) {\n          send(\"ANIMATION_END\");\n          if (!prevPresentRef.current) {\n            const currentFillMode = node.style.animationFillMode;\n            node.style.animationFillMode = \"forwards\";\n            timeoutId = ownerWindow.setTimeout(() => {\n              if (node.style.animationFillMode === \"forwards\") {\n                node.style.animationFillMode = currentFillMode;\n              }\n            });\n          }\n        }\n      };\n      const handleAnimationStart = (event) => {\n        if (event.target === node) {\n          prevAnimationNameRef.current = getAnimationName(stylesRef.current);\n        }\n      };\n      node.addEventListener(\"animationstart\", handleAnimationStart);\n      node.addEventListener(\"animationcancel\", handleAnimationEnd);\n      node.addEventListener(\"animationend\", handleAnimationEnd);\n      return () => {\n        ownerWindow.clearTimeout(timeoutId);\n        node.removeEventListener(\"animationstart\", handleAnimationStart);\n        node.removeEventListener(\"animationcancel\", handleAnimationEnd);\n        node.removeEventListener(\"animationend\", handleAnimationEnd);\n      };\n    } else {\n      send(\"ANIMATION_END\");\n    }\n  }, [node, send]);\n  return {\n    isPresent: [\"mounted\", \"unmountSuspended\"].includes(state),\n    ref: React2.useCallback((node2) => {\n      stylesRef.current = node2 ? getComputedStyle(node2) : null;\n      setNode(node2);\n    }, [])\n  };\n}\nfunction getAnimationName(styles) {\n  return styles?.animationName || \"none\";\n}\nfunction getElementRef(element) {\n  let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n  let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.ref;\n  }\n  getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n  mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.props.ref;\n  }\n  return element.props.ref || element.ref;\n}\nvar Root = Presence;\nexport {\n  Presence,\n  Root\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NODES = [\n  \"a\",\n  \"button\",\n  \"div\",\n  \"form\",\n  \"h2\",\n  \"h3\",\n  \"img\",\n  \"input\",\n  \"label\",\n  \"li\",\n  \"nav\",\n  \"ol\",\n  \"p\",\n  \"select\",\n  \"span\",\n  \"svg\",\n  \"ul\"\n];\nvar Primitive = NODES.reduce((primitive, node) => {\n  const Slot = createSlot(`Primitive.${node}`);\n  const Node = React.forwardRef((props, forwardedRef) => {\n    const { asChild, ...primitiveProps } = props;\n    const Comp = asChild ? Slot : node;\n    if (typeof window !== \"undefined\") {\n      window[Symbol.for(\"radix-ui\")] = true;\n    }\n    return /* @__PURE__ */ jsx(Comp, { ...primitiveProps, ref: forwardedRef });\n  });\n  Node.displayName = `Primitive.${node}`;\n  return { ...primitive, [node]: Node };\n}, {});\nfunction dispatchDiscreteCustomEvent(target, event) {\n  if (target) ReactDOM.flushSync(() => target.dispatchEvent(event));\n}\nvar Root = Primitive;\nexport {\n  Primitive,\n  Root,\n  dispatchDiscreteCustomEvent\n};\n//# sourceMappingURL=index.mjs.map\n","// src/slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment as Fragment2, jsx } from \"react/jsx-runtime\";\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n  const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);\n  const Slot2 = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    const childrenArray = React.Children.toArray(children);\n    const slottable = childrenArray.find(isSlottable);\n    if (slottable) {\n      const newElement = slottable.props.children;\n      const newChildren = childrenArray.map((child) => {\n        if (child === slottable) {\n          if (React.Children.count(newElement) > 1) return React.Children.only(null);\n          return React.isValidElement(newElement) ? newElement.props.children : null;\n        } else {\n          return child;\n        }\n      });\n      return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n    }\n    return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n  });\n  Slot2.displayName = `${ownerName}.Slot`;\n  return Slot2;\n}\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlotClone(ownerName) {\n  const SlotClone = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    if (React.isValidElement(children)) {\n      const childrenRef = getElementRef(children);\n      const props2 = mergeProps(slotProps, children.props);\n      if (children.type !== React.Fragment) {\n        props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n      }\n      return React.cloneElement(children, props2);\n    }\n    return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n  });\n  SlotClone.displayName = `${ownerName}.SlotClone`;\n  return SlotClone;\n}\nvar SLOTTABLE_IDENTIFIER = Symbol(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n  const Slottable2 = ({ children }) => {\n    return /* @__PURE__ */ jsx(Fragment2, { children });\n  };\n  Slottable2.displayName = `${ownerName}.Slottable`;\n  Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n  return Slottable2;\n}\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nfunction isSlottable(child) {\n  return React.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\nfunction mergeProps(slotProps, childProps) {\n  const overrideProps = { ...childProps };\n  for (const propName in childProps) {\n    const slotPropValue = slotProps[propName];\n    const childPropValue = childProps[propName];\n    const isHandler = /^on[A-Z]/.test(propName);\n    if (isHandler) {\n      if (slotPropValue && childPropValue) {\n        overrideProps[propName] = (...args) => {\n          const result = childPropValue(...args);\n          slotPropValue(...args);\n          return result;\n        };\n      } else if (slotPropValue) {\n        overrideProps[propName] = slotPropValue;\n      }\n    } else if (propName === \"style\") {\n      overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n    } else if (propName === \"className\") {\n      overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n    }\n  }\n  return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n  let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n  let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.ref;\n  }\n  getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n  mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.props.ref;\n  }\n  return element.props.ref || element.ref;\n}\nexport {\n  Slot as Root,\n  Slot,\n  Slottable,\n  createSlot,\n  createSlottable\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-layout-effect/src/use-layout-effect.tsx\nimport * as React from \"react\";\nvar useLayoutEffect2 = globalThis?.document ? React.useLayoutEffect : () => {\n};\nexport {\n  useLayoutEffect2 as useLayoutEffect\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/popper.tsx\nimport * as React from \"react\";\nimport {\n  useFloating,\n  autoUpdate,\n  offset,\n  shift,\n  limitShift,\n  hide,\n  arrow as floatingUIarrow,\n  flip,\n  size\n} from \"@floating-ui/react-dom\";\nimport * as ArrowPrimitive from \"@radix-ui/react-arrow\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nimport { useSize } from \"@radix-ui/react-use-size\";\nimport { jsx } from \"react/jsx-runtime\";\nvar SIDE_OPTIONS = [\"top\", \"right\", \"bottom\", \"left\"];\nvar ALIGN_OPTIONS = [\"start\", \"center\", \"end\"];\nvar POPPER_NAME = \"Popper\";\nvar [createPopperContext, createPopperScope] = createContextScope(POPPER_NAME);\nvar [PopperProvider, usePopperContext] = createPopperContext(POPPER_NAME);\nvar Popper = (props) => {\n  const { __scopePopper, children } = props;\n  const [anchor, setAnchor] = React.useState(null);\n  return /* @__PURE__ */ jsx(PopperProvider, { scope: __scopePopper, anchor, onAnchorChange: setAnchor, children });\n};\nPopper.displayName = POPPER_NAME;\nvar ANCHOR_NAME = \"PopperAnchor\";\nvar PopperAnchor = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopePopper, virtualRef, ...anchorProps } = props;\n    const context = usePopperContext(ANCHOR_NAME, __scopePopper);\n    const ref = React.useRef(null);\n    const composedRefs = useComposedRefs(forwardedRef, ref);\n    const anchorRef = React.useRef(null);\n    React.useEffect(() => {\n      const previousAnchor = anchorRef.current;\n      anchorRef.current = virtualRef?.current || ref.current;\n      if (previousAnchor !== anchorRef.current) {\n        context.onAnchorChange(anchorRef.current);\n      }\n    });\n    return virtualRef ? null : /* @__PURE__ */ jsx(Primitive.div, { ...anchorProps, ref: composedRefs });\n  }\n);\nPopperAnchor.displayName = ANCHOR_NAME;\nvar CONTENT_NAME = \"PopperContent\";\nvar [PopperContentProvider, useContentContext] = createPopperContext(CONTENT_NAME);\nvar PopperContent = React.forwardRef(\n  (props, forwardedRef) => {\n    const {\n      __scopePopper,\n      side = \"bottom\",\n      sideOffset = 0,\n      align = \"center\",\n      alignOffset = 0,\n      arrowPadding = 0,\n      avoidCollisions = true,\n      collisionBoundary = [],\n      collisionPadding: collisionPaddingProp = 0,\n      sticky = \"partial\",\n      hideWhenDetached = false,\n      updatePositionStrategy = \"optimized\",\n      onPlaced,\n      ...contentProps\n    } = props;\n    const context = usePopperContext(CONTENT_NAME, __scopePopper);\n    const [content, setContent] = React.useState(null);\n    const composedRefs = useComposedRefs(forwardedRef, (node) => setContent(node));\n    const [arrow, setArrow] = React.useState(null);\n    const arrowSize = useSize(arrow);\n    const arrowWidth = arrowSize?.width ?? 0;\n    const arrowHeight = arrowSize?.height ?? 0;\n    const desiredPlacement = side + (align !== \"center\" ? \"-\" + align : \"\");\n    const collisionPadding = typeof collisionPaddingProp === \"number\" ? collisionPaddingProp : { top: 0, right: 0, bottom: 0, left: 0, ...collisionPaddingProp };\n    const boundary = Array.isArray(collisionBoundary) ? collisionBoundary : [collisionBoundary];\n    const hasExplicitBoundaries = boundary.length > 0;\n    const detectOverflowOptions = {\n      padding: collisionPadding,\n      boundary: boundary.filter(isNotNull),\n      // with `strategy: 'fixed'`, this is the only way to get it to respect boundaries\n      altBoundary: hasExplicitBoundaries\n    };\n    const { refs, floatingStyles, placement, isPositioned, middlewareData } = useFloating({\n      // default to `fixed` strategy so users don't have to pick and we also avoid focus scroll issues\n      strategy: \"fixed\",\n      placement: desiredPlacement,\n      whileElementsMounted: (...args) => {\n        const cleanup = autoUpdate(...args, {\n          animationFrame: updatePositionStrategy === \"always\"\n        });\n        return cleanup;\n      },\n      elements: {\n        reference: context.anchor\n      },\n      middleware: [\n        offset({ mainAxis: sideOffset + arrowHeight, alignmentAxis: alignOffset }),\n        avoidCollisions && shift({\n          mainAxis: true,\n          crossAxis: false,\n          limiter: sticky === \"partial\" ? limitShift() : void 0,\n          ...detectOverflowOptions\n        }),\n        avoidCollisions && flip({ ...detectOverflowOptions }),\n        size({\n          ...detectOverflowOptions,\n          apply: ({ elements, rects, availableWidth, availableHeight }) => {\n            const { width: anchorWidth, height: anchorHeight } = rects.reference;\n            const contentStyle = elements.floating.style;\n            contentStyle.setProperty(\"--radix-popper-available-width\", `${availableWidth}px`);\n            contentStyle.setProperty(\"--radix-popper-available-height\", `${availableHeight}px`);\n            contentStyle.setProperty(\"--radix-popper-anchor-width\", `${anchorWidth}px`);\n            contentStyle.setProperty(\"--radix-popper-anchor-height\", `${anchorHeight}px`);\n          }\n        }),\n        arrow && floatingUIarrow({ element: arrow, padding: arrowPadding }),\n        transformOrigin({ arrowWidth, arrowHeight }),\n        hideWhenDetached && hide({ strategy: \"referenceHidden\", ...detectOverflowOptions })\n      ]\n    });\n    const [placedSide, placedAlign] = getSideAndAlignFromPlacement(placement);\n    const handlePlaced = useCallbackRef(onPlaced);\n    useLayoutEffect(() => {\n      if (isPositioned) {\n        handlePlaced?.();\n      }\n    }, [isPositioned, handlePlaced]);\n    const arrowX = middlewareData.arrow?.x;\n    const arrowY = middlewareData.arrow?.y;\n    const cannotCenterArrow = middlewareData.arrow?.centerOffset !== 0;\n    const [contentZIndex, setContentZIndex] = React.useState();\n    useLayoutEffect(() => {\n      if (content) setContentZIndex(window.getComputedStyle(content).zIndex);\n    }, [content]);\n    return /* @__PURE__ */ jsx(\n      \"div\",\n      {\n        ref: refs.setFloating,\n        \"data-radix-popper-content-wrapper\": \"\",\n        style: {\n          ...floatingStyles,\n          transform: isPositioned ? floatingStyles.transform : \"translate(0, -200%)\",\n          // keep off the page when measuring\n          minWidth: \"max-content\",\n          zIndex: contentZIndex,\n          [\"--radix-popper-transform-origin\"]: [\n            middlewareData.transformOrigin?.x,\n            middlewareData.transformOrigin?.y\n          ].join(\" \"),\n          // hide the content if using the hide middleware and should be hidden\n          // set visibility to hidden and disable pointer events so the UI behaves\n          // as if the PopperContent isn't there at all\n          ...middlewareData.hide?.referenceHidden && {\n            visibility: \"hidden\",\n            pointerEvents: \"none\"\n          }\n        },\n        dir: props.dir,\n        children: /* @__PURE__ */ jsx(\n          PopperContentProvider,\n          {\n            scope: __scopePopper,\n            placedSide,\n            onArrowChange: setArrow,\n            arrowX,\n            arrowY,\n            shouldHideArrow: cannotCenterArrow,\n            children: /* @__PURE__ */ jsx(\n              Primitive.div,\n              {\n                \"data-side\": placedSide,\n                \"data-align\": placedAlign,\n                ...contentProps,\n                ref: composedRefs,\n                style: {\n                  ...contentProps.style,\n                  // if the PopperContent hasn't been placed yet (not all measurements done)\n                  // we prevent animations so that users's animation don't kick in too early referring wrong sides\n                  animation: !isPositioned ? \"none\" : void 0\n                }\n              }\n            )\n          }\n        )\n      }\n    );\n  }\n);\nPopperContent.displayName = CONTENT_NAME;\nvar ARROW_NAME = \"PopperArrow\";\nvar OPPOSITE_SIDE = {\n  top: \"bottom\",\n  right: \"left\",\n  bottom: \"top\",\n  left: \"right\"\n};\nvar PopperArrow = React.forwardRef(function PopperArrow2(props, forwardedRef) {\n  const { __scopePopper, ...arrowProps } = props;\n  const contentContext = useContentContext(ARROW_NAME, __scopePopper);\n  const baseSide = OPPOSITE_SIDE[contentContext.placedSide];\n  return (\n    // we have to use an extra wrapper because `ResizeObserver` (used by `useSize`)\n    // doesn't report size as we'd expect on SVG elements.\n    // it reports their bounding box which is effectively the largest path inside the SVG.\n    /* @__PURE__ */ jsx(\n      \"span\",\n      {\n        ref: contentContext.onArrowChange,\n        style: {\n          position: \"absolute\",\n          left: contentContext.arrowX,\n          top: contentContext.arrowY,\n          [baseSide]: 0,\n          transformOrigin: {\n            top: \"\",\n            right: \"0 0\",\n            bottom: \"center 0\",\n            left: \"100% 0\"\n          }[contentContext.placedSide],\n          transform: {\n            top: \"translateY(100%)\",\n            right: \"translateY(50%) rotate(90deg) translateX(-50%)\",\n            bottom: `rotate(180deg)`,\n            left: \"translateY(50%) rotate(-90deg) translateX(50%)\"\n          }[contentContext.placedSide],\n          visibility: contentContext.shouldHideArrow ? \"hidden\" : void 0\n        },\n        children: /* @__PURE__ */ jsx(\n          ArrowPrimitive.Root,\n          {\n            ...arrowProps,\n            ref: forwardedRef,\n            style: {\n              ...arrowProps.style,\n              // ensures the element can be measured correctly (mostly for if SVG)\n              display: \"block\"\n            }\n          }\n        )\n      }\n    )\n  );\n});\nPopperArrow.displayName = ARROW_NAME;\nfunction isNotNull(value) {\n  return value !== null;\n}\nvar transformOrigin = (options) => ({\n  name: \"transformOrigin\",\n  options,\n  fn(data) {\n    const { placement, rects, middlewareData } = data;\n    const cannotCenterArrow = middlewareData.arrow?.centerOffset !== 0;\n    const isArrowHidden = cannotCenterArrow;\n    const arrowWidth = isArrowHidden ? 0 : options.arrowWidth;\n    const arrowHeight = isArrowHidden ? 0 : options.arrowHeight;\n    const [placedSide, placedAlign] = getSideAndAlignFromPlacement(placement);\n    const noArrowAlign = { start: \"0%\", center: \"50%\", end: \"100%\" }[placedAlign];\n    const arrowXCenter = (middlewareData.arrow?.x ?? 0) + arrowWidth / 2;\n    const arrowYCenter = (middlewareData.arrow?.y ?? 0) + arrowHeight / 2;\n    let x = \"\";\n    let y = \"\";\n    if (placedSide === \"bottom\") {\n      x = isArrowHidden ? noArrowAlign : `${arrowXCenter}px`;\n      y = `${-arrowHeight}px`;\n    } else if (placedSide === \"top\") {\n      x = isArrowHidden ? noArrowAlign : `${arrowXCenter}px`;\n      y = `${rects.floating.height + arrowHeight}px`;\n    } else if (placedSide === \"right\") {\n      x = `${-arrowHeight}px`;\n      y = isArrowHidden ? noArrowAlign : `${arrowYCenter}px`;\n    } else if (placedSide === \"left\") {\n      x = `${rects.floating.width + arrowHeight}px`;\n      y = isArrowHidden ? noArrowAlign : `${arrowYCenter}px`;\n    }\n    return { data: { x, y } };\n  }\n});\nfunction getSideAndAlignFromPlacement(placement) {\n  const [side, align = \"center\"] = placement.split(\"-\");\n  return [side, align];\n}\nvar Root2 = Popper;\nvar Anchor = PopperAnchor;\nvar Content = PopperContent;\nvar Arrow = PopperArrow;\nexport {\n  ALIGN_OPTIONS,\n  Anchor,\n  Arrow,\n  Content,\n  Popper,\n  PopperAnchor,\n  PopperArrow,\n  PopperContent,\n  Root2 as Root,\n  SIDE_OPTIONS,\n  createPopperScope\n};\n//# sourceMappingURL=index.mjs.map\n","import { computePosition, arrow as arrow$2, autoPlacement as autoPlacement$1, flip as flip$1, hide as hide$1, inline as inline$1, limitShift as limitShift$1, offset as offset$1, shift as shift$1, size as size$1 } from '@floating-ui/dom';\nexport { autoUpdate, computePosition, detectOverflow, getOverflowAncestors, platform } from '@floating-ui/dom';\nimport * as React from 'react';\nimport { useLayoutEffect } from 'react';\nimport * as ReactDOM from 'react-dom';\n\nvar isClient = typeof document !== 'undefined';\n\nvar noop = function noop() {};\nvar index = isClient ? useLayoutEffect : noop;\n\n// Fork of `fast-deep-equal` that only does the comparisons we need and compares\n// functions\nfunction deepEqual(a, b) {\n  if (a === b) {\n    return true;\n  }\n  if (typeof a !== typeof b) {\n    return false;\n  }\n  if (typeof a === 'function' && a.toString() === b.toString()) {\n    return true;\n  }\n  let length;\n  let i;\n  let keys;\n  if (a && b && typeof a === 'object') {\n    if (Array.isArray(a)) {\n      length = a.length;\n      if (length !== b.length) return false;\n      for (i = length; i-- !== 0;) {\n        if (!deepEqual(a[i], b[i])) {\n          return false;\n        }\n      }\n      return true;\n    }\n    keys = Object.keys(a);\n    length = keys.length;\n    if (length !== Object.keys(b).length) {\n      return false;\n    }\n    for (i = length; i-- !== 0;) {\n      if (!{}.hasOwnProperty.call(b, keys[i])) {\n        return false;\n      }\n    }\n    for (i = length; i-- !== 0;) {\n      const key = keys[i];\n      if (key === '_owner' && a.$$typeof) {\n        continue;\n      }\n      if (!deepEqual(a[key], b[key])) {\n        return false;\n      }\n    }\n    return true;\n  }\n  return a !== a && b !== b;\n}\n\nfunction getDPR(element) {\n  if (typeof window === 'undefined') {\n    return 1;\n  }\n  const win = element.ownerDocument.defaultView || window;\n  return win.devicePixelRatio || 1;\n}\n\nfunction roundByDPR(element, value) {\n  const dpr = getDPR(element);\n  return Math.round(value * dpr) / dpr;\n}\n\nfunction useLatestRef(value) {\n  const ref = React.useRef(value);\n  index(() => {\n    ref.current = value;\n  });\n  return ref;\n}\n\n/**\n * Provides data to position a floating element.\n * @see https://floating-ui.com/docs/useFloating\n */\nfunction useFloating(options) {\n  if (options === void 0) {\n    options = {};\n  }\n  const {\n    placement = 'bottom',\n    strategy = 'absolute',\n    middleware = [],\n    platform,\n    elements: {\n      reference: externalReference,\n      floating: externalFloating\n    } = {},\n    transform = true,\n    whileElementsMounted,\n    open\n  } = options;\n  const [data, setData] = React.useState({\n    x: 0,\n    y: 0,\n    strategy,\n    placement,\n    middlewareData: {},\n    isPositioned: false\n  });\n  const [latestMiddleware, setLatestMiddleware] = React.useState(middleware);\n  if (!deepEqual(latestMiddleware, middleware)) {\n    setLatestMiddleware(middleware);\n  }\n  const [_reference, _setReference] = React.useState(null);\n  const [_floating, _setFloating] = React.useState(null);\n  const setReference = React.useCallback(node => {\n    if (node !== referenceRef.current) {\n      referenceRef.current = node;\n      _setReference(node);\n    }\n  }, []);\n  const setFloating = React.useCallback(node => {\n    if (node !== floatingRef.current) {\n      floatingRef.current = node;\n      _setFloating(node);\n    }\n  }, []);\n  const referenceEl = externalReference || _reference;\n  const floatingEl = externalFloating || _floating;\n  const referenceRef = React.useRef(null);\n  const floatingRef = React.useRef(null);\n  const dataRef = React.useRef(data);\n  const hasWhileElementsMounted = whileElementsMounted != null;\n  const whileElementsMountedRef = useLatestRef(whileElementsMounted);\n  const platformRef = useLatestRef(platform);\n  const openRef = useLatestRef(open);\n  const update = React.useCallback(() => {\n    if (!referenceRef.current || !floatingRef.current) {\n      return;\n    }\n    const config = {\n      placement,\n      strategy,\n      middleware: latestMiddleware\n    };\n    if (platformRef.current) {\n      config.platform = platformRef.current;\n    }\n    computePosition(referenceRef.current, floatingRef.current, config).then(data => {\n      const fullData = {\n        ...data,\n        // The floating element's position may be recomputed while it's closed\n        // but still mounted (such as when transitioning out). To ensure\n        // `isPositioned` will be `false` initially on the next open, avoid\n        // setting it to `true` when `open === false` (must be specified).\n        isPositioned: openRef.current !== false\n      };\n      if (isMountedRef.current && !deepEqual(dataRef.current, fullData)) {\n        dataRef.current = fullData;\n        ReactDOM.flushSync(() => {\n          setData(fullData);\n        });\n      }\n    });\n  }, [latestMiddleware, placement, strategy, platformRef, openRef]);\n  index(() => {\n    if (open === false && dataRef.current.isPositioned) {\n      dataRef.current.isPositioned = false;\n      setData(data => ({\n        ...data,\n        isPositioned: false\n      }));\n    }\n  }, [open]);\n  const isMountedRef = React.useRef(false);\n  index(() => {\n    isMountedRef.current = true;\n    return () => {\n      isMountedRef.current = false;\n    };\n  }, []);\n  index(() => {\n    if (referenceEl) referenceRef.current = referenceEl;\n    if (floatingEl) floatingRef.current = floatingEl;\n    if (referenceEl && floatingEl) {\n      if (whileElementsMountedRef.current) {\n        return whileElementsMountedRef.current(referenceEl, floatingEl, update);\n      }\n      update();\n    }\n  }, [referenceEl, floatingEl, update, whileElementsMountedRef, hasWhileElementsMounted]);\n  const refs = React.useMemo(() => ({\n    reference: referenceRef,\n    floating: floatingRef,\n    setReference,\n    setFloating\n  }), [setReference, setFloating]);\n  const elements = React.useMemo(() => ({\n    reference: referenceEl,\n    floating: floatingEl\n  }), [referenceEl, floatingEl]);\n  const floatingStyles = React.useMemo(() => {\n    const initialStyles = {\n      position: strategy,\n      left: 0,\n      top: 0\n    };\n    if (!elements.floating) {\n      return initialStyles;\n    }\n    const x = roundByDPR(elements.floating, data.x);\n    const y = roundByDPR(elements.floating, data.y);\n    if (transform) {\n      return {\n        ...initialStyles,\n        transform: \"translate(\" + x + \"px, \" + y + \"px)\",\n        ...(getDPR(elements.floating) >= 1.5 && {\n          willChange: 'transform'\n        })\n      };\n    }\n    return {\n      position: strategy,\n      left: x,\n      top: y\n    };\n  }, [strategy, transform, elements.floating, data.x, data.y]);\n  return React.useMemo(() => ({\n    ...data,\n    update,\n    refs,\n    elements,\n    floatingStyles\n  }), [data, update, refs, elements, floatingStyles]);\n}\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * This wraps the core `arrow` middleware to allow React refs as the element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow$1 = options => {\n  function isRef(value) {\n    return {}.hasOwnProperty.call(value, 'current');\n  }\n  return {\n    name: 'arrow',\n    options,\n    fn(state) {\n      const {\n        element,\n        padding\n      } = typeof options === 'function' ? options(state) : options;\n      if (element && isRef(element)) {\n        if (element.current != null) {\n          return arrow$2({\n            element: element.current,\n            padding\n          }).fn(state);\n        }\n        return {};\n      }\n      if (element) {\n        return arrow$2({\n          element,\n          padding\n        }).fn(state);\n      }\n      return {};\n    }\n  };\n};\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = (options, deps) => ({\n  ...offset$1(options),\n  options: [options, deps]\n});\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = (options, deps) => ({\n  ...shift$1(options),\n  options: [options, deps]\n});\n\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = (options, deps) => ({\n  ...limitShift$1(options),\n  options: [options, deps]\n});\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = (options, deps) => ({\n  ...flip$1(options),\n  options: [options, deps]\n});\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = (options, deps) => ({\n  ...size$1(options),\n  options: [options, deps]\n});\n\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = (options, deps) => ({\n  ...autoPlacement$1(options),\n  options: [options, deps]\n});\n\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = (options, deps) => ({\n  ...hide$1(options),\n  options: [options, deps]\n});\n\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = (options, deps) => ({\n  ...inline$1(options),\n  options: [options, deps]\n});\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * This wraps the core `arrow` middleware to allow React refs as the element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = (options, deps) => ({\n  ...arrow$1(options),\n  options: [options, deps]\n});\n\nexport { arrow, autoPlacement, flip, hide, inline, limitShift, offset, shift, size, useFloating };\n","// packages/react/compose-refs/src/compose-refs.tsx\nimport * as React from \"react\";\nfunction setRef(ref, value) {\n  if (typeof ref === \"function\") {\n    return ref(value);\n  } else if (ref !== null && ref !== void 0) {\n    ref.current = value;\n  }\n}\nfunction composeRefs(...refs) {\n  return (node) => {\n    let hasCleanup = false;\n    const cleanups = refs.map((ref) => {\n      const cleanup = setRef(ref, node);\n      if (!hasCleanup && typeof cleanup == \"function\") {\n        hasCleanup = true;\n      }\n      return cleanup;\n    });\n    if (hasCleanup) {\n      return () => {\n        for (let i = 0; i < cleanups.length; i++) {\n          const cleanup = cleanups[i];\n          if (typeof cleanup == \"function\") {\n            cleanup();\n          } else {\n            setRef(refs[i], null);\n          }\n        }\n      };\n    }\n  };\n}\nfunction useComposedRefs(...refs) {\n  return React.useCallback(composeRefs(...refs), refs);\n}\nexport {\n  composeRefs,\n  useComposedRefs\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/context/src/create-context.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createContext2(rootComponentName, defaultContext) {\n  const Context = React.createContext(defaultContext);\n  const Provider = (props) => {\n    const { children, ...context } = props;\n    const value = React.useMemo(() => context, Object.values(context));\n    return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n  };\n  Provider.displayName = rootComponentName + \"Provider\";\n  function useContext2(consumerName) {\n    const context = React.useContext(Context);\n    if (context) return context;\n    if (defaultContext !== void 0) return defaultContext;\n    throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n  }\n  return [Provider, useContext2];\n}\nfunction createContextScope(scopeName, createContextScopeDeps = []) {\n  let defaultContexts = [];\n  function createContext3(rootComponentName, defaultContext) {\n    const BaseContext = React.createContext(defaultContext);\n    const index = defaultContexts.length;\n    defaultContexts = [...defaultContexts, defaultContext];\n    const Provider = (props) => {\n      const { scope, children, ...context } = props;\n      const Context = scope?.[scopeName]?.[index] || BaseContext;\n      const value = React.useMemo(() => context, Object.values(context));\n      return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n    };\n    Provider.displayName = rootComponentName + \"Provider\";\n    function useContext2(consumerName, scope) {\n      const Context = scope?.[scopeName]?.[index] || BaseContext;\n      const context = React.useContext(Context);\n      if (context) return context;\n      if (defaultContext !== void 0) return defaultContext;\n      throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n    }\n    return [Provider, useContext2];\n  }\n  const createScope = () => {\n    const scopeContexts = defaultContexts.map((defaultContext) => {\n      return React.createContext(defaultContext);\n    });\n    return function useScope(scope) {\n      const contexts = scope?.[scopeName] || scopeContexts;\n      return React.useMemo(\n        () => ({ [`__scope${scopeName}`]: { ...scope, [scopeName]: contexts } }),\n        [scope, contexts]\n      );\n    };\n  };\n  createScope.scopeName = scopeName;\n  return [createContext3, composeContextScopes(createScope, ...createContextScopeDeps)];\n}\nfunction composeContextScopes(...scopes) {\n  const baseScope = scopes[0];\n  if (scopes.length === 1) return baseScope;\n  const createScope = () => {\n    const scopeHooks = scopes.map((createScope2) => ({\n      useScope: createScope2(),\n      scopeName: createScope2.scopeName\n    }));\n    return function useComposedScopes(overrideScopes) {\n      const nextScopes = scopeHooks.reduce((nextScopes2, { useScope, scopeName }) => {\n        const scopeProps = useScope(overrideScopes);\n        const currentScope = scopeProps[`__scope${scopeName}`];\n        return { ...nextScopes2, ...currentScope };\n      }, {});\n      return React.useMemo(() => ({ [`__scope${baseScope.scopeName}`]: nextScopes }), [nextScopes]);\n    };\n  };\n  createScope.scopeName = baseScope.scopeName;\n  return createScope;\n}\nexport {\n  createContext2 as createContext,\n  createContextScope\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NODES = [\n  \"a\",\n  \"button\",\n  \"div\",\n  \"form\",\n  \"h2\",\n  \"h3\",\n  \"img\",\n  \"input\",\n  \"label\",\n  \"li\",\n  \"nav\",\n  \"ol\",\n  \"p\",\n  \"select\",\n  \"span\",\n  \"svg\",\n  \"ul\"\n];\nvar Primitive = NODES.reduce((primitive, node) => {\n  const Slot = createSlot(`Primitive.${node}`);\n  const Node = React.forwardRef((props, forwardedRef) => {\n    const { asChild, ...primitiveProps } = props;\n    const Comp = asChild ? Slot : node;\n    if (typeof window !== \"undefined\") {\n      window[Symbol.for(\"radix-ui\")] = true;\n    }\n    return /* @__PURE__ */ jsx(Comp, { ...primitiveProps, ref: forwardedRef });\n  });\n  Node.displayName = `Primitive.${node}`;\n  return { ...primitive, [node]: Node };\n}, {});\nfunction dispatchDiscreteCustomEvent(target, event) {\n  if (target) ReactDOM.flushSync(() => target.dispatchEvent(event));\n}\nvar Root = Primitive;\nexport {\n  Primitive,\n  Root,\n  dispatchDiscreteCustomEvent\n};\n//# sourceMappingURL=index.mjs.map\n","// src/slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment as Fragment2, jsx } from \"react/jsx-runtime\";\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n  const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);\n  const Slot2 = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    const childrenArray = React.Children.toArray(children);\n    const slottable = childrenArray.find(isSlottable);\n    if (slottable) {\n      const newElement = slottable.props.children;\n      const newChildren = childrenArray.map((child) => {\n        if (child === slottable) {\n          if (React.Children.count(newElement) > 1) return React.Children.only(null);\n          return React.isValidElement(newElement) ? newElement.props.children : null;\n        } else {\n          return child;\n        }\n      });\n      return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n    }\n    return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n  });\n  Slot2.displayName = `${ownerName}.Slot`;\n  return Slot2;\n}\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlotClone(ownerName) {\n  const SlotClone = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    if (React.isValidElement(children)) {\n      const childrenRef = getElementRef(children);\n      const props2 = mergeProps(slotProps, children.props);\n      if (children.type !== React.Fragment) {\n        props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n      }\n      return React.cloneElement(children, props2);\n    }\n    return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n  });\n  SlotClone.displayName = `${ownerName}.SlotClone`;\n  return SlotClone;\n}\nvar SLOTTABLE_IDENTIFIER = Symbol(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n  const Slottable2 = ({ children }) => {\n    return /* @__PURE__ */ jsx(Fragment2, { children });\n  };\n  Slottable2.displayName = `${ownerName}.Slottable`;\n  Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n  return Slottable2;\n}\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nfunction isSlottable(child) {\n  return React.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\nfunction mergeProps(slotProps, childProps) {\n  const overrideProps = { ...childProps };\n  for (const propName in childProps) {\n    const slotPropValue = slotProps[propName];\n    const childPropValue = childProps[propName];\n    const isHandler = /^on[A-Z]/.test(propName);\n    if (isHandler) {\n      if (slotPropValue && childPropValue) {\n        overrideProps[propName] = (...args) => {\n          const result = childPropValue(...args);\n          slotPropValue(...args);\n          return result;\n        };\n      } else if (slotPropValue) {\n        overrideProps[propName] = slotPropValue;\n      }\n    } else if (propName === \"style\") {\n      overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n    } else if (propName === \"className\") {\n      overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n    }\n  }\n  return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n  let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n  let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.ref;\n  }\n  getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n  mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.props.ref;\n  }\n  return element.props.ref || element.ref;\n}\nexport {\n  Slot as Root,\n  Slot,\n  Slottable,\n  createSlot,\n  createSlottable\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-callback-ref/src/use-callback-ref.tsx\nimport * as React from \"react\";\nfunction useCallbackRef(callback) {\n  const callbackRef = React.useRef(callback);\n  React.useEffect(() => {\n    callbackRef.current = callback;\n  });\n  return React.useMemo(() => (...args) => callbackRef.current?.(...args), []);\n}\nexport {\n  useCallbackRef\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-layout-effect/src/use-layout-effect.tsx\nimport * as React from \"react\";\nvar useLayoutEffect2 = globalThis?.document ? React.useLayoutEffect : () => {\n};\nexport {\n  useLayoutEffect2 as useLayoutEffect\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/portal.tsx\nimport * as React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nimport { jsx } from \"react/jsx-runtime\";\nvar PORTAL_NAME = \"Portal\";\nvar Portal = React.forwardRef((props, forwardedRef) => {\n  const { container: containerProp, ...portalProps } = props;\n  const [mounted, setMounted] = React.useState(false);\n  useLayoutEffect(() => setMounted(true), []);\n  const container = containerProp || mounted && globalThis?.document?.body;\n  return container ? ReactDOM.createPortal(/* @__PURE__ */ jsx(Primitive.div, { ...portalProps, ref: forwardedRef }), container) : null;\n});\nPortal.displayName = PORTAL_NAME;\nvar Root = Portal;\nexport {\n  Portal,\n  Root\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/compose-refs/src/compose-refs.tsx\nimport * as React from \"react\";\nfunction setRef(ref, value) {\n  if (typeof ref === \"function\") {\n    return ref(value);\n  } else if (ref !== null && ref !== void 0) {\n    ref.current = value;\n  }\n}\nfunction composeRefs(...refs) {\n  return (node) => {\n    let hasCleanup = false;\n    const cleanups = refs.map((ref) => {\n      const cleanup = setRef(ref, node);\n      if (!hasCleanup && typeof cleanup == \"function\") {\n        hasCleanup = true;\n      }\n      return cleanup;\n    });\n    if (hasCleanup) {\n      return () => {\n        for (let i = 0; i < cleanups.length; i++) {\n          const cleanup = cleanups[i];\n          if (typeof cleanup == \"function\") {\n            cleanup();\n          } else {\n            setRef(refs[i], null);\n          }\n        }\n      };\n    }\n  };\n}\nfunction useComposedRefs(...refs) {\n  return React.useCallback(composeRefs(...refs), refs);\n}\nexport {\n  composeRefs,\n  useComposedRefs\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NODES = [\n  \"a\",\n  \"button\",\n  \"div\",\n  \"form\",\n  \"h2\",\n  \"h3\",\n  \"img\",\n  \"input\",\n  \"label\",\n  \"li\",\n  \"nav\",\n  \"ol\",\n  \"p\",\n  \"select\",\n  \"span\",\n  \"svg\",\n  \"ul\"\n];\nvar Primitive = NODES.reduce((primitive, node) => {\n  const Slot = createSlot(`Primitive.${node}`);\n  const Node = React.forwardRef((props, forwardedRef) => {\n    const { asChild, ...primitiveProps } = props;\n    const Comp = asChild ? Slot : node;\n    if (typeof window !== \"undefined\") {\n      window[Symbol.for(\"radix-ui\")] = true;\n    }\n    return /* @__PURE__ */ jsx(Comp, { ...primitiveProps, ref: forwardedRef });\n  });\n  Node.displayName = `Primitive.${node}`;\n  return { ...primitive, [node]: Node };\n}, {});\nfunction dispatchDiscreteCustomEvent(target, event) {\n  if (target) ReactDOM.flushSync(() => target.dispatchEvent(event));\n}\nvar Root = Primitive;\nexport {\n  Primitive,\n  Root,\n  dispatchDiscreteCustomEvent\n};\n//# sourceMappingURL=index.mjs.map\n","// src/slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment as Fragment2, jsx } from \"react/jsx-runtime\";\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n  const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);\n  const Slot2 = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    const childrenArray = React.Children.toArray(children);\n    const slottable = childrenArray.find(isSlottable);\n    if (slottable) {\n      const newElement = slottable.props.children;\n      const newChildren = childrenArray.map((child) => {\n        if (child === slottable) {\n          if (React.Children.count(newElement) > 1) return React.Children.only(null);\n          return React.isValidElement(newElement) ? newElement.props.children : null;\n        } else {\n          return child;\n        }\n      });\n      return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n    }\n    return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n  });\n  Slot2.displayName = `${ownerName}.Slot`;\n  return Slot2;\n}\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlotClone(ownerName) {\n  const SlotClone = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    if (React.isValidElement(children)) {\n      const childrenRef = getElementRef(children);\n      const props2 = mergeProps(slotProps, children.props);\n      if (children.type !== React.Fragment) {\n        props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n      }\n      return React.cloneElement(children, props2);\n    }\n    return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n  });\n  SlotClone.displayName = `${ownerName}.SlotClone`;\n  return SlotClone;\n}\nvar SLOTTABLE_IDENTIFIER = Symbol(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n  const Slottable2 = ({ children }) => {\n    return /* @__PURE__ */ jsx(Fragment2, { children });\n  };\n  Slottable2.displayName = `${ownerName}.Slottable`;\n  Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n  return Slottable2;\n}\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nfunction isSlottable(child) {\n  return React.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\nfunction mergeProps(slotProps, childProps) {\n  const overrideProps = { ...childProps };\n  for (const propName in childProps) {\n    const slotPropValue = slotProps[propName];\n    const childPropValue = childProps[propName];\n    const isHandler = /^on[A-Z]/.test(propName);\n    if (isHandler) {\n      if (slotPropValue && childPropValue) {\n        overrideProps[propName] = (...args) => {\n          const result = childPropValue(...args);\n          slotPropValue(...args);\n          return result;\n        };\n      } else if (slotPropValue) {\n        overrideProps[propName] = slotPropValue;\n      }\n    } else if (propName === \"style\") {\n      overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n    } else if (propName === \"className\") {\n      overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n    }\n  }\n  return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n  let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n  let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.ref;\n  }\n  getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n  mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.props.ref;\n  }\n  return element.props.ref || element.ref;\n}\nexport {\n  Slot as Root,\n  Slot,\n  Slottable,\n  createSlot,\n  createSlottable\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-layout-effect/src/use-layout-effect.tsx\nimport * as React from \"react\";\nvar useLayoutEffect2 = globalThis?.document ? React.useLayoutEffect : () => {\n};\nexport {\n  useLayoutEffect2 as useLayoutEffect\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/radio-group.tsx\nimport * as React2 from \"react\";\nimport { composeEventHandlers as composeEventHandlers2 } from \"@radix-ui/primitive\";\nimport { useComposedRefs as useComposedRefs2 } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope as createContextScope2 } from \"@radix-ui/react-context\";\nimport { Primitive as Primitive2 } from \"@radix-ui/react-primitive\";\nimport * as RovingFocusGroup from \"@radix-ui/react-roving-focus\";\nimport { createRovingFocusGroupScope } from \"@radix-ui/react-roving-focus\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { useDirection } from \"@radix-ui/react-direction\";\n\n// src/radio.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useSize } from \"@radix-ui/react-use-size\";\nimport { usePrevious } from \"@radix-ui/react-use-previous\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { jsx, jsxs } from \"react/jsx-runtime\";\nvar RADIO_NAME = \"Radio\";\nvar [createRadioContext, createRadioScope] = createContextScope(RADIO_NAME);\nvar [RadioProvider, useRadioContext] = createRadioContext(RADIO_NAME);\nvar Radio = React.forwardRef(\n  (props, forwardedRef) => {\n    const {\n      __scopeRadio,\n      name,\n      checked = false,\n      required,\n      disabled,\n      value = \"on\",\n      onCheck,\n      form,\n      ...radioProps\n    } = props;\n    const [button, setButton] = React.useState(null);\n    const composedRefs = useComposedRefs(forwardedRef, (node) => setButton(node));\n    const hasConsumerStoppedPropagationRef = React.useRef(false);\n    const isFormControl = button ? form || !!button.closest(\"form\") : true;\n    return /* @__PURE__ */ jsxs(RadioProvider, { scope: __scopeRadio, checked, disabled, children: [\n      /* @__PURE__ */ jsx(\n        Primitive.button,\n        {\n          type: \"button\",\n          role: \"radio\",\n          \"aria-checked\": checked,\n          \"data-state\": getState(checked),\n          \"data-disabled\": disabled ? \"\" : void 0,\n          disabled,\n          value,\n          ...radioProps,\n          ref: composedRefs,\n          onClick: composeEventHandlers(props.onClick, (event) => {\n            if (!checked) onCheck?.();\n            if (isFormControl) {\n              hasConsumerStoppedPropagationRef.current = event.isPropagationStopped();\n              if (!hasConsumerStoppedPropagationRef.current) event.stopPropagation();\n            }\n          })\n        }\n      ),\n      isFormControl && /* @__PURE__ */ jsx(\n        RadioBubbleInput,\n        {\n          control: button,\n          bubbles: !hasConsumerStoppedPropagationRef.current,\n          name,\n          value,\n          checked,\n          required,\n          disabled,\n          form,\n          style: { transform: \"translateX(-100%)\" }\n        }\n      )\n    ] });\n  }\n);\nRadio.displayName = RADIO_NAME;\nvar INDICATOR_NAME = \"RadioIndicator\";\nvar RadioIndicator = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeRadio, forceMount, ...indicatorProps } = props;\n    const context = useRadioContext(INDICATOR_NAME, __scopeRadio);\n    return /* @__PURE__ */ jsx(Presence, { present: forceMount || context.checked, children: /* @__PURE__ */ jsx(\n      Primitive.span,\n      {\n        \"data-state\": getState(context.checked),\n        \"data-disabled\": context.disabled ? \"\" : void 0,\n        ...indicatorProps,\n        ref: forwardedRef\n      }\n    ) });\n  }\n);\nRadioIndicator.displayName = INDICATOR_NAME;\nvar BUBBLE_INPUT_NAME = \"RadioBubbleInput\";\nvar RadioBubbleInput = React.forwardRef(\n  ({\n    __scopeRadio,\n    control,\n    checked,\n    bubbles = true,\n    ...props\n  }, forwardedRef) => {\n    const ref = React.useRef(null);\n    const composedRefs = useComposedRefs(ref, forwardedRef);\n    const prevChecked = usePrevious(checked);\n    const controlSize = useSize(control);\n    React.useEffect(() => {\n      const input = ref.current;\n      if (!input) return;\n      const inputProto = window.HTMLInputElement.prototype;\n      const descriptor = Object.getOwnPropertyDescriptor(\n        inputProto,\n        \"checked\"\n      );\n      const setChecked = descriptor.set;\n      if (prevChecked !== checked && setChecked) {\n        const event = new Event(\"click\", { bubbles });\n        setChecked.call(input, checked);\n        input.dispatchEvent(event);\n      }\n    }, [prevChecked, checked, bubbles]);\n    return /* @__PURE__ */ jsx(\n      Primitive.input,\n      {\n        type: \"radio\",\n        \"aria-hidden\": true,\n        defaultChecked: checked,\n        ...props,\n        tabIndex: -1,\n        ref: composedRefs,\n        style: {\n          ...props.style,\n          ...controlSize,\n          position: \"absolute\",\n          pointerEvents: \"none\",\n          opacity: 0,\n          margin: 0\n        }\n      }\n    );\n  }\n);\nRadioBubbleInput.displayName = BUBBLE_INPUT_NAME;\nfunction getState(checked) {\n  return checked ? \"checked\" : \"unchecked\";\n}\n\n// src/radio-group.tsx\nimport { jsx as jsx2 } from \"react/jsx-runtime\";\nvar ARROW_KEYS = [\"ArrowUp\", \"ArrowDown\", \"ArrowLeft\", \"ArrowRight\"];\nvar RADIO_GROUP_NAME = \"RadioGroup\";\nvar [createRadioGroupContext, createRadioGroupScope] = createContextScope2(RADIO_GROUP_NAME, [\n  createRovingFocusGroupScope,\n  createRadioScope\n]);\nvar useRovingFocusGroupScope = createRovingFocusGroupScope();\nvar useRadioScope = createRadioScope();\nvar [RadioGroupProvider, useRadioGroupContext] = createRadioGroupContext(RADIO_GROUP_NAME);\nvar RadioGroup = React2.forwardRef(\n  (props, forwardedRef) => {\n    const {\n      __scopeRadioGroup,\n      name,\n      defaultValue,\n      value: valueProp,\n      required = false,\n      disabled = false,\n      orientation,\n      dir,\n      loop = true,\n      onValueChange,\n      ...groupProps\n    } = props;\n    const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeRadioGroup);\n    const direction = useDirection(dir);\n    const [value, setValue] = useControllableState({\n      prop: valueProp,\n      defaultProp: defaultValue ?? null,\n      onChange: onValueChange,\n      caller: RADIO_GROUP_NAME\n    });\n    return /* @__PURE__ */ jsx2(\n      RadioGroupProvider,\n      {\n        scope: __scopeRadioGroup,\n        name,\n        required,\n        disabled,\n        value,\n        onValueChange: setValue,\n        children: /* @__PURE__ */ jsx2(\n          RovingFocusGroup.Root,\n          {\n            asChild: true,\n            ...rovingFocusGroupScope,\n            orientation,\n            dir: direction,\n            loop,\n            children: /* @__PURE__ */ jsx2(\n              Primitive2.div,\n              {\n                role: \"radiogroup\",\n                \"aria-required\": required,\n                \"aria-orientation\": orientation,\n                \"data-disabled\": disabled ? \"\" : void 0,\n                dir: direction,\n                ...groupProps,\n                ref: forwardedRef\n              }\n            )\n          }\n        )\n      }\n    );\n  }\n);\nRadioGroup.displayName = RADIO_GROUP_NAME;\nvar ITEM_NAME = \"RadioGroupItem\";\nvar RadioGroupItem = React2.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeRadioGroup, disabled, ...itemProps } = props;\n    const context = useRadioGroupContext(ITEM_NAME, __scopeRadioGroup);\n    const isDisabled = context.disabled || disabled;\n    const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeRadioGroup);\n    const radioScope = useRadioScope(__scopeRadioGroup);\n    const ref = React2.useRef(null);\n    const composedRefs = useComposedRefs2(forwardedRef, ref);\n    const checked = context.value === itemProps.value;\n    const isArrowKeyPressedRef = React2.useRef(false);\n    React2.useEffect(() => {\n      const handleKeyDown = (event) => {\n        if (ARROW_KEYS.includes(event.key)) {\n          isArrowKeyPressedRef.current = true;\n        }\n      };\n      const handleKeyUp = () => isArrowKeyPressedRef.current = false;\n      document.addEventListener(\"keydown\", handleKeyDown);\n      document.addEventListener(\"keyup\", handleKeyUp);\n      return () => {\n        document.removeEventListener(\"keydown\", handleKeyDown);\n        document.removeEventListener(\"keyup\", handleKeyUp);\n      };\n    }, []);\n    return /* @__PURE__ */ jsx2(\n      RovingFocusGroup.Item,\n      {\n        asChild: true,\n        ...rovingFocusGroupScope,\n        focusable: !isDisabled,\n        active: checked,\n        children: /* @__PURE__ */ jsx2(\n          Radio,\n          {\n            disabled: isDisabled,\n            required: context.required,\n            checked,\n            ...radioScope,\n            ...itemProps,\n            name: context.name,\n            ref: composedRefs,\n            onCheck: () => context.onValueChange(itemProps.value),\n            onKeyDown: composeEventHandlers2((event) => {\n              if (event.key === \"Enter\") event.preventDefault();\n            }),\n            onFocus: composeEventHandlers2(itemProps.onFocus, () => {\n              if (isArrowKeyPressedRef.current) ref.current?.click();\n            })\n          }\n        )\n      }\n    );\n  }\n);\nRadioGroupItem.displayName = ITEM_NAME;\nvar INDICATOR_NAME2 = \"RadioGroupIndicator\";\nvar RadioGroupIndicator = React2.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeRadioGroup, ...indicatorProps } = props;\n    const radioScope = useRadioScope(__scopeRadioGroup);\n    return /* @__PURE__ */ jsx2(RadioIndicator, { ...radioScope, ...indicatorProps, ref: forwardedRef });\n  }\n);\nRadioGroupIndicator.displayName = INDICATOR_NAME2;\nvar Root2 = RadioGroup;\nvar Item2 = RadioGroupItem;\nvar Indicator = RadioGroupIndicator;\nexport {\n  Indicator,\n  Item2 as Item,\n  RadioGroup,\n  RadioGroupIndicator,\n  RadioGroupItem,\n  Root2 as Root,\n  createRadioGroupScope\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nvar canUseDOM = !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\nfunction composeEventHandlers(originalEventHandler, ourEventHandler, { checkForDefaultPrevented = true } = {}) {\n  return function handleEvent(event) {\n    originalEventHandler?.(event);\n    if (checkForDefaultPrevented === false || !event.defaultPrevented) {\n      return ourEventHandler?.(event);\n    }\n  };\n}\nfunction getOwnerWindow(element) {\n  if (!canUseDOM) {\n    throw new Error(\"Cannot access window outside of the DOM\");\n  }\n  return element?.ownerDocument?.defaultView ?? window;\n}\nfunction getOwnerDocument(element) {\n  if (!canUseDOM) {\n    throw new Error(\"Cannot access document outside of the DOM\");\n  }\n  return element?.ownerDocument ?? document;\n}\nfunction getActiveElement(node, activeDescendant = false) {\n  const { activeElement } = getOwnerDocument(node);\n  if (!activeElement?.nodeName) {\n    return null;\n  }\n  if (isFrame(activeElement) && activeElement.contentDocument) {\n    return getActiveElement(activeElement.contentDocument.body, activeDescendant);\n  }\n  if (activeDescendant) {\n    const id = activeElement.getAttribute(\"aria-activedescendant\");\n    if (id) {\n      const element = getOwnerDocument(activeElement).getElementById(id);\n      if (element) {\n        return element;\n      }\n    }\n  }\n  return activeElement;\n}\nfunction isFrame(element) {\n  return element.tagName === \"IFRAME\";\n}\nexport {\n  canUseDOM,\n  composeEventHandlers,\n  getActiveElement,\n  getOwnerDocument,\n  getOwnerWindow,\n  isFrame\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/compose-refs/src/compose-refs.tsx\nimport * as React from \"react\";\nfunction setRef(ref, value) {\n  if (typeof ref === \"function\") {\n    return ref(value);\n  } else if (ref !== null && ref !== void 0) {\n    ref.current = value;\n  }\n}\nfunction composeRefs(...refs) {\n  return (node) => {\n    let hasCleanup = false;\n    const cleanups = refs.map((ref) => {\n      const cleanup = setRef(ref, node);\n      if (!hasCleanup && typeof cleanup == \"function\") {\n        hasCleanup = true;\n      }\n      return cleanup;\n    });\n    if (hasCleanup) {\n      return () => {\n        for (let i = 0; i < cleanups.length; i++) {\n          const cleanup = cleanups[i];\n          if (typeof cleanup == \"function\") {\n            cleanup();\n          } else {\n            setRef(refs[i], null);\n          }\n        }\n      };\n    }\n  };\n}\nfunction useComposedRefs(...refs) {\n  return React.useCallback(composeRefs(...refs), refs);\n}\nexport {\n  composeRefs,\n  useComposedRefs\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/context/src/create-context.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createContext2(rootComponentName, defaultContext) {\n  const Context = React.createContext(defaultContext);\n  const Provider = (props) => {\n    const { children, ...context } = props;\n    const value = React.useMemo(() => context, Object.values(context));\n    return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n  };\n  Provider.displayName = rootComponentName + \"Provider\";\n  function useContext2(consumerName) {\n    const context = React.useContext(Context);\n    if (context) return context;\n    if (defaultContext !== void 0) return defaultContext;\n    throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n  }\n  return [Provider, useContext2];\n}\nfunction createContextScope(scopeName, createContextScopeDeps = []) {\n  let defaultContexts = [];\n  function createContext3(rootComponentName, defaultContext) {\n    const BaseContext = React.createContext(defaultContext);\n    const index = defaultContexts.length;\n    defaultContexts = [...defaultContexts, defaultContext];\n    const Provider = (props) => {\n      const { scope, children, ...context } = props;\n      const Context = scope?.[scopeName]?.[index] || BaseContext;\n      const value = React.useMemo(() => context, Object.values(context));\n      return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n    };\n    Provider.displayName = rootComponentName + \"Provider\";\n    function useContext2(consumerName, scope) {\n      const Context = scope?.[scopeName]?.[index] || BaseContext;\n      const context = React.useContext(Context);\n      if (context) return context;\n      if (defaultContext !== void 0) return defaultContext;\n      throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n    }\n    return [Provider, useContext2];\n  }\n  const createScope = () => {\n    const scopeContexts = defaultContexts.map((defaultContext) => {\n      return React.createContext(defaultContext);\n    });\n    return function useScope(scope) {\n      const contexts = scope?.[scopeName] || scopeContexts;\n      return React.useMemo(\n        () => ({ [`__scope${scopeName}`]: { ...scope, [scopeName]: contexts } }),\n        [scope, contexts]\n      );\n    };\n  };\n  createScope.scopeName = scopeName;\n  return [createContext3, composeContextScopes(createScope, ...createContextScopeDeps)];\n}\nfunction composeContextScopes(...scopes) {\n  const baseScope = scopes[0];\n  if (scopes.length === 1) return baseScope;\n  const createScope = () => {\n    const scopeHooks = scopes.map((createScope2) => ({\n      useScope: createScope2(),\n      scopeName: createScope2.scopeName\n    }));\n    return function useComposedScopes(overrideScopes) {\n      const nextScopes = scopeHooks.reduce((nextScopes2, { useScope, scopeName }) => {\n        const scopeProps = useScope(overrideScopes);\n        const currentScope = scopeProps[`__scope${scopeName}`];\n        return { ...nextScopes2, ...currentScope };\n      }, {});\n      return React.useMemo(() => ({ [`__scope${baseScope.scopeName}`]: nextScopes }), [nextScopes]);\n    };\n  };\n  createScope.scopeName = baseScope.scopeName;\n  return createScope;\n}\nexport {\n  createContext2 as createContext,\n  createContextScope\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/direction/src/direction.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nvar DirectionContext = React.createContext(void 0);\nvar DirectionProvider = (props) => {\n  const { dir, children } = props;\n  return /* @__PURE__ */ jsx(DirectionContext.Provider, { value: dir, children });\n};\nfunction useDirection(localDir) {\n  const globalDir = React.useContext(DirectionContext);\n  return localDir || globalDir || \"ltr\";\n}\nvar Provider = DirectionProvider;\nexport {\n  DirectionProvider,\n  Provider,\n  useDirection\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/presence.tsx\nimport * as React2 from \"react\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\n\n// src/use-state-machine.tsx\nimport * as React from \"react\";\nfunction useStateMachine(initialState, machine) {\n  return React.useReducer((state, event) => {\n    const nextState = machine[state][event];\n    return nextState ?? state;\n  }, initialState);\n}\n\n// src/presence.tsx\nvar Presence = (props) => {\n  const { present, children } = props;\n  const presence = usePresence(present);\n  const child = typeof children === \"function\" ? children({ present: presence.isPresent }) : React2.Children.only(children);\n  const ref = useComposedRefs(presence.ref, getElementRef(child));\n  const forceMount = typeof children === \"function\";\n  return forceMount || presence.isPresent ? React2.cloneElement(child, { ref }) : null;\n};\nPresence.displayName = \"Presence\";\nfunction usePresence(present) {\n  const [node, setNode] = React2.useState();\n  const stylesRef = React2.useRef(null);\n  const prevPresentRef = React2.useRef(present);\n  const prevAnimationNameRef = React2.useRef(\"none\");\n  const initialState = present ? \"mounted\" : \"unmounted\";\n  const [state, send] = useStateMachine(initialState, {\n    mounted: {\n      UNMOUNT: \"unmounted\",\n      ANIMATION_OUT: \"unmountSuspended\"\n    },\n    unmountSuspended: {\n      MOUNT: \"mounted\",\n      ANIMATION_END: \"unmounted\"\n    },\n    unmounted: {\n      MOUNT: \"mounted\"\n    }\n  });\n  React2.useEffect(() => {\n    const currentAnimationName = getAnimationName(stylesRef.current);\n    prevAnimationNameRef.current = state === \"mounted\" ? currentAnimationName : \"none\";\n  }, [state]);\n  useLayoutEffect(() => {\n    const styles = stylesRef.current;\n    const wasPresent = prevPresentRef.current;\n    const hasPresentChanged = wasPresent !== present;\n    if (hasPresentChanged) {\n      const prevAnimationName = prevAnimationNameRef.current;\n      const currentAnimationName = getAnimationName(styles);\n      if (present) {\n        send(\"MOUNT\");\n      } else if (currentAnimationName === \"none\" || styles?.display === \"none\") {\n        send(\"UNMOUNT\");\n      } else {\n        const isAnimating = prevAnimationName !== currentAnimationName;\n        if (wasPresent && isAnimating) {\n          send(\"ANIMATION_OUT\");\n        } else {\n          send(\"UNMOUNT\");\n        }\n      }\n      prevPresentRef.current = present;\n    }\n  }, [present, send]);\n  useLayoutEffect(() => {\n    if (node) {\n      let timeoutId;\n      const ownerWindow = node.ownerDocument.defaultView ?? window;\n      const handleAnimationEnd = (event) => {\n        const currentAnimationName = getAnimationName(stylesRef.current);\n        const isCurrentAnimation = currentAnimationName.includes(CSS.escape(event.animationName));\n        if (event.target === node && isCurrentAnimation) {\n          send(\"ANIMATION_END\");\n          if (!prevPresentRef.current) {\n            const currentFillMode = node.style.animationFillMode;\n            node.style.animationFillMode = \"forwards\";\n            timeoutId = ownerWindow.setTimeout(() => {\n              if (node.style.animationFillMode === \"forwards\") {\n                node.style.animationFillMode = currentFillMode;\n              }\n            });\n          }\n        }\n      };\n      const handleAnimationStart = (event) => {\n        if (event.target === node) {\n          prevAnimationNameRef.current = getAnimationName(stylesRef.current);\n        }\n      };\n      node.addEventListener(\"animationstart\", handleAnimationStart);\n      node.addEventListener(\"animationcancel\", handleAnimationEnd);\n      node.addEventListener(\"animationend\", handleAnimationEnd);\n      return () => {\n        ownerWindow.clearTimeout(timeoutId);\n        node.removeEventListener(\"animationstart\", handleAnimationStart);\n        node.removeEventListener(\"animationcancel\", handleAnimationEnd);\n        node.removeEventListener(\"animationend\", handleAnimationEnd);\n      };\n    } else {\n      send(\"ANIMATION_END\");\n    }\n  }, [node, send]);\n  return {\n    isPresent: [\"mounted\", \"unmountSuspended\"].includes(state),\n    ref: React2.useCallback((node2) => {\n      stylesRef.current = node2 ? getComputedStyle(node2) : null;\n      setNode(node2);\n    }, [])\n  };\n}\nfunction getAnimationName(styles) {\n  return styles?.animationName || \"none\";\n}\nfunction getElementRef(element) {\n  let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n  let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.ref;\n  }\n  getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n  mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.props.ref;\n  }\n  return element.props.ref || element.ref;\n}\nvar Root = Presence;\nexport {\n  Presence,\n  Root\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NODES = [\n  \"a\",\n  \"button\",\n  \"div\",\n  \"form\",\n  \"h2\",\n  \"h3\",\n  \"img\",\n  \"input\",\n  \"label\",\n  \"li\",\n  \"nav\",\n  \"ol\",\n  \"p\",\n  \"select\",\n  \"span\",\n  \"svg\",\n  \"ul\"\n];\nvar Primitive = NODES.reduce((primitive, node) => {\n  const Slot = createSlot(`Primitive.${node}`);\n  const Node = React.forwardRef((props, forwardedRef) => {\n    const { asChild, ...primitiveProps } = props;\n    const Comp = asChild ? Slot : node;\n    if (typeof window !== \"undefined\") {\n      window[Symbol.for(\"radix-ui\")] = true;\n    }\n    return /* @__PURE__ */ jsx(Comp, { ...primitiveProps, ref: forwardedRef });\n  });\n  Node.displayName = `Primitive.${node}`;\n  return { ...primitive, [node]: Node };\n}, {});\nfunction dispatchDiscreteCustomEvent(target, event) {\n  if (target) ReactDOM.flushSync(() => target.dispatchEvent(event));\n}\nvar Root = Primitive;\nexport {\n  Primitive,\n  Root,\n  dispatchDiscreteCustomEvent\n};\n//# sourceMappingURL=index.mjs.map\n","// src/slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment as Fragment2, jsx } from \"react/jsx-runtime\";\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n  const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);\n  const Slot2 = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    const childrenArray = React.Children.toArray(children);\n    const slottable = childrenArray.find(isSlottable);\n    if (slottable) {\n      const newElement = slottable.props.children;\n      const newChildren = childrenArray.map((child) => {\n        if (child === slottable) {\n          if (React.Children.count(newElement) > 1) return React.Children.only(null);\n          return React.isValidElement(newElement) ? newElement.props.children : null;\n        } else {\n          return child;\n        }\n      });\n      return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n    }\n    return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n  });\n  Slot2.displayName = `${ownerName}.Slot`;\n  return Slot2;\n}\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlotClone(ownerName) {\n  const SlotClone = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    if (React.isValidElement(children)) {\n      const childrenRef = getElementRef(children);\n      const props2 = mergeProps(slotProps, children.props);\n      if (children.type !== React.Fragment) {\n        props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n      }\n      return React.cloneElement(children, props2);\n    }\n    return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n  });\n  SlotClone.displayName = `${ownerName}.SlotClone`;\n  return SlotClone;\n}\nvar SLOTTABLE_IDENTIFIER = Symbol(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n  const Slottable2 = ({ children }) => {\n    return /* @__PURE__ */ jsx(Fragment2, { children });\n  };\n  Slottable2.displayName = `${ownerName}.Slottable`;\n  Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n  return Slottable2;\n}\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nfunction isSlottable(child) {\n  return React.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\nfunction mergeProps(slotProps, childProps) {\n  const overrideProps = { ...childProps };\n  for (const propName in childProps) {\n    const slotPropValue = slotProps[propName];\n    const childPropValue = childProps[propName];\n    const isHandler = /^on[A-Z]/.test(propName);\n    if (isHandler) {\n      if (slotPropValue && childPropValue) {\n        overrideProps[propName] = (...args) => {\n          const result = childPropValue(...args);\n          slotPropValue(...args);\n          return result;\n        };\n      } else if (slotPropValue) {\n        overrideProps[propName] = slotPropValue;\n      }\n    } else if (propName === \"style\") {\n      overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n    } else if (propName === \"className\") {\n      overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n    }\n  }\n  return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n  let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n  let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.ref;\n  }\n  getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n  mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.props.ref;\n  }\n  return element.props.ref || element.ref;\n}\nexport {\n  Slot as Root,\n  Slot,\n  Slottable,\n  createSlot,\n  createSlottable\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-layout-effect/src/use-layout-effect.tsx\nimport * as React from \"react\";\nvar useLayoutEffect2 = globalThis?.document ? React.useLayoutEffect : () => {\n};\nexport {\n  useLayoutEffect2 as useLayoutEffect\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/roving-focus-group.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { createCollection } from \"@radix-ui/react-collection\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useId } from \"@radix-ui/react-id\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { jsx } from \"react/jsx-runtime\";\nvar ENTRY_FOCUS = \"rovingFocusGroup.onEntryFocus\";\nvar EVENT_OPTIONS = { bubbles: false, cancelable: true };\nvar GROUP_NAME = \"RovingFocusGroup\";\nvar [Collection, useCollection, createCollectionScope] = createCollection(GROUP_NAME);\nvar [createRovingFocusGroupContext, createRovingFocusGroupScope] = createContextScope(\n  GROUP_NAME,\n  [createCollectionScope]\n);\nvar [RovingFocusProvider, useRovingFocusContext] = createRovingFocusGroupContext(GROUP_NAME);\nvar RovingFocusGroup = React.forwardRef(\n  (props, forwardedRef) => {\n    return /* @__PURE__ */ jsx(Collection.Provider, { scope: props.__scopeRovingFocusGroup, children: /* @__PURE__ */ jsx(Collection.Slot, { scope: props.__scopeRovingFocusGroup, children: /* @__PURE__ */ jsx(RovingFocusGroupImpl, { ...props, ref: forwardedRef }) }) });\n  }\n);\nRovingFocusGroup.displayName = GROUP_NAME;\nvar RovingFocusGroupImpl = React.forwardRef((props, forwardedRef) => {\n  const {\n    __scopeRovingFocusGroup,\n    orientation,\n    loop = false,\n    dir,\n    currentTabStopId: currentTabStopIdProp,\n    defaultCurrentTabStopId,\n    onCurrentTabStopIdChange,\n    onEntryFocus,\n    preventScrollOnEntryFocus = false,\n    ...groupProps\n  } = props;\n  const ref = React.useRef(null);\n  const composedRefs = useComposedRefs(forwardedRef, ref);\n  const direction = useDirection(dir);\n  const [currentTabStopId, setCurrentTabStopId] = useControllableState({\n    prop: currentTabStopIdProp,\n    defaultProp: defaultCurrentTabStopId ?? null,\n    onChange: onCurrentTabStopIdChange,\n    caller: GROUP_NAME\n  });\n  const [isTabbingBackOut, setIsTabbingBackOut] = React.useState(false);\n  const handleEntryFocus = useCallbackRef(onEntryFocus);\n  const getItems = useCollection(__scopeRovingFocusGroup);\n  const isClickFocusRef = React.useRef(false);\n  const [focusableItemsCount, setFocusableItemsCount] = React.useState(0);\n  React.useEffect(() => {\n    const node = ref.current;\n    if (node) {\n      node.addEventListener(ENTRY_FOCUS, handleEntryFocus);\n      return () => node.removeEventListener(ENTRY_FOCUS, handleEntryFocus);\n    }\n  }, [handleEntryFocus]);\n  return /* @__PURE__ */ jsx(\n    RovingFocusProvider,\n    {\n      scope: __scopeRovingFocusGroup,\n      orientation,\n      dir: direction,\n      loop,\n      currentTabStopId,\n      onItemFocus: React.useCallback(\n        (tabStopId) => setCurrentTabStopId(tabStopId),\n        [setCurrentTabStopId]\n      ),\n      onItemShiftTab: React.useCallback(() => setIsTabbingBackOut(true), []),\n      onFocusableItemAdd: React.useCallback(\n        () => setFocusableItemsCount((prevCount) => prevCount + 1),\n        []\n      ),\n      onFocusableItemRemove: React.useCallback(\n        () => setFocusableItemsCount((prevCount) => prevCount - 1),\n        []\n      ),\n      children: /* @__PURE__ */ jsx(\n        Primitive.div,\n        {\n          tabIndex: isTabbingBackOut || focusableItemsCount === 0 ? -1 : 0,\n          \"data-orientation\": orientation,\n          ...groupProps,\n          ref: composedRefs,\n          style: { outline: \"none\", ...props.style },\n          onMouseDown: composeEventHandlers(props.onMouseDown, () => {\n            isClickFocusRef.current = true;\n          }),\n          onFocus: composeEventHandlers(props.onFocus, (event) => {\n            const isKeyboardFocus = !isClickFocusRef.current;\n            if (event.target === event.currentTarget && isKeyboardFocus && !isTabbingBackOut) {\n              const entryFocusEvent = new CustomEvent(ENTRY_FOCUS, EVENT_OPTIONS);\n              event.currentTarget.dispatchEvent(entryFocusEvent);\n              if (!entryFocusEvent.defaultPrevented) {\n                const items = getItems().filter((item) => item.focusable);\n                const activeItem = items.find((item) => item.active);\n                const currentItem = items.find((item) => item.id === currentTabStopId);\n                const candidateItems = [activeItem, currentItem, ...items].filter(\n                  Boolean\n                );\n                const candidateNodes = candidateItems.map((item) => item.ref.current);\n                focusFirst(candidateNodes, preventScrollOnEntryFocus);\n              }\n            }\n            isClickFocusRef.current = false;\n          }),\n          onBlur: composeEventHandlers(props.onBlur, () => setIsTabbingBackOut(false))\n        }\n      )\n    }\n  );\n});\nvar ITEM_NAME = \"RovingFocusGroupItem\";\nvar RovingFocusGroupItem = React.forwardRef(\n  (props, forwardedRef) => {\n    const {\n      __scopeRovingFocusGroup,\n      focusable = true,\n      active = false,\n      tabStopId,\n      children,\n      ...itemProps\n    } = props;\n    const autoId = useId();\n    const id = tabStopId || autoId;\n    const context = useRovingFocusContext(ITEM_NAME, __scopeRovingFocusGroup);\n    const isCurrentTabStop = context.currentTabStopId === id;\n    const getItems = useCollection(__scopeRovingFocusGroup);\n    const { onFocusableItemAdd, onFocusableItemRemove, currentTabStopId } = context;\n    React.useEffect(() => {\n      if (focusable) {\n        onFocusableItemAdd();\n        return () => onFocusableItemRemove();\n      }\n    }, [focusable, onFocusableItemAdd, onFocusableItemRemove]);\n    return /* @__PURE__ */ jsx(\n      Collection.ItemSlot,\n      {\n        scope: __scopeRovingFocusGroup,\n        id,\n        focusable,\n        active,\n        children: /* @__PURE__ */ jsx(\n          Primitive.span,\n          {\n            tabIndex: isCurrentTabStop ? 0 : -1,\n            \"data-orientation\": context.orientation,\n            ...itemProps,\n            ref: forwardedRef,\n            onMouseDown: composeEventHandlers(props.onMouseDown, (event) => {\n              if (!focusable) event.preventDefault();\n              else context.onItemFocus(id);\n            }),\n            onFocus: composeEventHandlers(props.onFocus, () => context.onItemFocus(id)),\n            onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n              if (event.key === \"Tab\" && event.shiftKey) {\n                context.onItemShiftTab();\n                return;\n              }\n              if (event.target !== event.currentTarget) return;\n              const focusIntent = getFocusIntent(event, context.orientation, context.dir);\n              if (focusIntent !== void 0) {\n                if (event.metaKey || event.ctrlKey || event.altKey || event.shiftKey) return;\n                event.preventDefault();\n                const items = getItems().filter((item) => item.focusable);\n                let candidateNodes = items.map((item) => item.ref.current);\n                if (focusIntent === \"last\") candidateNodes.reverse();\n                else if (focusIntent === \"prev\" || focusIntent === \"next\") {\n                  if (focusIntent === \"prev\") candidateNodes.reverse();\n                  const currentIndex = candidateNodes.indexOf(event.currentTarget);\n                  candidateNodes = context.loop ? wrapArray(candidateNodes, currentIndex + 1) : candidateNodes.slice(currentIndex + 1);\n                }\n                setTimeout(() => focusFirst(candidateNodes));\n              }\n            }),\n            children: typeof children === \"function\" ? children({ isCurrentTabStop, hasTabStop: currentTabStopId != null }) : children\n          }\n        )\n      }\n    );\n  }\n);\nRovingFocusGroupItem.displayName = ITEM_NAME;\nvar MAP_KEY_TO_FOCUS_INTENT = {\n  ArrowLeft: \"prev\",\n  ArrowUp: \"prev\",\n  ArrowRight: \"next\",\n  ArrowDown: \"next\",\n  PageUp: \"first\",\n  Home: \"first\",\n  PageDown: \"last\",\n  End: \"last\"\n};\nfunction getDirectionAwareKey(key, dir) {\n  if (dir !== \"rtl\") return key;\n  return key === \"ArrowLeft\" ? \"ArrowRight\" : key === \"ArrowRight\" ? \"ArrowLeft\" : key;\n}\nfunction getFocusIntent(event, orientation, dir) {\n  const key = getDirectionAwareKey(event.key, dir);\n  if (orientation === \"vertical\" && [\"ArrowLeft\", \"ArrowRight\"].includes(key)) return void 0;\n  if (orientation === \"horizontal\" && [\"ArrowUp\", \"ArrowDown\"].includes(key)) return void 0;\n  return MAP_KEY_TO_FOCUS_INTENT[key];\n}\nfunction focusFirst(candidates, preventScroll = false) {\n  const PREVIOUSLY_FOCUSED_ELEMENT = document.activeElement;\n  for (const candidate of candidates) {\n    if (candidate === PREVIOUSLY_FOCUSED_ELEMENT) return;\n    candidate.focus({ preventScroll });\n    if (document.activeElement !== PREVIOUSLY_FOCUSED_ELEMENT) return;\n  }\n}\nfunction wrapArray(array, startIndex) {\n  return array.map((_, index) => array[(startIndex + index) % array.length]);\n}\nvar Root = RovingFocusGroup;\nvar Item = RovingFocusGroupItem;\nexport {\n  Item,\n  Root,\n  RovingFocusGroup,\n  RovingFocusGroupItem,\n  createRovingFocusGroupScope\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nvar canUseDOM = !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\nfunction composeEventHandlers(originalEventHandler, ourEventHandler, { checkForDefaultPrevented = true } = {}) {\n  return function handleEvent(event) {\n    originalEventHandler?.(event);\n    if (checkForDefaultPrevented === false || !event.defaultPrevented) {\n      return ourEventHandler?.(event);\n    }\n  };\n}\nfunction getOwnerWindow(element) {\n  if (!canUseDOM) {\n    throw new Error(\"Cannot access window outside of the DOM\");\n  }\n  return element?.ownerDocument?.defaultView ?? window;\n}\nfunction getOwnerDocument(element) {\n  if (!canUseDOM) {\n    throw new Error(\"Cannot access document outside of the DOM\");\n  }\n  return element?.ownerDocument ?? document;\n}\nfunction getActiveElement(node, activeDescendant = false) {\n  const { activeElement } = getOwnerDocument(node);\n  if (!activeElement?.nodeName) {\n    return null;\n  }\n  if (isFrame(activeElement) && activeElement.contentDocument) {\n    return getActiveElement(activeElement.contentDocument.body, activeDescendant);\n  }\n  if (activeDescendant) {\n    const id = activeElement.getAttribute(\"aria-activedescendant\");\n    if (id) {\n      const element = getOwnerDocument(activeElement).getElementById(id);\n      if (element) {\n        return element;\n      }\n    }\n  }\n  return activeElement;\n}\nfunction isFrame(element) {\n  return element.tagName === \"IFRAME\";\n}\nexport {\n  canUseDOM,\n  composeEventHandlers,\n  getActiveElement,\n  getOwnerDocument,\n  getOwnerWindow,\n  isFrame\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/compose-refs/src/compose-refs.tsx\nimport * as React from \"react\";\nfunction setRef(ref, value) {\n  if (typeof ref === \"function\") {\n    return ref(value);\n  } else if (ref !== null && ref !== void 0) {\n    ref.current = value;\n  }\n}\nfunction composeRefs(...refs) {\n  return (node) => {\n    let hasCleanup = false;\n    const cleanups = refs.map((ref) => {\n      const cleanup = setRef(ref, node);\n      if (!hasCleanup && typeof cleanup == \"function\") {\n        hasCleanup = true;\n      }\n      return cleanup;\n    });\n    if (hasCleanup) {\n      return () => {\n        for (let i = 0; i < cleanups.length; i++) {\n          const cleanup = cleanups[i];\n          if (typeof cleanup == \"function\") {\n            cleanup();\n          } else {\n            setRef(refs[i], null);\n          }\n        }\n      };\n    }\n  };\n}\nfunction useComposedRefs(...refs) {\n  return React.useCallback(composeRefs(...refs), refs);\n}\nexport {\n  composeRefs,\n  useComposedRefs\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/context/src/create-context.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createContext2(rootComponentName, defaultContext) {\n  const Context = React.createContext(defaultContext);\n  const Provider = (props) => {\n    const { children, ...context } = props;\n    const value = React.useMemo(() => context, Object.values(context));\n    return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n  };\n  Provider.displayName = rootComponentName + \"Provider\";\n  function useContext2(consumerName) {\n    const context = React.useContext(Context);\n    if (context) return context;\n    if (defaultContext !== void 0) return defaultContext;\n    throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n  }\n  return [Provider, useContext2];\n}\nfunction createContextScope(scopeName, createContextScopeDeps = []) {\n  let defaultContexts = [];\n  function createContext3(rootComponentName, defaultContext) {\n    const BaseContext = React.createContext(defaultContext);\n    const index = defaultContexts.length;\n    defaultContexts = [...defaultContexts, defaultContext];\n    const Provider = (props) => {\n      const { scope, children, ...context } = props;\n      const Context = scope?.[scopeName]?.[index] || BaseContext;\n      const value = React.useMemo(() => context, Object.values(context));\n      return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n    };\n    Provider.displayName = rootComponentName + \"Provider\";\n    function useContext2(consumerName, scope) {\n      const Context = scope?.[scopeName]?.[index] || BaseContext;\n      const context = React.useContext(Context);\n      if (context) return context;\n      if (defaultContext !== void 0) return defaultContext;\n      throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n    }\n    return [Provider, useContext2];\n  }\n  const createScope = () => {\n    const scopeContexts = defaultContexts.map((defaultContext) => {\n      return React.createContext(defaultContext);\n    });\n    return function useScope(scope) {\n      const contexts = scope?.[scopeName] || scopeContexts;\n      return React.useMemo(\n        () => ({ [`__scope${scopeName}`]: { ...scope, [scopeName]: contexts } }),\n        [scope, contexts]\n      );\n    };\n  };\n  createScope.scopeName = scopeName;\n  return [createContext3, composeContextScopes(createScope, ...createContextScopeDeps)];\n}\nfunction composeContextScopes(...scopes) {\n  const baseScope = scopes[0];\n  if (scopes.length === 1) return baseScope;\n  const createScope = () => {\n    const scopeHooks = scopes.map((createScope2) => ({\n      useScope: createScope2(),\n      scopeName: createScope2.scopeName\n    }));\n    return function useComposedScopes(overrideScopes) {\n      const nextScopes = scopeHooks.reduce((nextScopes2, { useScope, scopeName }) => {\n        const scopeProps = useScope(overrideScopes);\n        const currentScope = scopeProps[`__scope${scopeName}`];\n        return { ...nextScopes2, ...currentScope };\n      }, {});\n      return React.useMemo(() => ({ [`__scope${baseScope.scopeName}`]: nextScopes }), [nextScopes]);\n    };\n  };\n  createScope.scopeName = baseScope.scopeName;\n  return createScope;\n}\nexport {\n  createContext2 as createContext,\n  createContextScope\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/direction/src/direction.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nvar DirectionContext = React.createContext(void 0);\nvar DirectionProvider = (props) => {\n  const { dir, children } = props;\n  return /* @__PURE__ */ jsx(DirectionContext.Provider, { value: dir, children });\n};\nfunction useDirection(localDir) {\n  const globalDir = React.useContext(DirectionContext);\n  return localDir || globalDir || \"ltr\";\n}\nvar Provider = DirectionProvider;\nexport {\n  DirectionProvider,\n  Provider,\n  useDirection\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NODES = [\n  \"a\",\n  \"button\",\n  \"div\",\n  \"form\",\n  \"h2\",\n  \"h3\",\n  \"img\",\n  \"input\",\n  \"label\",\n  \"li\",\n  \"nav\",\n  \"ol\",\n  \"p\",\n  \"select\",\n  \"span\",\n  \"svg\",\n  \"ul\"\n];\nvar Primitive = NODES.reduce((primitive, node) => {\n  const Slot = createSlot(`Primitive.${node}`);\n  const Node = React.forwardRef((props, forwardedRef) => {\n    const { asChild, ...primitiveProps } = props;\n    const Comp = asChild ? Slot : node;\n    if (typeof window !== \"undefined\") {\n      window[Symbol.for(\"radix-ui\")] = true;\n    }\n    return /* @__PURE__ */ jsx(Comp, { ...primitiveProps, ref: forwardedRef });\n  });\n  Node.displayName = `Primitive.${node}`;\n  return { ...primitive, [node]: Node };\n}, {});\nfunction dispatchDiscreteCustomEvent(target, event) {\n  if (target) ReactDOM.flushSync(() => target.dispatchEvent(event));\n}\nvar Root = Primitive;\nexport {\n  Primitive,\n  Root,\n  dispatchDiscreteCustomEvent\n};\n//# sourceMappingURL=index.mjs.map\n","// src/slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment as Fragment2, jsx } from \"react/jsx-runtime\";\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n  const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);\n  const Slot2 = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    const childrenArray = React.Children.toArray(children);\n    const slottable = childrenArray.find(isSlottable);\n    if (slottable) {\n      const newElement = slottable.props.children;\n      const newChildren = childrenArray.map((child) => {\n        if (child === slottable) {\n          if (React.Children.count(newElement) > 1) return React.Children.only(null);\n          return React.isValidElement(newElement) ? newElement.props.children : null;\n        } else {\n          return child;\n        }\n      });\n      return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n    }\n    return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n  });\n  Slot2.displayName = `${ownerName}.Slot`;\n  return Slot2;\n}\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlotClone(ownerName) {\n  const SlotClone = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    if (React.isValidElement(children)) {\n      const childrenRef = getElementRef(children);\n      const props2 = mergeProps(slotProps, children.props);\n      if (children.type !== React.Fragment) {\n        props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n      }\n      return React.cloneElement(children, props2);\n    }\n    return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n  });\n  SlotClone.displayName = `${ownerName}.SlotClone`;\n  return SlotClone;\n}\nvar SLOTTABLE_IDENTIFIER = Symbol(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n  const Slottable2 = ({ children }) => {\n    return /* @__PURE__ */ jsx(Fragment2, { children });\n  };\n  Slottable2.displayName = `${ownerName}.Slottable`;\n  Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n  return Slottable2;\n}\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nfunction isSlottable(child) {\n  return React.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\nfunction mergeProps(slotProps, childProps) {\n  const overrideProps = { ...childProps };\n  for (const propName in childProps) {\n    const slotPropValue = slotProps[propName];\n    const childPropValue = childProps[propName];\n    const isHandler = /^on[A-Z]/.test(propName);\n    if (isHandler) {\n      if (slotPropValue && childPropValue) {\n        overrideProps[propName] = (...args) => {\n          const result = childPropValue(...args);\n          slotPropValue(...args);\n          return result;\n        };\n      } else if (slotPropValue) {\n        overrideProps[propName] = slotPropValue;\n      }\n    } else if (propName === \"style\") {\n      overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n    } else if (propName === \"className\") {\n      overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n    }\n  }\n  return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n  let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n  let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.ref;\n  }\n  getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n  mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.props.ref;\n  }\n  return element.props.ref || element.ref;\n}\nexport {\n  Slot as Root,\n  Slot,\n  Slottable,\n  createSlot,\n  createSlottable\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-callback-ref/src/use-callback-ref.tsx\nimport * as React from \"react\";\nfunction useCallbackRef(callback) {\n  const callbackRef = React.useRef(callback);\n  React.useEffect(() => {\n    callbackRef.current = callback;\n  });\n  return React.useMemo(() => (...args) => callbackRef.current?.(...args), []);\n}\nexport {\n  useCallbackRef\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/select.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { clamp } from \"@radix-ui/number\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { createCollection } from \"@radix-ui/react-collection\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { DismissableLayer } from \"@radix-ui/react-dismissable-layer\";\nimport { useFocusGuards } from \"@radix-ui/react-focus-guards\";\nimport { FocusScope } from \"@radix-ui/react-focus-scope\";\nimport { useId } from \"@radix-ui/react-id\";\nimport * as PopperPrimitive from \"@radix-ui/react-popper\";\nimport { createPopperScope } from \"@radix-ui/react-popper\";\nimport { Portal as PortalPrimitive } from \"@radix-ui/react-portal\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nimport { usePrevious } from \"@radix-ui/react-use-previous\";\nimport { VISUALLY_HIDDEN_STYLES } from \"@radix-ui/react-visually-hidden\";\nimport { hideOthers } from \"aria-hidden\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nvar OPEN_KEYS = [\" \", \"Enter\", \"ArrowUp\", \"ArrowDown\"];\nvar SELECTION_KEYS = [\" \", \"Enter\"];\nvar SELECT_NAME = \"Select\";\nvar [Collection, useCollection, createCollectionScope] = createCollection(SELECT_NAME);\nvar [createSelectContext, createSelectScope] = createContextScope(SELECT_NAME, [\n  createCollectionScope,\n  createPopperScope\n]);\nvar usePopperScope = createPopperScope();\nvar [SelectProvider, useSelectContext] = createSelectContext(SELECT_NAME);\nvar [SelectNativeOptionsProvider, useSelectNativeOptionsContext] = createSelectContext(SELECT_NAME);\nvar Select = (props) => {\n  const {\n    __scopeSelect,\n    children,\n    open: openProp,\n    defaultOpen,\n    onOpenChange,\n    value: valueProp,\n    defaultValue,\n    onValueChange,\n    dir,\n    name,\n    autoComplete,\n    disabled,\n    required,\n    form\n  } = props;\n  const popperScope = usePopperScope(__scopeSelect);\n  const [trigger, setTrigger] = React.useState(null);\n  const [valueNode, setValueNode] = React.useState(null);\n  const [valueNodeHasChildren, setValueNodeHasChildren] = React.useState(false);\n  const direction = useDirection(dir);\n  const [open, setOpen] = useControllableState({\n    prop: openProp,\n    defaultProp: defaultOpen ?? false,\n    onChange: onOpenChange,\n    caller: SELECT_NAME\n  });\n  const [value, setValue] = useControllableState({\n    prop: valueProp,\n    defaultProp: defaultValue,\n    onChange: onValueChange,\n    caller: SELECT_NAME\n  });\n  const triggerPointerDownPosRef = React.useRef(null);\n  const isFormControl = trigger ? form || !!trigger.closest(\"form\") : true;\n  const [nativeOptionsSet, setNativeOptionsSet] = React.useState(/* @__PURE__ */ new Set());\n  const nativeSelectKey = Array.from(nativeOptionsSet).map((option) => option.props.value).join(\";\");\n  return /* @__PURE__ */ jsx(PopperPrimitive.Root, { ...popperScope, children: /* @__PURE__ */ jsxs(\n    SelectProvider,\n    {\n      required,\n      scope: __scopeSelect,\n      trigger,\n      onTriggerChange: setTrigger,\n      valueNode,\n      onValueNodeChange: setValueNode,\n      valueNodeHasChildren,\n      onValueNodeHasChildrenChange: setValueNodeHasChildren,\n      contentId: useId(),\n      value,\n      onValueChange: setValue,\n      open,\n      onOpenChange: setOpen,\n      dir: direction,\n      triggerPointerDownPosRef,\n      disabled,\n      children: [\n        /* @__PURE__ */ jsx(Collection.Provider, { scope: __scopeSelect, children: /* @__PURE__ */ jsx(\n          SelectNativeOptionsProvider,\n          {\n            scope: props.__scopeSelect,\n            onNativeOptionAdd: React.useCallback((option) => {\n              setNativeOptionsSet((prev) => new Set(prev).add(option));\n            }, []),\n            onNativeOptionRemove: React.useCallback((option) => {\n              setNativeOptionsSet((prev) => {\n                const optionsSet = new Set(prev);\n                optionsSet.delete(option);\n                return optionsSet;\n              });\n            }, []),\n            children\n          }\n        ) }),\n        isFormControl ? /* @__PURE__ */ jsxs(\n          SelectBubbleInput,\n          {\n            \"aria-hidden\": true,\n            required,\n            tabIndex: -1,\n            name,\n            autoComplete,\n            value,\n            onChange: (event) => setValue(event.target.value),\n            disabled,\n            form,\n            children: [\n              value === void 0 ? /* @__PURE__ */ jsx(\"option\", { value: \"\" }) : null,\n              Array.from(nativeOptionsSet)\n            ]\n          },\n          nativeSelectKey\n        ) : null\n      ]\n    }\n  ) });\n};\nSelect.displayName = SELECT_NAME;\nvar TRIGGER_NAME = \"SelectTrigger\";\nvar SelectTrigger = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeSelect, disabled = false, ...triggerProps } = props;\n    const popperScope = usePopperScope(__scopeSelect);\n    const context = useSelectContext(TRIGGER_NAME, __scopeSelect);\n    const isDisabled = context.disabled || disabled;\n    const composedRefs = useComposedRefs(forwardedRef, context.onTriggerChange);\n    const getItems = useCollection(__scopeSelect);\n    const pointerTypeRef = React.useRef(\"touch\");\n    const [searchRef, handleTypeaheadSearch, resetTypeahead] = useTypeaheadSearch((search) => {\n      const enabledItems = getItems().filter((item) => !item.disabled);\n      const currentItem = enabledItems.find((item) => item.value === context.value);\n      const nextItem = findNextItem(enabledItems, search, currentItem);\n      if (nextItem !== void 0) {\n        context.onValueChange(nextItem.value);\n      }\n    });\n    const handleOpen = (pointerEvent) => {\n      if (!isDisabled) {\n        context.onOpenChange(true);\n        resetTypeahead();\n      }\n      if (pointerEvent) {\n        context.triggerPointerDownPosRef.current = {\n          x: Math.round(pointerEvent.pageX),\n          y: Math.round(pointerEvent.pageY)\n        };\n      }\n    };\n    return /* @__PURE__ */ jsx(PopperPrimitive.Anchor, { asChild: true, ...popperScope, children: /* @__PURE__ */ jsx(\n      Primitive.button,\n      {\n        type: \"button\",\n        role: \"combobox\",\n        \"aria-controls\": context.contentId,\n        \"aria-expanded\": context.open,\n        \"aria-required\": context.required,\n        \"aria-autocomplete\": \"none\",\n        dir: context.dir,\n        \"data-state\": context.open ? \"open\" : \"closed\",\n        disabled: isDisabled,\n        \"data-disabled\": isDisabled ? \"\" : void 0,\n        \"data-placeholder\": shouldShowPlaceholder(context.value) ? \"\" : void 0,\n        ...triggerProps,\n        ref: composedRefs,\n        onClick: composeEventHandlers(triggerProps.onClick, (event) => {\n          event.currentTarget.focus();\n          if (pointerTypeRef.current !== \"mouse\") {\n            handleOpen(event);\n          }\n        }),\n        onPointerDown: composeEventHandlers(triggerProps.onPointerDown, (event) => {\n          pointerTypeRef.current = event.pointerType;\n          const target = event.target;\n          if (target.hasPointerCapture(event.pointerId)) {\n            target.releasePointerCapture(event.pointerId);\n          }\n          if (event.button === 0 && event.ctrlKey === false && event.pointerType === \"mouse\") {\n            handleOpen(event);\n            event.preventDefault();\n          }\n        }),\n        onKeyDown: composeEventHandlers(triggerProps.onKeyDown, (event) => {\n          const isTypingAhead = searchRef.current !== \"\";\n          const isModifierKey = event.ctrlKey || event.altKey || event.metaKey;\n          if (!isModifierKey && event.key.length === 1) handleTypeaheadSearch(event.key);\n          if (isTypingAhead && event.key === \" \") return;\n          if (OPEN_KEYS.includes(event.key)) {\n            handleOpen();\n            event.preventDefault();\n          }\n        })\n      }\n    ) });\n  }\n);\nSelectTrigger.displayName = TRIGGER_NAME;\nvar VALUE_NAME = \"SelectValue\";\nvar SelectValue = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeSelect, className, style, children, placeholder = \"\", ...valueProps } = props;\n    const context = useSelectContext(VALUE_NAME, __scopeSelect);\n    const { onValueNodeHasChildrenChange } = context;\n    const hasChildren = children !== void 0;\n    const composedRefs = useComposedRefs(forwardedRef, context.onValueNodeChange);\n    useLayoutEffect(() => {\n      onValueNodeHasChildrenChange(hasChildren);\n    }, [onValueNodeHasChildrenChange, hasChildren]);\n    return /* @__PURE__ */ jsx(\n      Primitive.span,\n      {\n        ...valueProps,\n        ref: composedRefs,\n        style: { pointerEvents: \"none\" },\n        children: shouldShowPlaceholder(context.value) ? /* @__PURE__ */ jsx(Fragment, { children: placeholder }) : children\n      }\n    );\n  }\n);\nSelectValue.displayName = VALUE_NAME;\nvar ICON_NAME = \"SelectIcon\";\nvar SelectIcon = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeSelect, children, ...iconProps } = props;\n    return /* @__PURE__ */ jsx(Primitive.span, { \"aria-hidden\": true, ...iconProps, ref: forwardedRef, children: children || \"\\u25BC\" });\n  }\n);\nSelectIcon.displayName = ICON_NAME;\nvar PORTAL_NAME = \"SelectPortal\";\nvar SelectPortal = (props) => {\n  return /* @__PURE__ */ jsx(PortalPrimitive, { asChild: true, ...props });\n};\nSelectPortal.displayName = PORTAL_NAME;\nvar CONTENT_NAME = \"SelectContent\";\nvar SelectContent = React.forwardRef(\n  (props, forwardedRef) => {\n    const context = useSelectContext(CONTENT_NAME, props.__scopeSelect);\n    const [fragment, setFragment] = React.useState();\n    useLayoutEffect(() => {\n      setFragment(new DocumentFragment());\n    }, []);\n    if (!context.open) {\n      const frag = fragment;\n      return frag ? ReactDOM.createPortal(\n        /* @__PURE__ */ jsx(SelectContentProvider, { scope: props.__scopeSelect, children: /* @__PURE__ */ jsx(Collection.Slot, { scope: props.__scopeSelect, children: /* @__PURE__ */ jsx(\"div\", { children: props.children }) }) }),\n        frag\n      ) : null;\n    }\n    return /* @__PURE__ */ jsx(SelectContentImpl, { ...props, ref: forwardedRef });\n  }\n);\nSelectContent.displayName = CONTENT_NAME;\nvar CONTENT_MARGIN = 10;\nvar [SelectContentProvider, useSelectContentContext] = createSelectContext(CONTENT_NAME);\nvar CONTENT_IMPL_NAME = \"SelectContentImpl\";\nvar Slot = createSlot(\"SelectContent.RemoveScroll\");\nvar SelectContentImpl = React.forwardRef(\n  (props, forwardedRef) => {\n    const {\n      __scopeSelect,\n      position = \"item-aligned\",\n      onCloseAutoFocus,\n      onEscapeKeyDown,\n      onPointerDownOutside,\n      //\n      // PopperContent props\n      side,\n      sideOffset,\n      align,\n      alignOffset,\n      arrowPadding,\n      collisionBoundary,\n      collisionPadding,\n      sticky,\n      hideWhenDetached,\n      avoidCollisions,\n      //\n      ...contentProps\n    } = props;\n    const context = useSelectContext(CONTENT_NAME, __scopeSelect);\n    const [content, setContent] = React.useState(null);\n    const [viewport, setViewport] = React.useState(null);\n    const composedRefs = useComposedRefs(forwardedRef, (node) => setContent(node));\n    const [selectedItem, setSelectedItem] = React.useState(null);\n    const [selectedItemText, setSelectedItemText] = React.useState(\n      null\n    );\n    const getItems = useCollection(__scopeSelect);\n    const [isPositioned, setIsPositioned] = React.useState(false);\n    const firstValidItemFoundRef = React.useRef(false);\n    React.useEffect(() => {\n      if (content) return hideOthers(content);\n    }, [content]);\n    useFocusGuards();\n    const focusFirst = React.useCallback(\n      (candidates) => {\n        const [firstItem, ...restItems] = getItems().map((item) => item.ref.current);\n        const [lastItem] = restItems.slice(-1);\n        const PREVIOUSLY_FOCUSED_ELEMENT = document.activeElement;\n        for (const candidate of candidates) {\n          if (candidate === PREVIOUSLY_FOCUSED_ELEMENT) return;\n          candidate?.scrollIntoView({ block: \"nearest\" });\n          if (candidate === firstItem && viewport) viewport.scrollTop = 0;\n          if (candidate === lastItem && viewport) viewport.scrollTop = viewport.scrollHeight;\n          candidate?.focus();\n          if (document.activeElement !== PREVIOUSLY_FOCUSED_ELEMENT) return;\n        }\n      },\n      [getItems, viewport]\n    );\n    const focusSelectedItem = React.useCallback(\n      () => focusFirst([selectedItem, content]),\n      [focusFirst, selectedItem, content]\n    );\n    React.useEffect(() => {\n      if (isPositioned) {\n        focusSelectedItem();\n      }\n    }, [isPositioned, focusSelectedItem]);\n    const { onOpenChange, triggerPointerDownPosRef } = context;\n    React.useEffect(() => {\n      if (content) {\n        let pointerMoveDelta = { x: 0, y: 0 };\n        const handlePointerMove = (event) => {\n          pointerMoveDelta = {\n            x: Math.abs(Math.round(event.pageX) - (triggerPointerDownPosRef.current?.x ?? 0)),\n            y: Math.abs(Math.round(event.pageY) - (triggerPointerDownPosRef.current?.y ?? 0))\n          };\n        };\n        const handlePointerUp = (event) => {\n          if (pointerMoveDelta.x <= 10 && pointerMoveDelta.y <= 10) {\n            event.preventDefault();\n          } else {\n            if (!content.contains(event.target)) {\n              onOpenChange(false);\n            }\n          }\n          document.removeEventListener(\"pointermove\", handlePointerMove);\n          triggerPointerDownPosRef.current = null;\n        };\n        if (triggerPointerDownPosRef.current !== null) {\n          document.addEventListener(\"pointermove\", handlePointerMove);\n          document.addEventListener(\"pointerup\", handlePointerUp, { capture: true, once: true });\n        }\n        return () => {\n          document.removeEventListener(\"pointermove\", handlePointerMove);\n          document.removeEventListener(\"pointerup\", handlePointerUp, { capture: true });\n        };\n      }\n    }, [content, onOpenChange, triggerPointerDownPosRef]);\n    React.useEffect(() => {\n      const close = () => onOpenChange(false);\n      window.addEventListener(\"blur\", close);\n      window.addEventListener(\"resize\", close);\n      return () => {\n        window.removeEventListener(\"blur\", close);\n        window.removeEventListener(\"resize\", close);\n      };\n    }, [onOpenChange]);\n    const [searchRef, handleTypeaheadSearch] = useTypeaheadSearch((search) => {\n      const enabledItems = getItems().filter((item) => !item.disabled);\n      const currentItem = enabledItems.find((item) => item.ref.current === document.activeElement);\n      const nextItem = findNextItem(enabledItems, search, currentItem);\n      if (nextItem) {\n        setTimeout(() => nextItem.ref.current.focus());\n      }\n    });\n    const itemRefCallback = React.useCallback(\n      (node, value, disabled) => {\n        const isFirstValidItem = !firstValidItemFoundRef.current && !disabled;\n        const isSelectedItem = context.value !== void 0 && context.value === value;\n        if (isSelectedItem || isFirstValidItem) {\n          setSelectedItem(node);\n          if (isFirstValidItem) firstValidItemFoundRef.current = true;\n        }\n      },\n      [context.value]\n    );\n    const handleItemLeave = React.useCallback(() => content?.focus(), [content]);\n    const itemTextRefCallback = React.useCallback(\n      (node, value, disabled) => {\n        const isFirstValidItem = !firstValidItemFoundRef.current && !disabled;\n        const isSelectedItem = context.value !== void 0 && context.value === value;\n        if (isSelectedItem || isFirstValidItem) {\n          setSelectedItemText(node);\n        }\n      },\n      [context.value]\n    );\n    const SelectPosition = position === \"popper\" ? SelectPopperPosition : SelectItemAlignedPosition;\n    const popperContentProps = SelectPosition === SelectPopperPosition ? {\n      side,\n      sideOffset,\n      align,\n      alignOffset,\n      arrowPadding,\n      collisionBoundary,\n      collisionPadding,\n      sticky,\n      hideWhenDetached,\n      avoidCollisions\n    } : {};\n    return /* @__PURE__ */ jsx(\n      SelectContentProvider,\n      {\n        scope: __scopeSelect,\n        content,\n        viewport,\n        onViewportChange: setViewport,\n        itemRefCallback,\n        selectedItem,\n        onItemLeave: handleItemLeave,\n        itemTextRefCallback,\n        focusSelectedItem,\n        selectedItemText,\n        position,\n        isPositioned,\n        searchRef,\n        children: /* @__PURE__ */ jsx(RemoveScroll, { as: Slot, allowPinchZoom: true, children: /* @__PURE__ */ jsx(\n          FocusScope,\n          {\n            asChild: true,\n            trapped: context.open,\n            onMountAutoFocus: (event) => {\n              event.preventDefault();\n            },\n            onUnmountAutoFocus: composeEventHandlers(onCloseAutoFocus, (event) => {\n              context.trigger?.focus({ preventScroll: true });\n              event.preventDefault();\n            }),\n            children: /* @__PURE__ */ jsx(\n              DismissableLayer,\n              {\n                asChild: true,\n                disableOutsidePointerEvents: true,\n                onEscapeKeyDown,\n                onPointerDownOutside,\n                onFocusOutside: (event) => event.preventDefault(),\n                onDismiss: () => context.onOpenChange(false),\n                children: /* @__PURE__ */ jsx(\n                  SelectPosition,\n                  {\n                    role: \"listbox\",\n                    id: context.contentId,\n                    \"data-state\": context.open ? \"open\" : \"closed\",\n                    dir: context.dir,\n                    onContextMenu: (event) => event.preventDefault(),\n                    ...contentProps,\n                    ...popperContentProps,\n                    onPlaced: () => setIsPositioned(true),\n                    ref: composedRefs,\n                    style: {\n                      // flex layout so we can place the scroll buttons properly\n                      display: \"flex\",\n                      flexDirection: \"column\",\n                      // reset the outline by default as the content MAY get focused\n                      outline: \"none\",\n                      ...contentProps.style\n                    },\n                    onKeyDown: composeEventHandlers(contentProps.onKeyDown, (event) => {\n                      const isModifierKey = event.ctrlKey || event.altKey || event.metaKey;\n                      if (event.key === \"Tab\") event.preventDefault();\n                      if (!isModifierKey && event.key.length === 1) handleTypeaheadSearch(event.key);\n                      if ([\"ArrowUp\", \"ArrowDown\", \"Home\", \"End\"].includes(event.key)) {\n                        const items = getItems().filter((item) => !item.disabled);\n                        let candidateNodes = items.map((item) => item.ref.current);\n                        if ([\"ArrowUp\", \"End\"].includes(event.key)) {\n                          candidateNodes = candidateNodes.slice().reverse();\n                        }\n                        if ([\"ArrowUp\", \"ArrowDown\"].includes(event.key)) {\n                          const currentElement = event.target;\n                          const currentIndex = candidateNodes.indexOf(currentElement);\n                          candidateNodes = candidateNodes.slice(currentIndex + 1);\n                        }\n                        setTimeout(() => focusFirst(candidateNodes));\n                        event.preventDefault();\n                      }\n                    })\n                  }\n                )\n              }\n            )\n          }\n        ) })\n      }\n    );\n  }\n);\nSelectContentImpl.displayName = CONTENT_IMPL_NAME;\nvar ITEM_ALIGNED_POSITION_NAME = \"SelectItemAlignedPosition\";\nvar SelectItemAlignedPosition = React.forwardRef((props, forwardedRef) => {\n  const { __scopeSelect, onPlaced, ...popperProps } = props;\n  const context = useSelectContext(CONTENT_NAME, __scopeSelect);\n  const contentContext = useSelectContentContext(CONTENT_NAME, __scopeSelect);\n  const [contentWrapper, setContentWrapper] = React.useState(null);\n  const [content, setContent] = React.useState(null);\n  const composedRefs = useComposedRefs(forwardedRef, (node) => setContent(node));\n  const getItems = useCollection(__scopeSelect);\n  const shouldExpandOnScrollRef = React.useRef(false);\n  const shouldRepositionRef = React.useRef(true);\n  const { viewport, selectedItem, selectedItemText, focusSelectedItem } = contentContext;\n  const position = React.useCallback(() => {\n    if (context.trigger && context.valueNode && contentWrapper && content && viewport && selectedItem && selectedItemText) {\n      const triggerRect = context.trigger.getBoundingClientRect();\n      const contentRect = content.getBoundingClientRect();\n      const valueNodeRect = context.valueNode.getBoundingClientRect();\n      const itemTextRect = selectedItemText.getBoundingClientRect();\n      if (context.dir !== \"rtl\") {\n        const itemTextOffset = itemTextRect.left - contentRect.left;\n        const left = valueNodeRect.left - itemTextOffset;\n        const leftDelta = triggerRect.left - left;\n        const minContentWidth = triggerRect.width + leftDelta;\n        const contentWidth = Math.max(minContentWidth, contentRect.width);\n        const rightEdge = window.innerWidth - CONTENT_MARGIN;\n        const clampedLeft = clamp(left, [\n          CONTENT_MARGIN,\n          // Prevents the content from going off the starting edge of the\n          // viewport. It may still go off the ending edge, but this can be\n          // controlled by the user since they may want to manage overflow in a\n          // specific way.\n          // https://github.com/radix-ui/primitives/issues/2049\n          Math.max(CONTENT_MARGIN, rightEdge - contentWidth)\n        ]);\n        contentWrapper.style.minWidth = minContentWidth + \"px\";\n        contentWrapper.style.left = clampedLeft + \"px\";\n      } else {\n        const itemTextOffset = contentRect.right - itemTextRect.right;\n        const right = window.innerWidth - valueNodeRect.right - itemTextOffset;\n        const rightDelta = window.innerWidth - triggerRect.right - right;\n        const minContentWidth = triggerRect.width + rightDelta;\n        const contentWidth = Math.max(minContentWidth, contentRect.width);\n        const leftEdge = window.innerWidth - CONTENT_MARGIN;\n        const clampedRight = clamp(right, [\n          CONTENT_MARGIN,\n          Math.max(CONTENT_MARGIN, leftEdge - contentWidth)\n        ]);\n        contentWrapper.style.minWidth = minContentWidth + \"px\";\n        contentWrapper.style.right = clampedRight + \"px\";\n      }\n      const items = getItems();\n      const availableHeight = window.innerHeight - CONTENT_MARGIN * 2;\n      const itemsHeight = viewport.scrollHeight;\n      const contentStyles = window.getComputedStyle(content);\n      const contentBorderTopWidth = parseInt(contentStyles.borderTopWidth, 10);\n      const contentPaddingTop = parseInt(contentStyles.paddingTop, 10);\n      const contentBorderBottomWidth = parseInt(contentStyles.borderBottomWidth, 10);\n      const contentPaddingBottom = parseInt(contentStyles.paddingBottom, 10);\n      const fullContentHeight = contentBorderTopWidth + contentPaddingTop + itemsHeight + contentPaddingBottom + contentBorderBottomWidth;\n      const minContentHeight = Math.min(selectedItem.offsetHeight * 5, fullContentHeight);\n      const viewportStyles = window.getComputedStyle(viewport);\n      const viewportPaddingTop = parseInt(viewportStyles.paddingTop, 10);\n      const viewportPaddingBottom = parseInt(viewportStyles.paddingBottom, 10);\n      const topEdgeToTriggerMiddle = triggerRect.top + triggerRect.height / 2 - CONTENT_MARGIN;\n      const triggerMiddleToBottomEdge = availableHeight - topEdgeToTriggerMiddle;\n      const selectedItemHalfHeight = selectedItem.offsetHeight / 2;\n      const itemOffsetMiddle = selectedItem.offsetTop + selectedItemHalfHeight;\n      const contentTopToItemMiddle = contentBorderTopWidth + contentPaddingTop + itemOffsetMiddle;\n      const itemMiddleToContentBottom = fullContentHeight - contentTopToItemMiddle;\n      const willAlignWithoutTopOverflow = contentTopToItemMiddle <= topEdgeToTriggerMiddle;\n      if (willAlignWithoutTopOverflow) {\n        const isLastItem = items.length > 0 && selectedItem === items[items.length - 1].ref.current;\n        contentWrapper.style.bottom = \"0px\";\n        const viewportOffsetBottom = content.clientHeight - viewport.offsetTop - viewport.offsetHeight;\n        const clampedTriggerMiddleToBottomEdge = Math.max(\n          triggerMiddleToBottomEdge,\n          selectedItemHalfHeight + // viewport might have padding bottom, include it to avoid a scrollable viewport\n          (isLastItem ? viewportPaddingBottom : 0) + viewportOffsetBottom + contentBorderBottomWidth\n        );\n        const height = contentTopToItemMiddle + clampedTriggerMiddleToBottomEdge;\n        contentWrapper.style.height = height + \"px\";\n      } else {\n        const isFirstItem = items.length > 0 && selectedItem === items[0].ref.current;\n        contentWrapper.style.top = \"0px\";\n        const clampedTopEdgeToTriggerMiddle = Math.max(\n          topEdgeToTriggerMiddle,\n          contentBorderTopWidth + viewport.offsetTop + // viewport might have padding top, include it to avoid a scrollable viewport\n          (isFirstItem ? viewportPaddingTop : 0) + selectedItemHalfHeight\n        );\n        const height = clampedTopEdgeToTriggerMiddle + itemMiddleToContentBottom;\n        contentWrapper.style.height = height + \"px\";\n        viewport.scrollTop = contentTopToItemMiddle - topEdgeToTriggerMiddle + viewport.offsetTop;\n      }\n      contentWrapper.style.margin = `${CONTENT_MARGIN}px 0`;\n      contentWrapper.style.minHeight = minContentHeight + \"px\";\n      contentWrapper.style.maxHeight = availableHeight + \"px\";\n      onPlaced?.();\n      requestAnimationFrame(() => shouldExpandOnScrollRef.current = true);\n    }\n  }, [\n    getItems,\n    context.trigger,\n    context.valueNode,\n    contentWrapper,\n    content,\n    viewport,\n    selectedItem,\n    selectedItemText,\n    context.dir,\n    onPlaced\n  ]);\n  useLayoutEffect(() => position(), [position]);\n  const [contentZIndex, setContentZIndex] = React.useState();\n  useLayoutEffect(() => {\n    if (content) setContentZIndex(window.getComputedStyle(content).zIndex);\n  }, [content]);\n  const handleScrollButtonChange = React.useCallback(\n    (node) => {\n      if (node && shouldRepositionRef.current === true) {\n        position();\n        focusSelectedItem?.();\n        shouldRepositionRef.current = false;\n      }\n    },\n    [position, focusSelectedItem]\n  );\n  return /* @__PURE__ */ jsx(\n    SelectViewportProvider,\n    {\n      scope: __scopeSelect,\n      contentWrapper,\n      shouldExpandOnScrollRef,\n      onScrollButtonChange: handleScrollButtonChange,\n      children: /* @__PURE__ */ jsx(\n        \"div\",\n        {\n          ref: setContentWrapper,\n          style: {\n            display: \"flex\",\n            flexDirection: \"column\",\n            position: \"fixed\",\n            zIndex: contentZIndex\n          },\n          children: /* @__PURE__ */ jsx(\n            Primitive.div,\n            {\n              ...popperProps,\n              ref: composedRefs,\n              style: {\n                // When we get the height of the content, it includes borders. If we were to set\n                // the height without having `boxSizing: 'border-box'` it would be too big.\n                boxSizing: \"border-box\",\n                // We need to ensure the content doesn't get taller than the wrapper\n                maxHeight: \"100%\",\n                ...popperProps.style\n              }\n            }\n          )\n        }\n      )\n    }\n  );\n});\nSelectItemAlignedPosition.displayName = ITEM_ALIGNED_POSITION_NAME;\nvar POPPER_POSITION_NAME = \"SelectPopperPosition\";\nvar SelectPopperPosition = React.forwardRef((props, forwardedRef) => {\n  const {\n    __scopeSelect,\n    align = \"start\",\n    collisionPadding = CONTENT_MARGIN,\n    ...popperProps\n  } = props;\n  const popperScope = usePopperScope(__scopeSelect);\n  return /* @__PURE__ */ jsx(\n    PopperPrimitive.Content,\n    {\n      ...popperScope,\n      ...popperProps,\n      ref: forwardedRef,\n      align,\n      collisionPadding,\n      style: {\n        // Ensure border-box for floating-ui calculations\n        boxSizing: \"border-box\",\n        ...popperProps.style,\n        // re-namespace exposed content custom properties\n        ...{\n          \"--radix-select-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n          \"--radix-select-content-available-width\": \"var(--radix-popper-available-width)\",\n          \"--radix-select-content-available-height\": \"var(--radix-popper-available-height)\",\n          \"--radix-select-trigger-width\": \"var(--radix-popper-anchor-width)\",\n          \"--radix-select-trigger-height\": \"var(--radix-popper-anchor-height)\"\n        }\n      }\n    }\n  );\n});\nSelectPopperPosition.displayName = POPPER_POSITION_NAME;\nvar [SelectViewportProvider, useSelectViewportContext] = createSelectContext(CONTENT_NAME, {});\nvar VIEWPORT_NAME = \"SelectViewport\";\nvar SelectViewport = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeSelect, nonce, ...viewportProps } = props;\n    const contentContext = useSelectContentContext(VIEWPORT_NAME, __scopeSelect);\n    const viewportContext = useSelectViewportContext(VIEWPORT_NAME, __scopeSelect);\n    const composedRefs = useComposedRefs(forwardedRef, contentContext.onViewportChange);\n    const prevScrollTopRef = React.useRef(0);\n    return /* @__PURE__ */ jsxs(Fragment, { children: [\n      /* @__PURE__ */ jsx(\n        \"style\",\n        {\n          dangerouslySetInnerHTML: {\n            __html: `[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}`\n          },\n          nonce\n        }\n      ),\n      /* @__PURE__ */ jsx(Collection.Slot, { scope: __scopeSelect, children: /* @__PURE__ */ jsx(\n        Primitive.div,\n        {\n          \"data-radix-select-viewport\": \"\",\n          role: \"presentation\",\n          ...viewportProps,\n          ref: composedRefs,\n          style: {\n            // we use position: 'relative' here on the `viewport` so that when we call\n            // `selectedItem.offsetTop` in calculations, the offset is relative to the viewport\n            // (independent of the scrollUpButton).\n            position: \"relative\",\n            flex: 1,\n            // Viewport should only be scrollable in the vertical direction.\n            // This won't work in vertical writing modes, so we'll need to\n            // revisit this if/when that is supported\n            // https://developer.chrome.com/blog/vertical-form-controls\n            overflow: \"hidden auto\",\n            ...viewportProps.style\n          },\n          onScroll: composeEventHandlers(viewportProps.onScroll, (event) => {\n            const viewport = event.currentTarget;\n            const { contentWrapper, shouldExpandOnScrollRef } = viewportContext;\n            if (shouldExpandOnScrollRef?.current && contentWrapper) {\n              const scrolledBy = Math.abs(prevScrollTopRef.current - viewport.scrollTop);\n              if (scrolledBy > 0) {\n                const availableHeight = window.innerHeight - CONTENT_MARGIN * 2;\n                const cssMinHeight = parseFloat(contentWrapper.style.minHeight);\n                const cssHeight = parseFloat(contentWrapper.style.height);\n                const prevHeight = Math.max(cssMinHeight, cssHeight);\n                if (prevHeight < availableHeight) {\n                  const nextHeight = prevHeight + scrolledBy;\n                  const clampedNextHeight = Math.min(availableHeight, nextHeight);\n                  const heightDiff = nextHeight - clampedNextHeight;\n                  contentWrapper.style.height = clampedNextHeight + \"px\";\n                  if (contentWrapper.style.bottom === \"0px\") {\n                    viewport.scrollTop = heightDiff > 0 ? heightDiff : 0;\n                    contentWrapper.style.justifyContent = \"flex-end\";\n                  }\n                }\n              }\n            }\n            prevScrollTopRef.current = viewport.scrollTop;\n          })\n        }\n      ) })\n    ] });\n  }\n);\nSelectViewport.displayName = VIEWPORT_NAME;\nvar GROUP_NAME = \"SelectGroup\";\nvar [SelectGroupContextProvider, useSelectGroupContext] = createSelectContext(GROUP_NAME);\nvar SelectGroup = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeSelect, ...groupProps } = props;\n    const groupId = useId();\n    return /* @__PURE__ */ jsx(SelectGroupContextProvider, { scope: __scopeSelect, id: groupId, children: /* @__PURE__ */ jsx(Primitive.div, { role: \"group\", \"aria-labelledby\": groupId, ...groupProps, ref: forwardedRef }) });\n  }\n);\nSelectGroup.displayName = GROUP_NAME;\nvar LABEL_NAME = \"SelectLabel\";\nvar SelectLabel = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeSelect, ...labelProps } = props;\n    const groupContext = useSelectGroupContext(LABEL_NAME, __scopeSelect);\n    return /* @__PURE__ */ jsx(Primitive.div, { id: groupContext.id, ...labelProps, ref: forwardedRef });\n  }\n);\nSelectLabel.displayName = LABEL_NAME;\nvar ITEM_NAME = \"SelectItem\";\nvar [SelectItemContextProvider, useSelectItemContext] = createSelectContext(ITEM_NAME);\nvar SelectItem = React.forwardRef(\n  (props, forwardedRef) => {\n    const {\n      __scopeSelect,\n      value,\n      disabled = false,\n      textValue: textValueProp,\n      ...itemProps\n    } = props;\n    const context = useSelectContext(ITEM_NAME, __scopeSelect);\n    const contentContext = useSelectContentContext(ITEM_NAME, __scopeSelect);\n    const isSelected = context.value === value;\n    const [textValue, setTextValue] = React.useState(textValueProp ?? \"\");\n    const [isFocused, setIsFocused] = React.useState(false);\n    const composedRefs = useComposedRefs(\n      forwardedRef,\n      (node) => contentContext.itemRefCallback?.(node, value, disabled)\n    );\n    const textId = useId();\n    const pointerTypeRef = React.useRef(\"touch\");\n    const handleSelect = () => {\n      if (!disabled) {\n        context.onValueChange(value);\n        context.onOpenChange(false);\n      }\n    };\n    if (value === \"\") {\n      throw new Error(\n        \"A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.\"\n      );\n    }\n    return /* @__PURE__ */ jsx(\n      SelectItemContextProvider,\n      {\n        scope: __scopeSelect,\n        value,\n        disabled,\n        textId,\n        isSelected,\n        onItemTextChange: React.useCallback((node) => {\n          setTextValue((prevTextValue) => prevTextValue || (node?.textContent ?? \"\").trim());\n        }, []),\n        children: /* @__PURE__ */ jsx(\n          Collection.ItemSlot,\n          {\n            scope: __scopeSelect,\n            value,\n            disabled,\n            textValue,\n            children: /* @__PURE__ */ jsx(\n              Primitive.div,\n              {\n                role: \"option\",\n                \"aria-labelledby\": textId,\n                \"data-highlighted\": isFocused ? \"\" : void 0,\n                \"aria-selected\": isSelected && isFocused,\n                \"data-state\": isSelected ? \"checked\" : \"unchecked\",\n                \"aria-disabled\": disabled || void 0,\n                \"data-disabled\": disabled ? \"\" : void 0,\n                tabIndex: disabled ? void 0 : -1,\n                ...itemProps,\n                ref: composedRefs,\n                onFocus: composeEventHandlers(itemProps.onFocus, () => setIsFocused(true)),\n                onBlur: composeEventHandlers(itemProps.onBlur, () => setIsFocused(false)),\n                onClick: composeEventHandlers(itemProps.onClick, () => {\n                  if (pointerTypeRef.current !== \"mouse\") handleSelect();\n                }),\n                onPointerUp: composeEventHandlers(itemProps.onPointerUp, () => {\n                  if (pointerTypeRef.current === \"mouse\") handleSelect();\n                }),\n                onPointerDown: composeEventHandlers(itemProps.onPointerDown, (event) => {\n                  pointerTypeRef.current = event.pointerType;\n                }),\n                onPointerMove: composeEventHandlers(itemProps.onPointerMove, (event) => {\n                  pointerTypeRef.current = event.pointerType;\n                  if (disabled) {\n                    contentContext.onItemLeave?.();\n                  } else if (pointerTypeRef.current === \"mouse\") {\n                    event.currentTarget.focus({ preventScroll: true });\n                  }\n                }),\n                onPointerLeave: composeEventHandlers(itemProps.onPointerLeave, (event) => {\n                  if (event.currentTarget === document.activeElement) {\n                    contentContext.onItemLeave?.();\n                  }\n                }),\n                onKeyDown: composeEventHandlers(itemProps.onKeyDown, (event) => {\n                  const isTypingAhead = contentContext.searchRef?.current !== \"\";\n                  if (isTypingAhead && event.key === \" \") return;\n                  if (SELECTION_KEYS.includes(event.key)) handleSelect();\n                  if (event.key === \" \") event.preventDefault();\n                })\n              }\n            )\n          }\n        )\n      }\n    );\n  }\n);\nSelectItem.displayName = ITEM_NAME;\nvar ITEM_TEXT_NAME = \"SelectItemText\";\nvar SelectItemText = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeSelect, className, style, ...itemTextProps } = props;\n    const context = useSelectContext(ITEM_TEXT_NAME, __scopeSelect);\n    const contentContext = useSelectContentContext(ITEM_TEXT_NAME, __scopeSelect);\n    const itemContext = useSelectItemContext(ITEM_TEXT_NAME, __scopeSelect);\n    const nativeOptionsContext = useSelectNativeOptionsContext(ITEM_TEXT_NAME, __scopeSelect);\n    const [itemTextNode, setItemTextNode] = React.useState(null);\n    const composedRefs = useComposedRefs(\n      forwardedRef,\n      (node) => setItemTextNode(node),\n      itemContext.onItemTextChange,\n      (node) => contentContext.itemTextRefCallback?.(node, itemContext.value, itemContext.disabled)\n    );\n    const textContent = itemTextNode?.textContent;\n    const nativeOption = React.useMemo(\n      () => /* @__PURE__ */ jsx(\"option\", { value: itemContext.value, disabled: itemContext.disabled, children: textContent }, itemContext.value),\n      [itemContext.disabled, itemContext.value, textContent]\n    );\n    const { onNativeOptionAdd, onNativeOptionRemove } = nativeOptionsContext;\n    useLayoutEffect(() => {\n      onNativeOptionAdd(nativeOption);\n      return () => onNativeOptionRemove(nativeOption);\n    }, [onNativeOptionAdd, onNativeOptionRemove, nativeOption]);\n    return /* @__PURE__ */ jsxs(Fragment, { children: [\n      /* @__PURE__ */ jsx(Primitive.span, { id: itemContext.textId, ...itemTextProps, ref: composedRefs }),\n      itemContext.isSelected && context.valueNode && !context.valueNodeHasChildren ? ReactDOM.createPortal(itemTextProps.children, context.valueNode) : null\n    ] });\n  }\n);\nSelectItemText.displayName = ITEM_TEXT_NAME;\nvar ITEM_INDICATOR_NAME = \"SelectItemIndicator\";\nvar SelectItemIndicator = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeSelect, ...itemIndicatorProps } = props;\n    const itemContext = useSelectItemContext(ITEM_INDICATOR_NAME, __scopeSelect);\n    return itemContext.isSelected ? /* @__PURE__ */ jsx(Primitive.span, { \"aria-hidden\": true, ...itemIndicatorProps, ref: forwardedRef }) : null;\n  }\n);\nSelectItemIndicator.displayName = ITEM_INDICATOR_NAME;\nvar SCROLL_UP_BUTTON_NAME = \"SelectScrollUpButton\";\nvar SelectScrollUpButton = React.forwardRef((props, forwardedRef) => {\n  const contentContext = useSelectContentContext(SCROLL_UP_BUTTON_NAME, props.__scopeSelect);\n  const viewportContext = useSelectViewportContext(SCROLL_UP_BUTTON_NAME, props.__scopeSelect);\n  const [canScrollUp, setCanScrollUp] = React.useState(false);\n  const composedRefs = useComposedRefs(forwardedRef, viewportContext.onScrollButtonChange);\n  useLayoutEffect(() => {\n    if (contentContext.viewport && contentContext.isPositioned) {\n      let handleScroll2 = function() {\n        const canScrollUp2 = viewport.scrollTop > 0;\n        setCanScrollUp(canScrollUp2);\n      };\n      var handleScroll = handleScroll2;\n      const viewport = contentContext.viewport;\n      handleScroll2();\n      viewport.addEventListener(\"scroll\", handleScroll2);\n      return () => viewport.removeEventListener(\"scroll\", handleScroll2);\n    }\n  }, [contentContext.viewport, contentContext.isPositioned]);\n  return canScrollUp ? /* @__PURE__ */ jsx(\n    SelectScrollButtonImpl,\n    {\n      ...props,\n      ref: composedRefs,\n      onAutoScroll: () => {\n        const { viewport, selectedItem } = contentContext;\n        if (viewport && selectedItem) {\n          viewport.scrollTop = viewport.scrollTop - selectedItem.offsetHeight;\n        }\n      }\n    }\n  ) : null;\n});\nSelectScrollUpButton.displayName = SCROLL_UP_BUTTON_NAME;\nvar SCROLL_DOWN_BUTTON_NAME = \"SelectScrollDownButton\";\nvar SelectScrollDownButton = React.forwardRef((props, forwardedRef) => {\n  const contentContext = useSelectContentContext(SCROLL_DOWN_BUTTON_NAME, props.__scopeSelect);\n  const viewportContext = useSelectViewportContext(SCROLL_DOWN_BUTTON_NAME, props.__scopeSelect);\n  const [canScrollDown, setCanScrollDown] = React.useState(false);\n  const composedRefs = useComposedRefs(forwardedRef, viewportContext.onScrollButtonChange);\n  useLayoutEffect(() => {\n    if (contentContext.viewport && contentContext.isPositioned) {\n      let handleScroll2 = function() {\n        const maxScroll = viewport.scrollHeight - viewport.clientHeight;\n        const canScrollDown2 = Math.ceil(viewport.scrollTop) < maxScroll;\n        setCanScrollDown(canScrollDown2);\n      };\n      var handleScroll = handleScroll2;\n      const viewport = contentContext.viewport;\n      handleScroll2();\n      viewport.addEventListener(\"scroll\", handleScroll2);\n      return () => viewport.removeEventListener(\"scroll\", handleScroll2);\n    }\n  }, [contentContext.viewport, contentContext.isPositioned]);\n  return canScrollDown ? /* @__PURE__ */ jsx(\n    SelectScrollButtonImpl,\n    {\n      ...props,\n      ref: composedRefs,\n      onAutoScroll: () => {\n        const { viewport, selectedItem } = contentContext;\n        if (viewport && selectedItem) {\n          viewport.scrollTop = viewport.scrollTop + selectedItem.offsetHeight;\n        }\n      }\n    }\n  ) : null;\n});\nSelectScrollDownButton.displayName = SCROLL_DOWN_BUTTON_NAME;\nvar SelectScrollButtonImpl = React.forwardRef((props, forwardedRef) => {\n  const { __scopeSelect, onAutoScroll, ...scrollIndicatorProps } = props;\n  const contentContext = useSelectContentContext(\"SelectScrollButton\", __scopeSelect);\n  const autoScrollTimerRef = React.useRef(null);\n  const getItems = useCollection(__scopeSelect);\n  const clearAutoScrollTimer = React.useCallback(() => {\n    if (autoScrollTimerRef.current !== null) {\n      window.clearInterval(autoScrollTimerRef.current);\n      autoScrollTimerRef.current = null;\n    }\n  }, []);\n  React.useEffect(() => {\n    return () => clearAutoScrollTimer();\n  }, [clearAutoScrollTimer]);\n  useLayoutEffect(() => {\n    const activeItem = getItems().find((item) => item.ref.current === document.activeElement);\n    activeItem?.ref.current?.scrollIntoView({ block: \"nearest\" });\n  }, [getItems]);\n  return /* @__PURE__ */ jsx(\n    Primitive.div,\n    {\n      \"aria-hidden\": true,\n      ...scrollIndicatorProps,\n      ref: forwardedRef,\n      style: { flexShrink: 0, ...scrollIndicatorProps.style },\n      onPointerDown: composeEventHandlers(scrollIndicatorProps.onPointerDown, () => {\n        if (autoScrollTimerRef.current === null) {\n          autoScrollTimerRef.current = window.setInterval(onAutoScroll, 50);\n        }\n      }),\n      onPointerMove: composeEventHandlers(scrollIndicatorProps.onPointerMove, () => {\n        contentContext.onItemLeave?.();\n        if (autoScrollTimerRef.current === null) {\n          autoScrollTimerRef.current = window.setInterval(onAutoScroll, 50);\n        }\n      }),\n      onPointerLeave: composeEventHandlers(scrollIndicatorProps.onPointerLeave, () => {\n        clearAutoScrollTimer();\n      })\n    }\n  );\n});\nvar SEPARATOR_NAME = \"SelectSeparator\";\nvar SelectSeparator = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeSelect, ...separatorProps } = props;\n    return /* @__PURE__ */ jsx(Primitive.div, { \"aria-hidden\": true, ...separatorProps, ref: forwardedRef });\n  }\n);\nSelectSeparator.displayName = SEPARATOR_NAME;\nvar ARROW_NAME = \"SelectArrow\";\nvar SelectArrow = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeSelect, ...arrowProps } = props;\n    const popperScope = usePopperScope(__scopeSelect);\n    const context = useSelectContext(ARROW_NAME, __scopeSelect);\n    const contentContext = useSelectContentContext(ARROW_NAME, __scopeSelect);\n    return context.open && contentContext.position === \"popper\" ? /* @__PURE__ */ jsx(PopperPrimitive.Arrow, { ...popperScope, ...arrowProps, ref: forwardedRef }) : null;\n  }\n);\nSelectArrow.displayName = ARROW_NAME;\nvar BUBBLE_INPUT_NAME = \"SelectBubbleInput\";\nvar SelectBubbleInput = React.forwardRef(\n  ({ __scopeSelect, value, ...props }, forwardedRef) => {\n    const ref = React.useRef(null);\n    const composedRefs = useComposedRefs(forwardedRef, ref);\n    const prevValue = usePrevious(value);\n    React.useEffect(() => {\n      const select = ref.current;\n      if (!select) return;\n      const selectProto = window.HTMLSelectElement.prototype;\n      const descriptor = Object.getOwnPropertyDescriptor(\n        selectProto,\n        \"value\"\n      );\n      const setValue = descriptor.set;\n      if (prevValue !== value && setValue) {\n        const event = new Event(\"change\", { bubbles: true });\n        setValue.call(select, value);\n        select.dispatchEvent(event);\n      }\n    }, [prevValue, value]);\n    return /* @__PURE__ */ jsx(\n      Primitive.select,\n      {\n        ...props,\n        style: { ...VISUALLY_HIDDEN_STYLES, ...props.style },\n        ref: composedRefs,\n        defaultValue: value\n      }\n    );\n  }\n);\nSelectBubbleInput.displayName = BUBBLE_INPUT_NAME;\nfunction shouldShowPlaceholder(value) {\n  return value === \"\" || value === void 0;\n}\nfunction useTypeaheadSearch(onSearchChange) {\n  const handleSearchChange = useCallbackRef(onSearchChange);\n  const searchRef = React.useRef(\"\");\n  const timerRef = React.useRef(0);\n  const handleTypeaheadSearch = React.useCallback(\n    (key) => {\n      const search = searchRef.current + key;\n      handleSearchChange(search);\n      (function updateSearch(value) {\n        searchRef.current = value;\n        window.clearTimeout(timerRef.current);\n        if (value !== \"\") timerRef.current = window.setTimeout(() => updateSearch(\"\"), 1e3);\n      })(search);\n    },\n    [handleSearchChange]\n  );\n  const resetTypeahead = React.useCallback(() => {\n    searchRef.current = \"\";\n    window.clearTimeout(timerRef.current);\n  }, []);\n  React.useEffect(() => {\n    return () => window.clearTimeout(timerRef.current);\n  }, []);\n  return [searchRef, handleTypeaheadSearch, resetTypeahead];\n}\nfunction findNextItem(items, search, currentItem) {\n  const isRepeated = search.length > 1 && Array.from(search).every((char) => char === search[0]);\n  const normalizedSearch = isRepeated ? search[0] : search;\n  const currentItemIndex = currentItem ? items.indexOf(currentItem) : -1;\n  let wrappedItems = wrapArray(items, Math.max(currentItemIndex, 0));\n  const excludeCurrentItem = normalizedSearch.length === 1;\n  if (excludeCurrentItem) wrappedItems = wrappedItems.filter((v) => v !== currentItem);\n  const nextItem = wrappedItems.find(\n    (item) => item.textValue.toLowerCase().startsWith(normalizedSearch.toLowerCase())\n  );\n  return nextItem !== currentItem ? nextItem : void 0;\n}\nfunction wrapArray(array, startIndex) {\n  return array.map((_, index) => array[(startIndex + index) % array.length]);\n}\nvar Root2 = Select;\nvar Trigger = SelectTrigger;\nvar Value = SelectValue;\nvar Icon = SelectIcon;\nvar Portal = SelectPortal;\nvar Content2 = SelectContent;\nvar Viewport = SelectViewport;\nvar Group = SelectGroup;\nvar Label = SelectLabel;\nvar Item = SelectItem;\nvar ItemText = SelectItemText;\nvar ItemIndicator = SelectItemIndicator;\nvar ScrollUpButton = SelectScrollUpButton;\nvar ScrollDownButton = SelectScrollDownButton;\nvar Separator = SelectSeparator;\nvar Arrow2 = SelectArrow;\nexport {\n  Arrow2 as Arrow,\n  Content2 as Content,\n  Group,\n  Icon,\n  Item,\n  ItemIndicator,\n  ItemText,\n  Label,\n  Portal,\n  Root2 as Root,\n  ScrollDownButton,\n  ScrollUpButton,\n  Select,\n  SelectArrow,\n  SelectContent,\n  SelectGroup,\n  SelectIcon,\n  SelectItem,\n  SelectItemIndicator,\n  SelectItemText,\n  SelectLabel,\n  SelectPortal,\n  SelectScrollDownButton,\n  SelectScrollUpButton,\n  SelectSeparator,\n  SelectTrigger,\n  SelectValue,\n  SelectViewport,\n  Separator,\n  Trigger,\n  Value,\n  Viewport,\n  createSelectScope\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/core/number/src/number.ts\nfunction clamp(value, [min, max]) {\n  return Math.min(max, Math.max(min, value));\n}\nexport {\n  clamp\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nvar canUseDOM = !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\nfunction composeEventHandlers(originalEventHandler, ourEventHandler, { checkForDefaultPrevented = true } = {}) {\n  return function handleEvent(event) {\n    originalEventHandler?.(event);\n    if (checkForDefaultPrevented === false || !event.defaultPrevented) {\n      return ourEventHandler?.(event);\n    }\n  };\n}\nfunction getOwnerWindow(element) {\n  if (!canUseDOM) {\n    throw new Error(\"Cannot access window outside of the DOM\");\n  }\n  return element?.ownerDocument?.defaultView ?? window;\n}\nfunction getOwnerDocument(element) {\n  if (!canUseDOM) {\n    throw new Error(\"Cannot access document outside of the DOM\");\n  }\n  return element?.ownerDocument ?? document;\n}\nfunction getActiveElement(node, activeDescendant = false) {\n  const { activeElement } = getOwnerDocument(node);\n  if (!activeElement?.nodeName) {\n    return null;\n  }\n  if (isFrame(activeElement) && activeElement.contentDocument) {\n    return getActiveElement(activeElement.contentDocument.body, activeDescendant);\n  }\n  if (activeDescendant) {\n    const id = activeElement.getAttribute(\"aria-activedescendant\");\n    if (id) {\n      const element = getOwnerDocument(activeElement).getElementById(id);\n      if (element) {\n        return element;\n      }\n    }\n  }\n  return activeElement;\n}\nfunction isFrame(element) {\n  return element.tagName === \"IFRAME\";\n}\nexport {\n  canUseDOM,\n  composeEventHandlers,\n  getActiveElement,\n  getOwnerDocument,\n  getOwnerWindow,\n  isFrame\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/compose-refs/src/compose-refs.tsx\nimport * as React from \"react\";\nfunction setRef(ref, value) {\n  if (typeof ref === \"function\") {\n    return ref(value);\n  } else if (ref !== null && ref !== void 0) {\n    ref.current = value;\n  }\n}\nfunction composeRefs(...refs) {\n  return (node) => {\n    let hasCleanup = false;\n    const cleanups = refs.map((ref) => {\n      const cleanup = setRef(ref, node);\n      if (!hasCleanup && typeof cleanup == \"function\") {\n        hasCleanup = true;\n      }\n      return cleanup;\n    });\n    if (hasCleanup) {\n      return () => {\n        for (let i = 0; i < cleanups.length; i++) {\n          const cleanup = cleanups[i];\n          if (typeof cleanup == \"function\") {\n            cleanup();\n          } else {\n            setRef(refs[i], null);\n          }\n        }\n      };\n    }\n  };\n}\nfunction useComposedRefs(...refs) {\n  return React.useCallback(composeRefs(...refs), refs);\n}\nexport {\n  composeRefs,\n  useComposedRefs\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/context/src/create-context.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createContext2(rootComponentName, defaultContext) {\n  const Context = React.createContext(defaultContext);\n  const Provider = (props) => {\n    const { children, ...context } = props;\n    const value = React.useMemo(() => context, Object.values(context));\n    return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n  };\n  Provider.displayName = rootComponentName + \"Provider\";\n  function useContext2(consumerName) {\n    const context = React.useContext(Context);\n    if (context) return context;\n    if (defaultContext !== void 0) return defaultContext;\n    throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n  }\n  return [Provider, useContext2];\n}\nfunction createContextScope(scopeName, createContextScopeDeps = []) {\n  let defaultContexts = [];\n  function createContext3(rootComponentName, defaultContext) {\n    const BaseContext = React.createContext(defaultContext);\n    const index = defaultContexts.length;\n    defaultContexts = [...defaultContexts, defaultContext];\n    const Provider = (props) => {\n      const { scope, children, ...context } = props;\n      const Context = scope?.[scopeName]?.[index] || BaseContext;\n      const value = React.useMemo(() => context, Object.values(context));\n      return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n    };\n    Provider.displayName = rootComponentName + \"Provider\";\n    function useContext2(consumerName, scope) {\n      const Context = scope?.[scopeName]?.[index] || BaseContext;\n      const context = React.useContext(Context);\n      if (context) return context;\n      if (defaultContext !== void 0) return defaultContext;\n      throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n    }\n    return [Provider, useContext2];\n  }\n  const createScope = () => {\n    const scopeContexts = defaultContexts.map((defaultContext) => {\n      return React.createContext(defaultContext);\n    });\n    return function useScope(scope) {\n      const contexts = scope?.[scopeName] || scopeContexts;\n      return React.useMemo(\n        () => ({ [`__scope${scopeName}`]: { ...scope, [scopeName]: contexts } }),\n        [scope, contexts]\n      );\n    };\n  };\n  createScope.scopeName = scopeName;\n  return [createContext3, composeContextScopes(createScope, ...createContextScopeDeps)];\n}\nfunction composeContextScopes(...scopes) {\n  const baseScope = scopes[0];\n  if (scopes.length === 1) return baseScope;\n  const createScope = () => {\n    const scopeHooks = scopes.map((createScope2) => ({\n      useScope: createScope2(),\n      scopeName: createScope2.scopeName\n    }));\n    return function useComposedScopes(overrideScopes) {\n      const nextScopes = scopeHooks.reduce((nextScopes2, { useScope, scopeName }) => {\n        const scopeProps = useScope(overrideScopes);\n        const currentScope = scopeProps[`__scope${scopeName}`];\n        return { ...nextScopes2, ...currentScope };\n      }, {});\n      return React.useMemo(() => ({ [`__scope${baseScope.scopeName}`]: nextScopes }), [nextScopes]);\n    };\n  };\n  createScope.scopeName = baseScope.scopeName;\n  return createScope;\n}\nexport {\n  createContext2 as createContext,\n  createContextScope\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/direction/src/direction.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nvar DirectionContext = React.createContext(void 0);\nvar DirectionProvider = (props) => {\n  const { dir, children } = props;\n  return /* @__PURE__ */ jsx(DirectionContext.Provider, { value: dir, children });\n};\nfunction useDirection(localDir) {\n  const globalDir = React.useContext(DirectionContext);\n  return localDir || globalDir || \"ltr\";\n}\nvar Provider = DirectionProvider;\nexport {\n  DirectionProvider,\n  Provider,\n  useDirection\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NODES = [\n  \"a\",\n  \"button\",\n  \"div\",\n  \"form\",\n  \"h2\",\n  \"h3\",\n  \"img\",\n  \"input\",\n  \"label\",\n  \"li\",\n  \"nav\",\n  \"ol\",\n  \"p\",\n  \"select\",\n  \"span\",\n  \"svg\",\n  \"ul\"\n];\nvar Primitive = NODES.reduce((primitive, node) => {\n  const Slot = createSlot(`Primitive.${node}`);\n  const Node = React.forwardRef((props, forwardedRef) => {\n    const { asChild, ...primitiveProps } = props;\n    const Comp = asChild ? Slot : node;\n    if (typeof window !== \"undefined\") {\n      window[Symbol.for(\"radix-ui\")] = true;\n    }\n    return /* @__PURE__ */ jsx(Comp, { ...primitiveProps, ref: forwardedRef });\n  });\n  Node.displayName = `Primitive.${node}`;\n  return { ...primitive, [node]: Node };\n}, {});\nfunction dispatchDiscreteCustomEvent(target, event) {\n  if (target) ReactDOM.flushSync(() => target.dispatchEvent(event));\n}\nvar Root = Primitive;\nexport {\n  Primitive,\n  Root,\n  dispatchDiscreteCustomEvent\n};\n//# sourceMappingURL=index.mjs.map\n","// src/slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment as Fragment2, jsx } from \"react/jsx-runtime\";\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n  const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);\n  const Slot2 = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    const childrenArray = React.Children.toArray(children);\n    const slottable = childrenArray.find(isSlottable);\n    if (slottable) {\n      const newElement = slottable.props.children;\n      const newChildren = childrenArray.map((child) => {\n        if (child === slottable) {\n          if (React.Children.count(newElement) > 1) return React.Children.only(null);\n          return React.isValidElement(newElement) ? newElement.props.children : null;\n        } else {\n          return child;\n        }\n      });\n      return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n    }\n    return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n  });\n  Slot2.displayName = `${ownerName}.Slot`;\n  return Slot2;\n}\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlotClone(ownerName) {\n  const SlotClone = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    if (React.isValidElement(children)) {\n      const childrenRef = getElementRef(children);\n      const props2 = mergeProps(slotProps, children.props);\n      if (children.type !== React.Fragment) {\n        props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n      }\n      return React.cloneElement(children, props2);\n    }\n    return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n  });\n  SlotClone.displayName = `${ownerName}.SlotClone`;\n  return SlotClone;\n}\nvar SLOTTABLE_IDENTIFIER = Symbol(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n  const Slottable2 = ({ children }) => {\n    return /* @__PURE__ */ jsx(Fragment2, { children });\n  };\n  Slottable2.displayName = `${ownerName}.Slottable`;\n  Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n  return Slottable2;\n}\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nfunction isSlottable(child) {\n  return React.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\nfunction mergeProps(slotProps, childProps) {\n  const overrideProps = { ...childProps };\n  for (const propName in childProps) {\n    const slotPropValue = slotProps[propName];\n    const childPropValue = childProps[propName];\n    const isHandler = /^on[A-Z]/.test(propName);\n    if (isHandler) {\n      if (slotPropValue && childPropValue) {\n        overrideProps[propName] = (...args) => {\n          const result = childPropValue(...args);\n          slotPropValue(...args);\n          return result;\n        };\n      } else if (slotPropValue) {\n        overrideProps[propName] = slotPropValue;\n      }\n    } else if (propName === \"style\") {\n      overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n    } else if (propName === \"className\") {\n      overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n    }\n  }\n  return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n  let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n  let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.ref;\n  }\n  getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n  mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.props.ref;\n  }\n  return element.props.ref || element.ref;\n}\nexport {\n  Slot as Root,\n  Slot,\n  Slottable,\n  createSlot,\n  createSlottable\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-callback-ref/src/use-callback-ref.tsx\nimport * as React from \"react\";\nfunction useCallbackRef(callback) {\n  const callbackRef = React.useRef(callback);\n  React.useEffect(() => {\n    callbackRef.current = callback;\n  });\n  return React.useMemo(() => (...args) => callbackRef.current?.(...args), []);\n}\nexport {\n  useCallbackRef\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-layout-effect/src/use-layout-effect.tsx\nimport * as React from \"react\";\nvar useLayoutEffect2 = globalThis?.document ? React.useLayoutEffect : () => {\n};\nexport {\n  useLayoutEffect2 as useLayoutEffect\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/switch.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { usePrevious } from \"@radix-ui/react-use-previous\";\nimport { useSize } from \"@radix-ui/react-use-size\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { jsx, jsxs } from \"react/jsx-runtime\";\nvar SWITCH_NAME = \"Switch\";\nvar [createSwitchContext, createSwitchScope] = createContextScope(SWITCH_NAME);\nvar [SwitchProvider, useSwitchContext] = createSwitchContext(SWITCH_NAME);\nvar Switch = React.forwardRef(\n  (props, forwardedRef) => {\n    const {\n      __scopeSwitch,\n      name,\n      checked: checkedProp,\n      defaultChecked,\n      required,\n      disabled,\n      value = \"on\",\n      onCheckedChange,\n      form,\n      ...switchProps\n    } = props;\n    const [button, setButton] = React.useState(null);\n    const composedRefs = useComposedRefs(forwardedRef, (node) => setButton(node));\n    const hasConsumerStoppedPropagationRef = React.useRef(false);\n    const isFormControl = button ? form || !!button.closest(\"form\") : true;\n    const [checked, setChecked] = useControllableState({\n      prop: checkedProp,\n      defaultProp: defaultChecked ?? false,\n      onChange: onCheckedChange,\n      caller: SWITCH_NAME\n    });\n    return /* @__PURE__ */ jsxs(SwitchProvider, { scope: __scopeSwitch, checked, disabled, children: [\n      /* @__PURE__ */ jsx(\n        Primitive.button,\n        {\n          type: \"button\",\n          role: \"switch\",\n          \"aria-checked\": checked,\n          \"aria-required\": required,\n          \"data-state\": getState(checked),\n          \"data-disabled\": disabled ? \"\" : void 0,\n          disabled,\n          value,\n          ...switchProps,\n          ref: composedRefs,\n          onClick: composeEventHandlers(props.onClick, (event) => {\n            setChecked((prevChecked) => !prevChecked);\n            if (isFormControl) {\n              hasConsumerStoppedPropagationRef.current = event.isPropagationStopped();\n              if (!hasConsumerStoppedPropagationRef.current) event.stopPropagation();\n            }\n          })\n        }\n      ),\n      isFormControl && /* @__PURE__ */ jsx(\n        SwitchBubbleInput,\n        {\n          control: button,\n          bubbles: !hasConsumerStoppedPropagationRef.current,\n          name,\n          value,\n          checked,\n          required,\n          disabled,\n          form,\n          style: { transform: \"translateX(-100%)\" }\n        }\n      )\n    ] });\n  }\n);\nSwitch.displayName = SWITCH_NAME;\nvar THUMB_NAME = \"SwitchThumb\";\nvar SwitchThumb = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeSwitch, ...thumbProps } = props;\n    const context = useSwitchContext(THUMB_NAME, __scopeSwitch);\n    return /* @__PURE__ */ jsx(\n      Primitive.span,\n      {\n        \"data-state\": getState(context.checked),\n        \"data-disabled\": context.disabled ? \"\" : void 0,\n        ...thumbProps,\n        ref: forwardedRef\n      }\n    );\n  }\n);\nSwitchThumb.displayName = THUMB_NAME;\nvar BUBBLE_INPUT_NAME = \"SwitchBubbleInput\";\nvar SwitchBubbleInput = React.forwardRef(\n  ({\n    __scopeSwitch,\n    control,\n    checked,\n    bubbles = true,\n    ...props\n  }, forwardedRef) => {\n    const ref = React.useRef(null);\n    const composedRefs = useComposedRefs(ref, forwardedRef);\n    const prevChecked = usePrevious(checked);\n    const controlSize = useSize(control);\n    React.useEffect(() => {\n      const input = ref.current;\n      if (!input) return;\n      const inputProto = window.HTMLInputElement.prototype;\n      const descriptor = Object.getOwnPropertyDescriptor(\n        inputProto,\n        \"checked\"\n      );\n      const setChecked = descriptor.set;\n      if (prevChecked !== checked && setChecked) {\n        const event = new Event(\"click\", { bubbles });\n        setChecked.call(input, checked);\n        input.dispatchEvent(event);\n      }\n    }, [prevChecked, checked, bubbles]);\n    return /* @__PURE__ */ jsx(\n      \"input\",\n      {\n        type: \"checkbox\",\n        \"aria-hidden\": true,\n        defaultChecked: checked,\n        ...props,\n        tabIndex: -1,\n        ref: composedRefs,\n        style: {\n          ...props.style,\n          ...controlSize,\n          position: \"absolute\",\n          pointerEvents: \"none\",\n          opacity: 0,\n          margin: 0\n        }\n      }\n    );\n  }\n);\nSwitchBubbleInput.displayName = BUBBLE_INPUT_NAME;\nfunction getState(checked) {\n  return checked ? \"checked\" : \"unchecked\";\n}\nvar Root = Switch;\nvar Thumb = SwitchThumb;\nexport {\n  Root,\n  Switch,\n  SwitchThumb,\n  Thumb,\n  createSwitchScope\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nvar canUseDOM = !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\nfunction composeEventHandlers(originalEventHandler, ourEventHandler, { checkForDefaultPrevented = true } = {}) {\n  return function handleEvent(event) {\n    originalEventHandler?.(event);\n    if (checkForDefaultPrevented === false || !event.defaultPrevented) {\n      return ourEventHandler?.(event);\n    }\n  };\n}\nfunction getOwnerWindow(element) {\n  if (!canUseDOM) {\n    throw new Error(\"Cannot access window outside of the DOM\");\n  }\n  return element?.ownerDocument?.defaultView ?? window;\n}\nfunction getOwnerDocument(element) {\n  if (!canUseDOM) {\n    throw new Error(\"Cannot access document outside of the DOM\");\n  }\n  return element?.ownerDocument ?? document;\n}\nfunction getActiveElement(node, activeDescendant = false) {\n  const { activeElement } = getOwnerDocument(node);\n  if (!activeElement?.nodeName) {\n    return null;\n  }\n  if (isFrame(activeElement) && activeElement.contentDocument) {\n    return getActiveElement(activeElement.contentDocument.body, activeDescendant);\n  }\n  if (activeDescendant) {\n    const id = activeElement.getAttribute(\"aria-activedescendant\");\n    if (id) {\n      const element = getOwnerDocument(activeElement).getElementById(id);\n      if (element) {\n        return element;\n      }\n    }\n  }\n  return activeElement;\n}\nfunction isFrame(element) {\n  return element.tagName === \"IFRAME\";\n}\nexport {\n  canUseDOM,\n  composeEventHandlers,\n  getActiveElement,\n  getOwnerDocument,\n  getOwnerWindow,\n  isFrame\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/compose-refs/src/compose-refs.tsx\nimport * as React from \"react\";\nfunction setRef(ref, value) {\n  if (typeof ref === \"function\") {\n    return ref(value);\n  } else if (ref !== null && ref !== void 0) {\n    ref.current = value;\n  }\n}\nfunction composeRefs(...refs) {\n  return (node) => {\n    let hasCleanup = false;\n    const cleanups = refs.map((ref) => {\n      const cleanup = setRef(ref, node);\n      if (!hasCleanup && typeof cleanup == \"function\") {\n        hasCleanup = true;\n      }\n      return cleanup;\n    });\n    if (hasCleanup) {\n      return () => {\n        for (let i = 0; i < cleanups.length; i++) {\n          const cleanup = cleanups[i];\n          if (typeof cleanup == \"function\") {\n            cleanup();\n          } else {\n            setRef(refs[i], null);\n          }\n        }\n      };\n    }\n  };\n}\nfunction useComposedRefs(...refs) {\n  return React.useCallback(composeRefs(...refs), refs);\n}\nexport {\n  composeRefs,\n  useComposedRefs\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/context/src/create-context.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createContext2(rootComponentName, defaultContext) {\n  const Context = React.createContext(defaultContext);\n  const Provider = (props) => {\n    const { children, ...context } = props;\n    const value = React.useMemo(() => context, Object.values(context));\n    return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n  };\n  Provider.displayName = rootComponentName + \"Provider\";\n  function useContext2(consumerName) {\n    const context = React.useContext(Context);\n    if (context) return context;\n    if (defaultContext !== void 0) return defaultContext;\n    throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n  }\n  return [Provider, useContext2];\n}\nfunction createContextScope(scopeName, createContextScopeDeps = []) {\n  let defaultContexts = [];\n  function createContext3(rootComponentName, defaultContext) {\n    const BaseContext = React.createContext(defaultContext);\n    const index = defaultContexts.length;\n    defaultContexts = [...defaultContexts, defaultContext];\n    const Provider = (props) => {\n      const { scope, children, ...context } = props;\n      const Context = scope?.[scopeName]?.[index] || BaseContext;\n      const value = React.useMemo(() => context, Object.values(context));\n      return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n    };\n    Provider.displayName = rootComponentName + \"Provider\";\n    function useContext2(consumerName, scope) {\n      const Context = scope?.[scopeName]?.[index] || BaseContext;\n      const context = React.useContext(Context);\n      if (context) return context;\n      if (defaultContext !== void 0) return defaultContext;\n      throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n    }\n    return [Provider, useContext2];\n  }\n  const createScope = () => {\n    const scopeContexts = defaultContexts.map((defaultContext) => {\n      return React.createContext(defaultContext);\n    });\n    return function useScope(scope) {\n      const contexts = scope?.[scopeName] || scopeContexts;\n      return React.useMemo(\n        () => ({ [`__scope${scopeName}`]: { ...scope, [scopeName]: contexts } }),\n        [scope, contexts]\n      );\n    };\n  };\n  createScope.scopeName = scopeName;\n  return [createContext3, composeContextScopes(createScope, ...createContextScopeDeps)];\n}\nfunction composeContextScopes(...scopes) {\n  const baseScope = scopes[0];\n  if (scopes.length === 1) return baseScope;\n  const createScope = () => {\n    const scopeHooks = scopes.map((createScope2) => ({\n      useScope: createScope2(),\n      scopeName: createScope2.scopeName\n    }));\n    return function useComposedScopes(overrideScopes) {\n      const nextScopes = scopeHooks.reduce((nextScopes2, { useScope, scopeName }) => {\n        const scopeProps = useScope(overrideScopes);\n        const currentScope = scopeProps[`__scope${scopeName}`];\n        return { ...nextScopes2, ...currentScope };\n      }, {});\n      return React.useMemo(() => ({ [`__scope${baseScope.scopeName}`]: nextScopes }), [nextScopes]);\n    };\n  };\n  createScope.scopeName = baseScope.scopeName;\n  return createScope;\n}\nexport {\n  createContext2 as createContext,\n  createContextScope\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NODES = [\n  \"a\",\n  \"button\",\n  \"div\",\n  \"form\",\n  \"h2\",\n  \"h3\",\n  \"img\",\n  \"input\",\n  \"label\",\n  \"li\",\n  \"nav\",\n  \"ol\",\n  \"p\",\n  \"select\",\n  \"span\",\n  \"svg\",\n  \"ul\"\n];\nvar Primitive = NODES.reduce((primitive, node) => {\n  const Slot = createSlot(`Primitive.${node}`);\n  const Node = React.forwardRef((props, forwardedRef) => {\n    const { asChild, ...primitiveProps } = props;\n    const Comp = asChild ? Slot : node;\n    if (typeof window !== \"undefined\") {\n      window[Symbol.for(\"radix-ui\")] = true;\n    }\n    return /* @__PURE__ */ jsx(Comp, { ...primitiveProps, ref: forwardedRef });\n  });\n  Node.displayName = `Primitive.${node}`;\n  return { ...primitive, [node]: Node };\n}, {});\nfunction dispatchDiscreteCustomEvent(target, event) {\n  if (target) ReactDOM.flushSync(() => target.dispatchEvent(event));\n}\nvar Root = Primitive;\nexport {\n  Primitive,\n  Root,\n  dispatchDiscreteCustomEvent\n};\n//# sourceMappingURL=index.mjs.map\n","// src/slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment as Fragment2, jsx } from \"react/jsx-runtime\";\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n  const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);\n  const Slot2 = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    const childrenArray = React.Children.toArray(children);\n    const slottable = childrenArray.find(isSlottable);\n    if (slottable) {\n      const newElement = slottable.props.children;\n      const newChildren = childrenArray.map((child) => {\n        if (child === slottable) {\n          if (React.Children.count(newElement) > 1) return React.Children.only(null);\n          return React.isValidElement(newElement) ? newElement.props.children : null;\n        } else {\n          return child;\n        }\n      });\n      return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n    }\n    return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n  });\n  Slot2.displayName = `${ownerName}.Slot`;\n  return Slot2;\n}\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlotClone(ownerName) {\n  const SlotClone = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    if (React.isValidElement(children)) {\n      const childrenRef = getElementRef(children);\n      const props2 = mergeProps(slotProps, children.props);\n      if (children.type !== React.Fragment) {\n        props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n      }\n      return React.cloneElement(children, props2);\n    }\n    return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n  });\n  SlotClone.displayName = `${ownerName}.SlotClone`;\n  return SlotClone;\n}\nvar SLOTTABLE_IDENTIFIER = Symbol(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n  const Slottable2 = ({ children }) => {\n    return /* @__PURE__ */ jsx(Fragment2, { children });\n  };\n  Slottable2.displayName = `${ownerName}.Slottable`;\n  Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n  return Slottable2;\n}\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nfunction isSlottable(child) {\n  return React.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\nfunction mergeProps(slotProps, childProps) {\n  const overrideProps = { ...childProps };\n  for (const propName in childProps) {\n    const slotPropValue = slotProps[propName];\n    const childPropValue = childProps[propName];\n    const isHandler = /^on[A-Z]/.test(propName);\n    if (isHandler) {\n      if (slotPropValue && childPropValue) {\n        overrideProps[propName] = (...args) => {\n          const result = childPropValue(...args);\n          slotPropValue(...args);\n          return result;\n        };\n      } else if (slotPropValue) {\n        overrideProps[propName] = slotPropValue;\n      }\n    } else if (propName === \"style\") {\n      overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n    } else if (propName === \"className\") {\n      overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n    }\n  }\n  return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n  let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n  let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.ref;\n  }\n  getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n  mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.props.ref;\n  }\n  return element.props.ref || element.ref;\n}\nexport {\n  Slot as Root,\n  Slot,\n  Slottable,\n  createSlot,\n  createSlottable\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nvar canUseDOM = !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\nfunction composeEventHandlers(originalEventHandler, ourEventHandler, { checkForDefaultPrevented = true } = {}) {\n  return function handleEvent(event) {\n    originalEventHandler?.(event);\n    if (checkForDefaultPrevented === false || !event.defaultPrevented) {\n      return ourEventHandler?.(event);\n    }\n  };\n}\nfunction getOwnerWindow(element) {\n  if (!canUseDOM) {\n    throw new Error(\"Cannot access window outside of the DOM\");\n  }\n  return element?.ownerDocument?.defaultView ?? window;\n}\nfunction getOwnerDocument(element) {\n  if (!canUseDOM) {\n    throw new Error(\"Cannot access document outside of the DOM\");\n  }\n  return element?.ownerDocument ?? document;\n}\nfunction getActiveElement(node, activeDescendant = false) {\n  const { activeElement } = getOwnerDocument(node);\n  if (!activeElement?.nodeName) {\n    return null;\n  }\n  if (isFrame(activeElement) && activeElement.contentDocument) {\n    return getActiveElement(activeElement.contentDocument.body, activeDescendant);\n  }\n  if (activeDescendant) {\n    const id = activeElement.getAttribute(\"aria-activedescendant\");\n    if (id) {\n      const element = getOwnerDocument(activeElement).getElementById(id);\n      if (element) {\n        return element;\n      }\n    }\n  }\n  return activeElement;\n}\nfunction isFrame(element) {\n  return element.tagName === \"IFRAME\";\n}\nexport {\n  canUseDOM,\n  composeEventHandlers,\n  getActiveElement,\n  getOwnerDocument,\n  getOwnerWindow,\n  isFrame\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/context/src/create-context.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createContext2(rootComponentName, defaultContext) {\n  const Context = React.createContext(defaultContext);\n  const Provider = (props) => {\n    const { children, ...context } = props;\n    const value = React.useMemo(() => context, Object.values(context));\n    return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n  };\n  Provider.displayName = rootComponentName + \"Provider\";\n  function useContext2(consumerName) {\n    const context = React.useContext(Context);\n    if (context) return context;\n    if (defaultContext !== void 0) return defaultContext;\n    throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n  }\n  return [Provider, useContext2];\n}\nfunction createContextScope(scopeName, createContextScopeDeps = []) {\n  let defaultContexts = [];\n  function createContext3(rootComponentName, defaultContext) {\n    const BaseContext = React.createContext(defaultContext);\n    const index = defaultContexts.length;\n    defaultContexts = [...defaultContexts, defaultContext];\n    const Provider = (props) => {\n      const { scope, children, ...context } = props;\n      const Context = scope?.[scopeName]?.[index] || BaseContext;\n      const value = React.useMemo(() => context, Object.values(context));\n      return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n    };\n    Provider.displayName = rootComponentName + \"Provider\";\n    function useContext2(consumerName, scope) {\n      const Context = scope?.[scopeName]?.[index] || BaseContext;\n      const context = React.useContext(Context);\n      if (context) return context;\n      if (defaultContext !== void 0) return defaultContext;\n      throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n    }\n    return [Provider, useContext2];\n  }\n  const createScope = () => {\n    const scopeContexts = defaultContexts.map((defaultContext) => {\n      return React.createContext(defaultContext);\n    });\n    return function useScope(scope) {\n      const contexts = scope?.[scopeName] || scopeContexts;\n      return React.useMemo(\n        () => ({ [`__scope${scopeName}`]: { ...scope, [scopeName]: contexts } }),\n        [scope, contexts]\n      );\n    };\n  };\n  createScope.scopeName = scopeName;\n  return [createContext3, composeContextScopes(createScope, ...createContextScopeDeps)];\n}\nfunction composeContextScopes(...scopes) {\n  const baseScope = scopes[0];\n  if (scopes.length === 1) return baseScope;\n  const createScope = () => {\n    const scopeHooks = scopes.map((createScope2) => ({\n      useScope: createScope2(),\n      scopeName: createScope2.scopeName\n    }));\n    return function useComposedScopes(overrideScopes) {\n      const nextScopes = scopeHooks.reduce((nextScopes2, { useScope, scopeName }) => {\n        const scopeProps = useScope(overrideScopes);\n        const currentScope = scopeProps[`__scope${scopeName}`];\n        return { ...nextScopes2, ...currentScope };\n      }, {});\n      return React.useMemo(() => ({ [`__scope${baseScope.scopeName}`]: nextScopes }), [nextScopes]);\n    };\n  };\n  createScope.scopeName = baseScope.scopeName;\n  return createScope;\n}\nexport {\n  createContext2 as createContext,\n  createContextScope\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/compose-refs/src/compose-refs.tsx\nimport * as React from \"react\";\nfunction setRef(ref, value) {\n  if (typeof ref === \"function\") {\n    return ref(value);\n  } else if (ref !== null && ref !== void 0) {\n    ref.current = value;\n  }\n}\nfunction composeRefs(...refs) {\n  return (node) => {\n    let hasCleanup = false;\n    const cleanups = refs.map((ref) => {\n      const cleanup = setRef(ref, node);\n      if (!hasCleanup && typeof cleanup == \"function\") {\n        hasCleanup = true;\n      }\n      return cleanup;\n    });\n    if (hasCleanup) {\n      return () => {\n        for (let i = 0; i < cleanups.length; i++) {\n          const cleanup = cleanups[i];\n          if (typeof cleanup == \"function\") {\n            cleanup();\n          } else {\n            setRef(refs[i], null);\n          }\n        }\n      };\n    }\n  };\n}\nfunction useComposedRefs(...refs) {\n  return React.useCallback(composeRefs(...refs), refs);\n}\nexport {\n  composeRefs,\n  useComposedRefs\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-layout-effect/src/use-layout-effect.tsx\nimport * as React from \"react\";\nvar useLayoutEffect2 = globalThis?.document ? React.useLayoutEffect : () => {\n};\nexport {\n  useLayoutEffect2 as useLayoutEffect\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/presence.tsx\nimport * as React2 from \"react\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\n\n// src/use-state-machine.tsx\nimport * as React from \"react\";\nfunction useStateMachine(initialState, machine) {\n  return React.useReducer((state, event) => {\n    const nextState = machine[state][event];\n    return nextState ?? state;\n  }, initialState);\n}\n\n// src/presence.tsx\nvar Presence = (props) => {\n  const { present, children } = props;\n  const presence = usePresence(present);\n  const child = typeof children === \"function\" ? children({ present: presence.isPresent }) : React2.Children.only(children);\n  const ref = useComposedRefs(presence.ref, getElementRef(child));\n  const forceMount = typeof children === \"function\";\n  return forceMount || presence.isPresent ? React2.cloneElement(child, { ref }) : null;\n};\nPresence.displayName = \"Presence\";\nfunction usePresence(present) {\n  const [node, setNode] = React2.useState();\n  const stylesRef = React2.useRef(null);\n  const prevPresentRef = React2.useRef(present);\n  const prevAnimationNameRef = React2.useRef(\"none\");\n  const initialState = present ? \"mounted\" : \"unmounted\";\n  const [state, send] = useStateMachine(initialState, {\n    mounted: {\n      UNMOUNT: \"unmounted\",\n      ANIMATION_OUT: \"unmountSuspended\"\n    },\n    unmountSuspended: {\n      MOUNT: \"mounted\",\n      ANIMATION_END: \"unmounted\"\n    },\n    unmounted: {\n      MOUNT: \"mounted\"\n    }\n  });\n  React2.useEffect(() => {\n    const currentAnimationName = getAnimationName(stylesRef.current);\n    prevAnimationNameRef.current = state === \"mounted\" ? currentAnimationName : \"none\";\n  }, [state]);\n  useLayoutEffect(() => {\n    const styles = stylesRef.current;\n    const wasPresent = prevPresentRef.current;\n    const hasPresentChanged = wasPresent !== present;\n    if (hasPresentChanged) {\n      const prevAnimationName = prevAnimationNameRef.current;\n      const currentAnimationName = getAnimationName(styles);\n      if (present) {\n        send(\"MOUNT\");\n      } else if (currentAnimationName === \"none\" || styles?.display === \"none\") {\n        send(\"UNMOUNT\");\n      } else {\n        const isAnimating = prevAnimationName !== currentAnimationName;\n        if (wasPresent && isAnimating) {\n          send(\"ANIMATION_OUT\");\n        } else {\n          send(\"UNMOUNT\");\n        }\n      }\n      prevPresentRef.current = present;\n    }\n  }, [present, send]);\n  useLayoutEffect(() => {\n    if (node) {\n      let timeoutId;\n      const ownerWindow = node.ownerDocument.defaultView ?? window;\n      const handleAnimationEnd = (event) => {\n        const currentAnimationName = getAnimationName(stylesRef.current);\n        const isCurrentAnimation = currentAnimationName.includes(CSS.escape(event.animationName));\n        if (event.target === node && isCurrentAnimation) {\n          send(\"ANIMATION_END\");\n          if (!prevPresentRef.current) {\n            const currentFillMode = node.style.animationFillMode;\n            node.style.animationFillMode = \"forwards\";\n            timeoutId = ownerWindow.setTimeout(() => {\n              if (node.style.animationFillMode === \"forwards\") {\n                node.style.animationFillMode = currentFillMode;\n              }\n            });\n          }\n        }\n      };\n      const handleAnimationStart = (event) => {\n        if (event.target === node) {\n          prevAnimationNameRef.current = getAnimationName(stylesRef.current);\n        }\n      };\n      node.addEventListener(\"animationstart\", handleAnimationStart);\n      node.addEventListener(\"animationcancel\", handleAnimationEnd);\n      node.addEventListener(\"animationend\", handleAnimationEnd);\n      return () => {\n        ownerWindow.clearTimeout(timeoutId);\n        node.removeEventListener(\"animationstart\", handleAnimationStart);\n        node.removeEventListener(\"animationcancel\", handleAnimationEnd);\n        node.removeEventListener(\"animationend\", handleAnimationEnd);\n      };\n    } else {\n      send(\"ANIMATION_END\");\n    }\n  }, [node, send]);\n  return {\n    isPresent: [\"mounted\", \"unmountSuspended\"].includes(state),\n    ref: React2.useCallback((node2) => {\n      stylesRef.current = node2 ? getComputedStyle(node2) : null;\n      setNode(node2);\n    }, [])\n  };\n}\nfunction getAnimationName(styles) {\n  return styles?.animationName || \"none\";\n}\nfunction getElementRef(element) {\n  let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n  let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.ref;\n  }\n  getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n  mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.props.ref;\n  }\n  return element.props.ref || element.ref;\n}\nvar Root = Presence;\nexport {\n  Presence,\n  Root\n};\n//# sourceMappingURL=index.mjs.map\n","// src/slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment as Fragment2, jsx } from \"react/jsx-runtime\";\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n  const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);\n  const Slot2 = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    const childrenArray = React.Children.toArray(children);\n    const slottable = childrenArray.find(isSlottable);\n    if (slottable) {\n      const newElement = slottable.props.children;\n      const newChildren = childrenArray.map((child) => {\n        if (child === slottable) {\n          if (React.Children.count(newElement) > 1) return React.Children.only(null);\n          return React.isValidElement(newElement) ? newElement.props.children : null;\n        } else {\n          return child;\n        }\n      });\n      return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n    }\n    return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n  });\n  Slot2.displayName = `${ownerName}.Slot`;\n  return Slot2;\n}\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlotClone(ownerName) {\n  const SlotClone = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    if (React.isValidElement(children)) {\n      const childrenRef = getElementRef(children);\n      const props2 = mergeProps(slotProps, children.props);\n      if (children.type !== React.Fragment) {\n        props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n      }\n      return React.cloneElement(children, props2);\n    }\n    return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n  });\n  SlotClone.displayName = `${ownerName}.SlotClone`;\n  return SlotClone;\n}\nvar SLOTTABLE_IDENTIFIER = Symbol(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n  const Slottable2 = ({ children }) => {\n    return /* @__PURE__ */ jsx(Fragment2, { children });\n  };\n  Slottable2.displayName = `${ownerName}.Slottable`;\n  Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n  return Slottable2;\n}\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nfunction isSlottable(child) {\n  return React.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\nfunction mergeProps(slotProps, childProps) {\n  const overrideProps = { ...childProps };\n  for (const propName in childProps) {\n    const slotPropValue = slotProps[propName];\n    const childPropValue = childProps[propName];\n    const isHandler = /^on[A-Z]/.test(propName);\n    if (isHandler) {\n      if (slotPropValue && childPropValue) {\n        overrideProps[propName] = (...args) => {\n          const result = childPropValue(...args);\n          slotPropValue(...args);\n          return result;\n        };\n      } else if (slotPropValue) {\n        overrideProps[propName] = slotPropValue;\n      }\n    } else if (propName === \"style\") {\n      overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n    } else if (propName === \"className\") {\n      overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n    }\n  }\n  return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n  let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n  let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.ref;\n  }\n  getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n  mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.props.ref;\n  }\n  return element.props.ref || element.ref;\n}\nexport {\n  Slot as Root,\n  Slot,\n  Slottable,\n  createSlot,\n  createSlottable\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NODES = [\n  \"a\",\n  \"button\",\n  \"div\",\n  \"form\",\n  \"h2\",\n  \"h3\",\n  \"img\",\n  \"input\",\n  \"label\",\n  \"li\",\n  \"nav\",\n  \"ol\",\n  \"p\",\n  \"select\",\n  \"span\",\n  \"svg\",\n  \"ul\"\n];\nvar Primitive = NODES.reduce((primitive, node) => {\n  const Slot = createSlot(`Primitive.${node}`);\n  const Node = React.forwardRef((props, forwardedRef) => {\n    const { asChild, ...primitiveProps } = props;\n    const Comp = asChild ? Slot : node;\n    if (typeof window !== \"undefined\") {\n      window[Symbol.for(\"radix-ui\")] = true;\n    }\n    return /* @__PURE__ */ jsx(Comp, { ...primitiveProps, ref: forwardedRef });\n  });\n  Node.displayName = `Primitive.${node}`;\n  return { ...primitive, [node]: Node };\n}, {});\nfunction dispatchDiscreteCustomEvent(target, event) {\n  if (target) ReactDOM.flushSync(() => target.dispatchEvent(event));\n}\nvar Root = Primitive;\nexport {\n  Primitive,\n  Root,\n  dispatchDiscreteCustomEvent\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/direction/src/direction.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nvar DirectionContext = React.createContext(void 0);\nvar DirectionProvider = (props) => {\n  const { dir, children } = props;\n  return /* @__PURE__ */ jsx(DirectionContext.Provider, { value: dir, children });\n};\nfunction useDirection(localDir) {\n  const globalDir = React.useContext(DirectionContext);\n  return localDir || globalDir || \"ltr\";\n}\nvar Provider = DirectionProvider;\nexport {\n  DirectionProvider,\n  Provider,\n  useDirection\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/tabs.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { createRovingFocusGroupScope } from \"@radix-ui/react-roving-focus\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport * as RovingFocusGroup from \"@radix-ui/react-roving-focus\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { useId } from \"@radix-ui/react-id\";\nimport { jsx } from \"react/jsx-runtime\";\nvar TABS_NAME = \"Tabs\";\nvar [createTabsContext, createTabsScope] = createContextScope(TABS_NAME, [\n  createRovingFocusGroupScope\n]);\nvar useRovingFocusGroupScope = createRovingFocusGroupScope();\nvar [TabsProvider, useTabsContext] = createTabsContext(TABS_NAME);\nvar Tabs = React.forwardRef(\n  (props, forwardedRef) => {\n    const {\n      __scopeTabs,\n      value: valueProp,\n      onValueChange,\n      defaultValue,\n      orientation = \"horizontal\",\n      dir,\n      activationMode = \"automatic\",\n      ...tabsProps\n    } = props;\n    const direction = useDirection(dir);\n    const [value, setValue] = useControllableState({\n      prop: valueProp,\n      onChange: onValueChange,\n      defaultProp: defaultValue ?? \"\",\n      caller: TABS_NAME\n    });\n    return /* @__PURE__ */ jsx(\n      TabsProvider,\n      {\n        scope: __scopeTabs,\n        baseId: useId(),\n        value,\n        onValueChange: setValue,\n        orientation,\n        dir: direction,\n        activationMode,\n        children: /* @__PURE__ */ jsx(\n          Primitive.div,\n          {\n            dir: direction,\n            \"data-orientation\": orientation,\n            ...tabsProps,\n            ref: forwardedRef\n          }\n        )\n      }\n    );\n  }\n);\nTabs.displayName = TABS_NAME;\nvar TAB_LIST_NAME = \"TabsList\";\nvar TabsList = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeTabs, loop = true, ...listProps } = props;\n    const context = useTabsContext(TAB_LIST_NAME, __scopeTabs);\n    const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeTabs);\n    return /* @__PURE__ */ jsx(\n      RovingFocusGroup.Root,\n      {\n        asChild: true,\n        ...rovingFocusGroupScope,\n        orientation: context.orientation,\n        dir: context.dir,\n        loop,\n        children: /* @__PURE__ */ jsx(\n          Primitive.div,\n          {\n            role: \"tablist\",\n            \"aria-orientation\": context.orientation,\n            ...listProps,\n            ref: forwardedRef\n          }\n        )\n      }\n    );\n  }\n);\nTabsList.displayName = TAB_LIST_NAME;\nvar TRIGGER_NAME = \"TabsTrigger\";\nvar TabsTrigger = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeTabs, value, disabled = false, ...triggerProps } = props;\n    const context = useTabsContext(TRIGGER_NAME, __scopeTabs);\n    const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeTabs);\n    const triggerId = makeTriggerId(context.baseId, value);\n    const contentId = makeContentId(context.baseId, value);\n    const isSelected = value === context.value;\n    return /* @__PURE__ */ jsx(\n      RovingFocusGroup.Item,\n      {\n        asChild: true,\n        ...rovingFocusGroupScope,\n        focusable: !disabled,\n        active: isSelected,\n        children: /* @__PURE__ */ jsx(\n          Primitive.button,\n          {\n            type: \"button\",\n            role: \"tab\",\n            \"aria-selected\": isSelected,\n            \"aria-controls\": contentId,\n            \"data-state\": isSelected ? \"active\" : \"inactive\",\n            \"data-disabled\": disabled ? \"\" : void 0,\n            disabled,\n            id: triggerId,\n            ...triggerProps,\n            ref: forwardedRef,\n            onMouseDown: composeEventHandlers(props.onMouseDown, (event) => {\n              if (!disabled && event.button === 0 && event.ctrlKey === false) {\n                context.onValueChange(value);\n              } else {\n                event.preventDefault();\n              }\n            }),\n            onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n              if ([\" \", \"Enter\"].includes(event.key)) context.onValueChange(value);\n            }),\n            onFocus: composeEventHandlers(props.onFocus, () => {\n              const isAutomaticActivation = context.activationMode !== \"manual\";\n              if (!isSelected && !disabled && isAutomaticActivation) {\n                context.onValueChange(value);\n              }\n            })\n          }\n        )\n      }\n    );\n  }\n);\nTabsTrigger.displayName = TRIGGER_NAME;\nvar CONTENT_NAME = \"TabsContent\";\nvar TabsContent = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeTabs, value, forceMount, children, ...contentProps } = props;\n    const context = useTabsContext(CONTENT_NAME, __scopeTabs);\n    const triggerId = makeTriggerId(context.baseId, value);\n    const contentId = makeContentId(context.baseId, value);\n    const isSelected = value === context.value;\n    const isMountAnimationPreventedRef = React.useRef(isSelected);\n    React.useEffect(() => {\n      const rAF = requestAnimationFrame(() => isMountAnimationPreventedRef.current = false);\n      return () => cancelAnimationFrame(rAF);\n    }, []);\n    return /* @__PURE__ */ jsx(Presence, { present: forceMount || isSelected, children: ({ present }) => /* @__PURE__ */ jsx(\n      Primitive.div,\n      {\n        \"data-state\": isSelected ? \"active\" : \"inactive\",\n        \"data-orientation\": context.orientation,\n        role: \"tabpanel\",\n        \"aria-labelledby\": triggerId,\n        hidden: !present,\n        id: contentId,\n        tabIndex: 0,\n        ...contentProps,\n        ref: forwardedRef,\n        style: {\n          ...props.style,\n          animationDuration: isMountAnimationPreventedRef.current ? \"0s\" : void 0\n        },\n        children: present && children\n      }\n    ) });\n  }\n);\nTabsContent.displayName = CONTENT_NAME;\nfunction makeTriggerId(baseId, value) {\n  return `${baseId}-trigger-${value}`;\n}\nfunction makeContentId(baseId, value) {\n  return `${baseId}-content-${value}`;\n}\nvar Root2 = Tabs;\nvar List = TabsList;\nvar Trigger = TabsTrigger;\nvar Content = TabsContent;\nexport {\n  Content,\n  List,\n  Root2 as Root,\n  Tabs,\n  TabsContent,\n  TabsList,\n  TabsTrigger,\n  Trigger,\n  createTabsScope\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/toast.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createCollection } from \"@radix-ui/react-collection\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport * as DismissableLayer from \"@radix-ui/react-dismissable-layer\";\nimport { Portal } from \"@radix-ui/react-portal\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { Primitive, dispatchDiscreteCustomEvent } from \"@radix-ui/react-primitive\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nimport { VisuallyHidden } from \"@radix-ui/react-visually-hidden\";\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nvar PROVIDER_NAME = \"ToastProvider\";\nvar [Collection, useCollection, createCollectionScope] = createCollection(\"Toast\");\nvar [createToastContext, createToastScope] = createContextScope(\"Toast\", [createCollectionScope]);\nvar [ToastProviderProvider, useToastProviderContext] = createToastContext(PROVIDER_NAME);\nvar ToastProvider = (props) => {\n  const {\n    __scopeToast,\n    label = \"Notification\",\n    duration = 5e3,\n    swipeDirection = \"right\",\n    swipeThreshold = 50,\n    children\n  } = props;\n  const [viewport, setViewport] = React.useState(null);\n  const [toastCount, setToastCount] = React.useState(0);\n  const isFocusedToastEscapeKeyDownRef = React.useRef(false);\n  const isClosePausedRef = React.useRef(false);\n  if (!label.trim()) {\n    console.error(\n      `Invalid prop \\`label\\` supplied to \\`${PROVIDER_NAME}\\`. Expected non-empty \\`string\\`.`\n    );\n  }\n  return /* @__PURE__ */ jsx(Collection.Provider, { scope: __scopeToast, children: /* @__PURE__ */ jsx(\n    ToastProviderProvider,\n    {\n      scope: __scopeToast,\n      label,\n      duration,\n      swipeDirection,\n      swipeThreshold,\n      toastCount,\n      viewport,\n      onViewportChange: setViewport,\n      onToastAdd: React.useCallback(() => setToastCount((prevCount) => prevCount + 1), []),\n      onToastRemove: React.useCallback(() => setToastCount((prevCount) => prevCount - 1), []),\n      isFocusedToastEscapeKeyDownRef,\n      isClosePausedRef,\n      children\n    }\n  ) });\n};\nToastProvider.displayName = PROVIDER_NAME;\nvar VIEWPORT_NAME = \"ToastViewport\";\nvar VIEWPORT_DEFAULT_HOTKEY = [\"F8\"];\nvar VIEWPORT_PAUSE = \"toast.viewportPause\";\nvar VIEWPORT_RESUME = \"toast.viewportResume\";\nvar ToastViewport = React.forwardRef(\n  (props, forwardedRef) => {\n    const {\n      __scopeToast,\n      hotkey = VIEWPORT_DEFAULT_HOTKEY,\n      label = \"Notifications ({hotkey})\",\n      ...viewportProps\n    } = props;\n    const context = useToastProviderContext(VIEWPORT_NAME, __scopeToast);\n    const getItems = useCollection(__scopeToast);\n    const wrapperRef = React.useRef(null);\n    const headFocusProxyRef = React.useRef(null);\n    const tailFocusProxyRef = React.useRef(null);\n    const ref = React.useRef(null);\n    const composedRefs = useComposedRefs(forwardedRef, ref, context.onViewportChange);\n    const hotkeyLabel = hotkey.join(\"+\").replace(/Key/g, \"\").replace(/Digit/g, \"\");\n    const hasToasts = context.toastCount > 0;\n    React.useEffect(() => {\n      const handleKeyDown = (event) => {\n        const isHotkeyPressed = hotkey.length !== 0 && hotkey.every((key) => event[key] || event.code === key);\n        if (isHotkeyPressed) ref.current?.focus();\n      };\n      document.addEventListener(\"keydown\", handleKeyDown);\n      return () => document.removeEventListener(\"keydown\", handleKeyDown);\n    }, [hotkey]);\n    React.useEffect(() => {\n      const wrapper = wrapperRef.current;\n      const viewport = ref.current;\n      if (hasToasts && wrapper && viewport) {\n        const handlePause = () => {\n          if (!context.isClosePausedRef.current) {\n            const pauseEvent = new CustomEvent(VIEWPORT_PAUSE);\n            viewport.dispatchEvent(pauseEvent);\n            context.isClosePausedRef.current = true;\n          }\n        };\n        const handleResume = () => {\n          if (context.isClosePausedRef.current) {\n            const resumeEvent = new CustomEvent(VIEWPORT_RESUME);\n            viewport.dispatchEvent(resumeEvent);\n            context.isClosePausedRef.current = false;\n          }\n        };\n        const handleFocusOutResume = (event) => {\n          const isFocusMovingOutside = !wrapper.contains(event.relatedTarget);\n          if (isFocusMovingOutside) handleResume();\n        };\n        const handlePointerLeaveResume = () => {\n          const isFocusInside = wrapper.contains(document.activeElement);\n          if (!isFocusInside) handleResume();\n        };\n        wrapper.addEventListener(\"focusin\", handlePause);\n        wrapper.addEventListener(\"focusout\", handleFocusOutResume);\n        wrapper.addEventListener(\"pointermove\", handlePause);\n        wrapper.addEventListener(\"pointerleave\", handlePointerLeaveResume);\n        window.addEventListener(\"blur\", handlePause);\n        window.addEventListener(\"focus\", handleResume);\n        return () => {\n          wrapper.removeEventListener(\"focusin\", handlePause);\n          wrapper.removeEventListener(\"focusout\", handleFocusOutResume);\n          wrapper.removeEventListener(\"pointermove\", handlePause);\n          wrapper.removeEventListener(\"pointerleave\", handlePointerLeaveResume);\n          window.removeEventListener(\"blur\", handlePause);\n          window.removeEventListener(\"focus\", handleResume);\n        };\n      }\n    }, [hasToasts, context.isClosePausedRef]);\n    const getSortedTabbableCandidates = React.useCallback(\n      ({ tabbingDirection }) => {\n        const toastItems = getItems();\n        const tabbableCandidates = toastItems.map((toastItem) => {\n          const toastNode = toastItem.ref.current;\n          const toastTabbableCandidates = [toastNode, ...getTabbableCandidates(toastNode)];\n          return tabbingDirection === \"forwards\" ? toastTabbableCandidates : toastTabbableCandidates.reverse();\n        });\n        return (tabbingDirection === \"forwards\" ? tabbableCandidates.reverse() : tabbableCandidates).flat();\n      },\n      [getItems]\n    );\n    React.useEffect(() => {\n      const viewport = ref.current;\n      if (viewport) {\n        const handleKeyDown = (event) => {\n          const isMetaKey = event.altKey || event.ctrlKey || event.metaKey;\n          const isTabKey = event.key === \"Tab\" && !isMetaKey;\n          if (isTabKey) {\n            const focusedElement = document.activeElement;\n            const isTabbingBackwards = event.shiftKey;\n            const targetIsViewport = event.target === viewport;\n            if (targetIsViewport && isTabbingBackwards) {\n              headFocusProxyRef.current?.focus();\n              return;\n            }\n            const tabbingDirection = isTabbingBackwards ? \"backwards\" : \"forwards\";\n            const sortedCandidates = getSortedTabbableCandidates({ tabbingDirection });\n            const index = sortedCandidates.findIndex((candidate) => candidate === focusedElement);\n            if (focusFirst(sortedCandidates.slice(index + 1))) {\n              event.preventDefault();\n            } else {\n              isTabbingBackwards ? headFocusProxyRef.current?.focus() : tailFocusProxyRef.current?.focus();\n            }\n          }\n        };\n        viewport.addEventListener(\"keydown\", handleKeyDown);\n        return () => viewport.removeEventListener(\"keydown\", handleKeyDown);\n      }\n    }, [getItems, getSortedTabbableCandidates]);\n    return /* @__PURE__ */ jsxs(\n      DismissableLayer.Branch,\n      {\n        ref: wrapperRef,\n        role: \"region\",\n        \"aria-label\": label.replace(\"{hotkey}\", hotkeyLabel),\n        tabIndex: -1,\n        style: { pointerEvents: hasToasts ? void 0 : \"none\" },\n        children: [\n          hasToasts && /* @__PURE__ */ jsx(\n            FocusProxy,\n            {\n              ref: headFocusProxyRef,\n              onFocusFromOutsideViewport: () => {\n                const tabbableCandidates = getSortedTabbableCandidates({\n                  tabbingDirection: \"forwards\"\n                });\n                focusFirst(tabbableCandidates);\n              }\n            }\n          ),\n          /* @__PURE__ */ jsx(Collection.Slot, { scope: __scopeToast, children: /* @__PURE__ */ jsx(Primitive.ol, { tabIndex: -1, ...viewportProps, ref: composedRefs }) }),\n          hasToasts && /* @__PURE__ */ jsx(\n            FocusProxy,\n            {\n              ref: tailFocusProxyRef,\n              onFocusFromOutsideViewport: () => {\n                const tabbableCandidates = getSortedTabbableCandidates({\n                  tabbingDirection: \"backwards\"\n                });\n                focusFirst(tabbableCandidates);\n              }\n            }\n          )\n        ]\n      }\n    );\n  }\n);\nToastViewport.displayName = VIEWPORT_NAME;\nvar FOCUS_PROXY_NAME = \"ToastFocusProxy\";\nvar FocusProxy = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeToast, onFocusFromOutsideViewport, ...proxyProps } = props;\n    const context = useToastProviderContext(FOCUS_PROXY_NAME, __scopeToast);\n    return /* @__PURE__ */ jsx(\n      VisuallyHidden,\n      {\n        tabIndex: 0,\n        ...proxyProps,\n        ref: forwardedRef,\n        style: { position: \"fixed\" },\n        onFocus: (event) => {\n          const prevFocusedElement = event.relatedTarget;\n          const isFocusFromOutsideViewport = !context.viewport?.contains(prevFocusedElement);\n          if (isFocusFromOutsideViewport) onFocusFromOutsideViewport();\n        }\n      }\n    );\n  }\n);\nFocusProxy.displayName = FOCUS_PROXY_NAME;\nvar TOAST_NAME = \"Toast\";\nvar TOAST_SWIPE_START = \"toast.swipeStart\";\nvar TOAST_SWIPE_MOVE = \"toast.swipeMove\";\nvar TOAST_SWIPE_CANCEL = \"toast.swipeCancel\";\nvar TOAST_SWIPE_END = \"toast.swipeEnd\";\nvar Toast = React.forwardRef(\n  (props, forwardedRef) => {\n    const { forceMount, open: openProp, defaultOpen, onOpenChange, ...toastProps } = props;\n    const [open, setOpen] = useControllableState({\n      prop: openProp,\n      defaultProp: defaultOpen ?? true,\n      onChange: onOpenChange,\n      caller: TOAST_NAME\n    });\n    return /* @__PURE__ */ jsx(Presence, { present: forceMount || open, children: /* @__PURE__ */ jsx(\n      ToastImpl,\n      {\n        open,\n        ...toastProps,\n        ref: forwardedRef,\n        onClose: () => setOpen(false),\n        onPause: useCallbackRef(props.onPause),\n        onResume: useCallbackRef(props.onResume),\n        onSwipeStart: composeEventHandlers(props.onSwipeStart, (event) => {\n          event.currentTarget.setAttribute(\"data-swipe\", \"start\");\n        }),\n        onSwipeMove: composeEventHandlers(props.onSwipeMove, (event) => {\n          const { x, y } = event.detail.delta;\n          event.currentTarget.setAttribute(\"data-swipe\", \"move\");\n          event.currentTarget.style.setProperty(\"--radix-toast-swipe-move-x\", `${x}px`);\n          event.currentTarget.style.setProperty(\"--radix-toast-swipe-move-y\", `${y}px`);\n        }),\n        onSwipeCancel: composeEventHandlers(props.onSwipeCancel, (event) => {\n          event.currentTarget.setAttribute(\"data-swipe\", \"cancel\");\n          event.currentTarget.style.removeProperty(\"--radix-toast-swipe-move-x\");\n          event.currentTarget.style.removeProperty(\"--radix-toast-swipe-move-y\");\n          event.currentTarget.style.removeProperty(\"--radix-toast-swipe-end-x\");\n          event.currentTarget.style.removeProperty(\"--radix-toast-swipe-end-y\");\n        }),\n        onSwipeEnd: composeEventHandlers(props.onSwipeEnd, (event) => {\n          const { x, y } = event.detail.delta;\n          event.currentTarget.setAttribute(\"data-swipe\", \"end\");\n          event.currentTarget.style.removeProperty(\"--radix-toast-swipe-move-x\");\n          event.currentTarget.style.removeProperty(\"--radix-toast-swipe-move-y\");\n          event.currentTarget.style.setProperty(\"--radix-toast-swipe-end-x\", `${x}px`);\n          event.currentTarget.style.setProperty(\"--radix-toast-swipe-end-y\", `${y}px`);\n          setOpen(false);\n        })\n      }\n    ) });\n  }\n);\nToast.displayName = TOAST_NAME;\nvar [ToastInteractiveProvider, useToastInteractiveContext] = createToastContext(TOAST_NAME, {\n  onClose() {\n  }\n});\nvar ToastImpl = React.forwardRef(\n  (props, forwardedRef) => {\n    const {\n      __scopeToast,\n      type = \"foreground\",\n      duration: durationProp,\n      open,\n      onClose,\n      onEscapeKeyDown,\n      onPause,\n      onResume,\n      onSwipeStart,\n      onSwipeMove,\n      onSwipeCancel,\n      onSwipeEnd,\n      ...toastProps\n    } = props;\n    const context = useToastProviderContext(TOAST_NAME, __scopeToast);\n    const [node, setNode] = React.useState(null);\n    const composedRefs = useComposedRefs(forwardedRef, (node2) => setNode(node2));\n    const pointerStartRef = React.useRef(null);\n    const swipeDeltaRef = React.useRef(null);\n    const duration = durationProp || context.duration;\n    const closeTimerStartTimeRef = React.useRef(0);\n    const closeTimerRemainingTimeRef = React.useRef(duration);\n    const closeTimerRef = React.useRef(0);\n    const { onToastAdd, onToastRemove } = context;\n    const handleClose = useCallbackRef(() => {\n      const isFocusInToast = node?.contains(document.activeElement);\n      if (isFocusInToast) context.viewport?.focus();\n      onClose();\n    });\n    const startTimer = React.useCallback(\n      (duration2) => {\n        if (!duration2 || duration2 === Infinity) return;\n        window.clearTimeout(closeTimerRef.current);\n        closeTimerStartTimeRef.current = (/* @__PURE__ */ new Date()).getTime();\n        closeTimerRef.current = window.setTimeout(handleClose, duration2);\n      },\n      [handleClose]\n    );\n    React.useEffect(() => {\n      const viewport = context.viewport;\n      if (viewport) {\n        const handleResume = () => {\n          startTimer(closeTimerRemainingTimeRef.current);\n          onResume?.();\n        };\n        const handlePause = () => {\n          const elapsedTime = (/* @__PURE__ */ new Date()).getTime() - closeTimerStartTimeRef.current;\n          closeTimerRemainingTimeRef.current = closeTimerRemainingTimeRef.current - elapsedTime;\n          window.clearTimeout(closeTimerRef.current);\n          onPause?.();\n        };\n        viewport.addEventListener(VIEWPORT_PAUSE, handlePause);\n        viewport.addEventListener(VIEWPORT_RESUME, handleResume);\n        return () => {\n          viewport.removeEventListener(VIEWPORT_PAUSE, handlePause);\n          viewport.removeEventListener(VIEWPORT_RESUME, handleResume);\n        };\n      }\n    }, [context.viewport, duration, onPause, onResume, startTimer]);\n    React.useEffect(() => {\n      if (open && !context.isClosePausedRef.current) startTimer(duration);\n    }, [open, duration, context.isClosePausedRef, startTimer]);\n    React.useEffect(() => {\n      onToastAdd();\n      return () => onToastRemove();\n    }, [onToastAdd, onToastRemove]);\n    const announceTextContent = React.useMemo(() => {\n      return node ? getAnnounceTextContent(node) : null;\n    }, [node]);\n    if (!context.viewport) return null;\n    return /* @__PURE__ */ jsxs(Fragment, { children: [\n      announceTextContent && /* @__PURE__ */ jsx(\n        ToastAnnounce,\n        {\n          __scopeToast,\n          role: \"status\",\n          \"aria-live\": type === \"foreground\" ? \"assertive\" : \"polite\",\n          children: announceTextContent\n        }\n      ),\n      /* @__PURE__ */ jsx(ToastInteractiveProvider, { scope: __scopeToast, onClose: handleClose, children: ReactDOM.createPortal(\n        /* @__PURE__ */ jsx(Collection.ItemSlot, { scope: __scopeToast, children: /* @__PURE__ */ jsx(\n          DismissableLayer.Root,\n          {\n            asChild: true,\n            onEscapeKeyDown: composeEventHandlers(onEscapeKeyDown, () => {\n              if (!context.isFocusedToastEscapeKeyDownRef.current) handleClose();\n              context.isFocusedToastEscapeKeyDownRef.current = false;\n            }),\n            children: /* @__PURE__ */ jsx(\n              Primitive.li,\n              {\n                tabIndex: 0,\n                \"data-state\": open ? \"open\" : \"closed\",\n                \"data-swipe-direction\": context.swipeDirection,\n                ...toastProps,\n                ref: composedRefs,\n                style: { userSelect: \"none\", touchAction: \"none\", ...props.style },\n                onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n                  if (event.key !== \"Escape\") return;\n                  onEscapeKeyDown?.(event.nativeEvent);\n                  if (!event.nativeEvent.defaultPrevented) {\n                    context.isFocusedToastEscapeKeyDownRef.current = true;\n                    handleClose();\n                  }\n                }),\n                onPointerDown: composeEventHandlers(props.onPointerDown, (event) => {\n                  if (event.button !== 0) return;\n                  pointerStartRef.current = { x: event.clientX, y: event.clientY };\n                }),\n                onPointerMove: composeEventHandlers(props.onPointerMove, (event) => {\n                  if (!pointerStartRef.current) return;\n                  const x = event.clientX - pointerStartRef.current.x;\n                  const y = event.clientY - pointerStartRef.current.y;\n                  const hasSwipeMoveStarted = Boolean(swipeDeltaRef.current);\n                  const isHorizontalSwipe = [\"left\", \"right\"].includes(context.swipeDirection);\n                  const clamp = [\"left\", \"up\"].includes(context.swipeDirection) ? Math.min : Math.max;\n                  const clampedX = isHorizontalSwipe ? clamp(0, x) : 0;\n                  const clampedY = !isHorizontalSwipe ? clamp(0, y) : 0;\n                  const moveStartBuffer = event.pointerType === \"touch\" ? 10 : 2;\n                  const delta = { x: clampedX, y: clampedY };\n                  const eventDetail = { originalEvent: event, delta };\n                  if (hasSwipeMoveStarted) {\n                    swipeDeltaRef.current = delta;\n                    handleAndDispatchCustomEvent(TOAST_SWIPE_MOVE, onSwipeMove, eventDetail, {\n                      discrete: false\n                    });\n                  } else if (isDeltaInDirection(delta, context.swipeDirection, moveStartBuffer)) {\n                    swipeDeltaRef.current = delta;\n                    handleAndDispatchCustomEvent(TOAST_SWIPE_START, onSwipeStart, eventDetail, {\n                      discrete: false\n                    });\n                    event.target.setPointerCapture(event.pointerId);\n                  } else if (Math.abs(x) > moveStartBuffer || Math.abs(y) > moveStartBuffer) {\n                    pointerStartRef.current = null;\n                  }\n                }),\n                onPointerUp: composeEventHandlers(props.onPointerUp, (event) => {\n                  const delta = swipeDeltaRef.current;\n                  const target = event.target;\n                  if (target.hasPointerCapture(event.pointerId)) {\n                    target.releasePointerCapture(event.pointerId);\n                  }\n                  swipeDeltaRef.current = null;\n                  pointerStartRef.current = null;\n                  if (delta) {\n                    const toast = event.currentTarget;\n                    const eventDetail = { originalEvent: event, delta };\n                    if (isDeltaInDirection(delta, context.swipeDirection, context.swipeThreshold)) {\n                      handleAndDispatchCustomEvent(TOAST_SWIPE_END, onSwipeEnd, eventDetail, {\n                        discrete: true\n                      });\n                    } else {\n                      handleAndDispatchCustomEvent(\n                        TOAST_SWIPE_CANCEL,\n                        onSwipeCancel,\n                        eventDetail,\n                        {\n                          discrete: true\n                        }\n                      );\n                    }\n                    toast.addEventListener(\"click\", (event2) => event2.preventDefault(), {\n                      once: true\n                    });\n                  }\n                })\n              }\n            )\n          }\n        ) }),\n        context.viewport\n      ) })\n    ] });\n  }\n);\nvar ToastAnnounce = (props) => {\n  const { __scopeToast, children, ...announceProps } = props;\n  const context = useToastProviderContext(TOAST_NAME, __scopeToast);\n  const [renderAnnounceText, setRenderAnnounceText] = React.useState(false);\n  const [isAnnounced, setIsAnnounced] = React.useState(false);\n  useNextFrame(() => setRenderAnnounceText(true));\n  React.useEffect(() => {\n    const timer = window.setTimeout(() => setIsAnnounced(true), 1e3);\n    return () => window.clearTimeout(timer);\n  }, []);\n  return isAnnounced ? null : /* @__PURE__ */ jsx(Portal, { asChild: true, children: /* @__PURE__ */ jsx(VisuallyHidden, { ...announceProps, children: renderAnnounceText && /* @__PURE__ */ jsxs(Fragment, { children: [\n    context.label,\n    \" \",\n    children\n  ] }) }) });\n};\nvar TITLE_NAME = \"ToastTitle\";\nvar ToastTitle = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeToast, ...titleProps } = props;\n    return /* @__PURE__ */ jsx(Primitive.div, { ...titleProps, ref: forwardedRef });\n  }\n);\nToastTitle.displayName = TITLE_NAME;\nvar DESCRIPTION_NAME = \"ToastDescription\";\nvar ToastDescription = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeToast, ...descriptionProps } = props;\n    return /* @__PURE__ */ jsx(Primitive.div, { ...descriptionProps, ref: forwardedRef });\n  }\n);\nToastDescription.displayName = DESCRIPTION_NAME;\nvar ACTION_NAME = \"ToastAction\";\nvar ToastAction = React.forwardRef(\n  (props, forwardedRef) => {\n    const { altText, ...actionProps } = props;\n    if (!altText.trim()) {\n      console.error(\n        `Invalid prop \\`altText\\` supplied to \\`${ACTION_NAME}\\`. Expected non-empty \\`string\\`.`\n      );\n      return null;\n    }\n    return /* @__PURE__ */ jsx(ToastAnnounceExclude, { altText, asChild: true, children: /* @__PURE__ */ jsx(ToastClose, { ...actionProps, ref: forwardedRef }) });\n  }\n);\nToastAction.displayName = ACTION_NAME;\nvar CLOSE_NAME = \"ToastClose\";\nvar ToastClose = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeToast, ...closeProps } = props;\n    const interactiveContext = useToastInteractiveContext(CLOSE_NAME, __scopeToast);\n    return /* @__PURE__ */ jsx(ToastAnnounceExclude, { asChild: true, children: /* @__PURE__ */ jsx(\n      Primitive.button,\n      {\n        type: \"button\",\n        ...closeProps,\n        ref: forwardedRef,\n        onClick: composeEventHandlers(props.onClick, interactiveContext.onClose)\n      }\n    ) });\n  }\n);\nToastClose.displayName = CLOSE_NAME;\nvar ToastAnnounceExclude = React.forwardRef((props, forwardedRef) => {\n  const { __scopeToast, altText, ...announceExcludeProps } = props;\n  return /* @__PURE__ */ jsx(\n    Primitive.div,\n    {\n      \"data-radix-toast-announce-exclude\": \"\",\n      \"data-radix-toast-announce-alt\": altText || void 0,\n      ...announceExcludeProps,\n      ref: forwardedRef\n    }\n  );\n});\nfunction getAnnounceTextContent(container) {\n  const textContent = [];\n  const childNodes = Array.from(container.childNodes);\n  childNodes.forEach((node) => {\n    if (node.nodeType === node.TEXT_NODE && node.textContent) textContent.push(node.textContent);\n    if (isHTMLElement(node)) {\n      const isHidden = node.ariaHidden || node.hidden || node.style.display === \"none\";\n      const isExcluded = node.dataset.radixToastAnnounceExclude === \"\";\n      if (!isHidden) {\n        if (isExcluded) {\n          const altText = node.dataset.radixToastAnnounceAlt;\n          if (altText) textContent.push(altText);\n        } else {\n          textContent.push(...getAnnounceTextContent(node));\n        }\n      }\n    }\n  });\n  return textContent;\n}\nfunction handleAndDispatchCustomEvent(name, handler, detail, { discrete }) {\n  const currentTarget = detail.originalEvent.currentTarget;\n  const event = new CustomEvent(name, { bubbles: true, cancelable: true, detail });\n  if (handler) currentTarget.addEventListener(name, handler, { once: true });\n  if (discrete) {\n    dispatchDiscreteCustomEvent(currentTarget, event);\n  } else {\n    currentTarget.dispatchEvent(event);\n  }\n}\nvar isDeltaInDirection = (delta, direction, threshold = 0) => {\n  const deltaX = Math.abs(delta.x);\n  const deltaY = Math.abs(delta.y);\n  const isDeltaX = deltaX > deltaY;\n  if (direction === \"left\" || direction === \"right\") {\n    return isDeltaX && deltaX > threshold;\n  } else {\n    return !isDeltaX && deltaY > threshold;\n  }\n};\nfunction useNextFrame(callback = () => {\n}) {\n  const fn = useCallbackRef(callback);\n  useLayoutEffect(() => {\n    let raf1 = 0;\n    let raf2 = 0;\n    raf1 = window.requestAnimationFrame(() => raf2 = window.requestAnimationFrame(fn));\n    return () => {\n      window.cancelAnimationFrame(raf1);\n      window.cancelAnimationFrame(raf2);\n    };\n  }, [fn]);\n}\nfunction isHTMLElement(node) {\n  return node.nodeType === node.ELEMENT_NODE;\n}\nfunction getTabbableCandidates(container) {\n  const nodes = [];\n  const walker = document.createTreeWalker(container, NodeFilter.SHOW_ELEMENT, {\n    acceptNode: (node) => {\n      const isHiddenInput = node.tagName === \"INPUT\" && node.type === \"hidden\";\n      if (node.disabled || node.hidden || isHiddenInput) return NodeFilter.FILTER_SKIP;\n      return node.tabIndex >= 0 ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;\n    }\n  });\n  while (walker.nextNode()) nodes.push(walker.currentNode);\n  return nodes;\n}\nfunction focusFirst(candidates) {\n  const previouslyFocusedElement = document.activeElement;\n  return candidates.some((candidate) => {\n    if (candidate === previouslyFocusedElement) return true;\n    candidate.focus();\n    return document.activeElement !== previouslyFocusedElement;\n  });\n}\nvar Provider = ToastProvider;\nvar Viewport = ToastViewport;\nvar Root2 = Toast;\nvar Title = ToastTitle;\nvar Description = ToastDescription;\nvar Action = ToastAction;\nvar Close = ToastClose;\nexport {\n  Action,\n  Close,\n  Description,\n  Provider,\n  Root2 as Root,\n  Title,\n  Toast,\n  ToastAction,\n  ToastClose,\n  ToastDescription,\n  ToastProvider,\n  ToastTitle,\n  ToastViewport,\n  Viewport,\n  createToastScope\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nvar canUseDOM = !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\nfunction composeEventHandlers(originalEventHandler, ourEventHandler, { checkForDefaultPrevented = true } = {}) {\n  return function handleEvent(event) {\n    originalEventHandler?.(event);\n    if (checkForDefaultPrevented === false || !event.defaultPrevented) {\n      return ourEventHandler?.(event);\n    }\n  };\n}\nfunction getOwnerWindow(element) {\n  if (!canUseDOM) {\n    throw new Error(\"Cannot access window outside of the DOM\");\n  }\n  return element?.ownerDocument?.defaultView ?? window;\n}\nfunction getOwnerDocument(element) {\n  if (!canUseDOM) {\n    throw new Error(\"Cannot access document outside of the DOM\");\n  }\n  return element?.ownerDocument ?? document;\n}\nfunction getActiveElement(node, activeDescendant = false) {\n  const { activeElement } = getOwnerDocument(node);\n  if (!activeElement?.nodeName) {\n    return null;\n  }\n  if (isFrame(activeElement) && activeElement.contentDocument) {\n    return getActiveElement(activeElement.contentDocument.body, activeDescendant);\n  }\n  if (activeDescendant) {\n    const id = activeElement.getAttribute(\"aria-activedescendant\");\n    if (id) {\n      const element = getOwnerDocument(activeElement).getElementById(id);\n      if (element) {\n        return element;\n      }\n    }\n  }\n  return activeElement;\n}\nfunction isFrame(element) {\n  return element.tagName === \"IFRAME\";\n}\nexport {\n  canUseDOM,\n  composeEventHandlers,\n  getActiveElement,\n  getOwnerDocument,\n  getOwnerWindow,\n  isFrame\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/compose-refs/src/compose-refs.tsx\nimport * as React from \"react\";\nfunction setRef(ref, value) {\n  if (typeof ref === \"function\") {\n    return ref(value);\n  } else if (ref !== null && ref !== void 0) {\n    ref.current = value;\n  }\n}\nfunction composeRefs(...refs) {\n  return (node) => {\n    let hasCleanup = false;\n    const cleanups = refs.map((ref) => {\n      const cleanup = setRef(ref, node);\n      if (!hasCleanup && typeof cleanup == \"function\") {\n        hasCleanup = true;\n      }\n      return cleanup;\n    });\n    if (hasCleanup) {\n      return () => {\n        for (let i = 0; i < cleanups.length; i++) {\n          const cleanup = cleanups[i];\n          if (typeof cleanup == \"function\") {\n            cleanup();\n          } else {\n            setRef(refs[i], null);\n          }\n        }\n      };\n    }\n  };\n}\nfunction useComposedRefs(...refs) {\n  return React.useCallback(composeRefs(...refs), refs);\n}\nexport {\n  composeRefs,\n  useComposedRefs\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/context/src/create-context.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createContext2(rootComponentName, defaultContext) {\n  const Context = React.createContext(defaultContext);\n  const Provider = (props) => {\n    const { children, ...context } = props;\n    const value = React.useMemo(() => context, Object.values(context));\n    return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n  };\n  Provider.displayName = rootComponentName + \"Provider\";\n  function useContext2(consumerName) {\n    const context = React.useContext(Context);\n    if (context) return context;\n    if (defaultContext !== void 0) return defaultContext;\n    throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n  }\n  return [Provider, useContext2];\n}\nfunction createContextScope(scopeName, createContextScopeDeps = []) {\n  let defaultContexts = [];\n  function createContext3(rootComponentName, defaultContext) {\n    const BaseContext = React.createContext(defaultContext);\n    const index = defaultContexts.length;\n    defaultContexts = [...defaultContexts, defaultContext];\n    const Provider = (props) => {\n      const { scope, children, ...context } = props;\n      const Context = scope?.[scopeName]?.[index] || BaseContext;\n      const value = React.useMemo(() => context, Object.values(context));\n      return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n    };\n    Provider.displayName = rootComponentName + \"Provider\";\n    function useContext2(consumerName, scope) {\n      const Context = scope?.[scopeName]?.[index] || BaseContext;\n      const context = React.useContext(Context);\n      if (context) return context;\n      if (defaultContext !== void 0) return defaultContext;\n      throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n    }\n    return [Provider, useContext2];\n  }\n  const createScope = () => {\n    const scopeContexts = defaultContexts.map((defaultContext) => {\n      return React.createContext(defaultContext);\n    });\n    return function useScope(scope) {\n      const contexts = scope?.[scopeName] || scopeContexts;\n      return React.useMemo(\n        () => ({ [`__scope${scopeName}`]: { ...scope, [scopeName]: contexts } }),\n        [scope, contexts]\n      );\n    };\n  };\n  createScope.scopeName = scopeName;\n  return [createContext3, composeContextScopes(createScope, ...createContextScopeDeps)];\n}\nfunction composeContextScopes(...scopes) {\n  const baseScope = scopes[0];\n  if (scopes.length === 1) return baseScope;\n  const createScope = () => {\n    const scopeHooks = scopes.map((createScope2) => ({\n      useScope: createScope2(),\n      scopeName: createScope2.scopeName\n    }));\n    return function useComposedScopes(overrideScopes) {\n      const nextScopes = scopeHooks.reduce((nextScopes2, { useScope, scopeName }) => {\n        const scopeProps = useScope(overrideScopes);\n        const currentScope = scopeProps[`__scope${scopeName}`];\n        return { ...nextScopes2, ...currentScope };\n      }, {});\n      return React.useMemo(() => ({ [`__scope${baseScope.scopeName}`]: nextScopes }), [nextScopes]);\n    };\n  };\n  createScope.scopeName = baseScope.scopeName;\n  return createScope;\n}\nexport {\n  createContext2 as createContext,\n  createContextScope\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/presence.tsx\nimport * as React2 from \"react\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\n\n// src/use-state-machine.tsx\nimport * as React from \"react\";\nfunction useStateMachine(initialState, machine) {\n  return React.useReducer((state, event) => {\n    const nextState = machine[state][event];\n    return nextState ?? state;\n  }, initialState);\n}\n\n// src/presence.tsx\nvar Presence = (props) => {\n  const { present, children } = props;\n  const presence = usePresence(present);\n  const child = typeof children === \"function\" ? children({ present: presence.isPresent }) : React2.Children.only(children);\n  const ref = useComposedRefs(presence.ref, getElementRef(child));\n  const forceMount = typeof children === \"function\";\n  return forceMount || presence.isPresent ? React2.cloneElement(child, { ref }) : null;\n};\nPresence.displayName = \"Presence\";\nfunction usePresence(present) {\n  const [node, setNode] = React2.useState();\n  const stylesRef = React2.useRef(null);\n  const prevPresentRef = React2.useRef(present);\n  const prevAnimationNameRef = React2.useRef(\"none\");\n  const initialState = present ? \"mounted\" : \"unmounted\";\n  const [state, send] = useStateMachine(initialState, {\n    mounted: {\n      UNMOUNT: \"unmounted\",\n      ANIMATION_OUT: \"unmountSuspended\"\n    },\n    unmountSuspended: {\n      MOUNT: \"mounted\",\n      ANIMATION_END: \"unmounted\"\n    },\n    unmounted: {\n      MOUNT: \"mounted\"\n    }\n  });\n  React2.useEffect(() => {\n    const currentAnimationName = getAnimationName(stylesRef.current);\n    prevAnimationNameRef.current = state === \"mounted\" ? currentAnimationName : \"none\";\n  }, [state]);\n  useLayoutEffect(() => {\n    const styles = stylesRef.current;\n    const wasPresent = prevPresentRef.current;\n    const hasPresentChanged = wasPresent !== present;\n    if (hasPresentChanged) {\n      const prevAnimationName = prevAnimationNameRef.current;\n      const currentAnimationName = getAnimationName(styles);\n      if (present) {\n        send(\"MOUNT\");\n      } else if (currentAnimationName === \"none\" || styles?.display === \"none\") {\n        send(\"UNMOUNT\");\n      } else {\n        const isAnimating = prevAnimationName !== currentAnimationName;\n        if (wasPresent && isAnimating) {\n          send(\"ANIMATION_OUT\");\n        } else {\n          send(\"UNMOUNT\");\n        }\n      }\n      prevPresentRef.current = present;\n    }\n  }, [present, send]);\n  useLayoutEffect(() => {\n    if (node) {\n      let timeoutId;\n      const ownerWindow = node.ownerDocument.defaultView ?? window;\n      const handleAnimationEnd = (event) => {\n        const currentAnimationName = getAnimationName(stylesRef.current);\n        const isCurrentAnimation = currentAnimationName.includes(CSS.escape(event.animationName));\n        if (event.target === node && isCurrentAnimation) {\n          send(\"ANIMATION_END\");\n          if (!prevPresentRef.current) {\n            const currentFillMode = node.style.animationFillMode;\n            node.style.animationFillMode = \"forwards\";\n            timeoutId = ownerWindow.setTimeout(() => {\n              if (node.style.animationFillMode === \"forwards\") {\n                node.style.animationFillMode = currentFillMode;\n              }\n            });\n          }\n        }\n      };\n      const handleAnimationStart = (event) => {\n        if (event.target === node) {\n          prevAnimationNameRef.current = getAnimationName(stylesRef.current);\n        }\n      };\n      node.addEventListener(\"animationstart\", handleAnimationStart);\n      node.addEventListener(\"animationcancel\", handleAnimationEnd);\n      node.addEventListener(\"animationend\", handleAnimationEnd);\n      return () => {\n        ownerWindow.clearTimeout(timeoutId);\n        node.removeEventListener(\"animationstart\", handleAnimationStart);\n        node.removeEventListener(\"animationcancel\", handleAnimationEnd);\n        node.removeEventListener(\"animationend\", handleAnimationEnd);\n      };\n    } else {\n      send(\"ANIMATION_END\");\n    }\n  }, [node, send]);\n  return {\n    isPresent: [\"mounted\", \"unmountSuspended\"].includes(state),\n    ref: React2.useCallback((node2) => {\n      stylesRef.current = node2 ? getComputedStyle(node2) : null;\n      setNode(node2);\n    }, [])\n  };\n}\nfunction getAnimationName(styles) {\n  return styles?.animationName || \"none\";\n}\nfunction getElementRef(element) {\n  let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n  let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.ref;\n  }\n  getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n  mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.props.ref;\n  }\n  return element.props.ref || element.ref;\n}\nvar Root = Presence;\nexport {\n  Presence,\n  Root\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NODES = [\n  \"a\",\n  \"button\",\n  \"div\",\n  \"form\",\n  \"h2\",\n  \"h3\",\n  \"img\",\n  \"input\",\n  \"label\",\n  \"li\",\n  \"nav\",\n  \"ol\",\n  \"p\",\n  \"select\",\n  \"span\",\n  \"svg\",\n  \"ul\"\n];\nvar Primitive = NODES.reduce((primitive, node) => {\n  const Slot = createSlot(`Primitive.${node}`);\n  const Node = React.forwardRef((props, forwardedRef) => {\n    const { asChild, ...primitiveProps } = props;\n    const Comp = asChild ? Slot : node;\n    if (typeof window !== \"undefined\") {\n      window[Symbol.for(\"radix-ui\")] = true;\n    }\n    return /* @__PURE__ */ jsx(Comp, { ...primitiveProps, ref: forwardedRef });\n  });\n  Node.displayName = `Primitive.${node}`;\n  return { ...primitive, [node]: Node };\n}, {});\nfunction dispatchDiscreteCustomEvent(target, event) {\n  if (target) ReactDOM.flushSync(() => target.dispatchEvent(event));\n}\nvar Root = Primitive;\nexport {\n  Primitive,\n  Root,\n  dispatchDiscreteCustomEvent\n};\n//# sourceMappingURL=index.mjs.map\n","// src/slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment as Fragment2, jsx } from \"react/jsx-runtime\";\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n  const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);\n  const Slot2 = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    const childrenArray = React.Children.toArray(children);\n    const slottable = childrenArray.find(isSlottable);\n    if (slottable) {\n      const newElement = slottable.props.children;\n      const newChildren = childrenArray.map((child) => {\n        if (child === slottable) {\n          if (React.Children.count(newElement) > 1) return React.Children.only(null);\n          return React.isValidElement(newElement) ? newElement.props.children : null;\n        } else {\n          return child;\n        }\n      });\n      return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n    }\n    return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n  });\n  Slot2.displayName = `${ownerName}.Slot`;\n  return Slot2;\n}\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlotClone(ownerName) {\n  const SlotClone = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    if (React.isValidElement(children)) {\n      const childrenRef = getElementRef(children);\n      const props2 = mergeProps(slotProps, children.props);\n      if (children.type !== React.Fragment) {\n        props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n      }\n      return React.cloneElement(children, props2);\n    }\n    return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n  });\n  SlotClone.displayName = `${ownerName}.SlotClone`;\n  return SlotClone;\n}\nvar SLOTTABLE_IDENTIFIER = Symbol(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n  const Slottable2 = ({ children }) => {\n    return /* @__PURE__ */ jsx(Fragment2, { children });\n  };\n  Slottable2.displayName = `${ownerName}.Slottable`;\n  Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n  return Slottable2;\n}\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nfunction isSlottable(child) {\n  return React.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\nfunction mergeProps(slotProps, childProps) {\n  const overrideProps = { ...childProps };\n  for (const propName in childProps) {\n    const slotPropValue = slotProps[propName];\n    const childPropValue = childProps[propName];\n    const isHandler = /^on[A-Z]/.test(propName);\n    if (isHandler) {\n      if (slotPropValue && childPropValue) {\n        overrideProps[propName] = (...args) => {\n          const result = childPropValue(...args);\n          slotPropValue(...args);\n          return result;\n        };\n      } else if (slotPropValue) {\n        overrideProps[propName] = slotPropValue;\n      }\n    } else if (propName === \"style\") {\n      overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n    } else if (propName === \"className\") {\n      overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n    }\n  }\n  return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n  let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n  let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.ref;\n  }\n  getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n  mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.props.ref;\n  }\n  return element.props.ref || element.ref;\n}\nexport {\n  Slot as Root,\n  Slot,\n  Slottable,\n  createSlot,\n  createSlottable\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-callback-ref/src/use-callback-ref.tsx\nimport * as React from \"react\";\nfunction useCallbackRef(callback) {\n  const callbackRef = React.useRef(callback);\n  React.useEffect(() => {\n    callbackRef.current = callback;\n  });\n  return React.useMemo(() => (...args) => callbackRef.current?.(...args), []);\n}\nexport {\n  useCallbackRef\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-layout-effect/src/use-layout-effect.tsx\nimport * as React from \"react\";\nvar useLayoutEffect2 = globalThis?.document ? React.useLayoutEffect : () => {\n};\nexport {\n  useLayoutEffect2 as useLayoutEffect\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/toggle-group.tsx\nimport React from \"react\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport * as RovingFocusGroup from \"@radix-ui/react-roving-focus\";\nimport { createRovingFocusGroupScope } from \"@radix-ui/react-roving-focus\";\nimport { Toggle } from \"@radix-ui/react-toggle\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { jsx } from \"react/jsx-runtime\";\nvar TOGGLE_GROUP_NAME = \"ToggleGroup\";\nvar [createToggleGroupContext, createToggleGroupScope] = createContextScope(TOGGLE_GROUP_NAME, [\n  createRovingFocusGroupScope\n]);\nvar useRovingFocusGroupScope = createRovingFocusGroupScope();\nvar ToggleGroup = React.forwardRef((props, forwardedRef) => {\n  const { type, ...toggleGroupProps } = props;\n  if (type === \"single\") {\n    const singleProps = toggleGroupProps;\n    return /* @__PURE__ */ jsx(ToggleGroupImplSingle, { ...singleProps, ref: forwardedRef });\n  }\n  if (type === \"multiple\") {\n    const multipleProps = toggleGroupProps;\n    return /* @__PURE__ */ jsx(ToggleGroupImplMultiple, { ...multipleProps, ref: forwardedRef });\n  }\n  throw new Error(`Missing prop \\`type\\` expected on \\`${TOGGLE_GROUP_NAME}\\``);\n});\nToggleGroup.displayName = TOGGLE_GROUP_NAME;\nvar [ToggleGroupValueProvider, useToggleGroupValueContext] = createToggleGroupContext(TOGGLE_GROUP_NAME);\nvar ToggleGroupImplSingle = React.forwardRef((props, forwardedRef) => {\n  const {\n    value: valueProp,\n    defaultValue,\n    onValueChange = () => {\n    },\n    ...toggleGroupSingleProps\n  } = props;\n  const [value, setValue] = useControllableState({\n    prop: valueProp,\n    defaultProp: defaultValue ?? \"\",\n    onChange: onValueChange,\n    caller: TOGGLE_GROUP_NAME\n  });\n  return /* @__PURE__ */ jsx(\n    ToggleGroupValueProvider,\n    {\n      scope: props.__scopeToggleGroup,\n      type: \"single\",\n      value: React.useMemo(() => value ? [value] : [], [value]),\n      onItemActivate: setValue,\n      onItemDeactivate: React.useCallback(() => setValue(\"\"), [setValue]),\n      children: /* @__PURE__ */ jsx(ToggleGroupImpl, { ...toggleGroupSingleProps, ref: forwardedRef })\n    }\n  );\n});\nvar ToggleGroupImplMultiple = React.forwardRef((props, forwardedRef) => {\n  const {\n    value: valueProp,\n    defaultValue,\n    onValueChange = () => {\n    },\n    ...toggleGroupMultipleProps\n  } = props;\n  const [value, setValue] = useControllableState({\n    prop: valueProp,\n    defaultProp: defaultValue ?? [],\n    onChange: onValueChange,\n    caller: TOGGLE_GROUP_NAME\n  });\n  const handleButtonActivate = React.useCallback(\n    (itemValue) => setValue((prevValue = []) => [...prevValue, itemValue]),\n    [setValue]\n  );\n  const handleButtonDeactivate = React.useCallback(\n    (itemValue) => setValue((prevValue = []) => prevValue.filter((value2) => value2 !== itemValue)),\n    [setValue]\n  );\n  return /* @__PURE__ */ jsx(\n    ToggleGroupValueProvider,\n    {\n      scope: props.__scopeToggleGroup,\n      type: \"multiple\",\n      value,\n      onItemActivate: handleButtonActivate,\n      onItemDeactivate: handleButtonDeactivate,\n      children: /* @__PURE__ */ jsx(ToggleGroupImpl, { ...toggleGroupMultipleProps, ref: forwardedRef })\n    }\n  );\n});\nToggleGroup.displayName = TOGGLE_GROUP_NAME;\nvar [ToggleGroupContext, useToggleGroupContext] = createToggleGroupContext(TOGGLE_GROUP_NAME);\nvar ToggleGroupImpl = React.forwardRef(\n  (props, forwardedRef) => {\n    const {\n      __scopeToggleGroup,\n      disabled = false,\n      rovingFocus = true,\n      orientation,\n      dir,\n      loop = true,\n      ...toggleGroupProps\n    } = props;\n    const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeToggleGroup);\n    const direction = useDirection(dir);\n    const commonProps = { role: \"group\", dir: direction, ...toggleGroupProps };\n    return /* @__PURE__ */ jsx(ToggleGroupContext, { scope: __scopeToggleGroup, rovingFocus, disabled, children: rovingFocus ? /* @__PURE__ */ jsx(\n      RovingFocusGroup.Root,\n      {\n        asChild: true,\n        ...rovingFocusGroupScope,\n        orientation,\n        dir: direction,\n        loop,\n        children: /* @__PURE__ */ jsx(Primitive.div, { ...commonProps, ref: forwardedRef })\n      }\n    ) : /* @__PURE__ */ jsx(Primitive.div, { ...commonProps, ref: forwardedRef }) });\n  }\n);\nvar ITEM_NAME = \"ToggleGroupItem\";\nvar ToggleGroupItem = React.forwardRef(\n  (props, forwardedRef) => {\n    const valueContext = useToggleGroupValueContext(ITEM_NAME, props.__scopeToggleGroup);\n    const context = useToggleGroupContext(ITEM_NAME, props.__scopeToggleGroup);\n    const rovingFocusGroupScope = useRovingFocusGroupScope(props.__scopeToggleGroup);\n    const pressed = valueContext.value.includes(props.value);\n    const disabled = context.disabled || props.disabled;\n    const commonProps = { ...props, pressed, disabled };\n    const ref = React.useRef(null);\n    return context.rovingFocus ? /* @__PURE__ */ jsx(\n      RovingFocusGroup.Item,\n      {\n        asChild: true,\n        ...rovingFocusGroupScope,\n        focusable: !disabled,\n        active: pressed,\n        ref,\n        children: /* @__PURE__ */ jsx(ToggleGroupItemImpl, { ...commonProps, ref: forwardedRef })\n      }\n    ) : /* @__PURE__ */ jsx(ToggleGroupItemImpl, { ...commonProps, ref: forwardedRef });\n  }\n);\nToggleGroupItem.displayName = ITEM_NAME;\nvar ToggleGroupItemImpl = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeToggleGroup, value, ...itemProps } = props;\n    const valueContext = useToggleGroupValueContext(ITEM_NAME, __scopeToggleGroup);\n    const singleProps = { role: \"radio\", \"aria-checked\": props.pressed, \"aria-pressed\": void 0 };\n    const typeProps = valueContext.type === \"single\" ? singleProps : void 0;\n    return /* @__PURE__ */ jsx(\n      Toggle,\n      {\n        ...typeProps,\n        ...itemProps,\n        ref: forwardedRef,\n        onPressedChange: (pressed) => {\n          if (pressed) {\n            valueContext.onItemActivate(value);\n          } else {\n            valueContext.onItemDeactivate(value);\n          }\n        }\n      }\n    );\n  }\n);\nvar Root2 = ToggleGroup;\nvar Item2 = ToggleGroupItem;\nexport {\n  Item2 as Item,\n  Root2 as Root,\n  ToggleGroup,\n  ToggleGroupItem,\n  createToggleGroupScope\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/compose-refs/src/compose-refs.tsx\nimport * as React from \"react\";\nfunction setRef(ref, value) {\n  if (typeof ref === \"function\") {\n    return ref(value);\n  } else if (ref !== null && ref !== void 0) {\n    ref.current = value;\n  }\n}\nfunction composeRefs(...refs) {\n  return (node) => {\n    let hasCleanup = false;\n    const cleanups = refs.map((ref) => {\n      const cleanup = setRef(ref, node);\n      if (!hasCleanup && typeof cleanup == \"function\") {\n        hasCleanup = true;\n      }\n      return cleanup;\n    });\n    if (hasCleanup) {\n      return () => {\n        for (let i = 0; i < cleanups.length; i++) {\n          const cleanup = cleanups[i];\n          if (typeof cleanup == \"function\") {\n            cleanup();\n          } else {\n            setRef(refs[i], null);\n          }\n        }\n      };\n    }\n  };\n}\nfunction useComposedRefs(...refs) {\n  return React.useCallback(composeRefs(...refs), refs);\n}\nexport {\n  composeRefs,\n  useComposedRefs\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/context/src/create-context.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createContext2(rootComponentName, defaultContext) {\n  const Context = React.createContext(defaultContext);\n  const Provider = (props) => {\n    const { children, ...context } = props;\n    const value = React.useMemo(() => context, Object.values(context));\n    return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n  };\n  Provider.displayName = rootComponentName + \"Provider\";\n  function useContext2(consumerName) {\n    const context = React.useContext(Context);\n    if (context) return context;\n    if (defaultContext !== void 0) return defaultContext;\n    throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n  }\n  return [Provider, useContext2];\n}\nfunction createContextScope(scopeName, createContextScopeDeps = []) {\n  let defaultContexts = [];\n  function createContext3(rootComponentName, defaultContext) {\n    const BaseContext = React.createContext(defaultContext);\n    const index = defaultContexts.length;\n    defaultContexts = [...defaultContexts, defaultContext];\n    const Provider = (props) => {\n      const { scope, children, ...context } = props;\n      const Context = scope?.[scopeName]?.[index] || BaseContext;\n      const value = React.useMemo(() => context, Object.values(context));\n      return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n    };\n    Provider.displayName = rootComponentName + \"Provider\";\n    function useContext2(consumerName, scope) {\n      const Context = scope?.[scopeName]?.[index] || BaseContext;\n      const context = React.useContext(Context);\n      if (context) return context;\n      if (defaultContext !== void 0) return defaultContext;\n      throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n    }\n    return [Provider, useContext2];\n  }\n  const createScope = () => {\n    const scopeContexts = defaultContexts.map((defaultContext) => {\n      return React.createContext(defaultContext);\n    });\n    return function useScope(scope) {\n      const contexts = scope?.[scopeName] || scopeContexts;\n      return React.useMemo(\n        () => ({ [`__scope${scopeName}`]: { ...scope, [scopeName]: contexts } }),\n        [scope, contexts]\n      );\n    };\n  };\n  createScope.scopeName = scopeName;\n  return [createContext3, composeContextScopes(createScope, ...createContextScopeDeps)];\n}\nfunction composeContextScopes(...scopes) {\n  const baseScope = scopes[0];\n  if (scopes.length === 1) return baseScope;\n  const createScope = () => {\n    const scopeHooks = scopes.map((createScope2) => ({\n      useScope: createScope2(),\n      scopeName: createScope2.scopeName\n    }));\n    return function useComposedScopes(overrideScopes) {\n      const nextScopes = scopeHooks.reduce((nextScopes2, { useScope, scopeName }) => {\n        const scopeProps = useScope(overrideScopes);\n        const currentScope = scopeProps[`__scope${scopeName}`];\n        return { ...nextScopes2, ...currentScope };\n      }, {});\n      return React.useMemo(() => ({ [`__scope${baseScope.scopeName}`]: nextScopes }), [nextScopes]);\n    };\n  };\n  createScope.scopeName = baseScope.scopeName;\n  return createScope;\n}\nexport {\n  createContext2 as createContext,\n  createContextScope\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/direction/src/direction.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nvar DirectionContext = React.createContext(void 0);\nvar DirectionProvider = (props) => {\n  const { dir, children } = props;\n  return /* @__PURE__ */ jsx(DirectionContext.Provider, { value: dir, children });\n};\nfunction useDirection(localDir) {\n  const globalDir = React.useContext(DirectionContext);\n  return localDir || globalDir || \"ltr\";\n}\nvar Provider = DirectionProvider;\nexport {\n  DirectionProvider,\n  Provider,\n  useDirection\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NODES = [\n  \"a\",\n  \"button\",\n  \"div\",\n  \"form\",\n  \"h2\",\n  \"h3\",\n  \"img\",\n  \"input\",\n  \"label\",\n  \"li\",\n  \"nav\",\n  \"ol\",\n  \"p\",\n  \"select\",\n  \"span\",\n  \"svg\",\n  \"ul\"\n];\nvar Primitive = NODES.reduce((primitive, node) => {\n  const Slot = createSlot(`Primitive.${node}`);\n  const Node = React.forwardRef((props, forwardedRef) => {\n    const { asChild, ...primitiveProps } = props;\n    const Comp = asChild ? Slot : node;\n    if (typeof window !== \"undefined\") {\n      window[Symbol.for(\"radix-ui\")] = true;\n    }\n    return /* @__PURE__ */ jsx(Comp, { ...primitiveProps, ref: forwardedRef });\n  });\n  Node.displayName = `Primitive.${node}`;\n  return { ...primitive, [node]: Node };\n}, {});\nfunction dispatchDiscreteCustomEvent(target, event) {\n  if (target) ReactDOM.flushSync(() => target.dispatchEvent(event));\n}\nvar Root = Primitive;\nexport {\n  Primitive,\n  Root,\n  dispatchDiscreteCustomEvent\n};\n//# sourceMappingURL=index.mjs.map\n","// src/slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment as Fragment2, jsx } from \"react/jsx-runtime\";\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n  const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);\n  const Slot2 = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    const childrenArray = React.Children.toArray(children);\n    const slottable = childrenArray.find(isSlottable);\n    if (slottable) {\n      const newElement = slottable.props.children;\n      const newChildren = childrenArray.map((child) => {\n        if (child === slottable) {\n          if (React.Children.count(newElement) > 1) return React.Children.only(null);\n          return React.isValidElement(newElement) ? newElement.props.children : null;\n        } else {\n          return child;\n        }\n      });\n      return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n    }\n    return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n  });\n  Slot2.displayName = `${ownerName}.Slot`;\n  return Slot2;\n}\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlotClone(ownerName) {\n  const SlotClone = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    if (React.isValidElement(children)) {\n      const childrenRef = getElementRef(children);\n      const props2 = mergeProps(slotProps, children.props);\n      if (children.type !== React.Fragment) {\n        props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n      }\n      return React.cloneElement(children, props2);\n    }\n    return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n  });\n  SlotClone.displayName = `${ownerName}.SlotClone`;\n  return SlotClone;\n}\nvar SLOTTABLE_IDENTIFIER = Symbol(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n  const Slottable2 = ({ children }) => {\n    return /* @__PURE__ */ jsx(Fragment2, { children });\n  };\n  Slottable2.displayName = `${ownerName}.Slottable`;\n  Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n  return Slottable2;\n}\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nfunction isSlottable(child) {\n  return React.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\nfunction mergeProps(slotProps, childProps) {\n  const overrideProps = { ...childProps };\n  for (const propName in childProps) {\n    const slotPropValue = slotProps[propName];\n    const childPropValue = childProps[propName];\n    const isHandler = /^on[A-Z]/.test(propName);\n    if (isHandler) {\n      if (slotPropValue && childPropValue) {\n        overrideProps[propName] = (...args) => {\n          const result = childPropValue(...args);\n          slotPropValue(...args);\n          return result;\n        };\n      } else if (slotPropValue) {\n        overrideProps[propName] = slotPropValue;\n      }\n    } else if (propName === \"style\") {\n      overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n    } else if (propName === \"className\") {\n      overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n    }\n  }\n  return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n  let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n  let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.ref;\n  }\n  getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n  mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.props.ref;\n  }\n  return element.props.ref || element.ref;\n}\nexport {\n  Slot as Root,\n  Slot,\n  Slottable,\n  createSlot,\n  createSlottable\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/toggle.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NAME = \"Toggle\";\nvar Toggle = React.forwardRef((props, forwardedRef) => {\n  const { pressed: pressedProp, defaultPressed, onPressedChange, ...buttonProps } = props;\n  const [pressed, setPressed] = useControllableState({\n    prop: pressedProp,\n    onChange: onPressedChange,\n    defaultProp: defaultPressed ?? false,\n    caller: NAME\n  });\n  return /* @__PURE__ */ jsx(\n    Primitive.button,\n    {\n      type: \"button\",\n      \"aria-pressed\": pressed,\n      \"data-state\": pressed ? \"on\" : \"off\",\n      \"data-disabled\": props.disabled ? \"\" : void 0,\n      ...buttonProps,\n      ref: forwardedRef,\n      onClick: composeEventHandlers(props.onClick, () => {\n        if (!props.disabled) {\n          setPressed(!pressed);\n        }\n      })\n    }\n  );\n});\nToggle.displayName = NAME;\nvar Root = Toggle;\nexport {\n  Root,\n  Toggle\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nvar canUseDOM = !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\nfunction composeEventHandlers(originalEventHandler, ourEventHandler, { checkForDefaultPrevented = true } = {}) {\n  return function handleEvent(event) {\n    originalEventHandler?.(event);\n    if (checkForDefaultPrevented === false || !event.defaultPrevented) {\n      return ourEventHandler?.(event);\n    }\n  };\n}\nfunction getOwnerWindow(element) {\n  if (!canUseDOM) {\n    throw new Error(\"Cannot access window outside of the DOM\");\n  }\n  return element?.ownerDocument?.defaultView ?? window;\n}\nfunction getOwnerDocument(element) {\n  if (!canUseDOM) {\n    throw new Error(\"Cannot access document outside of the DOM\");\n  }\n  return element?.ownerDocument ?? document;\n}\nfunction getActiveElement(node, activeDescendant = false) {\n  const { activeElement } = getOwnerDocument(node);\n  if (!activeElement?.nodeName) {\n    return null;\n  }\n  if (isFrame(activeElement) && activeElement.contentDocument) {\n    return getActiveElement(activeElement.contentDocument.body, activeDescendant);\n  }\n  if (activeDescendant) {\n    const id = activeElement.getAttribute(\"aria-activedescendant\");\n    if (id) {\n      const element = getOwnerDocument(activeElement).getElementById(id);\n      if (element) {\n        return element;\n      }\n    }\n  }\n  return activeElement;\n}\nfunction isFrame(element) {\n  return element.tagName === \"IFRAME\";\n}\nexport {\n  canUseDOM,\n  composeEventHandlers,\n  getActiveElement,\n  getOwnerDocument,\n  getOwnerWindow,\n  isFrame\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/compose-refs/src/compose-refs.tsx\nimport * as React from \"react\";\nfunction setRef(ref, value) {\n  if (typeof ref === \"function\") {\n    return ref(value);\n  } else if (ref !== null && ref !== void 0) {\n    ref.current = value;\n  }\n}\nfunction composeRefs(...refs) {\n  return (node) => {\n    let hasCleanup = false;\n    const cleanups = refs.map((ref) => {\n      const cleanup = setRef(ref, node);\n      if (!hasCleanup && typeof cleanup == \"function\") {\n        hasCleanup = true;\n      }\n      return cleanup;\n    });\n    if (hasCleanup) {\n      return () => {\n        for (let i = 0; i < cleanups.length; i++) {\n          const cleanup = cleanups[i];\n          if (typeof cleanup == \"function\") {\n            cleanup();\n          } else {\n            setRef(refs[i], null);\n          }\n        }\n      };\n    }\n  };\n}\nfunction useComposedRefs(...refs) {\n  return React.useCallback(composeRefs(...refs), refs);\n}\nexport {\n  composeRefs,\n  useComposedRefs\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NODES = [\n  \"a\",\n  \"button\",\n  \"div\",\n  \"form\",\n  \"h2\",\n  \"h3\",\n  \"img\",\n  \"input\",\n  \"label\",\n  \"li\",\n  \"nav\",\n  \"ol\",\n  \"p\",\n  \"select\",\n  \"span\",\n  \"svg\",\n  \"ul\"\n];\nvar Primitive = NODES.reduce((primitive, node) => {\n  const Slot = createSlot(`Primitive.${node}`);\n  const Node = React.forwardRef((props, forwardedRef) => {\n    const { asChild, ...primitiveProps } = props;\n    const Comp = asChild ? Slot : node;\n    if (typeof window !== \"undefined\") {\n      window[Symbol.for(\"radix-ui\")] = true;\n    }\n    return /* @__PURE__ */ jsx(Comp, { ...primitiveProps, ref: forwardedRef });\n  });\n  Node.displayName = `Primitive.${node}`;\n  return { ...primitive, [node]: Node };\n}, {});\nfunction dispatchDiscreteCustomEvent(target, event) {\n  if (target) ReactDOM.flushSync(() => target.dispatchEvent(event));\n}\nvar Root = Primitive;\nexport {\n  Primitive,\n  Root,\n  dispatchDiscreteCustomEvent\n};\n//# sourceMappingURL=index.mjs.map\n","// src/slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment as Fragment2, jsx } from \"react/jsx-runtime\";\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n  const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);\n  const Slot2 = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    const childrenArray = React.Children.toArray(children);\n    const slottable = childrenArray.find(isSlottable);\n    if (slottable) {\n      const newElement = slottable.props.children;\n      const newChildren = childrenArray.map((child) => {\n        if (child === slottable) {\n          if (React.Children.count(newElement) > 1) return React.Children.only(null);\n          return React.isValidElement(newElement) ? newElement.props.children : null;\n        } else {\n          return child;\n        }\n      });\n      return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n    }\n    return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n  });\n  Slot2.displayName = `${ownerName}.Slot`;\n  return Slot2;\n}\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlotClone(ownerName) {\n  const SlotClone = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    if (React.isValidElement(children)) {\n      const childrenRef = getElementRef(children);\n      const props2 = mergeProps(slotProps, children.props);\n      if (children.type !== React.Fragment) {\n        props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n      }\n      return React.cloneElement(children, props2);\n    }\n    return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n  });\n  SlotClone.displayName = `${ownerName}.SlotClone`;\n  return SlotClone;\n}\nvar SLOTTABLE_IDENTIFIER = Symbol(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n  const Slottable2 = ({ children }) => {\n    return /* @__PURE__ */ jsx(Fragment2, { children });\n  };\n  Slottable2.displayName = `${ownerName}.Slottable`;\n  Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n  return Slottable2;\n}\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nfunction isSlottable(child) {\n  return React.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\nfunction mergeProps(slotProps, childProps) {\n  const overrideProps = { ...childProps };\n  for (const propName in childProps) {\n    const slotPropValue = slotProps[propName];\n    const childPropValue = childProps[propName];\n    const isHandler = /^on[A-Z]/.test(propName);\n    if (isHandler) {\n      if (slotPropValue && childPropValue) {\n        overrideProps[propName] = (...args) => {\n          const result = childPropValue(...args);\n          slotPropValue(...args);\n          return result;\n        };\n      } else if (slotPropValue) {\n        overrideProps[propName] = slotPropValue;\n      }\n    } else if (propName === \"style\") {\n      overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n    } else if (propName === \"className\") {\n      overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n    }\n  }\n  return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n  let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n  let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.ref;\n  }\n  getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n  mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.props.ref;\n  }\n  return element.props.ref || element.ref;\n}\nexport {\n  Slot as Root,\n  Slot,\n  Slottable,\n  createSlot,\n  createSlottable\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/tooltip.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { DismissableLayer } from \"@radix-ui/react-dismissable-layer\";\nimport { useId } from \"@radix-ui/react-id\";\nimport * as PopperPrimitive from \"@radix-ui/react-popper\";\nimport { createPopperScope } from \"@radix-ui/react-popper\";\nimport { Portal as PortalPrimitive } from \"@radix-ui/react-portal\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { createSlottable } from \"@radix-ui/react-slot\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport * as VisuallyHiddenPrimitive from \"@radix-ui/react-visually-hidden\";\nimport { jsx, jsxs } from \"react/jsx-runtime\";\nvar [createTooltipContext, createTooltipScope] = createContextScope(\"Tooltip\", [\n  createPopperScope\n]);\nvar usePopperScope = createPopperScope();\nvar PROVIDER_NAME = \"TooltipProvider\";\nvar DEFAULT_DELAY_DURATION = 700;\nvar TOOLTIP_OPEN = \"tooltip.open\";\nvar [TooltipProviderContextProvider, useTooltipProviderContext] = createTooltipContext(PROVIDER_NAME);\nvar TooltipProvider = (props) => {\n  const {\n    __scopeTooltip,\n    delayDuration = DEFAULT_DELAY_DURATION,\n    skipDelayDuration = 300,\n    disableHoverableContent = false,\n    children\n  } = props;\n  const isOpenDelayedRef = React.useRef(true);\n  const isPointerInTransitRef = React.useRef(false);\n  const skipDelayTimerRef = React.useRef(0);\n  React.useEffect(() => {\n    const skipDelayTimer = skipDelayTimerRef.current;\n    return () => window.clearTimeout(skipDelayTimer);\n  }, []);\n  return /* @__PURE__ */ jsx(\n    TooltipProviderContextProvider,\n    {\n      scope: __scopeTooltip,\n      isOpenDelayedRef,\n      delayDuration,\n      onOpen: React.useCallback(() => {\n        window.clearTimeout(skipDelayTimerRef.current);\n        isOpenDelayedRef.current = false;\n      }, []),\n      onClose: React.useCallback(() => {\n        window.clearTimeout(skipDelayTimerRef.current);\n        skipDelayTimerRef.current = window.setTimeout(\n          () => isOpenDelayedRef.current = true,\n          skipDelayDuration\n        );\n      }, [skipDelayDuration]),\n      isPointerInTransitRef,\n      onPointerInTransitChange: React.useCallback((inTransit) => {\n        isPointerInTransitRef.current = inTransit;\n      }, []),\n      disableHoverableContent,\n      children\n    }\n  );\n};\nTooltipProvider.displayName = PROVIDER_NAME;\nvar TOOLTIP_NAME = \"Tooltip\";\nvar [TooltipContextProvider, useTooltipContext] = createTooltipContext(TOOLTIP_NAME);\nvar Tooltip = (props) => {\n  const {\n    __scopeTooltip,\n    children,\n    open: openProp,\n    defaultOpen,\n    onOpenChange,\n    disableHoverableContent: disableHoverableContentProp,\n    delayDuration: delayDurationProp\n  } = props;\n  const providerContext = useTooltipProviderContext(TOOLTIP_NAME, props.__scopeTooltip);\n  const popperScope = usePopperScope(__scopeTooltip);\n  const [trigger, setTrigger] = React.useState(null);\n  const contentId = useId();\n  const openTimerRef = React.useRef(0);\n  const disableHoverableContent = disableHoverableContentProp ?? providerContext.disableHoverableContent;\n  const delayDuration = delayDurationProp ?? providerContext.delayDuration;\n  const wasOpenDelayedRef = React.useRef(false);\n  const [open, setOpen] = useControllableState({\n    prop: openProp,\n    defaultProp: defaultOpen ?? false,\n    onChange: (open2) => {\n      if (open2) {\n        providerContext.onOpen();\n        document.dispatchEvent(new CustomEvent(TOOLTIP_OPEN));\n      } else {\n        providerContext.onClose();\n      }\n      onOpenChange?.(open2);\n    },\n    caller: TOOLTIP_NAME\n  });\n  const stateAttribute = React.useMemo(() => {\n    return open ? wasOpenDelayedRef.current ? \"delayed-open\" : \"instant-open\" : \"closed\";\n  }, [open]);\n  const handleOpen = React.useCallback(() => {\n    window.clearTimeout(openTimerRef.current);\n    openTimerRef.current = 0;\n    wasOpenDelayedRef.current = false;\n    setOpen(true);\n  }, [setOpen]);\n  const handleClose = React.useCallback(() => {\n    window.clearTimeout(openTimerRef.current);\n    openTimerRef.current = 0;\n    setOpen(false);\n  }, [setOpen]);\n  const handleDelayedOpen = React.useCallback(() => {\n    window.clearTimeout(openTimerRef.current);\n    openTimerRef.current = window.setTimeout(() => {\n      wasOpenDelayedRef.current = true;\n      setOpen(true);\n      openTimerRef.current = 0;\n    }, delayDuration);\n  }, [delayDuration, setOpen]);\n  React.useEffect(() => {\n    return () => {\n      if (openTimerRef.current) {\n        window.clearTimeout(openTimerRef.current);\n        openTimerRef.current = 0;\n      }\n    };\n  }, []);\n  return /* @__PURE__ */ jsx(PopperPrimitive.Root, { ...popperScope, children: /* @__PURE__ */ jsx(\n    TooltipContextProvider,\n    {\n      scope: __scopeTooltip,\n      contentId,\n      open,\n      stateAttribute,\n      trigger,\n      onTriggerChange: setTrigger,\n      onTriggerEnter: React.useCallback(() => {\n        if (providerContext.isOpenDelayedRef.current) handleDelayedOpen();\n        else handleOpen();\n      }, [providerContext.isOpenDelayedRef, handleDelayedOpen, handleOpen]),\n      onTriggerLeave: React.useCallback(() => {\n        if (disableHoverableContent) {\n          handleClose();\n        } else {\n          window.clearTimeout(openTimerRef.current);\n          openTimerRef.current = 0;\n        }\n      }, [handleClose, disableHoverableContent]),\n      onOpen: handleOpen,\n      onClose: handleClose,\n      disableHoverableContent,\n      children\n    }\n  ) });\n};\nTooltip.displayName = TOOLTIP_NAME;\nvar TRIGGER_NAME = \"TooltipTrigger\";\nvar TooltipTrigger = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeTooltip, ...triggerProps } = props;\n    const context = useTooltipContext(TRIGGER_NAME, __scopeTooltip);\n    const providerContext = useTooltipProviderContext(TRIGGER_NAME, __scopeTooltip);\n    const popperScope = usePopperScope(__scopeTooltip);\n    const ref = React.useRef(null);\n    const composedRefs = useComposedRefs(forwardedRef, ref, context.onTriggerChange);\n    const isPointerDownRef = React.useRef(false);\n    const hasPointerMoveOpenedRef = React.useRef(false);\n    const handlePointerUp = React.useCallback(() => isPointerDownRef.current = false, []);\n    React.useEffect(() => {\n      return () => document.removeEventListener(\"pointerup\", handlePointerUp);\n    }, [handlePointerUp]);\n    return /* @__PURE__ */ jsx(PopperPrimitive.Anchor, { asChild: true, ...popperScope, children: /* @__PURE__ */ jsx(\n      Primitive.button,\n      {\n        \"aria-describedby\": context.open ? context.contentId : void 0,\n        \"data-state\": context.stateAttribute,\n        ...triggerProps,\n        ref: composedRefs,\n        onPointerMove: composeEventHandlers(props.onPointerMove, (event) => {\n          if (event.pointerType === \"touch\") return;\n          if (!hasPointerMoveOpenedRef.current && !providerContext.isPointerInTransitRef.current) {\n            context.onTriggerEnter();\n            hasPointerMoveOpenedRef.current = true;\n          }\n        }),\n        onPointerLeave: composeEventHandlers(props.onPointerLeave, () => {\n          context.onTriggerLeave();\n          hasPointerMoveOpenedRef.current = false;\n        }),\n        onPointerDown: composeEventHandlers(props.onPointerDown, () => {\n          if (context.open) {\n            context.onClose();\n          }\n          isPointerDownRef.current = true;\n          document.addEventListener(\"pointerup\", handlePointerUp, { once: true });\n        }),\n        onFocus: composeEventHandlers(props.onFocus, () => {\n          if (!isPointerDownRef.current) context.onOpen();\n        }),\n        onBlur: composeEventHandlers(props.onBlur, context.onClose),\n        onClick: composeEventHandlers(props.onClick, context.onClose)\n      }\n    ) });\n  }\n);\nTooltipTrigger.displayName = TRIGGER_NAME;\nvar PORTAL_NAME = \"TooltipPortal\";\nvar [PortalProvider, usePortalContext] = createTooltipContext(PORTAL_NAME, {\n  forceMount: void 0\n});\nvar TooltipPortal = (props) => {\n  const { __scopeTooltip, forceMount, children, container } = props;\n  const context = useTooltipContext(PORTAL_NAME, __scopeTooltip);\n  return /* @__PURE__ */ jsx(PortalProvider, { scope: __scopeTooltip, forceMount, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(PortalPrimitive, { asChild: true, container, children }) }) });\n};\nTooltipPortal.displayName = PORTAL_NAME;\nvar CONTENT_NAME = \"TooltipContent\";\nvar TooltipContent = React.forwardRef(\n  (props, forwardedRef) => {\n    const portalContext = usePortalContext(CONTENT_NAME, props.__scopeTooltip);\n    const { forceMount = portalContext.forceMount, side = \"top\", ...contentProps } = props;\n    const context = useTooltipContext(CONTENT_NAME, props.__scopeTooltip);\n    return /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: context.disableHoverableContent ? /* @__PURE__ */ jsx(TooltipContentImpl, { side, ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ jsx(TooltipContentHoverable, { side, ...contentProps, ref: forwardedRef }) });\n  }\n);\nvar TooltipContentHoverable = React.forwardRef((props, forwardedRef) => {\n  const context = useTooltipContext(CONTENT_NAME, props.__scopeTooltip);\n  const providerContext = useTooltipProviderContext(CONTENT_NAME, props.__scopeTooltip);\n  const ref = React.useRef(null);\n  const composedRefs = useComposedRefs(forwardedRef, ref);\n  const [pointerGraceArea, setPointerGraceArea] = React.useState(null);\n  const { trigger, onClose } = context;\n  const content = ref.current;\n  const { onPointerInTransitChange } = providerContext;\n  const handleRemoveGraceArea = React.useCallback(() => {\n    setPointerGraceArea(null);\n    onPointerInTransitChange(false);\n  }, [onPointerInTransitChange]);\n  const handleCreateGraceArea = React.useCallback(\n    (event, hoverTarget) => {\n      const currentTarget = event.currentTarget;\n      const exitPoint = { x: event.clientX, y: event.clientY };\n      const exitSide = getExitSideFromRect(exitPoint, currentTarget.getBoundingClientRect());\n      const paddedExitPoints = getPaddedExitPoints(exitPoint, exitSide);\n      const hoverTargetPoints = getPointsFromRect(hoverTarget.getBoundingClientRect());\n      const graceArea = getHull([...paddedExitPoints, ...hoverTargetPoints]);\n      setPointerGraceArea(graceArea);\n      onPointerInTransitChange(true);\n    },\n    [onPointerInTransitChange]\n  );\n  React.useEffect(() => {\n    return () => handleRemoveGraceArea();\n  }, [handleRemoveGraceArea]);\n  React.useEffect(() => {\n    if (trigger && content) {\n      const handleTriggerLeave = (event) => handleCreateGraceArea(event, content);\n      const handleContentLeave = (event) => handleCreateGraceArea(event, trigger);\n      trigger.addEventListener(\"pointerleave\", handleTriggerLeave);\n      content.addEventListener(\"pointerleave\", handleContentLeave);\n      return () => {\n        trigger.removeEventListener(\"pointerleave\", handleTriggerLeave);\n        content.removeEventListener(\"pointerleave\", handleContentLeave);\n      };\n    }\n  }, [trigger, content, handleCreateGraceArea, handleRemoveGraceArea]);\n  React.useEffect(() => {\n    if (pointerGraceArea) {\n      const handleTrackPointerGrace = (event) => {\n        const target = event.target;\n        const pointerPosition = { x: event.clientX, y: event.clientY };\n        const hasEnteredTarget = trigger?.contains(target) || content?.contains(target);\n        const isPointerOutsideGraceArea = !isPointInPolygon(pointerPosition, pointerGraceArea);\n        if (hasEnteredTarget) {\n          handleRemoveGraceArea();\n        } else if (isPointerOutsideGraceArea) {\n          handleRemoveGraceArea();\n          onClose();\n        }\n      };\n      document.addEventListener(\"pointermove\", handleTrackPointerGrace);\n      return () => document.removeEventListener(\"pointermove\", handleTrackPointerGrace);\n    }\n  }, [trigger, content, pointerGraceArea, onClose, handleRemoveGraceArea]);\n  return /* @__PURE__ */ jsx(TooltipContentImpl, { ...props, ref: composedRefs });\n});\nvar [VisuallyHiddenContentContextProvider, useVisuallyHiddenContentContext] = createTooltipContext(TOOLTIP_NAME, { isInside: false });\nvar Slottable = createSlottable(\"TooltipContent\");\nvar TooltipContentImpl = React.forwardRef(\n  (props, forwardedRef) => {\n    const {\n      __scopeTooltip,\n      children,\n      \"aria-label\": ariaLabel,\n      onEscapeKeyDown,\n      onPointerDownOutside,\n      ...contentProps\n    } = props;\n    const context = useTooltipContext(CONTENT_NAME, __scopeTooltip);\n    const popperScope = usePopperScope(__scopeTooltip);\n    const { onClose } = context;\n    React.useEffect(() => {\n      document.addEventListener(TOOLTIP_OPEN, onClose);\n      return () => document.removeEventListener(TOOLTIP_OPEN, onClose);\n    }, [onClose]);\n    React.useEffect(() => {\n      if (context.trigger) {\n        const handleScroll = (event) => {\n          const target = event.target;\n          if (target?.contains(context.trigger)) onClose();\n        };\n        window.addEventListener(\"scroll\", handleScroll, { capture: true });\n        return () => window.removeEventListener(\"scroll\", handleScroll, { capture: true });\n      }\n    }, [context.trigger, onClose]);\n    return /* @__PURE__ */ jsx(\n      DismissableLayer,\n      {\n        asChild: true,\n        disableOutsidePointerEvents: false,\n        onEscapeKeyDown,\n        onPointerDownOutside,\n        onFocusOutside: (event) => event.preventDefault(),\n        onDismiss: onClose,\n        children: /* @__PURE__ */ jsxs(\n          PopperPrimitive.Content,\n          {\n            \"data-state\": context.stateAttribute,\n            ...popperScope,\n            ...contentProps,\n            ref: forwardedRef,\n            style: {\n              ...contentProps.style,\n              // re-namespace exposed content custom properties\n              ...{\n                \"--radix-tooltip-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n                \"--radix-tooltip-content-available-width\": \"var(--radix-popper-available-width)\",\n                \"--radix-tooltip-content-available-height\": \"var(--radix-popper-available-height)\",\n                \"--radix-tooltip-trigger-width\": \"var(--radix-popper-anchor-width)\",\n                \"--radix-tooltip-trigger-height\": \"var(--radix-popper-anchor-height)\"\n              }\n            },\n            children: [\n              /* @__PURE__ */ jsx(Slottable, { children }),\n              /* @__PURE__ */ jsx(VisuallyHiddenContentContextProvider, { scope: __scopeTooltip, isInside: true, children: /* @__PURE__ */ jsx(VisuallyHiddenPrimitive.Root, { id: context.contentId, role: \"tooltip\", children: ariaLabel || children }) })\n            ]\n          }\n        )\n      }\n    );\n  }\n);\nTooltipContent.displayName = CONTENT_NAME;\nvar ARROW_NAME = \"TooltipArrow\";\nvar TooltipArrow = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeTooltip, ...arrowProps } = props;\n    const popperScope = usePopperScope(__scopeTooltip);\n    const visuallyHiddenContentContext = useVisuallyHiddenContentContext(\n      ARROW_NAME,\n      __scopeTooltip\n    );\n    return visuallyHiddenContentContext.isInside ? null : /* @__PURE__ */ jsx(PopperPrimitive.Arrow, { ...popperScope, ...arrowProps, ref: forwardedRef });\n  }\n);\nTooltipArrow.displayName = ARROW_NAME;\nfunction getExitSideFromRect(point, rect) {\n  const top = Math.abs(rect.top - point.y);\n  const bottom = Math.abs(rect.bottom - point.y);\n  const right = Math.abs(rect.right - point.x);\n  const left = Math.abs(rect.left - point.x);\n  switch (Math.min(top, bottom, right, left)) {\n    case left:\n      return \"left\";\n    case right:\n      return \"right\";\n    case top:\n      return \"top\";\n    case bottom:\n      return \"bottom\";\n    default:\n      throw new Error(\"unreachable\");\n  }\n}\nfunction getPaddedExitPoints(exitPoint, exitSide, padding = 5) {\n  const paddedExitPoints = [];\n  switch (exitSide) {\n    case \"top\":\n      paddedExitPoints.push(\n        { x: exitPoint.x - padding, y: exitPoint.y + padding },\n        { x: exitPoint.x + padding, y: exitPoint.y + padding }\n      );\n      break;\n    case \"bottom\":\n      paddedExitPoints.push(\n        { x: exitPoint.x - padding, y: exitPoint.y - padding },\n        { x: exitPoint.x + padding, y: exitPoint.y - padding }\n      );\n      break;\n    case \"left\":\n      paddedExitPoints.push(\n        { x: exitPoint.x + padding, y: exitPoint.y - padding },\n        { x: exitPoint.x + padding, y: exitPoint.y + padding }\n      );\n      break;\n    case \"right\":\n      paddedExitPoints.push(\n        { x: exitPoint.x - padding, y: exitPoint.y - padding },\n        { x: exitPoint.x - padding, y: exitPoint.y + padding }\n      );\n      break;\n  }\n  return paddedExitPoints;\n}\nfunction getPointsFromRect(rect) {\n  const { top, right, bottom, left } = rect;\n  return [\n    { x: left, y: top },\n    { x: right, y: top },\n    { x: right, y: bottom },\n    { x: left, y: bottom }\n  ];\n}\nfunction isPointInPolygon(point, polygon) {\n  const { x, y } = point;\n  let inside = false;\n  for (let i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {\n    const ii = polygon[i];\n    const jj = polygon[j];\n    const xi = ii.x;\n    const yi = ii.y;\n    const xj = jj.x;\n    const yj = jj.y;\n    const intersect = yi > y !== yj > y && x < (xj - xi) * (y - yi) / (yj - yi) + xi;\n    if (intersect) inside = !inside;\n  }\n  return inside;\n}\nfunction getHull(points) {\n  const newPoints = points.slice();\n  newPoints.sort((a, b) => {\n    if (a.x < b.x) return -1;\n    else if (a.x > b.x) return 1;\n    else if (a.y < b.y) return -1;\n    else if (a.y > b.y) return 1;\n    else return 0;\n  });\n  return getHullPresorted(newPoints);\n}\nfunction getHullPresorted(points) {\n  if (points.length <= 1) return points.slice();\n  const upperHull = [];\n  for (let i = 0; i < points.length; i++) {\n    const p = points[i];\n    while (upperHull.length >= 2) {\n      const q = upperHull[upperHull.length - 1];\n      const r = upperHull[upperHull.length - 2];\n      if ((q.x - r.x) * (p.y - r.y) >= (q.y - r.y) * (p.x - r.x)) upperHull.pop();\n      else break;\n    }\n    upperHull.push(p);\n  }\n  upperHull.pop();\n  const lowerHull = [];\n  for (let i = points.length - 1; i >= 0; i--) {\n    const p = points[i];\n    while (lowerHull.length >= 2) {\n      const q = lowerHull[lowerHull.length - 1];\n      const r = lowerHull[lowerHull.length - 2];\n      if ((q.x - r.x) * (p.y - r.y) >= (q.y - r.y) * (p.x - r.x)) lowerHull.pop();\n      else break;\n    }\n    lowerHull.push(p);\n  }\n  lowerHull.pop();\n  if (upperHull.length === 1 && lowerHull.length === 1 && upperHull[0].x === lowerHull[0].x && upperHull[0].y === lowerHull[0].y) {\n    return upperHull;\n  } else {\n    return upperHull.concat(lowerHull);\n  }\n}\nvar Provider = TooltipProvider;\nvar Root3 = Tooltip;\nvar Trigger = TooltipTrigger;\nvar Portal = TooltipPortal;\nvar Content2 = TooltipContent;\nvar Arrow2 = TooltipArrow;\nexport {\n  Arrow2 as Arrow,\n  Content2 as Content,\n  Portal,\n  Provider,\n  Root3 as Root,\n  Tooltip,\n  TooltipArrow,\n  TooltipContent,\n  TooltipPortal,\n  TooltipProvider,\n  TooltipTrigger,\n  Trigger,\n  createTooltipScope\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nvar canUseDOM = !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\nfunction composeEventHandlers(originalEventHandler, ourEventHandler, { checkForDefaultPrevented = true } = {}) {\n  return function handleEvent(event) {\n    originalEventHandler?.(event);\n    if (checkForDefaultPrevented === false || !event.defaultPrevented) {\n      return ourEventHandler?.(event);\n    }\n  };\n}\nfunction getOwnerWindow(element) {\n  if (!canUseDOM) {\n    throw new Error(\"Cannot access window outside of the DOM\");\n  }\n  return element?.ownerDocument?.defaultView ?? window;\n}\nfunction getOwnerDocument(element) {\n  if (!canUseDOM) {\n    throw new Error(\"Cannot access document outside of the DOM\");\n  }\n  return element?.ownerDocument ?? document;\n}\nfunction getActiveElement(node, activeDescendant = false) {\n  const { activeElement } = getOwnerDocument(node);\n  if (!activeElement?.nodeName) {\n    return null;\n  }\n  if (isFrame(activeElement) && activeElement.contentDocument) {\n    return getActiveElement(activeElement.contentDocument.body, activeDescendant);\n  }\n  if (activeDescendant) {\n    const id = activeElement.getAttribute(\"aria-activedescendant\");\n    if (id) {\n      const element = getOwnerDocument(activeElement).getElementById(id);\n      if (element) {\n        return element;\n      }\n    }\n  }\n  return activeElement;\n}\nfunction isFrame(element) {\n  return element.tagName === \"IFRAME\";\n}\nexport {\n  canUseDOM,\n  composeEventHandlers,\n  getActiveElement,\n  getOwnerDocument,\n  getOwnerWindow,\n  isFrame\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/compose-refs/src/compose-refs.tsx\nimport * as React from \"react\";\nfunction setRef(ref, value) {\n  if (typeof ref === \"function\") {\n    return ref(value);\n  } else if (ref !== null && ref !== void 0) {\n    ref.current = value;\n  }\n}\nfunction composeRefs(...refs) {\n  return (node) => {\n    let hasCleanup = false;\n    const cleanups = refs.map((ref) => {\n      const cleanup = setRef(ref, node);\n      if (!hasCleanup && typeof cleanup == \"function\") {\n        hasCleanup = true;\n      }\n      return cleanup;\n    });\n    if (hasCleanup) {\n      return () => {\n        for (let i = 0; i < cleanups.length; i++) {\n          const cleanup = cleanups[i];\n          if (typeof cleanup == \"function\") {\n            cleanup();\n          } else {\n            setRef(refs[i], null);\n          }\n        }\n      };\n    }\n  };\n}\nfunction useComposedRefs(...refs) {\n  return React.useCallback(composeRefs(...refs), refs);\n}\nexport {\n  composeRefs,\n  useComposedRefs\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/context/src/create-context.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createContext2(rootComponentName, defaultContext) {\n  const Context = React.createContext(defaultContext);\n  const Provider = (props) => {\n    const { children, ...context } = props;\n    const value = React.useMemo(() => context, Object.values(context));\n    return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n  };\n  Provider.displayName = rootComponentName + \"Provider\";\n  function useContext2(consumerName) {\n    const context = React.useContext(Context);\n    if (context) return context;\n    if (defaultContext !== void 0) return defaultContext;\n    throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n  }\n  return [Provider, useContext2];\n}\nfunction createContextScope(scopeName, createContextScopeDeps = []) {\n  let defaultContexts = [];\n  function createContext3(rootComponentName, defaultContext) {\n    const BaseContext = React.createContext(defaultContext);\n    const index = defaultContexts.length;\n    defaultContexts = [...defaultContexts, defaultContext];\n    const Provider = (props) => {\n      const { scope, children, ...context } = props;\n      const Context = scope?.[scopeName]?.[index] || BaseContext;\n      const value = React.useMemo(() => context, Object.values(context));\n      return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n    };\n    Provider.displayName = rootComponentName + \"Provider\";\n    function useContext2(consumerName, scope) {\n      const Context = scope?.[scopeName]?.[index] || BaseContext;\n      const context = React.useContext(Context);\n      if (context) return context;\n      if (defaultContext !== void 0) return defaultContext;\n      throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n    }\n    return [Provider, useContext2];\n  }\n  const createScope = () => {\n    const scopeContexts = defaultContexts.map((defaultContext) => {\n      return React.createContext(defaultContext);\n    });\n    return function useScope(scope) {\n      const contexts = scope?.[scopeName] || scopeContexts;\n      return React.useMemo(\n        () => ({ [`__scope${scopeName}`]: { ...scope, [scopeName]: contexts } }),\n        [scope, contexts]\n      );\n    };\n  };\n  createScope.scopeName = scopeName;\n  return [createContext3, composeContextScopes(createScope, ...createContextScopeDeps)];\n}\nfunction composeContextScopes(...scopes) {\n  const baseScope = scopes[0];\n  if (scopes.length === 1) return baseScope;\n  const createScope = () => {\n    const scopeHooks = scopes.map((createScope2) => ({\n      useScope: createScope2(),\n      scopeName: createScope2.scopeName\n    }));\n    return function useComposedScopes(overrideScopes) {\n      const nextScopes = scopeHooks.reduce((nextScopes2, { useScope, scopeName }) => {\n        const scopeProps = useScope(overrideScopes);\n        const currentScope = scopeProps[`__scope${scopeName}`];\n        return { ...nextScopes2, ...currentScope };\n      }, {});\n      return React.useMemo(() => ({ [`__scope${baseScope.scopeName}`]: nextScopes }), [nextScopes]);\n    };\n  };\n  createScope.scopeName = baseScope.scopeName;\n  return createScope;\n}\nexport {\n  createContext2 as createContext,\n  createContextScope\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/presence.tsx\nimport * as React2 from \"react\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\n\n// src/use-state-machine.tsx\nimport * as React from \"react\";\nfunction useStateMachine(initialState, machine) {\n  return React.useReducer((state, event) => {\n    const nextState = machine[state][event];\n    return nextState ?? state;\n  }, initialState);\n}\n\n// src/presence.tsx\nvar Presence = (props) => {\n  const { present, children } = props;\n  const presence = usePresence(present);\n  const child = typeof children === \"function\" ? children({ present: presence.isPresent }) : React2.Children.only(children);\n  const ref = useComposedRefs(presence.ref, getElementRef(child));\n  const forceMount = typeof children === \"function\";\n  return forceMount || presence.isPresent ? React2.cloneElement(child, { ref }) : null;\n};\nPresence.displayName = \"Presence\";\nfunction usePresence(present) {\n  const [node, setNode] = React2.useState();\n  const stylesRef = React2.useRef(null);\n  const prevPresentRef = React2.useRef(present);\n  const prevAnimationNameRef = React2.useRef(\"none\");\n  const initialState = present ? \"mounted\" : \"unmounted\";\n  const [state, send] = useStateMachine(initialState, {\n    mounted: {\n      UNMOUNT: \"unmounted\",\n      ANIMATION_OUT: \"unmountSuspended\"\n    },\n    unmountSuspended: {\n      MOUNT: \"mounted\",\n      ANIMATION_END: \"unmounted\"\n    },\n    unmounted: {\n      MOUNT: \"mounted\"\n    }\n  });\n  React2.useEffect(() => {\n    const currentAnimationName = getAnimationName(stylesRef.current);\n    prevAnimationNameRef.current = state === \"mounted\" ? currentAnimationName : \"none\";\n  }, [state]);\n  useLayoutEffect(() => {\n    const styles = stylesRef.current;\n    const wasPresent = prevPresentRef.current;\n    const hasPresentChanged = wasPresent !== present;\n    if (hasPresentChanged) {\n      const prevAnimationName = prevAnimationNameRef.current;\n      const currentAnimationName = getAnimationName(styles);\n      if (present) {\n        send(\"MOUNT\");\n      } else if (currentAnimationName === \"none\" || styles?.display === \"none\") {\n        send(\"UNMOUNT\");\n      } else {\n        const isAnimating = prevAnimationName !== currentAnimationName;\n        if (wasPresent && isAnimating) {\n          send(\"ANIMATION_OUT\");\n        } else {\n          send(\"UNMOUNT\");\n        }\n      }\n      prevPresentRef.current = present;\n    }\n  }, [present, send]);\n  useLayoutEffect(() => {\n    if (node) {\n      let timeoutId;\n      const ownerWindow = node.ownerDocument.defaultView ?? window;\n      const handleAnimationEnd = (event) => {\n        const currentAnimationName = getAnimationName(stylesRef.current);\n        const isCurrentAnimation = currentAnimationName.includes(CSS.escape(event.animationName));\n        if (event.target === node && isCurrentAnimation) {\n          send(\"ANIMATION_END\");\n          if (!prevPresentRef.current) {\n            const currentFillMode = node.style.animationFillMode;\n            node.style.animationFillMode = \"forwards\";\n            timeoutId = ownerWindow.setTimeout(() => {\n              if (node.style.animationFillMode === \"forwards\") {\n                node.style.animationFillMode = currentFillMode;\n              }\n            });\n          }\n        }\n      };\n      const handleAnimationStart = (event) => {\n        if (event.target === node) {\n          prevAnimationNameRef.current = getAnimationName(stylesRef.current);\n        }\n      };\n      node.addEventListener(\"animationstart\", handleAnimationStart);\n      node.addEventListener(\"animationcancel\", handleAnimationEnd);\n      node.addEventListener(\"animationend\", handleAnimationEnd);\n      return () => {\n        ownerWindow.clearTimeout(timeoutId);\n        node.removeEventListener(\"animationstart\", handleAnimationStart);\n        node.removeEventListener(\"animationcancel\", handleAnimationEnd);\n        node.removeEventListener(\"animationend\", handleAnimationEnd);\n      };\n    } else {\n      send(\"ANIMATION_END\");\n    }\n  }, [node, send]);\n  return {\n    isPresent: [\"mounted\", \"unmountSuspended\"].includes(state),\n    ref: React2.useCallback((node2) => {\n      stylesRef.current = node2 ? getComputedStyle(node2) : null;\n      setNode(node2);\n    }, [])\n  };\n}\nfunction getAnimationName(styles) {\n  return styles?.animationName || \"none\";\n}\nfunction getElementRef(element) {\n  let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n  let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.ref;\n  }\n  getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n  mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.props.ref;\n  }\n  return element.props.ref || element.ref;\n}\nvar Root = Presence;\nexport {\n  Presence,\n  Root\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NODES = [\n  \"a\",\n  \"button\",\n  \"div\",\n  \"form\",\n  \"h2\",\n  \"h3\",\n  \"img\",\n  \"input\",\n  \"label\",\n  \"li\",\n  \"nav\",\n  \"ol\",\n  \"p\",\n  \"select\",\n  \"span\",\n  \"svg\",\n  \"ul\"\n];\nvar Primitive = NODES.reduce((primitive, node) => {\n  const Slot = createSlot(`Primitive.${node}`);\n  const Node = React.forwardRef((props, forwardedRef) => {\n    const { asChild, ...primitiveProps } = props;\n    const Comp = asChild ? Slot : node;\n    if (typeof window !== \"undefined\") {\n      window[Symbol.for(\"radix-ui\")] = true;\n    }\n    return /* @__PURE__ */ jsx(Comp, { ...primitiveProps, ref: forwardedRef });\n  });\n  Node.displayName = `Primitive.${node}`;\n  return { ...primitive, [node]: Node };\n}, {});\nfunction dispatchDiscreteCustomEvent(target, event) {\n  if (target) ReactDOM.flushSync(() => target.dispatchEvent(event));\n}\nvar Root = Primitive;\nexport {\n  Primitive,\n  Root,\n  dispatchDiscreteCustomEvent\n};\n//# sourceMappingURL=index.mjs.map\n","// src/slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment as Fragment2, jsx } from \"react/jsx-runtime\";\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n  const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);\n  const Slot2 = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    const childrenArray = React.Children.toArray(children);\n    const slottable = childrenArray.find(isSlottable);\n    if (slottable) {\n      const newElement = slottable.props.children;\n      const newChildren = childrenArray.map((child) => {\n        if (child === slottable) {\n          if (React.Children.count(newElement) > 1) return React.Children.only(null);\n          return React.isValidElement(newElement) ? newElement.props.children : null;\n        } else {\n          return child;\n        }\n      });\n      return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n    }\n    return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n  });\n  Slot2.displayName = `${ownerName}.Slot`;\n  return Slot2;\n}\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlotClone(ownerName) {\n  const SlotClone = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    if (React.isValidElement(children)) {\n      const childrenRef = getElementRef(children);\n      const props2 = mergeProps(slotProps, children.props);\n      if (children.type !== React.Fragment) {\n        props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n      }\n      return React.cloneElement(children, props2);\n    }\n    return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n  });\n  SlotClone.displayName = `${ownerName}.SlotClone`;\n  return SlotClone;\n}\nvar SLOTTABLE_IDENTIFIER = Symbol(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n  const Slottable2 = ({ children }) => {\n    return /* @__PURE__ */ jsx(Fragment2, { children });\n  };\n  Slottable2.displayName = `${ownerName}.Slottable`;\n  Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n  return Slottable2;\n}\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nfunction isSlottable(child) {\n  return React.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\nfunction mergeProps(slotProps, childProps) {\n  const overrideProps = { ...childProps };\n  for (const propName in childProps) {\n    const slotPropValue = slotProps[propName];\n    const childPropValue = childProps[propName];\n    const isHandler = /^on[A-Z]/.test(propName);\n    if (isHandler) {\n      if (slotPropValue && childPropValue) {\n        overrideProps[propName] = (...args) => {\n          const result = childPropValue(...args);\n          slotPropValue(...args);\n          return result;\n        };\n      } else if (slotPropValue) {\n        overrideProps[propName] = slotPropValue;\n      }\n    } else if (propName === \"style\") {\n      overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n    } else if (propName === \"className\") {\n      overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n    }\n  }\n  return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n  let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n  let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.ref;\n  }\n  getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n  mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.props.ref;\n  }\n  return element.props.ref || element.ref;\n}\nexport {\n  Slot as Root,\n  Slot,\n  Slottable,\n  createSlot,\n  createSlottable\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-layout-effect/src/use-layout-effect.tsx\nimport * as React from \"react\";\nvar useLayoutEffect2 = globalThis?.document ? React.useLayoutEffect : () => {\n};\nexport {\n  useLayoutEffect2 as useLayoutEffect\n};\n//# sourceMappingURL=index.mjs.map\n","// src/use-controllable-state.tsx\nimport * as React from \"react\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nvar useInsertionEffect = React[\" useInsertionEffect \".trim().toString()] || useLayoutEffect;\nfunction useControllableState({\n  prop,\n  defaultProp,\n  onChange = () => {\n  },\n  caller\n}) {\n  const [uncontrolledProp, setUncontrolledProp, onChangeRef] = useUncontrolledState({\n    defaultProp,\n    onChange\n  });\n  const isControlled = prop !== void 0;\n  const value = isControlled ? prop : uncontrolledProp;\n  if (true) {\n    const isControlledRef = React.useRef(prop !== void 0);\n    React.useEffect(() => {\n      const wasControlled = isControlledRef.current;\n      if (wasControlled !== isControlled) {\n        const from = wasControlled ? \"controlled\" : \"uncontrolled\";\n        const to = isControlled ? \"controlled\" : \"uncontrolled\";\n        console.warn(\n          `${caller} is changing from ${from} to ${to}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`\n        );\n      }\n      isControlledRef.current = isControlled;\n    }, [isControlled, caller]);\n  }\n  const setValue = React.useCallback(\n    (nextValue) => {\n      if (isControlled) {\n        const value2 = isFunction(nextValue) ? nextValue(prop) : nextValue;\n        if (value2 !== prop) {\n          onChangeRef.current?.(value2);\n        }\n      } else {\n        setUncontrolledProp(nextValue);\n      }\n    },\n    [isControlled, prop, setUncontrolledProp, onChangeRef]\n  );\n  return [value, setValue];\n}\nfunction useUncontrolledState({\n  defaultProp,\n  onChange\n}) {\n  const [value, setValue] = React.useState(defaultProp);\n  const prevValueRef = React.useRef(value);\n  const onChangeRef = React.useRef(onChange);\n  useInsertionEffect(() => {\n    onChangeRef.current = onChange;\n  }, [onChange]);\n  React.useEffect(() => {\n    if (prevValueRef.current !== value) {\n      onChangeRef.current?.(value);\n      prevValueRef.current = value;\n    }\n  }, [value, prevValueRef]);\n  return [value, setValue, onChangeRef];\n}\nfunction isFunction(value) {\n  return typeof value === \"function\";\n}\n\n// src/use-controllable-state-reducer.tsx\nimport * as React2 from \"react\";\nimport { useEffectEvent } from \"@radix-ui/react-use-effect-event\";\nvar SYNC_STATE = Symbol(\"RADIX:SYNC_STATE\");\nfunction useControllableStateReducer(reducer, userArgs, initialArg, init) {\n  const { prop: controlledState, defaultProp, onChange: onChangeProp, caller } = userArgs;\n  const isControlled = controlledState !== void 0;\n  const onChange = useEffectEvent(onChangeProp);\n  if (true) {\n    const isControlledRef = React2.useRef(controlledState !== void 0);\n    React2.useEffect(() => {\n      const wasControlled = isControlledRef.current;\n      if (wasControlled !== isControlled) {\n        const from = wasControlled ? \"controlled\" : \"uncontrolled\";\n        const to = isControlled ? \"controlled\" : \"uncontrolled\";\n        console.warn(\n          `${caller} is changing from ${from} to ${to}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`\n        );\n      }\n      isControlledRef.current = isControlled;\n    }, [isControlled, caller]);\n  }\n  const args = [{ ...initialArg, state: defaultProp }];\n  if (init) {\n    args.push(init);\n  }\n  const [internalState, dispatch] = React2.useReducer(\n    (state2, action) => {\n      if (action.type === SYNC_STATE) {\n        return { ...state2, state: action.state };\n      }\n      const next = reducer(state2, action);\n      if (isControlled && !Object.is(next.state, state2.state)) {\n        onChange(next.state);\n      }\n      return next;\n    },\n    ...args\n  );\n  const uncontrolledState = internalState.state;\n  const prevValueRef = React2.useRef(uncontrolledState);\n  React2.useEffect(() => {\n    if (prevValueRef.current !== uncontrolledState) {\n      prevValueRef.current = uncontrolledState;\n      if (!isControlled) {\n        onChange(uncontrolledState);\n      }\n    }\n  }, [onChange, uncontrolledState, prevValueRef, isControlled]);\n  const state = React2.useMemo(() => {\n    const isControlled2 = controlledState !== void 0;\n    if (isControlled2) {\n      return { ...internalState, state: controlledState };\n    }\n    return internalState;\n  }, [internalState, controlledState]);\n  React2.useEffect(() => {\n    if (isControlled && !Object.is(controlledState, internalState.state)) {\n      dispatch({ type: SYNC_STATE, state: controlledState });\n    }\n  }, [controlledState, internalState.state, isControlled]);\n  return [state, dispatch];\n}\nexport {\n  useControllableState,\n  useControllableStateReducer\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-layout-effect/src/use-layout-effect.tsx\nimport * as React from \"react\";\nvar useLayoutEffect2 = globalThis?.document ? React.useLayoutEffect : () => {\n};\nexport {\n  useLayoutEffect2 as useLayoutEffect\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-escape-keydown/src/use-escape-keydown.tsx\nimport * as React from \"react\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nfunction useEscapeKeydown(onEscapeKeyDownProp, ownerDocument = globalThis?.document) {\n  const onEscapeKeyDown = useCallbackRef(onEscapeKeyDownProp);\n  React.useEffect(() => {\n    const handleKeyDown = (event) => {\n      if (event.key === \"Escape\") {\n        onEscapeKeyDown(event);\n      }\n    };\n    ownerDocument.addEventListener(\"keydown\", handleKeyDown, { capture: true });\n    return () => ownerDocument.removeEventListener(\"keydown\", handleKeyDown, { capture: true });\n  }, [onEscapeKeyDown, ownerDocument]);\n}\nexport {\n  useEscapeKeydown\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-callback-ref/src/use-callback-ref.tsx\nimport * as React from \"react\";\nfunction useCallbackRef(callback) {\n  const callbackRef = React.useRef(callback);\n  React.useEffect(() => {\n    callbackRef.current = callback;\n  });\n  return React.useMemo(() => (...args) => callbackRef.current?.(...args), []);\n}\nexport {\n  useCallbackRef\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-previous/src/use-previous.tsx\nimport * as React from \"react\";\nfunction usePrevious(value) {\n  const ref = React.useRef({ value, previous: value });\n  return React.useMemo(() => {\n    if (ref.current.value !== value) {\n      ref.current.previous = ref.current.value;\n      ref.current.value = value;\n    }\n    return ref.current.previous;\n  }, [value]);\n}\nexport {\n  usePrevious\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-size/src/use-size.tsx\nimport * as React from \"react\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nfunction useSize(element) {\n  const [size, setSize] = React.useState(void 0);\n  useLayoutEffect(() => {\n    if (element) {\n      setSize({ width: element.offsetWidth, height: element.offsetHeight });\n      const resizeObserver = new ResizeObserver((entries) => {\n        if (!Array.isArray(entries)) {\n          return;\n        }\n        if (!entries.length) {\n          return;\n        }\n        const entry = entries[0];\n        let width;\n        let height;\n        if (\"borderBoxSize\" in entry) {\n          const borderSizeEntry = entry[\"borderBoxSize\"];\n          const borderSize = Array.isArray(borderSizeEntry) ? borderSizeEntry[0] : borderSizeEntry;\n          width = borderSize[\"inlineSize\"];\n          height = borderSize[\"blockSize\"];\n        } else {\n          width = element.offsetWidth;\n          height = element.offsetHeight;\n        }\n        setSize({ width, height });\n      });\n      resizeObserver.observe(element, { box: \"border-box\" });\n      return () => resizeObserver.unobserve(element);\n    } else {\n      setSize(void 0);\n    }\n  }, [element]);\n  return size;\n}\nexport {\n  useSize\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-layout-effect/src/use-layout-effect.tsx\nimport * as React from \"react\";\nvar useLayoutEffect2 = globalThis?.document ? React.useLayoutEffect : () => {\n};\nexport {\n  useLayoutEffect2 as useLayoutEffect\n};\n//# sourceMappingURL=index.mjs.map\n","// src/visually-hidden.tsx\nimport * as React from \"react\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { jsx } from \"react/jsx-runtime\";\nvar VISUALLY_HIDDEN_STYLES = Object.freeze({\n  // See: https://github.com/twbs/bootstrap/blob/main/scss/mixins/_visually-hidden.scss\n  position: \"absolute\",\n  border: 0,\n  width: 1,\n  height: 1,\n  padding: 0,\n  margin: -1,\n  overflow: \"hidden\",\n  clip: \"rect(0, 0, 0, 0)\",\n  whiteSpace: \"nowrap\",\n  wordWrap: \"normal\"\n});\nvar NAME = \"VisuallyHidden\";\nvar VisuallyHidden = React.forwardRef(\n  (props, forwardedRef) => {\n    return /* @__PURE__ */ jsx(\n      Primitive.span,\n      {\n        ...props,\n        ref: forwardedRef,\n        style: { ...VISUALLY_HIDDEN_STYLES, ...props.style }\n      }\n    );\n  }\n);\nVisuallyHidden.displayName = NAME;\nvar Root = VisuallyHidden;\nexport {\n  Root,\n  VISUALLY_HIDDEN_STYLES,\n  VisuallyHidden\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/compose-refs/src/compose-refs.tsx\nimport * as React from \"react\";\nfunction setRef(ref, value) {\n  if (typeof ref === \"function\") {\n    return ref(value);\n  } else if (ref !== null && ref !== void 0) {\n    ref.current = value;\n  }\n}\nfunction composeRefs(...refs) {\n  return (node) => {\n    let hasCleanup = false;\n    const cleanups = refs.map((ref) => {\n      const cleanup = setRef(ref, node);\n      if (!hasCleanup && typeof cleanup == \"function\") {\n        hasCleanup = true;\n      }\n      return cleanup;\n    });\n    if (hasCleanup) {\n      return () => {\n        for (let i = 0; i < cleanups.length; i++) {\n          const cleanup = cleanups[i];\n          if (typeof cleanup == \"function\") {\n            cleanup();\n          } else {\n            setRef(refs[i], null);\n          }\n        }\n      };\n    }\n  };\n}\nfunction useComposedRefs(...refs) {\n  return React.useCallback(composeRefs(...refs), refs);\n}\nexport {\n  composeRefs,\n  useComposedRefs\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NODES = [\n  \"a\",\n  \"button\",\n  \"div\",\n  \"form\",\n  \"h2\",\n  \"h3\",\n  \"img\",\n  \"input\",\n  \"label\",\n  \"li\",\n  \"nav\",\n  \"ol\",\n  \"p\",\n  \"select\",\n  \"span\",\n  \"svg\",\n  \"ul\"\n];\nvar Primitive = NODES.reduce((primitive, node) => {\n  const Slot = createSlot(`Primitive.${node}`);\n  const Node = React.forwardRef((props, forwardedRef) => {\n    const { asChild, ...primitiveProps } = props;\n    const Comp = asChild ? Slot : node;\n    if (typeof window !== \"undefined\") {\n      window[Symbol.for(\"radix-ui\")] = true;\n    }\n    return /* @__PURE__ */ jsx(Comp, { ...primitiveProps, ref: forwardedRef });\n  });\n  Node.displayName = `Primitive.${node}`;\n  return { ...primitive, [node]: Node };\n}, {});\nfunction dispatchDiscreteCustomEvent(target, event) {\n  if (target) ReactDOM.flushSync(() => target.dispatchEvent(event));\n}\nvar Root = Primitive;\nexport {\n  Primitive,\n  Root,\n  dispatchDiscreteCustomEvent\n};\n//# sourceMappingURL=index.mjs.map\n","// src/slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment as Fragment2, jsx } from \"react/jsx-runtime\";\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n  const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);\n  const Slot2 = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    const childrenArray = React.Children.toArray(children);\n    const slottable = childrenArray.find(isSlottable);\n    if (slottable) {\n      const newElement = slottable.props.children;\n      const newChildren = childrenArray.map((child) => {\n        if (child === slottable) {\n          if (React.Children.count(newElement) > 1) return React.Children.only(null);\n          return React.isValidElement(newElement) ? newElement.props.children : null;\n        } else {\n          return child;\n        }\n      });\n      return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n    }\n    return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n  });\n  Slot2.displayName = `${ownerName}.Slot`;\n  return Slot2;\n}\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlotClone(ownerName) {\n  const SlotClone = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    if (React.isValidElement(children)) {\n      const childrenRef = getElementRef(children);\n      const props2 = mergeProps(slotProps, children.props);\n      if (children.type !== React.Fragment) {\n        props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n      }\n      return React.cloneElement(children, props2);\n    }\n    return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n  });\n  SlotClone.displayName = `${ownerName}.SlotClone`;\n  return SlotClone;\n}\nvar SLOTTABLE_IDENTIFIER = Symbol(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n  const Slottable2 = ({ children }) => {\n    return /* @__PURE__ */ jsx(Fragment2, { children });\n  };\n  Slottable2.displayName = `${ownerName}.Slottable`;\n  Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n  return Slottable2;\n}\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nfunction isSlottable(child) {\n  return React.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\nfunction mergeProps(slotProps, childProps) {\n  const overrideProps = { ...childProps };\n  for (const propName in childProps) {\n    const slotPropValue = slotProps[propName];\n    const childPropValue = childProps[propName];\n    const isHandler = /^on[A-Z]/.test(propName);\n    if (isHandler) {\n      if (slotPropValue && childPropValue) {\n        overrideProps[propName] = (...args) => {\n          const result = childPropValue(...args);\n          slotPropValue(...args);\n          return result;\n        };\n      } else if (slotPropValue) {\n        overrideProps[propName] = slotPropValue;\n      }\n    } else if (propName === \"style\") {\n      overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n    } else if (propName === \"className\") {\n      overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n    }\n  }\n  return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n  let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n  let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.ref;\n  }\n  getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n  mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.props.ref;\n  }\n  return element.props.ref || element.ref;\n}\nexport {\n  Slot as Root,\n  Slot,\n  Slottable,\n  createSlot,\n  createSlottable\n};\n//# sourceMappingURL=index.mjs.map\n","let defaultOptions = {};\n\nexport function getDefaultOptions() {\n  return defaultOptions;\n}\n\nexport function setDefaultOptions(newOptions) {\n  defaultOptions = newOptions;\n}\n","import { toDate } from \"../toDate.mjs\";\n\n/**\n * Google Chrome as of 67.0.3396.87 introduced timezones with offset that includes seconds.\n * They usually appear for dates that denote time before the timezones were introduced\n * (e.g. for 'Europe/Prague' timezone the offset is GMT+00:57:44 before 1 October 1891\n * and GMT+01:00:00 after that date)\n *\n * Date#getTimezoneOffset returns the offset in minutes and would return 57 for the example above,\n * which would lead to incorrect calculations.\n *\n * This function returns the timezone offset in milliseconds that takes seconds in account.\n */\nexport function getTimezoneOffsetInMilliseconds(date) {\n  const _date = toDate(date);\n  const utcDate = new Date(\n    Date.UTC(\n      _date.getFullYear(),\n      _date.getMonth(),\n      _date.getDate(),\n      _date.getHours(),\n      _date.getMinutes(),\n      _date.getSeconds(),\n      _date.getMilliseconds(),\n    ),\n  );\n  utcDate.setUTCFullYear(_date.getFullYear());\n  return +date - +utcDate;\n}\n","/**\n * @module constants\n * @summary Useful constants\n * @description\n * Collection of useful date constants.\n *\n * The constants could be imported from `date-fns/constants`:\n *\n * ```ts\n * import { maxTime, minTime } from \"./constants/date-fns/constants\";\n *\n * function isAllowedTime(time) {\n *   return time <= maxTime && time >= minTime;\n * }\n * ```\n */\n\n/**\n * @constant\n * @name daysInWeek\n * @summary Days in 1 week.\n */\nexport const daysInWeek = 7;\n\n/**\n * @constant\n * @name daysInYear\n * @summary Days in 1 year.\n *\n * @description\n * How many days in a year.\n *\n * One years equals 365.2425 days according to the formula:\n *\n * > Leap year occures every 4 years, except for years that are divisable by 100 and not divisable by 400.\n * > 1 mean year = (365+1/4-1/100+1/400) days = 365.2425 days\n */\nexport const daysInYear = 365.2425;\n\n/**\n * @constant\n * @name maxTime\n * @summary Maximum allowed time.\n *\n * @example\n * import { maxTime } from \"./constants/date-fns/constants\";\n *\n * const isValid = 8640000000000001 <= maxTime;\n * //=> false\n *\n * new Date(8640000000000001);\n * //=> Invalid Date\n */\nexport const maxTime = Math.pow(10, 8) * 24 * 60 * 60 * 1000;\n\n/**\n * @constant\n * @name minTime\n * @summary Minimum allowed time.\n *\n * @example\n * import { minTime } from \"./constants/date-fns/constants\";\n *\n * const isValid = -8640000000000001 >= minTime;\n * //=> false\n *\n * new Date(-8640000000000001)\n * //=> Invalid Date\n */\nexport const minTime = -maxTime;\n\n/**\n * @constant\n * @name millisecondsInWeek\n * @summary Milliseconds in 1 week.\n */\nexport const millisecondsInWeek = 604800000;\n\n/**\n * @constant\n * @name millisecondsInDay\n * @summary Milliseconds in 1 day.\n */\nexport const millisecondsInDay = 86400000;\n\n/**\n * @constant\n * @name millisecondsInMinute\n * @summary Milliseconds in 1 minute\n */\nexport const millisecondsInMinute = 60000;\n\n/**\n * @constant\n * @name millisecondsInHour\n * @summary Milliseconds in 1 hour\n */\nexport const millisecondsInHour = 3600000;\n\n/**\n * @constant\n * @name millisecondsInSecond\n * @summary Milliseconds in 1 second\n */\nexport const millisecondsInSecond = 1000;\n\n/**\n * @constant\n * @name minutesInYear\n * @summary Minutes in 1 year.\n */\nexport const minutesInYear = 525600;\n\n/**\n * @constant\n * @name minutesInMonth\n * @summary Minutes in 1 month.\n */\nexport const minutesInMonth = 43200;\n\n/**\n * @constant\n * @name minutesInDay\n * @summary Minutes in 1 day.\n */\nexport const minutesInDay = 1440;\n\n/**\n * @constant\n * @name minutesInHour\n * @summary Minutes in 1 hour.\n */\nexport const minutesInHour = 60;\n\n/**\n * @constant\n * @name monthsInQuarter\n * @summary Months in 1 quarter.\n */\nexport const monthsInQuarter = 3;\n\n/**\n * @constant\n * @name monthsInYear\n * @summary Months in 1 year.\n */\nexport const monthsInYear = 12;\n\n/**\n * @constant\n * @name quartersInYear\n * @summary Quarters in 1 year\n */\nexport const quartersInYear = 4;\n\n/**\n * @constant\n * @name secondsInHour\n * @summary Seconds in 1 hour.\n */\nexport const secondsInHour = 3600;\n\n/**\n * @constant\n * @name secondsInMinute\n * @summary Seconds in 1 minute.\n */\nexport const secondsInMinute = 60;\n\n/**\n * @constant\n * @name secondsInDay\n * @summary Seconds in 1 day.\n */\nexport const secondsInDay = secondsInHour * 24;\n\n/**\n * @constant\n * @name secondsInWeek\n * @summary Seconds in 1 week.\n */\nexport const secondsInWeek = secondsInDay * 7;\n\n/**\n * @constant\n * @name secondsInYear\n * @summary Seconds in 1 year.\n */\nexport const secondsInYear = secondsInDay * daysInYear;\n\n/**\n * @constant\n * @name secondsInMonth\n * @summary Seconds in 1 month\n */\nexport const secondsInMonth = secondsInYear / 12;\n\n/**\n * @constant\n * @name secondsInQuarter\n * @summary Seconds in 1 quarter.\n */\nexport const secondsInQuarter = secondsInMonth * 3;\n","/**\n * @name constructFrom\n * @category Generic Helpers\n * @summary Constructs a date using the reference date and the value\n *\n * @description\n * The function constructs a new date using the constructor from the reference\n * date and the given value. It helps to build generic functions that accept\n * date extensions.\n *\n * It defaults to `Date` if the passed reference date is a number or a string.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The reference date to take constructor from\n * @param value - The value to create the date\n *\n * @returns Date initialized using the given date and value\n *\n * @example\n * import { constructFrom } from 'date-fns'\n *\n * // A function that clones a date preserving the original type\n * function cloneDate<DateType extends Date(date: DateType): DateType {\n *   return constructFrom(\n *     date, // Use contrustor from the given date\n *     date.getTime() // Use the date value to create a new date\n *   )\n * }\n */\nexport function constructFrom(date, value) {\n  if (date instanceof Date) {\n    return new date.constructor(value);\n  } else {\n    return new Date(value);\n  }\n}\n\n// Fallback for modularized imports:\nexport default constructFrom;\n","import { constructFrom } from \"./constructFrom.mjs\";\n\n/**\n * @name constructNow\n * @category Generic Helpers\n * @summary Constructs a new current date using the passed value constructor.\n * @pure false\n *\n * @description\n * The function constructs a new current date using the constructor from\n * the reference date. It helps to build generic functions that accept date\n * extensions and use the current date.\n *\n * It defaults to `Date` if the passed reference date is a number or a string.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The reference date to take constructor from\n *\n * @returns Current date initialized using the given date constructor\n *\n * @example\n * import { constructNow, isSameDay } from 'date-fns'\n *\n * function isToday<DateType extends Date>(\n *   date: DateType | number | string,\n * ): boolean {\n *   // If we were to use `new Date()` directly, the function would  behave\n *   // differently in different timezones and return false for the same date.\n *   return isSameDay(date, constructNow(date));\n * }\n */\nexport function constructNow(date) {\n  return constructFrom(date, Date.now());\n}\n\n// Fallback for modularized imports:\nexport default constructNow;\n","import { millisecondsInDay } from \"./constants.mjs\";\nimport { startOfDay } from \"./startOfDay.mjs\";\nimport { getTimezoneOffsetInMilliseconds } from \"./_lib/getTimezoneOffsetInMilliseconds.mjs\";\n\n/**\n * @name differenceInCalendarDays\n * @category Day Helpers\n * @summary Get the number of calendar days between the given dates.\n *\n * @description\n * Get the number of calendar days between the given dates. This means that the times are removed\n * from the dates and then the difference in days is calculated.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param dateLeft - The later date\n * @param dateRight - The earlier date\n *\n * @returns The number of calendar days\n *\n * @example\n * // How many calendar days are between\n * // 2 July 2011 23:00:00 and 2 July 2012 00:00:00?\n * const result = differenceInCalendarDays(\n *   new Date(2012, 6, 2, 0, 0),\n *   new Date(2011, 6, 2, 23, 0)\n * )\n * //=> 366\n * // How many calendar days are between\n * // 2 July 2011 23:59:00 and 3 July 2011 00:01:00?\n * const result = differenceInCalendarDays(\n *   new Date(2011, 6, 3, 0, 1),\n *   new Date(2011, 6, 2, 23, 59)\n * )\n * //=> 1\n */\nexport function differenceInCalendarDays(dateLeft, dateRight) {\n  const startOfDayLeft = startOfDay(dateLeft);\n  const startOfDayRight = startOfDay(dateRight);\n\n  const timestampLeft =\n    +startOfDayLeft - getTimezoneOffsetInMilliseconds(startOfDayLeft);\n  const timestampRight =\n    +startOfDayRight - getTimezoneOffsetInMilliseconds(startOfDayRight);\n\n  // Round the number of days to the nearest integer because the number of\n  // milliseconds in a day is not constant (e.g. it's different in the week of\n  // the daylight saving time clock shift).\n  return Math.round((timestampLeft - timestampRight) / millisecondsInDay);\n}\n\n// Fallback for modularized imports:\nexport default differenceInCalendarDays;\n","import { differenceInCalendarDays } from \"./differenceInCalendarDays.mjs\";\nimport { startOfYear } from \"./startOfYear.mjs\";\nimport { toDate } from \"./toDate.mjs\";\n\n/**\n * @name getDayOfYear\n * @category Day Helpers\n * @summary Get the day of the year of the given date.\n *\n * @description\n * Get the day of the year of the given date.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The given date\n *\n * @returns The day of year\n *\n * @example\n * // Which day of the year is 2 July 2014?\n * const result = getDayOfYear(new Date(2014, 6, 2))\n * //=> 183\n */\nexport function getDayOfYear(date) {\n  const _date = toDate(date);\n  const diff = differenceInCalendarDays(_date, startOfYear(_date));\n  const dayOfYear = diff + 1;\n  return dayOfYear;\n}\n\n// Fallback for modularized imports:\nexport default getDayOfYear;\n","import { toDate } from \"./toDate.mjs\";\nimport { constructFrom } from \"./constructFrom.mjs\";\n\n/**\n * @name startOfYear\n * @category Year Helpers\n * @summary Return the start of a year for the given date.\n *\n * @description\n * Return the start of a year for the given date.\n * The result will be in the local timezone.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The original date\n *\n * @returns The start of a year\n *\n * @example\n * // The start of a year for 2 September 2014 11:55:00:\n * const result = startOfYear(new Date(2014, 8, 2, 11, 55, 00))\n * //=> Wed Jan 01 2014 00:00:00\n */\nexport function startOfYear(date) {\n  const cleanDate = toDate(date);\n  const _date = constructFrom(date, 0);\n  _date.setFullYear(cleanDate.getFullYear(), 0, 1);\n  _date.setHours(0, 0, 0, 0);\n  return _date;\n}\n\n// Fallback for modularized imports:\nexport default startOfYear;\n","import { startOfWeek } from \"./startOfWeek.mjs\";\n\n/**\n * @name startOfISOWeek\n * @category ISO Week Helpers\n * @summary Return the start of an ISO week for the given date.\n *\n * @description\n * Return the start of an ISO week for the given date.\n * The result will be in the local timezone.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The original date\n *\n * @returns The start of an ISO week\n *\n * @example\n * // The start of an ISO week for 2 September 2014 11:55:00:\n * const result = startOfISOWeek(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Mon Sep 01 2014 00:00:00\n */\nexport function startOfISOWeek(date) {\n  return startOfWeek(date, { weekStartsOn: 1 });\n}\n\n// Fallback for modularized imports:\nexport default startOfISOWeek;\n","import { constructFrom } from \"./constructFrom.mjs\";\nimport { startOfISOWeek } from \"./startOfISOWeek.mjs\";\nimport { toDate } from \"./toDate.mjs\";\n\n/**\n * @name getISOWeekYear\n * @category ISO Week-Numbering Year Helpers\n * @summary Get the ISO week-numbering year of the given date.\n *\n * @description\n * Get the ISO week-numbering year of the given date,\n * which always starts 3 days before the year's first Thursday.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The given date\n *\n * @returns The ISO week-numbering year\n *\n * @example\n * // Which ISO-week numbering year is 2 January 2005?\n * const result = getISOWeekYear(new Date(2005, 0, 2))\n * //=> 2004\n */\nexport function getISOWeekYear(date) {\n  const _date = toDate(date);\n  const year = _date.getFullYear();\n\n  const fourthOfJanuaryOfNextYear = constructFrom(date, 0);\n  fourthOfJanuaryOfNextYear.setFullYear(year + 1, 0, 4);\n  fourthOfJanuaryOfNextYear.setHours(0, 0, 0, 0);\n  const startOfNextYear = startOfISOWeek(fourthOfJanuaryOfNextYear);\n\n  const fourthOfJanuaryOfThisYear = constructFrom(date, 0);\n  fourthOfJanuaryOfThisYear.setFullYear(year, 0, 4);\n  fourthOfJanuaryOfThisYear.setHours(0, 0, 0, 0);\n  const startOfThisYear = startOfISOWeek(fourthOfJanuaryOfThisYear);\n\n  if (_date.getTime() >= startOfNextYear.getTime()) {\n    return year + 1;\n  } else if (_date.getTime() >= startOfThisYear.getTime()) {\n    return year;\n  } else {\n    return year - 1;\n  }\n}\n\n// Fallback for modularized imports:\nexport default getISOWeekYear;\n","import { millisecondsInWeek } from \"./constants.mjs\";\nimport { startOfISOWeek } from \"./startOfISOWeek.mjs\";\nimport { startOfISOWeekYear } from \"./startOfISOWeekYear.mjs\";\nimport { toDate } from \"./toDate.mjs\";\n\n/**\n * @name getISOWeek\n * @category ISO Week Helpers\n * @summary Get the ISO week of the given date.\n *\n * @description\n * Get the ISO week of the given date.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The given date\n *\n * @returns The ISO week\n *\n * @example\n * // Which week of the ISO-week numbering year is 2 January 2005?\n * const result = getISOWeek(new Date(2005, 0, 2))\n * //=> 53\n */\nexport function getISOWeek(date) {\n  const _date = toDate(date);\n  const diff = +startOfISOWeek(_date) - +startOfISOWeekYear(_date);\n\n  // Round the number of weeks to the nearest integer because the number of\n  // milliseconds in a week is not constant (e.g. it's different in the week of\n  // the daylight saving time clock shift).\n  return Math.round(diff / millisecondsInWeek) + 1;\n}\n\n// Fallback for modularized imports:\nexport default getISOWeek;\n","import { getISOWeekYear } from \"./getISOWeekYear.mjs\";\nimport { startOfISOWeek } from \"./startOfISOWeek.mjs\";\nimport { constructFrom } from \"./constructFrom.mjs\";\n\n/**\n * @name startOfISOWeekYear\n * @category ISO Week-Numbering Year Helpers\n * @summary Return the start of an ISO week-numbering year for the given date.\n *\n * @description\n * Return the start of an ISO week-numbering year,\n * which always starts 3 days before the year's first Thursday.\n * The result will be in the local timezone.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The original date\n *\n * @returns The start of an ISO week-numbering year\n *\n * @example\n * // The start of an ISO week-numbering year for 2 July 2005:\n * const result = startOfISOWeekYear(new Date(2005, 6, 2))\n * //=> Mon Jan 03 2005 00:00:00\n */\nexport function startOfISOWeekYear(date) {\n  const year = getISOWeekYear(date);\n  const fourthOfJanuary = constructFrom(date, 0);\n  fourthOfJanuary.setFullYear(year, 0, 4);\n  fourthOfJanuary.setHours(0, 0, 0, 0);\n  return startOfISOWeek(fourthOfJanuary);\n}\n\n// Fallback for modularized imports:\nexport default startOfISOWeekYear;\n","import { constructFrom } from \"./constructFrom.mjs\";\nimport { startOfWeek } from \"./startOfWeek.mjs\";\nimport { toDate } from \"./toDate.mjs\";\nimport { getDefaultOptions } from \"./_lib/defaultOptions.mjs\";\n\n/**\n * The {@link getWeekYear} function options.\n */\n\n/**\n * @name getWeekYear\n * @category Week-Numbering Year Helpers\n * @summary Get the local week-numbering year of the given date.\n *\n * @description\n * Get the local week-numbering year of the given date.\n * The exact calculation depends on the values of\n * `options.weekStartsOn` (which is the index of the first day of the week)\n * and `options.firstWeekContainsDate` (which is the day of January, which is always in\n * the first week of the week-numbering year)\n *\n * Week numbering: https://en.wikipedia.org/wiki/Week#The_ISO_week_date_system\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The given date\n * @param options - An object with options.\n *\n * @returns The local week-numbering year\n *\n * @example\n * // Which week numbering year is 26 December 2004 with the default settings?\n * const result = getWeekYear(new Date(2004, 11, 26))\n * //=> 2005\n *\n * @example\n * // Which week numbering year is 26 December 2004 if week starts on Saturday?\n * const result = getWeekYear(new Date(2004, 11, 26), { weekStartsOn: 6 })\n * //=> 2004\n *\n * @example\n * // Which week numbering year is 26 December 2004 if the first week contains 4 January?\n * const result = getWeekYear(new Date(2004, 11, 26), { firstWeekContainsDate: 4 })\n * //=> 2004\n */\nexport function getWeekYear(date, options) {\n  const _date = toDate(date);\n  const year = _date.getFullYear();\n\n  const defaultOptions = getDefaultOptions();\n  const firstWeekContainsDate =\n    options?.firstWeekContainsDate ??\n    options?.locale?.options?.firstWeekContainsDate ??\n    defaultOptions.firstWeekContainsDate ??\n    defaultOptions.locale?.options?.firstWeekContainsDate ??\n    1;\n\n  const firstWeekOfNextYear = constructFrom(date, 0);\n  firstWeekOfNextYear.setFullYear(year + 1, 0, firstWeekContainsDate);\n  firstWeekOfNextYear.setHours(0, 0, 0, 0);\n  const startOfNextYear = startOfWeek(firstWeekOfNextYear, options);\n\n  const firstWeekOfThisYear = constructFrom(date, 0);\n  firstWeekOfThisYear.setFullYear(year, 0, firstWeekContainsDate);\n  firstWeekOfThisYear.setHours(0, 0, 0, 0);\n  const startOfThisYear = startOfWeek(firstWeekOfThisYear, options);\n\n  if (_date.getTime() >= startOfNextYear.getTime()) {\n    return year + 1;\n  } else if (_date.getTime() >= startOfThisYear.getTime()) {\n    return year;\n  } else {\n    return year - 1;\n  }\n}\n\n// Fallback for modularized imports:\nexport default getWeekYear;\n","import { millisecondsInWeek } from \"./constants.mjs\";\nimport { startOfWeek } from \"./startOfWeek.mjs\";\nimport { startOfWeekYear } from \"./startOfWeekYear.mjs\";\nimport { toDate } from \"./toDate.mjs\";\n\n/**\n * The {@link getWeek} function options.\n */\n\n/**\n * @name getWeek\n * @category Week Helpers\n * @summary Get the local week index of the given date.\n *\n * @description\n * Get the local week index of the given date.\n * The exact calculation depends on the values of\n * `options.weekStartsOn` (which is the index of the first day of the week)\n * and `options.firstWeekContainsDate` (which is the day of January, which is always in\n * the first week of the week-numbering year)\n *\n * Week numbering: https://en.wikipedia.org/wiki/Week#The_ISO_week_date_system\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The given date\n * @param options - An object with options\n *\n * @returns The week\n *\n * @example\n * // Which week of the local week numbering year is 2 January 2005 with default options?\n * const result = getWeek(new Date(2005, 0, 2))\n * //=> 2\n *\n * @example\n * // Which week of the local week numbering year is 2 January 2005,\n * // if Monday is the first day of the week,\n * // and the first week of the year always contains 4 January?\n * const result = getWeek(new Date(2005, 0, 2), {\n *   weekStartsOn: 1,\n *   firstWeekContainsDate: 4\n * })\n * //=> 53\n */\n\nexport function getWeek(date, options) {\n  const _date = toDate(date);\n  const diff = +startOfWeek(_date, options) - +startOfWeekYear(_date, options);\n\n  // Round the number of weeks to the nearest integer because the number of\n  // milliseconds in a week is not constant (e.g. it's different in the week of\n  // the daylight saving time clock shift).\n  return Math.round(diff / millisecondsInWeek) + 1;\n}\n\n// Fallback for modularized imports:\nexport default getWeek;\n","import { constructFrom } from \"./constructFrom.mjs\";\nimport { getWeekYear } from \"./getWeekYear.mjs\";\nimport { startOfWeek } from \"./startOfWeek.mjs\";\nimport { getDefaultOptions } from \"./_lib/defaultOptions.mjs\";\n\n/**\n * The {@link startOfWeekYear} function options.\n */\n\n/**\n * @name startOfWeekYear\n * @category Week-Numbering Year Helpers\n * @summary Return the start of a local week-numbering year for the given date.\n *\n * @description\n * Return the start of a local week-numbering year.\n * The exact calculation depends on the values of\n * `options.weekStartsOn` (which is the index of the first day of the week)\n * and `options.firstWeekContainsDate` (which is the day of January, which is always in\n * the first week of the week-numbering year)\n *\n * Week numbering: https://en.wikipedia.org/wiki/Week#The_ISO_week_date_system\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The original date\n * @param options - An object with options\n *\n * @returns The start of a week-numbering year\n *\n * @example\n * // The start of an a week-numbering year for 2 July 2005 with default settings:\n * const result = startOfWeekYear(new Date(2005, 6, 2))\n * //=> Sun Dec 26 2004 00:00:00\n *\n * @example\n * // The start of a week-numbering year for 2 July 2005\n * // if Monday is the first day of week\n * // and 4 January is always in the first week of the year:\n * const result = startOfWeekYear(new Date(2005, 6, 2), {\n *   weekStartsOn: 1,\n *   firstWeekContainsDate: 4\n * })\n * //=> Mon Jan 03 2005 00:00:00\n */\nexport function startOfWeekYear(date, options) {\n  const defaultOptions = getDefaultOptions();\n  const firstWeekContainsDate =\n    options?.firstWeekContainsDate ??\n    options?.locale?.options?.firstWeekContainsDate ??\n    defaultOptions.firstWeekContainsDate ??\n    defaultOptions.locale?.options?.firstWeekContainsDate ??\n    1;\n\n  const year = getWeekYear(date, options);\n  const firstWeek = constructFrom(date, 0);\n  firstWeek.setFullYear(year, 0, firstWeekContainsDate);\n  firstWeek.setHours(0, 0, 0, 0);\n  const _date = startOfWeek(firstWeek, options);\n  return _date;\n}\n\n// Fallback for modularized imports:\nexport default startOfWeekYear;\n","export function addLeadingZeros(number, targetLength) {\n  const sign = number < 0 ? \"-\" : \"\";\n  const output = Math.abs(number).toString().padStart(targetLength, \"0\");\n  return sign + output;\n}\n","import { addLeadingZeros } from \"../addLeadingZeros.mjs\";\n\n/*\n * |     | Unit                           |     | Unit                           |\n * |-----|--------------------------------|-----|--------------------------------|\n * |  a  | AM, PM                         |  A* |                                |\n * |  d  | Day of month                   |  D  |                                |\n * |  h  | Hour [1-12]                    |  H  | Hour [0-23]                    |\n * |  m  | Minute                         |  M  | Month                          |\n * |  s  | Second                         |  S  | Fraction of second             |\n * |  y  | Year (abs)                     |  Y  |                                |\n *\n * Letters marked by * are not implemented but reserved by Unicode standard.\n */\n\nexport const lightFormatters = {\n  // Year\n  y(date, token) {\n    // From http://www.unicode.org/reports/tr35/tr35-31/tr35-dates.html#Date_Format_tokens\n    // | Year     |     y | yy |   yyy |  yyyy | yyyyy |\n    // |----------|-------|----|-------|-------|-------|\n    // | AD 1     |     1 | 01 |   001 |  0001 | 00001 |\n    // | AD 12    |    12 | 12 |   012 |  0012 | 00012 |\n    // | AD 123   |   123 | 23 |   123 |  0123 | 00123 |\n    // | AD 1234  |  1234 | 34 |  1234 |  1234 | 01234 |\n    // | AD 12345 | 12345 | 45 | 12345 | 12345 | 12345 |\n\n    const signedYear = date.getFullYear();\n    // Returns 1 for 1 BC (which is year 0 in JavaScript)\n    const year = signedYear > 0 ? signedYear : 1 - signedYear;\n    return addLeadingZeros(token === \"yy\" ? year % 100 : year, token.length);\n  },\n\n  // Month\n  M(date, token) {\n    const month = date.getMonth();\n    return token === \"M\" ? String(month + 1) : addLeadingZeros(month + 1, 2);\n  },\n\n  // Day of the month\n  d(date, token) {\n    return addLeadingZeros(date.getDate(), token.length);\n  },\n\n  // AM or PM\n  a(date, token) {\n    const dayPeriodEnumValue = date.getHours() / 12 >= 1 ? \"pm\" : \"am\";\n\n    switch (token) {\n      case \"a\":\n      case \"aa\":\n        return dayPeriodEnumValue.toUpperCase();\n      case \"aaa\":\n        return dayPeriodEnumValue;\n      case \"aaaaa\":\n        return dayPeriodEnumValue[0];\n      case \"aaaa\":\n      default:\n        return dayPeriodEnumValue === \"am\" ? \"a.m.\" : \"p.m.\";\n    }\n  },\n\n  // Hour [1-12]\n  h(date, token) {\n    return addLeadingZeros(date.getHours() % 12 || 12, token.length);\n  },\n\n  // Hour [0-23]\n  H(date, token) {\n    return addLeadingZeros(date.getHours(), token.length);\n  },\n\n  // Minute\n  m(date, token) {\n    return addLeadingZeros(date.getMinutes(), token.length);\n  },\n\n  // Second\n  s(date, token) {\n    return addLeadingZeros(date.getSeconds(), token.length);\n  },\n\n  // Fraction of second\n  S(date, token) {\n    const numberOfDigits = token.length;\n    const milliseconds = date.getMilliseconds();\n    const fractionalSeconds = Math.trunc(\n      milliseconds * Math.pow(10, numberOfDigits - 3),\n    );\n    return addLeadingZeros(fractionalSeconds, token.length);\n  },\n};\n","import { getDayOfYear } from \"../../getDayOfYear.mjs\";\nimport { getISOWeek } from \"../../getISOWeek.mjs\";\nimport { getISOWeekYear } from \"../../getISOWeekYear.mjs\";\nimport { getWeek } from \"../../getWeek.mjs\";\nimport { getWeekYear } from \"../../getWeekYear.mjs\";\nimport { addLeadingZeros } from \"../addLeadingZeros.mjs\";\nimport { lightFormatters } from \"./lightFormatters.mjs\";\n\nconst dayPeriodEnum = {\n  am: \"am\",\n  pm: \"pm\",\n  midnight: \"midnight\",\n  noon: \"noon\",\n  morning: \"morning\",\n  afternoon: \"afternoon\",\n  evening: \"evening\",\n  night: \"night\",\n};\n\n/*\n * |     | Unit                           |     | Unit                           |\n * |-----|--------------------------------|-----|--------------------------------|\n * |  a  | AM, PM                         |  A* | Milliseconds in day            |\n * |  b  | AM, PM, noon, midnight         |  B  | Flexible day period            |\n * |  c  | Stand-alone local day of week  |  C* | Localized hour w/ day period   |\n * |  d  | Day of month                   |  D  | Day of year                    |\n * |  e  | Local day of week              |  E  | Day of week                    |\n * |  f  |                                |  F* | Day of week in month           |\n * |  g* | Modified Julian day            |  G  | Era                            |\n * |  h  | Hour [1-12]                    |  H  | Hour [0-23]                    |\n * |  i! | ISO day of week                |  I! | ISO week of year               |\n * |  j* | Localized hour w/ day period   |  J* | Localized hour w/o day period  |\n * |  k  | Hour [1-24]                    |  K  | Hour [0-11]                    |\n * |  l* | (deprecated)                   |  L  | Stand-alone month              |\n * |  m  | Minute                         |  M  | Month                          |\n * |  n  |                                |  N  |                                |\n * |  o! | Ordinal number modifier        |  O  | Timezone (GMT)                 |\n * |  p! | Long localized time            |  P! | Long localized date            |\n * |  q  | Stand-alone quarter            |  Q  | Quarter                        |\n * |  r* | Related Gregorian year         |  R! | ISO week-numbering year        |\n * |  s  | Second                         |  S  | Fraction of second             |\n * |  t! | Seconds timestamp              |  T! | Milliseconds timestamp         |\n * |  u  | Extended year                  |  U* | Cyclic year                    |\n * |  v* | Timezone (generic non-locat.)  |  V* | Timezone (location)            |\n * |  w  | Local week of year             |  W* | Week of month                  |\n * |  x  | Timezone (ISO-8601 w/o Z)      |  X  | Timezone (ISO-8601)            |\n * |  y  | Year (abs)                     |  Y  | Local week-numbering year      |\n * |  z  | Timezone (specific non-locat.) |  Z* | Timezone (aliases)             |\n *\n * Letters marked by * are not implemented but reserved by Unicode standard.\n *\n * Letters marked by ! are non-standard, but implemented by date-fns:\n * - `o` modifies the previous token to turn it into an ordinal (see `format` docs)\n * - `i` is ISO day of week. For `i` and `ii` is returns numeric ISO week days,\n *   i.e. 7 for Sunday, 1 for Monday, etc.\n * - `I` is ISO week of year, as opposed to `w` which is local week of year.\n * - `R` is ISO week-numbering year, as opposed to `Y` which is local week-numbering year.\n *   `R` is supposed to be used in conjunction with `I` and `i`\n *   for universal ISO week-numbering date, whereas\n *   `Y` is supposed to be used in conjunction with `w` and `e`\n *   for week-numbering date specific to the locale.\n * - `P` is long localized date format\n * - `p` is long localized time format\n */\n\nexport const formatters = {\n  // Era\n  G: function (date, token, localize) {\n    const era = date.getFullYear() > 0 ? 1 : 0;\n    switch (token) {\n      // AD, BC\n      case \"G\":\n      case \"GG\":\n      case \"GGG\":\n        return localize.era(era, { width: \"abbreviated\" });\n      // A, B\n      case \"GGGGG\":\n        return localize.era(era, { width: \"narrow\" });\n      // Anno Domini, Before Christ\n      case \"GGGG\":\n      default:\n        return localize.era(era, { width: \"wide\" });\n    }\n  },\n\n  // Year\n  y: function (date, token, localize) {\n    // Ordinal number\n    if (token === \"yo\") {\n      const signedYear = date.getFullYear();\n      // Returns 1 for 1 BC (which is year 0 in JavaScript)\n      const year = signedYear > 0 ? signedYear : 1 - signedYear;\n      return localize.ordinalNumber(year, { unit: \"year\" });\n    }\n\n    return lightFormatters.y(date, token);\n  },\n\n  // Local week-numbering year\n  Y: function (date, token, localize, options) {\n    const signedWeekYear = getWeekYear(date, options);\n    // Returns 1 for 1 BC (which is year 0 in JavaScript)\n    const weekYear = signedWeekYear > 0 ? signedWeekYear : 1 - signedWeekYear;\n\n    // Two digit year\n    if (token === \"YY\") {\n      const twoDigitYear = weekYear % 100;\n      return addLeadingZeros(twoDigitYear, 2);\n    }\n\n    // Ordinal number\n    if (token === \"Yo\") {\n      return localize.ordinalNumber(weekYear, { unit: \"year\" });\n    }\n\n    // Padding\n    return addLeadingZeros(weekYear, token.length);\n  },\n\n  // ISO week-numbering year\n  R: function (date, token) {\n    const isoWeekYear = getISOWeekYear(date);\n\n    // Padding\n    return addLeadingZeros(isoWeekYear, token.length);\n  },\n\n  // Extended year. This is a single number designating the year of this calendar system.\n  // The main difference between `y` and `u` localizers are B.C. years:\n  // | Year | `y` | `u` |\n  // |------|-----|-----|\n  // | AC 1 |   1 |   1 |\n  // | BC 1 |   1 |   0 |\n  // | BC 2 |   2 |  -1 |\n  // Also `yy` always returns the last two digits of a year,\n  // while `uu` pads single digit years to 2 characters and returns other years unchanged.\n  u: function (date, token) {\n    const year = date.getFullYear();\n    return addLeadingZeros(year, token.length);\n  },\n\n  // Quarter\n  Q: function (date, token, localize) {\n    const quarter = Math.ceil((date.getMonth() + 1) / 3);\n    switch (token) {\n      // 1, 2, 3, 4\n      case \"Q\":\n        return String(quarter);\n      // 01, 02, 03, 04\n      case \"QQ\":\n        return addLeadingZeros(quarter, 2);\n      // 1st, 2nd, 3rd, 4th\n      case \"Qo\":\n        return localize.ordinalNumber(quarter, { unit: \"quarter\" });\n      // Q1, Q2, Q3, Q4\n      case \"QQQ\":\n        return localize.quarter(quarter, {\n          width: \"abbreviated\",\n          context: \"formatting\",\n        });\n      // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n      case \"QQQQQ\":\n        return localize.quarter(quarter, {\n          width: \"narrow\",\n          context: \"formatting\",\n        });\n      // 1st quarter, 2nd quarter, ...\n      case \"QQQQ\":\n      default:\n        return localize.quarter(quarter, {\n          width: \"wide\",\n          context: \"formatting\",\n        });\n    }\n  },\n\n  // Stand-alone quarter\n  q: function (date, token, localize) {\n    const quarter = Math.ceil((date.getMonth() + 1) / 3);\n    switch (token) {\n      // 1, 2, 3, 4\n      case \"q\":\n        return String(quarter);\n      // 01, 02, 03, 04\n      case \"qq\":\n        return addLeadingZeros(quarter, 2);\n      // 1st, 2nd, 3rd, 4th\n      case \"qo\":\n        return localize.ordinalNumber(quarter, { unit: \"quarter\" });\n      // Q1, Q2, Q3, Q4\n      case \"qqq\":\n        return localize.quarter(quarter, {\n          width: \"abbreviated\",\n          context: \"standalone\",\n        });\n      // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n      case \"qqqqq\":\n        return localize.quarter(quarter, {\n          width: \"narrow\",\n          context: \"standalone\",\n        });\n      // 1st quarter, 2nd quarter, ...\n      case \"qqqq\":\n      default:\n        return localize.quarter(quarter, {\n          width: \"wide\",\n          context: \"standalone\",\n        });\n    }\n  },\n\n  // Month\n  M: function (date, token, localize) {\n    const month = date.getMonth();\n    switch (token) {\n      case \"M\":\n      case \"MM\":\n        return lightFormatters.M(date, token);\n      // 1st, 2nd, ..., 12th\n      case \"Mo\":\n        return localize.ordinalNumber(month + 1, { unit: \"month\" });\n      // Jan, Feb, ..., Dec\n      case \"MMM\":\n        return localize.month(month, {\n          width: \"abbreviated\",\n          context: \"formatting\",\n        });\n      // J, F, ..., D\n      case \"MMMMM\":\n        return localize.month(month, {\n          width: \"narrow\",\n          context: \"formatting\",\n        });\n      // January, February, ..., December\n      case \"MMMM\":\n      default:\n        return localize.month(month, { width: \"wide\", context: \"formatting\" });\n    }\n  },\n\n  // Stand-alone month\n  L: function (date, token, localize) {\n    const month = date.getMonth();\n    switch (token) {\n      // 1, 2, ..., 12\n      case \"L\":\n        return String(month + 1);\n      // 01, 02, ..., 12\n      case \"LL\":\n        return addLeadingZeros(month + 1, 2);\n      // 1st, 2nd, ..., 12th\n      case \"Lo\":\n        return localize.ordinalNumber(month + 1, { unit: \"month\" });\n      // Jan, Feb, ..., Dec\n      case \"LLL\":\n        return localize.month(month, {\n          width: \"abbreviated\",\n          context: \"standalone\",\n        });\n      // J, F, ..., D\n      case \"LLLLL\":\n        return localize.month(month, {\n          width: \"narrow\",\n          context: \"standalone\",\n        });\n      // January, February, ..., December\n      case \"LLLL\":\n      default:\n        return localize.month(month, { width: \"wide\", context: \"standalone\" });\n    }\n  },\n\n  // Local week of year\n  w: function (date, token, localize, options) {\n    const week = getWeek(date, options);\n\n    if (token === \"wo\") {\n      return localize.ordinalNumber(week, { unit: \"week\" });\n    }\n\n    return addLeadingZeros(week, token.length);\n  },\n\n  // ISO week of year\n  I: function (date, token, localize) {\n    const isoWeek = getISOWeek(date);\n\n    if (token === \"Io\") {\n      return localize.ordinalNumber(isoWeek, { unit: \"week\" });\n    }\n\n    return addLeadingZeros(isoWeek, token.length);\n  },\n\n  // Day of the month\n  d: function (date, token, localize) {\n    if (token === \"do\") {\n      return localize.ordinalNumber(date.getDate(), { unit: \"date\" });\n    }\n\n    return lightFormatters.d(date, token);\n  },\n\n  // Day of year\n  D: function (date, token, localize) {\n    const dayOfYear = getDayOfYear(date);\n\n    if (token === \"Do\") {\n      return localize.ordinalNumber(dayOfYear, { unit: \"dayOfYear\" });\n    }\n\n    return addLeadingZeros(dayOfYear, token.length);\n  },\n\n  // Day of week\n  E: function (date, token, localize) {\n    const dayOfWeek = date.getDay();\n    switch (token) {\n      // Tue\n      case \"E\":\n      case \"EE\":\n      case \"EEE\":\n        return localize.day(dayOfWeek, {\n          width: \"abbreviated\",\n          context: \"formatting\",\n        });\n      // T\n      case \"EEEEE\":\n        return localize.day(dayOfWeek, {\n          width: \"narrow\",\n          context: \"formatting\",\n        });\n      // Tu\n      case \"EEEEEE\":\n        return localize.day(dayOfWeek, {\n          width: \"short\",\n          context: \"formatting\",\n        });\n      // Tuesday\n      case \"EEEE\":\n      default:\n        return localize.day(dayOfWeek, {\n          width: \"wide\",\n          context: \"formatting\",\n        });\n    }\n  },\n\n  // Local day of week\n  e: function (date, token, localize, options) {\n    const dayOfWeek = date.getDay();\n    const localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7;\n    switch (token) {\n      // Numerical value (Nth day of week with current locale or weekStartsOn)\n      case \"e\":\n        return String(localDayOfWeek);\n      // Padded numerical value\n      case \"ee\":\n        return addLeadingZeros(localDayOfWeek, 2);\n      // 1st, 2nd, ..., 7th\n      case \"eo\":\n        return localize.ordinalNumber(localDayOfWeek, { unit: \"day\" });\n      case \"eee\":\n        return localize.day(dayOfWeek, {\n          width: \"abbreviated\",\n          context: \"formatting\",\n        });\n      // T\n      case \"eeeee\":\n        return localize.day(dayOfWeek, {\n          width: \"narrow\",\n          context: \"formatting\",\n        });\n      // Tu\n      case \"eeeeee\":\n        return localize.day(dayOfWeek, {\n          width: \"short\",\n          context: \"formatting\",\n        });\n      // Tuesday\n      case \"eeee\":\n      default:\n        return localize.day(dayOfWeek, {\n          width: \"wide\",\n          context: \"formatting\",\n        });\n    }\n  },\n\n  // Stand-alone local day of week\n  c: function (date, token, localize, options) {\n    const dayOfWeek = date.getDay();\n    const localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7;\n    switch (token) {\n      // Numerical value (same as in `e`)\n      case \"c\":\n        return String(localDayOfWeek);\n      // Padded numerical value\n      case \"cc\":\n        return addLeadingZeros(localDayOfWeek, token.length);\n      // 1st, 2nd, ..., 7th\n      case \"co\":\n        return localize.ordinalNumber(localDayOfWeek, { unit: \"day\" });\n      case \"ccc\":\n        return localize.day(dayOfWeek, {\n          width: \"abbreviated\",\n          context: \"standalone\",\n        });\n      // T\n      case \"ccccc\":\n        return localize.day(dayOfWeek, {\n          width: \"narrow\",\n          context: \"standalone\",\n        });\n      // Tu\n      case \"cccccc\":\n        return localize.day(dayOfWeek, {\n          width: \"short\",\n          context: \"standalone\",\n        });\n      // Tuesday\n      case \"cccc\":\n      default:\n        return localize.day(dayOfWeek, {\n          width: \"wide\",\n          context: \"standalone\",\n        });\n    }\n  },\n\n  // ISO day of week\n  i: function (date, token, localize) {\n    const dayOfWeek = date.getDay();\n    const isoDayOfWeek = dayOfWeek === 0 ? 7 : dayOfWeek;\n    switch (token) {\n      // 2\n      case \"i\":\n        return String(isoDayOfWeek);\n      // 02\n      case \"ii\":\n        return addLeadingZeros(isoDayOfWeek, token.length);\n      // 2nd\n      case \"io\":\n        return localize.ordinalNumber(isoDayOfWeek, { unit: \"day\" });\n      // Tue\n      case \"iii\":\n        return localize.day(dayOfWeek, {\n          width: \"abbreviated\",\n          context: \"formatting\",\n        });\n      // T\n      case \"iiiii\":\n        return localize.day(dayOfWeek, {\n          width: \"narrow\",\n          context: \"formatting\",\n        });\n      // Tu\n      case \"iiiiii\":\n        return localize.day(dayOfWeek, {\n          width: \"short\",\n          context: \"formatting\",\n        });\n      // Tuesday\n      case \"iiii\":\n      default:\n        return localize.day(dayOfWeek, {\n          width: \"wide\",\n          context: \"formatting\",\n        });\n    }\n  },\n\n  // AM or PM\n  a: function (date, token, localize) {\n    const hours = date.getHours();\n    const dayPeriodEnumValue = hours / 12 >= 1 ? \"pm\" : \"am\";\n\n    switch (token) {\n      case \"a\":\n      case \"aa\":\n        return localize.dayPeriod(dayPeriodEnumValue, {\n          width: \"abbreviated\",\n          context: \"formatting\",\n        });\n      case \"aaa\":\n        return localize\n          .dayPeriod(dayPeriodEnumValue, {\n            width: \"abbreviated\",\n            context: \"formatting\",\n          })\n          .toLowerCase();\n      case \"aaaaa\":\n        return localize.dayPeriod(dayPeriodEnumValue, {\n          width: \"narrow\",\n          context: \"formatting\",\n        });\n      case \"aaaa\":\n      default:\n        return localize.dayPeriod(dayPeriodEnumValue, {\n          width: \"wide\",\n          context: \"formatting\",\n        });\n    }\n  },\n\n  // AM, PM, midnight, noon\n  b: function (date, token, localize) {\n    const hours = date.getHours();\n    let dayPeriodEnumValue;\n    if (hours === 12) {\n      dayPeriodEnumValue = dayPeriodEnum.noon;\n    } else if (hours === 0) {\n      dayPeriodEnumValue = dayPeriodEnum.midnight;\n    } else {\n      dayPeriodEnumValue = hours / 12 >= 1 ? \"pm\" : \"am\";\n    }\n\n    switch (token) {\n      case \"b\":\n      case \"bb\":\n        return localize.dayPeriod(dayPeriodEnumValue, {\n          width: \"abbreviated\",\n          context: \"formatting\",\n        });\n      case \"bbb\":\n        return localize\n          .dayPeriod(dayPeriodEnumValue, {\n            width: \"abbreviated\",\n            context: \"formatting\",\n          })\n          .toLowerCase();\n      case \"bbbbb\":\n        return localize.dayPeriod(dayPeriodEnumValue, {\n          width: \"narrow\",\n          context: \"formatting\",\n        });\n      case \"bbbb\":\n      default:\n        return localize.dayPeriod(dayPeriodEnumValue, {\n          width: \"wide\",\n          context: \"formatting\",\n        });\n    }\n  },\n\n  // in the morning, in the afternoon, in the evening, at night\n  B: function (date, token, localize) {\n    const hours = date.getHours();\n    let dayPeriodEnumValue;\n    if (hours >= 17) {\n      dayPeriodEnumValue = dayPeriodEnum.evening;\n    } else if (hours >= 12) {\n      dayPeriodEnumValue = dayPeriodEnum.afternoon;\n    } else if (hours >= 4) {\n      dayPeriodEnumValue = dayPeriodEnum.morning;\n    } else {\n      dayPeriodEnumValue = dayPeriodEnum.night;\n    }\n\n    switch (token) {\n      case \"B\":\n      case \"BB\":\n      case \"BBB\":\n        return localize.dayPeriod(dayPeriodEnumValue, {\n          width: \"abbreviated\",\n          context: \"formatting\",\n        });\n      case \"BBBBB\":\n        return localize.dayPeriod(dayPeriodEnumValue, {\n          width: \"narrow\",\n          context: \"formatting\",\n        });\n      case \"BBBB\":\n      default:\n        return localize.dayPeriod(dayPeriodEnumValue, {\n          width: \"wide\",\n          context: \"formatting\",\n        });\n    }\n  },\n\n  // Hour [1-12]\n  h: function (date, token, localize) {\n    if (token === \"ho\") {\n      let hours = date.getHours() % 12;\n      if (hours === 0) hours = 12;\n      return localize.ordinalNumber(hours, { unit: \"hour\" });\n    }\n\n    return lightFormatters.h(date, token);\n  },\n\n  // Hour [0-23]\n  H: function (date, token, localize) {\n    if (token === \"Ho\") {\n      return localize.ordinalNumber(date.getHours(), { unit: \"hour\" });\n    }\n\n    return lightFormatters.H(date, token);\n  },\n\n  // Hour [0-11]\n  K: function (date, token, localize) {\n    const hours = date.getHours() % 12;\n\n    if (token === \"Ko\") {\n      return localize.ordinalNumber(hours, { unit: \"hour\" });\n    }\n\n    return addLeadingZeros(hours, token.length);\n  },\n\n  // Hour [1-24]\n  k: function (date, token, localize) {\n    let hours = date.getHours();\n    if (hours === 0) hours = 24;\n\n    if (token === \"ko\") {\n      return localize.ordinalNumber(hours, { unit: \"hour\" });\n    }\n\n    return addLeadingZeros(hours, token.length);\n  },\n\n  // Minute\n  m: function (date, token, localize) {\n    if (token === \"mo\") {\n      return localize.ordinalNumber(date.getMinutes(), { unit: \"minute\" });\n    }\n\n    return lightFormatters.m(date, token);\n  },\n\n  // Second\n  s: function (date, token, localize) {\n    if (token === \"so\") {\n      return localize.ordinalNumber(date.getSeconds(), { unit: \"second\" });\n    }\n\n    return lightFormatters.s(date, token);\n  },\n\n  // Fraction of second\n  S: function (date, token) {\n    return lightFormatters.S(date, token);\n  },\n\n  // Timezone (ISO-8601. If offset is 0, output is always `'Z'`)\n  X: function (date, token, _localize) {\n    const timezoneOffset = date.getTimezoneOffset();\n\n    if (timezoneOffset === 0) {\n      return \"Z\";\n    }\n\n    switch (token) {\n      // Hours and optional minutes\n      case \"X\":\n        return formatTimezoneWithOptionalMinutes(timezoneOffset);\n\n      // Hours, minutes and optional seconds without `:` delimiter\n      // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n      // so this token always has the same output as `XX`\n      case \"XXXX\":\n      case \"XX\": // Hours and minutes without `:` delimiter\n        return formatTimezone(timezoneOffset);\n\n      // Hours, minutes and optional seconds with `:` delimiter\n      // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n      // so this token always has the same output as `XXX`\n      case \"XXXXX\":\n      case \"XXX\": // Hours and minutes with `:` delimiter\n      default:\n        return formatTimezone(timezoneOffset, \":\");\n    }\n  },\n\n  // Timezone (ISO-8601. If offset is 0, output is `'+00:00'` or equivalent)\n  x: function (date, token, _localize) {\n    const timezoneOffset = date.getTimezoneOffset();\n\n    switch (token) {\n      // Hours and optional minutes\n      case \"x\":\n        return formatTimezoneWithOptionalMinutes(timezoneOffset);\n\n      // Hours, minutes and optional seconds without `:` delimiter\n      // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n      // so this token always has the same output as `xx`\n      case \"xxxx\":\n      case \"xx\": // Hours and minutes without `:` delimiter\n        return formatTimezone(timezoneOffset);\n\n      // Hours, minutes and optional seconds with `:` delimiter\n      // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n      // so this token always has the same output as `xxx`\n      case \"xxxxx\":\n      case \"xxx\": // Hours and minutes with `:` delimiter\n      default:\n        return formatTimezone(timezoneOffset, \":\");\n    }\n  },\n\n  // Timezone (GMT)\n  O: function (date, token, _localize) {\n    const timezoneOffset = date.getTimezoneOffset();\n\n    switch (token) {\n      // Short\n      case \"O\":\n      case \"OO\":\n      case \"OOO\":\n        return \"GMT\" + formatTimezoneShort(timezoneOffset, \":\");\n      // Long\n      case \"OOOO\":\n      default:\n        return \"GMT\" + formatTimezone(timezoneOffset, \":\");\n    }\n  },\n\n  // Timezone (specific non-location)\n  z: function (date, token, _localize) {\n    const timezoneOffset = date.getTimezoneOffset();\n\n    switch (token) {\n      // Short\n      case \"z\":\n      case \"zz\":\n      case \"zzz\":\n        return \"GMT\" + formatTimezoneShort(timezoneOffset, \":\");\n      // Long\n      case \"zzzz\":\n      default:\n        return \"GMT\" + formatTimezone(timezoneOffset, \":\");\n    }\n  },\n\n  // Seconds timestamp\n  t: function (date, token, _localize) {\n    const timestamp = Math.trunc(date.getTime() / 1000);\n    return addLeadingZeros(timestamp, token.length);\n  },\n\n  // Milliseconds timestamp\n  T: function (date, token, _localize) {\n    const timestamp = date.getTime();\n    return addLeadingZeros(timestamp, token.length);\n  },\n};\n\nfunction formatTimezoneShort(offset, delimiter = \"\") {\n  const sign = offset > 0 ? \"-\" : \"+\";\n  const absOffset = Math.abs(offset);\n  const hours = Math.trunc(absOffset / 60);\n  const minutes = absOffset % 60;\n  if (minutes === 0) {\n    return sign + String(hours);\n  }\n  return sign + String(hours) + delimiter + addLeadingZeros(minutes, 2);\n}\n\nfunction formatTimezoneWithOptionalMinutes(offset, delimiter) {\n  if (offset % 60 === 0) {\n    const sign = offset > 0 ? \"-\" : \"+\";\n    return sign + addLeadingZeros(Math.abs(offset) / 60, 2);\n  }\n  return formatTimezone(offset, delimiter);\n}\n\nfunction formatTimezone(offset, delimiter = \"\") {\n  const sign = offset > 0 ? \"-\" : \"+\";\n  const absOffset = Math.abs(offset);\n  const hours = addLeadingZeros(Math.trunc(absOffset / 60), 2);\n  const minutes = addLeadingZeros(absOffset % 60, 2);\n  return sign + hours + delimiter + minutes;\n}\n","const dateLongFormatter = (pattern, formatLong) => {\n  switch (pattern) {\n    case \"P\":\n      return formatLong.date({ width: \"short\" });\n    case \"PP\":\n      return formatLong.date({ width: \"medium\" });\n    case \"PPP\":\n      return formatLong.date({ width: \"long\" });\n    case \"PPPP\":\n    default:\n      return formatLong.date({ width: \"full\" });\n  }\n};\n\nconst timeLongFormatter = (pattern, formatLong) => {\n  switch (pattern) {\n    case \"p\":\n      return formatLong.time({ width: \"short\" });\n    case \"pp\":\n      return formatLong.time({ width: \"medium\" });\n    case \"ppp\":\n      return formatLong.time({ width: \"long\" });\n    case \"pppp\":\n    default:\n      return formatLong.time({ width: \"full\" });\n  }\n};\n\nconst dateTimeLongFormatter = (pattern, formatLong) => {\n  const matchResult = pattern.match(/(P+)(p+)?/) || [];\n  const datePattern = matchResult[1];\n  const timePattern = matchResult[2];\n\n  if (!timePattern) {\n    return dateLongFormatter(pattern, formatLong);\n  }\n\n  let dateTimeFormat;\n\n  switch (datePattern) {\n    case \"P\":\n      dateTimeFormat = formatLong.dateTime({ width: \"short\" });\n      break;\n    case \"PP\":\n      dateTimeFormat = formatLong.dateTime({ width: \"medium\" });\n      break;\n    case \"PPP\":\n      dateTimeFormat = formatLong.dateTime({ width: \"long\" });\n      break;\n    case \"PPPP\":\n    default:\n      dateTimeFormat = formatLong.dateTime({ width: \"full\" });\n      break;\n  }\n\n  return dateTimeFormat\n    .replace(\"{{date}}\", dateLongFormatter(datePattern, formatLong))\n    .replace(\"{{time}}\", timeLongFormatter(timePattern, formatLong));\n};\n\nexport const longFormatters = {\n  p: timeLongFormatter,\n  P: dateTimeLongFormatter,\n};\n","const dayOfYearTokenRE = /^D+$/;\nconst weekYearTokenRE = /^Y+$/;\n\nconst throwTokens = [\"D\", \"DD\", \"YY\", \"YYYY\"];\n\nexport function isProtectedDayOfYearToken(token) {\n  return dayOfYearTokenRE.test(token);\n}\n\nexport function isProtectedWeekYearToken(token) {\n  return weekYearTokenRE.test(token);\n}\n\nexport function warnOrThrowProtectedError(token, format, input) {\n  const _message = message(token, format, input);\n  console.warn(_message);\n  if (throwTokens.includes(token)) throw new RangeError(_message);\n}\n\nfunction message(token, format, input) {\n  const subject = token[0] === \"Y\" ? \"years\" : \"days of the month\";\n  return `Use \\`${token.toLowerCase()}\\` instead of \\`${token}\\` (in \\`${format}\\`) for formatting ${subject} to the input \\`${input}\\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`;\n}\n","import { isDate } from \"./isDate.mjs\";\nimport { toDate } from \"./toDate.mjs\";\n\n/**\n * @name isValid\n * @category Common Helpers\n * @summary Is the given date valid?\n *\n * @description\n * Returns false if argument is Invalid Date and true otherwise.\n * Argument is converted to Date using `toDate`. See [toDate](https://date-fns.org/docs/toDate)\n * Invalid Date is a Date, whose time value is NaN.\n *\n * Time value of Date: http://es5.github.io/#x15.9.1.1\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The date to check\n *\n * @returns The date is valid\n *\n * @example\n * // For the valid date:\n * const result = isValid(new Date(2014, 1, 31))\n * //=> true\n *\n * @example\n * // For the value, convertable into a date:\n * const result = isValid(1393804800000)\n * //=> true\n *\n * @example\n * // For the invalid date:\n * const result = isValid(new Date(''))\n * //=> false\n */\nexport function isValid(date) {\n  if (!isDate(date) && typeof date !== \"number\") {\n    return false;\n  }\n  const _date = toDate(date);\n  return !isNaN(Number(_date));\n}\n\n// Fallback for modularized imports:\nexport default isValid;\n","/**\n * @name isDate\n * @category Common Helpers\n * @summary Is the given value a date?\n *\n * @description\n * Returns true if the given value is an instance of Date. The function works for dates transferred across iframes.\n *\n * @param value - The value to check\n *\n * @returns True if the given value is a date\n *\n * @example\n * // For a valid date:\n * const result = isDate(new Date())\n * //=> true\n *\n * @example\n * // For an invalid date:\n * const result = isDate(new Date(NaN))\n * //=> true\n *\n * @example\n * // For some value:\n * const result = isDate('2014-02-31')\n * //=> false\n *\n * @example\n * // For an object:\n * const result = isDate({})\n * //=> false\n */\nexport function isDate(value) {\n  return (\n    value instanceof Date ||\n    (typeof value === \"object\" &&\n      Object.prototype.toString.call(value) === \"[object Date]\")\n  );\n}\n\n// Fallback for modularized imports:\nexport default isDate;\n","import { defaultLocale } from \"./_lib/defaultLocale.mjs\";\nimport { getDefaultOptions } from \"./_lib/defaultOptions.mjs\";\nimport { formatters } from \"./_lib/format/formatters.mjs\";\nimport { longFormatters } from \"./_lib/format/longFormatters.mjs\";\nimport {\n  isProtectedDayOfYearToken,\n  isProtectedWeekYearToken,\n  warnOrThrowProtectedError,\n} from \"./_lib/protectedTokens.mjs\";\nimport { isValid } from \"./isValid.mjs\";\nimport { toDate } from \"./toDate.mjs\";\n\n// Rexports of internal for libraries to use.\n// See: https://github.com/date-fns/date-fns/issues/3638#issuecomment-1877082874\nexport { formatters, longFormatters };\n\n// This RegExp consists of three parts separated by `|`:\n// - [yYQqMLwIdDecihHKkms]o matches any available ordinal number token\n//   (one of the certain letters followed by `o`)\n// - (\\w)\\1* matches any sequences of the same letter\n// - '' matches two quote characters in a row\n// - '(''|[^'])+('|$) matches anything surrounded by two quote characters ('),\n//   except a single quote symbol, which ends the sequence.\n//   Two quote characters do not end the sequence.\n//   If there is no matching single quote\n//   then the sequence will continue until the end of the string.\n// - . matches any single character unmatched by previous parts of the RegExps\nconst formattingTokensRegExp =\n  /[yYQqMLwIdDecihHKkms]o|(\\w)\\1*|''|'(''|[^'])+('|$)|./g;\n\n// This RegExp catches symbols escaped by quotes, and also\n// sequences of symbols P, p, and the combinations like `PPPPPPPppppp`\nconst longFormattingTokensRegExp = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g;\n\nconst escapedStringRegExp = /^'([^]*?)'?$/;\nconst doubleQuoteRegExp = /''/g;\nconst unescapedLatinCharacterRegExp = /[a-zA-Z]/;\n\nexport { format as formatDate };\n\n/**\n * The {@link format} function options.\n */\n\n/**\n * @name format\n * @alias formatDate\n * @category Common Helpers\n * @summary Format the date.\n *\n * @description\n * Return the formatted date string in the given format. The result may vary by locale.\n *\n * > ⚠️ Please note that the `format` tokens differ from Moment.js and other libraries.\n * > See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * The characters wrapped between two single quotes characters (') are escaped.\n * Two single quotes in a row, whether inside or outside a quoted sequence, represent a 'real' single quote.\n * (see the last example)\n *\n * Format of the string is based on Unicode Technical Standard #35:\n * https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * with a few additions (see note 7 below the table).\n *\n * Accepted patterns:\n * | Unit                            | Pattern | Result examples                   | Notes |\n * |---------------------------------|---------|-----------------------------------|-------|\n * | Era                             | G..GGG  | AD, BC                            |       |\n * |                                 | GGGG    | Anno Domini, Before Christ        | 2     |\n * |                                 | GGGGG   | A, B                              |       |\n * | Calendar year                   | y       | 44, 1, 1900, 2017                 | 5     |\n * |                                 | yo      | 44th, 1st, 0th, 17th              | 5,7   |\n * |                                 | yy      | 44, 01, 00, 17                    | 5     |\n * |                                 | yyy     | 044, 001, 1900, 2017              | 5     |\n * |                                 | yyyy    | 0044, 0001, 1900, 2017            | 5     |\n * |                                 | yyyyy   | ...                               | 3,5   |\n * | Local week-numbering year       | Y       | 44, 1, 1900, 2017                 | 5     |\n * |                                 | Yo      | 44th, 1st, 1900th, 2017th         | 5,7   |\n * |                                 | YY      | 44, 01, 00, 17                    | 5,8   |\n * |                                 | YYY     | 044, 001, 1900, 2017              | 5     |\n * |                                 | YYYY    | 0044, 0001, 1900, 2017            | 5,8   |\n * |                                 | YYYYY   | ...                               | 3,5   |\n * | ISO week-numbering year         | R       | -43, 0, 1, 1900, 2017             | 5,7   |\n * |                                 | RR      | -43, 00, 01, 1900, 2017           | 5,7   |\n * |                                 | RRR     | -043, 000, 001, 1900, 2017        | 5,7   |\n * |                                 | RRRR    | -0043, 0000, 0001, 1900, 2017     | 5,7   |\n * |                                 | RRRRR   | ...                               | 3,5,7 |\n * | Extended year                   | u       | -43, 0, 1, 1900, 2017             | 5     |\n * |                                 | uu      | -43, 01, 1900, 2017               | 5     |\n * |                                 | uuu     | -043, 001, 1900, 2017             | 5     |\n * |                                 | uuuu    | -0043, 0001, 1900, 2017           | 5     |\n * |                                 | uuuuu   | ...                               | 3,5   |\n * | Quarter (formatting)            | Q       | 1, 2, 3, 4                        |       |\n * |                                 | Qo      | 1st, 2nd, 3rd, 4th                | 7     |\n * |                                 | QQ      | 01, 02, 03, 04                    |       |\n * |                                 | QQQ     | Q1, Q2, Q3, Q4                    |       |\n * |                                 | QQQQ    | 1st quarter, 2nd quarter, ...     | 2     |\n * |                                 | QQQQQ   | 1, 2, 3, 4                        | 4     |\n * | Quarter (stand-alone)           | q       | 1, 2, 3, 4                        |       |\n * |                                 | qo      | 1st, 2nd, 3rd, 4th                | 7     |\n * |                                 | qq      | 01, 02, 03, 04                    |       |\n * |                                 | qqq     | Q1, Q2, Q3, Q4                    |       |\n * |                                 | qqqq    | 1st quarter, 2nd quarter, ...     | 2     |\n * |                                 | qqqqq   | 1, 2, 3, 4                        | 4     |\n * | Month (formatting)              | M       | 1, 2, ..., 12                     |       |\n * |                                 | Mo      | 1st, 2nd, ..., 12th               | 7     |\n * |                                 | MM      | 01, 02, ..., 12                   |       |\n * |                                 | MMM     | Jan, Feb, ..., Dec                |       |\n * |                                 | MMMM    | January, February, ..., December  | 2     |\n * |                                 | MMMMM   | J, F, ..., D                      |       |\n * | Month (stand-alone)             | L       | 1, 2, ..., 12                     |       |\n * |                                 | Lo      | 1st, 2nd, ..., 12th               | 7     |\n * |                                 | LL      | 01, 02, ..., 12                   |       |\n * |                                 | LLL     | Jan, Feb, ..., Dec                |       |\n * |                                 | LLLL    | January, February, ..., December  | 2     |\n * |                                 | LLLLL   | J, F, ..., D                      |       |\n * | Local week of year              | w       | 1, 2, ..., 53                     |       |\n * |                                 | wo      | 1st, 2nd, ..., 53th               | 7     |\n * |                                 | ww      | 01, 02, ..., 53                   |       |\n * | ISO week of year                | I       | 1, 2, ..., 53                     | 7     |\n * |                                 | Io      | 1st, 2nd, ..., 53th               | 7     |\n * |                                 | II      | 01, 02, ..., 53                   | 7     |\n * | Day of month                    | d       | 1, 2, ..., 31                     |       |\n * |                                 | do      | 1st, 2nd, ..., 31st               | 7     |\n * |                                 | dd      | 01, 02, ..., 31                   |       |\n * | Day of year                     | D       | 1, 2, ..., 365, 366               | 9     |\n * |                                 | Do      | 1st, 2nd, ..., 365th, 366th       | 7     |\n * |                                 | DD      | 01, 02, ..., 365, 366             | 9     |\n * |                                 | DDD     | 001, 002, ..., 365, 366           |       |\n * |                                 | DDDD    | ...                               | 3     |\n * | Day of week (formatting)        | E..EEE  | Mon, Tue, Wed, ..., Sun           |       |\n * |                                 | EEEE    | Monday, Tuesday, ..., Sunday      | 2     |\n * |                                 | EEEEE   | M, T, W, T, F, S, S               |       |\n * |                                 | EEEEEE  | Mo, Tu, We, Th, Fr, Sa, Su        |       |\n * | ISO day of week (formatting)    | i       | 1, 2, 3, ..., 7                   | 7     |\n * |                                 | io      | 1st, 2nd, ..., 7th                | 7     |\n * |                                 | ii      | 01, 02, ..., 07                   | 7     |\n * |                                 | iii     | Mon, Tue, Wed, ..., Sun           | 7     |\n * |                                 | iiii    | Monday, Tuesday, ..., Sunday      | 2,7   |\n * |                                 | iiiii   | M, T, W, T, F, S, S               | 7     |\n * |                                 | iiiiii  | Mo, Tu, We, Th, Fr, Sa, Su        | 7     |\n * | Local day of week (formatting)  | e       | 2, 3, 4, ..., 1                   |       |\n * |                                 | eo      | 2nd, 3rd, ..., 1st                | 7     |\n * |                                 | ee      | 02, 03, ..., 01                   |       |\n * |                                 | eee     | Mon, Tue, Wed, ..., Sun           |       |\n * |                                 | eeee    | Monday, Tuesday, ..., Sunday      | 2     |\n * |                                 | eeeee   | M, T, W, T, F, S, S               |       |\n * |                                 | eeeeee  | Mo, Tu, We, Th, Fr, Sa, Su        |       |\n * | Local day of week (stand-alone) | c       | 2, 3, 4, ..., 1                   |       |\n * |                                 | co      | 2nd, 3rd, ..., 1st                | 7     |\n * |                                 | cc      | 02, 03, ..., 01                   |       |\n * |                                 | ccc     | Mon, Tue, Wed, ..., Sun           |       |\n * |                                 | cccc    | Monday, Tuesday, ..., Sunday      | 2     |\n * |                                 | ccccc   | M, T, W, T, F, S, S               |       |\n * |                                 | cccccc  | Mo, Tu, We, Th, Fr, Sa, Su        |       |\n * | AM, PM                          | a..aa   | AM, PM                            |       |\n * |                                 | aaa     | am, pm                            |       |\n * |                                 | aaaa    | a.m., p.m.                        | 2     |\n * |                                 | aaaaa   | a, p                              |       |\n * | AM, PM, noon, midnight          | b..bb   | AM, PM, noon, midnight            |       |\n * |                                 | bbb     | am, pm, noon, midnight            |       |\n * |                                 | bbbb    | a.m., p.m., noon, midnight        | 2     |\n * |                                 | bbbbb   | a, p, n, mi                       |       |\n * | Flexible day period             | B..BBB  | at night, in the morning, ...     |       |\n * |                                 | BBBB    | at night, in the morning, ...     | 2     |\n * |                                 | BBBBB   | at night, in the morning, ...     |       |\n * | Hour [1-12]                     | h       | 1, 2, ..., 11, 12                 |       |\n * |                                 | ho      | 1st, 2nd, ..., 11th, 12th         | 7     |\n * |                                 | hh      | 01, 02, ..., 11, 12               |       |\n * | Hour [0-23]                     | H       | 0, 1, 2, ..., 23                  |       |\n * |                                 | Ho      | 0th, 1st, 2nd, ..., 23rd          | 7     |\n * |                                 | HH      | 00, 01, 02, ..., 23               |       |\n * | Hour [0-11]                     | K       | 1, 2, ..., 11, 0                  |       |\n * |                                 | Ko      | 1st, 2nd, ..., 11th, 0th          | 7     |\n * |                                 | KK      | 01, 02, ..., 11, 00               |       |\n * | Hour [1-24]                     | k       | 24, 1, 2, ..., 23                 |       |\n * |                                 | ko      | 24th, 1st, 2nd, ..., 23rd         | 7     |\n * |                                 | kk      | 24, 01, 02, ..., 23               |       |\n * | Minute                          | m       | 0, 1, ..., 59                     |       |\n * |                                 | mo      | 0th, 1st, ..., 59th               | 7     |\n * |                                 | mm      | 00, 01, ..., 59                   |       |\n * | Second                          | s       | 0, 1, ..., 59                     |       |\n * |                                 | so      | 0th, 1st, ..., 59th               | 7     |\n * |                                 | ss      | 00, 01, ..., 59                   |       |\n * | Fraction of second              | S       | 0, 1, ..., 9                      |       |\n * |                                 | SS      | 00, 01, ..., 99                   |       |\n * |                                 | SSS     | 000, 001, ..., 999                |       |\n * |                                 | SSSS    | ...                               | 3     |\n * | Timezone (ISO-8601 w/ Z)        | X       | -08, +0530, Z                     |       |\n * |                                 | XX      | -0800, +0530, Z                   |       |\n * |                                 | XXX     | -08:00, +05:30, Z                 |       |\n * |                                 | XXXX    | -0800, +0530, Z, +123456          | 2     |\n * |                                 | XXXXX   | -08:00, +05:30, Z, +12:34:56      |       |\n * | Timezone (ISO-8601 w/o Z)       | x       | -08, +0530, +00                   |       |\n * |                                 | xx      | -0800, +0530, +0000               |       |\n * |                                 | xxx     | -08:00, +05:30, +00:00            | 2     |\n * |                                 | xxxx    | -0800, +0530, +0000, +123456      |       |\n * |                                 | xxxxx   | -08:00, +05:30, +00:00, +12:34:56 |       |\n * | Timezone (GMT)                  | O...OOO | GMT-8, GMT+5:30, GMT+0            |       |\n * |                                 | OOOO    | GMT-08:00, GMT+05:30, GMT+00:00   | 2     |\n * | Timezone (specific non-locat.)  | z...zzz | GMT-8, GMT+5:30, GMT+0            | 6     |\n * |                                 | zzzz    | GMT-08:00, GMT+05:30, GMT+00:00   | 2,6   |\n * | Seconds timestamp               | t       | 512969520                         | 7     |\n * |                                 | tt      | ...                               | 3,7   |\n * | Milliseconds timestamp          | T       | 512969520900                      | 7     |\n * |                                 | TT      | ...                               | 3,7   |\n * | Long localized date             | P       | 04/29/1453                        | 7     |\n * |                                 | PP      | Apr 29, 1453                      | 7     |\n * |                                 | PPP     | April 29th, 1453                  | 7     |\n * |                                 | PPPP    | Friday, April 29th, 1453          | 2,7   |\n * | Long localized time             | p       | 12:00 AM                          | 7     |\n * |                                 | pp      | 12:00:00 AM                       | 7     |\n * |                                 | ppp     | 12:00:00 AM GMT+2                 | 7     |\n * |                                 | pppp    | 12:00:00 AM GMT+02:00             | 2,7   |\n * | Combination of date and time    | Pp      | 04/29/1453, 12:00 AM              | 7     |\n * |                                 | PPpp    | Apr 29, 1453, 12:00:00 AM         | 7     |\n * |                                 | PPPppp  | April 29th, 1453 at ...           | 7     |\n * |                                 | PPPPpppp| Friday, April 29th, 1453 at ...   | 2,7   |\n * Notes:\n * 1. \"Formatting\" units (e.g. formatting quarter) in the default en-US locale\n *    are the same as \"stand-alone\" units, but are different in some languages.\n *    \"Formatting\" units are declined according to the rules of the language\n *    in the context of a date. \"Stand-alone\" units are always nominative singular:\n *\n *    `format(new Date(2017, 10, 6), 'do LLLL', {locale: cs}) //=> '6. listopad'`\n *\n *    `format(new Date(2017, 10, 6), 'do MMMM', {locale: cs}) //=> '6. listopadu'`\n *\n * 2. Any sequence of the identical letters is a pattern, unless it is escaped by\n *    the single quote characters (see below).\n *    If the sequence is longer than listed in table (e.g. `EEEEEEEEEEE`)\n *    the output will be the same as default pattern for this unit, usually\n *    the longest one (in case of ISO weekdays, `EEEE`). Default patterns for units\n *    are marked with \"2\" in the last column of the table.\n *\n *    `format(new Date(2017, 10, 6), 'MMM') //=> 'Nov'`\n *\n *    `format(new Date(2017, 10, 6), 'MMMM') //=> 'November'`\n *\n *    `format(new Date(2017, 10, 6), 'MMMMM') //=> 'N'`\n *\n *    `format(new Date(2017, 10, 6), 'MMMMMM') //=> 'November'`\n *\n *    `format(new Date(2017, 10, 6), 'MMMMMMM') //=> 'November'`\n *\n * 3. Some patterns could be unlimited length (such as `yyyyyyyy`).\n *    The output will be padded with zeros to match the length of the pattern.\n *\n *    `format(new Date(2017, 10, 6), 'yyyyyyyy') //=> '00002017'`\n *\n * 4. `QQQQQ` and `qqqqq` could be not strictly numerical in some locales.\n *    These tokens represent the shortest form of the quarter.\n *\n * 5. The main difference between `y` and `u` patterns are B.C. years:\n *\n *    | Year | `y` | `u` |\n *    |------|-----|-----|\n *    | AC 1 |   1 |   1 |\n *    | BC 1 |   1 |   0 |\n *    | BC 2 |   2 |  -1 |\n *\n *    Also `yy` always returns the last two digits of a year,\n *    while `uu` pads single digit years to 2 characters and returns other years unchanged:\n *\n *    | Year | `yy` | `uu` |\n *    |------|------|------|\n *    | 1    |   01 |   01 |\n *    | 14   |   14 |   14 |\n *    | 376  |   76 |  376 |\n *    | 1453 |   53 | 1453 |\n *\n *    The same difference is true for local and ISO week-numbering years (`Y` and `R`),\n *    except local week-numbering years are dependent on `options.weekStartsOn`\n *    and `options.firstWeekContainsDate` (compare [getISOWeekYear](https://date-fns.org/docs/getISOWeekYear)\n *    and [getWeekYear](https://date-fns.org/docs/getWeekYear)).\n *\n * 6. Specific non-location timezones are currently unavailable in `date-fns`,\n *    so right now these tokens fall back to GMT timezones.\n *\n * 7. These patterns are not in the Unicode Technical Standard #35:\n *    - `i`: ISO day of week\n *    - `I`: ISO week of year\n *    - `R`: ISO week-numbering year\n *    - `t`: seconds timestamp\n *    - `T`: milliseconds timestamp\n *    - `o`: ordinal number modifier\n *    - `P`: long localized date\n *    - `p`: long localized time\n *\n * 8. `YY` and `YYYY` tokens represent week-numbering years but they are often confused with years.\n *    You should enable `options.useAdditionalWeekYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * 9. `D` and `DD` tokens represent days of the year but they are often confused with days of the month.\n *    You should enable `options.useAdditionalDayOfYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The original date\n * @param format - The string of tokens\n * @param options - An object with options\n *\n * @returns The formatted date string\n *\n * @throws `date` must not be Invalid Date\n * @throws `options.locale` must contain `localize` property\n * @throws `options.locale` must contain `formatLong` property\n * @throws use `yyyy` instead of `YYYY` for formatting years using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws use `yy` instead of `YY` for formatting years using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws use `d` instead of `D` for formatting days of the month using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws use `dd` instead of `DD` for formatting days of the month using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws format string contains an unescaped latin alphabet character\n *\n * @example\n * // Represent 11 February 2014 in middle-endian format:\n * const result = format(new Date(2014, 1, 11), 'MM/dd/yyyy')\n * //=> '02/11/2014'\n *\n * @example\n * // Represent 2 July 2014 in Esperanto:\n * import { eoLocale } from 'date-fns/locale/eo'\n * const result = format(new Date(2014, 6, 2), \"do 'de' MMMM yyyy\", {\n *   locale: eoLocale\n * })\n * //=> '2-a de julio 2014'\n *\n * @example\n * // Escape string by single quote characters:\n * const result = format(new Date(2014, 6, 2, 15), \"h 'o''clock'\")\n * //=> \"3 o'clock\"\n */\nexport function format(date, formatStr, options) {\n  const defaultOptions = getDefaultOptions();\n  const locale = options?.locale ?? defaultOptions.locale ?? defaultLocale;\n\n  const firstWeekContainsDate =\n    options?.firstWeekContainsDate ??\n    options?.locale?.options?.firstWeekContainsDate ??\n    defaultOptions.firstWeekContainsDate ??\n    defaultOptions.locale?.options?.firstWeekContainsDate ??\n    1;\n\n  const weekStartsOn =\n    options?.weekStartsOn ??\n    options?.locale?.options?.weekStartsOn ??\n    defaultOptions.weekStartsOn ??\n    defaultOptions.locale?.options?.weekStartsOn ??\n    0;\n\n  const originalDate = toDate(date);\n\n  if (!isValid(originalDate)) {\n    throw new RangeError(\"Invalid time value\");\n  }\n\n  let parts = formatStr\n    .match(longFormattingTokensRegExp)\n    .map((substring) => {\n      const firstCharacter = substring[0];\n      if (firstCharacter === \"p\" || firstCharacter === \"P\") {\n        const longFormatter = longFormatters[firstCharacter];\n        return longFormatter(substring, locale.formatLong);\n      }\n      return substring;\n    })\n    .join(\"\")\n    .match(formattingTokensRegExp)\n    .map((substring) => {\n      // Replace two single quote characters with one single quote character\n      if (substring === \"''\") {\n        return { isToken: false, value: \"'\" };\n      }\n\n      const firstCharacter = substring[0];\n      if (firstCharacter === \"'\") {\n        return { isToken: false, value: cleanEscapedString(substring) };\n      }\n\n      if (formatters[firstCharacter]) {\n        return { isToken: true, value: substring };\n      }\n\n      if (firstCharacter.match(unescapedLatinCharacterRegExp)) {\n        throw new RangeError(\n          \"Format string contains an unescaped latin alphabet character `\" +\n            firstCharacter +\n            \"`\",\n        );\n      }\n\n      return { isToken: false, value: substring };\n    });\n\n  // invoke localize preprocessor (only for french locales at the moment)\n  if (locale.localize.preprocessor) {\n    parts = locale.localize.preprocessor(originalDate, parts);\n  }\n\n  const formatterOptions = {\n    firstWeekContainsDate,\n    weekStartsOn,\n    locale,\n  };\n\n  return parts\n    .map((part) => {\n      if (!part.isToken) return part.value;\n\n      const token = part.value;\n\n      if (\n        (!options?.useAdditionalWeekYearTokens &&\n          isProtectedWeekYearToken(token)) ||\n        (!options?.useAdditionalDayOfYearTokens &&\n          isProtectedDayOfYearToken(token))\n      ) {\n        warnOrThrowProtectedError(token, formatStr, String(date));\n      }\n\n      const formatter = formatters[token[0]];\n      return formatter(originalDate, token, locale.localize, formatterOptions);\n    })\n    .join(\"\");\n}\n\nfunction cleanEscapedString(input) {\n  const matched = input.match(escapedStringRegExp);\n\n  if (!matched) {\n    return input;\n  }\n\n  return matched[1].replace(doubleQuoteRegExp, \"'\");\n}\n\n// Fallback for modularized imports:\nexport default format;\n","import { toDate } from \"./toDate.mjs\";\n\n/**\n * @name compareAsc\n * @category Common Helpers\n * @summary Compare the two dates and return -1, 0 or 1.\n *\n * @description\n * Compare the two dates and return 1 if the first date is after the second,\n * -1 if the first date is before the second or 0 if dates are equal.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param dateLeft - The first date to compare\n * @param dateRight - The second date to compare\n *\n * @returns The result of the comparison\n *\n * @example\n * // Compare 11 February 1987 and 10 July 1989:\n * const result = compareAsc(new Date(1987, 1, 11), new Date(1989, 6, 10))\n * //=> -1\n *\n * @example\n * // Sort the array of dates:\n * const result = [\n *   new Date(1995, 6, 2),\n *   new Date(1987, 1, 11),\n *   new Date(1989, 6, 10)\n * ].sort(compareAsc)\n * //=> [\n * //   Wed Feb 11 1987 00:00:00,\n * //   Mon Jul 10 1989 00:00:00,\n * //   Sun Jul 02 1995 00:00:00\n * // ]\n */\nexport function compareAsc(dateLeft, dateRight) {\n  const _dateLeft = toDate(dateLeft);\n  const _dateRight = toDate(dateRight);\n\n  const diff = _dateLeft.getTime() - _dateRight.getTime();\n\n  if (diff < 0) {\n    return -1;\n  } else if (diff > 0) {\n    return 1;\n    // Return 0 if diff is 0; return NaN if diff is NaN\n  } else {\n    return diff;\n  }\n}\n\n// Fallback for modularized imports:\nexport default compareAsc;\n","import { endOfDay } from \"./endOfDay.mjs\";\nimport { endOfMonth } from \"./endOfMonth.mjs\";\nimport { toDate } from \"./toDate.mjs\";\n\n/**\n * @name isLastDayOfMonth\n * @category Month Helpers\n * @summary Is the given date the last day of a month?\n *\n * @description\n * Is the given date the last day of a month?\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The date to check\n\n * @returns The date is the last day of a month\n *\n * @example\n * // Is 28 February 2014 the last day of a month?\n * const result = isLastDayOfMonth(new Date(2014, 1, 28))\n * //=> true\n */\nexport function isLastDayOfMonth(date) {\n  const _date = toDate(date);\n  return +endOfDay(_date) === +endOfMonth(_date);\n}\n\n// Fallback for modularized imports:\nexport default isLastDayOfMonth;\n","import { toDate } from \"./toDate.mjs\";\n\n/**\n * @name endOfDay\n * @category Day Helpers\n * @summary Return the end of a day for the given date.\n *\n * @description\n * Return the end of a day for the given date.\n * The result will be in the local timezone.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The original date\n *\n * @returns The end of a day\n *\n * @example\n * // The end of a day for 2 September 2014 11:55:00:\n * const result = endOfDay(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Tue Sep 02 2014 23:59:59.999\n */\nexport function endOfDay(date) {\n  const _date = toDate(date);\n  _date.setHours(23, 59, 59, 999);\n  return _date;\n}\n\n// Fallback for modularized imports:\nexport default endOfDay;\n","import { toDate } from \"./toDate.mjs\";\n\n/**\n * @name endOfMonth\n * @category Month Helpers\n * @summary Return the end of a month for the given date.\n *\n * @description\n * Return the end of a month for the given date.\n * The result will be in the local timezone.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The original date\n *\n * @returns The end of a month\n *\n * @example\n * // The end of a month for 2 September 2014 11:55:00:\n * const result = endOfMonth(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Tue Sep 30 2014 23:59:59.999\n */\nexport function endOfMonth(date) {\n  const _date = toDate(date);\n  const month = _date.getMonth();\n  _date.setFullYear(_date.getFullYear(), month + 1, 0);\n  _date.setHours(23, 59, 59, 999);\n  return _date;\n}\n\n// Fallback for modularized imports:\nexport default endOfMonth;\n","import { compareAsc } from \"./compareAsc.mjs\";\nimport { differenceInCalendarMonths } from \"./differenceInCalendarMonths.mjs\";\nimport { isLastDayOfMonth } from \"./isLastDayOfMonth.mjs\";\nimport { toDate } from \"./toDate.mjs\";\n\n/**\n * @name differenceInMonths\n * @category Month Helpers\n * @summary Get the number of full months between the given dates.\n *\n * @description\n * Get the number of full months between the given dates using trunc as a default rounding method.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param dateLeft - The later date\n * @param dateRight - The earlier date\n *\n * @returns The number of full months\n *\n * @example\n * // How many full months are between 31 January 2014 and 1 September 2014?\n * const result = differenceInMonths(new Date(2014, 8, 1), new Date(2014, 0, 31))\n * //=> 7\n */\nexport function differenceInMonths(dateLeft, dateRight) {\n  const _dateLeft = toDate(dateLeft);\n  const _dateRight = toDate(dateRight);\n\n  const sign = compareAsc(_dateLeft, _dateRight);\n  const difference = Math.abs(\n    differenceInCalendarMonths(_dateLeft, _dateRight),\n  );\n  let result;\n\n  // Check for the difference of less than month\n  if (difference < 1) {\n    result = 0;\n  } else {\n    if (_dateLeft.getMonth() === 1 && _dateLeft.getDate() > 27) {\n      // This will check if the date is end of Feb and assign a higher end of month date\n      // to compare it with Jan\n      _dateLeft.setDate(30);\n    }\n\n    _dateLeft.setMonth(_dateLeft.getMonth() - sign * difference);\n\n    // Math.abs(diff in full months - diff in calendar months) === 1 if last calendar month is not full\n    // If so, result must be decreased by 1 in absolute value\n    let isLastMonthNotFull = compareAsc(_dateLeft, _dateRight) === -sign;\n\n    // Check for cases of one full calendar month\n    if (\n      isLastDayOfMonth(toDate(dateLeft)) &&\n      difference === 1 &&\n      compareAsc(dateLeft, _dateRight) === 1\n    ) {\n      isLastMonthNotFull = false;\n    }\n\n    result = sign * (difference - Number(isLastMonthNotFull));\n  }\n\n  // Prevent negative zero\n  return result === 0 ? 0 : result;\n}\n\n// Fallback for modularized imports:\nexport default differenceInMonths;\n","import { toDate } from \"./toDate.mjs\";\n\n/**\n * @name differenceInCalendarMonths\n * @category Month Helpers\n * @summary Get the number of calendar months between the given dates.\n *\n * @description\n * Get the number of calendar months between the given dates.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param dateLeft - The later date\n * @param dateRight - The earlier date\n *\n * @returns The number of calendar months\n *\n * @example\n * // How many calendar months are between 31 January 2014 and 1 September 2014?\n * const result = differenceInCalendarMonths(\n *   new Date(2014, 8, 1),\n *   new Date(2014, 0, 31)\n * )\n * //=> 8\n */\nexport function differenceInCalendarMonths(dateLeft, dateRight) {\n  const _dateLeft = toDate(dateLeft);\n  const _dateRight = toDate(dateRight);\n\n  const yearDiff = _dateLeft.getFullYear() - _dateRight.getFullYear();\n  const monthDiff = _dateLeft.getMonth() - _dateRight.getMonth();\n\n  return yearDiff * 12 + monthDiff;\n}\n\n// Fallback for modularized imports:\nexport default differenceInCalendarMonths;\n","import { getRoundingMethod } from \"./_lib/getRoundingMethod.mjs\";\nimport { differenceInMilliseconds } from \"./differenceInMilliseconds.mjs\";\n\n/**\n * The {@link differenceInSeconds} function options.\n */\n\n/**\n * @name differenceInSeconds\n * @category Second Helpers\n * @summary Get the number of seconds between the given dates.\n *\n * @description\n * Get the number of seconds between the given dates.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param dateLeft - The later date\n * @param dateRight - The earlier date\n * @param options - An object with options.\n *\n * @returns The number of seconds\n *\n * @example\n * // How many seconds are between\n * // 2 July 2014 12:30:07.999 and 2 July 2014 12:30:20.000?\n * const result = differenceInSeconds(\n *   new Date(2014, 6, 2, 12, 30, 20, 0),\n *   new Date(2014, 6, 2, 12, 30, 7, 999)\n * )\n * //=> 12\n */\nexport function differenceInSeconds(dateLeft, dateRight, options) {\n  const diff = differenceInMilliseconds(dateLeft, dateRight) / 1000;\n  return getRoundingMethod(options?.roundingMethod)(diff);\n}\n\n// Fallback for modularized imports:\nexport default differenceInSeconds;\n","import { toDate } from \"./toDate.mjs\";\n\n/**\n * @name differenceInMilliseconds\n * @category Millisecond Helpers\n * @summary Get the number of milliseconds between the given dates.\n *\n * @description\n * Get the number of milliseconds between the given dates.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param dateLeft - The later date\n * @param dateRight - The earlier date\n *\n * @returns The number of milliseconds\n *\n * @example\n * // How many milliseconds are between\n * // 2 July 2014 12:30:20.600 and 2 July 2014 12:30:21.700?\n * const result = differenceInMilliseconds(\n *   new Date(2014, 6, 2, 12, 30, 21, 700),\n *   new Date(2014, 6, 2, 12, 30, 20, 600)\n * )\n * //=> 1100\n */\nexport function differenceInMilliseconds(dateLeft, dateRight) {\n  return +toDate(dateLeft) - +toDate(dateRight);\n}\n\n// Fallback for modularized imports:\nexport default differenceInMilliseconds;\n","export function getRoundingMethod(method) {\n  return (number) => {\n    const round = method ? Math[method] : Math.trunc;\n    const result = round(number);\n    // Prevent negative zero\n    return result === 0 ? 0 : result;\n  };\n}\n","import { constructNow } from \"./constructNow.mjs\";\nimport { formatDistance } from \"./formatDistance.mjs\";\n\n/**\n * The {@link formatDistanceToNow} function options.\n */\n\n/**\n * @name formatDistanceToNow\n * @category Common Helpers\n * @summary Return the distance between the given date and now in words.\n * @pure false\n *\n * @description\n * Return the distance between the given date and now in words.\n *\n * | Distance to now                                                   | Result              |\n * |-------------------------------------------------------------------|---------------------|\n * | 0 ... 30 secs                                                     | less than a minute  |\n * | 30 secs ... 1 min 30 secs                                         | 1 minute            |\n * | 1 min 30 secs ... 44 mins 30 secs                                 | [2..44] minutes     |\n * | 44 mins ... 30 secs ... 89 mins 30 secs                           | about 1 hour        |\n * | 89 mins 30 secs ... 23 hrs 59 mins 30 secs                        | about [2..24] hours |\n * | 23 hrs 59 mins 30 secs ... 41 hrs 59 mins 30 secs                 | 1 day               |\n * | 41 hrs 59 mins 30 secs ... 29 days 23 hrs 59 mins 30 secs         | [2..30] days        |\n * | 29 days 23 hrs 59 mins 30 secs ... 44 days 23 hrs 59 mins 30 secs | about 1 month       |\n * | 44 days 23 hrs 59 mins 30 secs ... 59 days 23 hrs 59 mins 30 secs | about 2 months      |\n * | 59 days 23 hrs 59 mins 30 secs ... 1 yr                           | [2..12] months      |\n * | 1 yr ... 1 yr 3 months                                            | about 1 year        |\n * | 1 yr 3 months ... 1 yr 9 month s                                  | over 1 year         |\n * | 1 yr 9 months ... 2 yrs                                           | almost 2 years      |\n * | N yrs ... N yrs 3 months                                          | about N years       |\n * | N yrs 3 months ... N yrs 9 months                                 | over N years        |\n * | N yrs 9 months ... N+1 yrs                                        | almost N+1 years    |\n *\n * With `options.includeSeconds == true`:\n * | Distance to now     | Result               |\n * |---------------------|----------------------|\n * | 0 secs ... 5 secs   | less than 5 seconds  |\n * | 5 secs ... 10 secs  | less than 10 seconds |\n * | 10 secs ... 20 secs | less than 20 seconds |\n * | 20 secs ... 40 secs | half a minute        |\n * | 40 secs ... 60 secs | less than a minute   |\n * | 60 secs ... 90 secs | 1 minute             |\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The given date\n * @param options - The object with options\n *\n * @returns The distance in words\n *\n * @throws `date` must not be Invalid Date\n * @throws `options.locale` must contain `formatDistance` property\n *\n * @example\n * // If today is 1 January 2015, what is the distance to 2 July 2014?\n * const result = formatDistanceToNow(\n *   new Date(2014, 6, 2)\n * )\n * //=> '6 months'\n *\n * @example\n * // If now is 1 January 2015 00:00:00,\n * // what is the distance to 1 January 2015 00:00:15, including seconds?\n * const result = formatDistanceToNow(\n *   new Date(2015, 0, 1, 0, 0, 15),\n *   {includeSeconds: true}\n * )\n * //=> 'less than 20 seconds'\n *\n * @example\n * // If today is 1 January 2015,\n * // what is the distance to 1 January 2016, with a suffix?\n * const result = formatDistanceToNow(\n *   new Date(2016, 0, 1),\n *   {addSuffix: true}\n * )\n * //=> 'in about 1 year'\n *\n * @example\n * // If today is 1 January 2015,\n * // what is the distance to 1 August 2016 in Esperanto?\n * const eoLocale = require('date-fns/locale/eo')\n * const result = formatDistanceToNow(\n *   new Date(2016, 7, 1),\n *   {locale: eoLocale}\n * )\n * //=> 'pli ol 1 jaro'\n */\nexport function formatDistanceToNow(date, options) {\n  return formatDistance(date, constructNow(date), options);\n}\n\n// Fallback for modularized imports:\nexport default formatDistanceToNow;\n","import { compareAsc } from \"./compareAsc.mjs\";\nimport { minutesInDay, minutesInMonth } from \"./constants.mjs\";\nimport { differenceInMonths } from \"./differenceInMonths.mjs\";\nimport { differenceInSeconds } from \"./differenceInSeconds.mjs\";\nimport { toDate } from \"./toDate.mjs\";\nimport { defaultLocale } from \"./_lib/defaultLocale.mjs\";\nimport { getDefaultOptions } from \"./_lib/defaultOptions.mjs\";\nimport { getTimezoneOffsetInMilliseconds } from \"./_lib/getTimezoneOffsetInMilliseconds.mjs\";\n\n/**\n * The {@link formatDistance} function options.\n */\n\n/**\n * @name formatDistance\n * @category Common Helpers\n * @summary Return the distance between the given dates in words.\n *\n * @description\n * Return the distance between the given dates in words.\n *\n * | Distance between dates                                            | Result              |\n * |-------------------------------------------------------------------|---------------------|\n * | 0 ... 30 secs                                                     | less than a minute  |\n * | 30 secs ... 1 min 30 secs                                         | 1 minute            |\n * | 1 min 30 secs ... 44 mins 30 secs                                 | [2..44] minutes     |\n * | 44 mins ... 30 secs ... 89 mins 30 secs                           | about 1 hour        |\n * | 89 mins 30 secs ... 23 hrs 59 mins 30 secs                        | about [2..24] hours |\n * | 23 hrs 59 mins 30 secs ... 41 hrs 59 mins 30 secs                 | 1 day               |\n * | 41 hrs 59 mins 30 secs ... 29 days 23 hrs 59 mins 30 secs         | [2..30] days        |\n * | 29 days 23 hrs 59 mins 30 secs ... 44 days 23 hrs 59 mins 30 secs | about 1 month       |\n * | 44 days 23 hrs 59 mins 30 secs ... 59 days 23 hrs 59 mins 30 secs | about 2 months      |\n * | 59 days 23 hrs 59 mins 30 secs ... 1 yr                           | [2..12] months      |\n * | 1 yr ... 1 yr 3 months                                            | about 1 year        |\n * | 1 yr 3 months ... 1 yr 9 month s                                  | over 1 year         |\n * | 1 yr 9 months ... 2 yrs                                           | almost 2 years      |\n * | N yrs ... N yrs 3 months                                          | about N years       |\n * | N yrs 3 months ... N yrs 9 months                                 | over N years        |\n * | N yrs 9 months ... N+1 yrs                                        | almost N+1 years    |\n *\n * With `options.includeSeconds == true`:\n * | Distance between dates | Result               |\n * |------------------------|----------------------|\n * | 0 secs ... 5 secs      | less than 5 seconds  |\n * | 5 secs ... 10 secs     | less than 10 seconds |\n * | 10 secs ... 20 secs    | less than 20 seconds |\n * | 20 secs ... 40 secs    | half a minute        |\n * | 40 secs ... 60 secs    | less than a minute   |\n * | 60 secs ... 90 secs    | 1 minute             |\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The date\n * @param baseDate - The date to compare with\n * @param options - An object with options\n *\n * @returns The distance in words\n *\n * @throws `date` must not be Invalid Date\n * @throws `baseDate` must not be Invalid Date\n * @throws `options.locale` must contain `formatDistance` property\n *\n * @example\n * // What is the distance between 2 July 2014 and 1 January 2015?\n * const result = formatDistance(new Date(2014, 6, 2), new Date(2015, 0, 1))\n * //=> '6 months'\n *\n * @example\n * // What is the distance between 1 January 2015 00:00:15\n * // and 1 January 2015 00:00:00, including seconds?\n * const result = formatDistance(\n *   new Date(2015, 0, 1, 0, 0, 15),\n *   new Date(2015, 0, 1, 0, 0, 0),\n *   { includeSeconds: true }\n * )\n * //=> 'less than 20 seconds'\n *\n * @example\n * // What is the distance from 1 January 2016\n * // to 1 January 2015, with a suffix?\n * const result = formatDistance(new Date(2015, 0, 1), new Date(2016, 0, 1), {\n *   addSuffix: true\n * })\n * //=> 'about 1 year ago'\n *\n * @example\n * // What is the distance between 1 August 2016 and 1 January 2015 in Esperanto?\n * import { eoLocale } from 'date-fns/locale/eo'\n * const result = formatDistance(new Date(2016, 7, 1), new Date(2015, 0, 1), {\n *   locale: eoLocale\n * })\n * //=> 'pli ol 1 jaro'\n */\n\nexport function formatDistance(date, baseDate, options) {\n  const defaultOptions = getDefaultOptions();\n  const locale = options?.locale ?? defaultOptions.locale ?? defaultLocale;\n  const minutesInAlmostTwoDays = 2520;\n\n  const comparison = compareAsc(date, baseDate);\n\n  if (isNaN(comparison)) {\n    throw new RangeError(\"Invalid time value\");\n  }\n\n  const localizeOptions = Object.assign({}, options, {\n    addSuffix: options?.addSuffix,\n    comparison: comparison,\n  });\n\n  let dateLeft;\n  let dateRight;\n  if (comparison > 0) {\n    dateLeft = toDate(baseDate);\n    dateRight = toDate(date);\n  } else {\n    dateLeft = toDate(date);\n    dateRight = toDate(baseDate);\n  }\n\n  const seconds = differenceInSeconds(dateRight, dateLeft);\n  const offsetInSeconds =\n    (getTimezoneOffsetInMilliseconds(dateRight) -\n      getTimezoneOffsetInMilliseconds(dateLeft)) /\n    1000;\n  const minutes = Math.round((seconds - offsetInSeconds) / 60);\n  let months;\n\n  // 0 up to 2 mins\n  if (minutes < 2) {\n    if (options?.includeSeconds) {\n      if (seconds < 5) {\n        return locale.formatDistance(\"lessThanXSeconds\", 5, localizeOptions);\n      } else if (seconds < 10) {\n        return locale.formatDistance(\"lessThanXSeconds\", 10, localizeOptions);\n      } else if (seconds < 20) {\n        return locale.formatDistance(\"lessThanXSeconds\", 20, localizeOptions);\n      } else if (seconds < 40) {\n        return locale.formatDistance(\"halfAMinute\", 0, localizeOptions);\n      } else if (seconds < 60) {\n        return locale.formatDistance(\"lessThanXMinutes\", 1, localizeOptions);\n      } else {\n        return locale.formatDistance(\"xMinutes\", 1, localizeOptions);\n      }\n    } else {\n      if (minutes === 0) {\n        return locale.formatDistance(\"lessThanXMinutes\", 1, localizeOptions);\n      } else {\n        return locale.formatDistance(\"xMinutes\", minutes, localizeOptions);\n      }\n    }\n\n    // 2 mins up to 0.75 hrs\n  } else if (minutes < 45) {\n    return locale.formatDistance(\"xMinutes\", minutes, localizeOptions);\n\n    // 0.75 hrs up to 1.5 hrs\n  } else if (minutes < 90) {\n    return locale.formatDistance(\"aboutXHours\", 1, localizeOptions);\n\n    // 1.5 hrs up to 24 hrs\n  } else if (minutes < minutesInDay) {\n    const hours = Math.round(minutes / 60);\n    return locale.formatDistance(\"aboutXHours\", hours, localizeOptions);\n\n    // 1 day up to 1.75 days\n  } else if (minutes < minutesInAlmostTwoDays) {\n    return locale.formatDistance(\"xDays\", 1, localizeOptions);\n\n    // 1.75 days up to 30 days\n  } else if (minutes < minutesInMonth) {\n    const days = Math.round(minutes / minutesInDay);\n    return locale.formatDistance(\"xDays\", days, localizeOptions);\n\n    // 1 month up to 2 months\n  } else if (minutes < minutesInMonth * 2) {\n    months = Math.round(minutes / minutesInMonth);\n    return locale.formatDistance(\"aboutXMonths\", months, localizeOptions);\n  }\n\n  months = differenceInMonths(dateRight, dateLeft);\n\n  // 2 months up to 12 months\n  if (months < 12) {\n    const nearestMonth = Math.round(minutes / minutesInMonth);\n    return locale.formatDistance(\"xMonths\", nearestMonth, localizeOptions);\n\n    // 1 year up to max Date\n  } else {\n    const monthsSinceStartOfYear = months % 12;\n    const years = Math.trunc(months / 12);\n\n    // N years up to 1 years 3 months\n    if (monthsSinceStartOfYear < 3) {\n      return locale.formatDistance(\"aboutXYears\", years, localizeOptions);\n\n      // N years 3 months up to N years 9 months\n    } else if (monthsSinceStartOfYear < 9) {\n      return locale.formatDistance(\"overXYears\", years, localizeOptions);\n\n      // N years 9 months up to N year 12 months\n    } else {\n      return locale.formatDistance(\"almostXYears\", years + 1, localizeOptions);\n    }\n  }\n}\n\n// Fallback for modularized imports:\nexport default formatDistance;\n","import { constructNow } from \"./constructNow.mjs\";\nimport { isSameYear } from \"./isSameYear.mjs\";\n\n/**\n * @name isThisYear\n * @category Year Helpers\n * @summary Is the given date in the same year as the current date?\n * @pure false\n *\n * @description\n * Is the given date in the same year as the current date?\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The date to check\n *\n * @returns The date is in this year\n *\n * @example\n * // If today is 25 September 2014, is 2 July 2014 in this year?\n * const result = isThisYear(new Date(2014, 6, 2))\n * //=> true\n */\nexport function isThisYear(date) {\n  return isSameYear(date, constructNow(date));\n}\n\n// Fallback for modularized imports:\nexport default isThisYear;\n","import { toDate } from \"./toDate.mjs\";\n\n/**\n * @name isSameYear\n * @category Year Helpers\n * @summary Are the given dates in the same year?\n *\n * @description\n * Are the given dates in the same year?\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param dateLeft - The first date to check\n * @param dateRight - The second date to check\n *\n * @returns The dates are in the same year\n *\n * @example\n * // Are 2 September 2014 and 25 September 2014 in the same year?\n * const result = isSameYear(new Date(2014, 8, 2), new Date(2014, 8, 25))\n * //=> true\n */\nexport function isSameYear(dateLeft, dateRight) {\n  const _dateLeft = toDate(dateLeft);\n  const _dateRight = toDate(dateRight);\n  return _dateLeft.getFullYear() === _dateRight.getFullYear();\n}\n\n// Fallback for modularized imports:\nexport default isSameYear;\n","import { constructNow } from \"./constructNow.mjs\";\nimport { isSameDay } from \"./isSameDay.mjs\";\n\n/**\n * @name isToday\n * @category Day Helpers\n * @summary Is the given date today?\n * @pure false\n *\n * @description\n * Is the given date today?\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The date to check\n *\n * @returns The date is today\n *\n * @example\n * // If today is 6 October 2014, is 6 October 14:00:00 today?\n * const result = isToday(new Date(2014, 9, 6, 14, 0))\n * //=> true\n */\nexport function isToday(date) {\n  return isSameDay(date, constructNow(date));\n}\n\n// Fallback for modularized imports:\nexport default isToday;\n","import { startOfDay } from \"./startOfDay.mjs\";\n\n/**\n * @name isSameDay\n * @category Day Helpers\n * @summary Are the given dates in the same day (and year and month)?\n *\n * @description\n * Are the given dates in the same day (and year and month)?\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param dateLeft - The first date to check\n * @param dateRight - The second date to check\n\n * @returns The dates are in the same day (and year and month)\n *\n * @example\n * // Are 4 September 06:00:00 and 4 September 18:00:00 in the same day?\n * const result = isSameDay(new Date(2014, 8, 4, 6, 0), new Date(2014, 8, 4, 18, 0))\n * //=> true\n *\n * @example\n * // Are 4 September and 4 October in the same day?\n * const result = isSameDay(new Date(2014, 8, 4), new Date(2014, 9, 4))\n * //=> false\n *\n * @example\n * // Are 4 September, 2014 and 4 September, 2015 in the same day?\n * const result = isSameDay(new Date(2014, 8, 4), new Date(2015, 8, 4))\n * //=> false\n */\nexport function isSameDay(dateLeft, dateRight) {\n  const dateLeftStartOfDay = startOfDay(dateLeft);\n  const dateRightStartOfDay = startOfDay(dateRight);\n\n  return +dateLeftStartOfDay === +dateRightStartOfDay;\n}\n\n// Fallback for modularized imports:\nexport default isSameDay;\n","export function buildFormatLongFn(args) {\n  return (options = {}) => {\n    // TODO: Remove String()\n    const width = options.width ? String(options.width) : args.defaultWidth;\n    const format = args.formats[width] || args.formats[args.defaultWidth];\n    return format;\n  };\n}\n","/* eslint-disable no-unused-vars */\n\n/**\n * The localize function argument callback which allows to convert raw value to\n * the actual type.\n *\n * @param value - The value to convert\n *\n * @returns The converted value\n */\n\n/**\n * The map of localized values for each width.\n */\n\n/**\n * The index type of the locale unit value. It types conversion of units of\n * values that don't start at 0 (i.e. quarters).\n */\n\n/**\n * Converts the unit value to the tuple of values.\n */\n\n/**\n * The tuple of localized era values. The first element represents BC,\n * the second element represents AD.\n */\n\n/**\n * The tuple of localized quarter values. The first element represents Q1.\n */\n\n/**\n * The tuple of localized day values. The first element represents Sunday.\n */\n\n/**\n * The tuple of localized month values. The first element represents January.\n */\n\nexport function buildLocalizeFn(args) {\n  return (value, options) => {\n    const context = options?.context ? String(options.context) : \"standalone\";\n\n    let valuesArray;\n    if (context === \"formatting\" && args.formattingValues) {\n      const defaultWidth = args.defaultFormattingWidth || args.defaultWidth;\n      const width = options?.width ? String(options.width) : defaultWidth;\n\n      valuesArray =\n        args.formattingValues[width] || args.formattingValues[defaultWidth];\n    } else {\n      const defaultWidth = args.defaultWidth;\n      const width = options?.width ? String(options.width) : args.defaultWidth;\n\n      valuesArray = args.values[width] || args.values[defaultWidth];\n    }\n    const index = args.argumentCallback ? args.argumentCallback(value) : value;\n\n    // @ts-expect-error - For some reason TypeScript just don't want to match it, no matter how hard we try. I challenge you to try to remove it!\n    return valuesArray[index];\n  };\n}\n","export function buildMatchFn(args) {\n  return (string, options = {}) => {\n    const width = options.width;\n\n    const matchPattern =\n      (width && args.matchPatterns[width]) ||\n      args.matchPatterns[args.defaultMatchWidth];\n    const matchResult = string.match(matchPattern);\n\n    if (!matchResult) {\n      return null;\n    }\n    const matchedString = matchResult[0];\n\n    const parsePatterns =\n      (width && args.parsePatterns[width]) ||\n      args.parsePatterns[args.defaultParseWidth];\n\n    const key = Array.isArray(parsePatterns)\n      ? findIndex(parsePatterns, (pattern) => pattern.test(matchedString))\n      : // eslint-disable-next-line @typescript-eslint/no-explicit-any -- I challange you to fix the type\n        findKey(parsePatterns, (pattern) => pattern.test(matchedString));\n\n    let value;\n\n    value = args.valueCallback ? args.valueCallback(key) : key;\n    value = options.valueCallback\n      ? // eslint-disable-next-line @typescript-eslint/no-explicit-any -- I challange you to fix the type\n        options.valueCallback(value)\n      : value;\n\n    const rest = string.slice(matchedString.length);\n\n    return { value, rest };\n  };\n}\n\nfunction findKey(object, predicate) {\n  for (const key in object) {\n    if (\n      Object.prototype.hasOwnProperty.call(object, key) &&\n      predicate(object[key])\n    ) {\n      return key;\n    }\n  }\n  return undefined;\n}\n\nfunction findIndex(array, predicate) {\n  for (let key = 0; key < array.length; key++) {\n    if (predicate(array[key])) {\n      return key;\n    }\n  }\n  return undefined;\n}\n","export function buildMatchPatternFn(args) {\n  return (string, options = {}) => {\n    const matchResult = string.match(args.matchPattern);\n    if (!matchResult) return null;\n    const matchedString = matchResult[0];\n\n    const parseResult = string.match(args.parsePattern);\n    if (!parseResult) return null;\n    let value = args.valueCallback\n      ? args.valueCallback(parseResult[0])\n      : parseResult[0];\n\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any -- I challange you to fix the type\n    value = options.valueCallback ? options.valueCallback(value) : value;\n\n    const rest = string.slice(matchedString.length);\n\n    return { value, rest };\n  };\n}\n","const formatDistanceLocale = {\n  lessThanXSeconds: {\n    one: \"mindre end ét sekund\",\n    other: \"mindre end {{count}} sekunder\",\n  },\n\n  xSeconds: {\n    one: \"1 sekund\",\n    other: \"{{count}} sekunder\",\n  },\n\n  halfAMinute: \"ét halvt minut\",\n\n  lessThanXMinutes: {\n    one: \"mindre end ét minut\",\n    other: \"mindre end {{count}} minutter\",\n  },\n\n  xMinutes: {\n    one: \"1 minut\",\n    other: \"{{count}} minutter\",\n  },\n\n  aboutXHours: {\n    one: \"cirka 1 time\",\n    other: \"cirka {{count}} timer\",\n  },\n\n  xHours: {\n    one: \"1 time\",\n    other: \"{{count}} timer\",\n  },\n\n  xDays: {\n    one: \"1 dag\",\n    other: \"{{count}} dage\",\n  },\n\n  aboutXWeeks: {\n    one: \"cirka 1 uge\",\n    other: \"cirka {{count}} uger\",\n  },\n\n  xWeeks: {\n    one: \"1 uge\",\n    other: \"{{count}} uger\",\n  },\n\n  aboutXMonths: {\n    one: \"cirka 1 måned\",\n    other: \"cirka {{count}} måneder\",\n  },\n\n  xMonths: {\n    one: \"1 måned\",\n    other: \"{{count}} måneder\",\n  },\n\n  aboutXYears: {\n    one: \"cirka 1 år\",\n    other: \"cirka {{count}} år\",\n  },\n\n  xYears: {\n    one: \"1 år\",\n    other: \"{{count}} år\",\n  },\n\n  overXYears: {\n    one: \"over 1 år\",\n    other: \"over {{count}} år\",\n  },\n\n  almostXYears: {\n    one: \"næsten 1 år\",\n    other: \"næsten {{count}} år\",\n  },\n};\n\nexport const formatDistance = (token, count, options) => {\n  let result;\n\n  const tokenValue = formatDistanceLocale[token];\n  if (typeof tokenValue === \"string\") {\n    result = tokenValue;\n  } else if (count === 1) {\n    result = tokenValue.one;\n  } else {\n    result = tokenValue.other.replace(\"{{count}}\", String(count));\n  }\n\n  if (options?.addSuffix) {\n    if (options.comparison && options.comparison > 0) {\n      return \"om \" + result;\n    } else {\n      return result + \" siden\";\n    }\n  }\n\n  return result;\n};\n","import { buildFormatLongFn } from \"../../_lib/buildFormatLongFn.mjs\";\n\nconst dateFormats = {\n  full: \"EEEE 'den' d. MMMM y\",\n  long: \"d. MMMM y\",\n  medium: \"d. MMM y\",\n  short: \"dd/MM/y\",\n};\n\nconst timeFormats = {\n  full: \"HH:mm:ss zzzz\",\n  long: \"HH:mm:ss z\",\n  medium: \"HH:mm:ss\",\n  short: \"HH:mm\",\n};\n\nconst dateTimeFormats = {\n  full: \"{{date}} 'kl'. {{time}}\",\n  long: \"{{date}} 'kl'. {{time}}\",\n  medium: \"{{date}} {{time}}\",\n  short: \"{{date}} {{time}}\",\n};\n\nexport const formatLong = {\n  date: buildFormatLongFn({\n    formats: dateFormats,\n    defaultWidth: \"full\",\n  }),\n\n  time: buildFormatLongFn({\n    formats: timeFormats,\n    defaultWidth: \"full\",\n  }),\n\n  dateTime: buildFormatLongFn({\n    formats: dateTimeFormats,\n    defaultWidth: \"full\",\n  }),\n};\n","const formatRelativeLocale = {\n  lastWeek: \"'sidste' eeee 'kl.' p\",\n  yesterday: \"'i går kl.' p\",\n  today: \"'i dag kl.' p\",\n  tomorrow: \"'i morgen kl.' p\",\n  nextWeek: \"'på' eeee 'kl.' p\",\n  other: \"P\",\n};\n\nexport const formatRelative = (token, _date, _baseDate, _options) =>\n  formatRelativeLocale[token];\n","import { buildLocalizeFn } from \"../../_lib/buildLocalizeFn.mjs\";\n\nconst eraValues = {\n  narrow: [\"fvt\", \"vt\"],\n  abbreviated: [\"f.v.t.\", \"v.t.\"],\n  wide: [\"før vesterlandsk tidsregning\", \"vesterlandsk tidsregning\"],\n};\n\nconst quarterValues = {\n  narrow: [\"1\", \"2\", \"3\", \"4\"],\n  abbreviated: [\"1. kvt.\", \"2. kvt.\", \"3. kvt.\", \"4. kvt.\"],\n  wide: [\"1. kvartal\", \"2. kvartal\", \"3. kvartal\", \"4. kvartal\"],\n};\n\nconst monthValues = {\n  narrow: [\"J\", \"F\", \"M\", \"A\", \"M\", \"J\", \"J\", \"A\", \"S\", \"O\", \"N\", \"D\"],\n  abbreviated: [\n    \"jan.\",\n    \"feb.\",\n    \"mar.\",\n    \"apr.\",\n    \"maj\",\n    \"jun.\",\n    \"jul.\",\n    \"aug.\",\n    \"sep.\",\n    \"okt.\",\n    \"nov.\",\n    \"dec.\",\n  ],\n\n  wide: [\n    \"januar\",\n    \"februar\",\n    \"marts\",\n    \"april\",\n    \"maj\",\n    \"juni\",\n    \"juli\",\n    \"august\",\n    \"september\",\n    \"oktober\",\n    \"november\",\n    \"december\",\n  ],\n};\n\n// Note that 'Days - abbreviated - Formatting' has periods at the end.\n// https://www.unicode.org/cldr/charts/32/summary/da.html#1760\n// This makes grammatical sense in danish, as most abbreviations have periods.\nconst dayValues = {\n  narrow: [\"S\", \"M\", \"T\", \"O\", \"T\", \"F\", \"L\"],\n  short: [\"sø\", \"ma\", \"ti\", \"on\", \"to\", \"fr\", \"lø\"],\n  abbreviated: [\"søn.\", \"man.\", \"tir.\", \"ons.\", \"tor.\", \"fre.\", \"lør.\"],\n\n  wide: [\n    \"søndag\",\n    \"mandag\",\n    \"tirsdag\",\n    \"onsdag\",\n    \"torsdag\",\n    \"fredag\",\n    \"lørdag\",\n  ],\n};\n\nconst dayPeriodValues = {\n  narrow: {\n    am: \"a\",\n    pm: \"p\",\n    midnight: \"midnat\",\n    noon: \"middag\",\n    morning: \"morgen\",\n    afternoon: \"eftermiddag\",\n    evening: \"aften\",\n    night: \"nat\",\n  },\n  abbreviated: {\n    am: \"AM\",\n    pm: \"PM\",\n    midnight: \"midnat\",\n    noon: \"middag\",\n    morning: \"morgen\",\n    afternoon: \"eftermiddag\",\n    evening: \"aften\",\n    night: \"nat\",\n  },\n  wide: {\n    am: \"a.m.\",\n    pm: \"p.m.\",\n    midnight: \"midnat\",\n    noon: \"middag\",\n    morning: \"morgen\",\n    afternoon: \"eftermiddag\",\n    evening: \"aften\",\n    night: \"nat\",\n  },\n};\n\nconst formattingDayPeriodValues = {\n  narrow: {\n    am: \"a\",\n    pm: \"p\",\n    midnight: \"midnat\",\n    noon: \"middag\",\n    morning: \"om morgenen\",\n    afternoon: \"om eftermiddagen\",\n    evening: \"om aftenen\",\n    night: \"om natten\",\n  },\n  abbreviated: {\n    am: \"AM\",\n    pm: \"PM\",\n    midnight: \"midnat\",\n    noon: \"middag\",\n    morning: \"om morgenen\",\n    afternoon: \"om eftermiddagen\",\n    evening: \"om aftenen\",\n    night: \"om natten\",\n  },\n  wide: {\n    am: \"a.m.\",\n    pm: \"p.m.\",\n    midnight: \"midnat\",\n    noon: \"middag\",\n    morning: \"om morgenen\",\n    afternoon: \"om eftermiddagen\",\n    evening: \"om aftenen\",\n    night: \"om natten\",\n  },\n};\n\nconst ordinalNumber = (dirtyNumber, _options) => {\n  const number = Number(dirtyNumber);\n  return number + \".\";\n};\n\nexport const localize = {\n  ordinalNumber,\n\n  era: buildLocalizeFn({\n    values: eraValues,\n    defaultWidth: \"wide\",\n  }),\n\n  quarter: buildLocalizeFn({\n    values: quarterValues,\n    defaultWidth: \"wide\",\n    argumentCallback: (quarter) => quarter - 1,\n  }),\n\n  month: buildLocalizeFn({\n    values: monthValues,\n    defaultWidth: \"wide\",\n  }),\n\n  day: buildLocalizeFn({\n    values: dayValues,\n    defaultWidth: \"wide\",\n  }),\n\n  dayPeriod: buildLocalizeFn({\n    values: dayPeriodValues,\n    defaultWidth: \"wide\",\n    formattingValues: formattingDayPeriodValues,\n    defaultFormattingWidth: \"wide\",\n  }),\n};\n","import { buildMatchFn } from \"../../_lib/buildMatchFn.mjs\";\nimport { buildMatchPatternFn } from \"../../_lib/buildMatchPatternFn.mjs\";\n\nconst matchOrdinalNumberPattern = /^(\\d+)(\\.)?/i;\nconst parseOrdinalNumberPattern = /\\d+/i;\n\nconst matchEraPatterns = {\n  narrow: /^(fKr|fvt|eKr|vt)/i,\n  abbreviated: /^(f\\.Kr\\.?|f\\.v\\.t\\.?|e\\.Kr\\.?|v\\.t\\.)/i,\n  wide: /^(f.Kr.|før vesterlandsk tidsregning|e.Kr.|vesterlandsk tidsregning)/i,\n};\nconst parseEraPatterns = {\n  any: [/^f/i, /^(v|e)/i],\n};\n\nconst matchQuarterPatterns = {\n  narrow: /^[1234]/i,\n  abbreviated: /^[1234]. kvt\\./i,\n  wide: /^[1234]\\.? kvartal/i,\n};\nconst parseQuarterPatterns = {\n  any: [/1/i, /2/i, /3/i, /4/i],\n};\n\nconst matchMonthPatterns = {\n  narrow: /^[jfmasond]/i,\n  abbreviated: /^(jan.|feb.|mar.|apr.|maj|jun.|jul.|aug.|sep.|okt.|nov.|dec.)/i,\n  wide: /^(januar|februar|marts|april|maj|juni|juli|august|september|oktober|november|december)/i,\n};\nconst parseMonthPatterns = {\n  narrow: [\n    /^j/i,\n    /^f/i,\n    /^m/i,\n    /^a/i,\n    /^m/i,\n    /^j/i,\n    /^j/i,\n    /^a/i,\n    /^s/i,\n    /^o/i,\n    /^n/i,\n    /^d/i,\n  ],\n\n  any: [\n    /^ja/i,\n    /^f/i,\n    /^mar/i,\n    /^ap/i,\n    /^maj/i,\n    /^jun/i,\n    /^jul/i,\n    /^au/i,\n    /^s/i,\n    /^o/i,\n    /^n/i,\n    /^d/i,\n  ],\n};\n\nconst matchDayPatterns = {\n  narrow: /^[smtofl]/i,\n  short: /^(søn.|man.|tir.|ons.|tor.|fre.|lør.)/i,\n  abbreviated: /^(søn|man|tir|ons|tor|fre|lør)/i,\n  wide: /^(søndag|mandag|tirsdag|onsdag|torsdag|fredag|lørdag)/i,\n};\nconst parseDayPatterns = {\n  narrow: [/^s/i, /^m/i, /^t/i, /^o/i, /^t/i, /^f/i, /^l/i],\n  any: [/^s/i, /^m/i, /^ti/i, /^o/i, /^to/i, /^f/i, /^l/i],\n};\n\nconst matchDayPeriodPatterns = {\n  narrow: /^(a|p|midnat|middag|(om) (morgenen|eftermiddagen|aftenen|natten))/i,\n  any: /^([ap]\\.?\\s?m\\.?|midnat|middag|(om) (morgenen|eftermiddagen|aftenen|natten))/i,\n};\nconst parseDayPeriodPatterns = {\n  any: {\n    am: /^a/i,\n    pm: /^p/i,\n    midnight: /midnat/i,\n    noon: /middag/i,\n    morning: /morgen/i,\n    afternoon: /eftermiddag/i,\n    evening: /aften/i,\n    night: /nat/i,\n  },\n};\n\nexport const match = {\n  ordinalNumber: buildMatchPatternFn({\n    matchPattern: matchOrdinalNumberPattern,\n    parsePattern: parseOrdinalNumberPattern,\n    valueCallback: (value) => parseInt(value, 10),\n  }),\n\n  era: buildMatchFn({\n    matchPatterns: matchEraPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseEraPatterns,\n    defaultParseWidth: \"any\",\n  }),\n\n  quarter: buildMatchFn({\n    matchPatterns: matchQuarterPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseQuarterPatterns,\n    defaultParseWidth: \"any\",\n    valueCallback: (index) => index + 1,\n  }),\n\n  month: buildMatchFn({\n    matchPatterns: matchMonthPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseMonthPatterns,\n    defaultParseWidth: \"any\",\n  }),\n\n  day: buildMatchFn({\n    matchPatterns: matchDayPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseDayPatterns,\n    defaultParseWidth: \"any\",\n  }),\n\n  dayPeriod: buildMatchFn({\n    matchPatterns: matchDayPeriodPatterns,\n    defaultMatchWidth: \"any\",\n    parsePatterns: parseDayPeriodPatterns,\n    defaultParseWidth: \"any\",\n  }),\n};\n","import { formatDistance } from \"./da/_lib/formatDistance.mjs\";\nimport { formatLong } from \"./da/_lib/formatLong.mjs\";\nimport { formatRelative } from \"./da/_lib/formatRelative.mjs\";\nimport { localize } from \"./da/_lib/localize.mjs\";\nimport { match } from \"./da/_lib/match.mjs\";\n\n/**\n * @category Locales\n * @summary Danish locale.\n * @language Danish\n * @iso-639-2 dan\n * @author Mathias Wøbbe [@MathiasKandelborg](https://github.com/MathiasKandelborg)\n * @author Anders B. Hansen [@Andersbiha](https://github.com/Andersbiha)\n * @author [@kgram](https://github.com/kgram)\n * @author [@stefanbugge](https://github.com/stefanbugge)\n */\nexport const da = {\n  code: \"da\",\n  formatDistance: formatDistance,\n  formatLong: formatLong,\n  formatRelative: formatRelative,\n  localize: localize,\n  match: match,\n  options: {\n    weekStartsOn: 1 /* Monday */,\n    firstWeekContainsDate: 4,\n  },\n};\n\n// Fallback for modularized imports:\nexport default da;\n","const formatDistanceLocale = {\n  lessThanXSeconds: {\n    standalone: {\n      one: \"weniger als 1 Sekunde\",\n      other: \"weniger als {{count}} Sekunden\",\n    },\n    withPreposition: {\n      one: \"weniger als 1 Sekunde\",\n      other: \"weniger als {{count}} Sekunden\",\n    },\n  },\n\n  xSeconds: {\n    standalone: {\n      one: \"1 Sekunde\",\n      other: \"{{count}} Sekunden\",\n    },\n    withPreposition: {\n      one: \"1 Sekunde\",\n      other: \"{{count}} Sekunden\",\n    },\n  },\n\n  halfAMinute: {\n    standalone: \"eine halbe Minute\",\n    withPreposition: \"einer halben Minute\",\n  },\n\n  lessThanXMinutes: {\n    standalone: {\n      one: \"weniger als 1 Minute\",\n      other: \"weniger als {{count}} Minuten\",\n    },\n    withPreposition: {\n      one: \"weniger als 1 Minute\",\n      other: \"weniger als {{count}} Minuten\",\n    },\n  },\n\n  xMinutes: {\n    standalone: {\n      one: \"1 Minute\",\n      other: \"{{count}} Minuten\",\n    },\n    withPreposition: {\n      one: \"1 Minute\",\n      other: \"{{count}} Minuten\",\n    },\n  },\n\n  aboutXHours: {\n    standalone: {\n      one: \"etwa 1 Stunde\",\n      other: \"etwa {{count}} Stunden\",\n    },\n    withPreposition: {\n      one: \"etwa 1 Stunde\",\n      other: \"etwa {{count}} Stunden\",\n    },\n  },\n\n  xHours: {\n    standalone: {\n      one: \"1 Stunde\",\n      other: \"{{count}} Stunden\",\n    },\n    withPreposition: {\n      one: \"1 Stunde\",\n      other: \"{{count}} Stunden\",\n    },\n  },\n\n  xDays: {\n    standalone: {\n      one: \"1 Tag\",\n      other: \"{{count}} Tage\",\n    },\n    withPreposition: {\n      one: \"1 Tag\",\n      other: \"{{count}} Tagen\",\n    },\n  },\n\n  aboutXWeeks: {\n    standalone: {\n      one: \"etwa 1 Woche\",\n      other: \"etwa {{count}} Wochen\",\n    },\n    withPreposition: {\n      one: \"etwa 1 Woche\",\n      other: \"etwa {{count}} Wochen\",\n    },\n  },\n\n  xWeeks: {\n    standalone: {\n      one: \"1 Woche\",\n      other: \"{{count}} Wochen\",\n    },\n    withPreposition: {\n      one: \"1 Woche\",\n      other: \"{{count}} Wochen\",\n    },\n  },\n\n  aboutXMonths: {\n    standalone: {\n      one: \"etwa 1 Monat\",\n      other: \"etwa {{count}} Monate\",\n    },\n    withPreposition: {\n      one: \"etwa 1 Monat\",\n      other: \"etwa {{count}} Monaten\",\n    },\n  },\n\n  xMonths: {\n    standalone: {\n      one: \"1 Monat\",\n      other: \"{{count}} Monate\",\n    },\n    withPreposition: {\n      one: \"1 Monat\",\n      other: \"{{count}} Monaten\",\n    },\n  },\n\n  aboutXYears: {\n    standalone: {\n      one: \"etwa 1 Jahr\",\n      other: \"etwa {{count}} Jahre\",\n    },\n    withPreposition: {\n      one: \"etwa 1 Jahr\",\n      other: \"etwa {{count}} Jahren\",\n    },\n  },\n\n  xYears: {\n    standalone: {\n      one: \"1 Jahr\",\n      other: \"{{count}} Jahre\",\n    },\n    withPreposition: {\n      one: \"1 Jahr\",\n      other: \"{{count}} Jahren\",\n    },\n  },\n\n  overXYears: {\n    standalone: {\n      one: \"mehr als 1 Jahr\",\n      other: \"mehr als {{count}} Jahre\",\n    },\n    withPreposition: {\n      one: \"mehr als 1 Jahr\",\n      other: \"mehr als {{count}} Jahren\",\n    },\n  },\n\n  almostXYears: {\n    standalone: {\n      one: \"fast 1 Jahr\",\n      other: \"fast {{count}} Jahre\",\n    },\n    withPreposition: {\n      one: \"fast 1 Jahr\",\n      other: \"fast {{count}} Jahren\",\n    },\n  },\n};\n\nexport const formatDistance = (token, count, options) => {\n  let result;\n\n  const tokenValue = options?.addSuffix\n    ? formatDistanceLocale[token].withPreposition\n    : formatDistanceLocale[token].standalone;\n  if (typeof tokenValue === \"string\") {\n    result = tokenValue;\n  } else if (count === 1) {\n    result = tokenValue.one;\n  } else {\n    result = tokenValue.other.replace(\"{{count}}\", String(count));\n  }\n\n  if (options?.addSuffix) {\n    if (options.comparison && options.comparison > 0) {\n      return \"in \" + result;\n    } else {\n      return \"vor \" + result;\n    }\n  }\n\n  return result;\n};\n","import { buildFormatLongFn } from \"../../_lib/buildFormatLongFn.mjs\";\n\n// DIN 5008: https://de.wikipedia.org/wiki/Datumsformat#DIN_5008\nconst dateFormats = {\n  full: \"EEEE, do MMMM y\", // Montag, 7. Januar 2018\n  long: \"do MMMM y\", // 7. Januar 2018\n  medium: \"do MMM y\", // 7. Jan. 2018\n  short: \"dd.MM.y\", // 07.01.2018\n};\n\nconst timeFormats = {\n  full: \"HH:mm:ss zzzz\",\n  long: \"HH:mm:ss z\",\n  medium: \"HH:mm:ss\",\n  short: \"HH:mm\",\n};\n\nconst dateTimeFormats = {\n  full: \"{{date}} 'um' {{time}}\",\n  long: \"{{date}} 'um' {{time}}\",\n  medium: \"{{date}} {{time}}\",\n  short: \"{{date}} {{time}}\",\n};\n\nexport const formatLong = {\n  date: buildFormatLongFn({\n    formats: dateFormats,\n    defaultWidth: \"full\",\n  }),\n\n  time: buildFormatLongFn({\n    formats: timeFormats,\n    defaultWidth: \"full\",\n  }),\n\n  dateTime: buildFormatLongFn({\n    formats: dateTimeFormats,\n    defaultWidth: \"full\",\n  }),\n};\n","const formatRelativeLocale = {\n  lastWeek: \"'letzten' eeee 'um' p\",\n  yesterday: \"'gestern um' p\",\n  today: \"'heute um' p\",\n  tomorrow: \"'morgen um' p\",\n  nextWeek: \"eeee 'um' p\",\n  other: \"P\",\n};\n\nexport const formatRelative = (token, _date, _baseDate, _options) =>\n  formatRelativeLocale[token];\n","import { buildLocalizeFn } from \"../../_lib/buildLocalizeFn.mjs\";\n\nconst eraValues = {\n  narrow: [\"v.Chr.\", \"n.Chr.\"],\n  abbreviated: [\"v.Chr.\", \"n.Chr.\"],\n  wide: [\"vor Christus\", \"nach Christus\"],\n};\n\nconst quarterValues = {\n  narrow: [\"1\", \"2\", \"3\", \"4\"],\n  abbreviated: [\"Q1\", \"Q2\", \"Q3\", \"Q4\"],\n  wide: [\"1. Quartal\", \"2. Quartal\", \"3. Quartal\", \"4. Quartal\"],\n};\n\n// Note: in German, the names of days of the week and months are capitalized.\n// If you are making a new locale based on this one, check if the same is true for the language you're working on.\n// Generally, formatted dates should look like they are in the middle of a sentence,\n// e.g. in Spanish language the weekdays and months should be in the lowercase.\nconst monthValues = {\n  narrow: [\"J\", \"F\", \"M\", \"A\", \"M\", \"J\", \"J\", \"A\", \"S\", \"O\", \"N\", \"D\"],\n  abbreviated: [\n    \"Jan\",\n    \"Feb\",\n    \"Mär\",\n    \"Apr\",\n    \"Mai\",\n    \"Jun\",\n    \"Jul\",\n    \"Aug\",\n    \"Sep\",\n    \"Okt\",\n    \"Nov\",\n    \"Dez\",\n  ],\n\n  wide: [\n    \"Januar\",\n    \"Februar\",\n    \"März\",\n    \"April\",\n    \"Mai\",\n    \"Juni\",\n    \"Juli\",\n    \"August\",\n    \"September\",\n    \"Oktober\",\n    \"November\",\n    \"Dezember\",\n  ],\n};\n\n// https://st.unicode.org/cldr-apps/v#/de/Gregorian/\nconst formattingMonthValues = {\n  narrow: monthValues.narrow,\n  abbreviated: [\n    \"Jan.\",\n    \"Feb.\",\n    \"März\",\n    \"Apr.\",\n    \"Mai\",\n    \"Juni\",\n    \"Juli\",\n    \"Aug.\",\n    \"Sep.\",\n    \"Okt.\",\n    \"Nov.\",\n    \"Dez.\",\n  ],\n\n  wide: monthValues.wide,\n};\n\nconst dayValues = {\n  narrow: [\"S\", \"M\", \"D\", \"M\", \"D\", \"F\", \"S\"],\n  short: [\"So\", \"Mo\", \"Di\", \"Mi\", \"Do\", \"Fr\", \"Sa\"],\n  abbreviated: [\"So.\", \"Mo.\", \"Di.\", \"Mi.\", \"Do.\", \"Fr.\", \"Sa.\"],\n  wide: [\n    \"Sonntag\",\n    \"Montag\",\n    \"Dienstag\",\n    \"Mittwoch\",\n    \"Donnerstag\",\n    \"Freitag\",\n    \"Samstag\",\n  ],\n};\n\n// https://www.unicode.org/cldr/charts/32/summary/de.html#1881\nconst dayPeriodValues = {\n  narrow: {\n    am: \"vm.\",\n    pm: \"nm.\",\n    midnight: \"Mitternacht\",\n    noon: \"Mittag\",\n    morning: \"Morgen\",\n    afternoon: \"Nachm.\",\n    evening: \"Abend\",\n    night: \"Nacht\",\n  },\n  abbreviated: {\n    am: \"vorm.\",\n    pm: \"nachm.\",\n    midnight: \"Mitternacht\",\n    noon: \"Mittag\",\n    morning: \"Morgen\",\n    afternoon: \"Nachmittag\",\n    evening: \"Abend\",\n    night: \"Nacht\",\n  },\n  wide: {\n    am: \"vormittags\",\n    pm: \"nachmittags\",\n    midnight: \"Mitternacht\",\n    noon: \"Mittag\",\n    morning: \"Morgen\",\n    afternoon: \"Nachmittag\",\n    evening: \"Abend\",\n    night: \"Nacht\",\n  },\n};\nconst formattingDayPeriodValues = {\n  narrow: {\n    am: \"vm.\",\n    pm: \"nm.\",\n    midnight: \"Mitternacht\",\n    noon: \"Mittag\",\n    morning: \"morgens\",\n    afternoon: \"nachm.\",\n    evening: \"abends\",\n    night: \"nachts\",\n  },\n  abbreviated: {\n    am: \"vorm.\",\n    pm: \"nachm.\",\n    midnight: \"Mitternacht\",\n    noon: \"Mittag\",\n    morning: \"morgens\",\n    afternoon: \"nachmittags\",\n    evening: \"abends\",\n    night: \"nachts\",\n  },\n  wide: {\n    am: \"vormittags\",\n    pm: \"nachmittags\",\n    midnight: \"Mitternacht\",\n    noon: \"Mittag\",\n    morning: \"morgens\",\n    afternoon: \"nachmittags\",\n    evening: \"abends\",\n    night: \"nachts\",\n  },\n};\n\nconst ordinalNumber = (dirtyNumber) => {\n  const number = Number(dirtyNumber);\n\n  return number + \".\";\n};\n\nexport const localize = {\n  ordinalNumber,\n\n  era: buildLocalizeFn({\n    values: eraValues,\n    defaultWidth: \"wide\",\n  }),\n\n  quarter: buildLocalizeFn({\n    values: quarterValues,\n    defaultWidth: \"wide\",\n    argumentCallback: (quarter) => quarter - 1,\n  }),\n\n  month: buildLocalizeFn({\n    values: monthValues,\n    formattingValues: formattingMonthValues,\n    defaultWidth: \"wide\",\n  }),\n\n  day: buildLocalizeFn({\n    values: dayValues,\n    defaultWidth: \"wide\",\n  }),\n\n  dayPeriod: buildLocalizeFn({\n    values: dayPeriodValues,\n    defaultWidth: \"wide\",\n    formattingValues: formattingDayPeriodValues,\n    defaultFormattingWidth: \"wide\",\n  }),\n};\n","import { buildMatchFn } from \"../../_lib/buildMatchFn.mjs\";\nimport { buildMatchPatternFn } from \"../../_lib/buildMatchPatternFn.mjs\";\n\nconst matchOrdinalNumberPattern = /^(\\d+)(\\.)?/i;\nconst parseOrdinalNumberPattern = /\\d+/i;\n\nconst matchEraPatterns = {\n  narrow: /^(v\\.? ?Chr\\.?|n\\.? ?Chr\\.?)/i,\n  abbreviated: /^(v\\.? ?Chr\\.?|n\\.? ?Chr\\.?)/i,\n  wide: /^(vor Christus|vor unserer Zeitrechnung|nach Christus|unserer Zeitrechnung)/i,\n};\nconst parseEraPatterns = {\n  any: [/^v/i, /^n/i],\n};\n\nconst matchQuarterPatterns = {\n  narrow: /^[1234]/i,\n  abbreviated: /^q[1234]/i,\n  wide: /^[1234](\\.)? Quartal/i,\n};\nconst parseQuarterPatterns = {\n  any: [/1/i, /2/i, /3/i, /4/i],\n};\n\nconst matchMonthPatterns = {\n  narrow: /^[jfmasond]/i,\n  abbreviated:\n    /^(j[aä]n|feb|mär[z]?|apr|mai|jun[i]?|jul[i]?|aug|sep|okt|nov|dez)\\.?/i,\n  wide: /^(januar|februar|märz|april|mai|juni|juli|august|september|oktober|november|dezember)/i,\n};\nconst parseMonthPatterns = {\n  narrow: [\n    /^j/i,\n    /^f/i,\n    /^m/i,\n    /^a/i,\n    /^m/i,\n    /^j/i,\n    /^j/i,\n    /^a/i,\n    /^s/i,\n    /^o/i,\n    /^n/i,\n    /^d/i,\n  ],\n\n  any: [\n    /^j[aä]/i,\n    /^f/i,\n    /^mär/i,\n    /^ap/i,\n    /^mai/i,\n    /^jun/i,\n    /^jul/i,\n    /^au/i,\n    /^s/i,\n    /^o/i,\n    /^n/i,\n    /^d/i,\n  ],\n};\n\nconst matchDayPatterns = {\n  narrow: /^[smdmf]/i,\n  short: /^(so|mo|di|mi|do|fr|sa)/i,\n  abbreviated: /^(son?|mon?|die?|mit?|don?|fre?|sam?)\\.?/i,\n  wide: /^(sonntag|montag|dienstag|mittwoch|donnerstag|freitag|samstag)/i,\n};\nconst parseDayPatterns = {\n  any: [/^so/i, /^mo/i, /^di/i, /^mi/i, /^do/i, /^f/i, /^sa/i],\n};\n\nconst matchDayPeriodPatterns = {\n  narrow: /^(vm\\.?|nm\\.?|Mitternacht|Mittag|morgens|nachm\\.?|abends|nachts)/i,\n  abbreviated:\n    /^(vorm\\.?|nachm\\.?|Mitternacht|Mittag|morgens|nachm\\.?|abends|nachts)/i,\n  wide: /^(vormittags|nachmittags|Mitternacht|Mittag|morgens|nachmittags|abends|nachts)/i,\n};\nconst parseDayPeriodPatterns = {\n  any: {\n    am: /^v/i,\n    pm: /^n/i,\n    midnight: /^Mitte/i,\n    noon: /^Mitta/i,\n    morning: /morgens/i,\n    afternoon: /nachmittags/i, // will never be matched. Afternoon is matched by `pm`\n    evening: /abends/i,\n    night: /nachts/i, // will never be matched. Night is matched by `pm`\n  },\n};\n\nexport const match = {\n  ordinalNumber: buildMatchPatternFn({\n    matchPattern: matchOrdinalNumberPattern,\n    parsePattern: parseOrdinalNumberPattern,\n    valueCallback: (value) => parseInt(value),\n  }),\n\n  era: buildMatchFn({\n    matchPatterns: matchEraPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseEraPatterns,\n    defaultParseWidth: \"any\",\n  }),\n\n  quarter: buildMatchFn({\n    matchPatterns: matchQuarterPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseQuarterPatterns,\n    defaultParseWidth: \"any\",\n    valueCallback: (index) => index + 1,\n  }),\n\n  month: buildMatchFn({\n    matchPatterns: matchMonthPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseMonthPatterns,\n    defaultParseWidth: \"any\",\n  }),\n\n  day: buildMatchFn({\n    matchPatterns: matchDayPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseDayPatterns,\n    defaultParseWidth: \"any\",\n  }),\n\n  dayPeriod: buildMatchFn({\n    matchPatterns: matchDayPeriodPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseDayPeriodPatterns,\n    defaultParseWidth: \"any\",\n  }),\n};\n","import { formatDistance } from \"./de/_lib/formatDistance.mjs\";\nimport { formatLong } from \"./de/_lib/formatLong.mjs\";\nimport { formatRelative } from \"./de/_lib/formatRelative.mjs\";\nimport { localize } from \"./de/_lib/localize.mjs\";\nimport { match } from \"./de/_lib/match.mjs\";\n\n/**\n * @category Locales\n * @summary German locale.\n * @language German\n * @iso-639-2 deu\n * @author Thomas Eilmsteiner [@DeMuu](https://github.com/DeMuu)\n * @author Asia [@asia-t](https://github.com/asia-t)\n * @author Van Vuong Ngo [@vanvuongngo](https://github.com/vanvuongngo)\n * @author RomanErnst [@pex](https://github.com/pex)\n * @author Philipp Keck [@Philipp91](https://github.com/Philipp91)\n */\nexport const de = {\n  code: \"de\",\n  formatDistance: formatDistance,\n  formatLong: formatLong,\n  formatRelative: formatRelative,\n  localize: localize,\n  match: match,\n  options: {\n    weekStartsOn: 1 /* Monday */,\n    firstWeekContainsDate: 4,\n  },\n};\n\n// Fallback for modularized imports:\nexport default de;\n","import { buildFormatLongFn } from \"../../_lib/buildFormatLongFn.mjs\";\n\nconst dateFormats = {\n  full: \"EEEE, d MMMM yyyy\",\n  long: \"d MMMM yyyy\",\n  medium: \"d MMM yyyy\",\n  short: \"dd/MM/yyyy\",\n};\n\nconst timeFormats = {\n  full: \"HH:mm:ss zzzz\",\n  long: \"HH:mm:ss z\",\n  medium: \"HH:mm:ss\",\n  short: \"HH:mm\",\n};\n\nconst dateTimeFormats = {\n  full: \"{{date}} 'at' {{time}}\",\n  long: \"{{date}} 'at' {{time}}\",\n  medium: \"{{date}}, {{time}}\",\n  short: \"{{date}}, {{time}}\",\n};\n\nexport const formatLong = {\n  date: buildFormatLongFn({\n    formats: dateFormats,\n    defaultWidth: \"full\",\n  }),\n\n  time: buildFormatLongFn({\n    formats: timeFormats,\n    defaultWidth: \"full\",\n  }),\n\n  dateTime: buildFormatLongFn({\n    formats: dateTimeFormats,\n    defaultWidth: \"full\",\n  }),\n};\n","import { formatDistance } from \"./en-US/_lib/formatDistance.mjs\";\nimport { formatRelative } from \"./en-US/_lib/formatRelative.mjs\";\nimport { localize } from \"./en-US/_lib/localize.mjs\";\nimport { match } from \"./en-US/_lib/match.mjs\";\nimport { formatLong } from \"./en-GB/_lib/formatLong.mjs\";\n\n/**\n * @category Locales\n * @summary English locale (United Kingdom).\n * @language English\n * @iso-639-2 eng\n * @author Alex [@glintik](https://github.com/glintik)\n */\nexport const enGB = {\n  code: \"en-GB\",\n  formatDistance: formatDistance,\n  formatLong: formatLong,\n  formatRelative: formatRelative,\n  localize: localize,\n  match: match,\n  options: {\n    weekStartsOn: 1 /* Monday */,\n    firstWeekContainsDate: 4,\n  },\n};\n\n// Fallback for modularized imports:\nexport default enGB;\n","import { buildFormatLongFn } from \"../../_lib/buildFormatLongFn.mjs\";\n\nconst dateFormats = {\n  full: \"EEEE, MMMM do, y\",\n  long: \"MMMM do, y\",\n  medium: \"MMM d, y\",\n  short: \"MM/dd/yyyy\",\n};\n\nconst timeFormats = {\n  full: \"h:mm:ss a zzzz\",\n  long: \"h:mm:ss a z\",\n  medium: \"h:mm:ss a\",\n  short: \"h:mm a\",\n};\n\nconst dateTimeFormats = {\n  full: \"{{date}} 'at' {{time}}\",\n  long: \"{{date}} 'at' {{time}}\",\n  medium: \"{{date}}, {{time}}\",\n  short: \"{{date}}, {{time}}\",\n};\n\nexport const formatLong = {\n  date: buildFormatLongFn({\n    formats: dateFormats,\n    defaultWidth: \"full\",\n  }),\n\n  time: buildFormatLongFn({\n    formats: timeFormats,\n    defaultWidth: \"full\",\n  }),\n\n  dateTime: buildFormatLongFn({\n    formats: dateTimeFormats,\n    defaultWidth: \"full\",\n  }),\n};\n","import { formatDistance } from \"./en-US/_lib/formatDistance.mjs\";\nimport { formatLong } from \"./en-US/_lib/formatLong.mjs\";\nimport { formatRelative } from \"./en-US/_lib/formatRelative.mjs\";\nimport { localize } from \"./en-US/_lib/localize.mjs\";\nimport { match } from \"./en-US/_lib/match.mjs\";\n\n/**\n * @category Locales\n * @summary English locale (United States).\n * @language English\n * @iso-639-2 eng\n * @author Sasha Koss [@kossnocorp](https://github.com/kossnocorp)\n * @author Lesha Koss [@leshakoss](https://github.com/leshakoss)\n */\nexport const enUS = {\n  code: \"en-US\",\n  formatDistance: formatDistance,\n  formatLong: formatLong,\n  formatRelative: formatRelative,\n  localize: localize,\n  match: match,\n  options: {\n    weekStartsOn: 0 /* Sunday */,\n    firstWeekContainsDate: 1,\n  },\n};\n\n// Fallback for modularized imports:\nexport default enUS;\n","const formatDistanceLocale = {\n  lessThanXSeconds: {\n    one: \"less than a second\",\n    other: \"less than {{count}} seconds\",\n  },\n\n  xSeconds: {\n    one: \"1 second\",\n    other: \"{{count}} seconds\",\n  },\n\n  halfAMinute: \"half a minute\",\n\n  lessThanXMinutes: {\n    one: \"less than a minute\",\n    other: \"less than {{count}} minutes\",\n  },\n\n  xMinutes: {\n    one: \"1 minute\",\n    other: \"{{count}} minutes\",\n  },\n\n  aboutXHours: {\n    one: \"about 1 hour\",\n    other: \"about {{count}} hours\",\n  },\n\n  xHours: {\n    one: \"1 hour\",\n    other: \"{{count}} hours\",\n  },\n\n  xDays: {\n    one: \"1 day\",\n    other: \"{{count}} days\",\n  },\n\n  aboutXWeeks: {\n    one: \"about 1 week\",\n    other: \"about {{count}} weeks\",\n  },\n\n  xWeeks: {\n    one: \"1 week\",\n    other: \"{{count}} weeks\",\n  },\n\n  aboutXMonths: {\n    one: \"about 1 month\",\n    other: \"about {{count}} months\",\n  },\n\n  xMonths: {\n    one: \"1 month\",\n    other: \"{{count}} months\",\n  },\n\n  aboutXYears: {\n    one: \"about 1 year\",\n    other: \"about {{count}} years\",\n  },\n\n  xYears: {\n    one: \"1 year\",\n    other: \"{{count}} years\",\n  },\n\n  overXYears: {\n    one: \"over 1 year\",\n    other: \"over {{count}} years\",\n  },\n\n  almostXYears: {\n    one: \"almost 1 year\",\n    other: \"almost {{count}} years\",\n  },\n};\n\nexport const formatDistance = (token, count, options) => {\n  let result;\n\n  const tokenValue = formatDistanceLocale[token];\n  if (typeof tokenValue === \"string\") {\n    result = tokenValue;\n  } else if (count === 1) {\n    result = tokenValue.one;\n  } else {\n    result = tokenValue.other.replace(\"{{count}}\", count.toString());\n  }\n\n  if (options?.addSuffix) {\n    if (options.comparison && options.comparison > 0) {\n      return \"in \" + result;\n    } else {\n      return result + \" ago\";\n    }\n  }\n\n  return result;\n};\n","const formatRelativeLocale = {\n  lastWeek: \"'last' eeee 'at' p\",\n  yesterday: \"'yesterday at' p\",\n  today: \"'today at' p\",\n  tomorrow: \"'tomorrow at' p\",\n  nextWeek: \"eeee 'at' p\",\n  other: \"P\",\n};\n\nexport const formatRelative = (token, _date, _baseDate, _options) =>\n  formatRelativeLocale[token];\n","import { buildLocalizeFn } from \"../../_lib/buildLocalizeFn.mjs\";\n\nconst eraValues = {\n  narrow: [\"B\", \"A\"],\n  abbreviated: [\"BC\", \"AD\"],\n  wide: [\"Before Christ\", \"Anno Domini\"],\n};\n\nconst quarterValues = {\n  narrow: [\"1\", \"2\", \"3\", \"4\"],\n  abbreviated: [\"Q1\", \"Q2\", \"Q3\", \"Q4\"],\n  wide: [\"1st quarter\", \"2nd quarter\", \"3rd quarter\", \"4th quarter\"],\n};\n\n// Note: in English, the names of days of the week and months are capitalized.\n// If you are making a new locale based on this one, check if the same is true for the language you're working on.\n// Generally, formatted dates should look like they are in the middle of a sentence,\n// e.g. in Spanish language the weekdays and months should be in the lowercase.\nconst monthValues = {\n  narrow: [\"J\", \"F\", \"M\", \"A\", \"M\", \"J\", \"J\", \"A\", \"S\", \"O\", \"N\", \"D\"],\n  abbreviated: [\n    \"Jan\",\n    \"Feb\",\n    \"Mar\",\n    \"Apr\",\n    \"May\",\n    \"Jun\",\n    \"Jul\",\n    \"Aug\",\n    \"Sep\",\n    \"Oct\",\n    \"Nov\",\n    \"Dec\",\n  ],\n\n  wide: [\n    \"January\",\n    \"February\",\n    \"March\",\n    \"April\",\n    \"May\",\n    \"June\",\n    \"July\",\n    \"August\",\n    \"September\",\n    \"October\",\n    \"November\",\n    \"December\",\n  ],\n};\n\nconst dayValues = {\n  narrow: [\"S\", \"M\", \"T\", \"W\", \"T\", \"F\", \"S\"],\n  short: [\"Su\", \"Mo\", \"Tu\", \"We\", \"Th\", \"Fr\", \"Sa\"],\n  abbreviated: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"],\n  wide: [\n    \"Sunday\",\n    \"Monday\",\n    \"Tuesday\",\n    \"Wednesday\",\n    \"Thursday\",\n    \"Friday\",\n    \"Saturday\",\n  ],\n};\n\nconst dayPeriodValues = {\n  narrow: {\n    am: \"a\",\n    pm: \"p\",\n    midnight: \"mi\",\n    noon: \"n\",\n    morning: \"morning\",\n    afternoon: \"afternoon\",\n    evening: \"evening\",\n    night: \"night\",\n  },\n  abbreviated: {\n    am: \"AM\",\n    pm: \"PM\",\n    midnight: \"midnight\",\n    noon: \"noon\",\n    morning: \"morning\",\n    afternoon: \"afternoon\",\n    evening: \"evening\",\n    night: \"night\",\n  },\n  wide: {\n    am: \"a.m.\",\n    pm: \"p.m.\",\n    midnight: \"midnight\",\n    noon: \"noon\",\n    morning: \"morning\",\n    afternoon: \"afternoon\",\n    evening: \"evening\",\n    night: \"night\",\n  },\n};\n\nconst formattingDayPeriodValues = {\n  narrow: {\n    am: \"a\",\n    pm: \"p\",\n    midnight: \"mi\",\n    noon: \"n\",\n    morning: \"in the morning\",\n    afternoon: \"in the afternoon\",\n    evening: \"in the evening\",\n    night: \"at night\",\n  },\n  abbreviated: {\n    am: \"AM\",\n    pm: \"PM\",\n    midnight: \"midnight\",\n    noon: \"noon\",\n    morning: \"in the morning\",\n    afternoon: \"in the afternoon\",\n    evening: \"in the evening\",\n    night: \"at night\",\n  },\n  wide: {\n    am: \"a.m.\",\n    pm: \"p.m.\",\n    midnight: \"midnight\",\n    noon: \"noon\",\n    morning: \"in the morning\",\n    afternoon: \"in the afternoon\",\n    evening: \"in the evening\",\n    night: \"at night\",\n  },\n};\n\nconst ordinalNumber = (dirtyNumber, _options) => {\n  const number = Number(dirtyNumber);\n\n  // If ordinal numbers depend on context, for example,\n  // if they are different for different grammatical genders,\n  // use `options.unit`.\n  //\n  // `unit` can be 'year', 'quarter', 'month', 'week', 'date', 'dayOfYear',\n  // 'day', 'hour', 'minute', 'second'.\n\n  const rem100 = number % 100;\n  if (rem100 > 20 || rem100 < 10) {\n    switch (rem100 % 10) {\n      case 1:\n        return number + \"st\";\n      case 2:\n        return number + \"nd\";\n      case 3:\n        return number + \"rd\";\n    }\n  }\n  return number + \"th\";\n};\n\nexport const localize = {\n  ordinalNumber,\n\n  era: buildLocalizeFn({\n    values: eraValues,\n    defaultWidth: \"wide\",\n  }),\n\n  quarter: buildLocalizeFn({\n    values: quarterValues,\n    defaultWidth: \"wide\",\n    argumentCallback: (quarter) => quarter - 1,\n  }),\n\n  month: buildLocalizeFn({\n    values: monthValues,\n    defaultWidth: \"wide\",\n  }),\n\n  day: buildLocalizeFn({\n    values: dayValues,\n    defaultWidth: \"wide\",\n  }),\n\n  dayPeriod: buildLocalizeFn({\n    values: dayPeriodValues,\n    defaultWidth: \"wide\",\n    formattingValues: formattingDayPeriodValues,\n    defaultFormattingWidth: \"wide\",\n  }),\n};\n","import { buildMatchFn } from \"../../_lib/buildMatchFn.mjs\";\nimport { buildMatchPatternFn } from \"../../_lib/buildMatchPatternFn.mjs\";\n\nconst matchOrdinalNumberPattern = /^(\\d+)(th|st|nd|rd)?/i;\nconst parseOrdinalNumberPattern = /\\d+/i;\n\nconst matchEraPatterns = {\n  narrow: /^(b|a)/i,\n  abbreviated: /^(b\\.?\\s?c\\.?|b\\.?\\s?c\\.?\\s?e\\.?|a\\.?\\s?d\\.?|c\\.?\\s?e\\.?)/i,\n  wide: /^(before christ|before common era|anno domini|common era)/i,\n};\nconst parseEraPatterns = {\n  any: [/^b/i, /^(a|c)/i],\n};\n\nconst matchQuarterPatterns = {\n  narrow: /^[1234]/i,\n  abbreviated: /^q[1234]/i,\n  wide: /^[1234](th|st|nd|rd)? quarter/i,\n};\nconst parseQuarterPatterns = {\n  any: [/1/i, /2/i, /3/i, /4/i],\n};\n\nconst matchMonthPatterns = {\n  narrow: /^[jfmasond]/i,\n  abbreviated: /^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,\n  wide: /^(january|february|march|april|may|june|july|august|september|october|november|december)/i,\n};\nconst parseMonthPatterns = {\n  narrow: [\n    /^j/i,\n    /^f/i,\n    /^m/i,\n    /^a/i,\n    /^m/i,\n    /^j/i,\n    /^j/i,\n    /^a/i,\n    /^s/i,\n    /^o/i,\n    /^n/i,\n    /^d/i,\n  ],\n\n  any: [\n    /^ja/i,\n    /^f/i,\n    /^mar/i,\n    /^ap/i,\n    /^may/i,\n    /^jun/i,\n    /^jul/i,\n    /^au/i,\n    /^s/i,\n    /^o/i,\n    /^n/i,\n    /^d/i,\n  ],\n};\n\nconst matchDayPatterns = {\n  narrow: /^[smtwf]/i,\n  short: /^(su|mo|tu|we|th|fr|sa)/i,\n  abbreviated: /^(sun|mon|tue|wed|thu|fri|sat)/i,\n  wide: /^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i,\n};\nconst parseDayPatterns = {\n  narrow: [/^s/i, /^m/i, /^t/i, /^w/i, /^t/i, /^f/i, /^s/i],\n  any: [/^su/i, /^m/i, /^tu/i, /^w/i, /^th/i, /^f/i, /^sa/i],\n};\n\nconst matchDayPeriodPatterns = {\n  narrow: /^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,\n  any: /^([ap]\\.?\\s?m\\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i,\n};\nconst parseDayPeriodPatterns = {\n  any: {\n    am: /^a/i,\n    pm: /^p/i,\n    midnight: /^mi/i,\n    noon: /^no/i,\n    morning: /morning/i,\n    afternoon: /afternoon/i,\n    evening: /evening/i,\n    night: /night/i,\n  },\n};\n\nexport const match = {\n  ordinalNumber: buildMatchPatternFn({\n    matchPattern: matchOrdinalNumberPattern,\n    parsePattern: parseOrdinalNumberPattern,\n    valueCallback: (value) => parseInt(value, 10),\n  }),\n\n  era: buildMatchFn({\n    matchPatterns: matchEraPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseEraPatterns,\n    defaultParseWidth: \"any\",\n  }),\n\n  quarter: buildMatchFn({\n    matchPatterns: matchQuarterPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseQuarterPatterns,\n    defaultParseWidth: \"any\",\n    valueCallback: (index) => index + 1,\n  }),\n\n  month: buildMatchFn({\n    matchPatterns: matchMonthPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseMonthPatterns,\n    defaultParseWidth: \"any\",\n  }),\n\n  day: buildMatchFn({\n    matchPatterns: matchDayPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseDayPatterns,\n    defaultParseWidth: \"any\",\n  }),\n\n  dayPeriod: buildMatchFn({\n    matchPatterns: matchDayPeriodPatterns,\n    defaultMatchWidth: \"any\",\n    parsePatterns: parseDayPeriodPatterns,\n    defaultParseWidth: \"any\",\n  }),\n};\n","const formatDistanceLocale = {\n  lessThanXSeconds: {\n    one: \"menos de un segundo\",\n    other: \"menos de {{count}} segundos\",\n  },\n\n  xSeconds: {\n    one: \"1 segundo\",\n    other: \"{{count}} segundos\",\n  },\n\n  halfAMinute: \"medio minuto\",\n\n  lessThanXMinutes: {\n    one: \"menos de un minuto\",\n    other: \"menos de {{count}} minutos\",\n  },\n\n  xMinutes: {\n    one: \"1 minuto\",\n    other: \"{{count}} minutos\",\n  },\n\n  aboutXHours: {\n    one: \"alrededor de 1 hora\",\n    other: \"alrededor de {{count}} horas\",\n  },\n\n  xHours: {\n    one: \"1 hora\",\n    other: \"{{count}} horas\",\n  },\n\n  xDays: {\n    one: \"1 día\",\n    other: \"{{count}} días\",\n  },\n\n  aboutXWeeks: {\n    one: \"alrededor de 1 semana\",\n    other: \"alrededor de {{count}} semanas\",\n  },\n\n  xWeeks: {\n    one: \"1 semana\",\n    other: \"{{count}} semanas\",\n  },\n\n  aboutXMonths: {\n    one: \"alrededor de 1 mes\",\n    other: \"alrededor de {{count}} meses\",\n  },\n\n  xMonths: {\n    one: \"1 mes\",\n    other: \"{{count}} meses\",\n  },\n\n  aboutXYears: {\n    one: \"alrededor de 1 año\",\n    other: \"alrededor de {{count}} años\",\n  },\n\n  xYears: {\n    one: \"1 año\",\n    other: \"{{count}} años\",\n  },\n\n  overXYears: {\n    one: \"más de 1 año\",\n    other: \"más de {{count}} años\",\n  },\n\n  almostXYears: {\n    one: \"casi 1 año\",\n    other: \"casi {{count}} años\",\n  },\n};\n\nexport const formatDistance = (token, count, options) => {\n  let result;\n\n  const tokenValue = formatDistanceLocale[token];\n  if (typeof tokenValue === \"string\") {\n    result = tokenValue;\n  } else if (count === 1) {\n    result = tokenValue.one;\n  } else {\n    result = tokenValue.other.replace(\"{{count}}\", count.toString());\n  }\n\n  if (options?.addSuffix) {\n    if (options.comparison && options.comparison > 0) {\n      return \"en \" + result;\n    } else {\n      return \"hace \" + result;\n    }\n  }\n\n  return result;\n};\n","import { buildFormatLongFn } from \"../../_lib/buildFormatLongFn.mjs\";\n\nconst dateFormats = {\n  full: \"EEEE, d 'de' MMMM 'de' y\",\n  long: \"d 'de' MMMM 'de' y\",\n  medium: \"d MMM y\",\n  short: \"dd/MM/y\",\n};\n\nconst timeFormats = {\n  full: \"HH:mm:ss zzzz\",\n  long: \"HH:mm:ss z\",\n  medium: \"HH:mm:ss\",\n  short: \"HH:mm\",\n};\n\nconst dateTimeFormats = {\n  full: \"{{date}} 'a las' {{time}}\",\n  long: \"{{date}} 'a las' {{time}}\",\n  medium: \"{{date}}, {{time}}\",\n  short: \"{{date}}, {{time}}\",\n};\n\nexport const formatLong = {\n  date: buildFormatLongFn({\n    formats: dateFormats,\n    defaultWidth: \"full\",\n  }),\n\n  time: buildFormatLongFn({\n    formats: timeFormats,\n    defaultWidth: \"full\",\n  }),\n\n  dateTime: buildFormatLongFn({\n    formats: dateTimeFormats,\n    defaultWidth: \"full\",\n  }),\n};\n","const formatRelativeLocale = {\n  lastWeek: \"'el' eeee 'pasado a la' p\",\n  yesterday: \"'ayer a la' p\",\n  today: \"'hoy a la' p\",\n  tomorrow: \"'mañana a la' p\",\n  nextWeek: \"eeee 'a la' p\",\n  other: \"P\",\n};\n\nconst formatRelativeLocalePlural = {\n  lastWeek: \"'el' eeee 'pasado a las' p\",\n  yesterday: \"'ayer a las' p\",\n  today: \"'hoy a las' p\",\n  tomorrow: \"'mañana a las' p\",\n  nextWeek: \"eeee 'a las' p\",\n  other: \"P\",\n};\n\nexport const formatRelative = (token, date, _baseDate, _options) => {\n  if (date.getHours() !== 1) {\n    return formatRelativeLocalePlural[token];\n  } else {\n    return formatRelativeLocale[token];\n  }\n};\n","import { buildLocalizeFn } from \"../../_lib/buildLocalizeFn.mjs\";\n\nconst eraValues = {\n  narrow: [\"AC\", \"DC\"],\n  abbreviated: [\"AC\", \"DC\"],\n  wide: [\"antes de cristo\", \"después de cristo\"],\n};\n\nconst quarterValues = {\n  narrow: [\"1\", \"2\", \"3\", \"4\"],\n  abbreviated: [\"T1\", \"T2\", \"T3\", \"T4\"],\n  wide: [\"1º trimestre\", \"2º trimestre\", \"3º trimestre\", \"4º trimestre\"],\n};\n\nconst monthValues = {\n  narrow: [\"e\", \"f\", \"m\", \"a\", \"m\", \"j\", \"j\", \"a\", \"s\", \"o\", \"n\", \"d\"],\n  abbreviated: [\n    \"ene\",\n    \"feb\",\n    \"mar\",\n    \"abr\",\n    \"may\",\n    \"jun\",\n    \"jul\",\n    \"ago\",\n    \"sep\",\n    \"oct\",\n    \"nov\",\n    \"dic\",\n  ],\n\n  wide: [\n    \"enero\",\n    \"febrero\",\n    \"marzo\",\n    \"abril\",\n    \"mayo\",\n    \"junio\",\n    \"julio\",\n    \"agosto\",\n    \"septiembre\",\n    \"octubre\",\n    \"noviembre\",\n    \"diciembre\",\n  ],\n};\n\nconst dayValues = {\n  narrow: [\"d\", \"l\", \"m\", \"m\", \"j\", \"v\", \"s\"],\n  short: [\"do\", \"lu\", \"ma\", \"mi\", \"ju\", \"vi\", \"sá\"],\n  abbreviated: [\"dom\", \"lun\", \"mar\", \"mié\", \"jue\", \"vie\", \"sáb\"],\n  wide: [\n    \"domingo\",\n    \"lunes\",\n    \"martes\",\n    \"miércoles\",\n    \"jueves\",\n    \"viernes\",\n    \"sábado\",\n  ],\n};\n\nconst dayPeriodValues = {\n  narrow: {\n    am: \"a\",\n    pm: \"p\",\n    midnight: \"mn\",\n    noon: \"md\",\n    morning: \"mañana\",\n    afternoon: \"tarde\",\n    evening: \"tarde\",\n    night: \"noche\",\n  },\n  abbreviated: {\n    am: \"AM\",\n    pm: \"PM\",\n    midnight: \"medianoche\",\n    noon: \"mediodia\",\n    morning: \"mañana\",\n    afternoon: \"tarde\",\n    evening: \"tarde\",\n    night: \"noche\",\n  },\n  wide: {\n    am: \"a.m.\",\n    pm: \"p.m.\",\n    midnight: \"medianoche\",\n    noon: \"mediodia\",\n    morning: \"mañana\",\n    afternoon: \"tarde\",\n    evening: \"tarde\",\n    night: \"noche\",\n  },\n};\n\nconst formattingDayPeriodValues = {\n  narrow: {\n    am: \"a\",\n    pm: \"p\",\n    midnight: \"mn\",\n    noon: \"md\",\n    morning: \"de la mañana\",\n    afternoon: \"de la tarde\",\n    evening: \"de la tarde\",\n    night: \"de la noche\",\n  },\n  abbreviated: {\n    am: \"AM\",\n    pm: \"PM\",\n    midnight: \"medianoche\",\n    noon: \"mediodia\",\n    morning: \"de la mañana\",\n    afternoon: \"de la tarde\",\n    evening: \"de la tarde\",\n    night: \"de la noche\",\n  },\n  wide: {\n    am: \"a.m.\",\n    pm: \"p.m.\",\n    midnight: \"medianoche\",\n    noon: \"mediodia\",\n    morning: \"de la mañana\",\n    afternoon: \"de la tarde\",\n    evening: \"de la tarde\",\n    night: \"de la noche\",\n  },\n};\n\nconst ordinalNumber = (dirtyNumber, _options) => {\n  const number = Number(dirtyNumber);\n  return number + \"º\";\n};\n\nexport const localize = {\n  ordinalNumber: ordinalNumber,\n\n  era: buildLocalizeFn({\n    values: eraValues,\n    defaultWidth: \"wide\",\n  }),\n\n  quarter: buildLocalizeFn({\n    values: quarterValues,\n    defaultWidth: \"wide\",\n    argumentCallback: (quarter) => Number(quarter) - 1,\n  }),\n\n  month: buildLocalizeFn({\n    values: monthValues,\n    defaultWidth: \"wide\",\n  }),\n\n  day: buildLocalizeFn({\n    values: dayValues,\n    defaultWidth: \"wide\",\n  }),\n\n  dayPeriod: buildLocalizeFn({\n    values: dayPeriodValues,\n    defaultWidth: \"wide\",\n    formattingValues: formattingDayPeriodValues,\n    defaultFormattingWidth: \"wide\",\n  }),\n};\n","import { buildMatchPatternFn } from \"../../_lib/buildMatchPatternFn.mjs\";\nimport { buildMatchFn } from \"../../_lib/buildMatchFn.mjs\";\n\nconst matchOrdinalNumberPattern = /^(\\d+)(º)?/i;\nconst parseOrdinalNumberPattern = /\\d+/i;\n\nconst matchEraPatterns = {\n  narrow: /^(ac|dc|a|d)/i,\n  abbreviated: /^(a\\.?\\s?c\\.?|a\\.?\\s?e\\.?\\s?c\\.?|d\\.?\\s?c\\.?|e\\.?\\s?c\\.?)/i,\n  wide: /^(antes de cristo|antes de la era com[uú]n|despu[eé]s de cristo|era com[uú]n)/i,\n};\nconst parseEraPatterns = {\n  any: [/^ac/i, /^dc/i],\n  wide: [\n    /^(antes de cristo|antes de la era com[uú]n)/i,\n    /^(despu[eé]s de cristo|era com[uú]n)/i,\n  ],\n};\n\nconst matchQuarterPatterns = {\n  narrow: /^[1234]/i,\n  abbreviated: /^T[1234]/i,\n  wide: /^[1234](º)? trimestre/i,\n};\nconst parseQuarterPatterns = {\n  any: [/1/i, /2/i, /3/i, /4/i],\n};\n\nconst matchMonthPatterns = {\n  narrow: /^[efmajsond]/i,\n  abbreviated: /^(ene|feb|mar|abr|may|jun|jul|ago|sep|oct|nov|dic)/i,\n  wide: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n};\nconst parseMonthPatterns = {\n  narrow: [\n    /^e/i,\n    /^f/i,\n    /^m/i,\n    /^a/i,\n    /^m/i,\n    /^j/i,\n    /^j/i,\n    /^a/i,\n    /^s/i,\n    /^o/i,\n    /^n/i,\n    /^d/i,\n  ],\n\n  any: [\n    /^en/i,\n    /^feb/i,\n    /^mar/i,\n    /^abr/i,\n    /^may/i,\n    /^jun/i,\n    /^jul/i,\n    /^ago/i,\n    /^sep/i,\n    /^oct/i,\n    /^nov/i,\n    /^dic/i,\n  ],\n};\n\nconst matchDayPatterns = {\n  narrow: /^[dlmjvs]/i,\n  short: /^(do|lu|ma|mi|ju|vi|s[áa])/i,\n  abbreviated: /^(dom|lun|mar|mi[ée]|jue|vie|s[áa]b)/i,\n  wide: /^(domingo|lunes|martes|mi[ée]rcoles|jueves|viernes|s[áa]bado)/i,\n};\nconst parseDayPatterns = {\n  narrow: [/^d/i, /^l/i, /^m/i, /^m/i, /^j/i, /^v/i, /^s/i],\n  any: [/^do/i, /^lu/i, /^ma/i, /^mi/i, /^ju/i, /^vi/i, /^sa/i],\n};\n\nconst matchDayPeriodPatterns = {\n  narrow: /^(a|p|mn|md|(de la|a las) (mañana|tarde|noche))/i,\n  any: /^([ap]\\.?\\s?m\\.?|medianoche|mediodia|(de la|a las) (mañana|tarde|noche))/i,\n};\nconst parseDayPeriodPatterns = {\n  any: {\n    am: /^a/i,\n    pm: /^p/i,\n    midnight: /^mn/i,\n    noon: /^md/i,\n    morning: /mañana/i,\n    afternoon: /tarde/i,\n    evening: /tarde/i,\n    night: /noche/i,\n  },\n};\n\nexport const match = {\n  ordinalNumber: buildMatchPatternFn({\n    matchPattern: matchOrdinalNumberPattern,\n    parsePattern: parseOrdinalNumberPattern,\n    valueCallback: function (value) {\n      return parseInt(value, 10);\n    },\n  }),\n\n  era: buildMatchFn({\n    matchPatterns: matchEraPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseEraPatterns,\n    defaultParseWidth: \"any\",\n  }),\n\n  quarter: buildMatchFn({\n    matchPatterns: matchQuarterPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseQuarterPatterns,\n    defaultParseWidth: \"any\",\n    valueCallback: (index) => index + 1,\n  }),\n\n  month: buildMatchFn({\n    matchPatterns: matchMonthPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseMonthPatterns,\n    defaultParseWidth: \"any\",\n  }),\n\n  day: buildMatchFn({\n    matchPatterns: matchDayPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseDayPatterns,\n    defaultParseWidth: \"any\",\n  }),\n\n  dayPeriod: buildMatchFn({\n    matchPatterns: matchDayPeriodPatterns,\n    defaultMatchWidth: \"any\",\n    parsePatterns: parseDayPeriodPatterns,\n    defaultParseWidth: \"any\",\n  }),\n};\n","import { formatDistance } from \"./es/_lib/formatDistance.mjs\";\nimport { formatLong } from \"./es/_lib/formatLong.mjs\";\nimport { formatRelative } from \"./es/_lib/formatRelative.mjs\";\nimport { localize } from \"./es/_lib/localize.mjs\";\nimport { match } from \"./es/_lib/match.mjs\";\n\n/**\n * @category Locales\n * @summary Spanish locale.\n * @language Spanish\n * @iso-639-2 spa\n * @author Juan Angosto [@juanangosto](https://github.com/juanangosto)\n * @author Guillermo Grau [@guigrpa](https://github.com/guigrpa)\n * @author Fernando Agüero [@fjaguero](https://github.com/fjaguero)\n * @author Gastón Haro [@harogaston](https://github.com/harogaston)\n * @author Yago Carballo [@YagoCarballo](https://github.com/YagoCarballo)\n */\nexport const es = {\n  code: \"es\",\n  formatDistance: formatDistance,\n  formatLong: formatLong,\n  formatRelative: formatRelative,\n  localize: localize,\n  match: match,\n  options: {\n    weekStartsOn: 1 /* Monday */,\n    firstWeekContainsDate: 1,\n  },\n};\n\n// Fallback for modularized imports:\nexport default es;\n","function futureSeconds(text) {\n  return text.replace(/sekuntia?/, \"sekunnin\");\n}\n\nfunction futureMinutes(text) {\n  return text.replace(/minuuttia?/, \"minuutin\");\n}\n\nfunction futureHours(text) {\n  return text.replace(/tuntia?/, \"tunnin\");\n}\n\nfunction futureDays(text) {\n  return text.replace(/päivää?/, \"päivän\");\n}\n\nfunction futureWeeks(text) {\n  return text.replace(/(viikko|viikkoa)/, \"viikon\");\n}\n\nfunction futureMonths(text) {\n  return text.replace(/(kuukausi|kuukautta)/, \"kuukauden\");\n}\n\nfunction futureYears(text) {\n  return text.replace(/(vuosi|vuotta)/, \"vuoden\");\n}\n\nconst formatDistanceLocale = {\n  lessThanXSeconds: {\n    one: \"alle sekunti\",\n    other: \"alle {{count}} sekuntia\",\n    futureTense: futureSeconds,\n  },\n\n  xSeconds: {\n    one: \"sekunti\",\n    other: \"{{count}} sekuntia\",\n    futureTense: futureSeconds,\n  },\n\n  halfAMinute: {\n    one: \"puoli minuuttia\",\n    other: \"puoli minuuttia\",\n    futureTense: (_text) => \"puolen minuutin\",\n  },\n\n  lessThanXMinutes: {\n    one: \"alle minuutti\",\n    other: \"alle {{count}} minuuttia\",\n    futureTense: futureMinutes,\n  },\n\n  xMinutes: {\n    one: \"minuutti\",\n    other: \"{{count}} minuuttia\",\n    futureTense: futureMinutes,\n  },\n\n  aboutXHours: {\n    one: \"noin tunti\",\n    other: \"noin {{count}} tuntia\",\n    futureTense: futureHours,\n  },\n\n  xHours: {\n    one: \"tunti\",\n    other: \"{{count}} tuntia\",\n    futureTense: futureHours,\n  },\n\n  xDays: {\n    one: \"päivä\",\n    other: \"{{count}} päivää\",\n    futureTense: futureDays,\n  },\n\n  aboutXWeeks: {\n    one: \"noin viikko\",\n    other: \"noin {{count}} viikkoa\",\n    futureTense: futureWeeks,\n  },\n\n  xWeeks: {\n    one: \"viikko\",\n    other: \"{{count}} viikkoa\",\n    futureTense: futureWeeks,\n  },\n\n  aboutXMonths: {\n    one: \"noin kuukausi\",\n    other: \"noin {{count}} kuukautta\",\n    futureTense: futureMonths,\n  },\n\n  xMonths: {\n    one: \"kuukausi\",\n    other: \"{{count}} kuukautta\",\n    futureTense: futureMonths,\n  },\n\n  aboutXYears: {\n    one: \"noin vuosi\",\n    other: \"noin {{count}} vuotta\",\n    futureTense: futureYears,\n  },\n\n  xYears: {\n    one: \"vuosi\",\n    other: \"{{count}} vuotta\",\n    futureTense: futureYears,\n  },\n\n  overXYears: {\n    one: \"yli vuosi\",\n    other: \"yli {{count}} vuotta\",\n    futureTense: futureYears,\n  },\n\n  almostXYears: {\n    one: \"lähes vuosi\",\n    other: \"lähes {{count}} vuotta\",\n    futureTense: futureYears,\n  },\n};\n\nexport const formatDistance = (token, count, options) => {\n  const tokenValue = formatDistanceLocale[token];\n  const result =\n    count === 1\n      ? tokenValue.one\n      : tokenValue.other.replace(\"{{count}}\", String(count));\n\n  if (options?.addSuffix) {\n    if (options.comparison && options.comparison > 0) {\n      return tokenValue.futureTense(result) + \" kuluttua\";\n    } else {\n      return result + \" sitten\";\n    }\n  }\n\n  return result;\n};\n","import { buildFormatLongFn } from \"../../_lib/buildFormatLongFn.mjs\";\n\nconst dateFormats = {\n  full: \"eeee d. MMMM y\",\n  long: \"d. MMMM y\",\n  medium: \"d. MMM y\",\n  short: \"d.M.y\",\n};\n\nconst timeFormats = {\n  full: \"HH.mm.ss zzzz\",\n  long: \"HH.mm.ss z\",\n  medium: \"HH.mm.ss\",\n  short: \"HH.mm\",\n};\n\nconst dateTimeFormats = {\n  full: \"{{date}} 'klo' {{time}}\",\n  long: \"{{date}} 'klo' {{time}}\",\n  medium: \"{{date}} {{time}}\",\n  short: \"{{date}} {{time}}\",\n};\n\nexport const formatLong = {\n  date: buildFormatLongFn({\n    formats: dateFormats,\n    defaultWidth: \"full\",\n  }),\n\n  time: buildFormatLongFn({\n    formats: timeFormats,\n    defaultWidth: \"full\",\n  }),\n\n  dateTime: buildFormatLongFn({\n    formats: dateTimeFormats,\n    defaultWidth: \"full\",\n  }),\n};\n","const formatRelativeLocale = {\n  lastWeek: \"'viime' eeee 'klo' p\",\n  yesterday: \"'eilen klo' p\",\n  today: \"'tänään klo' p\",\n  tomorrow: \"'huomenna klo' p\",\n  nextWeek: \"'ensi' eeee 'klo' p\",\n  other: \"P\",\n};\n\nexport const formatRelative = (token, _date, _baseDate, _options) =>\n  formatRelativeLocale[token];\n","import { buildLocalizeFn } from \"../../_lib/buildLocalizeFn.mjs\";\n\nconst eraValues = {\n  narrow: [\"eaa.\", \"jaa.\"],\n  abbreviated: [\"eaa.\", \"jaa.\"],\n  wide: [\"ennen ajanlaskun alkua\", \"jälkeen ajanlaskun alun\"],\n};\n\nconst quarterValues = {\n  narrow: [\"1\", \"2\", \"3\", \"4\"],\n  abbreviated: [\"Q1\", \"Q2\", \"Q3\", \"Q4\"],\n  wide: [\"1. kvartaali\", \"2. kvartaali\", \"3. kvartaali\", \"4. kvartaali\"],\n};\n\nconst monthValues = {\n  narrow: [\"T\", \"H\", \"M\", \"H\", \"T\", \"K\", \"H\", \"E\", \"S\", \"L\", \"M\", \"J\"],\n  abbreviated: [\n    \"tammi\",\n    \"helmi\",\n    \"maalis\",\n    \"huhti\",\n    \"touko\",\n    \"kesä\",\n    \"heinä\",\n    \"elo\",\n    \"syys\",\n    \"loka\",\n    \"marras\",\n    \"joulu\",\n  ],\n\n  wide: [\n    \"tammikuu\",\n    \"helmikuu\",\n    \"maaliskuu\",\n    \"huhtikuu\",\n    \"toukokuu\",\n    \"kesäkuu\",\n    \"heinäkuu\",\n    \"elokuu\",\n    \"syyskuu\",\n    \"lokakuu\",\n    \"marraskuu\",\n    \"joulukuu\",\n  ],\n};\n\nconst formattingMonthValues = {\n  narrow: monthValues.narrow,\n  abbreviated: monthValues.abbreviated,\n  wide: [\n    \"tammikuuta\",\n    \"helmikuuta\",\n    \"maaliskuuta\",\n    \"huhtikuuta\",\n    \"toukokuuta\",\n    \"kesäkuuta\",\n    \"heinäkuuta\",\n    \"elokuuta\",\n    \"syyskuuta\",\n    \"lokakuuta\",\n    \"marraskuuta\",\n    \"joulukuuta\",\n  ],\n};\n\nconst dayValues = {\n  narrow: [\"S\", \"M\", \"T\", \"K\", \"T\", \"P\", \"L\"],\n  short: [\"su\", \"ma\", \"ti\", \"ke\", \"to\", \"pe\", \"la\"],\n  abbreviated: [\"sunn.\", \"maan.\", \"tiis.\", \"kesk.\", \"torst.\", \"perj.\", \"la\"],\n\n  wide: [\n    \"sunnuntai\",\n    \"maanantai\",\n    \"tiistai\",\n    \"keskiviikko\",\n    \"torstai\",\n    \"perjantai\",\n    \"lauantai\",\n  ],\n};\n\nconst formattingDayValues = {\n  narrow: dayValues.narrow,\n  short: dayValues.short,\n  abbreviated: dayValues.abbreviated,\n  wide: [\n    \"sunnuntaina\",\n    \"maanantaina\",\n    \"tiistaina\",\n    \"keskiviikkona\",\n    \"torstaina\",\n    \"perjantaina\",\n    \"lauantaina\",\n  ],\n};\n\nconst dayPeriodValues = {\n  narrow: {\n    am: \"ap\",\n    pm: \"ip\",\n    midnight: \"keskiyö\",\n    noon: \"keskipäivä\",\n    morning: \"ap\",\n    afternoon: \"ip\",\n    evening: \"illalla\",\n    night: \"yöllä\",\n  },\n  abbreviated: {\n    am: \"ap\",\n    pm: \"ip\",\n    midnight: \"keskiyö\",\n    noon: \"keskipäivä\",\n    morning: \"ap\",\n    afternoon: \"ip\",\n    evening: \"illalla\",\n    night: \"yöllä\",\n  },\n  wide: {\n    am: \"ap\",\n    pm: \"ip\",\n    midnight: \"keskiyöllä\",\n    noon: \"keskipäivällä\",\n    morning: \"aamupäivällä\",\n    afternoon: \"iltapäivällä\",\n    evening: \"illalla\",\n    night: \"yöllä\",\n  },\n};\n\nconst ordinalNumber = (dirtyNumber, _options) => {\n  const number = Number(dirtyNumber);\n  return number + \".\";\n};\n\nexport const localize = {\n  ordinalNumber,\n\n  era: buildLocalizeFn({\n    values: eraValues,\n    defaultWidth: \"wide\",\n  }),\n\n  quarter: buildLocalizeFn({\n    values: quarterValues,\n    defaultWidth: \"wide\",\n    argumentCallback: (quarter) => quarter - 1,\n  }),\n\n  month: buildLocalizeFn({\n    values: monthValues,\n    defaultWidth: \"wide\",\n    formattingValues: formattingMonthValues,\n    defaultFormattingWidth: \"wide\",\n  }),\n\n  day: buildLocalizeFn({\n    values: dayValues,\n    defaultWidth: \"wide\",\n    formattingValues: formattingDayValues,\n    defaultFormattingWidth: \"wide\",\n  }),\n\n  dayPeriod: buildLocalizeFn({\n    values: dayPeriodValues,\n    defaultWidth: \"wide\",\n  }),\n};\n","import { buildMatchFn } from \"../../_lib/buildMatchFn.mjs\";\nimport { buildMatchPatternFn } from \"../../_lib/buildMatchPatternFn.mjs\";\n\nconst matchOrdinalNumberPattern = /^(\\d+)(\\.)/i;\nconst parseOrdinalNumberPattern = /\\d+/i;\n\nconst matchEraPatterns = {\n  narrow: /^(e|j)/i,\n  abbreviated: /^(eaa.|jaa.)/i,\n  wide: /^(ennen ajanlaskun alkua|jälkeen ajanlaskun alun)/i,\n};\nconst parseEraPatterns = {\n  any: [/^e/i, /^j/i],\n};\n\nconst matchQuarterPatterns = {\n  narrow: /^[1234]/i,\n  abbreviated: /^q[1234]/i,\n  wide: /^[1234]\\.? kvartaali/i,\n};\nconst parseQuarterPatterns = {\n  any: [/1/i, /2/i, /3/i, /4/i],\n};\n\nconst matchMonthPatterns = {\n  narrow: /^[thmkeslj]/i,\n  abbreviated:\n    /^(tammi|helmi|maalis|huhti|touko|kesä|heinä|elo|syys|loka|marras|joulu)/i,\n  wide: /^(tammikuu|helmikuu|maaliskuu|huhtikuu|toukokuu|kesäkuu|heinäkuu|elokuu|syyskuu|lokakuu|marraskuu|joulukuu)(ta)?/i,\n};\nconst parseMonthPatterns = {\n  narrow: [\n    /^t/i,\n    /^h/i,\n    /^m/i,\n    /^h/i,\n    /^t/i,\n    /^k/i,\n    /^h/i,\n    /^e/i,\n    /^s/i,\n    /^l/i,\n    /^m/i,\n    /^j/i,\n  ],\n\n  any: [\n    /^ta/i,\n    /^hel/i,\n    /^maa/i,\n    /^hu/i,\n    /^to/i,\n    /^k/i,\n    /^hei/i,\n    /^e/i,\n    /^s/i,\n    /^l/i,\n    /^mar/i,\n    /^j/i,\n  ],\n};\n\nconst matchDayPatterns = {\n  narrow: /^[smtkpl]/i,\n  short: /^(su|ma|ti|ke|to|pe|la)/i,\n  abbreviated: /^(sunn.|maan.|tiis.|kesk.|torst.|perj.|la)/i,\n  wide: /^(sunnuntai|maanantai|tiistai|keskiviikko|torstai|perjantai|lauantai)(na)?/i,\n};\nconst parseDayPatterns = {\n  narrow: [/^s/i, /^m/i, /^t/i, /^k/i, /^t/i, /^p/i, /^l/i],\n  any: [/^s/i, /^m/i, /^ti/i, /^k/i, /^to/i, /^p/i, /^l/i],\n};\n\nconst matchDayPeriodPatterns = {\n  narrow:\n    /^(ap|ip|keskiyö|keskipäivä|aamupäivällä|iltapäivällä|illalla|yöllä)/i,\n  any: /^(ap|ip|keskiyöllä|keskipäivällä|aamupäivällä|iltapäivällä|illalla|yöllä)/i,\n};\nconst parseDayPeriodPatterns = {\n  any: {\n    am: /^ap/i,\n    pm: /^ip/i,\n    midnight: /^keskiyö/i,\n    noon: /^keskipäivä/i,\n    morning: /aamupäivällä/i,\n    afternoon: /iltapäivällä/i,\n    evening: /illalla/i,\n    night: /yöllä/i,\n  },\n};\n\nexport const match = {\n  ordinalNumber: buildMatchPatternFn({\n    matchPattern: matchOrdinalNumberPattern,\n    parsePattern: parseOrdinalNumberPattern,\n    valueCallback: (value) => parseInt(value, 10),\n  }),\n\n  era: buildMatchFn({\n    matchPatterns: matchEraPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseEraPatterns,\n    defaultParseWidth: \"any\",\n  }),\n\n  quarter: buildMatchFn({\n    matchPatterns: matchQuarterPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseQuarterPatterns,\n    defaultParseWidth: \"any\",\n    valueCallback: (index) => index + 1,\n  }),\n\n  month: buildMatchFn({\n    matchPatterns: matchMonthPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseMonthPatterns,\n    defaultParseWidth: \"any\",\n  }),\n\n  day: buildMatchFn({\n    matchPatterns: matchDayPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseDayPatterns,\n    defaultParseWidth: \"any\",\n  }),\n\n  dayPeriod: buildMatchFn({\n    matchPatterns: matchDayPeriodPatterns,\n    defaultMatchWidth: \"any\",\n    parsePatterns: parseDayPeriodPatterns,\n    defaultParseWidth: \"any\",\n  }),\n};\n","import { formatDistance } from \"./fi/_lib/formatDistance.mjs\";\nimport { formatLong } from \"./fi/_lib/formatLong.mjs\";\nimport { formatRelative } from \"./fi/_lib/formatRelative.mjs\";\nimport { localize } from \"./fi/_lib/localize.mjs\";\nimport { match } from \"./fi/_lib/match.mjs\";\n\n/**\n * @category Locales\n * @summary Finnish locale.\n * @language Finnish\n * @iso-639-2 fin\n * @author Pyry-Samuli Lahti [@Pyppe](https://github.com/Pyppe)\n * @author Edo Rivai [@mikolajgrzyb](https://github.com/mikolajgrzyb)\n * @author Samu Juvonen [@sjuvonen](https://github.com/sjuvonen)\n */\nexport const fi = {\n  code: \"fi\",\n  formatDistance: formatDistance,\n  formatLong: formatLong,\n  formatRelative: formatRelative,\n  localize: localize,\n  match: match,\n  options: {\n    weekStartsOn: 1 /* Monday */,\n    firstWeekContainsDate: 4,\n  },\n};\n\n// Fallback for modularized imports:\nexport default fi;\n","const formatDistanceLocale = {\n  lessThanXSeconds: {\n    one: \"mindre enn ett sekund\",\n    other: \"mindre enn {{count}} sekunder\",\n  },\n\n  xSeconds: {\n    one: \"ett sekund\",\n    other: \"{{count}} sekunder\",\n  },\n\n  halfAMinute: \"et halvt minutt\",\n\n  lessThanXMinutes: {\n    one: \"mindre enn ett minutt\",\n    other: \"mindre enn {{count}} minutter\",\n  },\n\n  xMinutes: {\n    one: \"ett minutt\",\n    other: \"{{count}} minutter\",\n  },\n\n  aboutXHours: {\n    one: \"omtrent en time\",\n    other: \"omtrent {{count}} timer\",\n  },\n\n  xHours: {\n    one: \"en time\",\n    other: \"{{count}} timer\",\n  },\n\n  xDays: {\n    one: \"en dag\",\n    other: \"{{count}} dager\",\n  },\n\n  aboutXWeeks: {\n    one: \"omtrent en uke\",\n    other: \"omtrent {{count}} uker\",\n  },\n\n  xWeeks: {\n    one: \"en uke\",\n    other: \"{{count}} uker\",\n  },\n\n  aboutXMonths: {\n    one: \"omtrent en måned\",\n    other: \"omtrent {{count}} måneder\",\n  },\n\n  xMonths: {\n    one: \"en måned\",\n    other: \"{{count}} måneder\",\n  },\n\n  aboutXYears: {\n    one: \"omtrent ett år\",\n    other: \"omtrent {{count}} år\",\n  },\n\n  xYears: {\n    one: \"ett år\",\n    other: \"{{count}} år\",\n  },\n\n  overXYears: {\n    one: \"over ett år\",\n    other: \"over {{count}} år\",\n  },\n\n  almostXYears: {\n    one: \"nesten ett år\",\n    other: \"nesten {{count}} år\",\n  },\n};\n\nexport const formatDistance = (token, count, options) => {\n  let result;\n\n  const tokenValue = formatDistanceLocale[token];\n  if (typeof tokenValue === \"string\") {\n    result = tokenValue;\n  } else if (count === 1) {\n    result = tokenValue.one;\n  } else {\n    result = tokenValue.other.replace(\"{{count}}\", String(count));\n  }\n\n  if (options?.addSuffix) {\n    if (options.comparison && options.comparison > 0) {\n      return \"om \" + result;\n    } else {\n      return result + \" siden\";\n    }\n  }\n\n  return result;\n};\n","import { buildFormatLongFn } from \"../../_lib/buildFormatLongFn.mjs\";\n\nconst dateFormats = {\n  full: \"EEEE d. MMMM y\",\n  long: \"d. MMMM y\",\n  medium: \"d. MMM y\",\n  short: \"dd.MM.y\",\n};\n\nconst timeFormats = {\n  full: \"'kl'. HH:mm:ss zzzz\",\n  long: \"HH:mm:ss z\",\n  medium: \"HH:mm:ss\",\n  short: \"HH:mm\",\n};\n\nconst dateTimeFormats = {\n  full: \"{{date}} 'kl.' {{time}}\",\n  long: \"{{date}} 'kl.' {{time}}\",\n  medium: \"{{date}} {{time}}\",\n  short: \"{{date}} {{time}}\",\n};\n\nexport const formatLong = {\n  date: buildFormatLongFn({\n    formats: dateFormats,\n    defaultWidth: \"full\",\n  }),\n\n  time: buildFormatLongFn({\n    formats: timeFormats,\n    defaultWidth: \"full\",\n  }),\n\n  dateTime: buildFormatLongFn({\n    formats: dateTimeFormats,\n    defaultWidth: \"full\",\n  }),\n};\n","const formatRelativeLocale = {\n  lastWeek: \"'forrige' eeee 'kl.' p\",\n  yesterday: \"'i går kl.' p\",\n  today: \"'i dag kl.' p\",\n  tomorrow: \"'i morgen kl.' p\",\n  nextWeek: \"EEEE 'kl.' p\",\n  other: \"P\",\n};\n\nexport const formatRelative = (token, _date, _baseDate, _options) =>\n  formatRelativeLocale[token];\n","import { buildLocalizeFn } from \"../../_lib/buildLocalizeFn.mjs\";\n\nconst eraValues = {\n  narrow: [\"f.Kr.\", \"e.Kr.\"],\n  abbreviated: [\"f.Kr.\", \"e.Kr.\"],\n  wide: [\"før Kristus\", \"etter Kristus\"],\n};\n\nconst quarterValues = {\n  narrow: [\"1\", \"2\", \"3\", \"4\"],\n  abbreviated: [\"Q1\", \"Q2\", \"Q3\", \"Q4\"],\n  wide: [\"1. kvartal\", \"2. kvartal\", \"3. kvartal\", \"4. kvartal\"],\n};\n\nconst monthValues = {\n  narrow: [\"J\", \"F\", \"M\", \"A\", \"M\", \"J\", \"J\", \"A\", \"S\", \"O\", \"N\", \"D\"],\n  abbreviated: [\n    \"jan.\",\n    \"feb.\",\n    \"mars\",\n    \"apr.\",\n    \"mai\",\n    \"juni\",\n    \"juli\",\n    \"aug.\",\n    \"sep.\",\n    \"okt.\",\n    \"nov.\",\n    \"des.\",\n  ],\n\n  wide: [\n    \"januar\",\n    \"februar\",\n    \"mars\",\n    \"april\",\n    \"mai\",\n    \"juni\",\n    \"juli\",\n    \"august\",\n    \"september\",\n    \"oktober\",\n    \"november\",\n    \"desember\",\n  ],\n};\n\nconst dayValues = {\n  narrow: [\"S\", \"M\", \"T\", \"O\", \"T\", \"F\", \"L\"],\n  short: [\"sø\", \"ma\", \"ti\", \"on\", \"to\", \"fr\", \"lø\"],\n  abbreviated: [\"søn\", \"man\", \"tir\", \"ons\", \"tor\", \"fre\", \"lør\"],\n  wide: [\n    \"søndag\",\n    \"mandag\",\n    \"tirsdag\",\n    \"onsdag\",\n    \"torsdag\",\n    \"fredag\",\n    \"lørdag\",\n  ],\n};\n\nconst dayPeriodValues = {\n  narrow: {\n    am: \"a\",\n    pm: \"p\",\n    midnight: \"midnatt\",\n    noon: \"middag\",\n    morning: \"på morg.\",\n    afternoon: \"på etterm.\",\n    evening: \"på kvelden\",\n    night: \"på natten\",\n  },\n  abbreviated: {\n    am: \"a.m.\",\n    pm: \"p.m.\",\n    midnight: \"midnatt\",\n    noon: \"middag\",\n    morning: \"på morg.\",\n    afternoon: \"på etterm.\",\n    evening: \"på kvelden\",\n    night: \"på natten\",\n  },\n  wide: {\n    am: \"a.m.\",\n    pm: \"p.m.\",\n    midnight: \"midnatt\",\n    noon: \"middag\",\n    morning: \"på morgenen\",\n    afternoon: \"på ettermiddagen\",\n    evening: \"på kvelden\",\n    night: \"på natten\",\n  },\n};\n\nconst ordinalNumber = (dirtyNumber, _options) => {\n  const number = Number(dirtyNumber);\n  return number + \".\";\n};\n\nexport const localize = {\n  ordinalNumber,\n\n  era: buildLocalizeFn({\n    values: eraValues,\n    defaultWidth: \"wide\",\n  }),\n\n  quarter: buildLocalizeFn({\n    values: quarterValues,\n    defaultWidth: \"wide\",\n    argumentCallback: (quarter) => quarter - 1,\n  }),\n\n  month: buildLocalizeFn({\n    values: monthValues,\n    defaultWidth: \"wide\",\n  }),\n\n  day: buildLocalizeFn({\n    values: dayValues,\n    defaultWidth: \"wide\",\n  }),\n\n  dayPeriod: buildLocalizeFn({\n    values: dayPeriodValues,\n    defaultWidth: \"wide\",\n  }),\n};\n","import { buildMatchFn } from \"../../_lib/buildMatchFn.mjs\";\nimport { buildMatchPatternFn } from \"../../_lib/buildMatchPatternFn.mjs\";\n\nconst matchOrdinalNumberPattern = /^(\\d+)\\.?/i;\nconst parseOrdinalNumberPattern = /\\d+/i;\n\nconst matchEraPatterns = {\n  narrow: /^(f\\.? ?Kr\\.?|fvt\\.?|e\\.? ?Kr\\.?|evt\\.?)/i,\n  abbreviated: /^(f\\.? ?Kr\\.?|fvt\\.?|e\\.? ?Kr\\.?|evt\\.?)/i,\n  wide: /^(før Kristus|før vår tid|etter Kristus|vår tid)/i,\n};\nconst parseEraPatterns = {\n  any: [/^f/i, /^e/i],\n};\n\nconst matchQuarterPatterns = {\n  narrow: /^[1234]/i,\n  abbreviated: /^q[1234]/i,\n  wide: /^[1234](\\.)? kvartal/i,\n};\nconst parseQuarterPatterns = {\n  any: [/1/i, /2/i, /3/i, /4/i],\n};\n\nconst matchMonthPatterns = {\n  narrow: /^[jfmasond]/i,\n  abbreviated: /^(jan|feb|mars?|apr|mai|juni?|juli?|aug|sep|okt|nov|des)\\.?/i,\n  wide: /^(januar|februar|mars|april|mai|juni|juli|august|september|oktober|november|desember)/i,\n};\nconst parseMonthPatterns = {\n  narrow: [\n    /^j/i,\n    /^f/i,\n    /^m/i,\n    /^a/i,\n    /^m/i,\n    /^j/i,\n    /^j/i,\n    /^a/i,\n    /^s/i,\n    /^o/i,\n    /^n/i,\n    /^d/i,\n  ],\n\n  any: [\n    /^ja/i,\n    /^f/i,\n    /^mar/i,\n    /^ap/i,\n    /^mai/i,\n    /^jun/i,\n    /^jul/i,\n    /^aug/i,\n    /^s/i,\n    /^o/i,\n    /^n/i,\n    /^d/i,\n  ],\n};\n\nconst matchDayPatterns = {\n  narrow: /^[smtofl]/i,\n  short: /^(sø|ma|ti|on|to|fr|lø)/i,\n  abbreviated: /^(søn|man|tir|ons|tor|fre|lør)/i,\n  wide: /^(søndag|mandag|tirsdag|onsdag|torsdag|fredag|lørdag)/i,\n};\nconst parseDayPatterns = {\n  any: [/^s/i, /^m/i, /^ti/i, /^o/i, /^to/i, /^f/i, /^l/i],\n};\n\nconst matchDayPeriodPatterns = {\n  narrow:\n    /^(midnatt|middag|(på) (morgenen|ettermiddagen|kvelden|natten)|[ap])/i,\n  any: /^([ap]\\.?\\s?m\\.?|midnatt|middag|(på) (morgenen|ettermiddagen|kvelden|natten))/i,\n};\nconst parseDayPeriodPatterns = {\n  any: {\n    am: /^a(\\.?\\s?m\\.?)?$/i,\n    pm: /^p(\\.?\\s?m\\.?)?$/i,\n    midnight: /^midn/i,\n    noon: /^midd/i,\n    morning: /morgen/i,\n    afternoon: /ettermiddag/i,\n    evening: /kveld/i,\n    night: /natt/i,\n  },\n};\n\nexport const match = {\n  ordinalNumber: buildMatchPatternFn({\n    matchPattern: matchOrdinalNumberPattern,\n    parsePattern: parseOrdinalNumberPattern,\n    valueCallback: (value) => parseInt(value, 10),\n  }),\n\n  era: buildMatchFn({\n    matchPatterns: matchEraPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseEraPatterns,\n    defaultParseWidth: \"any\",\n  }),\n\n  quarter: buildMatchFn({\n    matchPatterns: matchQuarterPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseQuarterPatterns,\n    defaultParseWidth: \"any\",\n    valueCallback: (index) => index + 1,\n  }),\n\n  month: buildMatchFn({\n    matchPatterns: matchMonthPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseMonthPatterns,\n    defaultParseWidth: \"any\",\n  }),\n\n  day: buildMatchFn({\n    matchPatterns: matchDayPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseDayPatterns,\n    defaultParseWidth: \"any\",\n  }),\n\n  dayPeriod: buildMatchFn({\n    matchPatterns: matchDayPeriodPatterns,\n    defaultMatchWidth: \"any\",\n    parsePatterns: parseDayPeriodPatterns,\n    defaultParseWidth: \"any\",\n  }),\n};\n","import { formatDistance } from \"./nb/_lib/formatDistance.mjs\";\nimport { formatLong } from \"./nb/_lib/formatLong.mjs\";\nimport { formatRelative } from \"./nb/_lib/formatRelative.mjs\";\nimport { localize } from \"./nb/_lib/localize.mjs\";\nimport { match } from \"./nb/_lib/match.mjs\";\n\n/**\n * @category Locales\n * @summary Norwegian Bokmål locale.\n * @language Norwegian Bokmål\n * @iso-639-2 nob\n * @author Hans-Kristian Koren [@Hanse](https://github.com/Hanse)\n * @author Mikolaj Grzyb [@mikolajgrzyb](https://github.com/mikolajgrzyb)\n * @author Dag Stuan [@dagstuan](https://github.com/dagstuan)\n */\nexport const nb = {\n  code: \"nb\",\n  formatDistance: formatDistance,\n  formatLong: formatLong,\n  formatRelative: formatRelative,\n  localize: localize,\n  match: match,\n  options: {\n    weekStartsOn: 1 /* Monday */,\n    firstWeekContainsDate: 4,\n  },\n};\n\n// Fallback for modularized imports:\nexport default nb;\n","const formatDistanceLocale = {\n  lessThanXSeconds: {\n    one: \"minder dan een seconde\",\n    other: \"minder dan {{count}} seconden\",\n  },\n\n  xSeconds: {\n    one: \"1 seconde\",\n    other: \"{{count}} seconden\",\n  },\n\n  halfAMinute: \"een halve minuut\",\n\n  lessThanXMinutes: {\n    one: \"minder dan een minuut\",\n    other: \"minder dan {{count}} minuten\",\n  },\n\n  xMinutes: {\n    one: \"een minuut\",\n    other: \"{{count}} minuten\",\n  },\n\n  aboutXHours: {\n    one: \"ongeveer 1 uur\",\n    other: \"ongeveer {{count}} uur\",\n  },\n\n  xHours: {\n    one: \"1 uur\",\n    other: \"{{count}} uur\",\n  },\n\n  xDays: {\n    one: \"1 dag\",\n    other: \"{{count}} dagen\",\n  },\n\n  aboutXWeeks: {\n    one: \"ongeveer 1 week\",\n    other: \"ongeveer {{count}} weken\",\n  },\n\n  xWeeks: {\n    one: \"1 week\",\n    other: \"{{count}} weken\",\n  },\n\n  aboutXMonths: {\n    one: \"ongeveer 1 maand\",\n    other: \"ongeveer {{count}} maanden\",\n  },\n\n  xMonths: {\n    one: \"1 maand\",\n    other: \"{{count}} maanden\",\n  },\n\n  aboutXYears: {\n    one: \"ongeveer 1 jaar\",\n    other: \"ongeveer {{count}} jaar\",\n  },\n\n  xYears: {\n    one: \"1 jaar\",\n    other: \"{{count}} jaar\",\n  },\n\n  overXYears: {\n    one: \"meer dan 1 jaar\",\n    other: \"meer dan {{count}} jaar\",\n  },\n\n  almostXYears: {\n    one: \"bijna 1 jaar\",\n    other: \"bijna {{count}} jaar\",\n  },\n};\n\nexport const formatDistance = (token, count, options) => {\n  let result;\n\n  const tokenValue = formatDistanceLocale[token];\n  if (typeof tokenValue === \"string\") {\n    result = tokenValue;\n  } else if (count === 1) {\n    result = tokenValue.one;\n  } else {\n    result = tokenValue.other.replace(\"{{count}}\", String(count));\n  }\n\n  if (options?.addSuffix) {\n    if (options.comparison && options.comparison > 0) {\n      return \"over \" + result;\n    } else {\n      return result + \" geleden\";\n    }\n  }\n\n  return result;\n};\n","import { buildFormatLongFn } from \"../../_lib/buildFormatLongFn.mjs\";\n\nconst dateFormats = {\n  full: \"EEEE d MMMM y\",\n  long: \"d MMMM y\",\n  medium: \"d MMM y\",\n  short: \"dd-MM-y\",\n};\n\nconst timeFormats = {\n  full: \"HH:mm:ss zzzz\",\n  long: \"HH:mm:ss z\",\n  medium: \"HH:mm:ss\",\n  short: \"HH:mm\",\n};\n\nconst dateTimeFormats = {\n  full: \"{{date}} 'om' {{time}}\",\n  long: \"{{date}} 'om' {{time}}\",\n  medium: \"{{date}}, {{time}}\",\n  short: \"{{date}}, {{time}}\",\n};\n\nexport const formatLong = {\n  date: buildFormatLongFn({\n    formats: dateFormats,\n    defaultWidth: \"full\",\n  }),\n\n  time: buildFormatLongFn({\n    formats: timeFormats,\n    defaultWidth: \"full\",\n  }),\n\n  dateTime: buildFormatLongFn({\n    formats: dateTimeFormats,\n    defaultWidth: \"full\",\n  }),\n};\n","const formatRelativeLocale = {\n  lastWeek: \"'afgelopen' eeee 'om' p\",\n  yesterday: \"'gisteren om' p\",\n  today: \"'vandaag om' p\",\n  tomorrow: \"'morgen om' p\",\n  nextWeek: \"eeee 'om' p\",\n  other: \"P\",\n};\n\nexport const formatRelative = (token, _date, _baseDate, _options) =>\n  formatRelativeLocale[token];\n","import { buildLocalizeFn } from \"../../_lib/buildLocalizeFn.mjs\";\n\nconst eraValues = {\n  narrow: [\"v.C.\", \"n.C.\"],\n  abbreviated: [\"v.Chr.\", \"n.Chr.\"],\n  wide: [\"voor Christus\", \"na Christus\"],\n};\n\nconst quarterValues = {\n  narrow: [\"1\", \"2\", \"3\", \"4\"],\n  abbreviated: [\"K1\", \"K2\", \"K3\", \"K4\"],\n  wide: [\"1e kwartaal\", \"2e kwartaal\", \"3e kwartaal\", \"4e kwartaal\"],\n};\n\nconst monthValues = {\n  narrow: [\"J\", \"F\", \"M\", \"A\", \"M\", \"J\", \"J\", \"A\", \"S\", \"O\", \"N\", \"D\"],\n  abbreviated: [\n    \"jan.\",\n    \"feb.\",\n    \"mrt.\",\n    \"apr.\",\n    \"mei\",\n    \"jun.\",\n    \"jul.\",\n    \"aug.\",\n    \"sep.\",\n    \"okt.\",\n    \"nov.\",\n    \"dec.\",\n  ],\n\n  wide: [\n    \"januari\",\n    \"februari\",\n    \"maart\",\n    \"april\",\n    \"mei\",\n    \"juni\",\n    \"juli\",\n    \"augustus\",\n    \"september\",\n    \"oktober\",\n    \"november\",\n    \"december\",\n  ],\n};\n\nconst dayValues = {\n  narrow: [\"Z\", \"M\", \"D\", \"W\", \"D\", \"V\", \"Z\"],\n  short: [\"zo\", \"ma\", \"di\", \"wo\", \"do\", \"vr\", \"za\"],\n  abbreviated: [\"zon\", \"maa\", \"din\", \"woe\", \"don\", \"vri\", \"zat\"],\n  wide: [\n    \"zondag\",\n    \"maandag\",\n    \"dinsdag\",\n    \"woensdag\",\n    \"donderdag\",\n    \"vrijdag\",\n    \"zaterdag\",\n  ],\n};\n\nconst dayPeriodValues = {\n  narrow: {\n    am: \"AM\",\n    pm: \"PM\",\n    midnight: \"middernacht\",\n    noon: \"het middaguur\",\n    morning: \"'s ochtends\",\n    afternoon: \"'s middags\",\n    evening: \"'s avonds\",\n    night: \"'s nachts\",\n  },\n  abbreviated: {\n    am: \"AM\",\n    pm: \"PM\",\n    midnight: \"middernacht\",\n    noon: \"het middaguur\",\n    morning: \"'s ochtends\",\n    afternoon: \"'s middags\",\n    evening: \"'s avonds\",\n    night: \"'s nachts\",\n  },\n  wide: {\n    am: \"AM\",\n    pm: \"PM\",\n    midnight: \"middernacht\",\n    noon: \"het middaguur\",\n    morning: \"'s ochtends\",\n    afternoon: \"'s middags\",\n    evening: \"'s avonds\",\n    night: \"'s nachts\",\n  },\n};\n\nconst ordinalNumber = (dirtyNumber, _options) => {\n  const number = Number(dirtyNumber);\n  return number + \"e\";\n};\n\nexport const localize = {\n  ordinalNumber,\n\n  era: buildLocalizeFn({\n    values: eraValues,\n    defaultWidth: \"wide\",\n  }),\n\n  quarter: buildLocalizeFn({\n    values: quarterValues,\n    defaultWidth: \"wide\",\n    argumentCallback: (quarter) => quarter - 1,\n  }),\n\n  month: buildLocalizeFn({\n    values: monthValues,\n    defaultWidth: \"wide\",\n  }),\n\n  day: buildLocalizeFn({\n    values: dayValues,\n    defaultWidth: \"wide\",\n  }),\n\n  dayPeriod: buildLocalizeFn({\n    values: dayPeriodValues,\n    defaultWidth: \"wide\",\n  }),\n};\n","import { buildMatchFn } from \"../../_lib/buildMatchFn.mjs\";\nimport { buildMatchPatternFn } from \"../../_lib/buildMatchPatternFn.mjs\";\n\nconst matchOrdinalNumberPattern = /^(\\d+)e?/i;\nconst parseOrdinalNumberPattern = /\\d+/i;\n\nconst matchEraPatterns = {\n  narrow: /^([vn]\\.? ?C\\.?)/,\n  abbreviated: /^([vn]\\. ?Chr\\.?)/,\n  wide: /^((voor|na) Christus)/,\n};\nconst parseEraPatterns = {\n  any: [/^v/, /^n/],\n};\n\nconst matchQuarterPatterns = {\n  narrow: /^[1234]/i,\n  abbreviated: /^K[1234]/i,\n  wide: /^[1234]e kwartaal/i,\n};\nconst parseQuarterPatterns = {\n  any: [/1/i, /2/i, /3/i, /4/i],\n};\n\nconst matchMonthPatterns = {\n  narrow: /^[jfmasond]/i,\n  abbreviated: /^(jan.|feb.|mrt.|apr.|mei|jun.|jul.|aug.|sep.|okt.|nov.|dec.)/i,\n  wide: /^(januari|februari|maart|april|mei|juni|juli|augustus|september|oktober|november|december)/i,\n};\nconst parseMonthPatterns = {\n  narrow: [\n    /^j/i,\n    /^f/i,\n    /^m/i,\n    /^a/i,\n    /^m/i,\n    /^j/i,\n    /^j/i,\n    /^a/i,\n    /^s/i,\n    /^o/i,\n    /^n/i,\n    /^d/i,\n  ],\n\n  any: [\n    /^jan/i,\n    /^feb/i,\n    /^m(r|a)/i,\n    /^apr/i,\n    /^mei/i,\n    /^jun/i,\n    /^jul/i,\n    /^aug/i,\n    /^sep/i,\n    /^okt/i,\n    /^nov/i,\n    /^dec/i,\n  ],\n};\n\nconst matchDayPatterns = {\n  narrow: /^[zmdwv]/i,\n  short: /^(zo|ma|di|wo|do|vr|za)/i,\n  abbreviated: /^(zon|maa|din|woe|don|vri|zat)/i,\n  wide: /^(zondag|maandag|dinsdag|woensdag|donderdag|vrijdag|zaterdag)/i,\n};\nconst parseDayPatterns = {\n  narrow: [/^z/i, /^m/i, /^d/i, /^w/i, /^d/i, /^v/i, /^z/i],\n  any: [/^zo/i, /^ma/i, /^di/i, /^wo/i, /^do/i, /^vr/i, /^za/i],\n};\n\nconst matchDayPeriodPatterns = {\n  any: /^(am|pm|middernacht|het middaguur|'s (ochtends|middags|avonds|nachts))/i,\n};\nconst parseDayPeriodPatterns = {\n  any: {\n    am: /^am/i,\n    pm: /^pm/i,\n    midnight: /^middernacht/i,\n    noon: /^het middaguur/i,\n    morning: /ochtend/i,\n    afternoon: /middag/i,\n    evening: /avond/i,\n    night: /nacht/i,\n  },\n};\n\nexport const match = {\n  ordinalNumber: buildMatchPatternFn({\n    matchPattern: matchOrdinalNumberPattern,\n    parsePattern: parseOrdinalNumberPattern,\n    valueCallback: (value) => parseInt(value, 10),\n  }),\n\n  era: buildMatchFn({\n    matchPatterns: matchEraPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseEraPatterns,\n    defaultParseWidth: \"any\",\n  }),\n\n  quarter: buildMatchFn({\n    matchPatterns: matchQuarterPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseQuarterPatterns,\n    defaultParseWidth: \"any\",\n    valueCallback: (index) => index + 1,\n  }),\n\n  month: buildMatchFn({\n    matchPatterns: matchMonthPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseMonthPatterns,\n    defaultParseWidth: \"any\",\n  }),\n\n  day: buildMatchFn({\n    matchPatterns: matchDayPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseDayPatterns,\n    defaultParseWidth: \"any\",\n  }),\n\n  dayPeriod: buildMatchFn({\n    matchPatterns: matchDayPeriodPatterns,\n    defaultMatchWidth: \"any\",\n    parsePatterns: parseDayPeriodPatterns,\n    defaultParseWidth: \"any\",\n  }),\n};\n","import { formatDistance } from \"./nl/_lib/formatDistance.mjs\";\nimport { formatLong } from \"./nl/_lib/formatLong.mjs\";\nimport { formatRelative } from \"./nl/_lib/formatRelative.mjs\";\nimport { localize } from \"./nl/_lib/localize.mjs\";\nimport { match } from \"./nl/_lib/match.mjs\";\n\n/**\n * @category Locales\n * @summary Dutch locale.\n * @language Dutch\n * @iso-639-2 nld\n * @author Jorik Tangelder [@jtangelder](https://github.com/jtangelder)\n * @author Ruben Stolk [@rubenstolk](https://github.com/rubenstolk)\n * @author Lode Vanhove [@bitcrumb](https://github.com/bitcrumb)\n * @author Edo Rivai [@edorivai](https://github.com/edorivai)\n * @author Niels Keurentjes [@curry684](https://github.com/curry684)\n * @author Stefan Vermaas [@stefanvermaas](https://github.com/stefanvermaas)\n */\nexport const nl = {\n  code: \"nl\",\n  formatDistance: formatDistance,\n  formatLong: formatLong,\n  formatRelative: formatRelative,\n  localize: localize,\n  match: match,\n  options: {\n    weekStartsOn: 1 /* Monday */,\n    firstWeekContainsDate: 4,\n  },\n};\n\n// Fallback for modularized imports:\nexport default nl;\n","const formatDistanceLocale = {\n  lessThanXSeconds: {\n    one: {\n      regular: \"mniej niż sekunda\",\n      past: \"mniej niż sekundę\",\n      future: \"mniej niż sekundę\",\n    },\n    twoFour: \"mniej niż {{count}} sekundy\",\n    other: \"mniej niż {{count}} sekund\",\n  },\n\n  xSeconds: {\n    one: {\n      regular: \"sekunda\",\n      past: \"sekundę\",\n      future: \"sekundę\",\n    },\n    twoFour: \"{{count}} sekundy\",\n    other: \"{{count}} sekund\",\n  },\n\n  halfAMinute: {\n    one: \"pół minuty\",\n    twoFour: \"pół minuty\",\n    other: \"pół minuty\",\n  },\n\n  lessThanXMinutes: {\n    one: {\n      regular: \"mniej niż minuta\",\n      past: \"mniej niż minutę\",\n      future: \"mniej niż minutę\",\n    },\n    twoFour: \"mniej niż {{count}} minuty\",\n    other: \"mniej niż {{count}} minut\",\n  },\n\n  xMinutes: {\n    one: {\n      regular: \"minuta\",\n      past: \"minutę\",\n      future: \"minutę\",\n    },\n    twoFour: \"{{count}} minuty\",\n    other: \"{{count}} minut\",\n  },\n\n  aboutXHours: {\n    one: {\n      regular: \"około godziny\",\n      past: \"około godziny\",\n      future: \"około godzinę\",\n    },\n    twoFour: \"około {{count}} godziny\",\n    other: \"około {{count}} godzin\",\n  },\n\n  xHours: {\n    one: {\n      regular: \"godzina\",\n      past: \"godzinę\",\n      future: \"godzinę\",\n    },\n    twoFour: \"{{count}} godziny\",\n    other: \"{{count}} godzin\",\n  },\n\n  xDays: {\n    one: {\n      regular: \"dzień\",\n      past: \"dzień\",\n      future: \"1 dzień\",\n    },\n    twoFour: \"{{count}} dni\",\n    other: \"{{count}} dni\",\n  },\n\n  aboutXWeeks: {\n    one: \"około tygodnia\",\n    twoFour: \"około {{count}} tygodni\",\n    other: \"około {{count}} tygodni\",\n  },\n\n  xWeeks: {\n    one: \"tydzień\",\n    twoFour: \"{{count}} tygodnie\",\n    other: \"{{count}} tygodni\",\n  },\n\n  aboutXMonths: {\n    one: \"około miesiąc\",\n    twoFour: \"około {{count}} miesiące\",\n    other: \"około {{count}} miesięcy\",\n  },\n\n  xMonths: {\n    one: \"miesiąc\",\n    twoFour: \"{{count}} miesiące\",\n    other: \"{{count}} miesięcy\",\n  },\n\n  aboutXYears: {\n    one: \"około rok\",\n    twoFour: \"około {{count}} lata\",\n    other: \"około {{count}} lat\",\n  },\n\n  xYears: {\n    one: \"rok\",\n    twoFour: \"{{count}} lata\",\n    other: \"{{count}} lat\",\n  },\n\n  overXYears: {\n    one: \"ponad rok\",\n    twoFour: \"ponad {{count}} lata\",\n    other: \"ponad {{count}} lat\",\n  },\n\n  almostXYears: {\n    one: \"prawie rok\",\n    twoFour: \"prawie {{count}} lata\",\n    other: \"prawie {{count}} lat\",\n  },\n};\n\nfunction declensionGroup(scheme, count) {\n  if (count === 1) {\n    return scheme.one;\n  }\n\n  const rem100 = count % 100;\n\n  // ends with 11-20\n  if (rem100 <= 20 && rem100 > 10) {\n    return scheme.other;\n  }\n\n  const rem10 = rem100 % 10;\n\n  // ends with 2, 3, 4\n  if (rem10 >= 2 && rem10 <= 4) {\n    return scheme.twoFour;\n  }\n\n  return scheme.other;\n}\n\nfunction declension(scheme, count, time) {\n  const group = declensionGroup(scheme, count);\n  const finalText = typeof group === \"string\" ? group : group[time];\n  return finalText.replace(\"{{count}}\", String(count));\n}\n\nexport const formatDistance = (token, count, options) => {\n  const scheme = formatDistanceLocale[token];\n  if (!options?.addSuffix) {\n    return declension(scheme, count, \"regular\");\n  }\n\n  if (options.comparison && options.comparison > 0) {\n    return \"za \" + declension(scheme, count, \"future\");\n  } else {\n    return declension(scheme, count, \"past\") + \" temu\";\n  }\n};\n","import { buildFormatLongFn } from \"../../_lib/buildFormatLongFn.mjs\";\n\nconst dateFormats = {\n  full: \"EEEE, do MMMM y\",\n  long: \"do MMMM y\",\n  medium: \"do MMM y\",\n  short: \"dd.MM.y\",\n};\n\nconst timeFormats = {\n  full: \"HH:mm:ss zzzz\",\n  long: \"HH:mm:ss z\",\n  medium: \"HH:mm:ss\",\n  short: \"HH:mm\",\n};\n\nconst dateTimeFormats = {\n  full: \"{{date}} {{time}}\",\n  long: \"{{date}} {{time}}\",\n  medium: \"{{date}}, {{time}}\",\n  short: \"{{date}}, {{time}}\",\n};\n\nexport const formatLong = {\n  date: buildFormatLongFn({\n    formats: dateFormats,\n    defaultWidth: \"full\",\n  }),\n\n  time: buildFormatLongFn({\n    formats: timeFormats,\n    defaultWidth: \"full\",\n  }),\n\n  dateTime: buildFormatLongFn({\n    formats: dateTimeFormats,\n    defaultWidth: \"full\",\n  }),\n};\n","import { isSameWeek } from \"../../../isSameWeek.mjs\";\n\nconst adjectivesLastWeek = {\n  masculine: \"ostatni\",\n  feminine: \"ostatnia\",\n};\n\nconst adjectivesThisWeek = {\n  masculine: \"ten\",\n  feminine: \"ta\",\n};\n\nconst adjectivesNextWeek = {\n  masculine: \"następny\",\n  feminine: \"następna\",\n};\n\nconst dayGrammaticalGender = {\n  0: \"feminine\",\n  1: \"masculine\",\n  2: \"masculine\",\n  3: \"feminine\",\n  4: \"masculine\",\n  5: \"masculine\",\n  6: \"feminine\",\n};\n\nfunction dayAndTimeWithAdjective(token, date, baseDate, options) {\n  let adjectives;\n  if (isSameWeek(date, baseDate, options)) {\n    adjectives = adjectivesThisWeek;\n  } else if (token === \"lastWeek\") {\n    adjectives = adjectivesLastWeek;\n  } else if (token === \"nextWeek\") {\n    adjectives = adjectivesNextWeek;\n  } else {\n    throw new Error(`Cannot determine adjectives for token ${token}`);\n  }\n\n  const day = date.getDay();\n  const grammaticalGender = dayGrammaticalGender[day];\n\n  const adjective = adjectives[grammaticalGender];\n\n  return `'${adjective}' eeee 'o' p`;\n}\n\nconst formatRelativeLocale = {\n  lastWeek: dayAndTimeWithAdjective,\n  yesterday: \"'wczoraj o' p\",\n  today: \"'dzisiaj o' p\",\n  tomorrow: \"'jutro o' p\",\n  nextWeek: dayAndTimeWithAdjective,\n  other: \"P\",\n};\n\nexport const formatRelative = (token, date, baseDate, options) => {\n  const format = formatRelativeLocale[token];\n\n  if (typeof format === \"function\") {\n    return format(token, date, baseDate, options);\n  }\n\n  return format;\n};\n","import { startOfWeek } from \"./startOfWeek.mjs\";\n\n/**\n * The {@link isSameWeek} function options.\n */\n\n/**\n * @name isSameWeek\n * @category Week Helpers\n * @summary Are the given dates in the same week (and month and year)?\n *\n * @description\n * Are the given dates in the same week (and month and year)?\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param dateLeft - The first date to check\n * @param dateRight - The second date to check\n * @param options - An object with options\n *\n * @returns The dates are in the same week (and month and year)\n *\n * @example\n * // Are 31 August 2014 and 4 September 2014 in the same week?\n * const result = isSameWeek(new Date(2014, 7, 31), new Date(2014, 8, 4))\n * //=> true\n *\n * @example\n * // If week starts with Monday,\n * // are 31 August 2014 and 4 September 2014 in the same week?\n * const result = isSameWeek(new Date(2014, 7, 31), new Date(2014, 8, 4), {\n *   weekStartsOn: 1\n * })\n * //=> false\n *\n * @example\n * // Are 1 January 2014 and 1 January 2015 in the same week?\n * const result = isSameWeek(new Date(2014, 0, 1), new Date(2015, 0, 1))\n * //=> false\n */\nexport function isSameWeek(dateLeft, dateRight, options) {\n  const dateLeftStartOfWeek = startOfWeek(dateLeft, options);\n  const dateRightStartOfWeek = startOfWeek(dateRight, options);\n\n  return +dateLeftStartOfWeek === +dateRightStartOfWeek;\n}\n\n// Fallback for modularized imports:\nexport default isSameWeek;\n","import { buildLocalizeFn } from \"../../_lib/buildLocalizeFn.mjs\";\n\nconst eraValues = {\n  narrow: [\"p.n.e.\", \"n.e.\"],\n  abbreviated: [\"p.n.e.\", \"n.e.\"],\n  wide: [\"przed naszą erą\", \"naszej ery\"],\n};\n\nconst quarterValues = {\n  narrow: [\"1\", \"2\", \"3\", \"4\"],\n  abbreviated: [\"I kw.\", \"II kw.\", \"III kw.\", \"IV kw.\"],\n  wide: [\"I kwartał\", \"II kwartał\", \"III kwartał\", \"IV kwartał\"],\n};\n\nconst monthValues = {\n  narrow: [\"S\", \"L\", \"M\", \"K\", \"M\", \"C\", \"L\", \"S\", \"W\", \"P\", \"L\", \"G\"],\n  abbreviated: [\n    \"sty\",\n    \"lut\",\n    \"mar\",\n    \"kwi\",\n    \"maj\",\n    \"cze\",\n    \"lip\",\n    \"sie\",\n    \"wrz\",\n    \"paź\",\n    \"lis\",\n    \"gru\",\n  ],\n\n  wide: [\n    \"styczeń\",\n    \"luty\",\n    \"marzec\",\n    \"kwiecień\",\n    \"maj\",\n    \"czerwiec\",\n    \"lipiec\",\n    \"sierpień\",\n    \"wrzesień\",\n    \"październik\",\n    \"listopad\",\n    \"grudzień\",\n  ],\n};\nconst monthFormattingValues = {\n  narrow: [\"s\", \"l\", \"m\", \"k\", \"m\", \"c\", \"l\", \"s\", \"w\", \"p\", \"l\", \"g\"],\n  abbreviated: [\n    \"sty\",\n    \"lut\",\n    \"mar\",\n    \"kwi\",\n    \"maj\",\n    \"cze\",\n    \"lip\",\n    \"sie\",\n    \"wrz\",\n    \"paź\",\n    \"lis\",\n    \"gru\",\n  ],\n\n  wide: [\n    \"stycznia\",\n    \"lutego\",\n    \"marca\",\n    \"kwietnia\",\n    \"maja\",\n    \"czerwca\",\n    \"lipca\",\n    \"sierpnia\",\n    \"września\",\n    \"października\",\n    \"listopada\",\n    \"grudnia\",\n  ],\n};\n\nconst dayValues = {\n  narrow: [\"N\", \"P\", \"W\", \"Ś\", \"C\", \"P\", \"S\"],\n  short: [\"nie\", \"pon\", \"wto\", \"śro\", \"czw\", \"pią\", \"sob\"],\n  abbreviated: [\"niedz.\", \"pon.\", \"wt.\", \"śr.\", \"czw.\", \"pt.\", \"sob.\"],\n  wide: [\n    \"niedziela\",\n    \"poniedziałek\",\n    \"wtorek\",\n    \"środa\",\n    \"czwartek\",\n    \"piątek\",\n    \"sobota\",\n  ],\n};\nconst dayFormattingValues = {\n  narrow: [\"n\", \"p\", \"w\", \"ś\", \"c\", \"p\", \"s\"],\n  short: [\"nie\", \"pon\", \"wto\", \"śro\", \"czw\", \"pią\", \"sob\"],\n  abbreviated: [\"niedz.\", \"pon.\", \"wt.\", \"śr.\", \"czw.\", \"pt.\", \"sob.\"],\n  wide: [\n    \"niedziela\",\n    \"poniedziałek\",\n    \"wtorek\",\n    \"środa\",\n    \"czwartek\",\n    \"piątek\",\n    \"sobota\",\n  ],\n};\n\nconst dayPeriodValues = {\n  narrow: {\n    am: \"a\",\n    pm: \"p\",\n    midnight: \"półn.\",\n    noon: \"poł\",\n    morning: \"rano\",\n    afternoon: \"popoł.\",\n    evening: \"wiecz.\",\n    night: \"noc\",\n  },\n  abbreviated: {\n    am: \"AM\",\n    pm: \"PM\",\n    midnight: \"północ\",\n    noon: \"południe\",\n    morning: \"rano\",\n    afternoon: \"popołudnie\",\n    evening: \"wieczór\",\n    night: \"noc\",\n  },\n  wide: {\n    am: \"AM\",\n    pm: \"PM\",\n    midnight: \"północ\",\n    noon: \"południe\",\n    morning: \"rano\",\n    afternoon: \"popołudnie\",\n    evening: \"wieczór\",\n    night: \"noc\",\n  },\n};\n\nconst dayPeriodFormattingValues = {\n  narrow: {\n    am: \"a\",\n    pm: \"p\",\n    midnight: \"o półn.\",\n    noon: \"w poł.\",\n    morning: \"rano\",\n    afternoon: \"po poł.\",\n    evening: \"wiecz.\",\n    night: \"w nocy\",\n  },\n  abbreviated: {\n    am: \"AM\",\n    pm: \"PM\",\n    midnight: \"o północy\",\n    noon: \"w południe\",\n    morning: \"rano\",\n    afternoon: \"po południu\",\n    evening: \"wieczorem\",\n    night: \"w nocy\",\n  },\n  wide: {\n    am: \"AM\",\n    pm: \"PM\",\n    midnight: \"o północy\",\n    noon: \"w południe\",\n    morning: \"rano\",\n    afternoon: \"po południu\",\n    evening: \"wieczorem\",\n    night: \"w nocy\",\n  },\n};\n\nconst ordinalNumber = (dirtyNumber, _options) => {\n  return String(dirtyNumber);\n};\n\nexport const localize = {\n  ordinalNumber,\n\n  era: buildLocalizeFn({\n    values: eraValues,\n    defaultWidth: \"wide\",\n  }),\n\n  quarter: buildLocalizeFn({\n    values: quarterValues,\n    defaultWidth: \"wide\",\n    argumentCallback: (quarter) => quarter - 1,\n  }),\n\n  month: buildLocalizeFn({\n    values: monthValues,\n    defaultWidth: \"wide\",\n    formattingValues: monthFormattingValues,\n    defaultFormattingWidth: \"wide\",\n  }),\n\n  day: buildLocalizeFn({\n    values: dayValues,\n    defaultWidth: \"wide\",\n    formattingValues: dayFormattingValues,\n    defaultFormattingWidth: \"wide\",\n  }),\n\n  dayPeriod: buildLocalizeFn({\n    values: dayPeriodValues,\n    defaultWidth: \"wide\",\n    formattingValues: dayPeriodFormattingValues,\n    defaultFormattingWidth: \"wide\",\n  }),\n};\n","import { buildMatchFn } from \"../../_lib/buildMatchFn.mjs\";\nimport { buildMatchPatternFn } from \"../../_lib/buildMatchPatternFn.mjs\";\n\nconst matchOrdinalNumberPattern = /^(\\d+)?/i;\nconst parseOrdinalNumberPattern = /\\d+/i;\n\nconst matchEraPatterns = {\n  narrow: /^(p\\.?\\s*n\\.?\\s*e\\.?\\s*|n\\.?\\s*e\\.?\\s*)/i,\n  abbreviated: /^(p\\.?\\s*n\\.?\\s*e\\.?\\s*|n\\.?\\s*e\\.?\\s*)/i,\n  wide: /^(przed\\s*nasz(ą|a)\\s*er(ą|a)|naszej\\s*ery)/i,\n};\nconst parseEraPatterns = {\n  any: [/^p/i, /^n/i],\n};\n\nconst matchQuarterPatterns = {\n  narrow: /^[1234]/i,\n  abbreviated: /^(I|II|III|IV)\\s*kw\\.?/i,\n  wide: /^(I|II|III|IV)\\s*kwarta(ł|l)/i,\n};\nconst parseQuarterPatterns = {\n  narrow: [/1/i, /2/i, /3/i, /4/i],\n  any: [/^I kw/i, /^II kw/i, /^III kw/i, /^IV kw/i],\n};\n\nconst matchMonthPatterns = {\n  narrow: /^[slmkcwpg]/i,\n  abbreviated: /^(sty|lut|mar|kwi|maj|cze|lip|sie|wrz|pa(ź|z)|lis|gru)/i,\n  wide: /^(stycznia|stycze(ń|n)|lutego|luty|marca|marzec|kwietnia|kwiecie(ń|n)|maja|maj|czerwca|czerwiec|lipca|lipiec|sierpnia|sierpie(ń|n)|wrze(ś|s)nia|wrzesie(ń|n)|pa(ź|z)dziernika|pa(ź|z)dziernik|listopada|listopad|grudnia|grudzie(ń|n))/i,\n};\nconst parseMonthPatterns = {\n  narrow: [\n    /^s/i,\n    /^l/i,\n    /^m/i,\n    /^k/i,\n    /^m/i,\n    /^c/i,\n    /^l/i,\n    /^s/i,\n    /^w/i,\n    /^p/i,\n    /^l/i,\n    /^g/i,\n  ],\n\n  any: [\n    /^st/i,\n    /^lu/i,\n    /^mar/i,\n    /^k/i,\n    /^maj/i,\n    /^c/i,\n    /^lip/i,\n    /^si/i,\n    /^w/i,\n    /^p/i,\n    /^lis/i,\n    /^g/i,\n  ],\n};\n\nconst matchDayPatterns = {\n  narrow: /^[npwścs]/i,\n  short: /^(nie|pon|wto|(ś|s)ro|czw|pi(ą|a)|sob)/i,\n  abbreviated: /^(niedz|pon|wt|(ś|s)r|czw|pt|sob)\\.?/i,\n  wide: /^(niedziela|poniedzia(ł|l)ek|wtorek|(ś|s)roda|czwartek|pi(ą|a)tek|sobota)/i,\n};\nconst parseDayPatterns = {\n  narrow: [/^n/i, /^p/i, /^w/i, /^ś/i, /^c/i, /^p/i, /^s/i],\n  abbreviated: [/^n/i, /^po/i, /^w/i, /^(ś|s)r/i, /^c/i, /^pt/i, /^so/i],\n\n  any: [/^n/i, /^po/i, /^w/i, /^(ś|s)r/i, /^c/i, /^pi/i, /^so/i],\n};\n\nconst matchDayPeriodPatterns = {\n  narrow:\n    /^(^a$|^p$|pó(ł|l)n\\.?|o\\s*pó(ł|l)n\\.?|po(ł|l)\\.?|w\\s*po(ł|l)\\.?|po\\s*po(ł|l)\\.?|rano|wiecz\\.?|noc|w\\s*nocy)/i,\n  any: /^(am|pm|pó(ł|l)noc|o\\s*pó(ł|l)nocy|po(ł|l)udnie|w\\s*po(ł|l)udnie|popo(ł|l)udnie|po\\s*po(ł|l)udniu|rano|wieczór|wieczorem|noc|w\\s*nocy)/i,\n};\nconst parseDayPeriodPatterns = {\n  narrow: {\n    am: /^a$/i,\n    pm: /^p$/i,\n    midnight: /pó(ł|l)n/i,\n    noon: /po(ł|l)/i,\n    morning: /rano/i,\n    afternoon: /po\\s*po(ł|l)/i,\n    evening: /wiecz/i,\n    night: /noc/i,\n  },\n  any: {\n    am: /^am/i,\n    pm: /^pm/i,\n    midnight: /pó(ł|l)n/i,\n    noon: /po(ł|l)/i,\n    morning: /rano/i,\n    afternoon: /po\\s*po(ł|l)/i,\n    evening: /wiecz/i,\n    night: /noc/i,\n  },\n};\n\nexport const match = {\n  ordinalNumber: buildMatchPatternFn({\n    matchPattern: matchOrdinalNumberPattern,\n    parsePattern: parseOrdinalNumberPattern,\n    valueCallback: (value) => parseInt(value, 10),\n  }),\n\n  era: buildMatchFn({\n    matchPatterns: matchEraPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseEraPatterns,\n    defaultParseWidth: \"any\",\n  }),\n\n  quarter: buildMatchFn({\n    matchPatterns: matchQuarterPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseQuarterPatterns,\n    defaultParseWidth: \"any\",\n    valueCallback: (index) => index + 1,\n  }),\n\n  month: buildMatchFn({\n    matchPatterns: matchMonthPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseMonthPatterns,\n    defaultParseWidth: \"any\",\n  }),\n\n  day: buildMatchFn({\n    matchPatterns: matchDayPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseDayPatterns,\n    defaultParseWidth: \"any\",\n  }),\n\n  dayPeriod: buildMatchFn({\n    matchPatterns: matchDayPeriodPatterns,\n    defaultMatchWidth: \"any\",\n    parsePatterns: parseDayPeriodPatterns,\n    defaultParseWidth: \"any\",\n  }),\n};\n","import { formatDistance } from \"./pl/_lib/formatDistance.mjs\";\nimport { formatLong } from \"./pl/_lib/formatLong.mjs\";\nimport { formatRelative } from \"./pl/_lib/formatRelative.mjs\";\nimport { localize } from \"./pl/_lib/localize.mjs\";\nimport { match } from \"./pl/_lib/match.mjs\";\n\n/**\n * @category Locales\n * @summary Polish locale.\n * @language Polish\n * @iso-639-2 pol\n * @author Mateusz Derks [@ertrzyiks](https://github.com/ertrzyiks)\n * @author Just RAG [@justrag](https://github.com/justrag)\n * @author Mikolaj Grzyb [@mikolajgrzyb](https://github.com/mikolajgrzyb)\n * @author Mateusz Tokarski [@mutisz](https://github.com/mutisz)\n */\nexport const pl = {\n  code: \"pl\",\n  formatDistance: formatDistance,\n  formatLong: formatLong,\n  formatRelative: formatRelative,\n  localize: localize,\n  match: match,\n  options: {\n    weekStartsOn: 1 /* Monday */,\n    firstWeekContainsDate: 4,\n  },\n};\n\n// Fallback for modularized imports:\nexport default pl;\n","const formatDistanceLocale = {\n  lessThanXSeconds: {\n    one: \"mindre än en sekund\",\n    other: \"mindre än {{count}} sekunder\",\n  },\n\n  xSeconds: {\n    one: \"en sekund\",\n    other: \"{{count}} sekunder\",\n  },\n\n  halfAMinute: \"en halv minut\",\n\n  lessThanXMinutes: {\n    one: \"mindre än en minut\",\n    other: \"mindre än {{count}} minuter\",\n  },\n\n  xMinutes: {\n    one: \"en minut\",\n    other: \"{{count}} minuter\",\n  },\n\n  aboutXHours: {\n    one: \"ungefär en timme\",\n    other: \"ungefär {{count}} timmar\",\n  },\n\n  xHours: {\n    one: \"en timme\",\n    other: \"{{count}} timmar\",\n  },\n\n  xDays: {\n    one: \"en dag\",\n    other: \"{{count}} dagar\",\n  },\n\n  aboutXWeeks: {\n    one: \"ungefär en vecka\",\n    other: \"ungefär {{count}} veckor\",\n  },\n\n  xWeeks: {\n    one: \"en vecka\",\n    other: \"{{count}} veckor\",\n  },\n\n  aboutXMonths: {\n    one: \"ungefär en månad\",\n    other: \"ungefär {{count}} månader\",\n  },\n\n  xMonths: {\n    one: \"en månad\",\n    other: \"{{count}} månader\",\n  },\n\n  aboutXYears: {\n    one: \"ungefär ett år\",\n    other: \"ungefär {{count}} år\",\n  },\n\n  xYears: {\n    one: \"ett år\",\n    other: \"{{count}} år\",\n  },\n\n  overXYears: {\n    one: \"över ett år\",\n    other: \"över {{count}} år\",\n  },\n\n  almostXYears: {\n    one: \"nästan ett år\",\n    other: \"nästan {{count}} år\",\n  },\n};\n\nconst wordMapping = [\n  \"noll\",\n  \"en\",\n  \"två\",\n  \"tre\",\n  \"fyra\",\n  \"fem\",\n  \"sex\",\n  \"sju\",\n  \"åtta\",\n  \"nio\",\n  \"tio\",\n  \"elva\",\n  \"tolv\",\n];\n\nexport const formatDistance = (token, count, options) => {\n  let result;\n\n  const tokenValue = formatDistanceLocale[token];\n  if (typeof tokenValue === \"string\") {\n    result = tokenValue;\n  } else if (count === 1) {\n    result = tokenValue.one;\n  } else {\n    result = tokenValue.other.replace(\n      \"{{count}}\",\n      count < 13 ? wordMapping[count] : String(count),\n    );\n  }\n\n  if (options?.addSuffix) {\n    if (options.comparison && options.comparison > 0) {\n      return \"om \" + result;\n    } else {\n      return result + \" sedan\";\n    }\n  }\n\n  return result;\n};\n","import { buildFormatLongFn } from \"../../_lib/buildFormatLongFn.mjs\";\n\nconst dateFormats = {\n  full: \"EEEE d MMMM y\",\n  long: \"d MMMM y\",\n  medium: \"d MMM y\",\n  short: \"y-MM-dd\",\n};\n\nconst timeFormats = {\n  full: \"'kl'. HH:mm:ss zzzz\",\n  long: \"HH:mm:ss z\",\n  medium: \"HH:mm:ss\",\n  short: \"HH:mm\",\n};\n\nconst dateTimeFormats = {\n  full: \"{{date}} 'kl.' {{time}}\",\n  long: \"{{date}} 'kl.' {{time}}\",\n  medium: \"{{date}} {{time}}\",\n  short: \"{{date}} {{time}}\",\n};\n\nexport const formatLong = {\n  date: buildFormatLongFn({\n    formats: dateFormats,\n    defaultWidth: \"full\",\n  }),\n\n  time: buildFormatLongFn({\n    formats: timeFormats,\n    defaultWidth: \"full\",\n  }),\n\n  dateTime: buildFormatLongFn({\n    formats: dateTimeFormats,\n    defaultWidth: \"full\",\n  }),\n};\n","const formatRelativeLocale = {\n  lastWeek: \"'i' EEEE's kl.' p\",\n  yesterday: \"'igår kl.' p\",\n  today: \"'idag kl.' p\",\n  tomorrow: \"'imorgon kl.' p\",\n  nextWeek: \"EEEE 'kl.' p\",\n  other: \"P\",\n};\n\nexport const formatRelative = (token, _date, _baseDate, _options) =>\n  formatRelativeLocale[token];\n","import { buildLocalizeFn } from \"../../_lib/buildLocalizeFn.mjs\";\n\nconst eraValues = {\n  narrow: [\"f.Kr.\", \"e.Kr.\"],\n  abbreviated: [\"f.Kr.\", \"e.Kr.\"],\n  wide: [\"före Kristus\", \"efter Kristus\"],\n};\n\nconst quarterValues = {\n  narrow: [\"1\", \"2\", \"3\", \"4\"],\n  abbreviated: [\"Q1\", \"Q2\", \"Q3\", \"Q4\"],\n  wide: [\"1:a kvartalet\", \"2:a kvartalet\", \"3:e kvartalet\", \"4:e kvartalet\"],\n};\n\nconst monthValues = {\n  narrow: [\"J\", \"F\", \"M\", \"A\", \"M\", \"J\", \"J\", \"A\", \"S\", \"O\", \"N\", \"D\"],\n  abbreviated: [\n    \"jan.\",\n    \"feb.\",\n    \"mars\",\n    \"apr.\",\n    \"maj\",\n    \"juni\",\n    \"juli\",\n    \"aug.\",\n    \"sep.\",\n    \"okt.\",\n    \"nov.\",\n    \"dec.\",\n  ],\n\n  wide: [\n    \"januari\",\n    \"februari\",\n    \"mars\",\n    \"april\",\n    \"maj\",\n    \"juni\",\n    \"juli\",\n    \"augusti\",\n    \"september\",\n    \"oktober\",\n    \"november\",\n    \"december\",\n  ],\n};\n\nconst dayValues = {\n  narrow: [\"S\", \"M\", \"T\", \"O\", \"T\", \"F\", \"L\"],\n  short: [\"sö\", \"må\", \"ti\", \"on\", \"to\", \"fr\", \"lö\"],\n  abbreviated: [\"sön\", \"mån\", \"tis\", \"ons\", \"tors\", \"fre\", \"lör\"],\n  wide: [\"söndag\", \"måndag\", \"tisdag\", \"onsdag\", \"torsdag\", \"fredag\", \"lördag\"],\n};\n\n// https://www.unicode.org/cldr/charts/32/summary/sv.html#1888\nconst dayPeriodValues = {\n  narrow: {\n    am: \"fm\",\n    pm: \"em\",\n    midnight: \"midnatt\",\n    noon: \"middag\",\n    morning: \"morg.\",\n    afternoon: \"efterm.\",\n    evening: \"kväll\",\n    night: \"natt\",\n  },\n  abbreviated: {\n    am: \"f.m.\",\n    pm: \"e.m.\",\n    midnight: \"midnatt\",\n    noon: \"middag\",\n    morning: \"morgon\",\n    afternoon: \"efterm.\",\n    evening: \"kväll\",\n    night: \"natt\",\n  },\n  wide: {\n    am: \"förmiddag\",\n    pm: \"eftermiddag\",\n    midnight: \"midnatt\",\n    noon: \"middag\",\n    morning: \"morgon\",\n    afternoon: \"eftermiddag\",\n    evening: \"kväll\",\n    night: \"natt\",\n  },\n};\n\nconst formattingDayPeriodValues = {\n  narrow: {\n    am: \"fm\",\n    pm: \"em\",\n    midnight: \"midnatt\",\n    noon: \"middag\",\n    morning: \"på morg.\",\n    afternoon: \"på efterm.\",\n    evening: \"på kvällen\",\n    night: \"på natten\",\n  },\n  abbreviated: {\n    am: \"fm\",\n    pm: \"em\",\n    midnight: \"midnatt\",\n    noon: \"middag\",\n    morning: \"på morg.\",\n    afternoon: \"på efterm.\",\n    evening: \"på kvällen\",\n    night: \"på natten\",\n  },\n  wide: {\n    am: \"fm\",\n    pm: \"em\",\n    midnight: \"midnatt\",\n    noon: \"middag\",\n    morning: \"på morgonen\",\n    afternoon: \"på eftermiddagen\",\n    evening: \"på kvällen\",\n    night: \"på natten\",\n  },\n};\n\nconst ordinalNumber = (dirtyNumber, _options) => {\n  const number = Number(dirtyNumber);\n\n  const rem100 = number % 100;\n  if (rem100 > 20 || rem100 < 10) {\n    switch (rem100 % 10) {\n      case 1:\n      case 2:\n        return number + \":a\";\n    }\n  }\n  return number + \":e\";\n};\n\nexport const localize = {\n  ordinalNumber,\n\n  era: buildLocalizeFn({\n    values: eraValues,\n    defaultWidth: \"wide\",\n  }),\n\n  quarter: buildLocalizeFn({\n    values: quarterValues,\n    defaultWidth: \"wide\",\n    argumentCallback: (quarter) => quarter - 1,\n  }),\n\n  month: buildLocalizeFn({\n    values: monthValues,\n    defaultWidth: \"wide\",\n  }),\n\n  day: buildLocalizeFn({\n    values: dayValues,\n    defaultWidth: \"wide\",\n  }),\n\n  dayPeriod: buildLocalizeFn({\n    values: dayPeriodValues,\n    defaultWidth: \"wide\",\n    formattingValues: formattingDayPeriodValues,\n    defaultFormattingWidth: \"wide\",\n  }),\n};\n","import { buildMatchFn } from \"../../_lib/buildMatchFn.mjs\";\nimport { buildMatchPatternFn } from \"../../_lib/buildMatchPatternFn.mjs\";\n\nconst matchOrdinalNumberPattern = /^(\\d+)(:a|:e)?/i;\nconst parseOrdinalNumberPattern = /\\d+/i;\n\nconst matchEraPatterns = {\n  narrow: /^(f\\.? ?Kr\\.?|f\\.? ?v\\.? ?t\\.?|e\\.? ?Kr\\.?|v\\.? ?t\\.?)/i,\n  abbreviated: /^(f\\.? ?Kr\\.?|f\\.? ?v\\.? ?t\\.?|e\\.? ?Kr\\.?|v\\.? ?t\\.?)/i,\n  wide: /^(före Kristus|före vår tid|efter Kristus|vår tid)/i,\n};\nconst parseEraPatterns = {\n  any: [/^f/i, /^[ev]/i],\n};\n\nconst matchQuarterPatterns = {\n  narrow: /^[1234]/i,\n  abbreviated: /^q[1234]/i,\n  wide: /^[1234](:a|:e)? kvartalet/i,\n};\nconst parseQuarterPatterns = {\n  any: [/1/i, /2/i, /3/i, /4/i],\n};\n\nconst matchMonthPatterns = {\n  narrow: /^[jfmasond]/i,\n  abbreviated:\n    /^(jan|feb|mar[s]?|apr|maj|jun[i]?|jul[i]?|aug|sep|okt|nov|dec)\\.?/i,\n  wide: /^(januari|februari|mars|april|maj|juni|juli|augusti|september|oktober|november|december)/i,\n};\nconst parseMonthPatterns = {\n  narrow: [\n    /^j/i,\n    /^f/i,\n    /^m/i,\n    /^a/i,\n    /^m/i,\n    /^j/i,\n    /^j/i,\n    /^a/i,\n    /^s/i,\n    /^o/i,\n    /^n/i,\n    /^d/i,\n  ],\n\n  any: [\n    /^ja/i,\n    /^f/i,\n    /^mar/i,\n    /^ap/i,\n    /^maj/i,\n    /^jun/i,\n    /^jul/i,\n    /^au/i,\n    /^s/i,\n    /^o/i,\n    /^n/i,\n    /^d/i,\n  ],\n};\n\nconst matchDayPatterns = {\n  narrow: /^[smtofl]/i,\n  short: /^(sö|må|ti|on|to|fr|lö)/i,\n  abbreviated: /^(sön|mån|tis|ons|tors|fre|lör)/i,\n  wide: /^(söndag|måndag|tisdag|onsdag|torsdag|fredag|lördag)/i,\n};\nconst parseDayPatterns = {\n  any: [/^s/i, /^m/i, /^ti/i, /^o/i, /^to/i, /^f/i, /^l/i],\n};\n\nconst matchDayPeriodPatterns = {\n  any: /^([fe]\\.?\\s?m\\.?|midn(att)?|midd(ag)?|(på) (morgonen|eftermiddagen|kvällen|natten))/i,\n};\nconst parseDayPeriodPatterns = {\n  any: {\n    am: /^f/i,\n    pm: /^e/i,\n    midnight: /^midn/i,\n    noon: /^midd/i,\n    morning: /morgon/i,\n    afternoon: /eftermiddag/i,\n    evening: /kväll/i,\n    night: /natt/i,\n  },\n};\n\nexport const match = {\n  ordinalNumber: buildMatchPatternFn({\n    matchPattern: matchOrdinalNumberPattern,\n    parsePattern: parseOrdinalNumberPattern,\n    valueCallback: (value) => parseInt(value, 10),\n  }),\n\n  era: buildMatchFn({\n    matchPatterns: matchEraPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseEraPatterns,\n    defaultParseWidth: \"any\",\n  }),\n\n  quarter: buildMatchFn({\n    matchPatterns: matchQuarterPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseQuarterPatterns,\n    defaultParseWidth: \"any\",\n    valueCallback: (index) => index + 1,\n  }),\n\n  month: buildMatchFn({\n    matchPatterns: matchMonthPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseMonthPatterns,\n    defaultParseWidth: \"any\",\n  }),\n\n  day: buildMatchFn({\n    matchPatterns: matchDayPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseDayPatterns,\n    defaultParseWidth: \"any\",\n  }),\n\n  dayPeriod: buildMatchFn({\n    matchPatterns: matchDayPeriodPatterns,\n    defaultMatchWidth: \"any\",\n    parsePatterns: parseDayPeriodPatterns,\n    defaultParseWidth: \"any\",\n  }),\n};\n","import { formatDistance } from \"./sv/_lib/formatDistance.mjs\";\nimport { formatLong } from \"./sv/_lib/formatLong.mjs\";\nimport { formatRelative } from \"./sv/_lib/formatRelative.mjs\";\nimport { localize } from \"./sv/_lib/localize.mjs\";\nimport { match } from \"./sv/_lib/match.mjs\";\n\n/**\n * @category Locales\n * @summary Swedish locale.\n * @language Swedish\n * @iso-639-2 swe\n * @author Johannes Ulén [@ejulen](https://github.com/ejulen)\n * @author Alexander Nanberg [@alexandernanberg](https://github.com/alexandernanberg)\n * @author Henrik Andersson [@limelights](https://github.com/limelights)\n */\nexport const sv = {\n  code: \"sv\",\n  formatDistance: formatDistance,\n  formatLong: formatLong,\n  formatRelative: formatRelative,\n  localize: localize,\n  match: match,\n  options: {\n    weekStartsOn: 1 /* Monday */,\n    firstWeekContainsDate: 4,\n  },\n};\n\n// Fallback for modularized imports:\nexport default sv;\n","import { toDate } from \"./toDate.mjs\";\n\n/**\n * @name startOfDay\n * @category Day Helpers\n * @summary Return the start of a day for the given date.\n *\n * @description\n * Return the start of a day for the given date.\n * The result will be in the local timezone.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The original date\n *\n * @returns The start of a day\n *\n * @example\n * // The start of a day for 2 September 2014 11:55:00:\n * const result = startOfDay(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Tue Sep 02 2014 00:00:00\n */\nexport function startOfDay(date) {\n  const _date = toDate(date);\n  _date.setHours(0, 0, 0, 0);\n  return _date;\n}\n\n// Fallback for modularized imports:\nexport default startOfDay;\n","import { toDate } from \"./toDate.mjs\";\nimport { getDefaultOptions } from \"./_lib/defaultOptions.mjs\";\n\n/**\n * The {@link startOfWeek} function options.\n */\n\n/**\n * @name startOfWeek\n * @category Week Helpers\n * @summary Return the start of a week for the given date.\n *\n * @description\n * Return the start of a week for the given date.\n * The result will be in the local timezone.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The original date\n * @param options - An object with options\n *\n * @returns The start of a week\n *\n * @example\n * // The start of a week for 2 September 2014 11:55:00:\n * const result = startOfWeek(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Sun Aug 31 2014 00:00:00\n *\n * @example\n * // If the week starts on Monday, the start of the week for 2 September 2014 11:55:00:\n * const result = startOfWeek(new Date(2014, 8, 2, 11, 55, 0), { weekStartsOn: 1 })\n * //=> Mon Sep 01 2014 00:00:00\n */\nexport function startOfWeek(date, options) {\n  const defaultOptions = getDefaultOptions();\n  const weekStartsOn =\n    options?.weekStartsOn ??\n    options?.locale?.options?.weekStartsOn ??\n    defaultOptions.weekStartsOn ??\n    defaultOptions.locale?.options?.weekStartsOn ??\n    0;\n\n  const _date = toDate(date);\n  const day = _date.getDay();\n  const diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;\n\n  _date.setDate(_date.getDate() - diff);\n  _date.setHours(0, 0, 0, 0);\n  return _date;\n}\n\n// Fallback for modularized imports:\nexport default startOfWeek;\n","/**\n * @name toDate\n * @category Common Helpers\n * @summary Convert the given argument to an instance of Date.\n *\n * @description\n * Convert the given argument to an instance of Date.\n *\n * If the argument is an instance of Date, the function returns its clone.\n *\n * If the argument is a number, it is treated as a timestamp.\n *\n * If the argument is none of the above, the function returns Invalid Date.\n *\n * **Note**: *all* Date arguments passed to any *date-fns* function is processed by `toDate`.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param argument - The value to convert\n *\n * @returns The parsed date in the local time zone\n *\n * @example\n * // Clone the date:\n * const result = toDate(new Date(2014, 1, 11, 11, 30, 30))\n * //=> Tue Feb 11 2014 11:30:30\n *\n * @example\n * // Convert the timestamp to date:\n * const result = toDate(1392098430000)\n * //=> Tue Feb 11 2014 11:30:30\n */\nexport function toDate(argument) {\n  const argStr = Object.prototype.toString.call(argument);\n\n  // Clone the date\n  if (\n    argument instanceof Date ||\n    (typeof argument === \"object\" && argStr === \"[object Date]\")\n  ) {\n    // Prevent the date to lose the milliseconds when passed to new Date() in IE10\n    return new argument.constructor(+argument);\n  } else if (\n    typeof argument === \"number\" ||\n    argStr === \"[object Number]\" ||\n    typeof argument === \"string\" ||\n    argStr === \"[object String]\"\n  ) {\n    // TODO: Can we get rid of as?\n    return new Date(argument);\n  } else {\n    // TODO: Can we get rid of as?\n    return new Date(NaN);\n  }\n}\n\n// Fallback for modularized imports:\nexport default toDate;\n","import * as React from 'react';\n\n/**\n * Taken from https://github.com/radix-ui/primitives/blob/main/packages/react/compose-refs/src/compose-refs.tsx\n */\n/**\n * Set a given ref to a given value\n * This utility takes care of different types of refs: callback refs and RefObject(s)\n */\nfunction setRef(ref, value) {\n    if (typeof ref === \"function\") {\n        return ref(value);\n    }\n    else if (ref !== null && ref !== undefined) {\n        ref.current = value;\n    }\n}\n/**\n * A utility to compose multiple refs together\n * Accepts callback refs and RefObject(s)\n */\nfunction composeRefs(...refs) {\n    return (node) => {\n        let hasCleanup = false;\n        const cleanups = refs.map((ref) => {\n            const cleanup = setRef(ref, node);\n            if (!hasCleanup && typeof cleanup === \"function\") {\n                hasCleanup = true;\n            }\n            return cleanup;\n        });\n        // React <19 will log an error to the console if a callback ref returns a\n        // value. We don't use ref cleanups internally so this will only happen if a\n        // user's ref callback returns a value, which we only expect if they are\n        // using the cleanup functionality added in React 19.\n        if (hasCleanup) {\n            return () => {\n                for (let i = 0; i < cleanups.length; i++) {\n                    const cleanup = cleanups[i];\n                    if (typeof cleanup === \"function\") {\n                        cleanup();\n                    }\n                    else {\n                        setRef(refs[i], null);\n                    }\n                }\n            };\n        }\n    };\n}\n/**\n * A custom hook that composes multiple refs\n * Accepts callback refs and RefObject(s)\n */\nfunction useComposedRefs(...refs) {\n    // eslint-disable-next-line react-hooks/exhaustive-deps\n    return React.useCallback(composeRefs(...refs), refs);\n}\n\nexport { useComposedRefs };\n//# sourceMappingURL=use-composed-ref.mjs.map\n","\"use client\";\nimport { jsx } from 'react/jsx-runtime';\nimport { isHTMLElement } from 'motion-dom';\nimport * as React from 'react';\nimport { useId, useRef, useContext, useInsertionEffect } from 'react';\nimport { MotionConfigContext } from '../../context/MotionConfigContext.mjs';\nimport { useComposedRefs } from '../../utils/use-composed-ref.mjs';\n\n/**\n * Measurement functionality has to be within a separate component\n * to leverage snapshot lifecycle.\n */\nclass PopChildMeasure extends React.Component {\n    getSnapshotBeforeUpdate(prevProps) {\n        const element = this.props.childRef.current;\n        if (element && prevProps.isPresent && !this.props.isPresent && this.props.pop !== false) {\n            const parent = element.offsetParent;\n            const parentWidth = isHTMLElement(parent)\n                ? parent.offsetWidth || 0\n                : 0;\n            const parentHeight = isHTMLElement(parent)\n                ? parent.offsetHeight || 0\n                : 0;\n            const size = this.props.sizeRef.current;\n            size.height = element.offsetHeight || 0;\n            size.width = element.offsetWidth || 0;\n            size.top = element.offsetTop;\n            size.left = element.offsetLeft;\n            size.right = parentWidth - size.width - size.left;\n            size.bottom = parentHeight - size.height - size.top;\n        }\n        return null;\n    }\n    /**\n     * Required with getSnapshotBeforeUpdate to stop React complaining.\n     */\n    componentDidUpdate() { }\n    render() {\n        return this.props.children;\n    }\n}\nfunction PopChild({ children, isPresent, anchorX, anchorY, root, pop }) {\n    const id = useId();\n    const ref = useRef(null);\n    const size = useRef({\n        width: 0,\n        height: 0,\n        top: 0,\n        left: 0,\n        right: 0,\n        bottom: 0,\n    });\n    const { nonce } = useContext(MotionConfigContext);\n    /**\n     * In React 19, refs are passed via props.ref instead of element.ref.\n     * We check props.ref first (React 19) and fall back to element.ref (React 18).\n     */\n    const childRef = children.props?.ref ??\n        children?.ref;\n    const composedRef = useComposedRefs(ref, childRef);\n    /**\n     * We create and inject a style block so we can apply this explicit\n     * sizing in a non-destructive manner by just deleting the style block.\n     *\n     * We can't apply size via render as the measurement happens\n     * in getSnapshotBeforeUpdate (post-render), likewise if we apply the\n     * styles directly on the DOM node, we might be overwriting\n     * styles set via the style prop.\n     */\n    useInsertionEffect(() => {\n        const { width, height, top, left, right, bottom } = size.current;\n        if (isPresent || pop === false || !ref.current || !width || !height)\n            return;\n        const x = anchorX === \"left\" ? `left: ${left}` : `right: ${right}`;\n        const y = anchorY === \"bottom\" ? `bottom: ${bottom}` : `top: ${top}`;\n        ref.current.dataset.motionPopId = id;\n        const style = document.createElement(\"style\");\n        if (nonce)\n            style.nonce = nonce;\n        const parent = root ?? document.head;\n        parent.appendChild(style);\n        if (style.sheet) {\n            style.sheet.insertRule(`\n          [data-motion-pop-id=\"${id}\"] {\n            position: absolute !important;\n            width: ${width}px !important;\n            height: ${height}px !important;\n            ${x}px !important;\n            ${y}px !important;\n          }\n        `);\n        }\n        return () => {\n            if (parent.contains(style)) {\n                parent.removeChild(style);\n            }\n        };\n    }, [isPresent]);\n    return (jsx(PopChildMeasure, { isPresent: isPresent, childRef: ref, sizeRef: size, pop: pop, children: pop === false\n            ? children\n            : React.cloneElement(children, { ref: composedRef }) }));\n}\n\nexport { PopChild };\n//# sourceMappingURL=PopChild.mjs.map\n","\"use client\";\nimport { jsx } from 'react/jsx-runtime';\nimport * as React from 'react';\nimport { useId, useMemo } from 'react';\nimport { PresenceContext } from '../../context/PresenceContext.mjs';\nimport { useConstant } from '../../utils/use-constant.mjs';\nimport { PopChild } from './PopChild.mjs';\n\nconst PresenceChild = ({ children, initial, isPresent, onExitComplete, custom, presenceAffectsLayout, mode, anchorX, anchorY, root }) => {\n    const presenceChildren = useConstant(newChildrenMap);\n    const id = useId();\n    let isReusedContext = true;\n    let context = useMemo(() => {\n        isReusedContext = false;\n        return {\n            id,\n            initial,\n            isPresent,\n            custom,\n            onExitComplete: (childId) => {\n                presenceChildren.set(childId, true);\n                for (const isComplete of presenceChildren.values()) {\n                    if (!isComplete)\n                        return; // can stop searching when any is incomplete\n                }\n                onExitComplete && onExitComplete();\n            },\n            register: (childId) => {\n                presenceChildren.set(childId, false);\n                return () => presenceChildren.delete(childId);\n            },\n        };\n    }, [isPresent, presenceChildren, onExitComplete]);\n    /**\n     * If the presence of a child affects the layout of the components around it,\n     * we want to make a new context value to ensure they get re-rendered\n     * so they can detect that layout change.\n     */\n    if (presenceAffectsLayout && isReusedContext) {\n        context = { ...context };\n    }\n    useMemo(() => {\n        presenceChildren.forEach((_, key) => presenceChildren.set(key, false));\n    }, [isPresent]);\n    /**\n     * If there's no `motion` components to fire exit animations, we want to remove this\n     * component immediately.\n     */\n    React.useEffect(() => {\n        !isPresent &&\n            !presenceChildren.size &&\n            onExitComplete &&\n            onExitComplete();\n    }, [isPresent]);\n    children = (jsx(PopChild, { pop: mode === \"popLayout\", isPresent: isPresent, anchorX: anchorX, anchorY: anchorY, root: root, children: children }));\n    return (jsx(PresenceContext.Provider, { value: context, children: children }));\n};\nfunction newChildrenMap() {\n    return new Map();\n}\n\nexport { PresenceChild };\n//# sourceMappingURL=PresenceChild.mjs.map\n","import { Children, isValidElement } from 'react';\n\nconst getChildKey = (child) => child.key || \"\";\nfunction onlyElements(children) {\n    const filtered = [];\n    // We use forEach here instead of map as map mutates the component key by preprending `.$`\n    Children.forEach(children, (child) => {\n        if (isValidElement(child))\n            filtered.push(child);\n    });\n    return filtered;\n}\n\nexport { getChildKey, onlyElements };\n//# sourceMappingURL=utils.mjs.map\n","\"use client\";\nimport { jsx, Fragment } from 'react/jsx-runtime';\nimport { useMemo, useRef, useState, useContext } from 'react';\nimport { LayoutGroupContext } from '../../context/LayoutGroupContext.mjs';\nimport { useConstant } from '../../utils/use-constant.mjs';\nimport { useIsomorphicLayoutEffect } from '../../utils/use-isomorphic-effect.mjs';\nimport { PresenceChild } from './PresenceChild.mjs';\nimport { usePresence } from './use-presence.mjs';\nimport { onlyElements, getChildKey } from './utils.mjs';\n\n/**\n * `AnimatePresence` enables the animation of components that have been removed from the tree.\n *\n * When adding/removing more than a single child, every child **must** be given a unique `key` prop.\n *\n * Any `motion` components that have an `exit` property defined will animate out when removed from\n * the tree.\n *\n * ```jsx\n * import { motion, AnimatePresence } from 'framer-motion'\n *\n * export const Items = ({ items }) => (\n *   <AnimatePresence>\n *     {items.map(item => (\n *       <motion.div\n *         key={item.id}\n *         initial={{ opacity: 0 }}\n *         animate={{ opacity: 1 }}\n *         exit={{ opacity: 0 }}\n *       />\n *     ))}\n *   </AnimatePresence>\n * )\n * ```\n *\n * You can sequence exit animations throughout a tree using variants.\n *\n * If a child contains multiple `motion` components with `exit` props, it will only unmount the child\n * once all `motion` components have finished animating out. Likewise, any components using\n * `usePresence` all need to call `safeToRemove`.\n *\n * @public\n */\nconst AnimatePresence = ({ children, custom, initial = true, onExitComplete, presenceAffectsLayout = true, mode = \"sync\", propagate = false, anchorX = \"left\", anchorY = \"top\", root }) => {\n    const [isParentPresent, safeToRemove] = usePresence(propagate);\n    /**\n     * Filter any children that aren't ReactElements. We can only track components\n     * between renders with a props.key.\n     */\n    const presentChildren = useMemo(() => onlyElements(children), [children]);\n    /**\n     * Track the keys of the currently rendered children. This is used to\n     * determine which children are exiting.\n     */\n    const presentKeys = propagate && !isParentPresent ? [] : presentChildren.map(getChildKey);\n    /**\n     * If `initial={false}` we only want to pass this to components in the first render.\n     */\n    const isInitialRender = useRef(true);\n    /**\n     * A ref containing the currently present children. When all exit animations\n     * are complete, we use this to re-render the component with the latest children\n     * *committed* rather than the latest children *rendered*.\n     */\n    const pendingPresentChildren = useRef(presentChildren);\n    /**\n     * Track which exiting children have finished animating out.\n     */\n    const exitComplete = useConstant(() => new Map());\n    /**\n     * Track which components are currently processing exit to prevent duplicate processing.\n     */\n    const exitingComponents = useRef(new Set());\n    /**\n     * Save children to render as React state. To ensure this component is concurrent-safe,\n     * we check for exiting children via an effect.\n     */\n    const [diffedChildren, setDiffedChildren] = useState(presentChildren);\n    const [renderedChildren, setRenderedChildren] = useState(presentChildren);\n    useIsomorphicLayoutEffect(() => {\n        isInitialRender.current = false;\n        pendingPresentChildren.current = presentChildren;\n        /**\n         * Update complete status of exiting children.\n         */\n        for (let i = 0; i < renderedChildren.length; i++) {\n            const key = getChildKey(renderedChildren[i]);\n            if (!presentKeys.includes(key)) {\n                if (exitComplete.get(key) !== true) {\n                    exitComplete.set(key, false);\n                }\n            }\n            else {\n                exitComplete.delete(key);\n                exitingComponents.current.delete(key);\n            }\n        }\n    }, [renderedChildren, presentKeys.length, presentKeys.join(\"-\")]);\n    const exitingChildren = [];\n    if (presentChildren !== diffedChildren) {\n        let nextChildren = [...presentChildren];\n        /**\n         * Loop through all the currently rendered components and decide which\n         * are exiting.\n         */\n        for (let i = 0; i < renderedChildren.length; i++) {\n            const child = renderedChildren[i];\n            const key = getChildKey(child);\n            if (!presentKeys.includes(key)) {\n                nextChildren.splice(i, 0, child);\n                exitingChildren.push(child);\n            }\n        }\n        /**\n         * If we're in \"wait\" mode, and we have exiting children, we want to\n         * only render these until they've all exited.\n         */\n        if (mode === \"wait\" && exitingChildren.length) {\n            nextChildren = exitingChildren;\n        }\n        setRenderedChildren(onlyElements(nextChildren));\n        setDiffedChildren(presentChildren);\n        /**\n         * Early return to ensure once we've set state with the latest diffed\n         * children, we can immediately re-render.\n         */\n        return null;\n    }\n    if (process.env.NODE_ENV !== \"production\" &&\n        mode === \"wait\" &&\n        renderedChildren.length > 1) {\n        console.warn(`You're attempting to animate multiple children within AnimatePresence, but its mode is set to \"wait\". This will lead to odd visual behaviour.`);\n    }\n    /**\n     * If we've been provided a forceRender function by the LayoutGroupContext,\n     * we can use it to force a re-render amongst all surrounding components once\n     * all components have finished animating out.\n     */\n    const { forceRender } = useContext(LayoutGroupContext);\n    return (jsx(Fragment, { children: renderedChildren.map((child) => {\n            const key = getChildKey(child);\n            const isPresent = propagate && !isParentPresent\n                ? false\n                : presentChildren === renderedChildren ||\n                    presentKeys.includes(key);\n            const onExit = () => {\n                if (exitingComponents.current.has(key)) {\n                    return;\n                }\n                exitingComponents.current.add(key);\n                if (exitComplete.has(key)) {\n                    exitComplete.set(key, true);\n                }\n                else {\n                    return;\n                }\n                let isEveryExitComplete = true;\n                exitComplete.forEach((isExitComplete) => {\n                    if (!isExitComplete)\n                        isEveryExitComplete = false;\n                });\n                if (isEveryExitComplete) {\n                    forceRender?.();\n                    setRenderedChildren(pendingPresentChildren.current);\n                    propagate && safeToRemove?.();\n                    onExitComplete && onExitComplete();\n                }\n            };\n            return (jsx(PresenceChild, { isPresent: isPresent, initial: !isInitialRender.current || initial\n                    ? undefined\n                    : false, custom: custom, presenceAffectsLayout: presenceAffectsLayout, mode: mode, root: root, onExitComplete: isPresent ? undefined : onExit, anchorX: anchorX, anchorY: anchorY, children: child }, key));\n        }) }));\n};\n\nexport { AnimatePresence };\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\nimport { useContext, useId, useEffect, useCallback } from 'react';\nimport { PresenceContext } from '../../context/PresenceContext.mjs';\n\n/**\n * When a component is the child of `AnimatePresence`, it can use `usePresence`\n * to access information about whether it's still present in the React tree.\n *\n * ```jsx\n * import { usePresence } from \"framer-motion\"\n *\n * export const Component = () => {\n *   const [isPresent, safeToRemove] = usePresence()\n *\n *   useEffect(() => {\n *     !isPresent && setTimeout(safeToRemove, 1000)\n *   }, [isPresent])\n *\n *   return <div />\n * }\n * ```\n *\n * If `isPresent` is `false`, it means that a component has been removed from the tree,\n * but `AnimatePresence` won't really remove it until `safeToRemove` has been called.\n *\n * @public\n */\nfunction usePresence(subscribe = true) {\n    const context = useContext(PresenceContext);\n    if (context === null)\n        return [true, null];\n    const { isPresent, onExitComplete, register } = context;\n    // It's safe to call the following hooks conditionally (after an early return) because the context will always\n    // either be null or non-null for the lifespan of the component.\n    const id = useId();\n    useEffect(() => {\n        if (subscribe) {\n            return register(id);\n        }\n    }, [subscribe]);\n    const safeToRemove = useCallback(() => subscribe && onExitComplete && onExitComplete(id), [id, onExitComplete, subscribe]);\n    return !isPresent && onExitComplete ? [false, safeToRemove] : [true];\n}\n/**\n * Similar to `usePresence`, except `useIsPresent` simply returns whether or not the component is present.\n * There is no `safeToRemove` function.\n *\n * ```jsx\n * import { useIsPresent } from \"framer-motion\"\n *\n * export const Component = () => {\n *   const isPresent = useIsPresent()\n *\n *   useEffect(() => {\n *     !isPresent && console.log(\"I've been removed!\")\n *   }, [isPresent])\n *\n *   return <div />\n * }\n * ```\n *\n * @public\n */\nfunction useIsPresent() {\n    return isPresent(useContext(PresenceContext));\n}\nfunction isPresent(context) {\n    return context === null ? true : context.isPresent;\n}\n\nexport { isPresent, useIsPresent, usePresence };\n//# sourceMappingURL=use-presence.mjs.map\n","\"use client\";\nimport { createContext } from 'react';\n\nconst LayoutGroupContext = createContext({});\n\nexport { LayoutGroupContext };\n//# sourceMappingURL=LayoutGroupContext.mjs.map\n","\"use client\";\nimport { createContext } from 'react';\n\nconst LazyContext = createContext({ strict: false });\n\nexport { LazyContext };\n//# sourceMappingURL=LazyContext.mjs.map\n","\"use client\";\nimport { createContext } from 'react';\n\n/**\n * @public\n */\nconst MotionConfigContext = createContext({\n    transformPagePoint: (p) => p,\n    isStatic: false,\n    reducedMotion: \"never\",\n});\n\nexport { MotionConfigContext };\n//# sourceMappingURL=MotionConfigContext.mjs.map\n","\"use client\";\nimport { useContext, useMemo } from 'react';\nimport { MotionContext } from './index.mjs';\nimport { getCurrentTreeVariants } from './utils.mjs';\n\nfunction useCreateMotionContext(props) {\n    const { initial, animate } = getCurrentTreeVariants(props, useContext(MotionContext));\n    return useMemo(() => ({ initial, animate }), [variantLabelsAsDependency(initial), variantLabelsAsDependency(animate)]);\n}\nfunction variantLabelsAsDependency(prop) {\n    return Array.isArray(prop) ? prop.join(\" \") : prop;\n}\n\nexport { useCreateMotionContext };\n//# sourceMappingURL=create.mjs.map\n","\"use client\";\nimport { createContext } from 'react';\n\nconst MotionContext = /* @__PURE__ */ createContext({});\n\nexport { MotionContext };\n//# sourceMappingURL=index.mjs.map\n","import { isControllingVariants, isVariantLabel } from 'motion-dom';\n\nfunction getCurrentTreeVariants(props, context) {\n    if (isControllingVariants(props)) {\n        const { initial, animate } = props;\n        return {\n            initial: initial === false || isVariantLabel(initial)\n                ? initial\n                : undefined,\n            animate: isVariantLabel(animate) ? animate : undefined,\n        };\n    }\n    return props.inherit !== false ? context : {};\n}\n\nexport { getCurrentTreeVariants };\n//# sourceMappingURL=utils.mjs.map\n","\"use client\";\nimport { createContext } from 'react';\n\n/**\n * @public\n */\nconst PresenceContext = \n/* @__PURE__ */ createContext(null);\n\nexport { PresenceContext };\n//# sourceMappingURL=PresenceContext.mjs.map\n","\"use client\";\nimport { createContext } from 'react';\n\n/**\n * Internal, exported only for usage in Framer\n */\nconst SwitchLayoutGroupContext = createContext({});\n\nexport { SwitchLayoutGroupContext };\n//# sourceMappingURL=SwitchLayoutGroupContext.mjs.map\n","import { addDomEvent } from 'motion-dom';\nimport { addPointerInfo } from './event-info.mjs';\n\nfunction addPointerEvent(target, eventName, handler, options) {\n    return addDomEvent(target, eventName, addPointerInfo(handler), options);\n}\n\nexport { addPointerEvent };\n//# sourceMappingURL=add-pointer-event.mjs.map\n","import { isPrimaryPointer } from 'motion-dom';\n\nfunction extractEventInfo(event) {\n    return {\n        point: {\n            x: event.pageX,\n            y: event.pageY,\n        },\n    };\n}\nconst addPointerInfo = (handler) => {\n    return (event) => isPrimaryPointer(event) && handler(event, extractEventInfo(event));\n};\n\nexport { addPointerInfo, extractEventInfo };\n//# sourceMappingURL=event-info.mjs.map\n","import { createBox, frame, eachAxis, measurePageBox, convertBoxToBoundingBox, convertBoundingBoxToBox, addValueToWillChange, animateMotionValue, mixNumber, isElementTextInput, addDomEvent, setDragLock, percent, calcLength, resize } from 'motion-dom';\nimport { invariant } from 'motion-utils';\nimport { addPointerEvent } from '../../events/add-pointer-event.mjs';\nimport { extractEventInfo } from '../../events/event-info.mjs';\nimport { getContextWindow } from '../../utils/get-context-window.mjs';\nimport { isRefObject } from '../../utils/is-ref-object.mjs';\nimport { PanSession } from '../pan/PanSession.mjs';\nimport { applyConstraints, calcRelativeConstraints, resolveDragElastic, rebaseAxisConstraints, calcViewportConstraints, calcOrigin, defaultElastic } from './utils/constraints.mjs';\n\nconst elementDragControls = new WeakMap();\nclass VisualElementDragControls {\n    constructor(visualElement) {\n        this.openDragLock = null;\n        this.isDragging = false;\n        this.currentDirection = null;\n        this.originPoint = { x: 0, y: 0 };\n        /**\n         * The permitted boundaries of travel, in pixels.\n         */\n        this.constraints = false;\n        this.hasMutatedConstraints = false;\n        /**\n         * The per-axis resolved elastic values.\n         */\n        this.elastic = createBox();\n        /**\n         * The latest pointer event. Used as fallback when the `cancel` and `stop` functions are called without arguments.\n         */\n        this.latestPointerEvent = null;\n        /**\n         * The latest pan info. Used as fallback when the `cancel` and `stop` functions are called without arguments.\n         */\n        this.latestPanInfo = null;\n        this.visualElement = visualElement;\n    }\n    start(originEvent, { snapToCursor = false, distanceThreshold } = {}) {\n        /**\n         * Don't start dragging if this component is exiting\n         */\n        const { presenceContext } = this.visualElement;\n        if (presenceContext && presenceContext.isPresent === false)\n            return;\n        const onSessionStart = (event) => {\n            if (snapToCursor) {\n                this.snapToCursor(extractEventInfo(event).point);\n            }\n            this.stopAnimation();\n        };\n        const onStart = (event, info) => {\n            // Attempt to grab the global drag gesture lock - maybe make this part of PanSession\n            const { drag, dragPropagation, onDragStart } = this.getProps();\n            if (drag && !dragPropagation) {\n                if (this.openDragLock)\n                    this.openDragLock();\n                this.openDragLock = setDragLock(drag);\n                // If we don 't have the lock, don't start dragging\n                if (!this.openDragLock)\n                    return;\n            }\n            this.latestPointerEvent = event;\n            this.latestPanInfo = info;\n            this.isDragging = true;\n            this.currentDirection = null;\n            this.resolveConstraints();\n            if (this.visualElement.projection) {\n                this.visualElement.projection.isAnimationBlocked = true;\n                this.visualElement.projection.target = undefined;\n            }\n            /**\n             * Record gesture origin and pointer offset\n             */\n            eachAxis((axis) => {\n                let current = this.getAxisMotionValue(axis).get() || 0;\n                /**\n                 * If the MotionValue is a percentage value convert to px\n                 */\n                if (percent.test(current)) {\n                    const { projection } = this.visualElement;\n                    if (projection && projection.layout) {\n                        const measuredAxis = projection.layout.layoutBox[axis];\n                        if (measuredAxis) {\n                            const length = calcLength(measuredAxis);\n                            current = length * (parseFloat(current) / 100);\n                        }\n                    }\n                }\n                this.originPoint[axis] = current;\n            });\n            // Fire onDragStart event\n            if (onDragStart) {\n                frame.update(() => onDragStart(event, info), false, true);\n            }\n            addValueToWillChange(this.visualElement, \"transform\");\n            const { animationState } = this.visualElement;\n            animationState && animationState.setActive(\"whileDrag\", true);\n        };\n        const onMove = (event, info) => {\n            this.latestPointerEvent = event;\n            this.latestPanInfo = info;\n            const { dragPropagation, dragDirectionLock, onDirectionLock, onDrag, } = this.getProps();\n            // If we didn't successfully receive the gesture lock, early return.\n            if (!dragPropagation && !this.openDragLock)\n                return;\n            const { offset } = info;\n            // Attempt to detect drag direction if directionLock is true\n            if (dragDirectionLock && this.currentDirection === null) {\n                this.currentDirection = getCurrentDirection(offset);\n                // If we've successfully set a direction, notify listener\n                if (this.currentDirection !== null) {\n                    onDirectionLock && onDirectionLock(this.currentDirection);\n                }\n                return;\n            }\n            // Update each point with the latest position\n            this.updateAxis(\"x\", info.point, offset);\n            this.updateAxis(\"y\", info.point, offset);\n            /**\n             * Ideally we would leave the renderer to fire naturally at the end of\n             * this frame but if the element is about to change layout as the result\n             * of a re-render we want to ensure the browser can read the latest\n             * bounding box to ensure the pointer and element don't fall out of sync.\n             */\n            this.visualElement.render();\n            /**\n             * This must fire after the render call as it might trigger a state\n             * change which itself might trigger a layout update.\n             */\n            if (onDrag) {\n                frame.update(() => onDrag(event, info), false, true);\n            }\n        };\n        const onSessionEnd = (event, info) => {\n            this.latestPointerEvent = event;\n            this.latestPanInfo = info;\n            this.stop(event, info);\n            this.latestPointerEvent = null;\n            this.latestPanInfo = null;\n        };\n        const resumeAnimation = () => {\n            const { dragSnapToOrigin: snap } = this.getProps();\n            if (snap || this.constraints) {\n                this.startAnimation({ x: 0, y: 0 });\n            }\n        };\n        const { dragSnapToOrigin } = this.getProps();\n        this.panSession = new PanSession(originEvent, {\n            onSessionStart,\n            onStart,\n            onMove,\n            onSessionEnd,\n            resumeAnimation,\n        }, {\n            transformPagePoint: this.visualElement.getTransformPagePoint(),\n            dragSnapToOrigin,\n            distanceThreshold,\n            contextWindow: getContextWindow(this.visualElement),\n            element: this.visualElement.current,\n        });\n    }\n    /**\n     * @internal\n     */\n    stop(event, panInfo) {\n        const finalEvent = event || this.latestPointerEvent;\n        const finalPanInfo = panInfo || this.latestPanInfo;\n        const isDragging = this.isDragging;\n        this.cancel();\n        if (!isDragging || !finalPanInfo || !finalEvent)\n            return;\n        const { velocity } = finalPanInfo;\n        this.startAnimation(velocity);\n        const { onDragEnd } = this.getProps();\n        if (onDragEnd) {\n            frame.postRender(() => onDragEnd(finalEvent, finalPanInfo));\n        }\n    }\n    /**\n     * @internal\n     */\n    cancel() {\n        this.isDragging = false;\n        const { projection, animationState } = this.visualElement;\n        if (projection) {\n            projection.isAnimationBlocked = false;\n        }\n        this.endPanSession();\n        const { dragPropagation } = this.getProps();\n        if (!dragPropagation && this.openDragLock) {\n            this.openDragLock();\n            this.openDragLock = null;\n        }\n        animationState && animationState.setActive(\"whileDrag\", false);\n    }\n    /**\n     * Clean up the pan session without modifying other drag state.\n     * This is used during unmount to ensure event listeners are removed\n     * without affecting projection animations or drag locks.\n     * @internal\n     */\n    endPanSession() {\n        this.panSession && this.panSession.end();\n        this.panSession = undefined;\n    }\n    updateAxis(axis, _point, offset) {\n        const { drag } = this.getProps();\n        // If we're not dragging this axis, do an early return.\n        if (!offset || !shouldDrag(axis, drag, this.currentDirection))\n            return;\n        const axisValue = this.getAxisMotionValue(axis);\n        let next = this.originPoint[axis] + offset[axis];\n        // Apply constraints\n        if (this.constraints && this.constraints[axis]) {\n            next = applyConstraints(next, this.constraints[axis], this.elastic[axis]);\n        }\n        axisValue.set(next);\n    }\n    resolveConstraints() {\n        const { dragConstraints, dragElastic } = this.getProps();\n        const layout = this.visualElement.projection &&\n            !this.visualElement.projection.layout\n            ? this.visualElement.projection.measure(false)\n            : this.visualElement.projection?.layout;\n        const prevConstraints = this.constraints;\n        if (dragConstraints && isRefObject(dragConstraints)) {\n            if (!this.constraints) {\n                this.constraints = this.resolveRefConstraints();\n            }\n        }\n        else {\n            if (dragConstraints && layout) {\n                this.constraints = calcRelativeConstraints(layout.layoutBox, dragConstraints);\n            }\n            else {\n                this.constraints = false;\n            }\n        }\n        this.elastic = resolveDragElastic(dragElastic);\n        /**\n         * If we're outputting to external MotionValues, we want to rebase the measured constraints\n         * from viewport-relative to component-relative. This only applies to relative (non-ref)\n         * constraints, as ref-based constraints from calcViewportConstraints are already in the\n         * correct coordinate space for the motion value transform offset.\n         */\n        if (prevConstraints !== this.constraints &&\n            !isRefObject(dragConstraints) &&\n            layout &&\n            this.constraints &&\n            !this.hasMutatedConstraints) {\n            eachAxis((axis) => {\n                if (this.constraints !== false &&\n                    this.getAxisMotionValue(axis)) {\n                    this.constraints[axis] = rebaseAxisConstraints(layout.layoutBox[axis], this.constraints[axis]);\n                }\n            });\n        }\n    }\n    resolveRefConstraints() {\n        const { dragConstraints: constraints, onMeasureDragConstraints } = this.getProps();\n        if (!constraints || !isRefObject(constraints))\n            return false;\n        const constraintsElement = constraints.current;\n        invariant(constraintsElement !== null, \"If `dragConstraints` is set as a React ref, that ref must be passed to another component's `ref` prop.\", \"drag-constraints-ref\");\n        const { projection } = this.visualElement;\n        // TODO\n        if (!projection || !projection.layout)\n            return false;\n        const constraintsBox = measurePageBox(constraintsElement, projection.root, this.visualElement.getTransformPagePoint());\n        let measuredConstraints = calcViewportConstraints(projection.layout.layoutBox, constraintsBox);\n        /**\n         * If there's an onMeasureDragConstraints listener we call it and\n         * if different constraints are returned, set constraints to that\n         */\n        if (onMeasureDragConstraints) {\n            const userConstraints = onMeasureDragConstraints(convertBoxToBoundingBox(measuredConstraints));\n            this.hasMutatedConstraints = !!userConstraints;\n            if (userConstraints) {\n                measuredConstraints = convertBoundingBoxToBox(userConstraints);\n            }\n        }\n        return measuredConstraints;\n    }\n    startAnimation(velocity) {\n        const { drag, dragMomentum, dragElastic, dragTransition, dragSnapToOrigin, onDragTransitionEnd, } = this.getProps();\n        const constraints = this.constraints || {};\n        const momentumAnimations = eachAxis((axis) => {\n            if (!shouldDrag(axis, drag, this.currentDirection)) {\n                return;\n            }\n            let transition = (constraints && constraints[axis]) || {};\n            if (dragSnapToOrigin)\n                transition = { min: 0, max: 0 };\n            /**\n             * Overdamp the boundary spring if `dragElastic` is disabled. There's still a frame\n             * of spring animations so we should look into adding a disable spring option to `inertia`.\n             * We could do something here where we affect the `bounceStiffness` and `bounceDamping`\n             * using the value of `dragElastic`.\n             */\n            const bounceStiffness = dragElastic ? 200 : 1000000;\n            const bounceDamping = dragElastic ? 40 : 10000000;\n            const inertia = {\n                type: \"inertia\",\n                velocity: dragMomentum ? velocity[axis] : 0,\n                bounceStiffness,\n                bounceDamping,\n                timeConstant: 750,\n                restDelta: 1,\n                restSpeed: 10,\n                ...dragTransition,\n                ...transition,\n            };\n            // If we're not animating on an externally-provided `MotionValue` we can use the\n            // component's animation controls which will handle interactions with whileHover (etc),\n            // otherwise we just have to animate the `MotionValue` itself.\n            return this.startAxisValueAnimation(axis, inertia);\n        });\n        // Run all animations and then resolve the new drag constraints.\n        return Promise.all(momentumAnimations).then(onDragTransitionEnd);\n    }\n    startAxisValueAnimation(axis, transition) {\n        const axisValue = this.getAxisMotionValue(axis);\n        addValueToWillChange(this.visualElement, axis);\n        return axisValue.start(animateMotionValue(axis, axisValue, 0, transition, this.visualElement, false));\n    }\n    stopAnimation() {\n        eachAxis((axis) => this.getAxisMotionValue(axis).stop());\n    }\n    /**\n     * Drag works differently depending on which props are provided.\n     *\n     * - If _dragX and _dragY are provided, we output the gesture delta directly to those motion values.\n     * - Otherwise, we apply the delta to the x/y motion values.\n     */\n    getAxisMotionValue(axis) {\n        const dragKey = `_drag${axis.toUpperCase()}`;\n        const props = this.visualElement.getProps();\n        const externalMotionValue = props[dragKey];\n        return externalMotionValue\n            ? externalMotionValue\n            : this.visualElement.getValue(axis, (props.initial\n                ? props.initial[axis]\n                : undefined) || 0);\n    }\n    snapToCursor(point) {\n        eachAxis((axis) => {\n            const { drag } = this.getProps();\n            // If we're not dragging this axis, do an early return.\n            if (!shouldDrag(axis, drag, this.currentDirection))\n                return;\n            const { projection } = this.visualElement;\n            const axisValue = this.getAxisMotionValue(axis);\n            if (projection && projection.layout) {\n                const { min, max } = projection.layout.layoutBox[axis];\n                /**\n                 * The layout measurement includes the current transform value,\n                 * so we need to add it back to get the correct snap position.\n                 * This fixes an issue where elements with initial coordinates\n                 * would snap to the wrong position on the first drag.\n                 */\n                const current = axisValue.get() || 0;\n                axisValue.set(point[axis] - mixNumber(min, max, 0.5) + current);\n            }\n        });\n    }\n    /**\n     * When the viewport resizes we want to check if the measured constraints\n     * have changed and, if so, reposition the element within those new constraints\n     * relative to where it was before the resize.\n     */\n    scalePositionWithinConstraints() {\n        if (!this.visualElement.current)\n            return;\n        const { drag, dragConstraints } = this.getProps();\n        const { projection } = this.visualElement;\n        if (!isRefObject(dragConstraints) || !projection || !this.constraints)\n            return;\n        /**\n         * Stop current animations as there can be visual glitching if we try to do\n         * this mid-animation\n         */\n        this.stopAnimation();\n        /**\n         * Record the relative position of the dragged element relative to the\n         * constraints box and save as a progress value.\n         */\n        const boxProgress = { x: 0, y: 0 };\n        eachAxis((axis) => {\n            const axisValue = this.getAxisMotionValue(axis);\n            if (axisValue && this.constraints !== false) {\n                const latest = axisValue.get();\n                boxProgress[axis] = calcOrigin({ min: latest, max: latest }, this.constraints[axis]);\n            }\n        });\n        /**\n         * Update the layout of this element and resolve the latest drag constraints\n         */\n        const { transformTemplate } = this.visualElement.getProps();\n        this.visualElement.current.style.transform = transformTemplate\n            ? transformTemplate({}, \"\")\n            : \"none\";\n        projection.root && projection.root.updateScroll();\n        projection.updateLayout();\n        /**\n         * Reset constraints so resolveConstraints() will recalculate them\n         * with the freshly measured layout rather than returning the cached value.\n         */\n        this.constraints = false;\n        this.resolveConstraints();\n        /**\n         * For each axis, calculate the current progress of the layout axis\n         * within the new constraints.\n         */\n        eachAxis((axis) => {\n            if (!shouldDrag(axis, drag, null))\n                return;\n            /**\n             * Calculate a new transform based on the previous box progress\n             */\n            const axisValue = this.getAxisMotionValue(axis);\n            const { min, max } = this.constraints[axis];\n            axisValue.set(mixNumber(min, max, boxProgress[axis]));\n        });\n        /**\n         * Flush the updated transform to the DOM synchronously to prevent\n         * a visual flash at the element's CSS layout position (0,0) when\n         * the transform was stripped for measurement.\n         */\n        this.visualElement.render();\n    }\n    addListeners() {\n        if (!this.visualElement.current)\n            return;\n        elementDragControls.set(this.visualElement, this);\n        const element = this.visualElement.current;\n        /**\n         * Attach a pointerdown event listener on this DOM element to initiate drag tracking.\n         */\n        const stopPointerListener = addPointerEvent(element, \"pointerdown\", (event) => {\n            const { drag, dragListener = true } = this.getProps();\n            const target = event.target;\n            /**\n             * Only block drag if clicking on a text input child element\n             * (input, textarea, select, contenteditable) where users might\n             * want to select text or interact with the control.\n             *\n             * Buttons and links don't block drag since they don't have\n             * click-and-move actions of their own.\n             */\n            const isClickingTextInputChild = target !== element && isElementTextInput(target);\n            if (drag && dragListener && !isClickingTextInputChild) {\n                this.start(event);\n            }\n        });\n        /**\n         * If using ref-based constraints, observe both the draggable element\n         * and the constraint container for size changes via ResizeObserver.\n         * Setup is deferred because dragConstraints.current is null when\n         * addListeners first runs (React hasn't committed the ref yet).\n         */\n        let stopResizeObservers;\n        const measureDragConstraints = () => {\n            const { dragConstraints } = this.getProps();\n            if (isRefObject(dragConstraints) && dragConstraints.current) {\n                this.constraints = this.resolveRefConstraints();\n                if (!stopResizeObservers) {\n                    stopResizeObservers = startResizeObservers(element, dragConstraints.current, () => this.scalePositionWithinConstraints());\n                }\n            }\n        };\n        const { projection } = this.visualElement;\n        const stopMeasureLayoutListener = projection.addEventListener(\"measure\", measureDragConstraints);\n        if (projection && !projection.layout) {\n            projection.root && projection.root.updateScroll();\n            projection.updateLayout();\n        }\n        frame.read(measureDragConstraints);\n        /**\n         * Attach a window resize listener to scale the draggable target within its defined\n         * constraints as the window resizes.\n         */\n        const stopResizeListener = addDomEvent(window, \"resize\", () => this.scalePositionWithinConstraints());\n        /**\n         * If the element's layout changes, calculate the delta and apply that to\n         * the drag gesture's origin point.\n         */\n        const stopLayoutUpdateListener = projection.addEventListener(\"didUpdate\", (({ delta, hasLayoutChanged }) => {\n            if (this.isDragging && hasLayoutChanged) {\n                eachAxis((axis) => {\n                    const motionValue = this.getAxisMotionValue(axis);\n                    if (!motionValue)\n                        return;\n                    this.originPoint[axis] += delta[axis].translate;\n                    motionValue.set(motionValue.get() + delta[axis].translate);\n                });\n                this.visualElement.render();\n            }\n        }));\n        return () => {\n            stopResizeListener();\n            stopPointerListener();\n            stopMeasureLayoutListener();\n            stopLayoutUpdateListener && stopLayoutUpdateListener();\n            stopResizeObservers && stopResizeObservers();\n        };\n    }\n    getProps() {\n        const props = this.visualElement.getProps();\n        const { drag = false, dragDirectionLock = false, dragPropagation = false, dragConstraints = false, dragElastic = defaultElastic, dragMomentum = true, } = props;\n        return {\n            ...props,\n            drag,\n            dragDirectionLock,\n            dragPropagation,\n            dragConstraints,\n            dragElastic,\n            dragMomentum,\n        };\n    }\n}\nfunction skipFirstCall(callback) {\n    let isFirst = true;\n    return () => {\n        if (isFirst) {\n            isFirst = false;\n            return;\n        }\n        callback();\n    };\n}\nfunction startResizeObservers(element, constraintsElement, onResize) {\n    const stopElement = resize(element, skipFirstCall(onResize));\n    const stopContainer = resize(constraintsElement, skipFirstCall(onResize));\n    return () => {\n        stopElement();\n        stopContainer();\n    };\n}\nfunction shouldDrag(direction, drag, currentDirection) {\n    return ((drag === true || drag === direction) &&\n        (currentDirection === null || currentDirection === direction));\n}\n/**\n * Based on an x/y offset determine the current drag direction. If both axis' offsets are lower\n * than the provided threshold, return `null`.\n *\n * @param offset - The x/y offset from origin.\n * @param lockThreshold - (Optional) - the minimum absolute offset before we can determine a drag direction.\n */\nfunction getCurrentDirection(offset, lockThreshold = 10) {\n    let direction = null;\n    if (Math.abs(offset.y) > lockThreshold) {\n        direction = \"y\";\n    }\n    else if (Math.abs(offset.x) > lockThreshold) {\n        direction = \"x\";\n    }\n    return direction;\n}\n\nexport { VisualElementDragControls, elementDragControls };\n//# sourceMappingURL=VisualElementDragControls.mjs.map\n","import { Feature } from 'motion-dom';\nimport { noop } from 'motion-utils';\nimport { VisualElementDragControls } from './VisualElementDragControls.mjs';\n\nclass DragGesture extends Feature {\n    constructor(node) {\n        super(node);\n        this.removeGroupControls = noop;\n        this.removeListeners = noop;\n        this.controls = new VisualElementDragControls(node);\n    }\n    mount() {\n        // If we've been provided a DragControls for manual control over the drag gesture,\n        // subscribe this component to it on mount.\n        const { dragControls } = this.node.getProps();\n        if (dragControls) {\n            this.removeGroupControls = dragControls.subscribe(this.controls);\n        }\n        this.removeListeners = this.controls.addListeners() || noop;\n    }\n    update() {\n        const { dragControls } = this.node.getProps();\n        const { dragControls: prevDragControls } = this.node.prevProps || {};\n        if (dragControls !== prevDragControls) {\n            this.removeGroupControls();\n            if (dragControls) {\n                this.removeGroupControls = dragControls.subscribe(this.controls);\n            }\n        }\n    }\n    unmount() {\n        this.removeGroupControls();\n        this.removeListeners();\n        /**\n         * In React 19, during list reorder reconciliation, components may\n         * briefly unmount and remount while the drag is still active. If we're\n         * actively dragging, we should NOT end the pan session - it will\n         * continue tracking pointer events via its window-level listeners.\n         *\n         * The pan session will be properly cleaned up when:\n         * 1. The drag ends naturally (pointerup/pointercancel)\n         * 2. The component is truly removed from the DOM\n         */\n        if (!this.controls.isDragging) {\n            this.controls.endPanSession();\n        }\n    }\n}\n\nexport { DragGesture };\n//# sourceMappingURL=index.mjs.map\n","import { mixNumber, calcLength } from 'motion-dom';\nimport { progress, clamp } from 'motion-utils';\n\n/**\n * Apply constraints to a point. These constraints are both physical along an\n * axis, and an elastic factor that determines how much to constrain the point\n * by if it does lie outside the defined parameters.\n */\nfunction applyConstraints(point, { min, max }, elastic) {\n    if (min !== undefined && point < min) {\n        // If we have a min point defined, and this is outside of that, constrain\n        point = elastic\n            ? mixNumber(min, point, elastic.min)\n            : Math.max(point, min);\n    }\n    else if (max !== undefined && point > max) {\n        // If we have a max point defined, and this is outside of that, constrain\n        point = elastic\n            ? mixNumber(max, point, elastic.max)\n            : Math.min(point, max);\n    }\n    return point;\n}\n/**\n * Calculate constraints in terms of the viewport when defined relatively to the\n * measured axis. This is measured from the nearest edge, so a max constraint of 200\n * on an axis with a max value of 300 would return a constraint of 500 - axis length\n */\nfunction calcRelativeAxisConstraints(axis, min, max) {\n    return {\n        min: min !== undefined ? axis.min + min : undefined,\n        max: max !== undefined\n            ? axis.max + max - (axis.max - axis.min)\n            : undefined,\n    };\n}\n/**\n * Calculate constraints in terms of the viewport when\n * defined relatively to the measured bounding box.\n */\nfunction calcRelativeConstraints(layoutBox, { top, left, bottom, right }) {\n    return {\n        x: calcRelativeAxisConstraints(layoutBox.x, left, right),\n        y: calcRelativeAxisConstraints(layoutBox.y, top, bottom),\n    };\n}\n/**\n * Calculate viewport constraints when defined as another viewport-relative axis\n */\nfunction calcViewportAxisConstraints(layoutAxis, constraintsAxis) {\n    let min = constraintsAxis.min - layoutAxis.min;\n    let max = constraintsAxis.max - layoutAxis.max;\n    // If the constraints axis is actually smaller than the layout axis then we can\n    // flip the constraints\n    if (constraintsAxis.max - constraintsAxis.min <\n        layoutAxis.max - layoutAxis.min) {\n        [min, max] = [max, min];\n    }\n    return { min, max };\n}\n/**\n * Calculate viewport constraints when defined as another viewport-relative box\n */\nfunction calcViewportConstraints(layoutBox, constraintsBox) {\n    return {\n        x: calcViewportAxisConstraints(layoutBox.x, constraintsBox.x),\n        y: calcViewportAxisConstraints(layoutBox.y, constraintsBox.y),\n    };\n}\n/**\n * Calculate a transform origin relative to the source axis, between 0-1, that results\n * in an asthetically pleasing scale/transform needed to project from source to target.\n */\nfunction calcOrigin(source, target) {\n    let origin = 0.5;\n    const sourceLength = calcLength(source);\n    const targetLength = calcLength(target);\n    if (targetLength > sourceLength) {\n        origin = progress(target.min, target.max - sourceLength, source.min);\n    }\n    else if (sourceLength > targetLength) {\n        origin = progress(source.min, source.max - targetLength, target.min);\n    }\n    return clamp(0, 1, origin);\n}\n/**\n * Rebase the calculated viewport constraints relative to the layout.min point.\n */\nfunction rebaseAxisConstraints(layout, constraints) {\n    const relativeConstraints = {};\n    if (constraints.min !== undefined) {\n        relativeConstraints.min = constraints.min - layout.min;\n    }\n    if (constraints.max !== undefined) {\n        relativeConstraints.max = constraints.max - layout.min;\n    }\n    return relativeConstraints;\n}\nconst defaultElastic = 0.35;\n/**\n * Accepts a dragElastic prop and returns resolved elastic values for each axis.\n */\nfunction resolveDragElastic(dragElastic = defaultElastic) {\n    if (dragElastic === false) {\n        dragElastic = 0;\n    }\n    else if (dragElastic === true) {\n        dragElastic = defaultElastic;\n    }\n    return {\n        x: resolveAxisElastic(dragElastic, \"left\", \"right\"),\n        y: resolveAxisElastic(dragElastic, \"top\", \"bottom\"),\n    };\n}\nfunction resolveAxisElastic(dragElastic, minLabel, maxLabel) {\n    return {\n        min: resolvePointElastic(dragElastic, minLabel),\n        max: resolvePointElastic(dragElastic, maxLabel),\n    };\n}\nfunction resolvePointElastic(dragElastic, label) {\n    return typeof dragElastic === \"number\"\n        ? dragElastic\n        : dragElastic[label] || 0;\n}\n\nexport { applyConstraints, calcOrigin, calcRelativeAxisConstraints, calcRelativeConstraints, calcViewportAxisConstraints, calcViewportConstraints, defaultElastic, rebaseAxisConstraints, resolveAxisElastic, resolveDragElastic, resolvePointElastic };\n//# sourceMappingURL=constraints.mjs.map\n","import { Feature, addDomEvent } from 'motion-dom';\nimport { pipe } from 'motion-utils';\n\nclass FocusGesture extends Feature {\n    constructor() {\n        super(...arguments);\n        this.isActive = false;\n    }\n    onFocus() {\n        let isFocusVisible = false;\n        /**\n         * If this element doesn't match focus-visible then don't\n         * apply whileHover. But, if matches throws that focus-visible\n         * is not a valid selector then in that browser outline styles will be applied\n         * to the element by default and we want to match that behaviour with whileFocus.\n         */\n        try {\n            isFocusVisible = this.node.current.matches(\":focus-visible\");\n        }\n        catch (e) {\n            isFocusVisible = true;\n        }\n        if (!isFocusVisible || !this.node.animationState)\n            return;\n        this.node.animationState.setActive(\"whileFocus\", true);\n        this.isActive = true;\n    }\n    onBlur() {\n        if (!this.isActive || !this.node.animationState)\n            return;\n        this.node.animationState.setActive(\"whileFocus\", false);\n        this.isActive = false;\n    }\n    mount() {\n        this.unmount = pipe(addDomEvent(this.node.current, \"focus\", () => this.onFocus()), addDomEvent(this.node.current, \"blur\", () => this.onBlur()));\n    }\n    unmount() { }\n}\n\nexport { FocusGesture };\n//# sourceMappingURL=focus.mjs.map\n","import { Feature, hover, frame } from 'motion-dom';\nimport { extractEventInfo } from '../events/event-info.mjs';\n\nfunction handleHoverEvent(node, event, lifecycle) {\n    const { props } = node;\n    if (node.animationState && props.whileHover) {\n        node.animationState.setActive(\"whileHover\", lifecycle === \"Start\");\n    }\n    const eventName = (\"onHover\" + lifecycle);\n    const callback = props[eventName];\n    if (callback) {\n        frame.postRender(() => callback(event, extractEventInfo(event)));\n    }\n}\nclass HoverGesture extends Feature {\n    mount() {\n        const { current } = this.node;\n        if (!current)\n            return;\n        this.unmount = hover(current, (_element, startEvent) => {\n            handleHoverEvent(this.node, startEvent, \"Start\");\n            return (endEvent) => handleHoverEvent(this.node, endEvent, \"End\");\n        });\n    }\n    unmount() { }\n}\n\nexport { HoverGesture };\n//# sourceMappingURL=hover.mjs.map\n","import { frame, isPrimaryPointer, cancelFrame, frameData } from 'motion-dom';\nimport { pipe, secondsToMilliseconds, millisecondsToSeconds } from 'motion-utils';\nimport { addPointerEvent } from '../../events/add-pointer-event.mjs';\nimport { extractEventInfo } from '../../events/event-info.mjs';\nimport { distance2D } from '../../utils/distance.mjs';\n\nconst overflowStyles = /*#__PURE__*/ new Set([\"auto\", \"scroll\"]);\n/**\n * @internal\n */\nclass PanSession {\n    constructor(event, handlers, { transformPagePoint, contextWindow = window, dragSnapToOrigin = false, distanceThreshold = 3, element, } = {}) {\n        /**\n         * @internal\n         */\n        this.startEvent = null;\n        /**\n         * @internal\n         */\n        this.lastMoveEvent = null;\n        /**\n         * @internal\n         */\n        this.lastMoveEventInfo = null;\n        /**\n         * @internal\n         */\n        this.handlers = {};\n        /**\n         * @internal\n         */\n        this.contextWindow = window;\n        /**\n         * Scroll positions of scrollable ancestors and window.\n         * @internal\n         */\n        this.scrollPositions = new Map();\n        /**\n         * Cleanup function for scroll listeners.\n         * @internal\n         */\n        this.removeScrollListeners = null;\n        this.onElementScroll = (event) => {\n            this.handleScroll(event.target);\n        };\n        this.onWindowScroll = () => {\n            this.handleScroll(window);\n        };\n        this.updatePoint = () => {\n            if (!(this.lastMoveEvent && this.lastMoveEventInfo))\n                return;\n            const info = getPanInfo(this.lastMoveEventInfo, this.history);\n            const isPanStarted = this.startEvent !== null;\n            // Only start panning if the offset is larger than 3 pixels. If we make it\n            // any larger than this we'll want to reset the pointer history\n            // on the first update to avoid visual snapping to the cursor.\n            const isDistancePastThreshold = distance2D(info.offset, { x: 0, y: 0 }) >= this.distanceThreshold;\n            if (!isPanStarted && !isDistancePastThreshold)\n                return;\n            const { point } = info;\n            const { timestamp } = frameData;\n            this.history.push({ ...point, timestamp });\n            const { onStart, onMove } = this.handlers;\n            if (!isPanStarted) {\n                onStart && onStart(this.lastMoveEvent, info);\n                this.startEvent = this.lastMoveEvent;\n            }\n            onMove && onMove(this.lastMoveEvent, info);\n        };\n        this.handlePointerMove = (event, info) => {\n            this.lastMoveEvent = event;\n            this.lastMoveEventInfo = transformPoint(info, this.transformPagePoint);\n            // Throttle mouse move event to once per frame\n            frame.update(this.updatePoint, true);\n        };\n        this.handlePointerUp = (event, info) => {\n            this.end();\n            const { onEnd, onSessionEnd, resumeAnimation } = this.handlers;\n            // Resume animation if dragSnapToOrigin is set OR if no drag started (user just clicked)\n            // This ensures constraint animations continue when interrupted by a click\n            if (this.dragSnapToOrigin || !this.startEvent) {\n                resumeAnimation && resumeAnimation();\n            }\n            if (!(this.lastMoveEvent && this.lastMoveEventInfo))\n                return;\n            const panInfo = getPanInfo(event.type === \"pointercancel\"\n                ? this.lastMoveEventInfo\n                : transformPoint(info, this.transformPagePoint), this.history);\n            if (this.startEvent && onEnd) {\n                onEnd(event, panInfo);\n            }\n            onSessionEnd && onSessionEnd(event, panInfo);\n        };\n        // If we have more than one touch, don't start detecting this gesture\n        if (!isPrimaryPointer(event))\n            return;\n        this.dragSnapToOrigin = dragSnapToOrigin;\n        this.handlers = handlers;\n        this.transformPagePoint = transformPagePoint;\n        this.distanceThreshold = distanceThreshold;\n        this.contextWindow = contextWindow || window;\n        const info = extractEventInfo(event);\n        const initialInfo = transformPoint(info, this.transformPagePoint);\n        const { point } = initialInfo;\n        const { timestamp } = frameData;\n        this.history = [{ ...point, timestamp }];\n        const { onSessionStart } = handlers;\n        onSessionStart &&\n            onSessionStart(event, getPanInfo(initialInfo, this.history));\n        this.removeListeners = pipe(addPointerEvent(this.contextWindow, \"pointermove\", this.handlePointerMove), addPointerEvent(this.contextWindow, \"pointerup\", this.handlePointerUp), addPointerEvent(this.contextWindow, \"pointercancel\", this.handlePointerUp));\n        // Start scroll tracking if element provided\n        if (element) {\n            this.startScrollTracking(element);\n        }\n    }\n    /**\n     * Start tracking scroll on ancestors and window.\n     */\n    startScrollTracking(element) {\n        // Store initial scroll positions for scrollable ancestors\n        let current = element.parentElement;\n        while (current) {\n            const style = getComputedStyle(current);\n            if (overflowStyles.has(style.overflowX) ||\n                overflowStyles.has(style.overflowY)) {\n                this.scrollPositions.set(current, {\n                    x: current.scrollLeft,\n                    y: current.scrollTop,\n                });\n            }\n            current = current.parentElement;\n        }\n        // Track window scroll\n        this.scrollPositions.set(window, {\n            x: window.scrollX,\n            y: window.scrollY,\n        });\n        // Capture listener catches element scroll events as they bubble\n        window.addEventListener(\"scroll\", this.onElementScroll, {\n            capture: true,\n            passive: true,\n        });\n        // Direct window scroll listener (window scroll doesn't bubble)\n        window.addEventListener(\"scroll\", this.onWindowScroll, {\n            passive: true,\n        });\n        this.removeScrollListeners = () => {\n            window.removeEventListener(\"scroll\", this.onElementScroll, {\n                capture: true,\n            });\n            window.removeEventListener(\"scroll\", this.onWindowScroll);\n        };\n    }\n    /**\n     * Handle scroll compensation during drag.\n     *\n     * For element scroll: adjusts history origin since pageX/pageY doesn't change.\n     * For window scroll: adjusts lastMoveEventInfo since pageX/pageY would change.\n     */\n    handleScroll(target) {\n        const initial = this.scrollPositions.get(target);\n        if (!initial)\n            return;\n        const isWindow = target === window;\n        const current = isWindow\n            ? { x: window.scrollX, y: window.scrollY }\n            : {\n                x: target.scrollLeft,\n                y: target.scrollTop,\n            };\n        const delta = { x: current.x - initial.x, y: current.y - initial.y };\n        if (delta.x === 0 && delta.y === 0)\n            return;\n        if (isWindow) {\n            // Window scroll: pageX/pageY changes, so update lastMoveEventInfo\n            if (this.lastMoveEventInfo) {\n                this.lastMoveEventInfo.point.x += delta.x;\n                this.lastMoveEventInfo.point.y += delta.y;\n            }\n        }\n        else {\n            // Element scroll: pageX/pageY unchanged, so adjust history origin\n            if (this.history.length > 0) {\n                this.history[0].x -= delta.x;\n                this.history[0].y -= delta.y;\n            }\n        }\n        this.scrollPositions.set(target, current);\n        frame.update(this.updatePoint, true);\n    }\n    updateHandlers(handlers) {\n        this.handlers = handlers;\n    }\n    end() {\n        this.removeListeners && this.removeListeners();\n        this.removeScrollListeners && this.removeScrollListeners();\n        this.scrollPositions.clear();\n        cancelFrame(this.updatePoint);\n    }\n}\nfunction transformPoint(info, transformPagePoint) {\n    return transformPagePoint ? { point: transformPagePoint(info.point) } : info;\n}\nfunction subtractPoint(a, b) {\n    return { x: a.x - b.x, y: a.y - b.y };\n}\nfunction getPanInfo({ point }, history) {\n    return {\n        point,\n        delta: subtractPoint(point, lastDevicePoint(history)),\n        offset: subtractPoint(point, startDevicePoint(history)),\n        velocity: getVelocity(history, 0.1),\n    };\n}\nfunction startDevicePoint(history) {\n    return history[0];\n}\nfunction lastDevicePoint(history) {\n    return history[history.length - 1];\n}\nfunction getVelocity(history, timeDelta) {\n    if (history.length < 2) {\n        return { x: 0, y: 0 };\n    }\n    let i = history.length - 1;\n    let timestampedPoint = null;\n    const lastPoint = lastDevicePoint(history);\n    while (i >= 0) {\n        timestampedPoint = history[i];\n        if (lastPoint.timestamp - timestampedPoint.timestamp >\n            secondsToMilliseconds(timeDelta)) {\n            break;\n        }\n        i--;\n    }\n    if (!timestampedPoint) {\n        return { x: 0, y: 0 };\n    }\n    /**\n     * If the selected point is the pointer-down origin (history[0]),\n     * there are better movement points available, and the time gap\n     * is suspiciously large (>2x timeDelta), use the next point instead.\n     * This prevents stale pointer-down points from diluting velocity\n     * in hold-then-flick gestures.\n     */\n    if (timestampedPoint === history[0] &&\n        history.length > 2 &&\n        lastPoint.timestamp - timestampedPoint.timestamp >\n            secondsToMilliseconds(timeDelta) * 2) {\n        timestampedPoint = history[1];\n    }\n    const time = millisecondsToSeconds(lastPoint.timestamp - timestampedPoint.timestamp);\n    if (time === 0) {\n        return { x: 0, y: 0 };\n    }\n    const currentVelocity = {\n        x: (lastPoint.x - timestampedPoint.x) / time,\n        y: (lastPoint.y - timestampedPoint.y) / time,\n    };\n    if (currentVelocity.x === Infinity) {\n        currentVelocity.x = 0;\n    }\n    if (currentVelocity.y === Infinity) {\n        currentVelocity.y = 0;\n    }\n    return currentVelocity;\n}\n\nexport { PanSession };\n//# sourceMappingURL=PanSession.mjs.map\n","import { Feature, frame } from 'motion-dom';\nimport { noop } from 'motion-utils';\nimport { addPointerEvent } from '../../events/add-pointer-event.mjs';\nimport { getContextWindow } from '../../utils/get-context-window.mjs';\nimport { PanSession } from './PanSession.mjs';\n\nconst asyncHandler = (handler) => (event, info) => {\n    if (handler) {\n        frame.update(() => handler(event, info), false, true);\n    }\n};\nclass PanGesture extends Feature {\n    constructor() {\n        super(...arguments);\n        this.removePointerDownListener = noop;\n    }\n    onPointerDown(pointerDownEvent) {\n        this.session = new PanSession(pointerDownEvent, this.createPanHandlers(), {\n            transformPagePoint: this.node.getTransformPagePoint(),\n            contextWindow: getContextWindow(this.node),\n        });\n    }\n    createPanHandlers() {\n        const { onPanSessionStart, onPanStart, onPan, onPanEnd } = this.node.getProps();\n        return {\n            onSessionStart: asyncHandler(onPanSessionStart),\n            onStart: asyncHandler(onPanStart),\n            onMove: asyncHandler(onPan),\n            onEnd: (event, info) => {\n                delete this.session;\n                if (onPanEnd) {\n                    frame.postRender(() => onPanEnd(event, info));\n                }\n            },\n        };\n    }\n    mount() {\n        this.removePointerDownListener = addPointerEvent(this.node.current, \"pointerdown\", (event) => this.onPointerDown(event));\n    }\n    update() {\n        this.session && this.session.updateHandlers(this.createPanHandlers());\n    }\n    unmount() {\n        this.removePointerDownListener();\n        this.session && this.session.end();\n    }\n}\n\nexport { PanGesture };\n//# sourceMappingURL=index.mjs.map\n","import { Feature, press, frame } from 'motion-dom';\nimport { extractEventInfo } from '../events/event-info.mjs';\n\nfunction handlePressEvent(node, event, lifecycle) {\n    const { props } = node;\n    if (node.current instanceof HTMLButtonElement && node.current.disabled) {\n        return;\n    }\n    if (node.animationState && props.whileTap) {\n        node.animationState.setActive(\"whileTap\", lifecycle === \"Start\");\n    }\n    const eventName = (\"onTap\" + (lifecycle === \"End\" ? \"\" : lifecycle));\n    const callback = props[eventName];\n    if (callback) {\n        frame.postRender(() => callback(event, extractEventInfo(event)));\n    }\n}\nclass PressGesture extends Feature {\n    mount() {\n        const { current } = this.node;\n        if (!current)\n            return;\n        const { globalTapTarget, propagate } = this.node.props;\n        this.unmount = press(current, (_element, startEvent) => {\n            handlePressEvent(this.node, startEvent, \"Start\");\n            return (endEvent, { success }) => handlePressEvent(this.node, endEvent, success ? \"End\" : \"Cancel\");\n        }, {\n            useGlobalTarget: globalTapTarget,\n            stopPropagation: propagate?.tap === false,\n        });\n    }\n    unmount() { }\n}\n\nexport { PressGesture };\n//# sourceMappingURL=press.mjs.map\n","import { Feature } from 'motion-dom';\n\nlet id = 0;\nclass ExitAnimationFeature extends Feature {\n    constructor() {\n        super(...arguments);\n        this.id = id++;\n    }\n    update() {\n        if (!this.node.presenceContext)\n            return;\n        const { isPresent, onExitComplete } = this.node.presenceContext;\n        const { isPresent: prevIsPresent } = this.node.prevPresenceContext || {};\n        if (!this.node.animationState || isPresent === prevIsPresent) {\n            return;\n        }\n        const exitAnimation = this.node.animationState.setActive(\"exit\", !isPresent);\n        if (onExitComplete && !isPresent) {\n            exitAnimation.then(() => {\n                onExitComplete(this.id);\n            });\n        }\n    }\n    mount() {\n        const { register, onExitComplete } = this.node.presenceContext || {};\n        if (onExitComplete) {\n            onExitComplete(this.id);\n        }\n        if (register) {\n            this.unmount = register(this.id);\n        }\n    }\n    unmount() { }\n}\n\nexport { ExitAnimationFeature };\n//# sourceMappingURL=exit.mjs.map\n","import { Feature, createAnimationState, isAnimationControls } from 'motion-dom';\n\nclass AnimationFeature extends Feature {\n    /**\n     * We dynamically generate the AnimationState manager as it contains a reference\n     * to the underlying animation library. We only want to load that if we load this,\n     * so people can optionally code split it out using the `m` component.\n     */\n    constructor(node) {\n        super(node);\n        node.animationState || (node.animationState = createAnimationState(node));\n    }\n    updateAnimationControlsSubscription() {\n        const { animate } = this.node.getProps();\n        if (isAnimationControls(animate)) {\n            this.unmountControls = animate.subscribe(this.node);\n        }\n    }\n    /**\n     * Subscribe any provided AnimationControls to the component's VisualElement\n     */\n    mount() {\n        this.updateAnimationControlsSubscription();\n    }\n    update() {\n        const { animate } = this.node.getProps();\n        const { animate: prevAnimate } = this.node.prevProps || {};\n        if (animate !== prevAnimate) {\n            this.updateAnimationControlsSubscription();\n        }\n    }\n    unmount() {\n        this.node.animationState.reset();\n        this.unmountControls?.();\n    }\n}\n\nexport { AnimationFeature };\n//# sourceMappingURL=index.mjs.map\n","import { AnimationFeature } from './animation/index.mjs';\nimport { ExitAnimationFeature } from './animation/exit.mjs';\n\nconst animations = {\n    animation: {\n        Feature: AnimationFeature,\n    },\n    exit: {\n        Feature: ExitAnimationFeature,\n    },\n};\n\nexport { animations };\n//# sourceMappingURL=animations.mjs.map\n","import { getFeatureDefinitions, setFeatureDefinitions } from 'motion-dom';\n\nconst featureProps = {\n    animation: [\n        \"animate\",\n        \"variants\",\n        \"whileHover\",\n        \"whileTap\",\n        \"exit\",\n        \"whileInView\",\n        \"whileFocus\",\n        \"whileDrag\",\n    ],\n    exit: [\"exit\"],\n    drag: [\"drag\", \"dragControls\"],\n    focus: [\"whileFocus\"],\n    hover: [\"whileHover\", \"onHoverStart\", \"onHoverEnd\"],\n    tap: [\"whileTap\", \"onTap\", \"onTapStart\", \"onTapCancel\"],\n    pan: [\"onPan\", \"onPanStart\", \"onPanSessionStart\", \"onPanEnd\"],\n    inView: [\"whileInView\", \"onViewportEnter\", \"onViewportLeave\"],\n    layout: [\"layout\", \"layoutId\"],\n};\nlet isInitialized = false;\n/**\n * Initialize feature definitions with isEnabled checks.\n * This must be called before any motion components are rendered.\n */\nfunction initFeatureDefinitions() {\n    if (isInitialized)\n        return;\n    const initialFeatureDefinitions = {};\n    for (const key in featureProps) {\n        initialFeatureDefinitions[key] = {\n            isEnabled: (props) => featureProps[key].some((name) => !!props[name]),\n        };\n    }\n    setFeatureDefinitions(initialFeatureDefinitions);\n    isInitialized = true;\n}\n/**\n * Get the current feature definitions, initializing if needed.\n */\nfunction getInitializedFeatureDefinitions() {\n    initFeatureDefinitions();\n    return getFeatureDefinitions();\n}\n\nexport { getInitializedFeatureDefinitions, initFeatureDefinitions };\n//# sourceMappingURL=definitions.mjs.map\n","import { DragGesture } from '../../gestures/drag/index.mjs';\nimport { PanGesture } from '../../gestures/pan/index.mjs';\nimport { MeasureLayout } from './layout/MeasureLayout.mjs';\nimport { HTMLProjectionNode } from 'motion-dom';\n\nconst drag = {\n    pan: {\n        Feature: PanGesture,\n    },\n    drag: {\n        Feature: DragGesture,\n        ProjectionNode: HTMLProjectionNode,\n        MeasureLayout,\n    },\n};\n\nexport { drag };\n//# sourceMappingURL=drag.mjs.map\n","import { HoverGesture } from '../../gestures/hover.mjs';\nimport { FocusGesture } from '../../gestures/focus.mjs';\nimport { PressGesture } from '../../gestures/press.mjs';\nimport { InViewFeature } from './viewport/index.mjs';\n\nconst gestureAnimations = {\n    inView: {\n        Feature: InViewFeature,\n    },\n    tap: {\n        Feature: PressGesture,\n    },\n    focus: {\n        Feature: FocusGesture,\n    },\n    hover: {\n        Feature: HoverGesture,\n    },\n};\n\nexport { gestureAnimations };\n//# sourceMappingURL=gestures.mjs.map\n","import { HTMLProjectionNode } from 'motion-dom';\nimport { MeasureLayout } from './layout/MeasureLayout.mjs';\n\nconst layout = {\n    layout: {\n        ProjectionNode: HTMLProjectionNode,\n        MeasureLayout,\n    },\n};\n\nexport { layout };\n//# sourceMappingURL=layout.mjs.map\n","\"use client\";\nimport { jsx } from 'react/jsx-runtime';\nimport { globalProjectionState, frame, microtask } from 'motion-dom';\nimport { useContext, Component } from 'react';\nimport { usePresence } from '../../../components/AnimatePresence/use-presence.mjs';\nimport { LayoutGroupContext } from '../../../context/LayoutGroupContext.mjs';\nimport { SwitchLayoutGroupContext } from '../../../context/SwitchLayoutGroupContext.mjs';\n\n/**\n * Track whether we've taken any snapshots yet. If not,\n * we can safely skip notification of didUpdate.\n *\n * Difficult to capture in a test but to prevent flickering\n * we must set this to true either on update or unmount.\n * Running `next-env/layout-id` in Safari will show this behaviour if broken.\n */\nlet hasTakenAnySnapshot = false;\nclass MeasureLayoutWithContext extends Component {\n    /**\n     * This only mounts projection nodes for components that\n     * need measuring, we might want to do it for all components\n     * in order to incorporate transforms\n     */\n    componentDidMount() {\n        const { visualElement, layoutGroup, switchLayoutGroup, layoutId } = this.props;\n        const { projection } = visualElement;\n        if (projection) {\n            if (layoutGroup.group)\n                layoutGroup.group.add(projection);\n            if (switchLayoutGroup && switchLayoutGroup.register && layoutId) {\n                switchLayoutGroup.register(projection);\n            }\n            if (hasTakenAnySnapshot) {\n                projection.root.didUpdate();\n            }\n            projection.addEventListener(\"animationComplete\", () => {\n                this.safeToRemove();\n            });\n            projection.setOptions({\n                ...projection.options,\n                layoutDependency: this.props.layoutDependency,\n                onExitComplete: () => this.safeToRemove(),\n            });\n        }\n        globalProjectionState.hasEverUpdated = true;\n    }\n    getSnapshotBeforeUpdate(prevProps) {\n        const { layoutDependency, visualElement, drag, isPresent } = this.props;\n        const { projection } = visualElement;\n        if (!projection)\n            return null;\n        /**\n         * TODO: We use this data in relegate to determine whether to\n         * promote a previous element. There's no guarantee its presence data\n         * will have updated by this point - if a bug like this arises it will\n         * have to be that we markForRelegation and then find a new lead some other way,\n         * perhaps in didUpdate\n         */\n        projection.isPresent = isPresent;\n        if (prevProps.layoutDependency !== layoutDependency) {\n            projection.setOptions({\n                ...projection.options,\n                layoutDependency,\n            });\n        }\n        hasTakenAnySnapshot = true;\n        if (drag ||\n            prevProps.layoutDependency !== layoutDependency ||\n            layoutDependency === undefined ||\n            prevProps.isPresent !== isPresent) {\n            projection.willUpdate();\n        }\n        else {\n            this.safeToRemove();\n        }\n        if (prevProps.isPresent !== isPresent) {\n            if (isPresent) {\n                projection.promote();\n            }\n            else if (!projection.relegate()) {\n                /**\n                 * If there's another stack member taking over from this one,\n                 * it's in charge of the exit animation and therefore should\n                 * be in charge of the safe to remove. Otherwise we call it here.\n                 */\n                frame.postRender(() => {\n                    const stack = projection.getStack();\n                    if (!stack || !stack.members.length) {\n                        this.safeToRemove();\n                    }\n                });\n            }\n        }\n        return null;\n    }\n    componentDidUpdate() {\n        const { projection } = this.props.visualElement;\n        if (projection) {\n            projection.root.didUpdate();\n            microtask.postRender(() => {\n                if (!projection.currentAnimation && projection.isLead()) {\n                    this.safeToRemove();\n                }\n            });\n        }\n    }\n    componentWillUnmount() {\n        const { visualElement, layoutGroup, switchLayoutGroup: promoteContext, } = this.props;\n        const { projection } = visualElement;\n        hasTakenAnySnapshot = true;\n        if (projection) {\n            projection.scheduleCheckAfterUnmount();\n            if (layoutGroup && layoutGroup.group)\n                layoutGroup.group.remove(projection);\n            if (promoteContext && promoteContext.deregister)\n                promoteContext.deregister(projection);\n        }\n    }\n    safeToRemove() {\n        const { safeToRemove } = this.props;\n        safeToRemove && safeToRemove();\n    }\n    render() {\n        return null;\n    }\n}\nfunction MeasureLayout(props) {\n    const [isPresent, safeToRemove] = usePresence();\n    const layoutGroup = useContext(LayoutGroupContext);\n    return (jsx(MeasureLayoutWithContext, { ...props, layoutGroup: layoutGroup, switchLayoutGroup: useContext(SwitchLayoutGroupContext), isPresent: isPresent, safeToRemove: safeToRemove }));\n}\n\nexport { MeasureLayout };\n//# sourceMappingURL=MeasureLayout.mjs.map\n","import { setFeatureDefinitions } from 'motion-dom';\nimport { getInitializedFeatureDefinitions } from './definitions.mjs';\n\nfunction loadFeatures(features) {\n    const featureDefinitions = getInitializedFeatureDefinitions();\n    for (const key in features) {\n        featureDefinitions[key] = {\n            ...featureDefinitions[key],\n            ...features[key],\n        };\n    }\n    setFeatureDefinitions(featureDefinitions);\n}\n\nexport { loadFeatures };\n//# sourceMappingURL=load-features.mjs.map\n","import { Feature } from 'motion-dom';\nimport { observeIntersection } from './observers.mjs';\n\nconst thresholdNames = {\n    some: 0,\n    all: 1,\n};\nclass InViewFeature extends Feature {\n    constructor() {\n        super(...arguments);\n        this.hasEnteredView = false;\n        this.isInView = false;\n    }\n    startObserver() {\n        this.unmount();\n        const { viewport = {} } = this.node.getProps();\n        const { root, margin: rootMargin, amount = \"some\", once } = viewport;\n        const options = {\n            root: root ? root.current : undefined,\n            rootMargin,\n            threshold: typeof amount === \"number\" ? amount : thresholdNames[amount],\n        };\n        const onIntersectionUpdate = (entry) => {\n            const { isIntersecting } = entry;\n            /**\n             * If there's been no change in the viewport state, early return.\n             */\n            if (this.isInView === isIntersecting)\n                return;\n            this.isInView = isIntersecting;\n            /**\n             * Handle hasEnteredView. If this is only meant to run once, and\n             * element isn't visible, early return. Otherwise set hasEnteredView to true.\n             */\n            if (once && !isIntersecting && this.hasEnteredView) {\n                return;\n            }\n            else if (isIntersecting) {\n                this.hasEnteredView = true;\n            }\n            if (this.node.animationState) {\n                this.node.animationState.setActive(\"whileInView\", isIntersecting);\n            }\n            /**\n             * Use the latest committed props rather than the ones in scope\n             * when this observer is created\n             */\n            const { onViewportEnter, onViewportLeave } = this.node.getProps();\n            const callback = isIntersecting ? onViewportEnter : onViewportLeave;\n            callback && callback(entry);\n        };\n        return observeIntersection(this.node.current, options, onIntersectionUpdate);\n    }\n    mount() {\n        this.startObserver();\n    }\n    update() {\n        if (typeof IntersectionObserver === \"undefined\")\n            return;\n        const { props, prevProps } = this.node;\n        const hasOptionsChanged = [\"amount\", \"margin\", \"root\"].some(hasViewportOptionChanged(props, prevProps));\n        if (hasOptionsChanged) {\n            this.startObserver();\n        }\n    }\n    unmount() { }\n}\nfunction hasViewportOptionChanged({ viewport = {} }, { viewport: prevViewport = {} } = {}) {\n    return (name) => viewport[name] !== prevViewport[name];\n}\n\nexport { InViewFeature };\n//# sourceMappingURL=index.mjs.map\n","/**\n * Map an IntersectionHandler callback to an element. We only ever make one handler for one\n * element, so even though these handlers might all be triggered by different\n * observers, we can keep them in the same map.\n */\nconst observerCallbacks = new WeakMap();\n/**\n * Multiple observers can be created for multiple element/document roots. Each with\n * different settings. So here we store dictionaries of observers to each root,\n * using serialised settings (threshold/margin) as lookup keys.\n */\nconst observers = new WeakMap();\nconst fireObserverCallback = (entry) => {\n    const callback = observerCallbacks.get(entry.target);\n    callback && callback(entry);\n};\nconst fireAllObserverCallbacks = (entries) => {\n    entries.forEach(fireObserverCallback);\n};\nfunction initIntersectionObserver({ root, ...options }) {\n    const lookupRoot = root || document;\n    /**\n     * If we don't have an observer lookup map for this root, create one.\n     */\n    if (!observers.has(lookupRoot)) {\n        observers.set(lookupRoot, {});\n    }\n    const rootObservers = observers.get(lookupRoot);\n    const key = JSON.stringify(options);\n    /**\n     * If we don't have an observer for this combination of root and settings,\n     * create one.\n     */\n    if (!rootObservers[key]) {\n        rootObservers[key] = new IntersectionObserver(fireAllObserverCallbacks, { root, ...options });\n    }\n    return rootObservers[key];\n}\nfunction observeIntersection(element, options, callback) {\n    const rootInteresectionObserver = initIntersectionObserver(options);\n    observerCallbacks.set(element, callback);\n    rootInteresectionObserver.observe(element);\n    return () => {\n        observerCallbacks.delete(element);\n        rootInteresectionObserver.unobserve(element);\n    };\n}\n\nexport { observeIntersection };\n//# sourceMappingURL=observers.mjs.map\n","\"use client\";\nimport { jsxs, jsx } from 'react/jsx-runtime';\nimport { warning, invariant } from 'motion-utils';\nimport { forwardRef, useContext } from 'react';\nimport { LayoutGroupContext } from '../context/LayoutGroupContext.mjs';\nimport { LazyContext } from '../context/LazyContext.mjs';\nimport { MotionConfigContext } from '../context/MotionConfigContext.mjs';\nimport { MotionContext } from '../context/MotionContext/index.mjs';\nimport { useCreateMotionContext } from '../context/MotionContext/create.mjs';\nimport { useRender } from '../render/dom/use-render.mjs';\nimport { isSVGComponent } from '../render/dom/utils/is-svg-component.mjs';\nimport { useHTMLVisualState } from '../render/html/use-html-visual-state.mjs';\nimport { useSVGVisualState } from '../render/svg/use-svg-visual-state.mjs';\nimport { isBrowser } from '../utils/is-browser.mjs';\nimport { getInitializedFeatureDefinitions } from './features/definitions.mjs';\nimport { loadFeatures } from './features/load-features.mjs';\nimport { motionComponentSymbol } from './utils/symbol.mjs';\nimport { useMotionRef } from './utils/use-motion-ref.mjs';\nimport { useVisualElement } from './utils/use-visual-element.mjs';\n\n/**\n * Create a `motion` component.\n *\n * This function accepts a Component argument, which can be either a string (ie \"div\"\n * for `motion.div`), or an actual React component.\n *\n * Alongside this is a config option which provides a way of rendering the provided\n * component \"offline\", or outside the React render cycle.\n */\nfunction createMotionComponent(Component, { forwardMotionProps = false, type } = {}, preloadedFeatures, createVisualElement) {\n    preloadedFeatures && loadFeatures(preloadedFeatures);\n    /**\n     * Determine whether to use SVG or HTML rendering based on:\n     * 1. Explicit `type` option (highest priority)\n     * 2. Auto-detection via `isSVGComponent`\n     */\n    const isSVG = type ? type === \"svg\" : isSVGComponent(Component);\n    const useVisualState = isSVG ? useSVGVisualState : useHTMLVisualState;\n    function MotionDOMComponent(props, externalRef) {\n        /**\n         * If we need to measure the element we load this functionality in a\n         * separate class component in order to gain access to getSnapshotBeforeUpdate.\n         */\n        let MeasureLayout;\n        const configAndProps = {\n            ...useContext(MotionConfigContext),\n            ...props,\n            layoutId: useLayoutId(props),\n        };\n        const { isStatic } = configAndProps;\n        const context = useCreateMotionContext(props);\n        const visualState = useVisualState(props, isStatic);\n        if (!isStatic && isBrowser) {\n            useStrictMode(configAndProps, preloadedFeatures);\n            const layoutProjection = getProjectionFunctionality(configAndProps);\n            MeasureLayout = layoutProjection.MeasureLayout;\n            /**\n             * Create a VisualElement for this component. A VisualElement provides a common\n             * interface to renderer-specific APIs (ie DOM/Three.js etc) as well as\n             * providing a way of rendering to these APIs outside of the React render loop\n             * for more performant animations and interactions\n             */\n            context.visualElement = useVisualElement(Component, visualState, configAndProps, createVisualElement, layoutProjection.ProjectionNode, isSVG);\n        }\n        /**\n         * The mount order and hierarchy is specific to ensure our element ref\n         * is hydrated by the time features fire their effects.\n         */\n        return (jsxs(MotionContext.Provider, { value: context, children: [MeasureLayout && context.visualElement ? (jsx(MeasureLayout, { visualElement: context.visualElement, ...configAndProps })) : null, useRender(Component, props, useMotionRef(visualState, context.visualElement, externalRef), visualState, isStatic, forwardMotionProps, isSVG)] }));\n    }\n    MotionDOMComponent.displayName = `motion.${typeof Component === \"string\"\n        ? Component\n        : `create(${Component.displayName ?? Component.name ?? \"\"})`}`;\n    const ForwardRefMotionComponent = forwardRef(MotionDOMComponent);\n    ForwardRefMotionComponent[motionComponentSymbol] = Component;\n    return ForwardRefMotionComponent;\n}\nfunction useLayoutId({ layoutId }) {\n    const layoutGroupId = useContext(LayoutGroupContext).id;\n    return layoutGroupId && layoutId !== undefined\n        ? layoutGroupId + \"-\" + layoutId\n        : layoutId;\n}\nfunction useStrictMode(configAndProps, preloadedFeatures) {\n    const isStrict = useContext(LazyContext).strict;\n    /**\n     * If we're in development mode, check to make sure we're not rendering a motion component\n     * as a child of LazyMotion, as this will break the file-size benefits of using it.\n     */\n    if (process.env.NODE_ENV !== \"production\" &&\n        preloadedFeatures &&\n        isStrict) {\n        const strictMessage = \"You have rendered a `motion` component within a `LazyMotion` component. This will break tree shaking. Import and render a `m` component instead.\";\n        configAndProps.ignoreStrict\n            ? warning(false, strictMessage, \"lazy-strict-mode\")\n            : invariant(false, strictMessage, \"lazy-strict-mode\");\n    }\n}\nfunction getProjectionFunctionality(props) {\n    const featureDefinitions = getInitializedFeatureDefinitions();\n    const { drag, layout } = featureDefinitions;\n    if (!drag && !layout)\n        return {};\n    const combined = { ...drag, ...layout };\n    return {\n        MeasureLayout: drag?.isEnabled(props) || layout?.isEnabled(props)\n            ? combined.MeasureLayout\n            : undefined,\n        ProjectionNode: combined.ProjectionNode,\n    };\n}\n\nexport { createMotionComponent };\n//# sourceMappingURL=index.mjs.map\n","const motionComponentSymbol = Symbol.for(\"motionComponentSymbol\");\n\nexport { motionComponentSymbol };\n//# sourceMappingURL=symbol.mjs.map\n","\"use client\";\nimport { useRef, useInsertionEffect, useCallback } from 'react';\n\n/**\n * Creates a ref function that, when called, hydrates the provided\n * external ref and VisualElement.\n */\nfunction useMotionRef(visualState, visualElement, externalRef) {\n    /**\n     * Store externalRef in a ref to avoid including it in the useCallback\n     * dependency array. Including externalRef in dependencies causes issues\n     * with libraries like Radix UI that create new callback refs on each render\n     * when using asChild - this would cause the callback to be recreated,\n     * triggering element remounts and breaking AnimatePresence exit animations.\n     */\n    const externalRefContainer = useRef(externalRef);\n    useInsertionEffect(() => {\n        externalRefContainer.current = externalRef;\n    });\n    // Store cleanup function returned by callback refs (React 19 feature)\n    const refCleanup = useRef(null);\n    return useCallback((instance) => {\n        if (instance) {\n            visualState.onMount?.(instance);\n        }\n        if (visualElement) {\n            instance ? visualElement.mount(instance) : visualElement.unmount();\n        }\n        const ref = externalRefContainer.current;\n        if (typeof ref === \"function\") {\n            if (instance) {\n                const cleanup = ref(instance);\n                if (typeof cleanup === \"function\") {\n                    refCleanup.current = cleanup;\n                }\n            }\n            else if (refCleanup.current) {\n                refCleanup.current();\n                refCleanup.current = null;\n            }\n            else {\n                ref(instance);\n            }\n        }\n        else if (ref) {\n            ref.current = instance;\n        }\n    }, [visualElement]);\n}\n\nexport { useMotionRef };\n//# sourceMappingURL=use-motion-ref.mjs.map\n","\"use client\";\nimport { optimizedAppearDataAttribute } from 'motion-dom';\nimport { useContext, useRef, useInsertionEffect, useEffect } from 'react';\nimport { LazyContext } from '../../context/LazyContext.mjs';\nimport { MotionConfigContext } from '../../context/MotionConfigContext.mjs';\nimport { MotionContext } from '../../context/MotionContext/index.mjs';\nimport { PresenceContext } from '../../context/PresenceContext.mjs';\nimport { SwitchLayoutGroupContext } from '../../context/SwitchLayoutGroupContext.mjs';\nimport { isRefObject } from '../../utils/is-ref-object.mjs';\nimport { useIsomorphicLayoutEffect } from '../../utils/use-isomorphic-effect.mjs';\n\nfunction useVisualElement(Component, visualState, props, createVisualElement, ProjectionNodeConstructor, isSVG) {\n    const { visualElement: parent } = useContext(MotionContext);\n    const lazyContext = useContext(LazyContext);\n    const presenceContext = useContext(PresenceContext);\n    const motionConfig = useContext(MotionConfigContext);\n    const reducedMotionConfig = motionConfig.reducedMotion;\n    const skipAnimations = motionConfig.skipAnimations;\n    const visualElementRef = useRef(null);\n    /**\n     * Track whether the component has been through React's commit phase.\n     * Used to detect when LazyMotion features load after the component has mounted.\n     */\n    const hasMountedOnce = useRef(false);\n    /**\n     * If we haven't preloaded a renderer, check to see if we have one lazy-loaded\n     */\n    createVisualElement =\n        createVisualElement ||\n            lazyContext.renderer;\n    if (!visualElementRef.current && createVisualElement) {\n        visualElementRef.current = createVisualElement(Component, {\n            visualState,\n            parent,\n            props,\n            presenceContext,\n            blockInitialAnimation: presenceContext\n                ? presenceContext.initial === false\n                : false,\n            reducedMotionConfig,\n            skipAnimations,\n            isSVG,\n        });\n        /**\n         * If the component has already mounted before features loaded (e.g. via\n         * LazyMotion with async feature loading), we need to force the initial\n         * animation to run. Otherwise state changes that occurred before features\n         * loaded will be lost and the element will snap to its final state.\n         */\n        if (hasMountedOnce.current && visualElementRef.current) {\n            visualElementRef.current.manuallyAnimateOnMount = true;\n        }\n    }\n    const visualElement = visualElementRef.current;\n    /**\n     * Load Motion gesture and animation features. These are rendered as renderless\n     * components so each feature can optionally make use of React lifecycle methods.\n     */\n    const initialLayoutGroupConfig = useContext(SwitchLayoutGroupContext);\n    if (visualElement &&\n        !visualElement.projection &&\n        ProjectionNodeConstructor &&\n        (visualElement.type === \"html\" || visualElement.type === \"svg\")) {\n        createProjectionNode(visualElementRef.current, props, ProjectionNodeConstructor, initialLayoutGroupConfig);\n    }\n    const isMounted = useRef(false);\n    useInsertionEffect(() => {\n        /**\n         * Check the component has already mounted before calling\n         * `update` unnecessarily. This ensures we skip the initial update.\n         */\n        if (visualElement && isMounted.current) {\n            visualElement.update(props, presenceContext);\n        }\n    });\n    /**\n     * Cache this value as we want to know whether HandoffAppearAnimations\n     * was present on initial render - it will be deleted after this.\n     */\n    const optimisedAppearId = props[optimizedAppearDataAttribute];\n    const wantsHandoff = useRef(Boolean(optimisedAppearId) &&\n        !window.MotionHandoffIsComplete?.(optimisedAppearId) &&\n        window.MotionHasOptimisedAnimation?.(optimisedAppearId));\n    useIsomorphicLayoutEffect(() => {\n        /**\n         * Track that this component has mounted. This is used to detect when\n         * LazyMotion features load after the component has already committed.\n         */\n        hasMountedOnce.current = true;\n        if (!visualElement)\n            return;\n        isMounted.current = true;\n        window.MotionIsMounted = true;\n        visualElement.updateFeatures();\n        visualElement.scheduleRenderMicrotask();\n        /**\n         * Ideally this function would always run in a useEffect.\n         *\n         * However, if we have optimised appear animations to handoff from,\n         * it needs to happen synchronously to ensure there's no flash of\n         * incorrect styles in the event of a hydration error.\n         *\n         * So if we detect a situtation where optimised appear animations\n         * are running, we use useLayoutEffect to trigger animations.\n         */\n        if (wantsHandoff.current && visualElement.animationState) {\n            visualElement.animationState.animateChanges();\n        }\n    });\n    useEffect(() => {\n        if (!visualElement)\n            return;\n        if (!wantsHandoff.current && visualElement.animationState) {\n            visualElement.animationState.animateChanges();\n        }\n        if (wantsHandoff.current) {\n            // This ensures all future calls to animateChanges() in this component will run in useEffect\n            queueMicrotask(() => {\n                window.MotionHandoffMarkAsComplete?.(optimisedAppearId);\n            });\n            wantsHandoff.current = false;\n        }\n        /**\n         * Now we've finished triggering animations for this element we\n         * can wipe the enteringChildren set for the next render.\n         */\n        visualElement.enteringChildren = undefined;\n    });\n    return visualElement;\n}\nfunction createProjectionNode(visualElement, props, ProjectionNodeConstructor, initialPromotionConfig) {\n    const { layoutId, layout, drag, dragConstraints, layoutScroll, layoutRoot, layoutCrossfade, } = props;\n    visualElement.projection = new ProjectionNodeConstructor(visualElement.latestValues, props[\"data-framer-portal-id\"]\n        ? undefined\n        : getClosestProjectingNode(visualElement.parent));\n    visualElement.projection.setOptions({\n        layoutId,\n        layout,\n        alwaysMeasureLayout: Boolean(drag) || (dragConstraints && isRefObject(dragConstraints)),\n        visualElement,\n        /**\n         * TODO: Update options in an effect. This could be tricky as it'll be too late\n         * to update by the time layout animations run.\n         * We also need to fix this safeToRemove by linking it up to the one returned by usePresence,\n         * ensuring it gets called if there's no potential layout animations.\n         *\n         */\n        animationType: typeof layout === \"string\" ? layout : \"both\",\n        initialPromotionConfig,\n        crossfade: layoutCrossfade,\n        layoutScroll,\n        layoutRoot,\n    });\n}\nfunction getClosestProjectingNode(visualElement) {\n    if (!visualElement)\n        return undefined;\n    return visualElement.options.allowProjection !== false\n        ? visualElement.projection\n        : getClosestProjectingNode(visualElement.parent);\n}\n\nexport { useVisualElement };\n//# sourceMappingURL=use-visual-element.mjs.map\n","\"use client\";\nimport { resolveMotionValue, isControllingVariants, isVariantNode, isAnimationControls, resolveVariantFromProps } from 'motion-dom';\nimport { useContext } from 'react';\nimport { MotionContext } from '../../context/MotionContext/index.mjs';\nimport { PresenceContext } from '../../context/PresenceContext.mjs';\nimport { useConstant } from '../../utils/use-constant.mjs';\n\nfunction makeState({ scrapeMotionValuesFromProps, createRenderState, }, props, context, presenceContext) {\n    const state = {\n        latestValues: makeLatestValues(props, context, presenceContext, scrapeMotionValuesFromProps),\n        renderState: createRenderState(),\n    };\n    return state;\n}\nfunction makeLatestValues(props, context, presenceContext, scrapeMotionValues) {\n    const values = {};\n    const motionValues = scrapeMotionValues(props, {});\n    for (const key in motionValues) {\n        values[key] = resolveMotionValue(motionValues[key]);\n    }\n    let { initial, animate } = props;\n    const isControllingVariants$1 = isControllingVariants(props);\n    const isVariantNode$1 = isVariantNode(props);\n    if (context &&\n        isVariantNode$1 &&\n        !isControllingVariants$1 &&\n        props.inherit !== false) {\n        if (initial === undefined)\n            initial = context.initial;\n        if (animate === undefined)\n            animate = context.animate;\n    }\n    let isInitialAnimationBlocked = presenceContext\n        ? presenceContext.initial === false\n        : false;\n    isInitialAnimationBlocked = isInitialAnimationBlocked || initial === false;\n    const variantToSet = isInitialAnimationBlocked ? animate : initial;\n    if (variantToSet &&\n        typeof variantToSet !== \"boolean\" &&\n        !isAnimationControls(variantToSet)) {\n        const list = Array.isArray(variantToSet) ? variantToSet : [variantToSet];\n        for (let i = 0; i < list.length; i++) {\n            const resolved = resolveVariantFromProps(props, list[i]);\n            if (resolved) {\n                const { transitionEnd, transition, ...target } = resolved;\n                for (const key in target) {\n                    let valueTarget = target[key];\n                    if (Array.isArray(valueTarget)) {\n                        /**\n                         * Take final keyframe if the initial animation is blocked because\n                         * we want to initialise at the end of that blocked animation.\n                         */\n                        const index = isInitialAnimationBlocked\n                            ? valueTarget.length - 1\n                            : 0;\n                        valueTarget = valueTarget[index];\n                    }\n                    if (valueTarget !== null) {\n                        values[key] = valueTarget;\n                    }\n                }\n                for (const key in transitionEnd) {\n                    values[key] = transitionEnd[key];\n                }\n            }\n        }\n    }\n    return values;\n}\nconst makeUseVisualState = (config) => (props, isStatic) => {\n    const context = useContext(MotionContext);\n    const presenceContext = useContext(PresenceContext);\n    const make = () => makeState(config, props, context, presenceContext);\n    return isStatic ? make() : useConstant(make);\n};\n\nexport { makeUseVisualState };\n//# sourceMappingURL=use-visual-state.mjs.map\n","/**\n * A list of all valid MotionProps.\n *\n * @privateRemarks\n * This doesn't throw if a `MotionProp` name is missing - it should.\n */\nconst validMotionProps = new Set([\n    \"animate\",\n    \"exit\",\n    \"variants\",\n    \"initial\",\n    \"style\",\n    \"values\",\n    \"variants\",\n    \"transition\",\n    \"transformTemplate\",\n    \"custom\",\n    \"inherit\",\n    \"onBeforeLayoutMeasure\",\n    \"onAnimationStart\",\n    \"onAnimationComplete\",\n    \"onUpdate\",\n    \"onDragStart\",\n    \"onDrag\",\n    \"onDragEnd\",\n    \"onMeasureDragConstraints\",\n    \"onDirectionLock\",\n    \"onDragTransitionEnd\",\n    \"_dragX\",\n    \"_dragY\",\n    \"onHoverStart\",\n    \"onHoverEnd\",\n    \"onViewportEnter\",\n    \"onViewportLeave\",\n    \"globalTapTarget\",\n    \"propagate\",\n    \"ignoreStrict\",\n    \"viewport\",\n]);\n/**\n * Check whether a prop name is a valid `MotionProp` key.\n *\n * @param key - Name of the property to check\n * @returns `true` is key is a valid `MotionProp`.\n *\n * @public\n */\nfunction isValidMotionProp(key) {\n    return (key.startsWith(\"while\") ||\n        (key.startsWith(\"drag\") && key !== \"draggable\") ||\n        key.startsWith(\"layout\") ||\n        key.startsWith(\"onTap\") ||\n        key.startsWith(\"onPan\") ||\n        key.startsWith(\"onLayout\") ||\n        validMotionProps.has(key));\n}\n\nexport { isValidMotionProp };\n//# sourceMappingURL=valid-prop.mjs.map\n","import { warnOnce } from 'motion-utils';\nimport { createMotionComponent } from '../../motion/index.mjs';\n\nfunction createMotionProxy(preloadedFeatures, createVisualElement) {\n    if (typeof Proxy === \"undefined\") {\n        return createMotionComponent;\n    }\n    /**\n     * A cache of generated `motion` components, e.g `motion.div`, `motion.input` etc.\n     * Rather than generating them anew every render.\n     */\n    const componentCache = new Map();\n    const factory = (Component, options) => {\n        return createMotionComponent(Component, options, preloadedFeatures, createVisualElement);\n    };\n    /**\n     * Support for deprecated`motion(Component)` pattern\n     */\n    const deprecatedFactoryFunction = (Component, options) => {\n        if (process.env.NODE_ENV !== \"production\") {\n            warnOnce(false, \"motion() is deprecated. Use motion.create() instead.\");\n        }\n        return factory(Component, options);\n    };\n    return new Proxy(deprecatedFactoryFunction, {\n        /**\n         * Called when `motion` is referenced with a prop: `motion.div`, `motion.input` etc.\n         * The prop name is passed through as `key` and we can use that to generate a `motion`\n         * DOM component with that name.\n         */\n        get: (_target, key) => {\n            if (key === \"create\")\n                return factory;\n            /**\n             * If this element doesn't exist in the component cache, create it and cache.\n             */\n            if (!componentCache.has(key)) {\n                componentCache.set(key, createMotionComponent(key, undefined, preloadedFeatures, createVisualElement));\n            }\n            return componentCache.get(key);\n        },\n    });\n}\n\nexport { createMotionProxy };\n//# sourceMappingURL=create-proxy.mjs.map\n","import { animations } from '../../../motion/features/animations.mjs';\nimport { drag } from '../../../motion/features/drag.mjs';\nimport { gestureAnimations } from '../../../motion/features/gestures.mjs';\nimport { layout } from '../../../motion/features/layout.mjs';\n\nconst featureBundle = {\n    ...animations,\n    ...gestureAnimations,\n    ...drag,\n    ...layout,\n};\n\nexport { featureBundle };\n//# sourceMappingURL=feature-bundle.mjs.map\n","import { createDomVisualElement } from '../../dom/create-visual-element.mjs';\nimport { createMotionProxy } from '../create-proxy.mjs';\nimport { featureBundle } from './feature-bundle.mjs';\n\nconst motion = /*@__PURE__*/ createMotionProxy(featureBundle, createDomVisualElement);\n\nexport { motion };\n//# sourceMappingURL=proxy.mjs.map\n","import { SVGVisualElement, HTMLVisualElement } from 'motion-dom';\nimport { Fragment } from 'react';\nimport { isSVGComponent } from './utils/is-svg-component.mjs';\n\nconst createDomVisualElement = (Component, options) => {\n    /**\n     * Use explicit isSVG override if provided, otherwise auto-detect\n     */\n    const isSVG = options.isSVG ?? isSVGComponent(Component);\n    return isSVG\n        ? new SVGVisualElement(options)\n        : new HTMLVisualElement(options, {\n            allowProjection: Component !== Fragment,\n        });\n};\n\nexport { createDomVisualElement };\n//# sourceMappingURL=create-visual-element.mjs.map\n","\"use client\";\nimport { isMotionValue } from 'motion-dom';\nimport { Fragment, useMemo, createElement } from 'react';\nimport { useHTMLProps } from '../html/use-props.mjs';\nimport { useSVGProps } from '../svg/use-props.mjs';\nimport { filterProps } from './utils/filter-props.mjs';\nimport { isSVGComponent } from './utils/is-svg-component.mjs';\n\nfunction useRender(Component, props, ref, { latestValues, }, isStatic, forwardMotionProps = false, isSVG) {\n    const useVisualProps = (isSVG ?? isSVGComponent(Component)) ? useSVGProps : useHTMLProps;\n    const visualProps = useVisualProps(props, latestValues, isStatic, Component);\n    const filteredProps = filterProps(props, typeof Component === \"string\", forwardMotionProps);\n    const elementProps = Component !== Fragment ? { ...filteredProps, ...visualProps, ref } : {};\n    /**\n     * If component has been handed a motion value as its child,\n     * memoise its initial value and render that. Subsequent updates\n     * will be handled by the onChange handler\n     */\n    const { children } = props;\n    const renderedChildren = useMemo(() => (isMotionValue(children) ? children.get() : children), [children]);\n    return createElement(Component, {\n        ...elementProps,\n        children: renderedChildren,\n    });\n}\n\nexport { useRender };\n//# sourceMappingURL=use-render.mjs.map\n","import { isValidMotionProp } from '../../../motion/utils/valid-prop.mjs';\n\nlet shouldForward = (key) => !isValidMotionProp(key);\nfunction loadExternalIsValidProp(isValidProp) {\n    if (typeof isValidProp !== \"function\")\n        return;\n    // Explicitly filter our events\n    shouldForward = (key) => key.startsWith(\"on\") ? !isValidMotionProp(key) : isValidProp(key);\n}\n/**\n * Emotion and Styled Components both allow users to pass through arbitrary props to their components\n * to dynamically generate CSS. They both use the `@emotion/is-prop-valid` package to determine which\n * of these should be passed to the underlying DOM node.\n *\n * However, when styling a Motion component `styled(motion.div)`, both packages pass through *all* props\n * as it's seen as an arbitrary component rather than a DOM node. Motion only allows arbitrary props\n * passed through the `custom` prop so it doesn't *need* the payload or computational overhead of\n * `@emotion/is-prop-valid`, however to fix this problem we need to use it.\n *\n * By making it an optionalDependency we can offer this functionality only in the situations where it's\n * actually required.\n */\ntry {\n    /**\n     * We attempt to import this package but require won't be defined in esm environments, in that case\n     * isPropValid will have to be provided via `MotionContext`. In a 6.0.0 this should probably be removed\n     * in favour of explicit injection.\n     */\n    loadExternalIsValidProp(require(\"@emotion/is-prop-valid\").default);\n}\ncatch {\n    // We don't need to actually do anything here - the fallback is the existing `isPropValid`.\n}\nfunction filterProps(props, isDom, forwardMotionProps) {\n    const filteredProps = {};\n    for (const key in props) {\n        /**\n         * values is considered a valid prop by Emotion, so if it's present\n         * this will be rendered out to the DOM unless explicitly filtered.\n         *\n         * We check the type as it could be used with the `feColorMatrix`\n         * element, which we support.\n         */\n        if (key === \"values\" && typeof props.values === \"object\")\n            continue;\n        if (shouldForward(key) ||\n            (forwardMotionProps === true && isValidMotionProp(key)) ||\n            (!isDom && !isValidMotionProp(key)) ||\n            // If trying to use native HTML drag events, forward drag listeners\n            (props[\"draggable\"] &&\n                key.startsWith(\"onDrag\"))) {\n            filteredProps[key] =\n                props[key];\n        }\n    }\n    return filteredProps;\n}\n\nexport { filterProps, loadExternalIsValidProp };\n//# sourceMappingURL=filter-props.mjs.map\n","import { lowercaseSVGElements } from '../../svg/lowercase-elements.mjs';\n\nfunction isSVGComponent(Component) {\n    if (\n    /**\n     * If it's not a string, it's a custom React component. Currently we only support\n     * HTML custom React components.\n     */\n    typeof Component !== \"string\" ||\n        /**\n         * If it contains a dash, the element is a custom HTML webcomponent.\n         */\n        Component.includes(\"-\")) {\n        return false;\n    }\n    else if (\n    /**\n     * If it's in our list of lowercase SVG tags, it's an SVG component\n     */\n    lowercaseSVGElements.indexOf(Component) > -1 ||\n        /**\n         * If it contains a capital letter, it's an SVG component\n         */\n        /[A-Z]/u.test(Component)) {\n        return true;\n    }\n    return false;\n}\n\nexport { isSVGComponent };\n//# sourceMappingURL=is-svg-component.mjs.map\n","\"use client\";\nimport { scrapeHTMLMotionValuesFromProps } from 'motion-dom';\nimport { makeUseVisualState } from '../../motion/utils/use-visual-state.mjs';\nimport { createHtmlRenderState } from './utils/create-render-state.mjs';\n\nconst useHTMLVisualState = /*@__PURE__*/ makeUseVisualState({\n    scrapeMotionValuesFromProps: scrapeHTMLMotionValuesFromProps,\n    createRenderState: createHtmlRenderState,\n});\n\nexport { useHTMLVisualState };\n//# sourceMappingURL=use-html-visual-state.mjs.map\n","\"use client\";\nimport { isMotionValue, isForcedMotionValue, buildHTMLStyles } from 'motion-dom';\nimport { useMemo } from 'react';\nimport { createHtmlRenderState } from './utils/create-render-state.mjs';\n\nfunction copyRawValuesOnly(target, source, props) {\n    for (const key in source) {\n        if (!isMotionValue(source[key]) && !isForcedMotionValue(key, props)) {\n            target[key] = source[key];\n        }\n    }\n}\nfunction useInitialMotionValues({ transformTemplate }, visualState) {\n    return useMemo(() => {\n        const state = createHtmlRenderState();\n        buildHTMLStyles(state, visualState, transformTemplate);\n        return Object.assign({}, state.vars, state.style);\n    }, [visualState]);\n}\nfunction useStyle(props, visualState) {\n    const styleProp = props.style || {};\n    const style = {};\n    /**\n     * Copy non-Motion Values straight into style\n     */\n    copyRawValuesOnly(style, styleProp, props);\n    Object.assign(style, useInitialMotionValues(props, visualState));\n    return style;\n}\nfunction useHTMLProps(props, visualState) {\n    // The `any` isn't ideal but it is the type of createElement props argument\n    const htmlProps = {};\n    const style = useStyle(props, visualState);\n    if (props.drag && props.dragListener !== false) {\n        // Disable the ghost element when a user drags\n        htmlProps.draggable = false;\n        // Disable text selection\n        style.userSelect =\n            style.WebkitUserSelect =\n                style.WebkitTouchCallout =\n                    \"none\";\n        // Disable scrolling on the draggable direction\n        style.touchAction =\n            props.drag === true\n                ? \"none\"\n                : `pan-${props.drag === \"x\" ? \"y\" : \"x\"}`;\n    }\n    if (props.tabIndex === undefined &&\n        (props.onTap || props.onTapStart || props.whileTap)) {\n        htmlProps.tabIndex = 0;\n    }\n    htmlProps.style = style;\n    return htmlProps;\n}\n\nexport { copyRawValuesOnly, useHTMLProps };\n//# sourceMappingURL=use-props.mjs.map\n","const createHtmlRenderState = () => ({\n    style: {},\n    transform: {},\n    transformOrigin: {},\n    vars: {},\n});\n\nexport { createHtmlRenderState };\n//# sourceMappingURL=create-render-state.mjs.map\n","/**\n * We keep these listed separately as we use the lowercase tag names as part\n * of the runtime bundle to detect SVG components\n */\nconst lowercaseSVGElements = [\n    \"animate\",\n    \"circle\",\n    \"defs\",\n    \"desc\",\n    \"ellipse\",\n    \"g\",\n    \"image\",\n    \"line\",\n    \"filter\",\n    \"marker\",\n    \"mask\",\n    \"metadata\",\n    \"path\",\n    \"pattern\",\n    \"polygon\",\n    \"polyline\",\n    \"rect\",\n    \"stop\",\n    \"switch\",\n    \"symbol\",\n    \"svg\",\n    \"text\",\n    \"tspan\",\n    \"use\",\n    \"view\",\n];\n\nexport { lowercaseSVGElements };\n//# sourceMappingURL=lowercase-elements.mjs.map\n","\"use client\";\nimport { buildSVGAttrs, isSVGTag } from 'motion-dom';\nimport { useMemo } from 'react';\nimport { copyRawValuesOnly } from '../html/use-props.mjs';\nimport { createSvgRenderState } from './utils/create-render-state.mjs';\n\nfunction useSVGProps(props, visualState, _isStatic, Component) {\n    const visualProps = useMemo(() => {\n        const state = createSvgRenderState();\n        buildSVGAttrs(state, visualState, isSVGTag(Component), props.transformTemplate, props.style);\n        return {\n            ...state.attrs,\n            style: { ...state.style },\n        };\n    }, [visualState]);\n    if (props.style) {\n        const rawStyles = {};\n        copyRawValuesOnly(rawStyles, props.style, props);\n        visualProps.style = { ...rawStyles, ...visualProps.style };\n    }\n    return visualProps;\n}\n\nexport { useSVGProps };\n//# sourceMappingURL=use-props.mjs.map\n","\"use client\";\nimport { scrapeSVGMotionValuesFromProps } from 'motion-dom';\nimport { makeUseVisualState } from '../../motion/utils/use-visual-state.mjs';\nimport { createSvgRenderState } from './utils/create-render-state.mjs';\n\nconst useSVGVisualState = /*@__PURE__*/ makeUseVisualState({\n    scrapeMotionValuesFromProps: scrapeSVGMotionValuesFromProps,\n    createRenderState: createSvgRenderState,\n});\n\nexport { useSVGVisualState };\n//# sourceMappingURL=use-svg-visual-state.mjs.map\n","import { createHtmlRenderState } from '../../html/utils/create-render-state.mjs';\n\nconst createSvgRenderState = () => ({\n    ...createHtmlRenderState(),\n    attrs: {},\n});\n\nexport { createSvgRenderState };\n//# sourceMappingURL=create-render-state.mjs.map\n","const distance = (a, b) => Math.abs(a - b);\nfunction distance2D(a, b) {\n    // Multi-dimensional\n    const xDelta = distance(a.x, b.x);\n    const yDelta = distance(a.y, b.y);\n    return Math.sqrt(xDelta ** 2 + yDelta ** 2);\n}\n\nexport { distance, distance2D };\n//# sourceMappingURL=distance.mjs.map\n","// Fixes https://github.com/motiondivision/motion/issues/2270\nconst getContextWindow = ({ current }) => {\n    return current ? current.ownerDocument.defaultView : null;\n};\n\nexport { getContextWindow };\n//# sourceMappingURL=get-context-window.mjs.map\n","const isBrowser = typeof window !== \"undefined\";\n\nexport { isBrowser };\n//# sourceMappingURL=is-browser.mjs.map\n","function isRefObject(ref) {\n    return (ref &&\n        typeof ref === \"object\" &&\n        Object.prototype.hasOwnProperty.call(ref, \"current\"));\n}\n\nexport { isRefObject };\n//# sourceMappingURL=is-ref-object.mjs.map\n","\"use client\";\nimport { useRef } from 'react';\n\n/**\n * Creates a constant value over the lifecycle of a component.\n *\n * Even if `useMemo` is provided an empty array as its final argument, it doesn't offer\n * a guarantee that it won't re-run for performance reasons later on. By using `useConstant`\n * you can ensure that initialisers don't execute twice or more.\n */\nfunction useConstant(init) {\n    const ref = useRef(null);\n    if (ref.current === null) {\n        ref.current = init();\n    }\n    return ref.current;\n}\n\nexport { useConstant };\n//# sourceMappingURL=use-constant.mjs.map\n","\"use client\";\nimport { useLayoutEffect, useEffect } from 'react';\nimport { isBrowser } from './is-browser.mjs';\n\nconst useIsomorphicLayoutEffect = isBrowser ? useLayoutEffect : useEffect;\n\nexport { useIsomorphicLayoutEffect };\n//# sourceMappingURL=use-isomorphic-effect.mjs.map\n","import { MotionGlobalConfig, noop } from 'motion-utils';\nimport { time } from '../frameloop/sync-time.mjs';\nimport { JSAnimation } from './JSAnimation.mjs';\nimport { getFinalKeyframe } from './keyframes/get-final.mjs';\nimport { KeyframeResolver, flushKeyframeResolvers } from './keyframes/KeyframesResolver.mjs';\nimport { NativeAnimationExtended } from './NativeAnimationExtended.mjs';\nimport { canAnimate } from './utils/can-animate.mjs';\nimport { makeAnimationInstant } from './utils/make-animation-instant.mjs';\nimport { WithPromise } from './utils/WithPromise.mjs';\nimport { supportsBrowserAnimation } from './waapi/supports/waapi.mjs';\n\n/**\n * Maximum time allowed between an animation being created and it being\n * resolved for us to use the latter as the start time.\n *\n * This is to ensure that while we prefer to \"start\" an animation as soon\n * as it's triggered, we also want to avoid a visual jump if there's a big delay\n * between these two moments.\n */\nconst MAX_RESOLVE_DELAY = 40;\nclass AsyncMotionValueAnimation extends WithPromise {\n    constructor({ autoplay = true, delay = 0, type = \"keyframes\", repeat = 0, repeatDelay = 0, repeatType = \"loop\", keyframes, name, motionValue, element, ...options }) {\n        super();\n        /**\n         * Bound to support return animation.stop pattern\n         */\n        this.stop = () => {\n            if (this._animation) {\n                this._animation.stop();\n                this.stopTimeline?.();\n            }\n            this.keyframeResolver?.cancel();\n        };\n        this.createdAt = time.now();\n        const optionsWithDefaults = {\n            autoplay,\n            delay,\n            type,\n            repeat,\n            repeatDelay,\n            repeatType,\n            name,\n            motionValue,\n            element,\n            ...options,\n        };\n        const KeyframeResolver$1 = element?.KeyframeResolver || KeyframeResolver;\n        this.keyframeResolver = new KeyframeResolver$1(keyframes, (resolvedKeyframes, finalKeyframe, forced) => this.onKeyframesResolved(resolvedKeyframes, finalKeyframe, optionsWithDefaults, !forced), name, motionValue, element);\n        this.keyframeResolver?.scheduleResolve();\n    }\n    onKeyframesResolved(keyframes, finalKeyframe, options, sync) {\n        this.keyframeResolver = undefined;\n        const { name, type, velocity, delay, isHandoff, onUpdate } = options;\n        this.resolvedAt = time.now();\n        /**\n         * If we can't animate this value with the resolved keyframes\n         * then we should complete it immediately.\n         */\n        if (!canAnimate(keyframes, name, type, velocity)) {\n            if (MotionGlobalConfig.instantAnimations || !delay) {\n                onUpdate?.(getFinalKeyframe(keyframes, options, finalKeyframe));\n            }\n            keyframes[0] = keyframes[keyframes.length - 1];\n            makeAnimationInstant(options);\n            options.repeat = 0;\n        }\n        /**\n         * Resolve startTime for the animation.\n         *\n         * This method uses the createdAt and resolvedAt to calculate the\n         * animation startTime. *Ideally*, we would use the createdAt time as t=0\n         * as the following frame would then be the first frame of the animation in\n         * progress, which would feel snappier.\n         *\n         * However, if there's a delay (main thread work) between the creation of\n         * the animation and the first committed frame, we prefer to use resolvedAt\n         * to avoid a sudden jump into the animation.\n         */\n        const startTime = sync\n            ? !this.resolvedAt\n                ? this.createdAt\n                : this.resolvedAt - this.createdAt > MAX_RESOLVE_DELAY\n                    ? this.resolvedAt\n                    : this.createdAt\n            : undefined;\n        const resolvedOptions = {\n            startTime,\n            finalKeyframe,\n            ...options,\n            keyframes,\n        };\n        /**\n         * Animate via WAAPI if possible. If this is a handoff animation, the optimised animation will be running via\n         * WAAPI. Therefore, this animation must be JS to ensure it runs \"under\" the\n         * optimised animation.\n         */\n        const useWaapi = !isHandoff && supportsBrowserAnimation(resolvedOptions);\n        const element = resolvedOptions.motionValue?.owner?.current;\n        const animation = useWaapi\n            ? new NativeAnimationExtended({\n                ...resolvedOptions,\n                element,\n            })\n            : new JSAnimation(resolvedOptions);\n        animation.finished.then(() => {\n            this.notifyFinished();\n        }).catch(noop);\n        if (this.pendingTimeline) {\n            this.stopTimeline = animation.attachTimeline(this.pendingTimeline);\n            this.pendingTimeline = undefined;\n        }\n        this._animation = animation;\n    }\n    get finished() {\n        if (!this._animation) {\n            return this._finished;\n        }\n        else {\n            return this.animation.finished;\n        }\n    }\n    then(onResolve, _onReject) {\n        return this.finished.finally(onResolve).then(() => { });\n    }\n    get animation() {\n        if (!this._animation) {\n            this.keyframeResolver?.resume();\n            flushKeyframeResolvers();\n        }\n        return this._animation;\n    }\n    get duration() {\n        return this.animation.duration;\n    }\n    get iterationDuration() {\n        return this.animation.iterationDuration;\n    }\n    get time() {\n        return this.animation.time;\n    }\n    set time(newTime) {\n        this.animation.time = newTime;\n    }\n    get speed() {\n        return this.animation.speed;\n    }\n    get state() {\n        return this.animation.state;\n    }\n    set speed(newSpeed) {\n        this.animation.speed = newSpeed;\n    }\n    get startTime() {\n        return this.animation.startTime;\n    }\n    attachTimeline(timeline) {\n        if (this._animation) {\n            this.stopTimeline = this.animation.attachTimeline(timeline);\n        }\n        else {\n            this.pendingTimeline = timeline;\n        }\n        return () => this.stop();\n    }\n    play() {\n        this.animation.play();\n    }\n    pause() {\n        this.animation.pause();\n    }\n    complete() {\n        this.animation.complete();\n    }\n    cancel() {\n        if (this._animation) {\n            this.animation.cancel();\n        }\n        this.keyframeResolver?.cancel();\n    }\n}\n\nexport { AsyncMotionValueAnimation };\n//# sourceMappingURL=AsyncMotionValueAnimation.mjs.map\n","import { invariant, pipe, clamp, millisecondsToSeconds, secondsToMilliseconds } from 'motion-utils';\nimport { time } from '../frameloop/sync-time.mjs';\nimport { activeAnimations } from '../stats/animation-count.mjs';\nimport { mix } from '../utils/mix/index.mjs';\nimport { frameloopDriver } from './drivers/frame.mjs';\nimport { inertia } from './generators/inertia.mjs';\nimport { keyframes } from './generators/keyframes.mjs';\nimport { calcGeneratorDuration } from './generators/utils/calc-duration.mjs';\nimport { getFinalKeyframe } from './keyframes/get-final.mjs';\nimport { replaceTransitionType } from './utils/replace-transition-type.mjs';\nimport { WithPromise } from './utils/WithPromise.mjs';\n\nconst percentToProgress = (percent) => percent / 100;\nclass JSAnimation extends WithPromise {\n    constructor(options) {\n        super();\n        this.state = \"idle\";\n        this.startTime = null;\n        this.isStopped = false;\n        /**\n         * The current time of the animation.\n         */\n        this.currentTime = 0;\n        /**\n         * The time at which the animation was paused.\n         */\n        this.holdTime = null;\n        /**\n         * Playback speed as a factor. 0 would be stopped, -1 reverse and 2 double speed.\n         */\n        this.playbackSpeed = 1;\n        /**\n         * This method is bound to the instance to fix a pattern where\n         * animation.stop is returned as a reference from a useEffect.\n         */\n        this.stop = () => {\n            const { motionValue } = this.options;\n            if (motionValue && motionValue.updatedAt !== time.now()) {\n                this.tick(time.now());\n            }\n            this.isStopped = true;\n            if (this.state === \"idle\")\n                return;\n            this.teardown();\n            this.options.onStop?.();\n        };\n        activeAnimations.mainThread++;\n        this.options = options;\n        this.initAnimation();\n        this.play();\n        if (options.autoplay === false)\n            this.pause();\n    }\n    initAnimation() {\n        const { options } = this;\n        replaceTransitionType(options);\n        const { type = keyframes, repeat = 0, repeatDelay = 0, repeatType, velocity = 0, } = options;\n        let { keyframes: keyframes$1 } = options;\n        const generatorFactory = type || keyframes;\n        if (process.env.NODE_ENV !== \"production\" &&\n            generatorFactory !== keyframes) {\n            invariant(keyframes$1.length <= 2, `Only two keyframes currently supported with spring and inertia animations. Trying to animate ${keyframes$1}`, \"spring-two-frames\");\n        }\n        if (generatorFactory !== keyframes &&\n            typeof keyframes$1[0] !== \"number\") {\n            this.mixKeyframes = pipe(percentToProgress, mix(keyframes$1[0], keyframes$1[1]));\n            keyframes$1 = [0, 100];\n        }\n        const generator = generatorFactory({ ...options, keyframes: keyframes$1 });\n        /**\n         * If we have a mirror repeat type we need to create a second generator that outputs the\n         * mirrored (not reversed) animation and later ping pong between the two generators.\n         */\n        if (repeatType === \"mirror\") {\n            this.mirroredGenerator = generatorFactory({\n                ...options,\n                keyframes: [...keyframes$1].reverse(),\n                velocity: -velocity,\n            });\n        }\n        /**\n         * If duration is undefined and we have repeat options,\n         * we need to calculate a duration from the generator.\n         *\n         * We set it to the generator itself to cache the duration.\n         * Any timeline resolver will need to have already precalculated\n         * the duration by this step.\n         */\n        if (generator.calculatedDuration === null) {\n            generator.calculatedDuration = calcGeneratorDuration(generator);\n        }\n        const { calculatedDuration } = generator;\n        this.calculatedDuration = calculatedDuration;\n        this.resolvedDuration = calculatedDuration + repeatDelay;\n        this.totalDuration = this.resolvedDuration * (repeat + 1) - repeatDelay;\n        this.generator = generator;\n    }\n    updateTime(timestamp) {\n        const animationTime = Math.round(timestamp - this.startTime) * this.playbackSpeed;\n        // Update currentTime\n        if (this.holdTime !== null) {\n            this.currentTime = this.holdTime;\n        }\n        else {\n            // Rounding the time because floating point arithmetic is not always accurate, e.g. 3000.367 - 1000.367 =\n            // 2000.0000000000002. This is a problem when we are comparing the currentTime with the duration, for\n            // example.\n            this.currentTime = animationTime;\n        }\n    }\n    tick(timestamp, sample = false) {\n        const { generator, totalDuration, mixKeyframes, mirroredGenerator, resolvedDuration, calculatedDuration, } = this;\n        if (this.startTime === null)\n            return generator.next(0);\n        const { delay = 0, keyframes, repeat, repeatType, repeatDelay, type, onUpdate, finalKeyframe, } = this.options;\n        /**\n         * requestAnimationFrame timestamps can come through as lower than\n         * the startTime as set by performance.now(). Here we prevent this,\n         * though in the future it could be possible to make setting startTime\n         * a pending operation that gets resolved here.\n         */\n        if (this.speed > 0) {\n            this.startTime = Math.min(this.startTime, timestamp);\n        }\n        else if (this.speed < 0) {\n            this.startTime = Math.min(timestamp - totalDuration / this.speed, this.startTime);\n        }\n        if (sample) {\n            this.currentTime = timestamp;\n        }\n        else {\n            this.updateTime(timestamp);\n        }\n        // Rebase on delay\n        const timeWithoutDelay = this.currentTime - delay * (this.playbackSpeed >= 0 ? 1 : -1);\n        const isInDelayPhase = this.playbackSpeed >= 0\n            ? timeWithoutDelay < 0\n            : timeWithoutDelay > totalDuration;\n        this.currentTime = Math.max(timeWithoutDelay, 0);\n        // If this animation has finished, set the current time  to the total duration.\n        if (this.state === \"finished\" && this.holdTime === null) {\n            this.currentTime = totalDuration;\n        }\n        let elapsed = this.currentTime;\n        let frameGenerator = generator;\n        if (repeat) {\n            /**\n             * Get the current progress (0-1) of the animation. If t is >\n             * than duration we'll get values like 2.5 (midway through the\n             * third iteration)\n             */\n            const progress = Math.min(this.currentTime, totalDuration) / resolvedDuration;\n            /**\n             * Get the current iteration (0 indexed). For instance the floor of\n             * 2.5 is 2.\n             */\n            let currentIteration = Math.floor(progress);\n            /**\n             * Get the current progress of the iteration by taking the remainder\n             * so 2.5 is 0.5 through iteration 2\n             */\n            let iterationProgress = progress % 1.0;\n            /**\n             * If iteration progress is 1 we count that as the end\n             * of the previous iteration.\n             */\n            if (!iterationProgress && progress >= 1) {\n                iterationProgress = 1;\n            }\n            iterationProgress === 1 && currentIteration--;\n            currentIteration = Math.min(currentIteration, repeat + 1);\n            /**\n             * Reverse progress if we're not running in \"normal\" direction\n             */\n            const isOddIteration = Boolean(currentIteration % 2);\n            if (isOddIteration) {\n                if (repeatType === \"reverse\") {\n                    iterationProgress = 1 - iterationProgress;\n                    if (repeatDelay) {\n                        iterationProgress -= repeatDelay / resolvedDuration;\n                    }\n                }\n                else if (repeatType === \"mirror\") {\n                    frameGenerator = mirroredGenerator;\n                }\n            }\n            elapsed = clamp(0, 1, iterationProgress) * resolvedDuration;\n        }\n        /**\n         * If we're in negative time, set state as the initial keyframe.\n         * This prevents delay: x, duration: 0 animations from finishing\n         * instantly.\n         */\n        const state = isInDelayPhase\n            ? { done: false, value: keyframes[0] }\n            : frameGenerator.next(elapsed);\n        if (mixKeyframes) {\n            state.value = mixKeyframes(state.value);\n        }\n        let { done } = state;\n        if (!isInDelayPhase && calculatedDuration !== null) {\n            done =\n                this.playbackSpeed >= 0\n                    ? this.currentTime >= totalDuration\n                    : this.currentTime <= 0;\n        }\n        const isAnimationFinished = this.holdTime === null &&\n            (this.state === \"finished\" || (this.state === \"running\" && done));\n        // TODO: The exception for inertia could be cleaner here\n        if (isAnimationFinished && type !== inertia) {\n            state.value = getFinalKeyframe(keyframes, this.options, finalKeyframe, this.speed);\n        }\n        if (onUpdate) {\n            onUpdate(state.value);\n        }\n        if (isAnimationFinished) {\n            this.finish();\n        }\n        return state;\n    }\n    /**\n     * Allows the returned animation to be awaited or promise-chained. Currently\n     * resolves when the animation finishes at all but in a future update could/should\n     * reject if its cancels.\n     */\n    then(resolve, reject) {\n        return this.finished.then(resolve, reject);\n    }\n    get duration() {\n        return millisecondsToSeconds(this.calculatedDuration);\n    }\n    get iterationDuration() {\n        const { delay = 0 } = this.options || {};\n        return this.duration + millisecondsToSeconds(delay);\n    }\n    get time() {\n        return millisecondsToSeconds(this.currentTime);\n    }\n    set time(newTime) {\n        newTime = secondsToMilliseconds(newTime);\n        this.currentTime = newTime;\n        if (this.startTime === null ||\n            this.holdTime !== null ||\n            this.playbackSpeed === 0) {\n            this.holdTime = newTime;\n        }\n        else if (this.driver) {\n            this.startTime = this.driver.now() - newTime / this.playbackSpeed;\n        }\n        this.driver?.start(false);\n    }\n    get speed() {\n        return this.playbackSpeed;\n    }\n    set speed(newSpeed) {\n        this.updateTime(time.now());\n        const hasChanged = this.playbackSpeed !== newSpeed;\n        this.playbackSpeed = newSpeed;\n        if (hasChanged) {\n            this.time = millisecondsToSeconds(this.currentTime);\n        }\n    }\n    play() {\n        if (this.isStopped)\n            return;\n        const { driver = frameloopDriver, startTime } = this.options;\n        if (!this.driver) {\n            this.driver = driver((timestamp) => this.tick(timestamp));\n        }\n        this.options.onPlay?.();\n        const now = this.driver.now();\n        if (this.state === \"finished\") {\n            this.updateFinished();\n            this.startTime = now;\n        }\n        else if (this.holdTime !== null) {\n            this.startTime = now - this.holdTime;\n        }\n        else if (!this.startTime) {\n            this.startTime = startTime ?? now;\n        }\n        if (this.state === \"finished\" && this.speed < 0) {\n            this.startTime += this.calculatedDuration;\n        }\n        this.holdTime = null;\n        /**\n         * Set playState to running only after we've used it in\n         * the previous logic.\n         */\n        this.state = \"running\";\n        this.driver.start();\n    }\n    pause() {\n        this.state = \"paused\";\n        this.updateTime(time.now());\n        this.holdTime = this.currentTime;\n    }\n    complete() {\n        if (this.state !== \"running\") {\n            this.play();\n        }\n        this.state = \"finished\";\n        this.holdTime = null;\n    }\n    finish() {\n        this.notifyFinished();\n        this.teardown();\n        this.state = \"finished\";\n        this.options.onComplete?.();\n    }\n    cancel() {\n        this.holdTime = null;\n        this.startTime = 0;\n        this.tick(0);\n        this.teardown();\n        this.options.onCancel?.();\n    }\n    teardown() {\n        this.state = \"idle\";\n        this.stopDriver();\n        this.startTime = this.holdTime = null;\n        activeAnimations.mainThread--;\n    }\n    stopDriver() {\n        if (!this.driver)\n            return;\n        this.driver.stop();\n        this.driver = undefined;\n    }\n    sample(sampleTime) {\n        this.startTime = 0;\n        return this.tick(sampleTime, true);\n    }\n    attachTimeline(timeline) {\n        if (this.options.allowFlatten) {\n            this.options.type = \"keyframes\";\n            this.options.ease = \"linear\";\n            this.initAnimation();\n        }\n        this.driver?.stop();\n        return timeline.observe(this);\n    }\n}\n// Legacy function support\nfunction animateValue(options) {\n    return new JSAnimation(options);\n}\n\nexport { JSAnimation, animateValue };\n//# sourceMappingURL=JSAnimation.mjs.map\n","import { invariant, millisecondsToSeconds, secondsToMilliseconds, noop } from 'motion-utils';\nimport { setStyle } from '../render/dom/style-set.mjs';\nimport { supportsScrollTimeline } from '../utils/supports/scroll-timeline.mjs';\nimport { getFinalKeyframe } from './keyframes/get-final.mjs';\nimport { WithPromise } from './utils/WithPromise.mjs';\nimport { startWaapiAnimation } from './waapi/start-waapi-animation.mjs';\nimport { applyGeneratorOptions } from './waapi/utils/apply-generator.mjs';\n\n/**\n * NativeAnimation implements AnimationPlaybackControls for the browser's Web Animations API.\n */\nclass NativeAnimation extends WithPromise {\n    constructor(options) {\n        super();\n        this.finishedTime = null;\n        this.isStopped = false;\n        /**\n         * Tracks a manually-set start time that takes precedence over WAAPI's\n         * dynamic startTime. This is cleared when play() or time setter is called,\n         * allowing WAAPI to take over timing.\n         */\n        this.manualStartTime = null;\n        if (!options)\n            return;\n        const { element, name, keyframes, pseudoElement, allowFlatten = false, finalKeyframe, onComplete, } = options;\n        this.isPseudoElement = Boolean(pseudoElement);\n        this.allowFlatten = allowFlatten;\n        this.options = options;\n        invariant(typeof options.type !== \"string\", `Mini animate() doesn't support \"type\" as a string.`, \"mini-spring\");\n        const transition = applyGeneratorOptions(options);\n        this.animation = startWaapiAnimation(element, name, keyframes, transition, pseudoElement);\n        if (transition.autoplay === false) {\n            this.animation.pause();\n        }\n        this.animation.onfinish = () => {\n            this.finishedTime = this.time;\n            if (!pseudoElement) {\n                const keyframe = getFinalKeyframe(keyframes, this.options, finalKeyframe, this.speed);\n                if (this.updateMotionValue) {\n                    this.updateMotionValue(keyframe);\n                }\n                else {\n                    /**\n                     * If we can, we want to commit the final style as set by the user,\n                     * rather than the computed keyframe value supplied by the animation.\n                     */\n                    setStyle(element, name, keyframe);\n                }\n                this.animation.cancel();\n            }\n            onComplete?.();\n            this.notifyFinished();\n        };\n    }\n    play() {\n        if (this.isStopped)\n            return;\n        this.manualStartTime = null;\n        this.animation.play();\n        if (this.state === \"finished\") {\n            this.updateFinished();\n        }\n    }\n    pause() {\n        this.animation.pause();\n    }\n    complete() {\n        this.animation.finish?.();\n    }\n    cancel() {\n        try {\n            this.animation.cancel();\n        }\n        catch (e) { }\n    }\n    stop() {\n        if (this.isStopped)\n            return;\n        this.isStopped = true;\n        const { state } = this;\n        if (state === \"idle\" || state === \"finished\") {\n            return;\n        }\n        if (this.updateMotionValue) {\n            this.updateMotionValue();\n        }\n        else {\n            this.commitStyles();\n        }\n        if (!this.isPseudoElement)\n            this.cancel();\n    }\n    /**\n     * WAAPI doesn't natively have any interruption capabilities.\n     *\n     * In this method, we commit styles back to the DOM before cancelling\n     * the animation.\n     *\n     * This is designed to be overridden by NativeAnimationExtended, which\n     * will create a renderless JS animation and sample it twice to calculate\n     * its current value, \"previous\" value, and therefore allow\n     * Motion to also correctly calculate velocity for any subsequent animation\n     * while deferring the commit until the next animation frame.\n     */\n    commitStyles() {\n        const element = this.options?.element;\n        if (!this.isPseudoElement && element?.isConnected) {\n            this.animation.commitStyles?.();\n        }\n    }\n    get duration() {\n        const duration = this.animation.effect?.getComputedTiming?.().duration || 0;\n        return millisecondsToSeconds(Number(duration));\n    }\n    get iterationDuration() {\n        const { delay = 0 } = this.options || {};\n        return this.duration + millisecondsToSeconds(delay);\n    }\n    get time() {\n        return millisecondsToSeconds(Number(this.animation.currentTime) || 0);\n    }\n    set time(newTime) {\n        this.manualStartTime = null;\n        this.finishedTime = null;\n        this.animation.currentTime = secondsToMilliseconds(newTime);\n    }\n    /**\n     * The playback speed of the animation.\n     * 1 = normal speed, 2 = double speed, 0.5 = half speed.\n     */\n    get speed() {\n        return this.animation.playbackRate;\n    }\n    set speed(newSpeed) {\n        // Allow backwards playback after finishing\n        if (newSpeed < 0)\n            this.finishedTime = null;\n        this.animation.playbackRate = newSpeed;\n    }\n    get state() {\n        return this.finishedTime !== null\n            ? \"finished\"\n            : this.animation.playState;\n    }\n    get startTime() {\n        return this.manualStartTime ?? Number(this.animation.startTime);\n    }\n    set startTime(newStartTime) {\n        this.manualStartTime = this.animation.startTime = newStartTime;\n    }\n    /**\n     * Attaches a timeline to the animation, for instance the `ScrollTimeline`.\n     */\n    attachTimeline({ timeline, observe }) {\n        if (this.allowFlatten) {\n            this.animation.effect?.updateTiming({ easing: \"linear\" });\n        }\n        this.animation.onfinish = null;\n        if (timeline && supportsScrollTimeline()) {\n            this.animation.timeline = timeline;\n            return noop;\n        }\n        else {\n            return observe(this);\n        }\n    }\n}\n\nexport { NativeAnimation };\n//# sourceMappingURL=NativeAnimation.mjs.map\n","import { clamp } from 'motion-utils';\nimport { time } from '../frameloop/sync-time.mjs';\nimport { JSAnimation } from './JSAnimation.mjs';\nimport { NativeAnimation } from './NativeAnimation.mjs';\nimport { replaceTransitionType } from './utils/replace-transition-type.mjs';\nimport { replaceStringEasing } from './waapi/utils/unsupported-easing.mjs';\n\n/**\n * 10ms is chosen here as it strikes a balance between smooth\n * results (more than one keyframe per frame at 60fps) and\n * keyframe quantity.\n */\nconst sampleDelta = 10; //ms\nclass NativeAnimationExtended extends NativeAnimation {\n    constructor(options) {\n        /**\n         * The base NativeAnimation function only supports a subset\n         * of Motion easings, and WAAPI also only supports some\n         * easing functions via string/cubic-bezier definitions.\n         *\n         * This function replaces those unsupported easing functions\n         * with a JS easing function. This will later get compiled\n         * to a linear() easing function.\n         */\n        replaceStringEasing(options);\n        /**\n         * Ensure we replace the transition type with a generator function\n         * before passing to WAAPI.\n         *\n         * TODO: Does this have a better home? It could be shared with\n         * JSAnimation.\n         */\n        replaceTransitionType(options);\n        super(options);\n        if (options.startTime !== undefined) {\n            this.startTime = options.startTime;\n        }\n        this.options = options;\n    }\n    /**\n     * WAAPI doesn't natively have any interruption capabilities.\n     *\n     * Rather than read committed styles back out of the DOM, we can\n     * create a renderless JS animation and sample it twice to calculate\n     * its current value, \"previous\" value, and therefore allow\n     * Motion to calculate velocity for any subsequent animation.\n     */\n    updateMotionValue(value) {\n        const { motionValue, onUpdate, onComplete, element, ...options } = this.options;\n        if (!motionValue)\n            return;\n        if (value !== undefined) {\n            motionValue.set(value);\n            return;\n        }\n        const sampleAnimation = new JSAnimation({\n            ...options,\n            autoplay: false,\n        });\n        /**\n         * Use wall-clock elapsed time for sampling.\n         * Under CPU load, WAAPI's currentTime may not reflect actual\n         * elapsed time, causing incorrect sampling and visual jumps.\n         */\n        const sampleTime = Math.max(sampleDelta, time.now() - this.startTime);\n        const delta = clamp(0, sampleDelta, sampleTime - sampleDelta);\n        motionValue.setWithVelocity(sampleAnimation.sample(Math.max(0, sampleTime - delta)).value, sampleAnimation.sample(sampleTime).value, delta);\n        sampleAnimation.stop();\n    }\n}\n\nexport { NativeAnimationExtended };\n//# sourceMappingURL=NativeAnimationExtended.mjs.map\n","import { animateMotionValue } from '../interfaces/motion-value.mjs';\nimport { motionValue } from '../../value/index.mjs';\nimport { isMotionValue } from '../../value/utils/is-motion-value.mjs';\n\nfunction animateSingleValue(value, keyframes, options) {\n    const motionValue$1 = isMotionValue(value) ? value : motionValue(value);\n    motionValue$1.start(animateMotionValue(\"\", motionValue$1, keyframes, options));\n    return motionValue$1.animation;\n}\n\nexport { animateSingleValue };\n//# sourceMappingURL=single-value.mjs.map\n","import { time } from '../../frameloop/sync-time.mjs';\nimport { frame, cancelFrame, frameData } from '../../frameloop/frame.mjs';\n\nconst frameloopDriver = (update) => {\n    const passTimestamp = ({ timestamp }) => update(timestamp);\n    return {\n        start: (keepAlive = true) => frame.update(passTimestamp, keepAlive),\n        stop: () => cancelFrame(passTimestamp),\n        /**\n         * If we're processing this frame we can use the\n         * framelocked timestamp to keep things in sync.\n         */\n        now: () => (frameData.isProcessing ? frameData.timestamp : time.now()),\n    };\n};\n\nexport { frameloopDriver };\n//# sourceMappingURL=frame.mjs.map\n","import { spring } from './spring/index.mjs';\nimport { calcGeneratorVelocity } from './utils/velocity.mjs';\n\nfunction inertia({ keyframes, velocity = 0.0, power = 0.8, timeConstant = 325, bounceDamping = 10, bounceStiffness = 500, modifyTarget, min, max, restDelta = 0.5, restSpeed, }) {\n    const origin = keyframes[0];\n    const state = {\n        done: false,\n        value: origin,\n    };\n    const isOutOfBounds = (v) => (min !== undefined && v < min) || (max !== undefined && v > max);\n    const nearestBoundary = (v) => {\n        if (min === undefined)\n            return max;\n        if (max === undefined)\n            return min;\n        return Math.abs(min - v) < Math.abs(max - v) ? min : max;\n    };\n    let amplitude = power * velocity;\n    const ideal = origin + amplitude;\n    const target = modifyTarget === undefined ? ideal : modifyTarget(ideal);\n    /**\n     * If the target has changed we need to re-calculate the amplitude, otherwise\n     * the animation will start from the wrong position.\n     */\n    if (target !== ideal)\n        amplitude = target - origin;\n    const calcDelta = (t) => -amplitude * Math.exp(-t / timeConstant);\n    const calcLatest = (t) => target + calcDelta(t);\n    const applyFriction = (t) => {\n        const delta = calcDelta(t);\n        const latest = calcLatest(t);\n        state.done = Math.abs(delta) <= restDelta;\n        state.value = state.done ? target : latest;\n    };\n    /**\n     * Ideally this would resolve for t in a stateless way, we could\n     * do that by always precalculating the animation but as we know\n     * this will be done anyway we can assume that spring will\n     * be discovered during that.\n     */\n    let timeReachedBoundary;\n    let spring$1;\n    const checkCatchBoundary = (t) => {\n        if (!isOutOfBounds(state.value))\n            return;\n        timeReachedBoundary = t;\n        spring$1 = spring({\n            keyframes: [state.value, nearestBoundary(state.value)],\n            velocity: calcGeneratorVelocity(calcLatest, t, state.value), // TODO: This should be passing * 1000\n            damping: bounceDamping,\n            stiffness: bounceStiffness,\n            restDelta,\n            restSpeed,\n        });\n    };\n    checkCatchBoundary(0);\n    return {\n        calculatedDuration: null,\n        next: (t) => {\n            /**\n             * We need to resolve the friction to figure out if we need a\n             * spring but we don't want to do this twice per frame. So here\n             * we flag if we updated for this frame and later if we did\n             * we can skip doing it again.\n             */\n            let hasUpdatedFrame = false;\n            if (!spring$1 && timeReachedBoundary === undefined) {\n                hasUpdatedFrame = true;\n                applyFriction(t);\n                checkCatchBoundary(t);\n            }\n            /**\n             * If we have a spring and the provided t is beyond the moment the friction\n             * animation crossed the min/max boundary, use the spring.\n             */\n            if (timeReachedBoundary !== undefined && t >= timeReachedBoundary) {\n                return spring$1.next(t - timeReachedBoundary);\n            }\n            else {\n                !hasUpdatedFrame && applyFriction(t);\n                return state;\n            }\n        },\n    };\n}\n\nexport { inertia };\n//# sourceMappingURL=inertia.mjs.map\n","import { easeInOut, isEasingArray, easingDefinitionToFunction } from 'motion-utils';\nimport { interpolate } from '../../utils/interpolate.mjs';\nimport { defaultOffset } from '../keyframes/offsets/default.mjs';\nimport { convertOffsetToTimes } from '../keyframes/offsets/time.mjs';\n\nfunction defaultEasing(values, easing) {\n    return values.map(() => easing || easeInOut).splice(0, values.length - 1);\n}\nfunction keyframes({ duration = 300, keyframes: keyframeValues, times, ease = \"easeInOut\", }) {\n    /**\n     * Easing functions can be externally defined as strings. Here we convert them\n     * into actual functions.\n     */\n    const easingFunctions = isEasingArray(ease)\n        ? ease.map(easingDefinitionToFunction)\n        : easingDefinitionToFunction(ease);\n    /**\n     * This is the Iterator-spec return value. We ensure it's mutable rather than using a generator\n     * to reduce GC during animation.\n     */\n    const state = {\n        done: false,\n        value: keyframeValues[0],\n    };\n    /**\n     * Create a times array based on the provided 0-1 offsets\n     */\n    const absoluteTimes = convertOffsetToTimes(\n    // Only use the provided offsets if they're the correct length\n    // TODO Maybe we should warn here if there's a length mismatch\n    times && times.length === keyframeValues.length\n        ? times\n        : defaultOffset(keyframeValues), duration);\n    const mapTimeToKeyframe = interpolate(absoluteTimes, keyframeValues, {\n        ease: Array.isArray(easingFunctions)\n            ? easingFunctions\n            : defaultEasing(keyframeValues, easingFunctions),\n    });\n    return {\n        calculatedDuration: duration,\n        next: (t) => {\n            state.value = mapTimeToKeyframe(t);\n            state.done = t >= duration;\n            return state;\n        },\n    };\n}\n\nexport { defaultEasing, keyframes };\n//# sourceMappingURL=keyframes.mjs.map\n","const springDefaults = {\n    // Default spring physics\n    stiffness: 100,\n    damping: 10,\n    mass: 1.0,\n    velocity: 0.0,\n    // Default duration/bounce-based options\n    duration: 800, // in ms\n    bounce: 0.3,\n    visualDuration: 0.3, // in seconds\n    // Rest thresholds\n    restSpeed: {\n        granular: 0.01,\n        default: 2,\n    },\n    restDelta: {\n        granular: 0.005,\n        default: 0.5,\n    },\n    // Limits\n    minDuration: 0.01, // in seconds\n    maxDuration: 10.0, // in seconds\n    minDamping: 0.05,\n    maxDamping: 1,\n};\n\nexport { springDefaults };\n//# sourceMappingURL=defaults.mjs.map\n","import { warning, secondsToMilliseconds, clamp, millisecondsToSeconds } from 'motion-utils';\nimport { springDefaults } from './defaults.mjs';\n\nconst safeMin = 0.001;\nfunction findSpring({ duration = springDefaults.duration, bounce = springDefaults.bounce, velocity = springDefaults.velocity, mass = springDefaults.mass, }) {\n    let envelope;\n    let derivative;\n    warning(duration <= secondsToMilliseconds(springDefaults.maxDuration), \"Spring duration must be 10 seconds or less\", \"spring-duration-limit\");\n    let dampingRatio = 1 - bounce;\n    /**\n     * Restrict dampingRatio and duration to within acceptable ranges.\n     */\n    dampingRatio = clamp(springDefaults.minDamping, springDefaults.maxDamping, dampingRatio);\n    duration = clamp(springDefaults.minDuration, springDefaults.maxDuration, millisecondsToSeconds(duration));\n    if (dampingRatio < 1) {\n        /**\n         * Underdamped spring\n         */\n        envelope = (undampedFreq) => {\n            const exponentialDecay = undampedFreq * dampingRatio;\n            const delta = exponentialDecay * duration;\n            const a = exponentialDecay - velocity;\n            const b = calcAngularFreq(undampedFreq, dampingRatio);\n            const c = Math.exp(-delta);\n            return safeMin - (a / b) * c;\n        };\n        derivative = (undampedFreq) => {\n            const exponentialDecay = undampedFreq * dampingRatio;\n            const delta = exponentialDecay * duration;\n            const d = delta * velocity + velocity;\n            const e = Math.pow(dampingRatio, 2) * Math.pow(undampedFreq, 2) * duration;\n            const f = Math.exp(-delta);\n            const g = calcAngularFreq(Math.pow(undampedFreq, 2), dampingRatio);\n            const factor = -envelope(undampedFreq) + safeMin > 0 ? -1 : 1;\n            return (factor * ((d - e) * f)) / g;\n        };\n    }\n    else {\n        /**\n         * Critically-damped spring\n         */\n        envelope = (undampedFreq) => {\n            const a = Math.exp(-undampedFreq * duration);\n            const b = (undampedFreq - velocity) * duration + 1;\n            return -safeMin + a * b;\n        };\n        derivative = (undampedFreq) => {\n            const a = Math.exp(-undampedFreq * duration);\n            const b = (velocity - undampedFreq) * (duration * duration);\n            return a * b;\n        };\n    }\n    const initialGuess = 5 / duration;\n    const undampedFreq = approximateRoot(envelope, derivative, initialGuess);\n    duration = secondsToMilliseconds(duration);\n    if (isNaN(undampedFreq)) {\n        return {\n            stiffness: springDefaults.stiffness,\n            damping: springDefaults.damping,\n            duration,\n        };\n    }\n    else {\n        const stiffness = Math.pow(undampedFreq, 2) * mass;\n        return {\n            stiffness,\n            damping: dampingRatio * 2 * Math.sqrt(mass * stiffness),\n            duration,\n        };\n    }\n}\nconst rootIterations = 12;\nfunction approximateRoot(envelope, derivative, initialGuess) {\n    let result = initialGuess;\n    for (let i = 1; i < rootIterations; i++) {\n        result = result - envelope(result) / derivative(result);\n    }\n    return result;\n}\nfunction calcAngularFreq(undampedFreq, dampingRatio) {\n    return undampedFreq * Math.sqrt(1 - dampingRatio * dampingRatio);\n}\n\nexport { calcAngularFreq, findSpring };\n//# sourceMappingURL=find.mjs.map\n","import { millisecondsToSeconds, secondsToMilliseconds, clamp } from 'motion-utils';\nimport { generateLinearEasing } from '../../waapi/utils/linear.mjs';\nimport { calcGeneratorDuration, maxGeneratorDuration } from '../utils/calc-duration.mjs';\nimport { createGeneratorEasing } from '../utils/create-generator-easing.mjs';\nimport { calcGeneratorVelocity } from '../utils/velocity.mjs';\nimport { springDefaults } from './defaults.mjs';\nimport { findSpring, calcAngularFreq } from './find.mjs';\n\nconst durationKeys = [\"duration\", \"bounce\"];\nconst physicsKeys = [\"stiffness\", \"damping\", \"mass\"];\nfunction isSpringType(options, keys) {\n    return keys.some((key) => options[key] !== undefined);\n}\nfunction getSpringOptions(options) {\n    let springOptions = {\n        velocity: springDefaults.velocity,\n        stiffness: springDefaults.stiffness,\n        damping: springDefaults.damping,\n        mass: springDefaults.mass,\n        isResolvedFromDuration: false,\n        ...options,\n    };\n    // stiffness/damping/mass overrides duration/bounce\n    if (!isSpringType(options, physicsKeys) &&\n        isSpringType(options, durationKeys)) {\n        if (options.visualDuration) {\n            const visualDuration = options.visualDuration;\n            const root = (2 * Math.PI) / (visualDuration * 1.2);\n            const stiffness = root * root;\n            const damping = 2 *\n                clamp(0.05, 1, 1 - (options.bounce || 0)) *\n                Math.sqrt(stiffness);\n            springOptions = {\n                ...springOptions,\n                mass: springDefaults.mass,\n                stiffness,\n                damping,\n            };\n        }\n        else {\n            const derived = findSpring(options);\n            springOptions = {\n                ...springOptions,\n                ...derived,\n                mass: springDefaults.mass,\n            };\n            springOptions.isResolvedFromDuration = true;\n        }\n    }\n    return springOptions;\n}\nfunction spring(optionsOrVisualDuration = springDefaults.visualDuration, bounce = springDefaults.bounce) {\n    const options = typeof optionsOrVisualDuration !== \"object\"\n        ? {\n            visualDuration: optionsOrVisualDuration,\n            keyframes: [0, 1],\n            bounce,\n        }\n        : optionsOrVisualDuration;\n    let { restSpeed, restDelta } = options;\n    const origin = options.keyframes[0];\n    const target = options.keyframes[options.keyframes.length - 1];\n    /**\n     * This is the Iterator-spec return value. We ensure it's mutable rather than using a generator\n     * to reduce GC during animation.\n     */\n    const state = { done: false, value: origin };\n    const { stiffness, damping, mass, duration, velocity, isResolvedFromDuration, } = getSpringOptions({\n        ...options,\n        velocity: -millisecondsToSeconds(options.velocity || 0),\n    });\n    const initialVelocity = velocity || 0.0;\n    const dampingRatio = damping / (2 * Math.sqrt(stiffness * mass));\n    const initialDelta = target - origin;\n    const undampedAngularFreq = millisecondsToSeconds(Math.sqrt(stiffness / mass));\n    /**\n     * If we're working on a granular scale, use smaller defaults for determining\n     * when the spring is finished.\n     *\n     * These defaults have been selected emprically based on what strikes a good\n     * ratio between feeling good and finishing as soon as changes are imperceptible.\n     */\n    const isGranularScale = Math.abs(initialDelta) < 5;\n    restSpeed || (restSpeed = isGranularScale\n        ? springDefaults.restSpeed.granular\n        : springDefaults.restSpeed.default);\n    restDelta || (restDelta = isGranularScale\n        ? springDefaults.restDelta.granular\n        : springDefaults.restDelta.default);\n    let resolveSpring;\n    if (dampingRatio < 1) {\n        const angularFreq = calcAngularFreq(undampedAngularFreq, dampingRatio);\n        // Underdamped spring\n        resolveSpring = (t) => {\n            const envelope = Math.exp(-dampingRatio * undampedAngularFreq * t);\n            return (target -\n                envelope *\n                    (((initialVelocity +\n                        dampingRatio * undampedAngularFreq * initialDelta) /\n                        angularFreq) *\n                        Math.sin(angularFreq * t) +\n                        initialDelta * Math.cos(angularFreq * t)));\n        };\n    }\n    else if (dampingRatio === 1) {\n        // Critically damped spring\n        resolveSpring = (t) => target -\n            Math.exp(-undampedAngularFreq * t) *\n                (initialDelta +\n                    (initialVelocity + undampedAngularFreq * initialDelta) * t);\n    }\n    else {\n        // Overdamped spring\n        const dampedAngularFreq = undampedAngularFreq * Math.sqrt(dampingRatio * dampingRatio - 1);\n        resolveSpring = (t) => {\n            const envelope = Math.exp(-dampingRatio * undampedAngularFreq * t);\n            // When performing sinh or cosh values can hit Infinity so we cap them here\n            const freqForT = Math.min(dampedAngularFreq * t, 300);\n            return (target -\n                (envelope *\n                    ((initialVelocity +\n                        dampingRatio * undampedAngularFreq * initialDelta) *\n                        Math.sinh(freqForT) +\n                        dampedAngularFreq *\n                            initialDelta *\n                            Math.cosh(freqForT))) /\n                    dampedAngularFreq);\n        };\n    }\n    const generator = {\n        calculatedDuration: isResolvedFromDuration ? duration || null : null,\n        next: (t) => {\n            const current = resolveSpring(t);\n            if (!isResolvedFromDuration) {\n                let currentVelocity = t === 0 ? initialVelocity : 0.0;\n                /**\n                 * We only need to calculate velocity for under-damped springs\n                 * as over- and critically-damped springs can't overshoot, so\n                 * checking only for displacement is enough.\n                 */\n                if (dampingRatio < 1) {\n                    currentVelocity =\n                        t === 0\n                            ? secondsToMilliseconds(initialVelocity)\n                            : calcGeneratorVelocity(resolveSpring, t, current);\n                }\n                const isBelowVelocityThreshold = Math.abs(currentVelocity) <= restSpeed;\n                const isBelowDisplacementThreshold = Math.abs(target - current) <= restDelta;\n                state.done =\n                    isBelowVelocityThreshold && isBelowDisplacementThreshold;\n            }\n            else {\n                state.done = t >= duration;\n            }\n            state.value = state.done ? target : current;\n            return state;\n        },\n        toString: () => {\n            const calculatedDuration = Math.min(calcGeneratorDuration(generator), maxGeneratorDuration);\n            const easing = generateLinearEasing((progress) => generator.next(calculatedDuration * progress).value, calculatedDuration, 30);\n            return calculatedDuration + \"ms \" + easing;\n        },\n        toTransition: () => { },\n    };\n    return generator;\n}\nspring.applyToOptions = (options) => {\n    const generatorOptions = createGeneratorEasing(options, 100, spring);\n    options.ease = generatorOptions.ease;\n    options.duration = secondsToMilliseconds(generatorOptions.duration);\n    options.type = \"keyframes\";\n    return options;\n};\n\nexport { spring };\n//# sourceMappingURL=index.mjs.map\n","/**\n * Implement a practical max duration for keyframe generation\n * to prevent infinite loops\n */\nconst maxGeneratorDuration = 20000;\nfunction calcGeneratorDuration(generator) {\n    let duration = 0;\n    const timeStep = 50;\n    let state = generator.next(duration);\n    while (!state.done && duration < maxGeneratorDuration) {\n        duration += timeStep;\n        state = generator.next(duration);\n    }\n    return duration >= maxGeneratorDuration ? Infinity : duration;\n}\n\nexport { calcGeneratorDuration, maxGeneratorDuration };\n//# sourceMappingURL=calc-duration.mjs.map\n","import { millisecondsToSeconds } from 'motion-utils';\nimport { calcGeneratorDuration, maxGeneratorDuration } from './calc-duration.mjs';\n\n/**\n * Create a progress => progress easing function from a generator.\n */\nfunction createGeneratorEasing(options, scale = 100, createGenerator) {\n    const generator = createGenerator({ ...options, keyframes: [0, scale] });\n    const duration = Math.min(calcGeneratorDuration(generator), maxGeneratorDuration);\n    return {\n        type: \"keyframes\",\n        ease: (progress) => {\n            return generator.next(duration * progress).value / scale;\n        },\n        duration: millisecondsToSeconds(duration),\n    };\n}\n\nexport { createGeneratorEasing };\n//# sourceMappingURL=create-generator-easing.mjs.map\n","function isGenerator(type) {\n    return typeof type === \"function\" && \"applyToOptions\" in type;\n}\n\nexport { isGenerator };\n//# sourceMappingURL=is-generator.mjs.map\n","import { velocityPerSecond } from 'motion-utils';\n\nconst velocitySampleDuration = 5; // ms\nfunction calcGeneratorVelocity(resolveValue, t, current) {\n    const prevT = Math.max(t - velocitySampleDuration, 0);\n    return velocityPerSecond(current - resolveValue(prevT), t - prevT);\n}\n\nexport { calcGeneratorVelocity };\n//# sourceMappingURL=velocity.mjs.map\n","import { secondsToMilliseconds, MotionGlobalConfig } from 'motion-utils';\nimport { AsyncMotionValueAnimation } from '../AsyncMotionValueAnimation.mjs';\nimport { JSAnimation } from '../JSAnimation.mjs';\nimport { getValueTransition } from '../utils/get-value-transition.mjs';\nimport { makeAnimationInstant } from '../utils/make-animation-instant.mjs';\nimport { getDefaultTransition } from '../utils/default-transitions.mjs';\nimport { getFinalKeyframe } from '../utils/get-final-keyframe.mjs';\nimport { isTransitionDefined } from '../utils/is-transition-defined.mjs';\nimport { frame } from '../../frameloop/frame.mjs';\n\nconst animateMotionValue = (name, value, target, transition = {}, element, isHandoff) => (onComplete) => {\n    const valueTransition = getValueTransition(transition, name) || {};\n    /**\n     * Most transition values are currently completely overwritten by value-specific\n     * transitions. In the future it'd be nicer to blend these transitions. But for now\n     * delay actually does inherit from the root transition if not value-specific.\n     */\n    const delay = valueTransition.delay || transition.delay || 0;\n    /**\n     * Elapsed isn't a public transition option but can be passed through from\n     * optimized appear effects in milliseconds.\n     */\n    let { elapsed = 0 } = transition;\n    elapsed = elapsed - secondsToMilliseconds(delay);\n    const options = {\n        keyframes: Array.isArray(target) ? target : [null, target],\n        ease: \"easeOut\",\n        velocity: value.getVelocity(),\n        ...valueTransition,\n        delay: -elapsed,\n        onUpdate: (v) => {\n            value.set(v);\n            valueTransition.onUpdate && valueTransition.onUpdate(v);\n        },\n        onComplete: () => {\n            onComplete();\n            valueTransition.onComplete && valueTransition.onComplete();\n        },\n        name,\n        motionValue: value,\n        element: isHandoff ? undefined : element,\n    };\n    /**\n     * If there's no transition defined for this value, we can generate\n     * unique transition settings for this value.\n     */\n    if (!isTransitionDefined(valueTransition)) {\n        Object.assign(options, getDefaultTransition(name, options));\n    }\n    /**\n     * Both WAAPI and our internal animation functions use durations\n     * as defined by milliseconds, while our external API defines them\n     * as seconds.\n     */\n    options.duration && (options.duration = secondsToMilliseconds(options.duration));\n    options.repeatDelay && (options.repeatDelay = secondsToMilliseconds(options.repeatDelay));\n    /**\n     * Support deprecated way to set initial value. Prefer keyframe syntax.\n     */\n    if (options.from !== undefined) {\n        options.keyframes[0] = options.from;\n    }\n    let shouldSkip = false;\n    if (options.type === false ||\n        (options.duration === 0 && !options.repeatDelay)) {\n        makeAnimationInstant(options);\n        if (options.delay === 0) {\n            shouldSkip = true;\n        }\n    }\n    if (MotionGlobalConfig.instantAnimations ||\n        MotionGlobalConfig.skipAnimations ||\n        element?.shouldSkipAnimations) {\n        shouldSkip = true;\n        makeAnimationInstant(options);\n        options.delay = 0;\n    }\n    /**\n     * If the transition type or easing has been explicitly set by the user\n     * then we don't want to allow flattening the animation.\n     */\n    options.allowFlatten = !valueTransition.type && !valueTransition.ease;\n    /**\n     * If we can or must skip creating the animation, and apply only\n     * the final keyframe, do so. We also check once keyframes are resolved but\n     * this early check prevents the need to create an animation at all.\n     */\n    if (shouldSkip && !isHandoff && value.get() !== undefined) {\n        const finalKeyframe = getFinalKeyframe(options.keyframes, valueTransition);\n        if (finalKeyframe !== undefined) {\n            frame.update(() => {\n                options.onUpdate(finalKeyframe);\n                options.onComplete();\n            });\n            return;\n        }\n    }\n    return valueTransition.isSync\n        ? new JSAnimation(options)\n        : new AsyncMotionValueAnimation(options);\n};\n\nexport { animateMotionValue };\n//# sourceMappingURL=motion-value.mjs.map\n","import { getValueTransition } from '../utils/get-value-transition.mjs';\nimport { resolveTransition } from '../utils/resolve-transition.mjs';\nimport { positionalKeys } from '../../render/utils/keys-position.mjs';\nimport { setTarget } from '../../render/utils/setters.mjs';\nimport { addValueToWillChange } from '../../value/will-change/add-will-change.mjs';\nimport { getOptimisedAppearId } from '../optimized-appear/get-appear-id.mjs';\nimport { animateMotionValue } from './motion-value.mjs';\nimport { frame } from '../../frameloop/frame.mjs';\n\n/**\n * Decide whether we should block this animation. Previously, we achieved this\n * just by checking whether the key was listed in protectedKeys, but this\n * posed problems if an animation was triggered by afterChildren and protectedKeys\n * had been set to true in the meantime.\n */\nfunction shouldBlockAnimation({ protectedKeys, needsAnimating }, key) {\n    const shouldBlock = protectedKeys.hasOwnProperty(key) && needsAnimating[key] !== true;\n    needsAnimating[key] = false;\n    return shouldBlock;\n}\nfunction animateTarget(visualElement, targetAndTransition, { delay = 0, transitionOverride, type } = {}) {\n    let { transition, transitionEnd, ...target } = targetAndTransition;\n    const defaultTransition = visualElement.getDefaultTransition();\n    transition = transition\n        ? resolveTransition(transition, defaultTransition)\n        : defaultTransition;\n    const reduceMotion = transition?.reduceMotion;\n    if (transitionOverride)\n        transition = transitionOverride;\n    const animations = [];\n    const animationTypeState = type &&\n        visualElement.animationState &&\n        visualElement.animationState.getState()[type];\n    for (const key in target) {\n        const value = visualElement.getValue(key, visualElement.latestValues[key] ?? null);\n        const valueTarget = target[key];\n        if (valueTarget === undefined ||\n            (animationTypeState &&\n                shouldBlockAnimation(animationTypeState, key))) {\n            continue;\n        }\n        const valueTransition = {\n            delay,\n            ...getValueTransition(transition || {}, key),\n        };\n        /**\n         * If the value is already at the defined target, skip the animation.\n         */\n        const currentValue = value.get();\n        if (currentValue !== undefined &&\n            !value.isAnimating &&\n            !Array.isArray(valueTarget) &&\n            valueTarget === currentValue &&\n            !valueTransition.velocity) {\n            continue;\n        }\n        /**\n         * If this is the first time a value is being animated, check\n         * to see if we're handling off from an existing animation.\n         */\n        let isHandoff = false;\n        if (window.MotionHandoffAnimation) {\n            const appearId = getOptimisedAppearId(visualElement);\n            if (appearId) {\n                const startTime = window.MotionHandoffAnimation(appearId, key, frame);\n                if (startTime !== null) {\n                    valueTransition.startTime = startTime;\n                    isHandoff = true;\n                }\n            }\n        }\n        addValueToWillChange(visualElement, key);\n        const shouldReduceMotion = reduceMotion ?? visualElement.shouldReduceMotion;\n        value.start(animateMotionValue(key, value, valueTarget, shouldReduceMotion && positionalKeys.has(key)\n            ? { type: false }\n            : valueTransition, visualElement, isHandoff));\n        const animation = value.animation;\n        if (animation) {\n            animations.push(animation);\n        }\n    }\n    if (transitionEnd) {\n        const applyTransitionEnd = () => frame.update(() => {\n            transitionEnd && setTarget(visualElement, transitionEnd);\n        });\n        if (animations.length) {\n            Promise.all(animations).then(applyTransitionEnd);\n        }\n        else {\n            applyTransitionEnd();\n        }\n    }\n    return animations;\n}\n\nexport { animateTarget };\n//# sourceMappingURL=visual-element-target.mjs.map\n","import { resolveVariant } from '../../render/utils/resolve-dynamic-variants.mjs';\nimport { calcChildStagger } from '../utils/calc-child-stagger.mjs';\nimport { animateTarget } from './visual-element-target.mjs';\n\nfunction animateVariant(visualElement, variant, options = {}) {\n    const resolved = resolveVariant(visualElement, variant, options.type === \"exit\"\n        ? visualElement.presenceContext?.custom\n        : undefined);\n    let { transition = visualElement.getDefaultTransition() || {} } = resolved || {};\n    if (options.transitionOverride) {\n        transition = options.transitionOverride;\n    }\n    /**\n     * If we have a variant, create a callback that runs it as an animation.\n     * Otherwise, we resolve a Promise immediately for a composable no-op.\n     */\n    const getAnimation = resolved\n        ? () => Promise.all(animateTarget(visualElement, resolved, options))\n        : () => Promise.resolve();\n    /**\n     * If we have children, create a callback that runs all their animations.\n     * Otherwise, we resolve a Promise immediately for a composable no-op.\n     */\n    const getChildAnimations = visualElement.variantChildren && visualElement.variantChildren.size\n        ? (forwardDelay = 0) => {\n            const { delayChildren = 0, staggerChildren, staggerDirection, } = transition;\n            return animateChildren(visualElement, variant, forwardDelay, delayChildren, staggerChildren, staggerDirection, options);\n        }\n        : () => Promise.resolve();\n    /**\n     * If the transition explicitly defines a \"when\" option, we need to resolve either\n     * this animation or all children animations before playing the other.\n     */\n    const { when } = transition;\n    if (when) {\n        const [first, last] = when === \"beforeChildren\"\n            ? [getAnimation, getChildAnimations]\n            : [getChildAnimations, getAnimation];\n        return first().then(() => last());\n    }\n    else {\n        return Promise.all([getAnimation(), getChildAnimations(options.delay)]);\n    }\n}\nfunction animateChildren(visualElement, variant, delay = 0, delayChildren = 0, staggerChildren = 0, staggerDirection = 1, options) {\n    const animations = [];\n    for (const child of visualElement.variantChildren) {\n        child.notify(\"AnimationStart\", variant);\n        animations.push(animateVariant(child, variant, {\n            ...options,\n            delay: delay +\n                (typeof delayChildren === \"function\" ? 0 : delayChildren) +\n                calcChildStagger(visualElement.variantChildren, child, delayChildren, staggerChildren, staggerDirection),\n        }).then(() => child.notify(\"AnimationComplete\", variant)));\n    }\n    return Promise.all(animations);\n}\n\nexport { animateVariant };\n//# sourceMappingURL=visual-element-variant.mjs.map\n","import { resolveVariant } from '../../render/utils/resolve-dynamic-variants.mjs';\nimport { animateTarget } from './visual-element-target.mjs';\nimport { animateVariant } from './visual-element-variant.mjs';\n\nfunction animateVisualElement(visualElement, definition, options = {}) {\n    visualElement.notify(\"AnimationStart\", definition);\n    let animation;\n    if (Array.isArray(definition)) {\n        const animations = definition.map((variant) => animateVariant(visualElement, variant, options));\n        animation = Promise.all(animations);\n    }\n    else if (typeof definition === \"string\") {\n        animation = animateVariant(visualElement, definition, options);\n    }\n    else {\n        const resolvedDefinition = typeof definition === \"function\"\n            ? resolveVariant(visualElement, definition, options.custom)\n            : definition;\n        animation = Promise.all(animateTarget(visualElement, resolvedDefinition, options));\n    }\n    return animation.then(() => {\n        visualElement.notify(\"AnimationComplete\", definition);\n    });\n}\n\nexport { animateVisualElement };\n//# sourceMappingURL=visual-element.mjs.map\n","import { positionalKeys } from '../../render/utils/keys-position.mjs';\nimport { findDimensionValueType } from '../../value/types/dimensions.mjs';\nimport { getVariableValue } from '../utils/css-variables-conversion.mjs';\nimport { isCSSVariableToken, containsCSSVariable } from '../utils/is-css-variable.mjs';\nimport { KeyframeResolver } from './KeyframesResolver.mjs';\nimport { isNone } from './utils/is-none.mjs';\nimport { makeNoneKeyframesAnimatable } from './utils/make-none-animatable.mjs';\nimport { positionalValues, isNumOrPxType } from './utils/unit-conversion.mjs';\n\nclass DOMKeyframesResolver extends KeyframeResolver {\n    constructor(unresolvedKeyframes, onComplete, name, motionValue, element) {\n        super(unresolvedKeyframes, onComplete, name, motionValue, element, true);\n    }\n    readKeyframes() {\n        const { unresolvedKeyframes, element, name } = this;\n        if (!element || !element.current)\n            return;\n        super.readKeyframes();\n        /**\n         * If any keyframe is a CSS variable, we need to find its value by sampling the element\n         */\n        for (let i = 0; i < unresolvedKeyframes.length; i++) {\n            let keyframe = unresolvedKeyframes[i];\n            if (typeof keyframe === \"string\") {\n                keyframe = keyframe.trim();\n                if (isCSSVariableToken(keyframe)) {\n                    const resolved = getVariableValue(keyframe, element.current);\n                    if (resolved !== undefined) {\n                        unresolvedKeyframes[i] = resolved;\n                    }\n                    if (i === unresolvedKeyframes.length - 1) {\n                        this.finalKeyframe = keyframe;\n                    }\n                }\n            }\n        }\n        /**\n         * Resolve \"none\" values. We do this potentially twice - once before and once after measuring keyframes.\n         * This could be seen as inefficient but it's a trade-off to avoid measurements in more situations, which\n         * have a far bigger performance impact.\n         */\n        this.resolveNoneKeyframes();\n        /**\n         * Check to see if unit type has changed. If so schedule jobs that will\n         * temporarily set styles to the destination keyframes.\n         * Skip if we have more than two keyframes or this isn't a positional value.\n         * TODO: We can throw if there are multiple keyframes and the value type changes.\n         */\n        if (!positionalKeys.has(name) || unresolvedKeyframes.length !== 2) {\n            return;\n        }\n        const [origin, target] = unresolvedKeyframes;\n        const originType = findDimensionValueType(origin);\n        const targetType = findDimensionValueType(target);\n        /**\n         * If one keyframe contains embedded CSS variables (e.g. in calc()) and the other\n         * doesn't, we need to measure to convert to pixels. This handles GitHub issue #3410.\n         */\n        const originHasVar = containsCSSVariable(origin);\n        const targetHasVar = containsCSSVariable(target);\n        if (originHasVar !== targetHasVar && positionalValues[name]) {\n            this.needsMeasurement = true;\n            return;\n        }\n        /**\n         * Either we don't recognise these value types or we can animate between them.\n         */\n        if (originType === targetType)\n            return;\n        /**\n         * If both values are numbers or pixels, we can animate between them by\n         * converting them to numbers.\n         */\n        if (isNumOrPxType(originType) && isNumOrPxType(targetType)) {\n            for (let i = 0; i < unresolvedKeyframes.length; i++) {\n                const value = unresolvedKeyframes[i];\n                if (typeof value === \"string\") {\n                    unresolvedKeyframes[i] = parseFloat(value);\n                }\n            }\n        }\n        else if (positionalValues[name]) {\n            /**\n             * Else, the only way to resolve this is by measuring the element.\n             */\n            this.needsMeasurement = true;\n        }\n    }\n    resolveNoneKeyframes() {\n        const { unresolvedKeyframes, name } = this;\n        const noneKeyframeIndexes = [];\n        for (let i = 0; i < unresolvedKeyframes.length; i++) {\n            if (unresolvedKeyframes[i] === null ||\n                isNone(unresolvedKeyframes[i])) {\n                noneKeyframeIndexes.push(i);\n            }\n        }\n        if (noneKeyframeIndexes.length) {\n            makeNoneKeyframesAnimatable(unresolvedKeyframes, noneKeyframeIndexes, name);\n        }\n    }\n    measureInitialState() {\n        const { element, unresolvedKeyframes, name } = this;\n        if (!element || !element.current)\n            return;\n        if (name === \"height\") {\n            this.suspendedScrollY = window.pageYOffset;\n        }\n        this.measuredOrigin = positionalValues[name](element.measureViewportBox(), window.getComputedStyle(element.current));\n        unresolvedKeyframes[0] = this.measuredOrigin;\n        // Set final key frame to measure after next render\n        const measureKeyframe = unresolvedKeyframes[unresolvedKeyframes.length - 1];\n        if (measureKeyframe !== undefined) {\n            element.getValue(name, measureKeyframe).jump(measureKeyframe, false);\n        }\n    }\n    measureEndState() {\n        const { element, name, unresolvedKeyframes } = this;\n        if (!element || !element.current)\n            return;\n        const value = element.getValue(name);\n        value && value.jump(this.measuredOrigin, false);\n        const finalKeyframeIndex = unresolvedKeyframes.length - 1;\n        const finalKeyframe = unresolvedKeyframes[finalKeyframeIndex];\n        unresolvedKeyframes[finalKeyframeIndex] = positionalValues[name](element.measureViewportBox(), window.getComputedStyle(element.current));\n        if (finalKeyframe !== null && this.finalKeyframe === undefined) {\n            this.finalKeyframe = finalKeyframe;\n        }\n        // If we removed transform values, reapply them before the next render\n        if (this.removedTransforms?.length) {\n            this.removedTransforms.forEach(([unsetTransformName, unsetTransformValue]) => {\n                element\n                    .getValue(unsetTransformName)\n                    .set(unsetTransformValue);\n            });\n        }\n        this.resolveNoneKeyframes();\n    }\n}\n\nexport { DOMKeyframesResolver };\n//# sourceMappingURL=DOMKeyframesResolver.mjs.map\n","import { fillWildcards } from './utils/fill-wildcards.mjs';\nimport { removeNonTranslationalTransform } from './utils/unit-conversion.mjs';\nimport { frame } from '../../frameloop/frame.mjs';\n\nconst toResolve = new Set();\nlet isScheduled = false;\nlet anyNeedsMeasurement = false;\nlet isForced = false;\nfunction measureAllKeyframes() {\n    if (anyNeedsMeasurement) {\n        const resolversToMeasure = Array.from(toResolve).filter((resolver) => resolver.needsMeasurement);\n        const elementsToMeasure = new Set(resolversToMeasure.map((resolver) => resolver.element));\n        const transformsToRestore = new Map();\n        /**\n         * Write pass\n         * If we're measuring elements we want to remove bounding box-changing transforms.\n         */\n        elementsToMeasure.forEach((element) => {\n            const removedTransforms = removeNonTranslationalTransform(element);\n            if (!removedTransforms.length)\n                return;\n            transformsToRestore.set(element, removedTransforms);\n            element.render();\n        });\n        // Read\n        resolversToMeasure.forEach((resolver) => resolver.measureInitialState());\n        // Write\n        elementsToMeasure.forEach((element) => {\n            element.render();\n            const restore = transformsToRestore.get(element);\n            if (restore) {\n                restore.forEach(([key, value]) => {\n                    element.getValue(key)?.set(value);\n                });\n            }\n        });\n        // Read\n        resolversToMeasure.forEach((resolver) => resolver.measureEndState());\n        // Write\n        resolversToMeasure.forEach((resolver) => {\n            if (resolver.suspendedScrollY !== undefined) {\n                window.scrollTo(0, resolver.suspendedScrollY);\n            }\n        });\n    }\n    anyNeedsMeasurement = false;\n    isScheduled = false;\n    toResolve.forEach((resolver) => resolver.complete(isForced));\n    toResolve.clear();\n}\nfunction readAllKeyframes() {\n    toResolve.forEach((resolver) => {\n        resolver.readKeyframes();\n        if (resolver.needsMeasurement) {\n            anyNeedsMeasurement = true;\n        }\n    });\n}\nfunction flushKeyframeResolvers() {\n    isForced = true;\n    readAllKeyframes();\n    measureAllKeyframes();\n    isForced = false;\n}\nclass KeyframeResolver {\n    constructor(unresolvedKeyframes, onComplete, name, motionValue, element, isAsync = false) {\n        this.state = \"pending\";\n        /**\n         * Track whether this resolver is async. If it is, it'll be added to the\n         * resolver queue and flushed in the next frame. Resolvers that aren't going\n         * to trigger read/write thrashing don't need to be async.\n         */\n        this.isAsync = false;\n        /**\n         * Track whether this resolver needs to perform a measurement\n         * to resolve its keyframes.\n         */\n        this.needsMeasurement = false;\n        this.unresolvedKeyframes = [...unresolvedKeyframes];\n        this.onComplete = onComplete;\n        this.name = name;\n        this.motionValue = motionValue;\n        this.element = element;\n        this.isAsync = isAsync;\n    }\n    scheduleResolve() {\n        this.state = \"scheduled\";\n        if (this.isAsync) {\n            toResolve.add(this);\n            if (!isScheduled) {\n                isScheduled = true;\n                frame.read(readAllKeyframes);\n                frame.resolveKeyframes(measureAllKeyframes);\n            }\n        }\n        else {\n            this.readKeyframes();\n            this.complete();\n        }\n    }\n    readKeyframes() {\n        const { unresolvedKeyframes, name, element, motionValue } = this;\n        // If initial keyframe is null we need to read it from the DOM\n        if (unresolvedKeyframes[0] === null) {\n            const currentValue = motionValue?.get();\n            // TODO: This doesn't work if the final keyframe is a wildcard\n            const finalKeyframe = unresolvedKeyframes[unresolvedKeyframes.length - 1];\n            if (currentValue !== undefined) {\n                unresolvedKeyframes[0] = currentValue;\n            }\n            else if (element && name) {\n                const valueAsRead = element.readValue(name, finalKeyframe);\n                if (valueAsRead !== undefined && valueAsRead !== null) {\n                    unresolvedKeyframes[0] = valueAsRead;\n                }\n            }\n            if (unresolvedKeyframes[0] === undefined) {\n                unresolvedKeyframes[0] = finalKeyframe;\n            }\n            if (motionValue && currentValue === undefined) {\n                motionValue.set(unresolvedKeyframes[0]);\n            }\n        }\n        fillWildcards(unresolvedKeyframes);\n    }\n    setFinalKeyframe() { }\n    measureInitialState() { }\n    renderEndStyles() { }\n    measureEndState() { }\n    complete(isForcedComplete = false) {\n        this.state = \"complete\";\n        this.onComplete(this.unresolvedKeyframes, this.finalKeyframe, isForcedComplete);\n        toResolve.delete(this);\n    }\n    cancel() {\n        if (this.state === \"scheduled\") {\n            toResolve.delete(this);\n            this.state = \"pending\";\n        }\n    }\n    resume() {\n        if (this.state === \"pending\")\n            this.scheduleResolve();\n    }\n}\n\nexport { KeyframeResolver, flushKeyframeResolvers };\n//# sourceMappingURL=KeyframesResolver.mjs.map\n","const isNotNull = (value) => value !== null;\nfunction getFinalKeyframe(keyframes, { repeat, repeatType = \"loop\" }, finalKeyframe, speed = 1) {\n    const resolvedKeyframes = keyframes.filter(isNotNull);\n    const useFirstKeyframe = speed < 0 || (repeat && repeatType !== \"loop\" && repeat % 2 === 1);\n    const index = useFirstKeyframe ? 0 : resolvedKeyframes.length - 1;\n    return !index || finalKeyframe === undefined\n        ? resolvedKeyframes[index]\n        : finalKeyframe;\n}\n\nexport { getFinalKeyframe };\n//# sourceMappingURL=get-final.mjs.map\n","import { fillOffset } from './fill.mjs';\n\nfunction defaultOffset(arr) {\n    const offset = [0];\n    fillOffset(offset, arr.length - 1);\n    return offset;\n}\n\nexport { defaultOffset };\n//# sourceMappingURL=default.mjs.map\n","import { progress } from 'motion-utils';\nimport { mixNumber } from '../../../utils/mix/number.mjs';\n\nfunction fillOffset(offset, remaining) {\n    const min = offset[offset.length - 1];\n    for (let i = 1; i <= remaining; i++) {\n        const offsetProgress = progress(0, remaining, i);\n        offset.push(mixNumber(min, 1, offsetProgress));\n    }\n}\n\nexport { fillOffset };\n//# sourceMappingURL=fill.mjs.map\n","function convertOffsetToTimes(offset, duration) {\n    return offset.map((o) => o * duration);\n}\n\nexport { convertOffsetToTimes };\n//# sourceMappingURL=time.mjs.map\n","function fillWildcards(keyframes) {\n    for (let i = 1; i < keyframes.length; i++) {\n        keyframes[i] ?? (keyframes[i] = keyframes[i - 1]);\n    }\n}\n\nexport { fillWildcards };\n//# sourceMappingURL=fill-wildcards.mjs.map\n","import { isZeroValueString } from 'motion-utils';\n\nfunction isNone(value) {\n    if (typeof value === \"number\") {\n        return value === 0;\n    }\n    else if (value !== null) {\n        return value === \"none\" || value === \"0\" || isZeroValueString(value);\n    }\n    else {\n        return true;\n    }\n}\n\nexport { isNone };\n//# sourceMappingURL=is-none.mjs.map\n","import { analyseComplexValue } from '../../../value/types/complex/index.mjs';\nimport { getAnimatableNone } from '../../../value/types/utils/animatable-none.mjs';\n\n/**\n * If we encounter keyframes like \"none\" or \"0\" and we also have keyframes like\n * \"#fff\" or \"200px 200px\" we want to find a keyframe to serve as a template for\n * the \"none\" keyframes. In this case \"#fff\" or \"200px 200px\" - then these get turned into\n * zero equivalents, i.e. \"#fff0\" or \"0px 0px\".\n */\nconst invalidTemplates = new Set([\"auto\", \"none\", \"0\"]);\nfunction makeNoneKeyframesAnimatable(unresolvedKeyframes, noneKeyframeIndexes, name) {\n    let i = 0;\n    let animatableTemplate = undefined;\n    while (i < unresolvedKeyframes.length && !animatableTemplate) {\n        const keyframe = unresolvedKeyframes[i];\n        if (typeof keyframe === \"string\" &&\n            !invalidTemplates.has(keyframe) &&\n            analyseComplexValue(keyframe).values.length) {\n            animatableTemplate = unresolvedKeyframes[i];\n        }\n        i++;\n    }\n    if (animatableTemplate && name) {\n        for (const noneIndex of noneKeyframeIndexes) {\n            unresolvedKeyframes[noneIndex] = getAnimatableNone(name, animatableTemplate);\n        }\n    }\n}\n\nexport { makeNoneKeyframesAnimatable };\n//# sourceMappingURL=make-none-animatable.mjs.map\n","import { parseValueFromTransform } from '../../../render/dom/parse-transform.mjs';\nimport { transformPropOrder } from '../../../render/utils/keys-transform.mjs';\nimport { number } from '../../../value/types/numbers/index.mjs';\nimport { px } from '../../../value/types/numbers/units.mjs';\n\nconst isNumOrPxType = (v) => v === number || v === px;\nconst transformKeys = new Set([\"x\", \"y\", \"z\"]);\nconst nonTranslationalTransformKeys = transformPropOrder.filter((key) => !transformKeys.has(key));\nfunction removeNonTranslationalTransform(visualElement) {\n    const removedTransforms = [];\n    nonTranslationalTransformKeys.forEach((key) => {\n        const value = visualElement.getValue(key);\n        if (value !== undefined) {\n            removedTransforms.push([key, value.get()]);\n            value.set(key.startsWith(\"scale\") ? 1 : 0);\n        }\n    });\n    return removedTransforms;\n}\nconst positionalValues = {\n    // Dimensions\n    width: ({ x }, { paddingLeft = \"0\", paddingRight = \"0\" }) => x.max - x.min - parseFloat(paddingLeft) - parseFloat(paddingRight),\n    height: ({ y }, { paddingTop = \"0\", paddingBottom = \"0\" }) => y.max - y.min - parseFloat(paddingTop) - parseFloat(paddingBottom),\n    top: (_bbox, { top }) => parseFloat(top),\n    left: (_bbox, { left }) => parseFloat(left),\n    bottom: ({ y }, { top }) => parseFloat(top) + (y.max - y.min),\n    right: ({ x }, { left }) => parseFloat(left) + (x.max - x.min),\n    // Transform\n    x: (_bbox, { transform }) => parseValueFromTransform(transform, \"x\"),\n    y: (_bbox, { transform }) => parseValueFromTransform(transform, \"y\"),\n};\n// Alias translate longform names\npositionalValues.translateX = positionalValues.x;\npositionalValues.translateY = positionalValues.y;\n\nexport { isNumOrPxType, positionalValues, removeNonTranslationalTransform };\n//# sourceMappingURL=unit-conversion.mjs.map\n","import { camelToDash } from '../../render/dom/utils/camel-to-dash.mjs';\n\nconst optimizedAppearDataId = \"framerAppearId\";\nconst optimizedAppearDataAttribute = \"data-\" + camelToDash(optimizedAppearDataId);\n\nexport { optimizedAppearDataAttribute, optimizedAppearDataId };\n//# sourceMappingURL=data-id.mjs.map\n","import { optimizedAppearDataAttribute } from './data-id.mjs';\n\nfunction getOptimisedAppearId(visualElement) {\n    return visualElement.props[optimizedAppearDataAttribute];\n}\n\nexport { getOptimisedAppearId };\n//# sourceMappingURL=get-appear-id.mjs.map\n","class WithPromise {\n    constructor() {\n        this.updateFinished();\n    }\n    get finished() {\n        return this._finished;\n    }\n    updateFinished() {\n        this._finished = new Promise((resolve) => {\n            this.resolve = resolve;\n        });\n    }\n    notifyFinished() {\n        this.resolve();\n    }\n    /**\n     * Allows the animation to be awaited.\n     *\n     * @deprecated Use `finished` instead.\n     */\n    then(onResolve, onReject) {\n        return this.finished.then(onResolve, onReject);\n    }\n}\n\nexport { WithPromise };\n//# sourceMappingURL=WithPromise.mjs.map\n","function calcChildStagger(children, child, delayChildren, staggerChildren = 0, staggerDirection = 1) {\n    const index = Array.from(children)\n        .sort((a, b) => a.sortNodePosition(b))\n        .indexOf(child);\n    const numChildren = children.size;\n    const maxStaggerDuration = (numChildren - 1) * staggerChildren;\n    const delayIsFunction = typeof delayChildren === \"function\";\n    return delayIsFunction\n        ? delayChildren(index, numChildren)\n        : staggerDirection === 1\n            ? index * staggerChildren\n            : maxStaggerDuration - index * staggerChildren;\n}\n\nexport { calcChildStagger };\n//# sourceMappingURL=calc-child-stagger.mjs.map\n","import { warning } from 'motion-utils';\nimport { isGenerator } from '../generators/utils/is-generator.mjs';\nimport { isAnimatable } from './is-animatable.mjs';\n\nfunction hasKeyframesChanged(keyframes) {\n    const current = keyframes[0];\n    if (keyframes.length === 1)\n        return true;\n    for (let i = 0; i < keyframes.length; i++) {\n        if (keyframes[i] !== current)\n            return true;\n    }\n}\nfunction canAnimate(keyframes, name, type, velocity) {\n    /**\n     * Check if we're able to animate between the start and end keyframes,\n     * and throw a warning if we're attempting to animate between one that's\n     * animatable and another that isn't.\n     */\n    const originKeyframe = keyframes[0];\n    if (originKeyframe === null) {\n        return false;\n    }\n    /**\n     * These aren't traditionally animatable but we do support them.\n     * In future we could look into making this more generic or replacing\n     * this function with mix() === mixImmediate\n     */\n    if (name === \"display\" || name === \"visibility\")\n        return true;\n    const targetKeyframe = keyframes[keyframes.length - 1];\n    const isOriginAnimatable = isAnimatable(originKeyframe, name);\n    const isTargetAnimatable = isAnimatable(targetKeyframe, name);\n    warning(isOriginAnimatable === isTargetAnimatable, `You are trying to animate ${name} from \"${originKeyframe}\" to \"${targetKeyframe}\". \"${isOriginAnimatable ? targetKeyframe : originKeyframe}\" is not an animatable value.`, \"value-not-animatable\");\n    // Always skip if any of these are true\n    if (!isOriginAnimatable || !isTargetAnimatable) {\n        return false;\n    }\n    return (hasKeyframesChanged(keyframes) ||\n        ((type === \"spring\" || isGenerator(type)) && velocity));\n}\n\nexport { canAnimate };\n//# sourceMappingURL=can-animate.mjs.map\n","import { invariant, isNumericalString } from 'motion-utils';\nimport { isCSSVariableToken } from './is-css-variable.mjs';\n\n/**\n * Parse Framer's special CSS variable format into a CSS token and a fallback.\n *\n * ```\n * `var(--foo, #fff)` => [`--foo`, '#fff']\n * ```\n *\n * @param current\n */\nconst splitCSSVariableRegex = \n// eslint-disable-next-line redos-detector/no-unsafe-regex -- false positive, as it can match a lot of words\n/^var\\(--(?:([\\w-]+)|([\\w-]+), ?([a-zA-Z\\d ()%#.,-]+))\\)/u;\nfunction parseCSSVariable(current) {\n    const match = splitCSSVariableRegex.exec(current);\n    if (!match)\n        return [,];\n    const [, token1, token2, fallback] = match;\n    return [`--${token1 ?? token2}`, fallback];\n}\nconst maxDepth = 4;\nfunction getVariableValue(current, element, depth = 1) {\n    invariant(depth <= maxDepth, `Max CSS variable fallback depth detected in property \"${current}\". This may indicate a circular fallback dependency.`, \"max-css-var-depth\");\n    const [token, fallback] = parseCSSVariable(current);\n    // No CSS variable detected\n    if (!token)\n        return;\n    // Attempt to read this CSS variable off the element\n    const resolved = window.getComputedStyle(element).getPropertyValue(token);\n    if (resolved) {\n        const trimmed = resolved.trim();\n        return isNumericalString(trimmed) ? parseFloat(trimmed) : trimmed;\n    }\n    return isCSSVariableToken(fallback)\n        ? getVariableValue(fallback, element, depth + 1)\n        : fallback;\n}\n\nexport { getVariableValue, parseCSSVariable };\n//# sourceMappingURL=css-variables-conversion.mjs.map\n","import { transformProps } from '../../render/utils/keys-transform.mjs';\n\nconst underDampedSpring = {\n    type: \"spring\",\n    stiffness: 500,\n    damping: 25,\n    restSpeed: 10,\n};\nconst criticallyDampedSpring = (target) => ({\n    type: \"spring\",\n    stiffness: 550,\n    damping: target === 0 ? 2 * Math.sqrt(550) : 30,\n    restSpeed: 10,\n});\nconst keyframesTransition = {\n    type: \"keyframes\",\n    duration: 0.8,\n};\n/**\n * Default easing curve is a slightly shallower version of\n * the default browser easing curve.\n */\nconst ease = {\n    type: \"keyframes\",\n    ease: [0.25, 0.1, 0.35, 1],\n    duration: 0.3,\n};\nconst getDefaultTransition = (valueKey, { keyframes }) => {\n    if (keyframes.length > 2) {\n        return keyframesTransition;\n    }\n    else if (transformProps.has(valueKey)) {\n        return valueKey.startsWith(\"scale\")\n            ? criticallyDampedSpring(keyframes[1])\n            : underDampedSpring;\n    }\n    return ease;\n};\n\nexport { getDefaultTransition };\n//# sourceMappingURL=default-transitions.mjs.map\n","const isNotNull = (value) => value !== null;\nfunction getFinalKeyframe(keyframes, { repeat, repeatType = \"loop\" }, finalKeyframe) {\n    const resolvedKeyframes = keyframes.filter(isNotNull);\n    const index = repeat && repeatType !== \"loop\" && repeat % 2 === 1\n        ? 0\n        : resolvedKeyframes.length - 1;\n    return !index || finalKeyframe === undefined\n        ? resolvedKeyframes[index]\n        : finalKeyframe;\n}\n\nexport { getFinalKeyframe };\n//# sourceMappingURL=get-final-keyframe.mjs.map\n","import { resolveTransition } from './resolve-transition.mjs';\n\nfunction getValueTransition(transition, key) {\n    const valueTransition = transition?.[key] ??\n        transition?.[\"default\"] ??\n        transition;\n    if (valueTransition !== transition) {\n        return resolveTransition(valueTransition, transition);\n    }\n    return valueTransition;\n}\n\nexport { getValueTransition };\n//# sourceMappingURL=get-value-transition.mjs.map\n","import { complex } from '../../value/types/complex/index.mjs';\n\n/**\n * Check if a value is animatable. Examples:\n *\n * ✅: 100, \"100px\", \"#fff\"\n * ❌: \"block\", \"url(2.jpg)\"\n * @param value\n *\n * @internal\n */\nconst isAnimatable = (value, name) => {\n    // If the list of keys that might be non-animatable grows, replace with Set\n    if (name === \"zIndex\")\n        return false;\n    // If it's a number or a keyframes array, we can animate it. We might at some point\n    // need to do a deep isAnimatable check of keyframes, or let Popmotion handle this,\n    // but for now lets leave it like this for performance reasons\n    if (typeof value === \"number\" || Array.isArray(value))\n        return true;\n    if (typeof value === \"string\" && // It's animatable if we have a string\n        (complex.test(value) || value === \"0\") && // And it contains numbers and/or colors\n        !value.startsWith(\"url(\") // Unless it starts with \"url(\"\n    ) {\n        return true;\n    }\n    return false;\n};\n\nexport { isAnimatable };\n//# sourceMappingURL=is-animatable.mjs.map\n","const checkStringStartsWith = (token) => (key) => typeof key === \"string\" && key.startsWith(token);\nconst isCSSVariableName = \n/*@__PURE__*/ checkStringStartsWith(\"--\");\nconst startsAsVariableToken = \n/*@__PURE__*/ checkStringStartsWith(\"var(--\");\nconst isCSSVariableToken = (value) => {\n    const startsWithToken = startsAsVariableToken(value);\n    if (!startsWithToken)\n        return false;\n    // Ensure any comments are stripped from the value as this can harm performance of the regex.\n    return singleCssVariableRegex.test(value.split(\"/*\")[0].trim());\n};\nconst singleCssVariableRegex = /var\\(--(?:[\\w-]+\\s*|[\\w-]+\\s*,(?:\\s*[^)(\\s]|\\s*\\((?:[^)(]|\\([^)(]*\\))*\\))+\\s*)\\)$/iu;\n/**\n * Check if a value contains a CSS variable anywhere (e.g. inside calc()).\n * Unlike isCSSVariableToken which checks if the value IS a var() token,\n * this checks if the value CONTAINS var() somewhere in the string.\n */\nfunction containsCSSVariable(value) {\n    if (typeof value !== \"string\")\n        return false;\n    // Strip comments to avoid false positives\n    return value.split(\"/*\")[0].includes(\"var(--\");\n}\n\nexport { containsCSSVariable, isCSSVariableName, isCSSVariableToken };\n//# sourceMappingURL=is-css-variable.mjs.map\n","/**\n * Decide whether a transition is defined on a given Transition.\n * This filters out orchestration options and returns true\n * if any options are left.\n */\nfunction isTransitionDefined({ when, delay: _delay, delayChildren, staggerChildren, staggerDirection, repeat, repeatType, repeatDelay, from, elapsed, ...transition }) {\n    return !!Object.keys(transition).length;\n}\n\nexport { isTransitionDefined };\n//# sourceMappingURL=is-transition-defined.mjs.map\n","function makeAnimationInstant(options) {\n    options.duration = 0;\n    options.type = \"keyframes\";\n}\n\nexport { makeAnimationInstant };\n//# sourceMappingURL=make-animation-instant.mjs.map\n","import { inertia } from '../generators/inertia.mjs';\nimport { keyframes } from '../generators/keyframes.mjs';\nimport { spring } from '../generators/spring/index.mjs';\n\nconst transitionTypeMap = {\n    decay: inertia,\n    inertia,\n    tween: keyframes,\n    keyframes: keyframes,\n    spring,\n};\nfunction replaceTransitionType(transition) {\n    if (typeof transition.type === \"string\") {\n        transition.type = transitionTypeMap[transition.type];\n    }\n}\n\nexport { replaceTransitionType };\n//# sourceMappingURL=replace-transition-type.mjs.map\n","/**\n * If `transition` has `inherit: true`, shallow-merge it with\n * `parentTransition` (child keys win) and strip the `inherit` key.\n * Otherwise return `transition` unchanged.\n */\nfunction resolveTransition(transition, parentTransition) {\n    if (transition?.inherit && parentTransition) {\n        const { inherit: _, ...rest } = transition;\n        return { ...parentTransition, ...rest };\n    }\n    return transition;\n}\n\nexport { resolveTransition };\n//# sourceMappingURL=resolve-transition.mjs.map\n","const cubicBezierAsString = ([a, b, c, d]) => `cubic-bezier(${a}, ${b}, ${c}, ${d})`;\n\nexport { cubicBezierAsString };\n//# sourceMappingURL=cubic-bezier.mjs.map\n","import { isBezierDefinition } from 'motion-utils';\nimport { supportsLinearEasing } from '../../../utils/supports/linear-easing.mjs';\nimport { generateLinearEasing } from '../utils/linear.mjs';\nimport { cubicBezierAsString } from './cubic-bezier.mjs';\nimport { supportedWaapiEasing } from './supported.mjs';\n\nfunction mapEasingToNativeEasing(easing, duration) {\n    if (!easing) {\n        return undefined;\n    }\n    else if (typeof easing === \"function\") {\n        return supportsLinearEasing()\n            ? generateLinearEasing(easing, duration)\n            : \"ease-out\";\n    }\n    else if (isBezierDefinition(easing)) {\n        return cubicBezierAsString(easing);\n    }\n    else if (Array.isArray(easing)) {\n        return easing.map((segmentEasing) => mapEasingToNativeEasing(segmentEasing, duration) ||\n            supportedWaapiEasing.easeOut);\n    }\n    else {\n        return supportedWaapiEasing[easing];\n    }\n}\n\nexport { mapEasingToNativeEasing };\n//# sourceMappingURL=map-easing.mjs.map\n","import { cubicBezierAsString } from './cubic-bezier.mjs';\n\nconst supportedWaapiEasing = {\n    linear: \"linear\",\n    ease: \"ease\",\n    easeIn: \"ease-in\",\n    easeOut: \"ease-out\",\n    easeInOut: \"ease-in-out\",\n    circIn: /*@__PURE__*/ cubicBezierAsString([0, 0.65, 0.55, 1]),\n    circOut: /*@__PURE__*/ cubicBezierAsString([0.55, 0, 1, 0.45]),\n    backIn: /*@__PURE__*/ cubicBezierAsString([0.31, 0.01, 0.66, -0.59]),\n    backOut: /*@__PURE__*/ cubicBezierAsString([0.33, 1.53, 0.69, 0.99]),\n};\n\nexport { supportedWaapiEasing };\n//# sourceMappingURL=supported.mjs.map\n","import { activeAnimations } from '../../stats/animation-count.mjs';\nimport { statsBuffer } from '../../stats/buffer.mjs';\nimport { mapEasingToNativeEasing } from './easing/map-easing.mjs';\n\nfunction startWaapiAnimation(element, valueName, keyframes, { delay = 0, duration = 300, repeat = 0, repeatType = \"loop\", ease = \"easeOut\", times, } = {}, pseudoElement = undefined) {\n    const keyframeOptions = {\n        [valueName]: keyframes,\n    };\n    if (times)\n        keyframeOptions.offset = times;\n    const easing = mapEasingToNativeEasing(ease, duration);\n    /**\n     * If this is an easing array, apply to keyframes, not animation as a whole\n     */\n    if (Array.isArray(easing))\n        keyframeOptions.easing = easing;\n    if (statsBuffer.value) {\n        activeAnimations.waapi++;\n    }\n    const options = {\n        delay,\n        duration,\n        easing: !Array.isArray(easing) ? easing : \"linear\",\n        fill: \"both\",\n        iterations: repeat + 1,\n        direction: repeatType === \"reverse\" ? \"alternate\" : \"normal\",\n    };\n    if (pseudoElement)\n        options.pseudoElement = pseudoElement;\n    const animation = element.animate(keyframeOptions, options);\n    if (statsBuffer.value) {\n        animation.finished.finally(() => {\n            activeAnimations.waapi--;\n        });\n    }\n    return animation;\n}\n\nexport { startWaapiAnimation };\n//# sourceMappingURL=start-waapi-animation.mjs.map\n","import { memo } from 'motion-utils';\n\n/**\n * A list of values that can be hardware-accelerated.\n */\nconst acceleratedValues = new Set([\n    \"opacity\",\n    \"clipPath\",\n    \"filter\",\n    \"transform\",\n    // TODO: Could be re-enabled now we have support for linear() easing\n    // \"background-color\"\n]);\nconst supportsWaapi = /*@__PURE__*/ memo(() => Object.hasOwnProperty.call(Element.prototype, \"animate\"));\nfunction supportsBrowserAnimation(options) {\n    const { motionValue, name, repeatDelay, repeatType, damping, type } = options;\n    const subject = motionValue?.owner?.current;\n    /**\n     * We use this check instead of isHTMLElement() because we explicitly\n     * **don't** want elements in different timing contexts (i.e. popups)\n     * to be accelerated, as it's not possible to sync these animations\n     * properly with those driven from the main window frameloop.\n     */\n    if (!(subject instanceof HTMLElement)) {\n        return false;\n    }\n    const { onUpdate, transformTemplate } = motionValue.owner.getProps();\n    return (supportsWaapi() &&\n        name &&\n        acceleratedValues.has(name) &&\n        (name !== \"transform\" || !transformTemplate) &&\n        /**\n         * If we're outputting values to onUpdate then we can't use WAAPI as there's\n         * no way to read the value from WAAPI every frame.\n         */\n        !onUpdate &&\n        !repeatDelay &&\n        repeatType !== \"mirror\" &&\n        damping !== 0 &&\n        type !== \"inertia\");\n}\n\nexport { supportsBrowserAnimation };\n//# sourceMappingURL=waapi.mjs.map\n","/**\n * A list of values that can be hardware-accelerated.\n */\nconst acceleratedValues = new Set([\n    \"opacity\",\n    \"clipPath\",\n    \"filter\",\n    \"transform\",\n    // TODO: Can be accelerated but currently disabled until https://issues.chromium.org/issues/41491098 is resolved\n    // or until we implement support for linear() easing.\n    // \"background-color\"\n]);\n\nexport { acceleratedValues };\n//# sourceMappingURL=accelerated-values.mjs.map\n","import { supportsLinearEasing } from '../../../utils/supports/linear-easing.mjs';\nimport { isGenerator } from '../../generators/utils/is-generator.mjs';\n\nfunction applyGeneratorOptions({ type, ...options }) {\n    if (isGenerator(type) && supportsLinearEasing()) {\n        return type.applyToOptions(options);\n    }\n    else {\n        options.duration ?? (options.duration = 300);\n        options.ease ?? (options.ease = \"easeOut\");\n    }\n    return options;\n}\n\nexport { applyGeneratorOptions };\n//# sourceMappingURL=apply-generator.mjs.map\n","const generateLinearEasing = (easing, duration, // as milliseconds\nresolution = 10 // as milliseconds\n) => {\n    let points = \"\";\n    const numPoints = Math.max(Math.round(duration / resolution), 2);\n    for (let i = 0; i < numPoints; i++) {\n        points += Math.round(easing(i / (numPoints - 1)) * 10000) / 10000 + \", \";\n    }\n    return `linear(${points.substring(0, points.length - 2)})`;\n};\n\nexport { generateLinearEasing };\n//# sourceMappingURL=linear.mjs.map\n","import { anticipate, backInOut, circInOut } from 'motion-utils';\n\nconst unsupportedEasingFunctions = {\n    anticipate,\n    backInOut,\n    circInOut,\n};\nfunction isUnsupportedEase(key) {\n    return key in unsupportedEasingFunctions;\n}\nfunction replaceStringEasing(transition) {\n    if (typeof transition.ease === \"string\" &&\n        isUnsupportedEase(transition.ease)) {\n        transition.ease = unsupportedEasingFunctions[transition.ease];\n    }\n}\n\nexport { replaceStringEasing };\n//# sourceMappingURL=unsupported-easing.mjs.map\n","function addDomEvent(target, eventName, handler, options = { passive: true }) {\n    target.addEventListener(eventName, handler, options);\n    return () => target.removeEventListener(eventName, handler);\n}\n\nexport { addDomEvent };\n//# sourceMappingURL=add-dom-event.mjs.map\n","import { MotionGlobalConfig } from 'motion-utils';\nimport { stepsOrder } from './order.mjs';\nimport { createRenderStep } from './render-step.mjs';\n\nconst maxElapsed = 40;\nfunction createRenderBatcher(scheduleNextBatch, allowKeepAlive) {\n    let runNextFrame = false;\n    let useDefaultElapsed = true;\n    const state = {\n        delta: 0.0,\n        timestamp: 0.0,\n        isProcessing: false,\n    };\n    const flagRunNextFrame = () => (runNextFrame = true);\n    const steps = stepsOrder.reduce((acc, key) => {\n        acc[key] = createRenderStep(flagRunNextFrame, allowKeepAlive ? key : undefined);\n        return acc;\n    }, {});\n    const { setup, read, resolveKeyframes, preUpdate, update, preRender, render, postRender, } = steps;\n    const processBatch = () => {\n        const timestamp = MotionGlobalConfig.useManualTiming\n            ? state.timestamp\n            : performance.now();\n        runNextFrame = false;\n        if (!MotionGlobalConfig.useManualTiming) {\n            state.delta = useDefaultElapsed\n                ? 1000 / 60\n                : Math.max(Math.min(timestamp - state.timestamp, maxElapsed), 1);\n        }\n        state.timestamp = timestamp;\n        state.isProcessing = true;\n        // Unrolled render loop for better per-frame performance\n        setup.process(state);\n        read.process(state);\n        resolveKeyframes.process(state);\n        preUpdate.process(state);\n        update.process(state);\n        preRender.process(state);\n        render.process(state);\n        postRender.process(state);\n        state.isProcessing = false;\n        if (runNextFrame && allowKeepAlive) {\n            useDefaultElapsed = false;\n            scheduleNextBatch(processBatch);\n        }\n    };\n    const wake = () => {\n        runNextFrame = true;\n        useDefaultElapsed = true;\n        if (!state.isProcessing) {\n            scheduleNextBatch(processBatch);\n        }\n    };\n    const schedule = stepsOrder.reduce((acc, key) => {\n        const step = steps[key];\n        acc[key] = (process, keepAlive = false, immediate = false) => {\n            if (!runNextFrame)\n                wake();\n            return step.schedule(process, keepAlive, immediate);\n        };\n        return acc;\n    }, {});\n    const cancel = (process) => {\n        for (let i = 0; i < stepsOrder.length; i++) {\n            steps[stepsOrder[i]].cancel(process);\n        }\n    };\n    return { schedule, cancel, state, steps };\n}\n\nexport { createRenderBatcher };\n//# sourceMappingURL=batcher.mjs.map\n","import { noop } from 'motion-utils';\nimport { createRenderBatcher } from './batcher.mjs';\n\nconst { schedule: frame, cancel: cancelFrame, state: frameData, steps: frameSteps, } = /* @__PURE__ */ createRenderBatcher(typeof requestAnimationFrame !== \"undefined\" ? requestAnimationFrame : noop, true);\n\nexport { cancelFrame, frame, frameData, frameSteps };\n//# sourceMappingURL=frame.mjs.map\n","import { createRenderBatcher } from './batcher.mjs';\n\nconst { schedule: microtask, cancel: cancelMicrotask } = \n/* @__PURE__ */ createRenderBatcher(queueMicrotask, false);\n\nexport { cancelMicrotask, microtask };\n//# sourceMappingURL=microtask.mjs.map\n","const stepsOrder = [\n    \"setup\", // Compute\n    \"read\", // Read\n    \"resolveKeyframes\", // Write/Read/Write/Read\n    \"preUpdate\", // Compute\n    \"update\", // Compute\n    \"preRender\", // Compute\n    \"render\", // Write\n    \"postRender\", // Compute\n];\n\nexport { stepsOrder };\n//# sourceMappingURL=order.mjs.map\n","import { statsBuffer } from '../stats/buffer.mjs';\n\nfunction createRenderStep(runNextFrame, stepName) {\n    /**\n     * We create and reuse two queues, one to queue jobs for the current frame\n     * and one for the next. We reuse to avoid triggering GC after x frames.\n     */\n    let thisFrame = new Set();\n    let nextFrame = new Set();\n    /**\n     * Track whether we're currently processing jobs in this step. This way\n     * we can decide whether to schedule new jobs for this frame or next.\n     */\n    let isProcessing = false;\n    let flushNextFrame = false;\n    /**\n     * A set of processes which were marked keepAlive when scheduled.\n     */\n    const toKeepAlive = new WeakSet();\n    let latestFrameData = {\n        delta: 0.0,\n        timestamp: 0.0,\n        isProcessing: false,\n    };\n    let numCalls = 0;\n    function triggerCallback(callback) {\n        if (toKeepAlive.has(callback)) {\n            step.schedule(callback);\n            runNextFrame();\n        }\n        numCalls++;\n        callback(latestFrameData);\n    }\n    const step = {\n        /**\n         * Schedule a process to run on the next frame.\n         */\n        schedule: (callback, keepAlive = false, immediate = false) => {\n            const addToCurrentFrame = immediate && isProcessing;\n            const queue = addToCurrentFrame ? thisFrame : nextFrame;\n            if (keepAlive)\n                toKeepAlive.add(callback);\n            if (!queue.has(callback))\n                queue.add(callback);\n            return callback;\n        },\n        /**\n         * Cancel the provided callback from running on the next frame.\n         */\n        cancel: (callback) => {\n            nextFrame.delete(callback);\n            toKeepAlive.delete(callback);\n        },\n        /**\n         * Execute all schedule callbacks.\n         */\n        process: (frameData) => {\n            latestFrameData = frameData;\n            /**\n             * If we're already processing we've probably been triggered by a flushSync\n             * inside an existing process. Instead of executing, mark flushNextFrame\n             * as true and ensure we flush the following frame at the end of this one.\n             */\n            if (isProcessing) {\n                flushNextFrame = true;\n                return;\n            }\n            isProcessing = true;\n            [thisFrame, nextFrame] = [nextFrame, thisFrame];\n            // Execute this frame\n            thisFrame.forEach(triggerCallback);\n            /**\n             * If we're recording stats then\n             */\n            if (stepName && statsBuffer.value) {\n                statsBuffer.value.frameloop[stepName].push(numCalls);\n            }\n            numCalls = 0;\n            // Clear the frame so no callbacks remain. This is to avoid\n            // memory leaks should this render step not run for a while.\n            thisFrame.clear();\n            isProcessing = false;\n            if (flushNextFrame) {\n                flushNextFrame = false;\n                step.process(frameData);\n            }\n        },\n    };\n    return step;\n}\n\nexport { createRenderStep };\n//# sourceMappingURL=render-step.mjs.map\n","import { MotionGlobalConfig } from 'motion-utils';\nimport { frameData } from './frame.mjs';\n\nlet now;\nfunction clearTime() {\n    now = undefined;\n}\n/**\n * An eventloop-synchronous alternative to performance.now().\n *\n * Ensures that time measurements remain consistent within a synchronous context.\n * Usually calling performance.now() twice within the same synchronous context\n * will return different values which isn't useful for animations when we're usually\n * trying to sync animations to the same frame.\n */\nconst time = {\n    now: () => {\n        if (now === undefined) {\n            time.set(frameData.isProcessing || MotionGlobalConfig.useManualTiming\n                ? frameData.timestamp\n                : performance.now());\n        }\n        return now;\n    },\n    set: (newTime) => {\n        now = newTime;\n        queueMicrotask(clearTime);\n    },\n};\n\nexport { time };\n//# sourceMappingURL=sync-time.mjs.map\n","const isDragging = {\n    x: false,\n    y: false,\n};\nfunction isDragActive() {\n    return isDragging.x || isDragging.y;\n}\n\nexport { isDragActive, isDragging };\n//# sourceMappingURL=is-active.mjs.map\n","import { isDragging } from './is-active.mjs';\n\nfunction setDragLock(axis) {\n    if (axis === \"x\" || axis === \"y\") {\n        if (isDragging[axis]) {\n            return null;\n        }\n        else {\n            isDragging[axis] = true;\n            return () => {\n                isDragging[axis] = false;\n            };\n        }\n    }\n    else {\n        if (isDragging.x || isDragging.y) {\n            return null;\n        }\n        else {\n            isDragging.x = isDragging.y = true;\n            return () => {\n                isDragging.x = isDragging.y = false;\n            };\n        }\n    }\n}\n\nexport { setDragLock };\n//# sourceMappingURL=set-active.mjs.map\n","import { isDragActive } from './drag/state/is-active.mjs';\nimport { setupGesture } from './utils/setup.mjs';\n\nfunction isValidHover(event) {\n    return !(event.pointerType === \"touch\" || isDragActive());\n}\n/**\n * Create a hover gesture. hover() is different to .addEventListener(\"pointerenter\")\n * in that it has an easier syntax, filters out polyfilled touch events, interoperates\n * with drag gestures, and automatically removes the \"pointerennd\" event listener when the hover ends.\n *\n * @public\n */\nfunction hover(elementOrSelector, onHoverStart, options = {}) {\n    const [elements, eventOptions, cancel] = setupGesture(elementOrSelector, options);\n    elements.forEach((element) => {\n        let isPressed = false;\n        let deferredHoverEnd = false;\n        let hoverEndCallback;\n        const removePointerLeave = () => {\n            element.removeEventListener(\"pointerleave\", onPointerLeave);\n        };\n        const endHover = (event) => {\n            if (hoverEndCallback) {\n                hoverEndCallback(event);\n                hoverEndCallback = undefined;\n            }\n            removePointerLeave();\n        };\n        const onPointerUp = (event) => {\n            isPressed = false;\n            window.removeEventListener(\"pointerup\", onPointerUp);\n            window.removeEventListener(\"pointercancel\", onPointerUp);\n            if (deferredHoverEnd) {\n                deferredHoverEnd = false;\n                endHover(event);\n            }\n        };\n        const onPointerDown = () => {\n            isPressed = true;\n            window.addEventListener(\"pointerup\", onPointerUp, eventOptions);\n            window.addEventListener(\"pointercancel\", onPointerUp, eventOptions);\n        };\n        const onPointerLeave = (leaveEvent) => {\n            if (leaveEvent.pointerType === \"touch\")\n                return;\n            if (isPressed) {\n                deferredHoverEnd = true;\n                return;\n            }\n            endHover(leaveEvent);\n        };\n        const onPointerEnter = (enterEvent) => {\n            if (!isValidHover(enterEvent))\n                return;\n            deferredHoverEnd = false;\n            const onHoverEnd = onHoverStart(element, enterEvent);\n            if (typeof onHoverEnd !== \"function\")\n                return;\n            hoverEndCallback = onHoverEnd;\n            element.addEventListener(\"pointerleave\", onPointerLeave, eventOptions);\n        };\n        element.addEventListener(\"pointerenter\", onPointerEnter, eventOptions);\n        element.addEventListener(\"pointerdown\", onPointerDown, eventOptions);\n    });\n    return cancel;\n}\n\nexport { hover };\n//# sourceMappingURL=hover.mjs.map\n","import { isHTMLElement } from '../../utils/is-html-element.mjs';\nimport { isDragActive } from '../drag/state/is-active.mjs';\nimport { isNodeOrChild } from '../utils/is-node-or-child.mjs';\nimport { isPrimaryPointer } from '../utils/is-primary-pointer.mjs';\nimport { setupGesture } from '../utils/setup.mjs';\nimport { isElementKeyboardAccessible } from './utils/is-keyboard-accessible.mjs';\nimport { enableKeyboardPress } from './utils/keyboard.mjs';\nimport { isPressing } from './utils/state.mjs';\n\n/**\n * Filter out events that are not primary pointer events, or are triggering\n * while a Motion gesture is active.\n */\nfunction isValidPressEvent(event) {\n    return isPrimaryPointer(event) && !isDragActive();\n}\nconst claimedPointerDownEvents = new WeakSet();\n/**\n * Create a press gesture.\n *\n * Press is different to `\"pointerdown\"`, `\"pointerup\"` in that it\n * automatically filters out secondary pointer events like right\n * click and multitouch.\n *\n * It also adds accessibility support for keyboards, where\n * an element with a press gesture will receive focus and\n *  trigger on Enter `\"keydown\"` and `\"keyup\"` events.\n *\n * This is different to a browser's `\"click\"` event, which does\n * respond to keyboards but only for the `\"click\"` itself, rather\n * than the press start and end/cancel. The element also needs\n * to be focusable for this to work, whereas a press gesture will\n * make an element focusable by default.\n *\n * @public\n */\nfunction press(targetOrSelector, onPressStart, options = {}) {\n    const [targets, eventOptions, cancelEvents] = setupGesture(targetOrSelector, options);\n    const startPress = (startEvent) => {\n        const target = startEvent.currentTarget;\n        if (!isValidPressEvent(startEvent))\n            return;\n        if (claimedPointerDownEvents.has(startEvent))\n            return;\n        isPressing.add(target);\n        if (options.stopPropagation) {\n            claimedPointerDownEvents.add(startEvent);\n        }\n        const onPressEnd = onPressStart(target, startEvent);\n        const onPointerEnd = (endEvent, success) => {\n            window.removeEventListener(\"pointerup\", onPointerUp);\n            window.removeEventListener(\"pointercancel\", onPointerCancel);\n            if (isPressing.has(target)) {\n                isPressing.delete(target);\n            }\n            if (!isValidPressEvent(endEvent)) {\n                return;\n            }\n            if (typeof onPressEnd === \"function\") {\n                onPressEnd(endEvent, { success });\n            }\n        };\n        const onPointerUp = (upEvent) => {\n            onPointerEnd(upEvent, target === window ||\n                target === document ||\n                options.useGlobalTarget ||\n                isNodeOrChild(target, upEvent.target));\n        };\n        const onPointerCancel = (cancelEvent) => {\n            onPointerEnd(cancelEvent, false);\n        };\n        window.addEventListener(\"pointerup\", onPointerUp, eventOptions);\n        window.addEventListener(\"pointercancel\", onPointerCancel, eventOptions);\n    };\n    targets.forEach((target) => {\n        const pointerDownTarget = options.useGlobalTarget ? window : target;\n        pointerDownTarget.addEventListener(\"pointerdown\", startPress, eventOptions);\n        if (isHTMLElement(target)) {\n            target.addEventListener(\"focus\", (event) => enableKeyboardPress(event, eventOptions));\n            if (!isElementKeyboardAccessible(target) &&\n                !target.hasAttribute(\"tabindex\")) {\n                target.tabIndex = 0;\n            }\n        }\n    });\n    return cancelEvents;\n}\n\nexport { press };\n//# sourceMappingURL=index.mjs.map\n","const keyboardAccessibleElements = new Set([\n    \"BUTTON\",\n    \"INPUT\",\n    \"SELECT\",\n    \"TEXTAREA\",\n    \"A\",\n]);\n/**\n * Checks if an element is natively keyboard accessible (focusable).\n * Used by the press gesture to determine if we need to add tabIndex.\n */\nfunction isElementKeyboardAccessible(element) {\n    return (keyboardAccessibleElements.has(element.tagName) ||\n        element.isContentEditable === true);\n}\nconst textInputElements = new Set([\"INPUT\", \"SELECT\", \"TEXTAREA\"]);\n/**\n * Checks if an element has text selection or direct interaction behavior\n * that should block drag gestures from starting.\n *\n * This specifically targets form controls where the user might want to select\n * text or interact with the control (e.g., sliders, dropdowns).\n *\n * Buttons and links are NOT included because they don't have click-and-move\n * actions of their own - they only respond to click events, so dragging\n * should still work when initiated from these elements.\n */\nfunction isElementTextInput(element) {\n    return (textInputElements.has(element.tagName) ||\n        element.isContentEditable === true);\n}\n\nexport { isElementKeyboardAccessible, isElementTextInput };\n//# sourceMappingURL=is-keyboard-accessible.mjs.map\n","import { isPressing } from './state.mjs';\n\n/**\n * Filter out events that are not \"Enter\" keys.\n */\nfunction filterEvents(callback) {\n    return (event) => {\n        if (event.key !== \"Enter\")\n            return;\n        callback(event);\n    };\n}\nfunction firePointerEvent(target, type) {\n    target.dispatchEvent(new PointerEvent(\"pointer\" + type, { isPrimary: true, bubbles: true }));\n}\nconst enableKeyboardPress = (focusEvent, eventOptions) => {\n    const element = focusEvent.currentTarget;\n    if (!element)\n        return;\n    const handleKeydown = filterEvents(() => {\n        if (isPressing.has(element))\n            return;\n        firePointerEvent(element, \"down\");\n        const handleKeyup = filterEvents(() => {\n            firePointerEvent(element, \"up\");\n        });\n        const handleBlur = () => firePointerEvent(element, \"cancel\");\n        element.addEventListener(\"keyup\", handleKeyup, eventOptions);\n        element.addEventListener(\"blur\", handleBlur, eventOptions);\n    });\n    element.addEventListener(\"keydown\", handleKeydown, eventOptions);\n    /**\n     * Add an event listener that fires on blur to remove the keydown events.\n     */\n    element.addEventListener(\"blur\", () => element.removeEventListener(\"keydown\", handleKeydown), eventOptions);\n};\n\nexport { enableKeyboardPress };\n//# sourceMappingURL=keyboard.mjs.map\n","const isPressing = new WeakSet();\n\nexport { isPressing };\n//# sourceMappingURL=state.mjs.map\n","/**\n * Recursively traverse up the tree to check whether the provided child node\n * is the parent or a descendant of it.\n *\n * @param parent - Element to find\n * @param child - Element to test against parent\n */\nconst isNodeOrChild = (parent, child) => {\n    if (!child) {\n        return false;\n    }\n    else if (parent === child) {\n        return true;\n    }\n    else {\n        return isNodeOrChild(parent, child.parentElement);\n    }\n};\n\nexport { isNodeOrChild };\n//# sourceMappingURL=is-node-or-child.mjs.map\n","const isPrimaryPointer = (event) => {\n    if (event.pointerType === \"mouse\") {\n        return typeof event.button !== \"number\" || event.button <= 0;\n    }\n    else {\n        /**\n         * isPrimary is true for all mice buttons, whereas every touch point\n         * is regarded as its own input. So subsequent concurrent touch points\n         * will be false.\n         *\n         * Specifically match against false here as incomplete versions of\n         * PointerEvents in very old browser might have it set as undefined.\n         */\n        return event.isPrimary !== false;\n    }\n};\n\nexport { isPrimaryPointer };\n//# sourceMappingURL=is-primary-pointer.mjs.map\n","import { resolveElements } from '../../utils/resolve-elements.mjs';\n\nfunction setupGesture(elementOrSelector, options) {\n    const elements = resolveElements(elementOrSelector);\n    const gestureAbortController = new AbortController();\n    const eventOptions = {\n        passive: true,\n        ...options,\n        signal: gestureAbortController.signal,\n    };\n    const cancel = () => gestureAbortController.abort();\n    return [elements, eventOptions, cancel];\n}\n\nexport { setupGesture };\n//# sourceMappingURL=setup.mjs.map\n","import { mixNumber } from '../../utils/mix/number.mjs';\nimport { percent, px } from '../../value/types/numbers/units.mjs';\nimport { progress, circOut, noop } from 'motion-utils';\n\nconst borders = [\"TopLeft\", \"TopRight\", \"BottomLeft\", \"BottomRight\"];\nconst numBorders = borders.length;\nconst asNumber = (value) => typeof value === \"string\" ? parseFloat(value) : value;\nconst isPx = (value) => typeof value === \"number\" || px.test(value);\nfunction mixValues(target, follow, lead, progress, shouldCrossfadeOpacity, isOnlyMember) {\n    if (shouldCrossfadeOpacity) {\n        target.opacity = mixNumber(0, lead.opacity ?? 1, easeCrossfadeIn(progress));\n        target.opacityExit = mixNumber(follow.opacity ?? 1, 0, easeCrossfadeOut(progress));\n    }\n    else if (isOnlyMember) {\n        target.opacity = mixNumber(follow.opacity ?? 1, lead.opacity ?? 1, progress);\n    }\n    /**\n     * Mix border radius\n     */\n    for (let i = 0; i < numBorders; i++) {\n        const borderLabel = `border${borders[i]}Radius`;\n        let followRadius = getRadius(follow, borderLabel);\n        let leadRadius = getRadius(lead, borderLabel);\n        if (followRadius === undefined && leadRadius === undefined)\n            continue;\n        followRadius || (followRadius = 0);\n        leadRadius || (leadRadius = 0);\n        const canMix = followRadius === 0 ||\n            leadRadius === 0 ||\n            isPx(followRadius) === isPx(leadRadius);\n        if (canMix) {\n            target[borderLabel] = Math.max(mixNumber(asNumber(followRadius), asNumber(leadRadius), progress), 0);\n            if (percent.test(leadRadius) || percent.test(followRadius)) {\n                target[borderLabel] += \"%\";\n            }\n        }\n        else {\n            target[borderLabel] = leadRadius;\n        }\n    }\n    /**\n     * Mix rotation\n     */\n    if (follow.rotate || lead.rotate) {\n        target.rotate = mixNumber(follow.rotate || 0, lead.rotate || 0, progress);\n    }\n}\nfunction getRadius(values, radiusName) {\n    return values[radiusName] !== undefined\n        ? values[radiusName]\n        : values.borderRadius;\n}\nconst easeCrossfadeIn = /*@__PURE__*/ compress(0, 0.5, circOut);\nconst easeCrossfadeOut = /*@__PURE__*/ compress(0.5, 0.95, noop);\nfunction compress(min, max, easing) {\n    return (p) => {\n        // Could replace ifs with clamp\n        if (p < min)\n            return 0;\n        if (p > max)\n            return 1;\n        return easing(progress(min, max, p));\n    };\n}\n\nexport { mixValues };\n//# sourceMappingURL=mix-values.mjs.map\n","/**\n * Bounding boxes tend to be defined as top, left, right, bottom. For various operations\n * it's easier to consider each axis individually. This function returns a bounding box\n * as a map of single-axis min/max values.\n */\nfunction convertBoundingBoxToBox({ top, left, right, bottom, }) {\n    return {\n        x: { min: left, max: right },\n        y: { min: top, max: bottom },\n    };\n}\nfunction convertBoxToBoundingBox({ x, y }) {\n    return { top: y.min, right: x.max, bottom: y.max, left: x.min };\n}\n/**\n * Applies a TransformPoint function to a bounding box. TransformPoint is usually a function\n * provided by Framer to allow measured points to be corrected for device scaling. This is used\n * when measuring DOM elements and DOM event points.\n */\nfunction transformBoxPoints(point, transformPoint) {\n    if (!transformPoint)\n        return point;\n    const topLeft = transformPoint({ x: point.left, y: point.top });\n    const bottomRight = transformPoint({ x: point.right, y: point.bottom });\n    return {\n        top: topLeft.y,\n        left: topLeft.x,\n        bottom: bottomRight.y,\n        right: bottomRight.x,\n    };\n}\n\nexport { convertBoundingBoxToBox, convertBoxToBoundingBox, transformBoxPoints };\n//# sourceMappingURL=conversion.mjs.map\n","/**\n * Reset an axis to the provided origin box.\n *\n * This is a mutative operation.\n */\nfunction copyAxisInto(axis, originAxis) {\n    axis.min = originAxis.min;\n    axis.max = originAxis.max;\n}\n/**\n * Reset a box to the provided origin box.\n *\n * This is a mutative operation.\n */\nfunction copyBoxInto(box, originBox) {\n    copyAxisInto(box.x, originBox.x);\n    copyAxisInto(box.y, originBox.y);\n}\n/**\n * Reset a delta to the provided origin box.\n *\n * This is a mutative operation.\n */\nfunction copyAxisDeltaInto(delta, originDelta) {\n    delta.translate = originDelta.translate;\n    delta.scale = originDelta.scale;\n    delta.originPoint = originDelta.originPoint;\n    delta.origin = originDelta.origin;\n}\n\nexport { copyAxisDeltaInto, copyAxisInto, copyBoxInto };\n//# sourceMappingURL=copy.mjs.map\n","import { mixNumber } from '../../utils/mix/number.mjs';\nimport { hasTransform } from '../utils/has-transform.mjs';\n\n/**\n * Scales a point based on a factor and an originPoint\n */\nfunction scalePoint(point, scale, originPoint) {\n    const distanceFromOrigin = point - originPoint;\n    const scaled = scale * distanceFromOrigin;\n    return originPoint + scaled;\n}\n/**\n * Applies a translate/scale delta to a point\n */\nfunction applyPointDelta(point, translate, scale, originPoint, boxScale) {\n    if (boxScale !== undefined) {\n        point = scalePoint(point, boxScale, originPoint);\n    }\n    return scalePoint(point, scale, originPoint) + translate;\n}\n/**\n * Applies a translate/scale delta to an axis\n */\nfunction applyAxisDelta(axis, translate = 0, scale = 1, originPoint, boxScale) {\n    axis.min = applyPointDelta(axis.min, translate, scale, originPoint, boxScale);\n    axis.max = applyPointDelta(axis.max, translate, scale, originPoint, boxScale);\n}\n/**\n * Applies a translate/scale delta to a box\n */\nfunction applyBoxDelta(box, { x, y }) {\n    applyAxisDelta(box.x, x.translate, x.scale, x.originPoint);\n    applyAxisDelta(box.y, y.translate, y.scale, y.originPoint);\n}\nconst TREE_SCALE_SNAP_MIN = 0.999999999999;\nconst TREE_SCALE_SNAP_MAX = 1.0000000000001;\n/**\n * Apply a tree of deltas to a box. We do this to calculate the effect of all the transforms\n * in a tree upon our box before then calculating how to project it into our desired viewport-relative box\n *\n * This is the final nested loop within updateLayoutDelta for future refactoring\n */\nfunction applyTreeDeltas(box, treeScale, treePath, isSharedTransition = false) {\n    const treeLength = treePath.length;\n    if (!treeLength)\n        return;\n    // Reset the treeScale\n    treeScale.x = treeScale.y = 1;\n    let node;\n    let delta;\n    for (let i = 0; i < treeLength; i++) {\n        node = treePath[i];\n        delta = node.projectionDelta;\n        /**\n         * TODO: Prefer to remove this, but currently we have motion components with\n         * display: contents in Framer.\n         */\n        const { visualElement } = node.options;\n        if (visualElement &&\n            visualElement.props.style &&\n            visualElement.props.style.display === \"contents\") {\n            continue;\n        }\n        if (isSharedTransition &&\n            node.options.layoutScroll &&\n            node.scroll &&\n            node !== node.root) {\n            transformBox(box, {\n                x: -node.scroll.offset.x,\n                y: -node.scroll.offset.y,\n            });\n        }\n        if (delta) {\n            // Incoporate each ancestor's scale into a cumulative treeScale for this component\n            treeScale.x *= delta.x.scale;\n            treeScale.y *= delta.y.scale;\n            // Apply each ancestor's calculated delta into this component's recorded layout box\n            applyBoxDelta(box, delta);\n        }\n        if (isSharedTransition && hasTransform(node.latestValues)) {\n            transformBox(box, node.latestValues);\n        }\n    }\n    /**\n     * Snap tree scale back to 1 if it's within a non-perceivable threshold.\n     * This will help reduce useless scales getting rendered.\n     */\n    if (treeScale.x < TREE_SCALE_SNAP_MAX &&\n        treeScale.x > TREE_SCALE_SNAP_MIN) {\n        treeScale.x = 1.0;\n    }\n    if (treeScale.y < TREE_SCALE_SNAP_MAX &&\n        treeScale.y > TREE_SCALE_SNAP_MIN) {\n        treeScale.y = 1.0;\n    }\n}\nfunction translateAxis(axis, distance) {\n    axis.min = axis.min + distance;\n    axis.max = axis.max + distance;\n}\n/**\n * Apply a transform to an axis from the latest resolved motion values.\n * This function basically acts as a bridge between a flat motion value map\n * and applyAxisDelta\n */\nfunction transformAxis(axis, axisTranslate, axisScale, boxScale, axisOrigin = 0.5) {\n    const originPoint = mixNumber(axis.min, axis.max, axisOrigin);\n    // Apply the axis delta to the final axis\n    applyAxisDelta(axis, axisTranslate, axisScale, originPoint, boxScale);\n}\n/**\n * Apply a transform to a box from the latest resolved motion values.\n */\nfunction transformBox(box, transform) {\n    transformAxis(box.x, transform.x, transform.scaleX, transform.scale, transform.originX);\n    transformAxis(box.y, transform.y, transform.scaleY, transform.scale, transform.originY);\n}\n\nexport { applyAxisDelta, applyBoxDelta, applyPointDelta, applyTreeDeltas, scalePoint, transformAxis, transformBox, translateAxis };\n//# sourceMappingURL=delta-apply.mjs.map\n","import { mixNumber } from '../../utils/mix/number.mjs';\n\nconst SCALE_PRECISION = 0.0001;\nconst SCALE_MIN = 1 - SCALE_PRECISION;\nconst SCALE_MAX = 1 + SCALE_PRECISION;\nconst TRANSLATE_PRECISION = 0.01;\nconst TRANSLATE_MIN = 0 - TRANSLATE_PRECISION;\nconst TRANSLATE_MAX = 0 + TRANSLATE_PRECISION;\nfunction calcLength(axis) {\n    return axis.max - axis.min;\n}\nfunction isNear(value, target, maxDistance) {\n    return Math.abs(value - target) <= maxDistance;\n}\nfunction calcAxisDelta(delta, source, target, origin = 0.5) {\n    delta.origin = origin;\n    delta.originPoint = mixNumber(source.min, source.max, delta.origin);\n    delta.scale = calcLength(target) / calcLength(source);\n    delta.translate =\n        mixNumber(target.min, target.max, delta.origin) - delta.originPoint;\n    if ((delta.scale >= SCALE_MIN && delta.scale <= SCALE_MAX) ||\n        isNaN(delta.scale)) {\n        delta.scale = 1.0;\n    }\n    if ((delta.translate >= TRANSLATE_MIN &&\n        delta.translate <= TRANSLATE_MAX) ||\n        isNaN(delta.translate)) {\n        delta.translate = 0.0;\n    }\n}\nfunction calcBoxDelta(delta, source, target, origin) {\n    calcAxisDelta(delta.x, source.x, target.x, origin ? origin.originX : undefined);\n    calcAxisDelta(delta.y, source.y, target.y, origin ? origin.originY : undefined);\n}\nfunction calcRelativeAxis(target, relative, parent) {\n    target.min = parent.min + relative.min;\n    target.max = target.min + calcLength(relative);\n}\nfunction calcRelativeBox(target, relative, parent) {\n    calcRelativeAxis(target.x, relative.x, parent.x);\n    calcRelativeAxis(target.y, relative.y, parent.y);\n}\nfunction calcRelativeAxisPosition(target, layout, parent) {\n    target.min = layout.min - parent.min;\n    target.max = target.min + calcLength(layout);\n}\nfunction calcRelativePosition(target, layout, parent) {\n    calcRelativeAxisPosition(target.x, layout.x, parent.x);\n    calcRelativeAxisPosition(target.y, layout.y, parent.y);\n}\n\nexport { calcAxisDelta, calcBoxDelta, calcLength, calcRelativeAxis, calcRelativeAxisPosition, calcRelativeBox, calcRelativePosition, isNear };\n//# sourceMappingURL=delta-calc.mjs.map\n","import { mixNumber } from '../../utils/mix/number.mjs';\nimport { percent } from '../../value/types/numbers/units.mjs';\nimport { scalePoint } from './delta-apply.mjs';\n\n/**\n * Remove a delta from a point. This is essentially the steps of applyPointDelta in reverse\n */\nfunction removePointDelta(point, translate, scale, originPoint, boxScale) {\n    point -= translate;\n    point = scalePoint(point, 1 / scale, originPoint);\n    if (boxScale !== undefined) {\n        point = scalePoint(point, 1 / boxScale, originPoint);\n    }\n    return point;\n}\n/**\n * Remove a delta from an axis. This is essentially the steps of applyAxisDelta in reverse\n */\nfunction removeAxisDelta(axis, translate = 0, scale = 1, origin = 0.5, boxScale, originAxis = axis, sourceAxis = axis) {\n    if (percent.test(translate)) {\n        translate = parseFloat(translate);\n        const relativeProgress = mixNumber(sourceAxis.min, sourceAxis.max, translate / 100);\n        translate = relativeProgress - sourceAxis.min;\n    }\n    if (typeof translate !== \"number\")\n        return;\n    let originPoint = mixNumber(originAxis.min, originAxis.max, origin);\n    if (axis === originAxis)\n        originPoint -= translate;\n    axis.min = removePointDelta(axis.min, translate, scale, originPoint, boxScale);\n    axis.max = removePointDelta(axis.max, translate, scale, originPoint, boxScale);\n}\n/**\n * Remove a transforms from an axis. This is essentially the steps of applyAxisTransforms in reverse\n * and acts as a bridge between motion values and removeAxisDelta\n */\nfunction removeAxisTransforms(axis, transforms, [key, scaleKey, originKey], origin, sourceAxis) {\n    removeAxisDelta(axis, transforms[key], transforms[scaleKey], transforms[originKey], transforms.scale, origin, sourceAxis);\n}\n/**\n * The names of the motion values we want to apply as translation, scale and origin.\n */\nconst xKeys = [\"x\", \"scaleX\", \"originX\"];\nconst yKeys = [\"y\", \"scaleY\", \"originY\"];\n/**\n * Remove a transforms from an box. This is essentially the steps of applyAxisBox in reverse\n * and acts as a bridge between motion values and removeAxisDelta\n */\nfunction removeBoxTransforms(box, transforms, originBox, sourceBox) {\n    removeAxisTransforms(box.x, transforms, xKeys, originBox ? originBox.x : undefined, sourceBox ? sourceBox.x : undefined);\n    removeAxisTransforms(box.y, transforms, yKeys, originBox ? originBox.y : undefined, sourceBox ? sourceBox.y : undefined);\n}\n\nexport { removeAxisDelta, removeAxisTransforms, removeBoxTransforms, removePointDelta };\n//# sourceMappingURL=delta-remove.mjs.map\n","const createAxisDelta = () => ({\n    translate: 0,\n    scale: 1,\n    origin: 0,\n    originPoint: 0,\n});\nconst createDelta = () => ({\n    x: createAxisDelta(),\n    y: createAxisDelta(),\n});\nconst createAxis = () => ({ min: 0, max: 0 });\nconst createBox = () => ({\n    x: createAxis(),\n    y: createAxis(),\n});\n\nexport { createAxis, createAxisDelta, createBox, createDelta };\n//# sourceMappingURL=models.mjs.map\n","import { calcLength } from './delta-calc.mjs';\n\nfunction isAxisDeltaZero(delta) {\n    return delta.translate === 0 && delta.scale === 1;\n}\nfunction isDeltaZero(delta) {\n    return isAxisDeltaZero(delta.x) && isAxisDeltaZero(delta.y);\n}\nfunction axisEquals(a, b) {\n    return a.min === b.min && a.max === b.max;\n}\nfunction boxEquals(a, b) {\n    return axisEquals(a.x, b.x) && axisEquals(a.y, b.y);\n}\nfunction axisEqualsRounded(a, b) {\n    return (Math.round(a.min) === Math.round(b.min) &&\n        Math.round(a.max) === Math.round(b.max));\n}\nfunction boxEqualsRounded(a, b) {\n    return axisEqualsRounded(a.x, b.x) && axisEqualsRounded(a.y, b.y);\n}\nfunction aspectRatio(box) {\n    return calcLength(box.x) / calcLength(box.y);\n}\nfunction axisDeltaEquals(a, b) {\n    return (a.translate === b.translate &&\n        a.scale === b.scale &&\n        a.originPoint === b.originPoint);\n}\n\nexport { aspectRatio, axisDeltaEquals, axisEquals, axisEqualsRounded, boxEquals, boxEqualsRounded, isDeltaZero };\n//# sourceMappingURL=utils.mjs.map\n","import { addDomEvent } from '../../events/add-dom-event.mjs';\nimport { createProjectionNode } from './create-projection-node.mjs';\n\nconst DocumentProjectionNode = createProjectionNode({\n    attachResizeListener: (ref, notify) => addDomEvent(ref, \"resize\", notify),\n    measureScroll: () => ({\n        x: document.documentElement.scrollLeft || document.body?.scrollLeft || 0,\n        y: document.documentElement.scrollTop || document.body?.scrollTop || 0,\n    }),\n    checkIsScrollRoot: () => true,\n});\n\nexport { DocumentProjectionNode };\n//# sourceMappingURL=DocumentProjectionNode.mjs.map\n","import { createProjectionNode } from './create-projection-node.mjs';\nimport { DocumentProjectionNode } from './DocumentProjectionNode.mjs';\n\nconst rootProjectionNode = {\n    current: undefined,\n};\nconst HTMLProjectionNode = createProjectionNode({\n    measureScroll: (instance) => ({\n        x: instance.scrollLeft,\n        y: instance.scrollTop,\n    }),\n    defaultParent: () => {\n        if (!rootProjectionNode.current) {\n            const documentNode = new DocumentProjectionNode({});\n            documentNode.mount(window);\n            documentNode.setOptions({ layoutScroll: true });\n            rootProjectionNode.current = documentNode;\n        }\n        return rootProjectionNode.current;\n    },\n    resetTransform: (instance, value) => {\n        instance.style.transform = value !== undefined ? value : \"none\";\n    },\n    checkIsScrollRoot: (instance) => Boolean(window.getComputedStyle(instance).position === \"fixed\"),\n});\n\nexport { HTMLProjectionNode, rootProjectionNode };\n//# sourceMappingURL=HTMLProjectionNode.mjs.map\n","import { SubscriptionManager, clamp, noop } from 'motion-utils';\nimport { animateSingleValue } from '../../animation/animate/single-value.mjs';\nimport { getOptimisedAppearId } from '../../animation/optimized-appear/get-appear-id.mjs';\nimport { getValueTransition } from '../../animation/utils/get-value-transition.mjs';\nimport { microtask } from '../../frameloop/microtask.mjs';\nimport { time } from '../../frameloop/sync-time.mjs';\nimport { scaleCorrectors } from '../styles/scale-correction.mjs';\nimport { activeAnimations } from '../../stats/animation-count.mjs';\nimport { statsBuffer } from '../../stats/buffer.mjs';\nimport { delay } from '../../utils/delay.mjs';\nimport { isSVGElement } from '../../utils/is-svg-element.mjs';\nimport { isSVGSVGElement } from '../../utils/is-svg-svg-element.mjs';\nimport { mixNumber } from '../../utils/mix/number.mjs';\nimport { motionValue } from '../../value/index.mjs';\nimport { resolveMotionValue } from '../../value/utils/resolve-motion-value.mjs';\nimport { mixValues } from '../animation/mix-values.mjs';\nimport { copyBoxInto, copyAxisDeltaInto } from '../geometry/copy.mjs';\nimport { translateAxis, transformBox, applyBoxDelta, applyTreeDeltas } from '../geometry/delta-apply.mjs';\nimport { calcLength, calcRelativeBox, calcRelativePosition, calcBoxDelta, isNear } from '../geometry/delta-calc.mjs';\nimport { removeBoxTransforms } from '../geometry/delta-remove.mjs';\nimport { createBox, createDelta } from '../geometry/models.mjs';\nimport { boxEqualsRounded, isDeltaZero, axisDeltaEquals, aspectRatio, boxEquals } from '../geometry/utils.mjs';\nimport { NodeStack } from '../shared/stack.mjs';\nimport { buildProjectionTransform } from '../styles/transform.mjs';\nimport { eachAxis } from '../utils/each-axis.mjs';\nimport { FlatTree } from '../utils/flat-tree.mjs';\nimport { hasTransform, hasScale, has2DTranslate } from '../utils/has-transform.mjs';\nimport { globalProjectionState } from './state.mjs';\nimport { frame, cancelFrame, frameData, frameSteps } from '../../frameloop/frame.mjs';\n\nconst metrics = {\n    nodes: 0,\n    calculatedTargetDeltas: 0,\n    calculatedProjections: 0,\n};\nconst transformAxes = [\"\", \"X\", \"Y\", \"Z\"];\n/**\n * We use 1000 as the animation target as 0-1000 maps better to pixels than 0-1\n * which has a noticeable difference in spring animations\n */\nconst animationTarget = 1000;\nlet id = 0;\nfunction resetDistortingTransform(key, visualElement, values, sharedAnimationValues) {\n    const { latestValues } = visualElement;\n    // Record the distorting transform and then temporarily set it to 0\n    if (latestValues[key]) {\n        values[key] = latestValues[key];\n        visualElement.setStaticValue(key, 0);\n        if (sharedAnimationValues) {\n            sharedAnimationValues[key] = 0;\n        }\n    }\n}\nfunction cancelTreeOptimisedTransformAnimations(projectionNode) {\n    projectionNode.hasCheckedOptimisedAppear = true;\n    if (projectionNode.root === projectionNode)\n        return;\n    const { visualElement } = projectionNode.options;\n    if (!visualElement)\n        return;\n    const appearId = getOptimisedAppearId(visualElement);\n    if (window.MotionHasOptimisedAnimation(appearId, \"transform\")) {\n        const { layout, layoutId } = projectionNode.options;\n        window.MotionCancelOptimisedAnimation(appearId, \"transform\", frame, !(layout || layoutId));\n    }\n    const { parent } = projectionNode;\n    if (parent && !parent.hasCheckedOptimisedAppear) {\n        cancelTreeOptimisedTransformAnimations(parent);\n    }\n}\nfunction createProjectionNode({ attachResizeListener, defaultParent, measureScroll, checkIsScrollRoot, resetTransform, }) {\n    return class ProjectionNode {\n        constructor(latestValues = {}, parent = defaultParent?.()) {\n            /**\n             * A unique ID generated for every projection node.\n             */\n            this.id = id++;\n            /**\n             * An id that represents a unique session instigated by startUpdate.\n             */\n            this.animationId = 0;\n            this.animationCommitId = 0;\n            /**\n             * A Set containing all this component's children. This is used to iterate\n             * through the children.\n             *\n             * TODO: This could be faster to iterate as a flat array stored on the root node.\n             */\n            this.children = new Set();\n            /**\n             * Options for the node. We use this to configure what kind of layout animations\n             * we should perform (if any).\n             */\n            this.options = {};\n            /**\n             * We use this to detect when its safe to shut down part of a projection tree.\n             * We have to keep projecting children for scale correction and relative projection\n             * until all their parents stop performing layout animations.\n             */\n            this.isTreeAnimating = false;\n            this.isAnimationBlocked = false;\n            /**\n             * Flag to true if we think this layout has been changed. We can't always know this,\n             * currently we set it to true every time a component renders, or if it has a layoutDependency\n             * if that has changed between renders. Additionally, components can be grouped by LayoutGroup\n             * and if one node is dirtied, they all are.\n             */\n            this.isLayoutDirty = false;\n            /**\n             * Flag to true if we think the projection calculations for this node needs\n             * recalculating as a result of an updated transform or layout animation.\n             */\n            this.isProjectionDirty = false;\n            /**\n             * Flag to true if the layout *or* transform has changed. This then gets propagated\n             * throughout the projection tree, forcing any element below to recalculate on the next frame.\n             */\n            this.isSharedProjectionDirty = false;\n            /**\n             * Flag transform dirty. This gets propagated throughout the whole tree but is only\n             * respected by shared nodes.\n             */\n            this.isTransformDirty = false;\n            /**\n             * Block layout updates for instant layout transitions throughout the tree.\n             */\n            this.updateManuallyBlocked = false;\n            this.updateBlockedByResize = false;\n            /**\n             * Set to true between the start of the first `willUpdate` call and the end of the `didUpdate`\n             * call.\n             */\n            this.isUpdating = false;\n            /**\n             * If this is an SVG element we currently disable projection transforms\n             */\n            this.isSVG = false;\n            /**\n             * Flag to true (during promotion) if a node doing an instant layout transition needs to reset\n             * its projection styles.\n             */\n            this.needsReset = false;\n            /**\n             * Flags whether this node should have its transform reset prior to measuring.\n             */\n            this.shouldResetTransform = false;\n            /**\n             * Store whether this node has been checked for optimised appear animations. As\n             * effects fire bottom-up, and we want to look up the tree for appear animations,\n             * this makes sure we only check each path once, stopping at nodes that\n             * have already been checked.\n             */\n            this.hasCheckedOptimisedAppear = false;\n            /**\n             * An object representing the calculated contextual/accumulated/tree scale.\n             * This will be used to scale calculcated projection transforms, as these are\n             * calculated in screen-space but need to be scaled for elements to layoutly\n             * make it to their calculated destinations.\n             *\n             * TODO: Lazy-init\n             */\n            this.treeScale = { x: 1, y: 1 };\n            /**\n             *\n             */\n            this.eventHandlers = new Map();\n            this.hasTreeAnimated = false;\n            this.layoutVersion = 0;\n            // Note: Currently only running on root node\n            this.updateScheduled = false;\n            this.scheduleUpdate = () => this.update();\n            this.projectionUpdateScheduled = false;\n            this.checkUpdateFailed = () => {\n                if (this.isUpdating) {\n                    this.isUpdating = false;\n                    this.clearAllSnapshots();\n                }\n            };\n            /**\n             * This is a multi-step process as shared nodes might be of different depths. Nodes\n             * are sorted by depth order, so we need to resolve the entire tree before moving to\n             * the next step.\n             */\n            this.updateProjection = () => {\n                this.projectionUpdateScheduled = false;\n                /**\n                 * Reset debug counts. Manually resetting rather than creating a new\n                 * object each frame.\n                 */\n                if (statsBuffer.value) {\n                    metrics.nodes =\n                        metrics.calculatedTargetDeltas =\n                            metrics.calculatedProjections =\n                                0;\n                }\n                this.nodes.forEach(propagateDirtyNodes);\n                this.nodes.forEach(resolveTargetDelta);\n                this.nodes.forEach(calcProjection);\n                this.nodes.forEach(cleanDirtyNodes);\n                if (statsBuffer.addProjectionMetrics) {\n                    statsBuffer.addProjectionMetrics(metrics);\n                }\n            };\n            /**\n             * Frame calculations\n             */\n            this.resolvedRelativeTargetAt = 0.0;\n            this.linkedParentVersion = 0;\n            this.hasProjected = false;\n            this.isVisible = true;\n            this.animationProgress = 0;\n            /**\n             * Shared layout\n             */\n            // TODO Only running on root node\n            this.sharedNodes = new Map();\n            this.latestValues = latestValues;\n            this.root = parent ? parent.root || parent : this;\n            this.path = parent ? [...parent.path, parent] : [];\n            this.parent = parent;\n            this.depth = parent ? parent.depth + 1 : 0;\n            for (let i = 0; i < this.path.length; i++) {\n                this.path[i].shouldResetTransform = true;\n            }\n            if (this.root === this)\n                this.nodes = new FlatTree();\n        }\n        addEventListener(name, handler) {\n            if (!this.eventHandlers.has(name)) {\n                this.eventHandlers.set(name, new SubscriptionManager());\n            }\n            return this.eventHandlers.get(name).add(handler);\n        }\n        notifyListeners(name, ...args) {\n            const subscriptionManager = this.eventHandlers.get(name);\n            subscriptionManager && subscriptionManager.notify(...args);\n        }\n        hasListeners(name) {\n            return this.eventHandlers.has(name);\n        }\n        /**\n         * Lifecycles\n         */\n        mount(instance) {\n            if (this.instance)\n                return;\n            this.isSVG = isSVGElement(instance) && !isSVGSVGElement(instance);\n            this.instance = instance;\n            const { layoutId, layout, visualElement } = this.options;\n            if (visualElement && !visualElement.current) {\n                visualElement.mount(instance);\n            }\n            this.root.nodes.add(this);\n            this.parent && this.parent.children.add(this);\n            if (this.root.hasTreeAnimated && (layout || layoutId)) {\n                this.isLayoutDirty = true;\n            }\n            if (attachResizeListener) {\n                let cancelDelay;\n                let innerWidth = 0;\n                const resizeUnblockUpdate = () => (this.root.updateBlockedByResize = false);\n                // Set initial innerWidth in a frame.read callback to batch the read\n                frame.read(() => {\n                    innerWidth = window.innerWidth;\n                });\n                attachResizeListener(instance, () => {\n                    const newInnerWidth = window.innerWidth;\n                    if (newInnerWidth === innerWidth)\n                        return;\n                    innerWidth = newInnerWidth;\n                    this.root.updateBlockedByResize = true;\n                    cancelDelay && cancelDelay();\n                    cancelDelay = delay(resizeUnblockUpdate, 250);\n                    if (globalProjectionState.hasAnimatedSinceResize) {\n                        globalProjectionState.hasAnimatedSinceResize = false;\n                        this.nodes.forEach(finishAnimation);\n                    }\n                });\n            }\n            if (layoutId) {\n                this.root.registerSharedNode(layoutId, this);\n            }\n            // Only register the handler if it requires layout animation\n            if (this.options.animate !== false &&\n                visualElement &&\n                (layoutId || layout)) {\n                this.addEventListener(\"didUpdate\", ({ delta, hasLayoutChanged, hasRelativeLayoutChanged, layout: newLayout, }) => {\n                    if (this.isTreeAnimationBlocked()) {\n                        this.target = undefined;\n                        this.relativeTarget = undefined;\n                        return;\n                    }\n                    // TODO: Check here if an animation exists\n                    const layoutTransition = this.options.transition ||\n                        visualElement.getDefaultTransition() ||\n                        defaultLayoutTransition;\n                    const { onLayoutAnimationStart, onLayoutAnimationComplete, } = visualElement.getProps();\n                    /**\n                     * The target layout of the element might stay the same,\n                     * but its position relative to its parent has changed.\n                     */\n                    const hasTargetChanged = !this.targetLayout ||\n                        !boxEqualsRounded(this.targetLayout, newLayout);\n                    /*\n                     * Note: Disabled to fix relative animations always triggering new\n                     * layout animations. If this causes further issues, we can try\n                     * a different approach to detecting relative target changes.\n                     */\n                    // || hasRelativeLayoutChanged\n                    /**\n                     * If the layout hasn't seemed to have changed, it might be that the\n                     * element is visually in the same place in the document but its position\n                     * relative to its parent has indeed changed. So here we check for that.\n                     */\n                    const hasOnlyRelativeTargetChanged = !hasLayoutChanged && hasRelativeLayoutChanged;\n                    if (this.options.layoutRoot ||\n                        this.resumeFrom ||\n                        hasOnlyRelativeTargetChanged ||\n                        (hasLayoutChanged &&\n                            (hasTargetChanged || !this.currentAnimation))) {\n                        if (this.resumeFrom) {\n                            this.resumingFrom = this.resumeFrom;\n                            this.resumingFrom.resumingFrom = undefined;\n                        }\n                        const animationOptions = {\n                            ...getValueTransition(layoutTransition, \"layout\"),\n                            onPlay: onLayoutAnimationStart,\n                            onComplete: onLayoutAnimationComplete,\n                        };\n                        if (visualElement.shouldReduceMotion ||\n                            this.options.layoutRoot) {\n                            animationOptions.delay = 0;\n                            animationOptions.type = false;\n                        }\n                        this.startAnimation(animationOptions);\n                        /**\n                         * Set animation origin after starting animation to avoid layout jump\n                         * caused by stopping previous layout animation\n                         */\n                        this.setAnimationOrigin(delta, hasOnlyRelativeTargetChanged);\n                    }\n                    else {\n                        /**\n                         * If the layout hasn't changed and we have an animation that hasn't started yet,\n                         * finish it immediately. Otherwise it will be animating from a location\n                         * that was probably never committed to screen and look like a jumpy box.\n                         */\n                        if (!hasLayoutChanged) {\n                            finishAnimation(this);\n                        }\n                        if (this.isLead() && this.options.onExitComplete) {\n                            this.options.onExitComplete();\n                        }\n                    }\n                    this.targetLayout = newLayout;\n                });\n            }\n        }\n        unmount() {\n            this.options.layoutId && this.willUpdate();\n            this.root.nodes.remove(this);\n            const stack = this.getStack();\n            stack && stack.remove(this);\n            this.parent && this.parent.children.delete(this);\n            this.instance = undefined;\n            this.eventHandlers.clear();\n            cancelFrame(this.updateProjection);\n        }\n        // only on the root\n        blockUpdate() {\n            this.updateManuallyBlocked = true;\n        }\n        unblockUpdate() {\n            this.updateManuallyBlocked = false;\n        }\n        isUpdateBlocked() {\n            return this.updateManuallyBlocked || this.updateBlockedByResize;\n        }\n        isTreeAnimationBlocked() {\n            return (this.isAnimationBlocked ||\n                (this.parent && this.parent.isTreeAnimationBlocked()) ||\n                false);\n        }\n        // Note: currently only running on root node\n        startUpdate() {\n            if (this.isUpdateBlocked())\n                return;\n            this.isUpdating = true;\n            this.nodes && this.nodes.forEach(resetSkewAndRotation);\n            this.animationId++;\n        }\n        getTransformTemplate() {\n            const { visualElement } = this.options;\n            return visualElement && visualElement.getProps().transformTemplate;\n        }\n        willUpdate(shouldNotifyListeners = true) {\n            this.root.hasTreeAnimated = true;\n            if (this.root.isUpdateBlocked()) {\n                this.options.onExitComplete && this.options.onExitComplete();\n                return;\n            }\n            /**\n             * If we're running optimised appear animations then these must be\n             * cancelled before measuring the DOM. This is so we can measure\n             * the true layout of the element rather than the WAAPI animation\n             * which will be unaffected by the resetSkewAndRotate step.\n             *\n             * Note: This is a DOM write. Worst case scenario is this is sandwiched\n             * between other snapshot reads which will cause unnecessary style recalculations.\n             * This has to happen here though, as we don't yet know which nodes will need\n             * snapshots in startUpdate(), but we only want to cancel optimised animations\n             * if a layout animation measurement is actually going to be affected by them.\n             */\n            if (window.MotionCancelOptimisedAnimation &&\n                !this.hasCheckedOptimisedAppear) {\n                cancelTreeOptimisedTransformAnimations(this);\n            }\n            !this.root.isUpdating && this.root.startUpdate();\n            if (this.isLayoutDirty)\n                return;\n            this.isLayoutDirty = true;\n            for (let i = 0; i < this.path.length; i++) {\n                const node = this.path[i];\n                node.shouldResetTransform = true;\n                node.updateScroll(\"snapshot\");\n                if (node.options.layoutRoot) {\n                    node.willUpdate(false);\n                }\n            }\n            const { layoutId, layout } = this.options;\n            if (layoutId === undefined && !layout)\n                return;\n            const transformTemplate = this.getTransformTemplate();\n            this.prevTransformTemplateValue = transformTemplate\n                ? transformTemplate(this.latestValues, \"\")\n                : undefined;\n            this.updateSnapshot();\n            shouldNotifyListeners && this.notifyListeners(\"willUpdate\");\n        }\n        update() {\n            this.updateScheduled = false;\n            const updateWasBlocked = this.isUpdateBlocked();\n            // When doing an instant transition, we skip the layout update,\n            // but should still clean up the measurements so that the next\n            // snapshot could be taken correctly.\n            if (updateWasBlocked) {\n                this.unblockUpdate();\n                this.clearAllSnapshots();\n                this.nodes.forEach(clearMeasurements);\n                return;\n            }\n            /**\n             * If this is a repeat of didUpdate then ignore the animation.\n             */\n            if (this.animationId <= this.animationCommitId) {\n                this.nodes.forEach(clearIsLayoutDirty);\n                return;\n            }\n            this.animationCommitId = this.animationId;\n            if (!this.isUpdating) {\n                this.nodes.forEach(clearIsLayoutDirty);\n            }\n            else {\n                this.isUpdating = false;\n                /**\n                 * Write\n                 */\n                this.nodes.forEach(resetTransformStyle);\n                /**\n                 * Read ==================\n                 */\n                // Update layout measurements of updated children\n                this.nodes.forEach(updateLayout);\n                /**\n                 * Write\n                 */\n                // Notify listeners that the layout is updated\n                this.nodes.forEach(notifyLayoutUpdate);\n            }\n            this.clearAllSnapshots();\n            /**\n             * Manually flush any pending updates. Ideally\n             * we could leave this to the following requestAnimationFrame but this seems\n             * to leave a flash of incorrectly styled content.\n             */\n            const now = time.now();\n            frameData.delta = clamp(0, 1000 / 60, now - frameData.timestamp);\n            frameData.timestamp = now;\n            frameData.isProcessing = true;\n            frameSteps.update.process(frameData);\n            frameSteps.preRender.process(frameData);\n            frameSteps.render.process(frameData);\n            frameData.isProcessing = false;\n        }\n        didUpdate() {\n            if (!this.updateScheduled) {\n                this.updateScheduled = true;\n                microtask.read(this.scheduleUpdate);\n            }\n        }\n        clearAllSnapshots() {\n            this.nodes.forEach(clearSnapshot);\n            this.sharedNodes.forEach(removeLeadSnapshots);\n        }\n        scheduleUpdateProjection() {\n            if (!this.projectionUpdateScheduled) {\n                this.projectionUpdateScheduled = true;\n                frame.preRender(this.updateProjection, false, true);\n            }\n        }\n        scheduleCheckAfterUnmount() {\n            /**\n             * If the unmounting node is in a layoutGroup and did trigger a willUpdate,\n             * we manually call didUpdate to give a chance to the siblings to animate.\n             * Otherwise, cleanup all snapshots to prevents future nodes from reusing them.\n             */\n            frame.postRender(() => {\n                if (this.isLayoutDirty) {\n                    this.root.didUpdate();\n                }\n                else {\n                    this.root.checkUpdateFailed();\n                }\n            });\n        }\n        /**\n         * Update measurements\n         */\n        updateSnapshot() {\n            if (this.snapshot || !this.instance)\n                return;\n            this.snapshot = this.measure();\n            if (this.snapshot &&\n                !calcLength(this.snapshot.measuredBox.x) &&\n                !calcLength(this.snapshot.measuredBox.y)) {\n                this.snapshot = undefined;\n            }\n        }\n        updateLayout() {\n            if (!this.instance)\n                return;\n            this.updateScroll();\n            if (!(this.options.alwaysMeasureLayout && this.isLead()) &&\n                !this.isLayoutDirty) {\n                return;\n            }\n            /**\n             * When a node is mounted, it simply resumes from the prevLead's\n             * snapshot instead of taking a new one, but the ancestors scroll\n             * might have updated while the prevLead is unmounted. We need to\n             * update the scroll again to make sure the layout we measure is\n             * up to date.\n             */\n            if (this.resumeFrom && !this.resumeFrom.instance) {\n                for (let i = 0; i < this.path.length; i++) {\n                    const node = this.path[i];\n                    node.updateScroll();\n                }\n            }\n            const prevLayout = this.layout;\n            this.layout = this.measure(false);\n            this.layoutVersion++;\n            this.layoutCorrected = createBox();\n            this.isLayoutDirty = false;\n            this.projectionDelta = undefined;\n            this.notifyListeners(\"measure\", this.layout.layoutBox);\n            const { visualElement } = this.options;\n            visualElement &&\n                visualElement.notify(\"LayoutMeasure\", this.layout.layoutBox, prevLayout ? prevLayout.layoutBox : undefined);\n        }\n        updateScroll(phase = \"measure\") {\n            let needsMeasurement = Boolean(this.options.layoutScroll && this.instance);\n            if (this.scroll &&\n                this.scroll.animationId === this.root.animationId &&\n                this.scroll.phase === phase) {\n                needsMeasurement = false;\n            }\n            if (needsMeasurement && this.instance) {\n                const isRoot = checkIsScrollRoot(this.instance);\n                this.scroll = {\n                    animationId: this.root.animationId,\n                    phase,\n                    isRoot,\n                    offset: measureScroll(this.instance),\n                    wasRoot: this.scroll ? this.scroll.isRoot : isRoot,\n                };\n            }\n        }\n        resetTransform() {\n            if (!resetTransform)\n                return;\n            const isResetRequested = this.isLayoutDirty ||\n                this.shouldResetTransform ||\n                this.options.alwaysMeasureLayout;\n            const hasProjection = this.projectionDelta && !isDeltaZero(this.projectionDelta);\n            const transformTemplate = this.getTransformTemplate();\n            const transformTemplateValue = transformTemplate\n                ? transformTemplate(this.latestValues, \"\")\n                : undefined;\n            const transformTemplateHasChanged = transformTemplateValue !== this.prevTransformTemplateValue;\n            if (isResetRequested &&\n                this.instance &&\n                (hasProjection ||\n                    hasTransform(this.latestValues) ||\n                    transformTemplateHasChanged)) {\n                resetTransform(this.instance, transformTemplateValue);\n                this.shouldResetTransform = false;\n                this.scheduleRender();\n            }\n        }\n        measure(removeTransform = true) {\n            const pageBox = this.measurePageBox();\n            let layoutBox = this.removeElementScroll(pageBox);\n            /**\n             * Measurements taken during the pre-render stage\n             * still have transforms applied so we remove them\n             * via calculation.\n             */\n            if (removeTransform) {\n                layoutBox = this.removeTransform(layoutBox);\n            }\n            roundBox(layoutBox);\n            return {\n                animationId: this.root.animationId,\n                measuredBox: pageBox,\n                layoutBox,\n                latestValues: {},\n                source: this.id,\n            };\n        }\n        measurePageBox() {\n            const { visualElement } = this.options;\n            if (!visualElement)\n                return createBox();\n            const box = visualElement.measureViewportBox();\n            const wasInScrollRoot = this.scroll?.wasRoot || this.path.some(checkNodeWasScrollRoot);\n            if (!wasInScrollRoot) {\n                // Remove viewport scroll to give page-relative coordinates\n                const { scroll } = this.root;\n                if (scroll) {\n                    translateAxis(box.x, scroll.offset.x);\n                    translateAxis(box.y, scroll.offset.y);\n                }\n            }\n            return box;\n        }\n        removeElementScroll(box) {\n            const boxWithoutScroll = createBox();\n            copyBoxInto(boxWithoutScroll, box);\n            if (this.scroll?.wasRoot) {\n                return boxWithoutScroll;\n            }\n            /**\n             * Performance TODO: Keep a cumulative scroll offset down the tree\n             * rather than loop back up the path.\n             */\n            for (let i = 0; i < this.path.length; i++) {\n                const node = this.path[i];\n                const { scroll, options } = node;\n                if (node !== this.root && scroll && options.layoutScroll) {\n                    /**\n                     * If this is a new scroll root, we want to remove all previous scrolls\n                     * from the viewport box.\n                     */\n                    if (scroll.wasRoot) {\n                        copyBoxInto(boxWithoutScroll, box);\n                    }\n                    translateAxis(boxWithoutScroll.x, scroll.offset.x);\n                    translateAxis(boxWithoutScroll.y, scroll.offset.y);\n                }\n            }\n            return boxWithoutScroll;\n        }\n        applyTransform(box, transformOnly = false) {\n            const withTransforms = createBox();\n            copyBoxInto(withTransforms, box);\n            for (let i = 0; i < this.path.length; i++) {\n                const node = this.path[i];\n                if (!transformOnly &&\n                    node.options.layoutScroll &&\n                    node.scroll &&\n                    node !== node.root) {\n                    transformBox(withTransforms, {\n                        x: -node.scroll.offset.x,\n                        y: -node.scroll.offset.y,\n                    });\n                }\n                if (!hasTransform(node.latestValues))\n                    continue;\n                transformBox(withTransforms, node.latestValues);\n            }\n            if (hasTransform(this.latestValues)) {\n                transformBox(withTransforms, this.latestValues);\n            }\n            return withTransforms;\n        }\n        removeTransform(box) {\n            const boxWithoutTransform = createBox();\n            copyBoxInto(boxWithoutTransform, box);\n            for (let i = 0; i < this.path.length; i++) {\n                const node = this.path[i];\n                if (!node.instance)\n                    continue;\n                if (!hasTransform(node.latestValues))\n                    continue;\n                hasScale(node.latestValues) && node.updateSnapshot();\n                const sourceBox = createBox();\n                const nodeBox = node.measurePageBox();\n                copyBoxInto(sourceBox, nodeBox);\n                removeBoxTransforms(boxWithoutTransform, node.latestValues, node.snapshot ? node.snapshot.layoutBox : undefined, sourceBox);\n            }\n            if (hasTransform(this.latestValues)) {\n                removeBoxTransforms(boxWithoutTransform, this.latestValues);\n            }\n            return boxWithoutTransform;\n        }\n        setTargetDelta(delta) {\n            this.targetDelta = delta;\n            this.root.scheduleUpdateProjection();\n            this.isProjectionDirty = true;\n        }\n        setOptions(options) {\n            this.options = {\n                ...this.options,\n                ...options,\n                crossfade: options.crossfade !== undefined ? options.crossfade : true,\n            };\n        }\n        clearMeasurements() {\n            this.scroll = undefined;\n            this.layout = undefined;\n            this.snapshot = undefined;\n            this.prevTransformTemplateValue = undefined;\n            this.targetDelta = undefined;\n            this.target = undefined;\n            this.isLayoutDirty = false;\n        }\n        forceRelativeParentToResolveTarget() {\n            if (!this.relativeParent)\n                return;\n            /**\n             * If the parent target isn't up-to-date, force it to update.\n             * This is an unfortunate de-optimisation as it means any updating relative\n             * projection will cause all the relative parents to recalculate back\n             * up the tree.\n             */\n            if (this.relativeParent.resolvedRelativeTargetAt !==\n                frameData.timestamp) {\n                this.relativeParent.resolveTargetDelta(true);\n            }\n        }\n        resolveTargetDelta(forceRecalculation = false) {\n            /**\n             * Once the dirty status of nodes has been spread through the tree, we also\n             * need to check if we have a shared node of a different depth that has itself\n             * been dirtied.\n             */\n            const lead = this.getLead();\n            this.isProjectionDirty || (this.isProjectionDirty = lead.isProjectionDirty);\n            this.isTransformDirty || (this.isTransformDirty = lead.isTransformDirty);\n            this.isSharedProjectionDirty || (this.isSharedProjectionDirty = lead.isSharedProjectionDirty);\n            const isShared = Boolean(this.resumingFrom) || this !== lead;\n            /**\n             * We don't use transform for this step of processing so we don't\n             * need to check whether any nodes have changed transform.\n             */\n            const canSkip = !(forceRecalculation ||\n                (isShared && this.isSharedProjectionDirty) ||\n                this.isProjectionDirty ||\n                this.parent?.isProjectionDirty ||\n                this.attemptToResolveRelativeTarget ||\n                this.root.updateBlockedByResize);\n            if (canSkip)\n                return;\n            const { layout, layoutId } = this.options;\n            /**\n             * If we have no layout, we can't perform projection, so early return\n             */\n            if (!this.layout || !(layout || layoutId))\n                return;\n            this.resolvedRelativeTargetAt = frameData.timestamp;\n            const relativeParent = this.getClosestProjectingParent();\n            if (relativeParent &&\n                this.linkedParentVersion !== relativeParent.layoutVersion &&\n                !relativeParent.options.layoutRoot) {\n                this.removeRelativeTarget();\n            }\n            /**\n             * If we don't have a targetDelta but do have a layout, we can attempt to resolve\n             * a relativeParent. This will allow a component to perform scale correction\n             * even if no animation has started.\n             */\n            if (!this.targetDelta && !this.relativeTarget) {\n                if (relativeParent && relativeParent.layout) {\n                    this.createRelativeTarget(relativeParent, this.layout.layoutBox, relativeParent.layout.layoutBox);\n                }\n                else {\n                    this.removeRelativeTarget();\n                }\n            }\n            /**\n             * If we have no relative target or no target delta our target isn't valid\n             * for this frame.\n             */\n            if (!this.relativeTarget && !this.targetDelta)\n                return;\n            /**\n             * Lazy-init target data structure\n             */\n            if (!this.target) {\n                this.target = createBox();\n                this.targetWithTransforms = createBox();\n            }\n            /**\n             * If we've got a relative box for this component, resolve it into a target relative to the parent.\n             */\n            if (this.relativeTarget &&\n                this.relativeTargetOrigin &&\n                this.relativeParent &&\n                this.relativeParent.target) {\n                this.forceRelativeParentToResolveTarget();\n                calcRelativeBox(this.target, this.relativeTarget, this.relativeParent.target);\n                /**\n                 * If we've only got a targetDelta, resolve it into a target\n                 */\n            }\n            else if (this.targetDelta) {\n                if (Boolean(this.resumingFrom)) {\n                    // TODO: This is creating a new object every frame\n                    this.target = this.applyTransform(this.layout.layoutBox);\n                }\n                else {\n                    copyBoxInto(this.target, this.layout.layoutBox);\n                }\n                applyBoxDelta(this.target, this.targetDelta);\n            }\n            else {\n                /**\n                 * If no target, use own layout as target\n                 */\n                copyBoxInto(this.target, this.layout.layoutBox);\n            }\n            /**\n             * If we've been told to attempt to resolve a relative target, do so.\n             */\n            if (this.attemptToResolveRelativeTarget) {\n                this.attemptToResolveRelativeTarget = false;\n                if (relativeParent &&\n                    Boolean(relativeParent.resumingFrom) ===\n                        Boolean(this.resumingFrom) &&\n                    !relativeParent.options.layoutScroll &&\n                    relativeParent.target &&\n                    this.animationProgress !== 1) {\n                    this.createRelativeTarget(relativeParent, this.target, relativeParent.target);\n                }\n                else {\n                    this.relativeParent = this.relativeTarget = undefined;\n                }\n            }\n            /**\n             * Increase debug counter for resolved target deltas\n             */\n            if (statsBuffer.value) {\n                metrics.calculatedTargetDeltas++;\n            }\n        }\n        getClosestProjectingParent() {\n            if (!this.parent ||\n                hasScale(this.parent.latestValues) ||\n                has2DTranslate(this.parent.latestValues)) {\n                return undefined;\n            }\n            if (this.parent.isProjecting()) {\n                return this.parent;\n            }\n            else {\n                return this.parent.getClosestProjectingParent();\n            }\n        }\n        isProjecting() {\n            return Boolean((this.relativeTarget ||\n                this.targetDelta ||\n                this.options.layoutRoot) &&\n                this.layout);\n        }\n        createRelativeTarget(relativeParent, layout, parentLayout) {\n            this.relativeParent = relativeParent;\n            this.linkedParentVersion = relativeParent.layoutVersion;\n            this.forceRelativeParentToResolveTarget();\n            this.relativeTarget = createBox();\n            this.relativeTargetOrigin = createBox();\n            calcRelativePosition(this.relativeTargetOrigin, layout, parentLayout);\n            copyBoxInto(this.relativeTarget, this.relativeTargetOrigin);\n        }\n        removeRelativeTarget() {\n            this.relativeParent = this.relativeTarget = undefined;\n        }\n        calcProjection() {\n            const lead = this.getLead();\n            const isShared = Boolean(this.resumingFrom) || this !== lead;\n            let canSkip = true;\n            /**\n             * If this is a normal layout animation and neither this node nor its nearest projecting\n             * is dirty then we can't skip.\n             */\n            if (this.isProjectionDirty || this.parent?.isProjectionDirty) {\n                canSkip = false;\n            }\n            /**\n             * If this is a shared layout animation and this node's shared projection is dirty then\n             * we can't skip.\n             */\n            if (isShared &&\n                (this.isSharedProjectionDirty || this.isTransformDirty)) {\n                canSkip = false;\n            }\n            /**\n             * If we have resolved the target this frame we must recalculate the\n             * projection to ensure it visually represents the internal calculations.\n             */\n            if (this.resolvedRelativeTargetAt === frameData.timestamp) {\n                canSkip = false;\n            }\n            if (canSkip)\n                return;\n            const { layout, layoutId } = this.options;\n            /**\n             * If this section of the tree isn't animating we can\n             * delete our target sources for the following frame.\n             */\n            this.isTreeAnimating = Boolean((this.parent && this.parent.isTreeAnimating) ||\n                this.currentAnimation ||\n                this.pendingAnimation);\n            if (!this.isTreeAnimating) {\n                this.targetDelta = this.relativeTarget = undefined;\n            }\n            if (!this.layout || !(layout || layoutId))\n                return;\n            /**\n             * Reset the corrected box with the latest values from box, as we're then going\n             * to perform mutative operations on it.\n             */\n            copyBoxInto(this.layoutCorrected, this.layout.layoutBox);\n            /**\n             * Record previous tree scales before updating.\n             */\n            const prevTreeScaleX = this.treeScale.x;\n            const prevTreeScaleY = this.treeScale.y;\n            /**\n             * Apply all the parent deltas to this box to produce the corrected box. This\n             * is the layout box, as it will appear on screen as a result of the transforms of its parents.\n             */\n            applyTreeDeltas(this.layoutCorrected, this.treeScale, this.path, isShared);\n            /**\n             * If this layer needs to perform scale correction but doesn't have a target,\n             * use the layout as the target.\n             */\n            if (lead.layout &&\n                !lead.target &&\n                (this.treeScale.x !== 1 || this.treeScale.y !== 1)) {\n                lead.target = lead.layout.layoutBox;\n                lead.targetWithTransforms = createBox();\n            }\n            const { target } = lead;\n            if (!target) {\n                /**\n                 * If we don't have a target to project into, but we were previously\n                 * projecting, we want to remove the stored transform and schedule\n                 * a render to ensure the elements reflect the removed transform.\n                 */\n                if (this.prevProjectionDelta) {\n                    this.createProjectionDeltas();\n                    this.scheduleRender();\n                }\n                return;\n            }\n            if (!this.projectionDelta || !this.prevProjectionDelta) {\n                this.createProjectionDeltas();\n            }\n            else {\n                copyAxisDeltaInto(this.prevProjectionDelta.x, this.projectionDelta.x);\n                copyAxisDeltaInto(this.prevProjectionDelta.y, this.projectionDelta.y);\n            }\n            /**\n             * Update the delta between the corrected box and the target box before user-set transforms were applied.\n             * This will allow us to calculate the corrected borderRadius and boxShadow to compensate\n             * for our layout reprojection, but still allow them to be scaled correctly by the user.\n             * It might be that to simplify this we may want to accept that user-set scale is also corrected\n             * and we wouldn't have to keep and calc both deltas, OR we could support a user setting\n             * to allow people to choose whether these styles are corrected based on just the\n             * layout reprojection or the final bounding box.\n             */\n            calcBoxDelta(this.projectionDelta, this.layoutCorrected, target, this.latestValues);\n            if (this.treeScale.x !== prevTreeScaleX ||\n                this.treeScale.y !== prevTreeScaleY ||\n                !axisDeltaEquals(this.projectionDelta.x, this.prevProjectionDelta.x) ||\n                !axisDeltaEquals(this.projectionDelta.y, this.prevProjectionDelta.y)) {\n                this.hasProjected = true;\n                this.scheduleRender();\n                this.notifyListeners(\"projectionUpdate\", target);\n            }\n            /**\n             * Increase debug counter for recalculated projections\n             */\n            if (statsBuffer.value) {\n                metrics.calculatedProjections++;\n            }\n        }\n        hide() {\n            this.isVisible = false;\n            // TODO: Schedule render\n        }\n        show() {\n            this.isVisible = true;\n            // TODO: Schedule render\n        }\n        scheduleRender(notifyAll = true) {\n            this.options.visualElement?.scheduleRender();\n            if (notifyAll) {\n                const stack = this.getStack();\n                stack && stack.scheduleRender();\n            }\n            if (this.resumingFrom && !this.resumingFrom.instance) {\n                this.resumingFrom = undefined;\n            }\n        }\n        createProjectionDeltas() {\n            this.prevProjectionDelta = createDelta();\n            this.projectionDelta = createDelta();\n            this.projectionDeltaWithTransform = createDelta();\n        }\n        setAnimationOrigin(delta, hasOnlyRelativeTargetChanged = false) {\n            const snapshot = this.snapshot;\n            const snapshotLatestValues = snapshot ? snapshot.latestValues : {};\n            const mixedValues = { ...this.latestValues };\n            const targetDelta = createDelta();\n            if (!this.relativeParent ||\n                !this.relativeParent.options.layoutRoot) {\n                this.relativeTarget = this.relativeTargetOrigin = undefined;\n            }\n            this.attemptToResolveRelativeTarget = !hasOnlyRelativeTargetChanged;\n            const relativeLayout = createBox();\n            const snapshotSource = snapshot ? snapshot.source : undefined;\n            const layoutSource = this.layout ? this.layout.source : undefined;\n            const isSharedLayoutAnimation = snapshotSource !== layoutSource;\n            const stack = this.getStack();\n            const isOnlyMember = !stack || stack.members.length <= 1;\n            const shouldCrossfadeOpacity = Boolean(isSharedLayoutAnimation &&\n                !isOnlyMember &&\n                this.options.crossfade === true &&\n                !this.path.some(hasOpacityCrossfade));\n            this.animationProgress = 0;\n            let prevRelativeTarget;\n            this.mixTargetDelta = (latest) => {\n                const progress = latest / 1000;\n                mixAxisDelta(targetDelta.x, delta.x, progress);\n                mixAxisDelta(targetDelta.y, delta.y, progress);\n                this.setTargetDelta(targetDelta);\n                if (this.relativeTarget &&\n                    this.relativeTargetOrigin &&\n                    this.layout &&\n                    this.relativeParent &&\n                    this.relativeParent.layout) {\n                    calcRelativePosition(relativeLayout, this.layout.layoutBox, this.relativeParent.layout.layoutBox);\n                    mixBox(this.relativeTarget, this.relativeTargetOrigin, relativeLayout, progress);\n                    /**\n                     * If this is an unchanged relative target we can consider the\n                     * projection not dirty.\n                     */\n                    if (prevRelativeTarget &&\n                        boxEquals(this.relativeTarget, prevRelativeTarget)) {\n                        this.isProjectionDirty = false;\n                    }\n                    if (!prevRelativeTarget)\n                        prevRelativeTarget = createBox();\n                    copyBoxInto(prevRelativeTarget, this.relativeTarget);\n                }\n                if (isSharedLayoutAnimation) {\n                    this.animationValues = mixedValues;\n                    mixValues(mixedValues, snapshotLatestValues, this.latestValues, progress, shouldCrossfadeOpacity, isOnlyMember);\n                }\n                this.root.scheduleUpdateProjection();\n                this.scheduleRender();\n                this.animationProgress = progress;\n            };\n            this.mixTargetDelta(this.options.layoutRoot ? 1000 : 0);\n        }\n        startAnimation(options) {\n            this.notifyListeners(\"animationStart\");\n            this.currentAnimation?.stop();\n            this.resumingFrom?.currentAnimation?.stop();\n            if (this.pendingAnimation) {\n                cancelFrame(this.pendingAnimation);\n                this.pendingAnimation = undefined;\n            }\n            /**\n             * Start the animation in the next frame to have a frame with progress 0,\n             * where the target is the same as when the animation started, so we can\n             * calculate the relative positions correctly for instant transitions.\n             */\n            this.pendingAnimation = frame.update(() => {\n                globalProjectionState.hasAnimatedSinceResize = true;\n                activeAnimations.layout++;\n                this.motionValue || (this.motionValue = motionValue(0));\n                this.currentAnimation = animateSingleValue(this.motionValue, [0, 1000], {\n                    ...options,\n                    velocity: 0,\n                    isSync: true,\n                    onUpdate: (latest) => {\n                        this.mixTargetDelta(latest);\n                        options.onUpdate && options.onUpdate(latest);\n                    },\n                    onStop: () => {\n                        activeAnimations.layout--;\n                    },\n                    onComplete: () => {\n                        activeAnimations.layout--;\n                        options.onComplete && options.onComplete();\n                        this.completeAnimation();\n                    },\n                });\n                if (this.resumingFrom) {\n                    this.resumingFrom.currentAnimation = this.currentAnimation;\n                }\n                this.pendingAnimation = undefined;\n            });\n        }\n        completeAnimation() {\n            if (this.resumingFrom) {\n                this.resumingFrom.currentAnimation = undefined;\n                this.resumingFrom.preserveOpacity = undefined;\n            }\n            const stack = this.getStack();\n            stack && stack.exitAnimationComplete();\n            this.resumingFrom =\n                this.currentAnimation =\n                    this.animationValues =\n                        undefined;\n            this.notifyListeners(\"animationComplete\");\n        }\n        finishAnimation() {\n            if (this.currentAnimation) {\n                this.mixTargetDelta && this.mixTargetDelta(animationTarget);\n                this.currentAnimation.stop();\n            }\n            this.completeAnimation();\n        }\n        applyTransformsToTarget() {\n            const lead = this.getLead();\n            let { targetWithTransforms, target, layout, latestValues } = lead;\n            if (!targetWithTransforms || !target || !layout)\n                return;\n            /**\n             * If we're only animating position, and this element isn't the lead element,\n             * then instead of projecting into the lead box we instead want to calculate\n             * a new target that aligns the two boxes but maintains the layout shape.\n             */\n            if (this !== lead &&\n                this.layout &&\n                layout &&\n                shouldAnimatePositionOnly(this.options.animationType, this.layout.layoutBox, layout.layoutBox)) {\n                target = this.target || createBox();\n                const xLength = calcLength(this.layout.layoutBox.x);\n                target.x.min = lead.target.x.min;\n                target.x.max = target.x.min + xLength;\n                const yLength = calcLength(this.layout.layoutBox.y);\n                target.y.min = lead.target.y.min;\n                target.y.max = target.y.min + yLength;\n            }\n            copyBoxInto(targetWithTransforms, target);\n            /**\n             * Apply the latest user-set transforms to the targetBox to produce the targetBoxFinal.\n             * This is the final box that we will then project into by calculating a transform delta and\n             * applying it to the corrected box.\n             */\n            transformBox(targetWithTransforms, latestValues);\n            /**\n             * Update the delta between the corrected box and the final target box, after\n             * user-set transforms are applied to it. This will be used by the renderer to\n             * create a transform style that will reproject the element from its layout layout\n             * into the desired bounding box.\n             */\n            calcBoxDelta(this.projectionDeltaWithTransform, this.layoutCorrected, targetWithTransforms, latestValues);\n        }\n        registerSharedNode(layoutId, node) {\n            if (!this.sharedNodes.has(layoutId)) {\n                this.sharedNodes.set(layoutId, new NodeStack());\n            }\n            const stack = this.sharedNodes.get(layoutId);\n            stack.add(node);\n            const config = node.options.initialPromotionConfig;\n            node.promote({\n                transition: config ? config.transition : undefined,\n                preserveFollowOpacity: config && config.shouldPreserveFollowOpacity\n                    ? config.shouldPreserveFollowOpacity(node)\n                    : undefined,\n            });\n        }\n        isLead() {\n            const stack = this.getStack();\n            return stack ? stack.lead === this : true;\n        }\n        getLead() {\n            const { layoutId } = this.options;\n            return layoutId ? this.getStack()?.lead || this : this;\n        }\n        getPrevLead() {\n            const { layoutId } = this.options;\n            return layoutId ? this.getStack()?.prevLead : undefined;\n        }\n        getStack() {\n            const { layoutId } = this.options;\n            if (layoutId)\n                return this.root.sharedNodes.get(layoutId);\n        }\n        promote({ needsReset, transition, preserveFollowOpacity, } = {}) {\n            const stack = this.getStack();\n            if (stack)\n                stack.promote(this, preserveFollowOpacity);\n            if (needsReset) {\n                this.projectionDelta = undefined;\n                this.needsReset = true;\n            }\n            if (transition)\n                this.setOptions({ transition });\n        }\n        relegate() {\n            const stack = this.getStack();\n            if (stack) {\n                return stack.relegate(this);\n            }\n            else {\n                return false;\n            }\n        }\n        resetSkewAndRotation() {\n            const { visualElement } = this.options;\n            if (!visualElement)\n                return;\n            // If there's no detected skew or rotation values, we can early return without a forced render.\n            let hasDistortingTransform = false;\n            /**\n             * An unrolled check for rotation values. Most elements don't have any rotation and\n             * skipping the nested loop and new object creation is 50% faster.\n             */\n            const { latestValues } = visualElement;\n            if (latestValues.z ||\n                latestValues.rotate ||\n                latestValues.rotateX ||\n                latestValues.rotateY ||\n                latestValues.rotateZ ||\n                latestValues.skewX ||\n                latestValues.skewY) {\n                hasDistortingTransform = true;\n            }\n            // If there's no distorting values, we don't need to do any more.\n            if (!hasDistortingTransform)\n                return;\n            const resetValues = {};\n            if (latestValues.z) {\n                resetDistortingTransform(\"z\", visualElement, resetValues, this.animationValues);\n            }\n            // Check the skew and rotate value of all axes and reset to 0\n            for (let i = 0; i < transformAxes.length; i++) {\n                resetDistortingTransform(`rotate${transformAxes[i]}`, visualElement, resetValues, this.animationValues);\n                resetDistortingTransform(`skew${transformAxes[i]}`, visualElement, resetValues, this.animationValues);\n            }\n            // Force a render of this element to apply the transform with all skews and rotations\n            // set to 0.\n            visualElement.render();\n            // Put back all the values we reset\n            for (const key in resetValues) {\n                visualElement.setStaticValue(key, resetValues[key]);\n                if (this.animationValues) {\n                    this.animationValues[key] = resetValues[key];\n                }\n            }\n            // Schedule a render for the next frame. This ensures we won't visually\n            // see the element with the reset rotate value applied.\n            visualElement.scheduleRender();\n        }\n        applyProjectionStyles(targetStyle, // CSSStyleDeclaration - doesn't allow numbers to be assigned to properties\n        styleProp) {\n            if (!this.instance || this.isSVG)\n                return;\n            if (!this.isVisible) {\n                targetStyle.visibility = \"hidden\";\n                return;\n            }\n            const transformTemplate = this.getTransformTemplate();\n            if (this.needsReset) {\n                this.needsReset = false;\n                targetStyle.visibility = \"\";\n                targetStyle.opacity = \"\";\n                targetStyle.pointerEvents =\n                    resolveMotionValue(styleProp?.pointerEvents) || \"\";\n                targetStyle.transform = transformTemplate\n                    ? transformTemplate(this.latestValues, \"\")\n                    : \"none\";\n                return;\n            }\n            const lead = this.getLead();\n            if (!this.projectionDelta || !this.layout || !lead.target) {\n                if (this.options.layoutId) {\n                    targetStyle.opacity =\n                        this.latestValues.opacity !== undefined\n                            ? this.latestValues.opacity\n                            : 1;\n                    targetStyle.pointerEvents =\n                        resolveMotionValue(styleProp?.pointerEvents) || \"\";\n                }\n                if (this.hasProjected && !hasTransform(this.latestValues)) {\n                    targetStyle.transform = transformTemplate\n                        ? transformTemplate({}, \"\")\n                        : \"none\";\n                    this.hasProjected = false;\n                }\n                return;\n            }\n            targetStyle.visibility = \"\";\n            const valuesToRender = lead.animationValues || lead.latestValues;\n            this.applyTransformsToTarget();\n            let transform = buildProjectionTransform(this.projectionDeltaWithTransform, this.treeScale, valuesToRender);\n            if (transformTemplate) {\n                transform = transformTemplate(valuesToRender, transform);\n            }\n            targetStyle.transform = transform;\n            const { x, y } = this.projectionDelta;\n            targetStyle.transformOrigin = `${x.origin * 100}% ${y.origin * 100}% 0`;\n            if (lead.animationValues) {\n                /**\n                 * If the lead component is animating, assign this either the entering/leaving\n                 * opacity\n                 */\n                targetStyle.opacity =\n                    lead === this\n                        ? valuesToRender.opacity ??\n                            this.latestValues.opacity ??\n                            1\n                        : this.preserveOpacity\n                            ? this.latestValues.opacity\n                            : valuesToRender.opacityExit;\n            }\n            else {\n                /**\n                 * Or we're not animating at all, set the lead component to its layout\n                 * opacity and other components to hidden.\n                 */\n                targetStyle.opacity =\n                    lead === this\n                        ? valuesToRender.opacity !== undefined\n                            ? valuesToRender.opacity\n                            : \"\"\n                        : valuesToRender.opacityExit !== undefined\n                            ? valuesToRender.opacityExit\n                            : 0;\n            }\n            /**\n             * Apply scale correction\n             */\n            for (const key in scaleCorrectors) {\n                if (valuesToRender[key] === undefined)\n                    continue;\n                const { correct, applyTo, isCSSVariable } = scaleCorrectors[key];\n                /**\n                 * Only apply scale correction to the value if we have an\n                 * active projection transform. Otherwise these values become\n                 * vulnerable to distortion if the element changes size without\n                 * a corresponding layout animation.\n                 */\n                const corrected = transform === \"none\"\n                    ? valuesToRender[key]\n                    : correct(valuesToRender[key], lead);\n                if (applyTo) {\n                    const num = applyTo.length;\n                    for (let i = 0; i < num; i++) {\n                        targetStyle[applyTo[i]] = corrected;\n                    }\n                }\n                else {\n                    // If this is a CSS variable, set it directly on the instance.\n                    // Replacing this function from creating styles to setting them\n                    // would be a good place to remove per frame object creation\n                    if (isCSSVariable) {\n                        this.options.visualElement.renderState.vars[key] = corrected;\n                    }\n                    else {\n                        targetStyle[key] = corrected;\n                    }\n                }\n            }\n            /**\n             * Disable pointer events on follow components. This is to ensure\n             * that if a follow component covers a lead component it doesn't block\n             * pointer events on the lead.\n             */\n            if (this.options.layoutId) {\n                targetStyle.pointerEvents =\n                    lead === this\n                        ? resolveMotionValue(styleProp?.pointerEvents) || \"\"\n                        : \"none\";\n            }\n        }\n        clearSnapshot() {\n            this.resumeFrom = this.snapshot = undefined;\n        }\n        // Only run on root\n        resetTree() {\n            this.root.nodes.forEach((node) => node.currentAnimation?.stop());\n            this.root.nodes.forEach(clearMeasurements);\n            this.root.sharedNodes.clear();\n        }\n    };\n}\nfunction updateLayout(node) {\n    node.updateLayout();\n}\nfunction notifyLayoutUpdate(node) {\n    const snapshot = node.resumeFrom?.snapshot || node.snapshot;\n    if (node.isLead() &&\n        node.layout &&\n        snapshot &&\n        node.hasListeners(\"didUpdate\")) {\n        const { layoutBox: layout, measuredBox: measuredLayout } = node.layout;\n        const { animationType } = node.options;\n        const isShared = snapshot.source !== node.layout.source;\n        // TODO Maybe we want to also resize the layout snapshot so we don't trigger\n        // animations for instance if layout=\"size\" and an element has only changed position\n        if (animationType === \"size\") {\n            eachAxis((axis) => {\n                const axisSnapshot = isShared\n                    ? snapshot.measuredBox[axis]\n                    : snapshot.layoutBox[axis];\n                const length = calcLength(axisSnapshot);\n                axisSnapshot.min = layout[axis].min;\n                axisSnapshot.max = axisSnapshot.min + length;\n            });\n        }\n        else if (shouldAnimatePositionOnly(animationType, snapshot.layoutBox, layout)) {\n            eachAxis((axis) => {\n                const axisSnapshot = isShared\n                    ? snapshot.measuredBox[axis]\n                    : snapshot.layoutBox[axis];\n                const length = calcLength(layout[axis]);\n                axisSnapshot.max = axisSnapshot.min + length;\n                /**\n                 * Ensure relative target gets resized and rerendererd\n                 */\n                if (node.relativeTarget && !node.currentAnimation) {\n                    node.isProjectionDirty = true;\n                    node.relativeTarget[axis].max =\n                        node.relativeTarget[axis].min + length;\n                }\n            });\n        }\n        const layoutDelta = createDelta();\n        calcBoxDelta(layoutDelta, layout, snapshot.layoutBox);\n        const visualDelta = createDelta();\n        if (isShared) {\n            calcBoxDelta(visualDelta, node.applyTransform(measuredLayout, true), snapshot.measuredBox);\n        }\n        else {\n            calcBoxDelta(visualDelta, layout, snapshot.layoutBox);\n        }\n        const hasLayoutChanged = !isDeltaZero(layoutDelta);\n        let hasRelativeLayoutChanged = false;\n        if (!node.resumeFrom) {\n            const relativeParent = node.getClosestProjectingParent();\n            /**\n             * If the relativeParent is itself resuming from a different element then\n             * the relative snapshot is not relavent\n             */\n            if (relativeParent && !relativeParent.resumeFrom) {\n                const { snapshot: parentSnapshot, layout: parentLayout } = relativeParent;\n                if (parentSnapshot && parentLayout) {\n                    const relativeSnapshot = createBox();\n                    calcRelativePosition(relativeSnapshot, snapshot.layoutBox, parentSnapshot.layoutBox);\n                    const relativeLayout = createBox();\n                    calcRelativePosition(relativeLayout, layout, parentLayout.layoutBox);\n                    if (!boxEqualsRounded(relativeSnapshot, relativeLayout)) {\n                        hasRelativeLayoutChanged = true;\n                    }\n                    if (relativeParent.options.layoutRoot) {\n                        node.relativeTarget = relativeLayout;\n                        node.relativeTargetOrigin = relativeSnapshot;\n                        node.relativeParent = relativeParent;\n                    }\n                }\n            }\n        }\n        node.notifyListeners(\"didUpdate\", {\n            layout,\n            snapshot,\n            delta: visualDelta,\n            layoutDelta,\n            hasLayoutChanged,\n            hasRelativeLayoutChanged,\n        });\n    }\n    else if (node.isLead()) {\n        const { onExitComplete } = node.options;\n        onExitComplete && onExitComplete();\n    }\n    /**\n     * Clearing transition\n     * TODO: Investigate why this transition is being passed in as {type: false } from Framer\n     * and why we need it at all\n     */\n    node.options.transition = undefined;\n}\nfunction propagateDirtyNodes(node) {\n    /**\n     * Increase debug counter for nodes encountered this frame\n     */\n    if (statsBuffer.value) {\n        metrics.nodes++;\n    }\n    if (!node.parent)\n        return;\n    /**\n     * If this node isn't projecting, propagate isProjectionDirty. It will have\n     * no performance impact but it will allow the next child that *is* projecting\n     * but *isn't* dirty to just check its parent to see if *any* ancestor needs\n     * correcting.\n     */\n    if (!node.isProjecting()) {\n        node.isProjectionDirty = node.parent.isProjectionDirty;\n    }\n    /**\n     * Propagate isSharedProjectionDirty and isTransformDirty\n     * throughout the whole tree. A future revision can take another look at\n     * this but for safety we still recalcualte shared nodes.\n     */\n    node.isSharedProjectionDirty || (node.isSharedProjectionDirty = Boolean(node.isProjectionDirty ||\n        node.parent.isProjectionDirty ||\n        node.parent.isSharedProjectionDirty));\n    node.isTransformDirty || (node.isTransformDirty = node.parent.isTransformDirty);\n}\nfunction cleanDirtyNodes(node) {\n    node.isProjectionDirty =\n        node.isSharedProjectionDirty =\n            node.isTransformDirty =\n                false;\n}\nfunction clearSnapshot(node) {\n    node.clearSnapshot();\n}\nfunction clearMeasurements(node) {\n    node.clearMeasurements();\n}\nfunction clearIsLayoutDirty(node) {\n    node.isLayoutDirty = false;\n}\nfunction resetTransformStyle(node) {\n    const { visualElement } = node.options;\n    if (visualElement && visualElement.getProps().onBeforeLayoutMeasure) {\n        visualElement.notify(\"BeforeLayoutMeasure\");\n    }\n    node.resetTransform();\n}\nfunction finishAnimation(node) {\n    node.finishAnimation();\n    node.targetDelta = node.relativeTarget = node.target = undefined;\n    node.isProjectionDirty = true;\n}\nfunction resolveTargetDelta(node) {\n    node.resolveTargetDelta();\n}\nfunction calcProjection(node) {\n    node.calcProjection();\n}\nfunction resetSkewAndRotation(node) {\n    node.resetSkewAndRotation();\n}\nfunction removeLeadSnapshots(stack) {\n    stack.removeLeadSnapshot();\n}\nfunction mixAxisDelta(output, delta, p) {\n    output.translate = mixNumber(delta.translate, 0, p);\n    output.scale = mixNumber(delta.scale, 1, p);\n    output.origin = delta.origin;\n    output.originPoint = delta.originPoint;\n}\nfunction mixAxis(output, from, to, p) {\n    output.min = mixNumber(from.min, to.min, p);\n    output.max = mixNumber(from.max, to.max, p);\n}\nfunction mixBox(output, from, to, p) {\n    mixAxis(output.x, from.x, to.x, p);\n    mixAxis(output.y, from.y, to.y, p);\n}\nfunction hasOpacityCrossfade(node) {\n    return (node.animationValues && node.animationValues.opacityExit !== undefined);\n}\nconst defaultLayoutTransition = {\n    duration: 0.45,\n    ease: [0.4, 0, 0.1, 1],\n};\nconst userAgentContains = (string) => typeof navigator !== \"undefined\" &&\n    navigator.userAgent &&\n    navigator.userAgent.toLowerCase().includes(string);\n/**\n * Measured bounding boxes must be rounded in Safari and\n * left untouched in Chrome, otherwise non-integer layouts within scaled-up elements\n * can appear to jump.\n */\nconst roundPoint = userAgentContains(\"applewebkit/\") && !userAgentContains(\"chrome/\")\n    ? Math.round\n    : noop;\nfunction roundAxis(axis) {\n    // Round to the nearest .5 pixels to support subpixel layouts\n    axis.min = roundPoint(axis.min);\n    axis.max = roundPoint(axis.max);\n}\nfunction roundBox(box) {\n    roundAxis(box.x);\n    roundAxis(box.y);\n}\nfunction shouldAnimatePositionOnly(animationType, snapshot, layout) {\n    return (animationType === \"position\" ||\n        (animationType === \"preserve-aspect\" &&\n            !isNear(aspectRatio(snapshot), aspectRatio(layout), 0.2)));\n}\nfunction checkNodeWasScrollRoot(node) {\n    return node !== node.root && node.scroll?.wasRoot;\n}\n\nexport { cleanDirtyNodes, createProjectionNode, mixAxis, mixAxisDelta, mixBox, propagateDirtyNodes };\n//# sourceMappingURL=create-projection-node.mjs.map\n","/**\n * This should only ever be modified on the client otherwise it'll\n * persist through server requests. If we need instanced states we\n * could lazy-init via root.\n */\nconst globalProjectionState = {\n    /**\n     * Global flag as to whether the tree has animated since the last time\n     * we resized the window\n     */\n    hasAnimatedSinceResize: true,\n    /**\n     * We set this to true once, on the first update. Any nodes added to the tree beyond that\n     * update will be given a `data-projection-id` attribute.\n     */\n    hasEverUpdated: false,\n};\n\nexport { globalProjectionState };\n//# sourceMappingURL=state.mjs.map\n","import { addUniqueItem, removeItem } from 'motion-utils';\n\nclass NodeStack {\n    constructor() {\n        this.members = [];\n    }\n    add(node) {\n        addUniqueItem(this.members, node);\n        for (let i = this.members.length - 1; i >= 0; i--) {\n            const m = this.members[i];\n            if (m === node || m === this.lead || m === this.prevLead)\n                continue;\n            const inst = m.instance;\n            if (inst && inst.isConnected === false && m.isPresent !== false && !m.snapshot) {\n                removeItem(this.members, m);\n            }\n        }\n        node.scheduleRender();\n    }\n    remove(node) {\n        removeItem(this.members, node);\n        if (node === this.prevLead) {\n            this.prevLead = undefined;\n        }\n        if (node === this.lead) {\n            const prevLead = this.members[this.members.length - 1];\n            if (prevLead) {\n                this.promote(prevLead);\n            }\n        }\n    }\n    relegate(node) {\n        const indexOfNode = this.members.findIndex((member) => node === member);\n        if (indexOfNode === 0)\n            return false;\n        /**\n         * Find the next projection node that is present\n         */\n        let prevLead;\n        for (let i = indexOfNode; i >= 0; i--) {\n            const member = this.members[i];\n            const inst = member.instance;\n            if (member.isPresent !== false && (!inst || inst.isConnected !== false)) {\n                prevLead = member;\n                break;\n            }\n        }\n        if (prevLead) {\n            this.promote(prevLead);\n            return true;\n        }\n        else {\n            return false;\n        }\n    }\n    promote(node, preserveFollowOpacity) {\n        const prevLead = this.lead;\n        if (node === prevLead)\n            return;\n        this.prevLead = prevLead;\n        this.lead = node;\n        node.show();\n        if (prevLead) {\n            prevLead.instance && prevLead.scheduleRender();\n            node.scheduleRender();\n            /**\n             * If both the new and previous lead have the same defined layoutDependency,\n             * skip the shared layout animation. This allows components with layoutId\n             * to opt-out of animations when their layoutDependency hasn't changed,\n             * even when the component unmounts and remounts in a different location.\n             */\n            const prevDep = prevLead.options.layoutDependency;\n            const nextDep = node.options.layoutDependency;\n            const dependencyMatches = prevDep !== undefined &&\n                nextDep !== undefined &&\n                prevDep === nextDep;\n            if (!dependencyMatches) {\n                const prevInstance = prevLead.instance;\n                const isStale = prevInstance && prevInstance.isConnected === false && !prevLead.snapshot;\n                if (!isStale) {\n                    node.resumeFrom = prevLead;\n                    if (preserveFollowOpacity) {\n                        node.resumeFrom.preserveOpacity = true;\n                    }\n                    if (prevLead.snapshot) {\n                        node.snapshot = prevLead.snapshot;\n                        node.snapshot.latestValues =\n                            prevLead.animationValues || prevLead.latestValues;\n                    }\n                    if (node.root && node.root.isUpdating) {\n                        node.isLayoutDirty = true;\n                    }\n                }\n            }\n            const { crossfade } = node.options;\n            if (crossfade === false) {\n                prevLead.hide();\n            }\n        }\n    }\n    exitAnimationComplete() {\n        this.members.forEach((node) => {\n            const { options, resumingFrom } = node;\n            options.onExitComplete && options.onExitComplete();\n            if (resumingFrom) {\n                resumingFrom.options.onExitComplete &&\n                    resumingFrom.options.onExitComplete();\n            }\n        });\n    }\n    scheduleRender() {\n        this.members.forEach((node) => {\n            node.instance && node.scheduleRender(false);\n        });\n    }\n    /**\n     * Clear any leads that have been removed this render to prevent them from being\n     * used in future animations and to prevent memory leaks\n     */\n    removeLeadSnapshot() {\n        if (this.lead && this.lead.snapshot) {\n            this.lead.snapshot = undefined;\n        }\n    }\n}\n\nexport { NodeStack };\n//# sourceMappingURL=stack.mjs.map\n","import { px } from '../../value/types/numbers/units.mjs';\n\nfunction pixelsToPercent(pixels, axis) {\n    if (axis.max === axis.min)\n        return 0;\n    return (pixels / (axis.max - axis.min)) * 100;\n}\n/**\n * We always correct borderRadius as a percentage rather than pixels to reduce paints.\n * For example, if you are projecting a box that is 100px wide with a 10px borderRadius\n * into a box that is 200px wide with a 20px borderRadius, that is actually a 10%\n * borderRadius in both states. If we animate between the two in pixels that will trigger\n * a paint each time. If we animate between the two in percentage we'll avoid a paint.\n */\nconst correctBorderRadius = {\n    correct: (latest, node) => {\n        if (!node.target)\n            return latest;\n        /**\n         * If latest is a string, if it's a percentage we can return immediately as it's\n         * going to be stretched appropriately. Otherwise, if it's a pixel, convert it to a number.\n         */\n        if (typeof latest === \"string\") {\n            if (px.test(latest)) {\n                latest = parseFloat(latest);\n            }\n            else {\n                return latest;\n            }\n        }\n        /**\n         * If latest is a number, it's a pixel value. We use the current viewportBox to calculate that\n         * pixel value as a percentage of each axis\n         */\n        const x = pixelsToPercent(latest, node.target.x);\n        const y = pixelsToPercent(latest, node.target.y);\n        return `${x}% ${y}%`;\n    },\n};\n\nexport { correctBorderRadius, pixelsToPercent };\n//# sourceMappingURL=scale-border-radius.mjs.map\n","import { complex } from '../../value/types/complex/index.mjs';\nimport { mixNumber } from '../../utils/mix/number.mjs';\n\nconst correctBoxShadow = {\n    correct: (latest, { treeScale, projectionDelta }) => {\n        const original = latest;\n        const shadow = complex.parse(latest);\n        // TODO: Doesn't support multiple shadows\n        if (shadow.length > 5)\n            return original;\n        const template = complex.createTransformer(latest);\n        const offset = typeof shadow[0] !== \"number\" ? 1 : 0;\n        // Calculate the overall context scale\n        const xScale = projectionDelta.x.scale * treeScale.x;\n        const yScale = projectionDelta.y.scale * treeScale.y;\n        shadow[0 + offset] /= xScale;\n        shadow[1 + offset] /= yScale;\n        /**\n         * Ideally we'd correct x and y scales individually, but because blur and\n         * spread apply to both we have to take a scale average and apply that instead.\n         * We could potentially improve the outcome of this by incorporating the ratio between\n         * the two scales.\n         */\n        const averageScale = mixNumber(xScale, yScale, 0.5);\n        // Blur\n        if (typeof shadow[2 + offset] === \"number\")\n            shadow[2 + offset] /= averageScale;\n        // Spread\n        if (typeof shadow[3 + offset] === \"number\")\n            shadow[3 + offset] /= averageScale;\n        return template(shadow);\n    },\n};\n\nexport { correctBoxShadow };\n//# sourceMappingURL=scale-box-shadow.mjs.map\n","import { isCSSVariableName } from '../../animation/utils/is-css-variable.mjs';\nimport { correctBorderRadius } from './scale-border-radius.mjs';\nimport { correctBoxShadow } from './scale-box-shadow.mjs';\n\nconst scaleCorrectors = {\n    borderRadius: {\n        ...correctBorderRadius,\n        applyTo: [\n            \"borderTopLeftRadius\",\n            \"borderTopRightRadius\",\n            \"borderBottomLeftRadius\",\n            \"borderBottomRightRadius\",\n        ],\n    },\n    borderTopLeftRadius: correctBorderRadius,\n    borderTopRightRadius: correctBorderRadius,\n    borderBottomLeftRadius: correctBorderRadius,\n    borderBottomRightRadius: correctBorderRadius,\n    boxShadow: correctBoxShadow,\n};\nfunction addScaleCorrector(correctors) {\n    for (const key in correctors) {\n        scaleCorrectors[key] = correctors[key];\n        if (isCSSVariableName(key)) {\n            scaleCorrectors[key].isCSSVariable = true;\n        }\n    }\n}\n\nexport { addScaleCorrector, scaleCorrectors };\n//# sourceMappingURL=scale-correction.mjs.map\n","function buildProjectionTransform(delta, treeScale, latestTransform) {\n    let transform = \"\";\n    /**\n     * The translations we use to calculate are always relative to the viewport coordinate space.\n     * But when we apply scales, we also scale the coordinate space of an element and its children.\n     * For instance if we have a treeScale (the culmination of all parent scales) of 0.5 and we need\n     * to move an element 100 pixels, we actually need to move it 200 in within that scaled space.\n     */\n    const xTranslate = delta.x.translate / treeScale.x;\n    const yTranslate = delta.y.translate / treeScale.y;\n    const zTranslate = latestTransform?.z || 0;\n    if (xTranslate || yTranslate || zTranslate) {\n        transform = `translate3d(${xTranslate}px, ${yTranslate}px, ${zTranslate}px) `;\n    }\n    /**\n     * Apply scale correction for the tree transform.\n     * This will apply scale to the screen-orientated axes.\n     */\n    if (treeScale.x !== 1 || treeScale.y !== 1) {\n        transform += `scale(${1 / treeScale.x}, ${1 / treeScale.y}) `;\n    }\n    if (latestTransform) {\n        const { transformPerspective, rotate, rotateX, rotateY, skewX, skewY } = latestTransform;\n        if (transformPerspective)\n            transform = `perspective(${transformPerspective}px) ${transform}`;\n        if (rotate)\n            transform += `rotate(${rotate}deg) `;\n        if (rotateX)\n            transform += `rotateX(${rotateX}deg) `;\n        if (rotateY)\n            transform += `rotateY(${rotateY}deg) `;\n        if (skewX)\n            transform += `skewX(${skewX}deg) `;\n        if (skewY)\n            transform += `skewY(${skewY}deg) `;\n    }\n    /**\n     * Apply scale to match the size of the element to the size we want it.\n     * This will apply scale to the element-orientated axes.\n     */\n    const elementScaleX = delta.x.scale * treeScale.x;\n    const elementScaleY = delta.y.scale * treeScale.y;\n    if (elementScaleX !== 1 || elementScaleY !== 1) {\n        transform += `scale(${elementScaleX}, ${elementScaleY})`;\n    }\n    return transform || \"none\";\n}\n\nexport { buildProjectionTransform };\n//# sourceMappingURL=transform.mjs.map\n","const compareByDepth = (a, b) => a.depth - b.depth;\n\nexport { compareByDepth };\n//# sourceMappingURL=compare-by-depth.mjs.map\n","function eachAxis(callback) {\n    return [callback(\"x\"), callback(\"y\")];\n}\n\nexport { eachAxis };\n//# sourceMappingURL=each-axis.mjs.map\n","import { addUniqueItem, removeItem } from 'motion-utils';\nimport { compareByDepth } from './compare-by-depth.mjs';\n\nclass FlatTree {\n    constructor() {\n        this.children = [];\n        this.isDirty = false;\n    }\n    add(child) {\n        addUniqueItem(this.children, child);\n        this.isDirty = true;\n    }\n    remove(child) {\n        removeItem(this.children, child);\n        this.isDirty = true;\n    }\n    forEach(callback) {\n        this.isDirty && this.children.sort(compareByDepth);\n        this.isDirty = false;\n        this.children.forEach(callback);\n    }\n}\n\nexport { FlatTree };\n//# sourceMappingURL=flat-tree.mjs.map\n","function isIdentityScale(scale) {\n    return scale === undefined || scale === 1;\n}\nfunction hasScale({ scale, scaleX, scaleY }) {\n    return (!isIdentityScale(scale) ||\n        !isIdentityScale(scaleX) ||\n        !isIdentityScale(scaleY));\n}\nfunction hasTransform(values) {\n    return (hasScale(values) ||\n        has2DTranslate(values) ||\n        values.z ||\n        values.rotate ||\n        values.rotateX ||\n        values.rotateY ||\n        values.skewX ||\n        values.skewY);\n}\nfunction has2DTranslate(values) {\n    return is2DTranslate(values.x) || is2DTranslate(values.y);\n}\nfunction is2DTranslate(value) {\n    return value && value !== \"0%\";\n}\n\nexport { has2DTranslate, hasScale, hasTransform };\n//# sourceMappingURL=has-transform.mjs.map\n","import { convertBoundingBoxToBox, transformBoxPoints } from '../geometry/conversion.mjs';\nimport { translateAxis } from '../geometry/delta-apply.mjs';\n\nfunction measureViewportBox(instance, transformPoint) {\n    return convertBoundingBoxToBox(transformBoxPoints(instance.getBoundingClientRect(), transformPoint));\n}\nfunction measurePageBox(element, rootProjectionNode, transformPagePoint) {\n    const viewportBox = measureViewportBox(element, transformPagePoint);\n    const { scroll } = rootProjectionNode;\n    if (scroll) {\n        translateAxis(viewportBox.x, scroll.offset.x);\n        translateAxis(viewportBox.y, scroll.offset.y);\n    }\n    return viewportBox;\n}\n\nexport { measurePageBox, measureViewportBox };\n//# sourceMappingURL=measure.mjs.map\n","/**\n * Feature base class for extending VisualElement functionality.\n * Features are plugins that can be mounted/unmounted to add behavior\n * like gestures, animations, or layout tracking.\n */\nclass Feature {\n    constructor(node) {\n        this.isMounted = false;\n        this.node = node;\n    }\n    update() { }\n}\n\nexport { Feature };\n//# sourceMappingURL=Feature.mjs.map\n","import { warnOnce, secondsToMilliseconds, isNumericalString, isZeroValueString, SubscriptionManager } from 'motion-utils';\nimport { KeyframeResolver } from '../animation/keyframes/KeyframesResolver.mjs';\nimport { NativeAnimation } from '../animation/NativeAnimation.mjs';\nimport { acceleratedValues } from '../animation/waapi/utils/accelerated-values.mjs';\nimport { microtask } from '../frameloop/microtask.mjs';\nimport { time } from '../frameloop/sync-time.mjs';\nimport { createBox } from '../projection/geometry/models.mjs';\nimport { motionValue } from '../value/index.mjs';\nimport { complex } from '../value/types/complex/index.mjs';\nimport { getAnimatableNone } from '../value/types/utils/animatable-none.mjs';\nimport { findValueType } from '../value/types/utils/find.mjs';\nimport { isMotionValue } from '../value/utils/is-motion-value.mjs';\nimport { visualElementStore } from './store.mjs';\nimport { isControllingVariants, isVariantNode } from './utils/is-controlling-variants.mjs';\nimport { transformProps } from './utils/keys-transform.mjs';\nimport { updateMotionValuesFromProps } from './utils/motion-values.mjs';\nimport { initPrefersReducedMotion } from './utils/reduced-motion/index.mjs';\nimport { resolveVariantFromProps } from './utils/resolve-variants.mjs';\nimport { hasReducedMotionListener, prefersReducedMotion } from './utils/reduced-motion/state.mjs';\nimport { frame, cancelFrame } from '../frameloop/frame.mjs';\n\nconst propEventHandlers = [\n    \"AnimationStart\",\n    \"AnimationComplete\",\n    \"Update\",\n    \"BeforeLayoutMeasure\",\n    \"LayoutMeasure\",\n    \"LayoutAnimationStart\",\n    \"LayoutAnimationComplete\",\n];\n/**\n * Static feature definitions - can be injected by framework layer\n */\nlet featureDefinitions = {};\n/**\n * Set feature definitions for all VisualElements.\n * This should be called by the framework layer (e.g., framer-motion) during initialization.\n */\nfunction setFeatureDefinitions(definitions) {\n    featureDefinitions = definitions;\n}\n/**\n * Get the current feature definitions\n */\nfunction getFeatureDefinitions() {\n    return featureDefinitions;\n}\n/**\n * A VisualElement is an imperative abstraction around UI elements such as\n * HTMLElement, SVGElement, Three.Object3D etc.\n */\nclass VisualElement {\n    /**\n     * This method takes React props and returns found MotionValues. For example, HTML\n     * MotionValues will be found within the style prop, whereas for Three.js within attribute arrays.\n     *\n     * This isn't an abstract method as it needs calling in the constructor, but it is\n     * intended to be one.\n     */\n    scrapeMotionValuesFromProps(_props, _prevProps, _visualElement) {\n        return {};\n    }\n    constructor({ parent, props, presenceContext, reducedMotionConfig, skipAnimations, blockInitialAnimation, visualState, }, options = {}) {\n        /**\n         * A reference to the current underlying Instance, e.g. a HTMLElement\n         * or Three.Mesh etc.\n         */\n        this.current = null;\n        /**\n         * A set containing references to this VisualElement's children.\n         */\n        this.children = new Set();\n        /**\n         * Determine what role this visual element should take in the variant tree.\n         */\n        this.isVariantNode = false;\n        this.isControllingVariants = false;\n        /**\n         * Decides whether this VisualElement should animate in reduced motion\n         * mode.\n         *\n         * TODO: This is currently set on every individual VisualElement but feels\n         * like it could be set globally.\n         */\n        this.shouldReduceMotion = null;\n        /**\n         * Decides whether animations should be skipped for this VisualElement.\n         * Useful for E2E tests and visual regression testing.\n         */\n        this.shouldSkipAnimations = false;\n        /**\n         * A map of all motion values attached to this visual element. Motion\n         * values are source of truth for any given animated value. A motion\n         * value might be provided externally by the component via props.\n         */\n        this.values = new Map();\n        this.KeyframeResolver = KeyframeResolver;\n        /**\n         * Cleanup functions for active features (hover/tap/exit etc)\n         */\n        this.features = {};\n        /**\n         * A map of every subscription that binds the provided or generated\n         * motion values onChange listeners to this visual element.\n         */\n        this.valueSubscriptions = new Map();\n        /**\n         * A reference to the previously-provided motion values as returned\n         * from scrapeMotionValuesFromProps. We use the keys in here to determine\n         * if any motion values need to be removed after props are updated.\n         */\n        this.prevMotionValues = {};\n        /**\n         * Track whether this element has been mounted before, to detect\n         * remounts after Suspense unmount/remount cycles.\n         */\n        this.hasBeenMounted = false;\n        /**\n         * An object containing a SubscriptionManager for each active event.\n         */\n        this.events = {};\n        /**\n         * An object containing an unsubscribe function for each prop event subscription.\n         * For example, every \"Update\" event can have multiple subscribers via\n         * VisualElement.on(), but only one of those can be defined via the onUpdate prop.\n         */\n        this.propEventSubscriptions = {};\n        this.notifyUpdate = () => this.notify(\"Update\", this.latestValues);\n        this.render = () => {\n            if (!this.current)\n                return;\n            this.triggerBuild();\n            this.renderInstance(this.current, this.renderState, this.props.style, this.projection);\n        };\n        this.renderScheduledAt = 0.0;\n        this.scheduleRender = () => {\n            const now = time.now();\n            if (this.renderScheduledAt < now) {\n                this.renderScheduledAt = now;\n                frame.render(this.render, false, true);\n            }\n        };\n        const { latestValues, renderState } = visualState;\n        this.latestValues = latestValues;\n        this.baseTarget = { ...latestValues };\n        this.initialValues = props.initial ? { ...latestValues } : {};\n        this.renderState = renderState;\n        this.parent = parent;\n        this.props = props;\n        this.presenceContext = presenceContext;\n        this.depth = parent ? parent.depth + 1 : 0;\n        this.reducedMotionConfig = reducedMotionConfig;\n        this.skipAnimationsConfig = skipAnimations;\n        this.options = options;\n        this.blockInitialAnimation = Boolean(blockInitialAnimation);\n        this.isControllingVariants = isControllingVariants(props);\n        this.isVariantNode = isVariantNode(props);\n        if (this.isVariantNode) {\n            this.variantChildren = new Set();\n        }\n        this.manuallyAnimateOnMount = Boolean(parent && parent.current);\n        /**\n         * Any motion values that are provided to the element when created\n         * aren't yet bound to the element, as this would technically be impure.\n         * However, we iterate through the motion values and set them to the\n         * initial values for this component.\n         *\n         * TODO: This is impure and we should look at changing this to run on mount.\n         * Doing so will break some tests but this isn't necessarily a breaking change,\n         * more a reflection of the test.\n         */\n        const { willChange, ...initialMotionValues } = this.scrapeMotionValuesFromProps(props, {}, this);\n        for (const key in initialMotionValues) {\n            const value = initialMotionValues[key];\n            if (latestValues[key] !== undefined && isMotionValue(value)) {\n                value.set(latestValues[key]);\n            }\n        }\n    }\n    mount(instance) {\n        /**\n         * If this element has been mounted before (e.g. after a Suspense\n         * unmount/remount), reset motion values to their initial state\n         * so animations replay correctly from initial → animate.\n         */\n        if (this.hasBeenMounted) {\n            for (const key in this.initialValues) {\n                this.values.get(key)?.jump(this.initialValues[key]);\n                this.latestValues[key] = this.initialValues[key];\n            }\n        }\n        this.current = instance;\n        visualElementStore.set(instance, this);\n        if (this.projection && !this.projection.instance) {\n            this.projection.mount(instance);\n        }\n        if (this.parent && this.isVariantNode && !this.isControllingVariants) {\n            this.removeFromVariantTree = this.parent.addVariantChild(this);\n        }\n        this.values.forEach((value, key) => this.bindToMotionValue(key, value));\n        /**\n         * Determine reduced motion preference. Only initialize the matchMedia\n         * listener if we actually need the dynamic value (i.e., when config\n         * is neither \"never\" nor \"always\").\n         */\n        if (this.reducedMotionConfig === \"never\") {\n            this.shouldReduceMotion = false;\n        }\n        else if (this.reducedMotionConfig === \"always\") {\n            this.shouldReduceMotion = true;\n        }\n        else {\n            if (!hasReducedMotionListener.current) {\n                initPrefersReducedMotion();\n            }\n            this.shouldReduceMotion = prefersReducedMotion.current;\n        }\n        if (process.env.NODE_ENV !== \"production\") {\n            warnOnce(this.shouldReduceMotion !== true, \"You have Reduced Motion enabled on your device. Animations may not appear as expected.\", \"reduced-motion-disabled\");\n        }\n        /**\n         * Set whether animations should be skipped based on the config.\n         */\n        this.shouldSkipAnimations = this.skipAnimationsConfig ?? false;\n        this.parent?.addChild(this);\n        this.update(this.props, this.presenceContext);\n        this.hasBeenMounted = true;\n    }\n    unmount() {\n        this.projection && this.projection.unmount();\n        cancelFrame(this.notifyUpdate);\n        cancelFrame(this.render);\n        this.valueSubscriptions.forEach((remove) => remove());\n        this.valueSubscriptions.clear();\n        this.removeFromVariantTree && this.removeFromVariantTree();\n        this.parent?.removeChild(this);\n        for (const key in this.events) {\n            this.events[key].clear();\n        }\n        for (const key in this.features) {\n            const feature = this.features[key];\n            if (feature) {\n                feature.unmount();\n                feature.isMounted = false;\n            }\n        }\n        this.current = null;\n    }\n    addChild(child) {\n        this.children.add(child);\n        this.enteringChildren ?? (this.enteringChildren = new Set());\n        this.enteringChildren.add(child);\n    }\n    removeChild(child) {\n        this.children.delete(child);\n        this.enteringChildren && this.enteringChildren.delete(child);\n    }\n    bindToMotionValue(key, value) {\n        if (this.valueSubscriptions.has(key)) {\n            this.valueSubscriptions.get(key)();\n        }\n        if (value.accelerate &&\n            acceleratedValues.has(key) &&\n            this.current instanceof HTMLElement) {\n            const { factory, keyframes, times, ease, duration } = value.accelerate;\n            const animation = new NativeAnimation({\n                element: this.current,\n                name: key,\n                keyframes,\n                times,\n                ease,\n                duration: secondsToMilliseconds(duration),\n            });\n            const cleanup = factory(animation);\n            this.valueSubscriptions.set(key, () => {\n                cleanup();\n                animation.cancel();\n            });\n            return;\n        }\n        const valueIsTransform = transformProps.has(key);\n        if (valueIsTransform && this.onBindTransform) {\n            this.onBindTransform();\n        }\n        const removeOnChange = value.on(\"change\", (latestValue) => {\n            this.latestValues[key] = latestValue;\n            this.props.onUpdate && frame.preRender(this.notifyUpdate);\n            if (valueIsTransform && this.projection) {\n                this.projection.isTransformDirty = true;\n            }\n            this.scheduleRender();\n        });\n        let removeSyncCheck;\n        if (typeof window !== \"undefined\" &&\n            window.MotionCheckAppearSync) {\n            removeSyncCheck = window.MotionCheckAppearSync(this, key, value);\n        }\n        this.valueSubscriptions.set(key, () => {\n            removeOnChange();\n            if (removeSyncCheck)\n                removeSyncCheck();\n            if (value.owner)\n                value.stop();\n        });\n    }\n    sortNodePosition(other) {\n        /**\n         * If these nodes aren't even of the same type we can't compare their depth.\n         */\n        if (!this.current ||\n            !this.sortInstanceNodePosition ||\n            this.type !== other.type) {\n            return 0;\n        }\n        return this.sortInstanceNodePosition(this.current, other.current);\n    }\n    updateFeatures() {\n        let key = \"animation\";\n        for (key in featureDefinitions) {\n            const featureDefinition = featureDefinitions[key];\n            if (!featureDefinition)\n                continue;\n            const { isEnabled, Feature: FeatureConstructor } = featureDefinition;\n            /**\n             * If this feature is enabled but not active, make a new instance.\n             */\n            if (!this.features[key] &&\n                FeatureConstructor &&\n                isEnabled(this.props)) {\n                this.features[key] = new FeatureConstructor(this);\n            }\n            /**\n             * If we have a feature, mount or update it.\n             */\n            if (this.features[key]) {\n                const feature = this.features[key];\n                if (feature.isMounted) {\n                    feature.update();\n                }\n                else {\n                    feature.mount();\n                    feature.isMounted = true;\n                }\n            }\n        }\n    }\n    triggerBuild() {\n        this.build(this.renderState, this.latestValues, this.props);\n    }\n    /**\n     * Measure the current viewport box with or without transforms.\n     * Only measures axis-aligned boxes, rotate and skew must be manually\n     * removed with a re-render to work.\n     */\n    measureViewportBox() {\n        return this.current\n            ? this.measureInstanceViewportBox(this.current, this.props)\n            : createBox();\n    }\n    getStaticValue(key) {\n        return this.latestValues[key];\n    }\n    setStaticValue(key, value) {\n        this.latestValues[key] = value;\n    }\n    /**\n     * Update the provided props. Ensure any newly-added motion values are\n     * added to our map, old ones removed, and listeners updated.\n     */\n    update(props, presenceContext) {\n        if (props.transformTemplate || this.props.transformTemplate) {\n            this.scheduleRender();\n        }\n        this.prevProps = this.props;\n        this.props = props;\n        this.prevPresenceContext = this.presenceContext;\n        this.presenceContext = presenceContext;\n        /**\n         * Update prop event handlers ie onAnimationStart, onAnimationComplete\n         */\n        for (let i = 0; i < propEventHandlers.length; i++) {\n            const key = propEventHandlers[i];\n            if (this.propEventSubscriptions[key]) {\n                this.propEventSubscriptions[key]();\n                delete this.propEventSubscriptions[key];\n            }\n            const listenerName = (\"on\" + key);\n            const listener = props[listenerName];\n            if (listener) {\n                this.propEventSubscriptions[key] = this.on(key, listener);\n            }\n        }\n        this.prevMotionValues = updateMotionValuesFromProps(this, this.scrapeMotionValuesFromProps(props, this.prevProps || {}, this), this.prevMotionValues);\n        if (this.handleChildMotionValue) {\n            this.handleChildMotionValue();\n        }\n    }\n    getProps() {\n        return this.props;\n    }\n    /**\n     * Returns the variant definition with a given name.\n     */\n    getVariant(name) {\n        return this.props.variants ? this.props.variants[name] : undefined;\n    }\n    /**\n     * Returns the defined default transition on this component.\n     */\n    getDefaultTransition() {\n        return this.props.transition;\n    }\n    getTransformPagePoint() {\n        return this.props.transformPagePoint;\n    }\n    getClosestVariantNode() {\n        return this.isVariantNode\n            ? this\n            : this.parent\n                ? this.parent.getClosestVariantNode()\n                : undefined;\n    }\n    /**\n     * Add a child visual element to our set of children.\n     */\n    addVariantChild(child) {\n        const closestVariantNode = this.getClosestVariantNode();\n        if (closestVariantNode) {\n            closestVariantNode.variantChildren &&\n                closestVariantNode.variantChildren.add(child);\n            return () => closestVariantNode.variantChildren.delete(child);\n        }\n    }\n    /**\n     * Add a motion value and bind it to this visual element.\n     */\n    addValue(key, value) {\n        // Remove existing value if it exists\n        const existingValue = this.values.get(key);\n        if (value !== existingValue) {\n            if (existingValue)\n                this.removeValue(key);\n            this.bindToMotionValue(key, value);\n            this.values.set(key, value);\n            this.latestValues[key] = value.get();\n        }\n    }\n    /**\n     * Remove a motion value and unbind any active subscriptions.\n     */\n    removeValue(key) {\n        this.values.delete(key);\n        const unsubscribe = this.valueSubscriptions.get(key);\n        if (unsubscribe) {\n            unsubscribe();\n            this.valueSubscriptions.delete(key);\n        }\n        delete this.latestValues[key];\n        this.removeValueFromRenderState(key, this.renderState);\n    }\n    /**\n     * Check whether we have a motion value for this key\n     */\n    hasValue(key) {\n        return this.values.has(key);\n    }\n    getValue(key, defaultValue) {\n        if (this.props.values && this.props.values[key]) {\n            return this.props.values[key];\n        }\n        let value = this.values.get(key);\n        if (value === undefined && defaultValue !== undefined) {\n            value = motionValue(defaultValue === null ? undefined : defaultValue, { owner: this });\n            this.addValue(key, value);\n        }\n        return value;\n    }\n    /**\n     * If we're trying to animate to a previously unencountered value,\n     * we need to check for it in our state and as a last resort read it\n     * directly from the instance (which might have performance implications).\n     */\n    readValue(key, target) {\n        let value = this.latestValues[key] !== undefined || !this.current\n            ? this.latestValues[key]\n            : this.getBaseTargetFromProps(this.props, key) ??\n                this.readValueFromInstance(this.current, key, this.options);\n        if (value !== undefined && value !== null) {\n            if (typeof value === \"string\" &&\n                (isNumericalString(value) || isZeroValueString(value))) {\n                // If this is a number read as a string, ie \"0\" or \"200\", convert it to a number\n                value = parseFloat(value);\n            }\n            else if (!findValueType(value) && complex.test(target)) {\n                value = getAnimatableNone(key, target);\n            }\n            this.setBaseTarget(key, isMotionValue(value) ? value.get() : value);\n        }\n        return isMotionValue(value) ? value.get() : value;\n    }\n    /**\n     * Set the base target to later animate back to. This is currently\n     * only hydrated on creation and when we first read a value.\n     */\n    setBaseTarget(key, value) {\n        this.baseTarget[key] = value;\n    }\n    /**\n     * Find the base target for a value thats been removed from all animation\n     * props.\n     */\n    getBaseTarget(key) {\n        const { initial } = this.props;\n        let valueFromInitial;\n        if (typeof initial === \"string\" || typeof initial === \"object\") {\n            const variant = resolveVariantFromProps(this.props, initial, this.presenceContext?.custom);\n            if (variant) {\n                valueFromInitial = variant[key];\n            }\n        }\n        /**\n         * If this value still exists in the current initial variant, read that.\n         */\n        if (initial && valueFromInitial !== undefined) {\n            return valueFromInitial;\n        }\n        /**\n         * Alternatively, if this VisualElement config has defined a getBaseTarget\n         * so we can read the value from an alternative source, try that.\n         */\n        const target = this.getBaseTargetFromProps(this.props, key);\n        if (target !== undefined && !isMotionValue(target))\n            return target;\n        /**\n         * If the value was initially defined on initial, but it doesn't any more,\n         * return undefined. Otherwise return the value as initially read from the DOM.\n         */\n        return this.initialValues[key] !== undefined &&\n            valueFromInitial === undefined\n            ? undefined\n            : this.baseTarget[key];\n    }\n    on(eventName, callback) {\n        if (!this.events[eventName]) {\n            this.events[eventName] = new SubscriptionManager();\n        }\n        return this.events[eventName].add(callback);\n    }\n    notify(eventName, ...args) {\n        if (this.events[eventName]) {\n            this.events[eventName].notify(...args);\n        }\n    }\n    scheduleRenderMicrotask() {\n        microtask.render(this.render);\n    }\n}\n\nexport { VisualElement, getFeatureDefinitions, setFeatureDefinitions };\n//# sourceMappingURL=VisualElement.mjs.map\n","import { isMotionValue } from '../../value/utils/is-motion-value.mjs';\nimport { DOMKeyframesResolver } from '../../animation/keyframes/DOMKeyframesResolver.mjs';\nimport { VisualElement } from '../VisualElement.mjs';\n\nclass DOMVisualElement extends VisualElement {\n    constructor() {\n        super(...arguments);\n        this.KeyframeResolver = DOMKeyframesResolver;\n    }\n    sortInstanceNodePosition(a, b) {\n        /**\n         * compareDocumentPosition returns a bitmask, by using the bitwise &\n         * we're returning true if 2 in that bitmask is set to true. 2 is set\n         * to true if b preceeds a.\n         */\n        return a.compareDocumentPosition(b) & 2 ? 1 : -1;\n    }\n    getBaseTargetFromProps(props, key) {\n        const style = props.style;\n        return style ? style[key] : undefined;\n    }\n    removeValueFromRenderState(key, { vars, style }) {\n        delete vars[key];\n        delete style[key];\n    }\n    handleChildMotionValue() {\n        if (this.childSubscription) {\n            this.childSubscription();\n            delete this.childSubscription;\n        }\n        const { children } = this.props;\n        if (isMotionValue(children)) {\n            this.childSubscription = children.on(\"change\", (latest) => {\n                if (this.current) {\n                    this.current.textContent = `${latest}`;\n                }\n            });\n        }\n    }\n}\n\nexport { DOMVisualElement };\n//# sourceMappingURL=DOMVisualElement.mjs.map\n","const isCSSVar = (name) => name.startsWith(\"--\");\n\nexport { isCSSVar };\n//# sourceMappingURL=is-css-var.mjs.map\n","const radToDeg = (rad) => (rad * 180) / Math.PI;\nconst rotate = (v) => {\n    const angle = radToDeg(Math.atan2(v[1], v[0]));\n    return rebaseAngle(angle);\n};\nconst matrix2dParsers = {\n    x: 4,\n    y: 5,\n    translateX: 4,\n    translateY: 5,\n    scaleX: 0,\n    scaleY: 3,\n    scale: (v) => (Math.abs(v[0]) + Math.abs(v[3])) / 2,\n    rotate,\n    rotateZ: rotate,\n    skewX: (v) => radToDeg(Math.atan(v[1])),\n    skewY: (v) => radToDeg(Math.atan(v[2])),\n    skew: (v) => (Math.abs(v[1]) + Math.abs(v[2])) / 2,\n};\nconst rebaseAngle = (angle) => {\n    angle = angle % 360;\n    if (angle < 0)\n        angle += 360;\n    return angle;\n};\nconst rotateZ = rotate;\nconst scaleX = (v) => Math.sqrt(v[0] * v[0] + v[1] * v[1]);\nconst scaleY = (v) => Math.sqrt(v[4] * v[4] + v[5] * v[5]);\nconst matrix3dParsers = {\n    x: 12,\n    y: 13,\n    z: 14,\n    translateX: 12,\n    translateY: 13,\n    translateZ: 14,\n    scaleX,\n    scaleY,\n    scale: (v) => (scaleX(v) + scaleY(v)) / 2,\n    rotateX: (v) => rebaseAngle(radToDeg(Math.atan2(v[6], v[5]))),\n    rotateY: (v) => rebaseAngle(radToDeg(Math.atan2(-v[2], v[0]))),\n    rotateZ,\n    rotate: rotateZ,\n    skewX: (v) => radToDeg(Math.atan(v[4])),\n    skewY: (v) => radToDeg(Math.atan(v[1])),\n    skew: (v) => (Math.abs(v[1]) + Math.abs(v[4])) / 2,\n};\nfunction defaultTransformValue(name) {\n    return name.includes(\"scale\") ? 1 : 0;\n}\nfunction parseValueFromTransform(transform, name) {\n    if (!transform || transform === \"none\") {\n        return defaultTransformValue(name);\n    }\n    const matrix3dMatch = transform.match(/^matrix3d\\(([-\\d.e\\s,]+)\\)$/u);\n    let parsers;\n    let match;\n    if (matrix3dMatch) {\n        parsers = matrix3dParsers;\n        match = matrix3dMatch;\n    }\n    else {\n        const matrix2dMatch = transform.match(/^matrix\\(([-\\d.e\\s,]+)\\)$/u);\n        parsers = matrix2dParsers;\n        match = matrix2dMatch;\n    }\n    if (!match) {\n        return defaultTransformValue(name);\n    }\n    const valueParser = parsers[name];\n    const values = match[1].split(\",\").map(convertTransformToNumber);\n    return typeof valueParser === \"function\"\n        ? valueParser(values)\n        : values[valueParser];\n}\nconst readTransformValue = (instance, name) => {\n    const { transform = \"none\" } = getComputedStyle(instance);\n    return parseValueFromTransform(transform, name);\n};\nfunction convertTransformToNumber(value) {\n    return parseFloat(value.trim());\n}\n\nexport { defaultTransformValue, parseValueFromTransform, readTransformValue };\n//# sourceMappingURL=parse-transform.mjs.map\n","import { isCSSVar } from './is-css-var.mjs';\n\nfunction setStyle(element, name, value) {\n    isCSSVar(name)\n        ? element.style.setProperty(name, value)\n        : (element.style[name] = value);\n}\n\nexport { setStyle };\n//# sourceMappingURL=style-set.mjs.map\n","function camelToDash(str) {\n    return str.replace(/([A-Z])/g, (match) => `-${match.toLowerCase()}`);\n}\n\nexport { camelToDash };\n//# sourceMappingURL=camel-to-dash.mjs.map\n","import { isCSSVariableName } from '../../animation/utils/is-css-variable.mjs';\nimport { transformProps } from '../utils/keys-transform.mjs';\nimport { defaultTransformValue, readTransformValue } from '../dom/parse-transform.mjs';\nimport { measureViewportBox } from '../../projection/utils/measure.mjs';\nimport { DOMVisualElement } from '../dom/DOMVisualElement.mjs';\nimport { buildHTMLStyles } from './utils/build-styles.mjs';\nimport { renderHTML } from './utils/render.mjs';\nimport { scrapeMotionValuesFromProps } from './utils/scrape-motion-values.mjs';\n\nfunction getComputedStyle(element) {\n    return window.getComputedStyle(element);\n}\nclass HTMLVisualElement extends DOMVisualElement {\n    constructor() {\n        super(...arguments);\n        this.type = \"html\";\n        this.renderInstance = renderHTML;\n    }\n    readValueFromInstance(instance, key) {\n        if (transformProps.has(key)) {\n            return this.projection?.isProjecting\n                ? defaultTransformValue(key)\n                : readTransformValue(instance, key);\n        }\n        else {\n            const computedStyle = getComputedStyle(instance);\n            const value = (isCSSVariableName(key)\n                ? computedStyle.getPropertyValue(key)\n                : computedStyle[key]) || 0;\n            return typeof value === \"string\" ? value.trim() : value;\n        }\n    }\n    measureInstanceViewportBox(instance, { transformPagePoint }) {\n        return measureViewportBox(instance, transformPagePoint);\n    }\n    build(renderState, latestValues, props) {\n        buildHTMLStyles(renderState, latestValues, props.transformTemplate);\n    }\n    scrapeMotionValuesFromProps(props, prevProps, visualElement) {\n        return scrapeMotionValuesFromProps(props, prevProps, visualElement);\n    }\n}\n\nexport { HTMLVisualElement, getComputedStyle };\n//# sourceMappingURL=HTMLVisualElement.mjs.map\n","import { getValueAsType } from '../../../value/types/utils/get-as-type.mjs';\nimport { numberValueTypes } from '../../../value/types/maps/number.mjs';\nimport { transformProps } from '../../utils/keys-transform.mjs';\nimport { isCSSVariableName } from '../../../animation/utils/is-css-variable.mjs';\nimport { buildTransform } from './build-transform.mjs';\n\nfunction buildHTMLStyles(state, latestValues, transformTemplate) {\n    const { style, vars, transformOrigin } = state;\n    // Track whether we encounter any transform or transformOrigin values.\n    let hasTransform = false;\n    let hasTransformOrigin = false;\n    /**\n     * Loop over all our latest animated values and decide whether to handle them\n     * as a style or CSS variable.\n     *\n     * Transforms and transform origins are kept separately for further processing.\n     */\n    for (const key in latestValues) {\n        const value = latestValues[key];\n        if (transformProps.has(key)) {\n            // If this is a transform, flag to enable further transform processing\n            hasTransform = true;\n            continue;\n        }\n        else if (isCSSVariableName(key)) {\n            vars[key] = value;\n            continue;\n        }\n        else {\n            // Convert the value to its default value type, ie 0 -> \"0px\"\n            const valueAsType = getValueAsType(value, numberValueTypes[key]);\n            if (key.startsWith(\"origin\")) {\n                // If this is a transform origin, flag and enable further transform-origin processing\n                hasTransformOrigin = true;\n                transformOrigin[key] =\n                    valueAsType;\n            }\n            else {\n                style[key] = valueAsType;\n            }\n        }\n    }\n    if (!latestValues.transform) {\n        if (hasTransform || transformTemplate) {\n            style.transform = buildTransform(latestValues, state.transform, transformTemplate);\n        }\n        else if (style.transform) {\n            /**\n             * If we have previously created a transform but currently don't have any,\n             * reset transform style to none.\n             */\n            style.transform = \"none\";\n        }\n    }\n    /**\n     * Build a transformOrigin style. Uses the same defaults as the browser for\n     * undefined origins.\n     */\n    if (hasTransformOrigin) {\n        const { originX = \"50%\", originY = \"50%\", originZ = 0, } = transformOrigin;\n        style.transformOrigin = `${originX} ${originY} ${originZ}`;\n    }\n}\n\nexport { buildHTMLStyles };\n//# sourceMappingURL=build-styles.mjs.map\n","import { getValueAsType } from '../../../value/types/utils/get-as-type.mjs';\nimport { numberValueTypes } from '../../../value/types/maps/number.mjs';\nimport { transformPropOrder } from '../../utils/keys-transform.mjs';\n\nconst translateAlias = {\n    x: \"translateX\",\n    y: \"translateY\",\n    z: \"translateZ\",\n    transformPerspective: \"perspective\",\n};\nconst numTransforms = transformPropOrder.length;\n/**\n * Build a CSS transform style from individual x/y/scale etc properties.\n *\n * This outputs with a default order of transforms/scales/rotations, this can be customised by\n * providing a transformTemplate function.\n */\nfunction buildTransform(latestValues, transform, transformTemplate) {\n    // The transform string we're going to build into.\n    let transformString = \"\";\n    let transformIsDefault = true;\n    /**\n     * Loop over all possible transforms in order, adding the ones that\n     * are present to the transform string.\n     */\n    for (let i = 0; i < numTransforms; i++) {\n        const key = transformPropOrder[i];\n        const value = latestValues[key];\n        if (value === undefined)\n            continue;\n        let valueIsDefault = true;\n        if (typeof value === \"number\") {\n            valueIsDefault = value === (key.startsWith(\"scale\") ? 1 : 0);\n        }\n        else {\n            const parsed = parseFloat(value);\n            valueIsDefault = key.startsWith(\"scale\") ? parsed === 1 : parsed === 0;\n        }\n        if (!valueIsDefault || transformTemplate) {\n            const valueAsType = getValueAsType(value, numberValueTypes[key]);\n            if (!valueIsDefault) {\n                transformIsDefault = false;\n                const transformName = translateAlias[key] || key;\n                transformString += `${transformName}(${valueAsType}) `;\n            }\n            if (transformTemplate) {\n                transform[key] = valueAsType;\n            }\n        }\n    }\n    transformString = transformString.trim();\n    // If we have a custom `transform` template, pass our transform values and\n    // generated transformString to that before returning\n    if (transformTemplate) {\n        transformString = transformTemplate(transform, transformIsDefault ? \"\" : transformString);\n    }\n    else if (transformIsDefault) {\n        transformString = \"none\";\n    }\n    return transformString;\n}\n\nexport { buildTransform };\n//# sourceMappingURL=build-transform.mjs.map\n","function renderHTML(element, { style, vars }, styleProp, projection) {\n    const elementStyle = element.style;\n    let key;\n    for (key in style) {\n        // CSSStyleDeclaration has [index: number]: string; in the types, so we use that as key type.\n        elementStyle[key] = style[key];\n    }\n    // Write projection styles directly to element style\n    projection?.applyProjectionStyles(elementStyle, styleProp);\n    for (key in vars) {\n        // Loop over any CSS variables and assign those.\n        // They can only be assigned using `setProperty`.\n        elementStyle.setProperty(key, vars[key]);\n    }\n}\n\nexport { renderHTML };\n//# sourceMappingURL=render.mjs.map\n","import { isMotionValue } from '../../../value/utils/is-motion-value.mjs';\nimport { isForcedMotionValue } from '../../utils/is-forced-motion-value.mjs';\n\nfunction scrapeMotionValuesFromProps(props, prevProps, visualElement) {\n    const style = props.style;\n    const prevStyle = prevProps?.style;\n    const newValues = {};\n    if (!style)\n        return newValues;\n    for (const key in style) {\n        if (isMotionValue(style[key]) ||\n            (prevStyle && isMotionValue(prevStyle[key])) ||\n            isForcedMotionValue(key, props) ||\n            visualElement?.getValue(key)?.liveStyle !== undefined) {\n            newValues[key] = style[key];\n        }\n    }\n    return newValues;\n}\n\nexport { scrapeMotionValuesFromProps };\n//# sourceMappingURL=scrape-motion-values.mjs.map\n","const visualElementStore = new WeakMap();\n\nexport { visualElementStore };\n//# sourceMappingURL=store.mjs.map\n","import { transformProps } from '../utils/keys-transform.mjs';\nimport { getDefaultValueType } from '../../value/types/maps/defaults.mjs';\nimport { createBox } from '../../projection/geometry/models.mjs';\nimport { DOMVisualElement } from '../dom/DOMVisualElement.mjs';\nimport { camelToDash } from '../dom/utils/camel-to-dash.mjs';\nimport { buildSVGAttrs } from './utils/build-attrs.mjs';\nimport { camelCaseAttributes } from './utils/camel-case-attrs.mjs';\nimport { isSVGTag } from './utils/is-svg-tag.mjs';\nimport { renderSVG } from './utils/render.mjs';\nimport { scrapeMotionValuesFromProps } from './utils/scrape-motion-values.mjs';\n\nclass SVGVisualElement extends DOMVisualElement {\n    constructor() {\n        super(...arguments);\n        this.type = \"svg\";\n        this.isSVGTag = false;\n        this.measureInstanceViewportBox = createBox;\n    }\n    getBaseTargetFromProps(props, key) {\n        return props[key];\n    }\n    readValueFromInstance(instance, key) {\n        if (transformProps.has(key)) {\n            const defaultType = getDefaultValueType(key);\n            return defaultType ? defaultType.default || 0 : 0;\n        }\n        key = !camelCaseAttributes.has(key) ? camelToDash(key) : key;\n        return instance.getAttribute(key);\n    }\n    scrapeMotionValuesFromProps(props, prevProps, visualElement) {\n        return scrapeMotionValuesFromProps(props, prevProps, visualElement);\n    }\n    build(renderState, latestValues, props) {\n        buildSVGAttrs(renderState, latestValues, this.isSVGTag, props.transformTemplate, props.style);\n    }\n    renderInstance(instance, renderState, styleProp, projection) {\n        renderSVG(instance, renderState, styleProp, projection);\n    }\n    mount(instance) {\n        this.isSVGTag = isSVGTag(instance.tagName);\n        super.mount(instance);\n    }\n}\n\nexport { SVGVisualElement };\n//# sourceMappingURL=SVGVisualElement.mjs.map\n","import { buildHTMLStyles } from '../../html/utils/build-styles.mjs';\nimport { buildSVGPath } from './path.mjs';\n\n/**\n * CSS Motion Path properties that should remain as CSS styles on SVG elements.\n */\nconst cssMotionPathProperties = [\n    \"offsetDistance\",\n    \"offsetPath\",\n    \"offsetRotate\",\n    \"offsetAnchor\",\n];\n/**\n * Build SVG visual attributes, like cx and style.transform\n */\nfunction buildSVGAttrs(state, { attrX, attrY, attrScale, pathLength, pathSpacing = 1, pathOffset = 0, \n// This is object creation, which we try to avoid per-frame.\n...latest }, isSVGTag, transformTemplate, styleProp) {\n    buildHTMLStyles(state, latest, transformTemplate);\n    /**\n     * For svg tags we just want to make sure viewBox is animatable and treat all the styles\n     * as normal HTML tags.\n     */\n    if (isSVGTag) {\n        if (state.style.viewBox) {\n            state.attrs.viewBox = state.style.viewBox;\n        }\n        return;\n    }\n    state.attrs = state.style;\n    state.style = {};\n    const { attrs, style } = state;\n    /**\n     * However, we apply transforms as CSS transforms.\n     * So if we detect a transform, transformOrigin we take it from attrs and copy it into style.\n     */\n    if (attrs.transform) {\n        style.transform = attrs.transform;\n        delete attrs.transform;\n    }\n    if (style.transform || attrs.transformOrigin) {\n        style.transformOrigin = attrs.transformOrigin ?? \"50% 50%\";\n        delete attrs.transformOrigin;\n    }\n    if (style.transform) {\n        /**\n         * SVG's element transform-origin uses its own median as a reference.\n         * Therefore, transformBox becomes a fill-box\n         */\n        style.transformBox = styleProp?.transformBox ?? \"fill-box\";\n        delete attrs.transformBox;\n    }\n    for (const key of cssMotionPathProperties) {\n        if (attrs[key] !== undefined) {\n            style[key] = attrs[key];\n            delete attrs[key];\n        }\n    }\n    // Render attrX/attrY/attrScale as attributes\n    if (attrX !== undefined)\n        attrs.x = attrX;\n    if (attrY !== undefined)\n        attrs.y = attrY;\n    if (attrScale !== undefined)\n        attrs.scale = attrScale;\n    // Build SVG path if one has been defined\n    if (pathLength !== undefined) {\n        buildSVGPath(attrs, pathLength, pathSpacing, pathOffset, false);\n    }\n}\n\nexport { buildSVGAttrs };\n//# sourceMappingURL=build-attrs.mjs.map\n","/**\n * A set of attribute names that are always read/written as camel case.\n */\nconst camelCaseAttributes = new Set([\n    \"baseFrequency\",\n    \"diffuseConstant\",\n    \"kernelMatrix\",\n    \"kernelUnitLength\",\n    \"keySplines\",\n    \"keyTimes\",\n    \"limitingConeAngle\",\n    \"markerHeight\",\n    \"markerWidth\",\n    \"numOctaves\",\n    \"targetX\",\n    \"targetY\",\n    \"surfaceScale\",\n    \"specularConstant\",\n    \"specularExponent\",\n    \"stdDeviation\",\n    \"tableValues\",\n    \"viewBox\",\n    \"gradientTransform\",\n    \"pathLength\",\n    \"startOffset\",\n    \"textLength\",\n    \"lengthAdjust\",\n]);\n\nexport { camelCaseAttributes };\n//# sourceMappingURL=camel-case-attrs.mjs.map\n","const isSVGTag = (tag) => typeof tag === \"string\" && tag.toLowerCase() === \"svg\";\n\nexport { isSVGTag };\n//# sourceMappingURL=is-svg-tag.mjs.map\n","const dashKeys = {\n    offset: \"stroke-dashoffset\",\n    array: \"stroke-dasharray\",\n};\nconst camelKeys = {\n    offset: \"strokeDashoffset\",\n    array: \"strokeDasharray\",\n};\n/**\n * Build SVG path properties. Uses the path's measured length to convert\n * our custom pathLength, pathSpacing and pathOffset into stroke-dashoffset\n * and stroke-dasharray attributes.\n *\n * This function is mutative to reduce per-frame GC.\n *\n * Note: We use unitless values for stroke-dasharray and stroke-dashoffset\n * because Safari incorrectly scales px values when the page is zoomed.\n */\nfunction buildSVGPath(attrs, length, spacing = 1, offset = 0, useDashCase = true) {\n    // Normalise path length by setting SVG attribute pathLength to 1\n    attrs.pathLength = 1;\n    // We use dash case when setting attributes directly to the DOM node and camel case\n    // when defining props on a React component.\n    const keys = useDashCase ? dashKeys : camelKeys;\n    // Build the dash offset (unitless to avoid Safari zoom bug)\n    attrs[keys.offset] = `${-offset}`;\n    // Build the dash array (unitless to avoid Safari zoom bug)\n    attrs[keys.array] = `${length} ${spacing}`;\n}\n\nexport { buildSVGPath };\n//# sourceMappingURL=path.mjs.map\n","import { camelToDash } from '../../dom/utils/camel-to-dash.mjs';\nimport { renderHTML } from '../../html/utils/render.mjs';\nimport { camelCaseAttributes } from './camel-case-attrs.mjs';\n\nfunction renderSVG(element, renderState, _styleProp, projection) {\n    renderHTML(element, renderState, undefined, projection);\n    for (const key in renderState.attrs) {\n        element.setAttribute(!camelCaseAttributes.has(key) ? camelToDash(key) : key, renderState.attrs[key]);\n    }\n}\n\nexport { renderSVG };\n//# sourceMappingURL=render.mjs.map\n","import { isMotionValue } from '../../../value/utils/is-motion-value.mjs';\nimport { transformPropOrder } from '../../utils/keys-transform.mjs';\nimport { scrapeMotionValuesFromProps as scrapeMotionValuesFromProps$1 } from '../../html/utils/scrape-motion-values.mjs';\n\nfunction scrapeMotionValuesFromProps(props, prevProps, visualElement) {\n    const newValues = scrapeMotionValuesFromProps$1(props, prevProps, visualElement);\n    for (const key in props) {\n        if (isMotionValue(props[key]) ||\n            isMotionValue(prevProps[key])) {\n            const targetKey = transformPropOrder.indexOf(key) !== -1\n                ? \"attr\" + key.charAt(0).toUpperCase() + key.substring(1)\n                : key;\n            newValues[targetKey] = props[key];\n        }\n    }\n    return newValues;\n}\n\nexport { scrapeMotionValuesFromProps };\n//# sourceMappingURL=scrape-motion-values.mjs.map\n","import { animateVisualElement } from '../../animation/interfaces/visual-element.mjs';\nimport { calcChildStagger } from '../../animation/utils/calc-child-stagger.mjs';\nimport { getVariantContext } from './get-variant-context.mjs';\nimport { isAnimationControls } from './is-animation-controls.mjs';\nimport { isKeyframesTarget } from './is-keyframes-target.mjs';\nimport { isVariantLabel } from './is-variant-label.mjs';\nimport { resolveVariant } from './resolve-dynamic-variants.mjs';\nimport { shallowCompare } from './shallow-compare.mjs';\nimport { variantPriorityOrder } from './variant-props.mjs';\n\nconst reversePriorityOrder = [...variantPriorityOrder].reverse();\nconst numAnimationTypes = variantPriorityOrder.length;\nfunction createAnimateFunction(visualElement) {\n    return (animations) => {\n        return Promise.all(animations.map(({ animation, options }) => animateVisualElement(visualElement, animation, options)));\n    };\n}\nfunction createAnimationState(visualElement) {\n    let animate = createAnimateFunction(visualElement);\n    let state = createState();\n    let isInitialRender = true;\n    /**\n     * This function will be used to reduce the animation definitions for\n     * each active animation type into an object of resolved values for it.\n     */\n    const buildResolvedTypeValues = (type) => (acc, definition) => {\n        const resolved = resolveVariant(visualElement, definition, type === \"exit\"\n            ? visualElement.presenceContext?.custom\n            : undefined);\n        if (resolved) {\n            const { transition, transitionEnd, ...target } = resolved;\n            acc = { ...acc, ...target, ...transitionEnd };\n        }\n        return acc;\n    };\n    /**\n     * This just allows us to inject mocked animation functions\n     * @internal\n     */\n    function setAnimateFunction(makeAnimator) {\n        animate = makeAnimator(visualElement);\n    }\n    /**\n     * When we receive new props, we need to:\n     * 1. Create a list of protected keys for each type. This is a directory of\n     *    value keys that are currently being \"handled\" by types of a higher priority\n     *    so that whenever an animation is played of a given type, these values are\n     *    protected from being animated.\n     * 2. Determine if an animation type needs animating.\n     * 3. Determine if any values have been removed from a type and figure out\n     *    what to animate those to.\n     */\n    function animateChanges(changedActiveType) {\n        const { props } = visualElement;\n        const context = getVariantContext(visualElement.parent) || {};\n        /**\n         * A list of animations that we'll build into as we iterate through the animation\n         * types. This will get executed at the end of the function.\n         */\n        const animations = [];\n        /**\n         * Keep track of which values have been removed. Then, as we hit lower priority\n         * animation types, we can check if they contain removed values and animate to that.\n         */\n        const removedKeys = new Set();\n        /**\n         * A dictionary of all encountered keys. This is an object to let us build into and\n         * copy it without iteration. Each time we hit an animation type we set its protected\n         * keys - the keys its not allowed to animate - to the latest version of this object.\n         */\n        let encounteredKeys = {};\n        /**\n         * If a variant has been removed at a given index, and this component is controlling\n         * variant animations, we want to ensure lower-priority variants are forced to animate.\n         */\n        let removedVariantIndex = Infinity;\n        /**\n         * Iterate through all animation types in reverse priority order. For each, we want to\n         * detect which values it's handling and whether or not they've changed (and therefore\n         * need to be animated). If any values have been removed, we want to detect those in\n         * lower priority props and flag for animation.\n         */\n        for (let i = 0; i < numAnimationTypes; i++) {\n            const type = reversePriorityOrder[i];\n            const typeState = state[type];\n            const prop = props[type] !== undefined\n                ? props[type]\n                : context[type];\n            const propIsVariant = isVariantLabel(prop);\n            /**\n             * If this type has *just* changed isActive status, set activeDelta\n             * to that status. Otherwise set to null.\n             */\n            const activeDelta = type === changedActiveType ? typeState.isActive : null;\n            if (activeDelta === false)\n                removedVariantIndex = i;\n            /**\n             * If this prop is an inherited variant, rather than been set directly on the\n             * component itself, we want to make sure we allow the parent to trigger animations.\n             *\n             * TODO: Can probably change this to a !isControllingVariants check\n             */\n            let isInherited = prop === context[type] &&\n                prop !== props[type] &&\n                propIsVariant;\n            if (isInherited &&\n                isInitialRender &&\n                visualElement.manuallyAnimateOnMount) {\n                isInherited = false;\n            }\n            /**\n             * Set all encountered keys so far as the protected keys for this type. This will\n             * be any key that has been animated or otherwise handled by active, higher-priortiy types.\n             */\n            typeState.protectedKeys = { ...encounteredKeys };\n            // Check if we can skip analysing this prop early\n            if (\n            // If it isn't active and hasn't *just* been set as inactive\n            (!typeState.isActive && activeDelta === null) ||\n                // If we didn't and don't have any defined prop for this animation type\n                (!prop && !typeState.prevProp) ||\n                // Or if the prop doesn't define an animation\n                isAnimationControls(prop) ||\n                typeof prop === \"boolean\") {\n                continue;\n            }\n            /**\n             * If exit is already active and wasn't just activated, skip\n             * re-processing to prevent interrupting running exit animations.\n             * Re-resolving exit with a changed custom value can start new\n             * value animations that stop the originals, leaving the exit\n             * animation promise unresolved and the component stuck in the DOM.\n             */\n            if (type === \"exit\" && typeState.isActive && activeDelta !== true) {\n                if (typeState.prevResolvedValues) {\n                    encounteredKeys = {\n                        ...encounteredKeys,\n                        ...typeState.prevResolvedValues,\n                    };\n                }\n                continue;\n            }\n            /**\n             * As we go look through the values defined on this type, if we detect\n             * a changed value or a value that was removed in a higher priority, we set\n             * this to true and add this prop to the animation list.\n             */\n            const variantDidChange = checkVariantsDidChange(typeState.prevProp, prop);\n            let shouldAnimateType = variantDidChange ||\n                // If we're making this variant active, we want to always make it active\n                (type === changedActiveType &&\n                    typeState.isActive &&\n                    !isInherited &&\n                    propIsVariant) ||\n                // If we removed a higher-priority variant (i is in reverse order)\n                (i > removedVariantIndex && propIsVariant);\n            let handledRemovedValues = false;\n            /**\n             * As animations can be set as variant lists, variants or target objects, we\n             * coerce everything to an array if it isn't one already\n             */\n            const definitionList = Array.isArray(prop) ? prop : [prop];\n            /**\n             * Build an object of all the resolved values. We'll use this in the subsequent\n             * animateChanges calls to determine whether a value has changed.\n             */\n            let resolvedValues = definitionList.reduce(buildResolvedTypeValues(type), {});\n            if (activeDelta === false)\n                resolvedValues = {};\n            /**\n             * Now we need to loop through all the keys in the prev prop and this prop,\n             * and decide:\n             * 1. If the value has changed, and needs animating\n             * 2. If it has been removed, and needs adding to the removedKeys set\n             * 3. If it has been removed in a higher priority type and needs animating\n             * 4. If it hasn't been removed in a higher priority but hasn't changed, and\n             *    needs adding to the type's protectedKeys list.\n             */\n            const { prevResolvedValues = {} } = typeState;\n            const allKeys = {\n                ...prevResolvedValues,\n                ...resolvedValues,\n            };\n            const markToAnimate = (key) => {\n                shouldAnimateType = true;\n                if (removedKeys.has(key)) {\n                    handledRemovedValues = true;\n                    removedKeys.delete(key);\n                }\n                typeState.needsAnimating[key] = true;\n                const motionValue = visualElement.getValue(key);\n                if (motionValue)\n                    motionValue.liveStyle = false;\n            };\n            for (const key in allKeys) {\n                const next = resolvedValues[key];\n                const prev = prevResolvedValues[key];\n                // If we've already handled this we can just skip ahead\n                if (encounteredKeys.hasOwnProperty(key))\n                    continue;\n                /**\n                 * If the value has changed, we probably want to animate it.\n                 */\n                let valueHasChanged = false;\n                if (isKeyframesTarget(next) && isKeyframesTarget(prev)) {\n                    valueHasChanged = !shallowCompare(next, prev);\n                }\n                else {\n                    valueHasChanged = next !== prev;\n                }\n                if (valueHasChanged) {\n                    if (next !== undefined && next !== null) {\n                        // If next is defined and doesn't equal prev, it needs animating\n                        markToAnimate(key);\n                    }\n                    else {\n                        // If it's undefined, it's been removed.\n                        removedKeys.add(key);\n                    }\n                }\n                else if (next !== undefined && removedKeys.has(key)) {\n                    /**\n                     * If next hasn't changed and it isn't undefined, we want to check if it's\n                     * been removed by a higher priority\n                     */\n                    markToAnimate(key);\n                }\n                else {\n                    /**\n                     * If it hasn't changed, we add it to the list of protected values\n                     * to ensure it doesn't get animated.\n                     */\n                    typeState.protectedKeys[key] = true;\n                }\n            }\n            /**\n             * Update the typeState so next time animateChanges is called we can compare the\n             * latest prop and resolvedValues to these.\n             */\n            typeState.prevProp = prop;\n            typeState.prevResolvedValues = resolvedValues;\n            if (typeState.isActive) {\n                encounteredKeys = { ...encounteredKeys, ...resolvedValues };\n            }\n            if (isInitialRender && visualElement.blockInitialAnimation) {\n                shouldAnimateType = false;\n            }\n            /**\n             * If this is an inherited prop we want to skip this animation\n             * unless the inherited variants haven't changed on this render.\n             */\n            const willAnimateViaParent = isInherited && variantDidChange;\n            const needsAnimating = !willAnimateViaParent || handledRemovedValues;\n            if (shouldAnimateType && needsAnimating) {\n                animations.push(...definitionList.map((animation) => {\n                    const options = { type };\n                    /**\n                     * If we're performing the initial animation, but we're not\n                     * rendering at the same time as the variant-controlling parent,\n                     * we want to use the parent's transition to calculate the stagger.\n                     */\n                    if (typeof animation === \"string\" &&\n                        isInitialRender &&\n                        !willAnimateViaParent &&\n                        visualElement.manuallyAnimateOnMount &&\n                        visualElement.parent) {\n                        const { parent } = visualElement;\n                        const parentVariant = resolveVariant(parent, animation);\n                        if (parent.enteringChildren && parentVariant) {\n                            const { delayChildren } = parentVariant.transition || {};\n                            options.delay = calcChildStagger(parent.enteringChildren, visualElement, delayChildren);\n                        }\n                    }\n                    return {\n                        animation: animation,\n                        options,\n                    };\n                }));\n            }\n        }\n        /**\n         * If there are some removed value that haven't been dealt with,\n         * we need to create a new animation that falls back either to the value\n         * defined in the style prop, or the last read value.\n         */\n        if (removedKeys.size) {\n            const fallbackAnimation = {};\n            /**\n             * If the initial prop contains a transition we can use that, otherwise\n             * allow the animation function to use the visual element's default.\n             */\n            if (typeof props.initial !== \"boolean\") {\n                const initialTransition = resolveVariant(visualElement, Array.isArray(props.initial)\n                    ? props.initial[0]\n                    : props.initial);\n                if (initialTransition && initialTransition.transition) {\n                    fallbackAnimation.transition = initialTransition.transition;\n                }\n            }\n            removedKeys.forEach((key) => {\n                const fallbackTarget = visualElement.getBaseTarget(key);\n                const motionValue = visualElement.getValue(key);\n                if (motionValue)\n                    motionValue.liveStyle = true;\n                // @ts-expect-error - @mattgperry to figure if we should do something here\n                fallbackAnimation[key] = fallbackTarget ?? null;\n            });\n            animations.push({ animation: fallbackAnimation });\n        }\n        let shouldAnimate = Boolean(animations.length);\n        if (isInitialRender &&\n            (props.initial === false || props.initial === props.animate) &&\n            !visualElement.manuallyAnimateOnMount) {\n            shouldAnimate = false;\n        }\n        isInitialRender = false;\n        return shouldAnimate ? animate(animations) : Promise.resolve();\n    }\n    /**\n     * Change whether a certain animation type is active.\n     */\n    function setActive(type, isActive) {\n        // If the active state hasn't changed, we can safely do nothing here\n        if (state[type].isActive === isActive)\n            return Promise.resolve();\n        // Propagate active change to children\n        visualElement.variantChildren?.forEach((child) => child.animationState?.setActive(type, isActive));\n        state[type].isActive = isActive;\n        const animations = animateChanges(type);\n        for (const key in state) {\n            state[key].protectedKeys = {};\n        }\n        return animations;\n    }\n    return {\n        animateChanges,\n        setActive,\n        setAnimateFunction,\n        getState: () => state,\n        reset: () => {\n            state = createState();\n            /**\n             * Temporarily disabling resetting this flag as it prevents components\n             * with initial={false} from animating after being remounted, for instance\n             * as the child of an Activity component.\n             */\n            // isInitialRender = true\n        },\n    };\n}\nfunction checkVariantsDidChange(prev, next) {\n    if (typeof next === \"string\") {\n        return next !== prev;\n    }\n    else if (Array.isArray(next)) {\n        return !shallowCompare(next, prev);\n    }\n    return false;\n}\nfunction createTypeState(isActive = false) {\n    return {\n        isActive,\n        protectedKeys: {},\n        needsAnimating: {},\n        prevResolvedValues: {},\n    };\n}\nfunction createState() {\n    return {\n        animate: createTypeState(true),\n        whileInView: createTypeState(),\n        whileHover: createTypeState(),\n        whileTap: createTypeState(),\n        whileDrag: createTypeState(),\n        whileFocus: createTypeState(),\n        exit: createTypeState(),\n    };\n}\n\nexport { checkVariantsDidChange, createAnimationState };\n//# sourceMappingURL=animation-state.mjs.map\n","import { isVariantLabel } from './is-variant-label.mjs';\nimport { variantProps } from './variant-props.mjs';\n\nconst numVariantProps = variantProps.length;\n/**\n * Get variant context from a visual element's parent chain.\n * Uses `any` type for visualElement to avoid circular dependencies.\n */\nfunction getVariantContext(visualElement) {\n    if (!visualElement)\n        return undefined;\n    if (!visualElement.isControllingVariants) {\n        const context = visualElement.parent\n            ? getVariantContext(visualElement.parent) || {}\n            : {};\n        if (visualElement.props.initial !== undefined) {\n            context.initial = visualElement.props.initial;\n        }\n        return context;\n    }\n    const context = {};\n    for (let i = 0; i < numVariantProps; i++) {\n        const name = variantProps[i];\n        const prop = visualElement.props[name];\n        if (isVariantLabel(prop) || prop === false) {\n            context[name] = prop;\n        }\n    }\n    return context;\n}\n\nexport { getVariantContext };\n//# sourceMappingURL=get-variant-context.mjs.map\n","function isAnimationControls(v) {\n    return (v !== null &&\n        typeof v === \"object\" &&\n        typeof v.start === \"function\");\n}\n\nexport { isAnimationControls };\n//# sourceMappingURL=is-animation-controls.mjs.map\n","import { isAnimationControls } from './is-animation-controls.mjs';\nimport { isVariantLabel } from './is-variant-label.mjs';\nimport { variantProps } from './variant-props.mjs';\n\nfunction isControllingVariants(props) {\n    return (isAnimationControls(props.animate) ||\n        variantProps.some((name) => isVariantLabel(props[name])));\n}\nfunction isVariantNode(props) {\n    return Boolean(isControllingVariants(props) || props.variants);\n}\n\nexport { isControllingVariants, isVariantNode };\n//# sourceMappingURL=is-controlling-variants.mjs.map\n","import { transformProps } from './keys-transform.mjs';\nimport { scaleCorrectors } from '../../projection/styles/scale-correction.mjs';\nexport { addScaleCorrector } from '../../projection/styles/scale-correction.mjs';\n\nfunction isForcedMotionValue(key, { layout, layoutId }) {\n    return (transformProps.has(key) ||\n        key.startsWith(\"origin\") ||\n        ((layout || layoutId !== undefined) &&\n            (!!scaleCorrectors[key] || key === \"opacity\")));\n}\n\nexport { isForcedMotionValue, scaleCorrectors };\n//# sourceMappingURL=is-forced-motion-value.mjs.map\n","const isKeyframesTarget = (v) => {\n    return Array.isArray(v);\n};\n\nexport { isKeyframesTarget };\n//# sourceMappingURL=is-keyframes-target.mjs.map\n","/**\n * Decides if the supplied variable is variant label\n */\nfunction isVariantLabel(v) {\n    return typeof v === \"string\" || Array.isArray(v);\n}\n\nexport { isVariantLabel };\n//# sourceMappingURL=is-variant-label.mjs.map\n","import { transformPropOrder } from './keys-transform.mjs';\n\nconst positionalKeys = new Set([\n    \"width\",\n    \"height\",\n    \"top\",\n    \"left\",\n    \"right\",\n    \"bottom\",\n    ...transformPropOrder,\n]);\n\nexport { positionalKeys };\n//# sourceMappingURL=keys-position.mjs.map\n","/**\n * Generate a list of every possible transform key.\n */\nconst transformPropOrder = [\n    \"transformPerspective\",\n    \"x\",\n    \"y\",\n    \"z\",\n    \"translateX\",\n    \"translateY\",\n    \"translateZ\",\n    \"scale\",\n    \"scaleX\",\n    \"scaleY\",\n    \"rotate\",\n    \"rotateX\",\n    \"rotateY\",\n    \"rotateZ\",\n    \"skew\",\n    \"skewX\",\n    \"skewY\",\n];\n/**\n * A quick lookup for transform props.\n */\nconst transformProps = /*@__PURE__*/ (() => new Set(transformPropOrder))();\n\nexport { transformPropOrder, transformProps };\n//# sourceMappingURL=keys-transform.mjs.map\n","import { motionValue } from '../../value/index.mjs';\nimport { isMotionValue } from '../../value/utils/is-motion-value.mjs';\n\n/**\n * Updates motion values from props changes.\n * Uses `any` type for element to avoid circular dependencies with VisualElement.\n */\nfunction updateMotionValuesFromProps(element, next, prev) {\n    for (const key in next) {\n        const nextValue = next[key];\n        const prevValue = prev[key];\n        if (isMotionValue(nextValue)) {\n            /**\n             * If this is a motion value found in props or style, we want to add it\n             * to our visual element's motion value map.\n             */\n            element.addValue(key, nextValue);\n        }\n        else if (isMotionValue(prevValue)) {\n            /**\n             * If we're swapping from a motion value to a static value,\n             * create a new motion value from that\n             */\n            element.addValue(key, motionValue(nextValue, { owner: element }));\n        }\n        else if (prevValue !== nextValue) {\n            /**\n             * If this is a flat value that has changed, update the motion value\n             * or create one if it doesn't exist. We only want to do this if we're\n             * not handling the value with our animation state.\n             */\n            if (element.hasValue(key)) {\n                const existingValue = element.getValue(key);\n                if (existingValue.liveStyle === true) {\n                    existingValue.jump(nextValue);\n                }\n                else if (!existingValue.hasAnimated) {\n                    existingValue.set(nextValue);\n                }\n            }\n            else {\n                const latestValue = element.getStaticValue(key);\n                element.addValue(key, motionValue(latestValue !== undefined ? latestValue : nextValue, { owner: element }));\n            }\n        }\n    }\n    // Handle removed values\n    for (const key in prev) {\n        if (next[key] === undefined)\n            element.removeValue(key);\n    }\n    return next;\n}\n\nexport { updateMotionValuesFromProps };\n//# sourceMappingURL=motion-values.mjs.map\n","import { hasReducedMotionListener, prefersReducedMotion } from './state.mjs';\n\nconst isBrowser = typeof window !== \"undefined\";\nfunction initPrefersReducedMotion() {\n    hasReducedMotionListener.current = true;\n    if (!isBrowser)\n        return;\n    if (window.matchMedia) {\n        const motionMediaQuery = window.matchMedia(\"(prefers-reduced-motion)\");\n        const setReducedMotionPreferences = () => (prefersReducedMotion.current = motionMediaQuery.matches);\n        motionMediaQuery.addEventListener(\"change\", setReducedMotionPreferences);\n        setReducedMotionPreferences();\n    }\n    else {\n        prefersReducedMotion.current = false;\n    }\n}\n\nexport { hasReducedMotionListener, initPrefersReducedMotion, prefersReducedMotion };\n//# sourceMappingURL=index.mjs.map\n","// Does this device prefer reduced motion? Returns `null` server-side.\nconst prefersReducedMotion = { current: null };\nconst hasReducedMotionListener = { current: false };\n\nexport { hasReducedMotionListener, prefersReducedMotion };\n//# sourceMappingURL=state.mjs.map\n","import { resolveVariantFromProps } from './resolve-variants.mjs';\n\nfunction resolveVariant(visualElement, definition, custom) {\n    const props = visualElement.getProps();\n    return resolveVariantFromProps(props, definition, custom !== undefined ? custom : props.custom, visualElement);\n}\n\nexport { resolveVariant };\n//# sourceMappingURL=resolve-dynamic-variants.mjs.map\n","function getValueState(visualElement) {\n    const state = [{}, {}];\n    visualElement?.values.forEach((value, key) => {\n        state[0][key] = value.get();\n        state[1][key] = value.getVelocity();\n    });\n    return state;\n}\nfunction resolveVariantFromProps(props, definition, custom, visualElement) {\n    /**\n     * If the variant definition is a function, resolve.\n     */\n    if (typeof definition === \"function\") {\n        const [current, velocity] = getValueState(visualElement);\n        definition = definition(custom !== undefined ? custom : props.custom, current, velocity);\n    }\n    /**\n     * If the variant definition is a variant label, or\n     * the function returned a variant label, resolve.\n     */\n    if (typeof definition === \"string\") {\n        definition = props.variants && props.variants[definition];\n    }\n    /**\n     * At this point we've resolved both functions and variant labels,\n     * but the resolved variant label might itself have been a function.\n     * If so, resolve. This can only have returned a valid target object.\n     */\n    if (typeof definition === \"function\") {\n        const [current, velocity] = getValueState(visualElement);\n        definition = definition(custom !== undefined ? custom : props.custom, current, velocity);\n    }\n    return definition;\n}\n\nexport { resolveVariantFromProps };\n//# sourceMappingURL=resolve-variants.mjs.map\n","import { motionValue } from '../../value/index.mjs';\nimport { resolveVariant } from './resolve-dynamic-variants.mjs';\nimport { isKeyframesTarget } from './is-keyframes-target.mjs';\n\n/**\n * Set VisualElement's MotionValue, creating a new MotionValue for it if\n * it doesn't exist.\n */\nfunction setMotionValue(visualElement, key, value) {\n    if (visualElement.hasValue(key)) {\n        visualElement.getValue(key).set(value);\n    }\n    else {\n        visualElement.addValue(key, motionValue(value));\n    }\n}\nfunction resolveFinalValueInKeyframes(v) {\n    // TODO maybe throw if v.length - 1 is placeholder token?\n    return isKeyframesTarget(v) ? v[v.length - 1] || 0 : v;\n}\nfunction setTarget(visualElement, definition) {\n    const resolved = resolveVariant(visualElement, definition);\n    let { transitionEnd = {}, transition = {}, ...target } = resolved || {};\n    target = { ...target, ...transitionEnd };\n    for (const key in target) {\n        const value = resolveFinalValueInKeyframes(target[key]);\n        setMotionValue(visualElement, key, value);\n    }\n}\n\nexport { setTarget };\n//# sourceMappingURL=setters.mjs.map\n","function shallowCompare(next, prev) {\n    if (!Array.isArray(prev))\n        return false;\n    const prevLength = prev.length;\n    if (prevLength !== next.length)\n        return false;\n    for (let i = 0; i < prevLength; i++) {\n        if (prev[i] !== next[i])\n            return false;\n    }\n    return true;\n}\n\nexport { shallowCompare };\n//# sourceMappingURL=shallow-compare.mjs.map\n","const variantPriorityOrder = [\n    \"animate\",\n    \"whileInView\",\n    \"whileFocus\",\n    \"whileHover\",\n    \"whileTap\",\n    \"whileDrag\",\n    \"exit\",\n];\nconst variantProps = [\"initial\", ...variantPriorityOrder];\n\nexport { variantPriorityOrder, variantProps };\n//# sourceMappingURL=variant-props.mjs.map\n","import { isSVGElement } from '../utils/is-svg-element.mjs';\nimport { resolveElements } from '../utils/resolve-elements.mjs';\n\nconst resizeHandlers = new WeakMap();\nlet observer;\nconst getSize = (borderBoxAxis, svgAxis, htmlAxis) => (target, borderBoxSize) => {\n    if (borderBoxSize && borderBoxSize[0]) {\n        return borderBoxSize[0][(borderBoxAxis + \"Size\")];\n    }\n    else if (isSVGElement(target) && \"getBBox\" in target) {\n        return target.getBBox()[svgAxis];\n    }\n    else {\n        return target[htmlAxis];\n    }\n};\nconst getWidth = /*@__PURE__*/ getSize(\"inline\", \"width\", \"offsetWidth\");\nconst getHeight = /*@__PURE__*/ getSize(\"block\", \"height\", \"offsetHeight\");\nfunction notifyTarget({ target, borderBoxSize }) {\n    resizeHandlers.get(target)?.forEach((handler) => {\n        handler(target, {\n            get width() {\n                return getWidth(target, borderBoxSize);\n            },\n            get height() {\n                return getHeight(target, borderBoxSize);\n            },\n        });\n    });\n}\nfunction notifyAll(entries) {\n    entries.forEach(notifyTarget);\n}\nfunction createResizeObserver() {\n    if (typeof ResizeObserver === \"undefined\")\n        return;\n    observer = new ResizeObserver(notifyAll);\n}\nfunction resizeElement(target, handler) {\n    if (!observer)\n        createResizeObserver();\n    const elements = resolveElements(target);\n    elements.forEach((element) => {\n        let elementHandlers = resizeHandlers.get(element);\n        if (!elementHandlers) {\n            elementHandlers = new Set();\n            resizeHandlers.set(element, elementHandlers);\n        }\n        elementHandlers.add(handler);\n        observer?.observe(element);\n    });\n    return () => {\n        elements.forEach((element) => {\n            const elementHandlers = resizeHandlers.get(element);\n            elementHandlers?.delete(handler);\n            if (!elementHandlers?.size) {\n                observer?.unobserve(element);\n            }\n        });\n    };\n}\n\nexport { resizeElement };\n//# sourceMappingURL=handle-element.mjs.map\n","const windowCallbacks = new Set();\nlet windowResizeHandler;\nfunction createWindowResizeHandler() {\n    windowResizeHandler = () => {\n        const info = {\n            get width() {\n                return window.innerWidth;\n            },\n            get height() {\n                return window.innerHeight;\n            },\n        };\n        windowCallbacks.forEach((callback) => callback(info));\n    };\n    window.addEventListener(\"resize\", windowResizeHandler);\n}\nfunction resizeWindow(callback) {\n    windowCallbacks.add(callback);\n    if (!windowResizeHandler)\n        createWindowResizeHandler();\n    return () => {\n        windowCallbacks.delete(callback);\n        if (!windowCallbacks.size &&\n            typeof windowResizeHandler === \"function\") {\n            window.removeEventListener(\"resize\", windowResizeHandler);\n            windowResizeHandler = undefined;\n        }\n    };\n}\n\nexport { resizeWindow };\n//# sourceMappingURL=handle-window.mjs.map\n","import { resizeElement } from './handle-element.mjs';\nimport { resizeWindow } from './handle-window.mjs';\n\nfunction resize(a, b) {\n    return typeof a === \"function\" ? resizeWindow(a) : resizeElement(a, b);\n}\n\nexport { resize };\n//# sourceMappingURL=index.mjs.map\n","const activeAnimations = {\n    layout: 0,\n    mainThread: 0,\n    waapi: 0,\n};\n\nexport { activeAnimations };\n//# sourceMappingURL=animation-count.mjs.map\n","const statsBuffer = {\n    value: null,\n    addProjectionMetrics: null,\n};\n\nexport { statsBuffer };\n//# sourceMappingURL=buffer.mjs.map\n","import { time } from '../frameloop/sync-time.mjs';\nimport { secondsToMilliseconds } from 'motion-utils';\nimport { frame, cancelFrame } from '../frameloop/frame.mjs';\n\n/**\n * Timeout defined in ms\n */\nfunction delay(callback, timeout) {\n    const start = time.now();\n    const checkElapsed = ({ timestamp }) => {\n        const elapsed = timestamp - start;\n        if (elapsed >= timeout) {\n            cancelFrame(checkElapsed);\n            callback(elapsed - timeout);\n        }\n    };\n    frame.setup(checkElapsed, true);\n    return () => cancelFrame(checkElapsed);\n}\nfunction delayInSeconds(callback, timeout) {\n    return delay(callback, secondsToMilliseconds(timeout));\n}\n\nexport { delay, delayInSeconds };\n//# sourceMappingURL=delay.mjs.map\n","import { invariant, clamp, MotionGlobalConfig, noop, pipe, progress } from 'motion-utils';\nimport { mix } from './mix/index.mjs';\n\nfunction createMixers(output, ease, customMixer) {\n    const mixers = [];\n    const mixerFactory = customMixer || MotionGlobalConfig.mix || mix;\n    const numMixers = output.length - 1;\n    for (let i = 0; i < numMixers; i++) {\n        let mixer = mixerFactory(output[i], output[i + 1]);\n        if (ease) {\n            const easingFunction = Array.isArray(ease) ? ease[i] || noop : ease;\n            mixer = pipe(easingFunction, mixer);\n        }\n        mixers.push(mixer);\n    }\n    return mixers;\n}\n/**\n * Create a function that maps from a numerical input array to a generic output array.\n *\n * Accepts:\n *   - Numbers\n *   - Colors (hex, hsl, hsla, rgb, rgba)\n *   - Complex (combinations of one or more numbers or strings)\n *\n * ```jsx\n * const mixColor = interpolate([0, 1], ['#fff', '#000'])\n *\n * mixColor(0.5) // 'rgba(128, 128, 128, 1)'\n * ```\n *\n * TODO Revisit this approach once we've moved to data models for values,\n * probably not needed to pregenerate mixer functions.\n *\n * @public\n */\nfunction interpolate(input, output, { clamp: isClamp = true, ease, mixer } = {}) {\n    const inputLength = input.length;\n    invariant(inputLength === output.length, \"Both input and output ranges must be the same length\", \"range-length\");\n    /**\n     * If we're only provided a single input, we can just make a function\n     * that returns the output.\n     */\n    if (inputLength === 1)\n        return () => output[0];\n    if (inputLength === 2 && output[0] === output[1])\n        return () => output[1];\n    const isZeroDeltaRange = input[0] === input[1];\n    // If input runs highest -> lowest, reverse both arrays\n    if (input[0] > input[inputLength - 1]) {\n        input = [...input].reverse();\n        output = [...output].reverse();\n    }\n    const mixers = createMixers(output, ease, mixer);\n    const numMixers = mixers.length;\n    const interpolator = (v) => {\n        if (isZeroDeltaRange && v < input[0])\n            return output[0];\n        let i = 0;\n        if (numMixers > 1) {\n            for (; i < input.length - 2; i++) {\n                if (v < input[i + 1])\n                    break;\n            }\n        }\n        const progressInRange = progress(input[i], input[i + 1], v);\n        return mixers[i](progressInRange);\n    };\n    return isClamp\n        ? (v) => interpolator(clamp(input[0], input[inputLength - 1], v))\n        : interpolator;\n}\n\nexport { interpolate };\n//# sourceMappingURL=interpolate.mjs.map\n","import { isObject } from 'motion-utils';\n\n/**\n * Checks if an element is an HTML element in a way\n * that works across iframes\n */\nfunction isHTMLElement(element) {\n    return isObject(element) && \"offsetHeight\" in element;\n}\n\nexport { isHTMLElement };\n//# sourceMappingURL=is-html-element.mjs.map\n","import { isObject } from 'motion-utils';\n\n/**\n * Checks if an element is an SVG element in a way\n * that works across iframes\n */\nfunction isSVGElement(element) {\n    return isObject(element) && \"ownerSVGElement\" in element;\n}\n\nexport { isSVGElement };\n//# sourceMappingURL=is-svg-element.mjs.map\n","import { isSVGElement } from './is-svg-element.mjs';\n\n/**\n * Checks if an element is specifically an SVGSVGElement (the root SVG element)\n * in a way that works across iframes\n */\nfunction isSVGSVGElement(element) {\n    return isSVGElement(element) && element.tagName === \"svg\";\n}\n\nexport { isSVGSVGElement };\n//# sourceMappingURL=is-svg-svg-element.mjs.map\n","import { warning } from 'motion-utils';\nimport { hex } from '../../value/types/color/hex.mjs';\nimport { hsla } from '../../value/types/color/hsla.mjs';\nimport { hslaToRgba } from '../../value/types/color/hsla-to-rgba.mjs';\nimport { rgba } from '../../value/types/color/rgba.mjs';\nimport { mixImmediate } from './immediate.mjs';\nimport { mixNumber } from './number.mjs';\n\n// Linear color space blending\n// Explained https://www.youtube.com/watch?v=LKnqECcg6Gw\n// Demonstrated http://codepen.io/osublake/pen/xGVVaN\nconst mixLinearColor = (from, to, v) => {\n    const fromExpo = from * from;\n    const expo = v * (to * to - fromExpo) + fromExpo;\n    return expo < 0 ? 0 : Math.sqrt(expo);\n};\nconst colorTypes = [hex, rgba, hsla];\nconst getColorType = (v) => colorTypes.find((type) => type.test(v));\nfunction asRGBA(color) {\n    const type = getColorType(color);\n    warning(Boolean(type), `'${color}' is not an animatable color. Use the equivalent color code instead.`, \"color-not-animatable\");\n    if (!Boolean(type))\n        return false;\n    let model = type.parse(color);\n    if (type === hsla) {\n        // TODO Remove this cast - needed since Motion's stricter typing\n        model = hslaToRgba(model);\n    }\n    return model;\n}\nconst mixColor = (from, to) => {\n    const fromRGBA = asRGBA(from);\n    const toRGBA = asRGBA(to);\n    if (!fromRGBA || !toRGBA) {\n        return mixImmediate(from, to);\n    }\n    const blended = { ...fromRGBA };\n    return (v) => {\n        blended.red = mixLinearColor(fromRGBA.red, toRGBA.red, v);\n        blended.green = mixLinearColor(fromRGBA.green, toRGBA.green, v);\n        blended.blue = mixLinearColor(fromRGBA.blue, toRGBA.blue, v);\n        blended.alpha = mixNumber(fromRGBA.alpha, toRGBA.alpha, v);\n        return rgba.transform(blended);\n    };\n};\n\nexport { mixColor, mixLinearColor };\n//# sourceMappingURL=color.mjs.map\n","import { pipe, warning } from 'motion-utils';\nimport { isCSSVariableToken } from '../../animation/utils/is-css-variable.mjs';\nimport { color } from '../../value/types/color/index.mjs';\nimport { complex, analyseComplexValue } from '../../value/types/complex/index.mjs';\nimport { mixColor } from './color.mjs';\nimport { mixImmediate } from './immediate.mjs';\nimport { mixNumber as mixNumber$1 } from './number.mjs';\nimport { invisibleValues, mixVisibility } from './visibility.mjs';\n\nfunction mixNumber(a, b) {\n    return (p) => mixNumber$1(a, b, p);\n}\nfunction getMixer(a) {\n    if (typeof a === \"number\") {\n        return mixNumber;\n    }\n    else if (typeof a === \"string\") {\n        return isCSSVariableToken(a)\n            ? mixImmediate\n            : color.test(a)\n                ? mixColor\n                : mixComplex;\n    }\n    else if (Array.isArray(a)) {\n        return mixArray;\n    }\n    else if (typeof a === \"object\") {\n        return color.test(a) ? mixColor : mixObject;\n    }\n    return mixImmediate;\n}\nfunction mixArray(a, b) {\n    const output = [...a];\n    const numValues = output.length;\n    const blendValue = a.map((v, i) => getMixer(v)(v, b[i]));\n    return (p) => {\n        for (let i = 0; i < numValues; i++) {\n            output[i] = blendValue[i](p);\n        }\n        return output;\n    };\n}\nfunction mixObject(a, b) {\n    const output = { ...a, ...b };\n    const blendValue = {};\n    for (const key in output) {\n        if (a[key] !== undefined && b[key] !== undefined) {\n            blendValue[key] = getMixer(a[key])(a[key], b[key]);\n        }\n    }\n    return (v) => {\n        for (const key in blendValue) {\n            output[key] = blendValue[key](v);\n        }\n        return output;\n    };\n}\nfunction matchOrder(origin, target) {\n    const orderedOrigin = [];\n    const pointers = { color: 0, var: 0, number: 0 };\n    for (let i = 0; i < target.values.length; i++) {\n        const type = target.types[i];\n        const originIndex = origin.indexes[type][pointers[type]];\n        const originValue = origin.values[originIndex] ?? 0;\n        orderedOrigin[i] = originValue;\n        pointers[type]++;\n    }\n    return orderedOrigin;\n}\nconst mixComplex = (origin, target) => {\n    const template = complex.createTransformer(target);\n    const originStats = analyseComplexValue(origin);\n    const targetStats = analyseComplexValue(target);\n    const canInterpolate = originStats.indexes.var.length === targetStats.indexes.var.length &&\n        originStats.indexes.color.length === targetStats.indexes.color.length &&\n        originStats.indexes.number.length >= targetStats.indexes.number.length;\n    if (canInterpolate) {\n        if ((invisibleValues.has(origin) &&\n            !targetStats.values.length) ||\n            (invisibleValues.has(target) &&\n                !originStats.values.length)) {\n            return mixVisibility(origin, target);\n        }\n        return pipe(mixArray(matchOrder(originStats, targetStats), targetStats.values), template);\n    }\n    else {\n        warning(true, `Complex values '${origin}' and '${target}' too different to mix. Ensure all colors are of the same type, and that each contains the same quantity of number and color values. Falling back to instant transition.`, \"complex-values-different\");\n        return mixImmediate(origin, target);\n    }\n};\n\nexport { getMixer, mixArray, mixComplex, mixObject };\n//# sourceMappingURL=complex.mjs.map\n","function mixImmediate(a, b) {\n    return (p) => (p > 0 ? b : a);\n}\n\nexport { mixImmediate };\n//# sourceMappingURL=immediate.mjs.map\n","import { getMixer } from './complex.mjs';\nimport { mixNumber } from './number.mjs';\n\nfunction mix(from, to, p) {\n    if (typeof from === \"number\" &&\n        typeof to === \"number\" &&\n        typeof p === \"number\") {\n        return mixNumber(from, to, p);\n    }\n    const mixer = getMixer(from);\n    return mixer(from, to);\n}\n\nexport { mix };\n//# sourceMappingURL=index.mjs.map\n","/*\n  Value in range from progress\n\n  Given a lower limit and an upper limit, we return the value within\n  that range as expressed by progress (usually a number from 0 to 1)\n\n  So progress = 0.5 would change\n\n  from -------- to\n\n  to\n\n  from ---- to\n\n  E.g. from = 10, to = 20, progress = 0.5 => 15\n\n  @param [number]: Lower limit of range\n  @param [number]: Upper limit of range\n  @param [number]: The progress between lower and upper limits expressed 0-1\n  @return [number]: Value as calculated from progress within range (not limited within range)\n*/\nconst mixNumber = (from, to, progress) => {\n    return from + (to - from) * progress;\n};\n\nexport { mixNumber };\n//# sourceMappingURL=number.mjs.map\n","const invisibleValues = new Set([\"none\", \"hidden\"]);\n/**\n * Returns a function that, when provided a progress value between 0 and 1,\n * will return the \"none\" or \"hidden\" string only when the progress is that of\n * the origin or target.\n */\nfunction mixVisibility(origin, target) {\n    if (invisibleValues.has(origin)) {\n        return (p) => (p <= 0 ? origin : target);\n    }\n    else {\n        return (p) => (p >= 1 ? target : origin);\n    }\n}\n\nexport { invisibleValues, mixVisibility };\n//# sourceMappingURL=visibility.mjs.map\n","function resolveElements(elementOrSelector, scope, selectorCache) {\n    if (elementOrSelector == null) {\n        return [];\n    }\n    if (elementOrSelector instanceof EventTarget) {\n        return [elementOrSelector];\n    }\n    else if (typeof elementOrSelector === \"string\") {\n        let root = document;\n        if (scope) {\n            root = scope.current;\n        }\n        const elements = selectorCache?.[elementOrSelector] ??\n            root.querySelectorAll(elementOrSelector);\n        return elements ? Array.from(elements) : [];\n    }\n    return Array.from(elementOrSelector).filter((element) => element != null);\n}\n\nexport { resolveElements };\n//# sourceMappingURL=resolve-elements.mjs.map\n","/**\n * Add the ability for test suites to manually set support flags\n * to better test more environments.\n */\nconst supportsFlags = {};\n\nexport { supportsFlags };\n//# sourceMappingURL=flags.mjs.map\n","import { memoSupports } from './memo.mjs';\n\nconst supportsLinearEasing = /*@__PURE__*/ memoSupports(() => {\n    try {\n        document\n            .createElement(\"div\")\n            .animate({ opacity: 0 }, { easing: \"linear(0, 1)\" });\n    }\n    catch (e) {\n        return false;\n    }\n    return true;\n}, \"linearEasing\");\n\nexport { supportsLinearEasing };\n//# sourceMappingURL=linear-easing.mjs.map\n","import { memo } from 'motion-utils';\nimport { supportsFlags } from './flags.mjs';\n\nfunction memoSupports(callback, supportsFlag) {\n    const memoized = memo(callback);\n    return () => supportsFlags[supportsFlag] ?? memoized();\n}\n\nexport { memoSupports };\n//# sourceMappingURL=memo.mjs.map\n","import { memo } from 'motion-utils';\n\nconst supportsScrollTimeline = /* @__PURE__ */ memo(() => window.ScrollTimeline !== undefined);\n\nexport { supportsScrollTimeline };\n//# sourceMappingURL=scroll-timeline.mjs.map\n","import { warnOnce, SubscriptionManager, velocityPerSecond } from 'motion-utils';\nimport { time } from '../frameloop/sync-time.mjs';\nimport { frame } from '../frameloop/frame.mjs';\n\n/**\n * Maximum time between the value of two frames, beyond which we\n * assume the velocity has since been 0.\n */\nconst MAX_VELOCITY_DELTA = 30;\nconst isFloat = (value) => {\n    return !isNaN(parseFloat(value));\n};\nconst collectMotionValues = {\n    current: undefined,\n};\n/**\n * `MotionValue` is used to track the state and velocity of motion values.\n *\n * @public\n */\nclass MotionValue {\n    /**\n     * @param init - The initiating value\n     * @param config - Optional configuration options\n     *\n     * -  `transformer`: A function to transform incoming values with.\n     */\n    constructor(init, options = {}) {\n        /**\n         * Tracks whether this value can output a velocity. Currently this is only true\n         * if the value is numerical, but we might be able to widen the scope here and support\n         * other value types.\n         *\n         * @internal\n         */\n        this.canTrackVelocity = null;\n        /**\n         * An object containing a SubscriptionManager for each active event.\n         */\n        this.events = {};\n        this.updateAndNotify = (v) => {\n            const currentTime = time.now();\n            /**\n             * If we're updating the value during another frame or eventloop\n             * than the previous frame, then the we set the previous frame value\n             * to current.\n             */\n            if (this.updatedAt !== currentTime) {\n                this.setPrevFrameValue();\n            }\n            this.prev = this.current;\n            this.setCurrent(v);\n            // Update update subscribers\n            if (this.current !== this.prev) {\n                this.events.change?.notify(this.current);\n                if (this.dependents) {\n                    for (const dependent of this.dependents) {\n                        dependent.dirty();\n                    }\n                }\n            }\n        };\n        this.hasAnimated = false;\n        this.setCurrent(init);\n        this.owner = options.owner;\n    }\n    setCurrent(current) {\n        this.current = current;\n        this.updatedAt = time.now();\n        if (this.canTrackVelocity === null && current !== undefined) {\n            this.canTrackVelocity = isFloat(this.current);\n        }\n    }\n    setPrevFrameValue(prevFrameValue = this.current) {\n        this.prevFrameValue = prevFrameValue;\n        this.prevUpdatedAt = this.updatedAt;\n    }\n    /**\n     * Adds a function that will be notified when the `MotionValue` is updated.\n     *\n     * It returns a function that, when called, will cancel the subscription.\n     *\n     * When calling `onChange` inside a React component, it should be wrapped with the\n     * `useEffect` hook. As it returns an unsubscribe function, this should be returned\n     * from the `useEffect` function to ensure you don't add duplicate subscribers..\n     *\n     * ```jsx\n     * export const MyComponent = () => {\n     *   const x = useMotionValue(0)\n     *   const y = useMotionValue(0)\n     *   const opacity = useMotionValue(1)\n     *\n     *   useEffect(() => {\n     *     function updateOpacity() {\n     *       const maxXY = Math.max(x.get(), y.get())\n     *       const newOpacity = transform(maxXY, [0, 100], [1, 0])\n     *       opacity.set(newOpacity)\n     *     }\n     *\n     *     const unsubscribeX = x.on(\"change\", updateOpacity)\n     *     const unsubscribeY = y.on(\"change\", updateOpacity)\n     *\n     *     return () => {\n     *       unsubscribeX()\n     *       unsubscribeY()\n     *     }\n     *   }, [])\n     *\n     *   return <motion.div style={{ x }} />\n     * }\n     * ```\n     *\n     * @param subscriber - A function that receives the latest value.\n     * @returns A function that, when called, will cancel this subscription.\n     *\n     * @deprecated\n     */\n    onChange(subscription) {\n        if (process.env.NODE_ENV !== \"production\") {\n            warnOnce(false, `value.onChange(callback) is deprecated. Switch to value.on(\"change\", callback).`);\n        }\n        return this.on(\"change\", subscription);\n    }\n    on(eventName, callback) {\n        if (!this.events[eventName]) {\n            this.events[eventName] = new SubscriptionManager();\n        }\n        const unsubscribe = this.events[eventName].add(callback);\n        if (eventName === \"change\") {\n            return () => {\n                unsubscribe();\n                /**\n                 * If we have no more change listeners by the start\n                 * of the next frame, stop active animations.\n                 */\n                frame.read(() => {\n                    if (!this.events.change.getSize()) {\n                        this.stop();\n                    }\n                });\n            };\n        }\n        return unsubscribe;\n    }\n    clearListeners() {\n        for (const eventManagers in this.events) {\n            this.events[eventManagers].clear();\n        }\n    }\n    /**\n     * Attaches a passive effect to the `MotionValue`.\n     */\n    attach(passiveEffect, stopPassiveEffect) {\n        this.passiveEffect = passiveEffect;\n        this.stopPassiveEffect = stopPassiveEffect;\n    }\n    /**\n     * Sets the state of the `MotionValue`.\n     *\n     * @remarks\n     *\n     * ```jsx\n     * const x = useMotionValue(0)\n     * x.set(10)\n     * ```\n     *\n     * @param latest - Latest value to set.\n     * @param render - Whether to notify render subscribers. Defaults to `true`\n     *\n     * @public\n     */\n    set(v) {\n        if (!this.passiveEffect) {\n            this.updateAndNotify(v);\n        }\n        else {\n            this.passiveEffect(v, this.updateAndNotify);\n        }\n    }\n    setWithVelocity(prev, current, delta) {\n        this.set(current);\n        this.prev = undefined;\n        this.prevFrameValue = prev;\n        this.prevUpdatedAt = this.updatedAt - delta;\n    }\n    /**\n     * Set the state of the `MotionValue`, stopping any active animations,\n     * effects, and resets velocity to `0`.\n     */\n    jump(v, endAnimation = true) {\n        this.updateAndNotify(v);\n        this.prev = v;\n        this.prevUpdatedAt = this.prevFrameValue = undefined;\n        endAnimation && this.stop();\n        if (this.stopPassiveEffect)\n            this.stopPassiveEffect();\n    }\n    dirty() {\n        this.events.change?.notify(this.current);\n    }\n    addDependent(dependent) {\n        if (!this.dependents) {\n            this.dependents = new Set();\n        }\n        this.dependents.add(dependent);\n    }\n    removeDependent(dependent) {\n        if (this.dependents) {\n            this.dependents.delete(dependent);\n        }\n    }\n    /**\n     * Returns the latest state of `MotionValue`\n     *\n     * @returns - The latest state of `MotionValue`\n     *\n     * @public\n     */\n    get() {\n        if (collectMotionValues.current) {\n            collectMotionValues.current.push(this);\n        }\n        return this.current;\n    }\n    /**\n     * @public\n     */\n    getPrevious() {\n        return this.prev;\n    }\n    /**\n     * Returns the latest velocity of `MotionValue`\n     *\n     * @returns - The latest velocity of `MotionValue`. Returns `0` if the state is non-numerical.\n     *\n     * @public\n     */\n    getVelocity() {\n        const currentTime = time.now();\n        if (!this.canTrackVelocity ||\n            this.prevFrameValue === undefined ||\n            currentTime - this.updatedAt > MAX_VELOCITY_DELTA) {\n            return 0;\n        }\n        const delta = Math.min(this.updatedAt - this.prevUpdatedAt, MAX_VELOCITY_DELTA);\n        // Casts because of parseFloat's poor typing\n        return velocityPerSecond(parseFloat(this.current) -\n            parseFloat(this.prevFrameValue), delta);\n    }\n    /**\n     * Registers a new animation to control this `MotionValue`. Only one\n     * animation can drive a `MotionValue` at one time.\n     *\n     * ```jsx\n     * value.start()\n     * ```\n     *\n     * @param animation - A function that starts the provided animation\n     */\n    start(startAnimation) {\n        this.stop();\n        return new Promise((resolve) => {\n            this.hasAnimated = true;\n            this.animation = startAnimation(resolve);\n            if (this.events.animationStart) {\n                this.events.animationStart.notify();\n            }\n        }).then(() => {\n            if (this.events.animationComplete) {\n                this.events.animationComplete.notify();\n            }\n            this.clearAnimation();\n        });\n    }\n    /**\n     * Stop the currently active animation.\n     *\n     * @public\n     */\n    stop() {\n        if (this.animation) {\n            this.animation.stop();\n            if (this.events.animationCancel) {\n                this.events.animationCancel.notify();\n            }\n        }\n        this.clearAnimation();\n    }\n    /**\n     * Returns `true` if this value is currently animating.\n     *\n     * @public\n     */\n    isAnimating() {\n        return !!this.animation;\n    }\n    clearAnimation() {\n        delete this.animation;\n    }\n    /**\n     * Destroy and clean up subscribers to this `MotionValue`.\n     *\n     * The `MotionValue` hooks like `useMotionValue` and `useTransform` automatically\n     * handle the lifecycle of the returned `MotionValue`, so this method is only necessary if you've manually\n     * created a `MotionValue` via the `motionValue` function.\n     *\n     * @public\n     */\n    destroy() {\n        this.dependents?.clear();\n        this.events.destroy?.notify();\n        this.clearListeners();\n        this.stop();\n        if (this.stopPassiveEffect) {\n            this.stopPassiveEffect();\n        }\n    }\n}\nfunction motionValue(init, options) {\n    return new MotionValue(init, options);\n}\n\nexport { MotionValue, collectMotionValues, motionValue };\n//# sourceMappingURL=index.mjs.map\n","/**\n * ValueType for \"auto\"\n */\nconst auto = {\n    test: (v) => v === \"auto\",\n    parse: (v) => v,\n};\n\nexport { auto };\n//# sourceMappingURL=auto.mjs.map\n","import { rgba } from './rgba.mjs';\nimport { isColorString } from './utils.mjs';\n\nfunction parseHex(v) {\n    let r = \"\";\n    let g = \"\";\n    let b = \"\";\n    let a = \"\";\n    // If we have 6 characters, ie #FF0000\n    if (v.length > 5) {\n        r = v.substring(1, 3);\n        g = v.substring(3, 5);\n        b = v.substring(5, 7);\n        a = v.substring(7, 9);\n        // Or we have 3 characters, ie #F00\n    }\n    else {\n        r = v.substring(1, 2);\n        g = v.substring(2, 3);\n        b = v.substring(3, 4);\n        a = v.substring(4, 5);\n        r += r;\n        g += g;\n        b += b;\n        a += a;\n    }\n    return {\n        red: parseInt(r, 16),\n        green: parseInt(g, 16),\n        blue: parseInt(b, 16),\n        alpha: a ? parseInt(a, 16) / 255 : 1,\n    };\n}\nconst hex = {\n    test: /*@__PURE__*/ isColorString(\"#\"),\n    parse: parseHex,\n    transform: rgba.transform,\n};\n\nexport { hex };\n//# sourceMappingURL=hex.mjs.map\n","// Adapted from https://gist.github.com/mjackson/5311256\nfunction hueToRgb(p, q, t) {\n    if (t < 0)\n        t += 1;\n    if (t > 1)\n        t -= 1;\n    if (t < 1 / 6)\n        return p + (q - p) * 6 * t;\n    if (t < 1 / 2)\n        return q;\n    if (t < 2 / 3)\n        return p + (q - p) * (2 / 3 - t) * 6;\n    return p;\n}\nfunction hslaToRgba({ hue, saturation, lightness, alpha }) {\n    hue /= 360;\n    saturation /= 100;\n    lightness /= 100;\n    let red = 0;\n    let green = 0;\n    let blue = 0;\n    if (!saturation) {\n        red = green = blue = lightness;\n    }\n    else {\n        const q = lightness < 0.5\n            ? lightness * (1 + saturation)\n            : lightness + saturation - lightness * saturation;\n        const p = 2 * lightness - q;\n        red = hueToRgb(p, q, hue + 1 / 3);\n        green = hueToRgb(p, q, hue);\n        blue = hueToRgb(p, q, hue - 1 / 3);\n    }\n    return {\n        red: Math.round(red * 255),\n        green: Math.round(green * 255),\n        blue: Math.round(blue * 255),\n        alpha,\n    };\n}\n\nexport { hslaToRgba };\n//# sourceMappingURL=hsla-to-rgba.mjs.map\n","import { alpha } from '../numbers/index.mjs';\nimport { percent } from '../numbers/units.mjs';\nimport { sanitize } from '../utils/sanitize.mjs';\nimport { isColorString, splitColor } from './utils.mjs';\n\nconst hsla = {\n    test: /*@__PURE__*/ isColorString(\"hsl\", \"hue\"),\n    parse: /*@__PURE__*/ splitColor(\"hue\", \"saturation\", \"lightness\"),\n    transform: ({ hue, saturation, lightness, alpha: alpha$1 = 1 }) => {\n        return (\"hsla(\" +\n            Math.round(hue) +\n            \", \" +\n            percent.transform(sanitize(saturation)) +\n            \", \" +\n            percent.transform(sanitize(lightness)) +\n            \", \" +\n            sanitize(alpha.transform(alpha$1)) +\n            \")\");\n    },\n};\n\nexport { hsla };\n//# sourceMappingURL=hsla.mjs.map\n","import { hex } from './hex.mjs';\nimport { hsla } from './hsla.mjs';\nimport { rgba } from './rgba.mjs';\n\nconst color = {\n    test: (v) => rgba.test(v) || hex.test(v) || hsla.test(v),\n    parse: (v) => {\n        if (rgba.test(v)) {\n            return rgba.parse(v);\n        }\n        else if (hsla.test(v)) {\n            return hsla.parse(v);\n        }\n        else {\n            return hex.parse(v);\n        }\n    },\n    transform: (v) => {\n        return typeof v === \"string\"\n            ? v\n            : v.hasOwnProperty(\"red\")\n                ? rgba.transform(v)\n                : hsla.transform(v);\n    },\n    getAnimatableNone: (v) => {\n        const parsed = color.parse(v);\n        parsed.alpha = 0;\n        return color.transform(parsed);\n    },\n};\n\nexport { color };\n//# sourceMappingURL=index.mjs.map\n","import { clamp } from 'motion-utils';\nimport { number, alpha } from '../numbers/index.mjs';\nimport { sanitize } from '../utils/sanitize.mjs';\nimport { isColorString, splitColor } from './utils.mjs';\n\nconst clampRgbUnit = (v) => clamp(0, 255, v);\nconst rgbUnit = {\n    ...number,\n    transform: (v) => Math.round(clampRgbUnit(v)),\n};\nconst rgba = {\n    test: /*@__PURE__*/ isColorString(\"rgb\", \"red\"),\n    parse: /*@__PURE__*/ splitColor(\"red\", \"green\", \"blue\"),\n    transform: ({ red, green, blue, alpha: alpha$1 = 1 }) => \"rgba(\" +\n        rgbUnit.transform(red) +\n        \", \" +\n        rgbUnit.transform(green) +\n        \", \" +\n        rgbUnit.transform(blue) +\n        \", \" +\n        sanitize(alpha.transform(alpha$1)) +\n        \")\",\n};\n\nexport { rgbUnit, rgba };\n//# sourceMappingURL=rgba.mjs.map\n","import { floatRegex } from '../utils/float-regex.mjs';\nimport { isNullish } from '../utils/is-nullish.mjs';\nimport { singleColorRegex } from '../utils/single-color-regex.mjs';\n\n/**\n * Returns true if the provided string is a color, ie rgba(0,0,0,0) or #000,\n * but false if a number or multiple colors\n */\nconst isColorString = (type, testProp) => (v) => {\n    return Boolean((typeof v === \"string\" &&\n        singleColorRegex.test(v) &&\n        v.startsWith(type)) ||\n        (testProp &&\n            !isNullish(v) &&\n            Object.prototype.hasOwnProperty.call(v, testProp)));\n};\nconst splitColor = (aName, bName, cName) => (v) => {\n    if (typeof v !== \"string\")\n        return v;\n    const [a, b, c, alpha] = v.match(floatRegex);\n    return {\n        [aName]: parseFloat(a),\n        [bName]: parseFloat(b),\n        [cName]: parseFloat(c),\n        alpha: alpha !== undefined ? parseFloat(alpha) : 1,\n    };\n};\n\nexport { isColorString, splitColor };\n//# sourceMappingURL=utils.mjs.map\n","import { complex } from './index.mjs';\nimport { floatRegex } from '../utils/float-regex.mjs';\n\n/**\n * Properties that should default to 1 or 100%\n */\nconst maxDefaults = new Set([\"brightness\", \"contrast\", \"saturate\", \"opacity\"]);\nfunction applyDefaultFilter(v) {\n    const [name, value] = v.slice(0, -1).split(\"(\");\n    if (name === \"drop-shadow\")\n        return v;\n    const [number] = value.match(floatRegex) || [];\n    if (!number)\n        return v;\n    const unit = value.replace(number, \"\");\n    let defaultValue = maxDefaults.has(name) ? 1 : 0;\n    if (number !== value)\n        defaultValue *= 100;\n    return name + \"(\" + defaultValue + unit + \")\";\n}\nconst functionRegex = /\\b([a-z-]*)\\(.*?\\)/gu;\nconst filter = {\n    ...complex,\n    getAnimatableNone: (v) => {\n        const functions = v.match(functionRegex);\n        return functions ? functions.map(applyDefaultFilter).join(\" \") : v;\n    },\n};\n\nexport { filter };\n//# sourceMappingURL=filter.mjs.map\n","import { color } from '../color/index.mjs';\nimport { colorRegex } from '../utils/color-regex.mjs';\nimport { floatRegex } from '../utils/float-regex.mjs';\nimport { sanitize } from '../utils/sanitize.mjs';\n\nfunction test(v) {\n    return (isNaN(v) &&\n        typeof v === \"string\" &&\n        (v.match(floatRegex)?.length || 0) +\n            (v.match(colorRegex)?.length || 0) >\n            0);\n}\nconst NUMBER_TOKEN = \"number\";\nconst COLOR_TOKEN = \"color\";\nconst VAR_TOKEN = \"var\";\nconst VAR_FUNCTION_TOKEN = \"var(\";\nconst SPLIT_TOKEN = \"${}\";\n// this regex consists of the `singleCssVariableRegex|rgbHSLValueRegex|digitRegex`\nconst complexRegex = /var\\s*\\(\\s*--(?:[\\w-]+\\s*|[\\w-]+\\s*,(?:\\s*[^)(\\s]|\\s*\\((?:[^)(]|\\([^)(]*\\))*\\))+\\s*)\\)|#[\\da-f]{3,8}|(?:rgb|hsl)a?\\((?:-?[\\d.]+%?[,\\s]+){2}-?[\\d.]+%?\\s*(?:[,/]\\s*)?(?:\\b\\d+(?:\\.\\d+)?|\\.\\d+)?%?\\)|-?(?:\\d+(?:\\.\\d+)?|\\.\\d+)/giu;\nfunction analyseComplexValue(value) {\n    const originalValue = value.toString();\n    const values = [];\n    const indexes = {\n        color: [],\n        number: [],\n        var: [],\n    };\n    const types = [];\n    let i = 0;\n    const tokenised = originalValue.replace(complexRegex, (parsedValue) => {\n        if (color.test(parsedValue)) {\n            indexes.color.push(i);\n            types.push(COLOR_TOKEN);\n            values.push(color.parse(parsedValue));\n        }\n        else if (parsedValue.startsWith(VAR_FUNCTION_TOKEN)) {\n            indexes.var.push(i);\n            types.push(VAR_TOKEN);\n            values.push(parsedValue);\n        }\n        else {\n            indexes.number.push(i);\n            types.push(NUMBER_TOKEN);\n            values.push(parseFloat(parsedValue));\n        }\n        ++i;\n        return SPLIT_TOKEN;\n    });\n    const split = tokenised.split(SPLIT_TOKEN);\n    return { values, split, indexes, types };\n}\nfunction parseComplexValue(v) {\n    return analyseComplexValue(v).values;\n}\nfunction createTransformer(source) {\n    const { split, types } = analyseComplexValue(source);\n    const numSections = split.length;\n    return (v) => {\n        let output = \"\";\n        for (let i = 0; i < numSections; i++) {\n            output += split[i];\n            if (v[i] !== undefined) {\n                const type = types[i];\n                if (type === NUMBER_TOKEN) {\n                    output += sanitize(v[i]);\n                }\n                else if (type === COLOR_TOKEN) {\n                    output += color.transform(v[i]);\n                }\n                else {\n                    output += v[i];\n                }\n            }\n        }\n        return output;\n    };\n}\nconst convertNumbersToZero = (v) => typeof v === \"number\" ? 0 : color.test(v) ? color.getAnimatableNone(v) : v;\nfunction getAnimatableNone(v) {\n    const parsed = parseComplexValue(v);\n    const transformer = createTransformer(v);\n    return transformer(parsed.map(convertNumbersToZero));\n}\nconst complex = {\n    test,\n    parse: parseComplexValue,\n    createTransformer,\n    getAnimatableNone,\n};\n\nexport { analyseComplexValue, complex };\n//# sourceMappingURL=index.mjs.map\n","import { auto } from './auto.mjs';\nimport { number } from './numbers/index.mjs';\nimport { px, percent, degrees, vw, vh } from './numbers/units.mjs';\nimport { testValueType } from './test.mjs';\n\n/**\n * A list of value types commonly used for dimensions\n */\nconst dimensionValueTypes = [number, px, percent, degrees, vw, vh, auto];\n/**\n * Tests a dimensional value against the list of dimension ValueTypes\n */\nconst findDimensionValueType = (v) => dimensionValueTypes.find(testValueType(v));\n\nexport { dimensionValueTypes, findDimensionValueType };\n//# sourceMappingURL=dimensions.mjs.map\n","import { number } from './numbers/index.mjs';\n\nconst int = {\n    ...number,\n    transform: Math.round,\n};\n\nexport { int };\n//# sourceMappingURL=int.mjs.map\n","import { color } from '../color/index.mjs';\nimport { filter } from '../complex/filter.mjs';\nimport { numberValueTypes } from './number.mjs';\n\n/**\n * A map of default value types for common values\n */\nconst defaultValueTypes = {\n    ...numberValueTypes,\n    // Color props\n    color,\n    backgroundColor: color,\n    outlineColor: color,\n    fill: color,\n    stroke: color,\n    // Border props\n    borderColor: color,\n    borderTopColor: color,\n    borderRightColor: color,\n    borderBottomColor: color,\n    borderLeftColor: color,\n    filter,\n    WebkitFilter: filter,\n};\n/**\n * Gets the default ValueType for the provided value key\n */\nconst getDefaultValueType = (key) => defaultValueTypes[key];\n\nexport { defaultValueTypes, getDefaultValueType };\n//# sourceMappingURL=defaults.mjs.map\n","import { int } from '../int.mjs';\nimport { alpha } from '../numbers/index.mjs';\nimport { px } from '../numbers/units.mjs';\nimport { transformValueTypes } from './transform.mjs';\n\nconst numberValueTypes = {\n    // Border props\n    borderWidth: px,\n    borderTopWidth: px,\n    borderRightWidth: px,\n    borderBottomWidth: px,\n    borderLeftWidth: px,\n    borderRadius: px,\n    borderTopLeftRadius: px,\n    borderTopRightRadius: px,\n    borderBottomRightRadius: px,\n    borderBottomLeftRadius: px,\n    // Positioning props\n    width: px,\n    maxWidth: px,\n    height: px,\n    maxHeight: px,\n    top: px,\n    right: px,\n    bottom: px,\n    left: px,\n    inset: px,\n    insetBlock: px,\n    insetBlockStart: px,\n    insetBlockEnd: px,\n    insetInline: px,\n    insetInlineStart: px,\n    insetInlineEnd: px,\n    // Spacing props\n    padding: px,\n    paddingTop: px,\n    paddingRight: px,\n    paddingBottom: px,\n    paddingLeft: px,\n    paddingBlock: px,\n    paddingBlockStart: px,\n    paddingBlockEnd: px,\n    paddingInline: px,\n    paddingInlineStart: px,\n    paddingInlineEnd: px,\n    margin: px,\n    marginTop: px,\n    marginRight: px,\n    marginBottom: px,\n    marginLeft: px,\n    marginBlock: px,\n    marginBlockStart: px,\n    marginBlockEnd: px,\n    marginInline: px,\n    marginInlineStart: px,\n    marginInlineEnd: px,\n    // Typography\n    fontSize: px,\n    // Misc\n    backgroundPositionX: px,\n    backgroundPositionY: px,\n    ...transformValueTypes,\n    zIndex: int,\n    // SVG\n    fillOpacity: alpha,\n    strokeOpacity: alpha,\n    numOctaves: int,\n};\n\nexport { numberValueTypes };\n//# sourceMappingURL=number.mjs.map\n","import { scale, alpha } from '../numbers/index.mjs';\nimport { degrees, px, progressPercentage } from '../numbers/units.mjs';\n\nconst transformValueTypes = {\n    rotate: degrees,\n    rotateX: degrees,\n    rotateY: degrees,\n    rotateZ: degrees,\n    scale,\n    scaleX: scale,\n    scaleY: scale,\n    scaleZ: scale,\n    skew: degrees,\n    skewX: degrees,\n    skewY: degrees,\n    distance: px,\n    translateX: px,\n    translateY: px,\n    translateZ: px,\n    x: px,\n    y: px,\n    z: px,\n    perspective: px,\n    transformPerspective: px,\n    opacity: alpha,\n    originX: progressPercentage,\n    originY: progressPercentage,\n    originZ: px,\n};\n\nexport { transformValueTypes };\n//# sourceMappingURL=transform.mjs.map\n","import { clamp } from 'motion-utils';\n\nconst number = {\n    test: (v) => typeof v === \"number\",\n    parse: parseFloat,\n    transform: (v) => v,\n};\nconst alpha = {\n    ...number,\n    transform: (v) => clamp(0, 1, v),\n};\nconst scale = {\n    ...number,\n    default: 1,\n};\n\nexport { alpha, number, scale };\n//# sourceMappingURL=index.mjs.map\n","/*#__NO_SIDE_EFFECTS__*/\nconst createUnitType = (unit) => ({\n    test: (v) => typeof v === \"string\" && v.endsWith(unit) && v.split(\" \").length === 1,\n    parse: parseFloat,\n    transform: (v) => `${v}${unit}`,\n});\nconst degrees = /*@__PURE__*/ createUnitType(\"deg\");\nconst percent = /*@__PURE__*/ createUnitType(\"%\");\nconst px = /*@__PURE__*/ createUnitType(\"px\");\nconst vh = /*@__PURE__*/ createUnitType(\"vh\");\nconst vw = /*@__PURE__*/ createUnitType(\"vw\");\nconst progressPercentage = /*@__PURE__*/ (() => ({\n    ...percent,\n    parse: (v) => percent.parse(v) / 100,\n    transform: (v) => percent.transform(v * 100),\n}))();\n\nexport { degrees, percent, progressPercentage, px, vh, vw };\n//# sourceMappingURL=units.mjs.map\n","/**\n * Tests a provided value against a ValueType\n */\nconst testValueType = (v) => (type) => type.test(v);\n\nexport { testValueType };\n//# sourceMappingURL=test.mjs.map\n","import { complex } from '../complex/index.mjs';\nimport { filter } from '../complex/filter.mjs';\nimport { getDefaultValueType } from '../maps/defaults.mjs';\n\nfunction getAnimatableNone(key, value) {\n    let defaultValueType = getDefaultValueType(key);\n    if (defaultValueType !== filter)\n        defaultValueType = complex;\n    // If value is not recognised as animatable, ie \"none\", create an animatable version origin based on the target\n    return defaultValueType.getAnimatableNone\n        ? defaultValueType.getAnimatableNone(value)\n        : undefined;\n}\n\nexport { getAnimatableNone };\n//# sourceMappingURL=animatable-none.mjs.map\n","const colorRegex = /(?:#[\\da-f]{3,8}|(?:rgb|hsl)a?\\((?:-?[\\d.]+%?[,\\s]+){2}-?[\\d.]+%?\\s*(?:[,/]\\s*)?(?:\\b\\d+(?:\\.\\d+)?|\\.\\d+)?%?\\))/giu;\n\nexport { colorRegex };\n//# sourceMappingURL=color-regex.mjs.map\n","import { color } from '../color/index.mjs';\nimport { complex } from '../complex/index.mjs';\nimport { dimensionValueTypes } from '../dimensions.mjs';\nimport { testValueType } from '../test.mjs';\n\n/**\n * A list of all ValueTypes\n */\nconst valueTypes = [...dimensionValueTypes, color, complex];\n/**\n * Tests a value against the list of ValueTypes\n */\nconst findValueType = (v) => valueTypes.find(testValueType(v));\n\nexport { findValueType };\n//# sourceMappingURL=find.mjs.map\n","const floatRegex = /-?(?:\\d+(?:\\.\\d+)?|\\.\\d+)/gu;\n\nexport { floatRegex };\n//# sourceMappingURL=float-regex.mjs.map\n","/**\n * Provided a value and a ValueType, returns the value as that value type.\n */\nconst getValueAsType = (value, type) => {\n    return type && typeof value === \"number\"\n        ? type.transform(value)\n        : value;\n};\n\nexport { getValueAsType };\n//# sourceMappingURL=get-as-type.mjs.map\n","function isNullish(v) {\n    return v == null;\n}\n\nexport { isNullish };\n//# sourceMappingURL=is-nullish.mjs.map\n","// If this number is a decimal, make it just five decimal places\n// to avoid exponents\nconst sanitize = (v) => Math.round(v * 100000) / 100000;\n\nexport { sanitize };\n//# sourceMappingURL=sanitize.mjs.map\n","const singleColorRegex = /^(?:#[\\da-f]{3,8}|(?:rgb|hsl)a?\\((?:-?[\\d.]+%?[,\\s]+){2}-?[\\d.]+%?\\s*(?:[,/]\\s*)?(?:\\b\\d+(?:\\.\\d+)?|\\.\\d+)?%?\\))$/iu;\n\nexport { singleColorRegex };\n//# sourceMappingURL=single-color-regex.mjs.map\n","const isMotionValue = (value) => Boolean(value && value.getVelocity);\n\nexport { isMotionValue };\n//# sourceMappingURL=is-motion-value.mjs.map\n","import { isMotionValue } from './is-motion-value.mjs';\n\n/**\n * If the provided value is a MotionValue, this returns the actual value, otherwise just the value itself\n */\nfunction resolveMotionValue(value) {\n    return isMotionValue(value) ? value.get() : value;\n}\n\nexport { resolveMotionValue };\n//# sourceMappingURL=resolve-motion-value.mjs.map\n","import { MotionGlobalConfig } from 'motion-utils';\nimport { isWillChangeMotionValue } from './is.mjs';\n\nfunction addValueToWillChange(visualElement, key) {\n    const willChange = visualElement.getValue(\"willChange\");\n    /**\n     * It could be that a user has set willChange to a regular MotionValue,\n     * in which case we can't add the value to it.\n     */\n    if (isWillChangeMotionValue(willChange)) {\n        return willChange.add(key);\n    }\n    else if (!willChange && MotionGlobalConfig.WillChange) {\n        const newWillChange = new MotionGlobalConfig.WillChange(\"auto\");\n        visualElement.addValue(\"willChange\", newWillChange);\n        newWillChange.add(key);\n    }\n}\n\nexport { addValueToWillChange };\n//# sourceMappingURL=add-will-change.mjs.map\n","import { isMotionValue } from '../utils/is-motion-value.mjs';\n\nfunction isWillChangeMotionValue(value) {\n    return Boolean(isMotionValue(value) && value.add);\n}\n\nexport { isWillChangeMotionValue };\n//# sourceMappingURL=is.mjs.map\n","function addUniqueItem(arr, item) {\n    if (arr.indexOf(item) === -1)\n        arr.push(item);\n}\nfunction removeItem(arr, item) {\n    const index = arr.indexOf(item);\n    if (index > -1)\n        arr.splice(index, 1);\n}\n// Adapted from array-move\nfunction moveItem([...arr], fromIndex, toIndex) {\n    const startIndex = fromIndex < 0 ? arr.length + fromIndex : fromIndex;\n    if (startIndex >= 0 && startIndex < arr.length) {\n        const endIndex = toIndex < 0 ? arr.length + toIndex : toIndex;\n        const [item] = arr.splice(fromIndex, 1);\n        arr.splice(endIndex, 0, item);\n    }\n    return arr;\n}\n\nexport { addUniqueItem, moveItem, removeItem };\n//# sourceMappingURL=array.mjs.map\n","const clamp = (min, max, v) => {\n    if (v > max)\n        return max;\n    if (v < min)\n        return min;\n    return v;\n};\n\nexport { clamp };\n//# sourceMappingURL=clamp.mjs.map\n","import { backIn } from './back.mjs';\n\nconst anticipate = (p) => (p *= 2) < 1 ? 0.5 * backIn(p) : 0.5 * (2 - Math.pow(2, -10 * (p - 1)));\n\nexport { anticipate };\n//# sourceMappingURL=anticipate.mjs.map\n","import { cubicBezier } from './cubic-bezier.mjs';\nimport { mirrorEasing } from './modifiers/mirror.mjs';\nimport { reverseEasing } from './modifiers/reverse.mjs';\n\nconst backOut = /*@__PURE__*/ cubicBezier(0.33, 1.53, 0.69, 0.99);\nconst backIn = /*@__PURE__*/ reverseEasing(backOut);\nconst backInOut = /*@__PURE__*/ mirrorEasing(backIn);\n\nexport { backIn, backInOut, backOut };\n//# sourceMappingURL=back.mjs.map\n","import { mirrorEasing } from './modifiers/mirror.mjs';\nimport { reverseEasing } from './modifiers/reverse.mjs';\n\nconst circIn = (p) => 1 - Math.sin(Math.acos(p));\nconst circOut = reverseEasing(circIn);\nconst circInOut = mirrorEasing(circIn);\n\nexport { circIn, circInOut, circOut };\n//# sourceMappingURL=circ.mjs.map\n","import { noop } from '../noop.mjs';\n\n/*\n  Bezier function generator\n  This has been modified from Gaëtan Renaudeau's BezierEasing\n  https://github.com/gre/bezier-easing/blob/master/src/index.js\n  https://github.com/gre/bezier-easing/blob/master/LICENSE\n  \n  I've removed the newtonRaphsonIterate algo because in benchmarking it\n  wasn't noticeably faster than binarySubdivision, indeed removing it\n  usually improved times, depending on the curve.\n  I also removed the lookup table, as for the added bundle size and loop we're\n  only cutting ~4 or so subdivision iterations. I bumped the max iterations up\n  to 12 to compensate and this still tended to be faster for no perceivable\n  loss in accuracy.\n  Usage\n    const easeOut = cubicBezier(.17,.67,.83,.67);\n    const x = easeOut(0.5); // returns 0.627...\n*/\n// Returns x(t) given t, x1, and x2, or y(t) given t, y1, and y2.\nconst calcBezier = (t, a1, a2) => (((1.0 - 3.0 * a2 + 3.0 * a1) * t + (3.0 * a2 - 6.0 * a1)) * t + 3.0 * a1) *\n    t;\nconst subdivisionPrecision = 0.0000001;\nconst subdivisionMaxIterations = 12;\nfunction binarySubdivide(x, lowerBound, upperBound, mX1, mX2) {\n    let currentX;\n    let currentT;\n    let i = 0;\n    do {\n        currentT = lowerBound + (upperBound - lowerBound) / 2.0;\n        currentX = calcBezier(currentT, mX1, mX2) - x;\n        if (currentX > 0.0) {\n            upperBound = currentT;\n        }\n        else {\n            lowerBound = currentT;\n        }\n    } while (Math.abs(currentX) > subdivisionPrecision &&\n        ++i < subdivisionMaxIterations);\n    return currentT;\n}\nfunction cubicBezier(mX1, mY1, mX2, mY2) {\n    // If this is a linear gradient, return linear easing\n    if (mX1 === mY1 && mX2 === mY2)\n        return noop;\n    const getTForX = (aX) => binarySubdivide(aX, 0, 1, mX1, mX2);\n    // If animation is at start/end, return t without easing\n    return (t) => t === 0 || t === 1 ? t : calcBezier(getTForX(t), mY1, mY2);\n}\n\nexport { cubicBezier };\n//# sourceMappingURL=cubic-bezier.mjs.map\n","import { cubicBezier } from './cubic-bezier.mjs';\n\nconst easeIn = /*@__PURE__*/ cubicBezier(0.42, 0, 1, 1);\nconst easeOut = /*@__PURE__*/ cubicBezier(0, 0, 0.58, 1);\nconst easeInOut = /*@__PURE__*/ cubicBezier(0.42, 0, 0.58, 1);\n\nexport { easeIn, easeInOut, easeOut };\n//# sourceMappingURL=ease.mjs.map\n","// Accepts an easing function and returns a new one that outputs mirrored values for\n// the second half of the animation. Turns easeIn into easeInOut.\nconst mirrorEasing = (easing) => (p) => p <= 0.5 ? easing(2 * p) / 2 : (2 - easing(2 * (1 - p))) / 2;\n\nexport { mirrorEasing };\n//# sourceMappingURL=mirror.mjs.map\n","// Accepts an easing function and returns a new one that outputs reversed values.\n// Turns easeIn into easeOut.\nconst reverseEasing = (easing) => (p) => 1 - easing(1 - p);\n\nexport { reverseEasing };\n//# sourceMappingURL=reverse.mjs.map\n","const isBezierDefinition = (easing) => Array.isArray(easing) && typeof easing[0] === \"number\";\n\nexport { isBezierDefinition };\n//# sourceMappingURL=is-bezier-definition.mjs.map\n","const isEasingArray = (ease) => {\n    return Array.isArray(ease) && typeof ease[0] !== \"number\";\n};\n\nexport { isEasingArray };\n//# sourceMappingURL=is-easing-array.mjs.map\n","import { invariant } from '../../errors.mjs';\nimport { noop } from '../../noop.mjs';\nimport { anticipate } from '../anticipate.mjs';\nimport { backIn, backInOut, backOut } from '../back.mjs';\nimport { circIn, circInOut, circOut } from '../circ.mjs';\nimport { cubicBezier } from '../cubic-bezier.mjs';\nimport { easeIn, easeInOut, easeOut } from '../ease.mjs';\nimport { isBezierDefinition } from './is-bezier-definition.mjs';\n\nconst easingLookup = {\n    linear: noop,\n    easeIn,\n    easeInOut,\n    easeOut,\n    circIn,\n    circInOut,\n    circOut,\n    backIn,\n    backInOut,\n    backOut,\n    anticipate,\n};\nconst isValidEasing = (easing) => {\n    return typeof easing === \"string\";\n};\nconst easingDefinitionToFunction = (definition) => {\n    if (isBezierDefinition(definition)) {\n        // If cubic bezier definition, create bezier curve\n        invariant(definition.length === 4, `Cubic bezier arrays must contain four numerical values.`, \"cubic-bezier-length\");\n        const [x1, y1, x2, y2] = definition;\n        return cubicBezier(x1, y1, x2, y2);\n    }\n    else if (isValidEasing(definition)) {\n        // Else lookup from table\n        invariant(easingLookup[definition] !== undefined, `Invalid easing type '${definition}'`, \"invalid-easing-type\");\n        return easingLookup[definition];\n    }\n    return definition;\n};\n\nexport { easingDefinitionToFunction };\n//# sourceMappingURL=map.mjs.map\n","import { formatErrorMessage } from './format-error-message.mjs';\n\nlet warning = () => { };\nlet invariant = () => { };\nif (typeof process !== \"undefined\" &&\n    process.env?.NODE_ENV !== \"production\") {\n    warning = (check, message, errorCode) => {\n        if (!check && typeof console !== \"undefined\") {\n            console.warn(formatErrorMessage(message, errorCode));\n        }\n    };\n    invariant = (check, message, errorCode) => {\n        if (!check) {\n            throw new Error(formatErrorMessage(message, errorCode));\n        }\n    };\n}\n\nexport { invariant, warning };\n//# sourceMappingURL=errors.mjs.map\n","const MotionGlobalConfig = {};\n\nexport { MotionGlobalConfig };\n//# sourceMappingURL=global-config.mjs.map\n","/**\n * Check if value is a numerical string, ie a string that is purely a number eg \"100\" or \"-100.1\"\n */\nconst isNumericalString = (v) => /^-?(?:\\d+(?:\\.\\d+)?|\\.\\d+)$/u.test(v);\n\nexport { isNumericalString };\n//# sourceMappingURL=is-numerical-string.mjs.map\n","function isObject(value) {\n    return typeof value === \"object\" && value !== null;\n}\n\nexport { isObject };\n//# sourceMappingURL=is-object.mjs.map\n","/**\n * Check if the value is a zero value string like \"0px\" or \"0%\"\n */\nconst isZeroValueString = (v) => /^0[^.\\s]+$/u.test(v);\n\nexport { isZeroValueString };\n//# sourceMappingURL=is-zero-value-string.mjs.map\n","/*#__NO_SIDE_EFFECTS__*/\nfunction memo(callback) {\n    let result;\n    return () => {\n        if (result === undefined)\n            result = callback();\n        return result;\n    };\n}\n\nexport { memo };\n//# sourceMappingURL=memo.mjs.map\n","/*#__NO_SIDE_EFFECTS__*/\nconst noop = (any) => any;\n\nexport { noop };\n//# sourceMappingURL=noop.mjs.map\n","/**\n * Pipe\n * Compose other transformers to run linearily\n * pipe(min(20), max(40))\n * @param  {...functions} transformers\n * @return {function}\n */\nconst combineFunctions = (a, b) => (v) => b(a(v));\nconst pipe = (...transformers) => transformers.reduce(combineFunctions);\n\nexport { pipe };\n//# sourceMappingURL=pipe.mjs.map\n","/*\n  Progress within given range\n\n  Given a lower limit and an upper limit, we return the progress\n  (expressed as a number 0-1) represented by the given value, and\n  limit that progress to within 0-1.\n\n  @param [number]: Lower limit\n  @param [number]: Upper limit\n  @param [number]: Value to find progress within given range\n  @return [number]: Progress of value within range as expressed 0-1\n*/\n/*#__NO_SIDE_EFFECTS__*/\nconst progress = (from, to, value) => {\n    const toFromDifference = to - from;\n    return toFromDifference === 0 ? 1 : (value - from) / toFromDifference;\n};\n\nexport { progress };\n//# sourceMappingURL=progress.mjs.map\n","import { addUniqueItem, removeItem } from './array.mjs';\n\nclass SubscriptionManager {\n    constructor() {\n        this.subscriptions = [];\n    }\n    add(handler) {\n        addUniqueItem(this.subscriptions, handler);\n        return () => removeItem(this.subscriptions, handler);\n    }\n    notify(a, b, c) {\n        const numSubscriptions = this.subscriptions.length;\n        if (!numSubscriptions)\n            return;\n        if (numSubscriptions === 1) {\n            /**\n             * If there's only a single handler we can just call it without invoking a loop.\n             */\n            this.subscriptions[0](a, b, c);\n        }\n        else {\n            for (let i = 0; i < numSubscriptions; i++) {\n                /**\n                 * Check whether the handler exists before firing as it's possible\n                 * the subscriptions were modified during this loop running.\n                 */\n                const handler = this.subscriptions[i];\n                handler && handler(a, b, c);\n            }\n        }\n    }\n    getSize() {\n        return this.subscriptions.length;\n    }\n    clear() {\n        this.subscriptions.length = 0;\n    }\n}\n\nexport { SubscriptionManager };\n//# sourceMappingURL=subscription-manager.mjs.map\n","/**\n * Converts seconds to milliseconds\n *\n * @param seconds - Time in seconds.\n * @return milliseconds - Converted time in milliseconds.\n */\n/*#__NO_SIDE_EFFECTS__*/\nconst secondsToMilliseconds = (seconds) => seconds * 1000;\n/*#__NO_SIDE_EFFECTS__*/\nconst millisecondsToSeconds = (milliseconds) => milliseconds / 1000;\n\nexport { millisecondsToSeconds, secondsToMilliseconds };\n//# sourceMappingURL=time-conversion.mjs.map\n","/*\n  Convert velocity into velocity per second\n\n  @param [number]: Unit per frame\n  @param [number]: Frame duration in ms\n*/\nfunction velocityPerSecond(velocity, frameDuration) {\n    return frameDuration ? velocity * (1000 / frameDuration) : 0;\n}\n\nexport { velocityPerSecond };\n//# sourceMappingURL=velocity-per-second.mjs.map\n"],"names":["e","L","Object","defineProperty","fe","defineProperties","me","getOwnPropertyDescriptor","he","getOwnPropertyDescriptors","ye","getOwnPropertyNames","ee","getOwnPropertySymbols","te","prototype","hasOwnProperty","xe","propertyIsEnumerable","re","r","t","enumerable","configurable","writable","value","_","call","tr","get","we","formatFileSize","ne","twMerge","ge","module","exports","o","i","ve","n","Math","floor","log","parseFloat","pow","toFixed","ae","l","length","classGroupId","nextPart","slice","validators","join","find","validator","s","se","q","forEach","Se","push","entries","ie","split","has","set","Map","isThemeGetter","Ae","map","fromEntries","Ge","Pe","separator","experimentalParseClassName","y","u","g","m","p","f","x","substring","v","startsWith","modifiers","hasImportantModifier","baseClassName","maybePostfixModifierPosition","className","parseClassName","Re","sort","Ie","cache","cacheSize","theme","prefix","classGroups","Me","conflictingClassGroups","conflictingClassGroupModifiers","getClassGroupId","shift","test","exec","indexOf","ze","getConflictingClassGroupIds","Ce","Te","Be","arguments","de","le","reduce","trim","w","b","h","includes","P","S","B","Ne","apply","c","pe","Ee","je","Set","Le","_e","We","$e","Fe","C","A","z","G","Xe","Number","isNaN","O","I","isInteger","Ve","endsWith","a","M","Ue","Oe","ue","qe","Ke","Ze","He","Je","Ye","T","W","Z","J","X","V","d","Y","E","R","k","colors","spacing","blur","brightness","borderColor","borderRadius","borderSpacing","borderWidth","contrast","grayscale","hueRotate","invert","gap","gradientColorStops","gradientColorStopPositions","inset","margin","opacity","padding","saturate","scale","sepia","skew","space","translate","aspect","container","columns","box","display","float","clear","isolation","object","overflow","overscroll","position","start","end","top","right","bottom","left","visibility","basis","flex","grow","shrink","order","col","span","row","justify","content","items","self","px","py","ps","pt","pr","pb","pl","mx","my","ms","mt","mr","mb","ml","screen","size","text","font","tracking","leading","list","placeholder","decoration","indent","align","whitespace","break","hyphens","bg","repeat","from","via","to","rounded","border","divide","outline","ring","shadow","filter","table","caption","transition","duration","ease","delay","animate","transform","rotate","origin","accent","appearance","cursor","caret","resize","scroll","snap","touch","select","fill","stroke","sr","N","De","er","concat","rr","extend","override","Qe","be","oe","_path","_extends","assign","bind","SvgQuestionCircle","props","width","height","viewBox","xmlns","fillRule","clipRule","SvgSearch","counterMap","WeakMap","uncontrolledNodes","markerMap","lockCount","unwrapHost","node","host","parentNode","hideOthers","originalTarget","markerName","targets","Array","isArray","activeParentNode","document","ownerDocument","body","getDefaultParent","querySelectorAll","controlAttribute","parent","target","contains","correctedTarget","console","error","Boolean","correctTargets","markerCounter","hiddenNodes","elementsToKeep","elementsToStop","keep","el","add","deep","children","attr","getAttribute","alreadyHidden","counterValue","markerValue","setAttribute","removeAttribute","delete","applyAttributeToOthers","showEvent","triggerSnackbar","message","link","dispatchEvent","CustomEvent","detail","Snackbar","snackRef","useRef","_useState2","useState","activeMessage","setActiveMessage","queue","useEffect","listener","_ref","current","addEventListener","removeEventListener","timer","setTimeout","first","clearTimeout","calculatePosition","scrollHeight","style","_e$target","scrollingElement","scrollTop","React","ref","window","scrollY","href","url","initSnackbar","$","appendTo","createRoot","render","flashMessages","message_type","StateType","HTTP","endpoints","editortools","id","handled","archived","locked","priority","tags","status","comments","create","update","comment","activity","slug","changeChannel","org","channels","dashboardItem","drafts","user","profile","search","externalConversations","conversations","itemId","conversationId","ai","smartSuggestions","inboxSlug","dialogSlug","mailCommentId","keywordSearch","searchTerm","ticket","cancelCsatSurvey","publicId","csatSurveyStatus","useApi","verb","endpoint","isUnmounted","dataType","type","Idle","networkState","setNetworkState","handleResponse","promise","Loading","then","payload","Done","catch","Error","match","with","GET","Promise","resolve","reject","POST","data","post","PUT","ajax","JSON","stringify","DELETE","PATCH","contentType","run","request","NullAttachmentsList","_classCallCheck","_createClass","key","msg","alert","progress","file","file_id","LargeAttachmentsList","elm","onChange","this","attachments","json_field","attachment_list","label","on","preventDefault","remove_file","frame","remove","elms","get_files","_file_to_element","append","show","hide","fileName","filename","path","replace","fileType","extension","undefined","pop","toLowerCase","definedFiletypes","pdf","word","excel","image","doc","docx","xls","xlsx","jpeg","jpg","jpe","png","gif","tif","tiff","getFiletypeFromName","button","IconX","TRANSLATIONS","nameLink","li","iconClass","icon","img","show_progress_error","before","disposition","attachmentsListElement","bounding","getBoundingClientRect","innerHeight","scrollIntoView","behavior","add_progress_bar","progressBar","css","addClass","round","removeClass","files","temporary_url","set_files","json","parse","val","trigger","refresh_attachments","Formatting","init","each","_i","form","elem","getKundoFroalaInstance","attachmentsElm","isMailContext","allowLargeUploads","dataset","attachmentsList","KundoFroalaEditor","setupTextEditorForm","handleKeyDown","_getKundoFroalaInstan7","isTextEditorReady","_getKundoFroalaInstan","isInitialized","waitForTextEditorReady","retryFunction","editor","getTextEditorHTML","_getKundoFroalaInstan2","getHTML","setTextEditorHTML","html","_getKundoFroalaInstan3","setHTML","getTextEditorCaretPosition","_getKundoFroalaInstan4","froala","getBoundingRect","focusTextEditor","_getKundoFroalaInstan5","focus","forceTextEditorAutosave","_getKundoFroalaInstan6","setDirty","event","metaKey","ctrlKey","shiftKey","stopPropagation","parents","submit","KUNDO","formatting","dependencies","FroalaEditorV4","FroalaEditor","AutoRepliesAlerts","isOpen","title","ctaButtonText","onAction","toastContainer","useMemo","element","getElementById","createElement","appendChild","innerHTML","open","setOpen","createPortal","Toast","swipeDirection","description","onOpenChange","_document$querySelect","querySelector","closeButtonText","gettext","buttonText","initAutoRepliesAlerts","_ref2","root","Symbol","iterator","toStringTag","Generator","_regeneratorDefine2","TypeError","done","return","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","setPrototypeOf","__proto__","displayName","_regenerator","_invoke","_OverloadYield","asyncGeneratorStep","_asyncToGenerator","_next","_throw","skeleton","editorSetHtml","parseDOM","DOMParser","parseFromString","trimContent","editableContent","_ref$removePreviosAut","removePreviosAutoreply","parsedEditorContent","currentContent","deleteSkeleton","cleanedHtml","showSkeleton","_ref2$removePreviousC","removePreviousContent","_ref2$removePreviosAu","_editableContent","updatedHtml","stringIsEmpty","checkIfEmptyString","replacementHtml","str","_container$textConten","_container$textConten2","br","textContent","insertResult","_x","_insertResult","_regeneratorRuntime","mark","_callee","_ref3","_ref3$removePreviousC","_editableContent2","wrap","_context","prev","next","undo","saveStep","events","stop","aiAutoReplies","DEFAULTS","PLUGINS","toolbar","$tb","editorBox","$box","aiAutoResponseBtn","parentForm","$oel","closest","editorOn","edit","classList","_generateResponse","onSuccess","onError","messagePuri","channelType","response","abrupt","fetch","toString","method","headers","Accept","sent","ok","renderAlert","errorCode","code","MailHistoryPlugin","_init","t0","buttonStatus","_ref2$isLoading","isLoading","textContainer","defaultTitle","cmdTitle","loadingTitle","froalaAiAutoReply","buttonPreloader","_x2","_renderAlert","_callee2","_TRANSLATIONS2","errorAiTechError","outgoingThreadMessageNotice","errorAiTimeout","errorNoReplies","errorMessage","_context2","opts","fnEditorAlerts","insertAdjacentElement","initPlugin","connectInboxMessage","connectInboxCTA","isConnectedToSmartReplyChannel","hasSmartReplyChannels","off","deleteSources","generateResponse","references","renderSources","initAiSources","location","RegisterCommand","BTN_AI_AUTO_REPLIES","callback","plugin","popup","ApiPromptTypes","ApiPromptLangCode","ApiPromptTonality","useApiPrompt","promptType","_ref$prompt","prompt","language","tonality","channelPuri","_window","CURRENT_ORGANIZATION_ID","organizationPuri","message_puri","FREE_TEXT","FIX_SPELLING","TRANSLATE_TO","MAKE_LONGER","MAKE_SHORTER","CHANGE_TONE","t1","ALLOWED_IMAGE_EXTENSIONS","isAllowedImageMime","exts","len","PromptLanguages","ownKeys","keys","_objectSpread","_defineProperty","_typeof","toPrimitive","String","_toPrimitive","_toPropertyKey","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_arrayLikeToArray","constructor","name","_unsupportedIterableToArray","_nonIterableRest","tonalityTitle","ACADEMIC","CASUAL","PROFESSIONAL","AiWidgetButton","forwardRef","onClick","_props$asButton","asButton","rest","_objectWithoutPropertiesLoose","_objectWithoutProperties","_excluded","role","tabIndex","EditorAiPromptWidget","_ref5","setPrompt","_useState4","setFocus","_useState6","setIsLoading","_useState8","setAlert","isEmptyPromt","ctaText","setAlertState","_ref6","errorStatus","initPrompt","_ref8","_ref7","action","langCode","trimmed","DIV_TAG_START","DIV_TAG_END","BR_TAG","TRAILING_WHITESPACE_END_OF_STRING","OPTIONAL_WHITESPACE","previousTrimmed","iterations","RegExp","trimTrailingEmptyLines","temp","_tagName","last","lastElementChild","tagName","childNodes","firstChild","removeChild","getPreviousAiPromptResult","task_successful","initCustomPrompt","MenuDropdown","modal","PlusIcon","SpellCheckIcon","GlobeIcon","submenu","TextLongIcon","TextShortIcon","MegaphoneIcon","_ref4","item","index","Fragment","MenuDropdownSeparator","MenuDropdownSubMenu","MenuDropdownItemContainer","iconBefore","spacingBefore","hasSubMenu","subItem","subIndex","MenuDropdownItem","onSelect","WinkleIcon","autoComplete","onFocus","onBlur","onKeyDown","disabled","Tooltip","ArrowUpIcon","aiPrompts","wrapperElmnt","borderBottomLeftRadius","borderBottomRightRadius","_ref9","initEditorAiPromptWidget","renderWidget","registerInternalLinkCommand","BTN_INTERNAL_LINKS","btnOffset","offset","tbOffset","outerHeight","kundoFroala","internalLinkWidget","toggleInternalLinkWidget","chooseFile","acceptExtensions","multiple","input","prop","VIDEO_PROVIDERS","provider","test_regex","url_regex","url_text","loadFroala","assertFroalaLoaded","FroalaEditorStatic","LANGUAGE","translation","ICON_DEFAULT_TEMPLATE","DefineIconTemplate","BTN_IMAGES","_this","insertImage","insert_image","BTN_FILES","_this2","attachFile","attach_files","BTN_SNIPPETS","toggleSnippetWidget","reply_snippet","RegisterShortcut","charCodeAt","BTN_CLEAR","thisText","selection","insert","clear_formatting","BTN_CONTACTS","kundo_contact_modal_linktext","kundo_contact_modal_title","BTN_SELF_SERVICE","toggleSelfServiceWidget","registerCustomCommands","defineCustomIcons","offender","save","restore","froalaFixPasteBug","toggleHistoryVisibility","isInit","contentId","uuidv4","historyContent","toggleBtn","wrapPlainText","froalaMailHistory","TextWrapperPlugin","isWrapped","initWrapPlainText","froalaTextWrapper","BTN_EMOJIS","popups","isVisible","$el","disableBlur","emojis","hidePopup","showPopup","POPUP_TEMPLATES","EmojiPicker","custom_layer","emoji","setContainer","$btn","outerWidth","toolbarBottom","froalaEmoji","deleteEmptyContainers","editorEl","div","clone","cloneNode","child","allowed","onlyAllowed","every","containsAllowed","some","emptyDiv","insertBefore","deleteContainers","initFroalaEditor","options","UPLOADS_MAX_SIZE","UPLOADS_MAX_SIZE_MAIL","scrollContentToBottom","baseUploaderFactory","allowedExtensions","onComplete","useScrollToBottom","qq","inputName","customHeaders","retry","enableAuto","autoAttemptDelay","maxAutoAttempts","validation","sizeLimit","messages","typeError","file_upload_invalid_extension","emptyError","file_upload_empty","noFilesError","file_upload_no_files","sizeError","file_upload_size_error","callbacks","onSubmit","show_progress","onProgress","uploadedBytes","totalBytes","percent","onAutoRetry","file_upload_retrying","show_error_msg","errorReason","xhr","_formatSize","hide_progress","InternalLinkWidget","selected","searchBox","resultList","doSearch","selectItem","onselect","onclose","close","onLinkClick","parentElement","_step","_iterator","_createForOfIteratorHelper","err","innerText","query","success","handleSearchResponse","result","hit","$item","$link","class","empty","is","_defineProperties","SnippetWidget","renderInitial","positionAbove","snippets","snippet_box","firstSnippet","prev_search_term","selectEnter","keyboardNavigation","filterSnippet","fetchSnippets","_fetchSnippets","inputId","labelText","snippet_label_msg","snippet_heading","IconSearch","_this$box$","_this$box$$closest","_KUNDO$tooltip","encodeURIComponent","snippet","excerpt","toggleClass","usage_url","updated_at","hoverSnippet","selectClick","tooltip","new_selected","currentTarget","moveSelected","which","nextAll","prevAll","search_term","string","string_index","search_index","fuzzyMatches","moveSelectedScrollTop","scrollToElement","amountOfElementsAboveFromElement","amountOfElementsAboveToElement","shouldScrollDownwards","shouldScrollUpwards","currentScrollPosition","_this$getScrollToDire","getScrollToDirection","scrollAmount","SvgArrowRightUp","SvgTwinkle","SuggestionCard","channelColorClass","channelIconStyling","channelName","distance","onRequestInsertLink","onRequestSmartReply","publicUrl","smartReplyPath","rel","dangerouslySetInnerHTML","__html","ArrowRightUp","IconTwinkle","SuggestionCardList","suggestions","suggestion","DebouncedTextInput","debounceWaitTime","onNewValue","resetButtonLabel","setValue","debouncedResults","debounce","cancel","SearchStatus","ErrorCode","KeywordSearch","searchHits","setSearchHits","setSearchTerm","setStatus","setError","_useApi2","GETTextSearchStatus","GETTextSearch","Loaded","ServerError","SmartSuggestionsStatus","SmartSuggestions","hasInboxEditPermissions","setSuggestions","suggestionsLoadedCallback","GETSmartSuggestionsStatus","GETSmartSuggestions","smartSuggestionsHelpURL","CURRENT_LANGUAGE","IconQuestionCircle","LastMessageIsOutgoing","lang","getAiContactFormUrl","SelfServiceWidget","actionTakenCallback","insertLinkFunction","insertHTMLFunction","setEditableFunction","keywordSearchHits","setKeywordSearchHits","setSmartSuggestions","requestSmartReply","displaySkeletonLoadingBoxes","removeExistingReply","debug","ContentLengthExceeded","wrappedReply","smartReply","fail","always","hideSkeletonLoadingBoxes","insertLink","keywordSearchPerformed","froalaEditor","insertAdjacentHTML","insertHTMLInFroalaEditor","initSelfServiceWidget","suggestionsCount","badgeText","ngettext","badge","aiToolbarButton","state","froalaEditOnFunction","froalaEditOffFunction","boxLeftOffset","offsetLeft","FROALA_4_KEY","texteditorDiv","hasClass","autosaveStatus","isMobile","calculateBreakpoints","mobile","config","uploadsUrl","saveUrl","internalLinkElm","isAIEnabled","isAIAssistantEnabled","isAIDraftsEnabled","getToolbar","toolbarType","includeInternalLinks","includeAI","includeAIDrafts","editorClass","buttons","htmlAllowedAttrs","allowedAttributes","htmlAllowedTags","allowedTags","pasteDeniedAttrs","pasteDeniedTags","hasColor","allowMentions","dragInline","attribution","initialized","onInitialized","heightMax","imageAllowedTypes","imageDefaultWidth","imageEditButtons","imageInsertButtons","imagePaste","imageResize","imageUploadURL","linkAutoPrefix","linkEditButtons","linkInsertButtons","listAdvancedTypes","paragraphFormat","H2","h2","H3","h3","paragraphFormatSelection","paragraphStyles","directionRtl","lead","pasteAllowedStyleProps","placeholderText","requestHeaders","getCSRFToken","requestWithCORS","saveInterval","saveURL","shortcutsEnabled","spellcheck","tableEditButtons","tableResizer","toolbarButtons","toolbarButtonsMD","toolbarButtonsSM","toolbarButtonsXS","toolbarSticky","toolbarStickyOffset","scrollableContainer","videoAllowedTypes","videoEditButtons","videoInsertButtons","videoMove","videoResize","videoUploadURL","colorsButtons","enter","ENTER_BR","ENTER_DIV","ENTER_P","enterType","htmlUntouched","imageSplitHTML","bodyElement","__pendingEventHandlers","setUpToolbar","setUpAutoSave","setUpSnippets","setUpImageUploads","setUpVideo","setUpPaste","setUpInternalLinks","setUpSelfService","setUpLinkInsertion","setUpTableInsertion","setUpFocus","setUpMentions","setUpEvents","removeToolbarButtonsTabindex","editorPlaceholder","setUpdateContent","imgDefaultAlign","_n","F","_step$value","$img","_this$froala","secondToolbar","cmd","utils","isUrl","waitForTime","_this3","cls","inserted","navigator","userAgent","_this4","removeAttr","_this5","$placeholder","$editor","_onselect","_this6","snippetsUrl","snippetWidget","textArea","updatedValue","has_file","add_file","setTextAreaValue","_onselect2","_this7","_callee3","_context3","_x3","_x4","_x5","_this8","selfServiceWidget","_this9","htmlString","allowedEditorTags","getVideoInput","removeErrorMsg","$input","errorFeedbackId","$errorMsg","$video","currentValue","editorInstance","_this0","IGNORED_FIELD_NAMES","fieldIgnored","field","setAutosaveStatus","editor_before_save_msg","formFields","serializeArray","saveParams","meta","editor_save_error_msg","editor_after_save_msg","autoHide","_this1","_data$types","_data$files","_data$items","originalEvent","dataTransfer","clipboardData","types","getAsFile","getFilesFromEvent","capture","setSize","setBefore","images","imageBlob","remove_file_by_url","EDITORSEARCHURL","tribute","Tribute","allowSpaces","fillAttr","lookup","_text","email","menuContainer","menuItemTemplate","original","avatar_background_color","avatar_url","src","noMatchTemplate","positionMenu","selectTemplate","values","isActive","attach","setupMentions","resp","_this10","uploader","responseJSON","puri","temporaryUrl","uploadsServiceUploaderFactory","addFiles","uploadImageAsUpload","uploaderFactory","reset","force","saveSelection","toggle","$elm","obj","AiSourcesItem","channelColor","hasLink","containerDivAttributes","ChannelIcon","ArrowRightUpIcon","AiRepliesSources","setIsOpen","titleId","useId","referencesCount","Popover","asChild","sideOffset","popupTitle","IconButton","variant","XIcon","channel_name","public_url","channel_public_type","channel_color_number","newElement","nextSibling","toolbarOrRoot","ToolbarType","BTN_BOLD","BTN_COLOR","BTN_COLOR_BACKGROUND","BTN_COLOR_TEXT","BTN_FORMAT_OL","BTN_FORMAT_UL","BTN_ITALIC","BTN_LINK","BTN_PARAGRAPH_FORMAT","BTN_PARAGRAPH_STYLE","BTN_QUOTE","BTN_SEPARATOR","BTN_TABLE","BTN_VIDEO","BTN_UNDO","BTN_REDO","_BUTTONS_ORDER","sortedToolbarButtons","btns","btn","_FROALA_BUTTONS_BASIC","_FROALA_BUTTONS_WITH_COLOR","FROALA_TOOLBAR","_FROALA_TOOLBAR","CHAT","EXTERNAL_CONVERSATIONS","FORUM","FORUM_EDITOR","FORUM_TEXTS","KNOWLEDGE","KNOWLEDGE_SETTINGS","MAIL","MAIL_BASIC","MAIL_REPLY_SNIPPET","NONE","POLICY","SIMPLE","SIMPLE_CONTACT_MODAL","SMALL_TOOLBAR","TOOLBAR_BOTTOM","TOOLBAR_INSERTED","toolbarChoice","lessButtons","toolbarInserted","addIcon","DefineIcon","NAME","FA5NAME","PATH","template","ICON","TEXT","global","fn","attachEvent","detach","detachEvent","descendant","compareDocumentPosition","elementB","styles","filters","considerParent","getByClass","candidates","getElementsByTagName","idx","getFirstByClass","nodeType","setText","clearText","hasAttribute","attrName","attrVal","ExifRestorer","canvasToBlob","canvas","mime","quality","dataUriToBlob","toDataURL","dataUri","arrayBuffer","byteString","intArray","mimeString","BlobBuilder","blobBuilder","atob","decodeURI","ArrayBuffer","Uint8Array","character","WebKitBlobBuilder","MozBlobBuilder","MSBlobBuilder","getBlob","Blob","level","isObject","variable","isFunction","buffer","isItemList","maybeItemList","isNodeList","maybeNodeList","namedItem","isString","maybeString","trimStr","format","args","newStr","nextIdxToReplace","strBefore","strAfter","isFile","maybeFile","File","isFileList","maybeFileList","FileList","isFileOrInput","maybeFileOrInput","isInput","maybeInput","notFile","evaluateType","normalizedType","HTMLInputElement","isBlob","maybeBlob","isXhrUploadSupported","FormData","createXhrInstance","upload","XMLHttpRequest","ActiveXObject","isFolderDropSupported","webkitGetAsEntry","isFileChunkingSupported","androidStock","webkitSlice","mozSlice","sliceBlob","fileOrBlob","arrayBufferToHex","bytesAsHex","bytes","byt","byteAsHexStr","readBlobToHex","blob","startOffset","initialBlob","fileReader","FileReader","onload","onerror","failure","readAsArrayBuffer","second","extendNested","sourceFn","super_","source","srcPropName","srcPropVal","arr","elt","getUniqueId","random","ie7","ie8","ie10","ie11","edge","safari","vendor","chrome","opera","firefox","windows","platform","android","ios6","ios","ios7","ios8","ios800","iosChrome","iosSafari","iosSafariWebView","returnValue","toElement","iterableItem","keyOrIndex","Storage","getItem","charAt","oldFunc","context","newArgs","obj2url","prefixDone","uristrings","nextObj","nextTemp","obj2FormData","formData","arrayKeyName","obj2Inputs","parseJson","eval","getExtension","extIdx","lastIndexOf","substr","getFilename","blobOrFileInput","DisposeSupport","disposers","dispose","disposer","addDisposer","disposeFunction","version","supportedFeatures","supportsUploading","supportsUploadingBlobs","supportsFileDrop","supportsAjaxFileUploading","supportsFolderDrop","supportsChunking","supportsResume","supportsUploadViaPaste","supportsUploadCors","supportsDeleteFileXdr","supportsDeleteFileCorsXhr","supportsDeleteFileCors","supportsFolderSelection","supportsImagePreviews","supportsUploadProgress","isCrossOriginXhrSupported","withCredentials","isXdrSupported","XDomainRequest","tempInput","supported","ex","testSupportsFileInputElement","localStorage","setItem","isLocalStorageSupported","postMessage","webkitdirectory","ajaxUploading","blobUploading","canDetermineSize","chunking","deleteFileCors","deleteFileCorsXdr","deleteFileCorsXhr","dialogElement","HTMLDialogElement","fileDrop","folderDrop","folderSelection","imagePreviews","imageValidation","itemSizeValidation","pause","resume","scaling","tiffPreviews","unlimitedScaledImageSize","uploading","uploadCors","uploadCustomHeaders","uploadNonMultipart","uploadViaPaste","isGenericPromise","maybePromise","successArgs","failureArgs","successCallbacks","failureCallbacks","doneCallbacks","onFailure","BlobProxy","referenceBlob","onCreate","UploadButton","buttonId","disposeSupport","acceptFiles","focusClass","folders","hoverClass","ios8BrowserCrashWorkaround","createInput","BUTTON_ID_ATTR_NAME","setMultiple","fontFamily","fontSize","direction","getInput","getButtonId","isMultiple","optInput","setAcceptFiles","UploadData","uploaderProxy","byUuid","byStatus","byProxyGroupId","byBatchId","addFile","spec","SUBMITTING","originalName","uuid","batchId","proxyGroupId","onBeforeStatusChange","onStatusChange","retrieve","optionalFilter","idOrIds","getDataByIds","uuids","getDataByUuids","statusResults","statuses","statusEnum","statusResultIndexes","dataIndex","newStatus","oldStatus","byStatusOldStatusIndex","splice","uuidChanged","newUuid","oldUuid","updateName","newName","updateSize","newSize","setParentId","targetId","parentId","getIdsInProxyGroup","getIdsInBatch","SUBMITTED","REJECTED","QUEUED","CANCELED","PAUSED","UPLOADING","UPLOAD_RETRYING","UPLOAD_SUCCESSFUL","UPLOAD_FAILED","DELETE_FAILED","DELETING","DELETED","basePublicApi","addBlobs","blobDataOrArray","params","addInitialFiles","cannedFileList","cannedFile","_addCannedFile","_maybeHandleIos8SafariWorkaround","_storedIds","_currentBatchId","processBlob","_handleNewFile","_options","blobs","defaultName","verifiedFiles","processBlobData","blobData","processCanvas","processCanvasData","canvasData","normalizedQuality","processFileOrInput","fileOrInput","fileContainer","_prepareItemsForUpload","_handler","cancelAll","storedIdsCopy","storedFileId","clearStoredFiles","continueUpload","uploadData","_uploadData","enabled","getName","_uploadFile","deleteFile","_onSubmitDelete","doesExist","fileOrBlobId","isValid","drawThumbnail","fileId","imgOrCanvas","maxSize","fromServer","customResizeFunction","fileOrUrl","promiseToReturn","_imageGenerator","_thumbnailUrls","getFile","generate","modifiedContainer","reason","getButton","_getButton","_buttonIdsForFileIds","getEndpoint","_endpointStore","getInProgress","getParentId","uploadDataEntry","getUploads","getResumableFilesData","getSize","getNetUploads","_netUploaded","getRemainingAllowedItems","allowedItems","_currentItemLimit","_netUploadedOrQueued","getUuid","pauseUpload","removeFileRef","expunge","_autoRetries","_retryTimeouts","_preventRetries","_buttons","_paramsStore","_pasteHandler","session","refreshOnReset","_refreshSessionData","_succeededSinceLastAllComplete","_failedSinceLastAllComplete","_totalProgress","_manualRetry","scaleImage","specs","Scaler","setCustomHeaders","_customHeadersStore","setDeleteFileCustomHeaders","_deleteFileCustomHeadersStore","setDeleteFileEndpoint","_deleteFileEndpointStore","setDeleteFileParams","_deleteFileParamsStore","setEndpoint","setForm","elementOrId","_updateFormSupportAndParams","setItemLimit","newItemLimit","setName","setParams","setUuid","_onDeleteComplete","uploadStoredFiles","_itemError","_uploadStoredFiles","basePrivateApi","sessionData","deleteFileEndpoint","deleteFileParams","thumbnailUrl","_annotateWithButtonId","associatedInput","qqButtonId","_getButtonId","_batchError","_createDeleteHandler","DeleteFileAjaxRequester","toUpperCase","maxConnections","uuidParamName","uuidName","paramsStore","endpointStore","cors","onDelete","_onDelete","onDeleteComplete","xhrOrXdr","isError","_createPasteHandler","PasteSupport","targetElement","paste","pasteReceived","_handleCheckedCallback","onPasteReceived","_handlePasteSuccess","identifier","_createStore","initialValue","_readOnlyValues_","store","catchall","perIdReadOnlyValues","readOnlyValues","copy","orig","existing","includeReadOnlyValues","addReadOnly","_createUploadDataTracker","_onUploadStatusChange","_maybeAllComplete","_createUploadButton","accept","classes","buttonFocus","buttonHover","workarounds","ios8BrowserCrash","iosEmptyVideos","_isAllowedExtension","_onInputChange","fileInputTitle","_disposeSupport","_createUploadHandler","additionalOptions","namespace","lastOnProgress","preventRetryParam","preventRetryResponseProperty","loaded","total","_onProgress","retVal","_onComplete","onCancel","cancelFinalizationEffort","_onCancel","onUploadPrep","_onUploadPrep","onUpload","_onUpload","onUploadChunk","chunkData","_onUploadChunk","onUploadChunkSuccess","onResume","_onAutoRetry","onUuidChanged","_setSize","getDataByUuid","isQueued","UploadHandlerController","_fileOrBlobRejected","sizeSymbols","max","_generateExtraButtonSpecs","_extraButtonSpecs","extraButtons","extraButtonOptionEntry","extraButtonSpec","_initExtraButton","extraButtonsSpec","_defaultButtonId","buttonOrFileInputOrFile","inputs","fileInput","fileBlobOrInput","_getNotFinished","_getValidationBase","_getValidationDescriptor","fileWrapper","_getValidationDescriptors","fileWrappers","fileDescriptors","_handleCameraAccess","camera","acceptIosCamera","optionRoot","details","callbackRetVal","successParam","newFileWrapperList","actualFile","handler","_customNewFileHandler","_handleNewFileGeneric","addFileToHandler","_trackButton","fileList","extSuppliedName","_handleDeleteSuccess","_handleDeleteFailed","_initFormSupportAndParams","_formSupport","FormSupport","attachedToForm","getFormInputsAsObject","autoUpload","newAutoUpload","newEndpoint","_isDeletePossible","expected","allowXdr","valid","allowedExt","extRegex","maybeNameOrNames","extensionsForMessage","placeholderMatch","names","validationBase","replacement","allowedExtension","formatFileName","minSizeLimit","_onBeforeManualRetry","notFinished","_onAllComplete","ios8SafariUploads","unsupportedBrowserIos8Safari","_maybeParseAndSendUploadError","defaultResponseError","_maybeProcessNextItemAfterOnValidateCallback","validItem","stopOnFirstInvalidFile","validationDescriptor","onValidate","_onValidateCallbackSuccess","_onValidateCallbackFailure","successful","failed","onAllComplete","_shouldAutoRetry","retryWaitPeriod","_onBeforeAutoRetry","itemLimit","onManualRetry","storedItemIndex","fileIndex","onIndividualProgress","_onSubmit","_onSubmitCallbackSuccess","_onSubmitted","onSubmitted","_storeForLater","onSuccessCallback","additionalMandatedParams","adjustedOnSuccessCallback","onSubmitDelete","_deleteHandler","sendDelete","_onTotalProgress","onTotalProgress","_onValidateBatchCallbackFailure","_onValidateBatchCallbackSuccess","validationDescriptors","proposedNetFilesUploadedOrQueued","tooManyItemsError","nextIndex","_validateFileOrBlobData","_upload","onValidateBatch","_preventLeaveInProgress","onLeave","Session","_session","addFileRecord","refresh","_sessionRequestComplete","onSessionRequestComplete","onNewSize","formElementOrId","idToUpload","stillSubmitting","validityChecker","allowEmpty","ImageValidation","validate","_wrapCallbacks","safeCallback","errorMsg","exception","callbackName","callbackFunc","FineUploaderBasic","disableCancelForFormUploads","filenameParam","forceMultipart","paramsInBody","totalFileSizeName","maxHeight","maxWidth","minHeight","minWidth","maybeXhr","maybeXhrOrXdr","attemptNumber","fileOrBlobData","minSizeError","maxHeightImageError","maxWidthImageError","minHeightImageError","minWidthImageError","retryFailTooManyItems","concurrent","mandatory","paramNames","partIndex","partByteOffset","chunkSize","totalFileSize","totalParts","partSize","recordsExpireIn","resuming","fileOrBlobName","sendCredentials","interceptSubmit","customResizer","sendOriginal","orient","defaultType","defaultQuality","failureText","includeExif","sizes","ImageGenerator","_scaler","handleNewFile","TotalProgress","entry","AjaxRequester","shouldParamsBeInQueryString","requestData","acceptHeader","validMethods","mandatedParams","allowXRequestedWithAndCacheControl","successfulResponseCodes","onSend","isXdr","getXhrOrXdr","suppliedXhr","ontimeout","onprogress","getCorsAjaxTransport","dequeue","sendRequest","xdrError","responseCode","optXhr","onDemandParams","additionalParams","getParams","additionalQueryParams","addToPath","createUrl","getXdrLoadHandler","getXdrErrorHandler","onreadystatechange","readyState","getXhrReadyStateChangeHandler","lengthComputable","registerForUploadProgress","containsNonSimple","onDemandHeaders","additionalHeaders","allHeaders","setRequestHeader","header","setHeaders","send","initTransport","cacheBuster","withPath","appendToPath","withParams","withQueryParams","_additionalQueryParams_","withHeaders","withPayload","thePayload","withCacheBuster","qqtimestamp","Date","getTime","prepareToSend","canceled","UploadHandler","proxy","fileState","fileItem","getThirdPartyFileId","_getFileState","_setThirdPartyFileId","thirdPartyFileId","_wasCanceled","preventRetryResponse","controller","chunkingPossible","concurrentChunkingPossible","chunked","chunkIdx","_getChunkData","attemptingResume","chunkProgress","_getChunkDataForCallback","finalize","finalizeChunks","normaizedResponse","normalizeResponse","_maybeDeletePersistedChunkData","cleanup","handleFailure","clearCachedChunk","inProgressIdx","responseToReport","inProgress","remaining","unshift","ignoreFailure","_getXhrs","ckid","ckXhr","abort","_cancelled","moveInProgressToRemaining","connectionManager","free","hasMoreParts","nextIdx","_getTotalChunks","reevaluateChunking","sendNext","inProgressChunks","available","uploadChunk","inProgressChunkIdx","_maybePersistChunkedState","clearXhr","_open","_openChunks","_waiting","openChunkEntriesCount","openChunksCount","openChunkIndexes","dontAllowNext","nextId","allowNext","waitingIndex","connectionsIndex","getProxyOrBlob","getWaitingOrConnected","waitingOrConnected","chunks","parseInt","isUsingConnection","openChunksEntry","_clearXhrs","getProxy","initHandler","handlerType","traditional","handlerModuleSubtype","_removeExpiredChunkingRecords","isDeferredEligibleForUpload","maybeDefer","generatedBlob","updateBlob","maybeSendDeferredFiles","errorResponse","idsInGroup","uploadedThisId","idInGroup","now","maybeNewUuid","originalResponse","_shouldChunkThisFile","uploadFile","simple","blobToUpload","cancelRetVal","isProxied","isResumable","WindowReceiveMessage","callbackWrapperDetachers","receiveMessage","stopReceivingMessages","detacher","FormUploadHandler","formHandlerInstanceId","onloadCallbacks","detachLoadEvents","postMessageCallbackTimers","isCors","corsMessageReceiver","getFileIdForIframeName","iframeName","iframe","_getIframeName","expungeFile","_attachLoadEvent","responseDescriptor","onloadCallback","_parseJsonResponse","_detachLoadEvent","registerPostMessageCallback","contentDocument","_createIframe","initIframeForUpload","_initFormForUpload","targetName","innerHtmlOrMessage","XhrUploadHandler","chunkFiles","resumeEnabled","xhrId","ajaxRequester","_getAjaxRequester","blobOrProxy","_initTempState","_maybePrepareForResume","cachedChunks","tempState","xhrs","ajaxRequesters","responseParser","lastChunkIdx","_getXhr","resumableFilesData","_iterateResumeRecords","notResumable","optInProgress","optRemaining","reverse","paused","totalChunks","parts","newBlob","chunkId","_createXhr","optChunkIdx","_registerXhr","chunkIndex","fileSize","startBytes","endBytes","part","count","startByte","endByte","_getLocalStorageId","_getMimeType","_getPersistableData","ceil","_markNotResumable","localStorageId","removeItem","persistedData","lastUpdated","_registerProgressHandler","progressCalculator","totalSuccessfullyLoadedForFile","loadedForRequest","totalForRequest","estActualChunkLoaded","totalLoadedForFile","chunkLoaded","optAjaxRequester","xhrsId","expirationDays","expirationDate","setDate","getDate","requester","_method","renderImageToCanvas","doSquash","modifiedDimensions","iw","naturalWidth","ih","naturalHeight","ctx","getContext","resizeInfo","imageHeight","imageWidth","orientation","sourceCanvas","sourceCanvasContext","targetCanvas","targetHeight","targetWidth","transformCoordinate","drawImage","qqImageRendered","renderImageToCanvasWithCustomResizer","maxPixels","origHeight","origWidth","newHeight","sqrt","newWidth","maybeCalculateDownsampledDimensions","getImageData","detectSubsampling","tmpCtx","sx","dx","tmpCanvas","vertSquashRatio","ratio","sy","ey","detectVerticalSquash","dw","dh","dy","clearRect","PI","MegaPixImage","srcImage","errorCallback","Image","URL","createObjectURL","webkitURL","listeners","imageLoadListeners","opt","oldTargetSrc","imgWidth","imgHeight","optionsKey","optionsValue","renderImageToDataURL","onrender","isImg","isCanvas","determineMimeOfFileName","nameWithPath","pathSegments","isCrossOrigin","targetProtocol","targetHostname","targetPort","targetAnchor","protocol","port","hostname","registerThumbnailRenderedListener","registered","registerImgLoadListeners","registerCanvasDrawImageListener","drawOnCanvasOrImgFromUrl","canvasOrImg","draw","tempImg","tempImgRender","crossOrigin","drawOnImgFromUrlWithCssScaling","fileBlobOrUrl","drawFromUrl","drawPreview","Identify","megapixErrorHandler","isPreviewable","dummyExif","exif","Exif","mpImg","Orientation","failureMsg","_testing","TAG_IDS","TAG_INFO","parseLittleEndian","hex","seekToApp1","theOffset","thePromise","segmentLength","getApp1Offset","parser","onParseFailure","app1Offset","app1Start","littleEndian","getDirEntryCount","dirEntryCount","dirEntries","getIfd","ifdHex","getDirEntries","tagValues","tagsToFind","vals","tagValHex","tagValLength","idHex","tagsToFindIdx","getTagValues","previewable","isPreviewableSync","PREVIEWABLE_MIME_TYPES","questionableBytes","identifiable","magicBytesEntries","magicBytesArrayEntry","fileMime","isRecognizedImage","limits","sizeDetermination","validationEffort","atLeastOne","limit","hasNonZeroLimits","dimensions","failingLimit","limitName","limitValue","limitMatcher","dimensionPropName","actualValue","getFailingLimit","refreshEffort","requesterOptions","SessionAjaxRequester","fileItems","someItemsIgnored","isJsonResponseValid","handleFileItems","queryServer","responseText","includeOriginal","failedToScaleText","_getSortedSizes","getFileRecords","originalFileUuid","originalFileName","originalBlobOrBlobData","records","originalBlob","sizeRecord","outputType","_determineOutputType","requestedType","refType","_getName","_generateScaledImage","failedText","api","param","scaledIds","originalId","record","blobSize","scaledId","qqparentuuid","qqparentsize","scalingEffort","scalingOptions","scaler","referenceType","scaledVersionProperties","startOfExt","versionType","scaledName","scaledExt","nameAppendage","sourceFile","imageGenerator","scaledImageDataUri","signalSuccess","_insertExifHeader","scaledImageDataUriWithExif","originalImage","reader","insertionEffort","originalImageDataUri","readAsDataURL","_dataUriToBlob","_createBlob","chr1","chr2","enc1","enc2","enc3","output","chr3","enc4","KEY_STR","origFileBase64","resizedFileBase64","expectedBase64Header","rawImage","decode64","segments","slice2Segments","exifManipulation","encode64","exifArray","getExifArray","newImageArray","insertExif","seg","imageData","buf","separatePoint","mae","ato","array","rawImageArray","head","endPoint","perFileProgress","totalLoaded","totalSize","lastLoadedSent","lastTotalSent","callbackProxy","onNew","updateTotalProgress","newLoaded","newTotal","oldLoaded","oldTotal","retryable","none","failedId","noRetryableFiles","detachPasteHandler","isImage","startUpload","formEl","validateForm","nativeSubmit","checkValidity","_form2Obj","determineNewEndpoint","maybeUploadOnSubmit","determineFormEl","ignoreValue","checked","elements","selectValue","createForm","responseFromMessage","innerHtml","contentWindow","nodeValue","getIframeContentJson","multipart","allChunksDoneRequester","AllChunksDoneAjaxRequester","createReadyStateChangedHandler","onUploadOrChunkComplete","isErrorUploadResponse","parseResponse","setParamsAndGetEntityToSend","setUploadHeaders","extraHeaders","toSend","addChunkingSpecificParams","complete","getChunksCompleteParams","sendChunksCompleteRequest","promises","endpointHandler","H","Bootstrap","iframe_document","Element","matches","msMatchesSelector","webkitMatchesSelector","documentElement","matchesSelector","mozMatchesSelector","oMatchesSelector","HTMLElement","createElementNS","DOMException","_updateClassName","number","__defineGetter__","pf","DOMTokenList","appName","$1","nativeFocus","scrollLeft","preventScroll","offsetHeight","offsetWidth","scrollWidth","RegisterPlugins","allowStylingOnNonEditable","initOnClick","pluginsEnabled","pluginsDisabled","MODULES","VERSION","INSTANCES","OPTS_MAPPING","SHARED","ID","Node","ELEMENT_NODE","BLOCK_TAGS","attributes","nodeName","isBlock","isEmpty","TEXT_NODE","VOID_ELEMENTS","htmlAllowedEmptyTags","htmlDoNotWrapTags","blockParent","deepestParent","SIMPLE_ENTER_TAGS","rawAttributes","clearAttributes","openTagString","closeTagString","isFirstSibling","previousSibling","isLastSibling","isList","isLink","isElement","contents","isVoid","hasFocus","activeElement","isEditable","viewportElement","isDeletable","browser","msie","acceptNode","DOMPurify","htmlRemoveTags","htmlAllowedStyleProps","htmlAllowComments","preserveTabSpaces","fullPage","HTML5Map","STRIKE","clean","normalize","COMMENT_NODE","tabSpaces","outerHTML","implementation","createHTMLDocument","extractNode","extractDoctype","extractNodeAttrs","helpers","sanitizeURL","pasteAllowLocalImages","isMac","merge","defaultTag","ALLOW_UNKNOWN_PROTOCOLS","ALLOWED_TAGS","ALLOWED_ATTR","sanitize","toHTML5","replaceWith","tables","lists","prepend","listStyleType","trackChangesEnabled","track_changes","getPendingChanges","showChangesEnabled","pushChange","invisibleSpaces","XS","SM","MD","LG","LinkRegExCommon","LinkRegExEnd","LinkRegExTLD","LinkRegExHTTP","LinkRegExAuth","LinkRegExWWW","LinkRegEx","LinkProtocols","MAIL_REGEX","maxTouchPoints","webkit","isIOS","getIOSVersion","abs","NaN","getSafariVersion","isAndroid","isBlackberry","isWindowsPhone","isEmail","requestAnimationFrame","webkitRequestAnimationFrame","mozRequestAnimationFrame","getPX","screenSize","$sc","isTouch","DocumentTouch","ALLOWED_URI_REGEXP","RGBToHex","HEXtoRGB","isURL","getAlignment","o_win","pageYOffset","o_doc","pageXOffset","isInViewPort","clientHeight","isValidHexColor","isRGBColor","inputType","rangeCount","getRangeAt","startContainer","endContainer","endOffset","isSameNode","createRange","setStart","setEnd","removeAllRanges","addRange","$wp","$win","core","info","atStart","isCollapsed","markers","blockTagsQuery","MARKERS","shared","_events","$_events","sid","isDisabled","_mousedown","_mouseup","_move","_mousemove","areVisible","$doc","toolbarContainer","selected_editor","bindClick","focusNode","getButtons","stopImmediatePropagation","removeData","enableBlur","blurActive","chainTrigger","$on","$off","indentMargin","COMMANDS","bold","italic","underline","strikeThrough","subscript","superscript","outdent","forcedRefresh","redo","insertHR","clearFormatting","selectAll","moreText","moreParagraph","moreRich","moreMisc","commands","toolbarInline","showInline","wrapInTracking","after","setAfter","execCommand","getSelection","moreTrackChanges","markdown","isEnabled","not","setMoreToolbarsHeight","accessibilityFocus","accessibility","ranges","parentsUntil","blocks","unwrap","isArrow","KEYCODE","ARROW_LEFT","ARROW_UP","setAtEnd","ARROW_RIGHT","ARROW_DOWN","setAtStart","endElement","cursorLists","_startEnter","_middleEnter","isAtEnd","INVISIBLE_SPACE","keepFormatOnDelete","_endEnter","_backspace","_del","NO_DELETE_TAGS","isContentEditable","nextElementSibling","lastChild","UNICODE_NBSP","fromCharCode","inEditor","rangeElement","fillEmptyBlocks","cleanEmptyTags","spaces","normalizeAroundCursor","offsetTop","backspace","del","isAtStart","FE","domain","cookie","ul","mozilla","srcElement","disableDesign","strong","em","getPropertyValue","removeProperty","disable","createDocumentFragment","replaceChild","toLocaleLowerCase","win","anchorNode","atEnd","collapsed","safariSelection","applyStyle","removeStyle","isPreformatted","getComputedStyle","createTreeWalker","NodeFilter","SHOW_TEXT","nextNode","currentNode","HAIR_SPACE","START_MARKER","END_MARKER","commonAncestorContainer","cloneRange","collapse","insertNode","place","firstElementChild","contentEditable","insertAtPoint","clientX","clientY","caretPositionFromPoint","offsetNode","caretRangeFromPoint","createTextRange","moveToPoint","duplicate","setEndPoint","setStartAfter","setEndBefore","createTextNode","setStartBefore","setEndAfter","selectNodeContents","moveToElementText","compareBoundaryPoints","Range","START_TO_START","END_TO_END","getElementsByClassName","isFull","$iframe","ready","marginTop","paddingTop","paddingLeft","marginLeft","paddingRight","marginRight","textAlign","htmlSimpleAmpersand","htmlIgnoreCSSProperties","htmlExecuteScripts","doctype","systemId","cleanBRs","SHOW_ELEMENT","FILTER_ACCEPT","FILTER_SKIP","D","fontSizeDefaultSelection","fontSizeUnit","fontFamilyDefaultSelection","isCharacter","BACKSPACE","ENTER","IME","siblings","baseOffset","focusOffset","altKey","emptyBlocks","emptyBlockTagsQuery","cleanWhiteTags","cleanBlankSpaces","getDoctype","toArray","$head","$html","createDocumentType","injectStyle","iframeDefaultStyle","iframeStyle","useClasses","syncInputs","styleSheets","cssRules","ownerNode","selectorText","cssText","heightMin","getSelected","wrapContent","cloneContents","htmlText","pasteInEmptyEdior","pasteInEdior","insertAfter","positionCaret","escapeEntities","checkIfEmpty","_setHtml","TAB","SHIFT","CTRL","ALT","ESC","SPACE","ZERO","ONE","TWO","THREE","FOUR","FIVE","SIX","SEVEN","EIGHT","NINE","FF_SEMICOLON","FF_EQUALS","QUESTION_MARK","K","Q","U","META","NUM_ZERO","NUM_ONE","NUM_TWO","NUM_THREE","NUM_FOUR","NUM_FIVE","NUM_SIX","NUM_SEVEN","NUM_EIGHT","NUM_NINE","NUM_MULTIPLY","NUM_PLUS","NUM_MINUS","NUM_PERIOD","NUM_DIVISION","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12","FF_HYPHEN","SEMICOLON","DASH","EQUALS","COMMA","HYPHEN","PERIOD","SLASH","APOSTROPHE","TILDE","SINGLE_QUOTE","OPEN_SQUARE_BRACKET","BACKSLASH","CLOSE_SQUARE_BRACKET","multiLine","deleteContents","modify","bulkRefresh","anchorOffset","min","selectNode","snapshot","canDo","typingTimer","enable","offsetY","forceUndo","isIME","isBrowserAction","pastePlain","setData","clipboard","read","unsanitized","DataTransfer","getType","getData","wordPaste","previousElementSibling","linkAlwaysBlank","HTMLHeadingElement","cleanEmptyTagsAndDivs","getRtfClipboard","saveCopiedText","replaceNewLines","shortcutsHint","SHORTCUTS_MAP","letter","option","shortcuts","scLoc","scOffset","ecLoc","ecOffset","equal","undo_stack","undoing","undo_index","_content_changed_timer","hideAll","canRedo","dropRedo","syncIframe","documentReady","requestWithCredentials","iframeStyleFiles","zIndex","disableRightClick","drag_support","filereader","formdata","_original_html","autofocus","destroy","getXHR","sameInstance","RegisterTemplate","filesManager","isChildWindowOpen","exit_flag","_windowResize","getPosition","at","_inputFocus","_inputBlur","_editorKeydown","findVisible","_preventFocus","hideActiveDropdowns","_editorMouseup","_windowMouseup","_windowKeydown","focusPopupButton","_repositionPopup","handleWindowClick","editInPopup","colorsStep","bindCommands","registerPopup","focusPopup","onHide","onRefresh","onShow","setFileListHeight","setPopupDimensions","innerWidth","$f_el","with_kb","click","nextAllVisible","prevAllVisible","modals","focusEditor","restoreSelection","_tiKeydown","_tiMouseenter","registerToolbar","focusToolbarElement","focusToolbar","focusContent","focusModal","focusModalButton","tooltips","$tooltip","getRootNode","ShadowRoot","TOOLBAR_VISIBLE_BUTTONS","$modal","refreshOnShow","refreshAfterCallback","showOnMobile","displaySelection","defaultSelection","displaySelectionWidth","more_btn","back","hasOptions","popup_buttons","build","buildList","buildGroup","buttonsVisible","showMoreButtons","defaultView","parentWindow","addButtons","ICON_TEMPLATES","font_awesome","font_awesome_5","font_awesome_5r","font_awesome_5l","font_awesome_5b","svg","svgMultiplePath","ICONS","SVG_KEY","color","insertAll","minimize","iconsTemplate","SVG","getTemplate","getFileIcon","FILEICONS","imageTransformations","filestackIcon","advancedImageEditor","alignCenter","alignJustify","alignLeft","alignRight","anchors","autoplay","backgroundColor","blockquote","cellBackground","cellBorderColor","cellOptions","cellStyle","codeView","cogs","exitFullscreen","fileInsert","fileManager","fontAwesome","fullscreen","help","horizontalLine","imageAltText","imageCaption","imageClass","imageDisplay","imageManager","imageSize","inlineClass","inlineStyle","insertEmbed","insertFile","insertMore","insertTable","insertVideo","uploadFiles","lineHeight","linkStyles","mention","more","openLink","orderedList","pageBreaker","paragraphMore","paragraphStyle","pdfExport","print","removeTable","replaceImage","smile","star","symbols","tableHeader","tableFooter","tableStyle","textColor","textMore","unlink","unorderedList","verticalAlignBottom","verticalAlignMiddle","verticalAlignTop","filestackIconAdd","trackChanges","showTrackChanges","acceptAllChanges","rejectAllChanges","acceptSingleChange","rejectSingleChange","chevronDown","chevronUp","docIcon","gifIcon","jpegIcon","logIcon","movIcon","ogvIcon","pngIcon","txtIcon","webmIcon","webpIcon","wmvIcon","xlsIcon","xlsxIcon","zipIcon","docxIcon","jpgIcon","mp3Icon","mp4Icon","oggIcon","pdfIcon","defaultIcon","$overlay","$body","clientWidth","_stickyElements","forSelection","addSticky","toolbarVisibleWithoutSelection","toolbarResponsiveToEditor","TOOLBAR_BUTTONS","TOOLBAR_BUTTONS_MD","TOOLBAR_BUTTONS_SM","TOOLBAR_BUTTONS_XS","POWERED_BY","filestackOptions","uploadToFilestackOnly","findIndex","childElementCount","setInterval","$second_tb","bubbles","cancelable","changedTouches","eventPhase","pageX","pageY","view","keyCode","offsetX","pointerId","pointerType","screenX","screenY","targetTouches","touches","isEqualNode","formatParams","crossDomain","getClientRects","pushStack","prevObject","wrapAll","eq","wrapInner","grep","getCorrectStyleName","getClass","stripAndCollapse","scrollTo","passive","Event","MouseEvent","createEvent","initMouseEvent","initEvent","triggerHandler","HTMLDocument","_matches","load","c_scroll","fontFamilySelection","fontSizeSelection","quickInsertEnabled","charCounterCount","write","destrying","colorsText","colorsBackground","colorsHEXInput","showColorsPopup","text_colors","custom_color","background_colors","background","customColor","refreshOnCallback","draggable","dropEffect","elementFromPoint","$draggable_helper","imageAltButtons","imageSizeButtons","imageUpload","imageCORSProxy","imageUploadRemoteUrls","imageUploadParam","imageUploadParams","imageUploadToS3","imageUploadToAzure","imageUploadMethod","imageMaxSize","imageResizeWithPercent","imageRoundPercent","imageDefaultAlign","imageDefaultDisplay","imageStyles","imageMove","imageMultipleStyles","imageTextNear","imagePasteProcess","imageMinWidth","imageOutputSize","imageDefaultMargin","imageAddNewLine","IMAGE_ALLOW_REGEX","$image_resizer","$img_overlay","ce","timeStamp","frameElement","clientLeft","replaceSpecialItem","responseXML","responseURL","keyStart","uploadURL","region","bucket","encodeURI","account","SASToken","toUTCString","accessKey","cryptoJSPlugin","cryptoJS","HmacSHA256","enc","Base64","onabort","upload_layer","by_url_layer","progress_bar","j","alt_layer","size_layer","removeSpecialItem","IMAGE_TYPE","verticalAlign","marginBottom","showInsertPopup","showLayer","refreshUploadButton","refreshByURLButton","insertByURL","responseType","refreshAlign","refreshAlignOnShow","refreshDisplayOnShow","getEl","showProgressBar","hideProgressBar","showAltPopup","showSizePopup","setAlt","toggleCaption","hasCaption","exitEdit","inline","block","center","imageAlign","linkAttributes","linkMultipleStyles","linkConvertEmailAddress","linkAlwaysNoFollow","linkNoOpener","linkNoReferrer","linkList","displayText","linkText","END_TO_START","START_TO_END","compareEndPoints","input_layer","decodeURIComponent","wrapLinkInTracking","wrapInDelete","usePredefined","insertCallback","allSelected","imageLink","circle","disc","square","H1","H4","PRE","paragraphDefaultSelection","BLOCKQUOTE","paragraphMultipleStyles","quote","addQuote","removeQuote","increase","decrease","saveParam","saveMethod","letteringClass","tableInsertMaxSize","tableInsertButtons","tableDefaultWidth","tableDefaultAlign","tableDefaultHeight","tableDefaultBGColor","tableDefaultBorderColor","tableDefaultBorderWidth","tableDefaultBorderStyle","tableBorderStyle","tableResizerOffset","tableResizingLimit","tableColorsButtons","tableColors","tableColorsStep","tableCellStyles","tableStyles","tableCellMultipleStyles","tableMultipleStyles","tableInsertHelper","keepTextFormatOnTable","tableInsertHelperOffset","proportionalTableResize","enableTableSelection","rows_columns","cell_properties_form","startTag","closeTag","hasChildNodes","min_i","max_i","min_j","max_j","currentWidths","currentPercentages","relatedTarget","$table_resizer","$ti_helper","insertColumn","insertRow","table_properties_form","rowIndex","Infinity","rows","cells","cellIndex","insertCell","setDragImage","effectAllowed","revokeObjectURL","deleteRow","deleteColumn","mergeCells","splitCellVertically","splitCellHorizontally","addHeader","addFooter","removeHeader","removeFooter","setBackground","showEditPopup","showTableProperties","hideTableProperties","updateTableAlign","horizontalAlign","selectedTable","selectedCells","selectCells","resetAll","showCellPropertiesPopup","updateSelectedColor","above","below","tableRows","tableColumns","tableCells","Top","Middle","Bottom","tableCellVerticalAlign","tableCellHorizontalAlign","PATHS","VIEWBOX","URLRegEx","videoAllowedProviders","videoDefaultAlign","videoDefaultDisplay","videoDefaultWidth","videoMaxSize","videoResponsive","videoSizeButtons","videoSplitHTML","videoTextNear","videoUpload","videoUploadMethod","videoUploadParam","videoUploadParams","videoUploadToS3","videoUploadToAzure","VIDEO_EMBED_REGEX","video","currentSrc","embed_layer","HAVE_FUTURE_DATA","clientTop","$video_resizer","$vid_overlay","vid_exit_flag","dragDrop","refreshEmbedButton","_editVideo","setAutoplay","insertHtmlVideo","videoAlign","getNonce","aa","ca","da","ea","fa","ha","ia","ja","ka","la","ma","acceptsBooleans","attributeName","attributeNamespace","mustUseProperty","propertyName","removeEmptyString","ra","sa","ta","pa","qa","oa","setAttributeNS","xlinkHref","ua","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","va","for","wa","ya","za","Aa","Ba","Ca","Da","Ea","Fa","Ga","Ha","Ia","Ja","Ka","La","Ma","stack","Na","Oa","prepareStackTrace","Reflect","construct","Pa","tag","Qa","$$typeof","_payload","Ra","Sa","Ta","Va","_valueTracker","getValue","stopTracking","Ua","Wa","Xa","Ya","defaultChecked","defaultValue","_wrapperState","initialChecked","Za","controlled","ab","bb","cb","db","eb","fb","defaultSelected","gb","hb","ib","jb","kb","lb","nb","namespaceURI","valueOf","MSApp","execUnsafeLocalFunction","ob","animationIterationCount","aspectRatio","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridArea","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","fontWeight","lineClamp","orphans","tabSize","widows","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","qb","rb","sb","setProperty","tb","menuitem","area","base","embed","hr","keygen","track","wbr","ub","vb","wb","xb","correspondingUseElement","yb","zb","Ab","Bb","Cb","stateNode","Db","Eb","Fb","Gb","Hb","Ib","Jb","Kb","Lb","Mb","Nb","Ob","Pb","Qb","Rb","Sb","Tb","Vb","alternate","flags","Wb","memoizedState","dehydrated","Xb","Zb","sibling","Yb","$b","ac","unstable_scheduleCallback","bc","unstable_cancelCallback","cc","unstable_shouldYield","dc","unstable_requestPaint","unstable_now","ec","unstable_getCurrentPriorityLevel","fc","unstable_ImmediatePriority","gc","unstable_UserBlockingPriority","hc","unstable_NormalPriority","ic","unstable_LowPriority","jc","unstable_IdlePriority","kc","lc","oc","clz32","pc","qc","LN2","rc","sc","tc","uc","pendingLanes","suspendedLanes","pingedLanes","entangledLanes","entanglements","vc","xc","yc","zc","Ac","eventTimes","Cc","Dc","Ec","Fc","Gc","Hc","Ic","Jc","Kc","Lc","Mc","Nc","Oc","Pc","Qc","Rc","Sc","Tc","nativeEvent","blockedOn","domEventName","eventSystemFlags","targetContainers","Vc","Wc","isDehydrated","containerInfo","Xc","Yc","Zc","$c","ad","bd","cd","ReactCurrentBatchConfig","dd","ed","fd","gd","hd","Uc","jd","kd","ld","md","nd","od","charCode","pd","qd","rd","_reactName","_targetInst","isDefaultPrevented","defaultPrevented","isPropagationStopped","cancelBubble","persist","isPersistent","wd","xd","yd","sd","isTrusted","td","ud","vd","Ad","getModifierState","zd","fromElement","movementX","movementY","Bd","Dd","Fd","Hd","animationName","elapsedTime","pseudoElement","Id","Jd","Ld","Md","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Menu","Apps","Scroll","MozPrintableKey","Nd","Od","Alt","Control","Meta","Shift","Pd","Qd","locale","Rd","Td","pressure","tangentialPressure","tiltX","tiltY","twist","isPrimary","Vd","Xd","Yd","deltaX","wheelDeltaX","deltaY","wheelDeltaY","wheelDelta","deltaZ","deltaMode","Zd","$d","documentMode","date","datetime","month","password","range","tel","time","week","oninput","HTMLIFrameElement","focusedElem","selectionRange","selectionStart","selectionEnd","animationend","animationiteration","animationstart","transitionend","animation","af","bf","cf","df","ef","ff","gf","hf","lf","mf","nf","Ub","instance","of","qf","rf","sf","tf","uf","vf","wf","na","xa","$a","ba","char","ke","xf","yf","zf","Af","Bf","Cf","Df","Ef","Ff","Gf","Hf","Jf","queueMicrotask","If","Kf","Lf","Mf","Nf","Of","Pf","Qf","Rf","Sf","Tf","Uf","Vf","Wf","Xf","Yf","contextTypes","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","Zf","childContextTypes","$f","ag","getChildContext","cg","__reactInternalMemoizedMergedChildContext","dg","eg","fg","gg","hg","jg","kg","lg","mg","ng","og","pg","qg","rg","sg","tg","ug","vg","wg","xg","yg","zg","Ag","Bg","elementType","deletions","Cg","pendingProps","treeContext","retryLane","Dg","mode","Eg","Fg","Gg","memoizedProps","Hg","Ig","Jg","Kg","Lg","defaultProps","Mg","Ng","Og","Pg","Qg","Rg","_currentValue","Sg","childLanes","Tg","firstContext","lanes","Ug","Vg","memoizedValue","Wg","Xg","Yg","interleaved","Zg","$g","ah","updateQueue","baseState","firstBaseUpdate","lastBaseUpdate","pending","effects","bh","ch","eventTime","lane","eh","fh","gh","hh","jh","Component","refs","kh","nh","isMounted","_reactInternals","enqueueSetState","lh","mh","enqueueReplaceState","enqueueForceUpdate","oh","shouldComponentUpdate","isPureReactComponent","ph","contextType","updater","qh","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","rh","getDerivedStateFromProps","getSnapshotBeforeUpdate","UNSAFE_componentWillMount","componentWillMount","componentDidMount","sh","_owner","_stringRef","th","uh","vh","wh","xh","yh","zh","Ah","Bh","Ch","Dh","Eh","Fh","Gh","Hh","Ih","Jh","Kh","Lh","Mh","revealOrder","Nh","Oh","_workInProgressVersionPrimary","Ph","ReactCurrentDispatcher","Qh","Rh","Sh","Th","Uh","Vh","Wh","Xh","Yh","Zh","$h","bi","ci","baseQueue","di","ei","fi","lastRenderedReducer","hasEagerState","eagerState","lastRenderedState","dispatch","gi","hi","ii","ji","ki","getSnapshot","mi","ni","lastEffect","stores","oi","pi","qi","ri","deps","si","ti","ui","vi","wi","xi","yi","zi","Ai","Bi","Ci","Di","Ei","Fi","Gi","Hi","Ii","Ji","readContext","useCallback","useContext","useImperativeHandle","useInsertionEffect","useLayoutEffect","useReducer","useDebugValue","useDeferredValue","useTransition","useMutableSource","useSyncExternalStore","unstable_isNewReconciler","identifierPrefix","Ki","digest","Li","Mi","Ni","Oi","Pi","Qi","Ri","getDerivedStateFromError","componentDidCatch","Si","componentStack","Ti","pingCache","Ui","Vi","Wi","Xi","ReactCurrentOwner","Yi","Zi","$i","aj","bj","compare","cj","dj","ej","baseLanes","cachePool","transitions","fj","gj","hj","ij","jj","UNSAFE_componentWillUpdate","componentWillUpdate","componentDidUpdate","kj","lj","pendingContext","mj","Aj","Cj","Dj","nj","oj","pj","fallback","qj","rj","tj","dgst","uj","vj","_reactRetry","sj","subtreeFlags","wj","xj","isBackwards","rendering","renderingStartTime","tail","tailMode","yj","Ej","Fj","Gj","wasMultiple","suppressHydrationWarning","onclick","autoFocus","Hj","Ij","Jj","Kj","Lj","WeakSet","Mj","Nj","Oj","Qj","Rj","Sj","Tj","Uj","Vj","Wj","_reactRootContainer","Xj","Yj","Zj","ak","onCommitFiberUnmount","componentWillUnmount","bk","ck","dk","ek","fk","isHidden","gk","hk","ik","jk","kk","lk","__reactInternalSnapshotBeforeUpdate","Wk","mk","nk","pk","qk","rk","sk","tk","uk","vk","wk","xk","yk","zk","Ak","Bk","Ck","Dk","Ek","callbackNode","expirationTimes","expiredLanes","wc","callbackPriority","ig","Fk","Gk","Hk","Ik","Jk","Kk","Lk","Mk","Nk","Ok","Pk","finishedWork","finishedLanes","Qk","timeoutHandle","Rk","Sk","Tk","Uk","Vk","mutableReadLanes","Bc","Pj","onCommitFiberRoot","mc","onRecoverableError","Xk","onPostCommitFiberRoot","Yk","Zk","al","isReactComponent","pendingChildren","bl","mutableSourceEagerHydrationData","cl","pendingSuspenseBoundaries","dl","fl","gl","hl","il","jl","zj","$k","ll","reportError","_internalRoot","nl","ol","ql","sl","rl","unmount","unstable_scheduleHydration","tl","usingClientEntryPoint","Events","findFiberByHostInstance","bundleType","rendererPackageName","vl","rendererConfig","overrideHookState","overrideHookStateDeletePath","overrideHookStateRenamePath","overrideProps","overridePropsDeletePath","overridePropsRenamePath","setErrorHandler","setSuspenseHandler","scheduleUpdate","currentDispatcherRef","findHostInstanceByFiber","findHostInstancesForRefresh","scheduleRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","reconcilerVersion","__REACT_DEVTOOLS_GLOBAL_HOOK__","wl","supportsFiber","inject","unstable_strictMode","findDOMNode","flushSync","hydrate","hydrateRoot","hydratedSources","_getVersion","_source","unmountComponentAtNode","unstable_batchedUpdates","unstable_renderSubtreeIntoContainer","checkDCE","Style","lockAttribute","getStyles","_a","allowRelative","gapMode","important","getCurrentUseCounter","counter","isFinite","RemoveScrollBar","noRelative","noImportant","_b","newCounter","zeroRightClassName","fullWidthClassName","noScrollbarsClassName","removedBarSizeVariable","zeroGap","getGapWidth","offsets","cs","getOffset","documentWidth","windowWidth","ReactRemoveScroll","__assign","sideCar","classNames","getTouchXY","getDeltaXY","extractRef","generateStyle","idCounter","lockStack","RemoveScrollSideCar","shouldPreventQueue","touchStartRef","activeAxis","lastProps","inert","allow_1","__spreadArray","lockRef","shards","shouldCancelEvent","allowPinchZoom","currentAxis","touchStart","moveDirection","canBeScrolledInMainDirection","cancelingAxis","shouldPrevent","_event","delta","sourceEvent","shadowParent","should","shardNodes","noIsolation","shouldCancel","getOutermostShadowParent","scrollTouchStart","scrollWheel","scrollTouchMove","setCallbacks","onScrollCapture","onWheelCapture","onTouchMoveCapture","inst","removeScrollBar","nothing","RemoveScroll","parentRef","forwardProps","as","Container","__rest","SideCar","containerRef","containerProps","fullWidth","zeroRight","passiveSupported","nonPassive","elementCanBeScrolled","overflowY","overflowX","alwaysContainsScroll","locationCouldBeScrolled","axis","elementCouldBeScrolled","getScrollVariables","elementCouldBeVScrolled","elementCouldBeHScrolled","getHScrollVariables","handleScroll","endTarget","sourceDelta","noOverscroll","directionFactor","getDirectionFactor","targetInLock","shouldCancelScroll","isDeltaPositive","availableScroll","availableScrollTop","elementScroll","effectCar","styleSingleton","useStyle","dynamic","styleHookSingleton","sheet","isDynamic","stylesheetSingleton","stylesheet","nonce","makeStyleTag","styleSheet","insertStyleTag","__self","__source","jsx","jsxs","sortIndex","performance","setImmediate","startTime","expirationTime","priorityLevel","scheduling","isInputPending","MessageChannel","port2","port1","onmessage","unstable_Profiling","unstable_continueExecution","unstable_forceFrameRate","unstable_getFirstCallbackNode","unstable_next","unstable_pauseExecution","unstable_runWithPriority","unstable_wrapCallback","initCustomEvent","boundKeydown","keydown","boundKeyup","keyup","boundInput","shouldDeactivate","hideMenu","commandEvent","inputEvent","menu","selectItemAtIndex","externalTrigger","updateSelection","hasTrailingSpace","autocompleteMode","triggerChar","getKeyCode","triggers","mentionText","collection","menuShowMinLength","showMenuFor","getTriggerInfo","mentionTriggerChar","selectedPath","mentionSelectedPath","selectedOffset","mentionSelectedOffset","filteredItems","menuSelected","escape","tab","spaceSelectsMatch","up","setActiveLi","down","selectClass","currentStyle","menuEvents","menuClickEvent","menuContainerScrollEvent","windowResizeEvent","positionMenuAtCaret","getDocument","getContentEditableCaretPosition","mentionPosition","getTextAreaOrInputUnderlinePosition","isMenuOffScreen","getWindowSelection","replaceTextSuffix","pasteHtml","getNodePositionInParent","getContentEditableSelectedPath","getTextPrecedingCurrentSelection","getLastWordInText","mentionSelectedElement","requireLeadingSpace","lastIndexWithLeadingSpace","mozInnerScreenX","whiteSpace","wordWrap","menuContainerIsBody","borderTopWidth","borderLeftWidth","getMenuDimensions","pre","caseSensitive","skip","rendered","score","traverse","calculateScore","extract","containerClass","itemClass","searchOpts","menuItemLimit","defaultSelectTemplate","defaultMenuItemTemplate","warn","jQuery","NodeList","HTMLCollection","_attach","ensureEditable","inputTypes","currentMentionTextSnapshot","createMenu","tributeMenu","_findLiTarget","placeCaretAtEnd","insertTextAtCursor","insertAtCaret","replaceText","replaceTriggerText","_append","_detach","unbind","_isActive","instanceOf","ANONYMOUS_SELECT_KEY","when","predicate","PatternKind","Guard","pattern","Not","AnonymousSelect","NamedSelect","classConstructor","isInstanceOf","__","guards_1","wildcards_1","builder","cases","displayedValue","patterns","predicates","arg","matchPattern","otherwise","exhaustive","isNamedSelectPattern","isAnonymousSelectPattern","isNotPattern","listSelect","doesMatch","subPattern","unknownGuard","stringGuard","numberGuard","NaNGuard","booleanGuard","nullishGuard","boolean","nullish","extendStatics","__extends","__decorate","decorators","desc","decorate","__param","paramIndex","decorator","__metadata","metadataKey","metadataValue","metadata","__awaiter","thisArg","_arguments","generator","fulfilled","step","rejected","__generator","trys","ops","op","__createBinding","k2","__exportStar","__values","__read","ar","__spread","__spreadArrays","pack","__await","__asyncGenerator","asyncIterator","fulfill","settle","__asyncDelegator","__asyncValues","__makeTemplateObject","cooked","raw","__setModuleDefault","__importStar","mod","__esModule","__importDefault","default","__classPrivateFieldGet","receiver","kind","__classPrivateFieldSet","assignRef","useIsomorphicLayoutEffect","currentValues","useMergeRefs","callbackRef","newValue","oldValue","prevRefs_1","nextRefs_1","current_1","useCallbackRef","facade","Target","exportSidecar","medium","exported","useMedium","isSideCarExport","ItoI","createSidecarMedium","defaults","middleware","assigned","assignSyncMedium","cbs","assignMedium","pendingQueue","executeQueue","cycle","innerCreateMedium","async","ssr","computeCoordsFromPlacement","placement","rtl","reference","floating","sideAxis","alignmentAxis","alignLength","side","isVertical","commonX","commonY","commonAlign","coords","computePosition","strategy","validMiddleware","isRTL","rects","getElementRects","statefulPlacement","middlewareData","resetCount","nextX","nextY","initialPlacement","detectOverflow","_await$platform$isEle","boundary","rootBoundary","elementContext","altBoundary","paddingObject","clippingClientRect","getClippingRect","contextElement","getDocumentElement","rect","offsetParent","getOffsetParent","offsetScale","getScale","elementClientRect","convertOffsetParentRelativeRectToViewportRelativeRect","arrow","arrowDimensions","getDimensions","isYAxis","minProp","maxProp","clientProp","endDiff","startDiff","arrowOffsetParent","clientSize","centerToReference","largestPossiblePadding","minPadding","maxPadding","min$1","shouldAddOffset","alignmentOffset","centerOffset","flip","_middlewareData$arrow","_middlewareData$flip","mainAxis","checkMainAxis","crossAxis","checkCrossAxis","fallbackPlacements","specifiedFallbackPlacements","fallbackStrategy","fallbackAxisSideDirection","flipAlignment","detectOverflowOptions","initialSideAxis","isBasePlacement","hasFallbackAxisSideDirection","placements","overflows","overflowsData","sides","_middlewareData$flip2","_overflowsData$filter","nextPlacement","resetPlacement","_overflowsData$filter2","currentSideAxis","acc","getSideOffsets","isAnySideFullyClipped","referenceHiddenOffsets","referenceHidden","escapedOffsets","escaped","minX","minY","nativeClientRects","clientRects","sortedRects","groups","prevRect","getRectsByLine","resetRects","firstRect","lastRect","isTop","isLeftSide","maxRight","minLeft","measureRects","originSides","_middlewareData$offse","diffCoords","alignment","mainAxisMulti","crossAxisMulti","rawValue","convertValueToCoords","limiter","mainAxisCoord","crossAxisCoord","maxSide","limitedCoords","limitShift","rawOffset","computedOffset","limitMin","limitMax","_middlewareData$offse2","isOriginSide","_state$middlewareData","_state$middlewareData2","heightSide","widthSide","maximumClippingHeight","maximumClippingWidth","overflowAvailableHeight","overflowAvailableWidth","noShift","availableHeight","availableWidth","xMin","xMax","yMin","yMax","nextDimensions","getCssDimensions","hasOffset","shouldFallback","unwrapElement","domElement","noOffsets","getVisualOffsets","visualViewport","includeScale","isFixedStrategy","clientRect","visualOffsets","isFixed","floatingOffsetParent","shouldAddVisualOffsets","offsetWin","currentWin","currentIFrame","iframeScale","iframeRect","getWindowScrollBarX","leftScroll","getHTMLOffset","htmlRect","absoluteOrFixed","getClientRectFromClippingAncestor","clippingAncestor","visualViewportBased","windowScrollbarX","bodyStyles","bodyMarginInline","compatMode","clippingStableScrollbarWidth","getViewportRect","getDocumentRect","getInnerBoundingClientRect","hasFixedPositionAncestor","stopNode","getRectRelativeToOffsetParent","isOffsetParentAnElement","setLeftRTLScrollbarOffset","offsetRect","htmlOffset","isStaticPositioned","getTrueOffsetParent","polyfill","rawOffsetParent","svgOffsetParent","topLayer","elementClippingAncestors","cachedResult","currentContainingBlockComputedStyle","elementIsFixed","computedStyle","currentNodeIsContaining","ancestor","getClippingElementAncestors","_c","clippingAncestors","firstClippingAncestor","clippingRect","accRect","getOffsetParentFn","getDimensionsFn","floatingDimensions","rectsAreEqual","autoUpdate","ancestorScroll","ancestorResize","elementResize","ResizeObserver","layoutShift","IntersectionObserver","animationFrame","referenceEl","ancestors","cleanupIo","onMove","timeoutId","io","_io","disconnect","threshold","elementRectForRootMargin","rootMargin","isFirstUpdate","handleObserve","intersectionRatio","observe","observeMove","frameId","reobserveFrame","resizeObserver","firstEntry","unobserve","cancelAnimationFrame","_resizeObserver","prevRefRect","frameLoop","nextRefRect","_resizeObserver2","mergedOptions","platformWithCache","hasWindow","getNodeName","isNode","getWindow","_node$ownerDocument","isHTMLElement","isShadowRoot","invalidOverflowDisplayValues","isOverflowElement","tableElements","isTableElement","topLayerSelectors","isTopLayer","selector","transformProperties","willChangeValues","containValues","isContainingBlock","elementOrCss","isWebKit","containerType","backdropFilter","willChange","contain","getContainingBlock","getParentNode","isLastTraversableNode","CSS","supports","lastTraversableNodeNames","getNodeScroll","scrollX","assignedSlot","getNearestOverflowAncestor","getOverflowAncestors","traverseIframes","_node$ownerDocument2","scrollableAncestor","isBody","getFrameElement","createCoords","oppositeSideMap","oppositeAlignmentMap","clamp","evaluate","getSide","getOppositeAxis","getAxisLength","yAxisSides","getSideAxis","getAlignmentAxis","getAlignmentSides","mainAlignmentSide","getOppositePlacement","getExpandedPlacements","oppositePlacement","getOppositeAlignmentPlacement","lrPlacement","rlPlacement","tbPlacement","btPlacement","getOppositeAxisPlacements","isStart","getSideList","getPaddingObject","expandPaddingObject","rectToClientRect","Dr","Kt","Hr","_r","Fr","Wr","Ur","Jr","Zr","Xr","$r","Uo","qr","_d","Wd","Kd","Ud","Qr","ep","tp","it","Ko","Mt","rp","np","ap","lp","ip","sp","cp","Tt","st","dp","jr","pp","Ut","mp","Nt","fp","wp","en","gp","nn","ln","dn","mn","gn","bn","yn","Pn","In","Tn","Ln","On","Dn","Wn","$n","Xn","Qn","ct","$t","qt","dt","Zt","yl","Xt","El","Nl","Al","Bl","Hl","Kl","Yl","Yt","Jt","Qt","jt","eo","oo","ro","no","ao","lo","ns","ds","gs","bs","ys","Ps","Is","Ts","Ls","Fs","so","Ws","$s","Xs","Qs","n1","i1","u1","w1","v1","co","R1","G1","E1","N1","po","z1","_1","U1","Z1","J1","e0","r0","l0","c0","u0","w0","v0","S0","V0","C0","M0","k0","z0","F0","uo","$0","tn","an","hp","sn","bp","pn","Sp","Rp","hn","Pp","xn","Cp","Rn","Ep","Gn","Tp","En","kp","Nn","Ap","An","Op","Bn","Fp","Hn","Hp","Kn","Wp","qn","Yn","qp","jn","Xp","Jp","jp","tu","ru","au","iu","ga","cu","pu","mu","wu","hu","bu","Su","Ru","Pu","Cu","Eu","Tu","ku","Au","Ou","Fu","Hu","Wu","Uu","qu","xl","Xu","Rl","Ju","Pl","ju","Cl","tm","Ml","rm","kl","am","zl","im","Fl","cm","_l","pm","Ul","mm","Zl","wm","Jl","hm","bm","Sm","Rm","Pm","Cm","Em","Tm","km","Am","Om","preserveAspectRatio","Fm","Hm","Wm","Um","qm","Xm","Jm","clipPath","jm","es","os","ss","fs","hs","xs","Rs","Gs","Es","Ns","As","Os","rx","Ds","Hs","Ks","_f","qs","Ys","js","o1","a1","s1","e2","d1","o2","m1","n2","g1","l2","b1","s2","S1","d2","V1","u2","C1","f2","M1","g2","k1","v2","L1","x2","O1","y2","D1","V2","W1","G2","I2","X1","M2","Q1","N2","L2","n0","z2","i0","B2","d0","D2","m0","_2","g0","K2","b0","$2","y0","Z2","P0","Y2","I0","Q2","T0","ew","L0","ow","O0","nw","D0","lw","_0","sw","K0","q0","uw","ActivityIcon","AiIcon","AiTwinkleText","ArrowDownIcon","ArrowLeftDownIcon","ArrowLeftIcon","ArrowLeftUpIcon","ArrowRightDownIcon","ArrowRightIcon","BellIcon","BookIcon","BookmarkIcon","BulletedListIcon","CalendarIcon","CategoryIcon","CheckCircleIcon","CheckIcon","CheckListIcon","CheckSmallIcon","CheckboxOutlineIcon","ChevronDownIcon","ChevronExpandIcon","ChevronLeftIcon","ChevronRightIcon","ChevronShrinkIcon","ChevronSkipEndIcon","ChevronSkipStartIcon","ChevronUpIcon","ClipsArrowRightIcon","ClipsIcon","ClockHistoryIcon","ClockIcon","CogIcon","CommentIcon","CopyIcon","DocumentIcon","DownloadIcon","DragHandleIcon","DragIndicatorIcon","EllipsisHIcon","EllipsisVIcon","EmojiIcon","EnvelopeIcon","ErrorIcon","ExclamationCircleIcon","ExclamationTriangleIcon","ExpandIcon","ExportIcon","ExternalLinkIcon","EyeIcon","FileCheckIcon","FileEditIcon","FileIcon","FilePlusIcon","FileXIcon","FilterIcon","HistogramChartIcon","HouseIcon","ImageIcon","InboxIcon","InfoCircleIcon","KundoAiKnowledgeIcon","KundoAvatarShield","KundoCallsIcon","KundoChatIcon","KundoExternalSourceIcon","KundoForumIcon","KundoHelpcenterIcon","KundoKnowledgeIcon","KundoLogoIcon","KundoMailIcon","KundoSocialFacebookIcon","KundoSocialInstagramDmIcon","KundoSocialInstagramIcon","KundoSocialMessengerIcon","KundoSocialWhatsappIcon","LineChart1Icon","LineChart2Icon","LockIcon","LogInIcon","LogOutIcon","MapPinIcon","MenuIcon","MinimizeIcon","MinusCircleIcon","MinusIcon","MinusSmallIcon","MoveIcon","NoExternalIcon","NoteIcon","PencilIcon","PhoneIcon","PhonePlusIcon","PieChartIcon","PlusCircleIcon","QuestionCircleIcon","RotateLeftIcon","RotateRightIcon","RouterIcon","SearchIcon","Security","SpeechBubbleIcon","SpeechBubblesIcon","SpinnerIcon","StarFilledIcon","StarIcon","StopUpdatesIcon","SwitchIcon","TagIcon","ThumbDownIcon","ThumbUpIcon","TranslateIcon","TrashCanIcon","UnlockIcon","UserAssignIcon","UserCheckIcon","UserClockIcon","UserIcon","UserPlusIcon","UserXIcon","WindowMaximizeIcon","WindowMinimizeIcon","XSmallIcon","Helper","kt","Qo","contentSide","contentAlign","alignOffset","delayDuration","tooltipTheme","ww","gw","hw","asAvatar","bw","Chatflow","AIAssistant","Activity","FacebookMessenger","WhatsApp","FacebookPage","Inbox","Knowledgebase","Forum","InstagramComments","InstagramMessenger","Calls","Chat","Email","AIKnowledge","ExternalSource","WebSource","Y0","J0","Q0","nV","loading","Sw","fo","iconClassName","Pw","onCheckedChange","htmlFor","ho","Tw","required","vo","gt","hasError","isTextArea","bo","jo","errorText","optionalText","inputSize","Bw","Fw","initialDeps","updateDeps","So","Hw","_w","startIndex","overscan","endIndex","scrollElement","targetWindow","borderBoxSize","inlineSize","blockSize","useAnimationFrameWithResizeObserver","useScrollendEvent","isScrollingResetDelay","horizontal","isRtl","Ww","adjustments","qw","Zw","detect","handoffState","currentId","isServer","isClient","handoff","isHandoffComplete","Ro","nextFrame","microTask","group","At","ht","captureStackTrace","vt","First","Previous","Next","Last","WrapAround","NoScroll","Overflow","Success","Underflow","Strict","Loose","Keyboard","Mouse","Vo","zt","isConnected","composed","composedPath","HTMLButtonElement","headlessuiFocusVisible","nr","bt","flatMap","xt","None","RenderStrategy","Static","Unmount","Hidden","ourProps","theirProps","slot","features","visible","mergeRefs","Po","static","hidden","lr","refName","Go","ir","Focusable","clip","Open","Closed","Closing","Opening","Ot","Co","Provider","Specific","Nothing","cr","resolveItems","resolveActiveIndex","resolveDisabled","resolveId","dr","toISOString","Space","Enter","Escape","Backspace","Delete","ArrowLeft","ArrowUp","ArrowRight","ArrowDown","Home","End","PageUp","PageDown","Tab","Single","Multi","Pointer","Focus","Other","_g","OpenCombobox","CloseCombobox","GoToOption","RegisterOption","UnregisterOption","RegisterLabel","SetActivationTrigger","UpdateVirtualOptions","activeOptionIndex","dataRef","DOCUMENT_POSITION_FOLLOWING","DOCUMENT_POSITION_PRECEDING","domRef","comboboxState","calculateIndex","optionsRef","optionsPropsRef","virtual","activationTrigger","isSelected","__demoMode","labelId","fr","Bt","tt","paddingBlockStart","paddingBlockEnd","paddingBottom","unsubs","isScrolling","scrollToIndexTimeoutId","measurementsCache","itemSizeCache","pendingMeasuredCacheIndexes","scrollRect","scrollOffset","scrollDirection","scrollAdjustments","elementsCache","observer","_measureElement","setOptions","initialOffset","paddingStart","paddingEnd","scrollPaddingStart","scrollPaddingEnd","getItemKey","rangeExtractor","measureElement","initialRect","scrollMargin","indexAttribute","initialMeasurementsCache","notify","maybeNotify","calculateRange","_didMount","_willUpdate","getScrollElement","_scrollToOffset","getScrollOffset","observeElementRect","observeElementOffset","getFurthestMeasurement","getMeasurementOptions","getMeasurements","estimateSize","measurements","outerSize","Kw","getVirtualIndexes","indexFromElement","resizeItem","shouldAdjustScrollPositionOnItemSizeChange","getVirtualItems","getVirtualItemForOffset","getOffsetForAlignment","getOffsetForIndex","isDynamicMode","cancelScrollToIndex","scrollToOffset","scrollToIndex","scrollBy","getTotalSize","scrollToFn","measure","$w","process","JEST_WORKER_ID","overflowAnchor","wr","t4","a4","Br","by","nullable","immediate","hold","labelRef","inputRef","buttonRef","_o","closeCombobox","activeIndex","activeOption","lt","goToOption","Ho","registerOption","registerLabel","openCombobox","setActivationTrigger","selectActiveOption","Wt","Et","readOnly","l4","HTMLFieldSetElement","HTMLLegendElement","i4","displayValue","setSelectionRange","selectionDirection","onCompositionStart","onCompositionEnd","s4","c4","walk","FILTER_REJECT","d4","wasMoved","active","onPointerEnter","onMouseEnter","onPointerMove","onMouseMove","onPointerLeave","onMouseLeave","yt","gr","Input","Button","Label","Options","Option","Eo","f4","Visible","Mo","To","leave","idle","chains","all","wait","register","unregister","onStart","onStop","h4","v4","appear","initial","beforeEnter","beforeLeave","afterEnter","afterLeave","enterFrom","enterTo","entered","leaveFrom","leaveTo","w4","g4","b4","addFlag","hasFlag","removeFlag","toggleFlag","called","transitionDuration","transitionDelay","m4","V4","Child","Root","k4","L4","_4","autoHeight","maxLength","inputClassName","blockIfLimitReached","counterText","throw","Kr","W4","U4","r3","n3","a3","triggerButton","withCloseButton","ariaLabel","onOpenAutoFocus","onCloseAutoFocus","onEscapeKeyDown","onPointerDownOutside","onInteractOutside","clickOutsideToClose","pointerEvents","l3","Pr","Lo","Content","Trigger","onPointerDown","ariaRole","isRounded","AE","S3","Dt","allowedTypes","maxFileSize","onChangeCallback","errorMessages","uploadedFiles","validFiles","refDropArea","dropAreaIsActive","P3","alt","N3","viewPortClassName","forceMount","altText","X3","timestamp","Z3","addSuffix","includeSeconds","clearInterval","dateTime","Mr","expanded","setExpanded","onExpanded","defaultIndex","onIndexChange","isNumeric","year","day","hour","minute","Intl","DateTimeFormat","Nr","Oo","isToggle","describedBy","styledAs","dataOrientation","onValueChange","activationMode","loop","exit","iconAfter","isWarning","textValue","ev","defaultOpen","hideWhenDetached","tv","rv","nv","showCloseButton","av","arrowPadding","sticky","lv","Cd","mv","dir","Item","Indicator","Ed","Rv","layoutId","selectedValue","xv","bounce","Pv","Gv","nt","withChannelIcon","Bv","Fv","Dv","labelSearchButton","labelClearButton","onQueryChange","onSearch","onClear","showClearButton","_v","currentChannel","Arrow","forwardedRef","arrowProps","points","setRef","composeRefs","hasCleanup","cleanups","Primitive","primitive","Slot","primitiveProps","Comp","createSlot","ownerName","SlotClone","createSlotClone","Slot2","slotProps","childrenArray","slottable","isSlottable","newChildren","childrenRef","getter","mayWarn","isReactWarning","getElementRef","props2","childProps","propName","slotPropValue","childPropValue","mergeProps","SLOTTABLE_IDENTIFIER","__radixId","CHECKBOX_NAME","createCheckboxContext","createCheckboxScope","CheckboxProviderImpl","useCheckboxContext","CheckboxProvider","__scopeCheckbox","checkedProp","internal_do_not_use_render","setChecked","defaultProp","caller","control","setControl","bubbleInput","setBubbleInput","hasConsumerStoppedPropagationRef","isFormControl","isIndeterminate","scope","TRIGGER_NAME","CheckboxTrigger","checkboxProps","composedRefs","initialCheckedStateRef","getState","prevChecked","Checkbox","CheckboxBubbleInput","INDICATOR_NAME","CheckboxIndicator","indicatorProps","present","BUBBLE_INPUT_NAME","controlSize","inputProto","indeterminate","defaultCheckedRef","composeEventHandlers","originalEventHandler","ourEventHandler","checkForDefaultPrevented","useComposedRefs","createContextScope","scopeName","createContextScopeDeps","defaultContexts","createScope","scopeContexts","defaultContext","contexts","rootComponentName","BaseContext","Context","consumerName","composeContextScopes","scopes","baseScope","scopeHooks","createScope2","useScope","overrideScopes","nextScopes","nextScopes2","Presence","presence","setNode","stylesRef","prevPresentRef","prevAnimationNameRef","initialState","machine","useStateMachine","mounted","UNMOUNT","ANIMATION_OUT","unmountSuspended","MOUNT","ANIMATION_END","unmounted","currentAnimationName","getAnimationName","wasPresent","prevAnimationName","isAnimating","ownerWindow","handleAnimationEnd","isCurrentAnimation","currentFillMode","animationFillMode","handleAnimationStart","isPresent","node2","usePresence","useLayoutEffect2","globalThis","createCollection","PROVIDER_NAME","createCollectionContext","createCollectionScope","CollectionProviderImpl","useCollectionContext","collectionRef","itemMap","CollectionProvider","COLLECTION_SLOT_NAME","CollectionSlotImpl","CollectionSlot","ITEM_SLOT_NAME","ITEM_DATA_ATTR","CollectionItemSlotImpl","CollectionItemSlot","itemData","ItemSlot","collectionNode","orderedNodes","DIALOG_NAME","createDialogContext","createDialogScope","DialogProvider","useDialogContext","Dialog","__scopeDialog","openProp","triggerRef","contentRef","descriptionId","onOpenToggle","prevOpen","DialogTrigger","triggerProps","composedTriggerRef","PORTAL_NAME","PortalProvider","usePortalContext","DialogPortal","OVERLAY_NAME","DialogOverlay","portalContext","overlayProps","DialogOverlayImpl","CONTENT_NAME","DialogContent","contentProps","DialogContentModal","DialogContentNonModal","DialogContentImpl","trapFocus","disableOutsidePointerEvents","ctrlLeftClick","onFocusOutside","hasInteractedOutsideRef","hasPointerDownOutsideRef","targetIsTrigger","trapped","onMountAutoFocus","onUnmountAutoFocus","onDismiss","TitleWarning","DescriptionWarning","TITLE_NAME","DialogTitle","titleProps","DESCRIPTION_NAME","descriptionProps","CLOSE_NAME","DialogClose","closeProps","TITLE_WARNING_NAME","WarningProvider","useWarningContext","contentName","titleName","docsSlug","titleWarningContext","MESSAGE","describedById","Portal","Overlay","Title","Close","originalBodyPointerEvents","CONTEXT_UPDATE","DismissableLayerContext","layers","layersWithOutsidePointerEventsDisabled","branches","DismissableLayer","layerProps","highestLayerWithOutsidePointerEventsDisabled","highestLayerWithOutsidePointerEventsDisabledIndex","isBodyPointerEventsDisabled","isPointerEventsEnabled","pointerDownOutside","handlePointerDownOutside","isPointerInsideReactTreeRef","handleClickRef","handlePointerDown","handleAndDispatchPointerDownOutsideEvent2","handleAndDispatchCustomEvent","eventDetail","discrete","once","timerId","onPointerDownCapture","usePointerDownOutside","isPointerDownOnBranch","branch","focusOutside","handleFocusOutside","isFocusInsideReactTreeRef","handleFocus","onFocusCapture","onBlurCapture","useFocusOutside","dispatchUpdate","handleUpdate","DismissableLayerBranch","Branch","dispatchDiscreteCustomEvent","DirectionContext","SELECTION_KEYS","LAST_KEYS","FIRST_LAST_KEYS","SUB_OPEN_KEYS","ltr","SUB_CLOSE_KEYS","MENU_NAME","Collection","useCollection","createMenuContext","createMenuScope","usePopperScope","useRovingFocusGroupScope","MenuProvider","useMenuContext","MenuRootProvider","useMenuRootContext","__scopeMenu","popperScope","setContent","isUsingKeyboardRef","handleOpenChange","localDir","globalDir","useDirection","handlePointer","onContentChange","onClose","MenuAnchor","anchorProps","MenuPortal","MenuContentProvider","useMenuContentContext","MenuContent","rootContext","MenuRootContentModal","MenuRootContentNonModal","MenuContentImpl","disableOutsideScroll","onEntryFocus","rovingFocusGroupScope","getItems","currentItemId","setCurrentItemId","timerRef","searchRef","pointerGraceTimerRef","pointerGraceIntentRef","pointerDirRef","lastPointerXRef","ScrollLockWrapper","scrollLockWrapperProps","isPointerMovingToSubmenu","point","polygon","inside","isPointInPolygon","isPointerInGraceArea","onItemEnter","onItemLeave","onTriggerLeave","onPointerGraceIntentChange","intent","currentTabStopId","onCurrentTabStopIdChange","preventScrollOnEntryFocus","getOpenState","isKeyDownInside","isModifierKey","isCharacterKey","currentItem","currentMatch","nextMatch","normalizedSearch","currentMatchIndex","wrappedValues","getNextMatch","newItem","updateSearch","handleTypeaheadSearch","candidateNodes","PREVIOUSLY_FOCUSED_ELEMENT","candidate","focusFirst","whenMouse","pointerXHasChanged","newDir","MenuGroup","groupProps","MenuLabel","labelProps","ITEM_NAME","ITEM_SELECT","MenuItem","itemProps","contentContext","isPointerDownRef","MenuItemImpl","menuItem","itemSelectEvent","onPointerUp","isTypingAhead","isFocused","setIsFocused","setTextContent","focusable","MenuCheckboxItem","checkboxItemProps","ItemIndicatorProvider","getCheckedState","RADIO_GROUP_NAME","RadioGroupProvider","useRadioGroupContext","MenuRadioGroup","handleValueChange","RADIO_ITEM_NAME","MenuRadioItem","radioItemProps","ITEM_INDICATOR_NAME","useItemIndicatorContext","MenuItemIndicator","itemIndicatorProps","indicatorContext","MenuSeparator","separatorProps","MenuArrow","SUB_NAME","MenuSubProvider","useMenuSubContext","MenuSub","parentMenuContext","setTrigger","triggerId","onTriggerChange","SUB_TRIGGER_NAME","MenuSubTrigger","subContext","openTimerRef","clearOpenTimer","pointerGraceTimer","contentRect","rightSide","bleed","contentNearEdge","contentFarEdge","SUB_CONTENT_NAME","MenuSubContent","subContentProps","isCloseKey","Root3","Anchor2","Content2","Group","Item2","CheckboxItem","RadioGroup","RadioItem","ItemIndicator","Separator","Arrow2","Sub","SubTrigger","SubContent","DROPDOWN_MENU_NAME","createDropdownMenuContext","createDropdownMenuScope","useMenuScope","DropdownMenuProvider","useDropdownMenuContext","DropdownMenu","__scopeDropdownMenu","menuScope","DropdownMenuTrigger","DropdownMenuPortal","portalProps","DropdownMenuContent","isRightClick","DropdownMenuItem","radioGroupProps","DropdownMenuSeparator","DropdownMenuSubTrigger","subTriggerProps","DropdownMenuSubContent","Root2","Portal2","Separator2","Sub2","SubTrigger2","SubContent2","useFocusGuards","edgeGuards","createFocusGuard","AUTOFOCUS_ON_MOUNT","AUTOFOCUS_ON_UNMOUNT","EVENT_OPTIONS","FocusScope","onMountAutoFocusProp","onUnmountAutoFocusProp","scopeProps","lastFocusedElementRef","focusScope","handleFocusIn2","handleFocusOut2","handleMutations2","mutations","mutation","removedNodes","mutationObserver","MutationObserver","childList","subtree","focusScopesStack","previouslyFocusedElement","mountEvent","getTabbableCandidates","unmountEvent","isTabKey","focusedElement","container2","getTabbableEdges","nodes","walker","isHiddenInput","upTo","isSelectableInput","activeFocusScope","arrayRemove","createFocusScopesStack","updatedArray","useReactId","deterministicId","setId","reactId","POPOVER_NAME","createPopoverContext","createPopoverScope","PopoverProvider","usePopoverContext","__scopePopover","hasCustomAnchor","setHasCustomAnchor","onCustomAnchorAdd","onCustomAnchorRemove","ANCHOR_NAME","PopoverTrigger","PopoverPortal","PopoverContent","PopoverContentModal","PopoverContentNonModal","isRightClickOutsideRef","PopoverContentImpl","PopoverClose","POPPER_NAME","createPopperContext","createPopperScope","PopperProvider","usePopperContext","Popper","__scopePopper","anchor","setAnchor","onAnchorChange","PopperAnchor","virtualRef","anchorRef","previousAnchor","PopperContentProvider","useContentContext","PopperContent","avoidCollisions","collisionBoundary","collisionPadding","collisionPaddingProp","updatePositionStrategy","onPlaced","setArrow","arrowSize","arrowWidth","arrowHeight","desiredPlacement","hasExplicitBoundaries","isNotNull","floatingStyles","isPositioned","whileElementsMounted","anchorWidth","anchorHeight","contentStyle","transformOrigin","placedSide","placedAlign","getSideAndAlignFromPlacement","handlePlaced","arrowX","arrowY","cannotCenterArrow","contentZIndex","setContentZIndex","setFloating","onArrowChange","shouldHideArrow","ARROW_NAME","OPPOSITE_SIDE","PopperArrow","baseSide","isArrowHidden","noArrowAlign","arrowXCenter","arrowYCenter","Anchor","deepEqual","getDPR","devicePixelRatio","roundByDPR","dpr","useLatestRef","useFloating","externalReference","externalFloating","latestMiddleware","setLatestMiddleware","_reference","_setReference","_floating","_setFloating","setReference","referenceRef","floatingRef","floatingEl","hasWhileElementsMounted","whileElementsMountedRef","platformRef","openRef","fullData","isMountedRef","initialStyles","arrow$1","containerProp","setMounted","RADIO_NAME","createRadioContext","createRadioScope","RadioProvider","useRadioContext","Radio","__scopeRadio","onCheck","radioProps","setButton","RadioBubbleInput","RadioIndicator","ARROW_KEYS","createRadioGroupContext","createRadioGroupScope","useRadioScope","__scopeRadioGroup","valueProp","RadioGroupItem","radioScope","isArrowKeyPressedRef","handleKeyUp","RadioGroupIndicator","ENTRY_FOCUS","GROUP_NAME","createRovingFocusGroupContext","createRovingFocusGroupScope","RovingFocusProvider","useRovingFocusContext","RovingFocusGroup","__scopeRovingFocusGroup","RovingFocusGroupImpl","currentTabStopIdProp","defaultCurrentTabStopId","setCurrentTabStopId","isTabbingBackOut","setIsTabbingBackOut","handleEntryFocus","isClickFocusRef","focusableItemsCount","setFocusableItemsCount","onItemFocus","tabStopId","onItemShiftTab","onFocusableItemAdd","prevCount","onFocusableItemRemove","onMouseDown","isKeyboardFocus","entryFocusEvent","RovingFocusGroupItem","autoId","isCurrentTabStop","focusIntent","getDirectionAwareKey","MAP_KEY_TO_FOCUS_INTENT","getFocusIntent","currentIndex","hasTabStop","OPEN_KEYS","SELECT_NAME","createSelectContext","createSelectScope","SelectProvider","useSelectContext","SelectNativeOptionsProvider","useSelectNativeOptionsContext","Select","__scopeSelect","valueNode","setValueNode","valueNodeHasChildren","setValueNodeHasChildren","triggerPointerDownPosRef","nativeOptionsSet","setNativeOptionsSet","nativeSelectKey","onValueNodeChange","onValueNodeHasChildrenChange","onNativeOptionAdd","onNativeOptionRemove","optionsSet","SelectBubbleInput","SelectTrigger","pointerTypeRef","resetTypeahead","useTypeaheadSearch","enabledItems","nextItem","findNextItem","handleOpen","pointerEvent","shouldShowPlaceholder","hasPointerCapture","releasePointerCapture","VALUE_NAME","SelectValue","valueProps","hasChildren","SelectIcon","iconProps","SelectPortal","SelectContent","fragment","setFragment","DocumentFragment","frag","SelectContentProvider","SelectContentImpl","CONTENT_MARGIN","useSelectContentContext","viewport","setViewport","selectedItem","setSelectedItem","selectedItemText","setSelectedItemText","setIsPositioned","firstValidItemFoundRef","firstItem","restItems","lastItem","focusSelectedItem","pointerMoveDelta","handlePointerMove","handlePointerUp","itemRefCallback","isFirstValidItem","handleItemLeave","itemTextRefCallback","SelectPosition","SelectPopperPosition","SelectItemAlignedPosition","popperContentProps","onViewportChange","onContextMenu","flexDirection","currentElement","popperProps","contentWrapper","setContentWrapper","shouldExpandOnScrollRef","shouldRepositionRef","triggerRect","valueNodeRect","itemTextRect","itemTextOffset","leftDelta","minContentWidth","contentWidth","rightEdge","clampedLeft","rightDelta","leftEdge","clampedRight","itemsHeight","contentStyles","contentBorderTopWidth","contentPaddingTop","contentBorderBottomWidth","borderBottomWidth","fullContentHeight","minContentHeight","viewportStyles","viewportPaddingTop","viewportPaddingBottom","topEdgeToTriggerMiddle","triggerMiddleToBottomEdge","selectedItemHalfHeight","contentTopToItemMiddle","itemMiddleToContentBottom","isLastItem","viewportOffsetBottom","isFirstItem","handleScrollButtonChange","SelectViewportProvider","onScrollButtonChange","boxSizing","useSelectViewportContext","VIEWPORT_NAME","SelectViewport","viewportProps","viewportContext","prevScrollTopRef","onScroll","scrolledBy","cssMinHeight","cssHeight","prevHeight","nextHeight","clampedNextHeight","heightDiff","justifyContent","SelectGroupContextProvider","useSelectGroupContext","SelectGroup","groupId","LABEL_NAME","SelectLabel","groupContext","SelectItemContextProvider","useSelectItemContext","SelectItem","textValueProp","setTextValue","textId","handleSelect","onItemTextChange","prevTextValue","ITEM_TEXT_NAME","SelectItemText","itemTextProps","itemContext","nativeOptionsContext","itemTextNode","setItemTextNode","nativeOption","SelectItemIndicator","SCROLL_UP_BUTTON_NAME","SelectScrollUpButton","canScrollUp","setCanScrollUp","handleScroll2","canScrollUp2","SelectScrollButtonImpl","onAutoScroll","SCROLL_DOWN_BUTTON_NAME","SelectScrollDownButton","canScrollDown","setCanScrollDown","maxScroll","canScrollDown2","scrollIndicatorProps","autoScrollTimerRef","clearAutoScrollTimer","SelectSeparator","prevValue","selectProto","HTMLSelectElement","onSearchChange","handleSearchChange","currentItemIndex","wrappedItems","Value","Icon","Viewport","ItemText","ScrollUpButton","ScrollDownButton","SWITCH_NAME","createSwitchContext","createSwitchScope","SwitchProvider","useSwitchContext","Switch","__scopeSwitch","switchProps","SwitchBubbleInput","THUMB_NAME","SwitchThumb","thumbProps","Thumb","TABS_NAME","createTabsContext","createTabsScope","TabsProvider","useTabsContext","Tabs","__scopeTabs","tabsProps","baseId","TAB_LIST_NAME","TabsList","listProps","TabsTrigger","makeTriggerId","makeContentId","isAutomaticActivation","TabsContent","isMountAnimationPreventedRef","rAF","animationDuration","List","createToastContext","createToastScope","ToastProviderProvider","useToastProviderContext","ToastProvider","__scopeToast","swipeThreshold","toastCount","setToastCount","isFocusedToastEscapeKeyDownRef","isClosePausedRef","onToastAdd","onToastRemove","VIEWPORT_DEFAULT_HOTKEY","VIEWPORT_PAUSE","VIEWPORT_RESUME","ToastViewport","hotkey","wrapperRef","headFocusProxyRef","tailFocusProxyRef","hotkeyLabel","hasToasts","wrapper","handlePause","pauseEvent","handleResume","resumeEvent","handleFocusOutResume","handlePointerLeaveResume","getSortedTabbableCandidates","tabbingDirection","tabbableCandidates","toastItem","toastNode","toastTabbableCandidates","flat","isMetaKey","isTabbingBackwards","sortedCandidates","FocusProxy","onFocusFromOutsideViewport","FOCUS_PROXY_NAME","proxyProps","prevFocusedElement","TOAST_NAME","toastProps","ToastImpl","onPause","onSwipeStart","onSwipeMove","onSwipeCancel","onSwipeEnd","ToastInteractiveProvider","useToastInteractiveContext","durationProp","pointerStartRef","swipeDeltaRef","closeTimerStartTimeRef","closeTimerRemainingTimeRef","closeTimerRef","handleClose","isFocusInToast","startTimer","duration2","announceTextContent","getAnnounceTextContent","ToastAnnounce","userSelect","touchAction","hasSwipeMoveStarted","isHorizontalSwipe","clampedX","clampedY","moveStartBuffer","isDeltaInDirection","setPointerCapture","toast","event2","announceProps","renderAnnounceText","setRenderAnnounceText","isAnnounced","setIsAnnounced","raf1","raf2","useNextFrame","ToastTitle","ToastDescription","ToastAction","actionProps","ToastAnnounceExclude","ToastClose","interactiveContext","announceExcludeProps","ariaHidden","isExcluded","radixToastAnnounceExclude","radixToastAnnounceAlt","isDeltaX","Description","Action","TOGGLE_GROUP_NAME","createToggleGroupContext","createToggleGroupScope","ToggleGroup","toggleGroupProps","singleProps","ToggleGroupImplSingle","multipleProps","ToggleGroupImplMultiple","ToggleGroupValueProvider","useToggleGroupValueContext","toggleGroupSingleProps","__scopeToggleGroup","onItemActivate","onItemDeactivate","ToggleGroupImpl","toggleGroupMultipleProps","handleButtonActivate","itemValue","handleButtonDeactivate","value2","ToggleGroupContext","useToggleGroupContext","rovingFocus","commonProps","ToggleGroupItem","valueContext","pressed","ToggleGroupItemImpl","typeProps","onPressedChange","Toggle","pressedProp","defaultPressed","buttonProps","setPressed","createTooltipContext","createTooltipScope","DEFAULT_DELAY_DURATION","TOOLTIP_OPEN","TooltipProviderContextProvider","useTooltipProviderContext","TooltipProvider","__scopeTooltip","skipDelayDuration","disableHoverableContent","isOpenDelayedRef","isPointerInTransitRef","skipDelayTimerRef","skipDelayTimer","onOpen","onPointerInTransitChange","inTransit","TOOLTIP_NAME","TooltipContextProvider","useTooltipContext","disableHoverableContentProp","delayDurationProp","providerContext","wasOpenDelayedRef","open2","stateAttribute","handleDelayedOpen","onTriggerEnter","TooltipTrigger","hasPointerMoveOpenedRef","TooltipPortal","TooltipContent","TooltipContentImpl","TooltipContentHoverable","pointerGraceArea","setPointerGraceArea","handleRemoveGraceArea","handleCreateGraceArea","hoverTarget","exitPoint","paddedExitPoints","exitSide","getPaddedExitPoints","getExitSideFromRect","graceArea","newPoints","upperHull","lowerHull","getHullPresorted","getHull","getPointsFromRect","handleTriggerLeave","handleContentLeave","handleTrackPointerGrace","pointerPosition","hasEnteredTarget","isPointerOutsideGraceArea","VisuallyHiddenContentContextProvider","useVisuallyHiddenContentContext","isInside","Slottable","TooltipArrow","createSlottable","Slottable2","useControllableState","uncontrolledProp","setUncontrolledProp","onChangeRef","prevValueRef","useUncontrolledState","isControlled","isControlledRef","wasControlled","nextValue","useEscapeKeydown","onEscapeKeyDownProp","usePrevious","previous","useSize","borderSizeEntry","borderSize","VISUALLY_HIDDEN_STYLES","freeze","VisuallyHidden","defaultOptions","getDefaultOptions","getTimezoneOffsetInMilliseconds","_date","utcDate","UTC","getFullYear","getMonth","getHours","getMinutes","getSeconds","getMilliseconds","setUTCFullYear","millisecondsInWeek","millisecondsInDay","minutesInMonth","minutesInDay","constructFrom","constructNow","getDayOfYear","toDate","dateLeft","dateRight","startOfDayLeft","startOfDay","startOfDayRight","timestampLeft","timestampRight","differenceInCalendarDays","cleanDate","setFullYear","setHours","startOfYear","startOfISOWeek","startOfWeek","weekStartsOn","getISOWeekYear","fourthOfJanuaryOfNextYear","startOfNextYear","fourthOfJanuaryOfThisYear","startOfThisYear","getISOWeek","diff","fourthOfJanuary","startOfISOWeekYear","getWeekYear","firstWeekContainsDate","firstWeekOfNextYear","firstWeekOfThisYear","getWeek","firstWeek","startOfWeekYear","addLeadingZeros","targetLength","padStart","lightFormatters","token","signedYear","dayPeriodEnumValue","numberOfDigits","milliseconds","trunc","formatters","localize","era","ordinalNumber","unit","signedWeekYear","weekYear","quarter","isoWeek","dayOfYear","dayOfWeek","getDay","localDayOfWeek","isoDayOfWeek","dayPeriod","hours","_localize","timezoneOffset","getTimezoneOffset","formatTimezoneWithOptionalMinutes","formatTimezone","formatTimezoneShort","delimiter","sign","absOffset","minutes","dateLongFormatter","formatLong","timeLongFormatter","longFormatters","matchResult","datePattern","timePattern","dateTimeFormat","dayOfYearTokenRE","weekYearTokenRE","throwTokens","formattingTokensRegExp","longFormattingTokensRegExp","escapedStringRegExp","doubleQuoteRegExp","unescapedLatinCharacterRegExp","formatStr","originalDate","RangeError","firstCharacter","longFormatter","isToken","cleanEscapedString","preprocessor","formatterOptions","useAdditionalWeekYearTokens","isProtectedWeekYearToken","useAdditionalDayOfYearTokens","isProtectedDayOfYearToken","_message","subject","warnOrThrowProtectedError","formatter","matched","compareAsc","_dateLeft","_dateRight","isLastDayOfMonth","endOfDay","endOfMonth","differenceInMonths","difference","differenceInCalendarMonths","setMonth","isLastMonthNotFull","differenceInSeconds","differenceInMilliseconds","roundingMethod","formatDistanceToNow","baseDate","comparison","localizeOptions","seconds","offsetInSeconds","months","formatDistance","days","nearestMonth","monthsSinceStartOfYear","years","isThisYear","isSameYear","isToday","buildFormatLongFn","defaultWidth","formats","buildLocalizeFn","valuesArray","formattingValues","defaultFormattingWidth","argumentCallback","buildMatchFn","matchPatterns","defaultMatchWidth","matchedString","parsePatterns","defaultParseWidth","findKey","valueCallback","buildMatchPatternFn","parseResult","parsePattern","formatDistanceLocale","lessThanXSeconds","one","other","xSeconds","halfAMinute","lessThanXMinutes","xMinutes","aboutXHours","xHours","xDays","aboutXWeeks","xWeeks","aboutXMonths","xMonths","aboutXYears","xYears","overXYears","almostXYears","full","long","short","formatRelativeLocale","lastWeek","yesterday","today","tomorrow","nextWeek","dirtyNumber","narrow","abbreviated","wide","midnight","noon","morning","afternoon","evening","night","tokenValue","formatRelative","_baseDate","any","standalone","withPreposition","monthValues","formattingMonthValues","enGB","enUS","rem100","formatRelativeLocalePlural","futureSeconds","futureMinutes","futureHours","futureWeeks","futureMonths","futureYears","futureTense","dayValues","formattingDayValues","regular","past","future","twoFour","declension","scheme","rem10","declensionGroup","adjectivesLastWeek","masculine","feminine","adjectivesThisWeek","adjectivesNextWeek","dayGrammaticalGender","dayAndTimeWithAdjective","adjectives","isSameWeek","wordMapping","sv","argument","argStr","PopChildMeasure","prevProps","childRef","parentWidth","parentHeight","sizeRef","PopChild","anchorX","anchorY","MotionConfigContext","composedRef","motionPopId","insertRule","PresenceChild","onExitComplete","custom","presenceAffectsLayout","presenceChildren","newChildrenMap","isReusedContext","childId","isComplete","PresenceContext","getChildKey","onlyElements","filtered","Children","isValidElement","AnimatePresence","propagate","isParentPresent","safeToRemove","presentChildren","presentKeys","isInitialRender","pendingPresentChildren","exitComplete","exitingComponents","diffedChildren","setDiffedChildren","renderedChildren","setRenderedChildren","exitingChildren","nextChildren","forceRender","LayoutGroupContext","isEveryExitComplete","isExitComplete","subscribe","createContext","LazyContext","strict","transformPagePoint","isStatic","reducedMotion","useCreateMotionContext","variantLabelsAsDependency","MotionContext","getCurrentTreeVariants","inherit","SwitchLayoutGroupContext","addPointerEvent","eventName","extractEventInfo","addPointerInfo","elementDragControls","VisualElementDragControls","visualElement","openDragLock","isDragging","currentDirection","originPoint","constraints","hasMutatedConstraints","elastic","latestPointerEvent","latestPanInfo","originEvent","snapToCursor","distanceThreshold","presenceContext","dragSnapToOrigin","getProps","panSession","onSessionStart","stopAnimation","drag","dragPropagation","onDragStart","resolveConstraints","projection","isAnimationBlocked","getAxisMotionValue","layout","measuredAxis","layoutBox","animationState","setActive","dragDirectionLock","onDirectionLock","onDrag","lockThreshold","getCurrentDirection","updateAxis","onSessionEnd","resumeAnimation","startAnimation","getTransformPagePoint","contextWindow","panInfo","finalEvent","finalPanInfo","velocity","onDragEnd","endPanSession","_point","shouldDrag","axisValue","dragConstraints","dragElastic","prevConstraints","resolveRefConstraints","onMeasureDragConstraints","constraintsElement","constraintsBox","measuredConstraints","userConstraints","dragMomentum","dragTransition","onDragTransitionEnd","momentumAnimations","bounceStiffness","bounceDamping","inertia","timeConstant","restDelta","restSpeed","startAxisValueAnimation","dragKey","scalePositionWithinConstraints","boxProgress","latest","transformTemplate","updateScroll","updateLayout","addListeners","stopPointerListener","dragListener","isClickingTextInputChild","stopResizeObservers","measureDragConstraints","onResize","stopElement","skipFirstCall","stopContainer","startResizeObservers","stopMeasureLayoutListener","stopResizeListener","stopLayoutUpdateListener","hasLayoutChanged","motionValue","isFirst","DragGesture","super","removeGroupControls","removeListeners","controls","mount","dragControls","prevDragControls","applyConstraints","calcRelativeAxisConstraints","calcRelativeConstraints","calcViewportAxisConstraints","layoutAxis","constraintsAxis","calcViewportConstraints","calcOrigin","sourceLength","rebaseAxisConstraints","relativeConstraints","defaultElastic","resolveDragElastic","resolveAxisElastic","minLabel","maxLabel","resolvePointElastic","FocusGesture","isFocusVisible","handleHoverEvent","lifecycle","whileHover","HoverGesture","_element","startEvent","endEvent","overflowStyles","PanSession","handlers","lastMoveEvent","lastMoveEventInfo","scrollPositions","removeScrollListeners","onElementScroll","onWindowScroll","updatePoint","getPanInfo","history","isPanStarted","isDistancePastThreshold","transformPoint","onEnd","initialInfo","startScrollTracking","isWindow","updateHandlers","subtractPoint","lastDevicePoint","startDevicePoint","getVelocity","timeDelta","timestampedPoint","lastPoint","currentVelocity","asyncHandler","PanGesture","removePointerDownListener","pointerDownEvent","createPanHandlers","onPanSessionStart","onPanStart","onPan","onPanEnd","handlePressEvent","whileTap","PressGesture","globalTapTarget","useGlobalTarget","tap","ExitAnimationFeature","prevIsPresent","prevPresenceContext","exitAnimation","AnimationFeature","updateAnimationControlsSubscription","unmountControls","prevAnimate","animations","Feature","featureProps","hover","pan","inView","getInitializedFeatureDefinitions","initialFeatureDefinitions","initFeatureDefinitions","ProjectionNode","MeasureLayout","gestureAnimations","hasTakenAnySnapshot","MeasureLayoutWithContext","layoutGroup","switchLayoutGroup","didUpdate","layoutDependency","willUpdate","promote","relegate","getStack","members","currentAnimation","isLead","promoteContext","scheduleCheckAfterUnmount","deregister","loadFeatures","featureDefinitions","thresholdNames","InViewFeature","hasEnteredView","isInView","startObserver","amount","isIntersecting","onViewportEnter","onViewportLeave","prevViewport","hasViewportOptionChanged","observerCallbacks","observers","fireObserverCallback","fireAllObserverCallbacks","observeIntersection","rootInteresectionObserver","lookupRoot","rootObservers","initIntersectionObserver","createMotionComponent","forwardMotionProps","preloadedFeatures","createVisualElement","isSVG","useVisualState","MotionDOMComponent","externalRef","configAndProps","useLayoutId","visualState","layoutProjection","combined","getProjectionFunctionality","ForwardRefMotionComponent","layoutGroupId","motionComponentSymbol","useMotionRef","externalRefContainer","refCleanup","onMount","useVisualElement","ProjectionNodeConstructor","lazyContext","motionConfig","reducedMotionConfig","skipAnimations","visualElementRef","hasMountedOnce","renderer","blockInitialAnimation","manuallyAnimateOnMount","initialLayoutGroupConfig","initialPromotionConfig","layoutScroll","layoutRoot","layoutCrossfade","latestValues","getClosestProjectingNode","alwaysMeasureLayout","animationType","crossfade","createProjectionNode","optimisedAppearId","wantsHandoff","MotionHandoffIsComplete","MotionHasOptimisedAnimation","MotionIsMounted","updateFeatures","scheduleRenderMicrotask","animateChanges","MotionHandoffMarkAsComplete","enteringChildren","allowProjection","makeLatestValues","scrapeMotionValues","motionValues","isControllingVariants$1","isVariantNode$1","isInitialAnimationBlocked","variantToSet","resolved","transitionEnd","valueTarget","makeUseVisualState","make","scrapeMotionValuesFromProps","createRenderState","renderState","makeState","validMotionProps","isValidMotionProp","createMotionProxy","Proxy","componentCache","factory","_target","featureBundle","motion","createDomVisualElement","useRender","visualProps","filteredProps","elementProps","shouldForward","isValidProp","require","filterProps","isDom","isSVGComponent","useHTMLVisualState","copyRawValuesOnly","useHTMLProps","htmlProps","vars","useInitialMotionValues","WebkitUserSelect","WebkitTouchCallout","onTap","onTapStart","createHtmlRenderState","lowercaseSVGElements","useSVGProps","_isStatic","attrs","rawStyles","useSVGVisualState","createSvgRenderState","distance2D","xDelta","yDelta","getContextWindow","isBrowser","isRefObject","useConstant","AsyncMotionValueAnimation","repeatDelay","repeatType","keyframes","_animation","stopTimeline","keyframeResolver","createdAt","optionsWithDefaults","KeyframeResolver$1","KeyframeResolver","resolvedKeyframes","finalKeyframe","forced","onKeyframesResolved","scheduleResolve","sync","isHandoff","onUpdate","resolvedAt","resolvedOptions","useWaapi","owner","finished","notifyFinished","pendingTimeline","attachTimeline","_finished","onResolve","_onReject","finally","iterationDuration","newTime","speed","newSpeed","timeline","play","percentToProgress","JSAnimation","isStopped","currentTime","holdTime","playbackSpeed","updatedAt","tick","teardown","initAnimation","keyframes$1","generatorFactory","mixKeyframes","mirroredGenerator","calculatedDuration","resolvedDuration","totalDuration","updateTime","animationTime","sample","timeWithoutDelay","isInDelayPhase","elapsed","frameGenerator","currentIteration","iterationProgress","isAnimationFinished","finish","driver","hasChanged","onPlay","updateFinished","stopDriver","sampleTime","allowFlatten","NativeAnimation","finishedTime","manualStartTime","isPseudoElement","onfinish","keyframe","updateMotionValue","commitStyles","effect","getComputedTiming","playbackRate","playState","newStartTime","updateTiming","easing","NativeAnimationExtended","sampleAnimation","setWithVelocity","animateSingleValue","motionValue$1","frameloopDriver","passTimestamp","keepAlive","power","modifyTarget","nearestBoundary","amplitude","ideal","calcDelta","exp","calcLatest","applyFriction","timeReachedBoundary","spring$1","checkCatchBoundary","damping","stiffness","hasUpdatedFrame","keyframeValues","times","easingFunctions","absoluteTimes","mapTimeToKeyframe","springDefaults","mass","visualDuration","granular","minDuration","maxDuration","minDamping","maxDamping","findSpring","envelope","derivative","dampingRatio","undampedFreq","exponentialDecay","calcAngularFreq","initialGuess","approximateRoot","durationKeys","physicsKeys","isSpringType","spring","optionsOrVisualDuration","isResolvedFromDuration","springOptions","derived","getSpringOptions","initialVelocity","initialDelta","undampedAngularFreq","isGranularScale","resolveSpring","angularFreq","sin","cos","dampedAngularFreq","freqForT","sinh","cosh","isBelowVelocityThreshold","isBelowDisplacementThreshold","toTransition","applyToOptions","generatorOptions","maxGeneratorDuration","calcGeneratorDuration","createGeneratorEasing","createGenerator","isGenerator","calcGeneratorVelocity","resolveValue","prevT","animateMotionValue","valueTransition","shouldSkip","shouldSkipAnimations","isSync","shouldBlockAnimation","protectedKeys","needsAnimating","shouldBlock","animateTarget","targetAndTransition","transitionOverride","defaultTransition","getDefaultTransition","reduceMotion","animationTypeState","MotionHandoffAnimation","appearId","shouldReduceMotion","applyTransitionEnd","animateVariant","getAnimation","getChildAnimations","variantChildren","forwardDelay","delayChildren","staggerChildren","staggerDirection","animateChildren","animateVisualElement","definition","resolvedDefinition","DOMKeyframesResolver","unresolvedKeyframes","readKeyframes","resolveNoneKeyframes","originType","targetType","needsMeasurement","noneKeyframeIndexes","measureInitialState","suspendedScrollY","measuredOrigin","measureViewportBox","measureKeyframe","jump","measureEndState","finalKeyframeIndex","removedTransforms","unsetTransformName","unsetTransformValue","toResolve","isScheduled","anyNeedsMeasurement","isForced","measureAllKeyframes","resolversToMeasure","resolver","elementsToMeasure","transformsToRestore","readAllKeyframes","flushKeyframeResolvers","isAsync","valueAsRead","readValue","setFinalKeyframe","renderEndStyles","isForcedComplete","getFinalKeyframe","defaultOffset","fillOffset","offsetProgress","convertOffsetToTimes","fillWildcards","isNone","invalidTemplates","makeNoneKeyframesAnimatable","animatableTemplate","noneIndex","isNumOrPxType","transformKeys","nonTranslationalTransformKeys","removeNonTranslationalTransform","positionalValues","_bbox","translateX","translateY","optimizedAppearDataAttribute","getOptimisedAppearId","WithPromise","onReject","calcChildStagger","sortNodePosition","numChildren","maxStaggerDuration","canAnimate","originKeyframe","targetKeyframe","isOriginAnimatable","isTargetAnimatable","hasKeyframesChanged","splitCSSVariableRegex","getVariableValue","depth","token1","token2","parseCSSVariable","underDampedSpring","keyframesTransition","valueKey","getValueTransition","isAnimatable","checkStringStartsWith","isCSSVariableName","startsAsVariableToken","isCSSVariableToken","singleCssVariableRegex","containsCSSVariable","isTransitionDefined","_delay","makeAnimationInstant","transitionTypeMap","decay","tween","replaceTransitionType","resolveTransition","parentTransition","cubicBezierAsString","mapEasingToNativeEasing","segmentEasing","supportedWaapiEasing","linear","easeIn","easeOut","easeInOut","circIn","circOut","backIn","backOut","startWaapiAnimation","valueName","keyframeOptions","acceleratedValues","supportsWaapi","supportsBrowserAnimation","applyGeneratorOptions","generateLinearEasing","resolution","numPoints","unsupportedEasingFunctions","anticipate","backInOut","circInOut","replaceStringEasing","addDomEvent","createRenderBatcher","scheduleNextBatch","allowKeepAlive","runNextFrame","useDefaultElapsed","isProcessing","flagRunNextFrame","steps","setup","resolveKeyframes","preUpdate","preRender","postRender","processBatch","schedule","cancelFrame","frameData","frameSteps","microtask","cancelMicrotask","stepsOrder","createRenderStep","stepName","thisFrame","flushNextFrame","toKeepAlive","latestFrameData","numCalls","triggerCallback","clearTime","isDragActive","setDragLock","elementOrSelector","onHoverStart","eventOptions","hoverEndCallback","isPressed","deferredHoverEnd","endHover","leaveEvent","enterEvent","onHoverEnd","isValidPressEvent","claimedPointerDownEvents","press","targetOrSelector","onPressStart","cancelEvents","startPress","onPressEnd","onPointerEnd","onPointerCancel","upEvent","cancelEvent","keyboardAccessibleElements","isElementKeyboardAccessible","textInputElements","isElementTextInput","filterEvents","firePointerEvent","PointerEvent","enableKeyboardPress","focusEvent","handleKeydown","handleKeyup","isPressing","isNodeOrChild","isPrimaryPointer","setupGesture","gestureAbortController","AbortController","signal","borders","numBorders","asNumber","isPx","mixValues","follow","shouldCrossfadeOpacity","isOnlyMember","easeCrossfadeIn","opacityExit","easeCrossfadeOut","borderLabel","followRadius","getRadius","leadRadius","radiusName","compress","convertBoundingBoxToBox","convertBoxToBoundingBox","transformBoxPoints","topLeft","bottomRight","copyAxisInto","originAxis","copyBoxInto","originBox","copyAxisDeltaInto","originDelta","scalePoint","applyPointDelta","boxScale","applyAxisDelta","applyBoxDelta","TREE_SCALE_SNAP_MIN","TREE_SCALE_SNAP_MAX","applyTreeDeltas","treeScale","treePath","isSharedTransition","treeLength","projectionDelta","transformBox","translateAxis","transformAxis","axisTranslate","axisScale","axisOrigin","scaleX","originX","scaleY","originY","calcLength","isNear","maxDistance","calcAxisDelta","calcBoxDelta","calcRelativeAxis","relative","calcRelativeBox","calcRelativeAxisPosition","calcRelativePosition","removePointDelta","removeAxisTransforms","transforms","scaleKey","originKey","sourceAxis","removeAxisDelta","xKeys","yKeys","removeBoxTransforms","sourceBox","createDelta","createBox","isAxisDeltaZero","isDeltaZero","axisEquals","boxEquals","axisEqualsRounded","boxEqualsRounded","axisDeltaEquals","DocumentProjectionNode","attachResizeListener","measureScroll","checkIsScrollRoot","rootProjectionNode","HTMLProjectionNode","defaultParent","documentNode","resetTransform","metrics","calculatedTargetDeltas","calculatedProjections","transformAxes","resetDistortingTransform","sharedAnimationValues","setStaticValue","cancelTreeOptimisedTransformAnimations","projectionNode","hasCheckedOptimisedAppear","MotionCancelOptimisedAnimation","animationId","animationCommitId","isTreeAnimating","isLayoutDirty","isProjectionDirty","isSharedProjectionDirty","isTransformDirty","updateManuallyBlocked","updateBlockedByResize","isUpdating","needsReset","shouldResetTransform","eventHandlers","hasTreeAnimated","layoutVersion","updateScheduled","projectionUpdateScheduled","checkUpdateFailed","clearAllSnapshots","updateProjection","propagateDirtyNodes","resolveTargetDelta","calcProjection","cleanDirtyNodes","resolvedRelativeTargetAt","linkedParentVersion","hasProjected","animationProgress","sharedNodes","notifyListeners","subscriptionManager","hasListeners","cancelDelay","resizeUnblockUpdate","newInnerWidth","finishAnimation","registerSharedNode","hasRelativeLayoutChanged","newLayout","isTreeAnimationBlocked","relativeTarget","layoutTransition","defaultLayoutTransition","onLayoutAnimationStart","onLayoutAnimationComplete","hasTargetChanged","targetLayout","hasOnlyRelativeTargetChanged","resumeFrom","resumingFrom","animationOptions","setAnimationOrigin","blockUpdate","unblockUpdate","isUpdateBlocked","startUpdate","resetSkewAndRotation","getTransformTemplate","shouldNotifyListeners","prevTransformTemplateValue","updateSnapshot","clearMeasurements","clearIsLayoutDirty","resetTransformStyle","notifyLayoutUpdate","clearSnapshot","removeLeadSnapshots","scheduleUpdateProjection","measuredBox","prevLayout","layoutCorrected","phase","isRoot","wasRoot","isResetRequested","hasProjection","transformTemplateValue","transformTemplateHasChanged","scheduleRender","removeTransform","pageBox","measurePageBox","removeElementScroll","roundAxis","checkNodeWasScrollRoot","boxWithoutScroll","applyTransform","transformOnly","withTransforms","boxWithoutTransform","nodeBox","setTargetDelta","targetDelta","forceRelativeParentToResolveTarget","relativeParent","forceRecalculation","getLead","isShared","attemptToResolveRelativeTarget","getClosestProjectingParent","removeRelativeTarget","createRelativeTarget","targetWithTransforms","relativeTargetOrigin","isProjecting","parentLayout","canSkip","pendingAnimation","prevTreeScaleX","prevTreeScaleY","prevProjectionDelta","createProjectionDeltas","notifyAll","projectionDeltaWithTransform","snapshotLatestValues","mixedValues","relativeLayout","isSharedLayoutAnimation","hasOpacityCrossfade","prevRelativeTarget","mixTargetDelta","mixAxisDelta","mixAxis","animationValues","completeAnimation","preserveOpacity","exitAnimationComplete","applyTransformsToTarget","shouldAnimatePositionOnly","xLength","yLength","preserveFollowOpacity","shouldPreserveFollowOpacity","getPrevLead","prevLead","hasDistortingTransform","rotateX","rotateY","rotateZ","skewX","skewY","resetValues","applyProjectionStyles","targetStyle","styleProp","valuesToRender","correct","applyTo","isCSSVariable","corrected","num","resetTree","measuredLayout","axisSnapshot","layoutDelta","visualDelta","parentSnapshot","relativeSnapshot","onBeforeLayoutMeasure","removeLeadSnapshot","userAgentContains","roundPoint","globalProjectionState","hasAnimatedSinceResize","hasEverUpdated","NodeStack","indexOfNode","member","prevDep","nextDep","prevInstance","pixelsToPercent","pixels","correctBorderRadius","correctBoxShadow","xScale","yScale","averageScale","scaleCorrectors","borderTopLeftRadius","borderTopRightRadius","boxShadow","buildProjectionTransform","latestTransform","xTranslate","yTranslate","zTranslate","transformPerspective","elementScaleX","elementScaleY","compareByDepth","eachAxis","FlatTree","isDirty","isIdentityScale","hasScale","hasTransform","has2DTranslate","is2DTranslate","viewportBox","propEventHandlers","setFeatureDefinitions","definitions","getFeatureDefinitions","VisualElement","_props","_prevProps","_visualElement","isVariantNode","isControllingVariants","valueSubscriptions","prevMotionValues","hasBeenMounted","propEventSubscriptions","notifyUpdate","triggerBuild","renderInstance","renderScheduledAt","baseTarget","initialValues","skipAnimationsConfig","initialMotionValues","removeFromVariantTree","addVariantChild","bindToMotionValue","addChild","feature","accelerate","valueIsTransform","onBindTransform","removeOnChange","latestValue","removeSyncCheck","MotionCheckAppearSync","sortInstanceNodePosition","featureDefinition","FeatureConstructor","measureInstanceViewportBox","getStaticValue","handleChildMotionValue","getVariant","variants","getClosestVariantNode","closestVariantNode","addValue","existingValue","removeValue","unsubscribe","removeValueFromRenderState","hasValue","getBaseTargetFromProps","readValueFromInstance","setBaseTarget","getBaseTarget","valueFromInitial","DOMVisualElement","childSubscription","isCSSVar","radToDeg","rad","angle","atan2","rebaseAngle","matrix2dParsers","atan","matrix3dParsers","translateZ","defaultTransformValue","parseValueFromTransform","matrix3dMatch","parsers","matrix2dMatch","valueParser","convertTransformToNumber","readTransformValue","setStyle","camelToDash","HTMLVisualElement","buildHTMLStyles","hasTransformOrigin","valueAsType","originZ","translateAlias","numTransforms","buildTransform","transformString","transformIsDefault","valueIsDefault","parsed","renderHTML","elementStyle","prevStyle","newValues","liveStyle","visualElementStore","SVGVisualElement","isSVGTag","cssMotionPathProperties","buildSVGAttrs","attrX","attrY","attrScale","pathLength","pathSpacing","pathOffset","camelCaseAttributes","dashKeys","camelKeys","buildSVGPath","useDashCase","renderSVG","_styleProp","reversePriorityOrder","numAnimationTypes","createAnimationState","createAnimateFunction","createState","buildResolvedTypeValues","changedActiveType","removedKeys","encounteredKeys","removedVariantIndex","typeState","propIsVariant","activeDelta","isInherited","prevProp","prevResolvedValues","variantDidChange","shouldAnimateType","handledRemovedValues","definitionList","resolvedValues","allKeys","markToAnimate","valueHasChanged","willAnimateViaParent","parentVariant","fallbackAnimation","initialTransition","fallbackTarget","shouldAnimate","setAnimateFunction","makeAnimator","createTypeState","whileInView","whileDrag","whileFocus","numVariantProps","getVariantContext","isAnimationControls","isForcedMotionValue","isKeyframesTarget","isVariantLabel","positionalKeys","transformPropOrder","transformProps","updateMotionValuesFromProps","hasAnimated","initPrefersReducedMotion","matchMedia","motionMediaQuery","setReducedMotionPreferences","prefersReducedMotion","hasReducedMotionListener","resolveVariant","getValueState","resolveVariantFromProps","setMotionValue","setTarget","shallowCompare","prevLength","variantPriorityOrder","variantProps","resizeHandlers","borderBoxAxis","svgAxis","htmlAxis","getBBox","getWidth","getHeight","notifyTarget","resizeElement","elementHandlers","windowCallbacks","windowResizeHandler","resizeWindow","activeAnimations","mainThread","waapi","statsBuffer","addProjectionMetrics","timeout","checkElapsed","interpolate","isClamp","mixer","inputLength","isZeroDeltaRange","mixers","customMixer","mixerFactory","numMixers","easingFunction","createMixers","interpolator","progressInRange","isSVGElement","isSVGSVGElement","mixLinearColor","fromExpo","expo","colorTypes","asRGBA","model","mixColor","fromRGBA","toRGBA","blended","red","green","blue","alpha","mixNumber","getMixer","mixComplex","mixArray","mixObject","numValues","blendValue","originStats","targetStats","indexes","var","orderedOrigin","pointers","originIndex","originValue","matchOrder","mixImmediate","mix","invisibleValues","mixVisibility","resolveElements","selectorCache","EventTarget","supportsFlags","supportsLinearEasing","memoSupports","supportsFlag","memoized","supportsScrollTimeline","ScrollTimeline","collectMotionValues","MotionValue","canTrackVelocity","updateAndNotify","setPrevFrameValue","setCurrent","change","dependents","dependent","dirty","prevFrameValue","prevUpdatedAt","subscription","clearListeners","eventManagers","passiveEffect","stopPassiveEffect","endAnimation","addDependent","removeDependent","getPrevious","animationStart","animationComplete","clearAnimation","animationCancel","auto","hueToRgb","hslaToRgba","hue","saturation","lightness","hsla","alpha$1","getAnimatableNone","rgbUnit","clampRgbUnit","rgba","isColorString","testProp","splitColor","aName","bName","cName","maxDefaults","applyDefaultFilter","functionRegex","functions","NUMBER_TOKEN","COLOR_TOKEN","complexRegex","analyseComplexValue","originalValue","parsedValue","parseComplexValue","createTransformer","numSections","convertNumbersToZero","complex","transformer","dimensionValueTypes","vw","findDimensionValueType","int","defaultValueTypes","outlineColor","borderTopColor","borderRightColor","borderBottomColor","borderLeftColor","WebkitFilter","getDefaultValueType","numberValueTypes","borderRightWidth","insetBlock","insetBlockStart","insetBlockEnd","insetInline","insetInlineStart","insetInlineEnd","paddingBlock","paddingInline","paddingInlineStart","paddingInlineEnd","marginBlock","marginBlockStart","marginBlockEnd","marginInline","marginInlineStart","marginInlineEnd","backgroundPositionX","backgroundPositionY","numOctaves","transformValueTypes","scaleZ","perspective","createUnitType","degrees","progressPercentage","testValueType","defaultValueType","colorRegex","valueTypes","findValueType","floatRegex","getValueAsType","isNullish","singleColorRegex","isMotionValue","resolveMotionValue","addValueToWillChange","newWillChange","isWillChangeMotionValue","addUniqueItem","acos","calcBezier","a2","cubicBezier","mX1","mY1","mX2","mY2","lowerBound","upperBound","currentX","currentT","binarySubdivide","mirrorEasing","reverseEasing","isBezierDefinition","isEasingArray","easingLookup","easingDefinitionToFunction","x1","y1","warning","invariant","MotionGlobalConfig","isNumericalString","isZeroValueString","memo","noop","combineFunctions","pipe","transformers","toFromDifference","SubscriptionManager","subscriptions","numSubscriptions","secondsToMilliseconds","millisecondsToSeconds","velocityPerSecond","frameDuration"],"sourceRoot":""}